@runeya/runeya 2.0.13 → 2.0.16

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 (237) hide show
  1. package/agent/index.js +236 -15
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-7IDZTNVZ-HVRWIXYW.js +8 -0
  4. package/{chunk-AJW7LDO5.js → chunk-AHOJAT74.js} +9 -3
  5. package/chunk-AHOJAT74.js.map +1 -0
  6. package/{dist-HGCFHXO4.js → dist-P3HYK2SI.js} +334 -92
  7. package/dist-P3HYK2SI.js.map +1 -0
  8. package/index.js +1 -1
  9. package/package.json +1 -1
  10. package/web/assets/{AddressBar.vue-B6BOLYmO.js → AddressBar.vue-BZnGu8vW.js} +1 -1
  11. package/web/assets/{AgentScalarChatInterface.vue-DKSmjtvV.js → AgentScalarChatInterface.vue-QkKS0oIt.js} +1 -1
  12. package/web/assets/{AgentTerminalPage-BZ6jaRAs.js → AgentTerminalPage-CfI3DoEO.js} +1 -1
  13. package/web/assets/AiChatPage-C_j-aspS.js +1 -0
  14. package/web/assets/{AppLayout-B7-y0tBI.css → AppLayout-Cf8sRK63.css} +1 -1
  15. package/web/assets/{AppLayout-DnMCPCO8.js → AppLayout-CgU4s6lb.js} +1 -1
  16. package/web/assets/{AuditPage-CTdEvLE-.js → AuditPage-C42BeKr5.js} +1 -1
  17. package/web/assets/{CodeInput.vue-Sp2dM8hl.js → CodeInput.vue-BGBOdacc.js} +1 -1
  18. package/web/assets/{Collection.vue-CdPjaC9d.js → Collection.vue-Vub9L9if.js} +1 -1
  19. package/web/assets/{CollectionAuthentication.vue-DMPykUah.js → CollectionAuthentication.vue-DMa9nYTH.js} +1 -1
  20. package/web/assets/CollectionCookies.vue-Dr_bErXS.js +1 -0
  21. package/web/assets/{CollectionEnvironment.vue-DKab6xJJ.js → CollectionEnvironment.vue-CcS_RH1F.js} +1 -1
  22. package/web/assets/{CollectionOverview.vue-DlODh8Vk.js → CollectionOverview.vue-Cm3m-3IA.js} +1 -1
  23. package/web/assets/CollectionScripts.vue-DwfCDW_N.js +1 -0
  24. package/web/assets/{CollectionServers.vue-Br-QackN.js → CollectionServers.vue-CDU7RCJI.js} +1 -1
  25. package/web/assets/{CollectionSettings.vue-Cm6NQbDm.js → CollectionSettings.vue-QApKyKpx.js} +1 -1
  26. package/web/assets/CollectionSync.vue-2mc6W9Vb.js +1 -0
  27. package/web/assets/{CommandActionInput.vue-CZ3-rqSL.js → CommandActionInput.vue-CSydiKjM.js} +1 -1
  28. package/web/assets/{Cookies.vue-Duz-a-ga.js → Cookies.vue-2UMujX_l.js} +1 -1
  29. package/web/assets/DashboardPage-CSkUCQHY.css +1 -0
  30. package/web/assets/DashboardPage-Dt5zSm2a.js +1 -0
  31. package/web/assets/{DataTable.vue-Dorr-r7J.js → DataTable.vue-BKb6QQRz.js} +1 -1
  32. package/web/assets/{DataTableCheckbox.vue-CATn-YYp.js → DataTableCheckbox.vue-DC2n-xeZ.js} +1 -1
  33. package/web/assets/{DataTableHeader.vue-C3SUSaR8.js → DataTableHeader.vue-Cbolg5AE.js} +1 -1
  34. package/web/assets/{DataTableInput.vue-_06pwPUA.js → DataTableInput.vue-DoVPLXed.js} +1 -1
  35. package/web/assets/{DeleteSidebarListElement.vue-DoqRnMXx.js → DeleteSidebarListElement.vue-Br-Lvh7k.js} +1 -1
  36. package/web/assets/{EditSidebarListElement.vue-BqTw6Tho.js → EditSidebarListElement.vue-BVJ4wsTf.js} +1 -1
  37. package/web/assets/{EditorIcon-CbpIT0A1.js → EditorIcon-D3F3QHD_.js} +1 -1
  38. package/web/assets/{EmptyState.vue-Bur5L0a4.js → EmptyState.vue-DMCTVrXN.js} +1 -1
  39. package/web/assets/{Environment.vue-C50lH9cP.js → Environment.vue-CEBYjegx.js} +1 -1
  40. package/web/assets/{EnvironmentForm-BDfzXuHx.js → EnvironmentForm-D9pUNi_S.js} +1 -1
  41. package/web/assets/{EnvironmentFormPage-CLylRN6B.js → EnvironmentFormPage-BQwHvpiH.js} +1 -1
  42. package/web/assets/{EnvironmentListPage-DlUT6LnX.js → EnvironmentListPage-BEX6YTjm.js} +1 -1
  43. package/web/assets/{EnvironmentModal.vue-Dz5CArRX.js → EnvironmentModal.vue-Bipjnu_F.js} +1 -1
  44. package/web/assets/{EnvironmentSelector-DHoYUCTH.js → EnvironmentSelector-BsLO-o9W.js} +1 -1
  45. package/web/assets/{Form.vue-BzZCMgN1.js → Form.vue-CwujTuIH.js} +1 -1
  46. package/web/assets/{IconSelector.vue-BCmeqlrs.js → IconSelector.vue-xGa1snoB.js} +1 -1
  47. package/web/assets/KanbanBoardPage-CS0DFaYQ.js +2 -0
  48. package/web/assets/KanbanBoardPage-GHv836NO.css +1 -0
  49. package/web/assets/{KanbanListPage-BLdNz80q.js → KanbanListPage-BlycDa8i.js} +1 -1
  50. package/web/assets/{LaunchProjectPage-DjRA2D3h.js → LaunchProjectPage-CQPXVRR8.js} +1 -1
  51. package/web/assets/{LaunchServicesPage-CKaGcu3z.js → LaunchServicesPage-DIc47d5w.js} +1 -1
  52. package/web/assets/{LogViewer-CtX_6uFM.js → LogViewer-D-j9SP-8.js} +1 -1
  53. package/web/assets/{ProcessControls-BY-_9zo7.js → ProcessControls-D3MHr6vJ.js} +1 -1
  54. package/web/assets/{ProcessDetailPage-Bqis1qMA.js → ProcessDetailPage-DArVdn5O.js} +1 -1
  55. package/web/assets/{ProcessMetrics-DQybvwcA.js → ProcessMetrics-tRbudcTQ.js} +1 -1
  56. package/web/assets/{ProjectDetailPage-FBPonwd5.js → ProjectDetailPage-DQWbqmra.js} +1 -1
  57. package/web/assets/{ProjectListPage-xwlVXN8A.js → ProjectListPage-BArhG94f.js} +1 -1
  58. package/web/assets/{RandomJobTestPage-0pqne-FD.js → RandomJobTestPage-cx0kQXnf.js} +1 -1
  59. package/web/assets/{Request.vue-Db4XEPKt.js → Request.vue-B9DoYtI8.js} +1 -1
  60. package/web/assets/{RequestAuth.vue-CK1A6ySt.js → RequestAuth.vue-CqHxzl6g.js} +1 -1
  61. package/web/assets/{RequestRoot.vue-BLF0GGT5.js → RequestRoot.vue-C28ISMld.js} +1 -1
  62. package/web/assets/{ScalarAsciiArt.vue-BPdUsXWj.js → ScalarAsciiArt.vue-BYd0f-av.js} +1 -1
  63. package/web/assets/{ScalarIconEyeSlash.vue-BBDBShRO.js → ScalarIconEyeSlash.vue-Ct2ktTXq.js} +1 -1
  64. package/web/assets/{ScalarIconTrash.vue-Tpr15aNY.js → ScalarIconTrash.vue-DQO_gQ8s.js} +1 -1
  65. package/web/assets/{ScenarioEditorPage-DNuo-2Gi.js → ScenarioEditorPage-DP06DP64.js} +1 -1
  66. package/web/assets/{ServerVariablesForm.vue-XLQ145gw.js → ServerVariablesForm.vue-D11m7aiX.js} +1 -1
  67. package/web/assets/{ServiceControlsBar-CCTGcA1t.js → ServiceControlsBar-DMq83CtH.js} +1 -1
  68. package/web/assets/{ServiceDetailPage-BELECRic.css → ServiceDetailPage-BngfQIAo.css} +1 -1
  69. package/web/assets/ServiceDetailPage-Cn1MTG_u.js +2 -0
  70. package/web/assets/{ServiceFormPage-F3boRKs-.js → ServiceFormPage-CyIValC5.js} +1 -1
  71. package/web/assets/{Settings.vue-D_1yQu6i.js → Settings.vue-CCeUjK5z.js} +1 -1
  72. package/web/assets/{SettingsPage-CgJN_IL7.css → SettingsPage-BhGoaUHP.css} +1 -1
  73. package/web/assets/SettingsPage-LVnvVA93.js +225 -0
  74. package/web/assets/{SetupKeyPage-BcaSoLjU.js → SetupKeyPage-DOxR0hTs.js} +1 -1
  75. package/web/assets/{SetupPage-mCVAKLtm.js → SetupPage-DTQqk8IW.js} +1 -1
  76. package/web/assets/{Sidebar.vue-De4YlW0c.js → Sidebar.vue-BLpHEfAt.js} +1 -1
  77. package/web/assets/{SidebarButton.vue-CctYiTRp.js → SidebarButton.vue-CNMSjNtm.js} +1 -1
  78. package/web/assets/{SidebarListElement.vue-Cv7jUZIM.js → SidebarListElement.vue-DSsy6NQT.js} +1 -1
  79. package/web/assets/TiptapEditor-DzMKh7Iq.css +1 -0
  80. package/web/assets/TiptapEditor-TuQki585.js +181 -0
  81. package/web/assets/{UnlockPage-BSpzyZnd.js → UnlockPage-D4x8qq_i.js} +1 -1
  82. package/web/assets/{VariablesTable-Dn3IvplD.js → VariablesTable-BP8KuwPI.js} +1 -1
  83. package/web/assets/{ViewLayout.vue-fiagi8zc.js → ViewLayout.vue-Dui_p5J4.js} +1 -1
  84. package/web/assets/{ViewLayoutContent.vue-BehGrsED.js → ViewLayoutContent.vue-CZRQTJFb.js} +1 -1
  85. package/web/assets/{ViewLayoutSection.vue-D4icCgQI.js → ViewLayoutSection.vue-C87DZ2QU.js} +1 -1
  86. package/web/assets/WikiPage-BrgnqOvx.js +1 -0
  87. package/web/assets/WikiView-CMF4PzXp.css +1 -0
  88. package/web/assets/WikiView-Decl55xY.js +1 -0
  89. package/web/assets/{active-entities-CkBGjwu9.js → active-entities-DEkfqGrE.js} +1 -1
  90. package/web/assets/{api-reference-D1EfYtPj.js → api-reference-DP5iGzGP.js} +1 -1
  91. package/web/assets/{autocomplete-CjBHTJWh.js → autocomplete-DcAAfn0y.js} +1 -1
  92. package/web/assets/{card-CsmU2iiY.js → card-DyK4dvjg.js} +1 -1
  93. package/web/assets/{checkbox-B5XZqi1U.js → checkbox-Csn61_gJ.js} +1 -1
  94. package/web/assets/{chip-C4pSomPm.js → chip-DkjFl7f-.js} +1 -1
  95. package/web/assets/{column-CR3Hix4J.js → column-DyznW54C.js} +1 -1
  96. package/web/assets/{core-CtGUajLi.js → core-BXP8Yp-2.js} +1 -1
  97. package/web/assets/{cssMode-nuznbveH.js → cssMode-C9nCeku9.js} +1 -1
  98. package/web/assets/{dist--ZlcDulO.js → dist-DKLcX5kd.js} +1 -1
  99. package/web/assets/{dist-DH_zJr7W.js → dist-DM4_kDGf.js} +1 -1
  100. package/web/assets/{dist-WjGUyWSO.js → dist-DOfPSpzL.js} +1 -1
  101. package/web/assets/{dist-CXkMrHNP.js → dist-zqENM1-W.js} +1 -1
  102. package/web/assets/{divider-CnJlD7qO.js → divider-BJQexqne.js} +1 -1
  103. package/web/assets/{fieldset-D9zY6R6s.js → fieldset-BPm9DkKy.js} +1 -1
  104. package/web/assets/{freemarker2-Bw43sOne.js → freemarker2-BaJGEPal.js} +1 -1
  105. package/web/assets/{handlebars-C8qgW7u6.js → handlebars-BQFn9RdQ.js} +1 -1
  106. package/web/assets/{html-Dy9PKnkr.js → html-Cr5a-EYz.js} +1 -1
  107. package/web/assets/{htmlMode-o8EU0tqo.js → htmlMode-CC9GYLNa.js} +1 -1
  108. package/web/assets/{index-CIcE6DNv.js → index-CV_lCcKm.js} +5 -5
  109. package/web/assets/{javascript-CuRngcUR.js → javascript-mDqsZBlu.js} +1 -1
  110. package/web/assets/{jsonMode-CsUIxwQq.js → jsonMode-B54JAo3i.js} +1 -1
  111. package/web/assets/{keyboard-DhkINir5.js → keyboard-BALpgxzI.js} +1 -1
  112. package/web/assets/{lib-E9M4L9vE.js → lib-CbGVmNqI.js} +1 -1
  113. package/web/assets/{library-BXoSag-V.js → library-DL2YIihE.js} +1 -1
  114. package/web/assets/{liquid-CraMnqaK.js → liquid-DiGHjG_L.js} +1 -1
  115. package/web/assets/{mdx-DPSW5q1A.js → mdx-D6dV5_Hg.js} +1 -1
  116. package/web/assets/{mediaTypes-DDACekzr.js → mediaTypes-97PR9Ryv.js} +1 -1
  117. package/web/assets/{message-DKOCajc6.js → message-CkvY1zpy.js} +1 -1
  118. package/web/assets/{minus-CtlH9Syh.js → minus-Cz1A1nRX.js} +1 -1
  119. package/web/assets/{multiselect-sshNnjnF.js → multiselect-Cg_IvTVL.js} +1 -1
  120. package/web/assets/{password-Dv9g39jb.js → password-DnBPksM5.js} +1 -1
  121. package/web/assets/{plus-CG5Ui-l-.js → plus-DLza1kmt.js} +1 -1
  122. package/web/assets/{pretty-ms-D2BVTeMx.js → pretty-ms-CFs2lDEt.js} +1 -1
  123. package/web/assets/process.store-DOZqELYx.js +1 -0
  124. package/web/assets/{project.store-CVbXSH5d.js → project.store-1ZxiIOdG.js} +1 -1
  125. package/web/assets/{python-BLq8fVkV.js → python-CBOkbLwS.js} +1 -1
  126. package/web/assets/{radiobutton-Bz_ltBfM.js → radiobutton-Bzj_cgKU.js} +1 -1
  127. package/web/assets/{razor-CVrBU-Fk.js → razor-DbhB_XzZ.js} +1 -1
  128. package/web/assets/router-BXlVOZht.js +1 -0
  129. package/web/assets/{settings.store-vM-8jbAF.js → settings.store-Qq6Gc2CT.js} +1 -1
  130. package/web/assets/{store-CTKZgNiD.js → store-Cuguy-ft.js} +1 -1
  131. package/web/assets/{tabpanel-DaZzgdrv.js → tabpanel-BkIDALQ8.js} +1 -1
  132. package/web/assets/trpc-BFwMZelk.js +1 -0
  133. package/web/assets/{tsMode-DO5zEzzD.js → tsMode-B48YcNcc.js} +1 -1
  134. package/web/assets/{typescript-Do-K_3Jj.js → typescript-DNe7mq9Z.js} +1 -1
  135. package/web/assets/{urls-BlVUwVFM.js → urls-Bhy-NKbg.js} +1 -1
  136. package/web/assets/{use-tree-walker-xoEX554A.js → use-tree-walker-DGf54lqT.js} +1 -1
  137. package/web/assets/useAiChatDrawer-C-QgDgQO.js +1 -0
  138. package/web/assets/{useClipboard-B3J6cGK-.js → useClipboard-Ba0ZMSjV.js} +1 -1
  139. package/web/assets/{useLayout-DHrumlpr.js → useLayout-CmsWxVhO.js} +1 -1
  140. package/web/assets/{usePluginManager-BEbBxZnF.js → usePluginManager-DBLyufEz.js} +1 -1
  141. package/web/assets/{useSidebar-BCBwVF2x.js → useSidebar-BWKBo0y4.js} +1 -1
  142. package/web/assets/{vue-router-CuFIegGa.js → vue-router-By6H_4a-.js} +1 -1
  143. package/web/assets/{xml-BolCsFLY.js → xml-zVv61nBe.js} +1 -1
  144. package/web/assets/{yaml-5iZTkCV3.js → yaml-DJ0ncxUH.js} +1 -1
  145. package/web/index.html +1 -1
  146. package/agent-manager-3DHUF2DC-KN6O7WSA.js +0 -8
  147. package/chunk-AJW7LDO5.js.map +0 -1
  148. package/dist-HGCFHXO4.js.map +0 -1
  149. package/web/assets/AiChatPage-C1r42kX7.js +0 -1
  150. package/web/assets/CollectionCookies.vue-DqNgVtd-.js +0 -1
  151. package/web/assets/CollectionScripts.vue-B2gkfo4d.js +0 -1
  152. package/web/assets/CollectionSync.vue-bB7sdahP.js +0 -1
  153. package/web/assets/DashboardPage-gZJ4_s8T.css +0 -1
  154. package/web/assets/DashboardPage-hIc9wP_Q.js +0 -1
  155. package/web/assets/KanbanBoardPage-DoXgFMvo.js +0 -141
  156. package/web/assets/KanbanBoardPage-hqNojI5j.css +0 -1
  157. package/web/assets/ServiceDetailPage-UVg73scN.js +0 -2
  158. package/web/assets/SettingsPage-Cg78lQZF.js +0 -225
  159. package/web/assets/process.store-CutdTiYB.js +0 -1
  160. package/web/assets/router-CuxdGfLF.js +0 -1
  161. package/web/assets/trpc-BIjF6nTt.js +0 -1
  162. package/web/assets/useAiChatDrawer-BJugMTj0.js +0 -1
  163. /package/{agent-manager-3DHUF2DC-KN6O7WSA.js.map → agent-manager-7IDZTNVZ-HVRWIXYW.js.map} +0 -0
  164. /package/web/assets/{_plugin-vue_export-helper-C08BWUE4.js → _plugin-vue_export-helper-BVSTY9ge.js} +0 -0
  165. /package/web/assets/{abap-BMPR0rjj.js → abap-DktqfXDx.js} +0 -0
  166. /package/web/assets/{apex-DYC4uYYf.js → apex-C84w8VGC.js} +0 -0
  167. /package/web/assets/{azcli-GZlxEjpa.js → azcli-Cs5iRzPw.js} +0 -0
  168. /package/web/assets/{base64-VLYHbiMn.js → base64-CG47Jc3Y.js} +0 -0
  169. /package/web/assets/{bat-Cv8OxItG.js → bat-Bxztgnvx.js} +0 -0
  170. /package/web/assets/{bicep-CuCbE6Ue.js → bicep-EmTmx6Fy.js} +0 -0
  171. /package/web/assets/{cameligo-BEPX3585.js → cameligo-DZYk6cOD.js} +0 -0
  172. /package/web/assets/{clojure--6rbXIPY.js → clojure-QYeZgX63.js} +0 -0
  173. /package/web/assets/{coffee-ByvVcDGX.js → coffee-DP64XG_I.js} +0 -0
  174. /package/web/assets/{cpp-CECtPnZp.js → cpp-Dz6-l8vs.js} +0 -0
  175. /package/web/assets/{csharp-DyYyZ8UX.js → csharp-CcVGRY-t.js} +0 -0
  176. /package/web/assets/{csp-B9apvcI9.js → csp-Cqpt0M-R.js} +0 -0
  177. /package/web/assets/{css-CfdBNbB0.js → css-BEjT2o3U.js} +0 -0
  178. /package/web/assets/{cypher-BPqQq4XX.js → cypher-CFsKHT39.js} +0 -0
  179. /package/web/assets/{dart-BLToxiYU.js → dart-Dd8xW03D.js} +0 -0
  180. /package/web/assets/{dist-COg0nRYK.js → dist-BPIMeATj.js} +0 -0
  181. /package/web/assets/{dockerfile-CKo5jN7V.js → dockerfile-MHoTmcM0.js} +0 -0
  182. /package/web/assets/{ecl-qo8pi1Ty.js → ecl-DDOk3_u-.js} +0 -0
  183. /package/web/assets/{elixir-Dv1YAMPJ.js → elixir-BrvvYQkl.js} +0 -0
  184. /package/web/assets/{flow9-BKTKs1nN.js → flow9-Desf9xEz.js} +0 -0
  185. /package/web/assets/{fsharp-BPoxgmtD.js → fsharp-B8Icgpa6.js} +0 -0
  186. /package/web/assets/{go-DgJ-2ryf.js → go-Do5MIzaM.js} +0 -0
  187. /package/web/assets/{graphql-YTK8zpFe.js → graphql-CiG6oX7b.js} +0 -0
  188. /package/web/assets/{hcl-tYOvwaJ3.js → hcl-C-xKM4WW.js} +0 -0
  189. /package/web/assets/{ini-BTZ3lNbM.js → ini-DXIR0OjP.js} +0 -0
  190. /package/web/assets/{java-boRe0CIQ.js → java-Dy8EfEt9.js} +0 -0
  191. /package/web/assets/{julia-K6BtoWYX.js → julia-DkrFX1s_.js} +0 -0
  192. /package/web/assets/{kotlin-CglG00z4.js → kotlin-Dar7GDKm.js} +0 -0
  193. /package/web/assets/{less-DlnIYk4g.js → less-DzP6DgzU.js} +0 -0
  194. /package/web/assets/{lexon-D4aKXJ0J.js → lexon-DptP6qTd.js} +0 -0
  195. /package/web/assets/{lua-DeQCQ0IN.js → lua-CCVwtOWf.js} +0 -0
  196. /package/web/assets/{m3-yCjRJP_i.js → m3-DrEvvio5.js} +0 -0
  197. /package/web/assets/{markdown-C2IT79AR.js → markdown-ruxuCKkk.js} +0 -0
  198. /package/web/assets/{mips-BAnhwv_D.js → mips-BQqMOsEB.js} +0 -0
  199. /package/web/assets/{msdax-D1jHDTih.js → msdax-phO8WA3n.js} +0 -0
  200. /package/web/assets/{mysql-CTJU-jL7.js → mysql-CTdeo58Q.js} +0 -0
  201. /package/web/assets/{objective-c-CwxzUA28.js → objective-c-jhQ0iM6X.js} +0 -0
  202. /package/web/assets/{pascal-DpSQp86i.js → pascal-C8SkzMHp.js} +0 -0
  203. /package/web/assets/{pascaligo-C4F0Gc12.js → pascaligo-ArPaQLGJ.js} +0 -0
  204. /package/web/assets/{perl-87HvGh3u.js → perl-DdJtSHIR.js} +0 -0
  205. /package/web/assets/{pgsql-DUB3YVHd.js → pgsql-DzJ8nWb2.js} +0 -0
  206. /package/web/assets/{php-gpgbnwXh.js → php-CCjtAB9z.js} +0 -0
  207. /package/web/assets/{pla-9VH1h0qA.js → pla-BcEbmw3g.js} +0 -0
  208. /package/web/assets/{postiats-DYNil0RB.js → postiats-Fpcus-uJ.js} +0 -0
  209. /package/web/assets/{powerquery-Cyj_QMWN.js → powerquery-Cu-9g7NG.js} +0 -0
  210. /package/web/assets/{powershell-BxsWzjwy.js → powershell-DO2fUGfn.js} +0 -0
  211. /package/web/assets/{protobuf-CpB35fc2.js → protobuf-DQup7qRj.js} +0 -0
  212. /package/web/assets/{pug-CQ3BHXrf.js → pug-Duim2NdD.js} +0 -0
  213. /package/web/assets/{qsharp-hvdiA16n.js → qsharp-CytI7IVT.js} +0 -0
  214. /package/web/assets/{r-BcpSD-1e.js → r-DZINbLk_.js} +0 -0
  215. /package/web/assets/{redis-B2JGUU7L.js → redis-Bf0SVuM0.js} +0 -0
  216. /package/web/assets/{redshift-DtV7K8A1.js → redshift-oHIhn4rc.js} +0 -0
  217. /package/web/assets/{restructuredtext-avYcqBCA.js → restructuredtext-B3n-oeH1.js} +0 -0
  218. /package/web/assets/{ruby-B75_Tp8C.js → ruby-DXTCv0Dq.js} +0 -0
  219. /package/web/assets/{rust-CHon-ZXH.js → rust-BM9bjpGj.js} +0 -0
  220. /package/web/assets/{sb-iehvyQKY.js → sb-BU8bPS70.js} +0 -0
  221. /package/web/assets/{scala-LBw1ennX.js → scala-BP9uGS4X.js} +0 -0
  222. /package/web/assets/{scheme-BRK_sKgt.js → scheme-rmkEHrlu.js} +0 -0
  223. /package/web/assets/{scss-CzbUsG5V.js → scss-BtCDKYlG.js} +0 -0
  224. /package/web/assets/{shell-DdtWj1FH.js → shell-CG1BTV1P.js} +0 -0
  225. /package/web/assets/{solidity-CBYPsj6K.js → solidity-DAYsr878.js} +0 -0
  226. /package/web/assets/{sophia-BAmZLhFu.js → sophia-DLSOk_-J.js} +0 -0
  227. /package/web/assets/{sparql-DzxQz_25.js → sparql-C_sea8Qf.js} +0 -0
  228. /package/web/assets/{sql-CtZa8xg5.js → sql-zI2PRpPJ.js} +0 -0
  229. /package/web/assets/{st-3yAXYt2f.js → st-VM0k3m2K.js} +0 -0
  230. /package/web/assets/{swift-nwo4k0Qx.js → swift-DAxKPUqq.js} +0 -0
  231. /package/web/assets/{systemverilog-38mUSYaO.js → systemverilog-D3gk_LvQ.js} +0 -0
  232. /package/web/assets/{tcl-DfkL3MZ2.js → tcl-YQSEIPQI.js} +0 -0
  233. /package/web/assets/{twig-C2_DTvv-.js → twig-Bt5uw3P4.js} +0 -0
  234. /package/web/assets/{typespec-Dn7A_7aO.js → typespec-CF_qDuWb.js} +0 -0
  235. /package/web/assets/{vb-ByZEqbuQ.js → vb-DERgblZJ.js} +0 -0
  236. /package/web/assets/{w3c-keyname-CXRaQfIQ.js → w3c-keyname-B0Po4pAC.js} +0 -0
  237. /package/web/assets/{wgsl-BqCLRRs9.js → wgsl-BrfJ-tM_.js} +0 -0
