@runeya/runeya 2.0.74 → 2.0.76

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 (208) hide show
  1. package/agent/index.js.map +1 -1
  2. package/agent-manager-DM6C7BTF.js +7 -0
  3. package/{chunk-JRXAQNAC.js → chunk-E2SU5RSO.js} +10 -2
  4. package/{chunk-JRXAQNAC.js.map → chunk-E2SU5RSO.js.map} +1 -1
  5. package/{desktop-launcher-TM7AABMC.js → desktop-launcher-4BVDZ3W4.js} +8 -4
  6. package/desktop-launcher-4BVDZ3W4.js.map +1 -0
  7. package/index.js +8 -3
  8. package/index.js.map +1 -1
  9. package/package.json +1 -1
  10. package/{src-YG67XURV.js → src-MEMRUBM6.js} +6 -6
  11. package/src-MEMRUBM6.js.map +1 -0
  12. package/web/assets/{AgentScalarChatInterface.vue-CHi2dFEc.js → AgentScalarChatInterface.vue-CbsV-wvF.js} +1 -1
  13. package/web/assets/{AgentTerminalPage-BvdfOTep.js → AgentTerminalPage-CFX_cNje.js} +1 -1
  14. package/web/assets/AiChatPage-aNp-79bj.js +1 -0
  15. package/web/assets/AppLayout-C8SJH7E2.js +1 -0
  16. package/web/assets/{AppLayout-Cvn5Nj7U.css → AppLayout-Dvr7plrF.css} +1 -1
  17. package/web/assets/{AuditPage-EqCcRjr9.js → AuditPage-mPkN9IPs.js} +1 -1
  18. package/web/assets/CloudAccountPage--8gMHEov.js +1 -0
  19. package/web/assets/{CloudAccountPage-BUjzLwjW.js → CloudAccountPage-DwfKS8Ui.js} +1 -1
  20. package/web/assets/{CloudMessagingPage-BrZRNxlZ.js → CloudMessagingPage-BZda9W4V.js} +1 -1
  21. package/web/assets/{DashboardPage-B6MhaCCj.js → DashboardPage-BYoHvCSW.js} +1 -1
  22. package/web/assets/{DirectoryPickerDialog-3m0wiBWG.js → DirectoryPickerDialog-GjBksDRF.js} +1 -1
  23. package/web/assets/{EditorIcon-DVd7Gn4R.js → EditorIcon-BGndPLGm.js} +1 -1
  24. package/web/assets/{EnvironmentForm-CbYQ53vB.js → EnvironmentForm-5X5MccdS.js} +1 -1
  25. package/web/assets/{EnvironmentFormPage-mnSwPbUr.js → EnvironmentFormPage-pWcZotB8.js} +1 -1
  26. package/web/assets/{EnvironmentListPage-kFhmundZ.js → EnvironmentListPage-D1u5GOUq.js} +1 -1
  27. package/web/assets/{KanbanBoardPage-cgbSqPnz.js → KanbanBoardPage-B61sIHjE.js} +3 -3
  28. package/web/assets/{KanbanListPage-D4xaJzdt.js → KanbanListPage-Dsg1wA9V.js} +1 -1
  29. package/web/assets/{LaunchProjectPage-Boxl4Dja.js → LaunchProjectPage-BzLfT9xo.js} +1 -1
  30. package/web/assets/{LaunchServicesPage-D-FjI4AR.js → LaunchServicesPage-DxRtzyc-.js} +1 -1
  31. package/web/assets/{LogViewer-Dy7SyJwf.js → LogViewer-DCTx3ncv.js} +1 -1
  32. package/web/assets/{OrgKeyPrompt-Ctjsqp3s.js → OrgKeyPrompt-DGVXqIwV.js} +1 -1
  33. package/web/assets/{ProcessControls-DMG-C-9V.js → ProcessControls-CKHLGdip.js} +1 -1
  34. package/web/assets/{ProcessDetailPage-CroZuFui.js → ProcessDetailPage-BTcbsw0H.js} +1 -1
  35. package/web/assets/{ProcessMetrics-QAK1AZsb.js → ProcessMetrics-B0mOAjpt.js} +1 -1
  36. package/web/assets/{ProjectDetailPage-CvHH1DfL.js → ProjectDetailPage-Do50Toy3.js} +1 -1
  37. package/web/assets/{ProjectListPage-DAXodWJP.js → ProjectListPage-FhR5Gkub.js} +1 -1
  38. package/web/assets/{RandomJobTestPage-DZ_xOlfL.js → RandomJobTestPage-CT1XUQ7l.js} +1 -1
  39. package/web/assets/{ScenarioEditorPage-CODJ_St4.js → ScenarioEditorPage-CAZ18fLj.js} +1 -1
  40. package/web/assets/{SendToChatDialog-DhVM2ESX.js → SendToChatDialog-3VcAeiLB.js} +1 -1
  41. package/web/assets/ServiceControlsBar-DMibK9Gk.js +1 -0
  42. package/web/assets/{ServiceDetailPage-Di9SzpJw.css → ServiceDetailPage-DVOQdgmZ.css} +1 -1
  43. package/web/assets/ServiceDetailPage-DzTdnnmK.js +2 -0
  44. package/web/assets/{ServiceFormPage-MDqY-U7o.js → ServiceFormPage-C3Av0wu_.js} +1 -1
  45. package/web/assets/SettingsPage-Cb4cXWBn.js +2063 -0
  46. package/web/assets/{SettingsPage-CKRCL18-.css → SettingsPage-CeFOjH68.css} +1 -1
  47. package/web/assets/{UnlockPage-Blh0YpJC.js → UnlockPage-Cj9f3u9P.js} +1 -1
  48. package/web/assets/{VariablesTable-BTAp4k6f.js → VariablesTable-_m1LCIc1.js} +1 -1
  49. package/web/assets/{VaultMigrationPage-B7TK6Yjh.js → VaultMigrationPage-4-aYgpPb.js} +1 -1
  50. package/web/assets/{VersionBadge-Buin8AuA.js → VersionBadge-D-5Wk-zP.js} +1 -1
  51. package/web/assets/WikiPage-Dr0BjWqx.js +1 -0
  52. package/web/assets/{WikiView-BgCUaLa6.js → WikiView-Zx8Prvim.js} +1 -1
  53. package/web/assets/{add-scalar-classes-CKwuR5ZQ.js → add-scalar-classes-Bj8wq_Hs.js} +3 -3
  54. package/web/assets/auth-errors-C98TqTeb.js +1 -0
  55. package/web/assets/{autocomplete-0aIbUwlr.js → autocomplete-CGdex9-e.js} +1 -1
  56. package/web/assets/{basic-shape-diamond.svg-BTTsBN8v.js → basic-shape-diamond.svg-qeeRnNFT.js} +1 -1
  57. package/web/assets/{basic-shape-hexagon.svg-CbALgV8W.js → basic-shape-hexagon.svg-CIlKhfGT.js} +1 -1
  58. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CM2Rc-Vc.js → basic-shape-primary-circle-ellipse-round.svg-BqolxHsi.js} +1 -1
  59. package/web/assets/{basic-shape-primary-square-rectangle.svg-CQ1KoMjn.js → basic-shape-primary-square-rectangle.svg-CpdZYdXX.js} +1 -1
  60. package/web/assets/{basic-shape-shield.svg-1lqFtlO8.js → basic-shape-shield.svg-Dxhs7gEl.js} +1 -1
  61. package/web/assets/{browser-W4YisEmh.js → browser-DN1U-HwX.js} +1 -1
  62. package/web/assets/{browser-BhYmZa45.js → browser-I2oYlD2i.js} +1 -1
  63. package/web/assets/{card-CLPFpENW.js → card-DtzNVDSZ.js} +1 -1
  64. package/web/assets/{checkbox-xXts-zyO.js → checkbox-GeePBqgX.js} +1 -1
  65. package/web/assets/{chip-BDaJibPj.js → chip-BHIwNcot.js} +1 -1
  66. package/web/assets/{client-B0jAuhqn.js → client-BDHmFNrH.js} +1 -1
  67. package/web/assets/{cloud-chat.store-B4mu3u7F.js → cloud-chat.store-B20ZLeeR.js} +1 -1
  68. package/web/assets/{cloud-session-CPlXmpSe.js → cloud-session-BjfhcCqc.js} +1 -1
  69. package/web/assets/{column-grBnjbWs.js → column-DXHLG_CF.js} +1 -1
  70. package/web/assets/{computer-device-desktop-monitor.svg-BixhDvwl.js → computer-device-desktop-monitor.svg-cgtj7qaG.js} +1 -1
  71. package/web/assets/{computer-device-desktop.svg-ZmA0L2qL.js → computer-device-desktop.svg-CtASuIzj.js} +1 -1
  72. package/web/assets/{computer-device-laptop.svg-BbdJBfg2.js → computer-device-laptop.svg-Bgrj-X1s.js} +1 -1
  73. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-BzFWE61G.js → computer-device-mobile-phone-android-samsung-back.svg-BdGuG_w_.js} +1 -1
  74. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-BDtiMsFX.js → computer-device-mobile-phone-android-samsung.svg-BRGfdLz4.js} +1 -1
  75. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-DM6YheEO.js → computer-device-mobile-phone-iphone-x-back.svg-AqEKxnYo.js} +1 -1
  76. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-Bp3jERFh.js → computer-device-mobile-phone-iphone-x.svg-DWFt-koa.js} +1 -1
  77. package/web/assets/{computer-device-mobile-tablet-touch.svg-CFlGkb9z.js → computer-device-mobile-tablet-touch.svg-DJ52OpYh.js} +1 -1
  78. package/web/assets/{computer-device-mobile-tablet.svg-BZBxeC6-.js → computer-device-mobile-tablet.svg-Ce_rWOZi.js} +1 -1
  79. package/web/assets/{computer-device-network-ethernet-cat6.svg-Cx3VdpRS.js → computer-device-network-ethernet-cat6.svg-DB9SlCtA.js} +1 -1
  80. package/web/assets/{computer-device-network-lan-www.svg-kpYR7ArK.js → computer-device-network-lan-www.svg-lHja183-.js} +1 -1
  81. package/web/assets/{computer-device-network-wifi-connection.svg-CWV3wPXN.js → computer-device-network-wifi-connection.svg-B1zLcvJN.js} +1 -1
  82. package/web/assets/{computer-device-network-wifi-router.svg-CzE7DHvd.js → computer-device-network-wifi-router.svg-Drrwd9xP.js} +1 -1
  83. package/web/assets/{cssMode-COP0Vc--.js → cssMode-D9jO-uTl.js} +1 -1
  84. package/web/assets/{divider-BgzI-Lls.js → divider-B0vBDWbW.js} +1 -1
  85. package/web/assets/{docx-preview-D9Nq99G-.js → docx-preview-BTpCoAAq.js} +1 -1
  86. package/web/assets/{ecology-science-erlenmeyer-flask.svg-Dvg9Ooy-.js → ecology-science-erlenmeyer-flask.svg--ysD_96O.js} +1 -1
  87. package/web/assets/{fieldset-DkMAzSHT.js → fieldset-BFb-WHon.js} +1 -1
  88. package/web/assets/{freemarker2-BF912KBd.js → freemarker2-DnkPMk4B.js} +1 -1
  89. package/web/assets/{handlebars-CDz6xiAj.js → handlebars-Dsj_qiK6.js} +1 -1
  90. package/web/assets/{html-DdlTee49.js → html-t_OlpWku.js} +1 -1
  91. package/web/assets/{htmlMode-BKPtJJGG.js → htmlMode-DRcQv-pv.js} +1 -1
  92. package/web/assets/{image-flash-lightning.svg-_KHhUck_.js → image-flash-lightning.svg-6f9kbrTL.js} +1 -1
  93. package/web/assets/{image-picture-flower.svg-xYdaJTim.js → image-picture-flower.svg-i7zms3Ho.js} +1 -1
  94. package/web/assets/{index-K7kdEsBo.js → index-GxI3bOA0.js} +73 -73
  95. package/web/assets/{interface-alert-exclamation-diamond.svg-DfMcMOwb.js → interface-alert-exclamation-diamond.svg-DqUMmCtJ.js} +1 -1
  96. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-HFqVNBE9.js → interface-alert-exclamation-triangle-warning.svg-DzDl1xOr.js} +1 -1
  97. package/web/assets/{interface-alert-information-circle.svg-CUOqF7qS.js → interface-alert-information-circle.svg-DmCgkGPM.js} +1 -1
  98. package/web/assets/{interface-award-crown.svg-6s7F0fMR.js → interface-award-crown.svg-C9Fbg_RB.js} +1 -1
  99. package/web/assets/{interface-bookmark.svg-CFJIMfN-.js → interface-bookmark-tag.svg-3gViLsvg.js} +1 -1
  100. package/web/assets/{interface-bookmark-tag.svg-BCyK266t.js → interface-bookmark.svg-MqIoLfKE.js} +1 -1
  101. package/web/assets/{interface-calendar-date-one.svg-DZDWCn7W.js → interface-calendar-date-one.svg-B9sbfbL9.js} +1 -1
  102. package/web/assets/{interface-content-book-open-pages.svg-DV_U01L-.js → interface-content-book-open-pages.svg-1vSNOl7u.js} +1 -1
  103. package/web/assets/{interface-content-book-page.svg-DITAHjsW.js → interface-content-book-page.svg-DIEM6xdS.js} +1 -1
  104. package/web/assets/{interface-content-file.svg-CeQU8wpF.js → interface-content-file.svg-7VSdTCse.js} +1 -1
  105. package/web/assets/{interface-content-folder.svg-CUNjtwrk.js → interface-content-folder.svg-9g1Oeyk0.js} +1 -1
  106. package/web/assets/interface-content-folder.svg-CAHYAOYi.js +1 -0
  107. package/web/assets/{interface-copy-clipboard.svg-Cpw5aWsC.js → interface-copy-clipboard.svg-aMsLLdqD.js} +1 -1
  108. package/web/assets/{interface-edit-attachment.svg-CfC-IGjI.js → interface-edit-attachment.svg-CVDpgAHo.js} +1 -1
  109. package/web/assets/{interface-edit-binocular.svg-CjYGcQSJ.js → interface-edit-binocular.svg-DCXRjTEQ.js} +1 -1
  110. package/web/assets/{interface-edit-magic-wand.svg-Wdc1CXnn.js → interface-edit-magic-wand.svg-CDrPrWdl.js} +1 -1
  111. package/web/assets/{interface-edit-tool-paint-roller.svg-BfODeBzt.js → interface-edit-tool-paint-roller.svg-UvpUIvX7.js} +1 -1
  112. package/web/assets/{interface-edit-tool-pencil.svg-D4KkDVej.js → interface-edit-tool-pencil.svg-vPXMlfGL.js} +1 -1
  113. package/web/assets/{interface-favorite-award.svg-rFwxYUIH.js → interface-favorite-award.svg-CZOrIvmM.js} +1 -1
  114. package/web/assets/{interface-favorite-flag.svg-B3aO74D4.js → interface-favorite-flag.svg-CP5RiVtW.js} +1 -1
  115. package/web/assets/{interface-favorite-heart.svg-DnLWhJhp.js → interface-favorite-heart.svg-B9yhOFXg.js} +1 -1
  116. package/web/assets/{interface-favorite-star.svg-B1bTAfnw.js → interface-favorite-star.svg-B5Iv-JuP.js} +1 -1
  117. package/web/assets/{interface-favorite-stars-sparkles.svg-Ze10JKoz.js → interface-favorite-stars-sparkles.svg-Cipb48vc.js} +1 -1
  118. package/web/assets/{interface-hierarchy-flowchart.svg-DvhnI7vM.js → interface-hierarchy-flowchart.svg-BCEm8EoC.js} +1 -1
  119. package/web/assets/{interface-home-house.svg-TpFO9U15.js → interface-home-house.svg-Bh5-1B_X.js} +1 -1
  120. package/web/assets/{interface-hyperlink.svg-B6PjuMyj.js → interface-hyperlink.svg-DmOAt5ZG.js} +1 -1
  121. package/web/assets/{interface-lighting-brightness.svg-CFNb3F8V.js → interface-lighting-brightness.svg-DhHJhRaa.js} +1 -1
  122. package/web/assets/{interface-lock-closed.svg-CRzdSCj5.js → interface-lock-closed.svg-CDyidwZF.js} +1 -1
  123. package/web/assets/{interface-lock-open-unlock.svg-o1dtCc6U.js → interface-lock-open-unlock.svg-Y-4_5Lj-.js} +1 -1
  124. package/web/assets/{interface-login-key.svg-BCRY7fi7.js → interface-login-key.svg-C8M65861.js} +1 -1
  125. package/web/assets/{interface-search.svg-CSd_UAHp.js → interface-search.svg-gkEckiep.js} +1 -1
  126. package/web/assets/{interface-setting-cog.svg-BiAFMqpv.js → interface-setting-cog.svg-B42Ru0QR.js} +1 -1
  127. package/web/assets/{interface-share-megaphone-bullhorn.svg-Bg6Nrrba.js → interface-share-megaphone-bullhorn.svg-BXgemPpH.js} +1 -1
  128. package/web/assets/{interface-share-rocket.svg-BueJTjIT.js → interface-share-rocket.svg-BpCNXSJv.js} +1 -1
  129. package/web/assets/{interface-share-satellite.svg-BPXIZysE.js → interface-share-satellite.svg-UqTKwPgB.js} +1 -1
  130. package/web/assets/{interface-share-space-ship.svg-Tpmu2ZQs.js → interface-share-space-ship.svg-LjpxJCju.js} +1 -1
  131. package/web/assets/{interface-share.svg-DZ7feWlJ.js → interface-share.svg-aTfbQymz.js} +1 -1
  132. package/web/assets/{interface-signal-square.svg-CHVwe1pi.js → interface-signal-square.svg-BV84IA7I.js} +1 -1
  133. package/web/assets/{interface-time-clock-circle.svg-DtUcGfFi.js → interface-time-clock-circle.svg-B9p8ScHG.js} +1 -1
  134. package/web/assets/{interface-time-hour-glass.svg-BNWEgOHt.js → interface-time-hour-glass.svg-4jjplFkz.js} +1 -1
  135. package/web/assets/{interface-users-multiple.svg-C1Pry5nR.js → interface-users-multiple.svg-D4nN3V4C.js} +1 -1
  136. package/web/assets/{interface-weather-moon.svg-DQx-1A-h.js → interface-weather-moon.svg-DyfDXGyQ.js} +1 -1
  137. package/web/assets/{javascript-CsXL5DT8.js → javascript-DxiQ5ZFe.js} +1 -1
  138. package/web/assets/{jsonMode-DvB3zo30.js → jsonMode-R5AgiRt8.js} +1 -1
  139. package/web/assets/{liquid-DI2z9alR.js → liquid-BPHysTNM.js} +1 -1
  140. package/web/assets/{lspLanguageFeatures-CMc4rLCM.js → lspLanguageFeatures-DVsCw49O.js} +1 -1
  141. package/web/assets/{mail-chat-bubble-square.svg-DN92EruI.js → mail-chat-bubble-square.svg-Bgj_m98i.js} +1 -1
  142. package/web/assets/{mail-send-email-paper-airplane.svg-DOaMqGHu.js → mail-send-email-paper-airplane.svg-Cmgs5A9c.js} +1 -1
  143. package/web/assets/{mail-send-envelope.svg-Co6AFlQX.js → mail-send-envelope.svg-DXtZA2de.js} +1 -1
  144. package/web/assets/{mdx-CGWf38OI.js → mdx-BmXvPH9O.js} +1 -1
  145. package/web/assets/{message-VrL-0XTF.js → message-DUmeTDJC.js} +1 -1
  146. package/web/assets/{minus-BjZ21L72.js → minus-_526hTAz.js} +1 -1
  147. package/web/assets/{modal-C6s7wXuj.js → modal-DWnz3LAY.js} +1 -1
  148. package/web/assets/modal-SaIxK3oE.js +1 -0
  149. package/web/assets/{money-cashier-receipt.svg-8Qup-ZSr.js → money-cashier-receipt.svg-BKLBvJ6k.js} +1 -1
  150. package/web/assets/{money-currency-dollar-pay.svg-CIlSYSGr.js → money-currency-dollar-pay.svg-Dy__wPDu.js} +1 -1
  151. package/web/assets/{money-graph-arrow-increase.svg-CYJyq294.js → money-graph-arrow-increase.svg-CY6efGa2.js} +1 -1
  152. package/web/assets/{money-graph-bar-chart-increase.svg-BV2pC3vV.js → money-graph-bar-chart-increase.svg-DeWwVE-h.js} +1 -1
  153. package/web/assets/{multiselect-CTA4uR0f.js → multiselect-sCEC4UBn.js} +1 -1
  154. package/web/assets/{nature-ecology-leaf.svg-Dqy1XkxJ.js → nature-ecology-leaf.svg-CiA8xWzT.js} +1 -1
  155. package/web/assets/{password-IByxJqSm.js → password-BjWenHiO.js} +1 -1
  156. package/web/assets/{phone-telephone.svg-QvU-I7Ej.js → phone-telephone.svg-DFkp7qtJ.js} +1 -1
  157. package/web/assets/{plus-TqzBK0F-.js → plus-CM2XaJYz.js} +1 -1
  158. package/web/assets/process.store-BdrVU3j7.js +1 -0
  159. package/web/assets/{programming-bug.svg-DEh0hIKm.js → programming-bug.svg-iTd4z5Bn.js} +1 -1
  160. package/web/assets/{programming-cloud.svg-B8v1xLPM.js → programming-cloud.svg-BhZ7wR70.js} +1 -1
  161. package/web/assets/{programming-computer-database-server.svg-B38-gJMV.js → programming-computer-database-server.svg-CNFgEADa.js} +1 -1
  162. package/web/assets/{programming-computer-database.svg-CSc_uTaq.js → programming-computer-database.svg-BLUoB0S3.js} +1 -1
  163. package/web/assets/{programming-module-four-layout.svg-Ct8e9N9z.js → programming-module-four-layout.svg---ShQt1c.js} +1 -1
  164. package/web/assets/{programming-module-three.svg-Cramtamu.js → programming-module-three.svg-Q915QePI.js} +1 -1
  165. package/web/assets/{programming-module.svg-_oZsSiMg.js → programming-module.svg-DGlB0gXU.js} +1 -1
  166. package/web/assets/{programming-script-code.svg-B57Dfv3U.js → programming-script-code.svg-BXqoqM0a.js} +1 -1
  167. package/web/assets/{python-CIgmiyeD.js → python-Bkcdd-GB.js} +1 -1
  168. package/web/assets/{razor-CwnddCBj.js → razor-Dgss4zhv.js} +1 -1
  169. package/web/assets/router-CkyZcpB5.js +1 -0
  170. package/web/assets/settings-scope-UnTi3EI6.js +1 -0
  171. package/web/assets/{settings.store-CPMOmi7H.js → settings.store-Bd6azayI.js} +1 -1
  172. package/web/assets/{shopping-cart.svg-9Veqyy-9.js → shopping-cart.svg-DFzDn0s3.js} +1 -1
  173. package/web/assets/{shopping-gift-present.svg-Dlo3w3e8.js → shopping-gift-present.svg-CzoIs_fz.js} +1 -1
  174. package/web/assets/{shopping-shipping-box-parcel-package.svg-BM0DDqiS.js → shopping-shipping-box-parcel-package.svg-K83gZueW.js} +1 -1
  175. package/web/assets/{src-C-LFb604.js → src-Bn8iaJpP.js} +1 -1
  176. package/web/assets/{src-9tSFXHt7.js → src-CrlKkUl0.js} +1 -1
  177. package/web/assets/{tabpanel-BlB9Tamb.js → tabpanel-B8p6e6cv.js} +1 -1
  178. package/web/assets/{tag-new-circle.svg-A1eYtb-i.js → tag-new-circle.svg-BgOrOZ_K.js} +1 -1
  179. package/web/assets/{toggleswitch-BNzkwtak.js → toggleswitch-BKr-TR6_.js} +1 -1
  180. package/web/assets/{travel-map-earth-globe.svg-DrGjwD_E.js → travel-map-earth-globe.svg-DZQQPdM1.js} +1 -1
  181. package/web/assets/trpc-CPHyoQZL.js +1 -0
  182. package/web/assets/{tsMode-D4XC6YIE.js → tsMode-BO9AVz77.js} +1 -1
  183. package/web/assets/{typescript-Dk_am5Bh.js → typescript-BVxNZ4YH.js} +1 -1
  184. package/web/assets/useAiChatDrawer-tj6s1XKR.js +1 -0
  185. package/web/assets/{useCloudOrg-Dg-9Fo9B.js → useCloudOrg-CXnReqbv.js} +3 -3
  186. package/web/assets/{useProjectCatalog-uQxqbSkg.js → useProjectCatalog-Cw3YywvF.js} +1 -1
  187. package/web/assets/{xml-CzMMYFkm.js → xml-Bv9vIo84.js} +1 -1
  188. package/web/assets/{yaml-U-6eR_c5.js → yaml-Brrhr_WI.js} +1 -1
  189. package/web/index.html +1 -1
  190. package/agent-manager-L35E7FWI.js +0 -7
  191. package/desktop-launcher-TM7AABMC.js.map +0 -1
  192. package/src-YG67XURV.js.map +0 -1
  193. package/web/assets/AiChatPage-DJ03I6Lb.js +0 -1
  194. package/web/assets/AppLayout-DLhk2bQj.js +0 -1
  195. package/web/assets/CloudAccountPage-CNxUzrAO.js +0 -1
  196. package/web/assets/ServiceControlsBar-DdvYd2xI.js +0 -1
  197. package/web/assets/ServiceDetailPage-BJRGB4fq.js +0 -2
  198. package/web/assets/SettingsPage-CeUT68wE.js +0 -2063
  199. package/web/assets/WikiPage-CJ-rNfud.js +0 -1
  200. package/web/assets/auth-errors-BSQODFsD.js +0 -1
  201. package/web/assets/interface-content-folder.svg-BCjROcNE.js +0 -1
  202. package/web/assets/modal-8HVVBuyS.js +0 -1
  203. package/web/assets/process.store-BvO7PchE.js +0 -1
  204. package/web/assets/router-Bh1D7DgU.js +0 -1
  205. package/web/assets/settings-scope-Doez2KD1.js +0 -1
  206. package/web/assets/trpc-sPb5TcJm.js +0 -1
  207. package/web/assets/useAiChatDrawer-CR-1uKnl.js +0 -1
  208. /package/{agent-manager-L35E7FWI.js.map → agent-manager-DM6C7BTF.js.map} +0 -0
