@runeya/runeya 2.0.39 → 2.0.40

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 (185) hide show
  1. package/package.json +1 -1
  2. package/web/assets/{AgentScalarChatInterface.vue-HiYdPZh0.js → AgentScalarChatInterface.vue-gJiJ3ToU.js} +1 -1
  3. package/web/assets/{AgentTerminalPage-BV1OTr-r.js → AgentTerminalPage-tlWtPWwd.js} +1 -1
  4. package/web/assets/AiChatPage-BdBE8nGE.js +1 -0
  5. package/web/assets/{AppLayout-BX_Buqtz.js → AppLayout-BTYnPtbh.js} +1 -1
  6. package/web/assets/{AuditPage-Bc4NZud3.js → AuditPage-B1WUscSc.js} +1 -1
  7. package/web/assets/CloudAccountPage-BSSWeOZm.js +1 -0
  8. package/web/assets/{CloudAccountPage-BqnCKZxn.js → CloudAccountPage-CA4u4R4v.js} +1 -1
  9. package/web/assets/{CloudMessagingPage-CWcahAog.js → CloudMessagingPage-cRz7c-kx.js} +1 -1
  10. package/web/assets/{DashboardPage-nhKxGmnu.js → DashboardPage-DjZkweWt.js} +1 -1
  11. package/web/assets/{EditorIcon-vSDu502Z.js → EditorIcon-Bol8rSJS.js} +1 -1
  12. package/web/assets/{EnvironmentForm-8WEcxUYY.js → EnvironmentForm-CCZI4SZ7.js} +1 -1
  13. package/web/assets/{EnvironmentFormPage-CpwzzSeB.js → EnvironmentFormPage-BeiDpTFR.js} +1 -1
  14. package/web/assets/{EnvironmentListPage-Dyq7x-l_.js → EnvironmentListPage-Bdr7Ltxx.js} +1 -1
  15. package/web/assets/{EnvironmentSelector-BXe42bF9.js → EnvironmentSelector-DFlVxLDF.js} +1 -1
  16. package/web/assets/{KanbanBoardPage-DHAWtkkJ.js → KanbanBoardPage-wW7IQm19.js} +3 -3
  17. package/web/assets/{KanbanListPage-CjQfqoXf.js → KanbanListPage-D7EV7mK8.js} +1 -1
  18. package/web/assets/{LaunchProjectPage-Bfs_AIgu.js → LaunchProjectPage-DxhMwCLq.js} +1 -1
  19. package/web/assets/{LaunchServicesPage-DYLGFHSm.js → LaunchServicesPage-BzUzVIpi.js} +1 -1
  20. package/web/assets/{LogViewer-CEQDlzBl.js → LogViewer-DLmPDZzg.js} +1 -1
  21. package/web/assets/{ProcessControls-RuqRu4r_.js → ProcessControls-B_LUjE5A.js} +1 -1
  22. package/web/assets/{ProcessDetailPage-CnK8kLHx.js → ProcessDetailPage-DoDwTKPI.js} +1 -1
  23. package/web/assets/{ProcessMetrics-tNC5ggO0.js → ProcessMetrics-CgLCuNNV.js} +1 -1
  24. package/web/assets/{ProjectDetailPage-Cd3-8PAI.js → ProjectDetailPage-DwubaF_d.js} +1 -1
  25. package/web/assets/{ProjectListPage-BGihYeDx.js → ProjectListPage-DlOJGTXv.js} +1 -1
  26. package/web/assets/{RandomJobTestPage-BgjN2Lqt.js → RandomJobTestPage-ZnUiuoTD.js} +1 -1
  27. package/web/assets/{ScenarioEditorPage-nU_bK6Wm.js → ScenarioEditorPage-SRSW0eLA.js} +1 -1
  28. package/web/assets/{SendToChatDialog-DG6GidKi.js → SendToChatDialog-C-GU6Dbz.js} +1 -1
  29. package/web/assets/{ServiceControlsBar-lvV0380I.js → ServiceControlsBar-JtYUxKnu.js} +1 -1
  30. package/web/assets/{ServiceDetailPage-gG_F4CpK.js → ServiceDetailPage-Bl9N79jD.js} +1 -1
  31. package/web/assets/{ServiceFormPage-5pLarqaj.js → ServiceFormPage-VrI9o1SE.js} +1 -1
  32. package/web/assets/{SettingsPage-DGtNwgNF.js → SettingsPage-DL9zDhj0.js} +4 -4
  33. package/web/assets/{SetupPage-zLbZ7HFD.js → SetupPage-DGgv9xeU.js} +1 -1
  34. package/web/assets/{UnlockPage-BNUgOO2j.js → UnlockPage-Bn8AmHkz.js} +1 -1
  35. package/web/assets/{VariablesTable-Dh7ySbKc.js → VariablesTable-J-2IMgZn.js} +1 -1
  36. package/web/assets/{VersionBadge-Bcr43sQb.js → VersionBadge-BmKDCsEs.js} +1 -1
  37. package/web/assets/WikiPage-Be5XdV15.js +1 -0
  38. package/web/assets/{WikiView-bePXeeW1.js → WikiView-BJHY08bs.js} +1 -1
  39. package/web/assets/{add-scalar-classes-BZ33Hgh4.js → add-scalar-classes-C-Vw0vB6.js} +3 -3
  40. package/web/assets/auth-errors-CP1TUSKN.js +1 -0
  41. package/web/assets/{autocomplete-Mxh2ZegH.js → autocomplete-Hju8wHfX.js} +1 -1
  42. package/web/assets/{basic-shape-diamond.svg-C_plmghk.js → basic-shape-diamond.svg-IC6c166w.js} +1 -1
  43. package/web/assets/{basic-shape-hexagon.svg-A1qvevt_.js → basic-shape-hexagon.svg-C46eg-4_.js} +1 -1
  44. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-Df8UWBuG.js → basic-shape-primary-circle-ellipse-round.svg-DztqTUFH.js} +1 -1
  45. package/web/assets/{basic-shape-primary-square-rectangle.svg-hAiISQ_N.js → basic-shape-primary-square-rectangle.svg-CfpJJTj0.js} +1 -1
  46. package/web/assets/{basic-shape-shield.svg-j04XHSeq.js → basic-shape-shield.svg-KmTtzEyk.js} +1 -1
  47. package/web/assets/{browser-B4MIWpa7.js → browser-Cp35Rf2k.js} +1 -1
  48. package/web/assets/{browser-_K3D-Q-7.js → browser-X1k8kBAr.js} +1 -1
  49. package/web/assets/{card-DGaeJPst.js → card-DNDtiYy8.js} +1 -1
  50. package/web/assets/{checkbox-C5uNb3Rm.js → checkbox-CRiJoc5E.js} +1 -1
  51. package/web/assets/{chip-DDjgi9qj.js → chip-sJ48Y96b.js} +1 -1
  52. package/web/assets/{client-D9DmTFwP.js → client-UALuUf1b.js} +1 -1
  53. package/web/assets/{cloud-chat.store-BPUP_Hxk.js → cloud-chat.store-D773sedy.js} +1 -1
  54. package/web/assets/{cloud-session-B1oqwDJc.js → cloud-session-DoJkL3UE.js} +1 -1
  55. package/web/assets/{column-sUzyGFk3.js → column-CbOxvbib.js} +1 -1
  56. package/web/assets/{computer-device-desktop-monitor.svg-BBuhFhn-.js → computer-device-desktop-monitor.svg-BHotpZXZ.js} +1 -1
  57. package/web/assets/{computer-device-desktop.svg-LL5HezrB.js → computer-device-desktop.svg-DZLZvDNQ.js} +1 -1
  58. package/web/assets/{computer-device-laptop.svg-C4xmfwdM.js → computer-device-laptop.svg-oE3NV3Kr.js} +1 -1
  59. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-B-uD42mr.js → computer-device-mobile-phone-android-samsung-back.svg-CRtVr9cq.js} +1 -1
  60. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-qPPbtnL9.js → computer-device-mobile-phone-android-samsung.svg-_UUs7ZJY.js} +1 -1
  61. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-B1Xa9B8p.js → computer-device-mobile-phone-iphone-x-back.svg-Cu8ruwWr.js} +1 -1
  62. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-B9zWUZbf.js → computer-device-mobile-phone-iphone-x.svg-CcHPAykT.js} +1 -1
  63. package/web/assets/{computer-device-mobile-tablet-touch.svg-CriHRQuM.js → computer-device-mobile-tablet-touch.svg-CLKICuFi.js} +1 -1
  64. package/web/assets/{computer-device-mobile-tablet.svg-BOKVzupN.js → computer-device-mobile-tablet.svg-D76C89jF.js} +1 -1
  65. package/web/assets/{computer-device-network-ethernet-cat6.svg-D0L6yx6b.js → computer-device-network-ethernet-cat6.svg-eu8QGd3o.js} +1 -1
  66. package/web/assets/{computer-device-network-lan-www.svg-n9m6VZVC.js → computer-device-network-lan-www.svg-DJj9Vfhy.js} +1 -1
  67. package/web/assets/{computer-device-network-wifi-connection.svg-BqJzn-5W.js → computer-device-network-wifi-connection.svg-bCxmIS1x.js} +1 -1
  68. package/web/assets/{computer-device-network-wifi-router.svg-DKcOeajJ.js → computer-device-network-wifi-router.svg-DfLHWbVS.js} +1 -1
  69. package/web/assets/{cssMode-CLuhsa-I.js → cssMode-Ce9Gu2eq.js} +1 -1
  70. package/web/assets/{divider-UPIM4dQl.js → divider-Btd3yqHz.js} +1 -1
  71. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DyL2i1-k.js → ecology-science-erlenmeyer-flask.svg-zyeBtdZ_.js} +1 -1
  72. package/web/assets/{fieldset-CIZfn4mb.js → fieldset-BvmkYM0C.js} +1 -1
  73. package/web/assets/{freemarker2-BQV9kA1Y.js → freemarker2-BCA2otED.js} +1 -1
  74. package/web/assets/{handlebars-ib1US5Pw.js → handlebars-BlMvaJoz.js} +1 -1
  75. package/web/assets/{html-D-hYOiBO.js → html-TdZvZEA9.js} +1 -1
  76. package/web/assets/{htmlMode-WY_1KZ8Q.js → htmlMode-86VcsR8K.js} +1 -1
  77. package/web/assets/{image-flash-lightning.svg-wPJhlaEM.js → image-flash-lightning.svg-Dd2YccEN.js} +1 -1
  78. package/web/assets/{image-picture-flower.svg-C15wjNsW.js → image-picture-flower.svg-GsolXX2N.js} +1 -1
  79. package/web/assets/{index-CcDpHMIW.js → index-Fqxj8mF_.js} +36 -36
  80. package/web/assets/{interface-alert-exclamation-diamond.svg-C2MhzWE9.js → interface-alert-exclamation-diamond.svg-jLLLQJte.js} +1 -1
  81. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-D8heEy48.js → interface-alert-exclamation-triangle-warning.svg-JFmrC3Qq.js} +1 -1
  82. package/web/assets/{interface-alert-information-circle.svg-zrf3-9VP.js → interface-alert-information-circle.svg-CU7dk9J9.js} +1 -1
  83. package/web/assets/{interface-award-crown.svg-CT401HIW.js → interface-award-crown.svg-D7EHuQDJ.js} +1 -1
  84. package/web/assets/{interface-bookmark.svg-CqHV5l4k.js → interface-bookmark-tag.svg-D7z-DuQY.js} +1 -1
  85. package/web/assets/{interface-bookmark-tag.svg-h5CZEHt8.js → interface-bookmark.svg-C5fcDFRZ.js} +1 -1
  86. package/web/assets/{interface-calendar-date-one.svg-DUdLsM_8.js → interface-calendar-date-one.svg-BVpKTN9E.js} +1 -1
  87. package/web/assets/{interface-content-book-open-pages.svg-DNR8SCd0.js → interface-content-book-open-pages.svg-DGx3M06r.js} +1 -1
  88. package/web/assets/{interface-content-book-page.svg-Da9e-SX6.js → interface-content-book-page.svg-BK5aLSwy.js} +1 -1
  89. package/web/assets/{interface-content-file.svg-BZM7jMWF.js → interface-content-file.svg-D408qEwd.js} +1 -1
  90. package/web/assets/{interface-content-folder.svg-BisjJGhi.js → interface-content-folder.svg-Alzp9wAN.js} +1 -1
  91. package/web/assets/interface-content-folder.svg-Dd_pItOj.js +1 -0
  92. package/web/assets/{interface-copy-clipboard.svg-AIcyJXPF.js → interface-copy-clipboard.svg-D0u55VL1.js} +1 -1
  93. package/web/assets/{interface-edit-attachment.svg-XSvdzubS.js → interface-edit-attachment.svg-BD1tiUrl.js} +1 -1
  94. package/web/assets/{interface-edit-binocular.svg-CCB9rIw_.js → interface-edit-binocular.svg-ZmeTBapC.js} +1 -1
  95. package/web/assets/{interface-edit-magic-wand.svg-Dd4afdpz.js → interface-edit-magic-wand.svg-kVz-hkUU.js} +1 -1
  96. package/web/assets/{interface-edit-tool-paint-roller.svg-DpO7rr7P.js → interface-edit-tool-paint-roller.svg-DNOXbjo8.js} +1 -1
  97. package/web/assets/{interface-edit-tool-pencil.svg-DbKruCrP.js → interface-edit-tool-pencil.svg-DZxd3xM5.js} +1 -1
  98. package/web/assets/{interface-favorite-award.svg-DNIpxtuy.js → interface-favorite-award.svg-ClD1kKvB.js} +1 -1
  99. package/web/assets/{interface-favorite-flag.svg-CgGWpm8Y.js → interface-favorite-flag.svg-WnIOKMGg.js} +1 -1
  100. package/web/assets/{interface-favorite-heart.svg-Bke1OXMv.js → interface-favorite-heart.svg-C2H624Nh.js} +1 -1
  101. package/web/assets/{interface-favorite-star.svg-DgwsiTjP.js → interface-favorite-star.svg-mxdCj7u5.js} +1 -1
  102. package/web/assets/{interface-favorite-stars-sparkles.svg-dKGlP2sr.js → interface-favorite-stars-sparkles.svg-B84888ZZ.js} +1 -1
  103. package/web/assets/{interface-hierarchy-flowchart.svg-Bved245R.js → interface-hierarchy-flowchart.svg-DEeF7n-2.js} +1 -1
  104. package/web/assets/{interface-home-house.svg-DJIEYhIa.js → interface-home-house.svg-t2_oODi4.js} +1 -1
  105. package/web/assets/{interface-hyperlink.svg-BBh6NFX7.js → interface-hyperlink.svg-BrnIZvjt.js} +1 -1
  106. package/web/assets/{interface-lighting-brightness.svg-NqCt5nK8.js → interface-lighting-brightness.svg-D-GyPXjY.js} +1 -1
  107. package/web/assets/{interface-lock-closed.svg-CclDxo01.js → interface-lock-closed.svg-BN-oQz5F.js} +1 -1
  108. package/web/assets/{interface-lock-open-unlock.svg-CYPJVug8.js → interface-lock-open-unlock.svg-Dc-LYiQq.js} +1 -1
  109. package/web/assets/{interface-login-key.svg-DaW7pEY5.js → interface-login-key.svg-B8LLOMON.js} +1 -1
  110. package/web/assets/{interface-search.svg-j89Vz_N5.js → interface-search.svg-DQc_zJP6.js} +1 -1
  111. package/web/assets/{interface-setting-cog.svg-CY2WkccU.js → interface-setting-cog.svg-BhTG-ykG.js} +1 -1
  112. package/web/assets/{interface-share-megaphone-bullhorn.svg-C927tb6q.js → interface-share-megaphone-bullhorn.svg-BtQE4Ez8.js} +1 -1
  113. package/web/assets/{interface-share-rocket.svg-B3sZvIoQ.js → interface-share-rocket.svg-CGwg_cl1.js} +1 -1
  114. package/web/assets/{interface-share-satellite.svg-CQ8A4dXG.js → interface-share-satellite.svg-CZfJDV6G.js} +1 -1
  115. package/web/assets/{interface-share-space-ship.svg-BTGyj986.js → interface-share-space-ship.svg-O-Icj5LT.js} +1 -1
  116. package/web/assets/{interface-share.svg-BSQ8cEXV.js → interface-share.svg-BX8IwfWz.js} +1 -1
  117. package/web/assets/{interface-signal-square.svg-1h2-Znr2.js → interface-signal-square.svg-CE6zn1pG.js} +1 -1
  118. package/web/assets/{interface-time-clock-circle.svg-CgUcH4er.js → interface-time-clock-circle.svg-04-xZJrD.js} +1 -1
  119. package/web/assets/{interface-time-hour-glass.svg-Biz9ylcj.js → interface-time-hour-glass.svg-BoWE_2dV.js} +1 -1
  120. package/web/assets/{interface-users-multiple.svg-B2SNNyd6.js → interface-users-multiple.svg-C6DR-VGH.js} +1 -1
  121. package/web/assets/{interface-weather-moon.svg-DFIwJsKU.js → interface-weather-moon.svg-CmnKYPJf.js} +1 -1
  122. package/web/assets/{javascript-w0UZtcmg.js → javascript-C677yQhb.js} +1 -1
  123. package/web/assets/{jsonMode-CJUdXIyV.js → jsonMode-CX4pwVNg.js} +1 -1
  124. package/web/assets/{liquid-CjedKIbd.js → liquid-DqImr5Rf.js} +1 -1
  125. package/web/assets/{lspLanguageFeatures-DGvsogF_.js → lspLanguageFeatures-BTKVa9J6.js} +1 -1
  126. package/web/assets/{mail-chat-bubble-square.svg-D16l2agS.js → mail-chat-bubble-square.svg-CBChVAwj.js} +1 -1
  127. package/web/assets/{mail-send-email-paper-airplane.svg-Bz-my4zw.js → mail-send-email-paper-airplane.svg-BvjwiyHj.js} +1 -1
  128. package/web/assets/{mail-send-envelope.svg-Cgh2a1hO.js → mail-send-envelope.svg-CHIzsoHb.js} +1 -1
  129. package/web/assets/{mdx-Y5OqFrRV.js → mdx-DVNSl64x.js} +1 -1
  130. package/web/assets/{message-Bh-eAVAb.js → message-C0TjBfm6.js} +1 -1
  131. package/web/assets/{minus-CxgjeEyu.js → minus-BrPsTPJ7.js} +1 -1
  132. package/web/assets/{modal-ciXJUOol.js → modal-BsYdvaKM.js} +1 -1
  133. package/web/assets/modal-DzSCj8kW.js +1 -0
  134. package/web/assets/{money-cashier-receipt.svg-BP5bjawX.js → money-cashier-receipt.svg-B4XyVUZu.js} +1 -1
  135. package/web/assets/{money-currency-dollar-pay.svg-vKtIhvs8.js → money-currency-dollar-pay.svg-DfGeqlFL.js} +1 -1
  136. package/web/assets/{money-graph-arrow-increase.svg-CaeoOB93.js → money-graph-arrow-increase.svg-DG26GZv9.js} +1 -1
  137. package/web/assets/{money-graph-bar-chart-increase.svg-CjRjHwbF.js → money-graph-bar-chart-increase.svg-oh3vpjF0.js} +1 -1
  138. package/web/assets/{multiselect-CsE4Xly1.js → multiselect-IjD4mvG7.js} +1 -1
  139. package/web/assets/{nature-ecology-leaf.svg-umy4cUUw.js → nature-ecology-leaf.svg-DQqBfg8D.js} +1 -1
  140. package/web/assets/{password-Brra1Twl.js → password-B6-QnAkU.js} +1 -1
  141. package/web/assets/{phone-telephone.svg-DQ18gSw7.js → phone-telephone.svg-C9f52l8_.js} +1 -1
  142. package/web/assets/{plus-e_D9UcW9.js → plus-DLaxru2F.js} +1 -1
  143. package/web/assets/process.store-8JJ69q8V.js +1 -0
  144. package/web/assets/{programming-bug.svg-BL4Hus_Q.js → programming-bug.svg-9mD8RFj9.js} +1 -1
  145. package/web/assets/{programming-cloud.svg-DrTlrDBe.js → programming-cloud.svg-CLeILg3x.js} +1 -1
  146. package/web/assets/{programming-computer-database-server.svg-CnwbhD5W.js → programming-computer-database-server.svg-HamstmP2.js} +1 -1
  147. package/web/assets/{programming-computer-database.svg-GymDSTl9.js → programming-computer-database.svg-nEQUdUs7.js} +1 -1
  148. package/web/assets/{programming-module-four-layout.svg-DspyCTiu.js → programming-module-four-layout.svg-NP91PmAQ.js} +1 -1
  149. package/web/assets/{programming-module-three.svg-BuYXTrWu.js → programming-module-three.svg-DtpdYXyI.js} +1 -1
  150. package/web/assets/{programming-module.svg-DIlRMVbW.js → programming-module.svg-R5S61G3x.js} +1 -1
  151. package/web/assets/{programming-script-code.svg-DPXJcL07.js → programming-script-code.svg-BTd-xazr.js} +1 -1
  152. package/web/assets/{python-3fAbpxqq.js → python-FQYjWEUl.js} +1 -1
  153. package/web/assets/{radiobutton-w7t3rGDJ.js → radiobutton--b2mlBqL.js} +1 -1
  154. package/web/assets/{razor-GDM0jSNH.js → razor-BL3zeFqY.js} +1 -1
  155. package/web/assets/router-Bfa4Xo3H.js +1 -0
  156. package/web/assets/{settings.store-D0eLKI4A.js → settings.store-BvHGu8bf.js} +1 -1
  157. package/web/assets/{shopping-cart.svg-B1y-4w0M.js → shopping-cart.svg-kBedAibu.js} +1 -1
  158. package/web/assets/{shopping-gift-present.svg-DJ3mGWql.js → shopping-gift-present.svg-DRoqNQ7g.js} +1 -1
  159. package/web/assets/{shopping-shipping-box-parcel-package.svg-Bj3iHRT5.js → shopping-shipping-box-parcel-package.svg-DqkYkzct.js} +1 -1
  160. package/web/assets/{src-BotO3dQ7.js → src-CIJrYVVG.js} +1 -1
  161. package/web/assets/{src-wVYcxep_.js → src-wGbZF3BQ.js} +1 -1
  162. package/web/assets/{tabpanel-DOZdp_HS.js → tabpanel-DSVKxWuP.js} +1 -1
  163. package/web/assets/{tag-new-circle.svg-Bb_ByVey.js → tag-new-circle.svg-VDibH4gM.js} +1 -1
  164. package/web/assets/{travel-map-earth-globe.svg-Mso-K6XY.js → travel-map-earth-globe.svg-B56EzZAm.js} +1 -1
  165. package/web/assets/trpc-Dt_8lN9U.js +1 -0
  166. package/web/assets/{tsMode-BUHQk9ZI.js → tsMode-CfGf-txb.js} +1 -1
  167. package/web/assets/{typescript-Quc5d9qP.js → typescript-DHQRfuo5.js} +1 -1
  168. package/web/assets/useAiChatDrawer-FN5XMDI8.js +1 -0
  169. package/web/assets/useCloudOrg-3JUViFn6.js +1 -0
  170. package/web/assets/useCloudOrg-A1wW_KrI.css +1 -0
  171. package/web/assets/{xml-CkYBw41O.js → xml-DqF6WPs-.js} +1 -1
  172. package/web/assets/{yaml-CmSvkxzN.js → yaml-BRNN8ddv.js} +1 -1
  173. package/web/index.html +1 -1
  174. package/web/assets/AiChatPage-Ct_f2ned.js +0 -1
  175. package/web/assets/CloudAccountPage-kTdYEt2S.js +0 -1
  176. package/web/assets/WikiPage-DDx_jeaY.js +0 -1
  177. package/web/assets/auth-errors-BJV46AcQ.js +0 -1
  178. package/web/assets/interface-content-folder.svg-p32kmmD9.js +0 -1
  179. package/web/assets/modal-CIFHhhV7.js +0 -1
  180. package/web/assets/process.store-BhNwQ2dn.js +0 -1
  181. package/web/assets/router-C6yOFC1g.js +0 -1
  182. package/web/assets/trpc-BWtKBok1.js +0 -1
  183. package/web/assets/useAiChatDrawer-CRJCTTTO.js +0 -1
  184. package/web/assets/useCloudOrg-CBr3kqWH.js +0 -1
  185. package/web/assets/useCloudOrg-Gz6ek71z.css +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-BWtKBok1.js","assets/index-CcDpHMIW.js","assets/index-D8bYR2Zc.css"])))=>i.map(i=>d[i]);
