@runeya/runeya 2.0.107 → 2.0.108

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 (345) hide show
  1. package/agent-manager-EI7SXPN5.js +9 -0
  2. package/{chat-O7ZXCCKV.js → chat-WMT34BXJ.js} +6 -6
  3. package/{chunk-JNI4CXJ7.js → chunk-4SJCPFGK.js} +107 -62
  4. package/chunk-4SJCPFGK.js.map +1 -0
  5. package/{chunk-ZDHLWTHW.js → chunk-D2PF2FYU.js} +2 -2
  6. package/{chunk-TE57T5GO.js → chunk-DS66SEYH.js} +6 -6
  7. package/{chunk-ELI2TELD.js → chunk-RIITTBK3.js} +2 -2
  8. package/{chunk-J3NAI636.js → chunk-ZFELQG4B.js} +12 -16
  9. package/chunk-ZFELQG4B.js.map +1 -0
  10. package/{companion-NZU7FNID.js → companion-EPINTIC7.js} +4 -4
  11. package/index.js +3 -3
  12. package/package.json +1 -1
  13. package/settings-manager-YSH7ZCLP.js +9 -0
  14. package/{src-MILB2SQA.js → src-LONZKLMU.js} +86 -27
  15. package/src-LONZKLMU.js.map +1 -0
  16. package/{vault-resolver-V7KH4FTC.js → vault-resolver-57Q2DVOR.js} +4 -4
  17. package/web/assets/AgentScalarChatInterface.vue-CElmj8LJ.js +13 -0
  18. package/web/assets/AgentTerminalPage-hk46uwat.js +1 -0
  19. package/web/assets/AiChatPage-wCWG0TXA.js +1 -0
  20. package/web/assets/{AppLayout-DK0hjOjl.css → AppLayout-6LmWDDMH.css} +1 -1
  21. package/web/assets/AppLayout-CHxGU2pw.js +1 -0
  22. package/web/assets/AuditPage-CSRVCGZi.js +1 -0
  23. package/web/assets/CloudAccountPage-CfMY69pk.css +1 -0
  24. package/web/assets/CloudAccountPage-DjQdxy2v.js +1 -0
  25. package/web/assets/CloudAccountPage-UnmpE1jD.js +1 -0
  26. package/web/assets/CloudMessagingPage-BRwxGiH2.css +1 -0
  27. package/web/assets/CloudMessagingPage-jh1AWzKj.js +2 -0
  28. package/web/assets/DashboardPage-CiihNr9b.js +164 -0
  29. package/web/assets/DirectoryPickerDialog-Dy1zyHux.js +1 -0
  30. package/web/assets/{EditorIcon-DAVCsZGN.js → EditorIcon-DvX4OCO1.js} +2 -2
  31. package/web/assets/EnvironmentForm-D2JDn5Zc.js +108 -0
  32. package/web/assets/EnvironmentFormPage-BPDo_AMy.js +1 -0
  33. package/web/assets/EnvironmentListPage-BFT6nMkR.js +1 -0
  34. package/web/assets/KanbanBoardPage-6vbnqxkk.js +4 -0
  35. package/web/assets/KanbanBoardPage-CoTX8nB6.css +1 -0
  36. package/web/assets/KanbanListPage-BBLCnzN8.js +1 -0
  37. package/web/assets/LaunchProjectPage-Cznkvcvm.js +1 -0
  38. package/web/assets/LaunchServicesPage-DwkYQefD.js +1 -0
  39. package/web/assets/LogViewer-x7JfZfN8.js +3 -0
  40. package/web/assets/OrgKeyPrompt-DPWfDcID.js +1 -0
  41. package/web/assets/{ProcessControls-BnlYc5oo.js → ProcessControls-DPOmEvIy.js} +1 -1
  42. package/web/assets/ProcessDetailPage-BDsM9dnQ.js +1 -0
  43. package/web/assets/{ProcessMetrics-3iA0I20o.js → ProcessMetrics-C2YI8_M5.js} +2 -2
  44. package/web/assets/{RandomJobTestPage-BO3b4l7T.js → RandomJobTestPage-DGA72-VM.js} +1 -1
  45. package/web/assets/ScenarioEditorPage-B4zEfHEz.js +14 -0
  46. package/web/assets/SendToChatDialog-8RfesH1F.js +1 -0
  47. package/web/assets/ServiceControlsBar-DLHgd13V.js +1 -0
  48. package/web/assets/ServiceDetailPage-na_wgdlZ.js +2 -0
  49. package/web/assets/ServiceFormPage-Cn_FPvKf.js +1 -0
  50. package/web/assets/SettingsPage-QBOlzawK.js +2063 -0
  51. package/web/assets/UnlockPage-A75PjxBe.js +1 -0
  52. package/web/assets/VariablesTable-D8Oh3-1C.js +1 -0
  53. package/web/assets/VaultMigrationPage-DA9H-AhS.js +1 -0
  54. package/web/assets/VersionBadge-DNDzBQcJ.js +1 -0
  55. package/web/assets/WikiPage-DdY1dy8w.js +1 -0
  56. package/web/assets/WikiView-Td2Ice0P.js +1 -0
  57. package/web/assets/add-scalar-classes-D0W5Egzt.js +387 -0
  58. package/web/assets/{autocomplete-CsyixLlY.js → autocomplete-DXp2_8rJ.js} +3 -3
  59. package/web/assets/{basic-shape-diamond.svg-BbOA3Gz6.js → basic-shape-diamond.svg-CUsdhYKG.js} +1 -1
  60. package/web/assets/{basic-shape-hexagon.svg-DdJgnvDo.js → basic-shape-hexagon.svg-BPfS9EDA.js} +1 -1
  61. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-Bg3fLGGT.js → basic-shape-primary-circle-ellipse-round.svg-C0Y2bkJl.js} +1 -1
  62. package/web/assets/{basic-shape-primary-square-rectangle.svg-CESoq0fN.js → basic-shape-primary-square-rectangle.svg-1LwihH2B.js} +1 -1
  63. package/web/assets/{basic-shape-shield.svg-ElM9Zp2x.js → basic-shape-shield.svg-DGe2vG6Z.js} +1 -1
  64. package/web/assets/{browser-CwiIrBV5.js → browser-CQu9nsVO.js} +1 -1
  65. package/web/assets/{browser-MtZH8oRn.js → browser-QoavDMKL.js} +1 -1
  66. package/web/assets/{card-D8i3Wb9E.js → card-zbAp8JZP.js} +2 -2
  67. package/web/assets/{checkbox-DfhW4jIw.js → checkbox-BKV4svPN.js} +3 -3
  68. package/web/assets/{chip-jxWVyF6O.js → chip-DA83o4Kg.js} +2 -2
  69. package/web/assets/client-Cb_xJW-8.js +24 -0
  70. package/web/assets/cloud-chat.store-BA5nPaX6.js +1 -0
  71. package/web/assets/cloud-client-C_MUljS_.js +1 -0
  72. package/web/assets/cloud-session-BRyDsLxd.js +1 -0
  73. package/web/assets/cloud-session-DqTwnX4d.js +2 -0
  74. package/web/assets/column-BVUPaQkA.js +907 -0
  75. package/web/assets/{computer-device-desktop-monitor.svg-DJbi1v8s.js → computer-device-desktop-monitor.svg-CAldNRkh.js} +1 -1
  76. package/web/assets/{computer-device-desktop.svg-DJtxrGiU.js → computer-device-desktop.svg-DwVKMGyS.js} +1 -1
  77. package/web/assets/{computer-device-laptop.svg-BxPl4SOy.js → computer-device-laptop.svg-fyjI7tSV.js} +1 -1
  78. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-DZyVWDjs.js → computer-device-mobile-phone-android-samsung-back.svg-CNHunNo4.js} +1 -1
  79. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-CY2rayd7.js → computer-device-mobile-phone-android-samsung.svg-WhhpuflD.js} +1 -1
  80. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-wB3dvTWI.js → computer-device-mobile-phone-iphone-x-back.svg-RveI1E1x.js} +1 -1
  81. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-DlRKY5sj.js → computer-device-mobile-phone-iphone-x.svg-Cyjp0aan.js} +1 -1
  82. package/web/assets/{computer-device-mobile-tablet-touch.svg-DfslXQQZ.js → computer-device-mobile-tablet-touch.svg-u88Qx92m.js} +1 -1
  83. package/web/assets/{computer-device-mobile-tablet.svg-CcURGna7.js → computer-device-mobile-tablet.svg-Dzdz4e4O.js} +1 -1
  84. package/web/assets/{computer-device-network-ethernet-cat6.svg-Dp-TzO2e.js → computer-device-network-ethernet-cat6.svg-BW1j1BkJ.js} +1 -1
  85. package/web/assets/{computer-device-network-lan-www.svg-BPpSMigg.js → computer-device-network-lan-www.svg-CxNGv37e.js} +1 -1
  86. package/web/assets/{computer-device-network-wifi-connection.svg-CYQyIbfa.js → computer-device-network-wifi-connection.svg-Ck3nAZv3.js} +1 -1
  87. package/web/assets/{computer-device-network-wifi-router.svg-DSAd7WFk.js → computer-device-network-wifi-router.svg-gWXKoMXh.js} +1 -1
  88. package/web/assets/{cssMode-COezfEv9.js → cssMode-D8Jyxeqc.js} +1 -1
  89. package/web/assets/{divider-DUL-UFyL.js → divider-D-Mvqkj1.js} +2 -2
  90. package/web/assets/{docx-preview-BF14ztI2.js → docx-preview-DxSIfBtK.js} +1 -1
  91. package/web/assets/{ecology-science-erlenmeyer-flask.svg-ETcpyMYz.js → ecology-science-erlenmeyer-flask.svg-psfHQe5z.js} +1 -1
  92. package/web/assets/{fieldset-CSn4dPXR.js → fieldset-oHSSpvVY.js} +2 -2
  93. package/web/assets/{freemarker2-CqLlcxHC.js → freemarker2-DlJBY4WY.js} +1 -1
  94. package/web/assets/{handlebars-Cp1TiX9f.js → handlebars-DTEXdr2O.js} +1 -1
  95. package/web/assets/{html-BzArqvCu.js → html-eYBbc2Bx.js} +1 -1
  96. package/web/assets/{htmlMode-CIRVb85i.js → htmlMode-B4O_yjGK.js} +1 -1
  97. package/web/assets/{image-flash-lightning.svg-CSTusJ5t.js → image-flash-lightning.svg-r_oTLRoo.js} +1 -1
  98. package/web/assets/{image-picture-flower.svg-Cg9aaOhh.js → image-picture-flower.svg-8nv9asUS.js} +1 -1
  99. package/web/assets/{index-Q9nkGIct.js → index-B9x3uCZ9.js} +6 -6
  100. package/web/assets/{interface-alert-exclamation-diamond.svg-JL4lYLy1.js → interface-alert-exclamation-diamond.svg-A5K0l-78.js} +1 -1
  101. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-kvz8dLNC.js → interface-alert-exclamation-triangle-warning.svg-Dq66i82G.js} +1 -1
  102. package/web/assets/{interface-alert-information-circle.svg-DRqP_pYe.js → interface-alert-information-circle.svg-B4ROZIk0.js} +1 -1
  103. package/web/assets/{interface-award-crown.svg-CX4w4INE.js → interface-award-crown.svg-DRnv1a4n.js} +1 -1
  104. package/web/assets/{interface-bookmark.svg-Bx06-XmV.js → interface-bookmark-tag.svg-Dwwi4iOX.js} +1 -1
  105. package/web/assets/{interface-bookmark-tag.svg-D5LiJMAo.js → interface-bookmark.svg-CopCSuT2.js} +1 -1
  106. package/web/assets/{interface-calendar-date-one.svg-D28mjrW2.js → interface-calendar-date-one.svg-BxkYYC67.js} +1 -1
  107. package/web/assets/{interface-content-book-open-pages.svg-DvkccrQv.js → interface-content-book-open-pages.svg-BJozsCHP.js} +1 -1
  108. package/web/assets/{interface-content-book-page.svg-Co_Rf29J.js → interface-content-book-page.svg-CbWXY0Yb.js} +1 -1
  109. package/web/assets/{interface-content-file.svg-CLqtAgLt.js → interface-content-file.svg-Ck3RuXRm.js} +1 -1
  110. package/web/assets/{interface-content-folder.svg-C9dHyqkp.js → interface-content-folder.svg-LK0HJ4yQ.js} +1 -1
  111. package/web/assets/interface-content-folder.svg-pxt6DqMZ.js +1 -0
  112. package/web/assets/{interface-copy-clipboard.svg-DmF1P-Po.js → interface-copy-clipboard.svg-vkTPN1aA.js} +1 -1
  113. package/web/assets/{interface-edit-attachment.svg-BD_k5qE4.js → interface-edit-attachment.svg-CjCh5Lb1.js} +1 -1
  114. package/web/assets/{interface-edit-binocular.svg-BzKsCrsk.js → interface-edit-binocular.svg-Dos2P4t_.js} +1 -1
  115. package/web/assets/{interface-edit-magic-wand.svg-CJkxoH8r.js → interface-edit-magic-wand.svg-fxAohPEI.js} +1 -1
  116. package/web/assets/{interface-edit-tool-paint-roller.svg-CgXiF7qe.js → interface-edit-tool-paint-roller.svg-JLIYavUO.js} +1 -1
  117. package/web/assets/{interface-edit-tool-pencil.svg-CeWHirTd.js → interface-edit-tool-pencil.svg-Tkm527sw.js} +1 -1
  118. package/web/assets/{interface-favorite-award.svg-B9Vd9Hf6.js → interface-favorite-award.svg-O-HQC6xP.js} +1 -1
  119. package/web/assets/{interface-favorite-flag.svg-BRp3aMEx.js → interface-favorite-flag.svg-DWSuqI-W.js} +1 -1
  120. package/web/assets/{interface-favorite-heart.svg-B2zeO1q2.js → interface-favorite-heart.svg-3md2synz.js} +1 -1
  121. package/web/assets/{interface-favorite-star.svg-vkH4UOle.js → interface-favorite-star.svg-MnNO7Wk6.js} +1 -1
  122. package/web/assets/{interface-favorite-stars-sparkles.svg-CPTglDfo.js → interface-favorite-stars-sparkles.svg-WKCS18Oo.js} +1 -1
  123. package/web/assets/{interface-hierarchy-flowchart.svg-D_WG90fj.js → interface-hierarchy-flowchart.svg-KnHJ7War.js} +1 -1
  124. package/web/assets/{interface-home-house.svg-BUYqjZPI.js → interface-home-house.svg-2bdYCM0o.js} +1 -1
  125. package/web/assets/{interface-hyperlink.svg-DU6gyhSU.js → interface-hyperlink.svg-dTQQRFwy.js} +1 -1
  126. package/web/assets/{interface-lighting-brightness.svg-BMX-UMmG.js → interface-lighting-brightness.svg-CwI2OM6O.js} +1 -1
  127. package/web/assets/{interface-lock-closed.svg-fm6gJnaL.js → interface-lock-closed.svg-BcnsrWQP.js} +1 -1
  128. package/web/assets/{interface-lock-open-unlock.svg-D0IkCqrd.js → interface-lock-open-unlock.svg-Du_CfbnO.js} +1 -1
  129. package/web/assets/{interface-login-key.svg-BjXwMM_4.js → interface-login-key.svg-C3Hh7Lxb.js} +1 -1
  130. package/web/assets/{interface-search.svg-Ce8_4eqn.js → interface-search.svg-DRez-w7-.js} +1 -1
  131. package/web/assets/{interface-setting-cog.svg-BCQ9oWrI.js → interface-setting-cog.svg-BbO7fWvj.js} +1 -1
  132. package/web/assets/{interface-share-megaphone-bullhorn.svg-IraxN-RR.js → interface-share-megaphone-bullhorn.svg-BbNIqS3V.js} +1 -1
  133. package/web/assets/{interface-share-rocket.svg-NzwY-7pd.js → interface-share-rocket.svg-NYzb39WL.js} +1 -1
  134. package/web/assets/{interface-share-satellite.svg-CN8f5zE5.js → interface-share-satellite.svg-BVbcZIy6.js} +1 -1
  135. package/web/assets/{interface-share-space-ship.svg-BMm5tIIq.js → interface-share-space-ship.svg-BFY5IO9d.js} +1 -1
  136. package/web/assets/{interface-share.svg-5RMe9Dry.js → interface-share.svg-BTd9ID7k.js} +1 -1
  137. package/web/assets/{interface-signal-square.svg-C-RuIJu1.js → interface-signal-square.svg-MjEdhTXk.js} +1 -1
  138. package/web/assets/{interface-time-clock-circle.svg-B3CNKtVN.js → interface-time-clock-circle.svg-ChSylXjE.js} +1 -1
  139. package/web/assets/{interface-time-hour-glass.svg-o3F09IxK.js → interface-time-hour-glass.svg-BZQl9M_C.js} +1 -1
  140. package/web/assets/{interface-users-multiple.svg-Cmqji5Ln.js → interface-users-multiple.svg-BmvFtDD2.js} +1 -1
  141. package/web/assets/{interface-weather-moon.svg-CGM-ZS56.js → interface-weather-moon.svg-CU_uP2aE.js} +1 -1
  142. package/web/assets/{javascript-qSezXPr1.js → javascript-CzJXS_Bo.js} +1 -1
  143. package/web/assets/{jsonMode-BvjmRSYr.js → jsonMode-ClLnazHL.js} +1 -1
  144. package/web/assets/{liquid-CH1qgG2G.js → liquid-k8yO1VdQ.js} +1 -1
  145. package/web/assets/{lspLanguageFeatures-CtBsCddT.js → lspLanguageFeatures-BdUk3xiz.js} +3 -3
  146. package/web/assets/{mail-chat-bubble-square.svg-DvStF3KW.js → mail-chat-bubble-square.svg-UruTYt7K.js} +1 -1
  147. package/web/assets/{mail-send-email-paper-airplane.svg-CwTkfLk9.js → mail-send-email-paper-airplane.svg-CQ8gOMxm.js} +1 -1
  148. package/web/assets/{mail-send-envelope.svg-Dkh_5t2W.js → mail-send-envelope.svg-B8XF7xYz.js} +1 -1
  149. package/web/assets/{mdx-BqogtCJ-.js → mdx-Dpg5Mbqd.js} +1 -1
  150. package/web/assets/{minus-B2dZQvCq.js → minus-CM-56m8R.js} +2 -2
  151. package/web/assets/modal-DD3RK2dR.js +5 -0
  152. package/web/assets/modal-DXywOsPE.js +1 -0
  153. package/web/assets/{money-cashier-receipt.svg-zKWFfD0k.js → money-cashier-receipt.svg-BGvvrVYh.js} +1 -1
  154. package/web/assets/{money-currency-dollar-pay.svg-D5lfefuk.js → money-currency-dollar-pay.svg-oPVgaUnC.js} +1 -1
  155. package/web/assets/{money-graph-arrow-increase.svg-Bd2mW0uZ.js → money-graph-arrow-increase.svg-DbW43WXz.js} +1 -1
  156. package/web/assets/{money-graph-bar-chart-increase.svg-DegjdGbk.js → money-graph-bar-chart-increase.svg-BecdDdvJ.js} +1 -1
  157. package/web/assets/multiselect-Bk3EZIJC.js +251 -0
  158. package/web/assets/{nature-ecology-leaf.svg-BbmZ_3cd.js → nature-ecology-leaf.svg-CZxwEqo2.js} +1 -1
  159. package/web/assets/{password-D1YX3MCu.js → password-CJ4ckRGW.js} +4 -4
  160. package/web/assets/{phone-telephone.svg-B6UL6Fhu.js → phone-telephone.svg-U4WTbEXR.js} +1 -1
  161. package/web/assets/{plus-BmifHgiX.js → plus-DvnsNNSA.js} +6 -6
  162. package/web/assets/process.store-utLBiVI8.js +1 -0
  163. package/web/assets/{programming-bug.svg-Dhr7h5Lm.js → programming-bug.svg-D-ueh13g.js} +1 -1
  164. package/web/assets/{programming-cloud.svg-DIse9DrB.js → programming-cloud.svg-DW3eNYjS.js} +1 -1
  165. package/web/assets/{programming-computer-database-server.svg-BlKvXZnN.js → programming-computer-database-server.svg-bBeXwbmi.js} +1 -1
  166. package/web/assets/{programming-computer-database.svg-Du4GGdek.js → programming-computer-database.svg-DP1oJ-Xb.js} +1 -1
  167. package/web/assets/{programming-module-four-layout.svg-TcO3xW7h.js → programming-module-four-layout.svg-BCRfiu3A.js} +1 -1
  168. package/web/assets/{programming-module-three.svg-6UNuJszx.js → programming-module-three.svg-Cb8y-suF.js} +1 -1
  169. package/web/assets/{programming-module.svg-BFkOw80L.js → programming-module.svg-CCF23Kn-.js} +1 -1
  170. package/web/assets/{programming-script-code.svg-CPNpYr6l.js → programming-script-code.svg-D7zugBoU.js} +1 -1
  171. package/web/assets/project-launch.store-D0bLcuPZ.js +1 -0
  172. package/web/assets/project.store-BcKEFAKW.js +1 -0
  173. package/web/assets/{python-W_UHovJ1.js → python-C2Xee937.js} +1 -1
  174. package/web/assets/{razor-BQiPtbwG.js → razor-DP11amFn.js} +1 -1
  175. package/web/assets/router-BhS8cxIJ.js +1 -0
  176. package/web/assets/settings-scope-KsJCT82K.js +1 -0
  177. package/web/assets/{settings.store-DqnPoZDR.js → settings.store-FxdXT3wT.js} +1 -1
  178. package/web/assets/{shopping-cart.svg-Bux9YEU6.js → shopping-cart.svg-DWikcMT4.js} +1 -1
  179. package/web/assets/{shopping-gift-present.svg-_h-yzC6c.js → shopping-gift-present.svg-4RQmBLlg.js} +1 -1
  180. package/web/assets/{shopping-shipping-box-parcel-package.svg-BdhGUAKV.js → shopping-shipping-box-parcel-package.svg-D1lBxinA.js} +1 -1
  181. package/web/assets/src-BQn5mgNu.js +1 -0
  182. package/web/assets/src-Dq9wfPM5.css +1 -0
  183. package/web/assets/{src-BL1Lafqz.js → src-Dwvd5kd0.js} +33 -33
  184. package/web/assets/src-vE4VZ3D3.js +572 -0
  185. package/web/assets/tabpanel-ep3FBKze.js +150 -0
  186. package/web/assets/{tag-new-circle.svg-CPl83AFc.js → tag-new-circle.svg-C1MFrgC6.js} +1 -1
  187. package/web/assets/theme-DAUZuThi.js +1 -0
  188. package/web/assets/{toggleswitch-CqZ2j960.js → toggleswitch-6H_VuZ4L.js} +2 -2
  189. package/web/assets/{travel-map-earth-globe.svg-mdZXLqAH.js → travel-map-earth-globe.svg-tCJZglOg.js} +1 -1
  190. package/web/assets/trpc-DZ27KTOo.js +1 -0
  191. package/web/assets/{tsMode-BTrmDRFt.js → tsMode-9MCfBuVI.js} +5 -5
  192. package/web/assets/{typescript-B5jdwmxa.js → typescript-BPNkI37D.js} +1 -1
  193. package/web/assets/useAiChatDrawer-tSsNrRPY.js +1 -0
  194. package/web/assets/useCloudOrg-kMh7h7gI.js +1 -0
  195. package/web/assets/useProjectCatalog-BkL5z9lS.js +1 -0
  196. package/web/assets/useProjectCloudOrg-qr_xZto1.js +1 -0
  197. package/web/assets/{xml-vcJlRCph.js → xml-CsWY9129.js} +1 -1
  198. package/web/assets/{yaml-CfcdnZ_c.js → yaml-CUnJQoDT.js} +1 -1
  199. package/web/index.html +1 -1
  200. package/agent-manager-2RWV2SXZ.js +0 -9
  201. package/chunk-J3NAI636.js.map +0 -1
  202. package/chunk-JNI4CXJ7.js.map +0 -1
  203. package/settings-manager-Q4PZ3UD5.js +0 -9
  204. package/src-MILB2SQA.js.map +0 -1
  205. package/web/assets/AgentScalarChatInterface.vue-CvSuHoWx.js +0 -13
  206. package/web/assets/AgentTerminalPage-DM7AvnyQ.js +0 -1
  207. package/web/assets/AiChatPage-DuXpncYG.js +0 -1
  208. package/web/assets/AppLayout-DimGQa7G.js +0 -1
  209. package/web/assets/AuditPage-B_0kBq_9.js +0 -1
  210. package/web/assets/CloudAccountPage-BJK2BN44.js +0 -1
  211. package/web/assets/CloudAccountPage-Bxa_0f6m.css +0 -1
  212. package/web/assets/CloudAccountPage-HGWX4TH4.js +0 -1
  213. package/web/assets/CloudMessagingPage-CWv16kIi.js +0 -2
  214. package/web/assets/CloudMessagingPage-Dl7hHYeb.css +0 -1
  215. package/web/assets/DashboardPage-D7uW5Gte.js +0 -164
  216. package/web/assets/DirectoryPickerDialog-FsJTp3yS.js +0 -1
  217. package/web/assets/EnvironmentForm-DNUk-CLn.js +0 -108
  218. package/web/assets/EnvironmentFormPage-AeYFkQiH.js +0 -1
  219. package/web/assets/EnvironmentListPage-zo_QJeYZ.js +0 -1
  220. package/web/assets/KanbanBoardPage-CXSqV6Qh.js +0 -4
  221. package/web/assets/KanbanBoardPage-hU10A0U8.css +0 -1
  222. package/web/assets/KanbanListPage-DZBXXH0r.js +0 -1
  223. package/web/assets/LaunchProjectPage-D_Ivnho3.js +0 -1
  224. package/web/assets/LaunchServicesPage-BTXi6jNU.js +0 -1
  225. package/web/assets/LogViewer-Bqe-albM.js +0 -3
  226. package/web/assets/OrgKeyPrompt-D05OEwQM.js +0 -1
  227. package/web/assets/ProcessDetailPage-CsbqvXk8.js +0 -1
  228. package/web/assets/ScenarioEditorPage-CHX44wHI.js +0 -14
  229. package/web/assets/SendToChatDialog-8ToadFnr.js +0 -1
  230. package/web/assets/ServiceControlsBar-OVSGVoGc.js +0 -1
  231. package/web/assets/ServiceDetailPage-DpqDQl76.js +0 -2
  232. package/web/assets/ServiceFormPage-COlkaDyA.js +0 -1
  233. package/web/assets/SettingsPage-YOKL8o_O.js +0 -2063
  234. package/web/assets/UnlockPage-B75f6TuX.js +0 -1
  235. package/web/assets/VariablesTable-siiUpJXY.js +0 -1
  236. package/web/assets/VaultMigrationPage-DcYkoGTq.js +0 -1
  237. package/web/assets/VersionBadge-BH9S4OPH.js +0 -1
  238. package/web/assets/WikiPage-CxBVPs9x.js +0 -1
  239. package/web/assets/WikiView-DnQhoJpH.js +0 -1
  240. package/web/assets/add-scalar-classes-B2maka72.js +0 -387
  241. package/web/assets/client-BgGTZAbs.js +0 -24
  242. package/web/assets/cloud-chat.store-DnjVk4Ss.js +0 -1
  243. package/web/assets/cloud-client-CJH_Ql5a.js +0 -1
  244. package/web/assets/cloud-session-DWaO5I68.js +0 -2
  245. package/web/assets/column-DucGv9T0.js +0 -907
  246. package/web/assets/interface-content-folder.svg-kYcgQcTJ.js +0 -1
  247. package/web/assets/modal-B6NeZlOc.js +0 -1
  248. package/web/assets/modal-BkbDSZxh.js +0 -5
  249. package/web/assets/multiselect-DeUaJiPX.js +0 -251
  250. package/web/assets/process.store-BucXc8GP.js +0 -1
  251. package/web/assets/project-launch.store-Xo3pwupQ.js +0 -1
  252. package/web/assets/project.store-Bdp-Dw-w.js +0 -1
  253. package/web/assets/router-DZShz0-l.js +0 -1
  254. package/web/assets/settings-scope-vqQX-GF1.js +0 -1
  255. package/web/assets/src-BsHOvodv.js +0 -1
  256. package/web/assets/src-cvMrX61Z.js +0 -572
  257. package/web/assets/src-dpFgucNZ.css +0 -1
  258. package/web/assets/tabpanel-B7UUtaKJ.js +0 -150
  259. package/web/assets/theme-CuU9r36Y.js +0 -1
  260. package/web/assets/trpc-i_kC7f4I.js +0 -1
  261. package/web/assets/useAiChatDrawer-ChqgY66m.js +0 -1
  262. package/web/assets/useCloudOrg-Dq8l_9Ry.js +0 -1
  263. package/web/assets/useProjectCatalog-BE9Yy2SC.js +0 -1
  264. package/web/assets/useProjectCloudOrg-DAj0XB8D.js +0 -1
  265. /package/{agent-manager-2RWV2SXZ.js.map → agent-manager-EI7SXPN5.js.map} +0 -0
  266. /package/{chat-O7ZXCCKV.js.map → chat-WMT34BXJ.js.map} +0 -0
  267. /package/{chunk-ZDHLWTHW.js.map → chunk-D2PF2FYU.js.map} +0 -0
  268. /package/{chunk-TE57T5GO.js.map → chunk-DS66SEYH.js.map} +0 -0
  269. /package/{chunk-ELI2TELD.js.map → chunk-RIITTBK3.js.map} +0 -0
  270. /package/{companion-NZU7FNID.js.map → companion-EPINTIC7.js.map} +0 -0
  271. /package/{settings-manager-Q4PZ3UD5.js.map → settings-manager-YSH7ZCLP.js.map} +0 -0
  272. /package/{vault-resolver-V7KH4FTC.js.map → vault-resolver-57Q2DVOR.js.map} +0 -0
  273. /package/web/assets/{abap-cDlgWO6H.js → abap-B8g_2xYy.js} +0 -0
  274. /package/web/assets/{apex-DxzSGotK.js → apex-Bm8w4T5A.js} +0 -0
  275. /package/web/assets/{azcli-CUNfZLtQ.js → azcli-BqdUW6F8.js} +0 -0
  276. /package/web/assets/{bat-C-oKGifY.js → bat-Bngf0lQU.js} +0 -0
  277. /package/web/assets/{bicep-C4xTl9QV.js → bicep-DzO554JS.js} +0 -0
  278. /package/web/assets/{browser-CE5P0iHW.js → browser-BJX5ZrVN.js} +0 -0
  279. /package/web/assets/{cameligo-COpO1ZvP.js → cameligo-Bcy3ohdb.js} +0 -0
  280. /package/web/assets/{clojure-D8gp5eAN.js → clojure-CZbiqkDV.js} +0 -0
  281. /package/web/assets/{coffee-De9HMN-q.js → coffee-CDuhyV-7.js} +0 -0
  282. /package/web/assets/{cpp-C4pJyeKy.js → cpp-BklV8f4x.js} +0 -0
  283. /package/web/assets/{csharp-B4wLqqiU.js → csharp-BelR_XiC.js} +0 -0
  284. /package/web/assets/{csp-Do0Gg4qE.js → csp-DUjeBS2K.js} +0 -0
  285. /package/web/assets/{css-BLq1nXK0.js → css-CvbYbEko.js} +0 -0
  286. /package/web/assets/{cypher-CDQzi0TV.js → cypher-Dwrbk-SP.js} +0 -0
  287. /package/web/assets/{dart-bTPYn7bY.js → dart-BW1E5h9O.js} +0 -0
  288. /package/web/assets/{dockerfile-yM7ZnQpo.js → dockerfile-B41ilpF9.js} +0 -0
  289. /package/web/assets/{ecl-BgTpp_c4.js → ecl-BZE6Vxna.js} +0 -0
  290. /package/web/assets/{elixir-DO7wJ1ib.js → elixir-CtYg0bLh.js} +0 -0
  291. /package/web/assets/{flow9-B2Ko_py3.js → flow9-Sgvy48_I.js} +0 -0
  292. /package/web/assets/{fsharp-DNdx3wKW.js → fsharp-BzAfXfKg.js} +0 -0
  293. /package/web/assets/{go-D7LajbkE.js → go-D7oonABu.js} +0 -0
  294. /package/web/assets/{graphql-BCQSwUPo.js → graphql-BEN-qkl0.js} +0 -0
  295. /package/web/assets/{hcl-DR3uNUXT.js → hcl-CE0OhwCq.js} +0 -0
  296. /package/web/assets/{ini-zkzQPitL.js → ini-CCLtcvjA.js} +0 -0
  297. /package/web/assets/{java-YFwuCa4S.js → java-Bao8w_gp.js} +0 -0
  298. /package/web/assets/{julia-WWwv4jLR.js → julia-Dr0hFYrl.js} +0 -0
  299. /package/web/assets/{kotlin-FwlJkapy.js → kotlin-Cbfu8lcM.js} +0 -0
  300. /package/web/assets/{less-CyhHW1nH.js → less-BU4gEpXr.js} +0 -0
  301. /package/web/assets/{lexon-BScN_v1c.js → lexon-GpBGGdTS.js} +0 -0
  302. /package/web/assets/{lua-eWb9GpZJ.js → lua-DIPKk37y.js} +0 -0
  303. /package/web/assets/{m3-C4NDU793.js → m3-CSOypKGf.js} +0 -0
  304. /package/web/assets/{markdown-DWWpXAtL.js → markdown-VDqAgkyM.js} +0 -0
  305. /package/web/assets/{mips-BpJKGw00.js → mips-BJWI6dX7.js} +0 -0
  306. /package/web/assets/{msdax-BiuvyZwP.js → msdax-BLpuE5Dc.js} +0 -0
  307. /package/web/assets/{mysql-DJW9Aa9q.js → mysql-ZsxiEUoY.js} +0 -0
  308. /package/web/assets/{objective-c-YouNnWOW.js → objective-c-DcQa1iPc.js} +0 -0
  309. /package/web/assets/{pascal-jQsRnBre.js → pascal-u-hmXdyn.js} +0 -0
  310. /package/web/assets/{pascaligo-DZI84_dt.js → pascaligo-DqbP-1C6.js} +0 -0
  311. /package/web/assets/{perl-D9TKt-s6.js → perl-CUeQpRkH.js} +0 -0
  312. /package/web/assets/{pgsql-DXgI6ehC.js → pgsql-CQ7FhAFN.js} +0 -0
  313. /package/web/assets/{php-Cgqd4wfW.js → php-BEf_fu3E.js} +0 -0
  314. /package/web/assets/{pla-DRDkvVUU.js → pla-CXNNbT0w.js} +0 -0
  315. /package/web/assets/{postiats-BOLeCCau.js → postiats-CIXLZwPb.js} +0 -0
  316. /package/web/assets/{powerquery-DCDtPNBU.js → powerquery-DnGPASFA.js} +0 -0
  317. /package/web/assets/{powershell-WnZ4e5ia.js → powershell-1Y1kqIZS.js} +0 -0
  318. /package/web/assets/{protobuf-C9Dg-C9o.js → protobuf-Cfo9haoG.js} +0 -0
  319. /package/web/assets/{pug-Dr8RhWun.js → pug-BujEZqmy.js} +0 -0
  320. /package/web/assets/{qsharp-DukGWvWZ.js → qsharp-BL9AqNGD.js} +0 -0
  321. /package/web/assets/{r-BC41pTgC.js → r-D0dhpGOM.js} +0 -0
  322. /package/web/assets/{redis-D-gYIUku.js → redis-BMLwD7W9.js} +0 -0
  323. /package/web/assets/{redshift-r0XbF8XS.js → redshift-CkHh73og.js} +0 -0
  324. /package/web/assets/{restructuredtext-DsJDS7Eu.js → restructuredtext-DZ-LF65W.js} +0 -0
  325. /package/web/assets/{ruby-JPrm3ODz.js → ruby-UzPHTzc9.js} +0 -0
  326. /package/web/assets/{rust-C8IjEXni.js → rust-ja9NGnXZ.js} +0 -0
  327. /package/web/assets/{sb-D8vNiFl9.js → sb-BNdOJbMY.js} +0 -0
  328. /package/web/assets/{scala-DThahuqf.js → scala-LlhkyN6l.js} +0 -0
  329. /package/web/assets/{scheme-CvEQUYYf.js → scheme-BAj99YIn.js} +0 -0
  330. /package/web/assets/{scss-C6obpl8K.js → scss-chS-xxB3.js} +0 -0
  331. /package/web/assets/{shared-sse-Bpqv2-GI.js → shared-sse-_VzlL_VX.js} +0 -0
  332. /package/web/assets/{shell-BnVmd31t.js → shell-CcH7eYIc.js} +0 -0
  333. /package/web/assets/{solidity-Bo6zEybc.js → solidity-cVvnqX-K.js} +0 -0
  334. /package/web/assets/{sophia-DuB3Px8n.js → sophia-BBT-EdFw.js} +0 -0
  335. /package/web/assets/{sparql-CW9HqMW2.js → sparql-DGEqOrB6.js} +0 -0
  336. /package/web/assets/{sql-CPCPCQON.js → sql-CcTErTxM.js} +0 -0
  337. /package/web/assets/{st-AxC3n-1-.js → st-Bjw-B4mN.js} +0 -0
  338. /package/web/assets/{swift-CgZOS_MZ.js → swift-Bid-7bBd.js} +0 -0
  339. /package/web/assets/{systemverilog-DYR-yx39.js → systemverilog-CXju7Nd-.js} +0 -0
  340. /package/web/assets/{tcl-4hAvWv0d.js → tcl-D-Dw7JFz.js} +0 -0
  341. /package/web/assets/{twig-Cf_07aFW.js → twig-BIPbzEWT.js} +0 -0
  342. /package/web/assets/{typespec-2tXj8s11.js → typespec-UJSutGCV.js} +0 -0
  343. /package/web/assets/{vb-DLpM4f4s.js → vb-oyG_LJw0.js} +0 -0
  344. /package/web/assets/{w3c-keyname-CIiluUot.js → w3c-keyname-DtJs0qQm.js} +0 -0
  345. /package/web/assets/{wgsl-BcECae_z.js → wgsl-DXZ6ljB6.js} +0 -0
