@runeya/runeya 2.0.39 → 2.0.41

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 (206) hide show
  1. package/agent-manager-2I47P7CA.js +7 -0
  2. package/{chunk-PW6A3BLD.js → chunk-NJJMESIY.js} +400 -93
  3. package/chunk-NJJMESIY.js.map +1 -0
  4. package/index.js +1 -1
  5. package/package.json +1 -1
  6. package/{src-A3WSWXEY.js → src-BCBD4MPB.js} +1041 -336
  7. package/src-BCBD4MPB.js.map +1 -0
  8. package/web/assets/{AgentScalarChatInterface.vue-HiYdPZh0.js → AgentScalarChatInterface.vue-bk9hxmaQ.js} +1 -1
  9. package/web/assets/{AgentTerminalPage-BV1OTr-r.js → AgentTerminalPage-B04ZDAX6.js} +1 -1
  10. package/web/assets/AiChatPage-CRVc_0Nu.js +1 -0
  11. package/web/assets/{AppLayout-DW_-KBWL.css → AppLayout-BBifPBJu.css} +1 -1
  12. package/web/assets/AppLayout-DvrAr1Tw.js +1 -0
  13. package/web/assets/{AuditPage-Bc4NZud3.js → AuditPage-B64guLBx.js} +1 -1
  14. package/web/assets/CloudAccountPage-4nEDwbbP.js +1 -0
  15. package/web/assets/CloudAccountPage-C_OlcjXc.js +1 -0
  16. package/web/assets/CloudAccountPage-ChVg2wnJ.css +1 -0
  17. package/web/assets/{CloudMessagingPage-CWcahAog.js → CloudMessagingPage-ClNaEqU1.js} +1 -1
  18. package/web/assets/{DashboardPage-nhKxGmnu.js → DashboardPage-8z5zI4At.js} +1 -1
  19. package/web/assets/{EditorIcon-vSDu502Z.js → EditorIcon-QuM8Jw0F.js} +1 -1
  20. package/web/assets/{EnvironmentForm-8WEcxUYY.js → EnvironmentForm-CctbC-gb.js} +1 -1
  21. package/web/assets/{EnvironmentFormPage-CpwzzSeB.js → EnvironmentFormPage-BOLckpdf.js} +1 -1
  22. package/web/assets/{EnvironmentListPage-Dyq7x-l_.js → EnvironmentListPage-CWbCtHUP.js} +1 -1
  23. package/web/assets/{EnvironmentSelector-BXe42bF9.js → EnvironmentSelector-CSSr9Uoa.js} +1 -1
  24. package/web/assets/{KanbanBoardPage-DHAWtkkJ.js → KanbanBoardPage-wjk3mufd.js} +3 -3
  25. package/web/assets/{KanbanListPage-CjQfqoXf.js → KanbanListPage-CBa8MOZq.js} +1 -1
  26. package/web/assets/LaunchProjectPage-CnhTqUn6.js +1 -0
  27. package/web/assets/LaunchProjectPage-CxXC2U3O.css +1 -0
  28. package/web/assets/{LaunchServicesPage-DYLGFHSm.js → LaunchServicesPage-oHDlEgqh.js} +1 -1
  29. package/web/assets/{LogViewer-CEQDlzBl.js → LogViewer-CbXki1mv.js} +1 -1
  30. package/web/assets/{ProcessControls-RuqRu4r_.js → ProcessControls-E3Ka8erw.js} +1 -1
  31. package/web/assets/{ProcessDetailPage-CnK8kLHx.js → ProcessDetailPage-lofKmzDr.js} +1 -1
  32. package/web/assets/{ProcessMetrics-tNC5ggO0.js → ProcessMetrics-DNIFOkvO.js} +1 -1
  33. package/web/assets/ProjectDetailPage-B42imx75.css +1 -0
  34. package/web/assets/ProjectDetailPage-Dz2WCS0H.js +1 -0
  35. package/web/assets/{ProjectListPage-BGihYeDx.js → ProjectListPage-MH2MfkaC.js} +1 -1
  36. package/web/assets/{RandomJobTestPage-BgjN2Lqt.js → RandomJobTestPage-C1yrM6Zy.js} +1 -1
  37. package/web/assets/{ScenarioEditorPage-nU_bK6Wm.js → ScenarioEditorPage-Dy6iy9r8.js} +1 -1
  38. package/web/assets/{SendToChatDialog-DG6GidKi.js → SendToChatDialog-DCpOcZ4B.js} +1 -1
  39. package/web/assets/{ServiceControlsBar-lvV0380I.js → ServiceControlsBar-B3dt-TpS.js} +1 -1
  40. package/web/assets/{ServiceDetailPage-gG_F4CpK.js → ServiceDetailPage-Dt4DRm6q.js} +1 -1
  41. package/web/assets/{ServiceFormPage-5pLarqaj.js → ServiceFormPage-ks_mGrTT.js} +1 -1
  42. package/web/assets/{SettingsPage-DGtNwgNF.js → SettingsPage-Ca--x3I2.js} +4 -4
  43. package/web/assets/{SetupPage-zLbZ7HFD.js → SetupPage-DnbrJAZf.js} +1 -1
  44. package/web/assets/{UnlockPage-BNUgOO2j.js → UnlockPage-Brv5TJMY.js} +1 -1
  45. package/web/assets/{VariablesTable-Dh7ySbKc.js → VariablesTable-DWg01MKw.js} +1 -1
  46. package/web/assets/{VersionBadge-Bcr43sQb.js → VersionBadge-DzEXeyD9.js} +1 -1
  47. package/web/assets/WikiPage-GjwXa8Oq.js +1 -0
  48. package/web/assets/{WikiView-bePXeeW1.js → WikiView-CulrPak1.js} +1 -1
  49. package/web/assets/{add-scalar-classes-BZ33Hgh4.js → add-scalar-classes-CqTKiXd8.js} +3 -3
  50. package/web/assets/auth-errors-CUm_h-nn.js +1 -0
  51. package/web/assets/{autocomplete-Mxh2ZegH.js → autocomplete-DEB2Qu-k.js} +1 -1
  52. package/web/assets/{basic-shape-diamond.svg-C_plmghk.js → basic-shape-diamond.svg-KT7ENzRk.js} +1 -1
  53. package/web/assets/{basic-shape-hexagon.svg-A1qvevt_.js → basic-shape-hexagon.svg-BG-V5Q5m.js} +1 -1
  54. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-Df8UWBuG.js → basic-shape-primary-circle-ellipse-round.svg-DkS-BSnd.js} +1 -1
  55. package/web/assets/{basic-shape-primary-square-rectangle.svg-hAiISQ_N.js → basic-shape-primary-square-rectangle.svg-JAOlu5yc.js} +1 -1
  56. package/web/assets/{basic-shape-shield.svg-j04XHSeq.js → basic-shape-shield.svg-BhPI20FC.js} +1 -1
  57. package/web/assets/{browser-_K3D-Q-7.js → browser-D77gc3Rr.js} +1 -1
  58. package/web/assets/{browser-B4MIWpa7.js → browser-Dh2HVE1I.js} +1 -1
  59. package/web/assets/{card-DGaeJPst.js → card-DIJopohC.js} +1 -1
  60. package/web/assets/{checkbox-C5uNb3Rm.js → checkbox-gEptCzM4.js} +1 -1
  61. package/web/assets/{chip-DDjgi9qj.js → chip-Rl8eKYOz.js} +1 -1
  62. package/web/assets/{client-D9DmTFwP.js → client-CPmn2crt.js} +1 -1
  63. package/web/assets/{cloud-chat.store-BPUP_Hxk.js → cloud-chat.store-DoQXE_CW.js} +1 -1
  64. package/web/assets/{cloud-session-B1oqwDJc.js → cloud-session-GnprlXNn.js} +1 -1
  65. package/web/assets/{column-sUzyGFk3.js → column-CHn9iHRy.js} +1 -1
  66. package/web/assets/{computer-device-desktop-monitor.svg-BBuhFhn-.js → computer-device-desktop-monitor.svg-DRH73_n8.js} +1 -1
  67. package/web/assets/{computer-device-desktop.svg-LL5HezrB.js → computer-device-desktop.svg-DXLn48TE.js} +1 -1
  68. package/web/assets/{computer-device-laptop.svg-C4xmfwdM.js → computer-device-laptop.svg-Cx3qvopX.js} +1 -1
  69. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-B-uD42mr.js → computer-device-mobile-phone-android-samsung-back.svg-91VumZ5n.js} +1 -1
  70. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-qPPbtnL9.js → computer-device-mobile-phone-android-samsung.svg-B1rGCVDW.js} +1 -1
  71. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-B1Xa9B8p.js → computer-device-mobile-phone-iphone-x-back.svg-BpI2fov9.js} +1 -1
  72. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-B9zWUZbf.js → computer-device-mobile-phone-iphone-x.svg-CgXARUwD.js} +1 -1
  73. package/web/assets/{computer-device-mobile-tablet-touch.svg-CriHRQuM.js → computer-device-mobile-tablet-touch.svg-CCbrFsKS.js} +1 -1
  74. package/web/assets/{computer-device-mobile-tablet.svg-BOKVzupN.js → computer-device-mobile-tablet.svg-DjMvb6nR.js} +1 -1
  75. package/web/assets/{computer-device-network-ethernet-cat6.svg-D0L6yx6b.js → computer-device-network-ethernet-cat6.svg-Bqaea3Cl.js} +1 -1
  76. package/web/assets/{computer-device-network-lan-www.svg-n9m6VZVC.js → computer-device-network-lan-www.svg-CJxUMWWI.js} +1 -1
  77. package/web/assets/{computer-device-network-wifi-connection.svg-BqJzn-5W.js → computer-device-network-wifi-connection.svg-BUWGehfn.js} +1 -1
  78. package/web/assets/{computer-device-network-wifi-router.svg-DKcOeajJ.js → computer-device-network-wifi-router.svg-BC12dD1O.js} +1 -1
  79. package/web/assets/{cssMode-CLuhsa-I.js → cssMode-Df4SqVsZ.js} +1 -1
  80. package/web/assets/{divider-UPIM4dQl.js → divider-xI7dNZxb.js} +1 -1
  81. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DyL2i1-k.js → ecology-science-erlenmeyer-flask.svg-DsEq5QkC.js} +1 -1
  82. package/web/assets/{fieldset-CIZfn4mb.js → fieldset-DHi1E3Rv.js} +1 -1
  83. package/web/assets/{freemarker2-BQV9kA1Y.js → freemarker2-DcSf8AuF.js} +1 -1
  84. package/web/assets/{handlebars-ib1US5Pw.js → handlebars-B866hvQq.js} +1 -1
  85. package/web/assets/{html-D-hYOiBO.js → html-Bqs2Jvnl.js} +1 -1
  86. package/web/assets/{htmlMode-WY_1KZ8Q.js → htmlMode-ZcQnxlbi.js} +1 -1
  87. package/web/assets/{image-flash-lightning.svg-wPJhlaEM.js → image-flash-lightning.svg-BnJa70PB.js} +1 -1
  88. package/web/assets/{image-picture-flower.svg-C15wjNsW.js → image-picture-flower.svg-CnHedFRr.js} +1 -1
  89. package/web/assets/{index-CcDpHMIW.js → index-DKBnMXVN.js} +259 -259
  90. package/web/assets/{interface-alert-exclamation-diamond.svg-C2MhzWE9.js → interface-alert-exclamation-diamond.svg-COmucSk_.js} +1 -1
  91. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-D8heEy48.js → interface-alert-exclamation-triangle-warning.svg-M36BIAo6.js} +1 -1
  92. package/web/assets/{interface-alert-information-circle.svg-zrf3-9VP.js → interface-alert-information-circle.svg-1kMmqhO2.js} +1 -1
  93. package/web/assets/{interface-award-crown.svg-CT401HIW.js → interface-award-crown.svg-DptGWkkU.js} +1 -1
  94. package/web/assets/{interface-bookmark.svg-CqHV5l4k.js → interface-bookmark-tag.svg-D7TAAj3n.js} +1 -1
  95. package/web/assets/{interface-bookmark-tag.svg-h5CZEHt8.js → interface-bookmark.svg-ViiyYT_L.js} +1 -1
  96. package/web/assets/{interface-calendar-date-one.svg-DUdLsM_8.js → interface-calendar-date-one.svg-CWorrxsZ.js} +1 -1
  97. package/web/assets/{interface-content-book-open-pages.svg-DNR8SCd0.js → interface-content-book-open-pages.svg-Br_e_4Im.js} +1 -1
  98. package/web/assets/{interface-content-book-page.svg-Da9e-SX6.js → interface-content-book-page.svg-Du0uHoZ7.js} +1 -1
  99. package/web/assets/{interface-content-file.svg-BZM7jMWF.js → interface-content-file.svg-C972356w.js} +1 -1
  100. package/web/assets/{interface-content-folder.svg-BisjJGhi.js → interface-content-folder.svg-Erjx4HGU.js} +1 -1
  101. package/web/assets/interface-content-folder.svg-nZraYlQ1.js +1 -0
  102. package/web/assets/{interface-copy-clipboard.svg-AIcyJXPF.js → interface-copy-clipboard.svg-B9XvjK6U.js} +1 -1
  103. package/web/assets/{interface-edit-attachment.svg-XSvdzubS.js → interface-edit-attachment.svg-BWe41qK5.js} +1 -1
  104. package/web/assets/{interface-edit-binocular.svg-CCB9rIw_.js → interface-edit-binocular.svg-ChJsM_P7.js} +1 -1
  105. package/web/assets/{interface-edit-magic-wand.svg-Dd4afdpz.js → interface-edit-magic-wand.svg-BUs2NS7s.js} +1 -1
  106. package/web/assets/{interface-edit-tool-paint-roller.svg-DpO7rr7P.js → interface-edit-tool-paint-roller.svg-CdrYKzH6.js} +1 -1
  107. package/web/assets/{interface-edit-tool-pencil.svg-DbKruCrP.js → interface-edit-tool-pencil.svg-C8on9j4c.js} +1 -1
  108. package/web/assets/{interface-favorite-award.svg-DNIpxtuy.js → interface-favorite-award.svg-Bh_lIFBs.js} +1 -1
  109. package/web/assets/{interface-favorite-flag.svg-CgGWpm8Y.js → interface-favorite-flag.svg-BfecybVt.js} +1 -1
  110. package/web/assets/{interface-favorite-heart.svg-Bke1OXMv.js → interface-favorite-heart.svg-DDreuf_y.js} +1 -1
  111. package/web/assets/{interface-favorite-star.svg-DgwsiTjP.js → interface-favorite-star.svg-BJNTsPaT.js} +1 -1
  112. package/web/assets/{interface-favorite-stars-sparkles.svg-dKGlP2sr.js → interface-favorite-stars-sparkles.svg-CKOBWT4J.js} +1 -1
  113. package/web/assets/{interface-hierarchy-flowchart.svg-Bved245R.js → interface-hierarchy-flowchart.svg-7rufYb_n.js} +1 -1
  114. package/web/assets/{interface-home-house.svg-DJIEYhIa.js → interface-home-house.svg-CrKToh2q.js} +1 -1
  115. package/web/assets/{interface-hyperlink.svg-BBh6NFX7.js → interface-hyperlink.svg-BOjFniK_.js} +1 -1
  116. package/web/assets/{interface-lighting-brightness.svg-NqCt5nK8.js → interface-lighting-brightness.svg-B3-sdI-a.js} +1 -1
  117. package/web/assets/{interface-lock-closed.svg-CclDxo01.js → interface-lock-closed.svg-D3pw1rIY.js} +1 -1
  118. package/web/assets/{interface-lock-open-unlock.svg-CYPJVug8.js → interface-lock-open-unlock.svg-CJ_XAmbt.js} +1 -1
  119. package/web/assets/{interface-login-key.svg-DaW7pEY5.js → interface-login-key.svg-D--OEw7I.js} +1 -1
  120. package/web/assets/{interface-search.svg-j89Vz_N5.js → interface-search.svg-_5NliDrL.js} +1 -1
  121. package/web/assets/{interface-setting-cog.svg-CY2WkccU.js → interface-setting-cog.svg-uK8uMEZ2.js} +1 -1
  122. package/web/assets/{interface-share-megaphone-bullhorn.svg-C927tb6q.js → interface-share-megaphone-bullhorn.svg-CIdM6tKR.js} +1 -1
  123. package/web/assets/{interface-share-rocket.svg-B3sZvIoQ.js → interface-share-rocket.svg-CN-zhWTK.js} +1 -1
  124. package/web/assets/{interface-share-satellite.svg-CQ8A4dXG.js → interface-share-satellite.svg-CVTJ9m_O.js} +1 -1
  125. package/web/assets/{interface-share-space-ship.svg-BTGyj986.js → interface-share-space-ship.svg-jIDLHLi6.js} +1 -1
  126. package/web/assets/{interface-share.svg-BSQ8cEXV.js → interface-share.svg-33frw3Wv.js} +1 -1
  127. package/web/assets/{interface-signal-square.svg-1h2-Znr2.js → interface-signal-square.svg-Wg7BKl9x.js} +1 -1
  128. package/web/assets/{interface-time-clock-circle.svg-CgUcH4er.js → interface-time-clock-circle.svg-CZ6md3Ju.js} +1 -1
  129. package/web/assets/{interface-time-hour-glass.svg-Biz9ylcj.js → interface-time-hour-glass.svg-dRVhEG12.js} +1 -1
  130. package/web/assets/{interface-users-multiple.svg-B2SNNyd6.js → interface-users-multiple.svg-D7jrCQNN.js} +1 -1
  131. package/web/assets/{interface-weather-moon.svg-DFIwJsKU.js → interface-weather-moon.svg-BYWPWUQx.js} +1 -1
  132. package/web/assets/{javascript-w0UZtcmg.js → javascript-BATb-HYh.js} +1 -1
  133. package/web/assets/{jsonMode-CJUdXIyV.js → jsonMode-CP6RXg9k.js} +1 -1
  134. package/web/assets/{liquid-CjedKIbd.js → liquid-BCpH2Ett.js} +1 -1
  135. package/web/assets/{lspLanguageFeatures-DGvsogF_.js → lspLanguageFeatures-BWSdWSw7.js} +1 -1
  136. package/web/assets/{mail-chat-bubble-square.svg-D16l2agS.js → mail-chat-bubble-square.svg-BwFA9sJS.js} +1 -1
  137. package/web/assets/{mail-send-email-paper-airplane.svg-Bz-my4zw.js → mail-send-email-paper-airplane.svg-DWRvHccC.js} +1 -1
  138. package/web/assets/{mail-send-envelope.svg-Cgh2a1hO.js → mail-send-envelope.svg-6QBx4SLE.js} +1 -1
  139. package/web/assets/{mdx-Y5OqFrRV.js → mdx-JagJo-dt.js} +1 -1
  140. package/web/assets/{message-Bh-eAVAb.js → message-TwI_r5mZ.js} +1 -1
  141. package/web/assets/{minus-CxgjeEyu.js → minus-oYqzuR4a.js} +1 -1
  142. package/web/assets/modal-BEYg-JLN.js +1 -0
  143. package/web/assets/{modal-ciXJUOol.js → modal-CFM8h6A5.js} +1 -1
  144. package/web/assets/{money-cashier-receipt.svg-BP5bjawX.js → money-cashier-receipt.svg-Cl2LyS7q.js} +1 -1
  145. package/web/assets/{money-currency-dollar-pay.svg-vKtIhvs8.js → money-currency-dollar-pay.svg-DiytkCh0.js} +1 -1
  146. package/web/assets/{money-graph-arrow-increase.svg-CaeoOB93.js → money-graph-arrow-increase.svg-D4qMSRlp.js} +1 -1
  147. package/web/assets/{money-graph-bar-chart-increase.svg-CjRjHwbF.js → money-graph-bar-chart-increase.svg-CdCIWvvQ.js} +1 -1
  148. package/web/assets/{multiselect-CsE4Xly1.js → multiselect-CSyl93Ho.js} +1 -1
  149. package/web/assets/{nature-ecology-leaf.svg-umy4cUUw.js → nature-ecology-leaf.svg-GjBsj54D.js} +1 -1
  150. package/web/assets/{password-Brra1Twl.js → password-xomJK8iH.js} +1 -1
  151. package/web/assets/{phone-telephone.svg-DQ18gSw7.js → phone-telephone.svg-CBtGAjHv.js} +1 -1
  152. package/web/assets/{plus-e_D9UcW9.js → plus-C8MR9x_j.js} +1 -1
  153. package/web/assets/process.store-vy8KqH_z.js +1 -0
  154. package/web/assets/{programming-bug.svg-BL4Hus_Q.js → programming-bug.svg-BHCuUnau.js} +1 -1
  155. package/web/assets/{programming-cloud.svg-DrTlrDBe.js → programming-cloud.svg-DPdcvBlm.js} +1 -1
  156. package/web/assets/{programming-computer-database-server.svg-CnwbhD5W.js → programming-computer-database-server.svg-CaruocqU.js} +1 -1
  157. package/web/assets/{programming-computer-database.svg-GymDSTl9.js → programming-computer-database.svg-DFSRGAGE.js} +1 -1
  158. package/web/assets/{programming-module-four-layout.svg-DspyCTiu.js → programming-module-four-layout.svg-GUN-7Tqn.js} +1 -1
  159. package/web/assets/{programming-module-three.svg-BuYXTrWu.js → programming-module-three.svg-DYC-KU3a.js} +1 -1
  160. package/web/assets/{programming-module.svg-DIlRMVbW.js → programming-module.svg-NW_oL81i.js} +1 -1
  161. package/web/assets/{programming-script-code.svg-DPXJcL07.js → programming-script-code.svg-BPISkQtk.js} +1 -1
  162. package/web/assets/{python-3fAbpxqq.js → python-CXVm4gDt.js} +1 -1
  163. package/web/assets/{radiobutton-w7t3rGDJ.js → radiobutton-BLlyiAho.js} +1 -1
  164. package/web/assets/{razor-GDM0jSNH.js → razor-BcnFJswZ.js} +1 -1
  165. package/web/assets/router-Z6Tmw2JR.js +1 -0
  166. package/web/assets/{settings.store-D0eLKI4A.js → settings.store-CPAOxEyN.js} +1 -1
  167. package/web/assets/{shopping-cart.svg-B1y-4w0M.js → shopping-cart.svg-CA8D1Bj1.js} +1 -1
  168. package/web/assets/{shopping-gift-present.svg-DJ3mGWql.js → shopping-gift-present.svg-DA0s4ges.js} +1 -1
  169. package/web/assets/{shopping-shipping-box-parcel-package.svg-Bj3iHRT5.js → shopping-shipping-box-parcel-package.svg-BkLM7KC9.js} +1 -1
  170. package/web/assets/{src-wVYcxep_.js → src-DQG3PBVG.js} +1 -1
  171. package/web/assets/{src-BotO3dQ7.js → src-Dyv5MRfg.js} +1 -1
  172. package/web/assets/{tabpanel-DOZdp_HS.js → tabpanel-CNQhqmGV.js} +1 -1
  173. package/web/assets/{tag-new-circle.svg-Bb_ByVey.js → tag-new-circle.svg-BVZMrQWv.js} +1 -1
  174. package/web/assets/{travel-map-earth-globe.svg-Mso-K6XY.js → travel-map-earth-globe.svg-BZXWAlAZ.js} +1 -1
  175. package/web/assets/trpc-DVqzpQq9.js +1 -0
  176. package/web/assets/{tsMode-BUHQk9ZI.js → tsMode-BjuYVSR3.js} +1 -1
  177. package/web/assets/{typescript-Quc5d9qP.js → typescript-Bw5AHC7f.js} +1 -1
  178. package/web/assets/useAiChatDrawer-BCH3idQo.js +1 -0
  179. package/web/assets/useCloudOrg-A1wW_KrI.css +1 -0
  180. package/web/assets/useCloudOrg-BthYAZho.js +1 -0
  181. package/web/assets/{xml-CkYBw41O.js → xml-ESsLInqI.js} +1 -1
  182. package/web/assets/{yaml-CmSvkxzN.js → yaml-CEuOVTz-.js} +1 -1
  183. package/web/index.html +1 -1
  184. package/agent-manager-U3HLZ6QZ.js +0 -7
  185. package/chunk-PW6A3BLD.js.map +0 -1
  186. package/src-A3WSWXEY.js.map +0 -1
  187. package/web/assets/AiChatPage-Ct_f2ned.js +0 -1
  188. package/web/assets/AppLayout-BX_Buqtz.js +0 -1
  189. package/web/assets/CloudAccountPage-BqnCKZxn.js +0 -1
  190. package/web/assets/CloudAccountPage-CRN-tnI1.css +0 -1
  191. package/web/assets/CloudAccountPage-kTdYEt2S.js +0 -1
  192. package/web/assets/LaunchProjectPage-57kJRakH.css +0 -1
  193. package/web/assets/LaunchProjectPage-Bfs_AIgu.js +0 -1
  194. package/web/assets/ProjectDetailPage-BxLE6-54.css +0 -1
  195. package/web/assets/ProjectDetailPage-Cd3-8PAI.js +0 -1
  196. package/web/assets/WikiPage-DDx_jeaY.js +0 -1
  197. package/web/assets/auth-errors-BJV46AcQ.js +0 -1
  198. package/web/assets/interface-content-folder.svg-p32kmmD9.js +0 -1
  199. package/web/assets/modal-CIFHhhV7.js +0 -1
  200. package/web/assets/process.store-BhNwQ2dn.js +0 -1
  201. package/web/assets/router-C6yOFC1g.js +0 -1
  202. package/web/assets/trpc-BWtKBok1.js +0 -1
  203. package/web/assets/useAiChatDrawer-CRJCTTTO.js +0 -1
  204. package/web/assets/useCloudOrg-CBr3kqWH.js +0 -1
  205. package/web/assets/useCloudOrg-Gz6ek71z.css +0 -1
  206. /package/{agent-manager-U3HLZ6QZ.js.map → agent-manager-2I47P7CA.js.map} +0 -0