2
- import{Ar as e,Ei as t,En as n,Fn as r,Gr as i,Hr as a,Ht as ee,Jr as o,Oi as s,Ot as te,Qr as c,S as ne,Si as l,Tn as re,Ui as u,Ur as d,Vt as f,Wi as p,X as ie,Xi as m,Xr as ae,Yr as h,Zr as g,_ as oe,_a as _,ai as v,b as se,ca as y,dn as b,g as ce,h as le,hi as x,ji as ue,jr as de,ln as S,m as fe,n as pe,p as me,pn as C,q as he,qi as ge,ri as w,rn as _e,t as ve,wi as ye,y as be,zi as T,zr as E}from"./index-CcDpHMIW.js";import"./cloud-session-B1oqwDJc.js";import"./src-BotO3dQ7.js";import"./src-wVYcxep_.js";import"./w3c-keyname-nn0G3QC2.js";import{r as xe,t as Se}from"./useCloudOrg-CBr3kqWH.js";import{t as Ce}from"./SendToChatDialog-DG6GidKi.js";const we=e(`kanban-queue`,()=>{let e=y({items:[],running:[],maxConcurrent:1}),t=null;async function n(){t||=f.kanbanQueue.onChanged.subscribe(void 0,{onData(t){e.value=t}})}function r(){t?.unsubscribe(),t=null}function i(t,n){return e.value.items.some(e=>e.boardId===t&&e.cardId===n)||e.value.running.some(e=>e.boardId===t&&e.cardId===n)}function a(t,n){let r=e.value.items.find(e=>e.boardId===t&&e.cardId===n);return r?r.id:e.value.running.find(e=>e.boardId===t&&e.cardId===n)?.id??null}async function ee(e){await f.kanbanQueue.add.mutate(e)}async function o(e){await f.kanbanQueue.addColumn.mutate(e)}async function s(e){await f.kanbanQueue.remove.mutate({itemId:e})}async function te(){await f.kanbanQueue.stopAll.mutate()}async function c(e){await f.kanbanQueue.setMaxConcurrent.mutate({max:e})}return{state:e,init:n,destroy:r,isCardInQueue:i,getCardQueueItemId:a,addCard:ee,addColumn:o,removeItem:s,stopAll:te,setMaxConcurrent:c}});var Te={key:0,class:`kanban-board-host`},Ee={class:`upgrade-banner__cta`},De=[`onClick`],Oe={key:0,class:`kb-card__ai-badge kb-card__ai-badge--streaming`},ke={key:1,class:`kb-card__ai-badge kb-card__ai-badge--unread`},Ae={class:`kb-populate`},je={class:`kb-populate__hint`},Me={class:`kb-dialog__footer`},Ne={key:0,class:`kb-queue-panel`},Pe={class:`kb-queue-panel__header`},Fe={class:`kb-queue-panel__title`},Ie={class:`kb-queue-panel__concurrency`},Le={class:`kb-queue-panel__concurrency-label`},Re={class:`kb-queue-panel__concurrency-ctrl`},ze={key:0,class:`kb-queue-panel__section`},Be={class:`kb-queue-panel__section-title`},Ve={class:`kb-queue-item__title`},He={key:1,class:`kb-queue-panel__section`},Ue={class:`kb-queue-panel__section-title`},We={class:`kb-queue-item__title`},Ge={key:2,class:`kb-queue-panel__empty`},Ke={class:`kb-queue-panel__footer`},qe={class:`kb-queue-col-dialog`},Je={class:`kb-queue-col-dialog__field`},Ye={for:`kanban-queue-runner`},Xe=[`disabled`],Ze=[`disabled`],Qe={class:`kb-queue-col-dialog__field`},$e={for:`kanban-queue-scenario`},et={value:``},tt=[`value`],nt={class:`kb-dialog__footer`},rt={key:1,class:`kanban-board-loading`},D=S(v({__name:`KanbanBoardPage`,props:{id:{}},setup(e){let f=e,{t:v}=r(),S=n(),D=re(),{orgId:O,orgSlug:k,cloudUser:it,members:at}=Se();function ot(e,t){return O.value?oe(O.value,e,t):Promise.resolve(null)}function st(e){return le(e.id)}function ct(e){return ce(e.id,e.contentType)}function lt(e){return`${ve()}/api/avatar/${e}`}let ut=o(()=>at.value.map(e=>({userId:e.userId,name:e.name})));function dt(e,t){return t?v(`kanban.board.${e}`,t):v(`kanban.board.${e}`)}let A=be(me,O,{streamUrl:fe}),ft=se(me,O),pt=o(()=>ft.templates.value.map(e=>({id:e.id,name:e.name,content:e.content}))),j=y(null),M=o(()=>A.activeBoard.value),N=o(()=>M.value?.columns??[]),P=o(()=>!A.canWrite.value||!!M.value?.archived);T([O,()=>f.id],async([e,t])=>{if(!(!e||!t)){if(await A.openBoard(t),!A.activeBoard.value){S.push(`/kanban`);return}await x(),ht()}},{immediate:!0});let F=o(()=>typeof D.params.cardId==`string`?D.params.cardId:``),I=!1,L=!1;function mt(e){for(let t of N.value){let n=t.cards.find(t=>t.id===e);if(n)return{colId:t.id,card:n}}return null}function ht(){let e=typeof D.query.card==`string`?D.query.card:``;if(e){S.replace({name:`kanban-card`,params:{id:f.id,cardId:e},query:{...D.query,card:void 0}});return}let t=F.value;if(t!==(j.value?.editingCard?.card.id??``)){I=!0;try{if(!t){j.value?.closeCardEditor();return}let e=mt(t);e&&j.value?.openCardEditor(e.colId,e.card)}finally{I=!1}}}function gt(e){if(I)return;let t=e?.card.id??``;if(t!==F.value){if(t){L=!0,S.push({name:`kanban-card`,params:{id:f.id,cardId:t}});return}if(L){L=!1,S.back();return}S.replace({name:`kanban-board`,params:{id:f.id}})}}T(F,()=>ht());function _t(e,t,n){return A.addComment(e,t,n)}async function vt(e){A.markDirty(),await A.saveBoard({columns:e})}async function yt(e){M.value&&await A.setColumnSubscription(M.value.id,e.columnId,e.subscription)}function bt(){k.value&&window.open(`${pe()}/app/${k.value}/settings/org/billing`,`_blank`,`noopener`)}let R=ie(),{claudeCodeAvailable:xt,codexAvailable:St}=de(R),z=te(),B=y(!1),Ct=y(null),wt=y(null),V=``,H=null;l(()=>{R.init()});function Tt(e){return(e.conversationEvents??e.history??[]).filter(e=>e.type===`conversation_started`||e.type===`scenario_started`).map(e=>{let t=e.detail??``;return t.includes(` — `)?t.split(` — `).pop():t}).filter(Boolean)}function Et(e){return e&&R.conversations.some(t=>t.id===e)?e:null}function Dt(e){return e.type===`comment`?Et(e.conversationId):e.type!==`conversation_started`&&e.type!==`scenario_started`||!e.detail?null:Et(e.detail.includes(` — `)?e.detail.split(` — `).pop():e.detail)}function Ot(e){if(!M.value)return null;if(U.state.running.some(t=>t.cardId===e.id))return`streaming`;if(U.state.items.some(t=>t.cardId===e.id))return`unread`;let t=Tt(e);return t.some(e=>R.streamingConvIds.has(e))?`streaming`:t.some(e=>R.unreadConvIds.has(e))?`unread`:null}function kt(e){R.selectConversation(e),j.value?.closeCardEditor(),z.open()}async function At(e,t,n){H&&await A.addCardEvent(H.card.id,t,n??e)}function jt(e){H={colId:e.colId,card:e.card};let t=e.draft.title||e.card.title||``,n=e.draft.markdown||e.card.markdown||``;V=n?`${t}\n\n${n}`:t,j.value?.saveCard(),B.value=!0}function Mt(e){if(!M.value)return;let t=e.draft.title||e.card.title||v(`kanban.board.card.untitled`),n=N.value.find(t=>t.id===e.colId)?.title??``,r=(e.draft.markdown??``).trim(),i=k.value?`${pe()}/app/${k.value}/kanban/${M.value.id}/card/${e.card.id}`:`${window.location.origin}/kanban/${M.value.id}/card/${e.card.id}`,a=[`📋 ${t}`];n&&a.push(`📍 ${v(`kanban.board.editor.columnLabel`,{column:n})}`),r&&a.push(r),a.push(`🔗 [${v(`kanban.board.editor.openCardLink`)}](${i})`),wt.value?.open(a.join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-Dt_8lN9U.js","assets/index-Fqxj8mF_.js","assets/index-D8bYR2Zc.css"])))=>i.map(i=>d[i]);
2
+ import{Ar as e,Ei as t,En as n,Fn as r,Gr as i,Hr as a,Ht as ee,Jr as o,Oi as s,Ot as te,Qr as c,S as ne,Si as l,Tn as re,Ui as u,Ur as d,Vt as f,Wi as p,X as ie,Xi as m,Xr as ae,Yr as h,Zr as g,_ as oe,_a as _,ai as v,b as se,ca as y,dn as b,g as ce,h as le,hi as x,ji as ue,jr as de,ln as S,m as fe,n as pe,p as me,pn as C,q as he,qi as ge,ri as w,rn as _e,t as ve,wi as ye,y as be,zi as T,zr as E}from"./index-Fqxj8mF_.js";import"./cloud-session-DoJkL3UE.js";import"./src-CIJrYVVG.js";import"./src-wGbZF3BQ.js";import"./w3c-keyname-nn0G3QC2.js";import{r as xe,t as Se}from"./useCloudOrg-3JUViFn6.js";import{t as Ce}from"./SendToChatDialog-C-GU6Dbz.js";const we=e(`kanban-queue`,()=>{let e=y({items:[],running:[],maxConcurrent:1}),t=null;async function n(){t||=f.kanbanQueue.onChanged.subscribe(void 0,{onData(t){e.value=t}})}function r(){t?.unsubscribe(),t=null}function i(t,n){return e.value.items.some(e=>e.boardId===t&&e.cardId===n)||e.value.running.some(e=>e.boardId===t&&e.cardId===n)}function a(t,n){let r=e.value.items.find(e=>e.boardId===t&&e.cardId===n);return r?r.id:e.value.running.find(e=>e.boardId===t&&e.cardId===n)?.id??null}async function ee(e){await f.kanbanQueue.add.mutate(e)}async function o(e){await f.kanbanQueue.addColumn.mutate(e)}async function s(e){await f.kanbanQueue.remove.mutate({itemId:e})}async function te(){await f.kanbanQueue.stopAll.mutate()}async function c(e){await f.kanbanQueue.setMaxConcurrent.mutate({max:e})}return{state:e,init:n,destroy:r,isCardInQueue:i,getCardQueueItemId:a,addCard:ee,addColumn:o,removeItem:s,stopAll:te,setMaxConcurrent:c}});var Te={key:0,class:`kanban-board-host`},Ee={class:`upgrade-banner__cta`},De=[`onClick`],Oe={key:0,class:`kb-card__ai-badge kb-card__ai-badge--streaming`},ke={key:1,class:`kb-card__ai-badge kb-card__ai-badge--unread`},Ae={class:`kb-populate`},je={class:`kb-populate__hint`},Me={class:`kb-dialog__footer`},Ne={key:0,class:`kb-queue-panel`},Pe={class:`kb-queue-panel__header`},Fe={class:`kb-queue-panel__title`},Ie={class:`kb-queue-panel__concurrency`},Le={class:`kb-queue-panel__concurrency-label`},Re={class:`kb-queue-panel__concurrency-ctrl`},ze={key:0,class:`kb-queue-panel__section`},Be={class:`kb-queue-panel__section-title`},Ve={class:`kb-queue-item__title`},He={key:1,class:`kb-queue-panel__section`},Ue={class:`kb-queue-panel__section-title`},We={class:`kb-queue-item__title`},Ge={key:2,class:`kb-queue-panel__empty`},Ke={class:`kb-queue-panel__footer`},qe={class:`kb-queue-col-dialog`},Je={class:`kb-queue-col-dialog__field`},Ye={for:`kanban-queue-runner`},Xe=[`disabled`],Ze=[`disabled`],Qe={class:`kb-queue-col-dialog__field`},$e={for:`kanban-queue-scenario`},et={value:``},tt=[`value`],nt={class:`kb-dialog__footer`},rt={key:1,class:`kanban-board-loading`},D=S(v({__name:`KanbanBoardPage`,props:{id:{}},setup(e){let f=e,{t:v}=r(),S=n(),D=re(),{orgId:O,orgSlug:k,cloudUser:it,members:at}=Se();function ot(e,t){return O.value?oe(O.value,e,t):Promise.resolve(null)}function st(e){return le(e.id)}function ct(e){return ce(e.id,e.contentType)}function lt(e){return`${ve()}/api/avatar/${e}`}let ut=o(()=>at.value.map(e=>({userId:e.userId,name:e.name})));function dt(e,t){return t?v(`kanban.board.${e}`,t):v(`kanban.board.${e}`)}let A=be(me,O,{streamUrl:fe}),ft=se(me,O),pt=o(()=>ft.templates.value.map(e=>({id:e.id,name:e.name,content:e.content}))),j=y(null),M=o(()=>A.activeBoard.value),N=o(()=>M.value?.columns??[]),P=o(()=>!A.canWrite.value||!!M.value?.archived);T([O,()=>f.id],async([e,t])=>{if(!(!e||!t)){if(await A.openBoard(t),!A.activeBoard.value){S.push(`/kanban`);return}await x(),ht()}},{immediate:!0});let F=o(()=>typeof D.params.cardId==`string`?D.params.cardId:``),I=!1,L=!1;function mt(e){for(let t of N.value){let n=t.cards.find(t=>t.id===e);if(n)return{colId:t.id,card:n}}return null}function ht(){let e=typeof D.query.card==`string`?D.query.card:``;if(e){S.replace({name:`kanban-card`,params:{id:f.id,cardId:e},query:{...D.query,card:void 0}});return}let t=F.value;if(t!==(j.value?.editingCard?.card.id??``)){I=!0;try{if(!t){j.value?.closeCardEditor();return}let e=mt(t);e&&j.value?.openCardEditor(e.colId,e.card)}finally{I=!1}}}function gt(e){if(I)return;let t=e?.card.id??``;if(t!==F.value){if(t){L=!0,S.push({name:`kanban-card`,params:{id:f.id,cardId:t}});return}if(L){L=!1,S.back();return}S.replace({name:`kanban-board`,params:{id:f.id}})}}T(F,()=>ht());function _t(e,t,n){return A.addComment(e,t,n)}async function vt(e){A.markDirty(),await A.saveBoard({columns:e})}async function yt(e){M.value&&await A.setColumnSubscription(M.value.id,e.columnId,e.subscription)}function bt(){k.value&&window.open(`${pe()}/app/${k.value}/settings/org/billing`,`_blank`,`noopener`)}let R=ie(),{claudeCodeAvailable:xt,codexAvailable:St}=de(R),z=te(),B=y(!1),Ct=y(null),wt=y(null),V=``,H=null;l(()=>{R.init()});function Tt(e){return(e.conversationEvents??e.history??[]).filter(e=>e.type===`conversation_started`||e.type===`scenario_started`).map(e=>{let t=e.detail??``;return t.includes(` — `)?t.split(` — `).pop():t}).filter(Boolean)}function Et(e){return e&&R.conversations.some(t=>t.id===e)?e:null}function Dt(e){return e.type===`comment`?Et(e.conversationId):e.type!==`conversation_started`&&e.type!==`scenario_started`||!e.detail?null:Et(e.detail.includes(` — `)?e.detail.split(` — `).pop():e.detail)}function Ot(e){if(!M.value)return null;if(U.state.running.some(t=>t.cardId===e.id))return`streaming`;if(U.state.items.some(t=>t.cardId===e.id))return`unread`;let t=Tt(e);return t.some(e=>R.streamingConvIds.has(e))?`streaming`:t.some(e=>R.unreadConvIds.has(e))?`unread`:null}function kt(e){R.selectConversation(e),j.value?.closeCardEditor(),z.open()}async function At(e,t,n){H&&await A.addCardEvent(H.card.id,t,n??e)}function jt(e){H={colId:e.colId,card:e.card};let t=e.draft.title||e.card.title||``,n=e.draft.markdown||e.card.markdown||``;V=n?`${t}\n\n${n}`:t,j.value?.saveCard(),B.value=!0}function Mt(e){if(!M.value)return;let t=e.draft.title||e.card.title||v(`kanban.board.card.untitled`),n=N.value.find(t=>t.id===e.colId)?.title??``,r=(e.draft.markdown??``).trim(),i=k.value?`${pe()}/app/${k.value}/kanban/${M.value.id}/card/${e.card.id}`:`${window.location.origin}/kanban/${M.value.id}/card/${e.card.id}`,a=[`📋 ${t}`];n&&a.push(`📍 ${v(`kanban.board.editor.columnLabel`,{column:n})}`),r&&a.push(r),a.push(`🔗 [${v(`kanban.board.editor.openCardLink`)}](${i})`),wt.value?.open(a.join(`
3
3
 
4
- `))}function Nt(){return{kanbanBoardId:M.value?.id,kanbanCardId:H?.card.id}}async function Pt(e,t){let n=V,r=await R.createConversation({title:`Kanban: ${H?.card.title||`Card`}`,runner:e,providerId:t,...Nt()});r&&await At(r.id,`conversation_started`),j.value?.closeCardEditor(),n?z.openWithKanbanContext(n):z.open()}function Ft(e,t,n){B.value=!1,Ct.value?.showScenarioDialog(e,V,t,n??void 0)}async function It(e,t){B.value=!1,await Pt(e===`keep`?void 0:e,t??void 0)}async function Lt(e,t,n,r){let i=t||V,a=await R.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${H?.card.title||`Card`}`,...Nt()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;R.startScenarioRun(a.id,e,i,void 0,t),await At(a.id,`scenario_started`,`Scenario run — ${a.id}`)}j.value?.closeCardEditor(),z.open()}let U=we(),W=y(!1),G=y(!1),Rt=y(``),K=y(``),q=y(``),J=y([]),Y=o(()=>U.state.items.length+U.state.running.length);l(async()=>{U.init();try{let{trpc:e}=await ee(async()=>{let{trpc:e}=await import(`./trpc-BWtKBok1.js`);return{trpc:e}},__vite__mapDeps([0,1,2]));J.value=(await e.scenario.list.query()).map(e=>({id:e.id,name:e.name}))}catch{}}),ye(()=>U.destroy());function zt(e){Rt.value=e,K.value=``,q.value=``,G.value=!0}async function Bt(){M.value&&(await U.addColumn({boardId:M.value.id,columnId:Rt.value,runner:K.value||void 0,scenarioId:q.value||void 0}),G.value=!1)}async function Vt(e){if(!M.value)return;let t=U.getCardQueueItemId(M.value.id,e.id);t?await U.removeItem(t):await U.addCard({boardId:M.value.id,cardId:e.id})}function Ht(e){return N.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let X=y(!1),Z=y(!1),Q=y(``);async function Ut(e,t){if(!M.value||!Q.value.trim())return;let n=Q.value.trim(),r=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:M.value.id});if(Z.value=!1,Q.value=``,r){if(e===`claude-code`||e===`codex`){z.openWithPopulateContext(n);return}z.openPopulate(),await x(),R.send(n,()=>{})}}async function Wt(e,t,n){if(!M.value||!Q.value.trim())return;let r=Q.value.trim(),i=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:M.value.id});Z.value=!1,Q.value=``,i&&(R.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),z.open())}function Gt(){Q.value=``,X.value=!0}function $(){Q.value.trim()&&(X.value=!1,R.fetchProviders(),R.checkCliAvailability(),Z.value=!0)}async function Kt(e,t){await Ut(e===`keep`?void 0:e,t??void 0)}async function qt(e,t,n){await Wt(e,t,n)}return T(()=>R.streamingConvIds.size,()=>{A.refreshActiveBoard()}),(e,n)=>{let r=ue(`tooltip`);return M.value?(t(),c(`div`,Te,[w(_(xe),{ref_key:`boardRef`,ref:j,columns:N.value,name:M.value.name,"read-only":P.value,saving:_(A).saving.value,templates:pt.value,t:dt,"resolve-conversation-id":Dt,"current-user-id":_(it)?.id,members:ut.value,"column-subscriptions":M.value.columnSubscriptions??{},"avatar-url":lt,"upload-image":ot,"fetch-attachment":ct,"delete-attachment":st,"load-history":_(A).loadCardHistory,histories:_(A).cardHistories.value,"add-comment":_t,"edit-comment":_(A).updateComment,"remove-comment":_(A).deleteComment,"move-card":_(A).moveCard,onChange:vt,onBack:n[1]||=e=>_(S).push(`/kanban`),onOpenConversation:kt,onCardOpen:gt,onUpdateColumnSubscription:yt},{"header-actions":u(()=>[P.value?g(``,!0):(t(),ae(_(C),{key:0,label:_(v)(`kanban.board.aiPopulate`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,onClick:Gt},null,8,[`label`])),w(_(C),{label:_(v)(`kanban.board.queue.panelHeader`),icon:`pi pi-list`,severity:`secondary`,outlined:``,size:`small`,badge:Y.value>0?String(Y.value):void 0,"badge-severity":`warn`,onClick:n[0]||=e=>W.value=!W.value},null,8,[`label`,`badge`])]),banner:u(()=>[_(A).canWrite.value?g(``,!0):(t(),c(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:d(bt,[`prevent`])},[h(`span`,null,m(_(v)(`kanban.cloud.readOnlyNotice`)),1),h(`span`,Ee,m(_(v)(`kanban.cloud.upgradeCta`)),1)]))]),"column-actions":u(({column:e})=>[P.value?g(``,!0):p((t(),ae(_(C),{key:0,icon:`pi pi-list`,text:``,rounded:``,size:`small`,onClick:d(t=>zt(e.id),[`stop`])},null,8,[`onClick`])),[[r,_(v)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":u(({card:e})=>[P.value?g(``,!0):p((t(),c(`button`,{key:0,class:ge([`kb-card__queue-btn`,{"kb-card__queue-btn--active":M.value&&_(U).isCardInQueue(M.value.id,e.id)}]),onClick:d(t=>Vt(e),[`stop`])},[...n[15]||=[h(`i`,{class:`pi pi-list`},null,-1)]],10,De)),[[r,M.value&&_(U).isCardInQueue(M.value.id,e.id)?_(v)(`kanban.board.queue.tooltipInQueue`):_(v)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":u(({card:e})=>[Ot(e)===`streaming`?p((t(),c(`span`,Oe,null,512)),[[r,_(v)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):Ot(e)===`unread`?p((t(),c(`span`,ke,null,512)),[[r,_(v)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):g(``,!0)]),"card-editor-actions":u(({card:e,colId:t,draft:n})=>[w(_(C),{label:_(v)(`kanban.board.editor.launchAi`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,disabled:P.value,onClick:r=>jt({card:e,colId:t,draft:n})},null,8,[`label`,`disabled`,`onClick`]),w(_(C),{label:_(v)(`kanban.board.editor.sendToChat`),icon:`pi pi-comments`,severity:`secondary`,outlined:``,size:`small`,onClick:r=>Mt({card:e,colId:t,draft:n})},null,8,[`label`,`onClick`])]),_:1},8,[`columns`,`name`,`read-only`,`saving`,`templates`,`current-user-id`,`members`,`column-subscriptions`,`load-history`,`histories`,`edit-comment`,`remove-comment`,`move-card`]),w(_(b),{visible:B.value,header:_(v)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":n[2]||=e=>{e||(B.value=!1)}},{default:u(()=>[w(he,{compact:``,onSelectScenario:Ft,onSkip:It})]),_:1},8,[`visible`,`header`]),w(ne,{ref_key:`launchModalsRef`,ref:Ct,onConfirmScenarioStart:Lt},null,512),w(Ce,{ref_key:`sendToChatRef`,ref:wt},null,512),w(_(b),{visible:X.value,header:_(v)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},breakpoints:{"600px":`95vw`},"onUpdate:visible":n[5]||=e=>{e||(X.value=!1)}},{footer:u(()=>[h(`div`,Me,[w(_(C),{label:_(v)(`actions.cancel`),text:``,onClick:n[4]||=e=>X.value=!1},null,8,[`label`]),w(_(C),{label:_(v)(`kanban.board.populateDialog.generate`),icon:`pi pi-sparkles`,disabled:!Q.value.trim(),onClick:$},null,8,[`label`,`disabled`])])]),default:u(()=>[h(`div`,Ae,[h(`p`,je,m(_(v)(`kanban.board.populateDialog.hint`)),1),w(_(_e),{modelValue:Q.value,"onUpdate:modelValue":n[3]||=e=>Q.value=e,placeholder:_(v)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[a(d($,[`ctrl`]),[`enter`]),a(d($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),w(_(b),{visible:Z.value,header:_(v)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":n[6]||=e=>{e||(Z.value=!1)}},{default:u(()=>[w(he,{compact:``,onSelectScenario:qt,onSkip:Kt})]),_:1},8,[`visible`,`header`]),W.value?(t(),c(`div`,Ne,[h(`div`,Pe,[h(`span`,Fe,m(_(v)(`kanban.board.queue.panelHeader`)),1),w(_(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:n[7]||=e=>W.value=!1})]),h(`div`,Ie,[h(`span`,Le,m(_(v)(`kanban.board.queue.concurrency`)),1),h(`div`,Re,[w(_(C),{icon:`pi pi-minus`,text:``,rounded:``,size:`small`,disabled:_(U).state.maxConcurrent<=1,onClick:n[8]||=e=>_(U).setMaxConcurrent(_(U).state.maxConcurrent-1)},null,8,[`disabled`]),h(`span`,null,m(_(U).state.maxConcurrent),1),w(_(C),{icon:`pi pi-plus`,text:``,rounded:``,size:`small`,onClick:n[9]||=e=>_(U).setMaxConcurrent(_(U).state.maxConcurrent+1)})])]),_(U).state.running.length>0?(t(),c(`div`,ze,[h(`div`,Be,m(_(v)(`kanban.board.queue.runningSection`,{count:_(U).state.running.length})),1),(t(!0),c(i,null,s(_(U).state.running.filter(e=>e.boardId===M.value?.id),e=>(t(),c(`div`,{key:e.id,class:`kb-queue-item kb-queue-item--running`},[n[16]||=h(`i`,{class:`pi pi-spin pi-spinner`},null,-1),h(`span`,Ve,m(Ht(e.cardId)),1),w(_(C),{icon:`pi pi-stop`,text:``,rounded:``,size:`small`,severity:`danger`,onClick:t=>_(U).removeItem(e.id)},null,8,[`onClick`])]))),128))])):g(``,!0),_(U).state.items.length>0?(t(),c(`div`,He,[h(`div`,Ue,m(_(v)(`kanban.board.queue.waitingSection`,{count:_(U).state.items.length})),1),(t(!0),c(i,null,s(_(U).state.items.filter(e=>e.boardId===M.value?.id),e=>(t(),c(`div`,{key:e.id,class:`kb-queue-item`},[n[17]||=h(`i`,{class:`pi pi-clock`},null,-1),h(`span`,We,m(Ht(e.cardId)),1),w(_(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:t=>_(U).removeItem(e.id)},null,8,[`onClick`])]))),128))])):g(``,!0),Y.value===0?(t(),c(`div`,Ge,m(_(v)(`kanban.board.queue.empty`)),1)):g(``,!0),h(`div`,Ke,[w(_(C),{label:_(v)(`kanban.board.queue.stopAll`),icon:`pi pi-stop`,severity:`danger`,text:``,size:`small`,disabled:Y.value===0,onClick:n[10]||=e=>_(U).stopAll()},null,8,[`label`,`disabled`])])])):g(``,!0),w(_(b),{visible:G.value,header:_(v)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":n[14]||=e=>{e||(G.value=!1)}},{footer:u(()=>[h(`div`,nt,[w(_(C),{label:_(v)(`actions.cancel`),text:``,onClick:n[13]||=e=>G.value=!1},null,8,[`label`]),w(_(C),{label:_(v)(`kanban.board.queue.addColumnDialog.confirm`),icon:`pi pi-list`,onClick:Bt},null,8,[`label`])])]),default:u(()=>[h(`div`,qe,[h(`div`,Je,[h(`label`,Ye,m(_(v)(`kanban.board.queue.addColumnDialog.runner`)),1),p(h(`select`,{id:`kanban-queue-runner`,"onUpdate:modelValue":n[11]||=e=>K.value=e,class:`kb-queue-col-dialog__select`},[n[18]||=h(`option`,{value:``},`Auto`,-1),h(`option`,{value:`claude-code`,disabled:!_(xt)},` Claude Code`+m(_(xt)?``:` (non installé)`),9,Xe),h(`option`,{value:`codex`,disabled:!_(St)},` Codex`+m(_(St)?``:` (non installé)`),9,Ze)],512),[[E,K.value]])]),h(`div`,Qe,[h(`label`,$e,m(_(v)(`kanban.board.queue.addColumnDialog.scenario`)),1),p(h(`select`,{id:`kanban-queue-scenario`,"onUpdate:modelValue":n[12]||=e=>q.value=e,class:`kb-queue-col-dialog__select`},[h(`option`,et,m(_(v)(`kanban.board.queue.addColumnDialog.noScenario`)),1),(t(!0),c(i,null,s(J.value,e=>(t(),c(`option`,{key:e.id,value:e.id},m(e.name),9,tt))),128))],512),[[E,q.value]])])])]),_:1},8,[`visible`,`header`])])):_(A).loading.value?(t(),c(`div`,rt,[...n[19]||=[h(`i`,{class:`pi pi-spin pi-spinner`},null,-1)]])):g(``,!0)}}}),[[`__scopeId`,`data-v-1f9903f2`]]);export{D as default};
4
+ `))}function Nt(){return{kanbanBoardId:M.value?.id,kanbanCardId:H?.card.id}}async function Pt(e,t){let n=V,r=await R.createConversation({title:`Kanban: ${H?.card.title||`Card`}`,runner:e,providerId:t,...Nt()});r&&await At(r.id,`conversation_started`),j.value?.closeCardEditor(),n?z.openWithKanbanContext(n):z.open()}function Ft(e,t,n){B.value=!1,Ct.value?.showScenarioDialog(e,V,t,n??void 0)}async function It(e,t){B.value=!1,await Pt(e===`keep`?void 0:e,t??void 0)}async function Lt(e,t,n,r){let i=t||V,a=await R.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${H?.card.title||`Card`}`,...Nt()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;R.startScenarioRun(a.id,e,i,void 0,t),await At(a.id,`scenario_started`,`Scenario run — ${a.id}`)}j.value?.closeCardEditor(),z.open()}let U=we(),W=y(!1),G=y(!1),Rt=y(``),K=y(``),q=y(``),J=y([]),Y=o(()=>U.state.items.length+U.state.running.length);l(async()=>{U.init();try{let{trpc:e}=await ee(async()=>{let{trpc:e}=await import(`./trpc-Dt_8lN9U.js`);return{trpc:e}},__vite__mapDeps([0,1,2]));J.value=(await e.scenario.list.query()).map(e=>({id:e.id,name:e.name}))}catch{}}),ye(()=>U.destroy());function zt(e){Rt.value=e,K.value=``,q.value=``,G.value=!0}async function Bt(){M.value&&(await U.addColumn({boardId:M.value.id,columnId:Rt.value,runner:K.value||void 0,scenarioId:q.value||void 0}),G.value=!1)}async function Vt(e){if(!M.value)return;let t=U.getCardQueueItemId(M.value.id,e.id);t?await U.removeItem(t):await U.addCard({boardId:M.value.id,cardId:e.id})}function Ht(e){return N.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let X=y(!1),Z=y(!1),Q=y(``);async function Ut(e,t){if(!M.value||!Q.value.trim())return;let n=Q.value.trim(),r=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:M.value.id});if(Z.value=!1,Q.value=``,r){if(e===`claude-code`||e===`codex`){z.openWithPopulateContext(n);return}z.openPopulate(),await x(),R.send(n,()=>{})}}async function Wt(e,t,n){if(!M.value||!Q.value.trim())return;let r=Q.value.trim(),i=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:M.value.id});Z.value=!1,Q.value=``,i&&(R.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),z.open())}function Gt(){Q.value=``,X.value=!0}function $(){Q.value.trim()&&(X.value=!1,R.fetchProviders(),R.checkCliAvailability(),Z.value=!0)}async function Kt(e,t){await Ut(e===`keep`?void 0:e,t??void 0)}async function qt(e,t,n){await Wt(e,t,n)}return T(()=>R.streamingConvIds.size,()=>{A.refreshActiveBoard()}),(e,n)=>{let r=ue(`tooltip`);return M.value?(t(),c(`div`,Te,[w(_(xe),{ref_key:`boardRef`,ref:j,columns:N.value,name:M.value.name,"read-only":P.value,saving:_(A).saving.value,templates:pt.value,t:dt,"resolve-conversation-id":Dt,"current-user-id":_(it)?.id,members:ut.value,"column-subscriptions":M.value.columnSubscriptions??{},"avatar-url":lt,"upload-image":ot,"fetch-attachment":ct,"delete-attachment":st,"load-history":_(A).loadCardHistory,histories:_(A).cardHistories.value,"add-comment":_t,"edit-comment":_(A).updateComment,"remove-comment":_(A).deleteComment,"move-card":_(A).moveCard,onChange:vt,onBack:n[1]||=e=>_(S).push(`/kanban`),onOpenConversation:kt,onCardOpen:gt,onUpdateColumnSubscription:yt},{"header-actions":u(()=>[P.value?g(``,!0):(t(),ae(_(C),{key:0,label:_(v)(`kanban.board.aiPopulate`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,onClick:Gt},null,8,[`label`])),w(_(C),{label:_(v)(`kanban.board.queue.panelHeader`),icon:`pi pi-list`,severity:`secondary`,outlined:``,size:`small`,badge:Y.value>0?String(Y.value):void 0,"badge-severity":`warn`,onClick:n[0]||=e=>W.value=!W.value},null,8,[`label`,`badge`])]),banner:u(()=>[_(A).canWrite.value?g(``,!0):(t(),c(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:d(bt,[`prevent`])},[h(`span`,null,m(_(v)(`kanban.cloud.readOnlyNotice`)),1),h(`span`,Ee,m(_(v)(`kanban.cloud.upgradeCta`)),1)]))]),"column-actions":u(({column:e})=>[P.value?g(``,!0):p((t(),ae(_(C),{key:0,icon:`pi pi-list`,text:``,rounded:``,size:`small`,onClick:d(t=>zt(e.id),[`stop`])},null,8,[`onClick`])),[[r,_(v)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":u(({card:e})=>[P.value?g(``,!0):p((t(),c(`button`,{key:0,class:ge([`kb-card__queue-btn`,{"kb-card__queue-btn--active":M.value&&_(U).isCardInQueue(M.value.id,e.id)}]),onClick:d(t=>Vt(e),[`stop`])},[...n[15]||=[h(`i`,{class:`pi pi-list`},null,-1)]],10,De)),[[r,M.value&&_(U).isCardInQueue(M.value.id,e.id)?_(v)(`kanban.board.queue.tooltipInQueue`):_(v)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":u(({card:e})=>[Ot(e)===`streaming`?p((t(),c(`span`,Oe,null,512)),[[r,_(v)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):Ot(e)===`unread`?p((t(),c(`span`,ke,null,512)),[[r,_(v)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):g(``,!0)]),"card-editor-actions":u(({card:e,colId:t,draft:n})=>[w(_(C),{label:_(v)(`kanban.board.editor.launchAi`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,disabled:P.value,onClick:r=>jt({card:e,colId:t,draft:n})},null,8,[`label`,`disabled`,`onClick`]),w(_(C),{label:_(v)(`kanban.board.editor.sendToChat`),icon:`pi pi-comments`,severity:`secondary`,outlined:``,size:`small`,onClick:r=>Mt({card:e,colId:t,draft:n})},null,8,[`label`,`onClick`])]),_:1},8,[`columns`,`name`,`read-only`,`saving`,`templates`,`current-user-id`,`members`,`column-subscriptions`,`load-history`,`histories`,`edit-comment`,`remove-comment`,`move-card`]),w(_(b),{visible:B.value,header:_(v)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":n[2]||=e=>{e||(B.value=!1)}},{default:u(()=>[w(he,{compact:``,onSelectScenario:Ft,onSkip:It})]),_:1},8,[`visible`,`header`]),w(ne,{ref_key:`launchModalsRef`,ref:Ct,onConfirmScenarioStart:Lt},null,512),w(Ce,{ref_key:`sendToChatRef`,ref:wt},null,512),w(_(b),{visible:X.value,header:_(v)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},breakpoints:{"600px":`95vw`},"onUpdate:visible":n[5]||=e=>{e||(X.value=!1)}},{footer:u(()=>[h(`div`,Me,[w(_(C),{label:_(v)(`actions.cancel`),text:``,onClick:n[4]||=e=>X.value=!1},null,8,[`label`]),w(_(C),{label:_(v)(`kanban.board.populateDialog.generate`),icon:`pi pi-sparkles`,disabled:!Q.value.trim(),onClick:$},null,8,[`label`,`disabled`])])]),default:u(()=>[h(`div`,Ae,[h(`p`,je,m(_(v)(`kanban.board.populateDialog.hint`)),1),w(_(_e),{modelValue:Q.value,"onUpdate:modelValue":n[3]||=e=>Q.value=e,placeholder:_(v)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[a(d($,[`ctrl`]),[`enter`]),a(d($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),w(_(b),{visible:Z.value,header:_(v)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":n[6]||=e=>{e||(Z.value=!1)}},{default:u(()=>[w(he,{compact:``,onSelectScenario:qt,onSkip:Kt})]),_:1},8,[`visible`,`header`]),W.value?(t(),c(`div`,Ne,[h(`div`,Pe,[h(`span`,Fe,m(_(v)(`kanban.board.queue.panelHeader`)),1),w(_(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:n[7]||=e=>W.value=!1})]),h(`div`,Ie,[h(`span`,Le,m(_(v)(`kanban.board.queue.concurrency`)),1),h(`div`,Re,[w(_(C),{icon:`pi pi-minus`,text:``,rounded:``,size:`small`,disabled:_(U).state.maxConcurrent<=1,onClick:n[8]||=e=>_(U).setMaxConcurrent(_(U).state.maxConcurrent-1)},null,8,[`disabled`]),h(`span`,null,m(_(U).state.maxConcurrent),1),w(_(C),{icon:`pi pi-plus`,text:``,rounded:``,size:`small`,onClick:n[9]||=e=>_(U).setMaxConcurrent(_(U).state.maxConcurrent+1)})])]),_(U).state.running.length>0?(t(),c(`div`,ze,[h(`div`,Be,m(_(v)(`kanban.board.queue.runningSection`,{count:_(U).state.running.length})),1),(t(!0),c(i,null,s(_(U).state.running.filter(e=>e.boardId===M.value?.id),e=>(t(),c(`div`,{key:e.id,class:`kb-queue-item kb-queue-item--running`},[n[16]||=h(`i`,{class:`pi pi-spin pi-spinner`},null,-1),h(`span`,Ve,m(Ht(e.cardId)),1),w(_(C),{icon:`pi pi-stop`,text:``,rounded:``,size:`small`,severity:`danger`,onClick:t=>_(U).removeItem(e.id)},null,8,[`onClick`])]))),128))])):g(``,!0),_(U).state.items.length>0?(t(),c(`div`,He,[h(`div`,Ue,m(_(v)(`kanban.board.queue.waitingSection`,{count:_(U).state.items.length})),1),(t(!0),c(i,null,s(_(U).state.items.filter(e=>e.boardId===M.value?.id),e=>(t(),c(`div`,{key:e.id,class:`kb-queue-item`},[n[17]||=h(`i`,{class:`pi pi-clock`},null,-1),h(`span`,We,m(Ht(e.cardId)),1),w(_(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:t=>_(U).removeItem(e.id)},null,8,[`onClick`])]))),128))])):g(``,!0),Y.value===0?(t(),c(`div`,Ge,m(_(v)(`kanban.board.queue.empty`)),1)):g(``,!0),h(`div`,Ke,[w(_(C),{label:_(v)(`kanban.board.queue.stopAll`),icon:`pi pi-stop`,severity:`danger`,text:``,size:`small`,disabled:Y.value===0,onClick:n[10]||=e=>_(U).stopAll()},null,8,[`label`,`disabled`])])])):g(``,!0),w(_(b),{visible:G.value,header:_(v)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":n[14]||=e=>{e||(G.value=!1)}},{footer:u(()=>[h(`div`,nt,[w(_(C),{label:_(v)(`actions.cancel`),text:``,onClick:n[13]||=e=>G.value=!1},null,8,[`label`]),w(_(C),{label:_(v)(`kanban.board.queue.addColumnDialog.confirm`),icon:`pi pi-list`,onClick:Bt},null,8,[`label`])])]),default:u(()=>[h(`div`,qe,[h(`div`,Je,[h(`label`,Ye,m(_(v)(`kanban.board.queue.addColumnDialog.runner`)),1),p(h(`select`,{id:`kanban-queue-runner`,"onUpdate:modelValue":n[11]||=e=>K.value=e,class:`kb-queue-col-dialog__select`},[n[18]||=h(`option`,{value:``},`Auto`,-1),h(`option`,{value:`claude-code`,disabled:!_(xt)},` Claude Code`+m(_(xt)?``:` (non installé)`),9,Xe),h(`option`,{value:`codex`,disabled:!_(St)},` Codex`+m(_(St)?``:` (non installé)`),9,Ze)],512),[[E,K.value]])]),h(`div`,Qe,[h(`label`,$e,m(_(v)(`kanban.board.queue.addColumnDialog.scenario`)),1),p(h(`select`,{id:`kanban-queue-scenario`,"onUpdate:modelValue":n[12]||=e=>q.value=e,class:`kb-queue-col-dialog__select`},[h(`option`,et,m(_(v)(`kanban.board.queue.addColumnDialog.noScenario`)),1),(t(!0),c(i,null,s(J.value,e=>(t(),c(`option`,{key:e.id,value:e.id},m(e.name),9,tt))),128))],512),[[E,q.value]])])])]),_:1},8,[`visible`,`header`])])):_(A).loading.value?(t(),c(`div`,rt,[...n[19]||=[h(`i`,{class:`pi pi-spin pi-spinner`},null,-1)]])):g(``,!0)}}}),[[`__scopeId`,`data-v-1f9903f2`]]);export{D as default};
@@ -1 +1 @@
1
- import{Ei as e,En as t,Fn as n,Jr as r,Qr as i,Ui as a,Ur as o,Xi as s,Xr as c,Xt as l,Yr as u,Zr as d,_a as f,ai as p,b as m,ln as h,m as g,n as _,p as v,pn as y,ra as b,ri as x,y as S,zi as C}from"./index-CcDpHMIW.js";import"./cloud-session-B1oqwDJc.js";import"./src-wVYcxep_.js";import"./w3c-keyname-nn0G3QC2.js";import{n as w,t as T}from"./useCloudOrg-CBr3kqWH.js";var E={class:`kanban-list-host`},D={class:`topbar`},O={key:0},k={key:0,class:`connect-cta`},A={class:`connect-cta__title`},j={class:`connect-cta__desc`},M={key:1,class:`notice`},N={class:`upgrade-banner__cta`},P=h(p({__name:`KanbanListPage`,setup(p){let{t:h}=n(),P=t(),{orgId:F,orgSlug:I,organizations:L,cloudUser:R}=T();function z(e,t){return t?h(`kanban.list.${e}`,t):h(`kanban.list.${e}`)}let B=S(v,F,{streamUrl:g}),V=m(v,F);C(B.error,e=>{e&&console.error(`[kanban]`,e)}),C(V.error,e=>{e&&console.error(`[kanban:templates]`,e)});let H=r(()=>B.boards.value.map(e=>({id:e.id,name:e.name,description:e.description,archived:e.archived,columnCount:e.columnCount,cardCount:e.cardCount})));function U(){I.value&&window.open(`${_()}/app/${I.value}/settings/org/billing`,`_blank`,`noopener`)}async function W(e){let t=await B.createBoard(e.name,e.description);t&&await P.push(`/kanban/${t.id}?org=${F.value}`)}async function G(e){await B.updateBoardById(e.id,{name:e.name,description:e.description})}async function K(e){await B.updateBoardById(e.id,{archived:e.archived})}async function q(e){await B.deleteBoard(e)}let J=r(()=>V.templates.value.map(e=>({id:e.id,name:e.name,content:e.content})));return(t,n)=>(e(),i(`div`,E,[u(`div`,D,[f(R)?d(``,!0):(e(),i(`h1`,O,s(f(h)(`kanban.list.title`)),1)),f(R)&&f(L).length>1?(e(),c(f(l),{key:1,modelValue:f(F),"onUpdate:modelValue":n[0]||=e=>b(F)?F.value=e:null,options:f(L),optionLabel:`name`,optionValue:`id`,placeholder:f(h)(`kanban.cloud.selectOrg`),class:`org-select`},null,8,[`modelValue`,`options`,`placeholder`])):d(``,!0)]),f(R)?f(F)?(e(),c(f(w),{key:2,boards:H.value,"read-only":!f(B).canWrite.value,"boards-limit":f(B).access.value?.boardsLimit??null,t:z,onOpen:n[2]||=e=>f(P).push(`/kanban/${e}?org=${f(F)}`),onCreate:W,onUpdate:G,onArchive:K,onDelete:q,templates:J.value,onTemplateCreate:n[3]||=e=>f(V).createTemplate(e.name,e.content),onTemplateUpdate:n[4]||=e=>f(V).updateTemplate(e.id,{name:e.name,content:e.content}),onTemplateDelete:n[5]||=e=>f(V).deleteTemplate(e)},{banner:a(()=>[f(B).canWrite.value?d(``,!0):(e(),i(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:o(U,[`prevent`])},[u(`span`,null,s(f(h)(`kanban.cloud.readOnlyNotice`)),1),u(`span`,N,s(f(h)(`kanban.cloud.upgradeCta`)),1)]))]),_:1},8,[`boards`,`read-only`,`boards-limit`,`templates`])):(e(),i(`div`,M,s(f(h)(`kanban.cloud.pickOrg`)),1)):(e(),i(`div`,k,[n[6]||=u(`div`,{class:`connect-cta__badge`},[u(`i`,{class:`pi pi-th-large`})],-1),u(`h2`,A,s(f(h)(`kanban.cloud.notConnectedTitle`)),1),u(`p`,j,s(f(h)(`kanban.cloud.notConnectedDesc`)),1),x(f(y),{label:f(h)(`kanban.cloud.connectAction`),icon:`pi pi-cloud`,onClick:n[1]||=e=>f(P).push({name:`cloud-account`})},null,8,[`label`])]))]))}}),[[`__scopeId`,`data-v-50fc0ef8`]]);export{P as default};
1
+ import{Ei as e,En as t,Fn as n,Jr as r,Qr as i,Ui as a,Ur as o,Xi as s,Xr as c,Xt as l,Yr as u,Zr as d,_a as f,ai as p,b as m,ln as h,m as g,n as _,p as v,pn as y,ra as b,ri as x,y as S,zi as C}from"./index-Fqxj8mF_.js";import"./cloud-session-DoJkL3UE.js";import"./src-wGbZF3BQ.js";import"./w3c-keyname-nn0G3QC2.js";import{n as w,t as T}from"./useCloudOrg-3JUViFn6.js";var E={class:`kanban-list-host`},D={class:`topbar`},O={key:0},k={key:0,class:`connect-cta`},A={class:`connect-cta__title`},j={class:`connect-cta__desc`},M={key:1,class:`notice`},N={class:`upgrade-banner__cta`},P=h(p({__name:`KanbanListPage`,setup(p){let{t:h}=n(),P=t(),{orgId:F,orgSlug:I,organizations:L,cloudUser:R}=T();function z(e,t){return t?h(`kanban.list.${e}`,t):h(`kanban.list.${e}`)}let B=S(v,F,{streamUrl:g}),V=m(v,F);C(B.error,e=>{e&&console.error(`[kanban]`,e)}),C(V.error,e=>{e&&console.error(`[kanban:templates]`,e)});let H=r(()=>B.boards.value.map(e=>({id:e.id,name:e.name,description:e.description,archived:e.archived,columnCount:e.columnCount,cardCount:e.cardCount})));function U(){I.value&&window.open(`${_()}/app/${I.value}/settings/org/billing`,`_blank`,`noopener`)}async function W(e){let t=await B.createBoard(e.name,e.description);t&&await P.push(`/kanban/${t.id}?org=${F.value}`)}async function G(e){await B.updateBoardById(e.id,{name:e.name,description:e.description})}async function K(e){await B.updateBoardById(e.id,{archived:e.archived})}async function q(e){await B.deleteBoard(e)}let J=r(()=>V.templates.value.map(e=>({id:e.id,name:e.name,content:e.content})));return(t,n)=>(e(),i(`div`,E,[u(`div`,D,[f(R)?d(``,!0):(e(),i(`h1`,O,s(f(h)(`kanban.list.title`)),1)),f(R)&&f(L).length>1?(e(),c(f(l),{key:1,modelValue:f(F),"onUpdate:modelValue":n[0]||=e=>b(F)?F.value=e:null,options:f(L),optionLabel:`name`,optionValue:`id`,placeholder:f(h)(`kanban.cloud.selectOrg`),class:`org-select`},null,8,[`modelValue`,`options`,`placeholder`])):d(``,!0)]),f(R)?f(F)?(e(),c(f(w),{key:2,boards:H.value,"read-only":!f(B).canWrite.value,"boards-limit":f(B).access.value?.boardsLimit??null,t:z,onOpen:n[2]||=e=>f(P).push(`/kanban/${e}?org=${f(F)}`),onCreate:W,onUpdate:G,onArchive:K,onDelete:q,templates:J.value,onTemplateCreate:n[3]||=e=>f(V).createTemplate(e.name,e.content),onTemplateUpdate:n[4]||=e=>f(V).updateTemplate(e.id,{name:e.name,content:e.content}),onTemplateDelete:n[5]||=e=>f(V).deleteTemplate(e)},{banner:a(()=>[f(B).canWrite.value?d(``,!0):(e(),i(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:o(U,[`prevent`])},[u(`span`,null,s(f(h)(`kanban.cloud.readOnlyNotice`)),1),u(`span`,N,s(f(h)(`kanban.cloud.upgradeCta`)),1)]))]),_:1},8,[`boards`,`read-only`,`boards-limit`,`templates`])):(e(),i(`div`,M,s(f(h)(`kanban.cloud.pickOrg`)),1)):(e(),i(`div`,k,[n[6]||=u(`div`,{class:`connect-cta__badge`},[u(`i`,{class:`pi pi-th-large`})],-1),u(`h2`,A,s(f(h)(`kanban.cloud.notConnectedTitle`)),1),u(`p`,j,s(f(h)(`kanban.cloud.notConnectedDesc`)),1),x(f(y),{label:f(h)(`kanban.cloud.connectAction`),icon:`pi pi-cloud`,onClick:n[1]||=e=>f(P).push({name:`cloud-account`})},null,8,[`label`])]))]))}}),[[`__scopeId`,`data-v-50fc0ef8`]]);export{P as default};
@@ -1 +1 @@
1
- import{At as e,Ei as t,En as n,Fn as r,Gr as i,Oi as a,Qr as o,R as s,Si as c,Ui as l,Xi as u,Xr as d,Yr as f,Z as p,_a as m,ai as h,ca as g,ln as _,ni as v,pn as y,qi as b,ri as x}from"./index-CcDpHMIW.js";import{t as S}from"./card-DGaeJPst.js";import{t as C}from"./VersionBadge-Bcr43sQb.js";var w={class:`launch-page`,"data-testid":`page-content`},T={class:`launch-container`},E={class:`launch-branding`},D={class:`launch-subtitle`},O={class:`launch-heading`},k={key:0,class:`launch-loading`},A={class:`empty-message`},j={class:`project-list`},M={class:`project-description`},N={class:`project-service-count`},P=_(h({__name:`LaunchProjectPage`,setup(h){let _=n(),P=p(),F=e(),{t:I}=r(),L=g(null),R=g(!0);c(async()=>{await P.fetchAll(),R.value=!1;let e=P.projects;if(e.length===1){F.setActiveProject(e[0].id),_.replace(`/launch/services`);return}let t=F.getLastProjectId();t&&e.some(e=>e.id===t)&&(L.value=t)});function z(e){L.value=e}function B(){L.value&&(F.setActiveProject(L.value),_.push(`/launch/services`))}function V(){F.completeLaunch(),_.push(`/`)}return(e,n)=>(t(),o(`div`,w,[f(`div`,T,[f(`div`,E,[n[0]||=f(`h1`,{class:`launch-title`},`Runeya`,-1),f(`p`,D,u(m(I)(`launchProject.subtitle`)),1)]),f(`h2`,O,u(m(I)(`launchProject.selectProject`)),1),R.value?(t(),o(`div`,k,[x(m(s),{style:{width:`48px`,height:`48px`}})])):m(P).projects.length===0?(t(),o(i,{key:1},[f(`p`,A,u(m(I)(`launchProject.noProjects`)),1),x(m(y),{label:m(I)(`launchProject.goToDashboard`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:V},null,8,[`label`])],64)):(t(),o(i,{key:2},[f(`div`,j,[(t(!0),o(i,null,a(m(P).projects,e=>(t(),d(m(S),{key:e.id,class:b([`project-card`,{selected:L.value===e.id}]),onClick:t=>z(e.id)},{title:l(()=>[v(u(e.name),1)]),content:l(()=>[f(`p`,M,u(e.description||m(I)(`launchProject.noDescription`)),1),f(`span`,N,u(m(I)(`launchProject.serviceCount`,e.serviceIds.length)),1)]),_:2},1032,[`class`,`onClick`]))),128))]),x(m(y),{label:m(I)(`launchProject.continue`),icon:`pi pi-arrow-right`,"icon-pos":`right`,disabled:!L.value,class:`launch-action`,onClick:B},null,8,[`label`,`disabled`])],64))]),x(C)]))}}),[[`__scopeId`,`data-v-5f9ff9c5`]]);export{P as default};
1
+ import{At as e,Ei as t,En as n,Fn as r,Gr as i,Oi as a,Qr as o,R as s,Si as c,Ui as l,Xi as u,Xr as d,Yr as f,Z as p,_a as m,ai as h,ca as g,ln as _,ni as v,pn as y,qi as b,ri as x}from"./index-Fqxj8mF_.js";import{t as S}from"./card-DNDtiYy8.js";import{t as C}from"./VersionBadge-BmKDCsEs.js";var w={class:`launch-page`,"data-testid":`page-content`},T={class:`launch-container`},E={class:`launch-branding`},D={class:`launch-subtitle`},O={class:`launch-heading`},k={key:0,class:`launch-loading`},A={class:`empty-message`},j={class:`project-list`},M={class:`project-description`},N={class:`project-service-count`},P=_(h({__name:`LaunchProjectPage`,setup(h){let _=n(),P=p(),F=e(),{t:I}=r(),L=g(null),R=g(!0);c(async()=>{await P.fetchAll(),R.value=!1;let e=P.projects;if(e.length===1){F.setActiveProject(e[0].id),_.replace(`/launch/services`);return}let t=F.getLastProjectId();t&&e.some(e=>e.id===t)&&(L.value=t)});function z(e){L.value=e}function B(){L.value&&(F.setActiveProject(L.value),_.push(`/launch/services`))}function V(){F.completeLaunch(),_.push(`/`)}return(e,n)=>(t(),o(`div`,w,[f(`div`,T,[f(`div`,E,[n[0]||=f(`h1`,{class:`launch-title`},`Runeya`,-1),f(`p`,D,u(m(I)(`launchProject.subtitle`)),1)]),f(`h2`,O,u(m(I)(`launchProject.selectProject`)),1),R.value?(t(),o(`div`,k,[x(m(s),{style:{width:`48px`,height:`48px`}})])):m(P).projects.length===0?(t(),o(i,{key:1},[f(`p`,A,u(m(I)(`launchProject.noProjects`)),1),x(m(y),{label:m(I)(`launchProject.goToDashboard`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:V},null,8,[`label`])],64)):(t(),o(i,{key:2},[f(`div`,j,[(t(!0),o(i,null,a(m(P).projects,e=>(t(),d(m(S),{key:e.id,class:b([`project-card`,{selected:L.value===e.id}]),onClick:t=>z(e.id)},{title:l(()=>[v(u(e.name),1)]),content:l(()=>[f(`p`,M,u(e.description||m(I)(`launchProject.noDescription`)),1),f(`span`,N,u(m(I)(`launchProject.serviceCount`,e.serviceIds.length)),1)]),_:2},1032,[`class`,`onClick`]))),128))]),x(m(y),{label:m(I)(`launchProject.continue`),icon:`pi pi-arrow-right`,"icon-pos":`right`,disabled:!L.value,class:`launch-action`,onClick:B},null,8,[`label`,`disabled`])],64))]),x(C)]))}}),[[`__scopeId`,`data-v-5f9ff9c5`]]);export{P as default};
@@ -1 +1 @@
1
- import{$ as e,At as t,Ei as n,En as r,Fn as i,Gr as a,J as o,Jr as s,Oi as c,Q as ee,Qr as l,R as te,Si as ne,Ui as re,Xi as u,Xr as ie,Yr as d,Z as f,Zr as p,_a as m,ai as ae,an as oe,c as se,ca as h,in as g,jn as ce,ln as _,ni as le,pn as v,ri as y,wi as ue}from"./index-CcDpHMIW.js";import{t as de}from"./message-Bh-eAVAb.js";import{t as b}from"./checkbox-C5uNb3Rm.js";import{t as fe}from"./VersionBadge-Bcr43sQb.js";var pe={class:`launch-page`,"data-testid":`page-content`},me={class:`launch-container launch-container--wide`},he={class:`launch-branding`},ge={class:`launch-subtitle`},x={class:`launch-header`},S={class:`launch-heading`},C={key:0,class:`launch-project-name`},w={key:0,class:`launch-loading`},T={class:`empty-message`},E={class:`services-toolbar`},D={class:`service-list`},O=[`for`],k={class:`group-label`},A={class:`group-count`},j=[`for`],M={class:`service-info`},N={class:`service-name`},P={class:`service-command`},F={class:`launch-actions`},I=`__all__`,L=_(ae({__name:`LaunchServicesPage`,setup(ae){let _=r(),L=ce(),{t:R}=i(),z=t(),B=f(),V=ee(),H=o(),_e=se(),U=h(!0),W=h(!1),G=h([]),K=h(``),q=z.activeProjectId,J=s(()=>q?B.getById(q):null),Y=s(()=>J.value?V.getByIds(J.value.serviceIds):[]),ve=s(()=>{if(!K.value)return Y.value;let e=K.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||(t.commands??[]).some(t=>t.command.toLowerCase().includes(e)))}),ye=s(()=>{let e=new Map;for(let t of ve.value){let n=t.groups&&t.groups.length>0?t.groups:[I];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=J.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==I).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t})),i=e.get(I);return i&&i.length>0&&r.push({key:I,label:R(`launchServices.defaultGroup`),services:i}),r}),X=s(()=>Y.value.length===0?!1:Y.value.every(e=>G.value.includes(e.id)));function Z(e){return e.services.length>0&&e.services.every(e=>G.value.includes(e.id))}function be(e){let t=e.services.map(e=>e.id);if(Z(e))G.value=G.value.filter(e=>!t.includes(e));else{let e=new Set(G.value);for(let n of t)e.add(n);G.value=[...e]}}let Q=s(()=>H.connectedAgents.length>0);ne(async()=>{if(!q){_.replace(`/launch/project`);return}if(await Promise.all([B.fetchAll(),V.fetchAll(),H.fetchAll()]),H.subscribeStatus(),U.value=!1,J.value){let e=z.getSavedSelection(q),t=new Set(J.value.serviceIds);G.value=e.filter(e=>t.has(e))}}),ue(()=>{H.unsubscribeStatus()});function xe(){X.value?G.value=[]:G.value=Y.value.map(e=>e.id)}async function Se(){if(!q||G.value.length===0)return;z.saveSelection(q,G.value),z.completeLaunch(),_.push(`/`);let t=[];await Promise.all(G.value.map(async n=>{let r=V.services.find(e=>e.id===n);if(!r){t.push(`Service ${n} not found`);return}try{await _e.start(r.agentId,r.id)}catch(r){t.push(e(r)??`Failed to launch service ${n}`)}})),t.length>0&&L.add({severity:`warn`,summary:R(`launchServices.someServicesFailed`),detail:t.join(`; `),life:5e3})}function $(){q&&z.saveSelection(q,G.value),z.completeLaunch(),_.push(`/`)}function Ce(){_.push(`/launch/project`)}return(e,t)=>(n(),l(`div`,pe,[d(`div`,me,[d(`div`,he,[t[2]||=d(`h1`,{class:`launch-title`},`Runeya`,-1),d(`p`,ge,u(m(R)(`launchServices.subtitle`)),1)]),d(`div`,x,[y(m(v),{icon:`pi pi-arrow-left`,text:``,severity:`secondary`,onClick:Ce}),d(`div`,null,[d(`h2`,S,u(m(R)(`launchServices.selectServices`)),1),J.value?(n(),l(`p`,C,u(J.value.name),1)):p(``,!0)])]),U.value?(n(),l(`div`,w,[y(m(te),{style:{width:`48px`,height:`48px`}})])):Y.value.length===0?(n(),l(a,{key:1},[d(`p`,T,u(m(R)(`launchServices.noServices`)),1),y(m(v),{label:m(R)(`launchServices.skip`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])],64)):(n(),l(a,{key:2},[Q.value?p(``,!0):(n(),ie(m(de),{key:0,severity:`warn`,closable:!1,class:`launch-warning`},{default:re(()=>[le(u(m(R)(`launchServices.noAgents`)),1)]),_:1})),d(`div`,E,[y(m(oe),{modelValue:K.value,"onUpdate:modelValue":t[0]||=e=>K.value=e,placeholder:m(R)(`launchServices.filter`),class:`services-search`},null,8,[`modelValue`,`placeholder`]),y(m(v),{label:X.value?m(R)(`launchServices.deselectAll`):m(R)(`launchServices.selectAll`),text:``,size:`small`,onClick:xe},null,8,[`label`])]),d(`div`,D,[(n(!0),l(a,null,c(ye.value,e=>(n(),l(`div`,{key:e.key,class:`service-group`},[d(`label`,{class:`group-header`,for:`launch-group-`+e.key},[y(m(b),{inputId:`launch-group-`+e.key,"model-value":Z(e),binary:``,"onUpdate:modelValue":t=>be(e)},null,8,[`inputId`,`model-value`,`onUpdate:modelValue`]),d(`span`,k,u(e.label),1),d(`span`,A,u(e.services.length),1)],8,O),(n(!0),l(a,null,c(e.services,r=>(n(),l(`label`,{key:e.key+`:`+r.id,class:`service-item`,for:`launch-svc-`+e.key+`:`+r.id},[y(m(b),{inputId:`launch-svc-`+e.key+`:`+r.id,modelValue:G.value,"onUpdate:modelValue":t[1]||=e=>G.value=e,value:r.id},null,8,[`inputId`,`modelValue`,`value`]),d(`div`,M,[d(`span`,N,u(r.name),1),d(`span`,P,u((r.commands??[]).map(e=>e.label||e.command).join(`, `)||m(R)(`launchServices.noCommands`)),1)]),y(m(g),{value:r.runner,severity:`info`,class:`service-runner`},null,8,[`value`])],8,j))),128))]))),128))]),d(`div`,F,[y(m(v),{label:m(R)(`launchServices.launch`),icon:`pi pi-play`,loading:W.value,disabled:G.value.length===0||!Q.value,class:`launch-action`,onClick:Se},null,8,[`label`,`loading`,`disabled`]),y(m(v),{label:m(R)(`launchServices.skip`),severity:`secondary`,text:``,disabled:W.value,class:`launch-action`,onClick:$},null,8,[`label`,`disabled`])])],64))]),y(fe)]))}}),[[`__scopeId`,`data-v-d1886d78`]]);export{L as default};
1
+ import{$ as e,At as t,Ei as n,En as r,Fn as i,Gr as a,J as o,Jr as s,Oi as c,Q as ee,Qr as l,R as te,Si as ne,Ui as re,Xi as u,Xr as ie,Yr as d,Z as f,Zr as p,_a as m,ai as ae,an as oe,c as se,ca as h,in as g,jn as ce,ln as _,ni as le,pn as v,ri as y,wi as ue}from"./index-Fqxj8mF_.js";import{t as de}from"./message-C0TjBfm6.js";import{t as b}from"./checkbox-CRiJoc5E.js";import{t as fe}from"./VersionBadge-BmKDCsEs.js";var pe={class:`launch-page`,"data-testid":`page-content`},me={class:`launch-container launch-container--wide`},he={class:`launch-branding`},ge={class:`launch-subtitle`},x={class:`launch-header`},S={class:`launch-heading`},C={key:0,class:`launch-project-name`},w={key:0,class:`launch-loading`},T={class:`empty-message`},E={class:`services-toolbar`},D={class:`service-list`},O=[`for`],k={class:`group-label`},A={class:`group-count`},j=[`for`],M={class:`service-info`},N={class:`service-name`},P={class:`service-command`},F={class:`launch-actions`},I=`__all__`,L=_(ae({__name:`LaunchServicesPage`,setup(ae){let _=r(),L=ce(),{t:R}=i(),z=t(),B=f(),V=ee(),H=o(),_e=se(),U=h(!0),W=h(!1),G=h([]),K=h(``),q=z.activeProjectId,J=s(()=>q?B.getById(q):null),Y=s(()=>J.value?V.getByIds(J.value.serviceIds):[]),ve=s(()=>{if(!K.value)return Y.value;let e=K.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||(t.commands??[]).some(t=>t.command.toLowerCase().includes(e)))}),ye=s(()=>{let e=new Map;for(let t of ve.value){let n=t.groups&&t.groups.length>0?t.groups:[I];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=J.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==I).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t})),i=e.get(I);return i&&i.length>0&&r.push({key:I,label:R(`launchServices.defaultGroup`),services:i}),r}),X=s(()=>Y.value.length===0?!1:Y.value.every(e=>G.value.includes(e.id)));function Z(e){return e.services.length>0&&e.services.every(e=>G.value.includes(e.id))}function be(e){let t=e.services.map(e=>e.id);if(Z(e))G.value=G.value.filter(e=>!t.includes(e));else{let e=new Set(G.value);for(let n of t)e.add(n);G.value=[...e]}}let Q=s(()=>H.connectedAgents.length>0);ne(async()=>{if(!q){_.replace(`/launch/project`);return}if(await Promise.all([B.fetchAll(),V.fetchAll(),H.fetchAll()]),H.subscribeStatus(),U.value=!1,J.value){let e=z.getSavedSelection(q),t=new Set(J.value.serviceIds);G.value=e.filter(e=>t.has(e))}}),ue(()=>{H.unsubscribeStatus()});function xe(){X.value?G.value=[]:G.value=Y.value.map(e=>e.id)}async function Se(){if(!q||G.value.length===0)return;z.saveSelection(q,G.value),z.completeLaunch(),_.push(`/`);let t=[];await Promise.all(G.value.map(async n=>{let r=V.services.find(e=>e.id===n);if(!r){t.push(`Service ${n} not found`);return}try{await _e.start(r.agentId,r.id)}catch(r){t.push(e(r)??`Failed to launch service ${n}`)}})),t.length>0&&L.add({severity:`warn`,summary:R(`launchServices.someServicesFailed`),detail:t.join(`; `),life:5e3})}function $(){q&&z.saveSelection(q,G.value),z.completeLaunch(),_.push(`/`)}function Ce(){_.push(`/launch/project`)}return(e,t)=>(n(),l(`div`,pe,[d(`div`,me,[d(`div`,he,[t[2]||=d(`h1`,{class:`launch-title`},`Runeya`,-1),d(`p`,ge,u(m(R)(`launchServices.subtitle`)),1)]),d(`div`,x,[y(m(v),{icon:`pi pi-arrow-left`,text:``,severity:`secondary`,onClick:Ce}),d(`div`,null,[d(`h2`,S,u(m(R)(`launchServices.selectServices`)),1),J.value?(n(),l(`p`,C,u(J.value.name),1)):p(``,!0)])]),U.value?(n(),l(`div`,w,[y(m(te),{style:{width:`48px`,height:`48px`}})])):Y.value.length===0?(n(),l(a,{key:1},[d(`p`,T,u(m(R)(`launchServices.noServices`)),1),y(m(v),{label:m(R)(`launchServices.skip`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])],64)):(n(),l(a,{key:2},[Q.value?p(``,!0):(n(),ie(m(de),{key:0,severity:`warn`,closable:!1,class:`launch-warning`},{default:re(()=>[le(u(m(R)(`launchServices.noAgents`)),1)]),_:1})),d(`div`,E,[y(m(oe),{modelValue:K.value,"onUpdate:modelValue":t[0]||=e=>K.value=e,placeholder:m(R)(`launchServices.filter`),class:`services-search`},null,8,[`modelValue`,`placeholder`]),y(m(v),{label:X.value?m(R)(`launchServices.deselectAll`):m(R)(`launchServices.selectAll`),text:``,size:`small`,onClick:xe},null,8,[`label`])]),d(`div`,D,[(n(!0),l(a,null,c(ye.value,e=>(n(),l(`div`,{key:e.key,class:`service-group`},[d(`label`,{class:`group-header`,for:`launch-group-`+e.key},[y(m(b),{inputId:`launch-group-`+e.key,"model-value":Z(e),binary:``,"onUpdate:modelValue":t=>be(e)},null,8,[`inputId`,`model-value`,`onUpdate:modelValue`]),d(`span`,k,u(e.label),1),d(`span`,A,u(e.services.length),1)],8,O),(n(!0),l(a,null,c(e.services,r=>(n(),l(`label`,{key:e.key+`:`+r.id,class:`service-item`,for:`launch-svc-`+e.key+`:`+r.id},[y(m(b),{inputId:`launch-svc-`+e.key+`:`+r.id,modelValue:G.value,"onUpdate:modelValue":t[1]||=e=>G.value=e,value:r.id},null,8,[`inputId`,`modelValue`,`value`]),d(`div`,M,[d(`span`,N,u(r.name),1),d(`span`,P,u((r.commands??[]).map(e=>e.label||e.command).join(`, `)||m(R)(`launchServices.noCommands`)),1)]),y(m(g),{value:r.runner,severity:`info`,class:`service-runner`},null,8,[`value`])],8,j))),128))]))),128))]),d(`div`,F,[y(m(v),{label:m(R)(`launchServices.launch`),icon:`pi pi-play`,loading:W.value,disabled:G.value.length===0||!Q.value,class:`launch-action`,onClick:Se},null,8,[`label`,`loading`,`disabled`]),y(m(v),{label:m(R)(`launchServices.skip`),severity:`secondary`,text:``,disabled:W.value,class:`launch-action`,onClick:$},null,8,[`label`,`disabled`])])],64))]),y(fe)]))}}),[[`__scopeId`,`data-v-d1886d78`]]);export{L as default};
@@ -1,3 +1,3 @@
1
- import{Ai as e,Ei as t,Fn as n,Gr as r,Hr as i,Jr as a,Mi as o,Mr as s,Oi as c,Ot as l,Qr as u,R as d,S as f,Si as p,Ui as m,Ur as h,Vr as g,Wi as _,X as v,Xi as y,Xr as b,Yi as x,Yr as S,Yt as C,Zr as w,_a as T,ai as E,an as D,ca as O,di as k,dn as ee,ga as A,hi as j,ki as M,ln as N,mi as P,ni as F,nt as I,pn as L,q as te,qi as R,ri as z,tt as ne,wi as B,z as V,zi as H,zr as re}from"./index-CcDpHMIW.js";import{t as ie}from"./multiselect-CsE4Xly1.js";import{t as ae}from"./SendToChatDialog-DG6GidKi.js";var U=e=>Array.isArray(e),oe=e=>typeof e==`object`&&!!e&&!Array.isArray(e),se=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,ce=e=>{let t=Number(e);return Number.isNaN(t)?`"${e}":`:`${e}":`},le=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,W=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,ue=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),de={class:`json-view-item`},fe=[`aria-expanded`],G={class:`properties`},K={class:`value-key`},q=(e=>(e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e))(q||{}),pe=E({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(n,{emit:l}){let d=l,f=O(n.data.depth<n.maxDepth),p=()=>{f.value=!f.value},v=e=>{d(`selected`,{key:e.key,value:e.value,path:e.path})},C=e=>d(`selected`,e),T=a(()=>({"chevron-arrow":!0,opened:f.value})),E=a(()=>({"value-key":!0,"can-select":n.canSelect})),D=a(()=>{let{length:e,type:t}=n.data;return e===void 0?``:le(e,t===1)}),k=a(()=>JSON.stringify(n.data.value)),ee=e=>ce(e.key),A=e=>se(e);return(a,l)=>{let d=e(`JsonTreeViewItem`,!0);return t(),u(`div`,de,[n.data.type===0||n.data.type===1?(t(),u(r,{key:0},[S(`button`,{class:`data-key`,type:`button`,"aria-expanded":f.value,onClick:h(p,[`stop`])},[S(`div`,{class:R(T.value),"aria-hidden":`true`},null,2),S(`span`,null,y(n.data.key)+`:`,1),S(`span`,G,y(D.value),1)],8,fe),z(s,{name:`expand`},{default:m(()=>[_(S(`div`,null,[(t(!0),u(r,null,c(n.data.children,e=>(t(),b(d,{key:ee(e),data:e,"max-depth":n.maxDepth,"can-select":n.canSelect,onSelected:C},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[g,f.value]])]),_:1})],64)):w(``,!0),n.data.type===2?(t(),b(o(n.canSelect?`button`:`div`),{key:1,class:R(E.value),type:n.canSelect?`button`:null,tabindex:n.canSelect?0:null,onClick:l[0]||=e=>n.canSelect?v(n.data):null,onKeyup:[l[1]||=i(e=>n.canSelect?v(n.data):null,[`enter`]),l[2]||=i(h(e=>n.canSelect?v(n.data):null,[`prevent`]),[`space`])]},{default:m(()=>[S(`span`,K,y(n.data.key)+`:`,1),S(`span`,{style:x({color:A(n.data.value)})},y(k.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):w(``,!0)])}}}),me=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(E({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:n}){let r=n,i=e=>r(`selected`,e),o=(e,t,n,r,i)=>{let a=t.map((t,a)=>l(a.toString(),t,n+1,W(r,e,i,!0),!1));return{key:e,type:q.ARRAY,depth:n,path:r,length:a.length,children:a}},s=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>l(t,a,n+1,W(r,e,i),!0));return{key:e,type:q.OBJECT,depth:n,path:r,length:a.length,children:a}},c=(e,t,n,r,i)=>({key:e,type:q.VALUE,path:ue(r,e,i),depth:n,value:t}),l=(e,t,n,r,i)=>U(t)?o(e,t,n,r,i):oe(t)?s(e,t,n,r,i):c(e,t,n,r,i),u=(e,t)=>{try{let n=JSON.parse(e);return oe(n)||U(n)?l(t,n,0,``,!0):c(t,n,0,``,!0)}catch{return c(t,e,0,``,!0)}},d=a(()=>u(e.json,e.rootKey));return(n,r)=>(t(),b(pe,{class:R([`root-item`,{dark:e.colorScheme===`dark`}]),data:d.value,"max-depth":e.maxDepth,onSelected:i},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),he={class:`log-card__icon`},J=[`innerHTML`],ge={key:0,class:`log-card__badge`},_e=[`innerHTML`],ve={class:`log-card__clip`},ye=320,be=150,Y=N(E({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(e){let n=e,i=O(!n.defaultCollapsed),a=O(!!n.defaultCollapsed),o=O(!!n.defaultCollapsed);function c(){i.value?(i.value=!1,setTimeout(()=>{a.value=!0,o.value=!0},ye)):(a.value=!1,o.value=!1,setTimeout(()=>{i.value=!0},be))}return(n,l)=>(t(),u(`div`,{class:R([`log-card`,{"log-card--muted":e.muted,"log-card--open":!o.value}])},[S(`div`,{class:`log-card__header`,style:x({background:e.color}),onClick:c},[S(`span`,he,y(e.icon),1),S(`span`,{class:`log-card__title`,innerHTML:T(V).sanitize(e.title)},null,8,J),e.badge?(t(),u(`span`,ge,y(e.badge),1)):w(``,!0),n.$slots.default?(t(),u(`span`,{key:1,class:R([`log-card__chevron`,{"log-card__chevron--open":!o.value}])},[...l[0]||=[S(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[S(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):w(``,!0)],4),n.$slots.default?(t(),u(r,{key:0},[z(s,{name:`dots`},{default:m(()=>[a.value?(t(),u(`div`,{key:0,class:`log-card__preview`,style:x({borderLeftColor:e.color})},[e.lastLine?(t(),u(`span`,{key:0,class:`log-card__last-line`,innerHTML:T(V).sanitize(e.lastLine)},null,8,_e)):(t(),u(r,{key:1},[l[1]||=S(`span`,{class:`log-card__dot`},null,-1),l[2]||=S(`span`,{class:`log-card__dot`},null,-1),l[3]||=S(`span`,{class:`log-card__dot`},null,-1)],64))],4)):w(``,!0)]),_:1}),S(`div`,{class:R([`log-card__grid`,{"log-card__grid--open":i.value}])},[S(`div`,ve,[S(`div`,{class:`log-card__body`,style:x({borderLeftColor:e.color})},[M(n.$slots,`default`,{},void 0,!0)],4)])],2)],64)):w(``,!0)],2))}}),[[`__scopeId`,`data-v-9028b0a2`]]),X={key:5},xe=[`title`],Se=[`innerHTML`],Ce=N(E({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n;function o(){let e=window.getSelection();e&&e.toString().length>0||i(`click`,r.log)}let s={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},c=a(()=>s[r.log.level]??`#a3a3a3`),l=a(()=>r.log.logCard?.state===`self`?r.log.logCard.type:null);function d(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function f(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function p(e){return JSON.stringify(e.json)}return(n,i)=>(t(),u(`div`,null,[l.value===`command-start`?(t(),b(Y,{key:0,icon:`⌗`,title:e.log.logCard.header,color:`#3b82f6`,onClick:o},{default:m(()=>[F(y(e.log.message),1)]),_:1},8,[`title`])):l.value===`command-fail`?(t(),b(Y,{key:1,icon:`⌗`,title:e.log.logCard.header,color:`#ef4444`,badge:`✗ ${e.log.message}`,onClick:o},null,8,[`title`,`badge`])):l.value===`system-warn`?(t(),b(Y,{key:2,icon:`⚠`,title:e.log.logCard.header,color:`#ef4444`,badge:e.log.message,onClick:o},null,8,[`title`,`badge`])):l.value===`json`?(t(),b(Y,{key:3,icon:`</>`,title:e.log.logCard.header,color:c.value},{default:m(()=>[S(`div`,{onClick:i[0]||=h(()=>{},[`stop`])},[z(T(me),{json:p(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):e.log.json?(t(),b(Y,{key:4,icon:`</>`,title:`JSON`,color:c.value,onClick:o},{default:m(()=>[S(`div`,{onClick:i[1]||=h(()=>{},[`stop`])},[z(T(me),{json:p(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(t(),u(`div`,X,[S(`div`,{class:`log-line`,"data-testid":`log-message`,style:x({boxShadow:`inset 3px 0 0 0 ${c.value}`}),title:d(r.log)?f(r.log):void 0,onClick:o},[S(`span`,{class:`log-message`,innerHTML:T(V).sanitize(r.log.message)},null,8,Se)],12,xe)]))]))}}),[[`__scopeId`,`data-v-9d8a1243`]]),we={class:`log-filter`},Te={class:`log-filter__row`},Ee={class:`log-filter__level-option`},De={class:`log-filter__level-chip`},Oe={key:0,class:`log-filter__badges`},ke=[`title`],Ae={class:`log-filter__badge-type`},je={key:0,class:`log-filter__badge-flag`},Me={class:`log-filter__badge-pattern`},Ne=[`aria-label`,`onClick`],Pe={class:`log-filter__popover`},Fe={class:`log-filter__popover-title`},Ie={class:`log-filter__popover-row`},Le={class:`log-filter__popover-row log-filter__popover-row--between`},Re={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},ze={class:`log-filter__popover-input-wrap`},Be={key:0,class:`log-filter__popover-error`},Ve={class:`log-filter__popover-actions`},He=N(E({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:i}){let{t:a}=n(),o=e,s=i,l={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},d=I.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:l[e]??`#a3a3a3`})),f=O([...o.modelValue.levels]),p=O([...o.modelValue.filters]),h=!1;H(f,e=>{h||s(`update:modelValue`,{levels:e,filters:p.value})}),H(()=>o.modelValue,e=>{h=!0,f.value=[...e.levels],p.value=[...e.filters],j(()=>{h=!1})});let g=O(null),_=O(``),v=O(`include`),E=O(!1),k=O(``);function ee(e){g.value?.toggle(e)}function A(){g.value?.hide()}function M(e){try{return new RegExp(e),!0}catch(e){return k.value=e instanceof Error?e.message:`Invalid regex`,!1}}function N(){let e=_.value.trim();e&&(k.value=``,!(E.value&&!M(e))&&(p.value=[...p.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:v.value,isRegex:E.value}],_.value=``,s(`update:modelValue`,{levels:f.value,filters:p.value}),A()))}function P(e){e.key===`Enter`&&(e.preventDefault(),N()),e.key===`Escape`&&A()}function te(){k.value=``}function ne(e){p.value=p.value.filter(t=>t.id!==e),s(`update:modelValue`,{levels:f.value,filters:p.value})}function V(){f.value=[...I],p.value=[],s(`update:modelValue`,{levels:[...I],filters:[]})}return B(()=>{}),(e,n)=>(t(),u(`div`,we,[S(`div`,Te,[z(T(ie),{modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,options:T(d),"option-label":`label`,"option-value":`value`,placeholder:T(a)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,"max-selected-labels":3,display:`chip`},{option:m(({option:e})=>[S(`div`,Ee,[S(`span`,{class:`log-filter__level-dot`,style:x({backgroundColor:e.color})},null,4),F(` `+y(e.label),1)])]),chip:m(({value:e})=>[S(`div`,De,[S(`span`,{class:`log-filter__level-dot`,style:x({backgroundColor:l[e]})},null,4),F(` `+y(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),z(T(L),{icon:`pi pi-filter`,label:T(a)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:p.value.length>0?String(p.value.length):void 0,"badge-severity":`contrast`,onClick:ee},null,8,[`label`,`badge`]),p.value.length>0||f.value.length<T(I).length?(t(),b(T(L),{key:0,icon:`pi pi-filter-slash`,text:``,rounded:``,size:`small`,severity:`secondary`,"aria-label":T(a)(`logFilter.clearAll`),title:T(a)(`logFilter.clearAll`),onClick:V},null,8,[`aria-label`,`title`])):w(``,!0)]),p.value.length>0?(t(),u(`div`,Oe,[(t(!0),u(r,null,c(p.value,e=>(t(),u(`span`,{key:e.id,class:R([`log-filter__badge`,e.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${e.type} · ${e.isRegex?`regex`:`text`}: ${e.pattern}`},[S(`span`,Ae,y(e.type===`include`?`+`:`−`),1),e.isRegex?(t(),u(`span`,je,`.*`)):w(``,!0),S(`span`,Me,y(e.pattern),1),S(`button`,{class:`log-filter__badge-remove`,"aria-label":T(a)(`logFilter.removeFilter`),onClick:t=>ne(e.id)},[...n[5]||=[S(`i`,{class:`pi pi-times`,style:{"font-size":`0.6rem`}},null,-1)]],8,Ne)],10,ke))),128))])):w(``,!0),z(T(C),{ref_key:`popoverRef`,ref:g},{default:m(()=>[S(`div`,Pe,[S(`p`,Fe,y(T(a)(`logFilter.newFilter`)),1),S(`div`,Ie,[S(`button`,{class:R([`log-filter__type-btn`,v.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>v.value=`include`},[n[6]||=S(`i`,{class:`pi pi-plus`},null,-1),F(` `+y(T(a)(`logFilter.include`)),1)],2),S(`button`,{class:R([`log-filter__type-btn`,v.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>v.value=`exclude`},[n[7]||=S(`i`,{class:`pi pi-minus`},null,-1),F(` `+y(T(a)(`logFilter.exclude`)),1)],2)]),S(`div`,Le,[S(`label`,Re,y(T(a)(`logFilter.regex`)),1),S(`button`,{id:`logfilter-regex-toggle`,class:R([`log-filter__regex-toggle`,E.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{E.value=!E.value,k.value=``}},` .* `,2)]),S(`div`,ze,[z(T(D),{modelValue:_.value,"onUpdate:modelValue":n[4]||=e=>_.value=e,placeholder:E.value?T(a)(`logFilter.regexPlaceholder`):T(a)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!k.value,autofocus:``,onInput:te,onKeydown:P},null,8,[`modelValue`,`placeholder`,`invalid`]),k.value?(t(),u(`p`,Be,y(k.value),1)):w(``,!0)]),S(`div`,Ve,[z(T(L),{label:T(a)(`logFilter.add`),icon:`pi pi-check`,size:`small`,disabled:!_.value.trim(),onClick:N},null,8,[`label`,`disabled`]),z(T(L),{label:T(a)(`logFilter.cancel`),size:`small`,severity:`secondary`,text:``,onClick:A},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-13c2ece1`]]),Ue=null,{min:Z,max:Q,abs:We,floor:Ge}=Math,Ke=(e,t,n)=>Z(n,Q(t,e)),qe=e=>[...e].sort((e,t)=>e-t),Je=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},Ye=()=>{let e;return[new Promise(t=>{e=t}),e]},Xe=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Ze=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Qe=(e,t)=>{let n=e.t[t];return n===-1?e.o:n},$e=(e,t,n)=>{let r=e.t[t]===-1;return e.t[t]=n,e.i=Z(t,e.i),r},et=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,r=e.u[n];for(;n<t;)r+=Qe(e,n),e.u[++n]=r;return e.i=t,r},$=(e,t,n=0,r=e.l-1)=>{let i=n;for(;n<=r;){let a=Ge((n+r)/2);et(e,a)<=t?(i=a,n=a+1):r=a-1}return Ke(i,0,e.l-1)},tt=(e,t,n)=>{let r=t-e.l;return e.i=n?-1:Z(t-1,e.i),e.l=t,r>0?(Ze(e.u,r),Ze(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce((t,n)=>t-(n===-1?e.o:n),0))},nt=e=>e.documentElement,rt=e=>e.ownerDocument,it=e=>e.defaultView,at=Xe(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),ot=Xe(()=>`scrollBehavior`in nt(document).style),st=(e,t=40,n=0,r,i=!1)=>{let a=!!n,o=1,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=Ue,g=[0,a?Q(n-1,0):-1],_=0,v=!1,y=((e,t,n)=>({o:t,t:n?Ze(n.slice(0,Z(e,n.length)),Q(0,e-n.length)):Ze([],e),l:e,i:-1,u:Ze([],e+1)}))(e,r?r[1]:t,r&&r[0]),b=new Set,x=()=>l-c,S=()=>x()+d+u,C=(e,t)=>((e,t,n,r)=>{if(r=Z(r,e.l-1),et(e,r)<=t){let i=$(e,n,r);return[$(e,t,r,i),i]}{let i=$(e,t,void 0,r);return[i,$(e,n,i)]}})(y,e,t,g[0]),w=()=>et(y,y.l),T=(e,t)=>{let n=et(y,e)-d;return t?w()-n-E(e):n},E=e=>Qe(y,e),D=(e,t=-1)=>y.t[e]===t,O=e=>{e&&(at()&&p!==0||h&&m===1?d+=e:u+=e)};return{p:()=>{b.clear()},m:()=>o,h:()=>(e=>[e.t.slice(),e.o])(y),v:(e=200)=>{if(!v||a)return g;let t,n;if(f)[t,n]=g;else{let r=Q(0,S()),a=r+s;i||(e=Q(0,e),p!==1&&(r-=e),p!==2&&(a+=e)),[t,n]=g=C(Q(0,r),Q(0,a)),h&&(t=Z(t,h[0]),n=Q(n,h[1]))}return[Q(t,0),Z(n,y.l-1)]},S:e=>$(y,e-c),I:D,O:T,k:E,j:()=>y.l,N:()=>l,B:()=>p!==0,T:()=>s,q:()=>c,M:w,P:()=>(f=u,u=0,[f,m===2]),R:(e,t)=>{let n=[e,t];return b.add(n),()=>{b.delete(n)}},A:(e,t)=>{let n,r,g=0;switch(e){case 1:{if(t===l&&m===0)break;let e=f;f=0;let n=t-l,i=We(n);e&&i<We(e)+1||m!==0||(p=n<0?2:1),a&&=!1,l=t,g=4;let o=x();o>=-s&&o<=w()&&(g+=1,r=i>s);break}case 2:g=8,p!==0&&(n=!0,g+=1),p=0,m=0,h=Ue;break;case 3:{let e=t.filter(([e,t])=>!D(e,t));if(!e.length)break;O(e.reduce((e,[t,n])=>{let r;if(m===2)r=!0;else if(h&&m===1)r=t<h[0];else{let e=x(),n=T(t),i=E(t);r=p!==1&&m===0?n+i<e:n<e&&n+i<e+s}return r&&(e+=n-E(t)),e},0));for(let[t,n]of e){let e=E(t),r=$e(y,t,n);i&&(_+=r?n:n-e)}i&&s&&_>s&&(O(((e,t)=>{let n=0,r=[];e.t.forEach((e,i)=>{e!==-1&&(r.push(e),i<t&&n++)}),e.i=-1;let i=qe(r),a=i.length,o=a/2|0,s=a%2==0?(i[o-1]+i[o])/2:i[o],c=e.o;return((e.o=s)-c)*Q(t-n,0)})(y,$(y,S()))),i=!1),g=3,r=!0;break}case 4:s!==t&&(s||(v=r=!0),s=t,g=3);break;case 5:t[1]?(O(tt(y,t[0],!0)),m=2,g=1):(tt(y,t[0]),g=1);break;case 6:c=t;break;case 7:m=1;break;case 8:h=C(t,t+s),g=1}g&&(o=1+(2147483647&o),n&&d&&(u+=d,d=0),b.forEach(([e,t])=>{g&e&&t(r)}))}}},ct=setTimeout,lt=(e,t)=>t?-e:e,ut=(e,t,n,r,i,a)=>{let o=Date.now,s=0,c=!1,l=!1,u=!1,d=!1,f=(()=>{let t,n=()=>{t!=Ue&&clearTimeout(t)},r=()=>{n(),t=ct(()=>{t=Ue,(()=>{if(c||l)return c=!1,void f();u=!1,e.A(2)})()},150)};return r.C=n,r})(),p=()=>{s=o(),u&&(d=!0),a&&e.A(6,a()),e.A(1,r()),f()},m=t=>{if(c||!e.B()||t.ctrlKey)return;let r=o()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},h=()=>{l=!0,u=d=!1},g=()=>{l=!1,at()&&(u=!0)};return t.addEventListener(`scroll`,p),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,h,{passive:!0}),t.addEventListener(`touchend`,g,{passive:!0}),{H:()=>{t.removeEventListener(`scroll`,p),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,h),t.removeEventListener(`touchend`,g),f.C()},V:()=>{let[t,n]=e.P();t&&(i(t,n,d),d=!1,n&&e.T()>e.M()&&e.A(1,r()))}}},dt=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;r&&r();let o=()=>{let[t,n]=Ye();return r=()=>{n(!1)},e.T()&&ct(r,150),[t,e.R(2,()=>{n(!0)})]};if(a&&ot())e.A(8,i()),Je(async()=>{for(;;){let t=!0;for(let[n,r]=e.v();n<=r;n++)if(e.I(n)){t=!1;break}if(t)break;let[n,r]=o();try{if(!await n)return}finally{r()}}e.A(7),n(i(),a)});else for(;;){let[t,r]=o();try{if(e.A(7),n(i()),!await t)return}finally{r()}}},()=>{r&&r()}]},ft=e=>{let t;return{F(n){(t||=new(it(rt(n))).ResizeObserver(e)).observe(n)},J(e){t.unobserve(e)},H(){t&&t.disconnect()}}},pt=E({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:Boolean},Z:{type:String,required:!0},ee:Object},setup(e){let t=O(),n=a(()=>e.L.value&&e.W.O(e.D,e.K)),r=a(()=>e.L.value&&e.W.I(e.D));return H(()=>t.value&&e.D,(n,r,i)=>{i(e.Y(t.value,e.D))},{flush:`post`}),()=>{let{X:i,U:a,G:o,Z:s}=e,c=r.value,{style:l,...u}=e.ee??{},d={contain:`layout style`,position:c&&o?void 0:`absolute`,[a?`height`:`width`]:`100%`,[a?`top`:`left`]:`0px`,[a?`left`:`top`]:n.value+`px`,visibility:!c||o?void 0:`hidden`,...l};return a&&(d.display=`inline-flex`),z(s,P({ref:t,style:d},u),typeof(f=i)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!k(f)?i:{default:()=>[i],_:2},16,[`style`]);var f}}}),mt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ht=(e,t)=>e[0]===t[0]&&e[1]===t[1],gt=E({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=!!e.ssrCount,o=e.horizontal,s=O(),c=st(e.data.length,e.itemSize,e.ssrCount,e.cache,!e.itemSize),l=((e,t)=>{let n,r=t?`width`:`height`,i=new WeakMap,a=ft(t=>{let a=[];for(let{target:o,contentRect:s}of t)if(o.offsetParent)if(o===n)e.A(4,s[r]);else{let e=i.get(o);e!=Ue&&a.push([e,s[r]])}a.length&&e.A(3,a)});return{te(e){a.F(n=e)},re:(e,t)=>(i.set(e,t),a.F(e),()=>{i.delete(e),a.J(e)}),p:a.H}})(c,o),u=((e,t)=>{let n,r,i=Ye(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=dt(e,()=>i[0],(e,r)=>{e=lt(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e});return{oe(c,u){n=u,t&&(a=getComputedStyle(u).direction===`rtl`),r=ut(e,u,t,()=>lt(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,ct(()=>{e[s]=t})}u[o]=lt(e.N()+t,a),n&&l()}),i[1](!0)},p(){r&&r.H(),i[1](!1),i=Ye()},ne:()=>a,se(e){c(()=>e)},ie(t){t+=e.N(),c(()=>t)},le(t,{align:n,smooth:r,offset:i=0}={}){if(t=Ke(t,0,e.j()-1),n===`nearest`){let r=e.O(t),i=e.N();if(r<i)n=`start`;else{if(!(r+e.k(t)>i+e.T()))return;n=`end`}}c(()=>i+e.q()+e.O(t)+(n===`end`?e.k(t)-e.T():n===`center`?(e.k(t)-e.T())/2:0),r)},ce:()=>{r&&r.V()}}})(c,o),d=O(c.m());c.R(1,()=>{d.value=c.m()}),c.R(4,()=>{t(`scroll`,c.N())}),c.R(8,()=>{t(`scrollEnd`)});let f=a(t=>{d.value;let n=c.v(e.bufferSize);return t&&ht(t,n)?t:n}),m=a(()=>d.value&&c.B()),h=a(()=>d.value&&c.M());return p(()=>{i=!1;let t=s.value,n=requestAnimationFrame(()=>{let n=e=>{l.te(e),u.oe(t,e)};e.scrollRef?n(e.scrollRef):n(t.parentElement)});B(()=>{cancelAnimationFrame(n)})}),B(()=>{c.p(),l.p(),u.p()}),H(()=>e.data.length,t=>{c.A(5,[t,e.shift])}),H(()=>e.startMargin,e=>{c.A(6,e)},{immediate:!0}),H([d],()=>{u.ce()},{flush:`post`}),n({get cache(){return c.h()},get scrollOffset(){return c.N()},get scrollSize(){return(e=>Q(e.M(),e.T()))(c)},get viewportSize(){return c.T()},findItemIndex:c.S,getItemOffset:c.O,getItemSize:c.k,scrollToIndex:u.le,scrollTo:u.se,scrollBy:u.ie}),()=>{let t=e.as,n=e.item,a=h.value,p=u.ne(),g=[],_=t=>{let a=r.default({item:e.data[t],index:t});return z(pt,{key:mt(a,t),L:d,W:c,Y:l.re,D:t,X:a,U:o,K:p,G:i,Z:n,ee:e.itemProps?.({item:e.data[t],index:t})},null,8,[`L`,`W`,`Y`,`D`,`X`,`U`,`K`,`G`,`Z`,`ee`])};if(e.keepMounted){let t=new Set(e.keepMounted);for(let[e,n]=f.value;e<=n;e++)t.add(e);qe([...t]).forEach(e=>{g.push(_(e))})}else for(let[e,t]=f.value;e<=t;e++)g.push(_(e));return z(t,{ref:s,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:o?a+`px`:`100%`,height:o?`100%`:a+`px`,pointerEvents:m.value?`none`:void 0}},typeof(v=g)==`function`||Object.prototype.toString.call(v)===`[object Object]`&&!k(v)?g:{default:()=>[g],_:2},8,[`style`]);var v}}}),_t=E({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=e.horizontal,a=e=>{t(`scroll`,e)},o=()=>{t(`scrollEnd`)},s=O();return n({get cache(){return s.value.cache},get scrollOffset(){return s.value.scrollOffset},get scrollSize(){return s.value.scrollSize},get viewportSize(){return s.value.viewportSize},findItemIndex:(...e)=>s.value.findItemIndex(...e),getItemOffset:(...e)=>s.value.getItemOffset(...e),getItemSize:(...e)=>s.value.getItemSize(...e),scrollToIndex:(...e)=>s.value.scrollToIndex(...e),scrollTo:(...e)=>s.value.scrollTo(...e),scrollBy:(...e)=>s.value.scrollBy(...e)}),()=>{return z(`div`,{style:{display:i?`inline-block`:`block`,[i?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[z(gt,{ref:s,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:i,keepMounted:e.keepMounted,cache:e.cache,onScroll:a,onScrollEnd:o},(t=r,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!k(t)?r:{default:()=>[r],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}});Array,Number,Number,Boolean,Boolean,String,String,Object;var vt={class:`log-viewer`},yt={class:`log-viewer__toolbar`},bt={class:`log-viewer__toolbar-right`},xt={class:`log-viewer__count`},St=[`title`],Ct=[`value`],wt=[`title`],Tt=[`title`],Et={class:`log-viewer__pin-wrap`},Dt=[`title`],Ot={key:0,class:`log-viewer__loading`},kt={key:1,class:`log-viewer__scroll log-viewer__empty`},At={class:`log-viewer__simple-line`},jt={key:0,class:`log-viewer__time-separator`},Mt={class:`log-viewer__time-separator-label`},Nt=150,Pt=2e3,Ft=N(E({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(e,{emit:i}){let o=e,s=i,{t:h}=n(),g=[10,50,100,200,500,1e3,2e3,5e3,1e4],x=O(500),C=O({levels:[...I],filters:[]}),E=O(!0),D=O(null),k=O(!1),M=O(!1),N=O(0),P;function R(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function ne(e){if(P===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===P)return e.slice(t+1);return null}function B(e){let t=e.length>x.value?e.slice(e.length-x.value):e;P=t[t.length-1]?.id,G.value=R(t),fe(t),E.value&&j(()=>j(J))}function V(e){e.length!==0&&(P=e[e.length-1].id,G.value+=R(e),de(e,ce(),W.value),W.value.length>x.value?W.value=W.value.slice(W.value.length-x.value):A(W),E.value&&j(J))}function ie(){if(N.value===0)return;N.value=0;let e=o.logs,t=ne(e);t===null?B(e):V(t)}H(()=>o.logs,e=>{if(e.length===0){P=void 0,N.value=0,G.value=0,fe([]);return}if(!E.value){let t=ne(e);N.value=t===null?e.length:t.length;return}if(P===void 0){B(e);return}let t=ne(e);t===null?B(e):V(t)},{deep:!1}),p(()=>{o.logs.length>0&&B(o.logs)});let U=new WeakMap;function oe(e){if(U.has(e))return U.get(e);try{let t=new RegExp(e.pattern,`i`);return U.set(e,t),t}catch{return U.set(e,null),null}}function se(e,t){if(e.isRegex){let n=oe(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function ce(){return{levelSet:new Set(C.value.levels),filterAll:C.value.levels.length>=I.length,includes:C.value.filters.filter(e=>e.type===`include`),excludes:C.value.filters.filter(e=>e.type===`exclude`),hidden:k.value}}function le(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>se(t,e.message))||t.excludes.some(t=>se(t,e.message)))}let W=O([]),ue=new Map;function de(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){le(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};ue.set(e.id,t),n.push(t);continue}if(e.state===`close`){ue.delete(e.id);continue}let i=ue.get(e.id);i&&le(r,t)&&i.body.push(r);continue}le(r,t)&&n.push({...r,_type:`log`})}}function fe(e){ue=new Map;let t=ce(),n=[];de(e,t,n),W.value=n}H([C,k,x],()=>{B(o.logs)});let G=O(0),K=O(null),q=O(null);H(()=>o.logs,e=>{if(e.length===0){K.value=null,q.value=null;return}let t=Date.now();K.value===null&&(K.value=t),q.value=t});let pe=a(()=>{if(K.value===null||q.value===null)return null;let e=q.value-K.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),me=0,he=0;function J(){!D.value||W.value.length===0||(me=Date.now()+Nt,D.value.scrollToIndex(W.value.length-1,{align:`end`}))}function ge(e){let t=e<he;if(!t&&Date.now()<me){he=e;return}if(he=e,!D.value)return;let n=D.value.scrollSize-e-D.value.viewportSize;E.value?t&&n>1&&(E.value=!1):n<=1&&(E.value=!0,ie(),j(J))}function _e(){E.value=!E.value,E.value&&(ie(),j(J))}p(()=>{E.value&&j(J)});function ve(e){C.value=e}function ye(e){s(`log-click`,e)}let be=O(null),X=O(!1),xe=v(),{openWithContext:Se}=l(),we=``;function Te(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Ee(){return W.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
1
+ import{Ai as e,Ei as t,Fn as n,Gr as r,Hr as i,Jr as a,Mi as o,Mr as s,Oi as c,Ot as l,Qr as u,R as d,S as f,Si as p,Ui as m,Ur as h,Vr as g,Wi as _,X as v,Xi as y,Xr as b,Yi as x,Yr as S,Yt as C,Zr as w,_a as T,ai as E,an as D,ca as O,di as k,dn as ee,ga as A,hi as j,ki as M,ln as N,mi as P,ni as F,nt as I,pn as L,q as te,qi as R,ri as z,tt as ne,wi as B,z as V,zi as H,zr as re}from"./index-Fqxj8mF_.js";import{t as ie}from"./multiselect-IjD4mvG7.js";import{t as ae}from"./SendToChatDialog-C-GU6Dbz.js";var U=e=>Array.isArray(e),oe=e=>typeof e==`object`&&!!e&&!Array.isArray(e),se=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,ce=e=>{let t=Number(e);return Number.isNaN(t)?`"${e}":`:`${e}":`},le=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,W=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,ue=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),de={class:`json-view-item`},fe=[`aria-expanded`],G={class:`properties`},K={class:`value-key`},q=(e=>(e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e))(q||{}),pe=E({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(n,{emit:l}){let d=l,f=O(n.data.depth<n.maxDepth),p=()=>{f.value=!f.value},v=e=>{d(`selected`,{key:e.key,value:e.value,path:e.path})},C=e=>d(`selected`,e),T=a(()=>({"chevron-arrow":!0,opened:f.value})),E=a(()=>({"value-key":!0,"can-select":n.canSelect})),D=a(()=>{let{length:e,type:t}=n.data;return e===void 0?``:le(e,t===1)}),k=a(()=>JSON.stringify(n.data.value)),ee=e=>ce(e.key),A=e=>se(e);return(a,l)=>{let d=e(`JsonTreeViewItem`,!0);return t(),u(`div`,de,[n.data.type===0||n.data.type===1?(t(),u(r,{key:0},[S(`button`,{class:`data-key`,type:`button`,"aria-expanded":f.value,onClick:h(p,[`stop`])},[S(`div`,{class:R(T.value),"aria-hidden":`true`},null,2),S(`span`,null,y(n.data.key)+`:`,1),S(`span`,G,y(D.value),1)],8,fe),z(s,{name:`expand`},{default:m(()=>[_(S(`div`,null,[(t(!0),u(r,null,c(n.data.children,e=>(t(),b(d,{key:ee(e),data:e,"max-depth":n.maxDepth,"can-select":n.canSelect,onSelected:C},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[g,f.value]])]),_:1})],64)):w(``,!0),n.data.type===2?(t(),b(o(n.canSelect?`button`:`div`),{key:1,class:R(E.value),type:n.canSelect?`button`:null,tabindex:n.canSelect?0:null,onClick:l[0]||=e=>n.canSelect?v(n.data):null,onKeyup:[l[1]||=i(e=>n.canSelect?v(n.data):null,[`enter`]),l[2]||=i(h(e=>n.canSelect?v(n.data):null,[`prevent`]),[`space`])]},{default:m(()=>[S(`span`,K,y(n.data.key)+`:`,1),S(`span`,{style:x({color:A(n.data.value)})},y(k.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):w(``,!0)])}}}),me=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(E({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:n}){let r=n,i=e=>r(`selected`,e),o=(e,t,n,r,i)=>{let a=t.map((t,a)=>l(a.toString(),t,n+1,W(r,e,i,!0),!1));return{key:e,type:q.ARRAY,depth:n,path:r,length:a.length,children:a}},s=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>l(t,a,n+1,W(r,e,i),!0));return{key:e,type:q.OBJECT,depth:n,path:r,length:a.length,children:a}},c=(e,t,n,r,i)=>({key:e,type:q.VALUE,path:ue(r,e,i),depth:n,value:t}),l=(e,t,n,r,i)=>U(t)?o(e,t,n,r,i):oe(t)?s(e,t,n,r,i):c(e,t,n,r,i),u=(e,t)=>{try{let n=JSON.parse(e);return oe(n)||U(n)?l(t,n,0,``,!0):c(t,n,0,``,!0)}catch{return c(t,e,0,``,!0)}},d=a(()=>u(e.json,e.rootKey));return(n,r)=>(t(),b(pe,{class:R([`root-item`,{dark:e.colorScheme===`dark`}]),data:d.value,"max-depth":e.maxDepth,onSelected:i},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),he={class:`log-card__icon`},J=[`innerHTML`],ge={key:0,class:`log-card__badge`},_e=[`innerHTML`],ve={class:`log-card__clip`},ye=320,be=150,Y=N(E({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(e){let n=e,i=O(!n.defaultCollapsed),a=O(!!n.defaultCollapsed),o=O(!!n.defaultCollapsed);function c(){i.value?(i.value=!1,setTimeout(()=>{a.value=!0,o.value=!0},ye)):(a.value=!1,o.value=!1,setTimeout(()=>{i.value=!0},be))}return(n,l)=>(t(),u(`div`,{class:R([`log-card`,{"log-card--muted":e.muted,"log-card--open":!o.value}])},[S(`div`,{class:`log-card__header`,style:x({background:e.color}),onClick:c},[S(`span`,he,y(e.icon),1),S(`span`,{class:`log-card__title`,innerHTML:T(V).sanitize(e.title)},null,8,J),e.badge?(t(),u(`span`,ge,y(e.badge),1)):w(``,!0),n.$slots.default?(t(),u(`span`,{key:1,class:R([`log-card__chevron`,{"log-card__chevron--open":!o.value}])},[...l[0]||=[S(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[S(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):w(``,!0)],4),n.$slots.default?(t(),u(r,{key:0},[z(s,{name:`dots`},{default:m(()=>[a.value?(t(),u(`div`,{key:0,class:`log-card__preview`,style:x({borderLeftColor:e.color})},[e.lastLine?(t(),u(`span`,{key:0,class:`log-card__last-line`,innerHTML:T(V).sanitize(e.lastLine)},null,8,_e)):(t(),u(r,{key:1},[l[1]||=S(`span`,{class:`log-card__dot`},null,-1),l[2]||=S(`span`,{class:`log-card__dot`},null,-1),l[3]||=S(`span`,{class:`log-card__dot`},null,-1)],64))],4)):w(``,!0)]),_:1}),S(`div`,{class:R([`log-card__grid`,{"log-card__grid--open":i.value}])},[S(`div`,ve,[S(`div`,{class:`log-card__body`,style:x({borderLeftColor:e.color})},[M(n.$slots,`default`,{},void 0,!0)],4)])],2)],64)):w(``,!0)],2))}}),[[`__scopeId`,`data-v-9028b0a2`]]),X={key:5},xe=[`title`],Se=[`innerHTML`],Ce=N(E({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n;function o(){let e=window.getSelection();e&&e.toString().length>0||i(`click`,r.log)}let s={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},c=a(()=>s[r.log.level]??`#a3a3a3`),l=a(()=>r.log.logCard?.state===`self`?r.log.logCard.type:null);function d(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function f(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function p(e){return JSON.stringify(e.json)}return(n,i)=>(t(),u(`div`,null,[l.value===`command-start`?(t(),b(Y,{key:0,icon:`⌗`,title:e.log.logCard.header,color:`#3b82f6`,onClick:o},{default:m(()=>[F(y(e.log.message),1)]),_:1},8,[`title`])):l.value===`command-fail`?(t(),b(Y,{key:1,icon:`⌗`,title:e.log.logCard.header,color:`#ef4444`,badge:`✗ ${e.log.message}`,onClick:o},null,8,[`title`,`badge`])):l.value===`system-warn`?(t(),b(Y,{key:2,icon:`⚠`,title:e.log.logCard.header,color:`#ef4444`,badge:e.log.message,onClick:o},null,8,[`title`,`badge`])):l.value===`json`?(t(),b(Y,{key:3,icon:`</>`,title:e.log.logCard.header,color:c.value},{default:m(()=>[S(`div`,{onClick:i[0]||=h(()=>{},[`stop`])},[z(T(me),{json:p(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):e.log.json?(t(),b(Y,{key:4,icon:`</>`,title:`JSON`,color:c.value,onClick:o},{default:m(()=>[S(`div`,{onClick:i[1]||=h(()=>{},[`stop`])},[z(T(me),{json:p(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(t(),u(`div`,X,[S(`div`,{class:`log-line`,"data-testid":`log-message`,style:x({boxShadow:`inset 3px 0 0 0 ${c.value}`}),title:d(r.log)?f(r.log):void 0,onClick:o},[S(`span`,{class:`log-message`,innerHTML:T(V).sanitize(r.log.message)},null,8,Se)],12,xe)]))]))}}),[[`__scopeId`,`data-v-9d8a1243`]]),we={class:`log-filter`},Te={class:`log-filter__row`},Ee={class:`log-filter__level-option`},De={class:`log-filter__level-chip`},Oe={key:0,class:`log-filter__badges`},ke=[`title`],Ae={class:`log-filter__badge-type`},je={key:0,class:`log-filter__badge-flag`},Me={class:`log-filter__badge-pattern`},Ne=[`aria-label`,`onClick`],Pe={class:`log-filter__popover`},Fe={class:`log-filter__popover-title`},Ie={class:`log-filter__popover-row`},Le={class:`log-filter__popover-row log-filter__popover-row--between`},Re={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},ze={class:`log-filter__popover-input-wrap`},Be={key:0,class:`log-filter__popover-error`},Ve={class:`log-filter__popover-actions`},He=N(E({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:i}){let{t:a}=n(),o=e,s=i,l={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},d=I.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:l[e]??`#a3a3a3`})),f=O([...o.modelValue.levels]),p=O([...o.modelValue.filters]),h=!1;H(f,e=>{h||s(`update:modelValue`,{levels:e,filters:p.value})}),H(()=>o.modelValue,e=>{h=!0,f.value=[...e.levels],p.value=[...e.filters],j(()=>{h=!1})});let g=O(null),_=O(``),v=O(`include`),E=O(!1),k=O(``);function ee(e){g.value?.toggle(e)}function A(){g.value?.hide()}function M(e){try{return new RegExp(e),!0}catch(e){return k.value=e instanceof Error?e.message:`Invalid regex`,!1}}function N(){let e=_.value.trim();e&&(k.value=``,!(E.value&&!M(e))&&(p.value=[...p.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:v.value,isRegex:E.value}],_.value=``,s(`update:modelValue`,{levels:f.value,filters:p.value}),A()))}function P(e){e.key===`Enter`&&(e.preventDefault(),N()),e.key===`Escape`&&A()}function te(){k.value=``}function ne(e){p.value=p.value.filter(t=>t.id!==e),s(`update:modelValue`,{levels:f.value,filters:p.value})}function V(){f.value=[...I],p.value=[],s(`update:modelValue`,{levels:[...I],filters:[]})}return B(()=>{}),(e,n)=>(t(),u(`div`,we,[S(`div`,Te,[z(T(ie),{modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,options:T(d),"option-label":`label`,"option-value":`value`,placeholder:T(a)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,"max-selected-labels":3,display:`chip`},{option:m(({option:e})=>[S(`div`,Ee,[S(`span`,{class:`log-filter__level-dot`,style:x({backgroundColor:e.color})},null,4),F(` `+y(e.label),1)])]),chip:m(({value:e})=>[S(`div`,De,[S(`span`,{class:`log-filter__level-dot`,style:x({backgroundColor:l[e]})},null,4),F(` `+y(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),z(T(L),{icon:`pi pi-filter`,label:T(a)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:p.value.length>0?String(p.value.length):void 0,"badge-severity":`contrast`,onClick:ee},null,8,[`label`,`badge`]),p.value.length>0||f.value.length<T(I).length?(t(),b(T(L),{key:0,icon:`pi pi-filter-slash`,text:``,rounded:``,size:`small`,severity:`secondary`,"aria-label":T(a)(`logFilter.clearAll`),title:T(a)(`logFilter.clearAll`),onClick:V},null,8,[`aria-label`,`title`])):w(``,!0)]),p.value.length>0?(t(),u(`div`,Oe,[(t(!0),u(r,null,c(p.value,e=>(t(),u(`span`,{key:e.id,class:R([`log-filter__badge`,e.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${e.type} · ${e.isRegex?`regex`:`text`}: ${e.pattern}`},[S(`span`,Ae,y(e.type===`include`?`+`:`−`),1),e.isRegex?(t(),u(`span`,je,`.*`)):w(``,!0),S(`span`,Me,y(e.pattern),1),S(`button`,{class:`log-filter__badge-remove`,"aria-label":T(a)(`logFilter.removeFilter`),onClick:t=>ne(e.id)},[...n[5]||=[S(`i`,{class:`pi pi-times`,style:{"font-size":`0.6rem`}},null,-1)]],8,Ne)],10,ke))),128))])):w(``,!0),z(T(C),{ref_key:`popoverRef`,ref:g},{default:m(()=>[S(`div`,Pe,[S(`p`,Fe,y(T(a)(`logFilter.newFilter`)),1),S(`div`,Ie,[S(`button`,{class:R([`log-filter__type-btn`,v.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>v.value=`include`},[n[6]||=S(`i`,{class:`pi pi-plus`},null,-1),F(` `+y(T(a)(`logFilter.include`)),1)],2),S(`button`,{class:R([`log-filter__type-btn`,v.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>v.value=`exclude`},[n[7]||=S(`i`,{class:`pi pi-minus`},null,-1),F(` `+y(T(a)(`logFilter.exclude`)),1)],2)]),S(`div`,Le,[S(`label`,Re,y(T(a)(`logFilter.regex`)),1),S(`button`,{id:`logfilter-regex-toggle`,class:R([`log-filter__regex-toggle`,E.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{E.value=!E.value,k.value=``}},` .* `,2)]),S(`div`,ze,[z(T(D),{modelValue:_.value,"onUpdate:modelValue":n[4]||=e=>_.value=e,placeholder:E.value?T(a)(`logFilter.regexPlaceholder`):T(a)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!k.value,autofocus:``,onInput:te,onKeydown:P},null,8,[`modelValue`,`placeholder`,`invalid`]),k.value?(t(),u(`p`,Be,y(k.value),1)):w(``,!0)]),S(`div`,Ve,[z(T(L),{label:T(a)(`logFilter.add`),icon:`pi pi-check`,size:`small`,disabled:!_.value.trim(),onClick:N},null,8,[`label`,`disabled`]),z(T(L),{label:T(a)(`logFilter.cancel`),size:`small`,severity:`secondary`,text:``,onClick:A},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-13c2ece1`]]),Ue=null,{min:Z,max:Q,abs:We,floor:Ge}=Math,Ke=(e,t,n)=>Z(n,Q(t,e)),qe=e=>[...e].sort((e,t)=>e-t),Je=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},Ye=()=>{let e;return[new Promise(t=>{e=t}),e]},Xe=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Ze=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Qe=(e,t)=>{let n=e.t[t];return n===-1?e.o:n},$e=(e,t,n)=>{let r=e.t[t]===-1;return e.t[t]=n,e.i=Z(t,e.i),r},et=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,r=e.u[n];for(;n<t;)r+=Qe(e,n),e.u[++n]=r;return e.i=t,r},$=(e,t,n=0,r=e.l-1)=>{let i=n;for(;n<=r;){let a=Ge((n+r)/2);et(e,a)<=t?(i=a,n=a+1):r=a-1}return Ke(i,0,e.l-1)},tt=(e,t,n)=>{let r=t-e.l;return e.i=n?-1:Z(t-1,e.i),e.l=t,r>0?(Ze(e.u,r),Ze(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce((t,n)=>t-(n===-1?e.o:n),0))},nt=e=>e.documentElement,rt=e=>e.ownerDocument,it=e=>e.defaultView,at=Xe(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),ot=Xe(()=>`scrollBehavior`in nt(document).style),st=(e,t=40,n=0,r,i=!1)=>{let a=!!n,o=1,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=Ue,g=[0,a?Q(n-1,0):-1],_=0,v=!1,y=((e,t,n)=>({o:t,t:n?Ze(n.slice(0,Z(e,n.length)),Q(0,e-n.length)):Ze([],e),l:e,i:-1,u:Ze([],e+1)}))(e,r?r[1]:t,r&&r[0]),b=new Set,x=()=>l-c,S=()=>x()+d+u,C=(e,t)=>((e,t,n,r)=>{if(r=Z(r,e.l-1),et(e,r)<=t){let i=$(e,n,r);return[$(e,t,r,i),i]}{let i=$(e,t,void 0,r);return[i,$(e,n,i)]}})(y,e,t,g[0]),w=()=>et(y,y.l),T=(e,t)=>{let n=et(y,e)-d;return t?w()-n-E(e):n},E=e=>Qe(y,e),D=(e,t=-1)=>y.t[e]===t,O=e=>{e&&(at()&&p!==0||h&&m===1?d+=e:u+=e)};return{p:()=>{b.clear()},m:()=>o,h:()=>(e=>[e.t.slice(),e.o])(y),v:(e=200)=>{if(!v||a)return g;let t,n;if(f)[t,n]=g;else{let r=Q(0,S()),a=r+s;i||(e=Q(0,e),p!==1&&(r-=e),p!==2&&(a+=e)),[t,n]=g=C(Q(0,r),Q(0,a)),h&&(t=Z(t,h[0]),n=Q(n,h[1]))}return[Q(t,0),Z(n,y.l-1)]},S:e=>$(y,e-c),I:D,O:T,k:E,j:()=>y.l,N:()=>l,B:()=>p!==0,T:()=>s,q:()=>c,M:w,P:()=>(f=u,u=0,[f,m===2]),R:(e,t)=>{let n=[e,t];return b.add(n),()=>{b.delete(n)}},A:(e,t)=>{let n,r,g=0;switch(e){case 1:{if(t===l&&m===0)break;let e=f;f=0;let n=t-l,i=We(n);e&&i<We(e)+1||m!==0||(p=n<0?2:1),a&&=!1,l=t,g=4;let o=x();o>=-s&&o<=w()&&(g+=1,r=i>s);break}case 2:g=8,p!==0&&(n=!0,g+=1),p=0,m=0,h=Ue;break;case 3:{let e=t.filter(([e,t])=>!D(e,t));if(!e.length)break;O(e.reduce((e,[t,n])=>{let r;if(m===2)r=!0;else if(h&&m===1)r=t<h[0];else{let e=x(),n=T(t),i=E(t);r=p!==1&&m===0?n+i<e:n<e&&n+i<e+s}return r&&(e+=n-E(t)),e},0));for(let[t,n]of e){let e=E(t),r=$e(y,t,n);i&&(_+=r?n:n-e)}i&&s&&_>s&&(O(((e,t)=>{let n=0,r=[];e.t.forEach((e,i)=>{e!==-1&&(r.push(e),i<t&&n++)}),e.i=-1;let i=qe(r),a=i.length,o=a/2|0,s=a%2==0?(i[o-1]+i[o])/2:i[o],c=e.o;return((e.o=s)-c)*Q(t-n,0)})(y,$(y,S()))),i=!1),g=3,r=!0;break}case 4:s!==t&&(s||(v=r=!0),s=t,g=3);break;case 5:t[1]?(O(tt(y,t[0],!0)),m=2,g=1):(tt(y,t[0]),g=1);break;case 6:c=t;break;case 7:m=1;break;case 8:h=C(t,t+s),g=1}g&&(o=1+(2147483647&o),n&&d&&(u+=d,d=0),b.forEach(([e,t])=>{g&e&&t(r)}))}}},ct=setTimeout,lt=(e,t)=>t?-e:e,ut=(e,t,n,r,i,a)=>{let o=Date.now,s=0,c=!1,l=!1,u=!1,d=!1,f=(()=>{let t,n=()=>{t!=Ue&&clearTimeout(t)},r=()=>{n(),t=ct(()=>{t=Ue,(()=>{if(c||l)return c=!1,void f();u=!1,e.A(2)})()},150)};return r.C=n,r})(),p=()=>{s=o(),u&&(d=!0),a&&e.A(6,a()),e.A(1,r()),f()},m=t=>{if(c||!e.B()||t.ctrlKey)return;let r=o()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},h=()=>{l=!0,u=d=!1},g=()=>{l=!1,at()&&(u=!0)};return t.addEventListener(`scroll`,p),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,h,{passive:!0}),t.addEventListener(`touchend`,g,{passive:!0}),{H:()=>{t.removeEventListener(`scroll`,p),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,h),t.removeEventListener(`touchend`,g),f.C()},V:()=>{let[t,n]=e.P();t&&(i(t,n,d),d=!1,n&&e.T()>e.M()&&e.A(1,r()))}}},dt=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;r&&r();let o=()=>{let[t,n]=Ye();return r=()=>{n(!1)},e.T()&&ct(r,150),[t,e.R(2,()=>{n(!0)})]};if(a&&ot())e.A(8,i()),Je(async()=>{for(;;){let t=!0;for(let[n,r]=e.v();n<=r;n++)if(e.I(n)){t=!1;break}if(t)break;let[n,r]=o();try{if(!await n)return}finally{r()}}e.A(7),n(i(),a)});else for(;;){let[t,r]=o();try{if(e.A(7),n(i()),!await t)return}finally{r()}}},()=>{r&&r()}]},ft=e=>{let t;return{F(n){(t||=new(it(rt(n))).ResizeObserver(e)).observe(n)},J(e){t.unobserve(e)},H(){t&&t.disconnect()}}},pt=E({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:Boolean},Z:{type:String,required:!0},ee:Object},setup(e){let t=O(),n=a(()=>e.L.value&&e.W.O(e.D,e.K)),r=a(()=>e.L.value&&e.W.I(e.D));return H(()=>t.value&&e.D,(n,r,i)=>{i(e.Y(t.value,e.D))},{flush:`post`}),()=>{let{X:i,U:a,G:o,Z:s}=e,c=r.value,{style:l,...u}=e.ee??{},d={contain:`layout style`,position:c&&o?void 0:`absolute`,[a?`height`:`width`]:`100%`,[a?`top`:`left`]:`0px`,[a?`left`:`top`]:n.value+`px`,visibility:!c||o?void 0:`hidden`,...l};return a&&(d.display=`inline-flex`),z(s,P({ref:t,style:d},u),typeof(f=i)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!k(f)?i:{default:()=>[i],_:2},16,[`style`]);var f}}}),mt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ht=(e,t)=>e[0]===t[0]&&e[1]===t[1],gt=E({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=!!e.ssrCount,o=e.horizontal,s=O(),c=st(e.data.length,e.itemSize,e.ssrCount,e.cache,!e.itemSize),l=((e,t)=>{let n,r=t?`width`:`height`,i=new WeakMap,a=ft(t=>{let a=[];for(let{target:o,contentRect:s}of t)if(o.offsetParent)if(o===n)e.A(4,s[r]);else{let e=i.get(o);e!=Ue&&a.push([e,s[r]])}a.length&&e.A(3,a)});return{te(e){a.F(n=e)},re:(e,t)=>(i.set(e,t),a.F(e),()=>{i.delete(e),a.J(e)}),p:a.H}})(c,o),u=((e,t)=>{let n,r,i=Ye(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=dt(e,()=>i[0],(e,r)=>{e=lt(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e});return{oe(c,u){n=u,t&&(a=getComputedStyle(u).direction===`rtl`),r=ut(e,u,t,()=>lt(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,ct(()=>{e[s]=t})}u[o]=lt(e.N()+t,a),n&&l()}),i[1](!0)},p(){r&&r.H(),i[1](!1),i=Ye()},ne:()=>a,se(e){c(()=>e)},ie(t){t+=e.N(),c(()=>t)},le(t,{align:n,smooth:r,offset:i=0}={}){if(t=Ke(t,0,e.j()-1),n===`nearest`){let r=e.O(t),i=e.N();if(r<i)n=`start`;else{if(!(r+e.k(t)>i+e.T()))return;n=`end`}}c(()=>i+e.q()+e.O(t)+(n===`end`?e.k(t)-e.T():n===`center`?(e.k(t)-e.T())/2:0),r)},ce:()=>{r&&r.V()}}})(c,o),d=O(c.m());c.R(1,()=>{d.value=c.m()}),c.R(4,()=>{t(`scroll`,c.N())}),c.R(8,()=>{t(`scrollEnd`)});let f=a(t=>{d.value;let n=c.v(e.bufferSize);return t&&ht(t,n)?t:n}),m=a(()=>d.value&&c.B()),h=a(()=>d.value&&c.M());return p(()=>{i=!1;let t=s.value,n=requestAnimationFrame(()=>{let n=e=>{l.te(e),u.oe(t,e)};e.scrollRef?n(e.scrollRef):n(t.parentElement)});B(()=>{cancelAnimationFrame(n)})}),B(()=>{c.p(),l.p(),u.p()}),H(()=>e.data.length,t=>{c.A(5,[t,e.shift])}),H(()=>e.startMargin,e=>{c.A(6,e)},{immediate:!0}),H([d],()=>{u.ce()},{flush:`post`}),n({get cache(){return c.h()},get scrollOffset(){return c.N()},get scrollSize(){return(e=>Q(e.M(),e.T()))(c)},get viewportSize(){return c.T()},findItemIndex:c.S,getItemOffset:c.O,getItemSize:c.k,scrollToIndex:u.le,scrollTo:u.se,scrollBy:u.ie}),()=>{let t=e.as,n=e.item,a=h.value,p=u.ne(),g=[],_=t=>{let a=r.default({item:e.data[t],index:t});return z(pt,{key:mt(a,t),L:d,W:c,Y:l.re,D:t,X:a,U:o,K:p,G:i,Z:n,ee:e.itemProps?.({item:e.data[t],index:t})},null,8,[`L`,`W`,`Y`,`D`,`X`,`U`,`K`,`G`,`Z`,`ee`])};if(e.keepMounted){let t=new Set(e.keepMounted);for(let[e,n]=f.value;e<=n;e++)t.add(e);qe([...t]).forEach(e=>{g.push(_(e))})}else for(let[e,t]=f.value;e<=t;e++)g.push(_(e));return z(t,{ref:s,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:o?a+`px`:`100%`,height:o?`100%`:a+`px`,pointerEvents:m.value?`none`:void 0}},typeof(v=g)==`function`||Object.prototype.toString.call(v)===`[object Object]`&&!k(v)?g:{default:()=>[g],_:2},8,[`style`]);var v}}}),_t=E({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=e.horizontal,a=e=>{t(`scroll`,e)},o=()=>{t(`scrollEnd`)},s=O();return n({get cache(){return s.value.cache},get scrollOffset(){return s.value.scrollOffset},get scrollSize(){return s.value.scrollSize},get viewportSize(){return s.value.viewportSize},findItemIndex:(...e)=>s.value.findItemIndex(...e),getItemOffset:(...e)=>s.value.getItemOffset(...e),getItemSize:(...e)=>s.value.getItemSize(...e),scrollToIndex:(...e)=>s.value.scrollToIndex(...e),scrollTo:(...e)=>s.value.scrollTo(...e),scrollBy:(...e)=>s.value.scrollBy(...e)}),()=>{return z(`div`,{style:{display:i?`inline-block`:`block`,[i?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[z(gt,{ref:s,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:i,keepMounted:e.keepMounted,cache:e.cache,onScroll:a,onScrollEnd:o},(t=r,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!k(t)?r:{default:()=>[r],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}});Array,Number,Number,Boolean,Boolean,String,String,Object;var vt={class:`log-viewer`},yt={class:`log-viewer__toolbar`},bt={class:`log-viewer__toolbar-right`},xt={class:`log-viewer__count`},St=[`title`],Ct=[`value`],wt=[`title`],Tt=[`title`],Et={class:`log-viewer__pin-wrap`},Dt=[`title`],Ot={key:0,class:`log-viewer__loading`},kt={key:1,class:`log-viewer__scroll log-viewer__empty`},At={class:`log-viewer__simple-line`},jt={key:0,class:`log-viewer__time-separator`},Mt={class:`log-viewer__time-separator-label`},Nt=150,Pt=2e3,Ft=N(E({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(e,{emit:i}){let o=e,s=i,{t:h}=n(),g=[10,50,100,200,500,1e3,2e3,5e3,1e4],x=O(500),C=O({levels:[...I],filters:[]}),E=O(!0),D=O(null),k=O(!1),M=O(!1),N=O(0),P;function R(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function ne(e){if(P===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===P)return e.slice(t+1);return null}function B(e){let t=e.length>x.value?e.slice(e.length-x.value):e;P=t[t.length-1]?.id,G.value=R(t),fe(t),E.value&&j(()=>j(J))}function V(e){e.length!==0&&(P=e[e.length-1].id,G.value+=R(e),de(e,ce(),W.value),W.value.length>x.value?W.value=W.value.slice(W.value.length-x.value):A(W),E.value&&j(J))}function ie(){if(N.value===0)return;N.value=0;let e=o.logs,t=ne(e);t===null?B(e):V(t)}H(()=>o.logs,e=>{if(e.length===0){P=void 0,N.value=0,G.value=0,fe([]);return}if(!E.value){let t=ne(e);N.value=t===null?e.length:t.length;return}if(P===void 0){B(e);return}let t=ne(e);t===null?B(e):V(t)},{deep:!1}),p(()=>{o.logs.length>0&&B(o.logs)});let U=new WeakMap;function oe(e){if(U.has(e))return U.get(e);try{let t=new RegExp(e.pattern,`i`);return U.set(e,t),t}catch{return U.set(e,null),null}}function se(e,t){if(e.isRegex){let n=oe(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function ce(){return{levelSet:new Set(C.value.levels),filterAll:C.value.levels.length>=I.length,includes:C.value.filters.filter(e=>e.type===`include`),excludes:C.value.filters.filter(e=>e.type===`exclude`),hidden:k.value}}function le(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>se(t,e.message))||t.excludes.some(t=>se(t,e.message)))}let W=O([]),ue=new Map;function de(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){le(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};ue.set(e.id,t),n.push(t);continue}if(e.state===`close`){ue.delete(e.id);continue}let i=ue.get(e.id);i&&le(r,t)&&i.body.push(r);continue}le(r,t)&&n.push({...r,_type:`log`})}}function fe(e){ue=new Map;let t=ce(),n=[];de(e,t,n),W.value=n}H([C,k,x],()=>{B(o.logs)});let G=O(0),K=O(null),q=O(null);H(()=>o.logs,e=>{if(e.length===0){K.value=null,q.value=null;return}let t=Date.now();K.value===null&&(K.value=t),q.value=t});let pe=a(()=>{if(K.value===null||q.value===null)return null;let e=q.value-K.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),me=0,he=0;function J(){!D.value||W.value.length===0||(me=Date.now()+Nt,D.value.scrollToIndex(W.value.length-1,{align:`end`}))}function ge(e){let t=e<he;if(!t&&Date.now()<me){he=e;return}if(he=e,!D.value)return;let n=D.value.scrollSize-e-D.value.viewportSize;E.value?t&&n>1&&(E.value=!1):n<=1&&(E.value=!0,ie(),j(J))}function _e(){E.value=!E.value,E.value&&(ie(),j(J))}p(()=>{E.value&&j(J)});function ve(e){C.value=e}function ye(e){s(`log-click`,e)}let be=O(null),X=O(!1),xe=v(),{openWithContext:Se}=l(),we=``;function Te(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Ee(){return W.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
2
2
  `):`[${e.level}] ${e.message}`).join(`
3
3
  `)}function De(){we=Te(),X.value=!0}let Oe=O(null);function ke(){let e=Te()||Me();e.trim()&&Oe.value?.open(e)}function Ae(e,t,n){X.value=!1,be.value?.showScenarioDialog(e,void 0,t,n??void 0)}async function je(e,t){X.value=!1,await Ne(e===`keep`?void 0:e,t??void 0)}function Me(){let e=we||Ee();return o.serviceLabel?`Service: ${o.serviceLabel}\n\n${e}`:e}async function Ne(e,t){let n=Me();n.trim()&&(await xe.createConversation({runner:e,providerId:t}),Se({text:n,label:h(`logViewer.logsContext`),icon:`pi-list`}))}async function Pe(e,t,n,r){let i=Me(),a=t||i,o=await xe.createConversation({scenarioId:e,scenarioInput:a});if(a&&o){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;xe.startScenarioRun(o.id,e,a,void 0,t)}Se({text:i,label:h(`logViewer.logsContext`),icon:`pi-list`})}function Fe(e){return e._type===`card`?e.body[0]?.timestamp??``:e.timestamp}function Ie(e){if(e===0)return!0;let t=W.value[e-1],n=W.value[e];return new Date(Fe(n)).getTime()-new Date(Fe(t)).getTime()>Pt}function Le(e){return new Date(e).toLocaleString()}return(n,i)=>(t(),u(`div`,vt,[S(`div`,yt,[z(He,{"model-value":C.value,"onUpdate:modelValue":ve},null,8,[`model-value`]),S(`div`,bt,[!M.value&&G.value>0?(t(),b(T(L),{key:0,icon:k.value?`pi pi-eye`:`pi pi-eye-slash`,severity:k.value?`warn`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":k.value?T(h)(`logViewer.showingHidden`):T(h)(`logViewer.hiddenFiltered`),title:T(h)(`logViewer.hiddenLogsToggle`,{n:G.value}),onClick:i[0]||=e=>k.value=!k.value},null,8,[`icon`,`severity`,`aria-label`,`title`])):w(``,!0),S(`span`,xt,[F(y(M.value?o.logs.length:W.value.length)+` / `,1),_(S(`select`,{"onUpdate:modelValue":i[1]||=e=>x.value=e,class:`log-viewer__limit-select`,title:T(h)(`logViewer.maxLines`)},[(t(),u(r,null,c(g,e=>S(`option`,{key:e,value:e},y(e),9,Ct)),64))],8,St),[[re,x.value,void 0,{number:!0}]])]),o.showStats&&pe.value!==null?(t(),u(`span`,{key:1,class:`log-viewer__stats`,title:T(h)(`logViewer.timeSpan`)},`⏱ `+y(pe.value),9,wt)):w(``,!0),o.showStats&&o.receivedPerSec!==void 0?(t(),u(`span`,{key:2,class:`log-viewer__stats`,title:T(h)(`logViewer.throughput`)},`↓`+y(o.receivedPerSec)+`/s · ⬡`+y(o.flushedPerSec)+`/s`,9,Tt)):w(``,!0),z(T(L),{icon:M.value?`pi pi-code`:`pi pi-align-left`,severity:M.value?`warn`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":M.value?T(h)(`logViewer.simpleModeOn`):T(h)(`logViewer.simpleModeOff`),title:T(h)(`logViewer.toggleSimple`),onClick:i[2]||=e=>M.value=!M.value},null,8,[`icon`,`severity`,`aria-label`,`title`]),z(T(L),{icon:`pi pi-microchip-ai`,severity:`secondary`,text:``,rounded:``,size:`small`,"aria-label":T(h)(`logViewer.sendToAi`),title:T(h)(`logViewer.sendToAiTitle`),onClick:De},null,8,[`aria-label`,`title`]),z(T(L),{icon:`pi pi-comments`,severity:`secondary`,text:``,rounded:``,size:`small`,"aria-label":T(h)(`logViewer.sendToChat`),title:T(h)(`logViewer.sendToChat`),onClick:ke},null,8,[`aria-label`,`title`]),S(`div`,Et,[z(T(L),{icon:E.value?`pi pi-pause`:`pi pi-arrow-down`,severity:E.value?`success`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":E.value?T(h)(`logViewer.autoScrollOn`):T(h)(`logViewer.autoScrollOff`),title:E.value?T(h)(`logViewer.live`):T(h)(`logViewer.paused`),onClick:_e},null,8,[`icon`,`severity`,`aria-label`,`title`]),!E.value&&N.value>0?(t(),u(`span`,{key:0,class:`log-viewer__waiting-badge`,title:T(h)(`logViewer.waitingLogs`,{n:N.value})},y(N.value>999?`999+`:N.value),9,Dt)):w(``,!0)])])]),e.loading&&o.logs.length===0?(t(),u(`div`,Ot,[z(T(d),{style:{width:`2rem`,height:`2rem`}}),S(`span`,null,y(T(h)(`logViewer.loading`)),1)])):W.value.length===0?(t(),u(`div`,kt,y(T(h)(`logViewer.empty`)),1)):M.value?(t(),b(T(_t),{key:2,ref_key:`listRef`,ref:D,data:o.logs,class:`log-viewer__scroll`,onScroll:ge},{default:m(({item:e})=>[S(`span`,At,y(e.raw),1)]),_:1},8,[`data`])):(t(),b(T(_t),{key:3,ref_key:`listRef`,ref:D,data:W.value,class:`log-viewer__scroll`,onScroll:ge},{default:m(({item:e,index:n})=>[Ie(n)?(t(),u(`div`,jt,[i[4]||=S(`span`,{class:`log-viewer__time-separator-line`},null,-1),S(`span`,Mt,y(Le(Fe(e))),1),i[5]||=S(`span`,{class:`log-viewer__time-separator-line`},null,-1)])):w(``,!0),e._type===`card`?(t(),b(Y,{key:1,icon:`🐋`,title:e.header,color:`#1d4ed8`,"default-collapsed":e.defaultCollapsed,"last-line":e.body.length>0?e.body[e.body.length-1].message:void 0},{default:m(()=>[(t(!0),u(r,null,c(e.body,e=>(t(),b(Ce,{key:e.id,log:e,onClick:ye},null,8,[`log`]))),128))]),_:2},1032,[`title`,`default-collapsed`,`last-line`])):(t(),b(Ce,{key:2,log:e,onClick:ye},null,8,[`log`]))]),_:1},8,[`data`])),z(T(ee),{visible:X.value,header:T(h)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},"onUpdate:visible":i[3]||=e=>{e||(X.value=!1)},pt:{content:{style:`overflow-y:auto`}}},{default:m(()=>[z(te,{compact:``,onSelectScenario:Ae,onSkip:je})]),_:1},8,[`visible`,`header`]),z(f,{ref_key:`aiModalsRef`,ref:be,onConfirmScenarioStart:Pe},null,512),z(ae,{ref_key:`sendToChatRef`,ref:Oe},null,512)]))}}),[[`__scopeId`,`data-v-1bca8f34`]]);export{Ft as t};
@@ -1 +1 @@
1
- import{Ei as e,Fn as t,Gr as n,Qr as r,Xr as i,Zr as a,_a as o,ai as s,c,ca as l,jn as u,ln as d,pn as f,ri as p}from"./index-CcDpHMIW.js";var m={class:`process-controls`},h=d(s({__name:`ProcessControls`,props:{agentId:{},processId:{},state:{}},emits:[`action`],setup(s,{emit:d}){let h=s,g=d,_=u(),v=c(),{t:y}=t(),b=l(null),x=e=>e===`stopped`||e===`errored`,S=e=>e===`running`||e===`starting`,C=e=>e===`running`;async function w(){b.value=`start`;try{await v.start(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.startFailed`),detail:e.message??y(`processControls.startServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`start`)}}async function T(){b.value=`stop`;try{await v.stop(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.stopFailed`),detail:e.message??y(`processControls.stopServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`stop`)}}async function E(){b.value=`restart`;try{await v.restart(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.restartFailed`),detail:e.message??y(`processControls.restartServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`restart`)}}return(t,s)=>(e(),r(`div`,m,[x(h.state)?(e(),i(o(f),{key:0,icon:`pi pi-play`,label:o(y)(`actions.start`),severity:`success`,size:`small`,"data-testid":`process-start-btn`,disabled:b.value!==null,loading:b.value===`start`,onClick:w},null,8,[`label`,`disabled`,`loading`])):a(``,!0),S(h.state)?(e(),r(n,{key:1},[p(o(f),{icon:`pi pi-stop`,label:o(y)(`actions.stop`),severity:`danger`,size:`small`,disabled:b.value!==null,loading:b.value===`stop`,onClick:T},null,8,[`label`,`disabled`,`loading`]),C(h.state)?(e(),i(o(f),{key:0,icon:`pi pi-refresh`,label:o(y)(`actions.restart`),severity:`warn`,size:`small`,disabled:b.value!==null,loading:b.value===`restart`,onClick:E},null,8,[`label`,`disabled`,`loading`])):a(``,!0)],64)):a(``,!0)]))}}),[[`__scopeId`,`data-v-ba4ca59c`]]);export{h as t};
1
+ import{Ei as e,Fn as t,Gr as n,Qr as r,Xr as i,Zr as a,_a as o,ai as s,c,ca as l,jn as u,ln as d,pn as f,ri as p}from"./index-Fqxj8mF_.js";var m={class:`process-controls`},h=d(s({__name:`ProcessControls`,props:{agentId:{},processId:{},state:{}},emits:[`action`],setup(s,{emit:d}){let h=s,g=d,_=u(),v=c(),{t:y}=t(),b=l(null),x=e=>e===`stopped`||e===`errored`,S=e=>e===`running`||e===`starting`,C=e=>e===`running`;async function w(){b.value=`start`;try{await v.start(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.startFailed`),detail:e.message??y(`processControls.startServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`start`)}}async function T(){b.value=`stop`;try{await v.stop(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.stopFailed`),detail:e.message??y(`processControls.stopServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`stop`)}}async function E(){b.value=`restart`;try{await v.restart(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.restartFailed`),detail:e.message??y(`processControls.restartServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`restart`)}}return(t,s)=>(e(),r(`div`,m,[x(h.state)?(e(),i(o(f),{key:0,icon:`pi pi-play`,label:o(y)(`actions.start`),severity:`success`,size:`small`,"data-testid":`process-start-btn`,disabled:b.value!==null,loading:b.value===`start`,onClick:w},null,8,[`label`,`disabled`,`loading`])):a(``,!0),S(h.state)?(e(),r(n,{key:1},[p(o(f),{icon:`pi pi-stop`,label:o(y)(`actions.stop`),severity:`danger`,size:`small`,disabled:b.value!==null,loading:b.value===`stop`,onClick:T},null,8,[`label`,`disabled`,`loading`]),C(h.state)?(e(),i(o(f),{key:0,icon:`pi pi-refresh`,label:o(y)(`actions.restart`),severity:`warn`,size:`small`,disabled:b.value!==null,loading:b.value===`restart`,onClick:E},null,8,[`label`,`disabled`,`loading`])):a(``,!0)],64)):a(``,!0)]))}}),[[`__scopeId`,`data-v-ba4ca59c`]]);export{h as t};
@@ -1 +1 @@
1
- import{Ei as e,En as ee,Fn as t,Gr as te,J as ne,Jr as n,Qr as r,R as re,Si as ie,Vt as i,Xi as a,Xr as o,Yr as s,Zr as c,_a as l,ai as u,ca as d,in as ae,ln as f,pn as p,ri as m,wi as oe}from"./index-CcDpHMIW.js";import"./cloud-session-B1oqwDJc.js";import"./src-BotO3dQ7.js";import{t as se}from"./ProcessControls-RuqRu4r_.js";import"./SendToChatDialog-DG6GidKi.js";import{n as h,t as ce}from"./ProcessMetrics-tNC5ggO0.js";import{t as le}from"./LogViewer-CEQDlzBl.js";var ue={class:`process-detail`},de={key:0,class:`process-detail__loading`},fe={key:1,class:`process-detail__error`},pe={class:`process-detail__header`},me={class:`process-detail__header-left`},he={class:`process-detail__title`},g={class:`process-detail__id`},_={key:0,class:`process-detail__metrics`},v={class:`section-title`},y={key:1,class:`process-detail__metrics-skeleton`},b={class:`metric-skeleton`},x={class:`metric-skeleton`},S={class:`process-detail__info`},C={class:`info-grid`},w={key:0,class:`info-item`},T={class:`info-label`},E={class:`info-value`},D={key:1,class:`info-item`},O={class:`info-label`},k={class:`info-value`},A={class:`info-item`},j={class:`info-label`},M={class:`info-value`},N={key:2,class:`info-item`},P={class:`info-label`},F={class:`info-value`},I={key:3,class:`info-item`},L={class:`info-label`},R={class:`info-value`},ge={class:`process-detail__logs`},_e={class:`section-title`},ve={class:`process-detail__log-container`},z=f(u({__name:`ProcessDetailPage`,props:{agentId:{},processId:{}},setup(u){let f=u,z=ee(),{t:B}=t(),ye=ne(),be=n(()=>V.value?.agentId?ye.agents.find(e=>e.config.id===V.value.agentId)?.config.name??V.value.agentId:null),V=d(null),H=d([]),U=d(null),W=d(!1),G=d(!0),K=d(!0),q=d(null),J=null,Y=null,X=null,Z={running:{severity:`success`,icon:`pi pi-check-circle`},stopped:{severity:`secondary`,icon:`pi pi-stop-circle`},errored:{severity:`danger`,icon:`pi pi-times-circle`},starting:{severity:`warn`,icon:`pi pi-spin pi-spinner`}},Q=n(()=>Z[V.value?.state??`stopped`]??Z.stopped);async function $(){try{V.value=await i.process.get.query({agentId:f.agentId,id:f.processId})}catch(e){q.value=e instanceof Error?e.message:`Failed to load process`}}async function xe(){K.value=!0;try{H.value=await i.process.logs.query({agentId:f.agentId,processId:f.processId})}catch{}finally{K.value=!1}}async function Se(){W.value=!0;try{U.value=await i.process.metrics.query({agentId:f.agentId,processId:f.processId})}catch{}finally{W.value=!1}}function Ce(){let e=i.process.onLog.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){H.value=[...H.value,e],H.value.length>1e4&&(H.value=H.value.slice(H.value.length-1e4))}});J=()=>e.unsubscribe()}function we(){let e=i.process.onStatus.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){V.value=e}});Y=()=>e.unsubscribe()}function Te(){let e=i.process.onMetrics.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){U.value=e}});X=()=>e.unsubscribe()}function Ee(){$()}return ie(async()=>{G.value=!0,await Promise.all([$(),xe(),Se()]),G.value=!1,Ce(),we(),Te()}),oe(()=>{J?.(),Y?.(),X?.()}),(ee,t)=>(e(),r(`div`,ue,[G.value?(e(),r(`div`,de,[m(l(re),{style:{width:`3rem`,height:`3rem`}}),s(`span`,null,a(l(B)(`processDetail.loading`)),1)])):q.value?(e(),r(`div`,fe,[t[2]||=s(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`,color:`var(--p-red-500)`}},null,-1),s(`p`,null,a(q.value),1),m(l(p),{label:l(B)(`processDetail.goBack`),icon:`pi pi-arrow-left`,severity:`secondary`,onClick:t[0]||=e=>l(z).back()},null,8,[`label`])])):V.value?(e(),r(te,{key:2},[s(`div`,pe,[s(`div`,me,[m(l(p),{icon:`pi pi-arrow-left`,text:``,rounded:``,severity:`secondary`,"aria-label":l(B)(`processDetail.goBack`),onClick:t[1]||=e=>l(z).back()},null,8,[`aria-label`]),s(`div`,he,[s(`h1`,null,a(V.value.serviceId),1),s(`span`,g,a(V.value.id),1)]),m(l(ae),{value:V.value.state,severity:Q.value.severity,icon:Q.value.icon},null,8,[`value`,`severity`,`icon`])]),m(se,{"agent-id":f.agentId,"process-id":f.processId,state:V.value.state,onAction:Ee},null,8,[`agent-id`,`process-id`,`state`])]),U.value||W.value?(e(),r(`section`,_,[s(`h2`,v,a(l(B)(`processDetail.metrics`)),1),U.value?(e(),o(ce,{key:0,cpu:U.value.cpu,memory:U.value.memory},null,8,[`cpu`,`memory`])):(e(),r(`div`,y,[s(`div`,b,[m(l(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),m(l(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),m(l(h),{width:`100%`,height:`6px`,"border-radius":`4px`})]),s(`div`,x,[m(l(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),m(l(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),m(l(h),{width:`6rem`,height:`0.65rem`})])]))])):c(``,!0),s(`section`,S,[s(`div`,C,[V.value.pid?(e(),r(`div`,w,[s(`span`,T,a(l(B)(`processDetail.pid`)),1),s(`span`,E,a(V.value.pid),1)])):c(``,!0),V.value.agentId?(e(),r(`div`,D,[s(`span`,O,a(l(B)(`processDetail.agent`)),1),s(`span`,k,a(be.value),1)])):c(``,!0),s(`div`,A,[s(`span`,j,a(l(B)(`processDetail.restarts`)),1),s(`span`,M,a(V.value.restartCount),1)]),V.value.startedAt?(e(),r(`div`,N,[s(`span`,P,a(l(B)(`processDetail.started`)),1),s(`span`,F,a(new Date(V.value.startedAt).toLocaleString()),1)])):c(``,!0),V.value.exitCode==null?c(``,!0):(e(),r(`div`,I,[s(`span`,L,a(l(B)(`processDetail.exitCode`)),1),s(`span`,R,a(V.value.exitCode),1)]))])]),s(`section`,ge,[s(`h2`,_e,a(l(B)(`processDetail.logs`)),1),s(`div`,ve,[m(le,{logs:H.value,loading:K.value,"service-label":V.value?.serviceId},null,8,[`logs`,`loading`,`service-label`])])])],64)):c(``,!0)]))}}),[[`__scopeId`,`data-v-9599e2e1`]]);export{z as default};
1
+ import{Ei as e,En as ee,Fn as t,Gr as te,J as ne,Jr as n,Qr as r,R as re,Si as ie,Vt as i,Xi as a,Xr as o,Yr as s,Zr as c,_a as l,ai as u,ca as d,in as ae,ln as f,pn as p,ri as m,wi as oe}from"./index-Fqxj8mF_.js";import"./cloud-session-DoJkL3UE.js";import"./src-CIJrYVVG.js";import{t as se}from"./ProcessControls-B_LUjE5A.js";import"./SendToChatDialog-C-GU6Dbz.js";import{n as h,t as ce}from"./ProcessMetrics-CgLCuNNV.js";import{t as le}from"./LogViewer-DLmPDZzg.js";var ue={class:`process-detail`},de={key:0,class:`process-detail__loading`},fe={key:1,class:`process-detail__error`},pe={class:`process-detail__header`},me={class:`process-detail__header-left`},he={class:`process-detail__title`},g={class:`process-detail__id`},_={key:0,class:`process-detail__metrics`},v={class:`section-title`},y={key:1,class:`process-detail__metrics-skeleton`},b={class:`metric-skeleton`},x={class:`metric-skeleton`},S={class:`process-detail__info`},C={class:`info-grid`},w={key:0,class:`info-item`},T={class:`info-label`},E={class:`info-value`},D={key:1,class:`info-item`},O={class:`info-label`},k={class:`info-value`},A={class:`info-item`},j={class:`info-label`},M={class:`info-value`},N={key:2,class:`info-item`},P={class:`info-label`},F={class:`info-value`},I={key:3,class:`info-item`},L={class:`info-label`},R={class:`info-value`},ge={class:`process-detail__logs`},_e={class:`section-title`},ve={class:`process-detail__log-container`},z=f(u({__name:`ProcessDetailPage`,props:{agentId:{},processId:{}},setup(u){let f=u,z=ee(),{t:B}=t(),ye=ne(),be=n(()=>V.value?.agentId?ye.agents.find(e=>e.config.id===V.value.agentId)?.config.name??V.value.agentId:null),V=d(null),H=d([]),U=d(null),W=d(!1),G=d(!0),K=d(!0),q=d(null),J=null,Y=null,X=null,Z={running:{severity:`success`,icon:`pi pi-check-circle`},stopped:{severity:`secondary`,icon:`pi pi-stop-circle`},errored:{severity:`danger`,icon:`pi pi-times-circle`},starting:{severity:`warn`,icon:`pi pi-spin pi-spinner`}},Q=n(()=>Z[V.value?.state??`stopped`]??Z.stopped);async function $(){try{V.value=await i.process.get.query({agentId:f.agentId,id:f.processId})}catch(e){q.value=e instanceof Error?e.message:`Failed to load process`}}async function xe(){K.value=!0;try{H.value=await i.process.logs.query({agentId:f.agentId,processId:f.processId})}catch{}finally{K.value=!1}}async function Se(){W.value=!0;try{U.value=await i.process.metrics.query({agentId:f.agentId,processId:f.processId})}catch{}finally{W.value=!1}}function Ce(){let e=i.process.onLog.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){H.value=[...H.value,e],H.value.length>1e4&&(H.value=H.value.slice(H.value.length-1e4))}});J=()=>e.unsubscribe()}function we(){let e=i.process.onStatus.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){V.value=e}});Y=()=>e.unsubscribe()}function Te(){let e=i.process.onMetrics.subscribe({agentId:f.agentId,processId:f.processId},{onData(e){U.value=e}});X=()=>e.unsubscribe()}function Ee(){$()}return ie(async()=>{G.value=!0,await Promise.all([$(),xe(),Se()]),G.value=!1,Ce(),we(),Te()}),oe(()=>{J?.(),Y?.(),X?.()}),(ee,t)=>(e(),r(`div`,ue,[G.value?(e(),r(`div`,de,[m(l(re),{style:{width:`3rem`,height:`3rem`}}),s(`span`,null,a(l(B)(`processDetail.loading`)),1)])):q.value?(e(),r(`div`,fe,[t[2]||=s(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`,color:`var(--p-red-500)`}},null,-1),s(`p`,null,a(q.value),1),m(l(p),{label:l(B)(`processDetail.goBack`),icon:`pi pi-arrow-left`,severity:`secondary`,onClick:t[0]||=e=>l(z).back()},null,8,[`label`])])):V.value?(e(),r(te,{key:2},[s(`div`,pe,[s(`div`,me,[m(l(p),{icon:`pi pi-arrow-left`,text:``,rounded:``,severity:`secondary`,"aria-label":l(B)(`processDetail.goBack`),onClick:t[1]||=e=>l(z).back()},null,8,[`aria-label`]),s(`div`,he,[s(`h1`,null,a(V.value.serviceId),1),s(`span`,g,a(V.value.id),1)]),m(l(ae),{value:V.value.state,severity:Q.value.severity,icon:Q.value.icon},null,8,[`value`,`severity`,`icon`])]),m(se,{"agent-id":f.agentId,"process-id":f.processId,state:V.value.state,onAction:Ee},null,8,[`agent-id`,`process-id`,`state`])]),U.value||W.value?(e(),r(`section`,_,[s(`h2`,v,a(l(B)(`processDetail.metrics`)),1),U.value?(e(),o(ce,{key:0,cpu:U.value.cpu,memory:U.value.memory},null,8,[`cpu`,`memory`])):(e(),r(`div`,y,[s(`div`,b,[m(l(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),m(l(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),m(l(h),{width:`100%`,height:`6px`,"border-radius":`4px`})]),s(`div`,x,[m(l(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),m(l(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),m(l(h),{width:`6rem`,height:`0.65rem`})])]))])):c(``,!0),s(`section`,S,[s(`div`,C,[V.value.pid?(e(),r(`div`,w,[s(`span`,T,a(l(B)(`processDetail.pid`)),1),s(`span`,E,a(V.value.pid),1)])):c(``,!0),V.value.agentId?(e(),r(`div`,D,[s(`span`,O,a(l(B)(`processDetail.agent`)),1),s(`span`,k,a(be.value),1)])):c(``,!0),s(`div`,A,[s(`span`,j,a(l(B)(`processDetail.restarts`)),1),s(`span`,M,a(V.value.restartCount),1)]),V.value.startedAt?(e(),r(`div`,N,[s(`span`,P,a(l(B)(`processDetail.started`)),1),s(`span`,F,a(new Date(V.value.startedAt).toLocaleString()),1)])):c(``,!0),V.value.exitCode==null?c(``,!0):(e(),r(`div`,I,[s(`span`,L,a(l(B)(`processDetail.exitCode`)),1),s(`span`,R,a(V.value.exitCode),1)]))])]),s(`section`,ge,[s(`h2`,_e,a(l(B)(`processDetail.logs`)),1),s(`div`,ve,[m(le,{logs:H.value,loading:K.value,"service-label":V.value?.serviceId},null,8,[`logs`,`loading`,`service-label`])])])],64)):c(``,!0)]))}}),[[`__scopeId`,`data-v-9599e2e1`]]);export{z as default};
@@ -1,4 +1,4 @@
1
- import{Ei as e,Fn as t,In as n,Jr as r,Qr as i,V as a,Xi as o,Yi as s,Yr as c,_a as l,ai as u,ln as d,mi as f,ri as p,vr as m,xn as h}from"./index-CcDpHMIW.js";var g=n.extend({name:`skeleton`,style:`
1
+ import{Ei as e,Fn as t,In as n,Jr as r,Qr as i,V as a,Xi as o,Yi as s,Yr as c,_a as l,ai as u,ln as d,mi as f,ri as p,vr as m,xn as h}from"./index-Fqxj8mF_.js";var g=n.extend({name:`skeleton`,style:`
2
2
  .p-skeleton {
3
3
  display: block;
4
4
  overflow: hidden;
@@ -1 +1 @@
1
- import{$ as e,$t as t,An as n,At as r,Cn as ee,Ei as i,En as te,Fn as ne,Gr as a,Hr as o,J as re,Jr as s,Q as ie,Qr as c,R as ae,Si as oe,Tn as se,Ui as l,Vt as u,Wi as d,Xi as f,Xr as p,Xt as m,Yr as h,Z as ce,Zr as g,_a as _,ai as le,an as v,c as ue,ca as y,dn as b,en as de,et as fe,in as x,ji as pe,jn as me,ln as S,ni as C,p as w,pn as T,ri as E,t as he,x as ge,zi as _e}from"./index-CcDpHMIW.js";import{t as ve}from"./cloud-session-B1oqwDJc.js";import{t as ye}from"./message-Bh-eAVAb.js";import{t as be}from"./auth-errors-BJV46AcQ.js";import{t as xe}from"./EnvironmentSelector-BXe42bF9.js";import{n as Se,t as D}from"./column-sUzyGFk3.js";import{t as Ce}from"./card-DGaeJPst.js";var we={class:`project-detail-page`},Te={key:0,class:`loading-container`},Ee={key:1,class:`error-container`},De={class:`page-header`},Oe={class:`page-title`},ke={class:`env-selector-bar`,"data-testid":`env-selector`},Ae={class:`info-grid`},je={class:`info-field`},Me={class:`info-label`},Ne={key:0,class:`inline-edit`},Pe={class:`info-field`},Fe={class:`info-label`},Ie={key:0,class:`inline-edit`},Le={class:`section`},Re={class:`section-header`},ze={class:`section-actions`},Be={key:1,class:`text-muted`},Ve={class:`table-actions`},He={key:1,class:`empty-section`},Ue={class:`form-group`},We={for:`projdetail-select-service`},Ge={key:0,class:`cloud-dialog`},Ke={key:1,class:`cloud-dialog`},qe={key:0,class:`cloud-empty`},Je={key:1,class:`field`},Ye={for:`cloud-org-select`},O=S(le({__name:`ProjectDetailPage`,props:{projectId:{}},setup(le){let S=le,{t:O}=ne(),k=te();se();let A=me(),j=n(),Xe=ce(),M=ie(),Ze=re(),N=ue(),Qe=r(),$e=fe(),P=y(null),F=y(!0),I=y(!1),{user:L}=ve(),R=ge(w,be()),z=y(!1),B=y(null),V=y(!1),H=y(null);function et(){H.value=null,B.value=P.value?.orgId??null,z.value=!0,L.value&&R.refresh()}async function tt(){if(!(!P.value||!B.value)){V.value=!0,H.value=null;try{let e=await u.project.export.query({id:P.value.id});if((await w.$fetch(`/project/push`,{method:`POST`,body:{organizationId:B.value,projectId:P.value.id,name:P.value.name,snapshot:e}})).error)throw Error(O(`projectDetail.cloud.pushFailed`));P.value=await u.project.update.mutate({id:P.value.id,orgId:B.value}),await u.cloudSync.link.mutate({orgId:B.value,cloudUrl:he()}),A.add({severity:`success`,summary:O(`projectDetail.cloud.storedToast`),life:3e3}),z.value=!1}catch(t){H.value=e(t)}finally{V.value=!1}}}let U=y(!1),W=y(!1),G=y(``),K=y(``),q=y({}),J=y(``),Y=y(!1),X=y(``),Z=y(!1),Q=s(()=>P.value?P.value.serviceIds.map(e=>M.services.find(t=>t.id===e)).filter(e=>!!e):[]),nt=s(()=>{let e=J.value.trim().toLowerCase();return e?Q.value.filter(t=>t.name.toLowerCase().includes(e)||t.runner?.toLowerCase().includes(e)||t.command?.toLowerCase().includes(e)):Q.value}),rt=s(()=>P.value?.activeEnvironmentId??null),it=s(()=>{if(!P.value)return[];let e=new Set(P.value.serviceIds);return M.services.filter(t=>!e.has(t.id))});function $(e){let t=N.getByService(e);return t.length>0?t[0]:null}function at(e){return e===`stopped`||e===`errored`}function ot(e){return e===`running`||e===`starting`}function st(e){return e===`running`}async function ct(t){q.value={...q.value,[t.id]:`start`};try{await N.start(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.startFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function lt(t){q.value={...q.value,[t.id]:`stop`};try{await N.stop(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.stopFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function ut(t){q.value={...q.value,[t.id]:`restart`};try{await N.restart(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.restartFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function dt(){F.value=!0;try{P.value=await u.project.get.query({id:S.projectId}),Qe.setActiveProject(S.projectId),await $e.fetchAll(S.projectId)}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t)??O(`projectDetail.failedToLoad`),life:5e3}),P.value=null}finally{F.value=!1}}function ft(){G.value=P.value?.name??``,U.value=!0}function pt(){K.value=P.value?.description??``,W.value=!0}async function mt(){if(!(!P.value||!G.value.trim())){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,name:G.value.trim()}),U.value=!1,A.add({severity:`success`,summary:O(`projectDetail.nameUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function ht(){if(P.value){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,description:K.value.trim()}),W.value=!1,A.add({severity:`success`,summary:O(`projectDetail.descriptionUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function gt(e){P.value&&(Q.value.filter(e=>!!e.id).length>0?j.require({message:O(`projectDetail.switchEnvMsg`),header:O(`projectDetail.switchEnvTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.switchEnvCancel`),acceptLabel:O(`projectDetail.switchEnvConfirm`),accept:()=>_t(e)}):await _t(e))}async function _t(t){if(P.value){I.value=!0;try{let e=await Xe.setActiveEnvironment(P.value.id,t);e&&(P.value=e),A.add({severity:`success`,summary:O(`projectDetail.envSwitched`),detail:O(`projectDetail.envSwitchedDesc`),life:3e3})}catch(t){console.error(`Failed to switch environment:`,t),A.add({severity:`error`,summary:`Error`,detail:e(t)??`Failed to switch environment`,life:5e3})}finally{I.value=!1}}}async function vt(){if(!(!P.value||!X.value)){Z.value=!0;try{P.value=await u.project.addService.mutate({projectId:P.value.id,serviceId:X.value}),Y.value=!1,X.value=``,A.add({severity:`success`,summary:O(`projectDetail.serviceAdded`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{Z.value=!1}}}function yt(e,t){j.require({message:`Remove "${t}" from this project?`,header:O(`projectDetail.removeServiceTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.removeServiceCancel`),acceptLabel:O(`projectDetail.removeServiceConfirm`),acceptClass:`p-button-danger`,accept:()=>bt(e)})}async function bt(t){if(P.value)try{P.value=await u.project.removeService.mutate({projectId:P.value.id,serviceId:t}),A.add({severity:`success`,summary:O(`projectDetail.serviceRemoved`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}function xt(){P.value&&j.require({message:`Are you sure you want to delete "${P.value.name}"? This action cannot be undone.`,header:O(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,rejectLabel:O(`projectDetail.deleteProjectCancel`),acceptLabel:O(`projectDetail.deleteProjectConfirm`),acceptClass:`p-button-danger`,accept:St})}async function St(){if(P.value)try{await u.project.delete.mutate({id:P.value.id}),A.add({severity:`success`,summary:O(`projectDetail.projectDeleted`),life:2e3}),await Xe.fetchAll(),k.push({name:`projects`})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}return oe(async()=>{await Promise.all([dt(),M.fetchAll(),Ze.fetchAll(),N.fetchAll()])}),_e(()=>S.projectId,()=>{dt()}),(e,n)=>{let r=pe(`tooltip`);return i(),c(`div`,we,[F.value?(i(),c(`div`,Te,[E(_(ae))])):P.value?(i(),c(a,{key:2},[h(`div`,De,[E(_(T),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:n[1]||=e=>_(k).push({name:`projects`})}),h(`h1`,Oe,f(_(O)(`projectDetail.title`)),1),P.value.orgId?(i(),p(_(x),{key:0,severity:`info`,icon:`pi pi-cloud`,value:_(O)(`projectDetail.cloud.stored`)},null,8,[`value`])):g(``,!0),E(_(T),{label:_(O)(`projectDetail.cloud.action`),icon:`pi pi-cloud-upload`,severity:`secondary`,outlined:``,onClick:et},null,8,[`label`]),E(_(T),{label:_(O)(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,severity:`danger`,text:``,onClick:xt},null,8,[`label`])]),h(`div`,ke,[E(xe,{"model-value":rt.value,"onUpdate:modelValue":gt},null,8,[`model-value`]),E(_(T),{label:_(O)(`projectDetail.manageEnvironments`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,onClick:n[2]||=e=>_(k).push({name:`environments`,params:{projectId:P.value.id}})},null,8,[`label`])]),E(_(Ce),{class:`info-card`},{content:l(()=>[h(`div`,Ae,[h(`div`,je,[h(`span`,Me,f(_(O)(`common.name`)),1),U.value?(i(),c(`div`,Ne,[E(_(v),{modelValue:G.value,"onUpdate:modelValue":n[3]||=e=>G.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(mt,[`enter`]),n[4]||=o(e=>U.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:mt},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[5]||=e=>U.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:ft},[C(f(P.value.name)+` `,1),n[20]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))]),h(`div`,Pe,[h(`span`,Fe,f(_(O)(`common.description`)),1),W.value?(i(),c(`div`,Ie,[E(_(v),{modelValue:K.value,"onUpdate:modelValue":n[6]||=e=>K.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(ht,[`enter`]),n[7]||=o(e=>W.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:ht},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[8]||=e=>W.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:pt},[C(f(P.value.description||_(O)(`projectDetail.noDescription`))+` `,1),n[21]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))])])]),_:1}),h(`div`,Le,[h(`div`,Re,[h(`h2`,null,f(_(O)(`projectDetail.services`)),1),h(`div`,ze,[E(_(de),null,{default:l(()=>[E(_(t),{class:`pi pi-search`}),E(_(v),{modelValue:J.value,"onUpdate:modelValue":n[9]||=e=>J.value=e,placeholder:_(O)(`projectDetail.searchServices`),size:`small`},null,8,[`modelValue`,`placeholder`])]),_:1}),E(_(T),{label:_(O)(`projectDetail.addExisting`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,disabled:it.value.length===0,onClick:n[10]||=e=>Y.value=!0},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`projectDetail.createNew`),icon:`pi pi-plus-circle`,size:`small`,onClick:n[11]||=e=>_(k).push({name:`service-create`,query:{projectId:P.value.id}})},null,8,[`label`])])]),Q.value.length>0?(i(),p(_(Se),{key:0,value:nt.value,stripedRows:``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20],class:`services-table`},{default:l(()=>[E(_(D),{field:`name`,header:_(O)(`projectDetail.nameColumn`)},{body:l(({data:e})=>[E(_(ee),{to:{name:`service-detail`,params:{id:e.id}},class:`service-name`,"data-testid":`service-row-link`},{default:l(()=>[C(f(e.name),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),E(_(D),{field:`runner`,header:_(O)(`projectDetail.runnerColumn`),style:{width:`80px`}},{body:l(({data:e})=>[E(_(x),{value:e.runner,severity:e.runner===`docker`?`warn`:`info`},null,8,[`value`,`severity`])]),_:1},8,[`header`]),E(_(D),{field:`ports`,header:_(O)(`projectDetail.portsColumn`),style:{width:`100px`}},{body:l(({data:e})=>[C(f(e.ports?.length?e.ports.join(`, `):`-`),1)]),_:1},8,[`header`]),E(_(D),{header:_(O)(`common.status`),style:{width:`70px`}},{body:l(({data:e})=>[$(e.id)?(i(),p(_(x),{key:0,value:$(e.id).state,severity:$(e.id).state===`running`?`success`:$(e.id).state===`errored`?`danger`:`secondary`},null,8,[`value`,`severity`])):(i(),c(`span`,Be,`-`))]),_:1},8,[`header`]),E(_(D),{header:_(O)(`projectDetail.actionsColumn`),style:{width:`130px`}},{body:l(({data:e})=>[h(`div`,Ve,[!$(e.id)||at($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-play`,severity:`success`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`start`,onClick:t=>ct(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.start`),void 0,{top:!0}]]):g(``,!0),$(e.id)&&ot($(e.id).state)?(i(),c(a,{key:1},[d(E(_(T),{icon:`pi pi-stop`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`stop`,onClick:t=>lt(e)},null,8,[`disabled`,`loading`,`onClick`]),[[r,_(O)(`actions.stop`),void 0,{top:!0}]]),st($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-refresh`,severity:`warn`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`restart`,onClick:t=>ut(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.restart`),void 0,{top:!0}]]):g(``,!0)],64)):g(``,!0),d(E(_(T),{icon:`pi pi-minus-circle`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t=>yt(e.id,e.name)},null,8,[`onClick`]),[[r,_(O)(`projectDetail.removeFromProject`),void 0,{top:!0}]])])]),_:1},8,[`header`])]),_:1},8,[`value`])):(i(),c(`div`,He,[h(`p`,null,f(_(O)(`projectDetail.noServices`)),1)]))]),E(_(b),{visible:Y.value,"onUpdate:visible":n[14]||=e=>Y.value=e,header:_(O)(`projectDetail.addExistingService`),style:{width:`450px`},modal:``,closable:!Z.value},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:Z.value,onClick:n[13]||=e=>Y.value=!1},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`actions.add`),icon:`pi pi-plus`,loading:Z.value,disabled:!X.value,onClick:vt},null,8,[`label`,`loading`,`disabled`])]),default:l(()=>[h(`div`,Ue,[h(`label`,We,f(_(O)(`projectDetail.selectService`)),1),E(_(m),{inputId:`projdetail-select-service`,modelValue:X.value,"onUpdate:modelValue":n[12]||=e=>X.value=e,options:it.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.chooseServicePlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`]),E(_(b),{visible:z.value,"onUpdate:visible":n[18]||=e=>z.value=e,header:_(O)(`projectDetail.cloud.title`),modal:``,style:{width:`30rem`}},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:V.value,onClick:n[17]||=e=>z.value=!1},null,8,[`label`,`disabled`]),_(L)?(i(),p(_(T),{key:0,label:_(O)(`projectDetail.cloud.store`),icon:`pi pi-cloud-upload`,loading:V.value,disabled:!B.value,onClick:tt},null,8,[`label`,`loading`,`disabled`])):g(``,!0)]),default:l(()=>[_(L)?(i(),c(`div`,Ke,[h(`p`,null,f(_(O)(`projectDetail.cloud.description`)),1),_(R).organizations.value.length?(i(),c(`div`,Je,[h(`label`,Ye,f(_(O)(`projectDetail.cloud.orgLabel`)),1),E(_(m),{inputId:`cloud-org-select`,modelValue:B.value,"onUpdate:modelValue":n[16]||=e=>B.value=e,options:_(R).organizations.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.cloud.orgPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])):(i(),c(`div`,qe,f(_(O)(`projectDetail.cloud.noOrgs`)),1)),H.value?(i(),p(_(ye),{key:2,severity:`error`,closable:!1},{default:l(()=>[C(f(H.value),1)]),_:1})):g(``,!0)])):(i(),c(`div`,Ge,[h(`p`,null,f(_(O)(`projectDetail.cloud.notConnected`)),1),E(_(T),{label:_(O)(`projectDetail.cloud.goToAccount`),icon:`pi pi-user`,onClick:n[15]||=e=>_(k).push({name:`cloud-account`})},null,8,[`label`])]))]),_:1},8,[`visible`,`header`])],64)):(i(),c(`div`,Ee,[n[19]||=h(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`}},null,-1),h(`p`,null,f(_(O)(`projectDetail.notFound`)),1),E(_(T),{label:_(O)(`projectDetail.backToProjects`),icon:`pi pi-arrow-left`,onClick:n[0]||=e=>_(k).push({name:`projects`})},null,8,[`label`])]))])}}}),[[`__scopeId`,`data-v-5cd746e7`]]);export{O as default};
1
+ import{$ as e,$t as t,An as n,At as r,Cn as ee,Ei as i,En as te,Fn as ne,Gr as a,Hr as o,J as re,Jr as s,Q as ie,Qr as c,R as ae,Si as oe,Tn as se,Ui as l,Vt as u,Wi as d,Xi as f,Xr as p,Xt as m,Yr as h,Z as ce,Zr as g,_a as _,ai as le,an as v,c as ue,ca as y,dn as b,en as de,et as fe,in as x,ji as pe,jn as me,ln as S,ni as C,p as w,pn as T,ri as E,t as he,x as ge,zi as _e}from"./index-Fqxj8mF_.js";import{t as ve}from"./cloud-session-DoJkL3UE.js";import{t as ye}from"./message-C0TjBfm6.js";import{t as be}from"./auth-errors-CP1TUSKN.js";import{t as xe}from"./EnvironmentSelector-DFlVxLDF.js";import{n as Se,t as D}from"./column-CbOxvbib.js";import{t as Ce}from"./card-DNDtiYy8.js";var we={class:`project-detail-page`},Te={key:0,class:`loading-container`},Ee={key:1,class:`error-container`},De={class:`page-header`},Oe={class:`page-title`},ke={class:`env-selector-bar`,"data-testid":`env-selector`},Ae={class:`info-grid`},je={class:`info-field`},Me={class:`info-label`},Ne={key:0,class:`inline-edit`},Pe={class:`info-field`},Fe={class:`info-label`},Ie={key:0,class:`inline-edit`},Le={class:`section`},Re={class:`section-header`},ze={class:`section-actions`},Be={key:1,class:`text-muted`},Ve={class:`table-actions`},He={key:1,class:`empty-section`},Ue={class:`form-group`},We={for:`projdetail-select-service`},Ge={key:0,class:`cloud-dialog`},Ke={key:1,class:`cloud-dialog`},qe={key:0,class:`cloud-empty`},Je={key:1,class:`field`},Ye={for:`cloud-org-select`},O=S(le({__name:`ProjectDetailPage`,props:{projectId:{}},setup(le){let S=le,{t:O}=ne(),k=te();se();let A=me(),j=n(),Xe=ce(),M=ie(),Ze=re(),N=ue(),Qe=r(),$e=fe(),P=y(null),F=y(!0),I=y(!1),{user:L}=ve(),R=ge(w,be()),z=y(!1),B=y(null),V=y(!1),H=y(null);function et(){H.value=null,B.value=P.value?.orgId??null,z.value=!0,L.value&&R.refresh()}async function tt(){if(!(!P.value||!B.value)){V.value=!0,H.value=null;try{let e=await u.project.export.query({id:P.value.id});if((await w.$fetch(`/project/push`,{method:`POST`,body:{organizationId:B.value,projectId:P.value.id,name:P.value.name,snapshot:e}})).error)throw Error(O(`projectDetail.cloud.pushFailed`));P.value=await u.project.update.mutate({id:P.value.id,orgId:B.value}),await u.cloudSync.link.mutate({orgId:B.value,cloudUrl:he()}),A.add({severity:`success`,summary:O(`projectDetail.cloud.storedToast`),life:3e3}),z.value=!1}catch(t){H.value=e(t)}finally{V.value=!1}}}let U=y(!1),W=y(!1),G=y(``),K=y(``),q=y({}),J=y(``),Y=y(!1),X=y(``),Z=y(!1),Q=s(()=>P.value?P.value.serviceIds.map(e=>M.services.find(t=>t.id===e)).filter(e=>!!e):[]),nt=s(()=>{let e=J.value.trim().toLowerCase();return e?Q.value.filter(t=>t.name.toLowerCase().includes(e)||t.runner?.toLowerCase().includes(e)||t.command?.toLowerCase().includes(e)):Q.value}),rt=s(()=>P.value?.activeEnvironmentId??null),it=s(()=>{if(!P.value)return[];let e=new Set(P.value.serviceIds);return M.services.filter(t=>!e.has(t.id))});function $(e){let t=N.getByService(e);return t.length>0?t[0]:null}function at(e){return e===`stopped`||e===`errored`}function ot(e){return e===`running`||e===`starting`}function st(e){return e===`running`}async function ct(t){q.value={...q.value,[t.id]:`start`};try{await N.start(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.startFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function lt(t){q.value={...q.value,[t.id]:`stop`};try{await N.stop(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.stopFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function ut(t){q.value={...q.value,[t.id]:`restart`};try{await N.restart(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.restartFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function dt(){F.value=!0;try{P.value=await u.project.get.query({id:S.projectId}),Qe.setActiveProject(S.projectId),await $e.fetchAll(S.projectId)}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t)??O(`projectDetail.failedToLoad`),life:5e3}),P.value=null}finally{F.value=!1}}function ft(){G.value=P.value?.name??``,U.value=!0}function pt(){K.value=P.value?.description??``,W.value=!0}async function mt(){if(!(!P.value||!G.value.trim())){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,name:G.value.trim()}),U.value=!1,A.add({severity:`success`,summary:O(`projectDetail.nameUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function ht(){if(P.value){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,description:K.value.trim()}),W.value=!1,A.add({severity:`success`,summary:O(`projectDetail.descriptionUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function gt(e){P.value&&(Q.value.filter(e=>!!e.id).length>0?j.require({message:O(`projectDetail.switchEnvMsg`),header:O(`projectDetail.switchEnvTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.switchEnvCancel`),acceptLabel:O(`projectDetail.switchEnvConfirm`),accept:()=>_t(e)}):await _t(e))}async function _t(t){if(P.value){I.value=!0;try{let e=await Xe.setActiveEnvironment(P.value.id,t);e&&(P.value=e),A.add({severity:`success`,summary:O(`projectDetail.envSwitched`),detail:O(`projectDetail.envSwitchedDesc`),life:3e3})}catch(t){console.error(`Failed to switch environment:`,t),A.add({severity:`error`,summary:`Error`,detail:e(t)??`Failed to switch environment`,life:5e3})}finally{I.value=!1}}}async function vt(){if(!(!P.value||!X.value)){Z.value=!0;try{P.value=await u.project.addService.mutate({projectId:P.value.id,serviceId:X.value}),Y.value=!1,X.value=``,A.add({severity:`success`,summary:O(`projectDetail.serviceAdded`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{Z.value=!1}}}function yt(e,t){j.require({message:`Remove "${t}" from this project?`,header:O(`projectDetail.removeServiceTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.removeServiceCancel`),acceptLabel:O(`projectDetail.removeServiceConfirm`),acceptClass:`p-button-danger`,accept:()=>bt(e)})}async function bt(t){if(P.value)try{P.value=await u.project.removeService.mutate({projectId:P.value.id,serviceId:t}),A.add({severity:`success`,summary:O(`projectDetail.serviceRemoved`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}function xt(){P.value&&j.require({message:`Are you sure you want to delete "${P.value.name}"? This action cannot be undone.`,header:O(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,rejectLabel:O(`projectDetail.deleteProjectCancel`),acceptLabel:O(`projectDetail.deleteProjectConfirm`),acceptClass:`p-button-danger`,accept:St})}async function St(){if(P.value)try{await u.project.delete.mutate({id:P.value.id}),A.add({severity:`success`,summary:O(`projectDetail.projectDeleted`),life:2e3}),await Xe.fetchAll(),k.push({name:`projects`})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}return oe(async()=>{await Promise.all([dt(),M.fetchAll(),Ze.fetchAll(),N.fetchAll()])}),_e(()=>S.projectId,()=>{dt()}),(e,n)=>{let r=pe(`tooltip`);return i(),c(`div`,we,[F.value?(i(),c(`div`,Te,[E(_(ae))])):P.value?(i(),c(a,{key:2},[h(`div`,De,[E(_(T),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:n[1]||=e=>_(k).push({name:`projects`})}),h(`h1`,Oe,f(_(O)(`projectDetail.title`)),1),P.value.orgId?(i(),p(_(x),{key:0,severity:`info`,icon:`pi pi-cloud`,value:_(O)(`projectDetail.cloud.stored`)},null,8,[`value`])):g(``,!0),E(_(T),{label:_(O)(`projectDetail.cloud.action`),icon:`pi pi-cloud-upload`,severity:`secondary`,outlined:``,onClick:et},null,8,[`label`]),E(_(T),{label:_(O)(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,severity:`danger`,text:``,onClick:xt},null,8,[`label`])]),h(`div`,ke,[E(xe,{"model-value":rt.value,"onUpdate:modelValue":gt},null,8,[`model-value`]),E(_(T),{label:_(O)(`projectDetail.manageEnvironments`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,onClick:n[2]||=e=>_(k).push({name:`environments`,params:{projectId:P.value.id}})},null,8,[`label`])]),E(_(Ce),{class:`info-card`},{content:l(()=>[h(`div`,Ae,[h(`div`,je,[h(`span`,Me,f(_(O)(`common.name`)),1),U.value?(i(),c(`div`,Ne,[E(_(v),{modelValue:G.value,"onUpdate:modelValue":n[3]||=e=>G.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(mt,[`enter`]),n[4]||=o(e=>U.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:mt},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[5]||=e=>U.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:ft},[C(f(P.value.name)+` `,1),n[20]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))]),h(`div`,Pe,[h(`span`,Fe,f(_(O)(`common.description`)),1),W.value?(i(),c(`div`,Ie,[E(_(v),{modelValue:K.value,"onUpdate:modelValue":n[6]||=e=>K.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(ht,[`enter`]),n[7]||=o(e=>W.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:ht},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[8]||=e=>W.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:pt},[C(f(P.value.description||_(O)(`projectDetail.noDescription`))+` `,1),n[21]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))])])]),_:1}),h(`div`,Le,[h(`div`,Re,[h(`h2`,null,f(_(O)(`projectDetail.services`)),1),h(`div`,ze,[E(_(de),null,{default:l(()=>[E(_(t),{class:`pi pi-search`}),E(_(v),{modelValue:J.value,"onUpdate:modelValue":n[9]||=e=>J.value=e,placeholder:_(O)(`projectDetail.searchServices`),size:`small`},null,8,[`modelValue`,`placeholder`])]),_:1}),E(_(T),{label:_(O)(`projectDetail.addExisting`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,disabled:it.value.length===0,onClick:n[10]||=e=>Y.value=!0},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`projectDetail.createNew`),icon:`pi pi-plus-circle`,size:`small`,onClick:n[11]||=e=>_(k).push({name:`service-create`,query:{projectId:P.value.id}})},null,8,[`label`])])]),Q.value.length>0?(i(),p(_(Se),{key:0,value:nt.value,stripedRows:``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20],class:`services-table`},{default:l(()=>[E(_(D),{field:`name`,header:_(O)(`projectDetail.nameColumn`)},{body:l(({data:e})=>[E(_(ee),{to:{name:`service-detail`,params:{id:e.id}},class:`service-name`,"data-testid":`service-row-link`},{default:l(()=>[C(f(e.name),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),E(_(D),{field:`runner`,header:_(O)(`projectDetail.runnerColumn`),style:{width:`80px`}},{body:l(({data:e})=>[E(_(x),{value:e.runner,severity:e.runner===`docker`?`warn`:`info`},null,8,[`value`,`severity`])]),_:1},8,[`header`]),E(_(D),{field:`ports`,header:_(O)(`projectDetail.portsColumn`),style:{width:`100px`}},{body:l(({data:e})=>[C(f(e.ports?.length?e.ports.join(`, `):`-`),1)]),_:1},8,[`header`]),E(_(D),{header:_(O)(`common.status`),style:{width:`70px`}},{body:l(({data:e})=>[$(e.id)?(i(),p(_(x),{key:0,value:$(e.id).state,severity:$(e.id).state===`running`?`success`:$(e.id).state===`errored`?`danger`:`secondary`},null,8,[`value`,`severity`])):(i(),c(`span`,Be,`-`))]),_:1},8,[`header`]),E(_(D),{header:_(O)(`projectDetail.actionsColumn`),style:{width:`130px`}},{body:l(({data:e})=>[h(`div`,Ve,[!$(e.id)||at($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-play`,severity:`success`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`start`,onClick:t=>ct(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.start`),void 0,{top:!0}]]):g(``,!0),$(e.id)&&ot($(e.id).state)?(i(),c(a,{key:1},[d(E(_(T),{icon:`pi pi-stop`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`stop`,onClick:t=>lt(e)},null,8,[`disabled`,`loading`,`onClick`]),[[r,_(O)(`actions.stop`),void 0,{top:!0}]]),st($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-refresh`,severity:`warn`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`restart`,onClick:t=>ut(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.restart`),void 0,{top:!0}]]):g(``,!0)],64)):g(``,!0),d(E(_(T),{icon:`pi pi-minus-circle`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t=>yt(e.id,e.name)},null,8,[`onClick`]),[[r,_(O)(`projectDetail.removeFromProject`),void 0,{top:!0}]])])]),_:1},8,[`header`])]),_:1},8,[`value`])):(i(),c(`div`,He,[h(`p`,null,f(_(O)(`projectDetail.noServices`)),1)]))]),E(_(b),{visible:Y.value,"onUpdate:visible":n[14]||=e=>Y.value=e,header:_(O)(`projectDetail.addExistingService`),style:{width:`450px`},modal:``,closable:!Z.value},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:Z.value,onClick:n[13]||=e=>Y.value=!1},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`actions.add`),icon:`pi pi-plus`,loading:Z.value,disabled:!X.value,onClick:vt},null,8,[`label`,`loading`,`disabled`])]),default:l(()=>[h(`div`,Ue,[h(`label`,We,f(_(O)(`projectDetail.selectService`)),1),E(_(m),{inputId:`projdetail-select-service`,modelValue:X.value,"onUpdate:modelValue":n[12]||=e=>X.value=e,options:it.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.chooseServicePlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`]),E(_(b),{visible:z.value,"onUpdate:visible":n[18]||=e=>z.value=e,header:_(O)(`projectDetail.cloud.title`),modal:``,style:{width:`30rem`}},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:V.value,onClick:n[17]||=e=>z.value=!1},null,8,[`label`,`disabled`]),_(L)?(i(),p(_(T),{key:0,label:_(O)(`projectDetail.cloud.store`),icon:`pi pi-cloud-upload`,loading:V.value,disabled:!B.value,onClick:tt},null,8,[`label`,`loading`,`disabled`])):g(``,!0)]),default:l(()=>[_(L)?(i(),c(`div`,Ke,[h(`p`,null,f(_(O)(`projectDetail.cloud.description`)),1),_(R).organizations.value.length?(i(),c(`div`,Je,[h(`label`,Ye,f(_(O)(`projectDetail.cloud.orgLabel`)),1),E(_(m),{inputId:`cloud-org-select`,modelValue:B.value,"onUpdate:modelValue":n[16]||=e=>B.value=e,options:_(R).organizations.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.cloud.orgPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])):(i(),c(`div`,qe,f(_(O)(`projectDetail.cloud.noOrgs`)),1)),H.value?(i(),p(_(ye),{key:2,severity:`error`,closable:!1},{default:l(()=>[C(f(H.value),1)]),_:1})):g(``,!0)])):(i(),c(`div`,Ge,[h(`p`,null,f(_(O)(`projectDetail.cloud.notConnected`)),1),E(_(T),{label:_(O)(`projectDetail.cloud.goToAccount`),icon:`pi pi-user`,onClick:n[15]||=e=>_(k).push({name:`cloud-account`})},null,8,[`label`])]))]),_:1},8,[`visible`,`header`])],64)):(i(),c(`div`,Ee,[n[19]||=h(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`}},null,-1),h(`p`,null,f(_(O)(`projectDetail.notFound`)),1),E(_(T),{label:_(O)(`projectDetail.backToProjects`),icon:`pi pi-arrow-left`,onClick:n[0]||=e=>_(k).push({name:`projects`})},null,8,[`label`])]))])}}}),[[`__scopeId`,`data-v-5cd746e7`]]);export{O as default};
@@ -1 +1 @@
1
- import{$ as e,At as t,Ei as n,En as r,Fn as i,Gr as a,Hr as o,Jr as ee,Oi as s,Qr as c,R as l,Si as u,Ui as d,Vt as f,Xi as p,Xr as m,Yr as h,Z as g,Zr as _,_a as v,ai as y,an as b,ca as x,dn as S,jn as C,ln as w,mn as T,ni as E,pn as D,ri as O}from"./index-CcDpHMIW.js";import{t as k}from"./card-DGaeJPst.js";var A={class:`card-title-row`},j={class:`card-title`},M={class:`card-description`},N={class:`card-meta`},P={class:`meta-item`},F=w(y({__name:`ProjectCard`,props:{project:{}},emits:[`click`],setup(e,{emit:t}){let r=t;function i(e,t){return!e||e.length<=t?e||``:e.slice(0,t)+`...`}return(t,a)=>(n(),m(v(k),{class:`project-card`,onClick:a[0]||=e=>r(`click`)},{title:d(()=>[h(`div`,A,[h(`span`,j,p(e.project.name),1),O(v(T),{value:e.project.serviceIds.length,severity:`info`},null,8,[`value`])])]),content:d(()=>[h(`p`,M,p(i(e.project.description??``,120)),1),h(`div`,N,[h(`span`,P,[a[1]||=h(`i`,{class:`pi pi-box`},null,-1),E(` `+p(e.project.serviceIds.length)+` service`+p(e.project.serviceIds.length===1?``:`s`),1)])])]),_:1}))}}),[[`__scopeId`,`data-v-8a0b8178`]]),I={class:`project-list-page`},L={class:`page-header`},R={class:`search-bar`},z={class:`p-input-icon-left search-input-wrapper`},B={key:0,class:`loading-container`},V={key:1,class:`error-container`},H={key:2,class:`empty-container`},U={key:0},W={key:1},G={key:3,class:`project-grid`},K={class:`form-group`},q={for:`project-name`},J={class:`form-group`},Y={for:`project-desc`},X=w(y({__name:`ProjectListPage`,setup(y){let{t:w}=i(),T=r(),E=C(),k=g(),A=t(),j=x(``),M=x(!1),N=x(!1),P=x({name:``,description:``}),X=ee(()=>{let e=j.value.toLowerCase().trim();return e?k.projects.filter(t=>t.name.toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)):k.projects});u(()=>{k.fetchAll()});function Z(e){A.setActiveProject(e.id),T.push({name:`project-detail`,params:{projectId:e.id}})}function Q(){P.value={name:``,description:``},M.value=!0}async function $(){if(P.value.name.trim()){N.value=!0;try{let e=await f.project.create.mutate({name:P.value.name.trim(),description:P.value.description.trim()||void 0});E.add({severity:`success`,summary:w(`projectList.created`),detail:w(`projectList.createdDetail`,{name:e.name}),life:3e3}),M.value=!1,await k.fetchAll(),T.push({name:`project-detail`,params:{projectId:e.id}})}catch(t){E.add({severity:`error`,summary:w(`projectList.error`),detail:e(t)??w(`projectList.failedToCreate`),life:5e3})}finally{N.value=!1}}}return(e,t)=>(n(),c(`div`,I,[h(`div`,L,[h(`h1`,null,p(v(w)(`projectList.title`)),1),O(v(D),{label:v(w)(`projectList.newProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`])]),h(`div`,R,[h(`span`,z,[t[6]||=h(`i`,{class:`pi pi-search`},null,-1),O(v(b),{modelValue:j.value,"onUpdate:modelValue":t[0]||=e=>j.value=e,placeholder:v(w)(`projectList.searchPlaceholder`),class:`search-input`},null,8,[`modelValue`,`placeholder`])])]),v(k).loading?(n(),c(`div`,B,[O(v(l))])):v(k).error?(n(),c(`div`,V,[t[7]||=h(`i`,{class:`pi pi-exclamation-triangle`},null,-1),h(`p`,null,p(v(k).error),1),O(v(D),{label:v(w)(`projectList.retry`),icon:`pi pi-refresh`,severity:`secondary`,onClick:t[1]||=e=>v(k).fetchAll()},null,8,[`label`])])):X.value.length===0?(n(),c(`div`,H,[t[8]||=h(`i`,{class:`pi pi-folder-open empty-icon`},null,-1),j.value?(n(),c(`p`,U,p(v(w)(`projectList.noMatchProjects`,{query:j.value})),1)):(n(),c(`p`,W,p(v(w)(`projectList.noProjects`)),1)),j.value?_(``,!0):(n(),m(v(D),{key:2,label:v(w)(`projectList.createProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`]))])):(n(),c(`div`,G,[(n(!0),c(a,null,s(X.value,e=>(n(),m(F,{key:e.id,project:e,"data-testid":`project-row-link`,onClick:t=>Z(e)},null,8,[`project`,`onClick`]))),128))])),O(v(S),{visible:M.value,"onUpdate:visible":t[5]||=e=>M.value=e,header:v(w)(`projectList.newProject`),style:{width:`480px`},modal:``,closable:!N.value},{footer:d(()=>[O(v(D),{label:v(w)(`projectList.cancel`),severity:`secondary`,text:``,disabled:N.value,onClick:t[4]||=e=>M.value=!1},null,8,[`label`,`disabled`]),O(v(D),{label:v(w)(`projectList.create`),icon:`pi pi-check`,loading:N.value,disabled:!P.value.name.trim(),onClick:$},null,8,[`label`,`loading`,`disabled`])]),default:d(()=>[h(`div`,K,[h(`label`,q,p(v(w)(`projectList.nameLabel`)),1),O(v(b),{id:`project-name`,modelValue:P.value.name,"onUpdate:modelValue":t[2]||=e=>P.value.name=e,placeholder:v(w)(`projectList.namePlaceholder`),class:`w-full`,autofocus:``,onKeyup:o($,[`enter`])},null,8,[`modelValue`,`placeholder`])]),h(`div`,J,[h(`label`,Y,p(v(w)(`projectList.descriptionLabel`)),1),O(v(b),{id:`project-desc`,modelValue:P.value.description,"onUpdate:modelValue":t[3]||=e=>P.value.description=e,placeholder:v(w)(`projectList.descriptionPlaceholder`),class:`w-full`,onKeyup:o($,[`enter`])},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`])]))}}),[[`__scopeId`,`data-v-0e09c7cb`]]);export{X as default};
1
+ import{$ as e,At as t,Ei as n,En as r,Fn as i,Gr as a,Hr as o,Jr as ee,Oi as s,Qr as c,R as l,Si as u,Ui as d,Vt as f,Xi as p,Xr as m,Yr as h,Z as g,Zr as _,_a as v,ai as y,an as b,ca as x,dn as S,jn as C,ln as w,mn as T,ni as E,pn as D,ri as O}from"./index-Fqxj8mF_.js";import{t as k}from"./card-DNDtiYy8.js";var A={class:`card-title-row`},j={class:`card-title`},M={class:`card-description`},N={class:`card-meta`},P={class:`meta-item`},F=w(y({__name:`ProjectCard`,props:{project:{}},emits:[`click`],setup(e,{emit:t}){let r=t;function i(e,t){return!e||e.length<=t?e||``:e.slice(0,t)+`...`}return(t,a)=>(n(),m(v(k),{class:`project-card`,onClick:a[0]||=e=>r(`click`)},{title:d(()=>[h(`div`,A,[h(`span`,j,p(e.project.name),1),O(v(T),{value:e.project.serviceIds.length,severity:`info`},null,8,[`value`])])]),content:d(()=>[h(`p`,M,p(i(e.project.description??``,120)),1),h(`div`,N,[h(`span`,P,[a[1]||=h(`i`,{class:`pi pi-box`},null,-1),E(` `+p(e.project.serviceIds.length)+` service`+p(e.project.serviceIds.length===1?``:`s`),1)])])]),_:1}))}}),[[`__scopeId`,`data-v-8a0b8178`]]),I={class:`project-list-page`},L={class:`page-header`},R={class:`search-bar`},z={class:`p-input-icon-left search-input-wrapper`},B={key:0,class:`loading-container`},V={key:1,class:`error-container`},H={key:2,class:`empty-container`},U={key:0},W={key:1},G={key:3,class:`project-grid`},K={class:`form-group`},q={for:`project-name`},J={class:`form-group`},Y={for:`project-desc`},X=w(y({__name:`ProjectListPage`,setup(y){let{t:w}=i(),T=r(),E=C(),k=g(),A=t(),j=x(``),M=x(!1),N=x(!1),P=x({name:``,description:``}),X=ee(()=>{let e=j.value.toLowerCase().trim();return e?k.projects.filter(t=>t.name.toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)):k.projects});u(()=>{k.fetchAll()});function Z(e){A.setActiveProject(e.id),T.push({name:`project-detail`,params:{projectId:e.id}})}function Q(){P.value={name:``,description:``},M.value=!0}async function $(){if(P.value.name.trim()){N.value=!0;try{let e=await f.project.create.mutate({name:P.value.name.trim(),description:P.value.description.trim()||void 0});E.add({severity:`success`,summary:w(`projectList.created`),detail:w(`projectList.createdDetail`,{name:e.name}),life:3e3}),M.value=!1,await k.fetchAll(),T.push({name:`project-detail`,params:{projectId:e.id}})}catch(t){E.add({severity:`error`,summary:w(`projectList.error`),detail:e(t)??w(`projectList.failedToCreate`),life:5e3})}finally{N.value=!1}}}return(e,t)=>(n(),c(`div`,I,[h(`div`,L,[h(`h1`,null,p(v(w)(`projectList.title`)),1),O(v(D),{label:v(w)(`projectList.newProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`])]),h(`div`,R,[h(`span`,z,[t[6]||=h(`i`,{class:`pi pi-search`},null,-1),O(v(b),{modelValue:j.value,"onUpdate:modelValue":t[0]||=e=>j.value=e,placeholder:v(w)(`projectList.searchPlaceholder`),class:`search-input`},null,8,[`modelValue`,`placeholder`])])]),v(k).loading?(n(),c(`div`,B,[O(v(l))])):v(k).error?(n(),c(`div`,V,[t[7]||=h(`i`,{class:`pi pi-exclamation-triangle`},null,-1),h(`p`,null,p(v(k).error),1),O(v(D),{label:v(w)(`projectList.retry`),icon:`pi pi-refresh`,severity:`secondary`,onClick:t[1]||=e=>v(k).fetchAll()},null,8,[`label`])])):X.value.length===0?(n(),c(`div`,H,[t[8]||=h(`i`,{class:`pi pi-folder-open empty-icon`},null,-1),j.value?(n(),c(`p`,U,p(v(w)(`projectList.noMatchProjects`,{query:j.value})),1)):(n(),c(`p`,W,p(v(w)(`projectList.noProjects`)),1)),j.value?_(``,!0):(n(),m(v(D),{key:2,label:v(w)(`projectList.createProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`]))])):(n(),c(`div`,G,[(n(!0),c(a,null,s(X.value,e=>(n(),m(F,{key:e.id,project:e,"data-testid":`project-row-link`,onClick:t=>Z(e)},null,8,[`project`,`onClick`]))),128))])),O(v(S),{visible:M.value,"onUpdate:visible":t[5]||=e=>M.value=e,header:v(w)(`projectList.newProject`),style:{width:`480px`},modal:``,closable:!N.value},{footer:d(()=>[O(v(D),{label:v(w)(`projectList.cancel`),severity:`secondary`,text:``,disabled:N.value,onClick:t[4]||=e=>M.value=!1},null,8,[`label`,`disabled`]),O(v(D),{label:v(w)(`projectList.create`),icon:`pi pi-check`,loading:N.value,disabled:!P.value.name.trim(),onClick:$},null,8,[`label`,`loading`,`disabled`])]),default:d(()=>[h(`div`,K,[h(`label`,q,p(v(w)(`projectList.nameLabel`)),1),O(v(b),{id:`project-name`,modelValue:P.value.name,"onUpdate:modelValue":t[2]||=e=>P.value.name=e,placeholder:v(w)(`projectList.namePlaceholder`),class:`w-full`,autofocus:``,onKeyup:o($,[`enter`])},null,8,[`modelValue`,`placeholder`])]),h(`div`,J,[h(`label`,Y,p(v(w)(`projectList.descriptionLabel`)),1),O(v(b),{id:`project-desc`,modelValue:P.value.description,"onUpdate:modelValue":t[3]||=e=>P.value.description=e,placeholder:v(w)(`projectList.descriptionPlaceholder`),class:`w-full`,onKeyup:o($,[`enter`])},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`])]))}}),[[`__scopeId`,`data-v-0e09c7cb`]]);export{X as default};
@@ -1,2 +1,2 @@
1
- import{Ei as e,Qr as t,Si as n,Vt as r,Xi as i,Yr as a,_a as o,ai as s,ca as c,hi as l,ln as u,ni as d,pn as f,ri as p,wi as m}from"./index-CcDpHMIW.js";var h={class:`random-job-test`},g={class:`random-job-test__actions`},_={class:`random-job-test__meta`},v={key:0,class:`random-job-test__empty`},y={key:1},b=`runeya:random-job-test:job-id`,x=`runeya:random-job-test:logs`,S=u(s({__name:`RandomJobTestPage`,setup(s){let u=c(null),S=c(!1),C=c([]),w=c(null),T=null;function E(){u.value?sessionStorage.setItem(b,u.value):sessionStorage.removeItem(b),sessionStorage.setItem(x,JSON.stringify(C.value))}function D(e){C.value=[...C.value,e],C.value.length>2e3&&(C.value=C.value.slice(C.value.length-2e3)),E(),l(()=>{w.value&&(w.value.scrollTop=w.value.scrollHeight)})}function O(){T?.unsubscribe(),T=null}function k(e){O(),T=r.debug.streamRandomJob.subscribe({jobId:e},{onData(e){e.type===`tick`?D(`[${new Date(e.at).toLocaleTimeString()}] #${e.index} -> ${e.value.toFixed(8)}`):(D(`[${new Date(e.at).toLocaleTimeString()}] done: ${e.reason}`),S.value=!1,u.value=null,E())},onError(e){D(`[sub] error: ${e.message}`),S.value=!1,E()},onComplete(){D(`[sub] complete`),S.value=!1,E()}}),D(`[sub] started for job ${e}`)}async function A(){if(S.value)return;C.value=[],E();let e=await r.debug.startRandomJob.mutate({intervalMs:300,maxTicks:1e3});u.value=e.jobId,S.value=!0,E(),D(`[job] started id=${e.jobId}, intervalMs=${e.intervalMs}, maxTicks=${e.maxTicks}`),k(e.jobId)}async function j(){if(u.value)try{await r.debug.stopRandomJob.mutate({jobId:u.value}),D(`[job] stop requested id=${u.value}`),S.value=!1,u.value=null,E()}catch(e){D(`[job] stop error: ${e.message}`)}}function M(){C.value=[],E()}return n(async()=>{let e=sessionStorage.getItem(x);if(e)try{let t=JSON.parse(e);Array.isArray(t)&&(C.value=t)}catch{}let t=sessionStorage.getItem(b);if(t){u.value=t;try{let e=await r.debug.randomJobStatus.query({jobId:t});S.value=e.running,E(),e.running?(D(`[job] reconnected id=${t}, tick=${e.tick}`),k(t)):(D(`[job] previous job ended (id=${t})`),u.value=null,E())}catch{S.value=!1,u.value=null,D(`[job] previous job not found`),E()}}}),m(()=>{O()}),(n,r)=>(e(),t(`div`,h,[r[3]||=a(`header`,{class:`random-job-test__header`},[a(`h1`,null,`Random Job Test`),a(`p`,null,`Click start to launch a server job and stream Math.random() values in real time.`)],-1),a(`div`,g,[p(o(f),{label:`Start job`,icon:`pi pi-play`,disabled:S.value,onClick:A},null,8,[`disabled`]),p(o(f),{label:`Stop`,icon:`pi pi-stop`,severity:`danger`,disabled:!S.value,onClick:j},null,8,[`disabled`]),p(o(f),{label:`Clear logs`,icon:`pi pi-trash`,severity:`secondary`,outlined:``,onClick:M})]),a(`div`,_,[a(`span`,null,[r[0]||=a(`strong`,null,`Job ID:`,-1),d(` `+i(u.value??`none`),1)]),a(`span`,null,[r[1]||=a(`strong`,null,`Status:`,-1),d(` `+i(S.value?`running`:`idle`),1)]),a(`span`,null,[r[2]||=a(`strong`,null,`Lines:`,-1),d(` `+i(C.value.length),1)])]),a(`section`,{ref_key:`logsEl`,ref:w,class:`random-job-test__logs`,"aria-live":`polite`},[C.value.length===0?(e(),t(`div`,v,`No logs yet.`)):(e(),t(`pre`,y,i(C.value.join(`
1
+ import{Ei as e,Qr as t,Si as n,Vt as r,Xi as i,Yr as a,_a as o,ai as s,ca as c,hi as l,ln as u,ni as d,pn as f,ri as p,wi as m}from"./index-Fqxj8mF_.js";var h={class:`random-job-test`},g={class:`random-job-test__actions`},_={class:`random-job-test__meta`},v={key:0,class:`random-job-test__empty`},y={key:1},b=`runeya:random-job-test:job-id`,x=`runeya:random-job-test:logs`,S=u(s({__name:`RandomJobTestPage`,setup(s){let u=c(null),S=c(!1),C=c([]),w=c(null),T=null;function E(){u.value?sessionStorage.setItem(b,u.value):sessionStorage.removeItem(b),sessionStorage.setItem(x,JSON.stringify(C.value))}function D(e){C.value=[...C.value,e],C.value.length>2e3&&(C.value=C.value.slice(C.value.length-2e3)),E(),l(()=>{w.value&&(w.value.scrollTop=w.value.scrollHeight)})}function O(){T?.unsubscribe(),T=null}function k(e){O(),T=r.debug.streamRandomJob.subscribe({jobId:e},{onData(e){e.type===`tick`?D(`[${new Date(e.at).toLocaleTimeString()}] #${e.index} -> ${e.value.toFixed(8)}`):(D(`[${new Date(e.at).toLocaleTimeString()}] done: ${e.reason}`),S.value=!1,u.value=null,E())},onError(e){D(`[sub] error: ${e.message}`),S.value=!1,E()},onComplete(){D(`[sub] complete`),S.value=!1,E()}}),D(`[sub] started for job ${e}`)}async function A(){if(S.value)return;C.value=[],E();let e=await r.debug.startRandomJob.mutate({intervalMs:300,maxTicks:1e3});u.value=e.jobId,S.value=!0,E(),D(`[job] started id=${e.jobId}, intervalMs=${e.intervalMs}, maxTicks=${e.maxTicks}`),k(e.jobId)}async function j(){if(u.value)try{await r.debug.stopRandomJob.mutate({jobId:u.value}),D(`[job] stop requested id=${u.value}`),S.value=!1,u.value=null,E()}catch(e){D(`[job] stop error: ${e.message}`)}}function M(){C.value=[],E()}return n(async()=>{let e=sessionStorage.getItem(x);if(e)try{let t=JSON.parse(e);Array.isArray(t)&&(C.value=t)}catch{}let t=sessionStorage.getItem(b);if(t){u.value=t;try{let e=await r.debug.randomJobStatus.query({jobId:t});S.value=e.running,E(),e.running?(D(`[job] reconnected id=${t}, tick=${e.tick}`),k(t)):(D(`[job] previous job ended (id=${t})`),u.value=null,E())}catch{S.value=!1,u.value=null,D(`[job] previous job not found`),E()}}}),m(()=>{O()}),(n,r)=>(e(),t(`div`,h,[r[3]||=a(`header`,{class:`random-job-test__header`},[a(`h1`,null,`Random Job Test`),a(`p`,null,`Click start to launch a server job and stream Math.random() values in real time.`)],-1),a(`div`,g,[p(o(f),{label:`Start job`,icon:`pi pi-play`,disabled:S.value,onClick:A},null,8,[`disabled`]),p(o(f),{label:`Stop`,icon:`pi pi-stop`,severity:`danger`,disabled:!S.value,onClick:j},null,8,[`disabled`]),p(o(f),{label:`Clear logs`,icon:`pi pi-trash`,severity:`secondary`,outlined:``,onClick:M})]),a(`div`,_,[a(`span`,null,[r[0]||=a(`strong`,null,`Job ID:`,-1),d(` `+i(u.value??`none`),1)]),a(`span`,null,[r[1]||=a(`strong`,null,`Status:`,-1),d(` `+i(S.value?`running`:`idle`),1)]),a(`span`,null,[r[2]||=a(`strong`,null,`Lines:`,-1),d(` `+i(C.value.length),1)])]),a(`section`,{ref_key:`logsEl`,ref:w,class:`random-job-test__logs`,"aria-live":`polite`},[C.value.length===0?(e(),t(`div`,v,`No logs yet.`)):(e(),t(`pre`,y,i(C.value.join(`
2
2
  `)),1))],512)]))}}),[[`__scopeId`,`data-v-96a75827`]]);export{S as default};