@@ -1,2 +0,0 @@
1
- import{$ as e,$i as t,$n as n,Da as r,Di as i,Ei as a,En as o,F as s,Ga as c,Gt as l,Ht as u,Ii as d,Ja as f,Jt as p,Ki as m,Kt as h,La as g,Li as _,Ln as v,Ma as y,Ni as b,Oi as x,Pa as S,Pi as C,Pn as w,Rn as T,Si as E,Sn as ee,Ti as D,Tn as O,Vn as k,Xt as A,Zn as j,_t as te,aa as M,an as ne,ar as re,ba as N,bi as P,bt as ie,d as ae,dn as oe,dt as se,er as ce,et as le,fn as ue,ga as F,gt as de,hi as I,ir as fe,ki as L,lr as pe,lt as me,nt as he,ot as ge,pn as R,pt as _e,qt as z,ra as B,ta as ve,tt as ye,ut as be,wa as xe,xa as Se,xn as Ce,xt as we,yi as V,yt as Te,za as H,zi as Ee,zn as De}from"./index-Q9nkGIct.js";import"./cloud-session-DWaO5I68.js";import"./src-BsHOvodv.js";import"./useProjectCloudOrg-DAj0XB8D.js";import{n as Oe,t as ke}from"./ServiceControlsBar-OVSGVoGc.js";import"./ProcessControls-BnlYc5oo.js";import{t as Ae}from"./uuid--pMuF47W.js";import{n as je,t as Me}from"./column-DucGv9T0.js";import{n as Ne}from"./plus-BmifHgiX.js";import{t as Pe}from"./checkbox-DfhW4jIw.js";import{t as Fe}from"./toggleswitch-CqZ2j960.js";import{i as Ie,n as Le,o as Re,r as ze,t as Be}from"./tabpanel-B7UUtaKJ.js";import{n as Ve,t as He}from"./VariablesTable-siiUpJXY.js";import{t as Ue}from"./autocomplete-CsyixLlY.js";import"./src-BL1Lafqz.js";import"./w3c-keyname-CIiluUot.js";import"./SendToChatDialog-8ToadFnr.js";import{n as We,t as Ge}from"./ProcessMetrics-3iA0I20o.js";import{t as Ke}from"./LogViewer-Bqe-albM.js";import{t as qe}from"./divider-DUL-UFyL.js";import{t as Je}from"./settings.store-DqnPoZDR.js";import{t as Ye}from"./WikiView-DnQhoJpH.js";var Xe={key:0,class:`log-details`},Ze={class:`log-details__section`},Qe={class:`log-details__label`},$e={class:`log-details__value log-details__value--box`},et={class:`log-details__section`},tt={class:`log-details__label`},nt={class:`log-details__value log-details__value--box log-details__value--code`},rt={class:`log-details__section`},it={class:`log-details__label`},at={class:`log-details__value log-details__value--box`},ot={class:`log-details__process`},st={class:`log-details__section`},ct={class:`log-details__label`},lt={class:`log-details__value log-details__value--box`},ut={key:0,class:`log-details__section`},dt={class:`log-details__label`},ft={class:`log-details__value log-details__value--box log-details__value--code`,"data-testid":`log-details-cwd`},pt={class:`log-details__section`},mt={class:`log-details__label`},ht={class:`log-details__value log-details__value--box`},gt={key:1,class:`log-details__section`},_t={class:`log-details__label`},vt={class:`log-details__value log-details__value--box`},yt={key:2,class:`log-details__section`},bt={class:`log-details__label`},xt={class:`log-details__value log-details__value--box log-details__value--code`},St=v(d({__name:`LogDetailsDrawer`,props:{visible:{type:Boolean},log:{}},emits:[`update:visible`,`view-process`],setup(e,{emit:t}){let n=e,{t:o}=pe(),s=ae(),c=t,l=D(()=>{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`)}`}),u=D(()=>n.log?n.log.level.charAt(0).toUpperCase()+n.log.level.slice(1):``),d=D(()=>!n.log||n.log.pid==null?o(`logDetails.notAvailable`):String(n.log.pid)),p=D(()=>n.log?s.getByService(n.log.processId)[0]?.cwd??null:null);function m(){n.log&&c(`view-process`,n.log.processId)}function h(){c(`update:visible`,!1)}return(t,n)=>(B(),i(f(T),{visible:e.visible,position:`right`,header:f(o)(`logDetails.header`),style:{width:`440px`},"onUpdate:visible":h},{default:N(()=>[e.log?(B(),L(`div`,Xe,[a(`div`,Ze,[a(`div`,Qe,r(f(o)(`logDetails.type`)),1),a(`div`,$e,r(u.value),1)]),a(`div`,et,[a(`div`,tt,r(f(o)(`logDetails.rawMessage`)),1),a(`div`,nt,r(e.log.raw),1)]),a(`div`,rt,[a(`div`,it,r(f(o)(`logDetails.serviceId`)),1),a(`div`,at,[a(`div`,ot,[a(`span`,null,r(e.log.processId),1),C(f(k),{label:f(o)(`logDetails.viewProcess`),icon:`pi pi-external-link`,size:`small`,outlined:``,onClick:m},null,8,[`label`])])])]),a(`div`,st,[a(`div`,ct,r(f(o)(`logDetails.pid`)),1),a(`div`,lt,r(d.value),1)]),p.value?(B(),L(`div`,ut,[a(`div`,dt,r(f(o)(`logDetails.cwd`)),1),a(`div`,ft,r(p.value),1)])):x(``,!0),a(`div`,pt,[a(`div`,mt,r(f(o)(`logDetails.timestamp`)),1),a(`div`,ht,r(l.value),1)]),e.log.stream?(B(),L(`div`,gt,[a(`div`,_t,r(f(o)(`logDetails.stream`)),1),a(`div`,vt,r(e.log.stream),1)])):x(``,!0),e.log.metadata&&Object.keys(e.log.metadata).length>0?(B(),L(`div`,yt,[a(`div`,bt,r(f(o)(`logDetails.metadata`)),1),a(`div`,xt,r(JSON.stringify(e.log.metadata,null,2)),1)])):x(``,!0)])):x(``,!0)]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-4e3f7abe`]]),Ct=500,wt=5,Tt=_e;function Et(e){return e+Math.random()*e*.3}function Dt(e,t){let n=H([]),r=H(!1),i=null,a=0,s=null,c=O(()=>{a=0,r.value||x()}),l=[],u=null,d=H(0),f=H(0),p=0,m=0,h=null;function g(){h||=setInterval(()=>{d.value=p,f.value=m,p=0,m=0},1e3)}function _(){h&&=(clearInterval(h),null),d.value=0,f.value=0,p=0,m=0}function v(){if(u=null,l.length===0)return;let e=l;l=[],m+=e.length;let t=[...n.value,...e];t.length>Ct&&(t=t.slice(t.length-Ct)),n.value=t}function y(){!e.value||!t.value||(r.value=!0,i=o.process.onLog.subscribe({agentId:e.value,processId:t.value},{onData(e){let t=e;if(a=0,w(`connected`),t.some(e=>e.__clearLogBuffer)){n.value=[],l=[];return}p+=t.length,l.push(...t),u===null&&(u=requestAnimationFrame(v))},onError(e){console.error(`[useLogStream] Subscription error:`,e.message),r.value=!1,i=null,b()}}))}function b(){if(a>=wt){console.warn(`[useLogStream] Max retries (${wt}) reached`),w(`disconnected`);return}w(`reconnecting`);let e=Et(Tt*2**a);a++,s=setTimeout(()=>{s=null,x()},e)}async function x(){if(!r.value&&!(!e.value||!t.value)){a=0;try{let r=await o.process.logs.query({agentId:e.value,processId:t.value});r.length>Ct&&(r=r.slice(r.length-Ct)),n.value=r,w(`connected`)}catch{}y()}}function S(){s&&=(clearTimeout(s),null),u!==null&&(cancelAnimationFrame(u),u=null),l=[],_(),i&&=(i.unsubscribe(),null),r.value=!1,a=0,n.value=[]}return F([e,t],([e,t],[n,i])=>{(e!==n||t!==i)&&(r.value&&S(),x())}),ve(()=>{c(),S()}),{logs:n,isStreaming:r,start:x,stop:S,receivedPerSec:d,flushedPerSec:f,startStats:g,stopStats:_}}var Ot={class:`service-terminal__toolbar`},kt={class:`service-terminal__toolbar-left`},At={key:0,class:`pid-option`},jt={key:1,class:`pid-option`},Mt={key:0,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,style:{"margin-right":`0.5rem`}},Nt={key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,style:{"margin-right":`0.5rem`}},Pt={class:`pid-option`},Ft={key:0,class:`pi pi-list`,style:{"margin-right":`0.5rem`}},It=[`title`],Lt=[`title`],Rt={class:`service-terminal__toolbar-right`},zt={class:`service-terminal__content`,"data-testid":`service-terminal-content`},Bt={key:1,class:`service-terminal__shortcuts`},Vt={class:`service-terminal__command-input`},Ht={class:`service-terminal__bottom`},Ut=`runeya_command_history_`,Wt=50,Gt=v(d({__name:`ServiceTerminal`,props:{service:{},processes:{}},setup(e){let{t:n}=pe(),s=e,c=D(()=>s.processes.find(e=>e.state===`running`||e.state===`starting`)??s.processes[0]??null),l=D(()=>c.value?.agentId??``),u=D(()=>c.value?.id??``),d=re(),{logs:p,isStreaming:h,start:g,stop:_,receivedPerSec:v,flushedPerSec:y,startStats:b,stopStats:S}=Dt(l,u),w=H(!1);F(w,e=>{e?b():S()});function T(e){e.ctrlKey&&e.shiftKey&&(e.key===`*`||e.key===`µ`)&&(e.preventDefault(),w.value=!w.value)}let ee=D(()=>{let e=new Map;return p.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=s.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())}),O=D(()=>je.value===`all`?p.value:p.value.filter(e=>e.pid===je.value)),A=D(()=>ee.value.filter(e=>e.isActive).length),j=D(()=>{let e=[{label:n(`serviceTerminal.allProcesses`),value:`all`,badge:A.value>0?`${A.value} ${n(`serviceTerminal.active`)}`:void 0,isActive:void 0}];return ee.value.forEach(({pid:t,logCount:n,isActive:r})=>{e.push({label:`PID: ${t}`,value:t,badge:`${n} logs`,isActive:r})}),e});D(()=>s.processes.filter(e=>e.state===`running`).length);async function te(){if(c.value)try{await o.process.clearLogBuffer.mutate({agentId:c.value.agentId,processId:c.value.id}),p.value=[]}catch(e){d.add({severity:`error`,summary:n(`serviceTerminal.error`),detail:e.message??n(`serviceTerminal.failedToClearLogs`),life:5e3})}}let P=D(()=>s.service.shortcuts??[]),ie=H(new Set);async function ae(e){let t=c.value?.agentId??s.service.agentId,r=c.value?.id??s.service.id;if(!t){d.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}if(ie.value.has(e.id)){try{await o.process.cancelShortcut.mutate({agentId:t,processId:r,shortcutId:e.id})}catch{}return}ie.value=new Set([...ie.value,e.id]);try{await o.process.executeShortcut.mutate({agentId:t,processId:r,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(ie.value);t.delete(e.id),ie.value=t}}let oe=H(``),se=H(new Set),ce=D(()=>se.value.size>0),le=H(null),de=H([]),I=H(-1),fe=`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(`,`),me=H([]);function he(e){let t=e.query.toLowerCase().trim();if(!t||!oe.value.trim()){me.value=[];return}let n=[...de.value.slice().reverse(),...fe],r=new Set;me.value=n.filter(e=>r.has(e)?!1:(r.add(e),e.toLowerCase().includes(t))).slice(0,10)}function ge(){try{let e=localStorage.getItem(Ut+s.service.id);e&&(de.value=JSON.parse(e))}catch{de.value=[]}}function R(){try{localStorage.setItem(Ut+s.service.id,JSON.stringify(de.value))}catch{}}function _e(e){de.value[de.value.length-1]!==e&&(de.value=[...de.value,e],de.value.length>Wt&&(de.value=de.value.slice(-Wt)),R())}async function z(){let e=c.value?.agentId??s.service.agentId,t=c.value?.id??s.service.id;if(e)try{await o.process.cancelAdHocCommand.mutate({agentId:e,processId:t})}catch{}}async function ye(){if(!oe.value.trim())return;let e=c.value?.agentId??s.service.agentId,t=c.value?.id??s.service.id;if(!e){d.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}let r=Ae(),i=oe.value.trim();_e(i),oe.value=``,me.value=[],I.value=-1,se.value=new Set([...se.value,r]);try{await o.process.executeAdHocCommand.mutate({agentId:e,processId:t,command:i,commandId:r})}catch(e){d.add({severity:`error`,summary:n(`serviceTerminal.commandFailed`),detail:e.message??n(`serviceTerminal.commandFailed`),life:5e3})}finally{let e=new Set(se.value);e.delete(r),se.value=e,m(()=>{document.querySelector(`.service-terminal__input`)?.focus()})}}function be(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),ye();return}if(e.key===`ArrowUp`){if(e.preventDefault(),de.value.length===0)return;I.value===-1?I.value=de.value.length-1:I.value>0&&I.value--,oe.value=de.value[I.value]||``}else if(e.key===`ArrowDown`){if(e.preventDefault(),I.value===-1)return;I.value<de.value.length-1?(I.value++,oe.value=de.value[I.value]||``):(I.value=-1,oe.value=``)}}function Se(){if(p.value.length===0)return;let e=p.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=`${s.service.name}-${new Date().toISOString().slice(0,19).replaceAll(`:`,`-`)}.log`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}let Ce=H(0),we=0,V=null,Te=null;F(c,e=>{if(!(e&&(e.state===`running`||e.state===`starting`))){V&&=(clearInterval(V),null),Te=null,Ce.value=e?.uptime??0;return}let t=e.uptime??0;e.id!==Te&&(V&&=(clearInterval(V),null),Te=e.id,we=e.startedAt?new Date(e.startedAt).getTime():Date.now()-t,Ce.value=Date.now()-we,V=setInterval(()=>{Ce.value=Date.now()-we},1e3))},{immediate:!0});let Ee=H(!0),De=H(null),Oe=H(!1),je=H(`all`),Me=H(!1);function Ne(){Me.value=!Me.value}t(()=>{ge(),c.value&&g(),window.addEventListener(`keydown`,T)}),ve(()=>{_(),window.removeEventListener(`keydown`,T),V&&clearInterval(V)});function Pe(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 Fe(e){De.value=e,Oe.value=!0}function Ie(e){Oe.value=!1,d.add({severity:`info`,summary:`Process`,detail:`Process ID: ${e}`,life:3e3})}return(t,o)=>(B(),L(`div`,{class:xe([`service-terminal`,{"service-terminal--fullscreen":Me.value}]),"data-testid":`service-terminal`},[Me.value?(B(),i(ke,{key:0,service:e.service,processes:e.processes},null,8,[`service`,`processes`])):x(``,!0),a(`div`,Ot,[a(`div`,kt,[C(f(k),{label:f(n)(`serviceTerminal.logs`),severity:Ee.value?`primary`:`secondary`,text:``,size:`small`,onClick:o[0]||=e=>Ee.value=!0},null,8,[`label`,`severity`]),C(f(ne),{modelValue:je.value,"onUpdate:modelValue":o[1]||=e=>je.value=e,options:j.value,"option-label":`label`,"option-value":`value`,class:`service-terminal__pid-selector`},{value:N(e=>[e.value===`all`?(B(),L(`div`,At,[o[5]||=a(`i`,{class:`pi pi-list`,style:{"margin-right":`0.5rem`}},null,-1),a(`span`,null,r(f(n)(`serviceTerminal.allProcesses`)),1),A.value>0?(B(),i(f(ue),{key:0,value:`${A.value} ${f(n)(`serviceTerminal.active`)}`,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):x(``,!0)])):(B(),L(`div`,jt,[j.value.find(t=>t.value===e.value)?.isActive?(B(),L(`i`,Mt)):(B(),L(`i`,Nt)),a(`span`,null,`PID: `+r(e.value),1)]))]),option:N(e=>[a(`div`,Pt,[e.option.value===`all`?(B(),L(`i`,Ft)):e.option.isActive?(B(),L(`i`,{key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,title:f(n)(`serviceTerminal.running`)},null,8,It)):(B(),L(`i`,{key:2,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,title:f(n)(`serviceTerminal.stopped`)},null,8,Lt)),a(`span`,null,r(e.option.label),1),e.option.badge?(B(),i(f(ue),{key:3,value:e.option.badge,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):x(``,!0)])]),_:1},8,[`modelValue`,`options`])]),a(`div`,Rt,[C(f(k),{icon:Me.value?`pi pi-window-minimize`:`pi pi-window-maximize`,text:``,rounded:``,size:`small`,title:Me.value?f(n)(`serviceTerminal.exitFullscreen`):f(n)(`serviceTerminal.fullscreen`),onClick:Ne},null,8,[`icon`,`title`]),C(f(k),{icon:`pi pi-download`,text:``,rounded:``,size:`small`,title:f(n)(`serviceTerminal.downloadLogs`),disabled:f(p).length===0,onClick:Se},null,8,[`title`,`disabled`]),C(f(k),{icon:`pi pi-trash`,text:``,rounded:``,size:`small`,title:f(n)(`serviceTerminal.clearLogs`),disabled:f(p).length===0,onClick:te},null,8,[`title`,`disabled`])])]),a(`div`,zt,[C(Ke,{logs:O.value,loading:!1,"received-per-sec":f(v),"flushed-per-sec":f(y),"show-stats":w.value,"service-label":s.service.label||s.service.name,onLogClick:Fe},null,8,[`logs`,`received-per-sec`,`flushed-per-sec`,`show-stats`,`service-label`])]),P.value.length>0?(B(),L(`div`,Bt,[(B(!0),L(E,null,M(P.value,e=>(B(),i(f(k),{key:e.id,label:e.label||e.command,"data-shortcut-id":e.id,class:`shortcut-badge`,icon:ie.value.has(e.id)?`pi pi-stop`:`pi pi-play`,size:`small`,outlined:!ie.value.has(e.id),severity:ie.value.has(e.id)?`danger`:void 0,onClick:t=>ae(e)},null,8,[`label`,`data-shortcut-id`,`icon`,`outlined`,`severity`,`onClick`]))),128))])):x(``,!0),a(`div`,Vt,[o[6]||=a(`span`,{class:`service-terminal__prompt`,"data-testid":`terminal-prompt`},`>`,-1),C(f(Ue),{ref_key:`adHocCommandInput`,ref:le,modelValue:oe.value,"onUpdate:modelValue":o[2]||=e=>oe.value=e,suggestions:me.value,class:`service-terminal__autocomplete`,"input-class":`service-terminal__input`,placeholder:f(n)(`serviceTerminal.enterCommand`),"aria-label":f(n)(`serviceTerminal.enterCommand`),disabled:!(c.value?.agentId??s.service.agentId),"data-testid":`terminal-command-input`,onComplete:he,onKeydown:be},null,8,[`modelValue`,`suggestions`,`placeholder`,`aria-label`,`disabled`]),C(f(k),{icon:ce.value?`pi pi-stop`:`pi pi-play`,severity:ce.value?`danger`:void 0,size:`small`,"data-testid":`terminal-run-btn`,disabled:!(c.value?.agentId??s.service.agentId)||!oe.value.trim()&&!ce.value,onClick:o[3]||=e=>ce.value?z():ye()},null,8,[`icon`,`severity`,`disabled`])]),a(`div`,Ht,[c.value?(B(),i(f(ue),{key:0,icon:`pi pi-server`,value:c.value.agentId.slice(0,8),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):x(``,!0),e.service.cwd?(B(),i(f(ue),{key:1,icon:`pi pi-folder`,value:e.service.cwd,severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):x(``,!0),c.value&&(c.value.state===`running`||c.value.state===`starting`)?(B(),i(f(ue),{key:2,icon:`pi pi-clock`,value:Pe(Ce.value/1e3),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):x(``,!0)]),C(St,{visible:Oe.value,"onUpdate:visible":o[4]||=e=>Oe.value=e,log:De.value,onViewProcess:Ie},null,8,[`visible`,`log`])],2))}}),[[`__scopeId`,`data-v-8ce2178d`]]),Kt=5,qt=_e;function Jt(e){return e+Math.random()*e*.3}function Yt(e,t){let n=H(null),r=H(!1),i=H(!1),a=null,s=0,c=null;async function l(){if(!r.value){i.value=!0;try{n.value=await o.process.metrics.query({agentId:e.value,processId:t.value})}catch(e){console.error(`Failed to fetch initial metrics:`,z(e))}finally{i.value=!1}u()}}function u(){r.value=!0,a=o.process.onMetrics.subscribe({agentId:e.value,processId:t.value},{onData(e){s=0,w(`connected`),n.value=e},onError(e){console.error(`Metrics stream error:`,e),r.value=!1,a=null,d()}})}function d(){if(s>=Kt){console.warn(`Metrics stream: max retries (${Kt}) reached, giving up`),w(`disconnected`);return}w(`reconnecting`);let e=Jt(qt*2**s);s++,c=setTimeout(()=>{c=null,u()},e)}function f(){c&&=(clearTimeout(c),null),a&&=(a.unsubscribe(),null),r.value=!1,s=0}return F([e,t],([e,t],[n,i])=>{(e!==n||t!==i)&&r.value&&(f(),l())}),ve(()=>{f()}),{metrics:n,isStreaming:r,isLoading:i,start:l,stop:f}}var Xt={class:`service-metrics`,"data-testid":`service-metrics`},Zt={key:1,class:`service-metrics__skeleton`},Qt={class:`metric-skeleton`},$t={class:`metric-skeleton`},en={key:2,class:`service-metrics__no-data`},tn={key:1,class:`service-metrics__no-process`},nn=v(d({__name:`ServiceMetrics`,props:{service:{},processes:{}},setup(e){let n=e,o=D(()=>n.processes.find(e=>e.state===`running`||e.state===`starting`)??n.processes[0]??null),s=D(()=>o.value?.agentId??``),c=D(()=>o.value?.id??``),{t:l}=pe(),{metrics:u,isLoading:d,start:p,stop:m}=Yt(s,c);return t(()=>{o.value&&p()}),ve(()=>{m()}),(e,t)=>(B(),L(`div`,Xt,[o.value?(B(),L(E,{key:0},[f(u)?(B(),i(Ge,{key:0,cpu:f(u).cpu,memory:f(u).memory},null,8,[`cpu`,`memory`])):f(d)?(B(),L(`div`,Zt,[a(`div`,Qt,[C(f(We),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),C(f(We),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),C(f(We),{width:`100%`,height:`6px`,"border-radius":`4px`})]),a(`div`,$t,[C(f(We),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),C(f(We),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),C(f(We),{width:`6rem`,height:`0.65rem`})])])):(B(),L(`div`,en,r(f(l)(`serviceMetrics.noData`)),1))],64)):(B(),L(`div`,tn,[t[0]||=a(`i`,{class:`pi pi-info-circle`},null,-1),a(`span`,null,r(f(l)(`serviceMetrics.notRunning`)),1)]))]))}}),[[`__scopeId`,`data-v-94f5993b`]]),rn=`runeya:debug`;function an(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`debug`);return e===`1`||e===`true`?!0:e===`0`||e===`false`?!1:null}var on=an();if(on!==null)try{localStorage.setItem(rn,String(on))}catch{}function sn(){try{return localStorage.getItem(rn)===`true`}catch{return!1}}var cn=H(sn());function ln(){function e(){cn.value=!cn.value;try{localStorage.setItem(rn,String(cn.value))}catch{}}return{isDebug:cn,toggle:e}}var un={class:`config-general`},dn={class:`config-card`},fn={class:`config-card__header`},pn={class:`config-card`},mn={class:`config-card__header`},hn={class:`config-card__hint`},gn={class:`config-card`},_n={class:`config-card`},vn={class:`config-card__header`},yn={class:`config-card__hint`},bn={class:`config-card`},xn={class:`config-card__header`},Sn={class:`config-card__hint`},Cn={class:`config-card`},wn={class:`config-card__header`},Tn={class:`config-card__hint`},En={class:`config-card`},Dn={class:`config-card__header`},On={class:`config-card__hint`},kn={class:`config-card`},An={class:`config-card__header`},jn={class:`config-card__hint`},Mn={class:`config-card`},Nn={class:`config-card__header`},Pn={class:`config-card__hint`},Fn={class:`config-card__hint`},In={class:`config-card`},Ln={class:`config-card__header`},Rn={class:`config-card__hint`},zn={class:`config-meta`},Bn={class:`config-card config-card--inline`},Vn={class:`config-card__header`},Hn={class:`config-card config-card--inline`},Un={class:`config-card__header`},Wn=150,Gn=v(d({__name:`ServiceConfigGeneral`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=pe(),i=me(),o=l(),s=H([]);function c(e){let t=e.query.trim().toLowerCase(),n=new Set(y.value.groups);s.value=_.value.filter(e=>!n.has(e)&&(!t||e.toLowerCase().includes(t)))}function u(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]}A()}}function d(e){let t=e.target;u(`groups`,t.value),t.value=``,s.value=[]}function p(e,t){let n=e.target;!n||typeof n.value!=`string`||!n.value.trim()||setTimeout(()=>{u(t,n.value),n.value=``},Wn)}let m=e,h=t,g=D(()=>o.projects.find(e=>e.serviceIds.includes(m.service.id)&&(e.orgId??null)===(m.service.orgId??null))??null),_=D(()=>{let e=g.value;if(!e)return[];let t=new Set;for(let n of e.serviceIds)for(let e of i.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=H({name:m.service.name,cwd:m.service.cwd??``,ports:(m.service.ports??[]).map(String),groups:[...m.service.groups??[]],description:m.service.description??``,docsPath:m.service.docsPath??``,url:m.service.url??``,openapiUrl:m.service.openapiUrl??``,gitRemote:m.service.git?.remote??``,gitHome:m.service.git?.home??``,autoRestart:m.service.autoRestart,clearLogsOnStart:m.service.clearLogsOnStart??!1}),x=H(v(m.service.meta));F(()=>m.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},x.value=v(e.meta)});function S(){x.value=[...x.value,{key:``,value:``}]}function w(e){x.value=x.value.filter((t,n)=>n!==e)}function T(e,t,n){x.value=x.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function ee(){let e={};for(let{key:t,value:n}of x.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 O=null;function A(){O&&clearTimeout(O),O=setTimeout(()=>{h(`save`,ee()),O=null},150)}return(e,t)=>(B(),L(`div`,un,[a(`div`,dn,[a(`div`,fn,[t[14]||=a(`i`,{class:`pi pi-tag`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.name`)),1)]),C(f(R),{modelValue:y.value.name,"onUpdate:modelValue":t[0]||=e=>y.value.name=e,class:`config-card__input`,onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),a(`div`,pn,[a(`div`,mn,[t[15]||=a(`i`,{class:`pi pi-folder`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.workingDirectory`)),1)]),C(f(R),{modelValue:y.value.cwd,"onUpdate:modelValue":t[1]||=e=>y.value.cwd=e,class:`config-card__input`,placeholder:`.`,onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),a(`small`,hn,r(f(n)(`serviceConfigGeneral.cwdHint`)),1)]),a(`div`,gn,[t[16]||=a(`div`,{class:`config-card__header`},[a(`i`,{class:`pi pi-file-edit`}),a(`span`,null,`Dossier de documentation (wiki)`)],-1),C(f(R),{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:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[17]||=a(`small`,{class:`config-card__hint`},[b(` Chemin relatif au cwd du service (ex. `),a(`code`,null,`docs`),b(`) ou absolu. Si vide, utilise le cwd. `)],-1)]),a(`div`,_n,[a(`div`,vn,[t[18]||=a(`i`,{class:`pi pi-globe`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.ports`)),1)]),C(f(Ue),{modelValue:y.value.ports,"onUpdate:modelValue":t[3]||=e=>y.value.ports=e,multiple:``,typeahead:!1,class:`config-card__input`,placeholder:f(n)(`serviceConfigGeneral.portsPlaceholder`),onChange:A,onBlur:t[4]||=e=>p(e,`ports`)},null,8,[`modelValue`,`placeholder`]),a(`small`,yn,r(f(n)(`serviceConfigGeneral.portsHint`)),1)]),a(`div`,bn,[a(`div`,xn,[t[19]||=a(`i`,{class:`pi pi-th-large`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.groups`)),1)]),C(f(Ue),{modelValue:y.value.groups,"onUpdate:modelValue":t[5]||=e=>y.value.groups=e,multiple:``,suggestions:s.value,"complete-on-focus":!0,class:`config-card__input`,placeholder:f(n)(`serviceConfigGeneral.groupsPlaceholder`),onComplete:c,onChange:A,onKeydown:V(d,[`enter`]),onBlur:t[6]||=e=>p(e,`groups`)},null,8,[`modelValue`,`suggestions`,`placeholder`]),a(`small`,Sn,r(f(n)(`serviceConfigGeneral.groupsHint`)),1)]),a(`div`,Cn,[a(`div`,wn,[t[20]||=a(`i`,{class:`pi pi-info-circle`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.description`)),1)]),C(f(oe),{modelValue:y.value.description,"onUpdate:modelValue":t[7]||=e=>y.value.description=e,class:`config-card__input`,rows:2,onBlur:A},null,8,[`modelValue`]),a(`small`,Tn,r(f(n)(`serviceConfigGeneral.descriptionHint`)),1)]),a(`div`,En,[a(`div`,Dn,[t[21]||=a(`i`,{class:`pi pi-external-link`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.url`)),1)]),C(f(R),{modelValue:y.value.url,"onUpdate:modelValue":t[8]||=e=>y.value.url=e,class:`config-card__input`,placeholder:`https://...`,onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),a(`small`,On,r(f(n)(`serviceConfigGeneral.urlHint`)),1)]),a(`div`,kn,[a(`div`,An,[t[22]||=a(`i`,{class:`pi pi-book`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.openapiUrl`)),1)]),C(f(R),{modelValue:y.value.openapiUrl,"onUpdate:modelValue":t[9]||=e=>y.value.openapiUrl=e,class:`config-card__input`,placeholder:`https://.../swagger.json`,onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),a(`small`,jn,r(f(n)(`serviceConfigGeneral.openapiUrlHint`)),1)]),a(`div`,Mn,[a(`div`,Nn,[t[23]||=a(`i`,{class:`pi pi-github`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.git`)),1)]),C(f(R),{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:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),a(`small`,Pn,r(f(n)(`serviceConfigGeneral.gitRemoteHint`)),1),C(f(R),{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:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),a(`small`,Fn,r(f(n)(`serviceConfigGeneral.gitHomeHint`)),1)]),a(`div`,In,[a(`div`,Ln,[t[24]||=a(`i`,{class:`pi pi-hashtag`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.meta`)),1)]),a(`small`,Rn,r(f(n)(`serviceConfigGeneral.metaHint`)),1),a(`div`,zn,[(B(!0),L(E,null,M(x.value,(e,t)=>(B(),L(`div`,{key:t,class:`config-meta__row`},[C(f(R),{"model-value":e.key,placeholder:f(n)(`serviceConfigGeneral.metaKeyPlaceholder`),class:`config-meta__input`,"onUpdate:modelValue":e=>T(t,`key`,e),onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(R),{"model-value":e.value,placeholder:f(n)(`serviceConfigGeneral.metaValuePlaceholder`),class:`config-meta__input config-meta__input--wide`,"onUpdate:modelValue":e=>T(t,`value`,e),onBlur:A,onKeydown:V(P(A,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:()=>{w(t),A()}},null,8,[`onClick`])]))),128)),C(f(k),{label:f(n)(`serviceConfigGeneral.addEntry`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,class:`config-meta__add`,onClick:S},null,8,[`label`])])]),a(`div`,Bn,[a(`div`,Vn,[t[25]||=a(`i`,{class:`pi pi-refresh`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.autoRestart`)),1)]),C(f(Fe),{modelValue:y.value.autoRestart,"onUpdate:modelValue":t[12]||=e=>y.value.autoRestart=e,onChange:A},null,8,[`modelValue`])]),a(`div`,Hn,[a(`div`,Un,[t[26]||=a(`i`,{class:`pi pi-trash`},null,-1),a(`span`,null,r(f(n)(`serviceConfigGeneral.clearLogs`)),1)]),C(f(Fe),{modelValue:y.value.clearLogsOnStart,"onUpdate:modelValue":t[13]||=e=>y.value.clearLogsOnStart=e,onChange:A},null,8,[`modelValue`])])]))}}),[[`__scopeId`,`data-v-6fef6778`]]),Kn={class:`docker-config`},qn={class:`docker-config__section`},Jn={for:`docker-mode-image`,class:`docker-config__section-title`},Yn={class:`docker-config__mode-toggle`},Xn={class:`docker-config__mode-option`},Zn={class:`docker-config__mode-option`},Qn={key:0,class:`docker-config__section`},$n={for:`docker-image`,class:`docker-config__label`},er={class:`docker-config__section`},tr={class:`docker-config__section`},nr={for:`docker-build-context`,class:`docker-config__label`},rr={class:`docker-config__section`},ir={for:`docker-add-build-arg`,class:`docker-config__label`},ar={class:`docker-config__kv-list`},or={class:`docker-config__section`},sr={for:`docker-target-stage`,class:`docker-config__label`},cr={class:`docker-config__section`},lr={for:`docker-user`,class:`docker-config__section-title`},ur={class:`docker-config__section`},dr={for:`docker-user`,class:`docker-config__label`},fr={class:`docker-config__section`},pr={for:`docker-network-mode`,class:`docker-config__label`},mr={key:2,class:`docker-config__section`},hr={for:`docker-add-port`,class:`docker-config__label`},gr={class:`docker-config__list`},_r={class:`docker-config__section`},vr={for:`docker-add-volume`,class:`docker-config__label`},yr={class:`docker-config__checkbox-row`},br={for:`mountRootpath`,class:`docker-config__checkbox-label`},xr={class:`docker-config__list`},Sr={class:`docker-config__section`},Cr={class:`docker-config__checkbox-row`},wr={for:`useNativeCommand`,class:`docker-config__checkbox-label`},Tr={key:0,class:`docker-config__shell-row`},Er={for:`docker-native-shell`,class:`docker-config__label`},Dr={class:`docker-config__hint`},Or={key:1,class:`docker-config__mode-toggle docker-config__mode-toggle--indented`},kr={class:`docker-config__mode-option`},Ar={class:`docker-config__mode-option`},jr={class:`docker-config__section`},Mr={for:`docker-entrypoint`,class:`docker-config__label`},Nr={class:`docker-config__section`},Pr={for:`docker-command`,class:`docker-config__label`},Fr={class:`docker-config__section`},Ir={for:`docker-add-bootstrap`,class:`docker-config__section-title`},Lr={class:`docker-config__hint-inline`},Rr={class:`docker-config__bootstrap-row`},zr={class:`docker-config__bootstrap-field`},Br=[`for`],Vr={class:`docker-config__bootstrap-field`},Hr=[`for`],Ur={class:`docker-config__bootstrap-field docker-config__bootstrap-field--wide`},Wr=[`for`],Gr={class:`docker-config__bootstrap-field`},Kr=[`for`],qr={class:`docker-config__bootstrap-actions`},Jr={class:`docker-config__section`},Yr=v(d({__name:`ServiceConfigDocker`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=pe(),i=e,o=t,c=i.service.dockerConfig??{},l=H(c.dockerfile?`build`:`image`),u=H(c.image??``),d=H(c.dockerfile??``),p=H(c.buildContext??``),m=H(Object.entries(c.buildArgs??{}).map(([e,t])=>({key:e,value:t}))),h=H(c.targetStage??``),g=H(c.networkMode??`host`),_=H([...c.ports??[]]),v=H([...c.volumes??[]]),y=H(c.mountRootpath??!1),S=H(c.entrypoint??``),w=H(c.command??``),T=H(c.user??``),ee=H(c.useNativeCommand??!1),D=H(c.nativeCommandMode??`isolated`),O=H(c.nativeShell??`sh`),A=[{label:`sh (POSIX)`,value:`sh`},{label:`bash`,value:`bash`},{label:`zsh`,value:`zsh`},{label:`ash (Alpine)`,value:`ash`}],j=H([...c.bootstrapCommands??[]]),te=H(!1),re=[{label:`Host (--network host)`,value:`host`},{label:`Bridge`,value:`bridge`}];function ie(){m.value=[...m.value,{key:``,value:``}]}function ae(e){m.value=m.value.filter((t,n)=>n!==e)}function oe(e,t,n){m.value=m.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 F(e){v.value=v.value.filter((t,n)=>n!==e)}function de(e,t){v.value=v.value.map((n,r)=>r===e?t:n)}function fe(){j.value=[...j.value,{id:Ae(),label:`Bootstrap`,entrypoint:`/bin/sh`,command:`-c ""`,user:void 0}]}function me(e){j.value=j.value.filter((t,n)=>n!==e)}function he(e,t,n){j.value=j.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function ge(e,t){let n=[...j.value],r=e+t;r<0||r>=n.length||([n[e],n[r]]=[n[r],n[e]],j.value=n)}let _e=null;function z(){_e&&clearTimeout(_e),_e=setTimeout(()=>{let e={};for(let{key:t,value:n}of m.value)t.trim()&&(e[t.trim()]=n);o(`save`,{image:l.value===`image`&&u.value||void 0,dockerfile:l.value===`build`&&d.value||void 0,buildContext:p.value||void 0,buildArgs:e,targetStage:h.value||void 0,networkMode:g.value,ports:_.value.filter(Boolean),volumes:v.value.filter(Boolean),mountRootpath:y.value,entrypoint:S.value||void 0,command:w.value||void 0,user:T.value||void 0,useNativeCommand:ee.value,nativeCommandMode:D.value,nativeShell:O.value,bootstrapCommands:j.value}),_e=null},150)}function ve(e){me(e),z()}function ye(e,t){ge(e,t),z()}function be(e){ae(e),z()}function xe(e){ce(e),z()}function Ce(e){F(e),z()}return(e,t)=>(B(),L(`div`,Kn,[a(`div`,qn,[a(`label`,Jn,r(f(n)(`serviceConfigDocker.imageSource`)),1),a(`div`,Yn,[a(`label`,Xn,[Se(a(`input`,{id:`docker-mode-image`,"onUpdate:modelValue":t[0]||=e=>l.value=e,type:`radio`,value:`image`,class:`docker-config__radio`,onChange:z},null,544),[[I,l.value]]),b(` `+r(f(n)(`serviceConfigDocker.pullImage`)),1)]),a(`label`,Zn,[Se(a(`input`,{"onUpdate:modelValue":t[1]||=e=>l.value=e,type:`radio`,value:`build`,class:`docker-config__radio`,onChange:z},null,544),[[I,l.value]]),b(` `+r(f(n)(`serviceConfigDocker.buildDockerfile`)),1)])])]),l.value===`image`?(B(),L(`div`,Qn,[a(`label`,$n,r(f(n)(`serviceConfigDocker.image`)),1),C(f(R),{id:`docker-image`,modelValue:u.value,"onUpdate:modelValue":t[2]||=e=>u.value=e,placeholder:f(n)(`serviceConfigDocker.imagePlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):x(``,!0),l.value===`build`?(B(),L(E,{key:1},[a(`div`,er,[t[18]||=a(`label`,{for:`docker-dockerfile-btn`,class:`docker-config__label`},`Dockerfile`,-1),C(f(k),{id:`docker-dockerfile-btn`,label:f(n)(`serviceConfigDocker.editDockerfile`),icon:`pi pi-file-edit`,severity:`secondary`,outlined:``,size:`small`,onClick:t[3]||=e=>te.value=!0},null,8,[`label`]),C(f(De),{visible:te.value,"onUpdate:visible":t[6]||=e=>te.value=e,header:f(n)(`serviceConfigDocker.editDockerfile`),modal:``,style:{width:`800px`}},{footer:N(()=>[C(f(k),{label:f(n)(`serviceConfigDocker.closeDockerfile`),icon:`pi pi-times`,onClick:t[5]||=()=>{te.value=!1,z()}},null,8,[`label`])]),default:N(()=>[C(s,{modelValue:d.value,"onUpdate:modelValue":t[4]||=e=>d.value=e,language:`dockerfile`,style:{height:`400px`}},null,8,[`modelValue`])]),_:1},8,[`visible`,`header`])]),a(`div`,tr,[a(`label`,nr,r(f(n)(`serviceConfigDocker.buildContext`)),1),C(f(R),{id:`docker-build-context`,modelValue:p.value,"onUpdate:modelValue":t[7]||=e=>p.value=e,placeholder:`.`,class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),a(`div`,rr,[a(`label`,ir,r(f(n)(`serviceConfigDocker.buildArgs`)),1),a(`div`,ar,[(B(!0),L(E,null,M(m.value,(e,t)=>(B(),L(`div`,{key:t,class:`docker-config__kv-row`},[C(f(R),{"model-value":e.key,placeholder:f(n)(`serviceConfigDocker.argNamePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>oe(t,`key`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(R),{"model-value":e.value,placeholder:f(n)(`serviceConfigDocker.argValuePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>oe(t,`value`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>be(t)},null,8,[`onClick`])]))),128)),C(f(k),{id:`docker-add-build-arg`,label:f(n)(`serviceConfigDocker.addBuildArg`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:ie},null,8,[`label`])])]),a(`div`,or,[a(`label`,sr,r(f(n)(`serviceConfigDocker.targetStage`)),1),C(f(R),{id:`docker-target-stage`,modelValue:h.value,"onUpdate:modelValue":t[8]||=e=>h.value=e,placeholder:f(n)(`serviceConfigDocker.targetStagePlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)):x(``,!0),C(f(qe)),a(`div`,cr,[a(`label`,lr,r(f(n)(`serviceConfigDocker.runtimeConfig`)),1)]),a(`div`,ur,[a(`label`,dr,r(f(n)(`serviceConfigDocker.userGroup`)),1),C(f(R),{id:`docker-user`,modelValue:T.value,"onUpdate:modelValue":t[9]||=e=>T.value=e,placeholder:f(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),a(`div`,fr,[a(`label`,pr,r(f(n)(`serviceConfigDocker.networkMode`)),1),C(f(ne),{"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`?(B(),L(`div`,mr,[a(`label`,hr,r(f(n)(`serviceConfigDocker.portMappings`)),1),a(`div`,gr,[(B(!0),L(E,null,M(_.value,(e,t)=>(B(),L(`div`,{key:t,class:`docker-config__list-row`},[C(f(R),{"model-value":e,placeholder:f(n)(`serviceConfigDocker.portPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>le(t,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>xe(t)},null,8,[`onClick`])]))),128)),C(f(k),{id:`docker-add-port`,label:f(n)(`serviceConfigDocker.addPort`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:se},null,8,[`label`])])])):x(``,!0),a(`div`,_r,[a(`label`,vr,r(f(n)(`serviceConfigDocker.volumes`)),1),a(`div`,yr,[C(f(Pe),{modelValue:y.value,"onUpdate:modelValue":t[11]||=e=>y.value=e,binary:!0,"input-id":`mountRootpath`,onChange:z},null,8,[`modelValue`]),a(`label`,br,r(f(n)(`serviceConfigDocker.autoMount`)),1)]),a(`div`,xr,[(B(!0),L(E,null,M(v.value,(e,t)=>(B(),L(`div`,{key:t,class:`docker-config__list-row`},[C(f(R),{"model-value":e,placeholder:f(n)(`serviceConfigDocker.volumePlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>de(t,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>Ce(t)},null,8,[`onClick`])]))),128)),C(f(k),{id:`docker-add-volume`,label:f(n)(`serviceConfigDocker.addVolume`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:ue},null,8,[`label`])])]),C(f(qe)),a(`div`,Sr,[a(`div`,Cr,[C(f(Pe),{modelValue:ee.value,"onUpdate:modelValue":t[12]||=e=>ee.value=e,binary:!0,"input-id":`useNativeCommand`,onChange:z},null,8,[`modelValue`]),a(`label`,wr,r(f(n)(`serviceConfigDocker.runNative`)),1)]),t[21]||=a(`span`,{class:`docker-config__hint`},` When enabled, the service command is executed directly inside the container (ignores CMD override below). `,-1),ee.value?(B(),L(`div`,Tr,[a(`label`,Er,r(f(n)(`serviceConfigDocker.shell`)),1),C(f(ne),{"input-id":`docker-native-shell`,modelValue:O.value,"onUpdate:modelValue":t[13]||=e=>O.value=e,options:A,"option-label":`label`,"option-value":`value`,class:`docker-config__select docker-config__select--small`,editable:``,placeholder:f(n)(`serviceConfigDocker.shellPlaceholder`),onChange:z},null,8,[`modelValue`,`placeholder`]),a(`span`,Dr,[b(r(f(n)(`serviceConfigDocker.shellHint`))+` (`,1),t[19]||=a(`code`,null,`shell -c '...'`,-1),t[20]||=b(`)`,-1)])])):x(``,!0),ee.value?(B(),L(`div`,Or,[a(`label`,kr,[Se(a(`input`,{"onUpdate:modelValue":t[14]||=e=>D.value=e,type:`radio`,value:`isolated`,class:`docker-config__radio`,onChange:z},null,544),[[I,D.value]]),b(` `+r(f(n)(`serviceConfigDocker.isolated`)),1)]),a(`label`,Ar,[Se(a(`input`,{"onUpdate:modelValue":t[15]||=e=>D.value=e,type:`radio`,value:`shared`,class:`docker-config__radio`,onChange:z},null,544),[[I,D.value]]),b(` `+r(f(n)(`serviceConfigDocker.shared`)),1)])])):x(``,!0)]),ee.value?x(``,!0):(B(),L(E,{key:3},[t[22]||=a(`div`,{class:`docker-config__section`},[a(`label`,{for:`docker-entrypoint`,class:`docker-config__section-title`},`Override`)],-1),a(`div`,jr,[a(`label`,Mr,r(f(n)(`serviceConfigDocker.entrypoint`)),1),C(f(R),{id:`docker-entrypoint`,modelValue:S.value,"onUpdate:modelValue":t[16]||=e=>S.value=e,placeholder:f(n)(`serviceConfigDocker.entrypointPlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),a(`div`,Nr,[a(`label`,Pr,r(f(n)(`serviceConfigDocker.cmdOverride`)),1),C(f(R),{id:`docker-command`,modelValue:w.value,"onUpdate:modelValue":t[17]||=e=>w.value=e,placeholder:f(n)(`serviceConfigDocker.cmdPlaceholder`),class:`docker-config__input`,onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)),C(f(qe)),a(`div`,Fr,[a(`label`,Ir,[b(r(f(n)(`serviceConfigDocker.bootstrapCommands`))+` `,1),a(`span`,Lr,` — `+r(f(n)(`serviceConfigDocker.bootstrapCommandsHint`)),1)])]),(B(!0),L(E,null,M(j.value,(e,t)=>(B(),L(`div`,{key:e.id,class:`docker-config__bootstrap-card`},[a(`div`,Rr,[a(`div`,zr,[a(`label`,{class:`docker-config__label`,for:`docker-bootstrap-label-${t}`},`Label`,8,Br),C(f(R),{id:`docker-bootstrap-label-${t}`,"model-value":e.label,placeholder:f(n)(`serviceConfigDocker.bootstrapLabelPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>he(t,`label`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,Vr,[a(`label`,{class:`docker-config__label`,for:`docker-bootstrap-entrypoint-${t}`},`Entrypoint`,8,Hr),C(f(R),{id:`docker-bootstrap-entrypoint-${t}`,"model-value":e.entrypoint??``,placeholder:`/bin/sh`,class:`docker-config__input`,"onUpdate:modelValue":e=>he(t,`entrypoint`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,Ur,[a(`label`,{class:`docker-config__label`,for:`docker-bootstrap-command-${t}`},`Command`,8,Wr),C(f(R),{id:`docker-bootstrap-command-${t}`,"model-value":e.command,placeholder:`-c "npm install"`,class:`docker-config__input`,"onUpdate:modelValue":e=>he(t,`command`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,Gr,[a(`label`,{class:`docker-config__label`,for:`docker-bootstrap-user-${t}`},`User:Group`,8,Kr),C(f(R),{id:`docker-bootstrap-user-${t}`,"model-value":e.user??``,placeholder:f(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,"onUpdate:modelValue":e=>he(t,`user`,e),onBlur:z,onKeydown:V(P(z,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,qr,[C(f(k),{icon:`pi pi-arrow-up`,text:``,rounded:``,size:`small`,disabled:t===0,onClick:e=>ye(t,-1)},null,8,[`disabled`,`onClick`]),C(f(k),{icon:`pi pi-arrow-down`,text:``,rounded:``,size:`small`,disabled:t===j.value.length-1,onClick:e=>ye(t,1)},null,8,[`disabled`,`onClick`]),C(f(k),{icon:`pi pi-times`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>ve(t)},null,8,[`onClick`])])])]))),128)),a(`div`,Jr,[C(f(k),{id:`docker-add-bootstrap`,label:f(n)(`serviceConfigDocker.addBootstrapCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:fe},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-91c13548`]]),Xr={class:`config-commands`},Zr={class:`config-commands__execution`},Qr={class:`config-card config-card--execution`},$r={class:`config-card__header`},ei={class:`config-card__hint`},ti={class:`config-card config-card--execution`},ni={class:`config-card__header`},ri={key:0,class:`runner-option`},ii={class:`runner-option`},ai={class:`config-commands__tab-content`},oi={key:0,class:`config-commands__empty`},si={class:`config-commands__row`},ci={class:`config-commands__field`},li=[`for`],ui={class:`config-commands__field config-commands__field--wide`},di=[`for`],fi={class:`config-commands__field`},pi=[`for`],mi={class:`config-commands__actions-cell`},hi={class:`config-commands__footer`},gi={class:`config-commands__tab-content`},_i=`__inherit__`,vi=v(d({__name:`ServiceConfigCommands`,props:{service:{}},emits:[`save`,`dockerSave`],setup(e,{emit:t}){let n=e,i=t,{t:o}=pe(),s=ge(),c=null,l=H({agentId:n.service.agentId??_i,runner:n.service.runner});F(()=>n.service,e=>{l.value={agentId:e.agentId??_i,runner:e.runner}});let u=D(()=>[{label:o(`serviceConfigCommands.native`),value:`native`,icon:`pi pi-desktop`},{label:o(`serviceConfigCommands.docker`),value:`docker`,icon:`pi pi-box`}]),d=D(()=>u.value.find(e=>e.value===l.value.runner)?.icon??`pi pi-box`),p=D(()=>[{label:o(`serviceForm.agentInherit`),value:_i},...s.agents.map(e=>({label:`${e.config.name} (${e.status.connected?o(`serviceConfigCommands.online`):o(`serviceConfigCommands.offline`)})`,value:e.config.id}))]),m=H([...n.service.commands??[]]);F(()=>n.service,e=>{c||(m.value=[...e.commands??[]])});function h(){m.value=[...m.value,{id:Ae(),label:``,command:``,cwd:void 0,shell:!0}]}function g(e){m.value=m.value.filter((t,n)=>n!==e)}function _(e,t,n){m.value=m.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function v(){c&&clearTimeout(c),c=setTimeout(()=>{i(`save`,{agentId:l.value.agentId===_i?null:l.value.agentId||null,runner:l.value.runner,commands:m.value}),c=null},150)}function y(e){i(`dockerSave`,e)}function b(e){g(e),v()}return(t,n)=>(B(),L(`div`,Xr,[a(`div`,Zr,[a(`div`,Qr,[a(`div`,$r,[n[2]||=a(`i`,{class:`pi pi-server`},null,-1),a(`span`,null,r(f(o)(`serviceConfigCommands.agent`)),1)]),C(f(ne),{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:v},null,8,[`modelValue`,`options`]),a(`small`,ei,r(f(o)(`serviceForm.agentHintEdit`)),1)]),a(`div`,ti,[a(`div`,ni,[a(`i`,{class:xe(d.value)},null,2),a(`span`,null,r(f(o)(`serviceConfigCommands.runner`)),1)]),C(f(ne),{modelValue:l.value.runner,"onUpdate:modelValue":n[1]||=e=>l.value.runner=e,options:u.value,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:v},{value:N(e=>[e.value?(B(),L(`div`,ri,[a(`i`,{class:xe(u.value.find(t=>t.value===e.value)?.icon)},null,2),a(`span`,null,r(u.value.find(t=>t.value===e.value)?.label),1)])):x(``,!0)]),option:N(e=>[a(`div`,ii,[a(`i`,{class:xe(e.option.icon)},null,2),a(`span`,null,r(e.option.label),1)])]),_:1},8,[`modelValue`,`options`])])]),C(f(Re),{value:`0`},{default:N(()=>[C(f(Ie),null,{default:N(()=>[C(f(ze),{value:`0`},{default:N(()=>[n[3]||=a(`i`,{class:`pi pi-desktop tab-icon`},null,-1),a(`span`,null,r(f(o)(`serviceConfigCommands.native`)),1)]),_:1}),C(f(ze),{value:`1`},{default:N(()=>[n[4]||=a(`i`,{class:`pi pi-box tab-icon`},null,-1),a(`span`,null,r(f(o)(`serviceConfigCommands.docker`)),1)]),_:1})]),_:1}),C(f(Le),null,{default:N(()=>[C(f(Be),{value:`0`},{default:N(()=>[a(`div`,ai,[m.value.length===0?(B(),L(`div`,oi,[a(`p`,null,r(f(o)(`serviceConfigCommands.noCommands`)),1)])):x(``,!0),(B(!0),L(E,null,M(m.value,(e,t)=>(B(),L(`div`,{key:e.id,class:`config-card`},[a(`div`,si,[a(`div`,ci,[a(`label`,{class:`config-commands__label`,for:`cmd-label-${t}`},r(f(o)(`serviceConfigCommands.labelPlaceholder`)),9,li),C(f(R),{id:`cmd-label-${t}`,"model-value":e.label,placeholder:f(o)(`serviceConfigCommands.labelPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>_(t,`label`,e),onBlur:v,onKeydown:V(P(v,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,ui,[a(`label`,{class:`config-commands__label`,for:`cmd-command-${t}`},r(f(o)(`serviceConfigCommands.commandPlaceholder`)),9,di),C(f(R),{id:`cmd-command-${t}`,"model-value":e.command,placeholder:`e.g. npm start`,class:`config-card__input`,"onUpdate:modelValue":e=>_(t,`command`,e),onBlur:v,onKeydown:V(P(v,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,fi,[a(`label`,{class:`config-commands__label`,for:`cmd-cwd-${t}`},`Working Dir (optional)`,8,pi),C(f(R),{id:`cmd-cwd-${t}`,"model-value":e.cwd??``,placeholder:f(o)(`serviceConfigCommands.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>_(t,`cwd`,e),onBlur:v,onKeydown:V(P(v,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,mi,[C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>b(t)},null,8,[`onClick`])])])]))),128)),a(`div`,hi,[C(f(k),{label:f(o)(`serviceConfigCommands.addCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:h},null,8,[`label`])])])]),_:1}),C(f(Be),{value:`1`},{default:N(()=>[a(`div`,gi,[C(Yr,{service:e.service,onSave:y},null,8,[`service`])])]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-df297a71`]]),yi={class:`config-env`,"data-testid":`config-env`},bi={key:0,class:`active-env-display`},xi={class:`active-env-label`},Si={key:1,class:`inheritance-toggle`},Ci={class:`inheritance-label`},wi={class:`inherited-header`},Ti={class:`inherited-row-key`},Ei={class:`preview-key`},Di={class:`value-row`},Oi=[`onClick`],ki=[`onClick`],Ai={key:0,class:`secret-mask`},ji={key:1,class:`preview-value`},Mi={class:`config-env__header`},Ni={class:`config-env__title`},Pi={class:`config-env__actions`},Fi={key:3,class:`variables-view`},Ii={key:0},Li={key:1,class:`empty-state`},Ri={class:`inherited-header`},zi={class:`passthrough-info`},Bi={class:`preview-key`},Vi={key:0,class:`preview-value`},Hi={key:1,class:`passthrough-undefined`},Ui={key:4,class:`empty-state`},Wi={key:5,class:`empty-state`},Gi={class:`editor-container`},Ki={key:0,class:`editor-env-banner`},qi={class:`editor-env-text`},Ji={class:`editor-section`,"data-testid":`variables-editor`},Yi={key:0,class:`loading-container`},Xi={key:1,class:`preview-container`},Zi={class:`preview-info`},Qi={class:`preview-key`},$i={class:`value-row`},ea=[`onClick`],ta=[`onClick`],na={key:0,class:`secret-mask`},ra={key:1,class:`preview-value`},ia=v(d({__name:`ServiceConfigEnv`,props:{service:{},projectId:{},activeEnvironmentId:{}},setup(n){let s=n,{t:c}=pe(),u=re(),d=fe(),p=h(),m=l(),g=A(),_=ge(),v=ae(),y=me(),{urlHost:S}=Oe(()=>ve.value?.config.id),w=D(()=>m.getByRef({id:s.projectId,orgId:g.activeOrgId})?.activeEnvironmentId??null),T=D(()=>p.findServiceEnvironment(s.service.id,w.value??``)),E=H(!1),ee=H(!1),O=H(!1),j=H(!1),M=H(null),ne=H(null),oe=H([]),se=H({}),ce=H(new Set);function de(e){let t=new Set(ce.value);t.has(e)?t.delete(e):t.add(e),ce.value=t}let I=H(null);function R(e,t){navigator.clipboard.writeText(t),I.value=e,setTimeout(()=>{I.value===e&&(I.value=null)},1500)}let _e=H({}),z=H(!1),ve=D(()=>{let e=s.service.agentId??Re.value?.agentId;return e?_.getById(e):_.agents.find(e=>e.isLocal)??null}),Se=D(()=>{let e={};for(let t of be)e[t.name]=``;Object.assign(e,Te(s.service.ports)),e[`service.NAME`]=s.service.name,e[`service.ID`]=s.service.id,Object.assign(e,we(s.service,S.value)),s.service.url&&(e[`service.BASE_URL`]=s.service.url);let t=ve.value?.status;t?.lanIp&&(e[`agent.HOST_LAN`]=t.lanIp),t?.os&&(e[`agent.OS`]=t.os),t?.home&&(e[`agent.HOME`]=t.home),ve.value&&(e[`agent.NAME`]=ve.value.config.name);let n=V(t?.cwd,t?.home);n&&(e[`service.CWD`]=n);let r=m.getByRef({id:s.projectId,orgId:g.activeOrgId});r&&(e[`project.NAME`]=r.name);let i=w.value?p.getById(w.value):null;i&&(e[`runeya.ENV_NAME`]=i.name);for(let t of Ee.value)Object.assign(e,te({name:t.name,id:t.id,ports:t.ports,localUrls:t.localUrls,url:t.url},S.value));return e});function V(e,t){let n=(s.service.resolvedCwd??s.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 Ee=D(()=>{let e=m.getByRef({id:s.projectId,orgId:g.activeOrgId});if(!e)return[];let t=e.serviceIds.filter(e=>e!==s.service.id).map(e=>y.getById(e)).filter(e=>!!e),n=new Map;for(let e of t){let t=ie(e.name);t&&n.set(t,(n.get(t)??0)+1)}return t.filter(e=>(n.get(ie(e.name))??0)===1)}),ke=D(()=>ve.value?.config.passthroughEnv??[]),Ae=D(()=>ke.value.length>0);async function Ne(){if(!s.service.agentId||!Ae.value){_e.value={};return}z.value=!0;try{_e.value=await o.agent.getPassthroughEnv.query({id:s.service.agentId})}catch{_e.value={}}finally{z.value=!1}}let Pe=D(()=>ke.value.map(e=>({name:e,value:_e.value[e]??null}))),Ie=D(()=>!T.value||!w.value?!0:T.value.parentIds?.includes(w.value)??!0);async function Le(e){if(!(!T.value||!w.value)){j.value=!0;try{await p.update({id:T.value.id,parentIds:e?[w.value]:[]}),await Ke()}catch(e){u.add({severity:`error`,summary:c(`serviceConfigEnv.error`),detail:e.message??c(`serviceConfigEnv.failedToUpdateInheritance`),life:5e3})}finally{j.value=!1}}}let Re=D(()=>{let e=m.getByRef({id:s.projectId,orgId:g.activeOrgId});return e?.activeEnvironmentId?p.getById(e.activeEnvironmentId):null});function ze(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 Be=D(()=>M.value?ze(M.value.variables):[]),Ue=D(()=>{if(!T.value||!M.value?.sources)return Be.value;let e=T.value.id;return Be.value.filter(t=>M.value.sources[t.variableId]?.environmentId===e)}),We=D(()=>{if(!T.value||!M.value?.sources)return[];let e=T.value.id;return Be.value.filter(t=>M.value.sources[t.variableId]?.environmentId!==e)}),Ge=D(()=>{if(!M.value?.sources)return{};let e={};for(let[t,n]of Object.entries(M.value.sources))e[t]={environmentId:n.environmentId,overridden:n.overridden,...n.resolvedFrom?{resolvedFrom:n.resolvedFrom}:{},...n.overriddenBy?{overriddenBy:n.overriddenBy}:{}};return e});async function Ke(){if(T.value)try{M.value=await p.resolve(T.value.id)}catch(e){console.error(`Failed to resolve environment:`,e)}}async function qe(){if(w.value)try{ne.value=await p.resolve(w.value)}catch{}}async function Je(e){let t=e.toLowerCase(),n=ne.value??M.value;if(!n)return;let r=n.variables,i=Object.keys(n.env).filter(e=>e.toLowerCase().includes(t));oe.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??``})}se.value=a}async function Ye(){O.value=!0;try{await Qe(),await Ke(),ee.value=!0}catch(e){u.add({severity:`error`,summary:c(`serviceConfigEnv.error`),detail:e.message??c(`serviceConfigEnv.failedToLoadPreview`),life:5e3})}finally{O.value=!1}}let Xe=D(()=>M.value?Object.entries(M.value.env).map(([e,t])=>({key:e,value:Object.entries(Se.value).reduce((e,[t,n])=>e.replaceAll(`{{${t}}}`,n),t)})):[]);function Ze(e,t){return t?`***`:e.length>50?e.substring(0,47)+`...`:e}async function Qe(){if(T.value)return T.value;if(!w.value)return null;let e=Re.value;return e?(await p.create({name:`${s.service.name??s.service.id} — ${e.name}`,projectId:s.projectId,scope:`service`,reference:s.service.id,activateOn:w.value,parentIds:[w.value],variables:{}}),T.value):null}let $e=D(()=>{let e=v.getByService(s.service.id);return e.length>0?e[0]:null}),et=D(()=>{let e=$e.value?.state;return e===`running`||e===`errored`});async function tt(){await Qe(),E.value=!0,await Promise.all([Ke(),qe()])}function nt(){if(E.value=!1,!et.value||!$e.value)return;let e=$e.value.state===`running`?`restart`:`start`,t=s.service.name||s.service.id;d.require({message:c(e===`restart`?`serviceConfigEnv.restartConfirmMsg`:`serviceConfigEnv.startConfirmMsg`,{name:t}),header:c(e===`restart`?`serviceConfigEnv.restartTitle`:`serviceConfigEnv.startTitle`),icon:`pi pi-refresh`,acceptLabel:c(e===`restart`?`serviceConfigEnv.restartTitle`:`actions.start`),rejectLabel:c(`serviceConfigEnv.notNow`),accept:async()=>{try{let t=s.service.agentId;if(!t)return;e===`restart`?(await v.restart(t,s.service.id),u.add({severity:`success`,summary:c(`serviceConfigEnv.serviceRestarted`),life:3e3})):(await v.start(t,s.service.id),u.add({severity:`success`,summary:c(`serviceConfigEnv.serviceStarted`),life:3e3}))}catch(t){u.add({severity:`error`,summary:c(`serviceConfigEnv.error`),detail:t.message??c(`serviceConfigEnv.failedToAction`,{action:e}),life:5e3})}}})}return F(Re,async e=>{e&&await Promise.all([Ke(),qe()])}),F(()=>s.service.agentId,()=>{Ne()}),t(async()=>{s.projectId&&await p.fetchAll(s.projectId),await Promise.all([Ke(),qe(),Ne()])}),(t,o)=>(B(),L(`div`,yi,[w.value?(B(),L(`div`,bi,[a(`span`,xi,r(f(c)(`serviceConfigEnv.activeEnvironment`)),1),C(Ve,{"environment-id":w.value},null,8,[`environment-id`])])):x(``,!0),T.value&&Re.value?(B(),L(`div`,Si,[C(f(Fe),{"model-value":Ie.value,disabled:j.value,"onUpdate:modelValue":Le},null,8,[`model-value`,`disabled`]),a(`span`,Ci,r(Ie.value?f(c)(`serviceConfigEnv.inheritsFrom`,{name:Re.value.name}):f(c)(`serviceConfigEnv.isolated`,{name:Re.value.name})),1)])):x(``,!0),We.value.length>0?(B(),i(f(e),{key:2,class:`inherited-accordion`},{default:N(()=>[C(f(le),{value:`inherited`},{default:N(()=>[C(f(ye),null,{default:N(()=>[a(`span`,wi,[o[6]||=a(`i`,{class:`pi pi-arrow-down-left`},null,-1),b(` `+r(f(c)(`serviceConfigEnv.inheritedVars`))+` `,1),C(f(ue),{value:String(We.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),C(f(he),null,{default:N(()=>[C(f(je),{value:We.value,size:`small`,"show-headers":!1},{default:N(()=>[C(f(Me),{style:{width:`35%`}},{body:N(({data:e})=>[a(`div`,Ti,[a(`code`,Ei,r(e.key),1),Ge.value[e.variableId]?(B(),i(Ve,{key:0,"environment-id":Ge.value[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):x(``,!0)])]),_:1}),C(f(Me),{style:{width:`65%`}},{body:N(({data:e})=>[a(`span`,Di,[a(`span`,{class:`value-actions`,onClick:o[0]||=P(()=>{},[`stop`])},[e.slot.isSecret?(B(),L(`i`,{key:0,class:xe([ce.value.has(e.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>de(e.variableId)},null,10,Oi)):x(``,!0),a(`i`,{class:xe([I.value===e.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>R(e.variableId,e.slot.pre+e.slot.value+e.slot.post)},null,10,ki)]),e.slot.isSecret&&!ce.value.has(e.variableId)?(B(),L(`span`,Ai,`***`)):(B(),L(`code`,ji,r(e.slot.pre)+r(e.slot.value)+r(e.slot.post),1))])]),_:1})]),_:1},8,[`value`])]),_:1})]),_:1})]),_:1})):x(``,!0),a(`div`,Mi,[a(`h3`,Ni,r(f(c)(`serviceConfigEnv.envVars`)),1),a(`div`,Pi,[C(f(k),{label:f(c)(`serviceConfigEnv.editVariables`),icon:`pi pi-pencil`,size:`small`,outlined:``,"data-testid":`env-edit-btn`,disabled:!w.value,onClick:tt},null,8,[`label`,`disabled`]),C(f(k),{label:f(c)(`serviceConfigEnv.preview`),icon:`pi pi-eye`,size:`small`,outlined:``,severity:`secondary`,loading:O.value,disabled:!w.value,"data-testid":`env-preview-btn`,onClick:Ye},null,8,[`label`,`loading`,`disabled`])])]),T.value?(B(),L(`div`,Fi,[Ue.value.length>0?(B(),L(`div`,Ii,[C(He,{"environment-id":T.value.id,sources:Ge.value,"resolved-env":{...ne.value?.env??{},...M.value?.env??{}},"service-builtins":Se.value,editable:!1,"show-overrides":!0,"show-override-badge":!0,"show-delete":!1,"show-add-button":!1,onVariablesChanged:Ke},null,8,[`environment-id`,`sources`,`resolved-env`,`service-builtins`])])):(B(),L(`div`,Li,[a(`p`,null,r(f(c)(`serviceConfigEnv.noVarsConfigured`)),1)])),Ae.value?(B(),i(f(e),{key:2,class:`inherited-accordion`},{default:N(()=>[C(f(le),{value:`passthrough`},{default:N(()=>[C(f(ye),null,{default:N(()=>[a(`span`,Ri,[o[7]||=a(`i`,{class:`pi pi-globe`},null,-1),b(` `+r(f(c)(`agentPage.passthrough.titleShort`))+` `,1),C(f(ue),{value:String(ke.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),C(f(he),null,{default:N(()=>[a(`p`,zi,r(f(c)(`serviceConfigEnv.passthroughInfo`)),1),z.value?(B(),i(f(Ce),{key:0,style:{width:`24px`,height:`24px`}})):(B(),i(f(je),{key:1,value:Pe.value,stripedRows:``,size:`small`},{default:N(()=>[C(f(Me),{field:`name`,header:f(c)(`common.key`),style:{width:`35%`}},{body:N(({data:e})=>[a(`code`,Bi,r(e.name),1)]),_:1},8,[`header`]),C(f(Me),{header:f(c)(`common.value`),style:{width:`65%`}},{body:N(({data:e})=>[e.value===null?(B(),L(`span`,Hi,r(f(c)(`serviceConfigEnv.undefined`)),1)):(B(),L(`span`,Vi,r(e.value),1))]),_:1},8,[`header`])]),_:1},8,[`value`]))]),_:1})]),_:1})]),_:1})):x(``,!0)])):w.value?(B(),L(`div`,Wi,[a(`p`,null,r(f(c)(`serviceConfigEnv.noVarsConfigured`)),1)])):(B(),L(`div`,Ui,[a(`p`,null,r(f(c)(`serviceConfigEnv.noActiveEnv`)),1)])),C(f(De),{visible:E.value,header:f(c)(`serviceConfigEnv.editVarsHeader`),style:{width:`900px`},modal:``,"onUpdate:visible":o[2]||=e=>{e||nt()}},{footer:N(()=>[C(f(k),{label:f(c)(`actions.close`),icon:`pi pi-times`,onClick:o[1]||=e=>nt()},null,8,[`label`])]),default:N(()=>[a(`div`,Gi,[w.value?(B(),L(`div`,Ki,[a(`span`,qi,r(f(c)(`serviceConfigEnv.editingVarsFor`,{name:n.service.name||n.service.id})),1),C(Ve,{"environment-id":w.value},null,8,[`environment-id`])])):x(``,!0),a(`div`,Ji,[T.value?(B(),i(He,{key:0,"environment-id":T.value.id,editable:!0,sources:Ge.value,"autocomplete-enabled":!0,"autocomplete-suggestions":oe.value,"autocomplete-meta":se.value,"resolved-env":{...ne.value?.env??{},...M.value?.env??{}},"service-builtins":Se.value,"show-overrides":!0,onVariablesChanged:Ke,"show-delete":!0,"show-add-button":!0,onAutocompleteSearch:Je},null,8,[`environment-id`,`sources`,`autocomplete-suggestions`,`autocomplete-meta`,`resolved-env`,`service-builtins`])):x(``,!0)])])]),_:1},8,[`visible`,`header`]),C(f(De),{visible:ee.value,"onUpdate:visible":o[5]||=e=>ee.value=e,header:f(c)(`serviceConfigEnv.previewHeader`),style:{width:`700px`},modal:``,"data-testid":`env-preview-dialog`},{footer:N(()=>[C(f(k),{label:f(c)(`actions.close`),icon:`pi pi-times`,onClick:o[4]||=e=>ee.value=!1},null,8,[`label`])]),default:N(()=>[O.value?(B(),L(`div`,Yi,[C(f(Ce))])):M.value?(B(),L(`div`,Xi,[a(`p`,Zi,r(f(c)(`serviceConfigEnv.injectedVarsInfo`)),1),C(f(je),{value:Xe.value,stripedRows:``,size:`small`,rows:15,paginator:Xe.value.length>15},{default:N(()=>[C(f(Me),{field:`key`,header:f(c)(`common.key`),style:{width:`35%`}},{body:N(({data:e})=>[a(`code`,Qi,r(e.key),1)]),_:1},8,[`header`]),C(f(Me),{header:f(c)(`common.value`),style:{width:`65%`}},{body:N(({data:e})=>[a(`span`,$i,[a(`span`,{class:`value-actions`,onClick:o[3]||=P(()=>{},[`stop`])},[M.value.envSecrets.includes(e.key)?(B(),L(`i`,{key:0,class:xe([ce.value.has(`preview:`+e.key)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>de(`preview:`+e.key)},null,10,ea)):x(``,!0),a(`i`,{class:xe([I.value===`preview:`+e.key?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>R(`preview:`+e.key,e.value)},null,10,ta)]),M.value.envSecrets.includes(e.key)&&!ce.value.has(`preview:`+e.key)?(B(),L(`span`,na,`***`)):(B(),L(`span`,ra,r(Ze(e.value,!1)),1))])]),_:1},8,[`header`])]),_:1},8,[`value`,`paginator`])])):x(``,!0)]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-8ebbf924`]]),aa={class:`config-health`},oa={class:`config-card config-card--inline`},sa={class:`config-card__header`},ca={class:`config-card`},la={class:`config-card__header`},ua={class:`config-card`},da={class:`config-card__header`},fa={class:`config-card`},pa={class:`config-card__header`},ma={class:`config-card`},ha={class:`config-card__header`},ga={key:1,class:`config-card`},_a={class:`config-card__header`},va={class:`config-card__hint`},ya={class:`config-card`},ba={class:`config-card__header`},xa={class:`config-card`},Sa={class:`config-card__header`},Ca={class:`config-card`},wa={class:`config-card__header`},Ta={class:`config-card`},Ea={class:`config-card__header`},Da=v(d({__name:`ServiceConfigHealthCheck`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let n=e,i=t,{t:o}=pe(),s=H(!!n.service.healthCheck),c=H({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??``}),l=[{label:`HTTP Request`,value:`http`},{label:`Command`,value:`command`}],u=[{label:`GET`,value:`GET`},{label:`HEAD`,value:`HEAD`},{label:`POST`,value:`POST`},{label:`PUT`,value:`PUT`}];F(()=>n.service,e=>{s.value=!!e.healthCheck,c.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 d=null;function p(){d&&clearTimeout(d),d=setTimeout(()=>{if(!s.value)i(`save`,void 0);else{if(c.value.type===`http`&&!c.value.path?.trim()||c.value.type===`command`&&!c.value.command?.trim())return;i(`save`,{type:c.value.type,path:c.value.path,method:c.value.method,expectedStatus:c.value.expectedStatus,command:c.value.command||void 0,interval:c.value.interval,timeout:c.value.timeout,retries:c.value.retries,initialDelay:c.value.initialDelay})}d=null},150)}return(e,t)=>(B(),L(`div`,aa,[a(`div`,oa,[a(`div`,sa,[t[10]||=a(`i`,{class:`pi pi-heart`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.enable`)),1)]),C(f(Fe),{modelValue:s.value,"onUpdate:modelValue":t[0]||=e=>s.value=e,onChange:p},null,8,[`modelValue`])]),s.value?(B(),L(E,{key:0},[a(`div`,ca,[a(`div`,la,[t[11]||=a(`i`,{class:`pi pi-cog`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.type`)),1)]),C(f(ne),{modelValue:c.value.type,"onUpdate:modelValue":t[1]||=e=>c.value.type=e,options:l,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:p},null,8,[`modelValue`]),t[12]||=a(`small`,{class:`config-card__hint`},`HTTP checks a URL endpoint; Command runs a shell command (exit 0 = healthy)`,-1)]),c.value.type===`http`?(B(),L(E,{key:0},[a(`div`,ua,[a(`div`,da,[t[13]||=a(`i`,{class:`pi pi-link`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.path`)),1)]),C(f(R),{modelValue:c.value.path,"onUpdate:modelValue":t[2]||=e=>c.value.path=e,class:`config-card__input`,placeholder:`/health`,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),a(`div`,fa,[a(`div`,pa,[t[14]||=a(`i`,{class:`pi pi-directions`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.method`)),1)]),C(f(ne),{modelValue:c.value.method,"onUpdate:modelValue":t[3]||=e=>c.value.method=e,options:u,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:p},null,8,[`modelValue`])]),a(`div`,ma,[a(`div`,ha,[t[15]||=a(`i`,{class:`pi pi-check-circle`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.expectedStatus`)),1)]),C(f(Ne),{modelValue:c.value.expectedStatus,"onUpdate:modelValue":t[4]||=e=>c.value.expectedStatus=e,class:`config-card__input`,"use-grouping":!1,min:100,max:599,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[16]||=a(`small`,{class:`config-card__hint`},`HTTP status code to expect (default 200)`,-1)])],64)):x(``,!0),c.value.type===`command`?(B(),L(`div`,ga,[a(`div`,_a,[t[17]||=a(`i`,{class:`pi pi-code`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.command`)),1)]),C(f(oe),{modelValue:c.value.command,"onUpdate:modelValue":t[5]||=e=>c.value.command=e,class:`config-card__input`,rows:`2`,placeholder:`curl -sf http://localhost:3000/health`,"auto-resize":``,onBlur:p},null,8,[`modelValue`]),a(`small`,va,r(f(o)(`serviceConfigHealthCheck.commandHint`)),1)])):x(``,!0),a(`div`,ya,[a(`div`,ba,[t[18]||=a(`i`,{class:`pi pi-hourglass`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.initialDelay`)),1)]),C(f(Ne),{modelValue:c.value.initialDelay,"onUpdate:modelValue":t[6]||=e=>c.value.initialDelay=e,class:`config-card__input`,"use-grouping":!1,min:0,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[19]||=a(`small`,{class:`config-card__hint`},`Wait before first health check (ms)`,-1)]),a(`div`,xa,[a(`div`,Sa,[t[20]||=a(`i`,{class:`pi pi-clock`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.interval`)),1)]),C(f(Ne),{modelValue:c.value.interval,"onUpdate:modelValue":t[7]||=e=>c.value.interval=e,class:`config-card__input`,"use-grouping":!1,min:1e3,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),a(`div`,Ca,[a(`div`,wa,[t[21]||=a(`i`,{class:`pi pi-stopwatch`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.timeout`)),1)]),C(f(Ne),{modelValue:c.value.timeout,"onUpdate:modelValue":t[8]||=e=>c.value.timeout=e,class:`config-card__input`,"use-grouping":!1,min:500,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),a(`div`,Ta,[a(`div`,Ea,[t[22]||=a(`i`,{class:`pi pi-replay`},null,-1),a(`span`,null,r(f(o)(`serviceConfigHealthCheck.retries`)),1)]),C(f(Ne),{modelValue:c.value.retries,"onUpdate:modelValue":t[9]||=e=>c.value.retries=e,class:`config-card__input`,"use-grouping":!1,min:0,max:10,onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])],64)):x(``,!0)]))}}),[[`__scopeId`,`data-v-63e32039`]]),Oa={class:`config-shortcuts`},ka={key:0,class:`config-shortcuts__empty`},Aa={class:`config-shortcuts__row`},ja={class:`config-shortcuts__field`},Ma=[`for`],Na={class:`config-shortcuts__field config-shortcuts__field--wide`},Pa=[`for`],Fa={class:`config-shortcuts__field`},Ia=[`for`],La={class:`config-shortcuts__actions-cell`},Ra={class:`config-shortcuts__footer`},za=v(d({__name:`ServiceConfigShortcuts`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let n=e,{t:i}=pe(),o=t,s=H([...n.service.shortcuts??[]]),c=null;F(()=>n.service,e=>{c||(s.value=[...e.shortcuts??[]])});function l(){s.value=[...s.value,{id:Ae(),label:``,command:``,cwd:void 0}]}function u(e){s.value=s.value.filter((t,n)=>n!==e)}function d(e,t,n){s.value=s.value.map((r,i)=>i===e?{...r,[t]:n||void 0}:r)}function p(){c&&clearTimeout(c),c=setTimeout(()=>{o(`save`,s.value),c=null},150)}function m(e){u(e),p()}return(e,t)=>(B(),L(`div`,Oa,[s.value.length===0?(B(),L(`div`,ka,[a(`p`,null,r(f(i)(`serviceConfigShortcuts.empty`)),1)])):x(``,!0),(B(!0),L(E,null,M(s.value,(e,t)=>(B(),L(`div`,{key:e.id,class:`config-card`},[a(`div`,Aa,[a(`div`,ja,[a(`label`,{class:`config-shortcuts__label`,for:`shortcut-label-${t}`},r(f(i)(`serviceConfigShortcuts.label`)),9,Ma),C(f(R),{id:`shortcut-label-${t}`,"model-value":e.label,placeholder:f(i)(`serviceConfigShortcuts.labelPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-label-input`,"onUpdate:modelValue":e=>d(t,`label`,e),onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,Na,[a(`label`,{class:`config-shortcuts__label`,for:`shortcut-command-${t}`},r(f(i)(`serviceConfigShortcuts.command`)),9,Pa),C(f(R),{id:`shortcut-command-${t}`,"model-value":e.command,placeholder:f(i)(`serviceConfigShortcuts.commandPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-command-input`,"onUpdate:modelValue":e=>d(t,`command`,e),onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,Fa,[a(`label`,{class:`config-shortcuts__label`,for:`shortcut-cwd-${t}`},r(f(i)(`serviceConfigShortcuts.workingDir`)),9,Ia),C(f(R),{id:`shortcut-cwd-${t}`,"model-value":e.cwd??``,placeholder:f(i)(`serviceConfigShortcuts.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>d(t,`cwd`,e),onBlur:p,onKeydown:V(P(p,[`prevent`]),[`enter`])},null,8,[`id`,`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),a(`div`,La,[C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>m(t)},null,8,[`onClick`])])])]))),128)),a(`div`,Ra,[C(f(k),{label:f(i)(`serviceConfigShortcuts.addShortcut`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,"data-testid":`add-shortcut-btn`,onClick:l},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-d6ecb989`]]),Ba=Object.defineProperty,Va=Object.getOwnPropertySymbols,Ha=Object.prototype.hasOwnProperty,Ua=Object.prototype.propertyIsEnumerable,Wa=(e,t,n)=>t in e?Ba(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ga=(e,t)=>{for(var n in t||={})Ha.call(t,n)&&Wa(e,n,t[n]);if(Va)for(var n of Va(t))Ua.call(t,n)&&Wa(e,n,t[n]);return e},Ka=(e,t)=>{var n={};for(var r in e)Ha.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Va)for(var r of Va(e))t.indexOf(r)<0&&Ua.call(e,r)&&(n[r]=e[r]);return n},qa=`[vue-draggable-plus]: `;function Ja(e){console.warn(qa+e)}function Ya(e){console.error(qa+e)}function Xa(e,t,n){return n>=0&&n<e.length&&e.splice(n,0,e.splice(t,1)[0]),e}function Za(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[Za(n)]=e[n]),t),{})}function $a(e,t){return Array.isArray(e)&&e.splice(t,1),e}function eo(e,t,n){return Array.isArray(e)&&e.splice(t,0,n),e}function to(e){return e===void 0}function no(e){return typeof e==`string`}function ro(e,t,n){let r=e.children[n];e.insertBefore(t,r)}function io(e){e.parentNode&&e.parentNode.removeChild(e)}function ao(e,t=document){let n=null;return n=typeof t?.querySelector==`function`?(t?.querySelector)?.call(t,e):document.querySelector(e),n||Ja(`Element not found: ${e}`),n}function oo(e,t,n=null){return function(...r){return e.apply(n,r),t.apply(n,r)}}function so(e,t){let n=Ga({},e);return Object.keys(t).forEach(r=>{n[r]?n[r]=oo(e[r],t[r]):n[r]=t[r]}),n}function co(e){return e instanceof HTMLElement}function lo(e,t){Object.keys(e).forEach(n=>{t(n,e[n])})}function uo(e){return e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97)}var fo=Object.assign;function po(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 mo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?po(Object(n),!0).forEach(function(t){go(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):po(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ho(e){"@babel/helpers - typeof";return ho=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},ho(e)}function go(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _o(){return _o=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},_o.apply(this,arguments)}function vo(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 yo(e,t){if(e==null)return{};var n=vo(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 bo=`1.15.2`;function xo(e){if(typeof window<`u`&&window.navigator)return!!navigator.userAgent.match(e)}var So=xo(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Co=xo(/Edge/i),wo=xo(/firefox/i),To=xo(/safari/i)&&!xo(/chrome/i)&&!xo(/android/i),Eo=xo(/iP(ad|od|hone)/i),Do=xo(/chrome/i)&&xo(/android/i),Oo={capture:!1,passive:!1};function U(e,t,n){e.addEventListener(t,n,!So&&Oo)}function W(e,t,n){e.removeEventListener(t,n,!So&&Oo)}function ko(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 Ao(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function jo(e,t,n,r){if(e){n||=document;do{if(t!=null&&(t[0]===`>`?e.parentNode===n&&ko(e,t):ko(e,t))||r&&e===n)return e;if(e===n)break}while(e=Ao(e))}return null}var Mo=/\s+/g;function No(e,t,n){e&&t&&(e.classList?e.classList[n?`add`:`remove`](t):e.className=((` `+e.className+` `).replace(Mo,` `).replace(` `+t+` `,` `)+(n?` `+t:``)).replace(Mo,` `))}function G(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 Po(e,t){var n=``;if(typeof e==`string`)n=e;else do{var r=G(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 Fo(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 Io(){return document.scrollingElement||document.documentElement}function K(e,t,n,r,i){if(!(!e.getBoundingClientRect&&e!==window)){var a,o,s,c,l,u,d;if(e!==window&&e.parentNode&&e!==Io()?(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,!So))do if(i&&i.getBoundingClientRect&&(G(i,`transform`)!==`none`||n&&G(i,`position`)!==`static`)){var f=i.getBoundingClientRect();o-=f.top+parseInt(G(i,`border-top-width`)),s-=f.left+parseInt(G(i,`border-left-width`)),c=o+a.height,l=s+a.width;break}while(i=i.parentNode);if(r&&e!==window){var p=Po(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 Lo(e,t,n){for(var r=Uo(e,!0),i=K(e)[t];r;){var a=K(r)[n],o=void 0;if(o=i>=a,!o)return r;if(r===Io())break;r=Uo(r,!1)}return!1}function Ro(e,t,n,r){for(var i=0,a=0,o=e.children;a<o.length;){if(o[a].style.display!==`none`&&o[a]!==Q.ghost&&(r||o[a]!==Q.dragged)&&jo(o[a],n.draggable,e,!1)){if(i===t)return o[a];i++}a++}return null}function zo(e,t){for(var n=e.lastElementChild;n&&(n===Q.ghost||G(n,`display`)===`none`||t&&!ko(n,t));)n=n.previousElementSibling;return n||null}function Bo(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)e.nodeName.toUpperCase()!==`TEMPLATE`&&e!==Q.clone&&(!t||ko(e,t))&&n++;return n}function Vo(e){var t=0,n=0,r=Io();if(e)do{var i=Po(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 Ho(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 Uo(e,t){if(!e||!e.getBoundingClientRect)return Io();var n=e,r=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=G(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 Io();if(r||t)return n;r=!0}}while(n=n.parentNode);return Io()}function Wo(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function Go(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 Ko;function qo(e,t){return function(){if(!Ko){var n=arguments,r=this;n.length===1?e.call(r,n[0]):e.apply(r,n),Ko=setTimeout(function(){Ko=void 0},t)}}}function Jo(){clearTimeout(Ko),Ko=void 0}function Yo(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function Xo(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 Zo(e,t,n){var r={};return Array.from(e.children).forEach(function(i){if(!(!jo(i,t.draggable,e,!1)||i.animated||i===n)){var a=K(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 Qo=`Sortable`+new Date().getTime();function $o(){var e=[],t;return{captureAnimationState:function(){e=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){if(!(G(t,`display`)===`none`||t===Q.ghost)){e.push({target:t,rect:K(t)});var n=mo({},e[e.length-1].rect);if(t.thisAnimationDuration){var r=Po(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(Ho(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=K(n),c=n.prevFromRect,l=n.prevToRect,u=e.rect,d=Po(n,!0);d&&(s.top-=d.f,s.left-=d.e),n.toRect=s,n.thisAnimationDuration&&Go(c,s)&&!Go(o,s)&&(u.top-s.top)/(u.left-s.left)===(o.top-s.top)/(o.left-s.left)&&(t=ts(u,c,l,r.options)),Go(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){G(e,`transition`,``),G(e,`transform`,``);var i=Po(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,G(e,`transform`,`translate3d(`+s+`px,`+c+`px,0)`),this.forRepaintDummy=es(e),G(e,`transition`,`transform `+r+`ms`+(this.options.easing?` `+this.options.easing:``)),G(e,`transform`,`translate3d(0,0,0)`),typeof e.animated==`number`&&clearTimeout(e.animated),e.animated=setTimeout(function(){G(e,`transition`,``),G(e,`transform`,``),e.animated=!1,e.animatingX=!1,e.animatingY=!1},r)}}}}function es(e){return e.offsetWidth}function ts(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 ns=[],rs={initializeByDefault:!0},is={mount:function(e){for(var t in rs)rs.hasOwnProperty(t)&&!(t in e)&&(e[t]=rs[t]);ns.forEach(function(t){if(t.pluginName===e.pluginName)throw`Sortable: Cannot mount plugin ${e.pluginName} more than once`}),ns.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var i=e+`Global`;ns.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][i]&&t[r.pluginName][i](mo({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](mo({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var i in ns.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,_o(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 ns.forEach(function(r){typeof r.eventProperties==`function`&&_o(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return ns.forEach(function(i){e[i.pluginName]&&i.optionListeners&&typeof i.optionListeners[t]==`function`&&(r=i.optionListeners[t].call(e[i.pluginName],n))}),r}};function as(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[Qo],t){var h,g=t.options,_=`on`+r.charAt(0).toUpperCase()+r.substr(1);window.CustomEvent&&!So&&!Co?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=mo(mo({},m),is.getEventProperties(r,t));for(var y in v)h[y]=v[y];n&&n.dispatchEvent(h),g[_]&&g[_].call(t,h)}}var os=[`evt`],ss=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,i=yo(n,os);is.pluginEvent.bind(Q)(e,t,mo({dragEl:q,parentEl:J,ghostEl:Y,rootEl:X,nextEl:ls,lastDownEl:us,cloneEl:Z,cloneHidden:ds,dragStarted:Ds,putSortable:_s,activeSortable:Q.active,originalEvent:r,oldIndex:fs,oldDraggableIndex:ms,newIndex:ps,newDraggableIndex:hs,hideGhostForTarget:Ks,unhideGhostForTarget:qs,cloneNowHidden:function(){ds=!0},cloneNowShown:function(){ds=!1},dispatchSortableEvent:function(e){cs({sortable:t,name:e,originalEvent:r})}},i))};function cs(e){as(mo({putSortable:_s,cloneEl:Z,targetEl:q,rootEl:X,oldIndex:fs,oldDraggableIndex:ms,newIndex:ps,newDraggableIndex:hs},e))}var q,J,Y,X,ls,us,Z,ds,fs,ps,ms,hs,gs,_s,vs=!1,ys=!1,bs=[],xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As=!1,js=!1,Ms,Ns,Ps=[],Fs=!1,Is=[],Ls=typeof document<`u`,Rs=Eo,zs=Co||So?`cssFloat`:`float`,Bs=Ls&&!Do&&!Eo&&`draggable`in document.createElement(`div`),Vs=function(){if(Ls){if(So)return!1;var e=document.createElement(`x`);return e.style.cssText=`pointer-events:auto`,e.style.pointerEvents===`auto`}}(),Hs=function(e,t){var n=G(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=Ro(e,0,t),a=Ro(e,1,t),o=i&&G(i),s=a&&G(a),c=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+K(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+K(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[zs]===`none`||a&&n[zs]===`none`&&c+l>r)?`vertical`:`horizontal`},Us=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},Ws=function(e,t){var n;return bs.some(function(r){var i=r[Qo].options.emptyInsertThreshold;if(!(!i||zo(r))){var a=K(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},Gs=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||ho(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},Ks=function(){!Vs&&Y&&G(Y,`display`,`none`)},qs=function(){!Vs&&Y&&G(Y,`display`,``)};Ls&&!Do&&document.addEventListener(`click`,function(e){if(ys)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ys=!1,!1},!0);var Js=function(e){if(q){e=e.touches?e.touches[0]:e;var t=Ws(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[Qo]._onDragOver(n)}}},Ys=function(e){q&&q.parentNode[Qo]._isOutsideThisEl(e.target)};function Q(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=_o({},t),e[Qo]=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 Hs(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:Q.supportPointer!==!1&&`PointerEvent`in window&&!To,emptyInsertThreshold:5};for(var r in is.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var i in Gs(t),this)i.charAt(0)===`_`&&typeof this[i]==`function`&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:Bs,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?U(e,`pointerdown`,this._onTapStart):(U(e,`mousedown`,this._onTapStart),U(e,`touchstart`,this._onTapStart)),this.nativeDraggable&&(U(e,`dragover`,this),U(e,`dragenter`,this)),bs.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),_o(this,$o())}Q.prototype={constructor:Q,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Os=null)},_getDirection:function(e,t){return typeof this.options.direction==`function`?this.options.direction.call(this,e,t,q):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(ac(n),!q&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&To&&s&&s.tagName.toUpperCase()===`SELECT`)&&(s=jo(s,r.draggable,n,!1),!(s&&s.animated)&&us!==s)){if(fs=Bo(s),ms=Bo(s,r.draggable),typeof l==`function`){if(l.call(this,e,s,this)){cs({sortable:t,rootEl:c,name:`filter`,targetEl:s,toEl:n,fromEl:n}),ss(`filter`,t,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(l&&(l=l.split(`,`).some(function(r){if(r=jo(c,r.trim(),n,!1),r)return cs({sortable:t,rootEl:r,name:`filter`,targetEl:s,fromEl:n,toEl:n}),ss(`filter`,t,{evt:e}),!0}),l)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!jo(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&&!q&&n.parentNode===i){var c=K(n);if(X=i,q=n,J=q.parentNode,ls=q.nextSibling,us=n,gs=a.group,Q.dragged=q,xs={target:q,clientX:(t||e).clientX,clientY:(t||e).clientY},Ts=xs.clientX-c.left,Es=xs.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,q.style[`will-change`]=`all`,s=function(){if(ss(`delayEnded`,r,{evt:e}),Q.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!wo&&r.nativeDraggable&&(q.draggable=!0),r._triggerDragStart(e,t),cs({sortable:r,name:`choose`,originalEvent:e}),No(q,a.chosenClass,!0)},a.ignore.split(`,`).forEach(function(e){Fo(q,e.trim(),Qs)}),U(o,`dragover`,Js),U(o,`mousemove`,Js),U(o,`touchmove`,Js),U(o,`mouseup`,r._onDrop),U(o,`touchend`,r._onDrop),U(o,`touchcancel`,r._onDrop),wo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,q.draggable=!0),ss(`delayStart`,this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Co||So))){if(Q.eventCanceled){this._onDrop();return}U(o,`mouseup`,r._disableDelayedDrag),U(o,`touchend`,r._disableDelayedDrag),U(o,`touchcancel`,r._disableDelayedDrag),U(o,`mousemove`,r._delayedDragTouchMoveHandler),U(o,`touchmove`,r._delayedDragTouchMoveHandler),a.supportPointer&&U(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(){q&&Qs(q),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;W(e,`mouseup`,this._disableDelayedDrag),W(e,`touchend`,this._disableDelayedDrag),W(e,`touchcancel`,this._disableDelayedDrag),W(e,`mousemove`,this._delayedDragTouchMoveHandler),W(e,`touchmove`,this._delayedDragTouchMoveHandler),W(e,`pointermove`,this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t||=e.pointerType==`touch`&&e,!this.nativeDraggable||t?this.options.supportPointer?U(document,`pointermove`,this._onTouchMove):t?U(document,`touchmove`,this._onTouchMove):U(document,`mousemove`,this._onTouchMove):(U(q,`dragend`,this),U(X,`dragstart`,this._onDragStart));try{document.selection?oc(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(vs=!1,X&&q){ss(`dragStarted`,this,{evt:t}),this.nativeDraggable&&U(document,`dragover`,Ys);var n=this.options;!e&&No(q,n.dragClass,!1),No(q,n.ghostClass,!0),Q.active=this,e&&this._appendGhost(),cs({sortable:this,name:`start`,originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(Ss){this._lastX=Ss.clientX,this._lastY=Ss.clientY,Ks();for(var e=document.elementFromPoint(Ss.clientX,Ss.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Ss.clientX,Ss.clientY),e!==t);)t=e;if(q.parentNode[Qo]._isOutsideThisEl(e),t)do{if(t[Qo]){var n=void 0;if(n=t[Qo]._onDragOver({clientX:Ss.clientX,clientY:Ss.clientY,target:e,rootEl:t}),n&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);qs()}},_onTouchMove:function(e){if(xs){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,a=Y&&Po(Y,!0),o=Y&&a&&a.a,s=Y&&a&&a.d,c=Rs&&Ns&&Vo(Ns),l=(i.clientX-xs.clientX+r.x)/(o||1)+(c?c[0]-Ps[0]:0)/(o||1),u=(i.clientY-xs.clientY+r.y)/(s||1)+(c?c[1]-Ps[1]:0)/(s||1);if(!Q.active&&!vs){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(Y){a?(a.e+=l-(Cs||0),a.f+=u-(ws||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})`;G(Y,`webkitTransform`,d),G(Y,`mozTransform`,d),G(Y,`msTransform`,d),G(Y,`transform`,d),Cs=l,ws=u,Ss=i}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!Y){var e=this.options.fallbackOnBody?document.body:X,t=K(q,!0,Rs,!0,e),n=this.options;if(Rs){for(Ns=e;G(Ns,`position`)===`static`&&G(Ns,`transform`)===`none`&&Ns!==document;)Ns=Ns.parentNode;Ns!==document.body&&Ns!==document.documentElement?(Ns===document&&(Ns=Io()),t.top+=Ns.scrollTop,t.left+=Ns.scrollLeft):Ns=Io(),Ps=Vo(Ns)}Y=q.cloneNode(!0),No(Y,n.ghostClass,!1),No(Y,n.fallbackClass,!0),No(Y,n.dragClass,!0),G(Y,`transition`,``),G(Y,`transform`,``),G(Y,`box-sizing`,`border-box`),G(Y,`margin`,0),G(Y,`top`,t.top),G(Y,`left`,t.left),G(Y,`width`,t.width),G(Y,`height`,t.height),G(Y,`opacity`,`0.8`),G(Y,`position`,Rs?`absolute`:`fixed`),G(Y,`zIndex`,`100000`),G(Y,`pointerEvents`,`none`),Q.ghost=Y,e.appendChild(Y),G(Y,`transform-origin`,Ts/parseInt(Y.style.width)*100+`% `+Es/parseInt(Y.style.height)*100+`%`)}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,i=n.options;if(ss(`dragStart`,this,{evt:e}),Q.eventCanceled){this._onDrop();return}ss(`setupClone`,this),Q.eventCanceled||(Z=Xo(q),Z.removeAttribute(`id`),Z.draggable=!1,Z.style[`will-change`]=``,this._hideClone(),No(Z,this.options.chosenClass,!1),Q.clone=Z),n.cloneId=oc(function(){ss(`clone`,n),!Q.eventCanceled&&(n.options.removeCloneOnHide||X.insertBefore(Z,q),n._hideClone(),cs({sortable:n,name:`clone`}))}),!t&&No(q,i.dragClass,!0),t?(ys=!0,n._loopId=setInterval(n._emulateDragOver,50)):(W(document,`mouseup`,n._onDrop),W(document,`touchend`,n._onDrop),W(document,`touchcancel`,n._onDrop),r&&(r.effectAllowed=`move`,i.setData&&i.setData.call(n,r,q)),U(document,`drop`,n),G(q,`transform`,`translateZ(0)`)),vs=!0,n._dragStartId=oc(n._dragStarted.bind(n,t,e)),U(document,`selectstart`,n),Ds=!0,To&&G(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=Q.active,l=gs===s,u=o.sort,d=_s||c,f,p=this,m=!1;if(Fs)return;function h(o,s){ss(o,p,mo({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 Zs(X,t,q,r,n,K(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&&(No(q,_s?_s.options.ghostClass:c.options.ghostClass,!1),No(q,o.ghostClass,!0)),_s!==p&&p!==Q.active?_s=p:p===Q.active&&_s&&(_s=null),d===p&&(p._ignoreWhileAnimating=n),p.animateAll(function(){h(`dragOverAnimationComplete`),p._ignoreWhileAnimating=null}),p!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(n===q&&!q.animated||n===t&&!n.animated)&&(Os=null),!o.dragoverBubble&&!e.rootEl&&n!==document&&(q.parentNode[Qo]._isOutsideThisEl(e.target),!r&&Js(e)),!o.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function v(){ps=Bo(q),hs=Bo(q,o.draggable),cs({sortable:p,name:`change`,toEl:t,newIndex:ps,newDraggableIndex:hs,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),n=jo(n,o.draggable,t,!0),h(`dragOver`),Q.eventCanceled)return m;if(q.contains(e.target)||n.animated&&n.animatingX&&n.animatingY||p._ignoreWhileAnimating===n)return _(!1);if(ys=!1,c&&!o.disabled&&(l?u||(a=J!==X):_s===this||(this.lastPutMode=gs.checkPull(this,c,q,e))&&s.checkPut(this,c,q,e))){if(f=this._getDirection(e,n)===`vertical`,r=K(q),h(`dragOverValid`),Q.eventCanceled)return m;if(a)return J=X,g(),this._hideClone(),h(`revert`),Q.eventCanceled||(ls?X.insertBefore(q,ls):X.appendChild(q)),_(!0);var y=zo(t,o.draggable);if(!y||tc(e,f,this)&&!y.animated){if(y===q)return _(!1);if(y&&t===e.target&&(n=y),n&&(i=K(n)),Zs(X,t,q,r,n,i,e,!!n)!==!1)return g(),y&&y.nextSibling?t.insertBefore(q,y.nextSibling):t.appendChild(q),J=t,v(),_(!0)}else if(y&&ec(e,f,this)){var b=Ro(t,0,o,!0);if(b===q)return _(!1);if(n=b,i=K(n),Zs(X,t,q,r,n,i,e,!1)!==!1)return g(),t.insertBefore(q,b),J=t,v(),_(!0)}else if(n.parentNode===t){i=K(n);var x=0,S,C=q.parentNode!==t,w=!Us(q.animated&&q.toRect||r,n.animated&&n.toRect||i,f),T=f?`top`:`left`,E=Lo(n,`top`,`top`)||Lo(q,`top`,`top`),ee=E?E.scrollTop:void 0;Os!==n&&(S=i[T],As=!1,js=!w&&o.invertSwap||C),x=nc(e,n,i,f,w?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,js,Os===n);var D;if(x!==0){var O=Bo(q);do O-=x,D=J.children[O];while(D&&(G(D,`display`)===`none`||D===Y))}if(x===0||D===n)return _(!1);Os=n,ks=x;var k=n.nextElementSibling,A=!1;A=x===1;var j=Zs(X,t,q,r,n,i,e,A);if(j!==!1)return(j===1||j===-1)&&(A=j===1),Fs=!0,setTimeout($s,30),g(),A&&!k?t.appendChild(q):n.parentNode.insertBefore(q,A?k:n),E&&Yo(E,0,ee-E.scrollTop),J=q.parentNode,S!==void 0&&!js&&(Ms=Math.abs(S-K(n)[T])),v(),_(!0)}if(t.contains(q))return _(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){W(document,`mousemove`,this._onTouchMove),W(document,`touchmove`,this._onTouchMove),W(document,`pointermove`,this._onTouchMove),W(document,`dragover`,Js),W(document,`mousemove`,Js),W(document,`touchmove`,Js)},_offUpEvents:function(){var e=this.el.ownerDocument;W(e,`mouseup`,this._onDrop),W(e,`touchend`,this._onDrop),W(e,`pointerup`,this._onDrop),W(e,`touchcancel`,this._onDrop),W(document,`selectstart`,this)},_onDrop:function(e){var t=this.el,n=this.options;if(ps=Bo(q),hs=Bo(q,n.draggable),ss(`drop`,this,{evt:e}),J=q&&q.parentNode,ps=Bo(q),hs=Bo(q,n.draggable),Q.eventCanceled){this._nulling();return}vs=!1,js=!1,As=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),sc(this.cloneId),sc(this._dragStartId),this.nativeDraggable&&(W(document,`drop`,this),W(t,`dragstart`,this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),To&&G(document.body,`user-select`,``),G(q,`transform`,``),e&&(Ds&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),Y&&Y.parentNode&&Y.parentNode.removeChild(Y),(X===J||_s&&_s.lastPutMode!==`clone`)&&Z&&Z.parentNode&&Z.parentNode.removeChild(Z),q&&(this.nativeDraggable&&W(q,`dragend`,this),Qs(q),q.style[`will-change`]=``,Ds&&!vs&&No(q,_s?_s.options.ghostClass:this.options.ghostClass,!1),No(q,this.options.chosenClass,!1),cs({sortable:this,name:`unchoose`,toEl:J,newIndex:null,newDraggableIndex:null,originalEvent:e}),X===J?ps!==fs&&ps>=0&&(cs({sortable:this,name:`update`,toEl:J,originalEvent:e}),cs({sortable:this,name:`sort`,toEl:J,originalEvent:e})):(ps>=0&&(cs({rootEl:J,name:`add`,toEl:J,fromEl:X,originalEvent:e}),cs({sortable:this,name:`remove`,toEl:J,originalEvent:e}),cs({rootEl:J,name:`sort`,toEl:J,fromEl:X,originalEvent:e}),cs({sortable:this,name:`sort`,toEl:J,originalEvent:e})),_s&&_s.save()),Q.active&&((ps==null||ps===-1)&&(ps=fs,hs=ms),cs({sortable:this,name:`end`,toEl:J,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){ss(`nulling`,this),X=q=J=Y=ls=Z=us=ds=xs=Ss=Ds=ps=hs=fs=ms=Os=ks=_s=gs=Q.dragged=Q.ghost=Q.clone=Q.active=null,Is.forEach(function(e){e.checked=!0}),Is.length=Cs=ws=0},handleEvent:function(e){switch(e.type){case`drop`:case`dragend`:this._onDrop(e);break;case`dragenter`:case`dragover`:q&&(this._onDragOver(e),Xs(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],jo(t,a.draggable,this.el,!1)&&e.push(t.getAttribute(a.dataIdAttr)||ic(t));return e},sort:function(e,t){var n={},r=this.el;this.toArray().forEach(function(e,t){var i=r.children[t];jo(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 jo(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=is.modifyOption(this,e,t);r===void 0?n[e]=t:n[e]=r,e===`group`&&Gs(n)},destroy:function(){ss(`destroy`,this);var e=this.el;e[Qo]=null,W(e,`mousedown`,this._onTapStart),W(e,`touchstart`,this._onTapStart),W(e,`pointerdown`,this._onTapStart),this.nativeDraggable&&(W(e,`dragover`,this),W(e,`dragenter`,this)),Array.prototype.forEach.call(e.querySelectorAll(`[draggable]`),function(e){e.removeAttribute(`draggable`)}),this._onDrop(),this._disableDelayedDragEvents(),bs.splice(bs.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!ds){if(ss(`hideClone`,this),Q.eventCanceled)return;G(Z,`display`,`none`),this.options.removeCloneOnHide&&Z.parentNode&&Z.parentNode.removeChild(Z),ds=!0}},_showClone:function(e){if(e.lastPutMode!==`clone`){this._hideClone();return}if(ds){if(ss(`showClone`,this),Q.eventCanceled)return;q.parentNode==X&&!this.options.group.revertClone?X.insertBefore(Z,q):ls?X.insertBefore(Z,ls):X.appendChild(Z),this.options.group.revertClone&&this.animate(q,Z),G(Z,`display`,``),ds=!1}}};function Xs(e){e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.cancelable&&e.preventDefault()}function Zs(e,t,n,r,i,a,o,s){var c,l=e[Qo],u=l.options.onMove,d;return window.CustomEvent&&!So&&!Co?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||K(t),c.willInsertAfter=s,c.originalEvent=o,e.dispatchEvent(c),u&&(d=u.call(l,c,o)),d}function Qs(e){e.draggable=!1}function $s(){Fs=!1}function ec(e,t,n){var r=K(Ro(n.el,0,n.options,!0)),i=Zo(n.el,n.options,Y),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 tc(e,t,n){var r=K(zo(n.el,n.options.draggable)),i=Zo(n.el,n.options,Y),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 nc(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&&Ms<l*i){if(!As&&(ks===1?c>u+l*a/2:c<d-l*a/2)&&(As=!0),As)f=!0;else if(ks===1?c<u+Ms:c>d-Ms)return-ks}else if(c>u+l*(1-i)/2&&c<d-l*(1-i)/2)return rc(t)}return f||=o,f&&(c<u+l*a/2||c>d-l*a/2)?c>u+l/2?1:-1:0}function rc(e){return Bo(q)<Bo(e)?1:-1}function ic(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 ac(e){Is.length=0;for(var t=e.getElementsByTagName(`input`),n=t.length;n--;){var r=t[n];r.checked&&Is.push(r)}}function oc(e){return setTimeout(e,0)}function sc(e){return clearTimeout(e)}Ls&&U(document,`touchmove`,function(e){(Q.active||vs)&&e.cancelable&&e.preventDefault()}),Q.utils={on:U,off:W,css:G,find:Fo,is:function(e,t){return!!jo(e,t,e,!1)},extend:Wo,throttle:qo,closest:jo,toggleClass:No,clone:Xo,index:Bo,nextTick:oc,cancelNextTick:sc,detectDirection:Hs,getChild:Ro},Q.get=function(e){return e[Qo]},Q.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&&(Q.utils=mo(mo({},Q.utils),e.utils)),is.mount(e)})},Q.create=function(e,t){return new Q(e,t)},Q.version=bo;var $=[],cc,lc,uc=!1,dc,fc,pc,mc;function hc(){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?U(document,`dragover`,this._handleAutoScroll):this.options.supportPointer?U(document,`pointermove`,this._handleFallbackAutoScroll):t.touches?U(document,`touchmove`,this._handleFallbackAutoScroll):U(document,`mousemove`,this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;!this.options.dragOverBubble&&!t.rootEl&&this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?W(document,`dragover`,this._handleAutoScroll):(W(document,`pointermove`,this._handleFallbackAutoScroll),W(document,`touchmove`,this._handleFallbackAutoScroll),W(document,`mousemove`,this._handleFallbackAutoScroll)),_c(),gc(),Jo()},nulling:function(){pc=lc=cc=uc=mc=dc=fc=null,$.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(pc=e,t||this.options.forceAutoScrollFallback||Co||So||To){vc(e,this.options,a,t);var o=Uo(a,!0);uc&&(!mc||r!==dc||i!==fc)&&(mc&&_c(),mc=setInterval(function(){var a=Uo(document.elementFromPoint(r,i),!0);a!==o&&(o=a,gc()),vc(e,n.options,a,t)},10),dc=r,fc=i)}else{if(!this.options.bubbleScroll||Uo(a,!0)===Io()){gc();return}vc(e,this.options,Uo(a,!1),!1)}}},_o(e,{pluginName:`scroll`,initializeByDefault:!0})}function gc(){$.forEach(function(e){clearInterval(e.pid)}),$=[]}function _c(){clearInterval(mc)}var vc=qo(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=Io(),l=!1,u;lc!==n&&(lc=n,gc(),cc=t.scroll,u=t.scrollFn,cc===!0&&(cc=Uo(n,!0)));var d=0,f=cc;do{var p=f,m=K(p),h=m.top,g=m.bottom,_=m.left,v=m.right,y=m.width,b=m.height,x=void 0,S=void 0,C=p.scrollWidth,w=p.scrollHeight,T=G(p),E=p.scrollLeft,ee=p.scrollTop;p===c?(x=y<C&&(T.overflowX===`auto`||T.overflowX===`scroll`||T.overflowX===`visible`),S=b<w&&(T.overflowY===`auto`||T.overflowY===`scroll`||T.overflowY===`visible`)):(x=y<C&&(T.overflowX===`auto`||T.overflowX===`scroll`),S=b<w&&(T.overflowY===`auto`||T.overflowY===`scroll`));var D=x&&(Math.abs(v-i)<=o&&E+y<C)-(Math.abs(_-i)<=o&&!!E),O=S&&(Math.abs(g-a)<=o&&ee+b<w)-(Math.abs(h-a)<=o&&!!ee);if(!$[d])for(var k=0;k<=d;k++)$[k]||($[k]={});($[d].vx!=D||$[d].vy!=O||$[d].el!==p)&&($[d].el=p,$[d].vx=D,$[d].vy=O,clearInterval($[d].pid),(D!=0||O!=0)&&(l=!0,$[d].pid=setInterval(function(){r&&this.layer===0&&Q.active._onTouchMove(pc);var t=$[this.layer].vy?$[this.layer].vy*s:0,n=$[this.layer].vx?$[this.layer].vx*s:0;typeof u==`function`&&u.call(Q.dragged.parentNode[Qo],n,t,e,pc,$[this.layer].el)!==`continue`||Yo($[this.layer].el,n,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&f!==c&&(f=Uo(f,!1)));uc=l}},30),yc=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 bc(){}bc.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=Ro(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:yc},_o(bc,{pluginName:`revertOnSpill`});function xc(){}xc.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:yc},_o(xc,{pluginName:`removeOnSpill`}),Q.mount(new hc),Q.mount(xc,bc);function Sc(e){return e==null?e:JSON.parse(JSON.stringify(e))}function Cc(e){_()&&ve(e)}function wc(e){_()?t(e):m(e)}var Tc=null,Ec=null;function Dc(e=null,t=null){Tc=e,Ec=t}function Oc(){return{data:Tc,clonedData:Ec}}var kc=Symbol(`cloneElement`);function Ac(...e){let t=_()?.proxy,n=null,r=e[0],[,i,a]=e;Array.isArray(f(i))||(a=i,i=null);let o=null,{immediate:s=!0,clone:c=Sc,forceFallback:l,fallbackOnBody:u,customUpdate:d}=f(a)??{};function p(e){let{from:t,oldIndex:r,item:a}=e,o=Array.from(t.childNodes);n=l&&!u?o.slice(0,-1):o;let s=f(f(i)?.[r]),d=c(s);Dc(s,d),a[kc]=d}function h(e){let t=e.item[kc];if(!to(t)){if(io(e.item),S(i)){let n=[...f(i)];i.value=eo(n,e.newDraggableIndex,t);return}eo(f(i),e.newDraggableIndex,t)}}function g(e){let{from:t,item:n,oldIndex:r,oldDraggableIndex:a,pullMode:o,clone:s}=e;if(ro(t,n,r),o===`clone`){io(s);return}if(S(i)){let e=[...f(i)];i.value=$a(e,a);return}$a(f(i),a)}function v(e){if(d){d(e);return}let{from:t,item:n,oldIndex:r,oldDraggableIndex:a,newDraggableIndex:o}=e;if(io(n),ro(t,n,r),S(i)){let e=[...f(i)];i.value=Xa(e,a,o);return}Xa(f(i),a,o)}function y(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}m(()=>{if(Dc(),o)throw o})}let b={onUpdate:v,onStart:p,onAdd:h,onRemove:g,onEnd:y};function x(e){let n=f(r);return e||=no(n)?ao(n,t?.$el):n,e&&!co(e)&&(e=e.$el),e||Ya(`Root element not found`),e}function C(){let e=f(a)??{},{immediate:t,clone:n}=e,r=Ka(e,[`immediate`,`clone`]);return lo(r,(e,t)=>{uo(e)&&(r[e]=(e,...n)=>(fo(e,Oc()),t(e,...n)))}),so(i===null?{}:b,r)}let w=e=>{e=x(e),o&&T.destroy(),o=new Q(e,C())};F(()=>a,()=>{o&&lo(C(),(e,t)=>{o?.option(e,t)})},{deep:!0});let T={option:(e,t)=>o?.option(e,t),destroy:()=>{o?.destroy(),o=null},save:()=>o?.save(),toArray:()=>o?.toArray(),closest:(...e)=>o?.closest(...e)};return wc(()=>{s&&w()}),Cc(T.destroy),Ga({start:w,pause:()=>T?.option(`disabled`,!0),resume:()=>T?.option(`disabled`,!1)},T)}var jc=[`update`,`start`,`add`,`remove`,`choose`,`unchoose`,`end`,`sort`,`filter`,`clone`,`move`,`change`],Mc=d({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`,...jc.map(e=>`on${e.replace(/^\S/,e=>e.toUpperCase())}`)],emits:[`update:modelValue`,...jc],setup(e,{slots:t,emit:n,expose:r,attrs:i}){let a=jc.reduce((e,t)=>{let r=`on${t.replace(/^\S/,e=>e.toUpperCase())}`;return e[r]=(...e)=>n(t,...e),e},{}),o=D(()=>{let t=c(e),{modelValue:n}=t,r=Ka(t,[`modelValue`]),o=Object.entries(r).reduce((e,[t,n])=>{let r=f(n);return r!==void 0&&(e[t]=r),e},{});return Ga(Ga({},a),Qa(Ga(Ga({},i),o)))}),s=D({get:()=>e.modelValue,set:e=>n(`update:modelValue`,e)}),l=H(),u=g(Ac(e.target||l,s,o));return r(u),()=>Ee(e.tag||`div`,{ref:l},(t?.default)?.call(t,u))}}),Nc={mounted:`mounted`,unmounted:`unmounted`};Nc.mounted,Nc.unmounted;var Pc={class:`config-log-parsers`},Fc={class:`config-card`},Ic={class:`config-card__header`},Lc={class:`config-card__hint`},Rc={class:`config-card`},zc={class:`config-card__header`},Bc={class:`config-card__header-hint`},Vc={class:`config-log-parsers__order`},Hc={class:`config-log-parsers__name`},Uc={key:1,class:`config-log-parsers__empty`},Wc={class:`config-log-parsers__add-row`},Gc={class:`config-log-parsers__footer`},Kc=v(d({__name:`ServiceConfigLogs`,props:{service:{}},emits:[`save`],setup(e,{emit:n}){let o=e,s=n,c=ce(),{t:l}=pe(),u=Je(),d=H([...o.service.parserIds??[]]);F(()=>o.service,e=>{d.value=[...e.parserIds??[]]});let p=D(()=>[...u.parsers].filter(e=>e.enabled).sort((e,t)=>e.name.localeCompare(t.name))),m=D(()=>p.value.filter(e=>!d.value.includes(e.id))),h=H(d.value.map(e=>u.parsers.find(t=>t.id===e)).filter(e=>e!==void 0));F(d,e=>{let t=h.value.filter(t=>e.includes(t.id)),n=e.filter(e=>!t.find(t=>t.id===e)).map(e=>u.parsers.find(t=>t.id===e)).filter(e=>e!==void 0);h.value=[...t,...n]}),F(()=>u.parsers,()=>{h.value=d.value.map(e=>u.parsers.find(t=>t.id===e)).filter(e=>e!==void 0)});let g=H(null);function _(e){if(!e)return;let t=u.parsers.find(t=>t.id===e);t&&(d.value=[...d.value,e],h.value=[...h.value,t],g.value=null,S())}function v(e){d.value=d.value.filter(t=>t!==e),h.value=h.value.filter(t=>t.id!==e),S()}function y(){d.value=h.value.map(e=>e.id),S()}function S(){s(`save`,{parserIds:h.value.map(e=>e.id)})}return t(()=>{u.fetchParsers(),u.subscribeParsers()}),ve(()=>{u.unsubscribeParsers()}),(e,t)=>(B(),L(`div`,Pc,[a(`div`,Fc,[a(`div`,Ic,[t[3]||=a(`i`,{class:`pi pi-code`},null,-1),a(`span`,null,r(f(l)(`serviceConfigLogs.jsParsers`)),1)]),a(`small`,Lc,r(f(l)(`serviceConfigLogs.jsParsersHint`)),1)]),a(`div`,Rc,[a(`div`,zc,[t[4]||=a(`i`,{class:`pi pi-sort-alt`},null,-1),a(`span`,null,r(f(l)(`serviceConfigLogs.executionOrder`)),1),a(`small`,Bc,r(f(l)(`serviceConfigLogs.executionOrderHint`)),1)]),h.value.length>0?(B(),i(f(Mc),{key:0,modelValue:h.value,"onUpdate:modelValue":t[0]||=e=>h.value=e,animation:150,handle:`.drag-handle`,class:`config-log-parsers__drag-list`,"data-testid":`log-parsers-drag-list`,onEnd:y},{default:N(()=>[(B(!0),L(E,null,M(h.value,(e,n)=>(B(),L(`div`,{key:e.id,class:`config-log-parsers__drag-row`,"data-testid":`log-parsers-drag-row`},[t[5]||=a(`span`,{class:`drag-handle`,"data-testid":`drag-handle`},[a(`i`,{class:`pi pi-bars`})],-1),a(`span`,Vc,r(n+1),1),a(`span`,Hc,r(e.name),1),e.builtin?(B(),i(f(ue),{key:0,severity:`secondary`,class:`config-log-parsers__builtin-badge`},{default:N(()=>[b(r(f(l)(`serviceConfigLogs.builtin`)),1)]),_:1})):x(``,!0),e.enabled?x(``,!0):(B(),i(f(ue),{key:1,severity:`warn`,class:`config-log-parsers__disabled-badge`},{default:N(()=>[b(r(f(l)(`serviceConfigLogs.disabled`)),1)]),_:1})),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,class:`config-log-parsers__delete`,onClick:t=>v(e.id)},null,8,[`onClick`])]))),128))]),_:1},8,[`modelValue`])):x(``,!0),h.value.length===0?(B(),L(`div`,Uc,r(f(l)(`serviceConfigLogs.empty`)),1)):x(``,!0),a(`div`,Wc,[C(f(ne),{modelValue:g.value,"onUpdate:modelValue":[t[1]||=e=>g.value=e,_],options:m.value,"option-label":`name`,"option-value":`id`,placeholder:f(l)(`serviceConfigLogs.addParser`),class:`config-log-parsers__add-select`,loading:f(u).loading,disabled:m.value.length===0},{option:N(({option:e})=>[a(`span`,null,r(e.name),1),e.builtin?(B(),i(f(ue),{key:0,severity:`secondary`,class:`ml-2`,style:{"font-size":`0.65rem`,padding:`0.1rem 0.35rem`}},{default:N(()=>[b(r(f(l)(`serviceConfigLogs.builtin`)),1)]),_:1})):x(``,!0)]),_:1},8,[`modelValue`,`options`,`placeholder`,`loading`,`disabled`])])]),a(`div`,Gc,[C(f(k),{label:f(l)(`serviceConfigLogs.manageParsers`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,size:`small`,onClick:t[2]||=e=>f(c).push({name:`settings`,query:{section:`parsers`}})},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-73b711b6`]]),qc={class:`config-log-sources`},Jc={class:`config-card`},Yc={class:`config-card__header`},Xc={class:`config-card__hint`},Zc={key:0,class:`config-card config-card--list`},Qc={class:`source-row__info`},$c={class:`source-row__type`},el={class:`source-row__label`},tl={class:`source-row__actions`},nl={key:1,class:`config-log-sources__empty`},rl={class:`config-log-sources__footer`},il={class:`dialog-form`},al={class:`dialog-form__field`},ol={for:`lsrc-type`,class:`dialog-form__label`},sl={class:`dialog-form__field`},cl={for:`lsrc-path-file`,class:`dialog-form__label`},ll={class:`dialog-form__field`},ul={for:`lsrc-encoding-file`,class:`dialog-form__label`},dl={class:`dialog-form__field dialog-form__field--row`},fl={for:`lsrc-startFromEnd-file`,class:`dialog-form__label`},pl={class:`dialog-form__field dialog-form__field--row`},ml={for:`lsrc-createIfNotExists-file`,class:`dialog-form__label`},hl={class:`dialog-form__field`},gl={for:`lsrc-connectionString-mongo`,class:`dialog-form__label`},_l={class:`dialog-form__row`},vl={class:`dialog-form__field`},yl={class:`dialog-form__field`},bl={class:`dialog-form__row`},xl={class:`dialog-form__field`},Sl={class:`dialog-form__field`},Cl={class:`dialog-form__field`},wl={class:`dialog-form__row`},Tl={class:`dialog-form__field dialog-form__field--grow`},El={class:`dialog-form__field dialog-form__field--port`},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__row`},Ll={class:`dialog-form__field`},Rl={class:`dialog-form__field`},zl={class:`dialog-form__field`},Bl={key:3,class:`dialog-form__hint-block`},Vl=v(d({__name:`ServiceConfigLogSources`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=pe(),i=e,o=t,s=[{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 c(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 l=H([...i.service.logSources??[]]);F(()=>i.service.logSources,e=>{l.value=[...e??[]]});let u=H(!1),d=H(null),p=H(c(`console`));function m(){d.value=null,p.value=c(`file`),u.value=!0}function h(e){d.value=e,p.value={...l.value[e]},u.value=!0}function g(e){p.value=c(e)}function _(){d.value===null?l.value=[...l.value,{...p.value}]:l.value=l.value.map((e,t)=>t===d.value?{...p.value}:e),u.value=!1,o(`save`,{logSources:l.value})}function v(e){l.value=l.value.filter((t,n)=>n!==e),o(`save`,{logSources:l.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 S(e){return e===`console`?`pi-terminal`:e===`file`?`pi-file`:`pi-database`}return(e,t)=>(B(),L(`div`,qc,[a(`div`,Jc,[a(`div`,Yc,[t[23]||=a(`i`,{class:`pi pi-inbox`},null,-1),a(`span`,null,r(f(n)(`serviceConfigLogSources.title`)),1)]),a(`small`,Xc,r(f(n)(`serviceConfigLogSources.hint`)),1)]),l.value.length>0?(B(),L(`div`,Zc,[(B(!0),L(E,null,M(l.value,(e,t)=>(B(),L(`div`,{key:t,class:`source-row`},[a(`i`,{class:xe(`pi ${S(e.type)} source-row__icon`)},null,2),a(`div`,Qc,[a(`span`,$c,r(e.type),1),a(`span`,el,r(y(e)),1)]),a(`div`,tl,[C(f(k),{icon:`pi pi-pencil`,text:``,size:`small`,severity:`secondary`,onClick:e=>h(t)},null,8,[`onClick`]),C(f(k),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:e=>v(t)},null,8,[`onClick`])])]))),128))])):(B(),L(`div`,nl,[t[24]||=a(`i`,{class:`pi pi-inbox config-log-sources__empty-icon`},null,-1),a(`p`,null,r(f(n)(`serviceConfigLogSources.empty`)),1),a(`small`,null,r(f(n)(`serviceConfigLogSources.emptyHint`)),1)])),a(`div`,rl,[C(f(k),{label:f(n)(`serviceConfigLogSources.addSource`),icon:`pi pi-plus`,size:`small`,onClick:m},null,8,[`label`])]),C(f(De),{visible:u.value,"onUpdate:visible":t[22]||=e=>u.value=e,header:d.value===null?f(n)(`serviceConfigLogSources.addDialog`):f(n)(`serviceConfigLogSources.editDialog`),modal:``,style:{width:`520px`}},{footer:N(()=>[C(f(k),{label:f(n)(`serviceConfigLogSources.cancel`),severity:`secondary`,outlined:``,onClick:t[21]||=e=>u.value=!1},null,8,[`label`]),C(f(k),{label:d.value===null?f(n)(`serviceConfigLogSources.add`):f(n)(`serviceConfigLogSources.save`),icon:`pi pi-check`,onClick:_},null,8,[`label`])]),default:N(()=>[a(`div`,il,[a(`div`,al,[a(`label`,ol,r(f(n)(`serviceConfigLogSources.type`)),1),C(f(ne),{"input-id":`lsrc-type`,"model-value":p.value.type,options:s,"option-label":`label`,"option-value":`value`,class:`dialog-form__input`,"onUpdate:modelValue":g},null,8,[`model-value`])]),p.value.type===`file`?(B(),L(E,{key:0},[a(`div`,sl,[a(`label`,cl,[b(r(f(n)(`serviceConfigLogSources.path`))+` `,1),t[25]||=a(`span`,{class:`dialog-form__required`},`*`,-1)]),C(f(R),{id:`lsrc-path-file`,modelValue:p.value.path,"onUpdate:modelValue":t[0]||=e=>p.value.path=e,class:`dialog-form__input`,placeholder:`/var/log/app.log`},null,8,[`modelValue`])]),a(`div`,ll,[a(`label`,ul,r(f(n)(`serviceConfigLogSources.encoding`)),1),C(f(R),{id:`lsrc-encoding-file`,modelValue:p.value.encoding,"onUpdate:modelValue":t[1]||=e=>p.value.encoding=e,class:`dialog-form__input`,placeholder:`utf-8`},null,8,[`modelValue`])]),a(`div`,dl,[a(`label`,fl,r(f(n)(`serviceConfigLogSources.startFromEnd`)),1),C(f(Fe),{"input-id":`lsrc-startFromEnd-file`,modelValue:p.value.startFromEnd,"onUpdate:modelValue":t[2]||=e=>p.value.startFromEnd=e},null,8,[`modelValue`])]),a(`div`,pl,[a(`label`,ml,r(f(n)(`serviceConfigLogSources.createIfNotExists`)),1),C(f(Fe),{"input-id":`lsrc-createIfNotExists-file`,modelValue:p.value.createIfNotExists,"onUpdate:modelValue":t[3]||=e=>p.value.createIfNotExists=e},null,8,[`modelValue`])])],64)):p.value.type===`mongo`?(B(),L(E,{key:1},[a(`div`,hl,[a(`label`,gl,[b(r(f(n)(`serviceConfigLogSources.connectionString`))+` `,1),t[26]||=a(`span`,{class:`dialog-form__required`},`*`,-1)]),C(f(R),{id:`lsrc-connectionString-mongo`,modelValue:p.value.connectionString,"onUpdate:modelValue":t[4]||=e=>p.value.connectionString=e,class:`dialog-form__input`,placeholder:`mongodb://user:pass@host:27017`,type:`password`,autocomplete:`off`},null,8,[`modelValue`])]),a(`div`,_l,[a(`div`,vl,[t[27]||=a(`label`,{for:`lsrc-database-mongo`,class:`dialog-form__label`},[b(`Database `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-database-mongo`,modelValue:p.value.database,"onUpdate:modelValue":t[5]||=e=>p.value.database=e,class:`dialog-form__input`,placeholder:`mydb`},null,8,[`modelValue`])]),a(`div`,yl,[t[28]||=a(`label`,{for:`lsrc-collection-mongo`,class:`dialog-form__label`},[b(`Collection `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-collection-mongo`,modelValue:p.value.collection,"onUpdate:modelValue":t[6]||=e=>p.value.collection=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),a(`div`,bl,[a(`div`,xl,[t[29]||=a(`label`,{for:`lsrc-timestampField-mongo`,class:`dialog-form__label`},`Timestamp field`,-1),C(f(R),{id:`lsrc-timestampField-mongo`,modelValue:p.value.timestampField,"onUpdate:modelValue":t[7]||=e=>p.value.timestampField=e,class:`dialog-form__input`,placeholder:`timestamp`},null,8,[`modelValue`])]),a(`div`,Sl,[t[30]||=a(`label`,{for:`lsrc-messageField-mongo`,class:`dialog-form__label`},`Message field`,-1),C(f(R),{id:`lsrc-messageField-mongo`,modelValue:p.value.messageField,"onUpdate:modelValue":t[8]||=e=>p.value.messageField=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),a(`div`,Cl,[t[31]||=a(`label`,{for:`lsrc-levelField-mongo`,class:`dialog-form__label`},[b(`Level field `),a(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),C(f(R),{id:`lsrc-levelField-mongo`,modelValue:p.value.levelField,"onUpdate:modelValue":t[9]||=e=>p.value.levelField=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])])],64)):p.value.type===`mysql`?(B(),L(E,{key:2},[a(`div`,wl,[a(`div`,Tl,[t[32]||=a(`label`,{for:`lsrc-host-mysql`,class:`dialog-form__label`},[b(`Host `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-host-mysql`,modelValue:p.value.host,"onUpdate:modelValue":t[10]||=e=>p.value.host=e,class:`dialog-form__input`,placeholder:`localhost`},null,8,[`modelValue`])]),a(`div`,El,[t[33]||=a(`label`,{for:`lsrc-port-mysql`,class:`dialog-form__label`},`Port`,-1),C(f(Ne),{"input-id":`lsrc-port-mysql`,modelValue:p.value.port,"onUpdate:modelValue":t[11]||=e=>p.value.port=e,min:1,max:65535,class:`dialog-form__input`},null,8,[`modelValue`])])]),a(`div`,Dl,[a(`div`,Ol,[t[34]||=a(`label`,{for:`lsrc-user-mysql`,class:`dialog-form__label`},[b(`User `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-user-mysql`,modelValue:p.value.user,"onUpdate:modelValue":t[12]||=e=>p.value.user=e,class:`dialog-form__input`,placeholder:`root`},null,8,[`modelValue`])]),a(`div`,kl,[t[35]||=a(`label`,{for:`lsrc-password-mysql`,class:`dialog-form__label`},`Password`,-1),C(f(R),{id:`lsrc-password-mysql`,modelValue:p.value.password,"onUpdate:modelValue":t[13]||=e=>p.value.password=e,class:`dialog-form__input`,type:`password`,autocomplete:`new-password`},null,8,[`modelValue`])])]),a(`div`,Al,[a(`div`,jl,[t[36]||=a(`label`,{for:`lsrc-database-mysql`,class:`dialog-form__label`},[b(`Database `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-database-mysql`,modelValue:p.value.database,"onUpdate:modelValue":t[14]||=e=>p.value.database=e,class:`dialog-form__input`,placeholder:`app_db`},null,8,[`modelValue`])]),a(`div`,Ml,[t[37]||=a(`label`,{for:`lsrc-table-mysql`,class:`dialog-form__label`},[b(`Table `),a(`span`,{class:`dialog-form__required`},`*`)],-1),C(f(R),{id:`lsrc-table-mysql`,modelValue:p.value.table,"onUpdate:modelValue":t[15]||=e=>p.value.table=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),a(`div`,Nl,[a(`div`,Pl,[t[38]||=a(`label`,{for:`lsrc-timestampColumn-mysql`,class:`dialog-form__label`},`Timestamp column`,-1),C(f(R),{id:`lsrc-timestampColumn-mysql`,modelValue:p.value.timestampColumn,"onUpdate:modelValue":t[16]||=e=>p.value.timestampColumn=e,class:`dialog-form__input`,placeholder:`created_at`},null,8,[`modelValue`])]),a(`div`,Fl,[t[39]||=a(`label`,{for:`lsrc-messageColumn-mysql`,class:`dialog-form__label`},`Message column`,-1),C(f(R),{id:`lsrc-messageColumn-mysql`,modelValue:p.value.messageColumn,"onUpdate:modelValue":t[17]||=e=>p.value.messageColumn=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),a(`div`,Il,[a(`div`,Ll,[t[40]||=a(`label`,{for:`lsrc-levelColumn-mysql`,class:`dialog-form__label`},[b(`Level column `),a(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),C(f(R),{id:`lsrc-levelColumn-mysql`,modelValue:p.value.levelColumn,"onUpdate:modelValue":t[18]||=e=>p.value.levelColumn=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])]),a(`div`,Rl,[t[41]||=a(`label`,{for:`lsrc-pollIntervalMs-mysql`,class:`dialog-form__label`},`Poll interval (ms)`,-1),C(f(Ne),{"input-id":`lsrc-pollIntervalMs-mysql`,modelValue:p.value.pollIntervalMs,"onUpdate:modelValue":t[19]||=e=>p.value.pollIntervalMs=e,min:500,max:6e4,class:`dialog-form__input`},null,8,[`modelValue`])])]),a(`div`,zl,[t[42]||=a(`label`,{for:`lsrc-query-mysql`,class:`dialog-form__label`},[b(`Custom query `),a(`span`,{class:`dialog-form__hint`},[b(`(optional, must include `),a(`code`,null,`WHERE … > ?`),b(`)`)])],-1),C(f(R),{id:`lsrc-query-mysql`,modelValue:p.value.query,"onUpdate:modelValue":t[20]||=e=>p.value.query=e,class:`dialog-form__input`,placeholder:`SELECT * FROM logs WHERE created_at > ? ORDER BY id ASC`},null,8,[`modelValue`])])],64)):p.value.type===`console`?(B(),L(`small`,Bl,`The console source captures stdout/stderr and is always active. Adding it here has no effect unless you want to track it explicitly.`)):x(``,!0)])]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-1ceb461a`]]),Hl={class:`config-traefik`},Ul={class:`traefik-entry__fields`},Wl=v(d({__name:`ServiceConfigTraefik`,props:{service:{}},emits:[`save`],setup(e,{emit:n}){let r=e,s=n,c=H([...r.service.localUrls??[]]),l=H(null);t(async()=>{r.service.agentId&&(l.value=(await o.settings.getAgentTraefikConfig.query({agentId:r.service.agentId})).enabled)});let u=null;F(()=>r.service,e=>{u||(c.value=[...e.localUrls??[]])});function d(){c.value=[...c.value,{url:``,port:3e3}]}function p(e){c.value=c.value.filter((t,n)=>n!==e),h()}function m(e,t,n){c.value=c.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function h(){u&&clearTimeout(u),u=setTimeout(()=>{s(`save`,{localUrls:c.value.filter(e=>e.url.trim())}),u=null},150)}return(e,t)=>(B(),L(`div`,Hl,[l.value===!1?(B(),i(f(ee),{key:0,severity:`warn`,closable:!1},{default:N(()=>[t[1]||=b(` Traefik n'est pas activé. Configurez-le dans `,-1),C(f(j),{to:{name:`settings`,query:{section:`agents`}}},{default:N(()=>[...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})):x(``,!0),(B(!0),L(E,null,M(c.value,(e,t)=>(B(),L(`div`,{key:t,class:`traefik-entry`},[a(`div`,Ul,[C(f(R),{"model-value":e.url,class:`traefik-entry__url`,placeholder:`mon-app.local.mondomaine.com`,"onUpdate:modelValue":e=>m(t,`url`,e),onBlur:h,onKeydown:V(P(h,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`]),C(f(Ne),{"model-value":e.port,class:`traefik-entry__port`,min:1,max:65535,"use-grouping":!1,placeholder:`3000`,"onUpdate:modelValue":e=>{m(t,`port`,e??3e3),h()}},null,8,[`model-value`,`onUpdate:modelValue`]),C(f(k),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,onClick:e=>p(t)},null,8,[`onClick`])])]))),128)),C(f(k),{icon:`pi pi-plus`,label:`Ajouter une URL`,size:`small`,outlined:``,onClick:d})]))}}),[[`__scopeId`,`data-v-a71f945b`]]),Gl={class:`config-view`,"data-testid":`config-view`},Kl={class:`config-view__header`},ql={class:`config-view__title`},Jl={class:`config-view__actions`},Yl=v(d({__name:`ServiceConfigView`,props:{service:{},projectId:{}},emits:[`remove-service`],setup(e,{emit:t}){let i=e,o=t,{t:s}=pe(),c=me(),u=l(),d=A(),{isDebug:p}=ln(),m=n(),h=ce(),g=[`general`,`commands`,`shortcuts`,`env`,`health`,`log-parsers`,`log-sources`,`traefik`],_=D(()=>{let e=m.query.configTab;return g.includes(e)?e:`general`});function v(e){h.replace({query:{...m.query,configTab:e}})}let y=D(()=>u.getByRef({id:i.projectId,orgId:d.activeOrgId})?.activeEnvironmentId);async function b(e,t){await t()?p.value&&console.debug(`[autosave] ${e} saved`):console.error(`[autosave] ${e} failed:`,c.error??`Save failed`)}async function x(e){await b(`General`,()=>c.update(i.service.id,e))}async function S(e){await b(`Commands`,()=>c.update(i.service.id,e))}async function w(e){await b(`Health check`,()=>c.update(i.service.id,{healthCheck:e??null}))}async function T(e){await b(`Shortcuts`,()=>c.update(i.service.id,{shortcuts:e}))}async function E(e){await b(`Docker`,()=>c.update(i.service.id,{dockerConfig:e}))}async function ee(e){await b(`Log parsers`,()=>c.update(i.service.id,e))}async function O(e){await b(`Log sources`,()=>c.update(i.service.id,e))}async function j(e){await b(`Traefik`,()=>c.update(i.service.id,e))}function te(){o(`remove-service`,i.service.id)}return(t,n)=>(B(),L(`div`,Gl,[a(`div`,Kl,[a(`h2`,ql,r(f(s)(`serviceConfigView.title`)),1),a(`div`,Jl,[C(f(k),{label:f(s)(`serviceConfigView.remove`),icon:`pi pi-trash`,severity:`danger`,size:`small`,outlined:``,onClick:te},null,8,[`label`])])]),C(f(Re),{value:_.value,class:`config-view__tabs`,"onUpdate:value":v},{default:N(()=>[C(f(Ie),null,{default:N(()=>[C(f(ze),{value:`general`,"data-testid":`tab-config`},{default:N(()=>[n[0]||=a(`i`,{class:`pi pi-cog tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabGeneral`)),1)]),_:1}),C(f(ze),{value:`commands`,"data-testid":`tab-commands`},{default:N(()=>[n[1]||=a(`i`,{class:`pi pi-code tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabCommands`)),1)]),_:1}),C(f(ze),{value:`shortcuts`,"data-testid":`tab-shortcuts`},{default:N(()=>[n[2]||=a(`i`,{class:`pi pi-bolt tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabShortcuts`)),1)]),_:1}),C(f(ze),{value:`env`,"data-testid":`tab-env`},{default:N(()=>[n[3]||=a(`i`,{class:`pi pi-database tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabEnvironment`)),1)]),_:1}),C(f(ze),{value:`health`},{default:N(()=>[n[4]||=a(`i`,{class:`pi pi-heart tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabHealthCheck`)),1)]),_:1}),C(f(ze),{value:`log-parsers`,"data-testid":`tab-log-parsers`},{default:N(()=>[n[5]||=a(`i`,{class:`pi pi-list tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabLogParsers`)),1)]),_:1}),C(f(ze),{value:`log-sources`},{default:N(()=>[n[6]||=a(`i`,{class:`pi pi-inbox tab-icon`},null,-1),a(`span`,null,r(f(s)(`serviceConfigView.tabLogSources`)),1)]),_:1}),C(f(ze),{value:`traefik`},{default:N(()=>[...n[7]||=[a(`i`,{class:`pi pi-server tab-icon`},null,-1),a(`span`,null,`Traefik`,-1)]]),_:1})]),_:1}),C(f(Le),null,{default:N(()=>[C(f(Be),{value:`general`},{default:N(()=>[C(Gn,{service:e.service,onSave:x},null,8,[`service`])]),_:1}),C(f(Be),{value:`commands`},{default:N(()=>[C(vi,{service:e.service,onSave:S,onDockerSave:E},null,8,[`service`])]),_:1}),C(f(Be),{value:`shortcuts`,"data-testid":`tabpanel-shortcuts`},{default:N(()=>[C(za,{service:e.service,onSave:T},null,8,[`service`])]),_:1}),C(f(Be),{value:`env`},{default:N(()=>[C(ia,{service:e.service,"project-id":e.projectId,"active-environment-id":y.value},null,8,[`service`,`project-id`,`active-environment-id`])]),_:1}),C(f(Be),{value:`health`},{default:N(()=>[C(Da,{service:e.service,onSave:w},null,8,[`service`])]),_:1}),C(f(Be),{value:`log-parsers`,"data-testid":`tabpanel-log-parsers`},{default:N(()=>[C(Kc,{service:e.service,onSave:ee},null,8,[`service`])]),_:1}),C(f(Be),{value:`log-sources`},{default:N(()=>[C(Vl,{service:e.service,onSave:O},null,8,[`service`])]),_:1}),C(f(Be),{value:`traefik`},{default:N(()=>[C(Wl,{service:e.service,onSave:j},null,8,[`service`])]),_:1})]),_:1})]),_:1},8,[`value`])]))}}),[[`__scopeId`,`data-v-af965568`]]),Xl={key:0,class:`service-detail`},Zl={key:1,class:`service-detail__not-found`},Ql={key:2,class:`service-detail__not-found`},$l=v(d({__name:`ServiceDetailPage`,setup(e){let t=n(),o=ce(),s=re(),c=fe(),{t:d}=pe(),m=me(),h=ae(),g=l(),{setServiceContext:_}=p(),v=D(()=>t.params.id);F(v,e=>_(e),{immediate:!0}),ve(()=>_(null));let y=D(()=>{let e=t.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`||e===`wiki`?e:`terminal`}),b=H(null),S=H(!1),C=D(()=>m.getById(v.value)||(b.value?.id===v.value?b.value:null));F(v,async e=>{if(b.value=null,!(!e||m.getById(e))){S.value=!0;try{b.value=await m.fetchOne(e)}finally{S.value=!1}}},{immediate:!0});let w=D(()=>h.getByService(v.value)),T=D(()=>g.currentProject?.id??``);function E(e){let t=m.getById(e);c.require({message:d(`serviceDetail.deleteConfirmMessage`,{name:t?.name??e}),header:d(`serviceDetail.deleteConfirmHeader`),icon:`pi pi-exclamation-triangle`,rejectLabel:d(`actions.cancel`),acceptLabel:d(`actions.delete`),acceptProps:{severity:`danger`},accept:async()=>{await m.remove(e)&&(s.add({severity:`success`,summary:d(`serviceDetail.removed`),detail:d(`serviceDetail.deleted`),life:3e3}),o.push(`/`))}})}return(e,t)=>C.value?(B(),L(`div`,Xl,[y.value===`terminal`?(B(),i(Gt,{key:`terminal-`+v.value,service:C.value,processes:w.value},null,8,[`service`,`processes`])):y.value===`metrics`?(B(),i(nn,{key:`metrics-`+v.value,service:C.value,processes:w.value},null,8,[`service`,`processes`])):y.value===`config`?(B(),i(Yl,{key:`config-`+v.value,service:C.value,"project-id":T.value,onRemoveService:E},null,8,[`service`,`project-id`])):y.value===`git`?(B(),i(u,{key:`git-`+v.value,"service-id":v.value},null,8,[`service-id`])):y.value===`wiki`?(B(),i(Ye,{key:`wiki-`+v.value,scope:`service:${v.value}`},null,8,[`scope`])):x(``,!0)])):S.value?(B(),L(`div`,Zl)):(B(),L(`div`,Ql,[a(`p`,null,r(f(d)(`serviceDetail.notFound`)),1)]))}}),[[`__scopeId`,`data-v-e5220f62`]]);export{$l as default};
@@ -1 +0,0 @@
1
- import{$i as e,$n as t,Da as n,Ei as r,En as i,Gt as ee,Ii as a,Ja as o,La as te,Ln as s,Oi as c,Pi as l,Si as u,Ti as d,Vn as f,Xt as ne,aa as re,an as p,ar as ie,ba as ae,bi as m,d as oe,er as se,ki as h,lr as ce,lt as le,ot as ue,pn as g,qt as _,ra as v,xn as de,yi as y,za as b}from"./index-Q9nkGIct.js";import{n as x}from"./plus-BmifHgiX.js";import{t as fe}from"./fieldset-CSn4dPXR.js";import{t as pe}from"./toggleswitch-CqZ2j960.js";import{t as me}from"./autocomplete-CsyixLlY.js";import{t as S}from"./divider-DUL-UFyL.js";var he={class:`service-form-page`},ge={class:`page-header`},_e={key:0,class:`restart-banner`},ve={key:1,class:`loading-container`},ye={class:`form-section`},be={class:`form-group`},C={for:`svc-project`},w={class:`form-hint`},T={class:`form-group`},E={for:`svc-agent`},D={class:`form-hint`},O={class:`form-group`},k={for:`svc-name`},A={class:`form-hint`},j={class:`form-actions`},M={class:`form-section`},N={class:`form-row`},xe={class:`form-group flex-1`},Se={for:`svc-name-edit`},Ce={class:`form-group`,style:{width:`160px`}},we={for:`svc-runner`},Te={class:`form-group`},Ee={for:`svc-agent-edit`},De={class:`form-hint`},Oe={class:`form-row`},ke={class:`form-group flex-1`},Ae={for:`svc-cwd`},je={class:`form-group`,style:{"min-width":`200px`}},Me={for:`svc-ports`},Ne={class:`form-group switch-group`},Pe={for:`svc-autorestart`},Fe={class:`form-section`},P={class:`section-header`},Ie={key:0,class:`empty-env`},Le={class:`form-group`},Re={for:`hc-path`},ze={class:`form-row`},Be={class:`form-group flex-1`},Ve={for:`hc-interval`},He={class:`form-group flex-1`},Ue={for:`hc-timeout`},We={class:`form-group flex-1`},Ge={for:`hc-retries`},F=`__inherit__`,I=s(a({__name:`ServiceFormPage`,props:{id:{}},setup(a){let s=a,I=se(),Ke=t(),L=ie(),R=ee(),z=le(),B=ue(),V=ne(),qe=oe(),{t:H}=ce(),U=d(()=>!!s.id),W=d(()=>Ke.query.projectId),G=b(!1),K=b(!1),q=b(null),J=b(null),Y=b(!1),X=te({projectId:``,agentId:F,name:``,cwd:``,ports:[],runner:`native`,autoRestart:!1,healthCheck:{enabled:!1,path:``,interval:3e4,timeout:5e3,retries:3}}),Z=b([]),Je=[{label:`Native`,value:`native`},{label:`Docker`,value:`docker`}],Ye=d(()=>R.projects.map(e=>({label:e.name,value:e.id}))),Q=d(()=>[{label:H(`serviceForm.agentInherit`),value:F},...B.agents.map(e=>({label:`${e.config.name} ${e.status.connected?`(Online)`:`(Offline)`}`,value:e.config.id}))]);function Xe(){Z.value=[...Z.value,{key:``,value:``,isSecret:!1}]}function Ze(e){Z.value=Z.value.filter((t,n)=>n!==e)}function Qe(){let e={},t=!1;for(let n of Z.value){let r=n.key.trim();r&&(e[r]={value:{value:n.value,pre:``,post:``,isSecret:n.isSecret}},t=!0)}return t?e:void 0}async function $e(){if(s.id){G.value=!0;try{let e=await i.service.get.query({id:s.id});X.agentId=e.agentId??F,X.name=e.name,X.cwd=e.cwd??``,X.ports=(e.ports??[]).map(String),X.runner=e.runner,X.autoRestart=e.autoRestart,e.healthCheck&&(X.healthCheck.enabled=!0,X.healthCheck.path=e.healthCheck.path,X.healthCheck.interval=e.healthCheck.interval,X.healthCheck.timeout=e.healthCheck.timeout,X.healthCheck.retries=e.healthCheck.retries),e.variables&&typeof e.variables==`object`&&Object.keys(e.variables).length>0&&(Z.value=Object.entries(e.variables).map(([e,t])=>{let n=t;return{key:e,value:n.value.value??``,isSecret:n.value.isSecret??!1}}))}catch(e){L.add({severity:`error`,summary:H(`serviceForm.error`),detail:_(e)??H(`serviceForm.failedToLoad`),life:5e3}),I.back()}finally{G.value=!1}}}async function $(){if(!(!U.value||!s.id||K.value||G.value)){if(!X.name.trim()){L.add({severity:`warn`,summary:H(`serviceForm.validation`),detail:H(`serviceForm.nameRequired`),life:3e3});return}K.value=!0;try{let e={agentId:X.agentId===F?null:X.agentId||null,name:X.name.trim(),cwd:X.cwd.trim()||void 0,ports:X.ports.map(Number).filter(e=>e>0&&e<=65535),runner:X.runner,autoRestart:X.autoRestart,variables:Qe(),healthCheck:X.healthCheck.enabled?{path:X.healthCheck.path,interval:X.healthCheck.interval,timeout:X.healthCheck.timeout,retries:X.healthCheck.retries}:void 0};(await i.service.update.mutate({id:s.id,...e}))?.stoppedForAgentChange?(q.value=e.agentId,J.value=s.id,L.add({severity:`warn`,summary:H(`serviceForm.saved`),detail:H(`serviceForm.agentChangedServiceStopped`),life:4e3})):L.add({severity:`success`,summary:H(`serviceForm.saved`),life:1500})}catch(e){L.add({severity:`error`,summary:H(`serviceForm.error`),detail:_(e)??H(`serviceForm.failedToSave`),life:5e3})}finally{K.value=!1}}}async function et(){if(!(!q.value||!J.value)){Y.value=!0;try{await qe.start(q.value,J.value),q.value=null,J.value=null,L.add({severity:`success`,summary:H(`serviceForm.restarted`),life:2e3})}catch(e){L.add({severity:`error`,summary:H(`serviceForm.error`),detail:_(e),life:5e3})}finally{Y.value=!1}}}async function tt(){if(!X.name.trim()){L.add({severity:`warn`,summary:H(`serviceForm.validation`),detail:H(`serviceForm.nameRequired`),life:3e3});return}if(!X.projectId){L.add({severity:`warn`,summary:H(`serviceForm.validation`),detail:H(`serviceForm.projectRequired`),life:3e3});return}K.value=!0;try{let e=await z.create({name:X.name.trim(),...X.agentId&&X.agentId!==F?{agentId:X.agentId}:{}});if(!e)throw Error(z.error??`Failed to create service`);let t=R.getByRef({id:X.projectId,orgId:V.activeOrgId})??R.getById(X.projectId);await R.addService(t??{id:X.projectId},e.id),L.add({severity:`success`,summary:H(`serviceForm.serviceCreated`),detail:H(`serviceForm.configureAfterCreate`),life:3e3}),I.push({name:`service-detail`,params:{id:e.id,tab:`config`}})}catch(e){L.add({severity:`error`,summary:H(`serviceForm.error`),detail:_(e)??H(`serviceForm.failedToSave`),life:5e3})}finally{K.value=!1}}return e(async()=>{await Promise.all([R.fetchAll(),B.fetchAll()]),W.value?X.projectId=W.value:!X.projectId&&V.activeProjectId&&(X.projectId=V.activeProjectId),U.value&&await $e()}),(e,t)=>(v(),h(`div`,he,[r(`div`,ge,[l(o(f),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:t[0]||=e=>o(I).back()}),r(`h1`,null,n(U.value?o(H)(`serviceForm.editTitle`):o(H)(`serviceForm.createTitle`)),1)]),J.value?(v(),h(`div`,_e,[r(`span`,null,n(o(H)(`serviceForm.agentChangedServiceStopped`)),1),l(o(f),{label:o(H)(`serviceForm.restartNow`),icon:`pi pi-play`,severity:`warning`,size:`small`,loading:Y.value,onClick:et},null,8,[`label`,`loading`]),l(o(f),{icon:`pi pi-times`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t[1]||=e=>{J.value=null,q.value=null}})])):c(``,!0),G.value?(v(),h(`div`,ve,[l(o(de))])):(v(),h(`form`,{key:2,class:`service-form`,onSubmit:m(tt,[`prevent`])},[U.value?(v(),h(u,{key:1},[r(`div`,M,[r(`div`,N,[r(`div`,xe,[r(`label`,Se,n(o(H)(`serviceForm.nameLabelShort`)),1),l(o(g),{id:`svc-name-edit`,modelValue:X.name,"onUpdate:modelValue":t[6]||=e=>X.name=e,placeholder:`my-service`,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),r(`div`,Ce,[r(`label`,we,n(o(H)(`serviceForm.runnerLabel`)),1),l(o(p),{id:`svc-runner`,modelValue:X.runner,"onUpdate:modelValue":t[7]||=e=>X.runner=e,options:Je,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`])])]),r(`div`,Te,[r(`label`,Ee,n(o(H)(`serviceForm.agentLabel`)),1),l(o(p),{id:`svc-agent-edit`,modelValue:X.agentId,"onUpdate:modelValue":t[8]||=e=>X.agentId=e,options:Q.value,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`,`options`]),r(`small`,De,n(o(H)(`serviceForm.agentHintEdit`)),1)]),r(`div`,Oe,[r(`div`,ke,[r(`label`,Ae,n(o(H)(`serviceForm.cwdLabel`)),1),l(o(g),{id:`svc-cwd`,modelValue:X.cwd,"onUpdate:modelValue":t[9]||=e=>X.cwd=e,placeholder:`.`,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),r(`div`,je,[r(`label`,Me,n(o(H)(`serviceForm.portsLabel`)),1),l(o(me),{inputId:`svc-ports`,modelValue:X.ports,"onUpdate:modelValue":t[10]||=e=>X.ports=e,multiple:``,typeahead:!1,placeholder:o(H)(`serviceForm.portsPlaceholder`),class:`w-full`,onChange:$},null,8,[`modelValue`,`placeholder`])])]),r(`div`,Ne,[l(o(pe),{modelValue:X.autoRestart,"onUpdate:modelValue":t[11]||=e=>X.autoRestart=e,inputId:`svc-autorestart`,onChange:$},null,8,[`modelValue`]),r(`label`,Pe,n(o(H)(`serviceForm.autoRestart`)),1)])]),l(o(S)),r(`div`,Fe,[r(`div`,P,[r(`h3`,null,n(o(H)(`serviceForm.envVars`)),1),l(o(f),{label:o(H)(`serviceForm.addEnvVar`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,onClick:Xe},null,8,[`label`])]),Z.value.length===0?(v(),h(`div`,Ie,[r(`small`,null,n(o(H)(`serviceForm.noEnvVars`)),1)])):c(``,!0),(v(!0),h(u,null,re(Z.value,(e,n)=>(v(),h(`div`,{key:n,class:`env-row`},[l(o(g),{modelValue:e.key,"onUpdate:modelValue":t=>e.key=t,placeholder:`KEY`,class:`env-key`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),t[17]||=r(`span`,{class:`env-eq`},`=`,-1),l(o(g),{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,placeholder:`value`,class:`env-value`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),l(o(f),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:()=>{Ze(n),$()}},null,8,[`onClick`])]))),128))]),l(o(S)),l(o(fe),{legend:o(H)(`serviceForm.healthCheck`),toggleable:!0,collapsed:!X.healthCheck.enabled,onToggle:t[16]||=e=>{X.healthCheck.enabled=!e.value,$()}},{default:ae(()=>[r(`div`,Le,[r(`label`,Re,n(o(H)(`serviceForm.healthCheckPath`)),1),l(o(g),{id:`hc-path`,modelValue:X.healthCheck.path,"onUpdate:modelValue":t[12]||=e=>X.healthCheck.path=e,placeholder:`/health`,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),r(`div`,ze,[r(`div`,Be,[r(`label`,Ve,n(o(H)(`serviceForm.interval`)),1),l(o(x),{id:`hc-interval`,modelValue:X.healthCheck.interval,"onUpdate:modelValue":t[13]||=e=>X.healthCheck.interval=e,min:1e3,step:1e3,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),r(`div`,He,[r(`label`,Ue,n(o(H)(`serviceForm.timeout`)),1),l(o(x),{id:`hc-timeout`,modelValue:X.healthCheck.timeout,"onUpdate:modelValue":t[14]||=e=>X.healthCheck.timeout=e,min:500,step:500,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),r(`div`,We,[r(`label`,Ge,n(o(H)(`serviceForm.retries`)),1),l(o(x),{id:`hc-retries`,modelValue:X.healthCheck.retries,"onUpdate:modelValue":t[15]||=e=>X.healthCheck.retries=e,min:0,max:20,class:`w-full`,onBlur:$,onKeydown:y(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])])]),_:1},8,[`legend`,`collapsed`]),l(o(S))],64)):(v(),h(u,{key:0},[r(`div`,ye,[r(`div`,be,[r(`label`,C,n(o(H)(`serviceForm.projectLabel`)),1),l(o(p),{id:`svc-project`,modelValue:X.projectId,"onUpdate:modelValue":t[2]||=e=>X.projectId=e,options:Ye.value,optionLabel:`label`,optionValue:`value`,placeholder:o(H)(`serviceForm.projectPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),r(`small`,w,n(o(H)(`serviceForm.projectHint`)),1)]),r(`div`,T,[r(`label`,E,n(o(H)(`serviceForm.agentLabel`)),1),l(o(p),{id:`svc-agent`,modelValue:X.agentId,"onUpdate:modelValue":t[3]||=e=>X.agentId=e,options:Q.value,optionLabel:`label`,optionValue:`value`,placeholder:o(H)(`serviceForm.agentInherit`),"show-clear":``,class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),r(`small`,D,n(o(H)(`serviceForm.agentHint`)),1)]),r(`div`,O,[r(`label`,k,n(o(H)(`serviceForm.nameLabel`)),1),l(o(g),{id:`svc-name`,modelValue:X.name,"onUpdate:modelValue":t[4]||=e=>X.name=e,placeholder:`my-service`,class:`w-full`},null,8,[`modelValue`]),r(`small`,A,n(o(H)(`serviceForm.nameConfigHint`)),1)])]),l(o(S)),r(`div`,j,[l(o(f),{label:o(H)(`serviceForm.cancel`),severity:`secondary`,text:``,onClick:t[5]||=e=>o(I).back()},null,8,[`label`]),l(o(f),{label:o(H)(`serviceForm.create`),icon:`pi pi-check`,loading:K.value,type:`submit`},null,8,[`label`,`loading`])])],64))],32))]))}}),[[`__scopeId`,`data-v-47e4793d`]]);export{I as default};