@@ -1 +0,0 @@
1
- .tt[data-v-bf6df0d6]{border:1px solid var(--p-content-border-color);border-radius:var(--p-border-radius,6px);background:var(--p-surface-0);overflow:hidden}.tt-toolbar[data-v-bf6df0d6]{background:var(--p-surface-50);border-bottom:1px solid var(--p-content-border-color);flex-wrap:wrap;align-items:center;gap:2px;padding:.375rem .5rem;display:flex}.tt-toolbar__group[data-v-bf6df0d6]{align-items:center;gap:1px;display:flex}.tt-toolbar__sep[data-v-bf6df0d6]{background:var(--p-content-border-color);width:1px;height:18px;margin:0 .25rem}.tt-btn[data-v-bf6df0d6]{min-width:28px;height:28px;color:var(--p-text-muted-color);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;font-weight:600;transition:all .1s;display:flex}.tt-btn[data-v-bf6df0d6]:hover:not(:disabled){background:var(--p-surface-200);color:var(--p-text-color)}.tt-btn--active[data-v-bf6df0d6]{background:var(--p-primary-100,var(--p-surface-200));color:var(--p-primary-color)}.tt-btn[data-v-bf6df0d6]:disabled{opacity:.3;cursor:default}.tt-content[data-v-bf6df0d6]{min-height:200px;max-height:400px;overflow-y:auto}.tt-content .tiptap{min-height:200px;color:var(--p-text-color);outline:none;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.tt-content .tiptap>:first-child{margin-top:0}.tt-content .tiptap>:last-child{margin-bottom:0}.tt-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--p-text-muted-color);pointer-events:none;height:0;font-style:italic}.tt-content .tiptap p{margin:.5em 0;line-height:1.6}.tt-content .tiptap h1{margin:1.25rem 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.tt-content .tiptap h2{margin:1rem 0 .375rem;font-size:1.25rem;font-weight:600;line-height:1.35}.tt-content .tiptap h3{margin:.875rem 0 .375rem;font-size:1.1rem;font-weight:600;line-height:1.4}.tt-content .tiptap ul{margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.tt-content .tiptap ol{margin:.5rem 0;padding-left:1.5rem;list-style-type:decimal}.tt-content .tiptap li{margin:.25rem 0;display:list-item}.tt-content .tiptap li p{margin:0}.tt-content .tiptap ul ul,.tt-content .tiptap ol ul{list-style-type:circle}.tt-content .tiptap ul ul ul,.tt-content .tiptap ol ul ul{list-style-type:square}.tt-content .tiptap ul[data-type=taskList]{margin:.5rem 0;padding-left:0;list-style:none}.tt-content .tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;margin:.25rem 0;display:flex}.tt-content .tiptap ul[data-type=taskList] li>label{cursor:pointer;flex-shrink:0;margin-top:.15rem}.tt-content .tiptap ul[data-type=taskList] li>label input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--p-primary-color)}.tt-content .tiptap ul[data-type=taskList] li>div{flex:1;min-width:0}.tt-content .tiptap blockquote{border-left:3px solid var(--p-primary-color);color:var(--p-text-muted-color);margin:.75rem 0;padding:.25rem 0 .25rem 1rem;font-style:italic}.tt-content .tiptap blockquote p{margin:.25em 0}.tt-content .tiptap code{background:var(--p-surface-100);color:var(--p-text-color);border:1px solid var(--p-content-border-color);border-radius:4px;padding:.15rem .4rem;font-family:SF Mono,Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.8125rem}.tt-content .tiptap pre{background:var(--p-surface-900,#1e1e1e);color:var(--p-surface-0,#d4d4d4);border-radius:6px;margin:.75rem 0;padding:.75rem 1rem;font-family:SF Mono,Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto}.tt-content .tiptap pre code{color:inherit;font-size:inherit;background:0 0;border:none;border-radius:0;padding:0}.tt-content .tiptap hr{border:none;border-top:2px solid var(--p-content-border-color);margin:1.25rem 0}.tt-content .tiptap a,.tt-content .tiptap .tt-link{color:var(--p-primary-color);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.tt-content .tiptap a:hover{opacity:.8}.tt-content .tiptap img{border-radius:6px;max-width:100%;height:auto;margin:.5rem 0;display:block}.tt-content .tiptap mark{background:var(--p-yellow-100,#fef08a);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:.0625rem .1875rem}.tt-content .tiptap strong{font-weight:700}.tt-content .tiptap em{font-style:italic}.tt-content .tiptap s{text-decoration:line-through}.tt-content .tiptap u{text-decoration:underline}.kb[data-v-fbef5c3d]{flex-direction:column;height:100%;display:flex;overflow:hidden}.kb-header[data-v-fbef5c3d]{border-bottom:1px solid var(--p-content-border-color);background:var(--p-surface-0);flex-shrink:0;align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.kb-header__title[data-v-fbef5c3d]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.kb-header__search[data-v-fbef5c3d]{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.kb-header__search-input[data-v-fbef5c3d]{width:180px}.kb-header__saving[data-v-fbef5c3d]{color:var(--p-text-muted-color);flex-shrink:0;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.kb-board[data-v-fbef5c3d]{flex:1;align-items:flex-start;gap:.75rem;padding:1rem;display:flex;overflow:auto hidden}.kb-col[data-v-fbef5c3d]{background:var(--p-surface-100);-webkit-touch-callout:none;-webkit-user-select:none;touch-action:pan-x pan-y;border:2px solid #0000;border-radius:10px;flex-direction:column;flex-shrink:0;width:300px;max-height:100%;transition:border-color .15s;display:flex}.kb-col--dragover[data-v-fbef5c3d]{border-color:var(--p-primary-color);background:color-mix(in srgb, var(--p-primary-color) 5%, var(--p-surface-100))}.kb-col__header[data-v-fbef5c3d]{justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem .5rem;display:flex}.kb-col__header-right[data-v-fbef5c3d]{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.kb-col__header-right[data-v-fbef5c3d] .p-button{opacity:0;transition:opacity .15s}.kb-col:hover .kb-col__header-right[data-v-fbef5c3d] .p-button{opacity:1}.kb-col__title[data-v-fbef5c3d]{min-width:0;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;padding:.25rem .375rem;font-size:.875rem;font-weight:600;transition:all .15s}.kb-col__title[data-v-fbef5c3d]:hover{border-color:var(--p-content-border-color)}.kb-col__title[data-v-fbef5c3d]:focus{background:var(--p-surface-0);border-color:var(--p-primary-color);box-shadow:0 0 0 1px var(--p-primary-color)}.kb-col__count[data-v-fbef5c3d]{color:var(--p-text-muted-color);background:var(--p-surface-200);border-radius:10px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.2}.kb-col__cards[data-v-fbef5c3d]{flex-direction:column;flex:1;gap:.375rem;min-height:40px;padding:0 .5rem;display:flex;overflow-y:auto}.kb-col__empty[data-v-fbef5c3d]{text-align:center;color:var(--p-text-muted-color);border:1px dashed var(--p-content-border-color);border-radius:6px;margin:.25rem 0;padding:1.5rem .75rem;font-size:.8125rem}.kb-card[data-v-fbef5c3d]{background:var(--p-surface-0);border:1px solid var(--p-content-border-color);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;border-radius:6px;padding:.5rem .625rem;transition:box-shadow .15s,transform .1s}.kb-card[data-v-fbef5c3d]:hover{border-color:var(--p-primary-200,var(--p-content-border-color));box-shadow:0 2px 8px #00000014}.kb-card[data-v-fbef5c3d]:active{cursor:grabbing;transform:rotate(1deg)}.kb-card--drop-before[data-v-fbef5c3d]{border-top:2px solid var(--p-primary-color);margin-top:-1px}.kb-card--drop-after[data-v-fbef5c3d]{border-bottom:2px solid var(--p-primary-color);margin-bottom:-1px}.kb-col--dragging[data-v-fbef5c3d]{opacity:.5}.kb-col--col-drop-before[data-v-fbef5c3d]{border-left:3px solid var(--p-primary-color)}.kb-col--col-drop-after[data-v-fbef5c3d]{border-right:3px solid var(--p-primary-color)}.kb-card__top[data-v-fbef5c3d]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-fbef5c3d]{min-width:0;color:var(--p-text-color);word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.kb-card__delete[data-v-fbef5c3d]{width:20px;height:20px;color:var(--p-text-muted-color);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;transition:opacity .15s,background .15s,color .15s;display:flex}.kb-card:hover .kb-card__delete[data-v-fbef5c3d]{opacity:1}.kb-card__delete[data-v-fbef5c3d]:hover{background:var(--p-red-50,#ef44441a);color:var(--p-red-500,#ef4444)}.kb-card__badges[data-v-fbef5c3d]{color:var(--p-text-muted-color);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.6875rem;display:flex}.kb-card__img-badge[data-v-fbef5c3d]{align-items:center;gap:.2rem;display:inline-flex}.kb-card__ai-badge[data-v-fbef5c3d]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kb-card__ai-badge--streaming[data-v-fbef5c3d]{background:var(--p-yellow-500,#eab308);animation:1s ease-in-out infinite badge-blink-fbef5c3d}.kb-card__ai-badge--unread[data-v-fbef5c3d]{background:var(--p-green-500,#22c55e)}@keyframes badge-blink-fbef5c3d{0%,to{opacity:1}50%{opacity:.25}}.kb-col__add-card[data-v-fbef5c3d]{color:var(--p-text-muted-color);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.375rem;margin:.25rem .5rem .5rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s;display:flex}.kb-col__add-card[data-v-fbef5c3d]:hover{background:var(--p-surface-200);color:var(--p-text-color)}.kb-add-col[data-v-fbef5c3d]{flex-shrink:0;width:300px}.kb-add-col__trigger[data-v-fbef5c3d]{background:var(--p-surface-100);border:1px dashed var(--p-content-border-color);width:100%;color:var(--p-text-muted-color);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.kb-add-col__trigger[data-v-fbef5c3d]:hover{background:var(--p-surface-200);border-color:var(--p-primary-color);color:var(--p-primary-color)}.kb-add-col__form[data-v-fbef5c3d]{background:var(--p-surface-100);border-radius:10px;padding:.75rem}.kb-add-col__actions[data-v-fbef5c3d]{gap:.5rem;margin-top:.5rem;display:flex}.kb-dialog[data-v-fbef5c3d]{flex-direction:column;gap:1rem;display:flex}.kb-dialog__field[data-v-fbef5c3d]{flex-direction:column;gap:.375rem;display:flex}.kb-dialog__field[data-v-fbef5c3d] .p-inputtext,.kb-dialog__field[data-v-fbef5c3d] .p-textarea{width:100%}.kb-dialog__label[data-v-fbef5c3d]{color:var(--p-text-muted-color);font-size:.8125rem;font-weight:500}.kb-dialog__images[data-v-fbef5c3d]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__thumb[data-v-fbef5c3d]{border:1px solid var(--p-content-border-color);border-radius:6px;width:110px;height:80px;position:relative;overflow:hidden}.kb-dialog__thumb img[data-v-fbef5c3d]{object-fit:cover;width:100%;height:100%;display:block}.kb-dialog__thumb-remove[data-v-fbef5c3d]{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.625rem;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.kb-dialog__thumb-remove[data-v-fbef5c3d]:hover{background:var(--p-red-500,#ef4444)}.kb-dialog__upload[data-v-fbef5c3d]{cursor:pointer;color:var(--p-primary-color);align-items:center;gap:.375rem;padding:.375rem 0;font-size:.8125rem;transition:opacity .15s;display:inline-flex}.kb-dialog__upload[data-v-fbef5c3d]:hover{opacity:.8}.kb-dialog__upload input[data-v-fbef5c3d]{display:none}.kb-dialog__actions-zone[data-v-fbef5c3d]{border-top:1px solid var(--p-content-border-color);flex-direction:column;gap:.375rem;padding-top:.75rem;display:flex}.kb-dialog__actions-buttons[data-v-fbef5c3d]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__danger-zone[data-v-fbef5c3d]{border-top:1px solid var(--p-content-border-color);padding-top:.75rem}.kb-dialog__footer[data-v-fbef5c3d]{justify-content:flex-end;gap:.5rem;display:flex}.kb-dialog__edit-content[data-v-fbef5c3d]{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.kb-history[data-v-fbef5c3d]{padding:.5rem 0}.kb-history__empty[data-v-fbef5c3d]{color:var(--p-text-muted-color);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.875rem;display:flex}.kb-history__empty i[data-v-fbef5c3d]{opacity:.5;font-size:1.5rem}.kb-history__timeline[data-v-fbef5c3d]{flex-direction:column;padding-left:1.75rem;display:flex;position:relative}.kb-history__timeline[data-v-fbef5c3d]:before{content:"";background:var(--p-content-border-color);border-radius:1px;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.6875rem}.kb-history__item[data-v-fbef5c3d]{align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex;position:relative}.kb-history__item--clickable[data-v-fbef5c3d]{cursor:pointer;border-radius:6px;margin:0 -.375rem;padding:.5rem .375rem;transition:background .15s}.kb-history__item--clickable[data-v-fbef5c3d]:hover{background:var(--p-surface-100)}.kb-history__item--clickable:hover .kb-history__label[data-v-fbef5c3d]{color:var(--p-primary-color)}.kb-history__icon[data-v-fbef5c3d]{background:var(--p-surface-0);border:2px solid var(--p-content-border-color);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:.5rem;left:-1.75rem}.kb-history__icon i[data-v-fbef5c3d]{color:var(--p-text-muted-color);font-size:.625rem}.kb-history__body[data-v-fbef5c3d]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.kb-history__label[data-v-fbef5c3d]{color:var(--p-text-color);font-size:.8125rem;font-weight:500}.kb-history__detail[data-v-fbef5c3d]{color:var(--p-text-muted-color);word-break:break-word;font-size:.75rem}.kb-history__time[data-v-fbef5c3d]{color:var(--p-text-muted-color);opacity:.7;font-size:.6875rem}.kb-comments[data-v-fbef5c3d]{flex-direction:column;gap:1rem;display:flex}.kb-comments__input[data-v-fbef5c3d]{align-items:center;gap:.5rem;display:flex}.kb-comments__empty[data-v-fbef5c3d]{color:var(--p-text-muted-color);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0;font-size:.875rem;display:flex}.kb-comments__empty i[data-v-fbef5c3d]{opacity:.5;font-size:1.5rem}.kb-comments__list[data-v-fbef5c3d]{flex-direction:column;gap:.75rem;display:flex}.kb-comments__item[data-v-fbef5c3d]{background:var(--p-surface-50);border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.kb-comments__item--ai[data-v-fbef5c3d]{background:var(--p-primary-50,rgba(var(--p-primary-500), .06));border-left:3px solid var(--p-primary-color)}.kb-comments__item--clickable[data-v-fbef5c3d]{cursor:pointer;transition:background .15s,box-shadow .15s}.kb-comments__item--clickable[data-v-fbef5c3d]:hover{background:var(--p-surface-100);box-shadow:0 0 0 2px var(--p-primary-color)}.kb-comments__avatar[data-v-fbef5c3d]{background:var(--p-surface-200);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kb-comments__item--ai .kb-comments__avatar[data-v-fbef5c3d]{background:var(--p-primary-100,rgba(var(--p-primary-500), .15));color:var(--p-primary-color)}.kb-comments__avatar i[data-v-fbef5c3d]{font-size:.75rem}.kb-comments__body[data-v-fbef5c3d]{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.kb-comments__meta[data-v-fbef5c3d]{align-items:center;gap:.5rem;display:flex}.kb-comments__author[data-v-fbef5c3d]{color:var(--p-text-color);font-size:.8125rem;font-weight:600}.kb-comments__time[data-v-fbef5c3d]{color:var(--p-text-muted-color);font-size:.6875rem}.kb-comments__text[data-v-fbef5c3d]{color:var(--p-text-color);word-break:break-word;white-space:pre-wrap;font-size:.8125rem;line-height:1.5}.kb-comments__text--markdown[data-v-fbef5c3d]{white-space:normal}.kb-comments__text--markdown[data-v-fbef5c3d] p{margin:0 0 .25em}.kb-comments__text--markdown[data-v-fbef5c3d] p:last-child{margin-bottom:0}.kb-comments__text--markdown[data-v-fbef5c3d] h1,.kb-comments__text--markdown[data-v-fbef5c3d] h2,.kb-comments__text--markdown[data-v-fbef5c3d] h3{margin:.4em 0 .15em;font-weight:700}.kb-comments__text--markdown[data-v-fbef5c3d] ul,.kb-comments__text--markdown[data-v-fbef5c3d] ol{margin:.2em 0;padding-left:1.4em}.kb-comments__text--markdown[data-v-fbef5c3d] li{margin-bottom:.1em}.kb-comments__text--markdown[data-v-fbef5c3d] code{background:var(--p-content-hover-background);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.kb-comments__text--markdown[data-v-fbef5c3d] pre{background:color-mix(in srgb, var(--p-content-background) 60%, #000 40%);border-radius:6px;margin:.4em 0;padding:.6em .8em;overflow-x:auto}.kb-comments__text--markdown[data-v-fbef5c3d] pre code{background:0 0;padding:0}.kb-comments__text--markdown[data-v-fbef5c3d] blockquote{border-left:3px solid var(--p-primary-color);color:var(--p-text-muted-color);margin:.4em 0;padding:.2em .6em;font-style:italic}.kb-comments__text--markdown[data-v-fbef5c3d] a{color:var(--p-primary-color);text-decoration:underline}.kb-populate[data-v-fbef5c3d]{flex-direction:column;gap:.75rem;display:flex}.kb-populate__hint[data-v-fbef5c3d]{color:var(--p-text-muted-color);margin:0;font-size:.8125rem;line-height:1.5}.kb-populate__provider-section[data-v-fbef5c3d]{flex-direction:column;gap:.4rem;display:flex}.kb-populate__provider-label[data-v-fbef5c3d]{text-transform:uppercase;letter-spacing:.05em;opacity:.45;font-size:.75rem;font-weight:600}.kb-populate__provider-grid[data-v-fbef5c3d]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-populate__provider-card[data-v-fbef5c3d]{border:1px solid var(--p-surface-200);cursor:pointer;background:var(--p-surface-0);border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;transition:border-color .15s;display:flex}.kb-populate__provider-card[data-v-fbef5c3d]:hover{border-color:var(--p-primary-color)}.kb-populate__provider-card--active[data-v-fbef5c3d]{border-color:var(--p-primary-color);background:color-mix(in srgb, var(--p-primary-color) 8%, var(--p-surface-0));font-weight:600}.kb-card__actions[data-v-fbef5c3d]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-card__queue-btn[data-v-fbef5c3d]{width:20px;height:20px;color:var(--p-text-muted-color);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;transition:opacity .15s,background .15s,color .15s;display:flex}.kb-card:hover .kb-card__queue-btn[data-v-fbef5c3d]{opacity:1}.kb-card__queue-btn--active[data-v-fbef5c3d]{opacity:1!important;color:var(--p-primary-color)!important}.kb-card__queue-btn[data-v-fbef5c3d]:hover{background:var(--p-primary-50,#6366f11a);color:var(--p-primary-color)}.kb-queue-panel[data-v-fbef5c3d]{background:var(--p-surface-0);border-left:1px solid var(--p-content-border-color);z-index:100;flex-direction:column;width:320px;height:100%;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 16px #0000001a}.kb-queue-panel__header[data-v-fbef5c3d]{border-bottom:1px solid var(--p-content-border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.kb-queue-panel__title[data-v-fbef5c3d]{font-size:.9375rem;font-weight:600}.kb-queue-panel__concurrency[data-v-fbef5c3d]{border-bottom:1px solid var(--p-content-border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}.kb-queue-panel__concurrency-label[data-v-fbef5c3d]{color:var(--p-text-muted-color);font-size:.8125rem}.kb-queue-panel__concurrency-ctrl[data-v-fbef5c3d]{align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.kb-queue-panel__section[data-v-fbef5c3d]{padding:.75rem 1rem 0}.kb-queue-panel__section-title[data-v-fbef5c3d]{text-transform:uppercase;letter-spacing:.05em;color:var(--p-text-muted-color);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.kb-queue-item[data-v-fbef5c3d]{background:var(--p-surface-100);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.kb-queue-item--running[data-v-fbef5c3d]{background:color-mix(in srgb, var(--p-primary-color) 8%, var(--p-surface-0));border:1px solid color-mix(in srgb, var(--p-primary-color) 20%, transparent)}.kb-queue-item__title[data-v-fbef5c3d]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-queue-panel__empty[data-v-fbef5c3d]{color:var(--p-text-muted-color);flex:1;justify-content:center;align-items:center;font-size:.875rem;display:flex}.kb-queue-panel__footer[data-v-fbef5c3d]{border-top:1px solid var(--p-content-border-color);flex-shrink:0;padding:.75rem 1rem}.kb-queue-col-dialog[data-v-fbef5c3d]{flex-direction:column;gap:1rem;display:flex}.kb-queue-col-dialog__field[data-v-fbef5c3d]{flex-direction:column;gap:.375rem;display:flex}.kb-queue-col-dialog__field label[data-v-fbef5c3d]{color:var(--p-text-muted-color);font-size:.8125rem;font-weight:500}.kb-queue-col-dialog__select[data-v-fbef5c3d]{border:1px solid var(--p-content-border-color);background:var(--p-surface-0);width:100%;color:var(--p-text-color);cursor:pointer;border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem}.kb-queue-col-dialog__select[data-v-fbef5c3d]:focus{border-color:var(--p-primary-color);box-shadow:0 0 0 1px var(--p-primary-color)}
@@ -1,2 +0,0 @@
1
- import{$i as e,A as t,B as n,Bi as r,Bn as i,Ca as a,Cn as o,Dn as s,Ea as c,F as l,Gn as u,Hi as d,Ii as f,Jt as p,K as m,Ln as h,M as g,Qr as _,R as v,Ri as y,Si as b,T as x,Tn as S,U as C,V as w,Wn as T,Yn as E,Yt as ee,_i as D,a as te,ai as O,ba as ne,bi as k,bn as A,ca as re,ci as j,d as ie,di as M,dn as ae,fi as N,gi as P,ha as F,ia as oe,j as se,k as ce,ka as I,ki as le,li as L,ln as ue,ni as R,nn as de,pa as fe,ra as z,ri as B,tn as pe,ua as me,ui as V,vn as he,wn as ge,yi as H,yn as _e,z as ve,zn as U}from"./index-CIcE6DNv.js";import{t as ye}from"./project.store-CVbXSH5d.js";import"./ProcessControls-BY-_9zo7.js";import{t as be}from"./ServiceControlsBar-CCTGcA1t.js";import{n as xe,t as Se}from"./column-CR3Hix4J.js";import{n as Ce}from"./plus-CG5Ui-l-.js";import{t as we}from"./checkbox-B5XZqi1U.js";import{n as Te,t as Ee}from"./autocomplete-CjBHTJWh.js";import{a as De,i as Oe,n as ke,r as Ae,t as je}from"./tabpanel-DaZzgdrv.js";import{n as Me,t as Ne}from"./VariablesTable-Dn3IvplD.js";import{t as Pe}from"./uuid-H0yY5A03.js";import{t as Fe}from"./message-DKOCajc6.js";import{n as Ie,t as Le}from"./ProcessMetrics-DQybvwcA.js";import{t as Re}from"./LogViewer-CtX_6uFM.js";import{t as ze}from"./divider-CnJlD7qO.js";import{t as Be}from"./settings.store-vM-8jbAF.js";var Ve={key:0,class:`log-details`},He={class:`log-details__section`},Ue={class:`log-details__label`},We={class:`log-details__value log-details__value--box`},Ge={class:`log-details__section`},Ke={class:`log-details__label`},qe={class:`log-details__value log-details__value--box log-details__value--code`},Je={class:`log-details__section`},Ye={class:`log-details__label`},Xe={class:`log-details__value log-details__value--box`},Ze={class:`log-details__process`},Qe={class:`log-details__section`},$e={class:`log-details__label`},et={class:`log-details__value log-details__value--box`},tt={class:`log-details__section`},nt={class:`log-details__label`},rt={class:`log-details__value log-details__value--box`},it={key:0,class:`log-details__section`},at={class:`log-details__label`},ot={class:`log-details__value log-details__value--box`},st={key:1,class:`log-details__section`},ct={class:`log-details__label`},lt={class:`log-details__value log-details__value--box log-details__value--code`},ut=o(H({__name:`LogDetailsDrawer`,props:{visible:{type:Boolean},log:{}},emits:[`update:visible`,`view-process`],setup(e,{emit:t}){let n=e,{t:i}=E(),o=t,c=j(()=>{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`)}`}),l=j(()=>n.log?n.log.level.charAt(0).toUpperCase()+n.log.level.slice(1):``),u=j(()=>!n.log||n.log.pid==null?i(`logDetails.notAvailable`):String(n.log.pid));function d(){n.log&&o(`view-process`,n.log.processId)}function f(){o(`update:visible`,!1)}return(t,n)=>(r(),V(a(ge),{visible:e.visible,position:`right`,header:a(i)(`logDetails.header`),style:{width:`440px`},"onUpdate:visible":f},{default:z(()=>[e.log?(r(),N(`div`,Ve,[L(`div`,He,[L(`div`,Ue,I(a(i)(`logDetails.type`)),1),L(`div`,We,I(l.value),1)]),L(`div`,Ge,[L(`div`,Ke,I(a(i)(`logDetails.rawMessage`)),1),L(`div`,qe,I(e.log.raw),1)]),L(`div`,Je,[L(`div`,Ye,I(a(i)(`logDetails.serviceId`)),1),L(`div`,Xe,[L(`div`,Ze,[L(`span`,null,I(e.log.processId),1),D(a(s),{label:a(i)(`logDetails.viewProcess`),icon:`pi pi-external-link`,size:`small`,outlined:``,onClick:d},null,8,[`label`])])])]),L(`div`,Qe,[L(`div`,$e,I(a(i)(`logDetails.pid`)),1),L(`div`,et,I(u.value),1)]),L(`div`,tt,[L(`div`,nt,I(a(i)(`logDetails.timestamp`)),1),L(`div`,rt,I(c.value),1)]),e.log.stream?(r(),N(`div`,it,[L(`div`,at,I(a(i)(`logDetails.stream`)),1),L(`div`,ot,I(e.log.stream),1)])):M(``,!0),e.log.metadata&&Object.keys(e.log.metadata).length>0?(r(),N(`div`,st,[L(`div`,ct,I(a(i)(`logDetails.metadata`)),1),L(`div`,lt,I(JSON.stringify(e.log.metadata,null,2)),1)])):M(``,!0)])):M(``,!0)]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-5781eb9d`]]),dt=500,ft=5,pt=C;function mt(e){return e+Math.random()*e*.3}function ht(t,n){let r=F([]),i=F(!1),a=null,o=0,s=null,c=pe(()=>{o=0,i.value||S()}),l=[],u=null,d=F(0),f=F(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=[...r.value,...e];t.length>dt&&(t=t.slice(t.length-dt)),r.value=t}function b(){!t.value||!n.value||(i.value=!0,a=de.process.onLog.subscribe({agentId:t.value,processId:n.value},{onData(e){let t=e;if(o=0,ue(`connected`),t.some(e=>e.__clearLogBuffer)){r.value=[],l=[];return}p+=t.length,l.push(...t),u===null&&(u=requestAnimationFrame(v))},onError(e){console.error(`[useLogStream] Subscription error:`,e.message),i.value=!1,a=null,x()}}))}function x(){if(o>=ft){console.warn(`[useLogStream] Max retries (${ft}) reached`),ue(`disconnected`);return}ue(`reconnecting`);let e=mt(pt*2**o);o++,s=setTimeout(()=>{s=null,S()},e)}async function S(){if(!i.value&&!(!t.value||!n.value)){o=0;try{let e=await de.process.logs.query({agentId:t.value,processId:n.value});e.length>dt&&(e=e.slice(e.length-dt)),r.value=e,ue(`connected`)}catch{}b()}}function C(){s&&=(clearTimeout(s),null),u!==null&&(cancelAnimationFrame(u),u=null),l=[],_(),a&&=(a.unsubscribe(),null),i.value=!1,o=0,r.value=[]}return e([t,n],([e,t],[n,r])=>{(e!==n||t!==r)&&(i.value&&C(),S())}),y(()=>{c(),C()}),{logs:r,isStreaming:i,start:S,stop:C,receivedPerSec:d,flushedPerSec:f,startStats:g,stopStats:_}}var gt={class:`service-terminal__toolbar`},_t={class:`service-terminal__toolbar-left`},vt={key:0,class:`pid-option`},yt={key:1,class:`pid-option`},bt={key:0,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,style:{"margin-right":`0.5rem`}},xt={key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,style:{"margin-right":`0.5rem`}},St={class:`pid-option`},Ct={key:0,class:`pi pi-list`,style:{"margin-right":`0.5rem`}},wt=[`title`],Tt=[`title`],Et={class:`service-terminal__toolbar-right`},Dt={class:`service-terminal__content`,"data-testid":`service-terminal-content`},Ot={key:1,class:`service-terminal__shortcuts`},kt={class:`service-terminal__command-input`},At={class:`service-terminal__bottom`},jt=`runeya_command_history_`,Mt=50,Nt=o(H({__name:`ServiceTerminal`,props:{service:{},processes:{}},setup(t){let{t:n}=E(),i=t,o=j(()=>i.processes.find(e=>e.state===`running`||e.state===`starting`)??i.processes[0]??null),l=j(()=>o.value?.agentId??``),p=j(()=>o.value?.id??``),m=u(),{logs:h,isStreaming:g,start:_,stop:v,receivedPerSec:b,flushedPerSec:x,startStats:S,stopStats:C}=ht(l,p),w=F(!1);e(w,e=>{e?S():C()});function T(e){e.ctrlKey&&e.shiftKey&&(e.key===`*`||e.key===`µ`)&&(e.preventDefault(),w.value=!w.value)}let ee=j(()=>{let e=new Map;return h.value.forEach(t=>{if(t.pid!=null){let n=e.get(t.pid);if(n)n.lastSeen=new Date(Math.max(n.lastSeen.getTime(),new Date(t.timestamp).getTime())),n.logCount++;else{let n=i.processes.find(e=>e.pid===t.pid&&(e.state===`running`||e.state===`starting`));e.set(t.pid,{pid:t.pid,lastSeen:new Date(t.timestamp),logCount:1,isActive:!!n})}}}),Array.from(e.values()).sort((e,t)=>t.lastSeen.getTime()-e.lastSeen.getTime())}),te=j(()=>Ae.value===`all`?h.value:h.value.filter(e=>e.pid===Ae.value)),ne=j(()=>ee.value.filter(e=>e.isActive).length),k=j(()=>{let e=[{label:n(`serviceTerminal.allProcesses`),value:`all`,badge:ne.value>0?`${ne.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});j(()=>i.processes.filter(e=>e.state===`running`).length);async function A(){if(o.value)try{await de.process.clearLogBuffer.mutate({agentId:o.value.agentId,processId:o.value.id}),h.value=[]}catch(e){m.add({severity:`error`,summary:n(`serviceTerminal.error`),detail:e.message??n(`serviceTerminal.failedToClearLogs`),life:5e3})}}let re=j(()=>i.service.shortcuts??[]),ie=F(new Set);async function P(e){let t=o.value?.agentId??i.service.agentId,r=o.value?.id??i.service.id;if(!t){m.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}if(ie.value.has(e.id)){try{await de.process.cancelShortcut.mutate({agentId:t,processId:r,shortcutId:e.id})}catch{}return}ie.value=new Set([...ie.value,e.id]);try{await de.process.executeShortcut.mutate({agentId:t,processId:r,shortcut:e})}catch(e){m.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=F(``),se=F(new Set),ce=j(()=>se.value.size>0),ue=F(null),R=F([]),fe=F(-1),B=`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(`,`),pe=F([]);function me(e){let t=e.query.toLowerCase().trim();if(!t||!oe.value.trim()){pe.value=[];return}let n=[...R.value.slice().reverse(),...B],r=new Set;pe.value=n.filter(e=>r.has(e)?!1:(r.add(e),e.toLowerCase().includes(t))).slice(0,10)}function he(){try{let e=localStorage.getItem(jt+i.service.id);e&&(R.value=JSON.parse(e))}catch{R.value=[]}}function ge(){try{localStorage.setItem(jt+i.service.id,JSON.stringify(R.value))}catch{}}function H(e){R.value[R.value.length-1]!==e&&(R.value=[...R.value,e],R.value.length>Mt&&(R.value=R.value.slice(-Mt)),ge())}async function ve(){let e=o.value?.agentId??i.service.agentId,t=o.value?.id??i.service.id;if(e)try{await de.process.cancelAdHocCommand.mutate({agentId:e,processId:t})}catch{}}async function U(){if(!oe.value.trim())return;let e=o.value?.agentId??i.service.agentId,t=o.value?.id??i.service.id;if(!e){m.add({severity:`warn`,summary:n(`serviceTerminal.noAgent`),detail:n(`serviceTerminal.noAgentDesc`),life:3e3});return}let r=Pe(),a=oe.value.trim();H(a),oe.value=``,pe.value=[],fe.value=-1,se.value=new Set([...se.value,r]);try{await de.process.executeAdHocCommand.mutate({agentId:e,processId:t,command:a,commandId:r})}catch(e){m.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,le(()=>{document.querySelector(`.service-terminal__input`)?.focus()})}}function ye(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),U();return}if(e.key===`ArrowUp`){if(e.preventDefault(),R.value.length===0)return;fe.value===-1?fe.value=R.value.length-1:fe.value>0&&fe.value--,oe.value=R.value[fe.value]||``}else if(e.key===`ArrowDown`){if(e.preventDefault(),fe.value===-1)return;fe.value<R.value.length-1?(fe.value++,oe.value=R.value[fe.value]||``):(fe.value=-1,oe.value=``)}}function xe(){if(h.value.length===0)return;let e=h.value.map(e=>`[${new Date(e.timestamp).toISOString()}] ${e.level.toUpperCase().padEnd(5)} ${e.message}`),t=new Blob([e.join(`
2
- `)],{type:`text/plain`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${i.service.name}-${new Date().toISOString().slice(0,19).replace(/:/g,`-`)}.log`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}let Se=F(0),Ce=0,we=null,Te=null;e(o,e=>{if(!(e&&(e.state===`running`||e.state===`starting`))){we&&=(clearInterval(we),null),Te=null,Se.value=e?.uptime??0;return}let t=e.uptime??0;e.id!==Te&&(we&&=(clearInterval(we),null),Te=e.id,Ce=e.startedAt?new Date(e.startedAt).getTime():Date.now()-t,Se.value=Date.now()-Ce,we=setInterval(()=>{Se.value=Date.now()-Ce},1e3))},{immediate:!0});let De=F(!0),Oe=F(null),ke=F(!1),Ae=F(`all`),je=F(!1);function Me(){je.value=!je.value}f(()=>{he(),o.value&&_(),window.addEventListener(`keydown`,T)}),y(()=>{v(),window.removeEventListener(`keydown`,T),we&&clearInterval(we)});function Ne(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){Oe.value=e,ke.value=!0}function Ie(e){ke.value=!1,m.add({severity:`info`,summary:`Process`,detail:`Process ID: ${e}`,life:3e3})}return(e,l)=>(r(),N(`div`,{class:c([`service-terminal`,{"service-terminal--fullscreen":je.value}]),"data-testid":`service-terminal`},[je.value?(r(),V(be,{key:0,service:t.service,processes:t.processes},null,8,[`service`,`processes`])):M(``,!0),L(`div`,gt,[L(`div`,_t,[D(a(s),{label:a(n)(`serviceTerminal.logs`),severity:De.value?`primary`:`secondary`,text:``,size:`small`,onClick:l[0]||=e=>De.value=!0},null,8,[`label`,`severity`]),D(a(ae),{modelValue:Ae.value,"onUpdate:modelValue":l[1]||=e=>Ae.value=e,options:k.value,"option-label":`label`,"option-value":`value`,class:`service-terminal__pid-selector`},{value:z(e=>[e.value===`all`?(r(),N(`div`,vt,[l[5]||=L(`i`,{class:`pi pi-list`,style:{"margin-right":`0.5rem`}},null,-1),L(`span`,null,I(a(n)(`serviceTerminal.allProcesses`)),1),ne.value>0?(r(),V(a(_e),{key:0,value:`${ne.value} ${a(n)(`serviceTerminal.active`)}`,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):M(``,!0)])):(r(),N(`div`,yt,[k.value.find(t=>t.value===e.value)?.isActive?(r(),N(`i`,bt)):(r(),N(`i`,xt)),L(`span`,null,`PID: `+I(e.value),1)]))]),option:z(e=>[L(`div`,St,[e.option.value===`all`?(r(),N(`i`,Ct)):e.option.isActive?(r(),N(`i`,{key:1,class:`pi pi-circle-fill pid-status-icon pid-status-icon--active`,title:a(n)(`serviceTerminal.running`)},null,8,wt)):(r(),N(`i`,{key:2,class:`pi pi-circle-fill pid-status-icon pid-status-icon--stopped`,title:a(n)(`serviceTerminal.stopped`)},null,8,Tt)),L(`span`,null,I(e.option.label),1),e.option.badge?(r(),V(a(_e),{key:3,value:e.option.badge,severity:`secondary`,class:`pid-badge`},null,8,[`value`])):M(``,!0)])]),_:1},8,[`modelValue`,`options`])]),L(`div`,Et,[D(a(s),{icon:je.value?`pi pi-window-minimize`:`pi pi-window-maximize`,text:``,rounded:``,size:`small`,title:je.value?a(n)(`serviceTerminal.exitFullscreen`):a(n)(`serviceTerminal.fullscreen`),onClick:Me},null,8,[`icon`,`title`]),D(a(s),{icon:`pi pi-download`,text:``,rounded:``,size:`small`,title:a(n)(`serviceTerminal.downloadLogs`),disabled:a(h).length===0,onClick:xe},null,8,[`title`,`disabled`]),D(a(s),{icon:`pi pi-trash`,text:``,rounded:``,size:`small`,title:a(n)(`serviceTerminal.clearLogs`),disabled:a(h).length===0,onClick:A},null,8,[`title`,`disabled`])])]),L(`div`,Dt,[D(Re,{logs:te.value,loading:!1,"received-per-sec":a(b),"flushed-per-sec":a(x),"show-stats":w.value,"service-label":i.service.label||i.service.name,onLogClick:Fe},null,8,[`logs`,`received-per-sec`,`flushed-per-sec`,`show-stats`,`service-label`])]),re.value.length>0?(r(),N(`div`,Ot,[(r(!0),N(O,null,d(re.value,e=>(r(),V(a(s),{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=>P(e)},null,8,[`label`,`data-shortcut-id`,`icon`,`outlined`,`severity`,`onClick`]))),128))])):M(``,!0),L(`div`,kt,[l[6]||=L(`span`,{class:`service-terminal__prompt`,"data-testid":`terminal-prompt`},`>`,-1),D(a(Ee),{ref_key:`adHocCommandInput`,ref:ue,modelValue:oe.value,"onUpdate:modelValue":l[2]||=e=>oe.value=e,suggestions:pe.value,class:`service-terminal__autocomplete`,"input-class":`service-terminal__input`,placeholder:a(n)(`serviceTerminal.enterCommand`),"aria-label":a(n)(`serviceTerminal.enterCommand`),disabled:!(o.value?.agentId??i.service.agentId),"data-testid":`terminal-command-input`,onComplete:me,onKeydown:ye},null,8,[`modelValue`,`suggestions`,`placeholder`,`aria-label`,`disabled`]),D(a(s),{icon:ce.value?`pi pi-stop`:`pi pi-play`,severity:ce.value?`danger`:void 0,size:`small`,"data-testid":`terminal-run-btn`,disabled:!(o.value?.agentId??i.service.agentId)||!oe.value.trim()&&!ce.value,onClick:l[3]||=e=>ce.value?ve():U()},null,8,[`icon`,`severity`,`disabled`])]),L(`div`,At,[o.value?(r(),V(a(_e),{key:0,icon:`pi pi-server`,value:o.value.agentId.slice(0,8),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):M(``,!0),t.service.cwd?(r(),V(a(_e),{key:1,icon:`pi pi-folder`,value:t.service.cwd,severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):M(``,!0),o.value&&(o.value.state===`running`||o.value.state===`starting`)?(r(),V(a(_e),{key:2,icon:`pi pi-clock`,value:Ne(Se.value/1e3),severity:`secondary`,class:`service-terminal__pill`},null,8,[`value`])):M(``,!0)]),D(ut,{visible:ke.value,"onUpdate:visible":l[4]||=e=>ke.value=e,log:Oe.value,onViewProcess:Ie},null,8,[`visible`,`log`])],2))}}),[[`__scopeId`,`data-v-6454acb1`]]),Pt=5,Ft=C;function It(e){return e+Math.random()*e*.3}function Lt(t,n){let r=F(null),i=F(!1),a=F(!1),o=null,s=0,c=null;async function l(){if(!i.value){a.value=!0;try{r.value=await de.process.metrics.query({agentId:t.value,processId:n.value})}catch(e){console.error(`Failed to fetch initial metrics:`,ve(e))}finally{a.value=!1}u()}}function u(){i.value=!0,o=de.process.onMetrics.subscribe({agentId:t.value,processId:n.value},{onData(e){s=0,ue(`connected`),r.value=e},onError(e){console.error(`Metrics stream error:`,e),i.value=!1,o=null,d()}})}function d(){if(s>=Pt){console.warn(`Metrics stream: max retries (${Pt}) reached, giving up`),ue(`disconnected`);return}ue(`reconnecting`);let e=It(Ft*2**s);s++,c=setTimeout(()=>{c=null,u()},e)}function f(){c&&=(clearTimeout(c),null),o&&=(o.unsubscribe(),null),i.value=!1,s=0}return e([t,n],([e,t],[n,r])=>{(e!==n||t!==r)&&i.value&&(f(),l())}),y(()=>{f()}),{metrics:r,isStreaming:i,isLoading:a,start:l,stop:f}}var Rt={class:`service-metrics`,"data-testid":`service-metrics`},zt={key:1,class:`service-metrics__skeleton`},Bt={class:`metric-skeleton`},Vt={class:`metric-skeleton`},Ht={key:2,class:`service-metrics__no-data`},Ut={key:1,class:`service-metrics__no-process`},Wt=o(H({__name:`ServiceMetrics`,props:{service:{},processes:{}},setup(e){let t=e,n=j(()=>t.processes.find(e=>e.state===`running`||e.state===`starting`)??t.processes[0]??null),i=j(()=>n.value?.agentId??``),o=j(()=>n.value?.id??``),{t:s}=E(),{metrics:c,isLoading:l,start:u,stop:d}=Lt(i,o);return f(()=>{n.value&&u()}),y(()=>{d()}),(e,t)=>(r(),N(`div`,Rt,[n.value?(r(),N(O,{key:0},[a(c)?(r(),V(Le,{key:0,cpu:a(c).cpu,memory:a(c).memory},null,8,[`cpu`,`memory`])):a(l)?(r(),N(`div`,zt,[L(`div`,Bt,[D(a(Ie),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),D(a(Ie),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),D(a(Ie),{width:`100%`,height:`6px`,"border-radius":`4px`})]),L(`div`,Vt,[D(a(Ie),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),D(a(Ie),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),D(a(Ie),{width:`6rem`,height:`0.65rem`})])])):(r(),N(`div`,Ht,I(a(s)(`serviceMetrics.noData`)),1))],64)):(r(),N(`div`,Ut,[t[0]||=L(`i`,{class:`pi pi-info-circle`},null,-1),L(`span`,null,I(a(s)(`serviceMetrics.notRunning`)),1)]))]))}}),[[`__scopeId`,`data-v-94f5993b`]]),Gt=`runeya:debug`,Kt=F(localStorage.getItem(Gt)===`true`);function qt(){function e(){Kt.value=!Kt.value,localStorage.setItem(Gt,String(Kt.value))}return{isDebug:Kt,toggle:e}}var Jt={class:`config-general`},Yt={class:`config-card`},Xt={class:`config-card__header`},Zt={class:`config-card`},Qt={class:`config-card__header`},$t={class:`config-card__hint`},en={class:`config-card`},tn={class:`config-card__header`},nn={class:`config-card__hint`},rn={class:`config-card`},an={class:`config-card__header`},on={class:`config-card__hint`},sn={class:`config-card`},cn={class:`config-card__header`},ln={class:`config-card__hint`},un={class:`config-card`},dn={class:`config-card__header`},fn={class:`config-card__hint`},pn={class:`config-card`},mn={class:`config-card__header`},hn={class:`config-card__hint`},gn={class:`config-card`},_n={class:`config-card__header`},vn={class:`config-card__hint`},yn={class:`config-card__hint`},bn={class:`config-card`},xn={class:`config-card__header`},Sn={class:`config-card__hint`},Cn={class:`config-meta`},wn={class:`config-card config-card--inline`},Tn={class:`config-card__header`},En={class:`config-card config-card--inline`},Dn={class:`config-card__header`},On=o(H({__name:`ServiceConfigGeneral`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let{t:i}=E(),o=v(),c=j(()=>{let e=new Set;for(let t of o.services)for(let n of t.groups??[])e.add(n);return[...e].sort((e,t)=>e.localeCompare(t))}),l=F([]);function u(e){let t=e.query.trim().toLowerCase(),n=new Set(g.value.groups);l.value=c.value.filter(e=>!n.has(e)&&(!t||e.toLowerCase().includes(t)))}function f(e){let t=e.target,n=t.value.trim();n&&(g.value.groups.includes(n)||(g.value.groups=[...g.value.groups,n],w()),t.value=``,l.value=[])}let p=t,m=n;function h(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}let g=F({name:p.service.name,cwd:p.service.cwd??``,ports:(p.service.ports??[]).map(String),groups:[...p.service.groups??[]],description:p.service.description??``,url:p.service.url??``,openapiUrl:p.service.openapiUrl??``,gitRemote:p.service.git?.remote??``,gitHome:p.service.git?.home??``,autoRestart:p.service.autoRestart,clearLogsOnStart:p.service.clearLogsOnStart??!1}),_=F(h(p.service.meta));e(()=>p.service,e=>{g.value={name:e.name,cwd:e.cwd??``,ports:(e.ports??[]).map(String),groups:[...e.groups??[]],description:e.description??``,url:e.url??``,openapiUrl:e.openapiUrl??``,gitRemote:e.git?.remote??``,gitHome:e.git?.home??``,autoRestart:e.autoRestart,clearLogsOnStart:e.clearLogsOnStart??!1},_.value=h(e.meta)});function y(){_.value=[..._.value,{key:``,value:``}]}function b(e){_.value=_.value.filter((t,n)=>n!==e)}function x(e,t,n){_.value=_.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function S(){let e={};for(let{key:t,value:n}of _.value){let r=t.trim();r&&(e[r]=n)}return{name:g.value.name,cwd:g.value.cwd||null,ports:g.value.ports.map(Number).filter(e=>e>0&&e<=65535),groups:g.value.groups,description:g.value.description,url:g.value.url,openapiUrl:g.value.openapiUrl,git:g.value.gitRemote||g.value.gitHome?{remote:g.value.gitRemote||void 0,home:g.value.gitHome||void 0}:null,autoRestart:g.value.autoRestart,clearLogsOnStart:g.value.clearLogsOnStart,meta:Object.keys(e).length>0?e:null}}let C=null;function w(){C&&clearTimeout(C),C=setTimeout(()=>{m(`save`,S()),C=null},150)}return(e,t)=>(r(),N(`div`,Jt,[L(`div`,Yt,[L(`div`,Xt,[t[11]||=L(`i`,{class:`pi pi-tag`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.name`)),1)]),D(a(A),{modelValue:g.value.name,"onUpdate:modelValue":t[0]||=e=>g.value.name=e,class:`config-card__input`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),L(`div`,Zt,[L(`div`,Qt,[t[12]||=L(`i`,{class:`pi pi-folder`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.workingDirectory`)),1)]),D(a(A),{modelValue:g.value.cwd,"onUpdate:modelValue":t[1]||=e=>g.value.cwd=e,class:`config-card__input`,placeholder:`.`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),L(`small`,$t,I(a(i)(`serviceConfigGeneral.cwdHint`)),1)]),L(`div`,en,[L(`div`,tn,[t[13]||=L(`i`,{class:`pi pi-globe`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.ports`)),1)]),D(a(Ee),{modelValue:g.value.ports,"onUpdate:modelValue":t[2]||=e=>g.value.ports=e,multiple:``,typeahead:!1,class:`config-card__input`,placeholder:a(i)(`serviceConfigGeneral.portsPlaceholder`),onChange:w},null,8,[`modelValue`,`placeholder`]),L(`small`,nn,I(a(i)(`serviceConfigGeneral.portsHint`)),1)]),L(`div`,rn,[L(`div`,an,[t[14]||=L(`i`,{class:`pi pi-th-large`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.groups`)),1)]),D(a(Ee),{modelValue:g.value.groups,"onUpdate:modelValue":t[3]||=e=>g.value.groups=e,multiple:``,suggestions:l.value,"complete-on-focus":!0,class:`config-card__input`,placeholder:a(i)(`serviceConfigGeneral.groupsPlaceholder`),onComplete:u,onChange:w,onKeydown:R(f,[`enter`])},null,8,[`modelValue`,`suggestions`,`placeholder`]),L(`small`,on,I(a(i)(`serviceConfigGeneral.groupsHint`)),1)]),L(`div`,sn,[L(`div`,cn,[t[15]||=L(`i`,{class:`pi pi-info-circle`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.description`)),1)]),D(a(he),{modelValue:g.value.description,"onUpdate:modelValue":t[4]||=e=>g.value.description=e,class:`config-card__input`,rows:2,onBlur:w},null,8,[`modelValue`]),L(`small`,ln,I(a(i)(`serviceConfigGeneral.descriptionHint`)),1)]),L(`div`,un,[L(`div`,dn,[t[16]||=L(`i`,{class:`pi pi-external-link`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.url`)),1)]),D(a(A),{modelValue:g.value.url,"onUpdate:modelValue":t[5]||=e=>g.value.url=e,class:`config-card__input`,placeholder:`https://...`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),L(`small`,fn,I(a(i)(`serviceConfigGeneral.urlHint`)),1)]),L(`div`,pn,[L(`div`,mn,[t[17]||=L(`i`,{class:`pi pi-book`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.openapiUrl`)),1)]),D(a(A),{modelValue:g.value.openapiUrl,"onUpdate:modelValue":t[6]||=e=>g.value.openapiUrl=e,class:`config-card__input`,placeholder:`https://.../swagger.json`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),L(`small`,hn,I(a(i)(`serviceConfigGeneral.openapiUrlHint`)),1)]),L(`div`,gn,[L(`div`,_n,[t[18]||=L(`i`,{class:`pi pi-github`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.git`)),1)]),D(a(A),{modelValue:g.value.gitRemote,"onUpdate:modelValue":t[7]||=e=>g.value.gitRemote=e,class:`config-card__input`,placeholder:`git@github.com:org/repo.git`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),L(`small`,vn,I(a(i)(`serviceConfigGeneral.gitRemoteHint`)),1),D(a(A),{modelValue:g.value.gitHome,"onUpdate:modelValue":t[8]||=e=>g.value.gitHome=e,class:`config-card__input`,style:{"margin-top":`0.5rem`},placeholder:`https://github.com/org/repo`,onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),L(`small`,yn,I(a(i)(`serviceConfigGeneral.gitHomeHint`)),1)]),L(`div`,bn,[L(`div`,xn,[t[19]||=L(`i`,{class:`pi pi-hashtag`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.meta`)),1)]),L(`small`,Sn,I(a(i)(`serviceConfigGeneral.metaHint`)),1),L(`div`,Cn,[(r(!0),N(O,null,d(_.value,(e,t)=>(r(),N(`div`,{key:t,class:`config-meta__row`},[D(a(A),{"model-value":e.key,placeholder:a(i)(`serviceConfigGeneral.metaKeyPlaceholder`),class:`config-meta__input`,"onUpdate:modelValue":e=>x(t,`key`,e),onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(A),{"model-value":e.value,placeholder:a(i)(`serviceConfigGeneral.metaValuePlaceholder`),class:`config-meta__input config-meta__input--wide`,"onUpdate:modelValue":e=>x(t,`value`,e),onBlur:w,onKeydown:R(B(w,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:()=>{b(t),w()}},null,8,[`onClick`])]))),128)),D(a(s),{label:a(i)(`serviceConfigGeneral.addEntry`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,class:`config-meta__add`,onClick:y},null,8,[`label`])])]),L(`div`,wn,[L(`div`,Tn,[t[20]||=L(`i`,{class:`pi pi-refresh`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.autoRestart`)),1)]),D(a(Te),{modelValue:g.value.autoRestart,"onUpdate:modelValue":t[9]||=e=>g.value.autoRestart=e,onChange:w},null,8,[`modelValue`])]),L(`div`,En,[L(`div`,Dn,[t[21]||=L(`i`,{class:`pi pi-trash`},null,-1),L(`span`,null,I(a(i)(`serviceConfigGeneral.clearLogs`)),1)]),D(a(Te),{modelValue:g.value.clearLogsOnStart,"onUpdate:modelValue":t[10]||=e=>g.value.clearLogsOnStart=e,onChange:w},null,8,[`modelValue`])])]))}}),[[`__scopeId`,`data-v-6042b0f3`]]),kn={class:`docker-config`},An={class:`docker-config__section`},jn={class:`docker-config__section-title`},Mn={class:`docker-config__mode-toggle`},Nn={class:`docker-config__mode-option`},Pn={class:`docker-config__mode-option`},Fn={key:0,class:`docker-config__section`},In={class:`docker-config__label`},Ln={class:`docker-config__section`},Rn={class:`docker-config__section`},zn={class:`docker-config__label`},Bn={class:`docker-config__section`},Vn={class:`docker-config__label`},Hn={class:`docker-config__kv-list`},Un={class:`docker-config__section`},Wn={class:`docker-config__label`},Gn={class:`docker-config__section`},Kn={class:`docker-config__section-title`},qn={class:`docker-config__section`},Jn={class:`docker-config__label`},Yn={class:`docker-config__section`},Xn={class:`docker-config__label`},Zn={key:2,class:`docker-config__section`},Qn={class:`docker-config__label`},$n={class:`docker-config__list`},er={class:`docker-config__section`},tr={class:`docker-config__label`},nr={class:`docker-config__checkbox-row`},rr={for:`mountRootpath`,class:`docker-config__checkbox-label`},ir={class:`docker-config__list`},ar={class:`docker-config__section`},or={class:`docker-config__checkbox-row`},sr={for:`useNativeCommand`,class:`docker-config__checkbox-label`},cr={key:0,class:`docker-config__shell-row`},lr={class:`docker-config__label`},ur={class:`docker-config__hint`},dr={key:1,class:`docker-config__mode-toggle docker-config__mode-toggle--indented`},fr={class:`docker-config__mode-option`},pr={class:`docker-config__mode-option`},mr={class:`docker-config__section`},hr={class:`docker-config__label`},gr={class:`docker-config__section`},_r={class:`docker-config__label`},vr={class:`docker-config__section`},yr={class:`docker-config__section-title`},br={class:`docker-config__bootstrap-row`},xr={class:`docker-config__bootstrap-field`},Sr={class:`docker-config__bootstrap-field`},Cr={class:`docker-config__bootstrap-field docker-config__bootstrap-field--wide`},wr={class:`docker-config__bootstrap-field`},Tr={class:`docker-config__bootstrap-actions`},Er={class:`docker-config__section`},Dr=o(H({__name:`ServiceConfigDocker`,props:{service:{}},emits:[`save`],setup(e,{emit:t}){let{t:n}=E(),i=e,o=t,c=i.service.dockerConfig??{},l=F(c.dockerfile?`build`:`image`),u=F(c.image??``),f=F(c.dockerfile??``),p=F(c.buildContext??``),m=F(Object.entries(c.buildArgs??{}).map(([e,t])=>({key:e,value:t}))),h=F(c.targetStage??``),g=F(c.networkMode??`host`),v=F([...c.ports??[]]),y=F([...c.volumes??[]]),b=F(c.mountRootpath??!1),x=F(c.entrypoint??``),C=F(c.command??``),w=F(c.user??``),T=F(c.useNativeCommand??!1),ee=F(c.nativeCommandMode??`isolated`),te=F(c.nativeShell??`sh`),ne=[{label:`sh (POSIX)`,value:`sh`},{label:`bash`,value:`bash`},{label:`zsh`,value:`zsh`},{label:`ash (Alpine)`,value:`ash`}],k=F([...c.bootstrapCommands??[]]),re=F(!1),j=[{label:`Host (--network host)`,value:`host`},{label:`Bridge`,value:`bridge`}];function se(){m.value=[...m.value,{key:``,value:``}]}function ce(e){m.value=m.value.filter((t,n)=>n!==e)}function le(e,t,n){m.value=m.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function ue(){v.value=[...v.value,``]}function de(e){v.value=v.value.filter((t,n)=>n!==e)}function fe(e,t){v.value=v.value.map((n,r)=>r===e?t:n)}function pe(){y.value=[...y.value,``]}function me(e){y.value=y.value.filter((t,n)=>n!==e)}function V(e,t){y.value=y.value.map((n,r)=>r===e?t:n)}function he(){k.value=[...k.value,{id:Pe(),label:`Bootstrap`,entrypoint:`/bin/sh`,command:`-c ""`,user:void 0}]}function ge(e){k.value=k.value.filter((t,n)=>n!==e)}function H(e,t,n){k.value=k.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function _e(e,t){let n=[...k.value],r=e+t;r<0||r>=n.length||([n[e],n[r]]=[n[r],n[e]],k.value=n)}let ve=null;function U(){ve&&clearTimeout(ve),ve=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`&&f.value||void 0,buildContext:p.value||void 0,buildArgs:e,targetStage:h.value||void 0,networkMode:g.value,ports:v.value.filter(Boolean),volumes:y.value.filter(Boolean),mountRootpath:b.value,entrypoint:x.value||void 0,command:C.value||void 0,user:w.value||void 0,useNativeCommand:T.value,nativeCommandMode:ee.value,nativeShell:te.value,bootstrapCommands:k.value}),ve=null},150)}function ye(e){ge(e),U()}function be(e,t){_e(e,t),U()}function xe(e){ce(e),U()}function Se(e){de(e),U()}function Ce(e){me(e),U()}return(e,t)=>(r(),N(`div`,kn,[L(`div`,An,[L(`label`,jn,I(a(n)(`serviceConfigDocker.imageSource`)),1),L(`div`,Mn,[L(`label`,Nn,[oe(L(`input`,{"onUpdate:modelValue":t[0]||=e=>l.value=e,type:`radio`,value:`image`,class:`docker-config__radio`,onChange:U},null,544),[[_,l.value]]),P(` `+I(a(n)(`serviceConfigDocker.pullImage`)),1)]),L(`label`,Pn,[oe(L(`input`,{"onUpdate:modelValue":t[1]||=e=>l.value=e,type:`radio`,value:`build`,class:`docker-config__radio`,onChange:U},null,544),[[_,l.value]]),P(` `+I(a(n)(`serviceConfigDocker.buildDockerfile`)),1)])])]),l.value===`image`?(r(),N(`div`,Fn,[L(`label`,In,I(a(n)(`serviceConfigDocker.image`)),1),D(a(A),{modelValue:u.value,"onUpdate:modelValue":t[2]||=e=>u.value=e,placeholder:a(n)(`serviceConfigDocker.imagePlaceholder`),class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):M(``,!0),l.value===`build`?(r(),N(O,{key:1},[L(`div`,Ln,[t[18]||=L(`label`,{class:`docker-config__label`},`Dockerfile`,-1),D(a(s),{label:a(n)(`serviceConfigDocker.editDockerfile`),icon:`pi pi-file-edit`,severity:`secondary`,outlined:``,size:`small`,onClick:t[3]||=e=>re.value=!0},null,8,[`label`]),D(a(S),{visible:re.value,"onUpdate:visible":t[6]||=e=>re.value=e,header:a(n)(`serviceConfigDocker.editDockerfile`),modal:``,style:{width:`800px`}},{footer:z(()=>[D(a(s),{label:a(n)(`serviceConfigDocker.closeDockerfile`),icon:`pi pi-times`,onClick:t[5]||=()=>{re.value=!1,U()}},null,8,[`label`])]),default:z(()=>[D(ie,{modelValue:f.value,"onUpdate:modelValue":t[4]||=e=>f.value=e,language:`dockerfile`,style:{height:`400px`}},null,8,[`modelValue`])]),_:1},8,[`visible`,`header`])]),L(`div`,Rn,[L(`label`,zn,I(a(n)(`serviceConfigDocker.buildContext`)),1),D(a(A),{modelValue:p.value,"onUpdate:modelValue":t[7]||=e=>p.value=e,placeholder:`.`,class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),L(`div`,Bn,[L(`label`,Vn,I(a(n)(`serviceConfigDocker.buildArgs`)),1),L(`div`,Hn,[(r(!0),N(O,null,d(m.value,(e,t)=>(r(),N(`div`,{key:t,class:`docker-config__kv-row`},[D(a(A),{"model-value":e.key,placeholder:a(n)(`serviceConfigDocker.argNamePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>le(t,`key`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(A),{"model-value":e.value,placeholder:a(n)(`serviceConfigDocker.argValuePlaceholder`),class:`docker-config__kv-input`,"onUpdate:modelValue":e=>le(t,`value`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>xe(t)},null,8,[`onClick`])]))),128)),D(a(s),{label:a(n)(`serviceConfigDocker.addBuildArg`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:se},null,8,[`label`])])]),L(`div`,Un,[L(`label`,Wn,I(a(n)(`serviceConfigDocker.targetStage`)),1),D(a(A),{modelValue:h.value,"onUpdate:modelValue":t[8]||=e=>h.value=e,placeholder:a(n)(`serviceConfigDocker.targetStagePlaceholder`),class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)):M(``,!0),D(a(ze)),L(`div`,Gn,[L(`label`,Kn,I(a(n)(`serviceConfigDocker.runtimeConfig`)),1)]),L(`div`,qn,[L(`label`,Jn,I(a(n)(`serviceConfigDocker.userGroup`)),1),D(a(A),{modelValue:w.value,"onUpdate:modelValue":t[9]||=e=>w.value=e,placeholder:a(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),L(`div`,Yn,[L(`label`,Xn,I(a(n)(`serviceConfigDocker.networkMode`)),1),D(a(ae),{modelValue:g.value,"onUpdate:modelValue":t[10]||=e=>g.value=e,options:j,"option-label":`label`,"option-value":`value`,class:`docker-config__select`,onChange:U},null,8,[`modelValue`])]),g.value===`bridge`?(r(),N(`div`,Zn,[L(`label`,Qn,I(a(n)(`serviceConfigDocker.portMappings`)),1),L(`div`,$n,[(r(!0),N(O,null,d(v.value,(e,t)=>(r(),N(`div`,{key:t,class:`docker-config__list-row`},[D(a(A),{"model-value":e,placeholder:a(n)(`serviceConfigDocker.portPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>fe(t,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>Se(t)},null,8,[`onClick`])]))),128)),D(a(s),{label:a(n)(`serviceConfigDocker.addPort`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:ue},null,8,[`label`])])])):M(``,!0),L(`div`,er,[L(`label`,tr,I(a(n)(`serviceConfigDocker.volumes`)),1),L(`div`,nr,[D(a(we),{modelValue:b.value,"onUpdate:modelValue":t[11]||=e=>b.value=e,binary:!0,"input-id":`mountRootpath`,onChange:U},null,8,[`modelValue`]),L(`label`,rr,I(a(n)(`serviceConfigDocker.autoMount`)),1)]),L(`div`,ir,[(r(!0),N(O,null,d(y.value,(e,t)=>(r(),N(`div`,{key:t,class:`docker-config__list-row`},[D(a(A),{"model-value":e,placeholder:a(n)(`serviceConfigDocker.volumePlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>V(t,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`]),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>Ce(t)},null,8,[`onClick`])]))),128)),D(a(s),{label:a(n)(`serviceConfigDocker.addVolume`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:pe},null,8,[`label`])])]),D(a(ze)),L(`div`,ar,[L(`div`,or,[D(a(we),{modelValue:T.value,"onUpdate:modelValue":t[12]||=e=>T.value=e,binary:!0,"input-id":`useNativeCommand`,onChange:U},null,8,[`modelValue`]),L(`label`,sr,I(a(n)(`serviceConfigDocker.runNative`)),1)]),t[21]||=L(`span`,{class:`docker-config__hint`},` When enabled, the service command is executed directly inside the container (ignores CMD override below). `,-1),T.value?(r(),N(`div`,cr,[L(`label`,lr,I(a(n)(`serviceConfigDocker.shell`)),1),D(a(ae),{modelValue:te.value,"onUpdate:modelValue":t[13]||=e=>te.value=e,options:ne,"option-label":`label`,"option-value":`value`,class:`docker-config__select docker-config__select--small`,editable:``,placeholder:a(n)(`serviceConfigDocker.shellPlaceholder`),onChange:U},null,8,[`modelValue`,`placeholder`]),L(`span`,ur,[P(I(a(n)(`serviceConfigDocker.shellHint`))+` (`,1),t[19]||=L(`code`,null,`shell -c '...'`,-1),t[20]||=P(`)`,-1)])])):M(``,!0),T.value?(r(),N(`div`,dr,[L(`label`,fr,[oe(L(`input`,{"onUpdate:modelValue":t[14]||=e=>ee.value=e,type:`radio`,value:`isolated`,class:`docker-config__radio`,onChange:U},null,544),[[_,ee.value]]),P(` `+I(a(n)(`serviceConfigDocker.isolated`)),1)]),L(`label`,pr,[oe(L(`input`,{"onUpdate:modelValue":t[15]||=e=>ee.value=e,type:`radio`,value:`shared`,class:`docker-config__radio`,onChange:U},null,544),[[_,ee.value]]),P(` `+I(a(n)(`serviceConfigDocker.shared`)),1)])])):M(``,!0)]),T.value?M(``,!0):(r(),N(O,{key:3},[t[22]||=L(`div`,{class:`docker-config__section`},[L(`label`,{class:`docker-config__section-title`},`Override`)],-1),L(`div`,mr,[L(`label`,hr,I(a(n)(`serviceConfigDocker.entrypoint`)),1),D(a(A),{modelValue:x.value,"onUpdate:modelValue":t[16]||=e=>x.value=e,placeholder:a(n)(`serviceConfigDocker.entrypointPlaceholder`),class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),L(`div`,gr,[L(`label`,_r,I(a(n)(`serviceConfigDocker.cmdOverride`)),1),D(a(A),{modelValue:C.value,"onUpdate:modelValue":t[17]||=e=>C.value=e,placeholder:a(n)(`serviceConfigDocker.cmdPlaceholder`),class:`docker-config__input`,onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])],64)),D(a(ze)),L(`div`,vr,[L(`label`,yr,[P(I(a(n)(`serviceConfigDocker.bootstrapCommands`))+` `,1),t[23]||=L(`span`,{class:`docker-config__hint-inline`},` — run sequentially before the service starts`,-1)])]),(r(!0),N(O,null,d(k.value,(e,i)=>(r(),N(`div`,{key:e.id,class:`docker-config__bootstrap-card`},[L(`div`,br,[L(`div`,xr,[t[24]||=L(`label`,{class:`docker-config__label`},`Label`,-1),D(a(A),{"model-value":e.label,placeholder:a(n)(`serviceConfigDocker.bootstrapLabelPlaceholder`),class:`docker-config__input`,"onUpdate:modelValue":e=>H(i,`label`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Sr,[t[25]||=L(`label`,{class:`docker-config__label`},`Entrypoint`,-1),D(a(A),{"model-value":e.entrypoint??``,placeholder:`/bin/sh`,class:`docker-config__input`,"onUpdate:modelValue":e=>H(i,`entrypoint`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Cr,[t[26]||=L(`label`,{class:`docker-config__label`},`Command`,-1),D(a(A),{"model-value":e.command,placeholder:`-c "npm install"`,class:`docker-config__input`,"onUpdate:modelValue":e=>H(i,`command`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,wr,[t[27]||=L(`label`,{class:`docker-config__label`},`User:Group`,-1),D(a(A),{"model-value":e.user??``,placeholder:a(n)(`serviceConfigDocker.userGroupHint`),class:`docker-config__input`,"onUpdate:modelValue":e=>H(i,`user`,e),onBlur:U,onKeydown:R(B(U,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Tr,[D(a(s),{icon:`pi pi-arrow-up`,text:``,rounded:``,size:`small`,disabled:i===0,onClick:e=>be(i,-1)},null,8,[`disabled`,`onClick`]),D(a(s),{icon:`pi pi-arrow-down`,text:``,rounded:``,size:`small`,disabled:i===k.value.length-1,onClick:e=>be(i,1)},null,8,[`disabled`,`onClick`]),D(a(s),{icon:`pi pi-times`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>ye(i)},null,8,[`onClick`])])])]))),128)),L(`div`,Er,[D(a(s),{label:a(n)(`serviceConfigDocker.addBootstrapCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:he},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-08f9eb76`]]),Or={class:`config-commands`},kr={class:`config-commands__execution`},Ar={class:`config-card config-card--execution`},jr={class:`config-card__header`},Mr={class:`config-card__hint`},Nr={class:`config-card config-card--execution`},Pr={class:`config-card__header`},Fr={key:0,class:`runner-option`},Ir={class:`runner-option`},Lr={class:`config-commands__tab-content`},Rr={key:0,class:`config-commands__empty`},zr={class:`config-commands__row`},Br={class:`config-commands__field`},Vr={class:`config-commands__label`},Hr={class:`config-commands__field config-commands__field--wide`},Ur={class:`config-commands__label`},Wr={class:`config-commands__field`},Gr={class:`config-commands__actions-cell`},Kr={class:`config-commands__footer`},qr={class:`config-commands__tab-content`},Jr=`__inherit__`,Yr=o(H({__name:`ServiceConfigCommands`,props:{service:{}},emits:[`save`,`dockerSave`],setup(t,{emit:n}){let i=t,o=n,{t:u}=E(),f=l(),p=null,m=F({agentId:i.service.agentId??Jr,runner:i.service.runner});e(()=>i.service,e=>{m.value={agentId:e.agentId??Jr,runner:e.runner}});let h=j(()=>[{label:u(`serviceConfigCommands.native`),value:`native`,icon:`pi pi-desktop`},{label:u(`serviceConfigCommands.docker`),value:`docker`,icon:`pi pi-box`}]),g=j(()=>h.value.find(e=>e.value===m.value.runner)?.icon??`pi pi-box`),_=j(()=>[{label:u(`serviceForm.agentInherit`),value:Jr},...f.agents.map(e=>({label:`${e.config.name} (${e.status.connected?u(`serviceConfigCommands.online`):u(`serviceConfigCommands.offline`)})`,value:e.config.id}))]),v=F([...i.service.commands??[]]);e(()=>i.service,e=>{p||(v.value=[...e.commands??[]])});function y(){v.value=[...v.value,{id:Pe(),label:``,command:``,cwd:void 0,shell:!0}]}function b(e){v.value=v.value.filter((t,n)=>n!==e)}function x(e,t,n){v.value=v.value.map((r,i)=>i===e?{...r,[t]:n===``?void 0:n}:r)}function S(){p&&clearTimeout(p),p=setTimeout(()=>{o(`save`,{agentId:m.value.agentId===Jr?null:m.value.agentId||null,runner:m.value.runner,commands:v.value}),p=null},150)}function C(e){o(`dockerSave`,e)}function w(e){b(e),S()}return(e,n)=>(r(),N(`div`,Or,[L(`div`,kr,[L(`div`,Ar,[L(`div`,jr,[n[2]||=L(`i`,{class:`pi pi-server`},null,-1),L(`span`,null,I(a(u)(`serviceConfigCommands.agent`)),1)]),D(a(ae),{modelValue:m.value.agentId,"onUpdate:modelValue":n[0]||=e=>m.value.agentId=e,options:_.value,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:S},null,8,[`modelValue`,`options`]),L(`small`,Mr,I(a(u)(`serviceForm.agentHintEdit`)),1)]),L(`div`,Nr,[L(`div`,Pr,[L(`i`,{class:c(g.value)},null,2),L(`span`,null,I(a(u)(`serviceConfigCommands.runner`)),1)]),D(a(ae),{modelValue:m.value.runner,"onUpdate:modelValue":n[1]||=e=>m.value.runner=e,options:h.value,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:S},{value:z(e=>[e.value?(r(),N(`div`,Fr,[L(`i`,{class:c(h.value.find(t=>t.value===e.value)?.icon)},null,2),L(`span`,null,I(h.value.find(t=>t.value===e.value)?.label),1)])):M(``,!0)]),option:z(e=>[L(`div`,Ir,[L(`i`,{class:c(e.option.icon)},null,2),L(`span`,null,I(e.option.label),1)])]),_:1},8,[`modelValue`,`options`])])]),D(a(De),{value:`0`},{default:z(()=>[D(a(Oe),null,{default:z(()=>[D(a(Ae),{value:`0`},{default:z(()=>[n[3]||=L(`i`,{class:`pi pi-desktop tab-icon`},null,-1),L(`span`,null,I(a(u)(`serviceConfigCommands.native`)),1)]),_:1}),D(a(Ae),{value:`1`},{default:z(()=>[n[4]||=L(`i`,{class:`pi pi-box tab-icon`},null,-1),L(`span`,null,I(a(u)(`serviceConfigCommands.docker`)),1)]),_:1})]),_:1}),D(a(ke),null,{default:z(()=>[D(a(je),{value:`0`},{default:z(()=>[L(`div`,Lr,[v.value.length===0?(r(),N(`div`,Rr,[L(`p`,null,I(a(u)(`serviceConfigCommands.noCommands`)),1)])):M(``,!0),(r(!0),N(O,null,d(v.value,(e,t)=>(r(),N(`div`,{key:e.id,class:`config-card`},[L(`div`,zr,[L(`div`,Br,[L(`label`,Vr,I(a(u)(`serviceConfigCommands.labelPlaceholder`)),1),D(a(A),{"model-value":e.label,placeholder:a(u)(`serviceConfigCommands.labelPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>x(t,`label`,e),onBlur:S,onKeydown:R(B(S,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Hr,[L(`label`,Ur,I(a(u)(`serviceConfigCommands.commandPlaceholder`)),1),D(a(A),{"model-value":e.command,placeholder:`e.g. npm start`,class:`config-card__input`,"onUpdate:modelValue":e=>x(t,`command`,e),onBlur:S,onKeydown:R(B(S,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Wr,[n[5]||=L(`label`,{class:`config-commands__label`},`Working Dir (optional)`,-1),D(a(A),{"model-value":e.cwd??``,placeholder:a(u)(`serviceConfigCommands.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>x(t,`cwd`,e),onBlur:S,onKeydown:R(B(S,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,Gr,[D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>w(t)},null,8,[`onClick`])])])]))),128)),L(`div`,Kr,[D(a(s),{label:a(u)(`serviceConfigCommands.addCommand`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,onClick:y},null,8,[`label`])])])]),_:1}),D(a(je),{value:`1`},{default:z(()=>[L(`div`,qr,[D(Dr,{service:t.service,onSave:C},null,8,[`service`])])]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-eab249e5`]]),Xr={class:`config-env`,"data-testid":`config-env`},Zr={key:0,class:`active-env-display`},Qr={class:`active-env-label`},$r={key:1,class:`inheritance-toggle`},ei={class:`inheritance-label`},ti={class:`config-env__header`},ni={class:`config-env__title`},ri={class:`config-env__actions`},ii={key:2,class:`variables-view`},ai={key:0},oi={key:1,class:`empty-state`},si={class:`inherited-header`},ci={class:`inherited-row-key`},li={class:`preview-key`},ui={class:`value-row`},di=[`onClick`],fi=[`onClick`],pi={key:0,class:`secret-mask`},mi={key:1,class:`preview-value`},hi={class:`inherited-header`},gi={class:`passthrough-info`},_i={class:`preview-key`},vi={key:0,class:`preview-value`},yi={key:1,class:`passthrough-undefined`},bi={key:3,class:`empty-state`},xi={key:4,class:`empty-state`},Si={class:`editor-container`},Ci={key:0,class:`editor-env-banner`},wi={class:`editor-env-text`},Ti={class:`editor-section`,"data-testid":`variables-editor`},Ei={key:0,class:`loading-container`},Di={key:1,class:`preview-container`},Oi={class:`preview-info`},ki={class:`preview-key`},Ai={class:`value-row`},ji=[`onClick`],Mi=[`onClick`],Ni={key:0,class:`secret-mask`},Pi={key:1,class:`preview-value`},Fi=o(H({__name:`ServiceConfigEnv`,props:{service:{},projectId:{},activeEnvironmentId:{}},setup(i){let o=i,{t:d}=E(),p=u(),m=T(),h=n(),_=ye(),v=l(),y=te(),b=j(()=>_.projects.find(e=>e.id===o.projectId)?.activeEnvironmentId??null),C=j(()=>h.findServiceEnvironment(o.service.id,b.value??``)),w=F(!1),ee=F(!1),O=F(!1),ne=F(!1),k=F(null),A=F(null),re=F([]),ie=F({}),ae=F(new Set);function oe(e){let t=new Set(ae.value);t.has(e)?t.delete(e):t.add(e),ae.value=t}let le=F(null);function ue(e,t){navigator.clipboard.writeText(t),le.value=e,setTimeout(()=>{le.value===e&&(le.value=null)},1500)}let R=F({}),fe=F(!1),pe=j(()=>o.service.agentId?v.getById(o.service.agentId):null),me=j(()=>{let e=pe.value?.status.lanIp;return e?{"service.HOST_LAN":e}:{}}),he=j(()=>pe.value?.config.passthroughEnv??[]),ge=j(()=>he.value.length>0);async function H(){if(!o.service.agentId||!ge.value){R.value={};return}fe.value=!0;try{R.value=await de.agent.getPassthroughEnv.query({id:o.service.agentId})}catch{R.value={}}finally{fe.value=!1}}let ve=j(()=>he.value.map(e=>({name:e,value:R.value[e]??null}))),U=j(()=>!C.value||!b.value?!0:C.value.parentIds?.includes(b.value)??!0);async function be(e){if(!(!C.value||!b.value)){ne.value=!0;try{await h.update({id:C.value.id,parentIds:e?[b.value]:[]}),await Ae()}catch(e){p.add({severity:`error`,summary:d(`serviceConfigEnv.error`),detail:e.message??d(`serviceConfigEnv.failedToUpdateInheritance`),life:5e3})}finally{ne.value=!1}}}let Ce=j(()=>{let e=_.projects.find(e=>e.id===o.projectId);return e?.activeEnvironmentId?h.getById(e.activeEnvironmentId):null});function we(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 Ee=j(()=>k.value?we(k.value.variables):[]),De=j(()=>{if(!C.value||!k.value?.sources)return Ee.value;let e=C.value.id;return Ee.value.filter(t=>k.value.sources[t.variableId]?.environmentId===e)}),Oe=j(()=>{if(!C.value||!k.value?.sources)return[];let e=C.value.id;return Ee.value.filter(t=>k.value.sources[t.variableId]?.environmentId!==e)}),ke=j(()=>{if(!k.value?.sources)return{};let e={};for(let[t,n]of Object.entries(k.value.sources))e[t]={environmentId:n.environmentId,overridden:n.overridden,...n.resolvedFrom?{resolvedFrom:n.resolvedFrom}:{}};return e});async function Ae(){if(C.value)try{k.value=await h.resolve(C.value.id)}catch(e){console.error(`Failed to resolve environment:`,e)}}async function je(){if(b.value)try{A.value=await h.resolve(b.value)}catch{}}async function Pe(e){let t=e.toLowerCase(),n=A.value??k.value;if(!n)return;let r=n.variables,i=Object.keys(n.env).filter(e=>e.toLowerCase().includes(t));re.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??``})}ie.value=a}async function Fe(){O.value=!0;try{await Re(),await Ae(),ee.value=!0}catch(e){p.add({severity:`error`,summary:d(`serviceConfigEnv.error`),detail:e.message??d(`serviceConfigEnv.failedToLoadPreview`),life:5e3})}finally{O.value=!1}}let Ie=j(()=>k.value?Object.entries(k.value.env).map(([e,t])=>({key:e,value:Object.entries(me.value).reduce((e,[t,n])=>e.replaceAll(`{{${t}}}`,n),t)})):[]);function Le(e,t){return t?`***`:e.length>50?e.substring(0,47)+`...`:e}async function Re(){if(C.value)return C.value;if(!b.value)return null;let e=Ce.value;return e?(await h.create({name:`${o.service.name??o.service.id} — ${e.name}`,projectId:o.projectId,scope:`service`,reference:o.service.id,activateOn:b.value,parentIds:[b.value],variables:{}}),C.value):null}let ze=j(()=>{let e=y.getByService(o.service.id);return e.length>0?e[0]:null}),Be=j(()=>{let e=ze.value?.state;return e===`running`||e===`errored`});async function Ve(){await Re(),w.value=!0,await Promise.all([Ae(),je()])}function He(){if(w.value=!1,!Be.value||!ze.value)return;let e=ze.value.state===`running`?`restart`:`start`,t=o.service.name||o.service.id;m.require({message:d(e===`restart`?`serviceConfigEnv.restartConfirmMsg`:`serviceConfigEnv.startConfirmMsg`,{name:t}),header:d(e===`restart`?`serviceConfigEnv.restartTitle`:`serviceConfigEnv.startTitle`),icon:`pi pi-refresh`,acceptLabel:d(e===`restart`?`serviceConfigEnv.restartTitle`:`actions.start`),rejectLabel:d(`serviceConfigEnv.notNow`),accept:async()=>{try{let t=o.service.agentId;if(!t)return;e===`restart`?(await y.restart(t,o.service.id),p.add({severity:`success`,summary:d(`serviceConfigEnv.serviceRestarted`),life:3e3})):(await y.start(t,o.service.id),p.add({severity:`success`,summary:d(`serviceConfigEnv.serviceStarted`),life:3e3}))}catch(t){p.add({severity:`error`,summary:d(`serviceConfigEnv.error`),detail:t.message??d(`serviceConfigEnv.failedToAction`,{action:e}),life:5e3})}}})}return e(Ce,async e=>{e&&await Promise.all([Ae(),je()])}),e(()=>o.service.agentId,()=>{H()}),f(async()=>{o.projectId&&await h.fetchAll(o.projectId),await Promise.all([Ae(),je(),H()])}),(e,n)=>(r(),N(`div`,Xr,[b.value?(r(),N(`div`,Zr,[L(`span`,Qr,I(a(d)(`serviceConfigEnv.activeEnvironment`)),1),D(Me,{"environment-id":b.value},null,8,[`environment-id`])])):M(``,!0),C.value&&Ce.value?(r(),N(`div`,$r,[D(a(Te),{"model-value":U.value,disabled:ne.value,"onUpdate:modelValue":be},null,8,[`model-value`,`disabled`]),L(`span`,ei,I(U.value?a(d)(`serviceConfigEnv.inheritsFrom`,{name:Ce.value.name}):a(d)(`serviceConfigEnv.isolated`,{name:Ce.value.name})),1)])):M(``,!0),L(`div`,ti,[L(`h3`,ni,I(a(d)(`serviceConfigEnv.envVars`)),1),L(`div`,ri,[D(a(s),{label:a(d)(`serviceConfigEnv.editVariables`),icon:`pi pi-pencil`,size:`small`,outlined:``,"data-testid":`env-edit-btn`,disabled:!b.value,onClick:Ve},null,8,[`label`,`disabled`]),D(a(s),{label:a(d)(`serviceConfigEnv.preview`),icon:`pi pi-eye`,size:`small`,outlined:``,severity:`secondary`,loading:O.value,disabled:!b.value,"data-testid":`env-preview-btn`,onClick:Fe},null,8,[`label`,`loading`,`disabled`])])]),C.value?(r(),N(`div`,ii,[De.value.length>0?(r(),N(`div`,ai,[D(Ne,{"environment-id":C.value.id,sources:ke.value,"resolved-env":{...A.value?.env??{},...k.value?.env??{}},"service-builtins":me.value,editable:!1,"show-overrides":!1,"show-override-badge":!0,"show-delete":!1,"show-add-button":!1},null,8,[`environment-id`,`sources`,`resolved-env`,`service-builtins`])])):(r(),N(`div`,oi,[L(`p`,null,I(a(d)(`serviceConfigEnv.noVarsConfigured`)),1)])),Oe.value.length>0?(r(),V(a(ce),{key:2,class:`inherited-accordion`},{default:z(()=>[D(a(t),{value:`inherited`},{default:z(()=>[D(a(se),null,{default:z(()=>[L(`span`,si,[n[6]||=L(`i`,{class:`pi pi-arrow-down-left`},null,-1),P(` `+I(a(d)(`serviceConfigEnv.inheritedVars`))+` `,1),D(a(_e),{value:String(Oe.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),D(a(g),null,{default:z(()=>[D(a(xe),{value:Oe.value,size:`small`,"show-headers":!1},{default:z(()=>[D(a(Se),{style:{width:`35%`}},{body:z(({data:e})=>[L(`div`,ci,[L(`code`,li,I(e.key),1),ke.value[e.variableId]?(r(),V(Me,{key:0,"environment-id":ke.value[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):M(``,!0)])]),_:1}),D(a(Se),{style:{width:`65%`}},{body:z(({data:e})=>[L(`span`,ui,[L(`span`,{class:`value-actions`,onClick:n[0]||=B(()=>{},[`stop`])},[e.slot.isSecret?(r(),N(`i`,{key:0,class:c([ae.value.has(e.variableId)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>oe(e.variableId)},null,10,di)):M(``,!0),L(`i`,{class:c([le.value===e.variableId?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>ue(e.variableId,e.slot.pre+e.slot.value+e.slot.post)},null,10,fi)]),e.slot.isSecret&&!ae.value.has(e.variableId)?(r(),N(`span`,pi,`***`)):(r(),N(`code`,mi,I(e.slot.pre)+I(e.slot.value)+I(e.slot.post),1))])]),_:1})]),_:1},8,[`value`])]),_:1})]),_:1})]),_:1})):M(``,!0),ge.value?(r(),V(a(ce),{key:3,class:`inherited-accordion`},{default:z(()=>[D(a(t),{value:`passthrough`},{default:z(()=>[D(a(se),null,{default:z(()=>[L(`span`,hi,[n[7]||=L(`i`,{class:`pi pi-globe`},null,-1),P(` `+I(a(d)(`agentPage.passthrough.titleShort`))+` `,1),D(a(_e),{value:String(he.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),D(a(g),null,{default:z(()=>[L(`p`,gi,I(a(d)(`serviceConfigEnv.passthroughInfo`)),1),fe.value?(r(),V(a(x),{key:0,style:{width:`24px`,height:`24px`}})):(r(),V(a(xe),{key:1,value:ve.value,stripedRows:``,size:`small`},{default:z(()=>[D(a(Se),{field:`name`,header:a(d)(`common.key`),style:{width:`35%`}},{body:z(({data:e})=>[L(`code`,_i,I(e.name),1)]),_:1},8,[`header`]),D(a(Se),{header:a(d)(`common.value`),style:{width:`65%`}},{body:z(({data:e})=>[e.value===null?(r(),N(`span`,yi,I(a(d)(`serviceConfigEnv.undefined`)),1)):(r(),N(`span`,vi,I(e.value),1))]),_:1},8,[`header`])]),_:1},8,[`value`]))]),_:1})]),_:1})]),_:1})):M(``,!0)])):b.value?(r(),N(`div`,xi,[L(`p`,null,I(a(d)(`serviceConfigEnv.noVarsConfigured`)),1)])):(r(),N(`div`,bi,[L(`p`,null,I(a(d)(`serviceConfigEnv.noActiveEnv`)),1)])),D(a(S),{visible:w.value,header:a(d)(`serviceConfigEnv.editVarsHeader`),style:{width:`900px`},modal:``,"onUpdate:visible":n[2]||=e=>{e||He()}},{footer:z(()=>[D(a(s),{label:a(d)(`actions.close`),icon:`pi pi-times`,onClick:n[1]||=e=>He()},null,8,[`label`])]),default:z(()=>[L(`div`,Si,[b.value?(r(),N(`div`,Ci,[L(`span`,wi,I(a(d)(`serviceConfigEnv.editingVarsFor`,{name:i.service.name||i.service.id})),1),D(Me,{"environment-id":b.value},null,8,[`environment-id`])])):M(``,!0),L(`div`,Ti,[C.value?(r(),V(Ne,{key:0,"environment-id":C.value.id,editable:!0,"autocomplete-enabled":!0,"autocomplete-suggestions":re.value,"autocomplete-meta":ie.value,"resolved-env":{...A.value?.env??{},...k.value?.env??{}},"service-builtins":me.value,"show-overrides":!0,"show-delete":!0,"show-add-button":!0,onAutocompleteSearch:Pe},null,8,[`environment-id`,`autocomplete-suggestions`,`autocomplete-meta`,`resolved-env`,`service-builtins`])):M(``,!0)])])]),_:1},8,[`visible`,`header`]),D(a(S),{visible:ee.value,"onUpdate:visible":n[5]||=e=>ee.value=e,header:a(d)(`serviceConfigEnv.previewHeader`),style:{width:`700px`},modal:``,"data-testid":`env-preview-dialog`},{footer:z(()=>[D(a(s),{label:a(d)(`actions.close`),icon:`pi pi-times`,onClick:n[4]||=e=>ee.value=!1},null,8,[`label`])]),default:z(()=>[O.value?(r(),N(`div`,Ei,[D(a(x))])):k.value?(r(),N(`div`,Di,[L(`p`,Oi,I(a(d)(`serviceConfigEnv.injectedVarsInfo`)),1),D(a(xe),{value:Ie.value,stripedRows:``,size:`small`,rows:15,paginator:Ie.value.length>15},{default:z(()=>[D(a(Se),{field:`key`,header:a(d)(`common.key`),style:{width:`35%`}},{body:z(({data:e})=>[L(`code`,ki,I(e.key),1)]),_:1},8,[`header`]),D(a(Se),{header:a(d)(`common.value`),style:{width:`65%`}},{body:z(({data:e})=>[L(`span`,Ai,[L(`span`,{class:`value-actions`,onClick:n[3]||=B(()=>{},[`stop`])},[k.value.envSecrets.includes(e.key)?(r(),N(`i`,{key:0,class:c([ae.value.has(`preview:`+e.key)?`pi pi-eye-slash`:`pi pi-eye`,`action-icon`]),onClick:t=>oe(`preview:`+e.key)},null,10,ji)):M(``,!0),L(`i`,{class:c([le.value===`preview:`+e.key?`pi pi-check`:`pi pi-copy`,`action-icon`]),onClick:t=>ue(`preview:`+e.key,e.value)},null,10,Mi)]),k.value.envSecrets.includes(e.key)&&!ae.value.has(`preview:`+e.key)?(r(),N(`span`,Ni,`***`)):(r(),N(`span`,Pi,I(Le(e.value,!1)),1))])]),_:1},8,[`header`])]),_:1},8,[`value`,`paginator`])])):M(``,!0)]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-a6a198b8`]]),Ii={class:`config-health`},Li={class:`config-card config-card--inline`},Ri={class:`config-card__header`},zi={class:`config-card`},Bi={class:`config-card__header`},Vi={class:`config-card`},Hi={class:`config-card__header`},Ui={class:`config-card`},Wi={class:`config-card__header`},Gi={class:`config-card`},Ki={class:`config-card__header`},qi={key:1,class:`config-card`},Ji={class:`config-card__header`},Yi={class:`config-card__hint`},Xi={class:`config-card`},Zi={class:`config-card__header`},Qi={class:`config-card`},$i={class:`config-card__header`},ea={class:`config-card`},ta={class:`config-card__header`},na={class:`config-card`},ra={class:`config-card__header`},ia=o(H({__name:`ServiceConfigHealthCheck`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let i=t,o=n,{t:s}=E(),c=F(!!i.service.healthCheck),l=F({type:i.service.healthCheck?.type??`http`,path:i.service.healthCheck?.path??`/health`,interval:i.service.healthCheck?.interval??3e4,timeout:i.service.healthCheck?.timeout??5e3,retries:i.service.healthCheck?.retries??3,method:i.service.healthCheck?.method??`GET`,expectedStatus:i.service.healthCheck?.expectedStatus??200,initialDelay:i.service.healthCheck?.initialDelay??5e3,command:i.service.healthCheck?.command??``}),u=[{label:`HTTP Request`,value:`http`},{label:`Command`,value:`command`}],d=[{label:`GET`,value:`GET`},{label:`HEAD`,value:`HEAD`},{label:`POST`,value:`POST`},{label:`PUT`,value:`PUT`}];e(()=>i.service,e=>{c.value=!!e.healthCheck,l.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 f=null;function p(){f&&clearTimeout(f),f=setTimeout(()=>{if(!c.value)o(`save`,void 0);else{if(l.value.type===`http`&&!l.value.path?.trim()||l.value.type===`command`&&!l.value.command?.trim())return;o(`save`,{type:l.value.type,path:l.value.path,method:l.value.method,expectedStatus:l.value.expectedStatus,command:l.value.command||void 0,interval:l.value.interval,timeout:l.value.timeout,retries:l.value.retries,initialDelay:l.value.initialDelay})}f=null},150)}return(e,t)=>(r(),N(`div`,Ii,[L(`div`,Li,[L(`div`,Ri,[t[10]||=L(`i`,{class:`pi pi-heart`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.enable`)),1)]),D(a(Te),{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,onChange:p},null,8,[`modelValue`])]),c.value?(r(),N(O,{key:0},[L(`div`,zi,[L(`div`,Bi,[t[11]||=L(`i`,{class:`pi pi-cog`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.type`)),1)]),D(a(ae),{modelValue:l.value.type,"onUpdate:modelValue":t[1]||=e=>l.value.type=e,options:u,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:p},null,8,[`modelValue`]),t[12]||=L(`small`,{class:`config-card__hint`},`HTTP checks a URL endpoint; Command runs a shell command (exit 0 = healthy)`,-1)]),l.value.type===`http`?(r(),N(O,{key:0},[L(`div`,Vi,[L(`div`,Hi,[t[13]||=L(`i`,{class:`pi pi-link`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.path`)),1)]),D(a(A),{modelValue:l.value.path,"onUpdate:modelValue":t[2]||=e=>l.value.path=e,class:`config-card__input`,placeholder:`/health`,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),L(`div`,Ui,[L(`div`,Wi,[t[14]||=L(`i`,{class:`pi pi-directions`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.method`)),1)]),D(a(ae),{modelValue:l.value.method,"onUpdate:modelValue":t[3]||=e=>l.value.method=e,options:d,"option-label":`label`,"option-value":`value`,class:`config-card__input`,onChange:p},null,8,[`modelValue`])]),L(`div`,Gi,[L(`div`,Ki,[t[15]||=L(`i`,{class:`pi pi-check-circle`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.expectedStatus`)),1)]),D(a(Ce),{modelValue:l.value.expectedStatus,"onUpdate:modelValue":t[4]||=e=>l.value.expectedStatus=e,class:`config-card__input`,"use-grouping":!1,min:100,max:599,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[16]||=L(`small`,{class:`config-card__hint`},`HTTP status code to expect (default 200)`,-1)])],64)):M(``,!0),l.value.type===`command`?(r(),N(`div`,qi,[L(`div`,Ji,[t[17]||=L(`i`,{class:`pi pi-code`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.command`)),1)]),D(a(he),{modelValue:l.value.command,"onUpdate:modelValue":t[5]||=e=>l.value.command=e,class:`config-card__input`,rows:`2`,placeholder:`curl -sf http://localhost:3000/health`,"auto-resize":``,onBlur:p},null,8,[`modelValue`]),L(`small`,Yi,I(a(s)(`serviceConfigHealthCheck.commandHint`)),1)])):M(``,!0),L(`div`,Xi,[L(`div`,Zi,[t[18]||=L(`i`,{class:`pi pi-hourglass`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.initialDelay`)),1)]),D(a(Ce),{modelValue:l.value.initialDelay,"onUpdate:modelValue":t[6]||=e=>l.value.initialDelay=e,class:`config-card__input`,"use-grouping":!1,min:0,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),t[19]||=L(`small`,{class:`config-card__hint`},`Wait before first health check (ms)`,-1)]),L(`div`,Qi,[L(`div`,$i,[t[20]||=L(`i`,{class:`pi pi-clock`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.interval`)),1)]),D(a(Ce),{modelValue:l.value.interval,"onUpdate:modelValue":t[7]||=e=>l.value.interval=e,class:`config-card__input`,"use-grouping":!1,min:1e3,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),L(`div`,ea,[L(`div`,ta,[t[21]||=L(`i`,{class:`pi pi-stopwatch`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.timeout`)),1)]),D(a(Ce),{modelValue:l.value.timeout,"onUpdate:modelValue":t[8]||=e=>l.value.timeout=e,class:`config-card__input`,"use-grouping":!1,min:500,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),L(`div`,na,[L(`div`,ra,[t[22]||=L(`i`,{class:`pi pi-replay`},null,-1),L(`span`,null,I(a(s)(`serviceConfigHealthCheck.retries`)),1)]),D(a(Ce),{modelValue:l.value.retries,"onUpdate:modelValue":t[9]||=e=>l.value.retries=e,class:`config-card__input`,"use-grouping":!1,min:0,max:10,onBlur:p,onKeydown:R(B(p,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])],64)):M(``,!0)]))}}),[[`__scopeId`,`data-v-63e32039`]]),aa={class:`config-shortcuts`},oa={key:0,class:`config-shortcuts__empty`},sa={class:`config-shortcuts__row`},ca={class:`config-shortcuts__field`},la={class:`config-shortcuts__label`},ua={class:`config-shortcuts__field config-shortcuts__field--wide`},da={class:`config-shortcuts__label`},fa={class:`config-shortcuts__field`},pa={class:`config-shortcuts__label`},ma={class:`config-shortcuts__actions-cell`},ha={class:`config-shortcuts__footer`},ga=o(H({__name:`ServiceConfigShortcuts`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let i=t,{t:o}=E(),c=n,l=F([...i.service.shortcuts??[]]),u=null;e(()=>i.service,e=>{u||(l.value=[...e.shortcuts??[]])});function f(){l.value=[...l.value,{id:Pe(),label:``,command:``,cwd:void 0}]}function p(e){l.value=l.value.filter((t,n)=>n!==e)}function m(e,t,n){l.value=l.value.map((r,i)=>i===e?{...r,[t]:n||void 0}:r)}function h(){u&&clearTimeout(u),u=setTimeout(()=>{c(`save`,l.value),u=null},150)}function g(e){p(e),h()}return(e,t)=>(r(),N(`div`,aa,[l.value.length===0?(r(),N(`div`,oa,[L(`p`,null,I(a(o)(`serviceConfigShortcuts.empty`)),1)])):M(``,!0),(r(!0),N(O,null,d(l.value,(e,t)=>(r(),N(`div`,{key:e.id,class:`config-card`},[L(`div`,sa,[L(`div`,ca,[L(`label`,la,I(a(o)(`serviceConfigShortcuts.label`)),1),D(a(A),{"model-value":e.label,placeholder:a(o)(`serviceConfigShortcuts.labelPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-label-input`,"onUpdate:modelValue":e=>m(t,`label`,e),onBlur:h,onKeydown:R(B(h,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,ua,[L(`label`,da,I(a(o)(`serviceConfigShortcuts.command`)),1),D(a(A),{"model-value":e.command,placeholder:a(o)(`serviceConfigShortcuts.commandPlaceholder`),class:`config-card__input`,"data-testid":`shortcut-command-input`,"onUpdate:modelValue":e=>m(t,`command`,e),onBlur:h,onKeydown:R(B(h,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,fa,[L(`label`,pa,I(a(o)(`serviceConfigShortcuts.workingDir`)),1),D(a(A),{"model-value":e.cwd??``,placeholder:a(o)(`serviceConfigShortcuts.cwdPlaceholder`),class:`config-card__input`,"onUpdate:modelValue":e=>m(t,`cwd`,e),onBlur:h,onKeydown:R(B(h,[`prevent`]),[`enter`])},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`,`onKeydown`])]),L(`div`,ma,[D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,rounded:``,size:`small`,onClick:e=>g(t)},null,8,[`onClick`])])])]))),128)),L(`div`,ha,[D(a(s),{label:a(o)(`serviceConfigShortcuts.addShortcut`),icon:`pi pi-plus`,severity:`secondary`,outlined:``,size:`small`,"data-testid":`add-shortcut-btn`,onClick:f},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-7cab9b4c`]]),_a=Object.defineProperty,va=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,ba=Object.prototype.propertyIsEnumerable,xa=(e,t,n)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sa=(e,t)=>{for(var n in t||={})ya.call(t,n)&&xa(e,n,t[n]);if(va)for(var n of va(t))ba.call(t,n)&&xa(e,n,t[n]);return e},Ca=(e,t)=>{var n={};for(var r in e)ya.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&&ba.call(e,r)&&(n[r]=e[r]);return n},wa=`[vue-draggable-plus]: `;function Ta(e){console.warn(wa+e)}function Ea(e){console.error(wa+e)}function Da(e,t,n){return n>=0&&n<e.length&&e.splice(n,0,e.splice(t,1)[0]),e}function Oa(e){return e.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():``)}function ka(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[Oa(n)]=e[n]),t),{})}function Aa(e,t){return Array.isArray(e)&&e.splice(t,1),e}function ja(e,t,n){return Array.isArray(e)&&e.splice(t,0,n),e}function Ma(e){return e===void 0}function Na(e){return typeof e==`string`}function Pa(e,t,n){let r=e.children[n];e.insertBefore(t,r)}function Fa(e){e.parentNode&&e.parentNode.removeChild(e)}function Ia(e,t=document){let n=null;return n=typeof t?.querySelector==`function`?(t?.querySelector)?.call(t,e):document.querySelector(e),n||Ta(`Element not found: ${e}`),n}function La(e,t,n=null){return function(...r){return e.apply(n,r),t.apply(n,r)}}function Ra(e,t){let n=Sa({},e);return Object.keys(t).forEach(r=>{n[r]?n[r]=La(e[r],t[r]):n[r]=t[r]}),n}function za(e){return e instanceof HTMLElement}function Ba(e,t){Object.keys(e).forEach(n=>{t(n,e[n])})}function Va(e){return e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97)}var Ha=Object.assign;function Ua(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 Wa(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Ua(Object(n),!0).forEach(function(t){Ka(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ua(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ga(e){"@babel/helpers - typeof";return Ga=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},Ga(e)}function Ka(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qa(){return qa=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},qa.apply(this,arguments)}function Ja(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 Ya(e,t){if(e==null)return{};var n=Ja(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 Xa=`1.15.2`;function Za(e){if(typeof window<`u`&&window.navigator)return!!navigator.userAgent.match(e)}var Qa=Za(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),$a=Za(/Edge/i),eo=Za(/firefox/i),to=Za(/safari/i)&&!Za(/chrome/i)&&!Za(/android/i),no=Za(/iP(ad|od|hone)/i),ro=Za(/chrome/i)&&Za(/android/i),io={capture:!1,passive:!1};function W(e,t,n){e.addEventListener(t,n,!Qa&&io)}function G(e,t,n){e.removeEventListener(t,n,!Qa&&io)}function ao(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 oo(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function so(e,t,n,r){if(e){n||=document;do{if(t!=null&&(t[0]===`>`?e.parentNode===n&&ao(e,t):ao(e,t))||r&&e===n)return e;if(e===n)break}while(e=oo(e))}return null}var co=/\s+/g;function lo(e,t,n){e&&t&&(e.classList?e.classList[n?`add`:`remove`](t):e.className=((` `+e.className+` `).replace(co,` `).replace(` `+t+` `,` `)+(n?` `+t:``)).replace(co,` `))}function K(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 uo(e,t){var n=``;if(typeof e==`string`)n=e;else do{var r=K(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 po(){return document.scrollingElement||document.documentElement}function q(e,t,n,r,i){if(!(!e.getBoundingClientRect&&e!==window)){var a,o,s,c,l,u,d;if(e!==window&&e.parentNode&&e!==po()?(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,!Qa))do if(i&&i.getBoundingClientRect&&(K(i,`transform`)!==`none`||n&&K(i,`position`)!==`static`)){var f=i.getBoundingClientRect();o-=f.top+parseInt(K(i,`border-top-width`)),s-=f.left+parseInt(K(i,`border-left-width`)),c=o+a.height,l=s+a.width;break}while(i=i.parentNode);if(r&&e!==window){var p=uo(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 mo(e,t,n){for(var r=bo(e,!0),i=q(e)[t];r;){var a=q(r)[n],o=void 0;if(o=i>=a,!o)return r;if(r===po())break;r=bo(r,!1)}return!1}function ho(e,t,n,r){for(var i=0,a=0,o=e.children;a<o.length;){if(o[a].style.display!==`none`&&o[a]!==$.ghost&&(r||o[a]!==$.dragged)&&so(o[a],n.draggable,e,!1)){if(i===t)return o[a];i++}a++}return null}function go(e,t){for(var n=e.lastElementChild;n&&(n===$.ghost||K(n,`display`)===`none`||t&&!ao(n,t));)n=n.previousElementSibling;return n||null}function _o(e,t){var n=0;if(!e||!e.parentNode)return-1;for(;e=e.previousElementSibling;)e.nodeName.toUpperCase()!==`TEMPLATE`&&e!==$.clone&&(!t||ao(e,t))&&n++;return n}function vo(e){var t=0,n=0,r=po();if(e)do{var i=uo(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 yo(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 bo(e,t){if(!e||!e.getBoundingClientRect)return po();var n=e,r=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var i=K(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 po();if(r||t)return n;r=!0}}while(n=n.parentNode);return po()}function xo(e,t){if(e&&t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function So(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 Co;function wo(e,t){return function(){if(!Co){var n=arguments,r=this;n.length===1?e.call(r,n[0]):e.apply(r,n),Co=setTimeout(function(){Co=void 0},t)}}}function To(){clearTimeout(Co),Co=void 0}function Eo(e,t,n){e.scrollLeft+=t,e.scrollTop+=n}function Do(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 Oo(e,t,n){var r={};return Array.from(e.children).forEach(function(i){if(!(!so(i,t.draggable,e,!1)||i.animated||i===n)){var a=q(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 ko=`Sortable`+new Date().getTime();function Ao(){var e=[],t;return{captureAnimationState:function(){e=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(t){if(!(K(t,`display`)===`none`||t===$.ghost)){e.push({target:t,rect:q(t)});var n=Wa({},e[e.length-1].rect);if(t.thisAnimationDuration){var r=uo(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(yo(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=q(n),c=n.prevFromRect,l=n.prevToRect,u=e.rect,d=uo(n,!0);d&&(s.top-=d.f,s.left-=d.e),n.toRect=s,n.thisAnimationDuration&&So(c,s)&&!So(o,s)&&(u.top-s.top)/(u.left-s.left)===(o.top-s.top)/(o.left-s.left)&&(t=Mo(u,c,l,r.options)),So(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){K(e,`transition`,``),K(e,`transform`,``);var i=uo(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,K(e,`transform`,`translate3d(`+s+`px,`+c+`px,0)`),this.forRepaintDummy=jo(e),K(e,`transition`,`transform `+r+`ms`+(this.options.easing?` `+this.options.easing:``)),K(e,`transform`,`translate3d(0,0,0)`),typeof e.animated==`number`&&clearTimeout(e.animated),e.animated=setTimeout(function(){K(e,`transition`,``),K(e,`transform`,``),e.animated=!1,e.animatingX=!1,e.animatingY=!1},r)}}}}function jo(e){return e.offsetWidth}function Mo(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 No=[],Po={initializeByDefault:!0},Fo={mount:function(e){for(var t in Po)Po.hasOwnProperty(t)&&!(t in e)&&(e[t]=Po[t]);No.forEach(function(t){if(t.pluginName===e.pluginName)throw`Sortable: Cannot mount plugin ${e.pluginName} more than once`}),No.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var i=e+`Global`;No.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][i]&&t[r.pluginName][i](Wa({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](Wa({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var i in No.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,qa(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 No.forEach(function(r){typeof r.eventProperties==`function`&&qa(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return No.forEach(function(i){e[i.pluginName]&&i.optionListeners&&typeof i.optionListeners[t]==`function`&&(r=i.optionListeners[t].call(e[i.pluginName],n))}),r}};function Io(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[ko],t){var h,g=t.options,_=`on`+r.charAt(0).toUpperCase()+r.substr(1);window.CustomEvent&&!Qa&&!$a?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=Wa(Wa({},m),Fo.getEventProperties(r,t));for(var y in v)h[y]=v[y];n&&n.dispatchEvent(h),g[_]&&g[_].call(t,h)}}var Lo=[`evt`],Ro=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,i=Ya(n,Lo);Fo.pluginEvent.bind($)(e,t,Wa({dragEl:J,parentEl:Y,ghostEl:X,rootEl:Z,nextEl:Bo,lastDownEl:Vo,cloneEl:Q,cloneHidden:Ho,dragStarted:is,putSortable:Jo,activeSortable:$.active,originalEvent:r,oldIndex:Uo,oldDraggableIndex:Go,newIndex:Wo,newDraggableIndex:Ko,hideGhostForTarget:Cs,unhideGhostForTarget:ws,cloneNowHidden:function(){Ho=!0},cloneNowShown:function(){Ho=!1},dispatchSortableEvent:function(e){zo({sortable:t,name:e,originalEvent:r})}},i))};function zo(e){Io(Wa({putSortable:Jo,cloneEl:Q,targetEl:J,rootEl:Z,oldIndex:Uo,oldDraggableIndex:Go,newIndex:Wo,newDraggableIndex:Ko},e))}var J,Y,X,Z,Bo,Vo,Q,Ho,Uo,Wo,Go,Ko,qo,Jo,Yo=!1,Xo=!1,Zo=[],Qo,$o,es,ts,ns,rs,is,as,os,ss=!1,cs=!1,ls,us,ds=[],fs=!1,ps=[],ms=typeof document<`u`,hs=no,gs=$a||Qa?`cssFloat`:`float`,_s=ms&&!ro&&!no&&`draggable`in document.createElement(`div`),vs=function(){if(ms){if(Qa)return!1;var e=document.createElement(`x`);return e.style.cssText=`pointer-events:auto`,e.style.pointerEvents===`auto`}}(),ys=function(e,t){var n=K(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=ho(e,0,t),a=ho(e,1,t),o=i&&K(i),s=a&&K(a),c=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+q(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+q(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[gs]===`none`||a&&n[gs]===`none`&&c+l>r)?`vertical`:`horizontal`},bs=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},xs=function(e,t){var n;return Zo.some(function(r){var i=r[ko].options.emptyInsertThreshold;if(!(!i||go(r))){var a=q(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},Ss=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||Ga(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},Cs=function(){!vs&&X&&K(X,`display`,`none`)},ws=function(){!vs&&X&&K(X,`display`,``)};ms&&!ro&&document.addEventListener(`click`,function(e){if(Xo)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Xo=!1,!1},!0);var Ts=function(e){if(J){e=e.touches?e.touches[0]:e;var t=xs(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[ko]._onDragOver(n)}}},Es=function(e){J&&J.parentNode[ko]._isOutsideThisEl(e.target)};function $(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw`Sortable: \`el\` must be an HTMLElement, not ${{}.toString.call(e)}`;this.el=e,this.options=t=qa({},t),e[ko]=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 ys(e,this.options)},ghostClass:`sortable-ghost`,chosenClass:`sortable-chosen`,dragClass:`sortable-drag`,ignore:`a, img`,filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData(`Text`,t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:`data-id`,delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:`sortable-fallback`,fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:$.supportPointer!==!1&&`PointerEvent`in window&&!to,emptyInsertThreshold:5};for(var r in Fo.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var i in Ss(t),this)i.charAt(0)===`_`&&typeof this[i]==`function`&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:_s,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?W(e,`pointerdown`,this._onTapStart):(W(e,`mousedown`,this._onTapStart),W(e,`touchstart`,this._onTapStart)),this.nativeDraggable&&(W(e,`dragover`,this),W(e,`dragenter`,this)),Zo.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),qa(this,Ao())}$.prototype={constructor:$,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(as=null)},_getDirection:function(e,t){return typeof this.options.direction==`function`?this.options.direction.call(this,e,t,J):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,i=r.preventOnFilter,a=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType===`touch`&&e,s=(o||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,l=r.filter;if(Is(n),!J&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&to&&s&&s.tagName.toUpperCase()===`SELECT`)&&(s=so(s,r.draggable,n,!1),!(s&&s.animated)&&Vo!==s)){if(Uo=_o(s),Go=_o(s,r.draggable),typeof l==`function`){if(l.call(this,e,s,this)){zo({sortable:t,rootEl:c,name:`filter`,targetEl:s,toEl:n,fromEl:n}),Ro(`filter`,t,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(l&&(l=l.split(`,`).some(function(r){if(r=so(c,r.trim(),n,!1),r)return zo({sortable:t,rootEl:r,name:`filter`,targetEl:s,fromEl:n,toEl:n}),Ro(`filter`,t,{evt:e}),!0}),l)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!so(c,r.handle,n,!1)||this._prepareDragStart(e,o,s)}}},_prepareDragStart:function(e,t,n){var r=this,i=r.el,a=r.options,o=i.ownerDocument,s;if(n&&!J&&n.parentNode===i){var c=q(n);if(Z=i,J=n,Y=J.parentNode,Bo=J.nextSibling,Vo=n,qo=a.group,$.dragged=J,Qo={target:J,clientX:(t||e).clientX,clientY:(t||e).clientY},ns=Qo.clientX-c.left,rs=Qo.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,J.style[`will-change`]=`all`,s=function(){if(Ro(`delayEnded`,r,{evt:e}),$.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!eo&&r.nativeDraggable&&(J.draggable=!0),r._triggerDragStart(e,t),zo({sortable:r,name:`choose`,originalEvent:e}),lo(J,a.chosenClass,!0)},a.ignore.split(`,`).forEach(function(e){fo(J,e.trim(),ks)}),W(o,`dragover`,Ts),W(o,`mousemove`,Ts),W(o,`touchmove`,Ts),W(o,`mouseup`,r._onDrop),W(o,`touchend`,r._onDrop),W(o,`touchcancel`,r._onDrop),eo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,J.draggable=!0),Ro(`delayStart`,this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||t)&&(!this.nativeDraggable||!($a||Qa))){if($.eventCanceled){this._onDrop();return}W(o,`mouseup`,r._disableDelayedDrag),W(o,`touchend`,r._disableDelayedDrag),W(o,`touchcancel`,r._disableDelayedDrag),W(o,`mousemove`,r._delayedDragTouchMoveHandler),W(o,`touchmove`,r._delayedDragTouchMoveHandler),a.supportPointer&&W(o,`pointermove`,r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){J&&ks(J),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;G(e,`mouseup`,this._disableDelayedDrag),G(e,`touchend`,this._disableDelayedDrag),G(e,`touchcancel`,this._disableDelayedDrag),G(e,`mousemove`,this._delayedDragTouchMoveHandler),G(e,`touchmove`,this._delayedDragTouchMoveHandler),G(e,`pointermove`,this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t||=e.pointerType==`touch`&&e,!this.nativeDraggable||t?this.options.supportPointer?W(document,`pointermove`,this._onTouchMove):t?W(document,`touchmove`,this._onTouchMove):W(document,`mousemove`,this._onTouchMove):(W(J,`dragend`,this),W(Z,`dragstart`,this._onDragStart));try{document.selection?Ls(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Yo=!1,Z&&J){Ro(`dragStarted`,this,{evt:t}),this.nativeDraggable&&W(document,`dragover`,Es);var n=this.options;!e&&lo(J,n.dragClass,!1),lo(J,n.ghostClass,!0),$.active=this,e&&this._appendGhost(),zo({sortable:this,name:`start`,originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if($o){this._lastX=$o.clientX,this._lastY=$o.clientY,Cs();for(var e=document.elementFromPoint($o.clientX,$o.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint($o.clientX,$o.clientY),e!==t);)t=e;if(J.parentNode[ko]._isOutsideThisEl(e),t)do{if(t[ko]){var n=void 0;if(n=t[ko]._onDragOver({clientX:$o.clientX,clientY:$o.clientY,target:e,rootEl:t}),n&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);ws()}},_onTouchMove:function(e){if(Qo){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,a=X&&uo(X,!0),o=X&&a&&a.a,s=X&&a&&a.d,c=hs&&us&&vo(us),l=(i.clientX-Qo.clientX+r.x)/(o||1)+(c?c[0]-ds[0]:0)/(o||1),u=(i.clientY-Qo.clientY+r.y)/(s||1)+(c?c[1]-ds[1]:0)/(s||1);if(!$.active&&!Yo){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<n)return;this._onDragStart(e,!0)}if(X){a?(a.e+=l-(es||0),a.f+=u-(ts||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})`;K(X,`webkitTransform`,d),K(X,`mozTransform`,d),K(X,`msTransform`,d),K(X,`transform`,d),es=l,ts=u,$o=i}e.cancelable&&e.preventDefault()}},_appendGhost:function(){if(!X){var e=this.options.fallbackOnBody?document.body:Z,t=q(J,!0,hs,!0,e),n=this.options;if(hs){for(us=e;K(us,`position`)===`static`&&K(us,`transform`)===`none`&&us!==document;)us=us.parentNode;us!==document.body&&us!==document.documentElement?(us===document&&(us=po()),t.top+=us.scrollTop,t.left+=us.scrollLeft):us=po(),ds=vo(us)}X=J.cloneNode(!0),lo(X,n.ghostClass,!1),lo(X,n.fallbackClass,!0),lo(X,n.dragClass,!0),K(X,`transition`,``),K(X,`transform`,``),K(X,`box-sizing`,`border-box`),K(X,`margin`,0),K(X,`top`,t.top),K(X,`left`,t.left),K(X,`width`,t.width),K(X,`height`,t.height),K(X,`opacity`,`0.8`),K(X,`position`,hs?`absolute`:`fixed`),K(X,`zIndex`,`100000`),K(X,`pointerEvents`,`none`),$.ghost=X,e.appendChild(X),K(X,`transform-origin`,ns/parseInt(X.style.width)*100+`% `+rs/parseInt(X.style.height)*100+`%`)}},_onDragStart:function(e,t){var n=this,r=e.dataTransfer,i=n.options;if(Ro(`dragStart`,this,{evt:e}),$.eventCanceled){this._onDrop();return}Ro(`setupClone`,this),$.eventCanceled||(Q=Do(J),Q.removeAttribute(`id`),Q.draggable=!1,Q.style[`will-change`]=``,this._hideClone(),lo(Q,this.options.chosenClass,!1),$.clone=Q),n.cloneId=Ls(function(){Ro(`clone`,n),!$.eventCanceled&&(n.options.removeCloneOnHide||Z.insertBefore(Q,J),n._hideClone(),zo({sortable:n,name:`clone`}))}),!t&&lo(J,i.dragClass,!0),t?(Xo=!0,n._loopId=setInterval(n._emulateDragOver,50)):(G(document,`mouseup`,n._onDrop),G(document,`touchend`,n._onDrop),G(document,`touchcancel`,n._onDrop),r&&(r.effectAllowed=`move`,i.setData&&i.setData.call(n,r,J)),W(document,`drop`,n),K(J,`transform`,`translateZ(0)`)),Yo=!0,n._dragStartId=Ls(n._dragStarted.bind(n,t,e)),W(document,`selectstart`,n),is=!0,to&&K(document.body,`user-select`,`none`)},_onDragOver:function(e){var t=this.el,n=e.target,r,i,a,o=this.options,s=o.group,c=$.active,l=qo===s,u=o.sort,d=Jo||c,f,p=this,m=!1;if(fs)return;function h(o,s){Ro(o,p,Wa({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 Os(Z,t,J,r,n,q(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&&(lo(J,Jo?Jo.options.ghostClass:c.options.ghostClass,!1),lo(J,o.ghostClass,!0)),Jo!==p&&p!==$.active?Jo=p:p===$.active&&Jo&&(Jo=null),d===p&&(p._ignoreWhileAnimating=n),p.animateAll(function(){h(`dragOverAnimationComplete`),p._ignoreWhileAnimating=null}),p!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(n===J&&!J.animated||n===t&&!n.animated)&&(as=null),!o.dragoverBubble&&!e.rootEl&&n!==document&&(J.parentNode[ko]._isOutsideThisEl(e.target),!r&&Ts(e)),!o.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function v(){Wo=_o(J),Ko=_o(J,o.draggable),zo({sortable:p,name:`change`,toEl:t,newIndex:Wo,newDraggableIndex:Ko,originalEvent:e})}if(e.preventDefault!==void 0&&e.cancelable&&e.preventDefault(),n=so(n,o.draggable,t,!0),h(`dragOver`),$.eventCanceled)return m;if(J.contains(e.target)||n.animated&&n.animatingX&&n.animatingY||p._ignoreWhileAnimating===n)return _(!1);if(Xo=!1,c&&!o.disabled&&(l?u||(a=Y!==Z):Jo===this||(this.lastPutMode=qo.checkPull(this,c,J,e))&&s.checkPut(this,c,J,e))){if(f=this._getDirection(e,n)===`vertical`,r=q(J),h(`dragOverValid`),$.eventCanceled)return m;if(a)return Y=Z,g(),this._hideClone(),h(`revert`),$.eventCanceled||(Bo?Z.insertBefore(J,Bo):Z.appendChild(J)),_(!0);var y=go(t,o.draggable);if(!y||Ms(e,f,this)&&!y.animated){if(y===J)return _(!1);if(y&&t===e.target&&(n=y),n&&(i=q(n)),Os(Z,t,J,r,n,i,e,!!n)!==!1)return g(),y&&y.nextSibling?t.insertBefore(J,y.nextSibling):t.appendChild(J),Y=t,v(),_(!0)}else if(y&&js(e,f,this)){var b=ho(t,0,o,!0);if(b===J)return _(!1);if(n=b,i=q(n),Os(Z,t,J,r,n,i,e,!1)!==!1)return g(),t.insertBefore(J,b),Y=t,v(),_(!0)}else if(n.parentNode===t){i=q(n);var x=0,S,C=J.parentNode!==t,w=!bs(J.animated&&J.toRect||r,n.animated&&n.toRect||i,f),T=f?`top`:`left`,E=mo(n,`top`,`top`)||mo(J,`top`,`top`),ee=E?E.scrollTop:void 0;as!==n&&(S=i[T],ss=!1,cs=!w&&o.invertSwap||C),x=Ns(e,n,i,f,w?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,cs,as===n);var D;if(x!==0){var te=_o(J);do te-=x,D=Y.children[te];while(D&&(K(D,`display`)===`none`||D===X))}if(x===0||D===n)return _(!1);as=n,os=x;var O=n.nextElementSibling,ne=!1;ne=x===1;var k=Os(Z,t,J,r,n,i,e,ne);if(k!==!1)return(k===1||k===-1)&&(ne=k===1),fs=!0,setTimeout(As,30),g(),ne&&!O?t.appendChild(J):n.parentNode.insertBefore(J,ne?O:n),E&&Eo(E,0,ee-E.scrollTop),Y=J.parentNode,S!==void 0&&!cs&&(ls=Math.abs(S-q(n)[T])),v(),_(!0)}if(t.contains(J))return _(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){G(document,`mousemove`,this._onTouchMove),G(document,`touchmove`,this._onTouchMove),G(document,`pointermove`,this._onTouchMove),G(document,`dragover`,Ts),G(document,`mousemove`,Ts),G(document,`touchmove`,Ts)},_offUpEvents:function(){var e=this.el.ownerDocument;G(e,`mouseup`,this._onDrop),G(e,`touchend`,this._onDrop),G(e,`pointerup`,this._onDrop),G(e,`touchcancel`,this._onDrop),G(document,`selectstart`,this)},_onDrop:function(e){var t=this.el,n=this.options;if(Wo=_o(J),Ko=_o(J,n.draggable),Ro(`drop`,this,{evt:e}),Y=J&&J.parentNode,Wo=_o(J),Ko=_o(J,n.draggable),$.eventCanceled){this._nulling();return}Yo=!1,cs=!1,ss=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Rs(this.cloneId),Rs(this._dragStartId),this.nativeDraggable&&(G(document,`drop`,this),G(t,`dragstart`,this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),to&&K(document.body,`user-select`,``),K(J,`transform`,``),e&&(is&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),X&&X.parentNode&&X.parentNode.removeChild(X),(Z===Y||Jo&&Jo.lastPutMode!==`clone`)&&Q&&Q.parentNode&&Q.parentNode.removeChild(Q),J&&(this.nativeDraggable&&G(J,`dragend`,this),ks(J),J.style[`will-change`]=``,is&&!Yo&&lo(J,Jo?Jo.options.ghostClass:this.options.ghostClass,!1),lo(J,this.options.chosenClass,!1),zo({sortable:this,name:`unchoose`,toEl:Y,newIndex:null,newDraggableIndex:null,originalEvent:e}),Z===Y?Wo!==Uo&&Wo>=0&&(zo({sortable:this,name:`update`,toEl:Y,originalEvent:e}),zo({sortable:this,name:`sort`,toEl:Y,originalEvent:e})):(Wo>=0&&(zo({rootEl:Y,name:`add`,toEl:Y,fromEl:Z,originalEvent:e}),zo({sortable:this,name:`remove`,toEl:Y,originalEvent:e}),zo({rootEl:Y,name:`sort`,toEl:Y,fromEl:Z,originalEvent:e}),zo({sortable:this,name:`sort`,toEl:Y,originalEvent:e})),Jo&&Jo.save()),$.active&&((Wo==null||Wo===-1)&&(Wo=Uo,Ko=Go),zo({sortable:this,name:`end`,toEl:Y,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Ro(`nulling`,this),Z=J=Y=X=Bo=Q=Vo=Ho=Qo=$o=is=Wo=Ko=Uo=Go=as=os=Jo=qo=$.dragged=$.ghost=$.clone=$.active=null,ps.forEach(function(e){e.checked=!0}),ps.length=es=ts=0},handleEvent:function(e){switch(e.type){case`drop`:case`dragend`:this._onDrop(e);break;case`dragenter`:case`dragover`:J&&(this._onDragOver(e),Ds(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],so(t,a.draggable,this.el,!1)&&e.push(t.getAttribute(a.dataIdAttr)||Fs(t));return e},sort:function(e,t){var n={},r=this.el;this.toArray().forEach(function(e,t){var i=r.children[t];so(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 so(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=Fo.modifyOption(this,e,t);r===void 0?n[e]=t:n[e]=r,e===`group`&&Ss(n)},destroy:function(){Ro(`destroy`,this);var e=this.el;e[ko]=null,G(e,`mousedown`,this._onTapStart),G(e,`touchstart`,this._onTapStart),G(e,`pointerdown`,this._onTapStart),this.nativeDraggable&&(G(e,`dragover`,this),G(e,`dragenter`,this)),Array.prototype.forEach.call(e.querySelectorAll(`[draggable]`),function(e){e.removeAttribute(`draggable`)}),this._onDrop(),this._disableDelayedDragEvents(),Zo.splice(Zo.indexOf(this.el),1),this.el=e=null},_hideClone:function(){if(!Ho){if(Ro(`hideClone`,this),$.eventCanceled)return;K(Q,`display`,`none`),this.options.removeCloneOnHide&&Q.parentNode&&Q.parentNode.removeChild(Q),Ho=!0}},_showClone:function(e){if(e.lastPutMode!==`clone`){this._hideClone();return}if(Ho){if(Ro(`showClone`,this),$.eventCanceled)return;J.parentNode==Z&&!this.options.group.revertClone?Z.insertBefore(Q,J):Bo?Z.insertBefore(Q,Bo):Z.appendChild(Q),this.options.group.revertClone&&this.animate(J,Q),K(Q,`display`,``),Ho=!1}}};function Ds(e){e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.cancelable&&e.preventDefault()}function Os(e,t,n,r,i,a,o,s){var c,l=e[ko],u=l.options.onMove,d;return window.CustomEvent&&!Qa&&!$a?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||q(t),c.willInsertAfter=s,c.originalEvent=o,e.dispatchEvent(c),u&&(d=u.call(l,c,o)),d}function ks(e){e.draggable=!1}function As(){fs=!1}function js(e,t,n){var r=q(ho(n.el,0,n.options,!0)),i=Oo(n.el,n.options,X),a=10;return t?e.clientX<i.left-a||e.clientY<r.top&&e.clientX<r.right:e.clientY<i.top-a||e.clientY<r.bottom&&e.clientX<r.left}function Ms(e,t,n){var r=q(go(n.el,n.options.draggable)),i=Oo(n.el,n.options,X),a=10;return t?e.clientX>i.right+a||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>i.bottom+a||e.clientX>r.right&&e.clientY>r.top}function Ns(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&&ls<l*i){if(!ss&&(os===1?c>u+l*a/2:c<d-l*a/2)&&(ss=!0),ss)f=!0;else if(os===1?c<u+ls:c>d-ls)return-os}else if(c>u+l*(1-i)/2&&c<d-l*(1-i)/2)return Ps(t)}return f||=o,f&&(c<u+l*a/2||c>d-l*a/2)?c>u+l/2?1:-1:0}function Ps(e){return _o(J)<_o(e)?1:-1}function Fs(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 Is(e){ps.length=0;for(var t=e.getElementsByTagName(`input`),n=t.length;n--;){var r=t[n];r.checked&&ps.push(r)}}function Ls(e){return setTimeout(e,0)}function Rs(e){return clearTimeout(e)}ms&&W(document,`touchmove`,function(e){($.active||Yo)&&e.cancelable&&e.preventDefault()}),$.utils={on:W,off:G,css:K,find:fo,is:function(e,t){return!!so(e,t,e,!1)},extend:xo,throttle:wo,closest:so,toggleClass:lo,clone:Do,index:_o,nextTick:Ls,cancelNextTick:Rs,detectDirection:ys,getChild:ho},$.get=function(e){return e[ko]},$.mount=function(){var e=[...arguments];e[0].constructor===Array&&(e=e[0]),e.forEach(function(e){if(!e.prototype||!e.prototype.constructor)throw`Sortable: Mounted plugin must be a constructor function, not ${{}.toString.call(e)}`;e.utils&&($.utils=Wa(Wa({},$.utils),e.utils)),Fo.mount(e)})},$.create=function(e,t){return new $(e,t)},$.version=Xa;var zs=[],Bs,Vs,Hs=!1,Us,Ws,Gs,Ks;function qs(){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?W(document,`dragover`,this._handleAutoScroll):this.options.supportPointer?W(document,`pointermove`,this._handleFallbackAutoScroll):t.touches?W(document,`touchmove`,this._handleFallbackAutoScroll):W(document,`mousemove`,this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;!this.options.dragOverBubble&&!t.rootEl&&this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?G(document,`dragover`,this._handleAutoScroll):(G(document,`pointermove`,this._handleFallbackAutoScroll),G(document,`touchmove`,this._handleFallbackAutoScroll),G(document,`mousemove`,this._handleFallbackAutoScroll)),Ys(),Js(),To()},nulling:function(){Gs=Vs=Bs=Hs=Ks=Us=Ws=null,zs.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(Gs=e,t||this.options.forceAutoScrollFallback||$a||Qa||to){Xs(e,this.options,a,t);var o=bo(a,!0);Hs&&(!Ks||r!==Us||i!==Ws)&&(Ks&&Ys(),Ks=setInterval(function(){var a=bo(document.elementFromPoint(r,i),!0);a!==o&&(o=a,Js()),Xs(e,n.options,a,t)},10),Us=r,Ws=i)}else{if(!this.options.bubbleScroll||bo(a,!0)===po()){Js();return}Xs(e,this.options,bo(a,!1),!1)}}},qa(e,{pluginName:`scroll`,initializeByDefault:!0})}function Js(){zs.forEach(function(e){clearInterval(e.pid)}),zs=[]}function Ys(){clearInterval(Ks)}var Xs=wo(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=po(),l=!1,u;Vs!==n&&(Vs=n,Js(),Bs=t.scroll,u=t.scrollFn,Bs===!0&&(Bs=bo(n,!0)));var d=0,f=Bs;do{var p=f,m=q(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=K(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),te=S&&(Math.abs(g-a)<=o&&ee+b<w)-(Math.abs(h-a)<=o&&!!ee);if(!zs[d])for(var O=0;O<=d;O++)zs[O]||(zs[O]={});(zs[d].vx!=D||zs[d].vy!=te||zs[d].el!==p)&&(zs[d].el=p,zs[d].vx=D,zs[d].vy=te,clearInterval(zs[d].pid),(D!=0||te!=0)&&(l=!0,zs[d].pid=setInterval(function(){r&&this.layer===0&&$.active._onTouchMove(Gs);var t=zs[this.layer].vy?zs[this.layer].vy*s:0,n=zs[this.layer].vx?zs[this.layer].vx*s:0;typeof u==`function`&&u.call($.dragged.parentNode[ko],n,t,e,Gs,zs[this.layer].el)!==`continue`||Eo(zs[this.layer].el,n,t)}.bind({layer:d}),24))),d++}while(t.bubbleScroll&&f!==c&&(f=bo(f,!1)));Hs=l}},30),Zs=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 Qs(){}Qs.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=ho(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:Zs},qa(Qs,{pluginName:`revertOnSpill`});function $s(){}$s.prototype={onSpill:function(e){var t=e.dragEl,n=e.putSortable||this.sortable;n.captureAnimationState(),t.parentNode&&t.parentNode.removeChild(t),n.animateAll()},drop:Zs},qa($s,{pluginName:`removeOnSpill`}),$.mount(new qs),$.mount($s,Qs);function ec(e){return e==null?e:JSON.parse(JSON.stringify(e))}function tc(e){k()&&y(e)}function nc(e){k()?f(e):le(e)}var rc=null,ic=null;function ac(e=null,t=null){rc=e,ic=t}function oc(){return{data:rc,clonedData:ic}}var sc=Symbol(`cloneElement`);function cc(...t){let n=k()?.proxy,r=null,i=t[0],[,o,s]=t;Array.isArray(a(o))||(s=o,o=null);let c=null,{immediate:l=!0,clone:u=ec,forceFallback:d,fallbackOnBody:f,customUpdate:p}=a(s)??{};function m(e){let{from:t,oldIndex:n,item:i}=e,s=Array.from(t.childNodes);r=d&&!f?s.slice(0,-1):s;let c=a(a(o)?.[n]),l=u(c);ac(c,l),i[sc]=l}function h(e){let t=e.item[sc];if(!Ma(t)){if(Fa(e.item),me(o)){let n=[...a(o)];o.value=ja(n,e.newDraggableIndex,t);return}ja(a(o),e.newDraggableIndex,t)}}function g(e){let{from:t,item:n,oldIndex:r,oldDraggableIndex:i,pullMode:s,clone:c}=e;if(Pa(t,n,r),s===`clone`){Fa(c);return}if(me(o)){let e=[...a(o)];o.value=Aa(e,i);return}Aa(a(o),i)}function _(e){if(p){p(e);return}let{from:t,item:n,oldIndex:r,oldDraggableIndex:i,newDraggableIndex:s}=e;if(Fa(n),Pa(t,n,r),me(o)){let e=[...a(o)];o.value=Da(e,i,s);return}Da(a(o),i,s)}function v(e){let{newIndex:t,oldIndex:n,from:i,to:a}=e,o=null,s=t===n&&i===a;try{if(s){let e=null;r?.some((t,n)=>{if(e&&r?.length!==a.childNodes.length)return i.insertBefore(e,t.nextSibling),!0;let o=a.childNodes[n];e=a?.replaceChild(t,o)})}}catch(e){o=e}finally{r=null}le(()=>{if(ac(),o)throw o})}let y={onUpdate:_,onStart:m,onAdd:h,onRemove:g,onEnd:v};function b(e){let t=a(i);return e||=Na(t)?Ia(t,n?.$el):t,e&&!za(e)&&(e=e.$el),e||Ea(`Root element not found`),e}function x(){let e=a(s)??{},{immediate:t,clone:n}=e,r=Ca(e,[`immediate`,`clone`]);return Ba(r,(e,t)=>{Va(e)&&(r[e]=(e,...n)=>(Ha(e,oc()),t(e,...n)))}),Ra(o===null?{}:y,r)}let S=e=>{e=b(e),c&&C.destroy(),c=new $(e,x())};e(()=>s,()=>{c&&Ba(x(),(e,t)=>{c?.option(e,t)})},{deep:!0});let C={option:(e,t)=>c?.option(e,t),destroy:()=>{c?.destroy(),c=null},save:()=>c?.save(),toArray:()=>c?.toArray(),closest:(...e)=>c?.closest(...e)};return nc(()=>{l&&S()}),tc(C.destroy),Sa({start:S,pause:()=>C?.option(`disabled`,!0),resume:()=>C?.option(`disabled`,!1)},C)}var lc=[`update`,`start`,`add`,`remove`,`choose`,`unchoose`,`end`,`sort`,`filter`,`clone`,`move`,`change`],uc=H({name:`VueDraggable`,model:{prop:`modelValue`,event:`update:modelValue`},props:[`clone`,`animation`,`ghostClass`,`group`,`sort`,`disabled`,`store`,`handle`,`draggable`,`swapThreshold`,`invertSwap`,`invertedSwapThreshold`,`removeCloneOnHide`,`direction`,`chosenClass`,`dragClass`,`ignore`,`filter`,`preventOnFilter`,`easing`,`setData`,`dropBubble`,`dragoverBubble`,`dataIdAttr`,`delay`,`delayOnTouchOnly`,`touchStartThreshold`,`forceFallback`,`fallbackClass`,`fallbackOnBody`,`fallbackTolerance`,`fallbackOffset`,`supportPointer`,`emptyInsertThreshold`,`scroll`,`forceAutoScrollFallback`,`scrollSensitivity`,`scrollSpeed`,`bubbleScroll`,`modelValue`,`tag`,`target`,`customUpdate`,...lc.map(e=>`on${e.replace(/^\S/,e=>e.toUpperCase())}`)],emits:[`update:modelValue`,...lc],setup(e,{slots:t,emit:n,expose:r,attrs:i}){let o=lc.reduce((e,t)=>{let r=`on${t.replace(/^\S/,e=>e.toUpperCase())}`;return e[r]=(...e)=>n(t,...e),e},{}),s=j(()=>{let t=ne(e),{modelValue:n}=t,r=Ca(t,[`modelValue`]),s=Object.entries(r).reduce((e,[t,n])=>{let r=a(n);return r!==void 0&&(e[t]=r),e},{});return Sa(Sa({},o),ka(Sa(Sa({},i),s)))}),c=j({get:()=>e.modelValue,set:e=>n(`update:modelValue`,e)}),l=F(),u=fe(cc(e.target||l,c,s));return r(u),()=>b(e.tag||`div`,{ref:l},(t?.default)?.call(t,u))}}),dc={mounted:`mounted`,unmounted:`unmounted`};dc.mounted,dc.unmounted;var fc={class:`config-log-parsers`},pc={class:`config-card`},mc={class:`config-card__header`},hc={class:`config-card__hint`},gc={class:`config-card`},_c={class:`config-card__header`},vc={class:`config-card__header-hint`},yc={class:`config-log-parsers__order`},bc={class:`config-log-parsers__name`},xc={key:1,class:`config-log-parsers__empty`},Sc={class:`config-log-parsers__add-row`},Cc={class:`config-log-parsers__footer`},wc=o(H({__name:`ServiceConfigLogs`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let o=t,c=n,l=i(),{t:u}=E(),p=Be(),m=F([...o.service.parserIds??[]]);e(()=>o.service,e=>{m.value=[...e.parserIds??[]]});let h=j(()=>[...p.parsers].filter(e=>e.enabled).sort((e,t)=>e.name.localeCompare(t.name))),g=j(()=>h.value.filter(e=>!m.value.includes(e.id))),_=F(m.value.map(e=>p.parsers.find(t=>t.id===e)).filter(e=>e!==void 0));e(m,e=>{let t=_.value.filter(t=>e.includes(t.id)),n=e.filter(e=>!t.find(t=>t.id===e)).map(e=>p.parsers.find(t=>t.id===e)).filter(e=>e!==void 0);_.value=[...t,...n]}),e(()=>p.parsers,()=>{_.value=m.value.map(e=>p.parsers.find(t=>t.id===e)).filter(e=>e!==void 0)});let v=F(null);function y(e){if(!e)return;let t=p.parsers.find(t=>t.id===e);t&&(m.value=[...m.value,e],_.value=[..._.value,t],v.value=null,S())}function b(e){m.value=m.value.filter(t=>t!==e),_.value=_.value.filter(t=>t.id!==e),S()}function x(){m.value=_.value.map(e=>e.id),S()}function S(){c(`save`,{parserIds:_.value.map(e=>e.id)})}return f(()=>{p.fetchParsers()}),(e,t)=>(r(),N(`div`,fc,[L(`div`,pc,[L(`div`,mc,[t[3]||=L(`i`,{class:`pi pi-code`},null,-1),L(`span`,null,I(a(u)(`serviceConfigLogs.jsParsers`)),1)]),L(`small`,hc,I(a(u)(`serviceConfigLogs.jsParsersHint`)),1)]),L(`div`,gc,[L(`div`,_c,[t[4]||=L(`i`,{class:`pi pi-sort-alt`},null,-1),L(`span`,null,I(a(u)(`serviceConfigLogs.executionOrder`)),1),L(`small`,vc,I(a(u)(`serviceConfigLogs.executionOrderHint`)),1)]),_.value.length>0?(r(),V(a(uc),{key:0,modelValue:_.value,"onUpdate:modelValue":t[0]||=e=>_.value=e,animation:150,handle:`.drag-handle`,class:`config-log-parsers__drag-list`,"data-testid":`log-parsers-drag-list`,onEnd:x},{default:z(()=>[(r(!0),N(O,null,d(_.value,(e,n)=>(r(),N(`div`,{key:e.id,class:`config-log-parsers__drag-row`,"data-testid":`log-parsers-drag-row`},[t[5]||=L(`span`,{class:`drag-handle`,"data-testid":`drag-handle`},[L(`i`,{class:`pi pi-bars`})],-1),L(`span`,yc,I(n+1),1),L(`span`,bc,I(e.name),1),e.builtin?(r(),V(a(_e),{key:0,severity:`secondary`,class:`config-log-parsers__builtin-badge`},{default:z(()=>[P(I(a(u)(`serviceConfigLogs.builtin`)),1)]),_:1})):M(``,!0),e.enabled?M(``,!0):(r(),V(a(_e),{key:1,severity:`warn`,class:`config-log-parsers__disabled-badge`},{default:z(()=>[P(I(a(u)(`serviceConfigLogs.disabled`)),1)]),_:1})),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,class:`config-log-parsers__delete`,onClick:t=>b(e.id)},null,8,[`onClick`])]))),128))]),_:1},8,[`modelValue`])):M(``,!0),_.value.length===0?(r(),N(`div`,xc,I(a(u)(`serviceConfigLogs.empty`)),1)):M(``,!0),L(`div`,Sc,[D(a(ae),{modelValue:v.value,"onUpdate:modelValue":[t[1]||=e=>v.value=e,y],options:g.value,"option-label":`name`,"option-value":`id`,placeholder:a(u)(`serviceConfigLogs.addParser`),class:`config-log-parsers__add-select`,loading:a(p).loading,disabled:g.value.length===0},{option:z(({option:e})=>[L(`span`,null,I(e.name),1),e.builtin?(r(),V(a(_e),{key:0,severity:`secondary`,class:`ml-2`,style:{"font-size":`0.65rem`,padding:`0.1rem 0.35rem`}},{default:z(()=>[P(I(a(u)(`serviceConfigLogs.builtin`)),1)]),_:1})):M(``,!0)]),_:1},8,[`modelValue`,`options`,`placeholder`,`loading`,`disabled`])])]),L(`div`,Cc,[D(a(s),{label:a(u)(`serviceConfigLogs.manageParsers`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,size:`small`,onClick:t[2]||=e=>a(l).push({name:`settings`,query:{section:`parsers`}})},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-2a8eb0c6`]]),Tc={class:`config-log-sources`},Ec={class:`config-card`},Dc={class:`config-card__header`},Oc={class:`config-card__hint`},kc={key:0,class:`config-card config-card--list`},Ac={class:`source-row__info`},jc={class:`source-row__type`},Mc={class:`source-row__label`},Nc={class:`source-row__actions`},Pc={key:1,class:`config-log-sources__empty`},Fc={class:`config-log-sources__footer`},Ic={class:`dialog-form`},Lc={class:`dialog-form__field`},Rc={class:`dialog-form__label`},zc={class:`dialog-form__field`},Bc={class:`dialog-form__label`},Vc={class:`dialog-form__field`},Hc={class:`dialog-form__label`},Uc={class:`dialog-form__field dialog-form__field--row`},Wc={class:`dialog-form__label`},Gc={class:`dialog-form__field dialog-form__field--row`},Kc={class:`dialog-form__label`},qc={class:`dialog-form__field`},Jc={class:`dialog-form__label`},Yc={class:`dialog-form__row`},Xc={class:`dialog-form__field`},Zc={class:`dialog-form__field`},Qc={class:`dialog-form__row`},$c={class:`dialog-form__field`},el={class:`dialog-form__field`},tl={class:`dialog-form__field`},nl={class:`dialog-form__row`},rl={class:`dialog-form__field dialog-form__field--grow`},il={class:`dialog-form__field dialog-form__field--port`},al={class:`dialog-form__row`},ol={class:`dialog-form__field`},sl={class:`dialog-form__field`},cl={class:`dialog-form__row`},ll={class:`dialog-form__field`},ul={class:`dialog-form__field`},dl={class:`dialog-form__row`},fl={class:`dialog-form__field`},pl={class:`dialog-form__field`},ml={class:`dialog-form__row`},hl={class:`dialog-form__field`},gl={class:`dialog-form__field`},_l={class:`dialog-form__field`},vl={key:3,class:`dialog-form__hint-block`},yl=o(H({__name:`ServiceConfigLogSources`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let{t:i}=E(),o=t,l=n,u=[{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 f(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 p=F([...o.service.logSources??[]]);e(()=>o.service.logSources,e=>{p.value=[...e??[]]});let m=F(!1),h=F(null),g=F(f(`console`));function _(){h.value=null,g.value=f(`file`),m.value=!0}function v(e){h.value=e,g.value={...p.value[e]},m.value=!0}function y(e){g.value=f(e)}function b(){h.value===null?p.value=[...p.value,{...g.value}]:p.value=p.value.map((e,t)=>t===h.value?{...g.value}:e),m.value=!1,l(`save`,{logSources:p.value})}function x(e){p.value=p.value.filter((t,n)=>n!==e),l(`save`,{logSources:p.value})}function C(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 w(e){return e===`console`?`pi-terminal`:e===`file`?`pi-file`:`pi-database`}return(e,t)=>(r(),N(`div`,Tc,[L(`div`,Ec,[L(`div`,Dc,[t[23]||=L(`i`,{class:`pi pi-inbox`},null,-1),L(`span`,null,I(a(i)(`serviceConfigLogSources.title`)),1)]),L(`small`,Oc,I(a(i)(`serviceConfigLogSources.hint`)),1)]),p.value.length>0?(r(),N(`div`,kc,[(r(!0),N(O,null,d(p.value,(e,t)=>(r(),N(`div`,{key:t,class:`source-row`},[L(`i`,{class:c(`pi ${w(e.type)} source-row__icon`)},null,2),L(`div`,Ac,[L(`span`,jc,I(e.type),1),L(`span`,Mc,I(C(e)),1)]),L(`div`,Nc,[D(a(s),{icon:`pi pi-pencil`,text:``,size:`small`,severity:`secondary`,onClick:e=>v(t)},null,8,[`onClick`]),D(a(s),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:e=>x(t)},null,8,[`onClick`])])]))),128))])):(r(),N(`div`,Pc,[t[24]||=L(`i`,{class:`pi pi-inbox config-log-sources__empty-icon`},null,-1),L(`p`,null,I(a(i)(`serviceConfigLogSources.empty`)),1),L(`small`,null,I(a(i)(`serviceConfigLogSources.emptyHint`)),1)])),L(`div`,Fc,[D(a(s),{label:a(i)(`serviceConfigLogSources.addSource`),icon:`pi pi-plus`,size:`small`,onClick:_},null,8,[`label`])]),D(a(S),{visible:m.value,"onUpdate:visible":t[22]||=e=>m.value=e,header:h.value===null?a(i)(`serviceConfigLogSources.addDialog`):a(i)(`serviceConfigLogSources.editDialog`),modal:``,style:{width:`520px`}},{footer:z(()=>[D(a(s),{label:a(i)(`serviceConfigLogSources.cancel`),severity:`secondary`,outlined:``,onClick:t[21]||=e=>m.value=!1},null,8,[`label`]),D(a(s),{label:h.value===null?a(i)(`serviceConfigLogSources.add`):a(i)(`serviceConfigLogSources.save`),icon:`pi pi-check`,onClick:b},null,8,[`label`])]),default:z(()=>[L(`div`,Ic,[L(`div`,Lc,[L(`label`,Rc,I(a(i)(`serviceConfigLogSources.type`)),1),D(a(ae),{"model-value":g.value.type,options:u,"option-label":`label`,"option-value":`value`,class:`dialog-form__input`,"onUpdate:modelValue":y},null,8,[`model-value`])]),g.value.type===`file`?(r(),N(O,{key:0},[L(`div`,zc,[L(`label`,Bc,[P(I(a(i)(`serviceConfigLogSources.path`))+` `,1),t[25]||=L(`span`,{class:`dialog-form__required`},`*`,-1)]),D(a(A),{modelValue:g.value.path,"onUpdate:modelValue":t[0]||=e=>g.value.path=e,class:`dialog-form__input`,placeholder:`/var/log/app.log`},null,8,[`modelValue`])]),L(`div`,Vc,[L(`label`,Hc,I(a(i)(`serviceConfigLogSources.encoding`)),1),D(a(A),{modelValue:g.value.encoding,"onUpdate:modelValue":t[1]||=e=>g.value.encoding=e,class:`dialog-form__input`,placeholder:`utf-8`},null,8,[`modelValue`])]),L(`div`,Uc,[L(`label`,Wc,I(a(i)(`serviceConfigLogSources.startFromEnd`)),1),D(a(Te),{modelValue:g.value.startFromEnd,"onUpdate:modelValue":t[2]||=e=>g.value.startFromEnd=e},null,8,[`modelValue`])]),L(`div`,Gc,[L(`label`,Kc,I(a(i)(`serviceConfigLogSources.createIfNotExists`)),1),D(a(Te),{modelValue:g.value.createIfNotExists,"onUpdate:modelValue":t[3]||=e=>g.value.createIfNotExists=e},null,8,[`modelValue`])])],64)):g.value.type===`mongo`?(r(),N(O,{key:1},[L(`div`,qc,[L(`label`,Jc,[P(I(a(i)(`serviceConfigLogSources.connectionString`))+` `,1),t[26]||=L(`span`,{class:`dialog-form__required`},`*`,-1)]),D(a(A),{modelValue:g.value.connectionString,"onUpdate:modelValue":t[4]||=e=>g.value.connectionString=e,class:`dialog-form__input`,placeholder:`mongodb://user:pass@host:27017`,type:`password`,autocomplete:`off`},null,8,[`modelValue`])]),L(`div`,Yc,[L(`div`,Xc,[t[27]||=L(`label`,{class:`dialog-form__label`},[P(`Database `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.database,"onUpdate:modelValue":t[5]||=e=>g.value.database=e,class:`dialog-form__input`,placeholder:`mydb`},null,8,[`modelValue`])]),L(`div`,Zc,[t[28]||=L(`label`,{class:`dialog-form__label`},[P(`Collection `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.collection,"onUpdate:modelValue":t[6]||=e=>g.value.collection=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),L(`div`,Qc,[L(`div`,$c,[t[29]||=L(`label`,{class:`dialog-form__label`},`Timestamp field`,-1),D(a(A),{modelValue:g.value.timestampField,"onUpdate:modelValue":t[7]||=e=>g.value.timestampField=e,class:`dialog-form__input`,placeholder:`timestamp`},null,8,[`modelValue`])]),L(`div`,el,[t[30]||=L(`label`,{class:`dialog-form__label`},`Message field`,-1),D(a(A),{modelValue:g.value.messageField,"onUpdate:modelValue":t[8]||=e=>g.value.messageField=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),L(`div`,tl,[t[31]||=L(`label`,{class:`dialog-form__label`},[P(`Level field `),L(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),D(a(A),{modelValue:g.value.levelField,"onUpdate:modelValue":t[9]||=e=>g.value.levelField=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])])],64)):g.value.type===`mysql`?(r(),N(O,{key:2},[L(`div`,nl,[L(`div`,rl,[t[32]||=L(`label`,{class:`dialog-form__label`},[P(`Host `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.host,"onUpdate:modelValue":t[10]||=e=>g.value.host=e,class:`dialog-form__input`,placeholder:`localhost`},null,8,[`modelValue`])]),L(`div`,il,[t[33]||=L(`label`,{class:`dialog-form__label`},`Port`,-1),D(a(Ce),{modelValue:g.value.port,"onUpdate:modelValue":t[11]||=e=>g.value.port=e,min:1,max:65535,class:`dialog-form__input`},null,8,[`modelValue`])])]),L(`div`,al,[L(`div`,ol,[t[34]||=L(`label`,{class:`dialog-form__label`},[P(`User `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.user,"onUpdate:modelValue":t[12]||=e=>g.value.user=e,class:`dialog-form__input`,placeholder:`root`},null,8,[`modelValue`])]),L(`div`,sl,[t[35]||=L(`label`,{class:`dialog-form__label`},`Password`,-1),D(a(A),{modelValue:g.value.password,"onUpdate:modelValue":t[13]||=e=>g.value.password=e,class:`dialog-form__input`,type:`password`,autocomplete:`new-password`},null,8,[`modelValue`])])]),L(`div`,cl,[L(`div`,ll,[t[36]||=L(`label`,{class:`dialog-form__label`},[P(`Database `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.database,"onUpdate:modelValue":t[14]||=e=>g.value.database=e,class:`dialog-form__input`,placeholder:`app_db`},null,8,[`modelValue`])]),L(`div`,ul,[t[37]||=L(`label`,{class:`dialog-form__label`},[P(`Table `),L(`span`,{class:`dialog-form__required`},`*`)],-1),D(a(A),{modelValue:g.value.table,"onUpdate:modelValue":t[15]||=e=>g.value.table=e,class:`dialog-form__input`,placeholder:`logs`},null,8,[`modelValue`])])]),L(`div`,dl,[L(`div`,fl,[t[38]||=L(`label`,{class:`dialog-form__label`},`Timestamp column`,-1),D(a(A),{modelValue:g.value.timestampColumn,"onUpdate:modelValue":t[16]||=e=>g.value.timestampColumn=e,class:`dialog-form__input`,placeholder:`created_at`},null,8,[`modelValue`])]),L(`div`,pl,[t[39]||=L(`label`,{class:`dialog-form__label`},`Message column`,-1),D(a(A),{modelValue:g.value.messageColumn,"onUpdate:modelValue":t[17]||=e=>g.value.messageColumn=e,class:`dialog-form__input`,placeholder:`message`},null,8,[`modelValue`])])]),L(`div`,ml,[L(`div`,hl,[t[40]||=L(`label`,{class:`dialog-form__label`},[P(`Level column `),L(`span`,{class:`dialog-form__hint`},`(optional)`)],-1),D(a(A),{modelValue:g.value.levelColumn,"onUpdate:modelValue":t[18]||=e=>g.value.levelColumn=e,class:`dialog-form__input`,placeholder:`level`},null,8,[`modelValue`])]),L(`div`,gl,[t[41]||=L(`label`,{class:`dialog-form__label`},`Poll interval (ms)`,-1),D(a(Ce),{modelValue:g.value.pollIntervalMs,"onUpdate:modelValue":t[19]||=e=>g.value.pollIntervalMs=e,min:500,max:6e4,class:`dialog-form__input`},null,8,[`modelValue`])])]),L(`div`,_l,[t[42]||=L(`label`,{class:`dialog-form__label`},[P(`Custom query `),L(`span`,{class:`dialog-form__hint`},[P(`(optional, must include `),L(`code`,null,`WHERE … > ?`),P(`)`)])],-1),D(a(A),{modelValue:g.value.query,"onUpdate:modelValue":t[20]||=e=>g.value.query=e,class:`dialog-form__input`,placeholder:`SELECT * FROM logs WHERE created_at > ? ORDER BY id ASC`},null,8,[`modelValue`])])],64)):g.value.type===`console`?(r(),N(`small`,vl,`The console source captures stdout/stderr and is always active. Adding it here has no effect unless you want to track it explicitly.`)):M(``,!0)])]),_:1},8,[`visible`,`header`])]))}}),[[`__scopeId`,`data-v-9795b10b`]]),bl={class:`config-traefik`},xl={class:`traefik-entry__fields`},Sl=o(H({__name:`ServiceConfigTraefik`,props:{service:{}},emits:[`save`],setup(t,{emit:n}){let i=t,o=n,c=F([...i.service.localUrls??[]]),l=F(null);f(async()=>{i.service.agentId&&(l.value=(await de.settings.getAgentTraefikConfig.query({agentId:i.service.agentId})).enabled)});let u=null;e(()=>i.service,e=>{u||(c.value=[...e.localUrls??[]])});function p(){c.value=[...c.value,{url:``,port:3e3}]}function m(e){c.value=c.value.filter((t,n)=>n!==e),_()}function g(e,t,n){c.value=c.value.map((r,i)=>i===e?{...r,[t]:n}:r)}function _(){u&&clearTimeout(u),u=setTimeout(()=>{o(`save`,{localUrls:c.value.filter(e=>e.url.trim())}),u=null},150)}return(e,t)=>(r(),N(`div`,bl,[l.value===!1?(r(),V(a(Fe),{key:0,severity:`warn`,closable:!1},{default:z(()=>[t[1]||=P(` Traefik n'est pas activé. Configurez-le dans `,-1),D(a(h),{to:`/settings`},{default:z(()=>[...t[0]||=[P(`Paramètres → Traefik`,-1)]]),_:1}),t[2]||=P(` pour que ces URLs soient actives. `,-1)]),_:1})):M(``,!0),(r(!0),N(O,null,d(c.value,(e,t)=>(r(),N(`div`,{key:t,class:`traefik-entry`},[L(`div`,xl,[D(a(A),{"model-value":e.url,class:`traefik-entry__url`,placeholder:`mon-app.local.mondomaine.com`,"onUpdate:modelValue":e=>g(t,`url`,e),onBlur:_,onKeydown:R(B(_,[`prevent`]),[`enter`])},null,8,[`model-value`,`onUpdate:modelValue`,`onKeydown`]),D(a(Ce),{"model-value":e.port,class:`traefik-entry__port`,min:1,max:65535,"use-grouping":!1,placeholder:`3000`,"onUpdate:modelValue":e=>{g(t,`port`,e??3e3),_()}},null,8,[`model-value`,`onUpdate:modelValue`]),D(a(s),{icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,onClick:e=>m(t)},null,8,[`onClick`])])]))),128)),D(a(s),{icon:`pi pi-plus`,label:`Ajouter une URL`,size:`small`,outlined:``,onClick:p})]))}}),[[`__scopeId`,`data-v-f22ba351`]]),Cl={class:`config-view`,"data-testid":`config-view`},wl={class:`config-view__header`},Tl={class:`config-view__title`},El={class:`config-view__actions`},Dl=o(H({__name:`ServiceConfigView`,props:{service:{},projectId:{}},emits:[`remove-service`],setup(e,{emit:t}){let n=e,o=t,{t:c}=E(),l=v(),u=ye(),{isDebug:d}=qt(),f=U(),p=i(),m=[`general`,`commands`,`shortcuts`,`env`,`health`,`log-parsers`,`log-sources`,`traefik`],h=j(()=>{let e=f.query.configTab;return m.includes(e)?e:`general`});function g(e){p.replace({query:{...f.query,configTab:e}})}let _=j(()=>u.projects.find(e=>e.id===n.projectId)?.activeEnvironmentId);async function y(e,t){await t()?d.value&&console.debug(`[autosave] ${e} saved`):console.error(`[autosave] ${e} failed:`,l.error??`Save failed`)}async function b(e){await y(`General`,()=>l.update(n.service.id,e))}async function x(e){await y(`Commands`,()=>l.update(n.service.id,e))}async function S(e){await y(`Health check`,()=>l.update(n.service.id,{healthCheck:e??null}))}async function C(e){await y(`Shortcuts`,()=>l.update(n.service.id,{shortcuts:e}))}async function w(e){await y(`Docker`,()=>l.update(n.service.id,{dockerConfig:e}))}async function T(e){await y(`Log parsers`,()=>l.update(n.service.id,e))}async function ee(e){await y(`Log sources`,()=>l.update(n.service.id,e))}async function te(e){await y(`Traefik`,()=>l.update(n.service.id,e))}function O(){o(`remove-service`,n.service.id)}return(t,n)=>(r(),N(`div`,Cl,[L(`div`,wl,[L(`h2`,Tl,I(a(c)(`serviceConfigView.title`)),1),L(`div`,El,[D(a(s),{label:a(c)(`serviceConfigView.remove`),icon:`pi pi-trash`,severity:`danger`,size:`small`,outlined:``,onClick:O},null,8,[`label`])])]),D(a(De),{value:h.value,class:`config-view__tabs`,"onUpdate:value":g},{default:z(()=>[D(a(Oe),null,{default:z(()=>[D(a(Ae),{value:`general`,"data-testid":`tab-config`},{default:z(()=>[n[0]||=L(`i`,{class:`pi pi-cog tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabGeneral`)),1)]),_:1}),D(a(Ae),{value:`commands`,"data-testid":`tab-commands`},{default:z(()=>[n[1]||=L(`i`,{class:`pi pi-code tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabCommands`)),1)]),_:1}),D(a(Ae),{value:`shortcuts`,"data-testid":`tab-shortcuts`},{default:z(()=>[n[2]||=L(`i`,{class:`pi pi-bolt tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabShortcuts`)),1)]),_:1}),D(a(Ae),{value:`env`,"data-testid":`tab-env`},{default:z(()=>[n[3]||=L(`i`,{class:`pi pi-database tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabEnvironment`)),1)]),_:1}),D(a(Ae),{value:`health`},{default:z(()=>[n[4]||=L(`i`,{class:`pi pi-heart tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabHealthCheck`)),1)]),_:1}),D(a(Ae),{value:`log-parsers`,"data-testid":`tab-log-parsers`},{default:z(()=>[n[5]||=L(`i`,{class:`pi pi-list tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabLogParsers`)),1)]),_:1}),D(a(Ae),{value:`log-sources`},{default:z(()=>[n[6]||=L(`i`,{class:`pi pi-inbox tab-icon`},null,-1),L(`span`,null,I(a(c)(`serviceConfigView.tabLogSources`)),1)]),_:1}),D(a(Ae),{value:`traefik`},{default:z(()=>[...n[7]||=[L(`i`,{class:`pi pi-server tab-icon`},null,-1),L(`span`,null,`Traefik`,-1)]]),_:1})]),_:1}),D(a(ke),null,{default:z(()=>[D(a(je),{value:`general`},{default:z(()=>[D(On,{service:e.service,onSave:b},null,8,[`service`])]),_:1}),D(a(je),{value:`commands`},{default:z(()=>[D(Yr,{service:e.service,onSave:x,onDockerSave:w},null,8,[`service`])]),_:1}),D(a(je),{value:`shortcuts`,"data-testid":`tabpanel-shortcuts`},{default:z(()=>[D(ga,{service:e.service,onSave:C},null,8,[`service`])]),_:1}),D(a(je),{value:`env`},{default:z(()=>[D(Fi,{service:e.service,"project-id":e.projectId,"active-environment-id":_.value},null,8,[`service`,`project-id`,`active-environment-id`])]),_:1}),D(a(je),{value:`health`},{default:z(()=>[D(ia,{service:e.service,onSave:S},null,8,[`service`])]),_:1}),D(a(je),{value:`log-parsers`,"data-testid":`tabpanel-log-parsers`},{default:z(()=>[D(wc,{service:e.service,onSave:T},null,8,[`service`])]),_:1}),D(a(je),{value:`log-sources`},{default:z(()=>[D(yl,{service:e.service,onSave:ee},null,8,[`service`])]),_:1}),D(a(je),{value:`traefik`},{default:z(()=>[D(Sl,{service:e.service,onSave:te},null,8,[`service`])]),_:1})]),_:1})]),_:1},8,[`value`])]))}}),[[`__scopeId`,`data-v-51a781dd`]]),Ol={key:0,class:`service-detail`},kl={key:1,class:`service-detail__not-found`},Al=o(H({__name:`ServiceDetailPage`,setup(t){let n=U(),o=i(),s=u(),c=T(),{t:l}=E(),d=v(),f=te(),m=ye(),{setServiceContext:h}=ee(),g=j(()=>n.params.id);e(g,e=>h(e),{immediate:!0}),y(()=>h(null));let _=j(()=>{let e=n.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`?e:`terminal`}),b=j(()=>d.getById(g.value)),x=j(()=>f.getByService(g.value)),S=j(()=>m.currentProject?.id??``);function C(e){let t=d.getById(e);c.require({message:l(`serviceDetail.deleteConfirmMessage`,{name:t?.name??e}),header:l(`serviceDetail.deleteConfirmHeader`),icon:`pi pi-exclamation-triangle`,rejectLabel:l(`actions.cancel`),acceptLabel:l(`actions.delete`),acceptProps:{severity:`danger`},accept:async()=>{await d.remove(e)&&(s.add({severity:`success`,summary:l(`serviceDetail.removed`),detail:l(`serviceDetail.deleted`),life:3e3}),o.push(`/`))}})}return(e,t)=>b.value?(r(),N(`div`,Ol,[_.value===`terminal`?(r(),V(Nt,{key:`terminal-`+g.value,service:b.value,processes:x.value},null,8,[`service`,`processes`])):_.value===`metrics`?(r(),V(Wt,{key:`metrics-`+g.value,service:b.value,processes:x.value},null,8,[`service`,`processes`])):_.value===`config`?(r(),V(Dl,{key:`config-`+g.value,service:b.value,"project-id":S.value,onRemoveService:C},null,8,[`service`,`project-id`])):_.value===`git`?(r(),V(p,{key:`git-`+g.value,"service-id":g.value},null,8,[`service-id`])):M(``,!0)])):(r(),N(`div`,kl,[L(`p`,null,I(a(l)(`serviceDetail.notFound`)),1)]))}}),[[`__scopeId`,`data-v-460acc37`]]);export{Al as default};