@@ -1 +0,0 @@
1
- import{d as e}from"./index-K7kdEsBo.js";export{e as default};
@@ -1 +0,0 @@
1
- import{$ as e,$t as t,Bi as n,Bn as r,Bt as i,Cn as a,Dn as o,Gn as s,Hi as c,Ht as l,Jn as u,Ki as d,Kn as f,Lt as p,Na as m,On as h,Ri as g,Rn as _,Rt as v,Sn as y,T as b,Tn as x,U as S,Vt as C,Wi as w,Wn as T,Yn as E,a as D,aa as O,ai as k,da as A,di as j,er as M,fa as N,fi as P,g as F,ii as ee,ji as I,l as te,la as L,ln as R,mi as z,n as B,nt as ne,o as re,oa as V,pi as H,qi as ie,qn as ae,qr as oe,ri as se,si as U,t as ce,ta as W,u as le,ui as G,un as ue,vi as K,vn as de,wa as q,xi as J,yi as Y,yn as fe,zn as pe,zt as me}from"./index-K7kdEsBo.js";import{t as he}from"./cloud-session-CPlXmpSe.js";import"./src-C-LFb604.js";import{t as X}from"./message-VrL-0XTF.js";import{t as ge}from"./auth-errors-BSQODFsD.js";import{t as _e}from"./cloud-chat.store-B4mu3u7F.js";import{t as Z}from"./EditorIcon-DVd7Gn4R.js";import{n as Q,t as ve}from"./ServiceControlsBar-DdvYd2xI.js";import"./ProcessControls-DMG-C-9V.js";import{n as ye,t as be}from"./DirectoryPickerDialog-3m0wiBWG.js";import{t as xe}from"./OrgKeyPrompt-Ctjsqp3s.js";import{t as Se}from"./useProjectCatalog-uQxqbSkg.js";var Ce={class:`service-sidebar__header`},we={class:`service-sidebar__search`},Te={class:`p-input-icon-left service-sidebar__search-wrapper`},Ee={class:`service-sidebar__list`},De=[`draggable`,`onClick`,`onDragstart`,`onDragover`,`onDrop`],Oe={class:`service-sidebar__group-label`},ke={class:`service-sidebar__group-badges`},Ae=[`title`],je=[`title`],Me=[`title`],Ne={class:`service-sidebar__group-count`},Pe={class:`service-sidebar__group-items`},Fe=[`onClick`],Ie={key:0,class:`pi pi-exclamation-triangle service-sidebar__status service-sidebar__status--error`},Le=[`title`],Re=[`title`],ze=[`title`],Be={key:4,class:`pi pi-circle-fill service-sidebar__status service-sidebar__status--running`},Ve={key:5,class:`pi pi-spin pi-spinner service-sidebar__status service-sidebar__status--starting`},He={key:6,class:`pi pi-circle service-sidebar__status service-sidebar__status--stopped`},Ue={class:`service-sidebar__item-name`},We={key:0,class:`service-sidebar__empty`},Ge={key:1,class:`service-sidebar__empty`},$=`__all__`,Ke=a(J({__name:`ServiceSidebar`,props:{selectedServiceId:{},collapsed:{type:Boolean},activeProjectId:{},activeOrgId:{},portrait:{type:Boolean},width:{},resizing:{type:Boolean}},emits:[`select-service`,`add-service`,`toggle-collapse`],setup(e,{emit:t}){let n=e,r=G(()=>{if(!(n.collapsed||n.portrait||!n.width))return{width:`${n.width}px`,minWidth:`${n.width}px`}}),i=t,{t:a}=E(),s=p(),l=ne(),u=te(),d=q(``),f=G(()=>n.activeProjectId?s.getByRef({id:n.activeProjectId,orgId:n.activeOrgId}):null),h=G(()=>{let e=d.value.toLowerCase();if(!f.value)return[];let t=l.getByIds(f.value.serviceIds).filter(t=>!e||t.name.toLowerCase().includes(e)),n={errored:0,running:1,starting:2};return t.sort((e,t)=>{let r=R(e.id),i=R(t.id),a=r!==null&&r in n?n[r]:9,o=i!==null&&i in n?n[i]:9;if(a!==o)return a-o;let s=e=>e.trim().replace(/[^a-zA-Z0-9\s]/g,``).toLowerCase();return s(e.name).localeCompare(s(t.name))})}),g=G(()=>{let e=new Map;for(let t of h.value){let n=t.groups&&t.groups.length>0?t.groups:[$];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=f.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==$).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,counts:M(t)})),i=e.get($);return i&&i.length>0&&r.push({key:$,label:a(`serviceSidebar.defaultGroup`),services:i,counts:M(i)}),r});function _(e,t){return`runeya.serviceSidebar.collapsedGroups.${e??`local`}:${t}`}function v(e,t){if(!t)return new Set;try{let n=localStorage.getItem(_(e,t));if(!n)return new Set;let r=JSON.parse(n);return Array.isArray(r)?new Set(r.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}let y=q(v(n.activeOrgId,n.activeProjectId));W(()=>[n.activeOrgId,n.activeProjectId],([e,t])=>{y.value=v(e,t)});function b(){if(n.activeProjectId)try{localStorage.setItem(_(n.activeOrgId,n.activeProjectId),JSON.stringify([...y.value]))}catch{}}function x(e){let t=new Set(y.value);t.has(e)?t.delete(e):t.add(e),y.value=t,b()}let S=q(null),C=q(null);function T(e,t){if(e===$){t.preventDefault();return}S.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e))}function D(e,t){!S.value||e===$||e===S.value||(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),C.value=e)}function O(e){let t=S.value;if(S.value=null,C.value=null,!t||e===$||t===e||!f.value)return;let n=g.value.map(e=>e.key).filter(e=>e!==$),r=n.indexOf(t),i=n.indexOf(e);r===-1||i===-1||(n.splice(r,1),n.splice(i,0,t),s.updateGroupOrder(f.value,n))}function k(){S.value=null,C.value=null}function M(e){let t=0,n=0,r=0;for(let i of e){let e=R(i.id);if(e===`errored`)t++;else if(e===`running`){let e=B(i.id);e.hasHealthCheck&&e.status===`healthy`?n++:r++}}return{errored:t,healthy:n,running:r}}let P=q({});function F(e,t){t?P.value[e]=t:delete P.value[e]}async function ee(){if(!n.selectedServiceId)return;await I();let e=P.value[n.selectedServiceId];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}W(h,ee),W(()=>n.selectedServiceId,ee);function R(e){let t=u.getByService(e);return!t||t.length===0?null:t.some(e=>e.state===`errored`)?`errored`:t.some(e=>e.state===`running`)?`running`:t.some(e=>e.state===`starting`)?`starting`:`stopped`}function B(e){if(!l.getById(e)?.healthCheck)return{hasHealthCheck:!1,status:null};let t=u.getByService(e);return!t||t.length===0?{hasHealthCheck:!0,status:null}:t.some(e=>e.healthStatus===`unhealthy`)?{hasHealthCheck:!0,status:`unhealthy`}:t.every(e=>e.healthStatus===`healthy`)?{hasHealthCheck:!0,status:`healthy`}:{hasHealthCheck:!0,status:`unknown`}}return(t,n)=>(c(),z(U,null,[e.portrait&&!e.collapsed?(c(),z(`div`,{key:0,class:`service-sidebar__backdrop`,onClick:n[0]||=e=>i(`toggle-collapse`)})):H(``,!0),j(`aside`,{class:L([`service-sidebar`,{"service-sidebar--collapsed":e.collapsed,"service-sidebar--portrait":e.portrait,"service-sidebar--resizing":e.resizing}]),style:A(r.value)},[e.collapsed?H(``,!0):(c(),z(U,{key:0},[j(`div`,Ce,[Y(m(o),{icon:`pi pi-plus`,label:m(a)(`serviceSidebar.addService`),outlined:``,size:`small`,class:`service-sidebar__add-btn`,onClick:n[1]||=e=>i(`add-service`)},null,8,[`label`])]),j(`div`,we,[j(`span`,Te,[n[3]||=j(`i`,{class:`pi pi-search`},null,-1),Y(m(fe),{modelValue:d.value,"onUpdate:modelValue":n[2]||=e=>d.value=e,placeholder:m(a)(`serviceSidebar.searchPlaceholder`),size:`small`,class:`service-sidebar__search-input`},null,8,[`modelValue`,`placeholder`])])]),j(`div`,Ee,[(c(!0),z(U,null,w(g.value,t=>(c(),z(`div`,{key:t.key,class:L([`service-sidebar__group`,{"service-sidebar__group--dragover":C.value===t.key}])},[j(`button`,{class:L([`service-sidebar__group-header`,{"service-sidebar__group-header--dragging":S.value===t.key}]),draggable:t.key!==$,onClick:e=>x(t.key),onDragstart:e=>T(t.key,e),onDragover:e=>D(t.key,e),onDrop:e=>O(t.key),onDragend:k},[j(`i`,{class:L(y.value.has(t.key)?`pi pi-chevron-right`:`pi pi-chevron-down`)},null,2),j(`span`,Oe,N(t.label),1),j(`span`,ke,[t.counts.errored?(c(),z(`span`,{key:0,class:`service-sidebar__group-badge`,title:m(a)(`serviceSidebar.badgeErrored`)},[n[4]||=j(`i`,{class:`pi pi-exclamation-triangle service-sidebar__status--error`},null,-1),K(` `+N(t.counts.errored),1)],8,Ae)):H(``,!0),t.counts.healthy?(c(),z(`span`,{key:1,class:`service-sidebar__group-badge`,title:m(a)(`serviceSidebar.badgeHealthy`)},[n[5]||=j(`i`,{class:`pi pi-heart-fill service-sidebar__status--healthy`},null,-1),K(` `+N(t.counts.healthy),1)],8,je)):H(``,!0),t.counts.running?(c(),z(`span`,{key:2,class:`service-sidebar__group-badge`,title:m(a)(`serviceSidebar.badgeRunning`)},[n[6]||=j(`i`,{class:`pi pi-circle-fill service-sidebar__status--running`},null,-1),K(` `+N(t.counts.running),1)],8,Me)):H(``,!0)]),j(`span`,Ne,N(t.services.length),1)],42,De),V(j(`div`,Pe,[(c(!0),z(U,null,w(t.services,t=>(c(),z(`button`,{key:t.id,ref_for:!0,ref:e=>F(t.id,e),class:L([`service-sidebar__item`,{"service-sidebar__item--active":e.selectedServiceId===t.id,"service-sidebar__item--inactive":!R(t.id)||R(t.id)===`stopped`}]),onClick:n=>{i(`select-service`,t.id),e.portrait&&i(`toggle-collapse`)}},[R(t.id)===`errored`?(c(),z(`i`,Ie)):R(t.id)===`running`&&B(t.id).hasHealthCheck&&B(t.id).status===`healthy`?(c(),z(`i`,{key:1,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--healthy`,title:m(a)(`serviceSidebar.healthHealthy`)},null,8,Le)):R(t.id)===`running`&&B(t.id).hasHealthCheck&&B(t.id).status===`unhealthy`?(c(),z(`i`,{key:2,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--unhealthy`,title:m(a)(`serviceSidebar.healthUnhealthy`)},null,8,Re)):R(t.id)===`running`&&B(t.id).hasHealthCheck&&B(t.id).status===`unknown`?(c(),z(`i`,{key:3,class:`pi pi-heart service-sidebar__status service-sidebar__status--health-pending`,title:m(a)(`serviceSidebar.healthWaiting`)},null,8,ze)):R(t.id)===`running`?(c(),z(`i`,Be)):R(t.id)===`starting`?(c(),z(`i`,Ve)):(c(),z(`i`,He)),j(`span`,Ue,N(t.name),1)],10,Fe))),128))],512),[[se,!y.value.has(t.key)]])],2))),128)),f.value?h.value.length===0?(c(),z(`div`,Ge,N(m(a)(`serviceSidebar.noServices`)),1)):H(``,!0):(c(),z(`div`,We,N(m(a)(`serviceSidebar.noProject`)),1))])],64))],6)],64))}}),[[`__scopeId`,`data-v-4865d030`]]),qe={class:`notification-trigger`},Je={class:`notification-panel`},Ye={class:`notification-header`},Xe={class:`notification-title`},Ze={class:`notification-actions`},Qe={key:0,class:`notification-empty`},$e={key:1,class:`notification-list`},et=[`onClick`],tt={class:`notification-content`},nt={class:`notification-item-title`},rt={class:`notification-message`},it={class:`notification-footer`},at={class:`notification-time`},ot=[`onClick`],st=a(J({__name:`NotificationCenter`,setup(e){let{t}=E(),n=le(),i=r(),a=q(),s=G(()=>n.unreadCount>0),l=G(()=>n.notifications);function u(e){a.value.toggle(e)}function d(){n.markAllRead()}function f(){n.clear()}function p(e){n.remove(e)}function g(e){if(!e)return null;let t=e.trim();if(!t||!t.startsWith(`/`)||t.startsWith(`//`))return null;try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:null}catch{return null}}function _(e,t){n.markRead(e);let r=g(t);r&&(i.push(r).catch(()=>{}),a.value?.hide())}function v(e){let n=Date.now()-e,r=Math.floor(n/1e3);if(r<60)return t(`notifications.justNow`);let i=Math.floor(r/60);if(i<60)return t(`notifications.minutesAgo`,{n:i});let a=Math.floor(i/60);return a<24?t(`notifications.hoursAgo`,{n:a}):t(`notifications.daysAgo`,{n:Math.floor(a/24)})}function y(e){switch(e){case`success`:return`pi pi-check-circle`;case`error`:return`pi pi-times-circle`;case`warn`:return`pi pi-exclamation-triangle`;default:return`pi pi-info-circle`}}function b(e){switch(e){case`success`:return`var(--p-green-500)`;case`error`:return`var(--p-red-500)`;case`warn`:return`var(--p-orange-500)`;default:return`var(--p-blue-500)`}}return(e,r)=>(c(),z(U,null,[j(`div`,qe,[Y(m(o),{icon:`pi pi-bell`,text:``,rounded:``,"aria-label":m(t)(`notifications.title`),onClick:u},null,8,[`aria-label`]),s.value?(c(),P(m(h),{key:0,value:m(n).unreadCount,severity:`danger`,class:`notification-badge`},null,8,[`value`])):H(``,!0)]),Y(m(R),{ref_key:`op`,ref:a,class:`notification-overlay`,breakpoints:{"600px":`320px`}},{default:O(()=>[j(`div`,Je,[j(`div`,Ye,[j(`span`,Xe,N(m(t)(`notifications.title`)),1),j(`div`,Ze,[s.value?(c(),P(m(o),{key:0,label:m(t)(`notifications.markAllRead`),text:``,size:`small`,onClick:d},null,8,[`label`])):H(``,!0),l.value.length>0?(c(),P(m(o),{key:1,label:m(t)(`notifications.clear`),text:``,size:`small`,severity:`secondary`,onClick:f},null,8,[`label`])):H(``,!0)])]),l.value.length===0?(c(),z(`div`,Qe,[r[0]||=j(`i`,{class:`pi pi-bell-slash`,style:{"font-size":`1.5rem`,"margin-bottom":`0.5rem`}},null,-1),j(`p`,null,N(m(t)(`notifications.empty`)),1)])):(c(),z(`div`,$e,[(c(!0),z(U,null,w(l.value,e=>(c(),z(`div`,{key:e.id,class:L([`notification-item`,{unread:!e.read}]),onClick:t=>_(e.id,e.link)},[j(`i`,{class:L(y(e.type)),style:A({color:b(e.type)})},null,6),j(`div`,tt,[j(`div`,nt,N(e.title),1),j(`div`,rt,N(e.message),1),j(`div`,it,[j(`span`,at,N(v(e.timestamp)),1),g(e.link)?(c(),z(`button`,{key:0,type:`button`,class:`notification-link`,onClick:k(t=>_(e.id,e.link),[`stop`])},N(e.linkLabel||m(t)(`notifications.openResource`)),9,ot)):H(``,!0)])]),Y(m(o),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:k(t=>p(e.id),[`stop`])},null,8,[`onClick`])],10,et))),128))]))])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-e1d6b2c8`]]),ct=[`title`],lt={class:`trigger-blob`},ut={class:`theme-picker`},dt={class:`theme-section`},ft={class:`section-label`},pt={class:`preset-list`},mt=[`onClick`],ht={class:`theme-section theme-section--row`},gt={class:`section-label`},_t=[`title`],vt={class:`theme-section theme-section--row`},yt={class:`section-label`},bt={class:`mode-toggle`},xt={class:`theme-section`},St={class:`section-label`},Ct={class:`swatches`},wt=[`title`,`onClick`],Tt={class:`custom-hue-header`},Et={class:`section-label`},Dt={class:`custom-hue-track-wrap`},Ot=[`value`],kt=`#18181b`,At=`#f8fafc`,jt=`custom`,Mt=a(J({__name:`ThemePicker`,setup(e){let t=[{id:`aura`,label:`Aura`}],n=[{id:`slate`,label:`Slate`,hex:`#64748b`},{id:`orange`,label:`Orange`,hex:`#f97316`},{id:`amber`,label:`Amber`,hex:`#f59e0b`},{id:`emerald`,label:`Emerald`,hex:`#10b981`},{id:`teal`,label:`Teal`,hex:`#14b8a6`},{id:`sky`,label:`Sky`,hex:`#0ea5e9`},{id:`blue`,label:`Blue`,hex:`#3b82f6`},{id:`violet`,label:`Violet`,hex:`#8b5cf6`},{id:`pink`,label:`Pink`,hex:`#ec4899`}];function r(e){let t=e/60,n=.7,r=n*(1-Math.abs(t%2-1)),i=0,a=0,o=0;t<1?(i=n,a=r):t<2?(i=r,a=n):t<3?(a=n,o=r):t<4?(a=r,o=n):t<5?(i=r,o=n):(i=n,o=r);let s=e=>Math.round((e+.2)*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function i(e){let t=Number.parseInt(e.slice(1,3),16)/255,n=Number.parseInt(e.slice(3,5),16)/255,r=Number.parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r);if(i===a)return 0;let o=i-a,s=0;return s=i===t?((n-r)/o+(n<r?6:0))/6:i===n?((r-t)/o+2)/6:((t-n)/o+4)/6,Math.round(s*360)}let a=localStorage.getItem(`runeya-theme-color`)??`emerald`,o=localStorage.getItem(`runeya-theme-custom`)??`#10b981`,s=localStorage.getItem(`runeya-dark-mode`)===`1`,l=localStorage.getItem(`runeya-theme-preset`)??`aura`,u=localStorage.getItem(`runeya-theme-gradient`)===`1`,d=q(a),f=q(o),p=q(i(o)),h=q(s),g=q(l),_=q(u),{t:v}=E(),y=q(null),b=G(()=>d.value===jt?f.value:n.find(e=>e.id===d.value)?.hex??n[3].hex),x=G(()=>{let e=M(b.value);return[e[700],e[500],e[300],e[100]]});function S(){_.value=!_.value,localStorage.setItem(`runeya-theme-gradient`,_.value?`1`:`0`),D(_.value)}function C(e){g.value=e,localStorage.setItem(`runeya-theme-preset`,e),re(e,d.value,h.value,f.value)}function T(e){d.value=e,localStorage.setItem(`runeya-theme-color`,e),re(g.value,e,h.value,f.value)}function k(e){h.value=e,localStorage.setItem(`runeya-dark-mode`,e?`1`:`0`),re(g.value,d.value,e,f.value)}function P(e){let t=Number(e.target.value);p.value=t,f.value=r(t),localStorage.setItem(`runeya-theme-custom`,f.value),d.value=jt,localStorage.setItem(`runeya-theme-color`,jt),re(g.value,jt,h.value,f.value)}W(f,e=>{/^#[0-9a-f]{6}$/i.test(e)&&(p.value=i(e))});function F(e){y.value?.toggle(e)}return(e,r)=>(c(),z(U,null,[j(`button`,{class:`theme-trigger`,title:m(v)(`themePicker.title`),onClick:F},[j(`div`,lt,[(c(!0),z(U,null,w(x.value,(e,t)=>(c(),z(`div`,{key:t,class:`rad`,style:A({backgroundColor:e})},null,4))),128))])],8,ct),Y(m(R),{ref_key:`popover`,ref:y,class:`theme-popover`},{default:O(()=>[j(`div`,ut,[j(`div`,dt,[j(`span`,ft,N(m(v)(`themePicker.preset`)),1),j(`div`,pt,[(c(),z(U,null,w(t,e=>j(`button`,{key:e.id,class:L([`preset-btn`,{active:g.value===e.id}]),onClick:t=>C(e.id)},N(e.label),11,mt)),64))])]),r[5]||=j(`div`,{class:`theme-divider`},null,-1),j(`div`,ht,[j(`span`,gt,N(m(v)(`themePicker.gradient`)),1),j(`button`,{class:L([`gradient-toggle`,{active:_.value}]),title:_.value?m(v)(`themePicker.disableGradient`):m(v)(`themePicker.enableGradient`),onClick:S},[...r[2]||=[j(`span`,{class:`gradient-toggle__track`},[j(`span`,{class:`gradient-toggle__thumb`})],-1)]],10,_t)]),r[6]||=j(`div`,{class:`theme-divider`},null,-1),j(`div`,vt,[j(`span`,yt,N(m(v)(`themePicker.mode`)),1),j(`div`,bt,[j(`button`,{class:L([`mode-btn`,{active:h.value}]),onClick:r[0]||=e=>k(!0)},[r[3]||=j(`i`,{class:`pi pi-moon`},null,-1),K(` `+N(m(v)(`themePicker.dark`)),1)],2),j(`button`,{class:L([`mode-btn`,{active:!h.value}]),onClick:r[1]||=e=>k(!1)},[r[4]||=j(`i`,{class:`pi pi-sun`},null,-1),K(` `+N(m(v)(`themePicker.light`)),1)],2)])]),r[7]||=j(`div`,{class:`theme-divider`},null,-1),j(`div`,xt,[j(`span`,St,N(m(v)(`themePicker.accentColor`)),1),j(`div`,Ct,[(c(),z(U,null,w(n,e=>j(`div`,{key:e.id,class:L([`swatch`,{active:d.value===e.id}]),title:e.label,style:A({"--swatch-bg":h.value?kt:At}),onClick:t=>T(e.id)},[j(`div`,{class:`viewwindow`,style:A({backgroundColor:h.value?kt:At})},[(c(!0),z(U,null,w((()=>{let t=m(M)(e.hex);return[t[700],t[500],t[300],t[100]]})(),(e,t)=>(c(),z(`div`,{key:t,class:`rad`,style:A({backgroundColor:e})},null,4))),128))],4)],14,wt)),64))])]),j(`div`,{class:L([`theme-section custom-hue-section`,{"custom-hue-section--active":d.value===jt}])},[j(`div`,Tt,[j(`span`,Et,N(m(v)(`themePicker.customColor`)),1),j(`span`,{class:`custom-hue-preview`,style:A({backgroundColor:f.value})},null,4)]),j(`div`,Dt,[j(`input`,{type:`range`,min:`0`,max:`359`,class:`custom-hue-slider`,value:p.value,onInput:P},null,40,Ot)])],2)])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-d455232c`]]),Nt={class:`lang-switcher`},Pt=[`title`],Ft={class:`lang-menu`},It={class:`lang-menu__title`},Lt=[`onClick`],Rt=a(J({__name:`LanguageSwitcher`,setup(e){let{t}=E(),n=q(null),r={fr:`🇫🇷 Français`,en:`🇬🇧 English`};function i(e){n.value?.toggle(e)}function a(e){u(e),n.value?.hide()}return(e,o)=>(c(),z(`div`,Nt,[j(`button`,{class:`lang-btn`,title:m(t)(`language.label`),onClick:i},[...o[0]||=[j(`i`,{class:`pi pi-language`},null,-1)]],8,Pt),Y(m(R),{ref_key:`popover`,ref:n},{default:O(()=>[j(`div`,Ft,[j(`p`,It,N(m(t)(`language.label`)),1),(c(!0),z(U,null,w(m(f),e=>(c(),z(`button`,{key:e,class:L([`lang-menu__item`,{"lang-menu__item--active":m(ae)()===e}]),onClick:t=>a(e)},N(r[e]),11,Lt))),128))])]),_:1},512)]))}}),[[`__scopeId`,`data-v-dd64a597`]]),zt={class:`global-nav__top`},Bt=[`title`],Vt={class:`global-nav__label`},Ht=[`title`],Ut={class:`global-nav__label`},Wt=[`title`,`onClick`],Gt={key:0,class:`global-nav__label`},Kt=[`title`],qt={key:0,class:`global-nav__badge`},Jt={key:1,class:`global-nav__label`},Yt={class:`global-nav__bottom`},Xt=[`title`],Zt=[`title`,`data-testid`,`onClick`],Qt={key:0,class:`global-nav__label`},$t={key:1,class:`global-nav__separator`},en={class:`global-nav__util`},tn={key:2,class:`global-nav__util`},nn={key:3,class:`global-nav__util`},rn=a(J({__name:`GlobalNavBar`,props:{activeTab:{},portrait:{type:Boolean}},emits:[`tab-change`,`toggle-service-sidebar`],setup(e,{emit:t}){let{t:n}=E(),r=_e(),a=t,{isOpen:o,toggle:s}=i(),l=G(()=>[{id:`dashboard`,icon:`pi pi-home`,label:n(`nav.dashboard`)},{id:`wiki-global`,icon:`pi pi-file-edit`,label:`Wiki`},{id:`kanban`,icon:`pi pi-th-large`,label:n(`kanban.nav`)},{id:`agent-terminal`,icon:`pi pi-code`,label:n(`nav.agentTerminal`)}]),u=G(()=>[{id:`environments`,icon:`pi pi-globe`,label:n(`nav.environments`)},{id:`settings`,icon:`pi pi-sliders-h`,label:n(`nav.settings`)}]);return(t,i)=>(c(),z(`nav`,{class:L([`global-nav`,{"global-nav--portrait":e.portrait}]),"data-testid":`global-nav`},[j(`div`,zt,[e.portrait?(c(),z(`button`,{key:0,class:L([`global-nav__btn`,{"global-nav__btn--active":m(o)}]),title:m(n)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:i[0]||=(...e)=>m(s)&&m(s)(...e)},[i[4]||=j(`i`,{class:`pi pi-sparkles`},null,-1),j(`span`,Vt,N(m(n)(`nav.aiChat`)),1)],10,Bt)):H(``,!0),e.portrait?(c(),z(`button`,{key:1,class:`global-nav__btn`,title:m(n)(`nav.services`),"data-testid":`global-nav-services-btn`,onClick:i[1]||=e=>a(`toggle-service-sidebar`)},[i[5]||=j(`i`,{class:`pi pi-list`},null,-1),j(`span`,Ut,N(m(n)(`nav.services`)),1)],8,Ht)):H(``,!0),(c(!0),z(U,null,w(l.value,t=>(c(),z(`button`,{key:t.id,class:L([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===t.id}]),title:t.label,"data-testid":`global-nav-btn`,onClick:e=>a(`tab-change`,t.id)},[j(`i`,{class:L(t.icon)},null,2),e.portrait?(c(),z(`span`,Gt,N(t.label),1)):H(``,!0)],10,Wt))),128)),j(`button`,{class:L([`global-nav__btn global-nav__btn--badged`,{"global-nav__btn--active":e.activeTab===`cloud-messaging`,"global-nav__btn--pulse":m(r).unreadCount>0&&e.activeTab!==`cloud-messaging`}]),title:m(n)(`nav.messaging`),"data-testid":`global-nav-messaging-btn`,onClick:i[2]||=e=>a(`tab-change`,`cloud-messaging`)},[i[6]||=j(`i`,{class:`pi pi-comments`},null,-1),m(r).unreadCount>0?(c(),z(`span`,qt,N(m(r).unreadCount>99?`99+`:m(r).unreadCount),1)):H(``,!0),e.portrait?(c(),z(`span`,Jt,N(m(n)(`nav.messaging`)),1)):H(``,!0)],10,Kt)]),j(`div`,Yt,[e.portrait?H(``,!0):(c(),z(`button`,{key:0,class:L([`global-nav__btn`,{"global-nav__btn--active":m(o)}]),title:m(n)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:i[3]||=(...e)=>m(s)&&m(s)(...e)},[...i[7]||=[j(`i`,{class:`pi pi-sparkles`},null,-1)]],10,Xt)),(c(!0),z(U,null,w(u.value,t=>(c(),z(`button`,{key:t.id,class:L([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===t.id}]),title:t.label,"data-testid":t.id===`environments`?`nav-environments`:`global-nav-btn`,onClick:e=>a(`tab-change`,t.id)},[j(`i`,{class:L(t.icon)},null,2),e.portrait?(c(),z(`span`,Qt,N(t.label),1)):H(``,!0)],10,Zt))),128)),e.portrait?H(``,!0):(c(),z(`div`,$t)),j(`div`,en,[Y(st)]),e.portrait?H(``,!0):(c(),z(`div`,tn,[Y(Mt)])),e.portrait?H(``,!0):(c(),z(`div`,nn,[Y(Rt)]))])],2))}}),[[`__scopeId`,`data-v-79447b79`]]),an={class:`service-nav`,"data-testid":`service-nav`},on={class:`service-nav__tabs`},sn=[`title`,`onClick`],cn={class:`service-nav__btn-inner`},ln={key:0,class:`service-nav__badge`},un=a(J({__name:`ServiceNavBar`,props:{activeTab:{},serviceId:{}},emits:[`tab-change`],setup(e,{emit:r}){let i=e,a=r,{t:o}=E(),s=G(()=>[{id:`wiki`,icon:`pi pi-file-edit`,label:`Wiki`},{id:`terminal`,icon:`pi pi-code`,label:o(`serviceNavBar.terminal`)},{id:`metrics`,icon:`pi pi-chart-line`,label:o(`serviceNavBar.metrics`)},{id:`config`,icon:`pi pi-cog`,label:o(`serviceNavBar.config`)},{id:`git`,icon:`pi pi-github`,label:o(`serviceNavBar.git`)}]),l=q(0),u=null,d=y(f,6e4,`service-navbar:git-status`);async function f(){if(i.serviceId)try{let e=await t.git.status.query({serviceId:i.serviceId});l.value=e.staged.length+e.unstaged.length+e.untracked.length}catch{l.value=0}}function p(){m(),i.serviceId&&(u=t.git.onStatusChange.subscribe({serviceId:i.serviceId},{onData(e){l.value=e.staged.length+e.unstaged.length+e.untracked.length},onError(e){let t=e?.message??``;t.includes(`PRECONDITION_FAILED`)||t.includes(`Unresolved variables`)||f()}}),d.start())}function m(){u?.unsubscribe(),u=null,d.stop(),l.value=0}return W(()=>i.serviceId,e=>{e?p():m()},{immediate:!0}),n(m),(t,n)=>(c(),z(`nav`,an,[j(`div`,on,[(c(!0),z(U,null,w(s.value,t=>(c(),z(`button`,{key:t.id,class:L([`service-nav__btn`,{"service-nav__btn--active":e.activeTab===t.id}]),title:t.label,onClick:e=>a(`tab-change`,t.id)},[j(`div`,cn,[j(`i`,{class:L(t.icon)},null,2),t.id===`git`&&l.value>0?(c(),z(`span`,ln,N(l.value>99?`99+`:l.value),1)):H(``,!0)])],10,sn))),128))])]))}}),[[`__scopeId`,`data-v-c93f59f4`]]),dn={class:`service-header`},fn={class:`service-header__banner`},pn={class:`service-header__left`},mn={key:0,class:`service-header__title`},hn=[`title`],gn=[`title`],_n={key:1,class:`service-header__title`},vn={key:0,class:`service-header__right`},yn={class:`service-header__editor-popover`},bn={class:`service-header__editor-current`},xn={class:`service-header__editor-label`},Sn={class:`service-header__editor-select`},Cn={class:`service-header__editor-label`},wn={key:0,class:`editor-option`},Tn={class:`editor-option`},En={key:0,class:`service-header__mismatch-banner`},Dn={class:`service-header__mismatch-body`},On={key:0},kn={key:1},An={key:1,class:`service-header__clone-banner`},jn={key:0},Mn={key:1},Nn=a(J({__name:`ServiceHeader`,props:{service:{},totalProcesses:{},stateCount:{}},setup(e){let n=e,{t:r}=E(),i=s(),a=C(),l=q(),{urlHost:u}=Q(()=>n.service?.agentId),f=G(()=>{let e=n.service;if(!e)return[];let t=new Set((e.localUrls??[]).map(e=>e.port));return(e.ports??[]).filter(e=>!t.has(e)).map(e=>({port:e,url:`http://${u.value}:${e}`}))}),p=q(!1),h=q([]),g=q(null),_=q(null),v=q(!1);async function y(){if(!n.service?.git?.remote){p.value=!1,h.value=[],g.value=null,_.value=null;return}let e=n.service.id;try{let r=await t.service.checkCwd.query({id:e});h.value=r.unresolvedVars??[],g.value=r.resolvedCwd??null,_.value=r.gitMismatch??null,p.value=r.canClone||(r.unresolvedVars??[]).length>0,r.exists&&r.gitMismatch===null&&setTimeout(async()=>{if(n.service?.id===e)try{let r=await t.service.checkCwd.query({id:e,checkReachability:!0});if(n.service?.id!==e)return;_.value=r.gitMismatch??null}catch{}},1500)}catch(e){console.error(`[checkCwd] error:`,e),p.value=!1,h.value=[],g.value=null,_.value=null}}W(()=>n.service?.id,()=>y(),{immediate:!0});async function b(){if(n.service){v.value=!0;try{await t.service.cloneRepository.mutate({id:n.service.id}),p.value=!1,i.add({severity:`success`,summary:`Repository cloned`,detail:`Cloned into ${g.value??n.service.cwd??`.`}`,life:4e3})}catch(e){i.add({severity:`error`,summary:`Clone failed`,detail:e.message,life:6e3})}finally{v.value=!1}}}let x=G(()=>n.service?a.getEffectiveEditor(n.service.id):null),S=G(()=>n.service?a.getServiceEditor(n.service.id):null),T=G(()=>[{label:r(`serviceHeader.useDefault`),value:`__default__`},...a.installedEditors.map(e=>({label:e.name,value:e.key}))]),D=G(()=>n.service?S.value?.key??`__default__`:`__default__`);function A(e){window.open(e,`_blank`)}function M(){let e=x.value,t=n.service?.cwd;if(!e){i.add({severity:`warn`,summary:r(`serviceHeader.noEditorConfigured`),detail:r(`serviceHeader.setDefaultEditorHint`),life:3e3});return}a.openEditor(e.key,t||`.`)}function F(e){l.value?.toggle(e)}async function ee(e){n.service&&(e===`__default__`?await a.removeServiceEditor(n.service.id):await a.setServiceEditor(n.service.id,e))}return(t,n)=>{let i=d(`router-link`),s=ie(`tooltip`);return c(),z(`header`,dn,[j(`div`,fn,[j(`div`,pn,[e.service?(c(),z(`h1`,mn,[e.service.runner===`docker`?(c(),z(`i`,{key:0,class:`pi pi-box service-header__runner-icon`,title:m(r)(`serviceHeader.docker`)},null,8,hn)):(c(),z(`i`,{key:1,class:`pi pi-desktop service-header__runner-icon`,title:m(r)(`serviceHeader.native`)},null,8,gn)),K(N(e.service.name),1)])):(c(),z(`h1`,_n,`Runeya`)),e.service&&e.totalProcesses>0?(c(),P(m(de),{key:2,value:`${e.stateCount.running} running`,severity:e.stateCount.running>0?`success`:`secondary`,class:`service-header__tag`},null,8,[`value`,`severity`])):H(``,!0)]),e.service?(c(),z(`div`,vn,[V((c(),P(m(o),{text:``,rounded:``,size:`small`,"aria-label":m(r)(`serviceHeader.openInEditor`),onClick:M,onContextmenu:k(F,[`prevent`])},{icon:O(()=>[Y(Z,{"editor-key":x.value?.key??null,size:14},null,8,[`editor-key`])]),_:1},8,[`aria-label`])),[[s,x.value?`Open in ${x.value.name}`:m(r)(`serviceHeader.openInEditor`),void 0,{bottom:!0}]]),V(Y(m(o),{icon:`pi pi-chevron-down`,text:``,rounded:``,size:`small`,class:`service-header__editor-caret`,"aria-label":m(r)(`serviceHeader.editorOptions`),onClick:F},null,8,[`aria-label`]),[[s,m(r)(`serviceHeader.editorSettings`),void 0,{bottom:!0}]]),Y(m(R),{ref_key:`editorPopover`,ref:l},{default:O(()=>[j(`div`,yn,[j(`div`,bn,[j(`span`,xn,N(m(r)(`serviceHeader.editorDefault`)),1),j(`span`,null,N(m(a).defaultEditor?.name??m(r)(`serviceHeader.editorNotSet`)),1)]),j(`div`,Sn,[j(`span`,Cn,N(m(r)(`serviceHeader.editorThisService`)),1),Y(m(ue),{"model-value":D.value,options:T.value,"option-label":`label`,"option-value":`value`,placeholder:m(r)(`serviceHeader.useDefault`),size:`small`,class:`service-header__editor-dropdown`,"onUpdate:modelValue":ee},{value:O(e=>[e.value?(c(),z(`div`,wn,[Y(Z,{"editor-key":e.value===`__default__`?null:e.value,size:14},null,8,[`editor-key`]),j(`span`,null,N(T.value.find(t=>t.value===e.value)?.label),1)])):H(``,!0)]),option:O(e=>[j(`div`,Tn,[Y(Z,{"editor-key":e.option.value===`__default__`?null:e.option.value,size:14},null,8,[`editor-key`]),j(`span`,null,N(e.option.label),1)])]),_:1},8,[`model-value`,`options`,`placeholder`])]),Y(i,{to:{name:`settings`,query:{section:`editor`}},class:`service-header__editor-settings-link`},{default:O(()=>[n[1]||=j(`i`,{class:`pi pi-cog`},null,-1),j(`span`,null,N(m(r)(`serviceHeader.editorSettings`)),1)]),_:1})])]),_:1},512),(c(!0),z(U,null,w(e.service.localUrls??[],e=>V((c(),P(m(o),{key:e.url,icon:`pi pi-cloud`,text:``,rounded:``,size:`small`,"aria-label":`Open https://${e.url}`,onClick:t=>A(`https://${e.url}`)},null,8,[`aria-label`,`onClick`])),[[s,`https://${e.url}`,void 0,{bottom:!0}]])),128)),(c(!0),z(U,null,w(f.value,e=>V((c(),P(m(o),{key:e.port,icon:`pi pi-globe`,text:``,rounded:``,size:`small`,"aria-label":`Open ${e.url}`,onClick:t=>A(e.url)},null,8,[`aria-label`,`onClick`])),[[s,e.url,void 0,{bottom:!0}]])),128)),e.service.url?V((c(),P(m(o),{key:0,icon:`pi pi-globe`,text:``,rounded:``,size:`small`,"aria-label":m(r)(`serviceHeader.openServiceUrl`),onClick:n[0]||=t=>A(e.service.url)},null,8,[`aria-label`])),[[s,e.service.url,void 0,{bottom:!0}]]):H(``,!0)])):H(``,!0)]),_.value&&e.service?(c(),z(`div`,En,[n[11]||=j(`i`,{class:`pi pi-exclamation-triangle service-header__mismatch-icon`},null,-1),j(`div`,Dn,[j(`strong`,null,N(_.value.unreachable?`Git remote unreachable`:_.value.actual===null?`No git remote found`:`Git remote mismatch`),1),_.value.unreachable?(c(),z(`span`,On,[n[2]||=K(` Cannot reach `,-1),j(`code`,null,N(_.value.configured),1),n[3]||=K(` — check your network or SSH credentials. `,-1)])):_.value.actual===null?(c(),z(`span`,kn,[n[4]||=K(` The directory `,-1),j(`code`,null,N(g.value??e.service.cwd),1),n[5]||=K(` has no `,-1),n[6]||=j(`code`,null,`origin`,-1),n[7]||=K(` remote, but the service is configured for `,-1),j(`code`,null,N(_.value.configured),1),n[8]||=K(`. `,-1)])):(c(),z(U,{key:2},[j(`span`,null,[n[9]||=K(`Configured: `,-1),j(`code`,null,N(_.value.configured),1)]),j(`span`,null,[n[10]||=K(`Actual: `,-1),j(`code`,null,N(_.value.actual),1)])],64))])])):H(``,!0),p.value&&e.service?(c(),z(`div`,An,[n[15]||=j(`i`,{class:`pi pi-folder-open service-header__clone-icon`},null,-1),(h.value??[]).length>0?(c(),z(`span`,jn,[n[12]||=K(` Working directory `,-1),j(`code`,null,N(g.value??e.service.cwd),1),n[13]||=K(` contains unresolved variables: `,-1),(c(!0),z(U,null,w(h.value??[],e=>(c(),z(`code`,{key:e,class:`service-header__clone-var`},`$`+N(e),1))),128)),n[14]||=K(` — set them in the environment before cloning. `,-1)])):(c(),z(`span`,Mn,N(m(r)(`serviceHeader.cwdNotExist`,{cwd:g.value??e.service.cwd})),1)),(h.value??[]).length===0?(c(),P(m(o),{key:2,label:m(r)(`serviceHeader.cloneRepository`),icon:`pi pi-download`,size:`small`,loading:v.value,onClick:b},null,8,[`label`,`loading`])):H(``,!0)])):H(``,!0)])}}}),[[`__scopeId`,`data-v-434456b9`]]),Pn={class:`app-layout__main`,"data-testid":`page-content`},Fn={class:`app-layout__content`},In=a(J({__name:`AppMainArea`,props:{selectedService:{},selectedServiceId:{},selectedServiceProcesses:{},activeTab:{}},emits:[`tab-change`],setup(e,{emit:t}){let n=t;function r(e){n(`tab-change`,e)}return(t,n)=>(c(),z(`div`,Pn,[Y(Nn,{service:e.selectedService},null,8,[`service`]),j(`div`,Fn,[V(Y(un,{"active-tab":e.activeTab,"service-id":e.selectedServiceId,onTabChange:r},null,8,[`active-tab`,`service-id`]),[[se,!!e.selectedServiceId]]),j(`div`,{class:L(e.selectedServiceId?`app-layout__service-view`:[`ai-chat`,`kanban`,`agent-terminal`,`wiki-global`,`cloud-messaging`].includes(e.activeTab)?`app-layout__fullpage`:`app-layout__page`)},[e.selectedService?(c(),P(ve,{key:0,service:e.selectedService,processes:e.selectedServiceProcesses},null,8,[`service`,`processes`])):H(``,!0),j(`div`,{class:L([`ai-chat`,`kanban`,`agent-terminal`,`wiki-global`,`cloud-messaging`].includes(e.activeTab)?`app-layout__router-view-fullpage`:`app-layout__router-view`)},[Y(m(_))],2)],2)])]))}}),[[`__scopeId`,`data-v-d688302d`]]),Ln={class:`switcher`},Rn={class:`switcher__group`},zn={class:`switcher__title`},Bn={key:0,class:`switcher__empty`},Vn=[`onClick`],Hn={class:`switcher__name`},Un=[`title`,`aria-label`,`onClick`],Wn={key:1,class:`switcher__loading`},Gn={class:`switcher__title`},Kn={key:0,class:`switcher__empty`},qn=[`disabled`,`onClick`],Jn={class:`switcher__name`},Yn={key:0,class:`pi pi-download switcher__hint`},Xn=[`title`,`aria-label`,`onClick`],Zn=[`title`,`aria-label`,`onClick`],Qn={key:2,class:`switcher__empty switcher__signin`},$n={class:`create-form`},er={class:`create-field`},tr={for:`publish-target`},nr={class:`create-hint`},rr={class:`create-form`},ir={class:`create-field`},ar={for:`new-project-name`},or={class:`create-field`},sr={for:`new-project-target`},cr={class:`create-hint`},lr=a(J({__name:`ProjectSwitcher`,setup(e,{expose:n}){let{t:i,te:a}=E(),s=r(),u=T(),d=p(),f=l(),{user:h}=he(),g=q(null),_=q(``),v=q(``),y=Se(),{loading:b,error:C}=y,D=y.orgGroups,A=G(()=>d.projects.filter(e=>!e.orgId)),M=G(()=>f.activeProjectId),F=G(()=>f.activeOrgId);function I(e,t){return t===M.value&&e===F.value}function te(e){g.value?.toggle(e)}async function ne(){await y.refreshCloud()}function re(e){f.setActiveProject(e,null),g.value?.hide(),s.push({name:`project-detail`,params:{projectId:e}})}async function V(e,t){_.value=t,C.value=``;try{await y.pullProject(e,t),f.setActiveProject(t,e),g.value?.hide(),s.push({name:`project-detail`,params:{projectId:t}})}catch(n){C.value=Ce(n),De(n,me(n))&&(we.value={orgId:e,then:`pull`,projectId:t})}finally{_.value=``}}async function ie(){let e=we.value;we.value=null,e&&(C.value=``,le.value=``,e.then===`pull`&&e.projectId?await V(e.orgId,e.projectId):await ge())}function ae(e,t){C.value=``,u.require({header:i(`projectSwitcher.deleteFromOrgTitle`),message:i(`projectSwitcher.deleteFromOrgConfirm`,{project:t.name,org:e.name}),icon:`pi pi-exclamation-triangle`,rejectLabel:i(`actions.cancel`),acceptLabel:i(`projectSwitcher.deleteFromOrgAccept`),acceptClass:`p-button-danger`,accept:()=>void oe(e.orgId,t.projectId)})}async function oe(e,n){v.value=n;try{await t.cloudSync.deleteProjectFromOrg.mutate({orgId:e,projectId:n}),await d.fetchAll(),await y.refreshCloud()}catch(e){C.value=Ce(e)}finally{v.value=``}}async function se(e,n){C.value=``;try{await t.cloudSync.untrackProject.mutate({orgId:e,projectId:n}),await d.fetchAll(),y.markUntracked(e,n)}catch(e){C.value=me(e)}}let ce=q(!1),W=q(!1),le=q(``),de=q(null),J=q(null);function pe(e){J.value={id:e.id,name:e.name},de.value=D.value[0]?.orgId??null,le.value=``,W.value=!0}async function ge(){let e=J.value,n=de.value;if(!(!e||!n)){ce.value=!0,le.value=``;try{await t.cloudSync.publishProject.mutate({orgId:n,cloudUrl:B(),projectId:e.id}),await d.fetchAll(),await y.refreshCloud(),f.activeProjectId===e.id&&f.setActiveProject(e.id,n),W.value=!1}catch(e){le.value=Ce(e),me(e)===`ORG_KEY_MISMATCH`&&n&&(we.value={orgId:n,then:`publish`})}finally{ce.value=!1}}}let _e=q(!1),Z=q(``),Q=q(null),ve=q(!1),ye=q(``),be=G(()=>[{id:`local`,name:i(`projectSwitcher.local`)},...D.value.map(e=>({id:e.orgId,name:e.name}))]);function Ce(e){let t=me(e),n=`serverErrors.${t}`;return a(n)?i(n):t}let we=q(null);function Te(){Z.value=``,Q.value=f.activeOrgId??`local`,ye.value=``,_e.value=!0}async function Ee(){let e=Z.value.trim();if(!e||!Q.value)return;let n=Q.value===`local`?null:Q.value,r=n?null:A.value[0];if(r){ye.value=i(`projectSwitcher.localProjectExists`,{name:r.name});return}ve.value=!0,ye.value=``;try{let r=await d.create({name:e,orgId:n});if(!r)throw Error(d.error??i(`projectSwitcher.createFailed`));n&&await t.cloudSync.trackProject.mutate({orgId:n,cloudUrl:B(),projectId:r.id}),f.setActiveProject(r.id,n),_e.value=!1,g.value?.hide(),s.push({name:`project-detail`,params:{projectId:r.id}})}catch(e){ye.value=Ce(e)}finally{ve.value=!1}}n({toggle:te});function De(e,t){return t===`ORG_KEY_MISMATCH`||t===`ORG_VAULT_UNREADABLE`?!0:e?.syncState===`key-mismatch`}return(e,t)=>(c(),z(U,null,[Y(m(R),{ref_key:`popover`,ref:g,onShow:ne,class:`project-switcher`},{default:O(()=>[j(`div`,Ln,[m(C)?(c(),P(m(X),{key:0,severity:`error`,closable:!1,class:`switcher__error`},{default:O(()=>[K(N(m(C)),1)]),_:1})):H(``,!0),j(`section`,Rn,[j(`h3`,zn,N(m(i)(`projectSwitcher.local`)),1),A.value.length===0?(c(),z(`p`,Bn,N(m(i)(`projectSwitcher.noLocal`)),1)):H(``,!0),(c(!0),z(U,null,w(A.value,e=>(c(),z(`button`,{key:e.id,class:L([`switcher__item`,{"is-active":e.id===M.value&&F.value===null}]),onClick:t=>re(e.id)},[t[9]||=j(`i`,{class:`pi pi-folder`},null,-1),j(`span`,Hn,N(e.name),1),m(h)&&m(D).length?(c(),z(`span`,{key:0,class:`switcher__publish`,role:`button`,title:m(i)(`projectSwitcher.publish`),"aria-label":m(i)(`projectSwitcher.publish`),onClick:k(t=>pe(e),[`stop`])},[...t[8]||=[j(`i`,{class:`pi pi-cloud-upload`},null,-1)]],8,Un)):H(``,!0)],10,Vn))),128))]),m(b)?(c(),z(`div`,Wn,[Y(m(S),{style:{width:`1.5rem`,height:`1.5rem`}})])):H(``,!0),(c(!0),z(U,null,w(m(D),e=>(c(),z(`section`,{key:e.orgId,class:`switcher__group`},[j(`h3`,Gn,N(e.name),1),e.projects.length===0?(c(),z(`p`,Kn,N(m(i)(`projectSwitcher.noProjects`)),1)):H(``,!0),(c(!0),z(U,null,w(e.projects,n=>(c(),z(`button`,{key:n.projectId,class:L([`switcher__item`,{"is-active":I(e.orgId,n.projectId)}]),disabled:_.value===n.projectId,onClick:t=>V(e.orgId,n.projectId)},[j(`i`,{class:L([`pi`,_.value===n.projectId?`pi-spin pi-spinner`:`pi-cloud`])},null,2),j(`span`,Jn,N(n.name),1),!n.local&&_.value!==n.projectId?(c(),z(`i`,Yn)):n.local&&!I(e.orgId,n.projectId)?(c(),z(`span`,{key:1,class:`switcher__drop`,role:`button`,title:m(i)(`projectSwitcher.untrack`),"aria-label":m(i)(`projectSwitcher.untrack`),onClick:k(t=>se(e.orgId,n.projectId),[`stop`])},[...t[10]||=[j(`i`,{class:`pi pi-times`},null,-1)]],8,Xn)):H(``,!0),m(h)?(c(),z(`span`,{key:2,class:`switcher__delete`,role:`button`,title:m(i)(`projectSwitcher.deleteFromOrg`,{org:e.name}),"aria-label":m(i)(`projectSwitcher.deleteFromOrg`,{org:e.name}),onClick:k(t=>ae(e,n),[`stop`])},[j(`i`,{class:L([`pi`,v.value===n.projectId?`pi-spin pi-spinner`:`pi-trash`])},null,2)],8,Zn)):H(``,!0)],10,qn))),128))]))),128)),m(h)?H(``,!0):(c(),z(`p`,Qn,N(m(D).length?m(i)(`projectSwitcher.signInMore`):m(i)(`projectSwitcher.signInHint`)),1)),Y(m(o),{label:m(i)(`projectSwitcher.create`),icon:`pi pi-plus`,text:``,size:`small`,class:`switcher__create`,onClick:Te},null,8,[`label`])])]),_:1},512),Y(xe,{"org-id":we.value?.orgId??null,reference:`cloud`,title:m(i)(`projectSwitcher.keyPromptTitle`),hint:m(i)(`projectSwitcher.keyPromptHint`),"confirm-label":m(i)(`projectSwitcher.keyPromptUse`),onClose:t[0]||=e=>we.value=null,onAdopted:ie},null,8,[`org-id`,`title`,`hint`,`confirm-label`]),Y(m(x),{visible:W.value,"onUpdate:visible":t[3]||=e=>W.value=e,header:m(i)(`projectSwitcher.publishTitle`,{project:J.value?.name??``}),modal:``,style:{width:`26rem`}},{footer:O(()=>[Y(m(o),{label:m(i)(`actions.cancel`),severity:`secondary`,text:``,disabled:ce.value,onClick:t[2]||=e=>W.value=!1},null,8,[`label`,`disabled`]),Y(m(o),{label:m(i)(`projectSwitcher.publishAccept`),icon:`pi pi-cloud-upload`,loading:ce.value,disabled:!de.value,onClick:ge},null,8,[`label`,`loading`,`disabled`])]),default:O(()=>[j(`div`,$n,[j(`div`,er,[j(`label`,tr,N(m(i)(`projectSwitcher.publishOrgLabel`)),1),Y(m(ue),{inputId:`publish-target`,modelValue:de.value,"onUpdate:modelValue":t[1]||=e=>de.value=e,options:m(D),optionLabel:`name`,optionValue:`orgId`},null,8,[`modelValue`,`options`]),j(`small`,nr,N(m(i)(`projectSwitcher.publishHint`)),1)]),le.value?(c(),P(m(X),{key:0,severity:`error`,closable:!1},{default:O(()=>[K(N(le.value),1)]),_:1})):H(``,!0)])]),_:1},8,[`visible`,`header`]),Y(m(x),{visible:_e.value,"onUpdate:visible":t[7]||=e=>_e.value=e,header:m(i)(`projectSwitcher.createTitle`),modal:``,style:{width:`26rem`}},{footer:O(()=>[Y(m(o),{label:m(i)(`actions.cancel`),severity:`secondary`,text:``,disabled:ve.value,onClick:t[6]||=e=>_e.value=!1},null,8,[`label`,`disabled`]),Y(m(o),{label:m(i)(`projectSwitcher.create`),icon:`pi pi-plus`,loading:ve.value,disabled:!Z.value.trim()||!Q.value,onClick:Ee},null,8,[`label`,`loading`,`disabled`])]),default:O(()=>[j(`div`,rr,[j(`div`,ir,[j(`label`,ar,N(m(i)(`projectSwitcher.nameLabel`)),1),Y(m(fe),{id:`new-project-name`,modelValue:Z.value,"onUpdate:modelValue":t[4]||=e=>Z.value=e,autofocus:``,placeholder:m(i)(`projectSwitcher.namePlaceholder`),onKeyup:ee(Ee,[`enter`])},null,8,[`modelValue`,`placeholder`])]),j(`div`,or,[j(`label`,sr,N(m(i)(`projectSwitcher.targetLabel`)),1),Y(m(ue),{inputId:`new-project-target`,modelValue:Q.value,"onUpdate:modelValue":t[5]||=e=>Q.value=e,options:be.value,optionLabel:`name`,optionValue:`id`},null,8,[`modelValue`,`options`]),j(`small`,cr,N(Q.value===`local`?m(i)(`projectSwitcher.localHint`):m(i)(`projectSwitcher.cloudHint`)),1)]),ye.value?(c(),P(m(X),{key:0,severity:`error`,closable:!1},{default:O(()=>[K(N(ye.value),1)]),_:1})):H(``,!0)])]),_:1},8,[`visible`,`header`])],64))}}),[[`__scopeId`,`data-v-76ce3dc3`]]),ur={class:`bottom-bar`},dr={class:`bottom-bar__content`},fr=[`aria-label`],pr={class:`desktop-info`},mr={class:`desktop-info__title`},hr={class:`desktop-info__text`},gr={key:0,class:`desktop-info__address`},_r={class:`desktop-info__cta`},vr=[`title`],yr={class:`label`},br={class:`value`},xr={class:`bottom-bar__right`},Sr={key:0,class:`bottom-bar__section environment`},Cr={class:`label`},wr=[`title`],Tr=[`src`,`alt`],Er={key:1,class:`cloud-avatar cloud-avatar--initials`},Dr=a(J({__name:`BottomBar`,setup(e){let t=p();v(),l();let n=s(),{t:i}=E(),a=r(),{user:o}=he(),u=G(()=>o.value?.image??``),d=q(!1),f=G(()=>(o.value?.name||o.value?.email||`?`).trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)||`?`);function h(){a.push({name:`cloud-account`})}let{isDesktop:g,port:_}=ce(),y=q(null);function b(e){y.value?.show(e)}function x(){y.value?.hide()}function S(){x(),a.push({name:`settings`,query:{section:`diagnostics`}})}let C=q(null);function w(e){C.value?.toggle(e)}let T=G(()=>t.currentProject),D=G(()=>T.value?.activeEnvironmentId??null);async function k(e){T.value&&(await t.setActiveEnvironment(T.value,e)||n.add({severity:`error`,summary:i(`bottomBar.errorChangingEnv`),life:5e3}))}return(e,t)=>(c(),z(`div`,ur,[j(`div`,dr,[m(g)?(c(),z(`button`,{key:0,class:`bottom-bar__section desktop-badge`,"aria-label":m(i)(`bottomBar.desktopMode.title`),"data-testid":`bottom-bar-desktop`,onMouseenter:b,onMouseleave:x,onFocus:b,onBlur:x,onClick:S},[...t[1]||=[j(`i`,{class:`pi pi-desktop icon`},null,-1)]],40,fr)):H(``,!0),Y(m(R),{ref_key:`desktopPopover`,ref:y,dismissable:!0},{default:O(()=>[j(`div`,pr,[j(`div`,mr,[t[2]||=j(`i`,{class:`pi pi-desktop`},null,-1),j(`span`,null,N(m(i)(`bottomBar.desktopMode.title`)),1)]),j(`p`,hr,N(m(i)(`bottomBar.desktopMode.description`)),1),m(_)?(c(),z(`p`,gr,[K(N(m(i)(`bottomBar.desktopMode.address`))+` `,1),j(`code`,null,`http://localhost:`+N(m(_)),1)])):H(``,!0),j(`p`,_r,[t[3]||=j(`i`,{class:`pi pi-arrow-right`},null,-1),K(` `+N(m(i)(`bottomBar.desktopMode.goToDiagnostics`)),1)])])]),_:1},512),j(`button`,{class:`bottom-bar__section project-btn is-clickable`,title:m(i)(`bottomBar.switchProject`),"data-testid":`bottom-bar-project`,onClick:w},[j(`i`,{class:L([`pi`,T.value?.orgId?`pi-cloud`:`pi-folder`,`icon`])},null,2),j(`span`,yr,N(m(i)(`bottomBar.project`)),1),j(`span`,br,N(T.value?.name??m(i)(`bottomBar.none`)),1),t[4]||=j(`i`,{class:`pi pi-angle-up caret`},null,-1)],8,vr),Y(lr,{ref_key:`switcher`,ref:C},null,512),j(`div`,xr,[T.value&&D.value?(c(),z(`div`,Sr,[t[5]||=j(`i`,{class:`pi pi-globe icon`},null,-1),j(`span`,Cr,N(m(i)(`bottomBar.environment`)),1),Y(ye,{"model-value":D.value,"onUpdate:modelValue":k,class:`bottom-env-selector`},null,8,[`model-value`])])):H(``,!0),m(o)?(c(),z(`button`,{key:2,class:`bottom-bar__section cloud-btn cloud-avatar-btn`,title:m(i)(`bottomBar.cloudAccount`),onClick:h},[u.value&&!d.value?(c(),z(`img`,{key:0,src:u.value,alt:m(o).name,class:`cloud-avatar`,onError:t[0]||=e=>d.value=!0},null,40,Tr)):(c(),z(`span`,Er,N(f.value),1))],8,wr)):(c(),z(`button`,{key:1,class:`bottom-bar__section cloud-btn cloud-login`,onClick:h},[t[6]||=j(`i`,{class:`pi pi-cloud icon`},null,-1),j(`span`,null,N(m(i)(`bottomBar.cloudLogin`)),1)]))])])]))}}),[[`__scopeId`,`data-v-c8ba6900`]]),Or={class:`cloud-banner__text`},kr=a(J({__name:`CloudProjectBanner`,setup(e){let{t:n}=E(),r=p(),i=l(),{user:a,loading:o}=he(),s=b(F,ge()),u=G(()=>i.activeProjectId?r.currentProjectOrgId:null),d=q(null),f=q(new Map);W([()=>a.value?.id,u],async([e,n])=>{if(!(!e||!n)){s.refresh();try{let[e,n]=await Promise.all([t.cloudAuth.status.query(),t.cloudSync.orgClouds.query()]);d.value=e.cloudUrl??null,f.value=new Map(Object.entries(n))}catch{}}},{immediate:!0});function h(e,t){return e.replace(/\/+$/,``)===t.replace(/\/+$/,``)}let g=G(()=>{if(!u.value||o.value)return null;if(!a.value)return`offline`;let e=f.value.get(u.value);return e&&d.value&&!h(e,d.value)?`other-cloud`:s.loading.value||!s.organizations.value.length||s.organizations.value.some(e=>e.id===u.value)?null:`other-org`});return(e,t)=>g.value?(c(),z(`div`,{key:0,class:L([`cloud-banner`,`cloud-banner--${g.value}`]),role:`status`,"data-testid":`cloud-project-banner`},[j(`i`,{class:L([g.value===`offline`?`pi pi-cloud-off`:`pi pi-exclamation-triangle`,`cloud-banner__icon`])},null,2),j(`span`,Or,N(m(n)(`cloudBanner.${g.value===`offline`?`offline`:g.value===`other-cloud`?`otherCloud`:`otherOrg`}`)),1)],2)):H(``,!0)}}),[[`__scopeId`,`data-v-a31a7d79`]]),Ar={class:`update-dialog__lead`},jr={key:0,class:`update-dialog__row`},Mr={key:1,class:`update-dialog__prereqs`},Nr={class:`update-dialog__prereq`},Pr={class:`update-dialog__prereq`},Fr={key:0},Ir={key:1},Lr={key:0,class:`update-dialog__prereq`},Rr={key:4,class:`update-dialog__row`},zr={key:7,class:`update-dialog__output`},Br=a(J({__name:`AppUpdateDialog`,props:{visible:{type:Boolean},currentVersion:{},latestVersion:{}},emits:[`update:visible`,`updated`],setup(e,{emit:n}){let{t:r}=E(),i=e,a=n,s=q(`checking`),l=q(null),u=q(``),d=q(null),f=q(``);async function p(){s.value=`checking`,u.value=``,f.value=``;try{let e=await t.appUpdate.prerequisites.query();l.value=e,s.value=e.ready?`ready`:`blocked`}catch(e){f.value=e.message,s.value=`blocked`}}async function h(){s.value=`installing`;try{let e=await t.appUpdate.install.mutate();u.value=e.output,d.value=e.installedVersion,s.value=e.ok?`installed`:`failed`,e.ok&&a(`updated`)}catch(e){f.value=e.message,s.value=`failed`}}async function g(){s.value=`restarting`;try{await t.appUpdate.restart.mutate()}catch{}}return W(()=>i.visible,e=>{e&&p()}),(t,n)=>(c(),P(m(x),{visible:e.visible,header:m(r)(`appUpdate.dialogTitle`),modal:``,closable:s.value!==`installing`&&s.value!==`restarting`,style:{width:`34rem`},"onUpdate:visible":n[1]||=e=>a(`update:visible`,e)},{footer:O(()=>[s.value===`blocked`||s.value===`failed`?(c(),P(m(o),{key:0,label:m(r)(`appUpdate.retry`),severity:`secondary`,onClick:p},null,8,[`label`])):H(``,!0),s.value===`ready`?(c(),P(m(o),{key:1,label:m(r)(`appUpdate.install`),icon:`pi pi-download`,onClick:h},null,8,[`label`])):H(``,!0),s.value===`installed`?(c(),P(m(o),{key:2,label:m(r)(`appUpdate.restartLater`),severity:`secondary`,onClick:n[0]||=e=>a(`update:visible`,!1)},null,8,[`label`])):H(``,!0),s.value===`installed`?(c(),P(m(o),{key:3,label:m(r)(`appUpdate.restartNow`),icon:`pi pi-refresh`,onClick:g},null,8,[`label`])):H(``,!0),s.value===`restarting`?(c(),P(m(o),{key:4,label:m(r)(`appUpdate.restarting`),icon:`pi pi-spin pi-spinner`,disabled:``},null,8,[`label`])):H(``,!0)]),default:O(()=>[j(`p`,Ar,N(m(r)(`appUpdate.dialogLead`,{current:e.currentVersion??`—`,latest:e.latestVersion??`—`})),1),s.value===`checking`?(c(),z(`div`,jr,[Y(m(S),{style:{width:`1.5rem`,height:`1.5rem`},strokeWidth:`6`}),j(`span`,null,N(m(r)(`appUpdate.checking`)),1)])):l.value?(c(),z(`div`,Mr,[j(`div`,Nr,[n[2]||=j(`i`,{class:`pi pi-check-circle update-dialog__ok`},null,-1),j(`span`,null,N(m(r)(`appUpdate.nodeFound`,{version:l.value.nodeVersion})),1)]),j(`div`,Pr,[j(`i`,{class:L(l.value.npmVersion?`pi pi-check-circle update-dialog__ok`:`pi pi-times-circle update-dialog__ko`)},null,2),l.value.npmVersion?(c(),z(`span`,Fr,N(m(r)(`appUpdate.npmFound`,{version:l.value.npmVersion,path:l.value.npmPath})),1)):(c(),z(`span`,Ir,N(m(r)(`appUpdate.npmMissing`)),1))]),l.value.globalPrefix?(c(),z(`div`,Lr,[n[3]||=j(`i`,{class:`pi pi-folder update-dialog__info`},null,-1),j(`span`,null,N(m(r)(`appUpdate.installTarget`,{prefix:l.value.globalPrefix})),1)])):H(``,!0)])):H(``,!0),s.value===`blocked`&&!l.value?.npmVersion?(c(),P(m(X),{key:2,severity:`warn`,closable:!1},{default:O(()=>[K(N(m(r)(`appUpdate.npmMissingHelp`)),1)]),_:1})):H(``,!0),f.value?(c(),P(m(X),{key:3,severity:`error`,closable:!1},{default:O(()=>[K(N(f.value),1)]),_:1})):H(``,!0),s.value===`installing`?(c(),z(`div`,Rr,[Y(m(S),{style:{width:`1.5rem`,height:`1.5rem`},strokeWidth:`6`}),j(`span`,null,N(m(r)(`appUpdate.installing`)),1)])):H(``,!0),s.value===`installed`?(c(),P(m(X),{key:5,severity:`success`,closable:!1},{default:O(()=>[K(N(m(r)(`appUpdate.installed`,{version:d.value??e.latestVersion??``})),1)]),_:1})):H(``,!0),s.value===`failed`?(c(),P(m(X),{key:6,severity:`error`,closable:!1},{default:O(()=>[K(N(m(r)(`appUpdate.installFailed`)),1)]),_:1})):H(``,!0),u.value?(c(),z(`pre`,zr,N(u.value),1)):H(``,!0),s.value===`installed`?(c(),P(m(X),{key:8,severity:`info`,closable:!1},{default:O(()=>[K(N(m(r)(`appUpdate.restartNeeded`)),1)]),_:1})):H(``,!0)]),_:1},8,[`visible`,`header`,`closable`]))}}),[[`__scopeId`,`data-v-37cfa924`]]),Vr={key:0,class:`update-banner`},Hr=a(J({__name:`AppUpdateBanner`,setup(e){let{t:n}=E(),{isDesktop:r}=ce(),i=q(null),a=q(null),s=q(!1),l=q(!1);async function u(){try{let e=await t.health.versionInfo.query();i.value=e.current,a.value=e.latest,s.value=e.status===`outdated`}catch{s.value=!1}}return g(()=>{r.value&&u()}),(e,t)=>(c(),z(U,null,[m(r)&&s.value?(c(),z(`div`,Vr,[t[2]||=j(`i`,{class:`pi pi-arrow-circle-up update-banner__icon`},null,-1),j(`span`,null,N(m(n)(`appUpdate.bannerText`,{current:i.value,latest:a.value})),1),Y(m(o),{label:m(n)(`appUpdate.bannerAction`),size:`small`,severity:`contrast`,onClick:t[0]||=e=>l.value=!0},null,8,[`label`])])):H(``,!0),Y(Br,{visible:l.value,"onUpdate:visible":t[1]||=e=>l.value=e,"current-version":i.value,"latest-version":a.value,onUpdated:u},null,8,[`visible`,`current-version`,`latest-version`])],64))}}),[[`__scopeId`,`data-v-91fd851b`]]),Ur=J({__name:`ProjectLocationGate`,setup(e){let n=p(),r=l(),{activeProjectId:i}=oe(r),a=q(!1),o=q(``),s=q(null),u=q(``),d=new Set;function f(e,t){return`${e??`local`}:${t}`}return W([i,()=>n.projects.length],async([e])=>{if(!e||d.has(f(r.activeOrgId,e)))return;let i=n.getByRef({id:e,orgId:r.activeOrgId})??n.getById(e);if(i&&i.orgId){try{let{path:n}=await t.project.getLocalPath.query({id:e,orgId:i.orgId});if(n)return}catch{return}d.add(f(i.orgId,e)),o.value=e,s.value=i.orgId??null,u.value=i.name,a.value=!0}},{immediate:!0}),(e,t)=>o.value?(c(),P(be,{key:0,visible:a.value,"onUpdate:visible":t[0]||=e=>a.value=e,"project-id":o.value,"org-id":s.value,"project-name":u.value,required:``},null,8,[`visible`,`project-id`,`org-id`,`project-name`])):H(``,!0)}}),Wr={class:`app-layout__body`},Gr=`runeya.serviceSidebar.widthPx`,Kr=160,qr=600,Jr=220,Yr=`(max-width: 480px)`,Xr=a(J({__name:`AppLayout`,setup(t){let i=r(),a=pe(),o=p(),s=ne(),u=te(),d=e(),f=l(),m=v(),h=C();_e();let _=q(!1);function y(){let e=Number(localStorage.getItem(Gr));return Number.isFinite(e)&&e>=Kr&&e<=qr?e:Jr}let b=q(y()),x=q(!1),S=0,w=0;function T(e){let t=e.clientX-S;b.value=Math.min(qr,Math.max(Kr,w+t))}function E(){x.value=!1,document.removeEventListener(`mousemove`,T),document.removeEventListener(`mouseup`,E),document.body.style.userSelect=``,document.body.style.cursor=``;try{localStorage.setItem(Gr,String(b.value))}catch{}}function D(e){x.value=!0,S=e.clientX,w=b.value,document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`,document.addEventListener(`mousemove`,T),document.addEventListener(`mouseup`,E)}let O=q(window.matchMedia(Yr).matches),A=window.matchMedia(Yr);function M(e){O.value=e.matches,e.matches?_.value=!0:_.value=!1}A.addEventListener(`change`,M),O.value&&(_.value=!0);let N=G(()=>a.name===`service-detail`?a.params.id:null),P=G(()=>{if(a.name===`service-detail`){let e=a.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`||e===`wiki`?e:`terminal`}return a.path===`/wiki`?`wiki-global`:a.name===`environments`||a.name===`environment-edit`?`environments`:a.path===`/settings`?`settings`:a.path.startsWith(`/ai-chat`)||a.path.startsWith(`/scenario`)?`ai-chat`:a.path.startsWith(`/kanban`)?`kanban`:a.path===`/agent-terminal`?`agent-terminal`:a.name===`cloud-messaging`?`cloud-messaging`:`dashboard`}),F=G(()=>N.value?s.getById(N.value):null),ee=G(()=>N.value?u.getByService(N.value):[]),I=G(()=>f.activeProjectId),R=G(()=>f.activeOrgId);function B(e){e===`dashboard`?i.push(`/`):e===`environments`?I.value&&i.push({name:`environments`,params:{projectId:I.value}}):e===`ai-chat`?i.push(`/ai-chat`):e===`kanban`?i.push(`/kanban`):e===`agent-terminal`?i.push(`/agent-terminal`):e===`settings`?i.push(`/settings`):e===`wiki-global`?i.push(`/wiki`):e===`cloud-messaging`?i.push({name:`cloud-messaging`}):N.value&&i.push(`/services/${N.value}/${e}`)}function re(e){let t=P.value,n=t===`terminal`||t===`metrics`||t===`config`||t===`git`||t===`wiki`?t:`terminal`;i.push(`/services/${e}/${n}`)}function V(){i.push(`/services/new`)}return W(I,async e=>{if(!e&&a.name&&![`projects`,`agents`,`settings`,`audit`,`api-keys`,`ai-chat`,`kanban-list`,`kanban-board`,`agent-terminal`,`wiki-global`].includes(a.name)&&i.push({name:`projects`}),e){try{await m.fetchAll(e,!0)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}h.fetchPreferences()}}),n(()=>{A.removeEventListener(`change`,M),document.removeEventListener(`mousemove`,T),document.removeEventListener(`mouseup`,E)}),g(async()=>{if(await Promise.all([o.fetchAll(),s.fetchAll(),u.fetchAll(),d.fetchAll()]),I.value)try{await m.fetchAll(I.value)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}h.fetchAvailable(),I.value&&h.fetchPreferences(),d.subscribeStatus(),!I.value&&a.name!==`projects`&&a.name!==`agents`&&a.name!==`settings`&&a.name!==`audit`&&a.name!==`api-keys`&&a.name!==`ai-chat`&&a.name!==`kanban-list`&&a.name!==`kanban-board`&&a.name!==`agent-terminal`&&a.name!==`wiki-global`&&i.push({name:`projects`})}),(e,t)=>(c(),z(`div`,{class:L([`app-layout`,{"app-layout--portrait":O.value}])},[Y(Hr),Y(kr),Y(Ur),j(`div`,Wr,[Y(rn,{"active-tab":P.value,portrait:O.value,onTabChange:B,onToggleServiceSidebar:t[0]||=e=>_.value=!_.value},null,8,[`active-tab`,`portrait`]),Y(Ke,{"selected-service-id":N.value,collapsed:_.value,"active-project-id":I.value,"active-org-id":R.value,portrait:O.value,width:b.value,resizing:x.value,onSelectService:re,onAddService:V,onToggleCollapse:t[1]||=e=>_.value=!_.value},null,8,[`selected-service-id`,`collapsed`,`active-project-id`,`active-org-id`,`portrait`,`width`,`resizing`]),!O.value&&!_.value?(c(),z(`div`,{key:0,class:L([`app-layout__resizer`,{"app-layout__resizer--active":x.value}]),onMousedown:k(D,[`prevent`])},null,34)):H(``,!0),O.value&&_.value?(c(),z(`div`,{key:1,class:`app-layout__sidebar-edge-trigger`,onClick:t[2]||=e=>_.value=!1},[...t[3]||=[j(`i`,{class:`pi pi-chevron-right`},null,-1)]])):H(``,!0),Y(In,{"selected-service":F.value,"selected-service-id":N.value,"selected-service-processes":ee.value,"active-tab":P.value,onTabChange:B},null,8,[`selected-service`,`selected-service-id`,`selected-service-processes`,`active-tab`])]),Y(Dr)],2))}}),[[`__scopeId`,`data-v-7b2ef488`]]);export{Xr as default};
@@ -1 +0,0 @@
1
- import"./cloud-session-CPlXmpSe.js";import{t as e}from"./CloudAccountPage-BUjzLwjW.js";export{e as default};
@@ -1 +0,0 @@
1
- import{$ as e,$t as t,Cn as n,Hi as r,Na as i,Ri as a,Yn as o,di as s,dt as c,mi as l,ui as u,vn as d,wa as f,xi as p,yi as m}from"./index-K7kdEsBo.js";import{t as h}from"./ProcessControls-DMG-C-9V.js";function g(n){let r=e(),i=f(`localhost`);return a(async()=>{try{i.value=(await t.settings.getNetwork.query()).host}catch{}}),{serverHost:i,urlHost:u(()=>{if(!c(i.value))return i.value;let e=n?.();return(e?r.getById(e)?.status.lanIp:void 0)??`localhost`})}}var _={class:`service-controls-bar`},v={class:`service-controls-bar__left`},y={class:`service-controls-bar__right`},b=n(p({__name:`ServiceControlsBar`,props:{service:{},processes:{}},setup(t){let n=t,a=u(()=>n.processes.find(e=>e.state===`running`||e.state===`starting`)??n.processes[0]??null),c=u(()=>a.value?a.value.state:`stopped`),{t:f}=o(),p=e(),g=u(()=>{let e=n.service.effectiveAgentId;return e?p.getById(e)?.config.name??e:null}),b=u(()=>{switch(c.value){case`running`:return`success`;case`starting`:return`warn`;case`errored`:return`danger`;default:return`secondary`}});return(e,n)=>(r(),l(`div`,_,[s(`div`,v,[m(i(d),{value:c.value,severity:b.value,class:`service-controls-bar__tag`},null,8,[`value`,`severity`]),m(i(d),{value:g.value??i(f)(`serviceHeader.noAgent`),severity:g.value?`secondary`:`warn`,icon:`pi pi-server`,class:`service-controls-bar__tag`},null,8,[`value`,`severity`])]),s(`div`,y,[m(h,{"agent-id":a.value?.agentId??t.service.agentId??``,"process-id":a.value?.id??t.service.id,state:a.value?.state??`stopped`},null,8,[`agent-id`,`process-id`,`state`])])]))}}),[[`__scopeId`,`data-v-541498f0`]]);export{g as n,b as t};
@@ -1,2 +0,0 @@
1
- import{$ as e,$t as t,Aa as n,Bi as r,Bn as i,Bt as a,Cn as o,D as s,Dn as c,Gn as l,Hi as u,Ht as d,J as f,Ln as p,Lt as m,Na as h,Pt as g,Qt as _,Ri as v,Rt as y,Sa as b,Si as x,Tn as ee,U as S,Wi as C,Wn as w,X as te,Y as T,Yn as E,_a as D,_n as O,aa as k,ai as A,di as j,ei as ne,fa as M,fi as N,ft as re,ii as P,it as ie,ji as ae,l as oe,la as se,lt as ce,mi as F,mt as le,nt as ue,oa as de,ot as fe,pi as I,pt as pe,q as me,rt as he,si as L,sn as ge,ta as _e,ui as R,un as ve,ut as z,vi as B,vn as ye,wa as V,wi as be,wn as xe,xi as H,ya as Se,yi as U,yn as W,zn as Ce,zt as we}from"./index-K7kdEsBo.js";import"./cloud-session-CPlXmpSe.js";import"./src-C-LFb604.js";import{t as Te}from"./message-VrL-0XTF.js";import{n as Ee,t as De}from"./ServiceControlsBar-DdvYd2xI.js";import"./ProcessControls-DMG-C-9V.js";import{t as Oe}from"./uuid-FpfcaBnR.js";import{n as ke,t as Ae}from"./column-grBnjbWs.js";import{n as je}from"./plus-TqzBK0F-.js";import{t as Me}from"./checkbox-xXts-zyO.js";import{t as Ne}from"./toggleswitch-BNzkwtak.js";import{a as Pe,i as Fe,n as Ie,r as Le,t as Re}from"./tabpanel-BlB9Tamb.js";import{n as ze,t as Be}from"./VariablesTable-BTAp4k6f.js";import{t as Ve}from"./autocomplete-0aIbUwlr.js";import"./src-9tSFXHt7.js";import"./w3c-keyname-2TLn3EjF.js";import"./SendToChatDialog-DhVM2ESX.js";import{n as He,t as Ue}from"./ProcessMetrics-QAK1AZsb.js";import{t as We}from"./LogViewer-Dy7SyJwf.js";import{t as Ge}from"./divider-BgzI-Lls.js";import{t as Ke}from"./settings.store-CPMOmi7H.js";import{t as qe}from"./WikiView-BgCUaLa6.js";var Je={key:0,class:`log-details`},Ye={class:`log-details__section`},Xe={class:`log-details__label`},Ze={class:`log-details__value log-details__value--box`},Qe={class:`log-details__section`},$e={class:`log-details__label`},et={class:`log-details__value log-details__value--box log-details__value--code`},tt={class:`log-details__section`},nt={class:`log-details__label`},rt={class:`log-details__value log-details__value--box`},it={class:`log-details__process`},at={class:`log-details__section`},ot={class:`log-details__label`},st={class:`log-details__value log-details__value--box`},ct={key:0,class:`log-details__section`},lt={class:`log-details__label`},ut={class:`log-details__value log-details__value--box log-details__value--code`,"data-testid":`log-details-cwd`},dt={class:`log-details__section`},ft={class:`log-details__label`},pt={class:`log-details__value log-details__value--box`},mt={key:1,class:`log-details__section`},ht={class:`log-details__label`},gt={class:`log-details__value log-details__value--box`},_t={key:2,class:`log-details__section`},vt={class:`log-details__label`},yt={class:`log-details__value log-details__value--box log-details__value--code`},bt=o(H({__name:`LogDetailsDrawer`,props:{visible:{type:Boolean},log:{}},emits:[`update:visible`,`view-process`],setup(e,{emit:t}){let n=e,{t:r}=E(),i=oe(),a=t,o=R(()=>{if(!n.log)return``;let e=new Date(n.log.timestamp);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}`}),s=R(()=>n.log?n.log.level.charAt(0).toUpperCase()+n.log.level.slice(1):``),l=R(()=>!n.log||n.log.pid==null?r(`logDetails.notAvailable`):String(n.log.pid)),d=R(()=>n.log?i.getByService(n.log.processId)[0]?.cwd??null:null);function f(){n.log&&a(`view-process`,n.log.processId)}function p(){a(`update:visible`,!1)}return(t,n)=>(u(),N(h(xe),{visible:e.visible,position:`right`,header:h(r)(`logDetails.header`),style:{width:`440px`},"onUpdate:visible":p},{default:k(()=>[e.log?(u(),F(`div`,Je,[j(`div`,Ye,[j(`div`,Xe,M(h(r)(`logDetails.type`)),1),j(`div`,Ze,M(s.value),1)]),j(`div`,Qe,[j(`div`,$e,M(h(r)(`logDetails.rawMessage`)),1),j(`div`,et,M(e.log.raw),1)]),j(`div`,tt,[j(`div`,nt,M(h(r)(`logDetails.serviceId`)),1),j(`div`,rt,[j(`div`,it,[j(`span`,null,M(e.log.processId),1),U(h(c),{label:h(r)(`logDetails.viewProcess`),icon:`pi pi-external-link`,size:`small`,outlined:``,onClick:f},null,8,[`label`])])])]),j(`div`,at,[j(`div`,ot,M(h(r)(`logDetails.pid`)),1),j(`div`,st,M(l.value),1)]),d.value?(u(),F(`div`,ct,[j(`div`,lt,M(h(r)(`logDetails.cwd`)),1),j(`div`,ut,M(d.value),1)])):I(``,!0),j(`div`,dt,[j(`div`,ft,M(h(r)(`logDetails.timestamp`)),1),j(`div`,pt,M(o.value),1)]),e.log.stream?(u(),F(`div`,mt,[j(`div`,ht,M(h(r)(`logDetails.stream`)),1),j(`div`,gt,M(e.log.stream),1)])):I(``,!0),e.log.metadata&&Object.keys(e.log.metadata).length>0?(u(),F(`div`,_t,[j(`div`,vt,M(h(r)(`logDetails.metadata`)),1),j(`div`,yt,M(JSON.stringify(e.log.metadata,null,2)),1)])):I(``,!0)])):I(``,!0)]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-4e3f7abe`]]),xt=500,St=5,Ct=fe;function wt(e){return e+Math.random()*e*.3}function Tt(e,n){let i=V([]),a=V(!1),o=null,s=0,c=null,l=_(()=>{s=0,a.value||S()}),u=[],d=null,f=V(0),p=V(0),m=0,h=0,g=null;function v(){g||=setInterval(()=>{f.value=m,p.value=h,m=0,h=0},1e3)}function y(){g&&=(clearInterval(g),null),f.value=0,p.value=0,m=0,h=0}function b(){if(d=null,u.length===0)return;let e=u;u=[],h+=e.length;let t=[...i.value,...e];t.length>xt&&(t=t.slice(t.length-xt)),i.value=t}function x(){!e.value||!n.value||(a.value=!0,o=t.process.onLog.subscribe({agentId:e.value,processId:n.value},{onData(e){let t=e;if(s=0,ge(`connected`),t.some(e=>e.__clearLogBuffer)){i.value=[],u=[];return}m+=t.length,u.push(...t),d===null&&(d=requestAnimationFrame(b))},onError(e){console.error(`[useLogStream] Subscription error:`,e.message),a.value=!1,o=null,ee()}}))}function ee(){if(s>=St){console.warn(`[useLogStream] Max retries (${St}) reached`),ge(`disconnected`);return}ge(`reconnecting`);let e=wt(Ct*2**s);s++,c=setTimeout(()=>{c=null,S()},e)}async function S(){if(!a.value&&!(!e.value||!n.value)){s=0;try{let r=await t.process.logs.query({agentId:e.value,processId:n.value});r.length>xt&&(r=r.slice(r.length-xt)),i.value=r,ge(`connected`)}catch{}x()}}function C(){c&&=(clearTimeout(c),null),d!==null&&(cancelAnimationFrame(d),d=null),u=[],y(),o&&=(o.unsubscribe(),null),a.value=!1,s=0,i.value=[]}return _e([e,n],([e,t],[n,r])=>{(e!==n||t!==r)&&(a.value&&C(),S())}),r(()=>{l(),C()}),{logs:i,isStreaming:a,start:S,stop:C,receivedPerSec:f,flushedPerSec:p,startStats:v,stopStats:y}}var Et={class:`service-terminal__toolbar`},Dt={class:`service-terminal__toolbar-left`},Ot={key:0,class:`pid-option`},kt={key:1,class:`pid-option`},At={key:0,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,style:{"margin-right":`0.5rem`}},jt={key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,style:{"margin-right":`0.5rem`}},Mt={class:`pid-option`},Nt={key:0,class:`pi pi-list`,style:{"margin-right":`0.5rem`}},Pt=[`title`],Ft=[`title`],It={class:`service-terminal__toolbar-right`},Lt={class:`service-terminal__content`,"data-testid":`service-terminal-content`},Rt={key:1,class:`service-terminal__shortcuts`},zt={class:`service-terminal__command-input`},Bt={class:`service-terminal__bottom`},Vt=`runeya_command_history_`,Ht=50,Ut=o(H({__name:`ServiceTerminal`,props:{service:{},processes:{}},setup(e){let{t:n}=E(),i=e,a=R(()=>i.processes.find(e=>e.state===`running`||e.state===`starting`)??i.processes[0]??null),o=R(()=>a.value?.agentId??``),s=R(()=>a.value?.id??``),d=l(),{logs:f,isStreaming:p,start:m,stop:g,receivedPerSec:_,flushedPerSec:y,startStats:b,stopStats:x}=Tt(o,s),ee=V(!1);_e(ee,e=>{e?b():x()});function S(e){e.ctrlKey&&e.shiftKey&&(e.key===`*`||e.key===`µ`)&&(e.preventDefault(),ee.value=!ee.value)}let w=R(()=>{let e=new Map;return f.value.forEach(t=>{if(t.pid!=null){let n=e.get(t.pid);if(n)n.lastSeen=new Date(Math.max(n.lastSeen.getTime(),new Date(t.timestamp).getTime())),n.logCount++;else{let n=i.processes.find(e=>e.pid===t.pid&&(e.state===`running`||e.state===`starting`));e.set(t.pid,{pid:t.pid,lastSeen:new Date(t.timestamp),logCount:1,isActive:!!n})}}}),Array.from(e.values()).sort((e,t)=>t.lastSeen.getTime()-e.lastSeen.getTime())}),te=R(()=>ke.value===`all`?f.value:f.value.filter(e=>e.pid===ke.value)),T=R(()=>w.value.filter(e=>e.isActive).length),D=R(()=>{let e=[{label:n(`serviceTerminal.allProcesses`),value:`all`,badge:T.value>0?`${T.value} ${n(`serviceTerminal.active`)}`:void 0,isActive:void 0}];return w.value.forEach(({pid:t,logCount:n,isActive:r})=>{e.push({label:`PID: ${t}`,value:t,badge:`${n} logs`,isActive:r})}),e});R(()=>i.processes.filter(e=>e.state===`running`).length);async function O(){if(a.value)try{await t.process.clearLogBuffer.mutate({agentId:a.value.agentId,processId:a.value.id}),f.value=[]}catch(e){d.add({severity:`error`,summary:n(`serviceTerminal.error`),detail:e.message??n(`serviceTerminal.failedToClearLogs`),life:5e3})}}let A=R(()=>i.service.shortcuts??[]),ne=V(new Set);async function re(e){let r=a.value?.agentId??i.service.agentId,o=a.value?.id??i.service.id;if(!r){d.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}if(ne.value.has(e.id)){try{await t.process.cancelShortcut.mutate({agentId:r,processId:o,shortcutId:e.id})}catch{}return}ne.value=new Set([...ne.value,e.id]);try{await t.process.executeShortcut.mutate({agentId:r,processId:o,shortcut:e})}catch(e){d.add({severity:`error`,summary:n(`serviceTerminal.shortcutFailed`),detail:e.message??n(`serviceTerminal.shortcutFailed`),life:5e3})}finally{let t=new Set(ne.value);t.delete(e.id),ne.value=t}}let P=V(``),ie=V(new Set),oe=R(()=>ie.value.size>0),ce=V(null),le=V([]),ue=V(-1),de=`ls,ls -la,ls -lh,pwd,echo,echo $PWD,cat,cat package.json,grep,find,find . -name,ps,ps aux,top,htop,df -h,du -sh,tail,tail -f,tail -n 100,head,head -n 20,wc -l,curl,wget,git status,git log,git diff,git branch,npm run,npm install,npm test,npm start,yarn,yarn install,yarn test,yarn build,docker ps,docker logs,docker exec,env,printenv,whoami,hostname,date,uptime`.split(`,`),fe=V([]);function pe(e){let t=e.query.toLowerCase().trim();if(!t||!P.value.trim()){fe.value=[];return}let n=[...le.value.slice().reverse(),...de],r=new Set;fe.value=n.filter(e=>r.has(e)?!1:(r.add(e),e.toLowerCase().includes(t))).slice(0,10)}function me(){try{let e=localStorage.getItem(Vt+i.service.id);e&&(le.value=JSON.parse(e))}catch{le.value=[]}}function he(){try{localStorage.setItem(Vt+i.service.id,JSON.stringify(le.value))}catch{}}function ge(e){le.value[le.value.length-1]!==e&&(le.value=[...le.value,e],le.value.length>Ht&&(le.value=le.value.slice(-Ht)),he())}async function z(){let e=a.value?.agentId??i.service.agentId,n=a.value?.id??i.service.id;if(e)try{await t.process.cancelAdHocCommand.mutate({agentId:e,processId:n})}catch{}}async function B(){if(!P.value.trim())return;let e=a.value?.agentId??i.service.agentId,r=a.value?.id??i.service.id;if(!e){d.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}let o=Oe(),s=P.value.trim();ge(s),P.value=``,fe.value=[],ue.value=-1,ie.value=new Set([...ie.value,o]);try{await t.process.executeAdHocCommand.mutate({agentId:e,processId:r,command:s,commandId:o})}catch(e){d.add({severity:`error`,summary:n(`serviceTerminal.commandFailed`),detail:e.message??n(`serviceTerminal.commandFailed`),life:5e3})}finally{let e=new Set(ie.value);e.delete(o),ie.value=e,ae(()=>{document.querySelector(`.service-terminal__input`)?.focus()})}}function be(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),B();return}if(e.key===`ArrowUp`){if(e.preventDefault(),le.value.length===0)return;ue.value===-1?ue.value=le.value.length-1:ue.value>0&&ue.value--,P.value=le.value[ue.value]||``}else if(e.key===`ArrowDown`){if(e.preventDefault(),ue.value===-1)return;ue.value<le.value.length-1?(ue.value++,P.value=le.value[ue.value]||``):(ue.value=-1,P.value=``)}}function xe(){if(f.value.length===0)return;let e=f.value.map(e=>`[${new Date(e.timestamp).toISOString()}] ${e.level.toUpperCase().padEnd(5)} ${e.message}`),t=new Blob([e.join(`
2
- `)],{type:`text/plain`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${i.service.name}-${new Date().toISOString().slice(0,19).replaceAll(`:`,`-`)}.log`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}let H=V(0),Se=0,W=null,Ce=null;_e(a,e=>{if(!(e&&(e.state===`running`||e.state===`starting`))){W&&=(clearInterval(W),null),Ce=null,H.value=e?.uptime??0;return}let t=e.uptime??0;e.id!==Ce&&(W&&=(clearInterval(W),null),Ce=e.id,Se=e.startedAt?new Date(e.startedAt).getTime():Date.now()-t,H.value=Date.now()-Se,W=setInterval(()=>{H.value=Date.now()-Se},1e3))},{immediate:!0});let we=V(!0),Te=V(null),Ee=V(!1),ke=V(`all`),Ae=V(!1);function je(){Ae.value=!Ae.value}v(()=>{me(),a.value&&m(),window.addEventListener(`keydown`,S)}),r(()=>{g(),window.removeEventListener(`keydown`,S),W&&clearInterval(W)});function Me(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`}function Ne(e){Te.value=e,Ee.value=!0}function Pe(e){Ee.value=!1,d.add({severity:`info`,summary:`Process`,detail:`Process ID: ${e}`,life:3e3})}return(t,r)=>(u(),F(`div`,{class:se([`service-terminal`,{"service-terminal--fullscreen":Ae.value}]),"data-testid":`service-terminal`},[Ae.value?(u(),N(De,{key:0,service:e.service,processes:e.processes},null,8,[`service`,`processes`])):I(``,!0),j(`div`,Et,[j(`div`,Dt,[U(h(c),{label:h(n)(`serviceTerminal.logs`),severity:we.value?`primary`:`secondary`,text:``,size:`small`,onClick:r[0]||=e=>we.value=!0},null,8,[`label`,`severity`]),U(h(ve),{modelValue:ke.value,"onUpdate:modelValue":r[1]||=e=>ke.value=e,options:D.value,"option-label":`label`,"option-value":`value`,class:`service-terminal__pid-selector`},{value:k(e=>[e.value===`all`?(u(),F(`div`,Ot,[r[5]||=j(`i`,{class:`pi pi-list`,style:{"margin-right":`0.5rem`}},null,-1),j(`span`,null,M(h(n)(`serviceTerminal.allProcesses`)),1),T.value>0?(u(),N(h(ye),{key:0,value:`${T.value} ${h(n)(`serviceTerminal.active`)}`,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):I(``,!0)])):(u(),F(`div`,kt,[D.value.find(t=>t.value===e.value)?.isActive?(u(),F(`i`,At)):(u(),F(`i`,jt)),j(`span`,null,`PID: `+M(e.value),1)]))]),option:k(e=>[j(`div`,Mt,[e.option.value===`all`?(u(),F(`i`,Nt)):e.option.isActive?(u(),F(`i`,{key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,title:h(n)(`serviceTerminal.running`)},null,8,Pt)):(u(),F(`i`,{key:2,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,title:h(n)(`serviceTerminal.stopped`)},null,8,Ft)),j(`span`,null,M(e.option.label),1),e.option.badge?(u(),N(h(ye),{key:3,value:e.option.badge,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):I(``,!0)])]),_:1},8,[`modelValue`,`options`])]),j(`div`,It,[U(h(c),{icon:Ae.value?`pi pi-window-minimize`:`pi pi-window-maximize`,text:``,rounded:``,size:`small`,title:Ae.value?h(n)(`serviceTerminal.exitFullscreen`):h(n)(`serviceTerminal.fullscreen`),onClick:je},null,8,[`icon`,`title`]),U(h(c),{icon:`pi pi-download`,text:``,rounded:``,size:`small`,title:h(n)(`serviceTerminal.downloadLogs`),disabled:h(f).length===0,onClick:xe},null,8,[`title`,`disabled`]),U(h(c),{icon:`pi pi-trash`,text:``,rounded:``,size:`small`,title:h(n)(`serviceTerminal.clearLogs`),disabled:h(f).length===0,onClick:O},null,8,[`title`,`disabled`])])]),j(`div`,Lt,[U(We,{logs:te.value,loading:!1,"received-per-sec":h(_),"flushed-per-sec":h(y),"show-stats":ee.value,"service-label":i.service.label||i.service.name,onLogClick:Ne},null,8,[`logs`,`received-per-sec`,`flushed-per-sec`,`show-stats`,`service-label`])]),A.value.length>0?(u(),F(`div`,Rt,[(u(!0),F(L,null,C(A.value,e=>(u(),N(h(c),{key:e.id,label:e.label||e.command,"data-shortcut-id":e.id,class:`shortcut-badge`,icon:ne.value.has(e.id)?`pi pi-stop`:`pi pi-play`,size:`small`,outlined:!ne.value.has(e.id),severity:ne.value.has(e.id)?`danger`:void 0,onClick:t=>re(e)},null,8,[`label`,`data-shortcut-id`,`icon`,`outlined`,`severity`,`onClick`]))),128))])):I(``,!0),j(`div`,zt,[r[6]||=j(`span`,{class:`service-terminal__prompt`,"data-testid":`terminal-prompt`},`>`,-1),U(h(Ve),{ref_key:`adHocCommandInput`,ref:ce,modelValue:P.value,"onUpdate:modelValue":r[2]||=e=>P.value=e,suggestions:fe.value,class:`service-terminal__autocomplete`,"input-class":`service-terminal__input`,placeholder:h(n)(`serviceTerminal.enterCommand`),"aria-label":h(n)(`serviceTerminal.enterCommand`),disabled:!(a.value?.agentId??i.service.agentId),"data-testid":`terminal-command-input`,onComplete:pe,onKeydown:be},null,8,[`modelValue`,`suggestions`,`placeholder`,`aria-label`,`disabled`]),U(h(c),{icon:oe.value?`pi pi-stop`:`pi pi-play`,severity:oe.value?`danger`:void 0,size:`small`,"data-testid":`terminal-run-btn`,disabled:!(a.value?.agentId??i.service.agentId)||!P.value.trim()&&!oe.value,onClick:r[3]||=e=>oe.value?z():B()},null,8,[`icon`,`severity`,`disabled`])]),j(`div`,Bt,[a.value?(u(),N(h(ye),{key:0,icon:`pi pi-server`,value:a.value.agentId.slice(0,8),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):I(``,!0),e.service.cwd?(u(),N(h(ye),{key:1,icon:`pi pi-folder`,value:e.service.cwd,severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):I(``,!0),a.value&&(a.value.state===`running`||a.value.state===`starting`)?(u(),N(h(ye),{key:2,icon:`pi pi-clock`,value:Me(H.value/1e3),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):I(``,!0)]),U(bt,{visible:Ee.value,"onUpdate:visible":r[4]||=e=>Ee.value=e,log:Te.value,onViewProcess:Pe},null,8,[`visible`,`log`])],2))}}),[[`__scopeId`,`data-v-8ce2178d`]]),Wt=5,Gt=fe;function Kt(e){return e+Math.random()*e*.3}function qt(e,n){let i=V(null),a=V(!1),o=V(!1),s=null,c=0,l=null;async function u(){if(!a.value){o.value=!0;try{i.value=await t.process.metrics.query({agentId:e.value,processId:n.value})}catch(e){console.error(`Failed to fetch initial metrics:`,we(e))}finally{o.value=!1}d()}}function d(){a.value=!0,s=t.process.onMetrics.subscribe({agentId:e.value,processId:n.value},{onData(e){c=0,ge(`connected`),i.value=e},onError(e){console.error(`Metrics stream error:`,e),a.value=!1,s=null,f()}})}function f(){if(c>=Wt){console.warn(`Metrics stream: max retries (${Wt}) reached, giving up`),ge(`disconnected`);return}ge(`reconnecting`);let e=Kt(Gt*2**c);c++,l=setTimeout(()=>{l=null,d()},e)}function p(){l&&=(clearTimeout(l),null),s&&=(s.unsubscribe(),null),a.value=!1,c=0}return _e([e,n],([e,t],[n,r])=>{(e!==n||t!==r)&&a.value&&(p(),u())}),r(()=>{p()}),{metrics:i,isStreaming:a,isLoading:o,start:u,stop:p}}var Jt={class:`service-metrics`,"data-testid":`service-metrics`},Yt={key:1,class:`service-metrics__skeleton`},Xt={class:`metric-skeleton`},Zt={class:`metric-skeleton`},Qt={key:2,class:`service-metrics__no-data`},$t={key:1,class:`service-metrics__no-process`},en=o(H({__name:`ServiceMetrics`,props:{service:{},processes:{}},setup(e){let t=e,n=R(()=>t.processes.find(e=>e.state===`running`||e.state===`starting`)??t.processes[0]??null),i=R(()=>n.value?.agentId??``),a=R(()=>n.value?.id??``),{t:o}=E(),{metrics:s,isLoading:c,start:l,stop:d}=qt(i,a);return v(()=>{n.value&&l()}),r(()=>{d()}),(e,t)=>(u(),F(`div`,Jt,[n.value?(u(),F(L,{key:0},[h(s)?(u(),N(Ue,{key:0,cpu:h(s).cpu,memory:h(s).memory},null,8,[`cpu`,`memory`])):h(c)?(u(),F(`div`,Yt,[j(`div`,Xt,[U(h(He),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),U(h(He),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),U(h(He),{width:`100%`,height:`6px`,"border-radius":`4px`})]),j(`div`,Zt,[U(h(He),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),U(h(He),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),U(h(He),{width:`6rem`,height:`0.65rem`})])])):(u(),F(`div`,Qt,M(h(o)(`serviceMetrics.noData`)),1))],64)):(u(),F(`div`,$t,[t[0]||=j(`i`,{class:`pi pi-info-circle`},null,-1),j(`span`,null,M(h(o)(`serviceMetrics.notRunning`)),1)]))]))}}),[[`__scopeId`,`data-v-94f5993b`]]),tn=`runeya:debug`,nn=V(localStorage.getItem(tn)===`true`);function rn(){function e(){nn.value=!nn.value,localStorage.setItem(tn,String(nn.value))}return{isDebug:nn,toggle:e}}var an={class:`config-general`},on={class:`config-card`},sn={class:`config-card__header`},cn={class:`config-card`},ln={class:`config-card__header`},un={class:`config-card__hint`},dn={class:`config-card`},fn={class:`config-card`},pn={class:`config-card__header`},mn={class:`config-card__hint`},hn={class:`config-card`},gn={class:`config-card__header`},_n={class:`config-card__hint`},vn={class:`config-card`},yn={class:`config-card__header`},bn={class:`config-card__hint`},xn={class:`config-card`},Sn={class:`config-card__header`},Cn={class:`config-card__hint`},wn={class:`config-card`},Tn={class:`config-card__header`},En={class:`config-card__hint`},Dn={class:`config-card`},On={class:`config-card__header`},kn={class:`config-card__hint`},An={class:`config-card__hint`},jn={class:`config-card`},Mn={class:`config-card__header`},Nn={class:`config-card__hint`},Pn={class:`config-meta`},Fn={class:`config-card config-card--inline`},In={class:`config-card__header`},Ln={class:`config-card config-card--inline`},Rn={class:`config-card__header`},zn=150,Bn=o(H({__name:`ServiceConfigGeneral`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=E(),r=ue(),i=m(),a=V([]);function o(e){let t=e.query.trim().toLowerCase(),n=new Set(y.value.groups);a.value=_.value.filter(e=>!n.has(e)&&(!t||e.toLowerCase().includes(t)))}function s(e,t){let n=t.trim();if(n){if(e===`ports`){let e=Number(n);if(!Number.isInteger(e)||e<1||e>65535||y.value.ports.includes(String(e)))return;y.value.ports=[...y.value.ports,String(e)]}else{if(y.value.groups.includes(n))return;y.value.groups=[...y.value.groups,n]}T()}}function l(e){let t=e.target;s(`groups`,t.value),t.value=``,a.value=[]}function d(e,t){let n=e.target;!n||typeof n.value!=`string`||!n.value.trim()||setTimeout(()=>{s(t,n.value),n.value=``},zn)}let f=e,p=t,g=R(()=>i.projects.find(e=>e.serviceIds.includes(f.service.id)&&(e.orgId??null)===(f.service.orgId??null))??null),_=R(()=>{let e=g.value;if(!e)return[];let t=new Set;for(let n of e.serviceIds)for(let e of r.getById(n)?.groups??[])t.add(e);return[...t].sort((e,t)=>e.localeCompare(t))});function v(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}let y=V({name:f.service.name,cwd:f.service.cwd??``,ports:(f.service.ports??[]).map(String),groups:[...f.service.groups??[]],description:f.service.description??``,docsPath:f.service.docsPath??``,url:f.service.url??``,openapiUrl:f.service.openapiUrl??``,gitRemote:f.service.git?.remote??``,gitHome:f.service.git?.home??``,autoRestart:f.service.autoRestart,clearLogsOnStart:f.service.clearLogsOnStart??!1}),b=V(v(f.service.meta));_e(()=>f.service,e=>{y.value={name:e.name,cwd:e.cwd??``,ports:(e.ports??[]).map(String),groups:[...e.groups??[]],description:e.description??``,docsPath:e.docsPath??``,url:e.url??``,openapiUrl:e.openapiUrl??``,gitRemote:e.git?.remote??``,gitHome:e.git?.home??``,autoRestart:e.autoRestart,clearLogsOnStart:e.clearLogsOnStart??!1},b.value=v(e.meta)});function x(){b.value=[...b.value,{key:``,value:``}]}function ee(e){b.value=b.value.filter((t,n)=>n!==e)}function S(e,t,n){b.value=b.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function w(){let e={};for(let{key:t,value:n}of b.value){let r=t.trim();r&&(e[r]=n)}return{name:y.value.name,cwd:y.value.cwd||null,ports:y.value.ports.map(Number).filter(e=>e>0&&e<=65535),groups:y.value.groups,description:y.value.description,docsPath:y.value.docsPath??``,url:y.value.url,openapiUrl:y.value.openapiUrl,git:y.value.gitRemote||y.value.gitHome?{remote:y.value.gitRemote||void 0,home:y.value.gitHome||void 0}:null,autoRestart:y.value.autoRestart,clearLogsOnStart:y.value.clearLogsOnStart,meta:Object.keys(e).length>0?e:null}}let te=null;function T(){te&&clearTimeout(te),te=setTimeout(()=>{p(`save`,w()),te=null},150)}return(e,t)=>(u(),F(`div`,an,[j(`div`,on,[j(`div`,sn,[t[14]||=j(`i`,{class:`pi pi-tag`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.name`)),1)]),U(h(W),{modelValue:y.value.name,"onUpdate:modelValue":t[0]||=e=>y.value.name=e,class:`config-card__input`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),j(`div`,cn,[j(`div`,ln,[t[15]||=j(`i`,{class:`pi pi-folder`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.workingDirectory`)),1)]),U(h(W),{modelValue:y.value.cwd,"onUpdate:modelValue":t[1]||=e=>y.value.cwd=e,class:`config-card__input`,placeholder:`.`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),j(`small`,un,M(h(n)(`serviceConfigGeneral.cwdHint`)),1)]),j(`div`,dn,[t[16]||=j(`div`,{class:`config-card__header`},[j(`i`,{class:`pi pi-file-edit`}),j(`span`,null,`Dossier de documentation (wiki)`)],-1),U(h(W),{modelValue:y.value.docsPath,"onUpdate:modelValue":t[2]||=e=>y.value.docsPath=e,class:`config-card__input`,placeholder:`(défaut : même que cwd)`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[17]||=j(`small`,{class:`config-card__hint`},[B(` Chemin relatif au cwd du service (ex. `),j(`code`,null,`docs`),B(`) ou absolu. Si vide, utilise le cwd. `)],-1)]),j(`div`,fn,[j(`div`,pn,[t[18]||=j(`i`,{class:`pi pi-globe`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.ports`)),1)]),U(h(Ve),{modelValue:y.value.ports,"onUpdate:modelValue":t[3]||=e=>y.value.ports=e,multiple:``,typeahead:!1,class:`config-card__input`,placeholder:h(n)(`serviceConfigGeneral.portsPlaceholder`),onChange:T,onBlur:t[4]||=e=>d(e,`ports`)},null,8,[`modelValue`,`placeholder`]),j(`small`,mn,M(h(n)(`serviceConfigGeneral.portsHint`)),1)]),j(`div`,hn,[j(`div`,gn,[t[19]||=j(`i`,{class:`pi pi-th-large`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.groups`)),1)]),U(h(Ve),{modelValue:y.value.groups,"onUpdate:modelValue":t[5]||=e=>y.value.groups=e,multiple:``,suggestions:a.value,"complete-on-focus":!0,class:`config-card__input`,placeholder:h(n)(`serviceConfigGeneral.groupsPlaceholder`),onComplete:o,onChange:T,onKeydown:P(l,[`enter`]),onBlur:t[6]||=e=>d(e,`groups`)},null,8,[`modelValue`,`suggestions`,`placeholder`]),j(`small`,_n,M(h(n)(`serviceConfigGeneral.groupsHint`)),1)]),j(`div`,vn,[j(`div`,yn,[t[20]||=j(`i`,{class:`pi pi-info-circle`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.description`)),1)]),U(h(O),{modelValue:y.value.description,"onUpdate:modelValue":t[7]||=e=>y.value.description=e,class:`config-card__input`,rows:2,onBlur:T},null,8,[`modelValue`]),j(`small`,bn,M(h(n)(`serviceConfigGeneral.descriptionHint`)),1)]),j(`div`,xn,[j(`div`,Sn,[t[21]||=j(`i`,{class:`pi pi-external-link`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.url`)),1)]),U(h(W),{modelValue:y.value.url,"onUpdate:modelValue":t[8]||=e=>y.value.url=e,class:`config-card__input`,placeholder:`https://...`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),j(`small`,Cn,M(h(n)(`serviceConfigGeneral.urlHint`)),1)]),j(`div`,wn,[j(`div`,Tn,[t[22]||=j(`i`,{class:`pi pi-book`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.openapiUrl`)),1)]),U(h(W),{modelValue:y.value.openapiUrl,"onUpdate:modelValue":t[9]||=e=>y.value.openapiUrl=e,class:`config-card__input`,placeholder:`https://.../swagger.json`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),j(`small`,En,M(h(n)(`serviceConfigGeneral.openapiUrlHint`)),1)]),j(`div`,Dn,[j(`div`,On,[t[23]||=j(`i`,{class:`pi pi-github`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.git`)),1)]),U(h(W),{modelValue:y.value.gitRemote,"onUpdate:modelValue":t[10]||=e=>y.value.gitRemote=e,class:`config-card__input`,placeholder:`git@github.com:org/repo.git`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),j(`small`,kn,M(h(n)(`serviceConfigGeneral.gitRemoteHint`)),1),U(h(W),{modelValue:y.value.gitHome,"onUpdate:modelValue":t[11]||=e=>y.value.gitHome=e,class:`config-card__input`,style:{"margin-top":`0.5rem`},placeholder:`https://github.com/org/repo`,onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),j(`small`,An,M(h(n)(`serviceConfigGeneral.gitHomeHint`)),1)]),j(`div`,jn,[j(`div`,Mn,[t[24]||=j(`i`,{class:`pi pi-hashtag`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.meta`)),1)]),j(`small`,Nn,M(h(n)(`serviceConfigGeneral.metaHint`)),1),j(`div`,Pn,[(u(!0),F(L,null,C(b.value,(e,t)=>(u(),F(`div`,{key:t,class:`config-meta__row`},[U(h(W),{"model-value":e.key,placeholder:h(n)(`serviceConfigGeneral.metaKeyPlaceholder`),class:`config-meta__input`,"onUpdate:modelValue":e=>S(t,`key`,e),onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(W),{"model-value":e.value,placeholder:h(n)(`serviceConfigGeneral.metaValuePlaceholder`),class:`config-meta__input config-meta__input--wide`,"onUpdate:modelValue":e=>S(t,`value`,e),onBlur:T,onKeydown:P(A(T,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:()=>{ee(t),T()}},null,8,[`onClick`])]))),128)),U(h(c),{label:h(n)(`serviceConfigGeneral.addEntry`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,class:`config-meta__add`,onClick:x},null,8,[`label`])])]),j(`div`,Fn,[j(`div`,In,[t[25]||=j(`i`,{class:`pi pi-refresh`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.autoRestart`)),1)]),U(h(Ne),{modelValue:y.value.autoRestart,"onUpdate:modelValue":t[12]||=e=>y.value.autoRestart=e,onChange:T},null,8,[`modelValue`])]),j(`div`,Ln,[j(`div`,Rn,[t[26]||=j(`i`,{class:`pi pi-trash`},null,-1),j(`span`,null,M(h(n)(`serviceConfigGeneral.clearLogs`)),1)]),U(h(Ne),{modelValue:y.value.clearLogsOnStart,"onUpdate:modelValue":t[13]||=e=>y.value.clearLogsOnStart=e,onChange:T},null,8,[`modelValue`])])]))}}),[[`__scopeId`,`data-v-6fef6778`]]),Vn={class:`docker-config`},Hn={class:`docker-config__section`},Un={for:`docker-mode-image`,class:`docker-config__section-title`},Wn={class:`docker-config__mode-toggle`},Gn={class:`docker-config__mode-option`},Kn={class:`docker-config__mode-option`},qn={key:0,class:`docker-config__section`},Jn={for:`docker-image`,class:`docker-config__label`},Yn={class:`docker-config__section`},Xn={class:`docker-config__section`},Zn={for:`docker-build-context`,class:`docker-config__label`},Qn={class:`docker-config__section`},$n={for:`docker-add-build-arg`,class:`docker-config__label`},er={class:`docker-config__kv-list`},tr={class:`docker-config__section`},nr={for:`docker-target-stage`,class:`docker-config__label`},rr={class:`docker-config__section`},ir={for:`docker-user`,class:`docker-config__section-title`},ar={class:`docker-config__section`},or={for:`docker-user`,class:`docker-config__label`},sr={class:`docker-config__section`},cr={for:`docker-network-mode`,class:`docker-config__label`},lr={key:2,class:`docker-config__section`},ur={for:`docker-add-port`,class:`docker-config__label`},dr={class:`docker-config__list`},fr={class:`docker-config__section`},pr={for:`docker-add-volume`,class:`docker-config__label`},mr={class:`docker-config__checkbox-row`},hr={for:`mountRootpath`,class:`docker-config__checkbox-label`},gr={class:`docker-config__list`},_r={class:`docker-config__section`},vr={class:`docker-config__checkbox-row`},yr={for:`useNativeCommand`,class:`docker-config__checkbox-label`},br={key:0,class:`docker-config__shell-row`},xr={for:`docker-native-shell`,class:`docker-config__label`},Sr={class:`docker-config__hint`},Cr={key:1,class:`docker-config__mode-toggle docker-config__mode-toggle--indented`},wr={class:`docker-config__mode-option`},Tr={class:`docker-config__mode-option`},Er={class:`docker-config__section`},Dr={for:`docker-entrypoint`,class:`docker-config__label`},Or={class:`docker-config__section`},kr={for:`docker-command`,class:`docker-config__label`},Ar={class:`docker-config__section`},jr={for:`docker-add-bootstrap`,class:`docker-config__section-title`},Mr={class:`docker-config__hint-inline`},Nr={class:`docker-config__bootstrap-row`},Pr={class:`docker-config__bootstrap-field`},Fr=[`for`],Ir={class:`docker-config__bootstrap-field`},Lr=[`for`],Rr={class:`docker-config__bootstrap-field docker-config__bootstrap-field--wide`},zr=[`for`],Br={class:`docker-config__bootstrap-field`},Vr=[`for`],Hr={class:`docker-config__bootstrap-actions`},Ur={class:`docker-config__section`},Wr=o(H({__name:`ServiceConfigDocker`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=E(),r=e,i=t,a=r.service.dockerConfig??{},o=V(a.dockerfile?`build`:`image`),l=V(a.image??``),d=V(a.dockerfile??``),f=V(a.buildContext??``),p=V(Object.entries(a.buildArgs??{}).map(([e,t])=>({key:e,value:t}))),m=V(a.targetStage??``),g=V(a.networkMode??`host`),_=V([...a.ports??[]]),v=V([...a.volumes??[]]),y=V(a.mountRootpath??!1),b=V(a.entrypoint??``),x=V(a.command??``),S=V(a.user??``),w=V(a.useNativeCommand??!1),te=V(a.nativeCommandMode??`isolated`),T=V(a.nativeShell??`sh`),D=[{label:`sh (POSIX)`,value:`sh`},{label:`bash`,value:`bash`},{label:`zsh`,value:`zsh`},{label:`ash (Alpine)`,value:`ash`}],O=V([...a.bootstrapCommands??[]]),N=V(!1),re=[{label:`Host (--network host)`,value:`host`},{label:`Bridge`,value:`bridge`}];function ie(){p.value=[...p.value,{key:``,value:``}]}function ae(e){p.value=p.value.filter((t,n)=>n!==e)}function oe(e,t,n){p.value=p.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function se(){_.value=[..._.value,``]}function ce(e){_.value=_.value.filter((t,n)=>n!==e)}function le(e,t){_.value=_.value.map((n,r)=>r===e?t:n)}function ue(){v.value=[...v.value,``]}function fe(e){v.value=v.value.filter((t,n)=>n!==e)}function pe(e,t){v.value=v.value.map((n,r)=>r===e?t:n)}function me(){O.value=[...O.value,{id:Oe(),label:`Bootstrap`,entrypoint:`/bin/sh`,command:`-c ""`,user:void 0}]}function he(e){O.value=O.value.filter((t,n)=>n!==e)}function ge(e,t,n){O.value=O.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function _e(e,t){let n=[...O.value],r=e+t;r<0||r>=n.length||([n[e],n[r]]=[n[r],n[e]],O.value=n)}let R=null;function z(){R&&clearTimeout(R),R=setTimeout(()=>{let e={};for(let{key:t,value:n}of p.value)t.trim()&&(e[t.trim()]=n);i(`save`,{image:o.value===`image`&&l.value||void 0,dockerfile:o.value===`build`&&d.value||void 0,buildContext:f.value||void 0,buildArgs:e,targetStage:m.value||void 0,networkMode:g.value,ports:_.value.filter(Boolean),volumes:v.value.filter(Boolean),mountRootpath:y.value,entrypoint:b.value||void 0,command:x.value||void 0,user:S.value||void 0,useNativeCommand:w.value,nativeCommandMode:te.value,nativeShell:T.value,bootstrapCommands:O.value}),R=null},150)}function ye(e){he(e),z()}function be(e,t){_e(e,t),z()}function xe(e){ae(e),z()}function H(e){ce(e),z()}function Se(e){fe(e),z()}return(e,t)=>(u(),F(`div`,Vn,[j(`div`,Hn,[j(`label`,Un,M(h(n)(`serviceConfigDocker.imageSource`)),1),j(`div`,Wn,[j(`label`,Gn,[de(j(`input`,{id:`docker-mode-image`,"onUpdate:modelValue":t[0]||=e=>o.value=e,type:`radio`,value:`image`,class:`docker-config__radio`,onChange:z},null,544),[[ne,o.value]]),B(` `+M(h(n)(`serviceConfigDocker.pullImage`)),1)]),j(`label`,Kn,[de(j(`input`,{"onUpdate:modelValue":t[1]||=e=>o.value=e,type:`radio`,value:`build`,class:`docker-config__radio`,onChange:z},null,544),[[ne,o.value]]),B(` `+M(h(n)(`serviceConfigDocker.buildDockerfile`)),1)])])]),o.value===`image`?(u(),F(`div`,qn,[j(`label`,Jn,M(h(n)(`serviceConfigDocker.image`)),1),U(h(W),{id:`docker-image`,modelValue:l.value,"onUpdate:modelValue":t[2]||=e=>l.value=e,placeholder:h(n)(`serviceConfigDocker.imagePlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):I(``,!0),o.value===`build`?(u(),F(L,{key:1},[j(`div`,Yn,[t[18]||=j(`label`,{for:`docker-dockerfile-btn`,class:`docker-config__label`},`Dockerfile`,-1),U(h(c),{id:`docker-dockerfile-btn`,label:h(n)(`serviceConfigDocker.editDockerfile`),icon:`pi pi-file-edit`,severity:`secondary`,outlined:``,size:`small`,onClick:t[3]||=e=>N.value=!0},null,8,[`label`]),U(h(ee),{visible:N.value,"onUpdate:visible":t[6]||=e=>N.value=e,header:h(n)(`serviceConfigDocker.editDockerfile`),modal:``,style:{width:`800px`}},{footer:k(()=>[U(h(c),{label:h(n)(`serviceConfigDocker.closeDockerfile`),icon:`pi pi-times`,onClick:t[5]||=()=>{N.value=!1,z()}},null,8,[`label`])]),default:k(()=>[U(s,{modelValue:d.value,"onUpdate:modelValue":t[4]||=e=>d.value=e,language:`dockerfile`,style:{height:`400px`}},null,8,[`modelValue`])]),_:1},8,[`visible`,`header`])]),j(`div`,Xn,[j(`label`,Zn,M(h(n)(`serviceConfigDocker.buildContext`)),1),U(h(W),{id:`docker-build-context`,modelValue:f.value,"onUpdate:modelValue":t[7]||=e=>f.value=e,placeholder:`.`,class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),j(`div`,Qn,[j(`label`,$n,M(h(n)(`serviceConfigDocker.buildArgs`)),1),j(`div`,er,[(u(!0),F(L,null,C(p.value,(e,t)=>(u(),F(`div`,{key:t,class:`docker-config__kv-row`},[U(h(W),{"model-value":e.key,placeholder:h(n)(`serviceConfigDocker.argNamePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>oe(t,`key`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(W),{"model-value":e.value,placeholder:h(n)(`serviceConfigDocker.argValuePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>oe(t,`value`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>xe(t)},null,8,[`onClick`])]))),128)),U(h(c),{id:`docker-add-build-arg`,label:h(n)(`serviceConfigDocker.addBuildArg`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:ie},null,8,[`label`])])]),j(`div`,tr,[j(`label`,nr,M(h(n)(`serviceConfigDocker.targetStage`)),1),U(h(W),{id:`docker-target-stage`,modelValue:m.value,"onUpdate:modelValue":t[8]||=e=>m.value=e,placeholder:h(n)(`serviceConfigDocker.targetStagePlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)):I(``,!0),U(h(Ge)),j(`div`,rr,[j(`label`,ir,M(h(n)(`serviceConfigDocker.runtimeConfig`)),1)]),j(`div`,ar,[j(`label`,or,M(h(n)(`serviceConfigDocker.userGroup`)),1),U(h(W),{id:`docker-user`,modelValue:S.value,"onUpdate:modelValue":t[9]||=e=>S.value=e,placeholder:h(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),j(`div`,sr,[j(`label`,cr,M(h(n)(`serviceConfigDocker.networkMode`)),1),U(h(ve),{"input-id":`docker-network-mode`,modelValue:g.value,"onUpdate:modelValue":t[10]||=e=>g.value=e,options:re,"option-label":`label`,"option-value":`value`,class:`docker-config__select`,onChange:z},null,8,[`modelValue`])]),g.value===`bridge`?(u(),F(`div`,lr,[j(`label`,ur,M(h(n)(`serviceConfigDocker.portMappings`)),1),j(`div`,dr,[(u(!0),F(L,null,C(_.value,(e,t)=>(u(),F(`div`,{key:t,class:`docker-config__list-row`},[U(h(W),{"model-value":e,placeholder:h(n)(`serviceConfigDocker.portPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>le(t,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>H(t)},null,8,[`onClick`])]))),128)),U(h(c),{id:`docker-add-port`,label:h(n)(`serviceConfigDocker.addPort`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:se},null,8,[`label`])])])):I(``,!0),j(`div`,fr,[j(`label`,pr,M(h(n)(`serviceConfigDocker.volumes`)),1),j(`div`,mr,[U(h(Me),{modelValue:y.value,"onUpdate:modelValue":t[11]||=e=>y.value=e,binary:!0,"input-id":`mountRootpath`,onChange:z},null,8,[`modelValue`]),j(`label`,hr,M(h(n)(`serviceConfigDocker.autoMount`)),1)]),j(`div`,gr,[(u(!0),F(L,null,C(v.value,(e,t)=>(u(),F(`div`,{key:t,class:`docker-config__list-row`},[U(h(W),{"model-value":e,placeholder:h(n)(`serviceConfigDocker.volumePlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>pe(t,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>Se(t)},null,8,[`onClick`])]))),128)),U(h(c),{id:`docker-add-volume`,label:h(n)(`serviceConfigDocker.addVolume`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:ue},null,8,[`label`])])]),U(h(Ge)),j(`div`,_r,[j(`div`,vr,[U(h(Me),{modelValue:w.value,"onUpdate:modelValue":t[12]||=e=>w.value=e,binary:!0,"input-id":`useNativeCommand`,onChange:z},null,8,[`modelValue`]),j(`label`,yr,M(h(n)(`serviceConfigDocker.runNative`)),1)]),t[21]||=j(`span`,{class:`docker-config__hint`},` When enabled, the service command is executed directly inside the container (ignores CMD override below). `,-1),w.value?(u(),F(`div`,br,[j(`label`,xr,M(h(n)(`serviceConfigDocker.shell`)),1),U(h(ve),{"input-id":`docker-native-shell`,modelValue:T.value,"onUpdate:modelValue":t[13]||=e=>T.value=e,options:D,"option-label":`label`,"option-value":`value`,class:`docker-config__select docker-config__select--small`,editable:``,placeholder:h(n)(`serviceConfigDocker.shellPlaceholder`),onChange:z},null,8,[`modelValue`,`placeholder`]),j(`span`,Sr,[B(M(h(n)(`serviceConfigDocker.shellHint`))+` (`,1),t[19]||=j(`code`,null,`shell -c '...'`,-1),t[20]||=B(`)`,-1)])])):I(``,!0),w.value?(u(),F(`div`,Cr,[j(`label`,wr,[de(j(`input`,{"onUpdate:modelValue":t[14]||=e=>te.value=e,type:`radio`,value:`isolated`,class:`docker-config__radio`,onChange:z},null,544),[[ne,te.value]]),B(` `+M(h(n)(`serviceConfigDocker.isolated`)),1)]),j(`label`,Tr,[de(j(`input`,{"onUpdate:modelValue":t[15]||=e=>te.value=e,type:`radio`,value:`shared`,class:`docker-config__radio`,onChange:z},null,544),[[ne,te.value]]),B(` `+M(h(n)(`serviceConfigDocker.shared`)),1)])])):I(``,!0)]),w.value?I(``,!0):(u(),F(L,{key:3},[t[22]||=j(`div`,{class:`docker-config__section`},[j(`label`,{for:`docker-entrypoint`,class:`docker-config__section-title`},`Override`)],-1),j(`div`,Er,[j(`label`,Dr,M(h(n)(`serviceConfigDocker.entrypoint`)),1),U(h(W),{id:`docker-entrypoint`,modelValue:b.value,"onUpdate:modelValue":t[16]||=e=>b.value=e,placeholder:h(n)(`serviceConfigDocker.entrypointPlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),j(`div`,Or,[j(`label`,kr,M(h(n)(`serviceConfigDocker.cmdOverride`)),1),U(h(W),{id:`docker-command`,modelValue:x.value,"onUpdate:modelValue":t[17]||=e=>x.value=e,placeholder:h(n)(`serviceConfigDocker.cmdPlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)),U(h(Ge)),j(`div`,Ar,[j(`label`,jr,[B(M(h(n)(`serviceConfigDocker.bootstrapCommands`))+` `,1),j(`span`,Mr,` — `+M(h(n)(`serviceConfigDocker.bootstrapCommandsHint`)),1)])]),(u(!0),F(L,null,C(O.value,(e,t)=>(u(),F(`div`,{key:e.id,class:`docker-config__bootstrap-card`},[j(`div`,Nr,[j(`div`,Pr,[j(`label`,{class:`docker-config__label`,for:`docker-bootstrap-label-${t}`},`Label`,8,Fr),U(h(W),{id:`docker-bootstrap-label-${t}`,"model-value":e.label,placeholder:h(n)(`serviceConfigDocker.bootstrapLabelPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>ge(t,`label`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Ir,[j(`label`,{class:`docker-config__label`,for:`docker-bootstrap-entrypoint-${t}`},`Entrypoint`,8,Lr),U(h(W),{id:`docker-bootstrap-entrypoint-${t}`,"model-value":e.entrypoint??``,placeholder:`/bin/sh`,class:`docker-config__input`,"onUpdate:modelValue":e=>ge(t,`entrypoint`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Rr,[j(`label`,{class:`docker-config__label`,for:`docker-bootstrap-command-${t}`},`Command`,8,zr),U(h(W),{id:`docker-bootstrap-command-${t}`,"model-value":e.command,placeholder:`-c "npm install"`,class:`docker-config__input`,"onUpdate:modelValue":e=>ge(t,`command`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Br,[j(`label`,{class:`docker-config__label`,for:`docker-bootstrap-user-${t}`},`User:Group`,8,Vr),U(h(W),{id:`docker-bootstrap-user-${t}`,"model-value":e.user??``,placeholder:h(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,"onUpdate:modelValue":e=>ge(t,`user`,e),onBlur:z,onKeydown:P(A(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Hr,[U(h(c),{icon:`pi pi-arrow-up`,text:``,rounded:``,size:`small`,disabled:t===0,onClick:e=>be(t,-1)},null,8,[`disabled`,`onClick`]),U(h(c),{icon:`pi pi-arrow-down`,text:``,rounded:``,size:`small`,disabled:t===O.value.length-1,onClick:e=>be(t,1)},null,8,[`disabled`,`onClick`]),U(h(c),{icon:`pi pi-times`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>ye(t)},null,8,[`onClick`])])])]))),128)),j(`div`,Ur,[U(h(c),{id:`docker-add-bootstrap`,label:h(n)(`serviceConfigDocker.addBootstrapCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:me},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-91c13548`]]),Gr={class:`config-commands`},Kr={class:`config-commands__execution`},qr={class:`config-card config-card--execution`},Jr={class:`config-card__header`},Yr={class:`config-card__hint`},Xr={class:`config-card config-card--execution`},Zr={class:`config-card__header`},Qr={key:0,class:`runner-option`},$r={class:`runner-option`},ei={class:`config-commands__tab-content`},ti={key:0,class:`config-commands__empty`},ni={class:`config-commands__row`},ri={class:`config-commands__field`},ii=[`for`],ai={class:`config-commands__field config-commands__field--wide`},oi=[`for`],si={class:`config-commands__field`},ci=[`for`],li={class:`config-commands__actions-cell`},ui={class:`config-commands__footer`},di={class:`config-commands__tab-content`},fi=`__inherit__`,pi=o(H({__name:`ServiceConfigCommands`,props:{service:{}},emits:[`save`,`dockerSave`],setup(t,{emit:n}){let r=t,i=n,{t:a}=E(),o=e(),s=null,l=V({agentId:r.service.agentId??fi,runner:r.service.runner});_e(()=>r.service,e=>{l.value={agentId:e.agentId??fi,runner:e.runner}});let d=R(()=>[{label:a(`serviceConfigCommands.native`),value:`native`,icon:`pi pi-desktop`},{label:a(`serviceConfigCommands.docker`),value:`docker`,icon:`pi pi-box`}]),f=R(()=>d.value.find(e=>e.value===l.value.runner)?.icon??`pi pi-box`),p=R(()=>[{label:a(`serviceForm.agentInherit`),value:fi},...o.agents.map(e=>({label:`${e.config.name} (${e.status.connected?a(`serviceConfigCommands.online`):a(`serviceConfigCommands.offline`)})`,value:e.config.id}))]),m=V([...r.service.commands??[]]);_e(()=>r.service,e=>{s||(m.value=[...e.commands??[]])});function g(){m.value=[...m.value,{id:Oe(),label:``,command:``,cwd:void 0,shell:!0}]}function _(e){m.value=m.value.filter((t,n)=>n!==e)}function v(e,t,n){m.value=m.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function y(){s&&clearTimeout(s),s=setTimeout(()=>{i(`save`,{agentId:l.value.agentId===fi?null:l.value.agentId||null,runner:l.value.runner,commands:m.value}),s=null},150)}function b(e){i(`dockerSave`,e)}function x(e){_(e),y()}return(e,n)=>(u(),F(`div`,Gr,[j(`div`,Kr,[j(`div`,qr,[j(`div`,Jr,[n[2]||=j(`i`,{class:`pi pi-server`},null,-1),j(`span`,null,M(h(a)(`serviceConfigCommands.agent`)),1)]),U(h(ve),{modelValue:l.value.agentId,"onUpdate:modelValue":n[0]||=e=>l.value.agentId=e,options:p.value,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:y},null,8,[`modelValue`,`options`]),j(`small`,Yr,M(h(a)(`serviceForm.agentHintEdit`)),1)]),j(`div`,Xr,[j(`div`,Zr,[j(`i`,{class:se(f.value)},null,2),j(`span`,null,M(h(a)(`serviceConfigCommands.runner`)),1)]),U(h(ve),{modelValue:l.value.runner,"onUpdate:modelValue":n[1]||=e=>l.value.runner=e,options:d.value,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:y},{value:k(e=>[e.value?(u(),F(`div`,Qr,[j(`i`,{class:se(d.value.find(t=>t.value===e.value)?.icon)},null,2),j(`span`,null,M(d.value.find(t=>t.value===e.value)?.label),1)])):I(``,!0)]),option:k(e=>[j(`div`,$r,[j(`i`,{class:se(e.option.icon)},null,2),j(`span`,null,M(e.option.label),1)])]),_:1},8,[`modelValue`,`options`])])]),U(h(Pe),{value:`0`},{default:k(()=>[U(h(Fe),null,{default:k(()=>[U(h(Le),{value:`0`},{default:k(()=>[n[3]||=j(`i`,{class:`pi pi-desktop tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigCommands.native`)),1)]),_:1}),U(h(Le),{value:`1`},{default:k(()=>[n[4]||=j(`i`,{class:`pi pi-box tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigCommands.docker`)),1)]),_:1})]),_:1}),U(h(Ie),null,{default:k(()=>[U(h(Re),{value:`0`},{default:k(()=>[j(`div`,ei,[m.value.length===0?(u(),F(`div`,ti,[j(`p`,null,M(h(a)(`serviceConfigCommands.noCommands`)),1)])):I(``,!0),(u(!0),F(L,null,C(m.value,(e,t)=>(u(),F(`div`,{key:e.id,class:`config-card`},[j(`div`,ni,[j(`div`,ri,[j(`label`,{class:`config-commands__label`,for:`cmd-label-${t}`},M(h(a)(`serviceConfigCommands.labelPlaceholder`)),9,ii),U(h(W),{id:`cmd-label-${t}`,"model-value":e.label,placeholder:h(a)(`serviceConfigCommands.labelPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>v(t,`label`,e),onBlur:y,onKeydown:P(A(y,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,ai,[j(`label`,{class:`config-commands__label`,for:`cmd-command-${t}`},M(h(a)(`serviceConfigCommands.commandPlaceholder`)),9,oi),U(h(W),{id:`cmd-command-${t}`,"model-value":e.command,placeholder:`e.g. npm start`,class:`config-card__input`,"onUpdate:modelValue":e=>v(t,`command`,e),onBlur:y,onKeydown:P(A(y,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,si,[j(`label`,{class:`config-commands__label`,for:`cmd-cwd-${t}`},`Working Dir (optional)`,8,ci),U(h(W),{id:`cmd-cwd-${t}`,"model-value":e.cwd??``,placeholder:h(a)(`serviceConfigCommands.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>v(t,`cwd`,e),onBlur:y,onKeydown:P(A(y,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,li,[U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>x(t)},null,8,[`onClick`])])])]))),128)),j(`div`,ui,[U(h(c),{label:h(a)(`serviceConfigCommands.addCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:g},null,8,[`label`])])])]),_:1}),U(h(Re),{value:`1`},{default:k(()=>[j(`div`,di,[U(Wr,{service:t.service,onSave:b},null,8,[`service`])])]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-df297a71`]]),mi={class:`config-env`,"data-testid":`config-env`},hi={key:0,class:`active-env-display`},gi={class:`active-env-label`},_i={key:1,class:`inheritance-toggle`},vi={class:`inheritance-label`},yi={class:`inherited-header`},bi={class:`inherited-row-key`},xi={class:`preview-key`},Si={class:`value-row`},Ci=[`onClick`],wi=[`onClick`],Ti={key:0,class:`secret-mask`},Ei={key:1,class:`preview-value`},Di={class:`config-env__header`},Oi={class:`config-env__title`},ki={class:`config-env__actions`},Ai={key:3,class:`variables-view`},ji={key:0},Mi={key:1,class:`empty-state`},Ni={class:`inherited-header`},Pi={class:`passthrough-info`},Fi={class:`preview-key`},Ii={key:0,class:`preview-value`},Li={key:1,class:`passthrough-undefined`},Ri={key:4,class:`empty-state`},zi={key:5,class:`empty-state`},Bi={class:`editor-container`},Vi={key:0,class:`editor-env-banner`},Hi={class:`editor-env-text`},Ui={class:`editor-section`,"data-testid":`variables-editor`},Wi={key:0,class:`loading-container`},Gi={key:1,class:`preview-container`},Ki={class:`preview-info`},qi={class:`preview-key`},Ji={class:`value-row`},Yi=[`onClick`],Xi=[`onClick`],Zi={key:0,class:`secret-mask`},Qi={key:1,class:`preview-value`},$i=o(H({__name:`ServiceConfigEnv`,props:{service:{},projectId:{},activeEnvironmentId:{}},setup(n){let r=n,{t:i}=E(),a=l(),o=w(),s=y(),p=m(),g=d(),_=e(),b=oe(),x=ue(),{urlHost:C}=Ee(()=>r.service.agentId),D=R(()=>p.getByRef({id:r.projectId,orgId:g.activeOrgId})?.activeEnvironmentId??null),O=R(()=>s.findServiceEnvironment(r.service.id,D.value??``)),ne=V(!1),P=V(!1),ie=V(!1),ae=V(!1),ce=V(null),de=V(null),fe=V([]),L=V({}),ge=V(new Set);function ve(e){let t=new Set(ge.value);t.has(e)?t.delete(e):t.add(e),ge.value=t}let be=V(null);function xe(e,t){navigator.clipboard.writeText(t),be.value=e,setTimeout(()=>{be.value===e&&(be.value=null)},1500)}let H=V({}),Se=V(!1),W=R(()=>r.service.agentId?_.getById(r.service.agentId):null),Ce=R(()=>{let e={};for(let t of he)e[t.name]=``;Object.assign(e,re(r.service.ports)),e[`service.NAME`]=r.service.name,e[`service.ID`]=r.service.id,Object.assign(e,le(r.service,C.value)),r.service.url&&(e[`service.BASE_URL`]=r.service.url);let t=W.value?.status;t?.lanIp&&(e[`agent.HOST_LAN`]=t.lanIp),t?.os&&(e[`agent.OS`]=t.os),t?.home&&(e[`agent.HOME`]=t.home),W.value&&(e[`agent.NAME`]=W.value.config.name);let n=we(t?.cwd,t?.home);n&&(e[`service.CWD`]=n);let i=p.getByRef({id:r.projectId,orgId:g.activeOrgId});i&&(e[`project.NAME`]=i.name);let a=D.value?s.getById(D.value):null;a&&(e[`runeya.ENV_NAME`]=a.name);for(let t of Te.value)Object.assign(e,z({name:t.name,id:t.id,ports:t.ports,localUrls:t.localUrls,url:t.url},C.value));return e});function we(e,t){let n=(r.service.resolvedCwd??r.service.cwd??``).trim();return n?n.startsWith(`~/`)&&t?t+n.slice(1):n.includes(`$`)?null:n.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(n)?n:null:e??null}let Te=R(()=>{let e=p.getByRef({id:r.projectId,orgId:g.activeOrgId});if(!e)return[];let t=e.serviceIds.filter(e=>e!==r.service.id).map(e=>x.getById(e)).filter(e=>!!e),n=new Map;for(let e of t){let t=pe(e.name);t&&n.set(t,(n.get(t)??0)+1)}return t.filter(e=>(n.get(pe(e.name))??0)===1)}),De=R(()=>W.value?.config.passthroughEnv??[]),Oe=R(()=>De.value.length>0);async function je(){if(!r.service.agentId||!Oe.value){H.value={};return}Se.value=!0;try{H.value=await t.agent.getPassthroughEnv.query({id:r.service.agentId})}catch{H.value={}}finally{Se.value=!1}}let Me=R(()=>De.value.map(e=>({name:e,value:H.value[e]??null}))),Pe=R(()=>!O.value||!D.value?!0:O.value.parentIds?.includes(D.value)??!0);async function Fe(e){if(!(!O.value||!D.value)){ae.value=!0;try{await s.update({id:O.value.id,parentIds:e?[D.value]:[]}),await We()}catch(e){a.add({severity:`error`,summary:i(`serviceConfigEnv.error`),detail:e.message??i(`serviceConfigEnv.failedToUpdateInheritance`),life:5e3})}finally{ae.value=!1}}}let Ie=R(()=>{let e=p.getByRef({id:r.projectId,orgId:g.activeOrgId});return e?.activeEnvironmentId?s.getById(e.activeEnvironmentId):null});function Le(e){return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>({variableId:e,key:t.key||e,slot:{value:t.value?.value??``,pre:t.value?.pre??``,post:t.value?.post??``,isSecret:t.value?.isSecret??!1}}))}let Re=R(()=>ce.value?Le(ce.value.variables):[]),Ve=R(()=>{if(!O.value||!ce.value?.sources)return Re.value;let e=O.value.id;return Re.value.filter(t=>ce.value.sources[t.variableId]?.environmentId===e)}),He=R(()=>{if(!O.value||!ce.value?.sources)return[];let e=O.value.id;return Re.value.filter(t=>ce.value.sources[t.variableId]?.environmentId!==e)}),Ue=R(()=>{if(!ce.value?.sources)return{};let e={};for(let[t,n]of Object.entries(ce.value.sources))e[t]={environmentId:n.environmentId,overridden:n.overridden,...n.resolvedFrom?{resolvedFrom:n.resolvedFrom}:{},...n.overriddenBy?{overriddenBy:n.overriddenBy}:{}};return e});async function We(){if(O.value)try{ce.value=await s.resolve(O.value.id)}catch(e){console.error(`Failed to resolve environment:`,e)}}async function Ge(){if(D.value)try{de.value=await s.resolve(D.value)}catch{}}async function Ke(e){let t=e.toLowerCase(),n=de.value??ce.value;if(!n)return;let r=n.variables,i=Object.keys(n.env).filter(e=>e.toLowerCase().includes(t));fe.value=i;let a={};if(r)for(let e of i){let t=Object.values(r).find(t=>t.key===e);t&&(a[e]={key:e,isSecret:t.value?.isSecret??!1,pre:t.value?.pre??``,post:t.value?.post??``})}L.value=a}async function qe(){ie.value=!0;try{await Xe(),await We(),P.value=!0}catch(e){a.add({severity:`error`,summary:i(`serviceConfigEnv.error`),detail:e.message??i(`serviceConfigEnv.failedToLoadPreview`),life:5e3})}finally{ie.value=!1}}let Je=R(()=>ce.value?Object.entries(ce.value.env).map(([e,t])=>({key:e,value:Object.entries(Ce.value).reduce((e,[t,n])=>e.replaceAll(`{{${t}}}`,n),t)})):[]);function Ye(e,t){return t?`***`:e.length>50?e.substring(0,47)+`...`:e}async function Xe(){if(O.value)return O.value;if(!D.value)return null;let e=Ie.value;return e?(await s.create({name:`${r.service.name??r.service.id} — ${e.name}`,projectId:r.projectId,scope:`service`,reference:r.service.id,activateOn:D.value,parentIds:[D.value],variables:{}}),O.value):null}let Ze=R(()=>{let e=b.getByService(r.service.id);return e.length>0?e[0]:null}),Qe=R(()=>{let e=Ze.value?.state;return e===`running`||e===`errored`});async function $e(){await Xe(),ne.value=!0,await Promise.all([We(),Ge()])}function et(){if(ne.value=!1,!Qe.value||!Ze.value)return;let e=Ze.value.state===`running`?`restart`:`start`,t=r.service.name||r.service.id;o.require({message:i(e===`restart`?`serviceConfigEnv.restartConfirmMsg`:`serviceConfigEnv.startConfirmMsg`,{name:t}),header:i(e===`restart`?`serviceConfigEnv.restartTitle`:`serviceConfigEnv.startTitle`),icon:`pi pi-refresh`,acceptLabel:i(e===`restart`?`serviceConfigEnv.restartTitle`:`actions.start`),rejectLabel:i(`serviceConfigEnv.notNow`),accept:async()=>{try{let t=r.service.agentId;if(!t)return;e===`restart`?(await b.restart(t,r.service.id),a.add({severity:`success`,summary:i(`serviceConfigEnv.serviceRestarted`),life:3e3})):(await b.start(t,r.service.id),a.add({severity:`success`,summary:i(`serviceConfigEnv.serviceStarted`),life:3e3}))}catch(t){a.add({severity:`error`,summary:i(`serviceConfigEnv.error`),detail:t.message??i(`serviceConfigEnv.failedToAction`,{action:e}),life:5e3})}}})}return _e(Ie,async e=>{e&&await Promise.all([We(),Ge()])}),_e(()=>r.service.agentId,()=>{je()}),v(async()=>{r.projectId&&await s.fetchAll(r.projectId),await Promise.all([We(),Ge(),je()])}),(e,t)=>(u(),F(`div`,mi,[D.value?(u(),F(`div`,hi,[j(`span`,gi,M(h(i)(`serviceConfigEnv.activeEnvironment`)),1),U(ze,{"environment-id":D.value},null,8,[`environment-id`])])):I(``,!0),O.value&&Ie.value?(u(),F(`div`,_i,[U(h(Ne),{"model-value":Pe.value,disabled:ae.value,"onUpdate:modelValue":Fe},null,8,[`model-value`,`disabled`]),j(`span`,vi,M(Pe.value?h(i)(`serviceConfigEnv.inheritsFrom`,{name:Ie.value.name}):h(i)(`serviceConfigEnv.isolated`,{name:Ie.value.name})),1)])):I(``,!0),He.value.length>0?(u(),N(h(me),{key:2,class:`inherited-accordion`},{default:k(()=>[U(h(f),{value:`inherited`},{default:k(()=>[U(h(T),null,{default:k(()=>[j(`span`,yi,[t[6]||=j(`i`,{class:`pi pi-arrow-down-left`},null,-1),B(` `+M(h(i)(`serviceConfigEnv.inheritedVars`))+` `,1),U(h(ye),{value:String(He.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),U(h(te),null,{default:k(()=>[U(h(ke),{value:He.value,size:`small`,"show-headers":!1},{default:k(()=>[U(h(Ae),{style:{width:`35%`}},{body:k(({data:e})=>[j(`div`,bi,[j(`code`,xi,M(e.key),1),Ue.value[e.variableId]?(u(),N(ze,{key:0,"environment-id":Ue.value[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):I(``,!0)])]),_:1}),U(h(Ae),{style:{width:`65%`}},{body:k(({data:e})=>[j(`span`,Si,[j(`span`,{class:`value-actions`,onClick:t[0]||=A(()=>{},[`stop`])},[e.slot.isSecret?(u(),F(`i`,{key:0,class:se([ge.value.has(e.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>ve(e.variableId)},null,10,Ci)):I(``,!0),j(`i`,{class:se([be.value===e.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>xe(e.variableId,e.slot.pre+e.slot.value+e.slot.post)},null,10,wi)]),e.slot.isSecret&&!ge.value.has(e.variableId)?(u(),F(`span`,Ti,`***`)):(u(),F(`code`,Ei,M(e.slot.pre)+M(e.slot.value)+M(e.slot.post),1))])]),_:1})]),_:1},8,[`value`])]),_:1})]),_:1})]),_:1})):I(``,!0),j(`div`,Di,[j(`h3`,Oi,M(h(i)(`serviceConfigEnv.envVars`)),1),j(`div`,ki,[U(h(c),{label:h(i)(`serviceConfigEnv.editVariables`),icon:`pi pi-pencil`,size:`small`,outlined:``,"data-testid":`env-edit-btn`,disabled:!D.value,onClick:$e},null,8,[`label`,`disabled`]),U(h(c),{label:h(i)(`serviceConfigEnv.preview`),icon:`pi pi-eye`,size:`small`,outlined:``,severity:`secondary`,loading:ie.value,disabled:!D.value,"data-testid":`env-preview-btn`,onClick:qe},null,8,[`label`,`loading`,`disabled`])])]),O.value?(u(),F(`div`,Ai,[Ve.value.length>0?(u(),F(`div`,ji,[U(Be,{"environment-id":O.value.id,sources:Ue.value,"resolved-env":{...de.value?.env??{},...ce.value?.env??{}},"service-builtins":Ce.value,editable:!1,"show-overrides":!0,"show-override-badge":!0,"show-delete":!1,"show-add-button":!1,onVariablesChanged:We},null,8,[`environment-id`,`sources`,`resolved-env`,`service-builtins`])])):(u(),F(`div`,Mi,[j(`p`,null,M(h(i)(`serviceConfigEnv.noVarsConfigured`)),1)])),Oe.value?(u(),N(h(me),{key:2,class:`inherited-accordion`},{default:k(()=>[U(h(f),{value:`passthrough`},{default:k(()=>[U(h(T),null,{default:k(()=>[j(`span`,Ni,[t[7]||=j(`i`,{class:`pi pi-globe`},null,-1),B(` `+M(h(i)(`agentPage.passthrough.titleShort`))+` `,1),U(h(ye),{value:String(De.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),U(h(te),null,{default:k(()=>[j(`p`,Pi,M(h(i)(`serviceConfigEnv.passthroughInfo`)),1),Se.value?(u(),N(h(S),{key:0,style:{width:`24px`,height:`24px`}})):(u(),N(h(ke),{key:1,value:Me.value,stripedRows:``,size:`small`},{default:k(()=>[U(h(Ae),{field:`name`,header:h(i)(`common.key`),style:{width:`35%`}},{body:k(({data:e})=>[j(`code`,Fi,M(e.name),1)]),_:1},8,[`header`]),U(h(Ae),{header:h(i)(`common.value`),style:{width:`65%`}},{body:k(({data:e})=>[e.value===null?(u(),F(`span`,Li,M(h(i)(`serviceConfigEnv.undefined`)),1)):(u(),F(`span`,Ii,M(e.value),1))]),_:1},8,[`header`])]),_:1},8,[`value`]))]),_:1})]),_:1})]),_:1})):I(``,!0)])):D.value?(u(),F(`div`,zi,[j(`p`,null,M(h(i)(`serviceConfigEnv.noVarsConfigured`)),1)])):(u(),F(`div`,Ri,[j(`p`,null,M(h(i)(`serviceConfigEnv.noActiveEnv`)),1)])),U(h(ee),{visible:ne.value,header:h(i)(`serviceConfigEnv.editVarsHeader`),style:{width:`900px`},modal:``,"onUpdate:visible":t[2]||=e=>{e||et()}},{footer:k(()=>[U(h(c),{label:h(i)(`actions.close`),icon:`pi pi-times`,onClick:t[1]||=e=>et()},null,8,[`label`])]),default:k(()=>[j(`div`,Bi,[D.value?(u(),F(`div`,Vi,[j(`span`,Hi,M(h(i)(`serviceConfigEnv.editingVarsFor`,{name:n.service.name||n.service.id})),1),U(ze,{"environment-id":D.value},null,8,[`environment-id`])])):I(``,!0),j(`div`,Ui,[O.value?(u(),N(Be,{key:0,"environment-id":O.value.id,editable:!0,sources:Ue.value,"autocomplete-enabled":!0,"autocomplete-suggestions":fe.value,"autocomplete-meta":L.value,"resolved-env":{...de.value?.env??{},...ce.value?.env??{}},"service-builtins":Ce.value,"show-overrides":!0,onVariablesChanged:We,"show-delete":!0,"show-add-button":!0,onAutocompleteSearch:Ke},null,8,[`environment-id`,`sources`,`autocomplete-suggestions`,`autocomplete-meta`,`resolved-env`,`service-builtins`])):I(``,!0)])])]),_:1},8,[`visible`,`header`]),U(h(ee),{visible:P.value,"onUpdate:visible":t[5]||=e=>P.value=e,header:h(i)(`serviceConfigEnv.previewHeader`),style:{width:`700px`},modal:``,"data-testid":`env-preview-dialog`},{footer:k(()=>[U(h(c),{label:h(i)(`actions.close`),icon:`pi pi-times`,onClick:t[4]||=e=>P.value=!1},null,8,[`label`])]),default:k(()=>[ie.value?(u(),F(`div`,Wi,[U(h(S))])):ce.value?(u(),F(`div`,Gi,[j(`p`,Ki,M(h(i)(`serviceConfigEnv.injectedVarsInfo`)),1),U(h(ke),{value:Je.value,stripedRows:``,size:`small`,rows:15,paginator:Je.value.length>15},{default:k(()=>[U(h(Ae),{field:`key`,header:h(i)(`common.key`),style:{width:`35%`}},{body:k(({data:e})=>[j(`code`,qi,M(e.key),1)]),_:1},8,[`header`]),U(h(Ae),{header:h(i)(`common.value`),style:{width:`65%`}},{body:k(({data:e})=>[j(`span`,Ji,[j(`span`,{class:`value-actions`,onClick:t[3]||=A(()=>{},[`stop`])},[ce.value.envSecrets.includes(e.key)?(u(),F(`i`,{key:0,class:se([ge.value.has(`preview:`+e.key)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>ve(`preview:`+e.key)},null,10,Yi)):I(``,!0),j(`i`,{class:se([be.value===`preview:`+e.key?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>xe(`preview:`+e.key,e.value)},null,10,Xi)]),ce.value.envSecrets.includes(e.key)&&!ge.value.has(`preview:`+e.key)?(u(),F(`span`,Zi,`***`)):(u(),F(`span`,Qi,M(Ye(e.value,!1)),1))])]),_:1},8,[`header`])]),_:1},8,[`value`,`paginator`])])):I(``,!0)]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-32582aaa`]]),ea={class:`config-health`},ta={class:`config-card config-card--inline`},na={class:`config-card__header`},ra={class:`config-card`},ia={class:`config-card__header`},aa={class:`config-card`},oa={class:`config-card__header`},sa={class:`config-card`},ca={class:`config-card__header`},la={class:`config-card`},ua={class:`config-card__header`},da={key:1,class:`config-card`},fa={class:`config-card__header`},pa={class:`config-card__hint`},ma={class:`config-card`},ha={class:`config-card__header`},ga={class:`config-card`},_a={class:`config-card__header`},va={class:`config-card`},ya={class:`config-card__header`},ba={class:`config-card`},xa={class:`config-card__header`},Sa=o(H({__name:`ServiceConfigHealthCheck`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let n=e,r=t,{t:i}=E(),a=V(!!n.service.healthCheck),o=V({type:n.service.healthCheck?.type??`http`,path:n.service.healthCheck?.path??`/health`,interval:n.service.healthCheck?.interval??3e4,timeout:n.service.healthCheck?.timeout??5e3,retries:n.service.healthCheck?.retries??3,method:n.service.healthCheck?.method??`GET`,expectedStatus:n.service.healthCheck?.expectedStatus??200,initialDelay:n.service.healthCheck?.initialDelay??5e3,command:n.service.healthCheck?.command??``}),s=[{label:`HTTP Request`,value:`http`},{label:`Command`,value:`command`}],c=[{label:`GET`,value:`GET`},{label:`HEAD`,value:`HEAD`},{label:`POST`,value:`POST`},{label:`PUT`,value:`PUT`}];_e(()=>n.service,e=>{a.value=!!e.healthCheck,o.value={type:e.healthCheck?.type??`http`,path:e.healthCheck?.path??`/health`,interval:e.healthCheck?.interval??3e4,timeout:e.healthCheck?.timeout??5e3,retries:e.healthCheck?.retries??3,method:e.healthCheck?.method??`GET`,expectedStatus:e.healthCheck?.expectedStatus??200,initialDelay:e.healthCheck?.initialDelay??5e3,command:e.healthCheck?.command??``}});let l=null;function d(){l&&clearTimeout(l),l=setTimeout(()=>{if(!a.value)r(`save`,void 0);else{if(o.value.type===`http`&&!o.value.path?.trim()||o.value.type===`command`&&!o.value.command?.trim())return;r(`save`,{type:o.value.type,path:o.value.path,method:o.value.method,expectedStatus:o.value.expectedStatus,command:o.value.command||void 0,interval:o.value.interval,timeout:o.value.timeout,retries:o.value.retries,initialDelay:o.value.initialDelay})}l=null},150)}return(e,t)=>(u(),F(`div`,ea,[j(`div`,ta,[j(`div`,na,[t[10]||=j(`i`,{class:`pi pi-heart`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.enable`)),1)]),U(h(Ne),{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,onChange:d},null,8,[`modelValue`])]),a.value?(u(),F(L,{key:0},[j(`div`,ra,[j(`div`,ia,[t[11]||=j(`i`,{class:`pi pi-cog`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.type`)),1)]),U(h(ve),{modelValue:o.value.type,"onUpdate:modelValue":t[1]||=e=>o.value.type=e,options:s,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:d},null,8,[`modelValue`]),t[12]||=j(`small`,{class:`config-card__hint`},`HTTP checks a URL endpoint; Command runs a shell command (exit 0 = healthy)`,-1)]),o.value.type===`http`?(u(),F(L,{key:0},[j(`div`,aa,[j(`div`,oa,[t[13]||=j(`i`,{class:`pi pi-link`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.path`)),1)]),U(h(W),{modelValue:o.value.path,"onUpdate:modelValue":t[2]||=e=>o.value.path=e,class:`config-card__input`,placeholder:`/health`,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),j(`div`,sa,[j(`div`,ca,[t[14]||=j(`i`,{class:`pi pi-directions`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.method`)),1)]),U(h(ve),{modelValue:o.value.method,"onUpdate:modelValue":t[3]||=e=>o.value.method=e,options:c,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:d},null,8,[`modelValue`])]),j(`div`,la,[j(`div`,ua,[t[15]||=j(`i`,{class:`pi pi-check-circle`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.expectedStatus`)),1)]),U(h(je),{modelValue:o.value.expectedStatus,"onUpdate:modelValue":t[4]||=e=>o.value.expectedStatus=e,class:`config-card__input`,"use-grouping":!1,min:100,max:599,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[16]||=j(`small`,{class:`config-card__hint`},`HTTP status code to expect (default 200)`,-1)])],64)):I(``,!0),o.value.type===`command`?(u(),F(`div`,da,[j(`div`,fa,[t[17]||=j(`i`,{class:`pi pi-code`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.command`)),1)]),U(h(O),{modelValue:o.value.command,"onUpdate:modelValue":t[5]||=e=>o.value.command=e,class:`config-card__input`,rows:`2`,placeholder:`curl -sf http://localhost:3000/health`,"auto-resize":``,onBlur:d},null,8,[`modelValue`]),j(`small`,pa,M(h(i)(`serviceConfigHealthCheck.commandHint`)),1)])):I(``,!0),j(`div`,ma,[j(`div`,ha,[t[18]||=j(`i`,{class:`pi pi-hourglass`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.initialDelay`)),1)]),U(h(je),{modelValue:o.value.initialDelay,"onUpdate:modelValue":t[6]||=e=>o.value.initialDelay=e,class:`config-card__input`,"use-grouping":!1,min:0,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[19]||=j(`small`,{class:`config-card__hint`},`Wait before first health check (ms)`,-1)]),j(`div`,ga,[j(`div`,_a,[t[20]||=j(`i`,{class:`pi pi-clock`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.interval`)),1)]),U(h(je),{modelValue:o.value.interval,"onUpdate:modelValue":t[7]||=e=>o.value.interval=e,class:`config-card__input`,"use-grouping":!1,min:1e3,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),j(`div`,va,[j(`div`,ya,[t[21]||=j(`i`,{class:`pi pi-stopwatch`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.timeout`)),1)]),U(h(je),{modelValue:o.value.timeout,"onUpdate:modelValue":t[8]||=e=>o.value.timeout=e,class:`config-card__input`,"use-grouping":!1,min:500,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),j(`div`,ba,[j(`div`,xa,[t[22]||=j(`i`,{class:`pi pi-replay`},null,-1),j(`span`,null,M(h(i)(`serviceConfigHealthCheck.retries`)),1)]),U(h(je),{modelValue:o.value.retries,"onUpdate:modelValue":t[9]||=e=>o.value.retries=e,class:`config-card__input`,"use-grouping":!1,min:0,max:10,onBlur:d,onKeydown:P(A(d,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])],64)):I(``,!0)]))}}),[[`__scopeId`,`data-v-63e32039`]]),Ca={class:`config-shortcuts`},wa={key:0,class:`config-shortcuts__empty`},Ta={class:`config-shortcuts__row`},Ea={class:`config-shortcuts__field`},Da=[`for`],Oa={class:`config-shortcuts__field config-shortcuts__field--wide`},ka=[`for`],Aa={class:`config-shortcuts__field`},ja=[`for`],Ma={class:`config-shortcuts__actions-cell`},Na={class:`config-shortcuts__footer`},Pa=o(H({__name:`ServiceConfigShortcuts`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let n=e,{t:r}=E(),i=t,a=V([...n.service.shortcuts??[]]),o=null;_e(()=>n.service,e=>{o||(a.value=[...e.shortcuts??[]])});function s(){a.value=[...a.value,{id:Oe(),label:``,command:``,cwd:void 0}]}function l(e){a.value=a.value.filter((t,n)=>n!==e)}function d(e,t,n){a.value=a.value.map((r,i)=>i===e?{...r,[t]:n||void 0}:r)}function f(){o&&clearTimeout(o),o=setTimeout(()=>{i(`save`,a.value),o=null},150)}function p(e){l(e),f()}return(e,t)=>(u(),F(`div`,Ca,[a.value.length===0?(u(),F(`div`,wa,[j(`p`,null,M(h(r)(`serviceConfigShortcuts.empty`)),1)])):I(``,!0),(u(!0),F(L,null,C(a.value,(e,t)=>(u(),F(`div`,{key:e.id,class:`config-card`},[j(`div`,Ta,[j(`div`,Ea,[j(`label`,{class:`config-shortcuts__label`,for:`shortcut-label-${t}`},M(h(r)(`serviceConfigShortcuts.label`)),9,Da),U(h(W),{id:`shortcut-label-${t}`,"model-value":e.label,placeholder:h(r)(`serviceConfigShortcuts.labelPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-label-input`,"onUpdate:modelValue":e=>d(t,`label`,e),onBlur:f,onKeydown:P(A(f,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Oa,[j(`label`,{class:`config-shortcuts__label`,for:`shortcut-command-${t}`},M(h(r)(`serviceConfigShortcuts.command`)),9,ka),U(h(W),{id:`shortcut-command-${t}`,"model-value":e.command,placeholder:h(r)(`serviceConfigShortcuts.commandPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-command-input`,"onUpdate:modelValue":e=>d(t,`command`,e),onBlur:f,onKeydown:P(A(f,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Aa,[j(`label`,{class:`config-shortcuts__label`,for:`shortcut-cwd-${t}`},M(h(r)(`serviceConfigShortcuts.workingDir`)),9,ja),U(h(W),{id:`shortcut-cwd-${t}`,"model-value":e.cwd??``,placeholder:h(r)(`serviceConfigShortcuts.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>d(t,`cwd`,e),onBlur:f,onKeydown:P(A(f,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),j(`div`,Ma,[U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>p(t)},null,8,[`onClick`])])])]))),128)),j(`div`,Na,[U(h(c),{label:h(r)(`serviceConfigShortcuts.addShortcut`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,"data-testid":`add-shortcut-btn`,onClick:s},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-d6ecb989`]]),Fa=Object.defineProperty,Ia=Object.getOwnPropertySymbols,La=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,za=(e,t,n)=>t in e?Fa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ba=(e,t)=>{for(var n in t||={})La.call(t,n)&&za(e,n,t[n]);if(Ia)for(var n of Ia(t))Ra.call(t,n)&&za(e,n,t[n]);return e},Va=(e,t)=>{var n={};for(var r in e)La.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ia)for(var r of Ia(e))t.indexOf(r)<0&&Ra.call(e,r)&&(n[r]=e[r]);return n},Ha=`[vue-draggable-plus]: `;function Ua(e){console.warn(Ha+e)}function Wa(e){console.error(Ha+e)}function Ga(e,t,n){return n>=0&&n<e.length&&e.splice(n,0,e.splice(t,1)[0]),e}function Ka(e){return e.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():``)}function qa(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[Ka(n)]=e[n]),t),{})}function Ja(e,t){return Array.isArray(e)&&e.splice(t,1),e}function Ya(e,t,n){return Array.isArray(e)&&e.splice(t,0,n),e}function Xa(e){return e===void 0}function Za(e){return typeof e==`string`}function Qa(e,t,n){let r=e.children[n];e.insertBefore(t,r)}function $a(e){e.parentNode&&e.parentNode.removeChild(e)}function eo(e,t=document){let n=null;return n=typeof t?.querySelector==`function`?(t?.querySelector)?.call(t,e):document.querySelector(e),n||Ua(`Element not found: ${e}`),n}function to(e,t,n=null){return function(...r){return e.apply(n,r),t.apply(n,r)}}function no(e,t){let n=Ba({},e);return Object.keys(t).forEach(r=>{n[r]?n[r]=to(e[r],t[r]):n[r]=t[r]}),n}function ro(e){return e instanceof HTMLElement}function io(e,t){Object.keys(e).forEach(n=>{t(n,e[n])})}function ao(e){return e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97)}var oo=Object.assign;function so(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function co(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?so(Object(n),!0).forEach(function(t){uo(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):so(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lo(e){"@babel/helpers - typeof";return lo=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},lo(e)}function uo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fo(){return fo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fo.apply(this,arguments)}function po(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function mo(e,t){if(e==null)return{};var n=po(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var ho=`1.15.2`;function go(e){if(typeof window<`u`&&window.navigator)return!!navigator.userAgent.match(e)}var _o=go(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),vo=go(/Edge/i),yo=go(/firefox/i),bo=go(/safari/i)&&!go(/chrome/i)&&!go(/android/i),xo=go(/iP(ad|od|hone)/i),So=go(/chrome/i)&&go(/android/i),Co={capture:!1,passive:!1};function G(e,t,n){e.addEventListener(t,n,!_o&&Co)}function K(e,t,n){e.removeEventListener(t,n,!_o&&Co)}function wo(e,t){if(t){if(t[0]===`>`&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function To(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function Eo(e,t,n,r){if(e){n||=document;do{if(t!=null&&(t[0]===`>`?e.parentNode===n&&wo(e,t):wo(e,t))||r&&e===n)return e;if(e===n)break}while(e=To(e))}return null}var Do=/\s+/g;function Oo(e,t,n){e&&t&&(e.classList?e.classList[n?`add`:`remove`](t):e.className=((` `+e.className+` `).replace(Do,` `).replace(` `+t+` `,` `)+(n?` `+t:``)).replace(Do,` `))}function q(e,t,n){var r=e&&e.style;if(r){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,``):e.currentStyle&&(n=e.currentStyle),t===void 0?n:n[t];!(t in r)&&t.indexOf(`webkit`)===-1&&(t=`-webkit-`+t),r[t]=n+(typeof n==`string`?``:`px`)}}function ko(e,t){var n=``;if(typeof e==`string`)n=e;else do{var r=q(e,`transform`);r&&r!==`none`&&(n=r+` `+n)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function Ao(e,t,n){if(e){var r=e.getElementsByTagName(t),i=0,a=r.length;if(n)for(;i<a;i++)n(r[i],i);return r}return[]}function jo(){return document.scrollingElement||document.documentElement}function Mo(e,t,n,r,i){if(!(!e.getBoundingClientRect&&e!==window)){var a,o,s,c,l,u,d;if(e!==window&&e.parentNode&&e!==jo()?(a=e.getBoundingClientRect(),o=a.top,s=a.left,c=a.bottom,l=a.right,u=a.height,d=a.width):(o=0,s=0,c=window.innerHeight,l=window.innerWidth,u=window.innerHeight,d=window.innerWidth),(t||n)&&e!==window&&(i||=e.parentNode,!_o))do if(i&&i.getBoundingClientRect&&(q(i,`transform`)!==`none`||n&&q(i,`position`)!==`static`)){var f=i.getBoundingClientRect();o-=f.top+parseInt(q(i,`border-top-width`)),s-=f.left+parseInt(q(i,`border-left-width`)),c=o+a.height,l=s+a.width;break}while(i=i.parentNode);if(r&&e!==window){var p=ko(i||e),m=p&&p.a,h=p&&p.d;p&&(o/=h,s/=m,d/=m,u/=h,c=o+u,l=s+d)}return{top:o,left:s,bottom:c,right:l,width:d,height:u}}}function No(e,t,n){for(var r=zo(e,!0),i=Mo(e)[t];r;){var a=Mo(r)[n],o=void 0;if(o=i>=a,!o)return r;if(r===jo())break;r=zo(r,!1)}return!1}function Po(e,t,n,r){for(var i=0,a=0,o=e.children;a<o.length;){if(o[a].style.display!==`none`&&o[a]!==$.ghost&&(r||o[a]!==$.dragged)&&Eo(o[a],n.draggable,e,!1)){if(i===t)return o[a];i++}a++}return null}function Fo(e,t){for(var n=e.lastElementChild;n&&(n===$.ghost||q(n,`display`)===`none`||t&&!wo(n,t));)n=n.previousElementSibling;return n||null}function Io(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)e.nodeName.toUpperCase()!==`TEMPLATE`&&e!==$.clone&&(!t||wo(e,t))&&n++;return n}function Lo(e){var t=0,n=0,r=jo();if(e)do{var i=ko(e),a=i.a,o=i.d;t+=e.scrollLeft*a,n+=e.scrollTop*o}while(e!==r&&(e=e.parentNode));return[t,n]}function Ro(e,t){for(var n in e)if(e.hasOwnProperty(n)){for(var r in t)if(t.hasOwnProperty(r)&&t[r]===e[n][r])return Number(n)}return-1}function zo(e,t){if(!e||!e.getBoundingClientRect)return jo();var n=e,r=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=q(n);if(n.clientWidth<n.scrollWidth&&(i.overflowX==`auto`||i.overflowX==`scroll`)||n.clientHeight<n.scrollHeight&&(i.overflowY==`auto`||i.overflowY==`scroll`)){if(!n.getBoundingClientRect||n===document.body)return jo();if(r||t)return n;r=!0}}while(n=n.parentNode);return jo()}function Bo(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function Vo(e,t){return Math.round(e.top)===Math.round(t.top)&&Math.round(e.left)===Math.round(t.left)&&Math.round(e.height)===Math.round(t.height)&&Math.round(e.width)===Math.round(t.width)}var Ho;function Uo(e,t){return function(){if(!Ho){var n=arguments,r=this;n.length===1?e.call(r,n[0]):e.apply(r,n),Ho=setTimeout(function(){Ho=void 0},t)}}}function Wo(){clearTimeout(Ho),Ho=void 0}function Go(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function Ko(e){var t=window.Polymer,n=window.jQuery||window.Zepto;return t&&t.dom?t.dom(e).cloneNode(!0):n?n(e).clone(!0)[0]:e.cloneNode(!0)}function qo(e,t,n){var r={};return Array.from(e.children).forEach(function(i){if(!(!Eo(i,t.draggable,e,!1)||i.animated||i===n)){var a=Mo(i);r.left=Math.min(r.left??1/0,a.left),r.top=Math.min(r.top??1/0,a.top),r.right=Math.max(r.right??-1/0,a.right),r.bottom=Math.max(r.bottom??-1/0,a.bottom)}}),r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}var Jo=`Sortable`+new Date().getTime();function Yo(){var e=[],t;return{captureAnimationState:function(){e=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){if(!(q(t,`display`)===`none`||t===$.ghost)){e.push({target:t,rect:Mo(t)});var n=co({},e[e.length-1].rect);if(t.thisAnimationDuration){var r=ko(t,!0);r&&(n.top-=r.f,n.left-=r.e)}t.fromRect=n}})},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(Ro(e,{target:t}),1)},animateAll:function(n){var r=this;if(!this.options.animation){clearTimeout(t),typeof n==`function`&&n();return}var i=!1,a=0;e.forEach(function(e){var t=0,n=e.target,o=n.fromRect,s=Mo(n),c=n.prevFromRect,l=n.prevToRect,u=e.rect,d=ko(n,!0);d&&(s.top-=d.f,s.left-=d.e),n.toRect=s,n.thisAnimationDuration&&Vo(c,s)&&!Vo(o,s)&&(u.top-s.top)/(u.left-s.left)===(o.top-s.top)/(o.left-s.left)&&(t=Zo(u,c,l,r.options)),Vo(s,o)||(n.prevFromRect=o,n.prevToRect=s,t||=r.options.animation,r.animate(n,u,s,t)),t&&(i=!0,a=Math.max(a,t),clearTimeout(n.animationResetTimer),n.animationResetTimer=setTimeout(function(){n.animationTime=0,n.prevFromRect=null,n.fromRect=null,n.prevToRect=null,n.thisAnimationDuration=null},t),n.thisAnimationDuration=t)}),clearTimeout(t),i?t=setTimeout(function(){typeof n==`function`&&n()},a):typeof n==`function`&&n(),e=[]},animate:function(e,t,n,r){if(r){q(e,`transition`,``),q(e,`transform`,``);var i=ko(this.el),a=i&&i.a,o=i&&i.d,s=(t.left-n.left)/(a||1),c=(t.top-n.top)/(o||1);e.animatingX=!!s,e.animatingY=!!c,q(e,`transform`,`translate3d(`+s+`px,`+c+`px,0)`),this.forRepaintDummy=Xo(e),q(e,`transition`,`transform `+r+`ms`+(this.options.easing?` `+this.options.easing:``)),q(e,`transform`,`translate3d(0,0,0)`),typeof e.animated==`number`&&clearTimeout(e.animated),e.animated=setTimeout(function(){q(e,`transition`,``),q(e,`transform`,``),e.animated=!1,e.animatingX=!1,e.animatingY=!1},r)}}}}function Xo(e){return e.offsetWidth}function Zo(e,t,n,r){return Math.sqrt((t.top-e.top)**2+(t.left-e.left)**2)/Math.sqrt((t.top-n.top)**2+(t.left-n.left)**2)*r.animation}var Qo=[],$o={initializeByDefault:!0},es={mount:function(e){for(var t in $o)$o.hasOwnProperty(t)&&!(t in e)&&(e[t]=$o[t]);Qo.forEach(function(t){if(t.pluginName===e.pluginName)throw`Sortable: Cannot mount plugin ${e.pluginName} more than once`}),Qo.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var i=e+`Global`;Qo.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][i]&&t[r.pluginName][i](co({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](co({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var i in Qo.forEach(function(r){var i=r.pluginName;if(!(!e.options[i]&&!r.initializeByDefault)){var a=new r(e,t,e.options);a.sortable=e,a.options=e.options,e[i]=a,fo(n,a.defaults)}}),e.options)if(e.options.hasOwnProperty(i)){var a=this.modifyOption(e,i,e.options[i]);a!==void 0&&(e.options[i]=a)}},getEventProperties:function(e,t){var n={};return Qo.forEach(function(r){typeof r.eventProperties==`function`&&fo(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return Qo.forEach(function(i){e[i.pluginName]&&i.optionListeners&&typeof i.optionListeners[t]==`function`&&(r=i.optionListeners[t].call(e[i.pluginName],n))}),r}};function ts(e){var t=e.sortable,n=e.rootEl,r=e.name,i=e.targetEl,a=e.cloneEl,o=e.toEl,s=e.fromEl,c=e.oldIndex,l=e.newIndex,u=e.oldDraggableIndex,d=e.newDraggableIndex,f=e.originalEvent,p=e.putSortable,m=e.extraEventProperties;if(t||=n&&n[Jo],t){var h,g=t.options,_=`on`+r.charAt(0).toUpperCase()+r.substr(1);window.CustomEvent&&!_o&&!vo?h=new CustomEvent(r,{bubbles:!0,cancelable:!0}):(h=document.createEvent(`Event`),h.initEvent(r,!0,!0)),h.to=o||n,h.from=s||n,h.item=i||n,h.clone=a,h.oldIndex=c,h.newIndex=l,h.oldDraggableIndex=u,h.newDraggableIndex=d,h.originalEvent=f,h.pullMode=p?p.lastPutMode:void 0;var v=co(co({},m),es.getEventProperties(r,t));for(var y in v)h[y]=v[y];n&&n.dispatchEvent(h),g[_]&&g[_].call(t,h)}}var ns=[`evt`],rs=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,i=mo(n,ns);es.pluginEvent.bind($)(e,t,co({dragEl:J,parentEl:Y,ghostEl:X,rootEl:Z,nextEl:as,lastDownEl:os,cloneEl:Q,cloneHidden:ss,dragStarted:Cs,putSortable:ps,activeSortable:$.active,originalEvent:r,oldIndex:cs,oldDraggableIndex:us,newIndex:ls,newDraggableIndex:ds,hideGhostForTarget:Hs,unhideGhostForTarget:Us,cloneNowHidden:function(){ss=!0},cloneNowShown:function(){ss=!1},dispatchSortableEvent:function(e){is({sortable:t,name:e,originalEvent:r})}},i))};function is(e){ts(co({putSortable:ps,cloneEl:Q,targetEl:J,rootEl:Z,oldIndex:cs,oldDraggableIndex:us,newIndex:ls,newDraggableIndex:ds},e))}var J,Y,X,Z,as,os,Q,ss,cs,ls,us,ds,fs,ps,ms=!1,hs=!1,gs=[],_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=!1,Ds=!1,Os,ks,As=[],js=!1,Ms=[],Ns=typeof document<`u`,Ps=xo,Fs=vo||_o?`cssFloat`:`float`,Is=Ns&&!So&&!xo&&`draggable`in document.createElement(`div`),Ls=function(){if(Ns){if(_o)return!1;var e=document.createElement(`x`);return e.style.cssText=`pointer-events:auto`,e.style.pointerEvents===`auto`}}(),Rs=function(e,t){var n=q(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=Po(e,0,t),a=Po(e,1,t),o=i&&q(i),s=a&&q(a),c=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+Mo(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Mo(a).width;if(n.display===`flex`)return n.flexDirection===`column`||n.flexDirection===`column-reverse`?`vertical`:`horizontal`;if(n.display===`grid`)return n.gridTemplateColumns.split(` `).length<=1?`vertical`:`horizontal`;if(i&&o.float&&o.float!==`none`){var u=o.float===`left`?`left`:`right`;return a&&(s.clear===`both`||s.clear===u)?`vertical`:`horizontal`}return i&&(o.display===`block`||o.display===`flex`||o.display===`table`||o.display===`grid`||c>=r&&n[Fs]===`none`||a&&n[Fs]===`none`&&c+l>r)?`vertical`:`horizontal`},zs=function(e,t,n){var r=n?e.left:e.top,i=n?e.right:e.bottom,a=n?e.width:e.height,o=n?t.left:t.top,s=n?t.right:t.bottom,c=n?t.width:t.height;return r===o||i===s||r+a/2===o+c/2},Bs=function(e,t){var n;return gs.some(function(r){var i=r[Jo].options.emptyInsertThreshold;if(!(!i||Fo(r))){var a=Mo(r),o=e>=a.left-i&&e<=a.right+i,s=t>=a.top-i&&t<=a.bottom+i;if(o&&s)return n=r}}),n},Vs=function(e){function t(e,n){return function(r,i,a,o){var s=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(e==null&&(n||s))return!0;if(e==null||e===!1)return!1;if(n&&e===`clone`)return e;if(typeof e==`function`)return t(e(r,i,a,o),n)(r,i,a,o);var c=(n?r:i).options.group.name;return e===!0||typeof e==`string`&&e===c||e.join&&e.indexOf(c)>-1}}var n={},r=e.group;(!r||lo(r)!=`object`)&&(r={name:r}),n.name=r.name,n.checkPull=t(r.pull,!0),n.checkPut=t(r.put),n.revertClone=r.revertClone,e.group=n},Hs=function(){!Ls&&X&&q(X,`display`,`none`)},Us=function(){!Ls&&X&&q(X,`display`,``)};Ns&&!So&&document.addEventListener(`click`,function(e){if(hs)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),hs=!1,!1},!0);var Ws=function(e){if(J){e=e.touches?e.touches[0]:e;var t=Bs(e.clientX,e.clientY);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[Jo]._onDragOver(n)}}},Gs=function(e){J&&J.parentNode[Jo]._isOutsideThisEl(e.target)};function $(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw`Sortable: \`el\` must be an HTMLElement, not ${{}.toString.call(e)}`;this.el=e,this.options=t=fo({},t),e[Jo]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?`>li`:`>*`,swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Rs(e,this.options)},ghostClass:`sortable-ghost`,chosenClass:`sortable-chosen`,dragClass:`sortable-drag`,ignore:`a, img`,filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData(`Text`,t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:`data-id`,delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:`sortable-fallback`,fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:$.supportPointer!==!1&&`PointerEvent`in window&&!bo,emptyInsertThreshold:5};for(var r in es.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var i in Vs(t),this)i.charAt(0)===`_`&&typeof this[i]==`function`&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:Is,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?G(e,`pointerdown`,this._onTapStart):(G(e,`mousedown`,this._onTapStart),G(e,`touchstart`,this._onTapStart)),this.nativeDraggable&&(G(e,`dragover`,this),G(e,`dragenter`,this)),gs.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),fo(this,Yo())}$.prototype={constructor:$,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(ws=null)},_getDirection:function(e,t){return typeof this.options.direction==`function`?this.options.direction.call(this,e,t,J):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,i=r.preventOnFilter,a=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType===`touch`&&e,s=(o||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,l=r.filter;if(tc(n),!J&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&bo&&s&&s.tagName.toUpperCase()===`SELECT`)&&(s=Eo(s,r.draggable,n,!1),!(s&&s.animated)&&os!==s)){if(cs=Io(s),us=Io(s,r.draggable),typeof l==`function`){if(l.call(this,e,s,this)){is({sortable:t,rootEl:c,name:`filter`,targetEl:s,toEl:n,fromEl:n}),rs(`filter`,t,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(l&&(l=l.split(`,`).some(function(r){if(r=Eo(c,r.trim(),n,!1),r)return is({sortable:t,rootEl:r,name:`filter`,targetEl:s,fromEl:n,toEl:n}),rs(`filter`,t,{evt:e}),!0}),l)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!Eo(c,r.handle,n,!1)||this._prepareDragStart(e,o,s)}}},_prepareDragStart:function(e,t,n){var r=this,i=r.el,a=r.options,o=i.ownerDocument,s;if(n&&!J&&n.parentNode===i){var c=Mo(n);if(Z=i,J=n,Y=J.parentNode,as=J.nextSibling,os=n,fs=a.group,$.dragged=J,_s={target:J,clientX:(t||e).clientX,clientY:(t||e).clientY},xs=_s.clientX-c.left,Ss=_s.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,J.style[`will-change`]=`all`,s=function(){if(rs(`delayEnded`,r,{evt:e}),$.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!yo&&r.nativeDraggable&&(J.draggable=!0),r._triggerDragStart(e,t),is({sortable:r,name:`choose`,originalEvent:e}),Oo(J,a.chosenClass,!0)},a.ignore.split(`,`).forEach(function(e){Ao(J,e.trim(),Js)}),G(o,`dragover`,Ws),G(o,`mousemove`,Ws),G(o,`touchmove`,Ws),G(o,`mouseup`,r._onDrop),G(o,`touchend`,r._onDrop),G(o,`touchcancel`,r._onDrop),yo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,J.draggable=!0),rs(`delayStart`,this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(vo||_o))){if($.eventCanceled){this._onDrop();return}G(o,`mouseup`,r._disableDelayedDrag),G(o,`touchend`,r._disableDelayedDrag),G(o,`touchcancel`,r._disableDelayedDrag),G(o,`mousemove`,r._delayedDragTouchMoveHandler),G(o,`touchmove`,r._delayedDragTouchMoveHandler),a.supportPointer&&G(o,`pointermove`,r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){J&&Js(J),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;K(e,`mouseup`,this._disableDelayedDrag),K(e,`touchend`,this._disableDelayedDrag),K(e,`touchcancel`,this._disableDelayedDrag),K(e,`mousemove`,this._delayedDragTouchMoveHandler),K(e,`touchmove`,this._delayedDragTouchMoveHandler),K(e,`pointermove`,this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t||=e.pointerType==`touch`&&e,!this.nativeDraggable||t?this.options.supportPointer?G(document,`pointermove`,this._onTouchMove):t?G(document,`touchmove`,this._onTouchMove):G(document,`mousemove`,this._onTouchMove):(G(J,`dragend`,this),G(Z,`dragstart`,this._onDragStart));try{document.selection?nc(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(ms=!1,Z&&J){rs(`dragStarted`,this,{evt:t}),this.nativeDraggable&&G(document,`dragover`,Gs);var n=this.options;!e&&Oo(J,n.dragClass,!1),Oo(J,n.ghostClass,!0),$.active=this,e&&this._appendGhost(),is({sortable:this,name:`start`,originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(vs){this._lastX=vs.clientX,this._lastY=vs.clientY,Hs();for(var e=document.elementFromPoint(vs.clientX,vs.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(vs.clientX,vs.clientY),e!==t);)t=e;if(J.parentNode[Jo]._isOutsideThisEl(e),t)do{if(t[Jo]){var n=void 0;if(n=t[Jo]._onDragOver({clientX:vs.clientX,clientY:vs.clientY,target:e,rootEl:t}),n&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Us()}},_onTouchMove:function(e){if(_s){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,a=X&&ko(X,!0),o=X&&a&&a.a,s=X&&a&&a.d,c=Ps&&ks&&Lo(ks),l=(i.clientX-_s.clientX+r.x)/(o||1)+(c?c[0]-As[0]:0)/(o||1),u=(i.clientY-_s.clientY+r.y)/(s||1)+(c?c[1]-As[1]:0)/(s||1);if(!$.active&&!ms){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(X){a?(a.e+=l-(ys||0),a.f+=u-(bs||0)):a={a:1,b:0,c:0,d:1,e:l,f:u};var d=`matrix(${a.a},${a.b},${a.c},${a.d},${a.e},${a.f})`;q(X,`webkitTransform`,d),q(X,`mozTransform`,d),q(X,`msTransform`,d),q(X,`transform`,d),ys=l,bs=u,vs=i}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!X){var e=this.options.fallbackOnBody?document.body:Z,t=Mo(J,!0,Ps,!0,e),n=this.options;if(Ps){for(ks=e;q(ks,`position`)===`static`&&q(ks,`transform`)===`none`&&ks!==document;)ks=ks.parentNode;ks!==document.body&&ks!==document.documentElement?(ks===document&&(ks=jo()),t.top+=ks.scrollTop,t.left+=ks.scrollLeft):ks=jo(),As=Lo(ks)}X=J.cloneNode(!0),Oo(X,n.ghostClass,!1),Oo(X,n.fallbackClass,!0),Oo(X,n.dragClass,!0),q(X,`transition`,``),q(X,`transform`,``),q(X,`box-sizing`,`border-box`),q(X,`margin`,0),q(X,`top`,t.top),q(X,`left`,t.left),q(X,`width`,t.width),q(X,`height`,t.height),q(X,`opacity`,`0.8`),q(X,`position`,Ps?`absolute`:`fixed`),q(X,`zIndex`,`100000`),q(X,`pointerEvents`,`none`),$.ghost=X,e.appendChild(X),q(X,`transform-origin`,xs/parseInt(X.style.width)*100+`% `+Ss/parseInt(X.style.height)*100+`%`)}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,i=n.options;if(rs(`dragStart`,this,{evt:e}),$.eventCanceled){this._onDrop();return}rs(`setupClone`,this),$.eventCanceled||(Q=Ko(J),Q.removeAttribute(`id`),Q.draggable=!1,Q.style[`will-change`]=``,this._hideClone(),Oo(Q,this.options.chosenClass,!1),$.clone=Q),n.cloneId=nc(function(){rs(`clone`,n),!$.eventCanceled&&(n.options.removeCloneOnHide||Z.insertBefore(Q,J),n._hideClone(),is({sortable:n,name:`clone`}))}),!t&&Oo(J,i.dragClass,!0),t?(hs=!0,n._loopId=setInterval(n._emulateDragOver,50)):(K(document,`mouseup`,n._onDrop),K(document,`touchend`,n._onDrop),K(document,`touchcancel`,n._onDrop),r&&(r.effectAllowed=`move`,i.setData&&i.setData.call(n,r,J)),G(document,`drop`,n),q(J,`transform`,`translateZ(0)`)),ms=!0,n._dragStartId=nc(n._dragStarted.bind(n,t,e)),G(document,`selectstart`,n),Cs=!0,bo&&q(document.body,`user-select`,`none`)},_onDragOver:function(e){var t=this.el,n=e.target,r,i,a,o=this.options,s=o.group,c=$.active,l=fs===s,u=o.sort,d=ps||c,f,p=this,m=!1;if(js)return;function h(o,s){rs(o,p,co({evt:e,isOwner:l,axis:f?`vertical`:`horizontal`,revert:a,dragRect:r,targetRect:i,canSort:u,fromSortable:d,target:n,completed:_,onMove:function(n,i){return qs(Z,t,J,r,n,Mo(n),e,i)},changed:v},s))}function g(){h(`dragOverAnimationCapture`),p.captureAnimationState(),p!==d&&d.captureAnimationState()}function _(r){return h(`dragOverCompleted`,{insertion:r}),r&&(l?c._hideClone():c._showClone(p),p!==d&&(Oo(J,ps?ps.options.ghostClass:c.options.ghostClass,!1),Oo(J,o.ghostClass,!0)),ps!==p&&p!==$.active?ps=p:p===$.active&&ps&&(ps=null),d===p&&(p._ignoreWhileAnimating=n),p.animateAll(function(){h(`dragOverAnimationComplete`),p._ignoreWhileAnimating=null}),p!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(n===J&&!J.animated||n===t&&!n.animated)&&(ws=null),!o.dragoverBubble&&!e.rootEl&&n!==document&&(J.parentNode[Jo]._isOutsideThisEl(e.target),!r&&Ws(e)),!o.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function v(){ls=Io(J),ds=Io(J,o.draggable),is({sortable:p,name:`change`,toEl:t,newIndex:ls,newDraggableIndex:ds,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),n=Eo(n,o.draggable,t,!0),h(`dragOver`),$.eventCanceled)return m;if(J.contains(e.target)||n.animated&&n.animatingX&&n.animatingY||p._ignoreWhileAnimating===n)return _(!1);if(hs=!1,c&&!o.disabled&&(l?u||(a=Y!==Z):ps===this||(this.lastPutMode=fs.checkPull(this,c,J,e))&&s.checkPut(this,c,J,e))){if(f=this._getDirection(e,n)===`vertical`,r=Mo(J),h(`dragOverValid`),$.eventCanceled)return m;if(a)return Y=Z,g(),this._hideClone(),h(`revert`),$.eventCanceled||(as?Z.insertBefore(J,as):Z.appendChild(J)),_(!0);var y=Fo(t,o.draggable);if(!y||Zs(e,f,this)&&!y.animated){if(y===J)return _(!1);if(y&&t===e.target&&(n=y),n&&(i=Mo(n)),qs(Z,t,J,r,n,i,e,!!n)!==!1)return g(),y&&y.nextSibling?t.insertBefore(J,y.nextSibling):t.appendChild(J),Y=t,v(),_(!0)}else if(y&&Xs(e,f,this)){var b=Po(t,0,o,!0);if(b===J)return _(!1);if(n=b,i=Mo(n),qs(Z,t,J,r,n,i,e,!1)!==!1)return g(),t.insertBefore(J,b),Y=t,v(),_(!0)}else if(n.parentNode===t){i=Mo(n);var x=0,ee,S=J.parentNode!==t,C=!zs(J.animated&&J.toRect||r,n.animated&&n.toRect||i,f),w=f?`top`:`left`,te=No(n,`top`,`top`)||No(J,`top`,`top`),T=te?te.scrollTop:void 0;ws!==n&&(ee=i[w],Es=!1,Ds=!C&&o.invertSwap||S),x=Qs(e,n,i,f,C?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,Ds,ws===n);var E;if(x!==0){var D=Io(J);do D-=x,E=Y.children[D];while(E&&(q(E,`display`)===`none`||E===X))}if(x===0||E===n)return _(!1);ws=n,Ts=x;var O=n.nextElementSibling,k=!1;k=x===1;var A=qs(Z,t,J,r,n,i,e,k);if(A!==!1)return(A===1||A===-1)&&(k=A===1),js=!0,setTimeout(Ys,30),g(),k&&!O?t.appendChild(J):n.parentNode.insertBefore(J,k?O:n),te&&Go(te,0,T-te.scrollTop),Y=J.parentNode,ee!==void 0&&!Ds&&(Os=Math.abs(ee-Mo(n)[w])),v(),_(!0)}if(t.contains(J))return _(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){K(document,`mousemove`,this._onTouchMove),K(document,`touchmove`,this._onTouchMove),K(document,`pointermove`,this._onTouchMove),K(document,`dragover`,Ws),K(document,`mousemove`,Ws),K(document,`touchmove`,Ws)},_offUpEvents:function(){var e=this.el.ownerDocument;K(e,`mouseup`,this._onDrop),K(e,`touchend`,this._onDrop),K(e,`pointerup`,this._onDrop),K(e,`touchcancel`,this._onDrop),K(document,`selectstart`,this)},_onDrop:function(e){var t=this.el,n=this.options;if(ls=Io(J),ds=Io(J,n.draggable),rs(`drop`,this,{evt:e}),Y=J&&J.parentNode,ls=Io(J),ds=Io(J,n.draggable),$.eventCanceled){this._nulling();return}ms=!1,Ds=!1,Es=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),rc(this.cloneId),rc(this._dragStartId),this.nativeDraggable&&(K(document,`drop`,this),K(t,`dragstart`,this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),bo&&q(document.body,`user-select`,``),q(J,`transform`,``),e&&(Cs&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),X&&X.parentNode&&X.parentNode.removeChild(X),(Z===Y||ps&&ps.lastPutMode!==`clone`)&&Q&&Q.parentNode&&Q.parentNode.removeChild(Q),J&&(this.nativeDraggable&&K(J,`dragend`,this),Js(J),J.style[`will-change`]=``,Cs&&!ms&&Oo(J,ps?ps.options.ghostClass:this.options.ghostClass,!1),Oo(J,this.options.chosenClass,!1),is({sortable:this,name:`unchoose`,toEl:Y,newIndex:null,newDraggableIndex:null,originalEvent:e}),Z===Y?ls!==cs&&ls>=0&&(is({sortable:this,name:`update`,toEl:Y,originalEvent:e}),is({sortable:this,name:`sort`,toEl:Y,originalEvent:e})):(ls>=0&&(is({rootEl:Y,name:`add`,toEl:Y,fromEl:Z,originalEvent:e}),is({sortable:this,name:`remove`,toEl:Y,originalEvent:e}),is({rootEl:Y,name:`sort`,toEl:Y,fromEl:Z,originalEvent:e}),is({sortable:this,name:`sort`,toEl:Y,originalEvent:e})),ps&&ps.save()),$.active&&((ls==null||ls===-1)&&(ls=cs,ds=us),is({sortable:this,name:`end`,toEl:Y,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){rs(`nulling`,this),Z=J=Y=X=as=Q=os=ss=_s=vs=Cs=ls=ds=cs=us=ws=Ts=ps=fs=$.dragged=$.ghost=$.clone=$.active=null,Ms.forEach(function(e){e.checked=!0}),Ms.length=ys=bs=0},handleEvent:function(e){switch(e.type){case`drop`:case`dragend`:this._onDrop(e);break;case`dragenter`:case`dragover`:J&&(this._onDragOver(e),Ks(e));break;case`selectstart`:e.preventDefault();break}},toArray:function(){for(var e=[],t,n=this.el.children,r=0,i=n.length,a=this.options;r<i;r++)t=n[r],Eo(t,a.draggable,this.el,!1)&&e.push(t.getAttribute(a.dataIdAttr)||ec(t));return e},sort:function(e,t){var n={},r=this.el;this.toArray().forEach(function(e,t){var i=r.children[t];Eo(i,this.options.draggable,r,!1)&&(n[e]=i)},this),t&&this.captureAnimationState(),e.forEach(function(e){n[e]&&(r.removeChild(n[e]),r.appendChild(n[e]))}),t&&this.animateAll()},save:function(){var e=this.options.store;e&&e.set&&e.set(this)},closest:function(e,t){return Eo(e,t||this.options.draggable,this.el,!1)},option:function(e,t){var n=this.options;if(t===void 0)return n[e];var r=es.modifyOption(this,e,t);r===void 0?n[e]=t:n[e]=r,e===`group`&&Vs(n)},destroy:function(){rs(`destroy`,this);var e=this.el;e[Jo]=null,K(e,`mousedown`,this._onTapStart),K(e,`touchstart`,this._onTapStart),K(e,`pointerdown`,this._onTapStart),this.nativeDraggable&&(K(e,`dragover`,this),K(e,`dragenter`,this)),Array.prototype.forEach.call(e.querySelectorAll(`[draggable]`),function(e){e.removeAttribute(`draggable`)}),this._onDrop(),this._disableDelayedDragEvents(),gs.splice(gs.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!ss){if(rs(`hideClone`,this),$.eventCanceled)return;q(Q,`display`,`none`),this.options.removeCloneOnHide&&Q.parentNode&&Q.parentNode.removeChild(Q),ss=!0}},_showClone:function(e){if(e.lastPutMode!==`clone`){this._hideClone();return}if(ss){if(rs(`showClone`,this),$.eventCanceled)return;J.parentNode==Z&&!this.options.group.revertClone?Z.insertBefore(Q,J):as?Z.insertBefore(Q,as):Z.appendChild(Q),this.options.group.revertClone&&this.animate(J,Q),q(Q,`display`,``),ss=!1}}};function Ks(e){e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.cancelable&&e.preventDefault()}function qs(e,t,n,r,i,a,o,s){var c,l=e[Jo],u=l.options.onMove,d;return window.CustomEvent&&!_o&&!vo?c=new CustomEvent(`move`,{bubbles:!0,cancelable:!0}):(c=document.createEvent(`Event`),c.initEvent(`move`,!0,!0)),c.to=t,c.from=e,c.dragged=n,c.draggedRect=r,c.related=i||t,c.relatedRect=a||Mo(t),c.willInsertAfter=s,c.originalEvent=o,e.dispatchEvent(c),u&&(d=u.call(l,c,o)),d}function Js(e){e.draggable=!1}function Ys(){js=!1}function Xs(e,t,n){var r=Mo(Po(n.el,0,n.options,!0)),i=qo(n.el,n.options,X),a=10;return t?e.clientX<i.left-a||e.clientY<r.top&&e.clientX<r.right:e.clientY<i.top-a||e.clientY<r.bottom&&e.clientX<r.left}function Zs(e,t,n){var r=Mo(Fo(n.el,n.options.draggable)),i=qo(n.el,n.options,X),a=10;return t?e.clientX>i.right+a||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>i.bottom+a||e.clientX>r.right&&e.clientY>r.top}function Qs(e,t,n,r,i,a,o,s){var c=r?e.clientY:e.clientX,l=r?n.height:n.width,u=r?n.top:n.left,d=r?n.bottom:n.right,f=!1;if(!o){if(s&&Os<l*i){if(!Es&&(Ts===1?c>u+l*a/2:c<d-l*a/2)&&(Es=!0),Es)f=!0;else if(Ts===1?c<u+Os:c>d-Os)return-Ts}else if(c>u+l*(1-i)/2&&c<d-l*(1-i)/2)return $s(t)}return f||=o,f&&(c<u+l*a/2||c>d-l*a/2)?c>u+l/2?1:-1:0}function $s(e){return Io(J)<Io(e)?1:-1}function ec(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function tc(e){Ms.length=0;for(var t=e.getElementsByTagName(`input`),n=t.length;n--;){var r=t[n];r.checked&&Ms.push(r)}}function nc(e){return setTimeout(e,0)}function rc(e){return clearTimeout(e)}Ns&&G(document,`touchmove`,function(e){($.active||ms)&&e.cancelable&&e.preventDefault()}),$.utils={on:G,off:K,css:q,find:Ao,is:function(e,t){return!!Eo(e,t,e,!1)},extend:Bo,throttle:Uo,closest:Eo,toggleClass:Oo,clone:Ko,index:Io,nextTick:nc,cancelNextTick:rc,detectDirection:Rs,getChild:Po},$.get=function(e){return e[Jo]},$.mount=function(){var e=[...arguments];e[0].constructor===Array&&(e=e[0]),e.forEach(function(e){if(!e.prototype||!e.prototype.constructor)throw`Sortable: Mounted plugin must be a constructor function, not ${{}.toString.call(e)}`;e.utils&&($.utils=co(co({},$.utils),e.utils)),es.mount(e)})},$.create=function(e,t){return new $(e,t)},$.version=ho;var ic=[],ac,oc,sc=!1,cc,lc,uc,dc;function fc(){function e(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)e.charAt(0)===`_`&&typeof this[e]==`function`&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?G(document,`dragover`,this._handleAutoScroll):this.options.supportPointer?G(document,`pointermove`,this._handleFallbackAutoScroll):t.touches?G(document,`touchmove`,this._handleFallbackAutoScroll):G(document,`mousemove`,this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;!this.options.dragOverBubble&&!t.rootEl&&this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?K(document,`dragover`,this._handleAutoScroll):(K(document,`pointermove`,this._handleFallbackAutoScroll),K(document,`touchmove`,this._handleFallbackAutoScroll),K(document,`mousemove`,this._handleFallbackAutoScroll)),mc(),pc(),Wo()},nulling:function(){uc=oc=ac=sc=dc=cc=lc=null,ic.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(r,i);if(uc=e,t||this.options.forceAutoScrollFallback||vo||_o||bo){hc(e,this.options,a,t);var o=zo(a,!0);sc&&(!dc||r!==cc||i!==lc)&&(dc&&mc(),dc=setInterval(function(){var a=zo(document.elementFromPoint(r,i),!0);a!==o&&(o=a,pc()),hc(e,n.options,a,t)},10),cc=r,lc=i)}else{if(!this.options.bubbleScroll||zo(a,!0)===jo()){pc();return}hc(e,this.options,zo(a,!1),!1)}}},fo(e,{pluginName:`scroll`,initializeByDefault:!0})}function pc(){ic.forEach(function(e){clearInterval(e.pid)}),ic=[]}function mc(){clearInterval(dc)}var hc=Uo(function(e,t,n,r){if(t.scroll){var i=(e.touches?e.touches[0]:e).clientX,a=(e.touches?e.touches[0]:e).clientY,o=t.scrollSensitivity,s=t.scrollSpeed,c=jo(),l=!1,u;oc!==n&&(oc=n,pc(),ac=t.scroll,u=t.scrollFn,ac===!0&&(ac=zo(n,!0)));var d=0,f=ac;do{var p=f,m=Mo(p),h=m.top,g=m.bottom,_=m.left,v=m.right,y=m.width,b=m.height,x=void 0,ee=void 0,S=p.scrollWidth,C=p.scrollHeight,w=q(p),te=p.scrollLeft,T=p.scrollTop;p===c?(x=y<S&&(w.overflowX===`auto`||w.overflowX===`scroll`||w.overflowX===`visible`),ee=b<C&&(w.overflowY===`auto`||w.overflowY===`scroll`||w.overflowY===`visible`)):(x=y<S&&(w.overflowX===`auto`||w.overflowX===`scroll`),ee=b<C&&(w.overflowY===`auto`||w.overflowY===`scroll`));var E=x&&(Math.abs(v-i)<=o&&te+y<S)-(Math.abs(_-i)<=o&&!!te),D=ee&&(Math.abs(g-a)<=o&&T+b<C)-(Math.abs(h-a)<=o&&!!T);if(!ic[d])for(var O=0;O<=d;O++)ic[O]||(ic[O]={});(ic[d].vx!=E||ic[d].vy!=D||ic[d].el!==p)&&(ic[d].el=p,ic[d].vx=E,ic[d].vy=D,clearInterval(ic[d].pid),(E!=0||D!=0)&&(l=!0,ic[d].pid=setInterval(function(){r&&this.layer===0&&$.active._onTouchMove(uc);var t=ic[this.layer].vy?ic[this.layer].vy*s:0,n=ic[this.layer].vx?ic[this.layer].vx*s:0;typeof u==`function`&&u.call($.dragged.parentNode[Jo],n,t,e,uc,ic[this.layer].el)!==`continue`||Go(ic[this.layer].el,n,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&f!==c&&(f=zo(f,!1)));sc=l}},30),gc=function(e){var t=e.originalEvent,n=e.putSortable,r=e.dragEl,i=e.activeSortable,a=e.dispatchSortableEvent,o=e.hideGhostForTarget,s=e.unhideGhostForTarget;if(t){var c=n||i;o();var l=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t,u=document.elementFromPoint(l.clientX,l.clientY);s(),c&&!c.el.contains(u)&&(a(`spill`),this.onSpill({dragEl:r,putSortable:n}))}};function _c(){}_c.prototype={startIndex:null,dragStart:function(e){this.startIndex=e.oldDraggableIndex},onSpill:function(e){var t=e.dragEl,n=e.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=Po(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(t,r):this.sortable.el.appendChild(t),this.sortable.animateAll(),n&&n.animateAll()},drop:gc},fo(_c,{pluginName:`revertOnSpill`});function vc(){}vc.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:gc},fo(vc,{pluginName:`removeOnSpill`}),$.mount(new fc),$.mount(vc,_c);function yc(e){return e==null?e:JSON.parse(JSON.stringify(e))}function bc(e){x()&&r(e)}function xc(e){x()?v(e):ae(e)}var Sc=null,Cc=null;function wc(e=null,t=null){Sc=e,Cc=t}function Tc(){return{data:Sc,clonedData:Cc}}var Ec=Symbol(`cloneElement`);function Dc(...e){let t=x()?.proxy,n=null,r=e[0],[,i,a]=e;Array.isArray(h(i))||(a=i,i=null);let o=null,{immediate:s=!0,clone:c=yc,forceFallback:l,fallbackOnBody:u,customUpdate:d}=h(a)??{};function f(e){let{from:t,oldIndex:r,item:a}=e,o=Array.from(t.childNodes);n=l&&!u?o.slice(0,-1):o;let s=h(h(i)?.[r]),d=c(s);wc(s,d),a[Ec]=d}function p(e){let t=e.item[Ec];if(!Xa(t)){if($a(e.item),Se(i)){let n=[...h(i)];i.value=Ya(n,e.newDraggableIndex,t);return}Ya(h(i),e.newDraggableIndex,t)}}function m(e){let{from:t,item:n,oldIndex:r,oldDraggableIndex:a,pullMode:o,clone:s}=e;if(Qa(t,n,r),o===`clone`){$a(s);return}if(Se(i)){let e=[...h(i)];i.value=Ja(e,a);return}Ja(h(i),a)}function g(e){if(d){d(e);return}let{from:t,item:n,oldIndex:r,oldDraggableIndex:a,newDraggableIndex:o}=e;if($a(n),Qa(t,n,r),Se(i)){let e=[...h(i)];i.value=Ga(e,a,o);return}Ga(h(i),a,o)}function _(e){let{newIndex:t,oldIndex:r,from:i,to:a}=e,o=null,s=t===r&&i===a;try{if(s){let e=null;n?.some((t,r)=>{if(e&&n?.length!==a.childNodes.length)return i.insertBefore(e,t.nextSibling),!0;let o=a.childNodes[r];e=a?.replaceChild(t,o)})}}catch(e){o=e}finally{n=null}ae(()=>{if(wc(),o)throw o})}let v={onUpdate:g,onStart:f,onAdd:p,onRemove:m,onEnd:_};function y(e){let n=h(r);return e||=Za(n)?eo(n,t?.$el):n,e&&!ro(e)&&(e=e.$el),e||Wa(`Root element not found`),e}function b(){let e=h(a)??{},{immediate:t,clone:n}=e,r=Va(e,[`immediate`,`clone`]);return io(r,(e,t)=>{ao(e)&&(r[e]=(e,...n)=>(oo(e,Tc()),t(e,...n)))}),no(i===null?{}:v,r)}let ee=e=>{e=y(e),o&&S.destroy(),o=new $(e,b())};_e(()=>a,()=>{o&&io(b(),(e,t)=>{o?.option(e,t)})},{deep:!0});let S={option:(e,t)=>o?.option(e,t),destroy:()=>{o?.destroy(),o=null},save:()=>o?.save(),toArray:()=>o?.toArray(),closest:(...e)=>o?.closest(...e)};return xc(()=>{s&&ee()}),bc(S.destroy),Ba({start:ee,pause:()=>S?.option(`disabled`,!0),resume:()=>S?.option(`disabled`,!1)},S)}var Oc=[`update`,`start`,`add`,`remove`,`choose`,`unchoose`,`end`,`sort`,`filter`,`clone`,`move`,`change`],kc=H({name:`VueDraggable`,model:{prop:`modelValue`,event:`update:modelValue`},props:[`clone`,`animation`,`ghostClass`,`group`,`sort`,`disabled`,`store`,`handle`,`draggable`,`swapThreshold`,`invertSwap`,`invertedSwapThreshold`,`removeCloneOnHide`,`direction`,`chosenClass`,`dragClass`,`ignore`,`filter`,`preventOnFilter`,`easing`,`setData`,`dropBubble`,`dragoverBubble`,`dataIdAttr`,`delay`,`delayOnTouchOnly`,`touchStartThreshold`,`forceFallback`,`fallbackClass`,`fallbackOnBody`,`fallbackTolerance`,`fallbackOffset`,`supportPointer`,`emptyInsertThreshold`,`scroll`,`forceAutoScrollFallback`,`scrollSensitivity`,`scrollSpeed`,`bubbleScroll`,`modelValue`,`tag`,`target`,`customUpdate`,...Oc.map(e=>`on${e.replace(/^\S/,e=>e.toUpperCase())}`)],emits:[`update:modelValue`,...Oc],setup(e,{slots:t,emit:r,expose:i,attrs:a}){let o=Oc.reduce((e,t)=>{let n=`on${t.replace(/^\S/,e=>e.toUpperCase())}`;return e[n]=(...e)=>r(t,...e),e},{}),s=R(()=>{let t=n(e),{modelValue:r}=t,i=Va(t,[`modelValue`]),s=Object.entries(i).reduce((e,[t,n])=>{let r=h(n);return r!==void 0&&(e[t]=r),e},{});return Ba(Ba({},o),qa(Ba(Ba({},a),s)))}),c=R({get:()=>e.modelValue,set:e=>r(`update:modelValue`,e)}),l=V(),u=b(Dc(e.target||l,c,s));return i(u),()=>be(e.tag||`div`,{ref:l},(t?.default)?.call(t,u))}}),Ac={mounted:`mounted`,unmounted:`unmounted`};Ac.mounted,Ac.unmounted;var jc={class:`config-log-parsers`},Mc={class:`config-card`},Nc={class:`config-card__header`},Pc={class:`config-card__hint`},Fc={class:`config-card`},Ic={class:`config-card__header`},Lc={class:`config-card__header-hint`},Rc={class:`config-log-parsers__order`},zc={class:`config-log-parsers__name`},Bc={key:1,class:`config-log-parsers__empty`},Vc={class:`config-log-parsers__add-row`},Hc={class:`config-log-parsers__footer`},Uc=o(H({__name:`ServiceConfigLogs`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let n=e,r=t,a=i(),{t:o}=E(),s=Ke(),l=V([...n.service.parserIds??[]]);_e(()=>n.service,e=>{l.value=[...e.parserIds??[]]});let d=R(()=>[...s.parsers].filter(e=>e.enabled).sort((e,t)=>e.name.localeCompare(t.name))),f=R(()=>d.value.filter(e=>!l.value.includes(e.id))),p=V(l.value.map(e=>s.parsers.find(t=>t.id===e)).filter(e=>e!==void 0));_e(l,e=>{let t=p.value.filter(t=>e.includes(t.id)),n=e.filter(e=>!t.find(t=>t.id===e)).map(e=>s.parsers.find(t=>t.id===e)).filter(e=>e!==void 0);p.value=[...t,...n]}),_e(()=>s.parsers,()=>{p.value=l.value.map(e=>s.parsers.find(t=>t.id===e)).filter(e=>e!==void 0)});let m=V(null);function g(e){if(!e)return;let t=s.parsers.find(t=>t.id===e);t&&(l.value=[...l.value,e],p.value=[...p.value,t],m.value=null,b())}function _(e){l.value=l.value.filter(t=>t!==e),p.value=p.value.filter(t=>t.id!==e),b()}function y(){l.value=p.value.map(e=>e.id),b()}function b(){r(`save`,{parserIds:p.value.map(e=>e.id)})}return v(()=>{s.fetchParsers()}),(e,t)=>(u(),F(`div`,jc,[j(`div`,Mc,[j(`div`,Nc,[t[3]||=j(`i`,{class:`pi pi-code`},null,-1),j(`span`,null,M(h(o)(`serviceConfigLogs.jsParsers`)),1)]),j(`small`,Pc,M(h(o)(`serviceConfigLogs.jsParsersHint`)),1)]),j(`div`,Fc,[j(`div`,Ic,[t[4]||=j(`i`,{class:`pi pi-sort-alt`},null,-1),j(`span`,null,M(h(o)(`serviceConfigLogs.executionOrder`)),1),j(`small`,Lc,M(h(o)(`serviceConfigLogs.executionOrderHint`)),1)]),p.value.length>0?(u(),N(h(kc),{key:0,modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,animation:150,handle:`.drag-handle`,class:`config-log-parsers__drag-list`,"data-testid":`log-parsers-drag-list`,onEnd:y},{default:k(()=>[(u(!0),F(L,null,C(p.value,(e,n)=>(u(),F(`div`,{key:e.id,class:`config-log-parsers__drag-row`,"data-testid":`log-parsers-drag-row`},[t[5]||=j(`span`,{class:`drag-handle`,"data-testid":`drag-handle`},[j(`i`,{class:`pi pi-bars`})],-1),j(`span`,Rc,M(n+1),1),j(`span`,zc,M(e.name),1),e.builtin?(u(),N(h(ye),{key:0,severity:`secondary`,class:`config-log-parsers__builtin-badge`},{default:k(()=>[B(M(h(o)(`serviceConfigLogs.builtin`)),1)]),_:1})):I(``,!0),e.enabled?I(``,!0):(u(),N(h(ye),{key:1,severity:`warn`,class:`config-log-parsers__disabled-badge`},{default:k(()=>[B(M(h(o)(`serviceConfigLogs.disabled`)),1)]),_:1})),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,class:`config-log-parsers__delete`,onClick:t=>_(e.id)},null,8,[`onClick`])]))),128))]),_:1},8,[`modelValue`])):I(``,!0),p.value.length===0?(u(),F(`div`,Bc,M(h(o)(`serviceConfigLogs.empty`)),1)):I(``,!0),j(`div`,Vc,[U(h(ve),{modelValue:m.value,"onUpdate:modelValue":[t[1]||=e=>m.value=e,g],options:f.value,"option-label":`name`,"option-value":`id`,placeholder:h(o)(`serviceConfigLogs.addParser`),class:`config-log-parsers__add-select`,loading:h(s).loading,disabled:f.value.length===0},{option:k(({option:e})=>[j(`span`,null,M(e.name),1),e.builtin?(u(),N(h(ye),{key:0,severity:`secondary`,class:`ml-2`,style:{"font-size":`0.65rem`,padding:`0.1rem 0.35rem`}},{default:k(()=>[B(M(h(o)(`serviceConfigLogs.builtin`)),1)]),_:1})):I(``,!0)]),_:1},8,[`modelValue`,`options`,`placeholder`,`loading`,`disabled`])])]),j(`div`,Hc,[U(h(c),{label:h(o)(`serviceConfigLogs.manageParsers`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,size:`small`,onClick:t[2]||=e=>h(a).push({name:`settings`,query:{section:`parsers`}})},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-2a8eb0c6`]]),Wc={class:`config-log-sources`},Gc={class:`config-card`},Kc={class:`config-card__header`},qc={class:`config-card__hint`},Jc={key:0,class:`config-card config-card--list`},Yc={class:`source-row__info`},Xc={class:`source-row__type`},Zc={class:`source-row__label`},Qc={class:`source-row__actions`},$c={key:1,class:`config-log-sources__empty`},el={class:`config-log-sources__footer`},tl={class:`dialog-form`},nl={class:`dialog-form__field`},rl={for:`lsrc-type`,class:`dialog-form__label`},il={class:`dialog-form__field`},al={for:`lsrc-path-file`,class:`dialog-form__label`},ol={class:`dialog-form__field`},sl={for:`lsrc-encoding-file`,class:`dialog-form__label`},cl={class:`dialog-form__field dialog-form__field--row`},ll={for:`lsrc-startFromEnd-file`,class:`dialog-form__label`},ul={class:`dialog-form__field dialog-form__field--row`},dl={for:`lsrc-createIfNotExists-file`,class:`dialog-form__label`},fl={class:`dialog-form__field`},pl={for:`lsrc-connectionString-mongo`,class:`dialog-form__label`},ml={class:`dialog-form__row`},hl={class:`dialog-form__field`},gl={class:`dialog-form__field`},_l={class:`dialog-form__row`},vl={class:`dialog-form__field`},yl={class:`dialog-form__field`},bl={class:`dialog-form__field`},xl={class:`dialog-form__row`},Sl={class:`dialog-form__field dialog-form__field--grow`},Cl={class:`dialog-form__field dialog-form__field--port`},wl={class:`dialog-form__row`},Tl={class:`dialog-form__field`},El={class:`dialog-form__field`},Dl={class:`dialog-form__row`},Ol={class:`dialog-form__field`},kl={class:`dialog-form__field`},Al={class:`dialog-form__row`},jl={class:`dialog-form__field`},Ml={class:`dialog-form__field`},Nl={class:`dialog-form__row`},Pl={class:`dialog-form__field`},Fl={class:`dialog-form__field`},Il={class:`dialog-form__field`},Ll={key:3,class:`dialog-form__hint-block`},Rl=o(H({__name:`ServiceConfigLogSources`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=E(),r=e,i=t,a=[{label:`Console (stdout/stderr)`,value:`console`,icon:`pi-terminal`},{label:`File`,value:`file`,icon:`pi-file`},{label:`MongoDB`,value:`mongo`,icon:`pi-database`},{label:`MySQL`,value:`mysql`,icon:`pi-database`}];function o(e){return e===`console`?{type:`console`}:e===`file`?{type:`file`,path:``,encoding:`utf-8`,startFromEnd:!0,createIfNotExists:!1}:e===`mongo`?{type:`mongo`,connectionString:``,database:``,collection:``,timestampField:`timestamp`,messageField:`message`}:{type:`mysql`,host:`localhost`,port:3306,user:``,password:``,database:``,table:``,timestampColumn:`created_at`,messageColumn:`message`,pollIntervalMs:2e3}}let s=V([...r.service.logSources??[]]);_e(()=>r.service.logSources,e=>{s.value=[...e??[]]});let l=V(!1),d=V(null),f=V(o(`console`));function p(){d.value=null,f.value=o(`file`),l.value=!0}function m(e){d.value=e,f.value={...s.value[e]},l.value=!0}function g(e){f.value=o(e)}function _(){d.value===null?s.value=[...s.value,{...f.value}]:s.value=s.value.map((e,t)=>t===d.value?{...f.value}:e),l.value=!1,i(`save`,{logSources:s.value})}function v(e){s.value=s.value.filter((t,n)=>n!==e),i(`save`,{logSources:s.value})}function y(e){return e.type===`console`?`Console`:e.type===`file`?e.path||`(no path)`:e.type===`mongo`?e.database?`mongo/${e.database}/${e.collection}`:`(not configured)`:e.type===`mysql`?e.database?`mysql/${e.host}/${e.database}/${e.table}`:`(not configured)`:e.type}function b(e){return e===`console`?`pi-terminal`:e===`file`?`pi-file`:`pi-database`}return(e,t)=>(u(),F(`div`,Wc,[j(`div`,Gc,[j(`div`,Kc,[t[23]||=j(`i`,{class:`pi pi-inbox`},null,-1),j(`span`,null,M(h(n)(`serviceConfigLogSources.title`)),1)]),j(`small`,qc,M(h(n)(`serviceConfigLogSources.hint`)),1)]),s.value.length>0?(u(),F(`div`,Jc,[(u(!0),F(L,null,C(s.value,(e,t)=>(u(),F(`div`,{key:t,class:`source-row`},[j(`i`,{class:se(`pi ${b(e.type)} source-row__icon`)},null,2),j(`div`,Yc,[j(`span`,Xc,M(e.type),1),j(`span`,Zc,M(y(e)),1)]),j(`div`,Qc,[U(h(c),{icon:`pi pi-pencil`,text:``,size:`small`,severity:`secondary`,onClick:e=>m(t)},null,8,[`onClick`]),U(h(c),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:e=>v(t)},null,8,[`onClick`])])]))),128))])):(u(),F(`div`,$c,[t[24]||=j(`i`,{class:`pi pi-inbox config-log-sources__empty-icon`},null,-1),j(`p`,null,M(h(n)(`serviceConfigLogSources.empty`)),1),j(`small`,null,M(h(n)(`serviceConfigLogSources.emptyHint`)),1)])),j(`div`,el,[U(h(c),{label:h(n)(`serviceConfigLogSources.addSource`),icon:`pi pi-plus`,size:`small`,onClick:p},null,8,[`label`])]),U(h(ee),{visible:l.value,"onUpdate:visible":t[22]||=e=>l.value=e,header:d.value===null?h(n)(`serviceConfigLogSources.addDialog`):h(n)(`serviceConfigLogSources.editDialog`),modal:``,style:{width:`520px`}},{footer:k(()=>[U(h(c),{label:h(n)(`serviceConfigLogSources.cancel`),severity:`secondary`,outlined:``,onClick:t[21]||=e=>l.value=!1},null,8,[`label`]),U(h(c),{label:d.value===null?h(n)(`serviceConfigLogSources.add`):h(n)(`serviceConfigLogSources.save`),icon:`pi pi-check`,onClick:_},null,8,[`label`])]),default:k(()=>[j(`div`,tl,[j(`div`,nl,[j(`label`,rl,M(h(n)(`serviceConfigLogSources.type`)),1),U(h(ve),{"input-id":`lsrc-type`,"model-value":f.value.type,options:a,"option-label":`label`,"option-value":`value`,class:`dialog-form__input`,"onUpdate:modelValue":g},null,8,[`model-value`])]),f.value.type===`file`?(u(),F(L,{key:0},[j(`div`,il,[j(`label`,al,[B(M(h(n)(`serviceConfigLogSources.path`))+` `,1),t[25]||=j(`span`,{class:`dialog-form__required`},`*`,-1)]),U(h(W),{id:`lsrc-path-file`,modelValue:f.value.path,"onUpdate:modelValue":t[0]||=e=>f.value.path=e,class:`dialog-form__input`,placeholder:`/var/log/app.log`},null,8,[`modelValue`])]),j(`div`,ol,[j(`label`,sl,M(h(n)(`serviceConfigLogSources.encoding`)),1),U(h(W),{id:`lsrc-encoding-file`,modelValue:f.value.encoding,"onUpdate:modelValue":t[1]||=e=>f.value.encoding=e,class:`dialog-form__input`,placeholder:`utf-8`},null,8,[`modelValue`])]),j(`div`,cl,[j(`label`,ll,M(h(n)(`serviceConfigLogSources.startFromEnd`)),1),U(h(Ne),{"input-id":`lsrc-startFromEnd-file`,modelValue:f.value.startFromEnd,"onUpdate:modelValue":t[2]||=e=>f.value.startFromEnd=e},null,8,[`modelValue`])]),j(`div`,ul,[j(`label`,dl,M(h(n)(`serviceConfigLogSources.createIfNotExists`)),1),U(h(Ne),{"input-id":`lsrc-createIfNotExists-file`,modelValue:f.value.createIfNotExists,"onUpdate:modelValue":t[3]||=e=>f.value.createIfNotExists=e},null,8,[`modelValue`])])],64)):f.value.type===`mongo`?(u(),F(L,{key:1},[j(`div`,fl,[j(`label`,pl,[B(M(h(n)(`serviceConfigLogSources.connectionString`))+` `,1),t[26]||=j(`span`,{class:`dialog-form__required`},`*`,-1)]),U(h(W),{id:`lsrc-connectionString-mongo`,modelValue:f.value.connectionString,"onUpdate:modelValue":t[4]||=e=>f.value.connectionString=e,class:`dialog-form__input`,placeholder:`mongodb://user:pass@host:27017`,type:`password`,autocomplete:`off`},null,8,[`modelValue`])]),j(`div`,ml,[j(`div`,hl,[t[27]||=j(`label`,{for:`lsrc-database-mongo`,class:`dialog-form__label`},[B(`Database `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-database-mongo`,modelValue:f.value.database,"onUpdate:modelValue":t[5]||=e=>f.value.database=e,class:`dialog-form__input`,placeholder:`mydb`},null,8,[`modelValue`])]),j(`div`,gl,[t[28]||=j(`label`,{for:`lsrc-collection-mongo`,class:`dialog-form__label`},[B(`Collection `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-collection-mongo`,modelValue:f.value.collection,"onUpdate:modelValue":t[6]||=e=>f.value.collection=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),j(`div`,_l,[j(`div`,vl,[t[29]||=j(`label`,{for:`lsrc-timestampField-mongo`,class:`dialog-form__label`},`Timestamp field`,-1),U(h(W),{id:`lsrc-timestampField-mongo`,modelValue:f.value.timestampField,"onUpdate:modelValue":t[7]||=e=>f.value.timestampField=e,class:`dialog-form__input`,placeholder:`timestamp`},null,8,[`modelValue`])]),j(`div`,yl,[t[30]||=j(`label`,{for:`lsrc-messageField-mongo`,class:`dialog-form__label`},`Message field`,-1),U(h(W),{id:`lsrc-messageField-mongo`,modelValue:f.value.messageField,"onUpdate:modelValue":t[8]||=e=>f.value.messageField=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),j(`div`,bl,[t[31]||=j(`label`,{for:`lsrc-levelField-mongo`,class:`dialog-form__label`},[B(`Level field `),j(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),U(h(W),{id:`lsrc-levelField-mongo`,modelValue:f.value.levelField,"onUpdate:modelValue":t[9]||=e=>f.value.levelField=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])])],64)):f.value.type===`mysql`?(u(),F(L,{key:2},[j(`div`,xl,[j(`div`,Sl,[t[32]||=j(`label`,{for:`lsrc-host-mysql`,class:`dialog-form__label`},[B(`Host `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-host-mysql`,modelValue:f.value.host,"onUpdate:modelValue":t[10]||=e=>f.value.host=e,class:`dialog-form__input`,placeholder:`localhost`},null,8,[`modelValue`])]),j(`div`,Cl,[t[33]||=j(`label`,{for:`lsrc-port-mysql`,class:`dialog-form__label`},`Port`,-1),U(h(je),{"input-id":`lsrc-port-mysql`,modelValue:f.value.port,"onUpdate:modelValue":t[11]||=e=>f.value.port=e,min:1,max:65535,class:`dialog-form__input`},null,8,[`modelValue`])])]),j(`div`,wl,[j(`div`,Tl,[t[34]||=j(`label`,{for:`lsrc-user-mysql`,class:`dialog-form__label`},[B(`User `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-user-mysql`,modelValue:f.value.user,"onUpdate:modelValue":t[12]||=e=>f.value.user=e,class:`dialog-form__input`,placeholder:`root`},null,8,[`modelValue`])]),j(`div`,El,[t[35]||=j(`label`,{for:`lsrc-password-mysql`,class:`dialog-form__label`},`Password`,-1),U(h(W),{id:`lsrc-password-mysql`,modelValue:f.value.password,"onUpdate:modelValue":t[13]||=e=>f.value.password=e,class:`dialog-form__input`,type:`password`,autocomplete:`new-password`},null,8,[`modelValue`])])]),j(`div`,Dl,[j(`div`,Ol,[t[36]||=j(`label`,{for:`lsrc-database-mysql`,class:`dialog-form__label`},[B(`Database `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-database-mysql`,modelValue:f.value.database,"onUpdate:modelValue":t[14]||=e=>f.value.database=e,class:`dialog-form__input`,placeholder:`app_db`},null,8,[`modelValue`])]),j(`div`,kl,[t[37]||=j(`label`,{for:`lsrc-table-mysql`,class:`dialog-form__label`},[B(`Table `),j(`span`,{class:`dialog-form__required`},`*`)],-1),U(h(W),{id:`lsrc-table-mysql`,modelValue:f.value.table,"onUpdate:modelValue":t[15]||=e=>f.value.table=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),j(`div`,Al,[j(`div`,jl,[t[38]||=j(`label`,{for:`lsrc-timestampColumn-mysql`,class:`dialog-form__label`},`Timestamp column`,-1),U(h(W),{id:`lsrc-timestampColumn-mysql`,modelValue:f.value.timestampColumn,"onUpdate:modelValue":t[16]||=e=>f.value.timestampColumn=e,class:`dialog-form__input`,placeholder:`created_at`},null,8,[`modelValue`])]),j(`div`,Ml,[t[39]||=j(`label`,{for:`lsrc-messageColumn-mysql`,class:`dialog-form__label`},`Message column`,-1),U(h(W),{id:`lsrc-messageColumn-mysql`,modelValue:f.value.messageColumn,"onUpdate:modelValue":t[17]||=e=>f.value.messageColumn=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),j(`div`,Nl,[j(`div`,Pl,[t[40]||=j(`label`,{for:`lsrc-levelColumn-mysql`,class:`dialog-form__label`},[B(`Level column `),j(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),U(h(W),{id:`lsrc-levelColumn-mysql`,modelValue:f.value.levelColumn,"onUpdate:modelValue":t[18]||=e=>f.value.levelColumn=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])]),j(`div`,Fl,[t[41]||=j(`label`,{for:`lsrc-pollIntervalMs-mysql`,class:`dialog-form__label`},`Poll interval (ms)`,-1),U(h(je),{"input-id":`lsrc-pollIntervalMs-mysql`,modelValue:f.value.pollIntervalMs,"onUpdate:modelValue":t[19]||=e=>f.value.pollIntervalMs=e,min:500,max:6e4,class:`dialog-form__input`},null,8,[`modelValue`])])]),j(`div`,Il,[t[42]||=j(`label`,{for:`lsrc-query-mysql`,class:`dialog-form__label`},[B(`Custom query `),j(`span`,{class:`dialog-form__hint`},[B(`(optional, must include `),j(`code`,null,`WHERE … > ?`),B(`)`)])],-1),U(h(W),{id:`lsrc-query-mysql`,modelValue:f.value.query,"onUpdate:modelValue":t[20]||=e=>f.value.query=e,class:`dialog-form__input`,placeholder:`SELECT * FROM logs WHERE created_at > ? ORDER BY id ASC`},null,8,[`modelValue`])])],64)):f.value.type===`console`?(u(),F(`small`,Ll,`The console source captures stdout/stderr and is always active. Adding it here has no effect unless you want to track it explicitly.`)):I(``,!0)])]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-1ceb461a`]]),zl={class:`config-traefik`},Bl={class:`traefik-entry__fields`},Vl=o(H({__name:`ServiceConfigTraefik`,props:{service:{}},emits:[`save`],setup(e,{emit:n}){let r=e,i=n,a=V([...r.service.localUrls??[]]),o=V(null);v(async()=>{r.service.agentId&&(o.value=(await t.settings.getAgentTraefikConfig.query({agentId:r.service.agentId})).enabled)});let s=null;_e(()=>r.service,e=>{s||(a.value=[...e.localUrls??[]])});function l(){a.value=[...a.value,{url:``,port:3e3}]}function d(e){a.value=a.value.filter((t,n)=>n!==e),m()}function f(e,t,n){a.value=a.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function m(){s&&clearTimeout(s),s=setTimeout(()=>{i(`save`,{localUrls:a.value.filter(e=>e.url.trim())}),s=null},150)}return(e,t)=>(u(),F(`div`,zl,[o.value===!1?(u(),N(h(Te),{key:0,severity:`warn`,closable:!1},{default:k(()=>[t[1]||=B(` Traefik n'est pas activé. Configurez-le dans `,-1),U(h(p),{to:{name:`settings`,query:{section:`agents`}}},{default:k(()=>[...t[0]||=[B(`Paramètres → Agents`,-1)]]),_:1}),t[2]||=B(` (bouton Traefik sur la ligne de l'agent) pour que ces URLs soient actives. `,-1)]),_:1})):I(``,!0),(u(!0),F(L,null,C(a.value,(e,t)=>(u(),F(`div`,{key:t,class:`traefik-entry`},[j(`div`,Bl,[U(h(W),{"model-value":e.url,class:`traefik-entry__url`,placeholder:`mon-app.local.mondomaine.com`,"onUpdate:modelValue":e=>f(t,`url`,e),onBlur:m,onKeydown:P(A(m,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`]),U(h(je),{"model-value":e.port,class:`traefik-entry__port`,min:1,max:65535,"use-grouping":!1,placeholder:`3000`,"onUpdate:modelValue":e=>{f(t,`port`,e??3e3),m()}},null,8,[`model-value`,`onUpdate:modelValue`]),U(h(c),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,onClick:e=>d(t)},null,8,[`onClick`])])]))),128)),U(h(c),{icon:`pi pi-plus`,label:`Ajouter une URL`,size:`small`,outlined:``,onClick:l})]))}}),[[`__scopeId`,`data-v-a71f945b`]]),Hl={class:`config-view`,"data-testid":`config-view`},Ul={class:`config-view__header`},Wl={class:`config-view__title`},Gl={class:`config-view__actions`},Kl=o(H({__name:`ServiceConfigView`,props:{service:{},projectId:{}},emits:[`remove-service`],setup(e,{emit:t}){let n=e,r=t,{t:a}=E(),o=ue(),s=m(),l=d(),{isDebug:f}=rn(),p=Ce(),g=i(),_=[`general`,`commands`,`shortcuts`,`env`,`health`,`log-parsers`,`log-sources`,`traefik`],v=R(()=>{let e=p.query.configTab;return _.includes(e)?e:`general`});function y(e){g.replace({query:{...p.query,configTab:e}})}let b=R(()=>s.getByRef({id:n.projectId,orgId:l.activeOrgId})?.activeEnvironmentId);async function x(e,t){await t()?f.value&&console.debug(`[autosave] ${e} saved`):console.error(`[autosave] ${e} failed:`,o.error??`Save failed`)}async function ee(e){await x(`General`,()=>o.update(n.service.id,e))}async function S(e){await x(`Commands`,()=>o.update(n.service.id,e))}async function C(e){await x(`Health check`,()=>o.update(n.service.id,{healthCheck:e??null}))}async function w(e){await x(`Shortcuts`,()=>o.update(n.service.id,{shortcuts:e}))}async function te(e){await x(`Docker`,()=>o.update(n.service.id,{dockerConfig:e}))}async function T(e){await x(`Log parsers`,()=>o.update(n.service.id,e))}async function D(e){await x(`Log sources`,()=>o.update(n.service.id,e))}async function O(e){await x(`Traefik`,()=>o.update(n.service.id,e))}function A(){r(`remove-service`,n.service.id)}return(t,n)=>(u(),F(`div`,Hl,[j(`div`,Ul,[j(`h2`,Wl,M(h(a)(`serviceConfigView.title`)),1),j(`div`,Gl,[U(h(c),{label:h(a)(`serviceConfigView.remove`),icon:`pi pi-trash`,severity:`danger`,size:`small`,outlined:``,onClick:A},null,8,[`label`])])]),U(h(Pe),{value:v.value,class:`config-view__tabs`,"onUpdate:value":y},{default:k(()=>[U(h(Fe),null,{default:k(()=>[U(h(Le),{value:`general`,"data-testid":`tab-config`},{default:k(()=>[n[0]||=j(`i`,{class:`pi pi-cog tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabGeneral`)),1)]),_:1}),U(h(Le),{value:`commands`,"data-testid":`tab-commands`},{default:k(()=>[n[1]||=j(`i`,{class:`pi pi-code tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabCommands`)),1)]),_:1}),U(h(Le),{value:`shortcuts`,"data-testid":`tab-shortcuts`},{default:k(()=>[n[2]||=j(`i`,{class:`pi pi-bolt tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabShortcuts`)),1)]),_:1}),U(h(Le),{value:`env`,"data-testid":`tab-env`},{default:k(()=>[n[3]||=j(`i`,{class:`pi pi-database tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabEnvironment`)),1)]),_:1}),U(h(Le),{value:`health`},{default:k(()=>[n[4]||=j(`i`,{class:`pi pi-heart tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabHealthCheck`)),1)]),_:1}),U(h(Le),{value:`log-parsers`,"data-testid":`tab-log-parsers`},{default:k(()=>[n[5]||=j(`i`,{class:`pi pi-list tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabLogParsers`)),1)]),_:1}),U(h(Le),{value:`log-sources`},{default:k(()=>[n[6]||=j(`i`,{class:`pi pi-inbox tab-icon`},null,-1),j(`span`,null,M(h(a)(`serviceConfigView.tabLogSources`)),1)]),_:1}),U(h(Le),{value:`traefik`},{default:k(()=>[...n[7]||=[j(`i`,{class:`pi pi-server tab-icon`},null,-1),j(`span`,null,`Traefik`,-1)]]),_:1})]),_:1}),U(h(Ie),null,{default:k(()=>[U(h(Re),{value:`general`},{default:k(()=>[U(Bn,{service:e.service,onSave:ee},null,8,[`service`])]),_:1}),U(h(Re),{value:`commands`},{default:k(()=>[U(pi,{service:e.service,onSave:S,onDockerSave:te},null,8,[`service`])]),_:1}),U(h(Re),{value:`shortcuts`,"data-testid":`tabpanel-shortcuts`},{default:k(()=>[U(Pa,{service:e.service,onSave:w},null,8,[`service`])]),_:1}),U(h(Re),{value:`env`},{default:k(()=>[U($i,{service:e.service,"project-id":e.projectId,"active-environment-id":b.value},null,8,[`service`,`project-id`,`active-environment-id`])]),_:1}),U(h(Re),{value:`health`},{default:k(()=>[U(Sa,{service:e.service,onSave:C},null,8,[`service`])]),_:1}),U(h(Re),{value:`log-parsers`,"data-testid":`tabpanel-log-parsers`},{default:k(()=>[U(Uc,{service:e.service,onSave:T},null,8,[`service`])]),_:1}),U(h(Re),{value:`log-sources`},{default:k(()=>[U(Rl,{service:e.service,onSave:D},null,8,[`service`])]),_:1}),U(h(Re),{value:`traefik`},{default:k(()=>[U(Vl,{service:e.service,onSave:O},null,8,[`service`])]),_:1})]),_:1})]),_:1},8,[`value`])]))}}),[[`__scopeId`,`data-v-af965568`]]),ql={key:0,class:`service-detail`},Jl={key:1,class:`service-detail__not-found`},Yl=o(H({__name:`ServiceDetailPage`,setup(e){let t=Ce(),n=i(),o=l(),s=w(),{t:c}=E(),d=ue(),f=oe(),p=m(),{setServiceContext:_}=a(),v=R(()=>t.params.id);_e(v,e=>_(e),{immediate:!0}),r(()=>_(null));let y=R(()=>{let e=t.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`||e===`wiki`?e:`terminal`}),b=R(()=>d.getById(v.value)),x=R(()=>f.getByService(v.value)),ee=R(()=>p.currentProject?.id??``);function S(e){let t=d.getById(e);s.require({message:c(`serviceDetail.deleteConfirmMessage`,{name:t?.name??e}),header:c(`serviceDetail.deleteConfirmHeader`),icon:`pi pi-exclamation-triangle`,rejectLabel:c(`actions.cancel`),acceptLabel:c(`actions.delete`),acceptProps:{severity:`danger`},accept:async()=>{await d.remove(e)&&(o.add({severity:`success`,summary:c(`serviceDetail.removed`),detail:c(`serviceDetail.deleted`),life:3e3}),n.push(`/`))}})}return(e,t)=>b.value?(u(),F(`div`,ql,[y.value===`terminal`?(u(),N(Ut,{key:`terminal-`+v.value,service:b.value,processes:x.value},null,8,[`service`,`processes`])):y.value===`metrics`?(u(),N(en,{key:`metrics-`+v.value,service:b.value,processes:x.value},null,8,[`service`,`processes`])):y.value===`config`?(u(),N(Kl,{key:`config-`+v.value,service:b.value,"project-id":ee.value,onRemoveService:S},null,8,[`service`,`project-id`])):y.value===`git`?(u(),N(g,{key:`git-`+v.value,"service-id":v.value},null,8,[`service-id`])):y.value===`wiki`?(u(),N(qe,{key:`wiki-`+v.value,scope:`service:${v.value}`},null,8,[`scope`])):I(``,!0)])):(u(),F(`div`,Jl,[j(`p`,null,M(h(c)(`serviceDetail.notFound`)),1)]))}}),[[`__scopeId`,`data-v-e3e9fe7f`]]);export{Yl as default};