@@ -1 +0,0 @@
1
- import{u as e}from"./index-CcDpHMIW.js";export{e as default};
@@ -1 +0,0 @@
1
- import{Ai as e,At as t,Bn as n,Ei as r,En as i,Fn as a,Gr as o,J as s,Jr as c,Mn as l,Nn as u,Oi as d,Ot as f,Pn as p,Q as m,Qr as h,Si as g,Tn as _,Ui as v,Ur as y,Vr as b,Vt as x,Wi as S,Xi as C,Xr as w,Xt as T,Yi as E,Yr as D,Yt as O,Z as k,Zr as A,_a as j,a as M,ai as N,an as P,c as F,ca as I,cn as L,et as R,hi as z,i as ee,in as B,ji as V,jn as H,kt as U,l as te,ln as W,mn as G,ni as K,pn as q,qi as J,ri as Y,wi as X,wn as ne,zi as Z}from"./index-CcDpHMIW.js";import{t as re}from"./cloud-session-B1oqwDJc.js";import"./src-BotO3dQ7.js";import{t as ie}from"./cloud-chat.store-BPUP_Hxk.js";import{t as ae}from"./EditorIcon-vSDu502Z.js";import"./ProcessControls-RuqRu4r_.js";import{t as oe}from"./ServiceControlsBar-lvV0380I.js";import{t as se}from"./EnvironmentSelector-BXe42bF9.js";var ce={class:`service-sidebar__header`},le={class:`service-sidebar__search`},ue={class:`p-input-icon-left service-sidebar__search-wrapper`},de={class:`service-sidebar__list`},fe=[`draggable`,`onClick`,`onDragstart`,`onDragover`,`onDrop`],pe={class:`service-sidebar__group-label`},me={class:`service-sidebar__group-badges`},he=[`title`],ge=[`title`],_e=[`title`],ve={class:`service-sidebar__group-count`},ye={class:`service-sidebar__group-items`},be=[`onClick`],xe={key:0,class:`pi pi-exclamation-triangle service-sidebar__status service-sidebar__status--error`},Se=[`title`],Ce=[`title`],we=[`title`],Te={key:4,class:`pi pi-circle-fill service-sidebar__status service-sidebar__status--running`},Ee={key:5,class:`pi pi-spin pi-spinner service-sidebar__status service-sidebar__status--starting`},De={key:6,class:`pi pi-circle service-sidebar__status service-sidebar__status--stopped`},Oe={class:`service-sidebar__item-name`},ke={key:0,class:`service-sidebar__empty`},Ae={key:1,class:`service-sidebar__empty`},Q=`__all__`,je=W(N({__name:`ServiceSidebar`,props:{selectedServiceId:{},collapsed:{type:Boolean},activeProjectId:{},portrait:{type:Boolean},width:{},resizing:{type:Boolean}},emits:[`select-service`,`add-service`,`toggle-collapse`],setup(e,{emit:t}){let n=e,i=c(()=>{if(!(n.collapsed||n.portrait||!n.width))return{width:`${n.width}px`,minWidth:`${n.width}px`}}),s=t,{t:l}=a(),u=k(),f=m(),p=F(),g=I(``),_=c(()=>n.activeProjectId?u.getById(n.activeProjectId):null),v=c(()=>{let e=g.value.toLowerCase();if(!_.value)return[];let t=f.getByIds(_.value.serviceIds).filter(t=>!e||t.name.toLowerCase().includes(e)),n={errored:0,running:1,starting:2};return t.sort((e,t)=>{let r=G(e.id),i=G(t.id),a=r!==null&&r in n?n[r]:9,o=i!==null&&i in n?n[i]:9;if(a!==o)return a-o;let s=e=>e.trim().replace(/[^a-zA-Z0-9\s]/g,``).toLowerCase();return s(e.name).localeCompare(s(t.name))})}),y=c(()=>{let e=new Map;for(let t of v.value){let n=t.groups&&t.groups.length>0?t.groups:[Q];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=_.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==Q).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t,counts:H(t)})),i=e.get(Q);return i&&i.length>0&&r.push({key:Q,label:l(`serviceSidebar.defaultGroup`),services:i,counts:H(i)}),r});function x(e){return`runeya.serviceSidebar.collapsedGroups.${e}`}function w(e){if(!e)return new Set;try{let t=localStorage.getItem(x(e));if(!t)return new Set;let n=JSON.parse(t);return Array.isArray(n)?new Set(n.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}let T=I(w(n.activeProjectId));Z(()=>n.activeProjectId,e=>{T.value=w(e)});function O(){if(n.activeProjectId)try{localStorage.setItem(x(n.activeProjectId),JSON.stringify([...T.value]))}catch{}}function M(e){let t=new Set(T.value);t.has(e)?t.delete(e):t.add(e),T.value=t,O()}let N=I(null),L=I(null);function R(e,t){if(e===Q){t.preventDefault();return}N.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e))}function ee(e,t){!N.value||e===Q||e===N.value||(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),L.value=e)}function B(e){let t=N.value;if(N.value=null,L.value=null,!t||e===Q||t===e||!_.value)return;let n=y.value.map(e=>e.key).filter(e=>e!==Q),r=n.indexOf(t),i=n.indexOf(e);r===-1||i===-1||(n.splice(r,1),n.splice(i,0,t),u.updateGroupOrder(_.value.id,n))}function V(){N.value=null,L.value=null}function H(e){let t=0,n=0,r=0;for(let i of e){let e=G(i.id);if(e===`errored`)t++;else if(e===`running`){let e=X(i.id);e.hasHealthCheck&&e.status===`healthy`?n++:r++}}return{errored:t,healthy:n,running:r}}let U=I({});function te(e,t){t?U.value[e]=t:delete U.value[e]}async function W(){if(!n.selectedServiceId)return;await z();let e=U.value[n.selectedServiceId];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}Z(v,W),Z(()=>n.selectedServiceId,W);function G(e){let t=p.getByService(e);return!t||t.length===0?null:t.some(e=>e.state===`errored`)?`errored`:t.some(e=>e.state===`running`)?`running`:t.some(e=>e.state===`starting`)?`starting`:`stopped`}function X(e){if(!f.getById(e)?.healthCheck)return{hasHealthCheck:!1,status:null};let t=p.getByService(e);return!t||t.length===0?{hasHealthCheck:!0,status:null}:t.some(e=>e.healthStatus===`unhealthy`)?{hasHealthCheck:!0,status:`unhealthy`}:t.every(e=>e.healthStatus===`healthy`)?{hasHealthCheck:!0,status:`healthy`}:{hasHealthCheck:!0,status:`unknown`}}return(t,n)=>(r(),h(o,null,[e.portrait&&!e.collapsed?(r(),h(`div`,{key:0,class:`service-sidebar__backdrop`,onClick:n[0]||=e=>s(`toggle-collapse`)})):A(``,!0),D(`aside`,{class:J([`service-sidebar`,{"service-sidebar--collapsed":e.collapsed,"service-sidebar--portrait":e.portrait,"service-sidebar--resizing":e.resizing}]),style:E(i.value)},[e.collapsed?A(``,!0):(r(),h(o,{key:0},[D(`div`,ce,[Y(j(q),{icon:`pi pi-plus`,label:j(l)(`serviceSidebar.addService`),outlined:``,size:`small`,class:`service-sidebar__add-btn`,onClick:n[1]||=e=>s(`add-service`)},null,8,[`label`])]),D(`div`,le,[D(`span`,ue,[n[3]||=D(`i`,{class:`pi pi-search`},null,-1),Y(j(P),{modelValue:g.value,"onUpdate:modelValue":n[2]||=e=>g.value=e,placeholder:j(l)(`serviceSidebar.searchPlaceholder`),size:`small`,class:`service-sidebar__search-input`},null,8,[`modelValue`,`placeholder`])])]),D(`div`,de,[(r(!0),h(o,null,d(y.value,t=>(r(),h(`div`,{key:t.key,class:J([`service-sidebar__group`,{"service-sidebar__group--dragover":L.value===t.key}])},[D(`button`,{class:J([`service-sidebar__group-header`,{"service-sidebar__group-header--dragging":N.value===t.key}]),draggable:t.key!==Q,onClick:e=>M(t.key),onDragstart:e=>R(t.key,e),onDragover:e=>ee(t.key,e),onDrop:e=>B(t.key),onDragend:V},[D(`i`,{class:J(T.value.has(t.key)?`pi pi-chevron-right`:`pi pi-chevron-down`)},null,2),D(`span`,pe,C(t.label),1),D(`span`,me,[t.counts.errored?(r(),h(`span`,{key:0,class:`service-sidebar__group-badge`,title:j(l)(`serviceSidebar.badgeErrored`)},[n[4]||=D(`i`,{class:`pi pi-exclamation-triangle service-sidebar__status--error`},null,-1),K(` `+C(t.counts.errored),1)],8,he)):A(``,!0),t.counts.healthy?(r(),h(`span`,{key:1,class:`service-sidebar__group-badge`,title:j(l)(`serviceSidebar.badgeHealthy`)},[n[5]||=D(`i`,{class:`pi pi-heart-fill service-sidebar__status--healthy`},null,-1),K(` `+C(t.counts.healthy),1)],8,ge)):A(``,!0),t.counts.running?(r(),h(`span`,{key:2,class:`service-sidebar__group-badge`,title:j(l)(`serviceSidebar.badgeRunning`)},[n[6]||=D(`i`,{class:`pi pi-circle-fill service-sidebar__status--running`},null,-1),K(` `+C(t.counts.running),1)],8,_e)):A(``,!0)]),D(`span`,ve,C(t.services.length),1)],42,fe),S(D(`div`,ye,[(r(!0),h(o,null,d(t.services,t=>(r(),h(`button`,{key:t.id,ref_for:!0,ref:e=>te(t.id,e),class:J([`service-sidebar__item`,{"service-sidebar__item--active":e.selectedServiceId===t.id,"service-sidebar__item--inactive":!G(t.id)||G(t.id)===`stopped`}]),onClick:n=>{s(`select-service`,t.id),e.portrait&&s(`toggle-collapse`)}},[G(t.id)===`errored`?(r(),h(`i`,xe)):G(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`healthy`?(r(),h(`i`,{key:1,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--healthy`,title:j(l)(`serviceSidebar.healthHealthy`)},null,8,Se)):G(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`unhealthy`?(r(),h(`i`,{key:2,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--unhealthy`,title:j(l)(`serviceSidebar.healthUnhealthy`)},null,8,Ce)):G(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`unknown`?(r(),h(`i`,{key:3,class:`pi pi-heart service-sidebar__status service-sidebar__status--health-pending`,title:j(l)(`serviceSidebar.healthWaiting`)},null,8,we)):G(t.id)===`running`?(r(),h(`i`,Te)):G(t.id)===`starting`?(r(),h(`i`,Ee)):(r(),h(`i`,De)),D(`span`,Oe,C(t.name),1)],10,be))),128))],512),[[b,!T.value.has(t.key)]])],2))),128)),_.value?v.value.length===0?(r(),h(`div`,Ae,C(j(l)(`serviceSidebar.noServices`)),1)):A(``,!0):(r(),h(`div`,ke,C(j(l)(`serviceSidebar.noProject`)),1))])],64))],6)],64))}}),[[`__scopeId`,`data-v-751be0c7`]]),Me={class:`notification-trigger`},Ne={class:`notification-panel`},Pe={class:`notification-header`},Fe={class:`notification-title`},Ie={class:`notification-actions`},Le={key:0,class:`notification-empty`},Re={key:1,class:`notification-list`},ze=[`onClick`],Be={class:`notification-content`},Ve={class:`notification-item-title`},He={class:`notification-message`},Ue={class:`notification-footer`},We={class:`notification-time`},Ge=[`onClick`],Ke=W(N({__name:`NotificationCenter`,setup(e){let{t}=a(),n=te(),s=i(),l=I(),u=c(()=>n.unreadCount>0),f=c(()=>n.notifications);function p(e){l.value.toggle(e)}function m(){n.markAllRead()}function g(){n.clear()}function _(e){n.remove(e)}function b(e){if(!e)return null;let t=e.trim();if(!t||!t.startsWith(`/`)||t.startsWith(`//`))return null;try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:null}catch{return null}}function x(e,t){n.markRead(e);let r=b(t);r&&(s.push(r).catch(()=>{}),l.value?.hide())}function S(e){let n=Date.now()-e,r=Math.floor(n/1e3);if(r<60)return t(`notifications.justNow`);let i=Math.floor(r/60);if(i<60)return t(`notifications.minutesAgo`,{n:i});let a=Math.floor(i/60);return a<24?t(`notifications.hoursAgo`,{n:a}):t(`notifications.daysAgo`,{n:Math.floor(a/24)})}function T(e){switch(e){case`success`:return`pi pi-check-circle`;case`error`:return`pi pi-times-circle`;case`warn`:return`pi pi-exclamation-triangle`;default:return`pi pi-info-circle`}}function k(e){switch(e){case`success`:return`var(--p-green-500)`;case`error`:return`var(--p-red-500)`;case`warn`:return`var(--p-orange-500)`;default:return`var(--p-blue-500)`}}return(e,i)=>(r(),h(o,null,[D(`div`,Me,[Y(j(q),{icon:`pi pi-bell`,text:``,rounded:``,"aria-label":j(t)(`notifications.title`),onClick:p},null,8,[`aria-label`]),u.value?(r(),w(j(G),{key:0,value:j(n).unreadCount,severity:`danger`,class:`notification-badge`},null,8,[`value`])):A(``,!0)]),Y(j(O),{ref_key:`op`,ref:l,class:`notification-overlay`,breakpoints:{"600px":`320px`}},{default:v(()=>[D(`div`,Ne,[D(`div`,Pe,[D(`span`,Fe,C(j(t)(`notifications.title`)),1),D(`div`,Ie,[u.value?(r(),w(j(q),{key:0,label:j(t)(`notifications.markAllRead`),text:``,size:`small`,onClick:m},null,8,[`label`])):A(``,!0),f.value.length>0?(r(),w(j(q),{key:1,label:j(t)(`notifications.clear`),text:``,size:`small`,severity:`secondary`,onClick:g},null,8,[`label`])):A(``,!0)])]),f.value.length===0?(r(),h(`div`,Le,[i[0]||=D(`i`,{class:`pi pi-bell-slash`,style:{"font-size":`1.5rem`,"margin-bottom":`0.5rem`}},null,-1),D(`p`,null,C(j(t)(`notifications.empty`)),1)])):(r(),h(`div`,Re,[(r(!0),h(o,null,d(f.value,e=>(r(),h(`div`,{key:e.id,class:J([`notification-item`,{unread:!e.read}]),onClick:t=>x(e.id,e.link)},[D(`i`,{class:J(T(e.type)),style:E({color:k(e.type)})},null,6),D(`div`,Be,[D(`div`,Ve,C(e.title),1),D(`div`,He,C(e.message),1),D(`div`,Ue,[D(`span`,We,C(S(e.timestamp)),1),b(e.link)?(r(),h(`button`,{key:0,type:`button`,class:`notification-link`,onClick:y(t=>x(e.id,e.link),[`stop`])},C(e.linkLabel||j(t)(`notifications.openResource`)),9,Ge)):A(``,!0)])]),Y(j(q),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:y(t=>_(e.id),[`stop`])},null,8,[`onClick`])],10,ze))),128))]))])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-e1d6b2c8`]]),qe=[`title`],Je={class:`trigger-blob`},Ye={class:`theme-picker`},Xe={class:`theme-section`},Ze={class:`section-label`},Qe={class:`preset-list`},$e=[`onClick`],et={class:`theme-section theme-section--row`},tt={class:`section-label`},nt=[`title`],rt={class:`theme-section theme-section--row`},it={class:`section-label`},at={class:`mode-toggle`},ot={class:`theme-section`},st={class:`section-label`},ct={class:`swatches`},lt=[`title`,`onClick`],ut={class:`custom-hue-header`},dt={class:`section-label`},ft={class:`custom-hue-track-wrap`},pt=[`value`],mt=`#18181b`,ht=`#f8fafc`,$=`custom`,gt=W(N({__name:`ThemePicker`,setup(e){let t=[{id:`aura`,label:`Aura`}],i=[{id:`slate`,label:`Slate`,hex:`#64748b`},{id:`orange`,label:`Orange`,hex:`#f97316`},{id:`amber`,label:`Amber`,hex:`#f59e0b`},{id:`emerald`,label:`Emerald`,hex:`#10b981`},{id:`teal`,label:`Teal`,hex:`#14b8a6`},{id:`sky`,label:`Sky`,hex:`#0ea5e9`},{id:`blue`,label:`Blue`,hex:`#3b82f6`},{id:`violet`,label:`Violet`,hex:`#8b5cf6`},{id:`pink`,label:`Pink`,hex:`#ec4899`}];function s(e){let t=e/60,n=.7,r=n*(1-Math.abs(t%2-1)),i=0,a=0,o=0;t<1?(i=n,a=r):t<2?(i=r,a=n):t<3?(a=n,o=r):t<4?(a=r,o=n):t<5?(i=r,o=n):(i=n,o=r);let s=e=>Math.round((e+.2)*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function l(e){let t=Number.parseInt(e.slice(1,3),16)/255,n=Number.parseInt(e.slice(3,5),16)/255,r=Number.parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r);if(i===a)return 0;let o=i-a,s=0;return s=i===t?((n-r)/o+(n<r?6:0))/6:i===n?((r-t)/o+2)/6:((t-n)/o+4)/6,Math.round(s*360)}let u=localStorage.getItem(`runeya-theme-color`)??`emerald`,f=localStorage.getItem(`runeya-theme-custom`)??`#10b981`,p=localStorage.getItem(`runeya-dark-mode`)===`1`,m=localStorage.getItem(`runeya-theme-preset`)??`aura`,g=localStorage.getItem(`runeya-theme-gradient`)===`1`,_=I(u),y=I(f),b=I(l(f)),x=I(p),S=I(m),w=I(g),{t:T}=a(),k=I(null),A=c(()=>_.value===$?y.value:i.find(e=>e.id===_.value)?.hex??i[3].hex),N=c(()=>{let e=n(A.value);return[e[700],e[500],e[300],e[100]]});function P(){w.value=!w.value,localStorage.setItem(`runeya-theme-gradient`,w.value?`1`:`0`),ee(w.value)}function F(e){S.value=e,localStorage.setItem(`runeya-theme-preset`,e),M(e,_.value,x.value,y.value)}function L(e){_.value=e,localStorage.setItem(`runeya-theme-color`,e),M(S.value,e,x.value,y.value)}function R(e){x.value=e,localStorage.setItem(`runeya-dark-mode`,e?`1`:`0`),M(S.value,_.value,e,y.value)}function z(e){let t=Number(e.target.value);b.value=t,y.value=s(t),localStorage.setItem(`runeya-theme-custom`,y.value),_.value=$,localStorage.setItem(`runeya-theme-color`,$),M(S.value,$,x.value,y.value)}Z(y,e=>{/^#[0-9a-f]{6}$/i.test(e)&&(b.value=l(e))});function B(e){k.value?.toggle(e)}return(e,a)=>(r(),h(o,null,[D(`button`,{class:`theme-trigger`,title:j(T)(`themePicker.title`),onClick:B},[D(`div`,Je,[(r(!0),h(o,null,d(N.value,(e,t)=>(r(),h(`div`,{key:t,class:`rad`,style:E({backgroundColor:e})},null,4))),128))])],8,qe),Y(j(O),{ref_key:`popover`,ref:k,class:`theme-popover`},{default:v(()=>[D(`div`,Ye,[D(`div`,Xe,[D(`span`,Ze,C(j(T)(`themePicker.preset`)),1),D(`div`,Qe,[(r(),h(o,null,d(t,e=>D(`button`,{key:e.id,class:J([`preset-btn`,{active:S.value===e.id}]),onClick:t=>F(e.id)},C(e.label),11,$e)),64))])]),a[5]||=D(`div`,{class:`theme-divider`},null,-1),D(`div`,et,[D(`span`,tt,C(j(T)(`themePicker.gradient`)),1),D(`button`,{class:J([`gradient-toggle`,{active:w.value}]),title:w.value?j(T)(`themePicker.disableGradient`):j(T)(`themePicker.enableGradient`),onClick:P},[...a[2]||=[D(`span`,{class:`gradient-toggle__track`},[D(`span`,{class:`gradient-toggle__thumb`})],-1)]],10,nt)]),a[6]||=D(`div`,{class:`theme-divider`},null,-1),D(`div`,rt,[D(`span`,it,C(j(T)(`themePicker.mode`)),1),D(`div`,at,[D(`button`,{class:J([`mode-btn`,{active:x.value}]),onClick:a[0]||=e=>R(!0)},[a[3]||=D(`i`,{class:`pi pi-moon`},null,-1),K(` `+C(j(T)(`themePicker.dark`)),1)],2),D(`button`,{class:J([`mode-btn`,{active:!x.value}]),onClick:a[1]||=e=>R(!1)},[a[4]||=D(`i`,{class:`pi pi-sun`},null,-1),K(` `+C(j(T)(`themePicker.light`)),1)],2)])]),a[7]||=D(`div`,{class:`theme-divider`},null,-1),D(`div`,ot,[D(`span`,st,C(j(T)(`themePicker.accentColor`)),1),D(`div`,ct,[(r(),h(o,null,d(i,e=>D(`div`,{key:e.id,class:J([`swatch`,{active:_.value===e.id}]),title:e.label,style:E({"--swatch-bg":x.value?mt:ht}),onClick:t=>L(e.id)},[D(`div`,{class:`viewwindow`,style:E({backgroundColor:x.value?mt:ht})},[(r(!0),h(o,null,d((()=>{let t=j(n)(e.hex);return[t[700],t[500],t[300],t[100]]})(),(e,t)=>(r(),h(`div`,{key:t,class:`rad`,style:E({backgroundColor:e})},null,4))),128))],4)],14,lt)),64))])]),D(`div`,{class:J([`theme-section custom-hue-section`,{"custom-hue-section--active":_.value===$}])},[D(`div`,ut,[D(`span`,dt,C(j(T)(`themePicker.customColor`)),1),D(`span`,{class:`custom-hue-preview`,style:E({backgroundColor:y.value})},null,4)]),D(`div`,ft,[D(`input`,{type:`range`,min:`0`,max:`359`,class:`custom-hue-slider`,value:b.value,onInput:z},null,40,pt)])],2)])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-d455232c`]]),_t={class:`lang-switcher`},vt=[`title`],yt={class:`lang-menu`},bt={class:`lang-menu__title`},xt=[`onClick`],St=W(N({__name:`LanguageSwitcher`,setup(e){let{t}=a(),n=I(null),i={fr:`🇫🇷 Français`,en:`🇬🇧 English`};function s(e){n.value?.toggle(e)}function c(e){p(e),n.value?.hide()}return(e,a)=>(r(),h(`div`,_t,[D(`button`,{class:`lang-btn`,title:j(t)(`language.label`),onClick:s},[...a[0]||=[D(`i`,{class:`pi pi-language`},null,-1)]],8,vt),Y(j(O),{ref_key:`popover`,ref:n},{default:v(()=>[D(`div`,yt,[D(`p`,bt,C(j(t)(`language.label`)),1),(r(!0),h(o,null,d(j(l),e=>(r(),h(`button`,{key:e,class:J([`lang-menu__item`,{"lang-menu__item--active":j(u)()===e}]),onClick:t=>c(e)},C(i[e]),11,xt))),128))])]),_:1},512)]))}}),[[`__scopeId`,`data-v-dd64a597`]]),Ct={class:`global-nav__top`},wt=[`title`],Tt={class:`global-nav__label`},Et=[`title`],Dt={class:`global-nav__label`},Ot=[`title`,`onClick`],kt={key:0,class:`global-nav__label`},At=[`title`],jt={key:0,class:`global-nav__badge`},Mt={key:1,class:`global-nav__label`},Nt={class:`global-nav__bottom`},Pt=[`title`],Ft=[`title`,`data-testid`,`onClick`],It={key:0,class:`global-nav__label`},Lt={key:1,class:`global-nav__separator`},Rt={class:`global-nav__util`},zt={key:2,class:`global-nav__util`},Bt={key:3,class:`global-nav__util`},Vt=W(N({__name:`GlobalNavBar`,props:{activeTab:{},portrait:{type:Boolean}},emits:[`tab-change`,`toggle-service-sidebar`],setup(e,{emit:t}){let{t:n}=a(),i=ie(),s=t,{isOpen:l,toggle:u}=f(),p=c(()=>[{id:`dashboard`,icon:`pi pi-home`,label:n(`nav.dashboard`)},{id:`wiki-global`,icon:`pi pi-file-edit`,label:`Wiki`},{id:`kanban`,icon:`pi pi-th-large`,label:n(`kanban.nav`)},{id:`agent-terminal`,icon:`pi pi-desktop`,label:n(`nav.agentTerminal`)}]),m=c(()=>[{id:`environments`,icon:`pi pi-globe`,label:n(`nav.environments`)},{id:`settings`,icon:`pi pi-sliders-h`,label:n(`nav.settings`)}]);return(t,a)=>(r(),h(`nav`,{class:J([`global-nav`,{"global-nav--portrait":e.portrait}]),"data-testid":`global-nav`},[D(`div`,Ct,[e.portrait?(r(),h(`button`,{key:0,class:J([`global-nav__btn`,{"global-nav__btn--active":j(l)}]),title:j(n)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:a[0]||=(...e)=>j(u)&&j(u)(...e)},[a[4]||=D(`i`,{class:`pi pi-sparkles`},null,-1),D(`span`,Tt,C(j(n)(`nav.aiChat`)),1)],10,wt)):A(``,!0),e.portrait?(r(),h(`button`,{key:1,class:`global-nav__btn`,title:j(n)(`nav.services`),"data-testid":`global-nav-services-btn`,onClick:a[1]||=e=>s(`toggle-service-sidebar`)},[a[5]||=D(`i`,{class:`pi pi-list`},null,-1),D(`span`,Dt,C(j(n)(`nav.services`)),1)],8,Et)):A(``,!0),(r(!0),h(o,null,d(p.value,t=>(r(),h(`button`,{key:t.id,class:J([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===t.id}]),title:t.label,"data-testid":`global-nav-btn`,onClick:e=>s(`tab-change`,t.id)},[D(`i`,{class:J(t.icon)},null,2),e.portrait?(r(),h(`span`,kt,C(t.label),1)):A(``,!0)],10,Ot))),128)),D(`button`,{class:J([`global-nav__btn global-nav__btn--badged`,{"global-nav__btn--active":e.activeTab===`cloud-messaging`,"global-nav__btn--pulse":j(i).unreadCount>0&&e.activeTab!==`cloud-messaging`}]),title:j(n)(`nav.messaging`),"data-testid":`global-nav-messaging-btn`,onClick:a[2]||=e=>s(`tab-change`,`cloud-messaging`)},[a[6]||=D(`i`,{class:`pi pi-comments`},null,-1),j(i).unreadCount>0?(r(),h(`span`,jt,C(j(i).unreadCount>99?`99+`:j(i).unreadCount),1)):A(``,!0),e.portrait?(r(),h(`span`,Mt,C(j(n)(`nav.messaging`)),1)):A(``,!0)],10,At)]),D(`div`,Nt,[e.portrait?A(``,!0):(r(),h(`button`,{key:0,class:J([`global-nav__btn`,{"global-nav__btn--active":j(l)}]),title:j(n)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:a[3]||=(...e)=>j(u)&&j(u)(...e)},[...a[7]||=[D(`i`,{class:`pi pi-sparkles`},null,-1)]],10,Pt)),(r(!0),h(o,null,d(m.value,t=>(r(),h(`button`,{key:t.id,class:J([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===t.id}]),title:t.label,"data-testid":t.id===`environments`?`nav-environments`:`global-nav-btn`,onClick:e=>s(`tab-change`,t.id)},[D(`i`,{class:J(t.icon)},null,2),e.portrait?(r(),h(`span`,It,C(t.label),1)):A(``,!0)],10,Ft))),128)),e.portrait?A(``,!0):(r(),h(`div`,Lt)),D(`div`,Rt,[Y(Ke)]),e.portrait?A(``,!0):(r(),h(`div`,zt,[Y(gt)])),e.portrait?A(``,!0):(r(),h(`div`,Bt,[Y(St)]))])],2))}}),[[`__scopeId`,`data-v-c01c1931`]]),Ht={class:`service-nav`,"data-testid":`service-nav`},Ut={class:`service-nav__tabs`},Wt=[`title`,`onClick`],Gt={class:`service-nav__btn-inner`},Kt={key:0,class:`service-nav__badge`},qt=W(N({__name:`ServiceNavBar`,props:{activeTab:{},serviceId:{}},emits:[`tab-change`],setup(e,{emit:t}){let n=e,i=t,{t:s}=a(),l=c(()=>[{id:`wiki`,icon:`pi pi-file-edit`,label:`Wiki`},{id:`terminal`,icon:`pi pi-code`,label:s(`serviceNavBar.terminal`)},{id:`metrics`,icon:`pi pi-chart-line`,label:s(`serviceNavBar.metrics`)},{id:`config`,icon:`pi pi-cog`,label:s(`serviceNavBar.config`)},{id:`git`,icon:`pi pi-github`,label:s(`serviceNavBar.git`)}]),u=I(0),f=null,p=L(m,6e4,`service-navbar:git-status`);async function m(){if(n.serviceId)try{let e=await x.git.status.query({serviceId:n.serviceId});u.value=e.staged.length+e.unstaged.length+e.untracked.length}catch{u.value=0}}function g(){_(),n.serviceId&&(f=x.git.onStatusChange.subscribe({serviceId:n.serviceId},{onData(e){u.value=e.staged.length+e.unstaged.length+e.untracked.length},onError(e){let t=e?.message??``;t.includes(`PRECONDITION_FAILED`)||t.includes(`Unresolved variables`)||m()}}),p.start())}function _(){f?.unsubscribe(),f=null,p.stop(),u.value=0}return Z(()=>n.serviceId,e=>{e?g():_()},{immediate:!0}),X(_),(t,n)=>(r(),h(`nav`,Ht,[D(`div`,Ut,[(r(!0),h(o,null,d(l.value,t=>(r(),h(`button`,{key:t.id,class:J([`service-nav__btn`,{"service-nav__btn--active":e.activeTab===t.id}]),title:t.label,onClick:e=>i(`tab-change`,t.id)},[D(`div`,Gt,[D(`i`,{class:J(t.icon)},null,2),t.id===`git`&&u.value>0?(r(),h(`span`,Kt,C(u.value>99?`99+`:u.value),1)):A(``,!0)])],10,Wt))),128))])]))}}),[[`__scopeId`,`data-v-c93f59f4`]]),Jt={class:`service-header`},Yt={class:`service-header__banner`},Xt={class:`service-header__left`},Zt={key:0,class:`service-header__title`},Qt=[`title`],$t=[`title`],en={key:1,class:`service-header__title`},tn={key:0,class:`service-header__right`},nn={class:`service-header__editor-popover`},rn={class:`service-header__editor-current`},an={class:`service-header__editor-label`},on={class:`service-header__editor-select`},sn={class:`service-header__editor-label`},cn={key:0,class:`editor-option`},ln={class:`editor-option`},un={key:0,class:`service-header__mismatch-banner`},dn={class:`service-header__mismatch-body`},fn={key:0},pn={key:1},mn={key:1,class:`service-header__clone-banner`},hn={key:0},gn={key:1},_n=W(N({__name:`ServiceHeader`,props:{service:{},totalProcesses:{},stateCount:{}},setup(t){let n=t,{t:i}=a(),s=H(),l=U(),u=I(),f=I(!1),p=I([]),m=I(null),g=I(null),_=I(!1);async function b(){if(!n.service?.git?.remote){f.value=!1,p.value=[],m.value=null,g.value=null;return}let e=n.service.id;try{let t=await x.service.checkCwd.query({id:e});p.value=t.unresolvedVars??[],m.value=t.resolvedCwd??null,g.value=t.gitMismatch??null,f.value=t.canClone||(t.unresolvedVars??[]).length>0,t.exists&&t.gitMismatch===null&&setTimeout(async()=>{if(n.service?.id===e)try{let t=await x.service.checkCwd.query({id:e,checkReachability:!0});if(n.service?.id!==e)return;g.value=t.gitMismatch??null}catch{}},1500)}catch(e){console.error(`[checkCwd] error:`,e),f.value=!1,p.value=[],m.value=null,g.value=null}}Z(()=>n.service?.id,()=>b(),{immediate:!0});async function E(){if(n.service){_.value=!0;try{await x.service.cloneRepository.mutate({id:n.service.id}),f.value=!1,s.add({severity:`success`,summary:`Repository cloned`,detail:`Cloned into ${m.value??n.service.cwd??`.`}`,life:4e3})}catch(e){s.add({severity:`error`,summary:`Clone failed`,detail:e.message,life:6e3})}finally{_.value=!1}}}let k=c(()=>n.service?l.getEffectiveEditor(n.service.id):null),M=c(()=>n.service?l.getServiceEditor(n.service.id):null),N=c(()=>[{label:i(`serviceHeader.useDefault`),value:`__default__`},...l.installedEditors.map(e=>({label:e.name,value:e.key}))]),P=c(()=>n.service?M.value?.key??`__default__`:`__default__`);function F(e){window.open(e,`_blank`)}function L(){let e=k.value,t=n.service?.cwd;if(!e){s.add({severity:`warn`,summary:i(`serviceHeader.noEditorConfigured`),detail:i(`serviceHeader.setDefaultEditorHint`),life:3e3});return}l.openEditor(e.key,t||`.`)}function R(e){u.value?.toggle(e)}async function z(e){n.service&&(e===`__default__`?await l.removeServiceEditor(n.service.id):await l.setServiceEditor(n.service.id,e))}return(n,a)=>{let s=e(`router-link`),c=V(`tooltip`);return r(),h(`header`,Jt,[D(`div`,Yt,[D(`div`,Xt,[t.service?(r(),h(`h1`,Zt,[t.service.runner===`docker`?(r(),h(`i`,{key:0,class:`pi pi-box service-header__runner-icon`,title:j(i)(`serviceHeader.docker`)},null,8,Qt)):(r(),h(`i`,{key:1,class:`pi pi-desktop service-header__runner-icon`,title:j(i)(`serviceHeader.native`)},null,8,$t)),K(C(t.service.name),1)])):(r(),h(`h1`,en,`Runeya`)),t.service&&t.totalProcesses>0?(r(),w(j(B),{key:2,value:`${t.stateCount.running} running`,severity:t.stateCount.running>0?`success`:`secondary`,class:`service-header__tag`},null,8,[`value`,`severity`])):A(``,!0)]),t.service?(r(),h(`div`,tn,[S((r(),w(j(q),{text:``,rounded:``,size:`small`,"aria-label":j(i)(`serviceHeader.openInEditor`),onClick:L,onContextmenu:y(R,[`prevent`])},{icon:v(()=>[Y(ae,{"editor-key":k.value?.key??null,size:14},null,8,[`editor-key`])]),_:1},8,[`aria-label`])),[[c,k.value?`Open in ${k.value.name}`:j(i)(`serviceHeader.openInEditor`),void 0,{bottom:!0}]]),S(Y(j(q),{icon:`pi pi-chevron-down`,text:``,rounded:``,size:`small`,class:`service-header__editor-caret`,"aria-label":j(i)(`serviceHeader.editorOptions`),onClick:R},null,8,[`aria-label`]),[[c,j(i)(`serviceHeader.editorSettings`),void 0,{bottom:!0}]]),Y(j(O),{ref_key:`editorPopover`,ref:u},{default:v(()=>[D(`div`,nn,[D(`div`,rn,[D(`span`,an,C(j(i)(`serviceHeader.editorDefault`)),1),D(`span`,null,C(j(l).defaultEditor?.name??j(i)(`serviceHeader.editorNotSet`)),1)]),D(`div`,on,[D(`span`,sn,C(j(i)(`serviceHeader.editorThisService`)),1),Y(j(T),{"model-value":P.value,options:N.value,"option-label":`label`,"option-value":`value`,placeholder:j(i)(`serviceHeader.useDefault`),size:`small`,class:`service-header__editor-dropdown`,"onUpdate:modelValue":z},{value:v(e=>[e.value?(r(),h(`div`,cn,[Y(ae,{"editor-key":e.value===`__default__`?null:e.value,size:14},null,8,[`editor-key`]),D(`span`,null,C(N.value.find(t=>t.value===e.value)?.label),1)])):A(``,!0)]),option:v(e=>[D(`div`,ln,[Y(ae,{"editor-key":e.option.value===`__default__`?null:e.option.value,size:14},null,8,[`editor-key`]),D(`span`,null,C(e.option.label),1)])]),_:1},8,[`model-value`,`options`,`placeholder`])]),Y(s,{to:{name:`settings`,query:{section:`editor`}},class:`service-header__editor-settings-link`},{default:v(()=>[a[1]||=D(`i`,{class:`pi pi-cog`},null,-1),D(`span`,null,C(j(i)(`serviceHeader.editorSettings`)),1)]),_:1})])]),_:1},512),(r(!0),h(o,null,d(t.service.localUrls??[],e=>S((r(),w(j(q),{key:e.url,icon:`pi pi-cloud`,text:``,rounded:``,size:`small`,"aria-label":`Open https://${e.url}`,onClick:t=>F(`https://${e.url}`)},null,8,[`aria-label`,`onClick`])),[[c,`https://${e.url}`,void 0,{bottom:!0}]])),128)),t.service.url?S((r(),w(j(q),{key:0,icon:`pi pi-globe`,text:``,rounded:``,size:`small`,"aria-label":j(i)(`serviceHeader.openServiceUrl`),onClick:a[0]||=e=>F(t.service.url)},null,8,[`aria-label`])),[[c,t.service.url,void 0,{bottom:!0}]]):A(``,!0)])):A(``,!0)]),g.value&&t.service?(r(),h(`div`,un,[a[11]||=D(`i`,{class:`pi pi-exclamation-triangle service-header__mismatch-icon`},null,-1),D(`div`,dn,[D(`strong`,null,C(g.value.unreachable?`Git remote unreachable`:g.value.actual===null?`No git remote found`:`Git remote mismatch`),1),g.value.unreachable?(r(),h(`span`,fn,[a[2]||=K(` Cannot reach `,-1),D(`code`,null,C(g.value.configured),1),a[3]||=K(` — check your network or SSH credentials. `,-1)])):g.value.actual===null?(r(),h(`span`,pn,[a[4]||=K(` The directory `,-1),D(`code`,null,C(m.value??t.service.cwd),1),a[5]||=K(` has no `,-1),a[6]||=D(`code`,null,`origin`,-1),a[7]||=K(` remote, but the service is configured for `,-1),D(`code`,null,C(g.value.configured),1),a[8]||=K(`. `,-1)])):(r(),h(o,{key:2},[D(`span`,null,[a[9]||=K(`Configured: `,-1),D(`code`,null,C(g.value.configured),1)]),D(`span`,null,[a[10]||=K(`Actual: `,-1),D(`code`,null,C(g.value.actual),1)])],64))])])):A(``,!0),f.value&&t.service?(r(),h(`div`,mn,[a[15]||=D(`i`,{class:`pi pi-folder-open service-header__clone-icon`},null,-1),(p.value??[]).length>0?(r(),h(`span`,hn,[a[12]||=K(` Working directory `,-1),D(`code`,null,C(m.value??t.service.cwd),1),a[13]||=K(` contains unresolved variables: `,-1),(r(!0),h(o,null,d(p.value??[],e=>(r(),h(`code`,{key:e,class:`service-header__clone-var`},`$`+C(e),1))),128)),a[14]||=K(` — set them in the environment before cloning. `,-1)])):(r(),h(`span`,gn,C(j(i)(`serviceHeader.cwdNotExist`,{cwd:m.value??t.service.cwd})),1)),(p.value??[]).length===0?(r(),w(j(q),{key:2,label:j(i)(`serviceHeader.cloneRepository`),icon:`pi pi-download`,size:`small`,loading:_.value,onClick:E},null,8,[`label`,`loading`])):A(``,!0)])):A(``,!0)])}}}),[[`__scopeId`,`data-v-e5a40cc7`]]),vn={class:`app-layout__main`,"data-testid":`page-content`},yn={class:`app-layout__content`},bn=W(N({__name:`AppMainArea`,props:{selectedService:{},selectedServiceId:{},selectedServiceProcesses:{},activeTab:{}},emits:[`tab-change`],setup(e,{emit:t}){let n=t;function i(e){n(`tab-change`,e)}return(t,n)=>(r(),h(`div`,vn,[Y(_n,{service:e.selectedService},null,8,[`service`]),D(`div`,yn,[S(Y(qt,{"active-tab":e.activeTab,"service-id":e.selectedServiceId,onTabChange:i},null,8,[`active-tab`,`service-id`]),[[b,!!e.selectedServiceId]]),D(`div`,{class:J(e.selectedServiceId?`app-layout__service-view`:[`ai-chat`,`kanban`,`agent-terminal`,`wiki-global`,`cloud-messaging`].includes(e.activeTab)?`app-layout__fullpage`:`app-layout__page`)},[e.selectedService?(r(),w(oe,{key:0,service:e.selectedService,processes:e.selectedServiceProcesses},null,8,[`service`,`processes`])):A(``,!0),D(`div`,{class:J([`ai-chat`,`kanban`,`agent-terminal`,`wiki-global`,`cloud-messaging`].includes(e.activeTab)?`app-layout__router-view-fullpage`:`app-layout__router-view`)},[Y(j(ne))],2)],2)])]))}}),[[`__scopeId`,`data-v-d688302d`]]),xn={class:`bottom-bar`},Sn={class:`bottom-bar__content`},Cn=[`disabled`,`title`],wn={class:`label`},Tn={class:`value`},En={class:`bottom-bar__right`},Dn={key:0,class:`bottom-bar__section environment`},On={class:`label`},kn=[`title`],An=[`src`,`alt`],jn={key:1,class:`cloud-avatar cloud-avatar--initials`},Mn=W(N({__name:`BottomBar`,setup(e){let n=k();R();let o=t(),s=H(),{t:l}=a(),u=i(),{user:d}=re(),f=c(()=>d.value?.image??``),p=I(!1),m=c(()=>(d.value?.name||d.value?.email||`?`).trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)||`?`);function g(){u.push({name:`cloud-account`})}function _(){v.value&&u.push({name:`project-detail`,params:{projectId:v.value.id}})}let v=c(()=>{let e=o.activeProjectId;return!e&&n.projects.length>0&&(e=n.projects[0].id),e?n.getById(e):null}),y=c(()=>v.value?.activeEnvironmentId??null);async function b(e){v.value&&(await n.setActiveEnvironment(v.value.id,e)||s.add({severity:`error`,summary:l(`bottomBar.errorChangingEnv`),life:5e3}))}return(e,t)=>(r(),h(`div`,xn,[D(`div`,Sn,[D(`button`,{class:J([`bottom-bar__section project-btn`,{"is-clickable":v.value}]),disabled:!v.value,title:v.value?j(l)(`bottomBar.goToProject`):void 0,onClick:_},[D(`i`,{class:J([`pi`,v.value?.orgId?`pi-cloud`:`pi-folder`,`icon`])},null,2),D(`span`,wn,C(j(l)(`bottomBar.project`)),1),D(`span`,Tn,C(v.value?.name??j(l)(`bottomBar.none`)),1)],10,Cn),D(`div`,En,[v.value&&y.value?(r(),h(`div`,Dn,[t[1]||=D(`i`,{class:`pi pi-globe icon`},null,-1),D(`span`,On,C(j(l)(`bottomBar.environment`)),1),Y(se,{"model-value":y.value,"onUpdate:modelValue":b,class:`bottom-env-selector`},null,8,[`model-value`])])):A(``,!0),j(d)?(r(),h(`button`,{key:2,class:`bottom-bar__section cloud-btn cloud-avatar-btn`,title:j(l)(`bottomBar.cloudAccount`),onClick:g},[f.value&&!p.value?(r(),h(`img`,{key:0,src:f.value,alt:j(d).name,class:`cloud-avatar`,onError:t[0]||=e=>p.value=!0},null,40,An)):(r(),h(`span`,jn,C(m.value),1))],8,kn)):(r(),h(`button`,{key:1,class:`bottom-bar__section cloud-btn cloud-login`,onClick:g},[t[2]||=D(`i`,{class:`pi pi-cloud icon`},null,-1),D(`span`,null,C(j(l)(`bottomBar.cloudLogin`)),1)]))])])]))}}),[[`__scopeId`,`data-v-4410a9ef`]]),Nn={class:`app-layout__body`},Pn=`runeya.serviceSidebar.widthPx`,Fn=160,In=600,Ln=220,Rn=`(max-width: 480px)`,zn=W(N({__name:`AppLayout`,setup(e){let n=i(),a=_(),o=k(),l=m(),u=F(),d=s(),f=t(),p=R(),v=U();ie();let b=I(!1);function x(){let e=Number(localStorage.getItem(Pn));return Number.isFinite(e)&&e>=Fn&&e<=In?e:Ln}let S=I(x()),C=I(!1),w=0,T=0;function E(e){let t=e.clientX-w;S.value=Math.min(In,Math.max(Fn,T+t))}function O(){C.value=!1,document.removeEventListener(`mousemove`,E),document.removeEventListener(`mouseup`,O),document.body.style.userSelect=``,document.body.style.cursor=``;try{localStorage.setItem(Pn,String(S.value))}catch{}}function j(e){C.value=!0,w=e.clientX,T=S.value,document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`,document.addEventListener(`mousemove`,E),document.addEventListener(`mouseup`,O)}let M=I(window.matchMedia(Rn).matches),N=window.matchMedia(Rn);function P(e){M.value=e.matches,e.matches?b.value=!0:b.value=!1}N.addEventListener(`change`,P),M.value&&(b.value=!0);let L=c(()=>a.name===`service-detail`?a.params.id:null),z=c(()=>{if(a.name===`service-detail`){let e=a.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`||e===`wiki`?e:`terminal`}return a.path===`/wiki`?`wiki-global`:a.name===`environments`||a.name===`environment-edit`?`environments`:a.path===`/settings`?`settings`:a.path.startsWith(`/ai-chat`)||a.path.startsWith(`/scenario`)?`ai-chat`:a.path.startsWith(`/kanban`)?`kanban`:a.path===`/agent-terminal`?`agent-terminal`:a.name===`cloud-messaging`?`cloud-messaging`:`dashboard`}),ee=c(()=>L.value?l.getById(L.value):null),B=c(()=>L.value?u.getByService(L.value):[]),V=c(()=>f.activeProjectId);function H(e){e===`dashboard`?n.push(`/`):e===`environments`?V.value&&n.push({name:`environments`,params:{projectId:V.value}}):e===`ai-chat`?n.push(`/ai-chat`):e===`kanban`?n.push(`/kanban`):e===`agent-terminal`?n.push(`/agent-terminal`):e===`settings`?n.push(`/settings`):e===`wiki-global`?n.push(`/wiki`):e===`cloud-messaging`?n.push({name:`cloud-messaging`}):L.value&&n.push(`/services/${L.value}/${e}`)}function te(e){let t=z.value,r=t===`terminal`||t===`metrics`||t===`config`||t===`git`||t===`wiki`?t:`terminal`;n.push(`/services/${e}/${r}`)}function W(){n.push(`/services/new`)}return Z(V,async e=>{if(!e&&a.name&&![`projects`,`agents`,`settings`,`audit`,`api-keys`,`ai-chat`,`kanban-list`,`kanban-board`,`agent-terminal`,`wiki-global`].includes(a.name)&&n.push({name:`projects`}),e){try{await p.fetchAll(e,!0)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}v.fetchPreferences()}}),X(()=>{N.removeEventListener(`change`,P),document.removeEventListener(`mousemove`,E),document.removeEventListener(`mouseup`,O)}),g(async()=>{if(await Promise.all([o.fetchAll(),l.fetchAll(),u.fetchAll(),d.fetchAll()]),V.value)try{await p.fetchAll(V.value)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}v.fetchAvailable(),V.value&&v.fetchPreferences(),d.subscribeStatus(),!V.value&&a.name!==`projects`&&a.name!==`agents`&&a.name!==`settings`&&a.name!==`audit`&&a.name!==`api-keys`&&a.name!==`ai-chat`&&a.name!==`kanban-list`&&a.name!==`kanban-board`&&a.name!==`agent-terminal`&&a.name!==`wiki-global`&&n.push({name:`projects`})}),(e,t)=>(r(),h(`div`,{class:J([`app-layout`,{"app-layout--portrait":M.value}])},[D(`div`,Nn,[Y(Vt,{"active-tab":z.value,portrait:M.value,onTabChange:H,onToggleServiceSidebar:t[0]||=e=>b.value=!b.value},null,8,[`active-tab`,`portrait`]),Y(je,{"selected-service-id":L.value,collapsed:b.value,"active-project-id":V.value,portrait:M.value,width:S.value,resizing:C.value,onSelectService:te,onAddService:W,onToggleCollapse:t[1]||=e=>b.value=!b.value},null,8,[`selected-service-id`,`collapsed`,`active-project-id`,`portrait`,`width`,`resizing`]),!M.value&&!b.value?(r(),h(`div`,{key:0,class:J([`app-layout__resizer`,{"app-layout__resizer--active":C.value}]),onMousedown:y(j,[`prevent`])},null,34)):A(``,!0),M.value&&b.value?(r(),h(`div`,{key:1,class:`app-layout__sidebar-edge-trigger`,onClick:t[2]||=e=>b.value=!1},[...t[3]||=[D(`i`,{class:`pi pi-chevron-right`},null,-1)]])):A(``,!0),Y(bn,{"selected-service":ee.value,"selected-service-id":L.value,"selected-service-processes":B.value,"active-tab":z.value,onTabChange:H},null,8,[`selected-service`,`selected-service-id`,`selected-service-processes`,`active-tab`])]),Y(Mn)],2))}}),[[`__scopeId`,`data-v-a9f302ab`]]);export{zn as default};
@@ -1 +0,0 @@
1
- import{$ as e,Ei as t,Gr as n,Jr as r,Oi as i,Qr as a,Ui as o,Vt as s,Xi as c,Xr as l,Yr as u,Zr as d,_a as f,ai as ee,ca as p,ln as m,n as te,ni as h,p as ne,pn as g,qi as re,r as ie,ri as _,t as ae,zi as oe}from"./index-CcDpHMIW.js";import{t as se}from"./cloud-session-B1oqwDJc.js";import{t as v}from"./message-Bh-eAVAb.js";var ce={class:`cloud-account`},le={class:`cloud-card`},ue={class:`cloud-card__head`},de={class:`cloud-card__headtext`},fe={class:`cloud-card__subtitle`},pe={key:0,class:`panel`},me={class:`signup`},he=[`href`],ge={key:1,class:`panel`},_e={class:`profile`},ve=[`src`,`alt`],ye={key:1,class:`avatar`},y={class:`profile__info`},b={class:`profile__name`},x={class:`profile__email`},S={class:`orgs`},C={class:`orgs__head`},w={key:0,class:`orgs__empty`},T={key:1,class:`orgs__empty`},E=[`href`],D={key:2,class:`orgs__list`},O={class:`org__info`},k={class:`org__name`},A={class:`org__state`},j={class:`orgs`},M={class:`orgs__head`},N={key:0,class:`orgs__empty`},P={key:1,class:`orgs__empty`},be={key:2,class:`orgs__list`},xe={class:`org__info`},Se={class:`org__name`},Ce={key:0,class:`badge`},we={class:`org__state`},Te={class:`org-note`},F=[`href`],I=m(ee({__name:`CloudAccountPage`,setup(ee){let{user:m,signIn:I,signOut:Ee}=se(),De=r(()=>ie()),L=r(()=>te()),R=r(()=>m.value?.image??``),z=p(!1),Oe=r(()=>(m.value?.name||m.value?.email||`?`).trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)||`?`),B=p(!1),V=p(``);async function ke(){B.value=!0,V.value=``;try{await I()}catch{V.value=`Impossible de joindre Runeya Cloud. Vérifiez la configuration du serveur local.`,B.value=!1}}async function Ae(){await Ee()}let H=p([]),U=p(!1),W=p(``),G=p(``),K=p([]),je=r(()=>new Set(K.value.map(e=>e.orgId)));function Me(e){let t=K.value.find(t=>t.orgId===e);if(!t)return`Non synchronisée`;switch(t.state){case`live`:return`Synchronisée`;case`connecting`:return`Connexion…`;case`unauthenticated`:return`Reconnexion au cloud requise`;case`outdated`:return t.lastIncompatibleVersion?`Mise à jour requise (plus récent que Runeya ${t.lastIncompatibleVersion})`:`Mise à jour de Runeya requise`;default:return`Arrêtée`}}async function q(){U.value=!0,W.value=``;try{let[e,t]=await Promise.all([ne.organization.list(),s.cloudSync.list.query()]);if(e.error){W.value=`Impossible de récupérer vos organisations.`;return}H.value=e.data??[],K.value=t}catch(t){W.value=e(t)}finally{U.value=!1}}async function Ne(t){G.value=t.id,W.value=``;try{await s.cloudSync.link.mutate({orgId:t.id,cloudUrl:ae()}),await q()}catch(t){W.value=e(t)}finally{G.value=``}}async function Pe(t){G.value=t.id,W.value=``;try{await s.cloudSync.unlink.mutate({orgId:t.id}),await q()}catch(t){W.value=e(t)}finally{G.value=``}}let J=p([]),Y=p(!1),X=p(``),Z=p(``),Q=new Intl.RelativeTimeFormat(`fr`,{numeric:`auto`});function Fe(e){let t=new Date(e.lastSeenAt).getTime(),n=``;if(Number.isFinite(t)){let e=Math.round((t-Date.now())/6e4);n=Math.abs(e)<60?Q.format(e,`minute`):Math.abs(e)<1440?Q.format(Math.round(e/60),`hour`):Q.format(Math.round(e/1440),`day`)}return[e.kind===`device`?`Machine`:`Navigateur`,n&&`vu ${n}`,e.ipAddress].filter(Boolean).join(` · `)}async function $(){Y.value=!0,X.value=``;try{J.value=(await s.cloudAuth.devices.query()).devices}catch(t){X.value=e(t)}finally{Y.value=!1}}async function Ie(t){Z.value=t.id,X.value=``;try{let{self:e}=await s.cloudAuth.revokeDevice.mutate({id:t.id});if(e){m.value=null,J.value=[];return}await $()}catch(t){X.value=e(t)}finally{Z.value=``}}return oe(m,e=>{e&&(q(),$())},{immediate:!0}),(e,r)=>(t(),a(`div`,ce,[u(`div`,le,[u(`div`,ue,[r[2]||=u(`div`,{class:`cloud-card__badge`},[u(`i`,{class:`pi pi-cloud`})],-1),u(`div`,de,[r[1]||=u(`h1`,{class:`cloud-card__title`},`Runeya Cloud`,-1),u(`p`,fe,c(f(m)?`Votre compte`:`Connectez-vous pour synchroniser et collaborer`),1)])]),f(m)?(t(),a(`div`,ge,[u(`div`,_e,[R.value&&!z.value?(t(),a(`img`,{key:0,src:R.value,alt:f(m).name,class:`avatar avatar--img`,onError:r[0]||=e=>z.value=!0},null,40,ve)):(t(),a(`div`,ye,c(Oe.value),1)),u(`div`,y,[u(`strong`,b,c(f(m).name),1),u(`span`,x,c(f(m).email),1)]),_(f(g),{label:`Se déconnecter`,icon:`pi pi-sign-out`,severity:`secondary`,outlined:``,size:`small`,onClick:Ae})]),u(`div`,S,[u(`div`,C,[r[5]||=u(`h2`,{class:`orgs__title`},`Organisations`,-1),_(f(g),{icon:`pi pi-refresh`,severity:`secondary`,text:``,rounded:``,size:`small`,loading:U.value,"aria-label":`Rafraîchir`,onClick:q},null,8,[`loading`])]),U.value&&!H.value.length?(t(),a(`p`,w,`Chargement…`)):H.value.length?(t(),a(`ul`,D,[(t(!0),a(n,null,i(H.value,e=>(t(),a(`li`,{key:e.id,class:`org`},[u(`div`,O,[u(`strong`,k,c(e.name),1),u(`span`,A,c(Me(e.id)),1)]),je.value.has(e.id)?(t(),l(f(g),{key:1,label:`Délier`,icon:`pi pi-times`,severity:`secondary`,size:`small`,text:``,loading:G.value===e.id,onClick:t=>Pe(e)},null,8,[`loading`,`onClick`])):(t(),l(f(g),{key:0,label:`Récupérer`,icon:`pi pi-cloud-download`,size:`small`,outlined:``,loading:G.value===e.id,onClick:t=>Ne(e)},null,8,[`loading`,`onClick`]))]))),128))])):(t(),a(`p`,T,[r[6]||=h(` Aucune organisation. Créez-en une sur `,-1),u(`a`,{href:L.value,target:`_blank`,rel:`noopener`,class:`link link--strong`},`Runeya Cloud`,8,E),r[7]||=h(`. `,-1)])),W.value?(t(),l(f(v),{key:3,severity:`error`,closable:!1},{default:o(()=>[h(c(W.value),1)]),_:1})):d(``,!0)]),u(`div`,j,[u(`div`,M,[r[8]||=u(`h2`,{class:`orgs__title`},`Sessions actives`,-1),_(f(g),{icon:`pi pi-refresh`,severity:`secondary`,text:``,rounded:``,size:`small`,loading:Y.value,"aria-label":`Rafraîchir`,onClick:$},null,8,[`loading`])]),Y.value&&!J.value.length?(t(),a(`p`,N,`Chargement…`)):J.value.length?(t(),a(`ul`,be,[(t(!0),a(n,null,i(J.value,e=>(t(),a(`li`,{key:e.id,class:`org`},[u(`div`,xe,[u(`strong`,Se,[u(`i`,{class:re(e.kind===`device`?`pi pi-desktop`:`pi pi-globe`)},null,2),h(` `+c(e.name)+` `,1),e.current?(t(),a(`span`,Ce,`cette machine`)):d(``,!0)]),u(`span`,we,c(Fe(e)),1)]),_(f(g),{label:e.current?`Délier`:`Révoquer`,icon:`pi pi-times`,severity:`danger`,size:`small`,text:``,loading:Z.value===e.id,onClick:t=>Ie(e)},null,8,[`label`,`loading`,`onClick`])]))),128))])):(t(),a(`p`,P,`Aucune session active.`)),X.value?(t(),l(f(v),{key:3,severity:`error`,closable:!1},{default:o(()=>[h(c(X.value),1)]),_:1})):d(``,!0)]),u(`div`,Te,[r[11]||=u(`i`,{class:`pi pi-info-circle`},null,-1),u(`span`,null,[r[9]||=h(` La gestion des organisations se fait sur `,-1),u(`a`,{href:L.value,target:`_blank`,rel:`noopener`,class:`link link--strong`},`Runeya Cloud`,8,F),r[10]||=h(`. `,-1)])])])):(t(),a(`div`,pe,[r[4]||=u(`p`,{class:`signin-note`},` La connexion se fait sur Runeya Cloud. Vous serez redirigé pour autoriser cette application locale, puis ramené ici. `,-1),_(f(g),{loading:B.value,label:`Se connecter avec Runeya Cloud`,icon:`pi pi-external-link`,class:`submit-btn`,onClick:ke},null,8,[`loading`]),V.value?(t(),l(f(v),{key:0,severity:`error`,closable:!1},{default:o(()=>[h(c(V.value),1)]),_:1})):d(``,!0),u(`div`,me,[r[3]||=u(`span`,null,`Pas encore de compte ?`,-1),u(`a`,{href:De.value,target:`_blank`,rel:`noopener`,class:`link link--strong`},`Créez-en un sur Runeya Cloud`,8,he)])]))])]))}}),[[`__scopeId`,`data-v-60ed64ed`]]);export{I as t};
@@ -1 +0,0 @@
1
- .cloud-account[data-v-60ed64ed]{max-width:460px;margin:0 auto;padding:1.5rem 1rem}.badge[data-v-60ed64ed]{text-transform:uppercase;letter-spacing:.03em;color:var(--p-primary-color);background:color-mix(in srgb, var(--p-primary-color) 12%, transparent);border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.65rem;font-weight:600}.cloud-card[data-v-60ed64ed]{border:1px solid var(--p-content-border-color);background:var(--p-content-background);border-radius:16px;padding:1.75rem;position:relative;overflow:hidden;box-shadow:0 8px 30px #0000000f}.cloud-card[data-v-60ed64ed]:before{content:"";background:linear-gradient(90deg,#ec4899,#a855f7);height:4px;position:absolute;inset:0 0 auto}.cloud-card__head[data-v-60ed64ed]{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.cloud-card__badge[data-v-60ed64ed]{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex;box-shadow:0 6px 16px #a855f766}.cloud-card__title[data-v-60ed64ed]{letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:800}.cloud-card__subtitle[data-v-60ed64ed]{color:var(--p-text-muted-color);margin:.15rem 0 0;font-size:.85rem}.panel[data-v-60ed64ed]{flex-direction:column;gap:1rem;display:flex}.signin-note[data-v-60ed64ed]{color:var(--p-text-muted-color);font-size:.9rem;line-height:1.5}.submit-btn[data-v-60ed64ed]{justify-content:center;width:100%;font-weight:600}.link[data-v-60ed64ed]{color:var(--p-primary-color);font-size:.85rem;text-decoration:none}.link[data-v-60ed64ed]:hover{text-decoration:underline}.link--strong[data-v-60ed64ed]{font-weight:600}.signup[data-v-60ed64ed]{color:var(--p-text-muted-color);border-top:1px solid var(--p-content-border-color);flex-wrap:wrap;justify-content:center;gap:.35rem;padding-top:1rem;font-size:.85rem;display:flex}.profile[data-v-60ed64ed]{border:1px solid var(--p-content-border-color);background:var(--p-content-hover-background);border-radius:12px;align-items:center;gap:.85rem;padding:.85rem;display:flex}.avatar[data-v-60ed64ed]{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.avatar--img[data-v-60ed64ed]{object-fit:cover;background:0 0}.profile__info[data-v-60ed64ed]{flex-direction:column;flex:1;min-width:0;display:flex}.profile__name[data-v-60ed64ed]{font-size:.95rem}.profile__email[data-v-60ed64ed]{color:var(--p-text-muted-color);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.orgs[data-v-60ed64ed]{flex-direction:column;gap:.6rem;display:flex}.orgs__head[data-v-60ed64ed]{justify-content:space-between;align-items:center;display:flex}.orgs__title[data-v-60ed64ed]{margin:0;font-size:.95rem;font-weight:600}.orgs__empty[data-v-60ed64ed]{color:var(--p-text-muted-color);margin:0;font-size:.85rem}.orgs__list[data-v-60ed64ed]{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.org[data-v-60ed64ed]{border:1px solid var(--p-content-border-color);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.org__info[data-v-60ed64ed]{flex-direction:column;min-width:0;display:flex}.org__name[data-v-60ed64ed]{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.org__state[data-v-60ed64ed]{color:var(--p-text-muted-color);font-size:.75rem}.org-note[data-v-60ed64ed]{color:var(--p-text-muted-color);background:color-mix(in srgb, var(--p-primary-color) 6%, transparent);border-radius:10px;align-items:flex-start;gap:.5rem;padding:.7rem .85rem;font-size:.85rem;display:flex}.org-note .pi[data-v-60ed64ed]{color:var(--p-primary-color);margin-top:.1rem}[data-v-60ed64ed] .p-password,[data-v-60ed64ed] .p-inputtext,[data-v-60ed64ed] .p-password .p-inputtext{width:100%}
@@ -1 +0,0 @@
1
- import"./cloud-session-B1oqwDJc.js";import{t as e}from"./CloudAccountPage-BqnCKZxn.js";export{e as default};
@@ -1 +0,0 @@
1
- .launch-page[data-v-5f9ff9c5]{background:var(--p-surface-ground);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.launch-container[data-v-5f9ff9c5]{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:640px;display:flex}.launch-branding[data-v-5f9ff9c5]{text-align:center;margin-bottom:1rem}.launch-title[data-v-5f9ff9c5]{color:var(--p-primary-color);margin:0;font-size:2.5rem;font-weight:800}.launch-subtitle[data-v-5f9ff9c5]{color:var(--p-text-muted-color);margin:.25rem 0 0;font-size:1.1rem}.launch-heading[data-v-5f9ff9c5]{margin:0;font-size:1.25rem;font-weight:600}.launch-loading[data-v-5f9ff9c5]{padding:2rem 0}.empty-message[data-v-5f9ff9c5]{color:var(--p-text-muted-color);margin:0;font-style:italic}.project-list[data-v-5f9ff9c5]{flex-direction:column;gap:.75rem;width:100%;display:flex}.project-card[data-v-5f9ff9c5]{cursor:pointer;border:2px solid #0000;transition:border-color .2s}.project-card.selected[data-v-5f9ff9c5]{border-color:var(--p-primary-color)}.project-card[data-v-5f9ff9c5]:hover{border-color:var(--p-primary-200)}.project-card.selected[data-v-5f9ff9c5]:hover{border-color:var(--p-primary-color)}.project-description[data-v-5f9ff9c5]{color:var(--p-text-muted-color);margin:0 0 .5rem;font-size:.9rem}.project-service-count[data-v-5f9ff9c5]{color:var(--p-text-muted-color);font-size:.85rem}.launch-action[data-v-5f9ff9c5]{width:100%}
@@ -1 +0,0 @@
1
- import{At as e,Ei as t,En as n,Fn as r,Gr as i,Oi as a,Qr as o,R as s,Si as c,Ui as l,Xi as u,Xr as d,Yr as f,Z as p,_a as m,ai as h,ca as g,ln as _,ni as v,pn as y,qi as b,ri as x}from"./index-CcDpHMIW.js";import{t as S}from"./card-DGaeJPst.js";import{t as C}from"./VersionBadge-Bcr43sQb.js";var w={class:`launch-page`,"data-testid":`page-content`},T={class:`launch-container`},E={class:`launch-branding`},D={class:`launch-subtitle`},O={class:`launch-heading`},k={key:0,class:`launch-loading`},A={class:`empty-message`},j={class:`project-list`},M={class:`project-description`},N={class:`project-service-count`},P=_(h({__name:`LaunchProjectPage`,setup(h){let _=n(),P=p(),F=e(),{t:I}=r(),L=g(null),R=g(!0);c(async()=>{await P.fetchAll(),R.value=!1;let e=P.projects;if(e.length===1){F.setActiveProject(e[0].id),_.replace(`/launch/services`);return}let t=F.getLastProjectId();t&&e.some(e=>e.id===t)&&(L.value=t)});function z(e){L.value=e}function B(){L.value&&(F.setActiveProject(L.value),_.push(`/launch/services`))}function V(){F.completeLaunch(),_.push(`/`)}return(e,n)=>(t(),o(`div`,w,[f(`div`,T,[f(`div`,E,[n[0]||=f(`h1`,{class:`launch-title`},`Runeya`,-1),f(`p`,D,u(m(I)(`launchProject.subtitle`)),1)]),f(`h2`,O,u(m(I)(`launchProject.selectProject`)),1),R.value?(t(),o(`div`,k,[x(m(s),{style:{width:`48px`,height:`48px`}})])):m(P).projects.length===0?(t(),o(i,{key:1},[f(`p`,A,u(m(I)(`launchProject.noProjects`)),1),x(m(y),{label:m(I)(`launchProject.goToDashboard`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:V},null,8,[`label`])],64)):(t(),o(i,{key:2},[f(`div`,j,[(t(!0),o(i,null,a(m(P).projects,e=>(t(),d(m(S),{key:e.id,class:b([`project-card`,{selected:L.value===e.id}]),onClick:t=>z(e.id)},{title:l(()=>[v(u(e.name),1)]),content:l(()=>[f(`p`,M,u(e.description||m(I)(`launchProject.noDescription`)),1),f(`span`,N,u(m(I)(`launchProject.serviceCount`,e.serviceIds.length)),1)]),_:2},1032,[`class`,`onClick`]))),128))]),x(m(y),{label:m(I)(`launchProject.continue`),icon:`pi pi-arrow-right`,"icon-pos":`right`,disabled:!L.value,class:`launch-action`,onClick:B},null,8,[`label`,`disabled`])],64))]),x(C)]))}}),[[`__scopeId`,`data-v-5f9ff9c5`]]);export{P as default};
@@ -1 +0,0 @@
1
- .project-detail-page[data-v-5cd746e7]{min-width:0;max-width:1100px;margin:0 auto}[data-v-5cd746e7] .services-table{font-size:.875rem}[data-v-5cd746e7] .services-table .p-datatable-table-container{overflow-x:auto}.loading-container[data-v-5cd746e7],.error-container[data-v-5cd746e7]{color:var(--p-text-muted-color);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 0;display:flex}.page-header[data-v-5cd746e7]{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.page-title[data-v-5cd746e7]{flex:1;margin:0;font-size:1.5rem;font-weight:700}.env-selector-bar[data-v-5cd746e7]{justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.info-card[data-v-5cd746e7]{margin-bottom:2rem}.info-grid[data-v-5cd746e7]{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.info-field[data-v-5cd746e7]{flex-direction:column;gap:.25rem;display:flex}.info-label[data-v-5cd746e7]{color:var(--p-text-muted-color);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.info-value[data-v-5cd746e7]{font-size:.95rem}.info-value.clickable[data-v-5cd746e7]{cursor:pointer;align-items:center;gap:.4rem;display:flex}.info-value.clickable:hover .edit-icon[data-v-5cd746e7]{opacity:1}.edit-icon[data-v-5cd746e7]{opacity:0;color:var(--p-primary-color);font-size:.75rem;transition:opacity .15s}.inline-edit[data-v-5cd746e7]{align-items:center;gap:.3rem;display:flex}.edit-input[data-v-5cd746e7]{flex:1}.section[data-v-5cd746e7]{margin-bottom:2rem}.section-header[data-v-5cd746e7]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2[data-v-5cd746e7]{margin:0;font-size:1.2rem;font-weight:600}.section-actions[data-v-5cd746e7]{gap:.5rem;display:flex}.service-name[data-v-5cd746e7]{font-weight:500}.command-text[data-v-5cd746e7]{background:var(--p-content-hover-background);border-radius:4px;padding:.15rem .4rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem}.table-actions[data-v-5cd746e7]{gap:.15rem;display:flex}.text-muted[data-v-5cd746e7]{color:var(--p-text-muted-color)}.empty-section[data-v-5cd746e7]{text-align:center;color:var(--p-text-muted-color);border:1px dashed var(--p-content-border-color);border-radius:8px;padding:2rem}.form-group[data-v-5cd746e7]{margin-bottom:1rem}.form-group label[data-v-5cd746e7]{margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.hint-text[data-v-5cd746e7]{color:var(--p-text-muted-color);font-style:italic}.w-full[data-v-5cd746e7]{width:100%}
@@ -1 +0,0 @@
1
- import{$ as e,$t as t,An as n,At as r,Cn as ee,Ei as i,En as te,Fn as ne,Gr as a,Hr as o,J as re,Jr as s,Q as ie,Qr as c,R as ae,Si as oe,Tn as se,Ui as l,Vt as u,Wi as d,Xi as f,Xr as p,Xt as m,Yr as h,Z as ce,Zr as g,_a as _,ai as le,an as v,c as ue,ca as y,dn as b,en as de,et as fe,in as x,ji as pe,jn as me,ln as S,ni as C,p as w,pn as T,ri as E,t as he,x as ge,zi as _e}from"./index-CcDpHMIW.js";import{t as ve}from"./cloud-session-B1oqwDJc.js";import{t as ye}from"./message-Bh-eAVAb.js";import{t as be}from"./auth-errors-BJV46AcQ.js";import{t as xe}from"./EnvironmentSelector-BXe42bF9.js";import{n as Se,t as D}from"./column-sUzyGFk3.js";import{t as Ce}from"./card-DGaeJPst.js";var we={class:`project-detail-page`},Te={key:0,class:`loading-container`},Ee={key:1,class:`error-container`},De={class:`page-header`},Oe={class:`page-title`},ke={class:`env-selector-bar`,"data-testid":`env-selector`},Ae={class:`info-grid`},je={class:`info-field`},Me={class:`info-label`},Ne={key:0,class:`inline-edit`},Pe={class:`info-field`},Fe={class:`info-label`},Ie={key:0,class:`inline-edit`},Le={class:`section`},Re={class:`section-header`},ze={class:`section-actions`},Be={key:1,class:`text-muted`},Ve={class:`table-actions`},He={key:1,class:`empty-section`},Ue={class:`form-group`},We={for:`projdetail-select-service`},Ge={key:0,class:`cloud-dialog`},Ke={key:1,class:`cloud-dialog`},qe={key:0,class:`cloud-empty`},Je={key:1,class:`field`},Ye={for:`cloud-org-select`},O=S(le({__name:`ProjectDetailPage`,props:{projectId:{}},setup(le){let S=le,{t:O}=ne(),k=te();se();let A=me(),j=n(),Xe=ce(),M=ie(),Ze=re(),N=ue(),Qe=r(),$e=fe(),P=y(null),F=y(!0),I=y(!1),{user:L}=ve(),R=ge(w,be()),z=y(!1),B=y(null),V=y(!1),H=y(null);function et(){H.value=null,B.value=P.value?.orgId??null,z.value=!0,L.value&&R.refresh()}async function tt(){if(!(!P.value||!B.value)){V.value=!0,H.value=null;try{let e=await u.project.export.query({id:P.value.id});if((await w.$fetch(`/project/push`,{method:`POST`,body:{organizationId:B.value,projectId:P.value.id,name:P.value.name,snapshot:e}})).error)throw Error(O(`projectDetail.cloud.pushFailed`));P.value=await u.project.update.mutate({id:P.value.id,orgId:B.value}),await u.cloudSync.link.mutate({orgId:B.value,cloudUrl:he()}),A.add({severity:`success`,summary:O(`projectDetail.cloud.storedToast`),life:3e3}),z.value=!1}catch(t){H.value=e(t)}finally{V.value=!1}}}let U=y(!1),W=y(!1),G=y(``),K=y(``),q=y({}),J=y(``),Y=y(!1),X=y(``),Z=y(!1),Q=s(()=>P.value?P.value.serviceIds.map(e=>M.services.find(t=>t.id===e)).filter(e=>!!e):[]),nt=s(()=>{let e=J.value.trim().toLowerCase();return e?Q.value.filter(t=>t.name.toLowerCase().includes(e)||t.runner?.toLowerCase().includes(e)||t.command?.toLowerCase().includes(e)):Q.value}),rt=s(()=>P.value?.activeEnvironmentId??null),it=s(()=>{if(!P.value)return[];let e=new Set(P.value.serviceIds);return M.services.filter(t=>!e.has(t.id))});function $(e){let t=N.getByService(e);return t.length>0?t[0]:null}function at(e){return e===`stopped`||e===`errored`}function ot(e){return e===`running`||e===`starting`}function st(e){return e===`running`}async function ct(t){q.value={...q.value,[t.id]:`start`};try{await N.start(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.startFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function lt(t){q.value={...q.value,[t.id]:`stop`};try{await N.stop(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.stopFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function ut(t){q.value={...q.value,[t.id]:`restart`};try{await N.restart(t.agentId,t.id)}catch(t){A.add({severity:`error`,summary:O(`projectDetail.restartFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=q.value;q.value=n}}async function dt(){F.value=!0;try{P.value=await u.project.get.query({id:S.projectId}),Qe.setActiveProject(S.projectId),await $e.fetchAll(S.projectId)}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t)??O(`projectDetail.failedToLoad`),life:5e3}),P.value=null}finally{F.value=!1}}function ft(){G.value=P.value?.name??``,U.value=!0}function pt(){K.value=P.value?.description??``,W.value=!0}async function mt(){if(!(!P.value||!G.value.trim())){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,name:G.value.trim()}),U.value=!1,A.add({severity:`success`,summary:O(`projectDetail.nameUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function ht(){if(P.value){I.value=!0;try{P.value=await u.project.update.mutate({id:P.value.id,description:K.value.trim()}),W.value=!1,A.add({severity:`success`,summary:O(`projectDetail.descriptionUpdated`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{I.value=!1}}}async function gt(e){P.value&&(Q.value.filter(e=>!!e.id).length>0?j.require({message:O(`projectDetail.switchEnvMsg`),header:O(`projectDetail.switchEnvTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.switchEnvCancel`),acceptLabel:O(`projectDetail.switchEnvConfirm`),accept:()=>_t(e)}):await _t(e))}async function _t(t){if(P.value){I.value=!0;try{let e=await Xe.setActiveEnvironment(P.value.id,t);e&&(P.value=e),A.add({severity:`success`,summary:O(`projectDetail.envSwitched`),detail:O(`projectDetail.envSwitchedDesc`),life:3e3})}catch(t){console.error(`Failed to switch environment:`,t),A.add({severity:`error`,summary:`Error`,detail:e(t)??`Failed to switch environment`,life:5e3})}finally{I.value=!1}}}async function vt(){if(!(!P.value||!X.value)){Z.value=!0;try{P.value=await u.project.addService.mutate({projectId:P.value.id,serviceId:X.value}),Y.value=!1,X.value=``,A.add({severity:`success`,summary:O(`projectDetail.serviceAdded`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{Z.value=!1}}}function yt(e,t){j.require({message:`Remove "${t}" from this project?`,header:O(`projectDetail.removeServiceTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:O(`projectDetail.removeServiceCancel`),acceptLabel:O(`projectDetail.removeServiceConfirm`),acceptClass:`p-button-danger`,accept:()=>bt(e)})}async function bt(t){if(P.value)try{P.value=await u.project.removeService.mutate({projectId:P.value.id,serviceId:t}),A.add({severity:`success`,summary:O(`projectDetail.serviceRemoved`),life:2e3})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}function xt(){P.value&&j.require({message:`Are you sure you want to delete "${P.value.name}"? This action cannot be undone.`,header:O(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,rejectLabel:O(`projectDetail.deleteProjectCancel`),acceptLabel:O(`projectDetail.deleteProjectConfirm`),acceptClass:`p-button-danger`,accept:St})}async function St(){if(P.value)try{await u.project.delete.mutate({id:P.value.id}),A.add({severity:`success`,summary:O(`projectDetail.projectDeleted`),life:2e3}),await Xe.fetchAll(),k.push({name:`projects`})}catch(t){A.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}return oe(async()=>{await Promise.all([dt(),M.fetchAll(),Ze.fetchAll(),N.fetchAll()])}),_e(()=>S.projectId,()=>{dt()}),(e,n)=>{let r=pe(`tooltip`);return i(),c(`div`,we,[F.value?(i(),c(`div`,Te,[E(_(ae))])):P.value?(i(),c(a,{key:2},[h(`div`,De,[E(_(T),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:n[1]||=e=>_(k).push({name:`projects`})}),h(`h1`,Oe,f(_(O)(`projectDetail.title`)),1),P.value.orgId?(i(),p(_(x),{key:0,severity:`info`,icon:`pi pi-cloud`,value:_(O)(`projectDetail.cloud.stored`)},null,8,[`value`])):g(``,!0),E(_(T),{label:_(O)(`projectDetail.cloud.action`),icon:`pi pi-cloud-upload`,severity:`secondary`,outlined:``,onClick:et},null,8,[`label`]),E(_(T),{label:_(O)(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,severity:`danger`,text:``,onClick:xt},null,8,[`label`])]),h(`div`,ke,[E(xe,{"model-value":rt.value,"onUpdate:modelValue":gt},null,8,[`model-value`]),E(_(T),{label:_(O)(`projectDetail.manageEnvironments`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,onClick:n[2]||=e=>_(k).push({name:`environments`,params:{projectId:P.value.id}})},null,8,[`label`])]),E(_(Ce),{class:`info-card`},{content:l(()=>[h(`div`,Ae,[h(`div`,je,[h(`span`,Me,f(_(O)(`common.name`)),1),U.value?(i(),c(`div`,Ne,[E(_(v),{modelValue:G.value,"onUpdate:modelValue":n[3]||=e=>G.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(mt,[`enter`]),n[4]||=o(e=>U.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:mt},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[5]||=e=>U.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:ft},[C(f(P.value.name)+` `,1),n[20]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))]),h(`div`,Pe,[h(`span`,Fe,f(_(O)(`common.description`)),1),W.value?(i(),c(`div`,Ie,[E(_(v),{modelValue:K.value,"onUpdate:modelValue":n[6]||=e=>K.value=e,autofocus:``,class:`edit-input`,onKeyup:[o(ht,[`enter`]),n[7]||=o(e=>W.value=!1,[`escape`])]},null,8,[`modelValue`]),E(_(T),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:I.value,onClick:ht},null,8,[`loading`]),E(_(T),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[8]||=e=>W.value=!1})])):(i(),c(`div`,{key:1,class:`info-value clickable`,onClick:pt},[C(f(P.value.description||_(O)(`projectDetail.noDescription`))+` `,1),n[21]||=h(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))])])]),_:1}),h(`div`,Le,[h(`div`,Re,[h(`h2`,null,f(_(O)(`projectDetail.services`)),1),h(`div`,ze,[E(_(de),null,{default:l(()=>[E(_(t),{class:`pi pi-search`}),E(_(v),{modelValue:J.value,"onUpdate:modelValue":n[9]||=e=>J.value=e,placeholder:_(O)(`projectDetail.searchServices`),size:`small`},null,8,[`modelValue`,`placeholder`])]),_:1}),E(_(T),{label:_(O)(`projectDetail.addExisting`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,disabled:it.value.length===0,onClick:n[10]||=e=>Y.value=!0},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`projectDetail.createNew`),icon:`pi pi-plus-circle`,size:`small`,onClick:n[11]||=e=>_(k).push({name:`service-create`,query:{projectId:P.value.id}})},null,8,[`label`])])]),Q.value.length>0?(i(),p(_(Se),{key:0,value:nt.value,stripedRows:``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20],class:`services-table`},{default:l(()=>[E(_(D),{field:`name`,header:_(O)(`projectDetail.nameColumn`)},{body:l(({data:e})=>[E(_(ee),{to:{name:`service-detail`,params:{id:e.id}},class:`service-name`,"data-testid":`service-row-link`},{default:l(()=>[C(f(e.name),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),E(_(D),{field:`runner`,header:_(O)(`projectDetail.runnerColumn`),style:{width:`80px`}},{body:l(({data:e})=>[E(_(x),{value:e.runner,severity:e.runner===`docker`?`warn`:`info`},null,8,[`value`,`severity`])]),_:1},8,[`header`]),E(_(D),{field:`ports`,header:_(O)(`projectDetail.portsColumn`),style:{width:`100px`}},{body:l(({data:e})=>[C(f(e.ports?.length?e.ports.join(`, `):`-`),1)]),_:1},8,[`header`]),E(_(D),{header:_(O)(`common.status`),style:{width:`70px`}},{body:l(({data:e})=>[$(e.id)?(i(),p(_(x),{key:0,value:$(e.id).state,severity:$(e.id).state===`running`?`success`:$(e.id).state===`errored`?`danger`:`secondary`},null,8,[`value`,`severity`])):(i(),c(`span`,Be,`-`))]),_:1},8,[`header`]),E(_(D),{header:_(O)(`projectDetail.actionsColumn`),style:{width:`130px`}},{body:l(({data:e})=>[h(`div`,Ve,[!$(e.id)||at($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-play`,severity:`success`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`start`,onClick:t=>ct(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.start`),void 0,{top:!0}]]):g(``,!0),$(e.id)&&ot($(e.id).state)?(i(),c(a,{key:1},[d(E(_(T),{icon:`pi pi-stop`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`stop`,onClick:t=>lt(e)},null,8,[`disabled`,`loading`,`onClick`]),[[r,_(O)(`actions.stop`),void 0,{top:!0}]]),st($(e.id).state)?d((i(),p(_(T),{key:0,icon:`pi pi-refresh`,severity:`warn`,text:``,rounded:``,size:`small`,disabled:!!q.value[e.id],loading:q.value[e.id]===`restart`,onClick:t=>ut(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,_(O)(`actions.restart`),void 0,{top:!0}]]):g(``,!0)],64)):g(``,!0),d(E(_(T),{icon:`pi pi-minus-circle`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t=>yt(e.id,e.name)},null,8,[`onClick`]),[[r,_(O)(`projectDetail.removeFromProject`),void 0,{top:!0}]])])]),_:1},8,[`header`])]),_:1},8,[`value`])):(i(),c(`div`,He,[h(`p`,null,f(_(O)(`projectDetail.noServices`)),1)]))]),E(_(b),{visible:Y.value,"onUpdate:visible":n[14]||=e=>Y.value=e,header:_(O)(`projectDetail.addExistingService`),style:{width:`450px`},modal:``,closable:!Z.value},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:Z.value,onClick:n[13]||=e=>Y.value=!1},null,8,[`label`,`disabled`]),E(_(T),{label:_(O)(`actions.add`),icon:`pi pi-plus`,loading:Z.value,disabled:!X.value,onClick:vt},null,8,[`label`,`loading`,`disabled`])]),default:l(()=>[h(`div`,Ue,[h(`label`,We,f(_(O)(`projectDetail.selectService`)),1),E(_(m),{inputId:`projdetail-select-service`,modelValue:X.value,"onUpdate:modelValue":n[12]||=e=>X.value=e,options:it.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.chooseServicePlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`]),E(_(b),{visible:z.value,"onUpdate:visible":n[18]||=e=>z.value=e,header:_(O)(`projectDetail.cloud.title`),modal:``,style:{width:`30rem`}},{footer:l(()=>[E(_(T),{label:_(O)(`actions.cancel`),severity:`secondary`,text:``,disabled:V.value,onClick:n[17]||=e=>z.value=!1},null,8,[`label`,`disabled`]),_(L)?(i(),p(_(T),{key:0,label:_(O)(`projectDetail.cloud.store`),icon:`pi pi-cloud-upload`,loading:V.value,disabled:!B.value,onClick:tt},null,8,[`label`,`loading`,`disabled`])):g(``,!0)]),default:l(()=>[_(L)?(i(),c(`div`,Ke,[h(`p`,null,f(_(O)(`projectDetail.cloud.description`)),1),_(R).organizations.value.length?(i(),c(`div`,Je,[h(`label`,Ye,f(_(O)(`projectDetail.cloud.orgLabel`)),1),E(_(m),{inputId:`cloud-org-select`,modelValue:B.value,"onUpdate:modelValue":n[16]||=e=>B.value=e,options:_(R).organizations.value,optionLabel:`name`,optionValue:`id`,placeholder:_(O)(`projectDetail.cloud.orgPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])):(i(),c(`div`,qe,f(_(O)(`projectDetail.cloud.noOrgs`)),1)),H.value?(i(),p(_(ye),{key:2,severity:`error`,closable:!1},{default:l(()=>[C(f(H.value),1)]),_:1})):g(``,!0)])):(i(),c(`div`,Ge,[h(`p`,null,f(_(O)(`projectDetail.cloud.notConnected`)),1),E(_(T),{label:_(O)(`projectDetail.cloud.goToAccount`),icon:`pi pi-user`,onClick:n[15]||=e=>_(k).push({name:`cloud-account`})},null,8,[`label`])]))]),_:1},8,[`visible`,`header`])],64)):(i(),c(`div`,Ee,[n[19]||=h(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`}},null,-1),h(`p`,null,f(_(O)(`projectDetail.notFound`)),1),E(_(T),{label:_(O)(`projectDetail.backToProjects`),icon:`pi pi-arrow-left`,onClick:n[0]||=e=>_(k).push({name:`projects`})},null,8,[`label`])]))])}}}),[[`__scopeId`,`data-v-5cd746e7`]]);export{O as default};
@@ -1 +0,0 @@
1
- import{Ei as e,Xr as t,ai as n}from"./index-CcDpHMIW.js";import"./src-wVYcxep_.js";import"./w3c-keyname-nn0G3QC2.js";import{t as r}from"./WikiView-bePXeeW1.js";var i=n({__name:`WikiPage`,setup(n){return(n,i)=>(e(),t(r,{scope:`global`}))}});export{i as default};
@@ -1 +0,0 @@
1
- import{Fn as e}from"./index-CcDpHMIW.js";function t(){let{t,te:n}=e();return(e,r)=>e&&n(`authErrors.${e}`)?t(`authErrors.${e}`):e?t(`authErrors.default`):r}export{t};
@@ -1 +0,0 @@
1
- import{n as e,r as t,t as n}from"./interface-content-folder.svg-BisjJGhi.js";export{n as default,e as interface_content_folder_exports,t as render};
@@ -1 +0,0 @@
1
- import"./w3c-keyname-nn0G3QC2.js";import{s as e}from"./add-scalar-classes-BZ33Hgh4.js";import{n as t,t as n}from"./modal-ciXJUOol.js";import"./browser-B4MIWpa7.js";export{n as createApiClientModal};
@@ -1 +0,0 @@
1
- import{c as e}from"./index-CcDpHMIW.js";export{e as useProcessStore};
@@ -1 +0,0 @@
1
- import{o as e}from"./index-CcDpHMIW.js";export{e as router};
@@ -1 +0,0 @@
1
- import{Bt as e,Vt as t,zt as n}from"./index-CcDpHMIW.js";export{t as trpc};
@@ -1 +0,0 @@
1
- import{Ot as e}from"./index-CcDpHMIW.js";export{e as useAiChatDrawer};
@@ -1 +0,0 @@
1
- import{$t as e,An as t,At as n,B as r,Ei as i,En as a,Gr as o,Hr as s,Jr as c,Oi as l,Qr as u,Tn as d,Ui as f,Ur as p,Wi as ee,Xi as m,Xr as h,Xt as te,Yi as g,Yr as _,Yt as ne,Z as v,Zr as y,_a as b,ai as x,an as re,ca as S,dn as ie,en as ae,hi as C,ji as oe,ki as se,ln as w,ni as T,oa as E,p as ce,pn as D,qi as O,ri as k,rn as le,vi as ue,x as A,z as de,zi as j}from"./index-CcDpHMIW.js";import{t as M}from"./cloud-session-B1oqwDJc.js";import{t as N}from"./auth-errors-BJV46AcQ.js";import{t as fe}from"./checkbox-C5uNb3Rm.js";import{t as pe}from"./card-DGaeJPst.js";import{t as me}from"./multiselect-CsE4Xly1.js";import{a as he,i as ge,n as _e,r as ve,t as ye}from"./tabpanel-DOZdp_HS.js";import{t as be}from"./src-wVYcxep_.js";var P={key:0,class:`kb-files__thumb`},xe=[`src`,`alt`],Se={key:1,class:`pi pi-file kb-files__icon`},Ce=[`title`,`onClick`],we=[`title`],Te={class:`kb-files__size`},Ee=[`title`,`onClick`],De=w(x({__name:`AttachmentList`,props:{files:{},preview:{},openable:{type:Boolean,default:!0},removable:{type:Boolean,default:!1},removeLabel:{default:``},compact:{type:Boolean,default:!1}},emits:[`open`,`remove`],setup(e,{emit:t}){let n=t;function r(e){return e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}return(t,a)=>e.files.length?(i(),u(`ul`,{key:0,class:O([`kb-files`,{"kb-files--inline":e.compact}])},[(i(!0),u(o,null,l(e.files,(t,o)=>(i(),u(`li`,{key:t.id,class:`kb-files__item`},[e.preview(t)?(i(),u(`span`,P,[_(`img`,{src:e.preview(t),alt:t.name},null,8,xe)])):(i(),u(`i`,Se)),e.openable?(i(),u(`button`,{key:2,class:`kb-files__name`,title:t.name,onClick:p(e=>n(`open`,t),[`stop`])},m(t.name),9,Ce)):(i(),u(`span`,{key:3,class:`kb-files__name kb-files__name--static`,title:t.name},m(t.name),9,we)),_(`span`,Te,m(r(t.size)),1),e.removable?(i(),u(`button`,{key:4,class:`kb-files__remove`,title:e.removeLabel,onClick:p(e=>n(`remove`,o),[`stop`])},[...a[0]||=[_(`i`,{class:`pi pi-times`},null,-1)]],8,Ee)):y(``,!0)]))),128))],2)):y(``,!0)}}),[[`__scopeId`,`data-v-f30e50ba`]]),Oe={key:0,class:`kb-upload`},F={key:0,class:`kb-upload__list`},ke=[`title`],I={class:`kb-upload__bar`},L={class:`kb-upload__pct`},R={key:1,class:`kb-upload__status`},Ae={key:2,class:`kb-upload__errors`},je=w(x({__name:`UploadProgress`,props:{queue:{},errors:{},uploading:{type:Boolean,default:!1},uploadingLabel:{default:``}},setup(e){return(t,n)=>e.queue.length||e.errors.length||e.uploading&&!e.queue.length?(i(),u(`div`,Oe,[e.queue.length?(i(),u(`ul`,F,[(i(!0),u(o,null,l(e.queue,e=>(i(),u(`li`,{key:e.key},[_(`span`,{class:`kb-upload__name`,title:e.name},m(e.name),9,ke),_(`span`,I,[_(`span`,{class:`kb-upload__bar-fill`,style:g({width:`${Math.round(e.ratio*100)}%`})},null,4)]),_(`span`,L,m(Math.round(e.ratio*100))+`%`,1)]))),128))])):e.uploading?(i(),u(`p`,R,m(e.uploadingLabel),1)):y(``,!0),e.errors.length?(i(),u(`ul`,Ae,[(i(!0),u(o,null,l(e.errors,(e,t)=>(i(),u(`li`,{key:t},m(e.name)+` — `+m(e.reason),1))),128))])):y(``,!0)])):y(``,!0)}}),[[`__scopeId`,`data-v-06e54521`]]),Me={class:`kb-header`},Ne={class:`kb-header__search`},Pe={key:0,class:`kb-header__readonly`},Fe={key:1,class:`kb-header__saving`},Ie={class:`kb-board`},Le=[`data-col-id`,`draggable`,`onDragstart`,`onDragover`,`onDragleave`,`onDrop`,`onTouchstart`],Re=[`title`,`onClick`],ze={class:`kb-col__count`},Be={key:0,class:`pi pi-bell kb-col__bell--on`},Ve={key:1,class:`kb-col__header`},He=[`value`,`readonly`,`onBlur`],Ue={class:`kb-col__header-right`},We={class:`kb-col__count`},Ge=[`onClick`],Ke={key:3,class:`kb-col__cards`},qe=[`data-card-id`,`draggable`,`onDragstart`,`onDragover`,`onTouchstart`,`onClick`],Je={class:`kb-card__top`},Ye={class:`kb-card__title`},Xe={class:`kb-card__actions`},Ze=[`onClick`],Qe={key:0,class:`kb-card__assignees`},$e=[`title`],et=[`src`,`onError`],tt={key:1,class:`kb-card__badges`},nt={key:0,class:`pi pi-align-left`},rt={key:1,class:`kb-card__img-badge`},it={key:2,class:`kb-card__img-badge`},at={key:0,class:`kb-col__empty`},ot=[`onClick`],st={class:`kb-subscribe__lead`},ct={class:`kb-subscribe__legend`},lt={class:`kb-subscribe__options`},ut={class:`kb-subscribe__no`},dt={class:`kb-subscribe__legend`},ft={class:`kb-subscribe__options`},pt={class:`kb-subscribe__channels`},mt={class:`kb-tpl-intro`},ht={class:`kb-tpl-list`},gt=[`onClick`],_t={key:0,class:`kb-add-col`},vt={key:0,class:`kb-add-col__form`},yt={class:`kb-add-col__actions`},bt={key:0,class:`kb-dialog`},xt={class:`kb-dialog__main`},St={class:`kb-dialog__edit-content`},Ct={class:`kb-dialog__field`},wt={for:`kanban-card-title`,class:`kb-dialog__label`},Tt={class:`kb-dialog__field`},Et={for:`kanban-card-content`,class:`kb-dialog__label`},Dt={class:`kb-dialog__field`},Ot={for:`kanban-card-images`,class:`kb-dialog__label`},kt={key:0,class:`kb-dialog__images`},At=[`src`],jt=[`onClick`],Mt={key:1,class:`kb-dialog__upload`},Nt={class:`kb-comments`},Pt={key:0,class:`kb-comments__empty`},Ft={key:1,class:`kb-comments__list`},It=[`onClick`],Lt={key:0,class:`pi pi-sparkles`},Rt=[`src`,`onError`],zt={key:3,class:`pi pi-user`},Bt={class:`kb-comments__body`},Vt={class:`kb-comments__meta`},Ht={class:`kb-comments__author`},Ut={class:`kb-comments__time`},Wt={key:0,class:`kb-comments__edited`},Gt={key:1,class:`kb-comments__tools`},Kt=[`title`,`onClick`],qt=[`title`,`onClick`],Jt={class:`kb-comments__actions`},Yt=[`onClick`,`innerHTML`],Xt=[`onClick`],Zt=[`onKeydown`],Qt={class:`kb-comments__actions`},$t=[`title`],en={class:`kb-comments__hint`},tn={class:`kb-history`},nn={key:0,class:`kb-history__empty`},rn={key:1,class:`kb-history__timeline`},an=[`onClick`],on={class:`kb-history__icon`},sn={class:`kb-history__body`},cn={class:`kb-history__label`},ln={key:0,class:`pi pi-external-link`,style:{"font-size":`0.625rem`,"margin-left":`0.25rem`}},un={key:0,class:`kb-history__detail`},dn={class:`kb-history__time`},fn={class:`kb-side`},pn={key:0,class:`kb-side__block`},mn={class:`kb-side__label`},hn=[`title`],gn=[`src`,`onError`],_n={class:`kb-assignee`},vn=[`src`,`onError`],yn={class:`kb-side__hint`},bn={class:`kb-side__block`},xn={class:`kb-side__label`},Sn={class:`kb-side__block kb-side__meta`},Cn={key:0},wn={key:1,class:`kb-side__block`},Tn={class:`kb-side__label`},En={class:`kb-side__convs`},Dn=[`title`,`onClick`],On={class:`kb-side__conv-label`},kn={key:2,class:`kb-side__block`},An={class:`kb-side__label`},jn={class:`kb-side__actions`},Mn={key:3,class:`kb-side__block kb-side__danger`},Nn={class:`kb-dialog__footer`},Pn={key:0,class:`kb-dialog__unsaved`},Fn={key:0,class:`kb-colmenu`},In={class:`kb-colmenu__host`},Ln=55*1024*1024,Rn=5*1024*1024,zn=400,Bn=8,Vn=60,Hn=12,z=w(x({__name:`KanbanBoard`,props:{columns:{},name:{},readOnly:{type:Boolean,default:!1},saving:{type:Boolean,default:!1},t:{},resolveConversationId:{type:Function,default:void 0},currentUserId:{default:void 0},members:{default:()=>[]},avatarUrl:{type:Function,default:void 0},uploadImage:{type:Function,default:void 0},fetchAttachment:{type:Function,default:void 0},columnSubscriptions:{default:void 0},deleteAttachment:{type:Function,default:void 0},templates:{default:()=>[]},loadHistory:{type:Function,default:void 0},histories:{default:void 0},addComment:{type:Function,default:void 0},editComment:{type:Function,default:void 0},removeComment:{type:Function,default:void 0},moveCard:{type:Function,default:void 0}},emits:[`change`,`back`,`open-conversation`,`card-open`,`update-column-subscription`],setup(e,{expose:n,emit:a}){let d=e,v=c(()=>d.loadHistory!==void 0),x=a,ae=t(),w=d.t;function ce(){if(crypto.randomUUID)return crypto.randomUUID();let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function le(e){return JSON.parse(JSON.stringify(e))}let A=S(le(d.columns));j(()=>d.columns,e=>{A.value=le(e),sr()});function M(e){A.value=e,x(`change`,e)}let N=S(``),pe=S(!1),P=S(``),xe=c(()=>[...A.value].sort((e,t)=>e.order-t.order).map(e=>({...e,cards:[...e.cards].sort((e,t)=>e.order-t.order)}))),Se=c(()=>{let e=N.value.trim().toLowerCase();return e?xe.value.map(t=>({...t,cards:t.cards.filter(t=>t.title.toLowerCase().includes(e)||t.markdown&&t.markdown.toLowerCase().includes(e))})):xe.value});function Ce(e){return A.value.find(t=>t.id===e)?.title??``}function we(e,t,n){e.history=[...e.history??[],{type:t,timestamp:new Date().toISOString(),detail:n}]}function Te(){d.readOnly||!P.value.trim()||(M([...A.value,{id:ce(),title:P.value.trim(),order:A.value.length,cards:[]}]),P.value=``,pe.value=!1)}function Ee(e){if(d.readOnly)return;let t=A.value.find(t=>t.id===e);ae.require({message:w(`column.confirmDeleteMessage`,{title:t?.title??``,count:t?.cards.length??0}),header:w(`column.confirmDeleteHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>M(A.value.filter(t=>t.id!==e))})}function Oe(e,t){d.readOnly||!t.trim()||M(A.value.map(n=>n.id===e?{...n,title:t.trim()}:n))}let F=S(null),ke=S(``),I=S(``),L=S([]),R=S([]),Ae=S(!1),z=S([]),B=S([]),Un=0,V=S([]),Wn=E(new Map),Gn=S([]),Kn=S(``),qn=S(`edit`),H=S(``),U=S([]),Jn=S(null),Yn=S(null),W=S(null),Xn=S(``);async function Zn(){await C(),Yn.value?.scrollIntoView({block:`end`})}j(F,e=>x(`card-open`,e));let Qn=S(null),$n=S(`bottom`);function er(e,t=`bottom`){if(!d.readOnly){if($n.value=t,d.templates.length===0){nr(e,``);return}Qn.value=e}}function tr(e){let t=Qn.value;Qn.value=null,t&&nr(t,e?.content??``)}function nr(e,t){let n=A.value.find(t=>t.id===e);if(!n)return;let r=new Date().toISOString();rr(e,{id:ce(),title:w(`card.defaultTitle`),markdown:t,images:[],order:$n.value===`top`?0:n.cards.length,...v.value?{}:{history:[{type:`created`,timestamp:r,detail:w(`card.inColumn`,{name:Ce(e)})}]},createdAt:r,updatedAt:r})}function rr(e,t){if(F.value={colId:e,card:{...t,history:[...t.history??[]]}},d.loadHistory&&A.value.some(e=>e.cards.some(e=>e.id===t.id))){let n=d.histories?.[t.id];n&&(F.value={colId:e,card:{...t,history:n}}),d.loadHistory(t.id)}ke.value=t.title,I.value=t.markdown??``,L.value=[...t.images],R.value=[...t.attachments??[]],z.value=[],V.value=[],H.value=``,U.value=[],hr(R.value),hr((t.history??[]).flatMap(e=>e.attachments??[])),Gn.value=(t.assignees??[]).map(e=>e.id),Kn.value=e,qn.value=`edit`}j(()=>F.value?d.histories?.[F.value.card.id]:void 0,e=>{let t=F.value;!e||!t||t.card.history===e||(F.value={colId:t.colId,card:{...t.card,history:e}},hr(e.flatMap(e=>e.attachments??[])))});let ir=c(()=>{let e=F.value;return e?!A.value.some(t=>t.cards.some(t=>t.id===e.card.id)):!1}),ar=c(()=>{let e=F.value;if(!e)return!1;if(ir.value)return!0;let t=e.card,n=(e,t)=>JSON.stringify(e)===JSON.stringify(t);return ke.value!==t.title||I.value!==(t.markdown??``)||Kn.value!==e.colId||!n(L.value,t.images)||!n(R.value,t.attachments??[])||!n(Gn.value,(t.assignees??[]).map(e=>e.id))||H.value.trim().length>0||U.value.length>0||W.value!==null});function or(){if(!ar.value){lr();return}ae.require({message:w(`editor.confirmDiscardMessage`),header:w(`editor.confirmDiscardHeader`),icon:`pi pi-exclamation-triangle`,acceptClass:`p-button-danger`,acceptLabel:w(`editor.discard`),rejectLabel:w(`editor.keepEditing`),accept:()=>lr()})}function sr(){let e=F.value;if(!e)return;let t=A.value.flatMap(e=>e.cards).find(t=>t.id===e.card.id);if(!t||t.history===void 0)return;let n=e=>`${e.type}|${e.timestamp}|${e.detail??``}`,r=new Set((t.history??[]).map(n)),i=[...t.history??[],...(e.card.history??[]).filter(e=>!r.has(n(e)))].sort((e,t)=>e.timestamp.localeCompare(t.timestamp));F.value={colId:e.colId,card:{...e.card,history:i}}}function cr(){let e=V.value;if(V.value=[],d.deleteAttachment)for(let t of e)d.deleteAttachment(t)}function lr(){F.value=null,Or(),gr(),cr()}function ur(){if(d.readOnly||!F.value)return;let{colId:e,card:t}=F.value,n=ke.value||w(`card.untitled`),r=v.value?[]:[...t.history??[]],i=()=>new Date().toISOString();!v.value&&n!==t.title&&t.title!==w(`card.defaultTitle`)&&r.push({type:`title_changed`,timestamp:i(),detail:`"${t.title}" → "${n}"`}),!v.value&&I.value!==t.markdown&&r.push({type:`edited`,timestamp:i()});let a=v.value?0:L.value.length-t.images.length;a>0?r.push({type:`image_added`,timestamp:i(),detail:`${a} image(s) added`}):a<0&&r.push({type:`image_removed`,timestamp:i(),detail:`${Math.abs(a)} image(s) removed`});let o=Gn.value.map(e=>({id:e,name:d.members.find(t=>t.userId===e)?.name??e})),s=v.value?[]:o.filter(e=>!(t.assignees??[]).some(t=>t.id===e.id));s.length&&r.push({type:`edited`,timestamp:i(),detail:w(`editor.assignedDetail`,{names:s.map(e=>e.name).join(`, `)})});let c={...t,title:n,markdown:I.value,images:L.value,attachments:R.value,assignees:o,history:v.value?t.history:r,updatedAt:i()},l=Kn.value||e;!v.value&&l!==e&&r.push({type:`moved`,timestamp:i(),detail:`${Ce(e)} → ${Ce(l)}`}),M(A.value.map(t=>{if(t.id===e&&l!==e)return{...t,cards:t.cards.filter(e=>e.id!==c.id)};if(t.id!==l)return t;if(t.cards.some(e=>e.id===c.id))return{...t,cards:t.cards.map(e=>e.id===c.id?c:e)};let n=$n.value===`top`?[c,...t.cards]:[...t.cards,c];return{...t,cards:n.map((e,t)=>({...e,order:t}))}})),V.value=[],F.value={colId:l,card:c},Kn.value=l}function dr(e,t){if(d.readOnly)return;let n=A.value.find(t=>t.id===e)?.cards.find(e=>e.id===t);ae.require({message:w(`editor.confirmDeleteMessage`,{title:n?.title??``}),header:w(`editor.confirmDeleteHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>{M(A.value.map(n=>n.id===e?{...n,cards:n.cards.filter(e=>e.id!==t)}:n)),lr()}})}function fr(){if(d.readOnly||!F.value||!H.value.trim()&&!U.value.length)return;let{colId:e,card:t}=F.value,n=U.value;if(d.addComment){let e=H.value.trim(),r=t.id;H.value=``,V.value=V.value.filter(e=>!n.some(t=>t.id===e.id)),U.value=[],d.addComment(r,e,n.length?{attachments:n}:{});return}let r={type:`comment`,timestamp:new Date().toISOString(),detail:H.value.trim(),author:`user`,...n.length?{attachments:n}:{}},i=[...t.history??[],r];F.value={colId:e,card:{...t,history:i}},H.value=``,V.value=V.value.filter(e=>!n.some(t=>t.id===e.id)),U.value=[],M(A.value.map(n=>n.id===e?{...n,cards:n.cards.map(e=>e.id===t.id?{...e,history:i}:e)}:n))}let pr=/^image\/(png|jpeg|webp|gif)$/;function mr(e){return Wn.get(e.id)}async function hr(e){if(d.fetchAttachment)for(let t of e){if(!pr.test(t.contentType)||Wn.has(t.id))continue;let e=await d.fetchAttachment(t);e&&Wn.set(t.id,e)}}function gr(){for(let e of Wn.values())URL.revokeObjectURL(e);Wn.clear()}async function _r(e){let t=Wn.get(e.id),n=t??await d.fetchAttachment?.(e)??null;if(!n){z.value=[...z.value,{name:e.name,reason:w(`editor.downloadFailed`)}];return}if(pr.test(e.contentType)){window.open(n,`_blank`,`noopener`);return}let r=document.createElement(`a`);r.href=n,r.download=e.name||`file`,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),t||setTimeout(()=>URL.revokeObjectURL(n),6e4)}function vr(e){R.value=R.value.filter((t,n)=>n!==e)}let G=E(new Set);function yr(e){return e.split(/\s+/).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)}let br=c(()=>d.members.map(e=>({id:e.userId,label:e.name})));function xr(e){return d.members.find(t=>t.userId===e)?.name??e}function Sr(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t*31+e.charCodeAt(n))%360;return{background:`linear-gradient(135deg, hsl(${t} 62% 52%), hsl(${(t+40)%360} 62% 46%))`}}function Cr(e){return!!d.currentUserId&&e.authorUser?.id===d.currentUserId}function wr(e){return e.author===`ai`?null:e.authorUser?.id??null}function Tr(e){return e.author===`ai`?w(`comments.authorAi`):Cr(e)?w(`comments.authorYou`):e.authorUser?.name??w(`comments.authorYou`)}function Er(e){if(!F.value)return;let{colId:t,card:n}=F.value;F.value={colId:t,card:{...n,history:e}},M(A.value.map(r=>r.id===t?{...r,cards:r.cards.map(t=>t.id===n.id?{...t,history:e}:t)}:r))}function Dr(e){W.value=e.id??null,Xn.value=e.detail??``}function Or(){W.value=null,Xn.value=``}function kr(){let e=W.value,t=Xn.value.trim();if(d.readOnly||!e||!t||!F.value)return;let{card:n}=F.value,r=(n.history??[]).map(n=>n.id===e?{...n,detail:t,editedAt:new Date().toISOString()}:n);if(d.editComment){let r=(n.history??[]).find(t=>t.id===e);d.editComment(n.id,e,t,r?.attachments)}else Er(r);Or()}function Ar(e){return e.id??`${e.type}|${e.timestamp}`}function jr(e){return e.type===`comment`&&e.author===`ai`}function Mr(e){return Cr(e)||jr(e)}function Nr(e){if(d.readOnly||!Mr(e)||!F.value)return;let t=Ar(e);ae.require({message:w(`comments.confirmDeleteMessage`),header:w(`comments.confirmDeleteHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>{let n=F.value;if(!n)return;let r=(n.card.history??[]).filter(e=>Ar(e)!==t);d.removeComment&&e.id?d.removeComment(n.card.id,e.id):Er(r)}})}let Pr=c(()=>d.columnSubscriptions!==void 0),K=S(null),Fr=[`entered`,`left`,`created`,`deleted`],Ir=[`email`,`chat`],Lr=[...Fr],Rr=[...Ir],zr=S([...Lr]),Br=S([...Rr]);function Vr(e){return d.columnSubscriptions?.[e]??null}function Hr(e){return Vr(e)!==null}let Ur=E(new Set),Wr=new Map,Gr=null;function Kr(e,t){t.scrollWidth>t.clientWidth+1||t.scrollHeight>t.clientHeight+1?Ur.add(e):Ur.delete(e)}function qr(e,t){let n=Wr.get(t);if(n&&n!==e&&Gr?.unobserve(n),!(e instanceof HTMLElement)){Wr.delete(t),Ur.delete(t);return}Wr.set(t,e),typeof ResizeObserver<`u`&&(Gr??=new ResizeObserver(e=>{for(let t of e)for(let[e,n]of Wr)n===t.target&&Kr(e,n)}),Gr.observe(e)),Kr(t,e)}j(()=>A.value.map(e=>e.title).join(`\0`),()=>void C(()=>{for(let[e,t]of Wr)Kr(e,t)})),ue(()=>Gr?.disconnect());function Jr(e,t){return{value:Ur.has(e)?t:``,showDelay:0,hideDelay:0}}let Yr=S(null),Xr=S(null);function Zr(e,t){Xr.value=t,Yr.value?.toggle(e)}function Qr(e){let t=Xr.value;t&&(Yr.value?.hide(),e(t.id))}function $r(e){let t=Vr(e);zr.value=t?[...t.kinds]:[...Lr],Br.value=t?[...t.channels]:[...Rr],K.value=e}let ei=c(()=>zr.value.length>0&&Br.value.length>0);function ti(){let e=K.value;!e||!ei.value||(x(`update-column-subscription`,{columnId:e,subscription:{kinds:[...zr.value],channels:[...Br.value]}}),K.value=null)}function ni(){let e=K.value;e&&(x(`update-column-subscription`,{columnId:e,subscription:null}),K.value=null)}let ri=c(()=>d.columns.find(e=>e.id===K.value)??null),ii=E(new Set),ai=E(new Set),oi=c(()=>`runeya.kanban.collapsedColumns.${d.name}`),si=c(()=>`runeya.kanban.expandedColumns.${d.name}`);function ci(e,t){t.clear();try{let n=window.localStorage.getItem(e);if(!n)return;let r=JSON.parse(n);if(Array.isArray(r))for(let e of r)typeof e==`string`&&t.add(e)}catch{}}function li(){ci(oi.value,ii),ci(si.value,ai)}function ui(){try{window.localStorage.setItem(oi.value,JSON.stringify([...ii])),window.localStorage.setItem(si.value,JSON.stringify([...ai]))}catch{}}li(),j(oi,li);function di(e){let t=d.columns.find(t=>t.id===e);return!!t&&t.cards.length===0}function fi(e){return ii.has(e)?!0:di(e)&&!ai.has(e)}function pi(e){fi(e)?(ii.delete(e),di(e)&&ai.add(e)):(ai.delete(e),di(e)||ii.add(e)),ui()}let mi=c(()=>(F.value?.card.history??[]).filter(e=>e.type===`comment`));j([qn,mi],([e])=>{e===`comments`&&(Zn(),Ei())}),j(()=>F.value?.card.id,()=>{q.clear(),vi.clear()});function hi(e){if(/^(https?:|mailto:)/i.test(e)){window.open(e,`_blank`,`noopener,noreferrer`);return}e.startsWith(`#`)||/^\//.test(e)&&window.open(e,`_blank`,`noopener,noreferrer`)}function gi(e){let t=(e.target?.closest(`a`))?.getAttribute(`href`);return t?(e.preventDefault(),e.stopPropagation(),hi(t),!0):!1}function _i(e){return e?de.sanitize(r.parse(e,{async:!1}),{ALLOWED_TAGS:[`p`,`br`,`strong`,`em`,`del`,`code`,`pre`,`blockquote`,`ul`,`ol`,`li`,`h1`,`h2`,`h3`,`h4`,`a`,`span`],ALLOWED_ATTR:[`href`,`target`,`rel`,`class`]}):``}let q=E(new Set),vi=E(new Set);function yi(e,t){return e.id??`i${t}`}function bi(e,t){return q.has(yi(e,t))}function xi(e,t){let n=yi(e,t);return vi.has(n)||q.has(n)}function Si(e,t){let n=yi(e,t);q.has(n)?q.delete(n):q.add(n)}function Ci(e,t,n){gi(n)||Oi(e)||xi(e,t)&&(n.stopPropagation(),Si(e,t))}let wi=new Map;function Ti(e,t,n){let r=yi(t,n);if(!(e instanceof HTMLElement)){wi.delete(r);return}wi.set(r,e),!q.has(r)&&(e.scrollHeight-e.clientHeight>1?vi.add(r):vi.delete(r))}async function Ei(){await C();for(let[e,t]of wi)q.has(e)||(t.scrollHeight-t.clientHeight>1?vi.add(e):vi.delete(e))}function Di(e){return d.resolveConversationId?d.resolveConversationId(e):e.conversationId??null}function Oi(e){return!!Di(e)}let ki=c(()=>{let e=F.value?.card;if(!e)return[];let t=e.conversationEvents??e.history??[],n=new Set,r=[];for(let e of t){if(e.type!==`conversation_started`&&e.type!==`scenario_started`)continue;let t=Di(e);if(!t||n.has(t))continue;n.add(t);let i=e.detail??``,a=i.includes(` — `)?i.slice(0,i.lastIndexOf(` — `)).trim():``,o=Ni(e.timestamp);r.push({id:t,label:o,title:a||Mi.value[e.type]})}return r});function Ai(e){let t=Di(e);t&&x(`open-conversation`,t)}let ji={created:`pi pi-plus-circle`,edited:`pi pi-pencil`,moved:`pi pi-arrow-right-arrow-left`,image_added:`pi pi-image`,image_removed:`pi pi-trash`,title_changed:`pi pi-tag`,conversation_started:`pi pi-comments`,scenario_started:`pi pi-sitemap`,comment:`pi pi-comment`},Mi=c(()=>({created:w(`history.events.created`),edited:w(`history.events.edited`),moved:w(`history.events.moved`),image_added:w(`history.events.image_added`),image_removed:w(`history.events.image_removed`),title_changed:w(`history.events.title_changed`),conversation_started:w(`history.events.conversation_started`),scenario_started:w(`history.events.scenario_started`),comment:w(`history.events.comment`)}));function Ni(e){let t=new Date(e);return`${t.toLocaleDateString()} ${t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}`}function Pi(e){return new Promise(t=>{let n=new FileReader;n.onload=()=>t(typeof n.result==`string`?n.result:null),n.onerror=()=>t(null),n.readAsDataURL(e)})}async function Fi(e){let t=[];for(let n of e){if(n.size>Ln){z.value=[...z.value,{name:n.name,reason:w(`editor.uploadTooLarge`)}];continue}if(!d.uploadImage){z.value=[...z.value,{name:n.name,reason:w(`editor.uploadUnavailable`)}];continue}let e=`${Un+=1}`;B.value=[...B.value,{key:e,name:n.name,ratio:0}];try{let r=await d.uploadImage(n,t=>{B.value=B.value.map(n=>n.key===e?{...n,ratio:t}:n)});r?(t.push(r),V.value=[...V.value,r]):z.value=[...z.value,{name:n.name,reason:w(`editor.uploadFailed`)}]}finally{B.value=B.value.filter(t=>t.key!==e)}}return t}async function Ii(e){let t=e.target;if(!t.files)return;let n=Array.from(t.files);t.value=``,Ae.value=!0,z.value=[];try{let e=await Fi(n);U.value=[...U.value,...e],hr(e)}finally{Ae.value=!1}}function Li(e){U.value=U.value.filter((t,n)=>n!==e)}async function Ri(e){let t=e.target;if(!t.files)return;let n=Array.from(t.files);t.value=``,Ae.value=!0,z.value=[],B.value=[];try{if(d.uploadImage){let e=await Fi(n);R.value=[...R.value,...e],hr(e);return}for(let e of n){if(!e.type.startsWith(`image/`)||e.size>Rn){z.value=[...z.value,{name:e.name,reason:w(`editor.uploadUnavailable`)}];continue}let t=await Pi(e);if(!t){z.value=[...z.value,{name:e.name,reason:w(`editor.uploadFailed`)}];continue}L.value=[...L.value,t],Jn.value?.insertImage(t)}}finally{Ae.value=!1}}function zi(e){ae.require({message:w(`editor.confirmRemoveImageMessage`),header:w(`editor.confirmRemoveImageHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>{L.value=L.value.filter((t,n)=>n!==e)}})}let J=S(null),Y=S(null),X=S(null),Z=S(null),Bi=S(`before`),Q=S(null),Vi=S(`before`),Hi=S(null),$=S(null),Ui=S(!1),Wi=null,Gi=null,Ki=null,qi=S(null);function Ji(e,t){Wi&&cancelAnimationFrame(Wi);let n=qi.value?.querySelector(`.kb-board`),r=()=>{let i=!1;if(n){let t=n.getBoundingClientRect();e<t.left+Vn&&n.scrollLeft>0?(n.scrollLeft-=Hn,i=!0):e>t.right-Vn&&n.scrollLeft<n.scrollWidth-n.clientWidth&&(n.scrollLeft+=Hn,i=!0)}$.value&&($.value.style.display=`none`);let a=document.elementFromPoint(e,t);if($.value&&($.value.style.display=``),a){let e=a.closest(`.kb-col__cards`);if(e){let n=e.getBoundingClientRect();t<n.top+Vn&&e.scrollTop>0?(e.scrollTop-=Hn,i=!0):t>n.bottom-Vn&&e.scrollTop<e.scrollHeight-e.clientHeight&&(e.scrollTop+=Hn,i=!0)}}Wi=i&&Ui.value?requestAnimationFrame(r):null};Wi=requestAnimationFrame(r)}function Yi(){Wi&&=(cancelAnimationFrame(Wi),null)}function Xi(){Gi&&=(clearTimeout(Gi),null),Ki=null}function Zi(){if(!Ki)return;let{type:e,colId:t,cardId:n,el:r}=Ki;Hi.value=e,Ui.value=!0,e===`card`&&n?(J.value={colId:t,cardId:n},Y.value=null):(Y.value=t,J.value=null),navigator.vibrate&&navigator.vibrate(30);let i=e===`card`?r.closest(`.kb-card`):r.closest(`.kb-col`);if(i){let e=i.cloneNode(!0);e.style.cssText=`position:fixed;pointer-events:none;z-index:9999;opacity:0.8;width:${i.getBoundingClientRect().width}px;transform:rotate(2deg);`,document.body.appendChild(e),$.value=e}Ki=null}function Qi(e,t,n,r){if(d.readOnly)return;Xi();let i=e.touches[0],a=i.clientX,o=i.clientY;Ki={type:t,colId:n,cardId:r,el:e.target};let s=e=>{let t=e.touches[0],n=t.clientX-a,r=t.clientY-o;Math.sqrt(n*n+r*r)>Bn&&(Xi(),document.removeEventListener(`touchmove`,s))};document.addEventListener(`touchmove`,s,{passive:!0}),Gi=setTimeout(()=>{document.removeEventListener(`touchmove`,s),Zi()},zn)}function $i(e){if(!Ui.value)return;e.preventDefault();let t=e.touches[0];$.value&&($.value.style.left=`${t.clientX-40}px`,$.value.style.top=`${t.clientY-20}px`),Ji(t.clientX,t.clientY),$.value&&($.value.style.display=`none`);let n=document.elementFromPoint(t.clientX,t.clientY);if($.value&&($.value.style.display=``),n){if(Hi.value===`card`){let e=n.closest(`.kb-card`),r=n.closest(`.kb-col`);if(e&&r){let n=e.dataset.cardId||``,i=r.dataset.colId||``;if(n&&i){X.value=i,Z.value=n;let r=e.getBoundingClientRect();Bi.value=t.clientY-r.top<r.height/2?`before`:`after`}}else if(r){let e=r.dataset.colId||``;e&&(X.value=e,Z.value=null)}}else if(Hi.value===`column`){let e=n.closest(`.kb-col`);if(e){let n=e.dataset.colId||``;if(n&&n!==Y.value){Q.value=n;let r=e.getBoundingClientRect();Vi.value=t.clientX-r.left<r.width/2?`before`:`after`}}}}}function ea(){Xi(),Yi(),$.value&&=($.value.remove(),null),Ui.value&&(Hi.value===`card`&&X.value?ia(X.value):Hi.value===`column`&&Q.value&&la(Q.value)),Hi.value=null,Ui.value=!1,na()}function ta(e,t,n){d.readOnly||(J.value={colId:t,cardId:n},Y.value=null,e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`type`,`card`)))}function na(){J.value=null,X.value=null,Z.value=null,Y.value=null,Q.value=null}function ra(e,t,n){if(!J.value)return;e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),X.value=t,Z.value=n;let r=e.currentTarget.getBoundingClientRect();Bi.value=e.clientY-r.top<r.height/2?`before`:`after`}function ia(e){if(d.readOnly)return;if(Y.value){la(e);return}if(!J.value)return;let{colId:t,cardId:n}=J.value,r=Ce(t),i=Ce(e),a=null,o=A.value.map(e=>e.id===t?(a=e.cards.find(e=>e.id===n)??null,{...e,cards:e.cards.filter(e=>e.id!==n)}):e),s=0;if(a){let n={...a};!v.value&&t!==e&&we(n,`moved`,`"${r}" → "${i}"`),o=o.map(t=>{if(t.id!==e)return t;let r=[...t.cards].sort((e,t)=>e.order-t.order),i=r.length;if(Z.value){let e=r.findIndex(e=>e.id===Z.value);e!==-1&&(i=Bi.value===`before`?e:e+1)}return s=i,r.splice(i,0,n),{...t,cards:r.map((e,t)=>({...e,order:t}))}})}if(J.value=null,X.value=null,Z.value=null,d.moveCard&&a){A.value=o,d.moveCard(a.id,e,s);return}M(o)}function aa(e,t){!J.value&&!Y.value||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),J.value&&(X.value=t,Z.value=null))}function oa(e){X.value===e&&(X.value=null)}function sa(e,t){d.readOnly||(Y.value=t,J.value=null,e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`type`,`column`)))}function ca(e,t){if(!Y.value||Y.value===t)return;e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),Q.value=t;let n=e.currentTarget.getBoundingClientRect();Vi.value=e.clientX-n.left<n.width/2?`before`:`after`}function la(e){if(d.readOnly||!Y.value||Y.value===e){Y.value=null,Q.value=null;return}let t=[...A.value].sort((e,t)=>e.order-t.order),n=t.findIndex(e=>e.id===Y.value),r=t.splice(n,1)[0],i=t.findIndex(t=>t.id===e);t.splice(Vi.value===`before`?i:i+1,0,r),Y.value=null,Q.value=null,M(t.map((e,t)=>({...e,order:t})))}return n({openCardEditor:rr,closeCardEditor:lr,saveCard:ur,editingCard:F}),(t,n)=>{let r=oe(`tooltip`);return i(),u(`div`,{ref_key:`rootEl`,ref:qi,class:`kb`},[_(`header`,Me,[k(b(D),{icon:`pi pi-arrow-left`,text:``,rounded:``,size:`small`,onClick:n[0]||=e=>x(`back`)}),ee((i(),u(`h1`,{class:`kb-header__title`,ref:e=>qr(e,`board`)},[T(m(e.name),1)])),[[r,Jr(`board`,e.name),void 0,{bottom:!0}]]),se(t.$slots,`header-actions`,{},void 0,!0),_(`span`,Ne,[n[31]||=_(`i`,{class:`pi pi-search`},null,-1),k(b(re),{modelValue:N.value,"onUpdate:modelValue":n[1]||=e=>N.value=e,placeholder:b(w)(`searchPlaceholder`),size:`small`,class:`kb-header__search-input`},null,8,[`modelValue`,`placeholder`]),N.value?(i(),h(b(D),{key:0,icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:n[2]||=e=>N.value=``})):y(``,!0)]),e.readOnly?(i(),u(`span`,Pe,[n[32]||=_(`i`,{class:`pi pi-lock`},null,-1),T(` `+m(b(w)(`readOnly.badge`)),1)])):e.saving?(i(),u(`span`,Fe,[n[33]||=_(`i`,{class:`pi pi-spin pi-spinner`,style:{"font-size":`0.75rem`}},null,-1),T(` `+m(b(w)(`saving`)),1)])):y(``,!0)]),se(t.$slots,`banner`,{},void 0,!0),_(`div`,Ie,[(i(!0),u(o,null,l(Se.value,a=>(i(),u(`div`,{key:a.id,class:O([`kb-col`,{"kb-col--collapsed":fi(a.id),"kb-col--dragover":X.value===a.id&&!!J.value,"kb-col--dragging":Y.value===a.id,"kb-col--col-drop-before":Q.value===a.id&&Vi.value===`before`,"kb-col--col-drop-after":Q.value===a.id&&Vi.value===`after`}]),"data-col-id":a.id,draggable:!e.readOnly,onDragstart:e=>sa(e,a.id),onDragover:e=>{ca(e,a.id),aa(e,a.id)},onDragleave:e=>oa(a.id),onDrop:p(e=>ia(a.id),[`prevent`]),onDragend:na,onTouchstart:e=>Qi(e,`column`,a.id),onTouchmove:$i,onTouchend:ea,onContextmenu:n[6]||=p(()=>{},[`prevent`])},[fi(a.id)?(i(),u(`button`,{key:0,class:O([`kb-col__strip`,{"kb-col__strip--empty":a.cards.length===0}]),title:b(w)(`column.expand`),onClick:e=>pi(a.id)},[n[34]||=_(`i`,{class:`pi pi-angle-double-right`},null,-1),_(`span`,ze,m(a.cards.length),1),Hr(a.id)?(i(),u(`i`,Be)):y(``,!0),ee((i(),u(`span`,{class:`kb-col__strip-title`,ref_for:!0,ref:e=>qr(e,`strip:${a.id}`)},[T(m(a.title),1)])),[[r,Jr(`strip:${a.id}`,a.title),void 0,{right:!0}]])],10,Re)):(i(),u(`div`,Ve,[ee(_(`input`,{class:`kb-col__title`,ref_for:!0,ref:e=>qr(e,`col:${a.id}`),value:a.title,readonly:e.readOnly,draggable:`false`,onBlur:e=>Oe(a.id,e.target.value),onKeyup:n[3]||=s(e=>e.target.blur(),[`enter`]),onMousedown:n[4]||=p(()=>{},[`stop`])},null,40,He),[[r,Jr(`col:${a.id}`,a.title),void 0,{bottom:!0}]]),_(`div`,Ue,[Pr.value&&Hr(a.id)?ee((i(),h(b(D),{key:0,icon:`pi pi-bell`,text:``,rounded:``,size:`small`,class:`kb-col__bell--on`,onClick:e=>$r(a.id)},null,8,[`onClick`])),[[r,b(w)(`column.unsubscribe`),void 0,{bottom:!0}]]):y(``,!0),ee(k(b(D),{icon:`pi pi-ellipsis-v`,text:``,rounded:``,size:`small`,class:O([`kb-col__menu-btn`,{"kb-col__menu-btn--open":Xr.value?.id===a.id}]),onClick:e=>Zr(e,a)},null,8,[`class`,`onClick`]),[[r,b(w)(`column.menu`),void 0,{bottom:!0}]]),_(`span`,We,m(a.cards.length),1)])])),!e.readOnly&&!fi(a.id)?(i(),u(`button`,{key:2,class:`kb-col__add-card kb-col__add-card--top`,onClick:e=>er(a.id,`top`)},[n[35]||=_(`i`,{class:`pi pi-plus`},null,-1),T(` `+m(b(w)(`column.addCard`)),1)],8,Ge)):y(``,!0),fi(a.id)?y(``,!0):(i(),u(`div`,Ke,[(i(!0),u(o,null,l(a.cards,s=>(i(),u(`div`,{key:s.id,class:O([`kb-card`,{"kb-card--drop-before":Z.value===s.id&&Bi.value===`before`,"kb-card--drop-after":Z.value===s.id&&Bi.value===`after`}]),"data-card-id":s.id,draggable:!e.readOnly,onDragstart:p(e=>ta(e,a.id,s.id),[`stop`]),onDragover:e=>ra(e,a.id,s.id),onDragend:na,onTouchstart:p(e=>Qi(e,`card`,a.id,s.id),[`stop`]),onTouchmove:$i,onTouchend:ea,onContextmenu:n[5]||=p(()=>{},[`prevent`]),onClick:e=>rr(a.id,s)},[_(`div`,Je,[_(`span`,Ye,m(s.title),1),_(`div`,Xe,[se(t.$slots,`card-actions`,{card:s,column:a},void 0,!0),e.readOnly?y(``,!0):ee((i(),u(`button`,{key:0,class:`kb-card__delete`,onClick:p(e=>dr(a.id,s.id),[`stop`])},[...n[36]||=[_(`i`,{class:`pi pi-times`},null,-1)]],8,Ze)),[[r,b(w)(`card.deleteTooltip`),void 0,{bottom:!0}]])])]),s.assignees?.length?(i(),u(`div`,Qe,[(i(!0),u(o,null,l(s.assignees,t=>(i(),u(`span`,{key:t.id,class:`kb-card__avatar`,style:g(Sr(t.id)),title:t.name},[e.avatarUrl&&!G.has(t.id)?(i(),u(`img`,{key:0,src:e.avatarUrl(t.id),alt:``,onError:e=>G.add(t.id)},null,40,et)):(i(),u(o,{key:1},[T(m(yr(t.name)),1)],64))],12,$e))),128))])):y(``,!0),s.markdown||s.images.length||s.commentCount||t.$slots[`card-badges`]?(i(),u(`div`,tt,[s.markdown?(i(),u(`i`,nt)):y(``,!0),s.images.length?(i(),u(`span`,rt,[n[37]||=_(`i`,{class:`pi pi-image`},null,-1),T(` `+m(s.images.length),1)])):y(``,!0),s.commentCount?(i(),u(`span`,it,[n[38]||=_(`i`,{class:`pi pi-comment`},null,-1),T(` `+m(s.commentCount),1)])):y(``,!0),se(t.$slots,`card-badges`,{card:s},void 0,!0)])):y(``,!0)],42,qe))),128)),a.cards.length===0?(i(),u(`div`,at,m(b(w)(`column.dropZone`)),1)):y(``,!0)])),!e.readOnly&&!fi(a.id)?(i(),u(`button`,{key:4,class:`kb-col__add-card`,onClick:e=>er(a.id)},[n[39]||=_(`i`,{class:`pi pi-plus`},null,-1),T(` `+m(b(w)(`column.addCard`)),1)],8,ot)):y(``,!0)],42,Le))),128)),k(b(ie),{visible:K.value!==null,modal:``,header:b(w)(`column.subscribeTitle`),style:{width:`30rem`},"onUpdate:visible":n[10]||=e=>{e||(K.value=null)}},{footer:f(()=>[Hr(K.value??``)?(i(),h(b(D),{key:0,label:b(w)(`column.unsubscribe`),severity:`danger`,text:``,onClick:ni},null,8,[`label`])):y(``,!0),k(b(D),{label:b(w)(`editor.cancel`),text:``,onClick:n[9]||=e=>K.value=null},null,8,[`label`]),k(b(D),{label:Hr(K.value??``)?b(w)(`editor.save`):b(w)(`column.subscribeConfirm`),icon:`pi pi-bell`,disabled:!ei.value,onClick:ti},null,8,[`label`,`disabled`])]),default:f(()=>[_(`p`,st,m(b(w)(`column.subscribeIntro`,{column:ri.value?.title??``})),1),_(`p`,ct,m(b(w)(`column.subscribeEventsLabel`)),1),_(`div`,lt,[(i(),u(o,null,l(Fr,e=>_(`label`,{key:e,class:`kb-subscribe__option`},[k(b(fe),{modelValue:zr.value,"onUpdate:modelValue":n[7]||=e=>zr.value=e,value:e},null,8,[`modelValue`,`value`]),_(`span`,null,m(b(w)(`column.subscribeKind.${e}`)),1)])),64))]),_(`p`,ut,[n[40]||=_(`i`,{class:`pi pi-times`},null,-1),T(` `+m(b(w)(`column.subscribeNotReorder`)),1)]),_(`p`,dt,m(b(w)(`column.subscribeChannelsLabel`)),1),_(`div`,ft,[(i(),u(o,null,l(Ir,e=>_(`label`,{key:e,class:`kb-subscribe__option`},[k(b(fe),{modelValue:Br.value,"onUpdate:modelValue":n[8]||=e=>Br.value=e,value:e},null,8,[`modelValue`,`value`]),_(`span`,null,m(b(w)(`column.subscribeChannel.${e}`)),1)])),64))]),_(`p`,pt,m(b(w)(`column.subscribeOwnActions`)),1)]),_:1},8,[`visible`,`header`]),k(b(ie),{visible:Qn.value!==null,header:b(w)(`templates.pickHeader`),modal:!0,style:{width:`420px`},"onUpdate:visible":n[12]||=e=>{e||(Qn.value=null)}},{default:f(()=>[_(`p`,mt,m(b(w)(`templates.pickIntro`)),1),_(`div`,ht,[_(`button`,{class:`kb-tpl-option`,onClick:n[11]||=e=>tr(null)},[n[41]||=_(`i`,{class:`pi pi-file`},null,-1),T(` `+m(b(w)(`templates.blank`)),1)]),(i(!0),u(o,null,l(e.templates,e=>(i(),u(`button`,{key:e.id,class:`kb-tpl-option`,onClick:t=>tr(e)},[n[42]||=_(`i`,{class:`pi pi-file-edit`},null,-1),T(` `+m(e.name),1)],8,gt))),128))])]),_:1},8,[`visible`,`header`]),e.readOnly?y(``,!0):(i(),u(`div`,_t,[pe.value?(i(),u(`div`,vt,[k(b(re),{modelValue:P.value,"onUpdate:modelValue":n[13]||=e=>P.value=e,placeholder:b(w)(`column.titlePlaceholder`),autofocus:``,class:`w-full`,onKeyup:[s(Te,[`enter`]),n[14]||=s(e=>pe.value=!1,[`escape`])]},null,8,[`modelValue`,`placeholder`]),_(`div`,yt,[k(b(D),{label:b(w)(`addColumnButton`),size:`small`,disabled:!P.value.trim(),onClick:Te},null,8,[`label`,`disabled`]),k(b(D),{icon:`pi pi-times`,text:``,size:`small`,onClick:n[15]||=e=>pe.value=!1})])])):(i(),u(`button`,{key:1,class:`kb-add-col__trigger`,onClick:n[16]||=e=>pe.value=!0},[n[43]||=_(`i`,{class:`pi pi-plus`},null,-1),T(` `+m(b(w)(`addColumn`)),1)]))]))]),k(b(ie),{visible:!!F.value,header:b(w)(`editor.header`),modal:!0,"dismissable-mask":!ar.value,class:`kb-card-dialog`,style:{width:`min(1400px, 92vw)`,height:`90vh`},breakpoints:{"1040px":`95vw`},"onUpdate:visible":n[26]||=e=>{e||or()}},{footer:f(()=>[_(`div`,Nn,[ar.value&&!e.readOnly?(i(),u(`span`,Pn,[n[58]||=_(`i`,{class:`pi pi-exclamation-circle`},null,-1),T(` `+m(b(w)(`editor.unsavedHint`)),1)])):y(``,!0),k(b(D),{label:b(w)(`editor.close`),text:``,onClick:or},null,8,[`label`]),e.readOnly?y(``,!0):(i(),h(b(D),{key:1,label:b(w)(`editor.save`),icon:`pi pi-check`,onClick:ur},null,8,[`label`]))])]),default:f(()=>[F.value?(i(),u(`div`,bt,[_(`div`,xt,[k(b(he),{value:qn.value,"onUpdate:value":n[22]||=e=>qn.value=e},{default:f(()=>[k(b(ge),null,{default:f(()=>[k(b(ve),{value:`edit`},{default:f(()=>[n[44]||=_(`i`,{class:`pi pi-pencil`,style:{"margin-right":`0.375rem`}},null,-1),T(m(b(w)(`editor.tabs.edit`)),1)]),_:1}),k(b(ve),{value:`comments`},{default:f(()=>[n[45]||=_(`i`,{class:`pi pi-comments`,style:{"margin-right":`0.375rem`}},null,-1),T(m(b(w)(`editor.tabs.comments`,{count:mi.value.length||(F.value.card.commentCount??0)})),1)]),_:1}),k(b(ve),{value:`history`},{default:f(()=>[n[46]||=_(`i`,{class:`pi pi-history`,style:{"margin-right":`0.375rem`}},null,-1),T(m(b(w)(`editor.tabs.history`,{count:F.value.card.history?.length??0})),1)]),_:1})]),_:1}),k(b(_e),null,{default:f(()=>[k(b(ye),{value:`edit`},{default:f(()=>[_(`div`,St,[_(`div`,Ct,[_(`label`,wt,m(b(w)(`editor.titleLabel`)),1),k(b(re),{id:`kanban-card-title`,modelValue:ke.value,"onUpdate:modelValue":n[17]||=e=>ke.value=e,disabled:e.readOnly,autofocus:``,onKeyup:s(ur,[`enter`])},null,8,[`modelValue`,`disabled`])]),_(`div`,Tt,[_(`label`,Et,m(b(w)(`editor.contentLabel`)),1),k(b(be),{id:`kanban-card-content`,ref_key:`tiptapRef`,ref:Jn,modelValue:I.value,"onUpdate:modelValue":n[18]||=e=>I.value=e,markdown:``,"min-height":`20rem`,"max-height":`none`,editable:!e.readOnly,placeholder:b(w)(`editor.contentPlaceholder`),mentions:br.value,onLinkClick:hi},null,8,[`modelValue`,`editable`,`placeholder`,`mentions`])]),_(`div`,Dt,[_(`label`,Ot,m(b(w)(`editor.filesLabel`)),1),L.value.length?(i(),u(`div`,kt,[(i(!0),u(o,null,l(L.value,(t,r)=>(i(),u(`div`,{key:r,class:`kb-dialog__thumb`},[_(`img`,{src:t,alt:`attachment`},null,8,At),e.readOnly?y(``,!0):(i(),u(`button`,{key:0,class:`kb-dialog__thumb-remove`,onClick:e=>zi(r)},[...n[47]||=[_(`i`,{class:`pi pi-times`},null,-1)]],8,jt))]))),128))])):y(``,!0),k(De,{files:R.value,preview:mr,removable:!e.readOnly,"remove-label":b(w)(`editor.removeFile`),onOpen:_r,onRemove:vr},null,8,[`files`,`removable`,`remove-label`]),k(je,{queue:B.value,errors:z.value,uploading:Ae.value,"uploading-label":b(w)(`editor.uploading`)},null,8,[`queue`,`errors`,`uploading`,`uploading-label`]),e.readOnly?y(``,!0):(i(),u(`label`,Mt,[n[48]||=_(`i`,{class:`pi pi-upload`},null,-1),T(` `+m(b(w)(`editor.attachFile`))+` `,1),_(`input`,{id:`kanban-card-images`,type:`file`,multiple:``,onChange:Ri},null,32)]))])])]),_:1}),k(b(ye),{value:`comments`},{default:f(()=>[_(`div`,Nt,[mi.value.length?(i(),u(`div`,Ft,[(i(!0),u(o,null,l(mi.value,(t,r)=>(i(),u(`div`,{key:r,class:O([`kb-comments__item`,{"kb-comments__item--ai":t.author===`ai`,"kb-comments__item--clickable":Oi(t)}]),onClick:e=>Oi(t)&&Ai(t)},[_(`div`,{class:O([`kb-comments__avatar`,{"kb-comments__avatar--photo":!!wr(t)}]),style:g(wr(t)?Sr(wr(t)):void 0)},[t.author===`ai`?(i(),u(`i`,Lt)):wr(t)&&e.avatarUrl&&!G.has(wr(t))?(i(),u(`img`,{key:1,src:e.avatarUrl(wr(t)),alt:``,onError:e=>G.add(wr(t))},null,40,Rt)):t.authorUser?.name?(i(),u(o,{key:2},[T(m(yr(t.authorUser.name)),1)],64)):(i(),u(`i`,zt))],6),_(`div`,Bt,[_(`div`,Vt,[_(`span`,Ht,m(Tr(t)),1),_(`span`,Ut,m(Ni(t.timestamp)),1),t.editedAt?(i(),u(`span`,Wt,m(b(w)(`comments.edited`)),1)):y(``,!0),!e.readOnly&&Mr(t)&&W.value!==t.id?(i(),u(`span`,Gt,[Cr(t)?(i(),u(`button`,{key:0,class:`kb-comments__tool`,title:b(w)(`comments.edit`),onClick:p(e=>Dr(t),[`stop`])},[...n[50]||=[_(`i`,{class:`pi pi-pencil`},null,-1)]],8,Kt)):y(``,!0),_(`button`,{class:`kb-comments__tool`,title:b(w)(`comments.delete`),onClick:p(e=>Nr(t),[`stop`])},[...n[51]||=[_(`i`,{class:`pi pi-trash`},null,-1)]],8,qt)])):y(``,!0)]),W.value===t.id?(i(),u(`div`,{key:0,class:`kb-comments__edit`,onClick:n[20]||=p(()=>{},[`stop`])},[k(b(be),{modelValue:Xn.value,"onUpdate:modelValue":n[19]||=e=>Xn.value=e,markdown:``,"min-height":`1.4rem`,"max-height":`7.1rem`,mentions:br.value,onLinkClick:hi},null,8,[`modelValue`,`mentions`]),_(`div`,Jt,[k(b(D),{label:b(w)(`editor.cancel`),size:`small`,text:``,onClick:Or},null,8,[`label`]),k(b(D),{label:b(w)(`editor.save`),size:`small`,disabled:!Xn.value.trim(),onClick:kr},null,8,[`label`,`disabled`])])])):t.detail?(i(),u(o,{key:1},[_(`div`,{ref_for:!0,ref:e=>Ti(e,t,r),class:O([`kb-comments__text kb-comments__text--markdown`,{"kb-comments__text--clamped":!bi(t,r),"kb-comments__text--toggleable":xi(t,r)&&!Oi(t)}]),onClick:e=>Ci(t,r,e),innerHTML:_i(t.detail)},null,10,Yt),xi(t,r)?(i(),u(`button`,{key:0,class:`kb-comments__more`,onClick:p(e=>Si(t,r),[`stop`])},m(bi(t,r)?b(w)(`comments.showLess`):b(w)(`comments.showMore`)),9,Xt)):y(``,!0)],64)):y(``,!0),W.value===t.id?y(``,!0):(i(),h(De,{key:2,files:t.attachments??[],preview:mr,compact:``,onOpen:_r},null,8,[`files`]))])],10,It))),128)),_(`div`,{ref_key:`commentsEndEl`,ref:Yn},null,512)])):(i(),u(`div`,Pt,[n[49]||=_(`i`,{class:`pi pi-comments`},null,-1),_(`span`,null,m(b(w)(`comments.empty`)),1)])),e.readOnly?y(``,!0):(i(),u(`div`,{key:2,class:`kb-comments__input`,onKeydown:[s(p(fr,[`ctrl`,`prevent`]),[`enter`]),s(p(fr,[`meta`,`prevent`]),[`enter`])]},[k(b(be),{modelValue:H.value,"onUpdate:modelValue":n[21]||=e=>H.value=e,markdown:``,placeholder:b(w)(`comments.placeholder`),"min-height":`1.4rem`,"max-height":`7.1rem`,mentions:br.value,onLinkClick:hi},null,8,[`modelValue`,`placeholder`,`mentions`]),k(De,{files:U.value,preview:mr,openable:!1,removable:``,"remove-label":b(w)(`editor.removeFile`),compact:``,onRemove:Li},null,8,[`files`,`remove-label`]),k(je,{queue:B.value,errors:z.value,uploading:Ae.value,"uploading-label":b(w)(`editor.uploading`)},null,8,[`queue`,`errors`,`uploading`,`uploading-label`]),_(`div`,Qt,[_(`label`,{class:`kb-comments__attach`,title:b(w)(`comments.attach`)},[n[52]||=_(`i`,{class:`pi pi-paperclip`},null,-1),_(`input`,{type:`file`,multiple:``,onChange:Ii},null,32)],8,$t),_(`span`,en,m(b(w)(`comments.sendHint`)),1),k(b(D),{label:b(w)(`comments.send`),icon:`pi pi-send`,size:`small`,disabled:!H.value.trim()&&!U.value.length,onClick:fr},null,8,[`label`,`disabled`])])],40,Zt))])]),_:1}),k(b(ye),{value:`history`},{default:f(()=>[_(`div`,tn,[F.value.card.history?.length?(i(),u(`div`,rn,[(i(!0),u(o,null,l([...F.value.card.history].reverse(),(e,t)=>(i(),u(`div`,{key:t,class:O([`kb-history__item`,{"kb-history__item--clickable":Oi(e)}]),onClick:t=>Oi(e)&&Ai(e)},[_(`div`,on,[_(`i`,{class:O(ji[e.type])},null,2)]),_(`div`,sn,[_(`span`,cn,[T(m(Mi.value[e.type])+` `,1),Oi(e)?(i(),u(`i`,ln)):y(``,!0)]),e.detail?(i(),u(`span`,un,m(e.detail),1)):y(``,!0),_(`span`,dn,m(Ni(e.timestamp)),1)])],10,an))),128))])):(i(),u(`div`,nn,[n[53]||=_(`i`,{class:`pi pi-clock`},null,-1),_(`span`,null,m(b(w)(`history.empty`)),1)]))])]),_:1})]),_:1})]),_:1},8,[`value`])]),_(`aside`,fn,[e.members.length?(i(),u(`div`,pn,[_(`span`,mn,m(b(w)(`editor.assigneesLabel`)),1),k(b(me),{modelValue:Gn.value,"onUpdate:modelValue":n[23]||=e=>Gn.value=e,options:e.members,"option-label":`name`,"option-value":`userId`,placeholder:b(w)(`editor.assigneesPlaceholder`),disabled:e.readOnly,display:`chip`,filter:``,class:`kb-side__control`},{chip:f(({value:t})=>[_(`span`,{class:`kb-card__avatar`,style:g(Sr(t)),title:xr(t)},[e.avatarUrl&&!G.has(t)?(i(),u(`img`,{key:0,src:e.avatarUrl(t),alt:``,onError:e=>G.add(t)},null,40,gn)):(i(),u(o,{key:1},[T(m(yr(xr(t))),1)],64))],12,hn)]),option:f(({option:t})=>[_(`span`,_n,[_(`span`,{class:`kb-card__avatar`,style:g(Sr(t.userId))},[e.avatarUrl&&!G.has(t.userId)?(i(),u(`img`,{key:0,src:e.avatarUrl(t.userId),alt:``,onError:e=>G.add(t.userId)},null,40,vn)):(i(),u(o,{key:1},[T(m(yr(t.name)),1)],64))],4),T(` `+m(t.name),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`,`disabled`]),_(`p`,yn,m(b(w)(`editor.assigneesHint`)),1)])):y(``,!0),_(`div`,bn,[_(`span`,xn,m(b(w)(`editor.columnSettingLabel`)),1),k(b(te),{modelValue:Kn.value,"onUpdate:modelValue":n[24]||=e=>Kn.value=e,options:xe.value,"option-label":`title`,"option-value":`id`,disabled:e.readOnly,class:`kb-side__control`},null,8,[`modelValue`,`options`,`disabled`])]),_(`div`,Sn,[F.value.card.createdBy?(i(),u(`p`,Cn,[n[54]||=_(`i`,{class:`pi pi-user`},null,-1),T(` `+m(b(w)(`editor.createdBy`,{name:F.value.card.createdBy.name})),1)])):y(``,!0),_(`p`,null,[n[55]||=_(`i`,{class:`pi pi-calendar-plus`},null,-1),T(` `+m(Ni(F.value.card.createdAt)),1)]),_(`p`,null,[n[56]||=_(`i`,{class:`pi pi-clock`},null,-1),T(` `+m(Ni(F.value.card.updatedAt)),1)])]),ki.value.length?(i(),u(`div`,wn,[_(`span`,Tn,m(b(w)(`editor.conversationsLabel`)),1),_(`div`,En,[(i(!0),u(o,null,l(ki.value,e=>(i(),u(`a`,{key:e.id,class:`kb-side__conv`,title:e.title,onClick:t=>x(`open-conversation`,e.id)},[n[57]||=_(`i`,{class:`pi pi-comments`},null,-1),_(`span`,On,m(e.label),1)],8,Dn))),128))])])):y(``,!0),t.$slots[`card-editor-actions`]?(i(),u(`div`,kn,[_(`span`,An,m(b(w)(`editor.actionsLabel`)),1),_(`div`,jn,[se(t.$slots,`card-editor-actions`,{card:F.value.card,colId:F.value.colId,draft:{title:ke.value,markdown:I.value}},void 0,!0)])])):y(``,!0),!e.readOnly&&!ir.value?(i(),u(`div`,Mn,[k(b(D),{label:b(w)(`editor.deleteCard`),icon:`pi pi-trash`,severity:`danger`,text:``,size:`small`,onClick:n[25]||=e=>dr(F.value.colId,F.value.card.id)},null,8,[`label`])])):y(``,!0)])])):y(``,!0)]),_:3},8,[`visible`,`header`,`dismissable-mask`]),k(b(ne),{ref_key:`colMenu`,ref:Yr,onHide:n[30]||=e=>Xr.value=null},{default:f(()=>[Xr.value?(i(),u(`div`,Fn,[_(`div`,In,[se(t.$slots,`column-actions`,{column:Xr.value},void 0,!0)]),Pr.value?(i(),u(`button`,{key:0,class:`kb-colmenu__item`,onClick:n[27]||=e=>Qr($r)},[n[59]||=_(`i`,{class:`pi pi-bell`},null,-1),_(`span`,null,m(Hr(Xr.value.id)?b(w)(`column.unsubscribe`):b(w)(`column.subscribe`)),1)])):y(``,!0),_(`button`,{class:`kb-colmenu__item`,onClick:n[28]||=e=>Qr(pi)},[n[60]||=_(`i`,{class:`pi pi-angle-double-left`},null,-1),_(`span`,null,m(b(w)(`column.collapse`)),1)]),e.readOnly?y(``,!0):(i(),u(`button`,{key:1,class:`kb-colmenu__item kb-colmenu__item--danger`,onClick:n[29]||=e=>Qr(Ee)},[n[61]||=_(`i`,{class:`pi pi-trash`},null,-1),_(`span`,null,m(b(w)(`column.deleteTooltip`)),1)]))])):y(``,!0)]),_:3},512)],512)}}}),[[`__scopeId`,`data-v-d968a9ba`]]),B={class:`kanban-list-page`},Un={class:`page-header`},V={class:`page-header__right`},Wn={key:0,class:`empty-state`},Gn={class:`board-grid`},Kn={key:0,class:`board-desc`},qn={key:0,class:`empty-state`},H={class:`board-grid`},U={key:0,class:`board-desc`},Jn={class:`dialog-field`},Yn={for:`kanlist-new-name`},W={class:`dialog-field`},Xn={for:`kanlist-new-desc`},Zn={class:`dialog-field`},Qn={for:`kanlist-edit-name`},$n={class:`dialog-field`},er={for:`kanlist-edit-desc`},tr={class:`dialog-field`},nr={for:`kanlist-tpl-name`},rr={class:`dialog-field`},ir={for:`kanlist-tpl-content`},ar={class:`hint`},or={class:`templates-intro`},sr={key:0,class:`empty-state`},cr={key:1,class:`template-list`},lr={class:`template-row__name`},ur={key:0,class:`template-row__actions`},dr=w(x({__name:`KanbanList`,props:{boards:{},readOnly:{type:Boolean,default:!1},boardsLimit:{default:null},templates:{default:null},t:{}},emits:[`open`,`create`,`update`,`archive`,`delete`,`template-create`,`template-update`,`template-delete`],setup(n,{emit:r}){let a=n,d=r,te=t(),g=a.t,ne=S(!1),v=S(``),x=S(``),C=S(null),w=S(``);function E(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase()}let ce=c(()=>{let e=E(w.value.trim());return e?a.boards.filter(t=>E(t.name).includes(e)||E(t.description??``).includes(e)):a.boards}),ue=c(()=>ce.value.filter(e=>!e.archived)),A=c(()=>ce.value.filter(e=>e.archived)),de=c(()=>w.value.trim().length>0),j=c(()=>a.boardsLimit!==null&&a.boards.length>=a.boardsLimit),M=c(()=>!a.readOnly&&!j.value);function N(){!M.value||!v.value.trim()||(d(`create`,{name:v.value.trim(),description:x.value.trim()}),ne.value=!1,v.value=``,x.value=``)}function fe(){C.value&&=(d(`update`,{...C.value}),null)}let me=S(!1),P=S(null);function xe(){P.value={id:null,name:``,content:``}}function Se(e){P.value={id:e.id,name:e.name,content:e.content}}function Ce(){let e=P.value;if(!e||!e.name.trim())return;let t={name:e.name.trim(),content:e.content};e.id?d(`template-update`,{id:e.id,...t}):d(`template-create`,t),P.value=null}function we(e){te.require({message:g(`templates.confirmDeleteMessage`,{name:e.name}),header:g(`templates.confirmDeleteHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>d(`template-delete`,e.id)})}function Te(e,t){te.require({message:g(`dialogs.confirmDeleteMessage`,{name:t}),header:g(`dialogs.confirmDeleteHeader`),icon:`pi pi-trash`,acceptClass:`p-button-danger`,accept:()=>d(`delete`,e)})}return(t,r)=>{let a=oe(`tooltip`);return i(),u(`div`,B,[_(`div`,Un,[_(`h1`,null,m(b(g)(`title`)),1),_(`span`,V,[k(b(ae),null,{default:f(()=>[k(b(e),{class:`pi pi-search`}),k(b(re),{modelValue:w.value,"onUpdate:modelValue":r[0]||=e=>w.value=e,placeholder:b(g)(`searchPlaceholder`),class:`search-input`},null,8,[`modelValue`,`placeholder`])]),_:1}),n.boardsLimit===null?y(``,!0):(i(),u(`span`,{key:0,class:O([`quota`,{"quota--full":j.value}])},m(b(g)(`quota`,{used:n.boards.length,limit:n.boardsLimit})),3)),n.templates?(i(),h(b(D),{key:1,label:b(g)(`templates.manage`),icon:`pi pi-file-edit`,severity:`secondary`,outlined:``,onClick:r[1]||=e=>me.value=!0},null,8,[`label`])):y(``,!0),n.readOnly?y(``,!0):(i(),h(b(D),{key:2,label:b(g)(`dialogs.newBoard`),icon:`pi pi-plus`,disabled:j.value,onClick:r[2]||=e=>ne.value=!0},null,8,[`label`,`disabled`]))])]),se(t.$slots,`banner`,{},void 0,!0),k(b(he),{value:`active`},{default:f(()=>[k(b(ge),null,{default:f(()=>[k(b(ve),{value:`active`},{default:f(()=>[T(m(b(g)(`tabs.active`)),1)]),_:1}),k(b(ve),{value:`archived`},{default:f(()=>[T(m(b(g)(`tabs.archived`,{count:A.value.length})),1)]),_:1})]),_:1}),k(b(_e),null,{default:f(()=>[k(b(ye),{value:`active`},{default:f(()=>[ue.value.length===0?(i(),u(`div`,Wn,m(de.value?b(g)(`noResults`,{query:w.value.trim()}):b(g)(`empty`)),1)):y(``,!0),_(`div`,Gn,[(i(!0),u(o,null,l(ue.value,e=>(i(),h(b(pe),{key:e.id,class:`board-card`,onClick:t=>d(`open`,e.id)},{title:f(()=>[T(m(e.name),1)]),subtitle:f(()=>[T(m(b(g)(`columns`,{count:e.columnCount})),1)]),content:f(()=>[e.description?(i(),u(`p`,Kn,m(e.description),1)):y(``,!0)]),footer:f(()=>[n.readOnly?y(``,!0):(i(),u(`div`,{key:0,class:`board-actions`,onClick:r[3]||=p(()=>{},[`stop`])},[k(b(D),{icon:`pi pi-pencil`,text:``,size:`small`,onClick:t=>C.value={id:e.id,name:e.name,description:e.description}},null,8,[`onClick`]),ee(k(b(D),{icon:`pi pi-inbox`,text:``,size:`small`,severity:`secondary`,onClick:t=>d(`archive`,{id:e.id,archived:!0})},null,8,[`onClick`]),[[a,b(g)(`archive`)]]),k(b(D),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:t=>Te(e.id,e.name)},null,8,[`onClick`])]))]),_:2},1032,[`onClick`]))),128))])]),_:1}),k(b(ye),{value:`archived`},{default:f(()=>[A.value.length===0?(i(),u(`div`,qn,m(de.value?b(g)(`noResults`,{query:w.value.trim()}):b(g)(`archivedEmpty`)),1)):y(``,!0),_(`div`,H,[(i(!0),u(o,null,l(A.value,e=>(i(),h(b(pe),{key:e.id,class:`board-card archived`},{title:f(()=>[T(m(e.name),1)]),content:f(()=>[e.description?(i(),u(`p`,U,m(e.description),1)):y(``,!0)]),footer:f(()=>[n.readOnly?y(``,!0):(i(),u(`div`,{key:0,class:`board-actions`,onClick:r[4]||=p(()=>{},[`stop`])},[k(b(D),{label:b(g)(`restore`),icon:`pi pi-replay`,text:``,size:`small`,onClick:t=>d(`archive`,{id:e.id,archived:!1})},null,8,[`label`,`onClick`]),k(b(D),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:t=>Te(e.id,e.name)},null,8,[`onClick`])]))]),_:2},1024))),128))])]),_:1})]),_:1})]),_:1}),k(b(ie),{visible:ne.value,"onUpdate:visible":r[8]||=e=>ne.value=e,header:b(g)(`dialogs.newBoard`),modal:!0,style:{width:`450px`}},{footer:f(()=>[k(b(D),{label:b(g)(`cancel`),text:``,onClick:r[7]||=e=>ne.value=!1},null,8,[`label`]),k(b(D),{label:b(g)(`create`),icon:`pi pi-check`,disabled:!v.value.trim(),onClick:N},null,8,[`label`,`disabled`])]),default:f(()=>[_(`div`,Jn,[_(`label`,Yn,m(b(g)(`nameLabel`)),1),k(b(re),{id:`kanlist-new-name`,modelValue:v.value,"onUpdate:modelValue":r[5]||=e=>v.value=e,autofocus:``,class:`w-full`,onKeyup:s(N,[`enter`])},null,8,[`modelValue`])]),_(`div`,W,[_(`label`,Xn,m(b(g)(`descriptionLabel`)),1),k(b(le),{id:`kanlist-new-desc`,modelValue:x.value,"onUpdate:modelValue":r[6]||=e=>x.value=e,rows:`3`,class:`w-full`},null,8,[`modelValue`])])]),_:1},8,[`visible`,`header`]),k(b(ie),{visible:!!C.value,header:b(g)(`dialogs.editBoard`),modal:!0,style:{width:`450px`},"onUpdate:visible":r[12]||=e=>{e||(C.value=null)}},{footer:f(()=>[k(b(D),{label:b(g)(`cancel`),text:``,onClick:r[11]||=e=>C.value=null},null,8,[`label`]),k(b(D),{label:b(g)(`save`),icon:`pi pi-check`,onClick:fe},null,8,[`label`])]),default:f(()=>[C.value?(i(),u(o,{key:0},[_(`div`,Zn,[_(`label`,Qn,m(b(g)(`nameLabel`)),1),k(b(re),{id:`kanlist-edit-name`,modelValue:C.value.name,"onUpdate:modelValue":r[9]||=e=>C.value.name=e,class:`w-full`,onKeyup:s(fe,[`enter`])},null,8,[`modelValue`])]),_(`div`,$n,[_(`label`,er,m(b(g)(`descriptionLabel`)),1),k(b(le),{id:`kanlist-edit-desc`,modelValue:C.value.description,"onUpdate:modelValue":r[10]||=e=>C.value.description=e,rows:`3`,class:`w-full`},null,8,[`modelValue`])])],64)):y(``,!0)]),_:1},8,[`visible`,`header`]),k(b(ie),{visible:me.value,"onUpdate:visible":[r[17]||=e=>me.value=e,r[18]||=e=>{e||(P.value=null)}],header:b(g)(`templates.manage`),modal:!0,class:`template-dialog`,style:{width:`min(1100px, 92vw)`,height:`90vh`}},{footer:f(()=>[P.value?(i(),u(o,{key:0},[k(b(D),{label:b(g)(`cancel`),text:``,onClick:r[15]||=e=>P.value=null},null,8,[`label`]),k(b(D),{label:b(g)(`save`),icon:`pi pi-check`,disabled:!P.value.name.trim(),onClick:Ce},null,8,[`label`,`disabled`])],64)):(i(),u(o,{key:1},[n.readOnly?y(``,!0):(i(),h(b(D),{key:0,label:b(g)(`templates.new`),icon:`pi pi-plus`,onClick:xe},null,8,[`label`])),k(b(D),{label:b(g)(`close`),text:``,onClick:r[16]||=e=>me.value=!1},null,8,[`label`])],64))]),default:f(()=>[P.value?(i(),u(o,{key:0},[_(`div`,tr,[_(`label`,nr,m(b(g)(`templates.nameLabel`)),1),k(b(re),{id:`kanlist-tpl-name`,modelValue:P.value.name,"onUpdate:modelValue":r[13]||=e=>P.value.name=e,autofocus:``,class:`w-full`},null,8,[`modelValue`])]),_(`div`,rr,[_(`label`,ir,m(b(g)(`templates.contentLabel`)),1),k(b(be),{id:`kanlist-tpl-content`,modelValue:P.value.content,"onUpdate:modelValue":r[14]||=e=>P.value.content=e,markdown:``,"min-height":`18rem`,"max-height":`60vh`,placeholder:b(g)(`templates.contentPlaceholder`)},null,8,[`modelValue`,`placeholder`]),_(`small`,ar,m(b(g)(`templates.contentHint`)),1)])],64)):(i(),u(o,{key:1},[_(`p`,or,m(b(g)(`templates.intro`)),1),!n.templates||n.templates.length===0?(i(),u(`div`,sr,m(b(g)(`templates.empty`)),1)):(i(),u(`ul`,cr,[(i(!0),u(o,null,l(n.templates,e=>(i(),u(`li`,{key:e.id,class:`template-row`},[_(`span`,lr,m(e.name),1),n.readOnly?y(``,!0):(i(),u(`span`,ur,[k(b(D),{icon:`pi pi-pencil`,text:``,size:`small`,onClick:t=>Se(e)},null,8,[`onClick`]),k(b(D),{icon:`pi pi-trash`,text:``,size:`small`,severity:`danger`,onClick:t=>we(e)},null,8,[`onClick`])]))]))),128))]))],64))]),_:1},8,[`visible`,`header`])])}}}),[[`__scopeId`,`data-v-b163e877`]]);function fr(){let e=d(),t=a(),{user:r}=M(),i=A(ce,N()),o=S(typeof e.query.org==`string`?e.query.org:``),s=S(``),l=S([]),u=v(),f=n(),p=c(()=>{let e=f.activeProjectId??u.projects[0]?.id;return e?u.getById(e)?.orgId??null:null});return j(()=>r.value?.id,e=>{e&&i.refresh()},{immediate:!0}),j(i.organizations,e=>{if(o.value||!e.length)return;let t=p.value;o.value=t&&e.some(e=>e.id===t)?t:e[0].id},{immediate:!0}),j(o,async n=>{if(t.replace({query:{...e.query,...n?{org:n}:{org:void 0}}}),l.value=[],s.value=``,!n)return;let r=await ce.organization.getFullOrganization({query:{organizationId:n}});if(r.error||!r.data)return;let i=r.data;s.value=i.slug??``,l.value=(i.members??[]).map(e=>({userId:e.userId,name:e.user?.name||e.user?.email||`?`,email:e.user?.email??``}))},{immediate:!0}),{orgId:o,orgSlug:s,members:l,organizations:i.organizations,cloudUser:r}}export{dr as n,z as r,fr as t};
@@ -1 +0,0 @@
1
- .kb-files[data-v-f30e50ba]{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.kb-files--inline[data-v-f30e50ba]{margin-top:.375rem}.kb-files__item[data-v-f30e50ba]{border:1px solid var(--p-content-border-color);border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.kb-files--inline .kb-files__item[data-v-f30e50ba]{padding:.25rem .375rem}.kb-files__thumb[data-v-f30e50ba]{border-radius:4px;flex-shrink:0;width:28px;height:28px;overflow:hidden}.kb-files__thumb img[data-v-f30e50ba]{object-fit:cover;width:100%;height:100%}.kb-files__icon[data-v-f30e50ba]{color:var(--p-text-muted-color)}.kb-files__name[data-v-f30e50ba]{text-align:left;cursor:pointer;min-width:0;color:var(--p-text-color);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:.8125rem;overflow:hidden}.kb-files__name--static[data-v-f30e50ba]{cursor:default}.kb-files__name[data-v-f30e50ba]:not(.kb-files__name--static):hover{color:var(--p-primary-color);text-decoration:underline}.kb-files__size[data-v-f30e50ba]{color:var(--p-text-muted-color);flex-shrink:0;font-size:.6875rem}.kb-files__remove[data-v-f30e50ba]{cursor:pointer;color:var(--p-text-muted-color);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem}.kb-files__remove[data-v-f30e50ba]:hover{color:var(--p-red-500,#ef4444);background:var(--p-content-hover-background)}.kb-upload[data-v-06e54521]{flex-direction:column;gap:.25rem;display:flex}.kb-upload__list[data-v-06e54521],.kb-upload__errors[data-v-06e54521]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.kb-upload__list li[data-v-06e54521]{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.kb-upload__name[data-v-06e54521]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--p-text-muted-color);flex:0 40%;overflow:hidden}.kb-upload__bar[data-v-06e54521]{background:var(--p-content-hover-background);border-radius:2px;flex:1;height:4px;overflow:hidden}.kb-upload__bar-fill[data-v-06e54521]{background:var(--p-primary-color);height:100%;transition:width .15s linear;display:block}.kb-upload__pct[data-v-06e54521]{color:var(--p-text-muted-color);flex-shrink:0;font-size:.6875rem}.kb-upload__status[data-v-06e54521]{color:var(--p-text-muted-color);margin:0;font-size:.75rem}.kb-upload__errors[data-v-06e54521]{color:var(--p-red-500,#ef4444);font-size:.75rem}.kb[data-v-d968a9ba]{flex-direction:column;height:100%;display:flex;overflow:hidden}.kb-header[data-v-d968a9ba]{border-bottom:1px solid var(--p-content-border-color);background:var(--p-content-background);flex-shrink:0;align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.kb-header__title[data-v-d968a9ba]{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-d968a9ba]{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.kb-header__search-input[data-v-d968a9ba]{width:180px}.kb-header__saving[data-v-d968a9ba]{color:var(--p-text-muted-color);flex-shrink:0;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.kb-board[data-v-d968a9ba]{flex:1;align-items:flex-start;gap:.75rem;padding:1rem;display:flex;overflow:auto hidden}.kb-col[data-v-d968a9ba]{background:var(--p-content-hover-background);-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__bell--on[data-v-d968a9ba]{color:var(--p-primary-color)}.kb-col__header-right[data-v-d968a9ba] .p-button.kb-col__bell--on,.kb-col__header-right[data-v-d968a9ba] .p-button.kb-col__menu-btn--open{display:inline-flex}.kb-colmenu[data-v-d968a9ba]{flex-direction:column;gap:.125rem;min-width:12rem;display:flex}.kb-colmenu__host[data-v-d968a9ba]:empty{display:none}.kb-colmenu__host[data-v-d968a9ba]{border-bottom:1px solid var(--p-content-border-color);align-items:center;gap:.25rem;margin-bottom:.25rem;padding-bottom:.25rem;display:flex}.kb-colmenu__item[data-v-d968a9ba]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.kb-colmenu__item[data-v-d968a9ba]:hover{background:var(--p-content-hover-background)}.kb-colmenu__item--danger[data-v-d968a9ba]{color:var(--p-red-500,#ef4444)}.kb-subscribe__lead[data-v-d968a9ba]{margin:0 0 .75rem;line-height:1.5}.kb-subscribe__legend[data-v-d968a9ba]{color:var(--p-text-muted-color);margin:0 0 .4rem;font-size:.8125rem;font-weight:600}.kb-subscribe__options[data-v-d968a9ba]{flex-direction:column;gap:.4rem;margin:0 0 .75rem;display:flex}.kb-subscribe__option[data-v-d968a9ba]{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.kb-subscribe__list[data-v-d968a9ba]{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;font-size:.875rem;list-style:none;display:flex}.kb-subscribe__list li[data-v-d968a9ba]{align-items:center;gap:.5rem;display:flex}.kb-subscribe__list .pi-check[data-v-d968a9ba]{color:var(--p-primary-color)}.kb-subscribe__no[data-v-d968a9ba]{color:var(--p-text-muted-color);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;display:flex}.kb-subscribe__no .pi-times[data-v-d968a9ba]{color:var(--p-text-muted-color)}.kb-subscribe__channels[data-v-d968a9ba]{color:var(--p-text-muted-color);margin:0;font-size:.8125rem}.kb-col--collapsed[data-v-d968a9ba]{cursor:pointer;width:2.75rem;min-height:8rem}.kb-col__strip[data-v-d968a9ba]{width:100%;min-height:0;color:var(--p-text-color);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.625rem 0;display:flex}.kb-col__strip--empty[data-v-d968a9ba]{opacity:.32}.kb-col__strip--empty[data-v-d968a9ba]:hover,.kb-col__strip--empty[data-v-d968a9ba]:focus-visible{opacity:1}.kb-col__strip-title[data-v-d968a9ba]{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;flex:none;font-size:.875rem;font-weight:600}.kb-col--dragover[data-v-d968a9ba]{border-color:var(--p-primary-color);background:color-mix(in srgb, var(--p-primary-color) 5%, var(--p-content-hover-background))}.kb-col__header[data-v-d968a9ba]{justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem .5rem;display:flex}.kb-col__header-right[data-v-d968a9ba]{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.kb-col__header-right[data-v-d968a9ba] .p-button{display:none}.kb-col:hover .kb-col__header-right[data-v-d968a9ba] .p-button,.kb-col__header-right[data-v-d968a9ba]:focus-within .p-button{display:inline-flex}.kb-col__title[data-v-d968a9ba]{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-d968a9ba]:hover{border-color:var(--p-content-border-color)}.kb-col__title[data-v-d968a9ba]:focus{background:var(--p-content-background);border-color:var(--p-primary-color);box-shadow:0 0 0 1px var(--p-primary-color)}.kb-col__count[data-v-d968a9ba]{color:var(--p-text-muted-color);background:color-mix(in srgb, var(--p-text-color) 12%, var(--p-content-background));border-radius:10px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.2}.kb-col__cards[data-v-d968a9ba]{flex-direction:column;flex:1;gap:.375rem;min-height:40px;padding:0 .5rem;display:flex;overflow-y:auto}.kb-col__empty[data-v-d968a9ba]{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-d968a9ba]{background:var(--p-content-background);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-d968a9ba]:hover{border-color:var(--p-primary-200,var(--p-content-border-color));box-shadow:0 2px 8px #00000014}.kb-card[data-v-d968a9ba]:active{cursor:grabbing;transform:rotate(1deg)}.kb-card--drop-before[data-v-d968a9ba]{border-top:2px solid var(--p-primary-color);margin-top:-1px}.kb-card--drop-after[data-v-d968a9ba]{border-bottom:2px solid var(--p-primary-color);margin-bottom:-1px}.kb-col--dragging[data-v-d968a9ba]{opacity:.5}.kb-col--col-drop-before[data-v-d968a9ba]{border-left:3px solid var(--p-primary-color)}.kb-col--col-drop-after[data-v-d968a9ba]{border-right:3px solid var(--p-primary-color)}.kb-card__top[data-v-d968a9ba]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-d968a9ba]{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-d968a9ba]{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-d968a9ba]{opacity:1}.kb-card__delete[data-v-d968a9ba]:hover{background:var(--p-red-50,#ef44441a);color:var(--p-red-500,#ef4444)}.kb-side__control[data-v-d968a9ba] .p-multiselect-chip-item .p-chip{background:0 0;gap:0;padding:0}.kb-assignee[data-v-d968a9ba]{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.kb-card__assignees[data-v-d968a9ba]{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.kb-card__avatar[data-v-d968a9ba]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:600;display:flex;overflow:hidden}.kb-card__avatar img[data-v-d968a9ba]{object-fit:cover;width:100%;height:100%}.kb-card__badges[data-v-d968a9ba]{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-d968a9ba]{align-items:center;gap:.2rem;display:inline-flex}.kb-col__add-card[data-v-d968a9ba]{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--top[data-v-d968a9ba]{margin:0 .5rem .25rem}.kb-col__add-card[data-v-d968a9ba]:hover{background:color-mix(in srgb, var(--p-text-color) 12%, var(--p-content-background));color:var(--p-text-color)}.kb-add-col[data-v-d968a9ba]{flex-shrink:0;width:300px}.kb-add-col__trigger[data-v-d968a9ba]{background:var(--p-content-hover-background);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-d968a9ba]:hover{background:color-mix(in srgb, var(--p-text-color) 12%, var(--p-content-background));border-color:var(--p-primary-color);color:var(--p-primary-color)}.kb-add-col__form[data-v-d968a9ba]{background:var(--p-content-hover-background);border-radius:10px;padding:.75rem}.kb-add-col__actions[data-v-d968a9ba]{gap:.5rem;margin-top:.5rem;display:flex}.kb-tpl-intro[data-v-d968a9ba]{color:var(--p-text-muted-color);margin:0 0 .75rem;font-size:.8125rem}.kb-tpl-list[data-v-d968a9ba]{flex-direction:column;gap:.375rem;display:flex}.kb-tpl-option[data-v-d968a9ba]{border:1px solid var(--p-content-border-color);width:100%;color:var(--p-text-color);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.kb-tpl-option[data-v-d968a9ba]:hover{background:var(--p-content-hover-background);border-color:var(--p-primary-color)}.kb-card-dialog .p-dialog-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.kb-dialog[data-v-d968a9ba]{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:1.25rem;min-height:0;display:grid}.kb-dialog__main[data-v-d968a9ba]{flex-direction:column;gap:1rem;min-width:0;min-height:0;display:flex}.kb-dialog__main[data-v-d968a9ba] .p-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.kb-dialog__main[data-v-d968a9ba] .p-tablist{flex:none}.kb-dialog__main[data-v-d968a9ba] .p-tabpanels{flex:auto;min-height:0;overflow-y:auto}.kb-side[data-v-d968a9ba]{border-left:1px solid var(--p-content-border-color);flex-direction:column;gap:1rem;min-height:0;padding-left:1.25rem;display:flex;overflow-y:auto}.kb-side__block[data-v-d968a9ba]{flex-direction:column;gap:.375rem;display:flex}.kb-side__label[data-v-d968a9ba]{color:var(--p-text-muted-color);font-size:.8125rem;font-weight:500}.kb-side__control[data-v-d968a9ba]{width:100%}.kb-side__hint[data-v-d968a9ba]{color:var(--p-text-muted-color);margin:0;font-size:.6875rem}.kb-side__meta[data-v-d968a9ba]{color:var(--p-text-muted-color);gap:.25rem;font-size:.75rem}.kb-side__meta p[data-v-d968a9ba]{align-items:center;gap:.375rem;margin:0;display:flex}.kb-side__convs[data-v-d968a9ba]{flex-direction:column;gap:.25rem;display:flex}.kb-side__conv[data-v-d968a9ba]{color:var(--p-primary-color);cursor:pointer;align-items:center;gap:.375rem;font-size:.75rem;text-decoration:none;display:flex}.kb-side__conv:hover .kb-side__conv-label[data-v-d968a9ba]{text-decoration:underline}.kb-side__conv-label[data-v-d968a9ba]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-side__actions[data-v-d968a9ba]{flex-direction:column;gap:.5rem;display:flex}.kb-side__danger[data-v-d968a9ba]{border-top:1px solid var(--p-content-border-color);padding-top:.5rem}@media (max-width:720px){.kb-card-dialog .p-dialog-content{overflow-y:auto}.kb-dialog[data-v-d968a9ba]{grid-template-columns:minmax(0,1fr);min-height:auto}.kb-dialog__main[data-v-d968a9ba] .p-tabpanels{overflow-y:visible}.kb-side[data-v-d968a9ba]{border-left:none;border-top:1px solid var(--p-content-border-color);padding-top:1rem;padding-left:0;overflow-y:visible}}.kb-dialog__field[data-v-d968a9ba]{flex-direction:column;gap:.375rem;display:flex}.kb-dialog__field[data-v-d968a9ba] .p-inputtext,.kb-dialog__field[data-v-d968a9ba] .p-textarea{width:100%}.kb-dialog__author[data-v-d968a9ba]{color:var(--p-text-muted-color);align-items:center;gap:.375rem;margin:-.5rem 0 0;font-size:.75rem;display:flex}.kb-dialog__label[data-v-d968a9ba]{color:var(--p-text-muted-color);font-size:.8125rem;font-weight:500}.kb-dialog__images[data-v-d968a9ba]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__thumb[data-v-d968a9ba]{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-d968a9ba]{object-fit:cover;width:100%;height:100%;display:block}.kb-dialog__thumb-remove[data-v-d968a9ba]{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-d968a9ba]:hover{background:var(--p-red-500,#ef4444)}.kb-dialog__upload[data-v-d968a9ba]{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-d968a9ba]:hover{opacity:.8}.kb-dialog__upload input[data-v-d968a9ba]{display:none}.kb-dialog__actions-zone[data-v-d968a9ba]{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-d968a9ba]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__danger-zone[data-v-d968a9ba]{border-top:1px solid var(--p-content-border-color);padding-top:.75rem}.kb-dialog__footer[data-v-d968a9ba]{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.kb-dialog__unsaved[data-v-d968a9ba]{color:var(--p-orange-500,#f97316);align-items:center;gap:.375rem;margin-right:auto;font-size:.8125rem;display:flex}.kb-dialog__edit-content[data-v-d968a9ba]{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.kb-history[data-v-d968a9ba]{padding:.5rem 0}.kb-history__empty[data-v-d968a9ba]{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-d968a9ba]{opacity:.5;font-size:1.5rem}.kb-history__timeline[data-v-d968a9ba]{flex-direction:column;padding-left:1.75rem;display:flex;position:relative}.kb-history__timeline[data-v-d968a9ba]: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-d968a9ba]{align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex;position:relative}.kb-history__item--clickable[data-v-d968a9ba]{cursor:pointer;border-radius:6px;margin:0 -.375rem;padding:.5rem .375rem;transition:background .15s}.kb-history__item--clickable[data-v-d968a9ba]:hover{background:var(--p-content-hover-background)}.kb-history__item--clickable:hover .kb-history__label[data-v-d968a9ba]{color:var(--p-primary-color)}.kb-history__icon[data-v-d968a9ba]{background:var(--p-content-background);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-d968a9ba]{color:var(--p-text-muted-color);font-size:.625rem}.kb-history__body[data-v-d968a9ba]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.kb-history__label[data-v-d968a9ba]{color:var(--p-text-color);font-size:.8125rem;font-weight:500}.kb-history__detail[data-v-d968a9ba]{color:var(--p-text-muted-color);word-break:break-word;font-size:.75rem}.kb-history__time[data-v-d968a9ba]{color:var(--p-text-muted-color);opacity:.7;font-size:.6875rem}.kb-comments[data-v-d968a9ba]{flex-direction:column;gap:1rem;display:flex}.kb-comments__input[data-v-d968a9ba]{z-index:1;background:var(--p-content-background);border-top:1px solid var(--p-content-border-color);flex-direction:column;gap:.5rem;margin-top:-.25rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}.kb-comments__edited[data-v-d968a9ba]{color:var(--p-text-muted-color);font-size:.6875rem;font-style:italic}.kb-comments__tools[data-v-d968a9ba]{gap:.125rem;margin-left:auto;display:flex}.kb-comments__tool[data-v-d968a9ba]{cursor:pointer;color:var(--p-text-muted-color);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem;font-size:.6875rem}.kb-comments__tool[data-v-d968a9ba]:hover{color:var(--p-text-color);background:var(--p-content-hover-background)}.kb-comments__edit[data-v-d968a9ba]{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.kb-comments__actions[data-v-d968a9ba]{justify-content:flex-end;align-items:center;gap:.625rem;display:flex}.kb-comments__attach[data-v-d968a9ba]{cursor:pointer;color:var(--p-text-muted-color);border-radius:4px;align-items:center;margin-right:auto;padding:.25rem;display:inline-flex}.kb-comments__attach[data-v-d968a9ba]:hover{color:var(--p-text-color);background:var(--p-content-hover-background)}.kb-comments__attach input[data-v-d968a9ba]{display:none}.kb-comments__hint[data-v-d968a9ba]{color:var(--p-text-muted-color);font-size:.6875rem}.kb-comments__empty[data-v-d968a9ba]{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-d968a9ba]{opacity:.5;font-size:1.5rem}.kb-comments__list[data-v-d968a9ba]{flex-direction:column;gap:.75rem;display:flex}.kb-comments__item[data-v-d968a9ba]{background:color-mix(in srgb, var(--p-text-color) 4%, var(--p-content-background));border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.kb-comments__item--ai[data-v-d968a9ba]{background:color-mix(in srgb, var(--p-primary-color) 10%, transparent);border-left:3px solid var(--p-primary-color)}.kb-comments__item--clickable[data-v-d968a9ba]{cursor:pointer;transition:background .15s,box-shadow .15s}.kb-comments__item--clickable[data-v-d968a9ba]:hover{background:var(--p-content-hover-background);box-shadow:0 0 0 2px var(--p-primary-color)}.kb-comments__avatar[data-v-d968a9ba]{background:color-mix(in srgb, var(--p-text-color) 12%, var(--p-content-background));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-d968a9ba]{background:color-mix(in srgb, var(--p-primary-color) 18%, transparent);color:var(--p-primary-color)}.kb-comments__avatar i[data-v-d968a9ba]{font-size:.75rem}.kb-comments__avatar--photo[data-v-d968a9ba]{color:#fff;font-size:.625rem;font-weight:600;overflow:hidden}.kb-comments__avatar img[data-v-d968a9ba]{object-fit:cover;width:100%;height:100%}.kb-comments__body[data-v-d968a9ba]{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.kb-comments__meta[data-v-d968a9ba]{align-items:center;gap:.5rem;display:flex}.kb-comments__author[data-v-d968a9ba]{color:var(--p-text-color);font-size:.8125rem;font-weight:600}.kb-comments__time[data-v-d968a9ba]{color:var(--p-text-muted-color);font-size:.6875rem}.kb-comments__text[data-v-d968a9ba]{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-d968a9ba]{white-space:normal}.kb-comments__text--clamped[data-v-d968a9ba]{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kb-comments__text--toggleable[data-v-d968a9ba]{cursor:pointer}.kb-comments__more[data-v-d968a9ba]{color:var(--p-primary-color);cursor:pointer;background:0 0;border:none;margin-top:.15rem;padding:0;font-size:.75rem;font-weight:500}.kb-comments__more[data-v-d968a9ba]:hover{text-decoration:underline}.kb-comments__text--markdown[data-v-d968a9ba] p{margin:0 0 .25em}.kb-comments__text--markdown[data-v-d968a9ba] p:last-child{margin-bottom:0}.kb-comments__text--markdown[data-v-d968a9ba] h1,.kb-comments__text--markdown[data-v-d968a9ba] h2,.kb-comments__text--markdown[data-v-d968a9ba] h3{margin:.4em 0 .15em;font-weight:700}.kb-comments__text--markdown[data-v-d968a9ba] ul,.kb-comments__text--markdown[data-v-d968a9ba] ol{margin:.2em 0;padding-left:1.4em}.kb-comments__text--markdown[data-v-d968a9ba] li{margin-bottom:.1em}.kb-comments__text--markdown[data-v-d968a9ba] 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-d968a9ba] 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-d968a9ba] pre code{background:0 0;padding:0}.kb-comments__text--markdown[data-v-d968a9ba] 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-d968a9ba] a{color:var(--p-primary-color);text-decoration:underline}.kb-card__actions[data-v-d968a9ba]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-header__readonly[data-v-d968a9ba]{background:var(--p-content-hover-background);color:var(--p-text-muted-color);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.kanban-list-page[data-v-b163e877]{max-width:1200px;padding:1.5rem}.page-header[data-v-b163e877]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1[data-v-b163e877]{margin:0;font-size:1.5rem}.page-header__right[data-v-b163e877]{align-items:center;gap:.75rem;display:flex}.search-input[data-v-b163e877]{width:15rem}.quota[data-v-b163e877]{color:var(--p-text-muted-color);white-space:nowrap;font-size:.8125rem}.quota--full[data-v-b163e877]{color:var(--p-orange-500,#f97316);font-weight:600}.board-grid[data-v-b163e877]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.board-card[data-v-b163e877]{cursor:pointer;transition:box-shadow .2s}.board-card[data-v-b163e877]:hover{box-shadow:0 4px 14px #0000001f}.board-card.archived[data-v-b163e877]{opacity:.6;cursor:default}.board-desc[data-v-b163e877]{color:var(--p-text-muted-color);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}.board-actions[data-v-b163e877]{gap:.25rem;display:flex}.dialog-field[data-v-b163e877]{margin-bottom:1rem}.template-dialog .p-dialog-content{flex-direction:column;display:flex;overflow-y:auto}.dialog-field .w-full[data-v-b163e877]{width:100%}.dialog-field label[data-v-b163e877]{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.templates-intro[data-v-b163e877]{color:var(--p-text-muted-color);margin:0 0 1rem;font-size:.875rem}.template-list[data-v-b163e877]{margin:0;padding:0;list-style:none}.template-row[data-v-b163e877]{border-bottom:1px solid var(--p-content-border-color);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.template-row[data-v-b163e877]:last-child{border-bottom:none}.template-row__name[data-v-b163e877]{font-weight:500}.hint[data-v-b163e877]{color:var(--p-text-muted-color);margin-top:.375rem;font-size:.75rem;display:block}.empty-state[data-v-b163e877]{text-align:center;color:var(--p-text-muted-color);padding:3rem 1rem}