@acedatacloud/nexior 3.380.1 → 3.380.2

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 (264) hide show
  1. package/dist/assets/{ApiCodeButton-CamxfAYn.js → ApiCodeButton-BAuef93l.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-B6qw-zTG.js → ApiCodeDialog-CJNl51jX.js} +1 -1
  3. package/dist/assets/{Artifacts-DwNgOyFm.js → Artifacts-D-50vcyB.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-DdYsAvEY.js → AskUserQuestionCard-HOGbdVCx.js} +1 -1
  5. package/dist/assets/{AudioPreview-84i4UhYy.js → AudioPreview-DJ2gsjVr.js} +1 -1
  6. package/dist/assets/{Auth-BFJkqHFM.js → Auth-Dlp7xKHP.js} +1 -1
  7. package/dist/assets/{Bare-zKVunPhm.js → Bare-Ct3Fbxhk.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-DdJ_x_l7.js → BotPlaceholder-COCaLEsI.js} +1 -1
  9. package/dist/assets/{BottomFooter-CHac3iaO.js → BottomFooter-D0HWNNaR.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-c2VMKC__.js → BrowseConnectors-CT2o1zx2.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-DNRMkL-q.js → BrowserPairingDialog-CmO-e4vc.js} +1 -1
  12. package/dist/assets/{Callback-DhDAwkF9.js → Callback-5rWl9IM3.js} +1 -1
  13. package/dist/assets/{CodeSnippet-CDAvIvGE.js → CodeSnippet-B98e32UW.js} +1 -1
  14. package/dist/assets/{Console-3u8vCXns.js → Console-DQXKzqBt.js} +1 -1
  15. package/dist/assets/Conversation-bKFTvAY4.js +2 -0
  16. package/dist/assets/{Conversation-CC6vYw7p.css → Conversation-mRk37Koy.css} +1 -1
  17. package/dist/assets/{Conversation-DxR4Pbb-.js → Conversation-rfcy3_BE.js} +1 -1
  18. package/dist/assets/{CopyToClipboard-Bx-prlKU.js → CopyToClipboard-HbsY8Q0t.js} +1 -1
  19. package/dist/assets/{Detail-CW4fx2HA.js → Detail-CtJtxr58.js} +1 -1
  20. package/dist/assets/{Extra-DiYJ1iQW.js → Extra-BVs5m0ja.js} +1 -1
  21. package/dist/assets/{FilePreview-DEJQgE9X.js → FilePreview-DjFGb_i7.js} +1 -1
  22. package/dist/assets/{Hailuo-WV0lDtmB.js → Hailuo-BWbxhJnw.js} +1 -1
  23. package/dist/assets/{History-DVVV8N_m.js → History-CntzWG3z.js} +1 -1
  24. package/dist/assets/{ImagePreview-Cqw8CRzu.js → ImagePreview-BOJnqkhj.js} +1 -1
  25. package/dist/assets/{ImageWrapper-BpTBr_wd.js → ImageWrapper-jUIsT2uG.js} +1 -1
  26. package/dist/assets/{Index-Cdl5_bOZ.js → Index-1ScP-54v.js} +1 -1
  27. package/dist/assets/{Index-Wg2EhiDs.js → Index-B34RJEiV.js} +1 -1
  28. package/dist/assets/{Index-vtOicKLv.js → Index-BANSPAFX.js} +1 -1
  29. package/dist/assets/{Index-DI8UWKgA.js → Index-BRhnwcfE.js} +1 -1
  30. package/dist/assets/{Index-BrmDN6uC.js → Index-BY0_i-3X.js} +1 -1
  31. package/dist/assets/{Index-B9Tj22yt.js → Index-BdMHiE-f.js} +1 -1
  32. package/dist/assets/{Index-yqv7ZkDs.js → Index-BsC5jVqE.js} +1 -1
  33. package/dist/assets/{Index-DIiTfkhB.js → Index-Bxa3vj7O.js} +1 -1
  34. package/dist/assets/{Index-CbO-F0I7.js → Index-BxbOeV06.js} +1 -1
  35. package/dist/assets/{Index-C1OELKA5.js → Index-ByJmV-Ny.js} +1 -1
  36. package/dist/assets/{Index-BARIH8Nt2.js → Index-C1-Yjx5R2.js} +1 -1
  37. package/dist/assets/{Index-DQ0VO7tF.js → Index-C2E980QP.js} +1 -1
  38. package/dist/assets/{Index-gxMwKxwR.js → Index-CJBOiVL8.js} +1 -1
  39. package/dist/assets/{Index-BwLmL2eQ.js → Index-CLzVHfhh.js} +1 -1
  40. package/dist/assets/{Index-B0NAMUrm.js → Index-CNSavx-6.js} +1 -1
  41. package/dist/assets/{Index-CVApWnpG.js → Index-CTCEfcao.js} +1 -1
  42. package/dist/assets/{Index-bseWMEdN.js → Index-CWver0o-.js} +1 -1
  43. package/dist/assets/{Index-DzqV9_FA.js → Index-CaTXCUQv.js} +1 -1
  44. package/dist/assets/{Index-QHKoX9XM.js → Index-CsxPkb3I.js} +1 -1
  45. package/dist/assets/{Index-BOV3Grrd.js → Index-Cu1z-r3p.js} +1 -1
  46. package/dist/assets/{Index-bt_a28ni.js → Index-Czvx7jUu.js} +1 -1
  47. package/dist/assets/{Index-KDTvzuOB.js → Index-DCN-BaUH.js} +1 -1
  48. package/dist/assets/{Index-K9jEAeNq.js → Index-DQhjjD3s.js} +1 -1
  49. package/dist/assets/{Index-zolYZpzs.js → Index-DZ8jqCWj.js} +1 -1
  50. package/dist/assets/{Index-BaSjILw9.js → Index-DaTVs5dH.js} +1 -1
  51. package/dist/assets/{Index-CjWeOpGe.js → Index-DdNOpRkS.js} +1 -1
  52. package/dist/assets/{Index-C6kCQ1cJ.js → Index-DdZsBFB5.js} +1 -1
  53. package/dist/assets/{Index-FcXIzdxp.js → Index-Dg1SegnC.js} +1 -1
  54. package/dist/assets/{Index-BxZ9t9lT.js → Index-DpcLvY7b.js} +1 -1
  55. package/dist/assets/{Index-DpuqqoKw.js → Index-Dywa-sOt.js} +1 -1
  56. package/dist/assets/{Index-DXm2-z8f.js → Index-Qe5J3wsl.js} +1 -1
  57. package/dist/assets/{Index-BhwEsNJt.js → Index-_C5fbH4k.js} +1 -1
  58. package/dist/assets/{Index-CYj2bNzo.js → Index-k-E7L4Dr.js} +1 -1
  59. package/dist/assets/{Index-dIYMvfR5.js → Index-l_7B88SE.js} +1 -1
  60. package/dist/assets/{Index-cS59vcTw.js → Index-o0FmLDjP.js} +1 -1
  61. package/dist/assets/{Index-CQBhWyHf.js → Index-s_3gt0_E.js} +1 -1
  62. package/dist/assets/{Invitees-BXnPFFFM.js → Invitees-kzzW-ILn.js} +1 -1
  63. package/dist/assets/{List-BUYcw-gk.js → List-8bTT20Yv.js} +1 -1
  64. package/dist/assets/{List-QWfDlofh.js → List-D9tUdJrL.js} +1 -1
  65. package/dist/assets/{List-C725Ifa1.js → List-s_TKWzqb.js} +1 -1
  66. package/dist/assets/{LocalTools-w6U6fFBk.js → LocalTools-CuDEaMkS.js} +1 -1
  67. package/dist/assets/{LocalTools-C8OB-tb7.js → LocalTools-DG0f_J3S.js} +1 -1
  68. package/dist/assets/{Logo-Dy6TS7xE.js → Logo-DdMeEhMP.js} +1 -1
  69. package/dist/assets/{Main-CQDRHwWp.js → Main-Cm7krdKM.js} +1 -1
  70. package/dist/assets/{Message-DRWvm7uQ.js → Message-DgIfZcrI.js} +1 -1
  71. package/dist/assets/{Model-B9edDSOq.js → Model-BLgJA2Ub.js} +1 -1
  72. package/dist/assets/{Navigator-DGF-eSLd.js → Navigator-CdZ2jTLJ.js} +3 -3
  73. package/dist/assets/{NotFound-Bt15exc6.js → NotFound-QBlUUTT8.js} +1 -1
  74. package/dist/assets/{PageHeader-Dkyxvst7.js → PageHeader-BdWWZL5W.js} +1 -1
  75. package/dist/assets/{Pay-CvzNCng-.js → Pay-CS3SOmO0.js} +1 -1
  76. package/dist/assets/{Player-sJkecdvX.js → Player-BLOV73nR.js} +1 -1
  77. package/dist/assets/{Poivelle-BgncPZnk.js → Poivelle-DoOycZZ_.js} +1 -1
  78. package/dist/assets/{RealtimeCall-cJ2dtsTe.js → RealtimeCall-D3FkYSGD.js} +1 -1
  79. package/dist/assets/{ReportButton-Dw0mHMOU.js → ReportButton-CN9sBNWJ.js} +1 -1
  80. package/dist/assets/{ReportDialog-LE8Yt5jU.js → ReportDialog-5PQFlLbm.js} +1 -1
  81. package/dist/assets/{ScenarioPaymentMode-B-H0w0Nu.js → ScenarioPaymentMode--vT56PK3.js} +1 -1
  82. package/dist/assets/{ScheduledTasks-CyrX0a9_.js → ScheduledTasks-HyNbHY_e.js} +1 -1
  83. package/dist/assets/{ServicePricingSummary-CIkjhZtm.js → ServicePricingSummary-BwJqvNoc.js} +1 -1
  84. package/dist/assets/{SharedMarkdown-bor2SPw_.js → SharedMarkdown-Dgwz79AH.js} +1 -1
  85. package/dist/assets/{ShowcaseGrid-BO4tjsZj.js → ShowcaseGrid-Cyggh9Te.js} +1 -1
  86. package/dist/assets/{ShowcaseResultTabs-9R6ZuYzV.js → ShowcaseResultTabs-v1RT0-EQ.js} +1 -1
  87. package/dist/assets/{SolanaWalletPickerDialog-CxB9lFgE.js → SolanaWalletPickerDialog-Y2cRE-1Z.js} +1 -1
  88. package/dist/assets/{Status-DyxJEYDP.js → Status-dpjuYDjJ.js} +1 -1
  89. package/dist/assets/{Subscribe-dqh6R-ah.js → Subscribe-mN3aBnom.js} +1 -1
  90. package/dist/assets/{TabSwitcher-BqNPG1BT.js → TabSwitcher-4IzkfBcK.js} +1 -1
  91. package/dist/assets/{Tts-BO7DCsF6.js → Tts-CfoJ4zvl.js} +1 -1
  92. package/dist/assets/{VideoPlayer-DnqvHNJD.js → VideoPlayer-DTqRjdRG.js} +1 -1
  93. package/dist/assets/{VideoPreview-BjBJZB2k.js → VideoPreview-CGae38TQ.js} +1 -1
  94. package/dist/assets/{VueMarkdown-mGSicH9K.js → VueMarkdown-D3wRPAu9.js} +2 -2
  95. package/dist/assets/{WriteSkillDialog-BQrqa_CN.js → WriteSkillDialog-DjAuMYyl.js} +1 -1
  96. package/dist/assets/{airwallexCheckout-Ce-VmbHc.js → airwallexCheckout-BM2YTMdU.js} +1 -1
  97. package/dist/assets/arrow-down-Cc0TpZ6V.js +1 -0
  98. package/dist/assets/arrow-left-wkfGyPYX.js +1 -0
  99. package/dist/assets/arrow-right-CsYF1XDT.js +1 -0
  100. package/dist/assets/arrow-up-CadYwiP5.js +1 -0
  101. package/dist/assets/{authorizeFlow-Bk2f32YE.js → authorizeFlow-DU2BZzr7.js} +1 -1
  102. package/dist/assets/{avatar-CAwD-542.js → avatar-Bg7PGVlq.js} +1 -1
  103. package/dist/assets/{back-navigation-C8Qheh_f.js → back-navigation-Ch6lhmlX.js} +1 -1
  104. package/dist/assets/{basic-DSkPdnWX.js → basic-BNsRU4n8.js} +1 -1
  105. package/dist/assets/{book-open-0Z-IYqAI.js → book-open-DpyuRD7n.js} +1 -1
  106. package/dist/assets/{box-C-N2GtXj.js → box-DHXL0jfh.js} +1 -1
  107. package/dist/assets/{boxes-CknsMc6m.js → boxes-BcCWeb5p.js} +1 -1
  108. package/dist/assets/{brain-RXBwcjer.js → brain-BFWVHgYb.js} +1 -1
  109. package/dist/assets/{chart-no-axes-combined-DIQO991i.js → chart-no-axes-combined-CSX8QYY0.js} +1 -1
  110. package/dist/assets/{chat-B9eSQx3a.js → chat-ZSzylqiY.js} +1 -1
  111. package/dist/assets/check-C9zXecWP.js +1 -0
  112. package/dist/assets/chevron-down-DyqiQUvH.js +1 -0
  113. package/dist/assets/chevron-right-DddsfVqa.js +1 -0
  114. package/dist/assets/{circle-alert-o2dQ9ZSK.js → circle-alert-BjOnhxg5.js} +1 -1
  115. package/dist/assets/circle-check-ClbBCFzO.js +1 -0
  116. package/dist/assets/{circle-question-mark-BgNVzfik.js → circle-question-mark-DtI_kUZA.js} +1 -1
  117. package/dist/assets/{clipboard-list-DCNAyOLg.js → clipboard-list-2LwEZwI6.js} +1 -1
  118. package/dist/assets/clock-Bn9Jxy03.js +1 -0
  119. package/dist/assets/code-DxfEtiQq.js +1 -0
  120. package/dist/assets/{codingBridge-ChpgPsBh.js → codingBridge-CZiAUZ1o.js} +1 -1
  121. package/dist/assets/{codingBridgeNotify-ffffcs_6.js → codingBridgeNotify-Dcz00oP8.js} +2 -2
  122. package/dist/assets/{coins-BhnsYulb.js → coins-Cc8AXHrH.js} +1 -1
  123. package/dist/assets/{copy-iuMh5HDj.js → copy-ChJf6J8T.js} +1 -1
  124. package/dist/assets/{createTaskActions-B3dbKGMN.js → createTaskActions-BLhdN038.js} +1 -1
  125. package/dist/assets/{date-picker-D5SccgwV.js → date-picker-CmqRy172.js} +1 -1
  126. package/dist/assets/{digitalhuman-Doi9r0PO.js → digitalhuman-D3kr_R34.js} +1 -1
  127. package/dist/assets/{dollar-sign-QtIaNZDY.js → dollar-sign-C3RgxHLp.js} +1 -1
  128. package/dist/assets/{download-0y-HYDOw.js → download-Z5haTZRA.js} +1 -1
  129. package/dist/assets/{drawer-L7Y4nWQp.js → drawer-COHNQWqs.js} +1 -1
  130. package/dist/assets/{dropdown-C9KwKanc.js → dropdown-DKgowttg.js} +1 -1
  131. package/dist/assets/{dropdown-Bw5-2BFz.js → dropdown-vx0RS4iF.js} +1 -1
  132. package/dist/assets/{ellipsis-Bn0nMuSn.js → ellipsis-BRqynnFc.js} +1 -1
  133. package/dist/assets/{esm-CnPB5xJ-.js → esm-2XgVeB2E.js} +2 -2
  134. package/dist/assets/{esm-DKxDTwPZ.js → esm-BtzjihHu.js} +2 -2
  135. package/dist/assets/esm-CH-tYMgA.js +1 -0
  136. package/dist/assets/{external-link-DAu20zfD.js → external-link-Dzis-Iij.js} +1 -1
  137. package/dist/assets/{eye-Dcv4rJLx.js → eye-CPWDX0rj.js} +1 -1
  138. package/dist/assets/{file-ChcoawXP.js → file-CFpnaAp9.js} +1 -1
  139. package/dist/assets/{file-output-CsUr7vYl.js → file-output-Db3ievv3.js} +1 -1
  140. package/dist/assets/{file-text-B1OxHrfW.js → file-text-Bx7DV_Ph.js} +1 -1
  141. package/dist/assets/{fish-D4rjfmWX.js → fish-DpjLA1_J.js} +1 -1
  142. package/dist/assets/{flux-2xWiCPHw.js → flux-CZitrxBU.js} +1 -1
  143. package/dist/assets/{folder-KD5ueWfZ.js → folder-3cMGdqj5.js} +1 -1
  144. package/dist/assets/gauge-BBj5iYzC.js +1 -0
  145. package/dist/assets/{globe-HlmrWk6W.js → globe-CNdSQ-d0.js} +1 -1
  146. package/dist/assets/{grokvideo-BHubDvRV.js → grokvideo-D5ixRL4d.js} +1 -1
  147. package/dist/assets/{hailuo-Bzcyw21P.js → hailuo-CN3h_OqS.js} +1 -1
  148. package/dist/assets/{hash-fnNMJyhY.js → hash-DpHkwauu.js} +1 -1
  149. package/dist/assets/{headphones-DSA76YU2.js → headphones-BTUYs4if.js} +1 -1
  150. package/dist/assets/{history-_ARakB9c.js → history-C6NujvoG.js} +1 -1
  151. package/dist/assets/{house-Dgyx7sS4.js → house-vcIF9UgO.js} +1 -1
  152. package/dist/assets/{image-CSGEim55.js → image-D0Z5ZFK_.js} +1 -1
  153. package/dist/assets/{index-9QPtYDXy.js → index-_Awgv-in.js} +4 -4
  154. package/dist/assets/{index.es-2anmjGSC.js → index.es-CCkFg17c.js} +1 -1
  155. package/dist/assets/{info-CkI7CDMr.js → info-7bwgfIAM.js} +1 -1
  156. package/dist/assets/{input-number-B-ci8lJH.js → input-number-BV0MZh77.js} +1 -1
  157. package/dist/assets/{kling-FeDQBu6x.js → kling-_GgIPZmJ.js} +1 -1
  158. package/dist/assets/{languages-BhFx4jqh.js → languages-eiKrBwQ9.js} +1 -1
  159. package/dist/assets/{laptop-C5hFX7eQ.js → laptop-De1YEbG7.js} +1 -1
  160. package/dist/assets/{lightbulb-DcFS8bcm.js → lightbulb-BkXsrGMV.js} +1 -1
  161. package/dist/assets/{link-Cz-XVIIE.js → link-CmAhU9n5.js} +1 -1
  162. package/dist/assets/loader-circle-BnA6E-fw.js +1 -0
  163. package/dist/assets/{luma-CzCWAIok.js → luma-dOcVv8PU.js} +1 -1
  164. package/dist/assets/{maestro-BJyN9VNW.js → maestro-BA_US7Ku.js} +1 -1
  165. package/dist/assets/{mail-BVe9oOKB.js → mail-DOTxxljj.js} +1 -1
  166. package/dist/assets/{message-circle-BFTr-7Km.js → message-circle-DHdafP7h.js} +1 -1
  167. package/dist/assets/{mic-BfGutdH1.js → mic-I-Dgdk5h.js} +1 -1
  168. package/dist/assets/{midjourney-BRDpKRFQ.js → midjourney-CkpPGpuc.js} +1 -1
  169. package/dist/assets/{minimax-9OPBJOhC.js → minimax-dglTN6Wn.js} +1 -1
  170. package/dist/assets/{mobileLocalExec-DysSbQiZ.js → mobileLocalExec-D36oV_Dc.js} +2 -2
  171. package/dist/assets/{monitor-CWxf36_0.js → monitor-D1DJRzj6.js} +1 -1
  172. package/dist/assets/{mouse-pointer-2-DxOEaYGy.js → mouse-pointer-2-CBvAV0d1.js} +1 -1
  173. package/dist/assets/music-2-BxLKk04r.js +1 -0
  174. package/dist/assets/{nanobanana-BSSjfnC-.js → nanobanana-B5WVe0rT.js} +1 -1
  175. package/dist/assets/{omni-DSQf7kYF.js → omni-8wY474n1.js} +1 -1
  176. package/dist/assets/{openaiimage-bzATnFrU.js → openaiimage-CrUyfyHb.js} +1 -1
  177. package/dist/assets/{pagination-YzMa1CV0.js → pagination-2WgVwVua.js} +1 -1
  178. package/dist/assets/{pagination-DebnOQug.js → pagination-4wfrJiA1.js} +1 -1
  179. package/dist/assets/{pagination-JmOkZgOn.js → pagination-fLV6l3bm.js} +1 -1
  180. package/dist/assets/{palette-DeSZ2WLY.js → palette-EUjaN1Jk.js} +1 -1
  181. package/dist/assets/{paperclip-DhXd7SAO.js → paperclip-ByA_T_NI.js} +1 -1
  182. package/dist/assets/{pause-CNhj1yEv.js → pause-BbOxsN8j.js} +1 -1
  183. package/dist/assets/{pencil-DnXQWvKs.js → pencil-DpSB1hdB.js} +1 -1
  184. package/dist/assets/{pika-B8S0j1om.js → pika-OTZxnlC6.js} +1 -1
  185. package/dist/assets/{pixverse-DO2aJMnX.js → pixverse-Dutb2KHs.js} +1 -1
  186. package/dist/assets/play-9AFoGGJC.js +1 -0
  187. package/dist/assets/{plug-DrhNBM17.js → plug-B8myXk-6.js} +1 -1
  188. package/dist/assets/plus-DtJtYLqM.js +1 -0
  189. package/dist/assets/{poivelle-sR6cMLzO.js → poivelle-YbNCvoTm.js} +1 -1
  190. package/dist/assets/{popover-Dr0_oyas.js → popover-DDKm6Tb-.js} +1 -1
  191. package/dist/assets/{producer-CKXxSEuA.js → producer-DNG_YqHQ.js} +1 -1
  192. package/dist/assets/{qrart-D7dTts48.js → qrart-D6TdqsCu.js} +1 -1
  193. package/dist/assets/{qwenimage-CFfn7yH8.js → qwenimage-BdrIiMAj.js} +1 -1
  194. package/dist/assets/{realtime-DX1ke1rd.js → realtime-ul7PI7YM.js} +1 -1
  195. package/dist/assets/{refresh-cw-BNmuHc_7.js → refresh-cw-CZysfw_X.js} +1 -1
  196. package/dist/assets/rotate-ccw-QSY4jGQA.js +1 -0
  197. package/dist/assets/rotate-cw-qt2AqgpR.js +1 -0
  198. package/dist/assets/{scheduledTasks-j1NfRm2t.js → scheduledTasks-CWwvLYcc.js} +1 -1
  199. package/dist/assets/{scroll-text-DzWIEuO0.js → scroll-text-WTxnd_MO.js} +1 -1
  200. package/dist/assets/search-BlR7-uoc.js +1 -0
  201. package/dist/assets/{seedance-Dk-L9Cxx.js → seedance-XB-VGBX2.js} +1 -1
  202. package/dist/assets/{seedream-CGpLoG8m.js → seedream-Bhg45gEe.js} +1 -1
  203. package/dist/assets/{select-Z6KgLTht.js → select-QsHgFK-q.js} +1 -1
  204. package/dist/assets/{serp-yx-MagCJ.js → serp-DNf0Fqcr.js} +1 -1
  205. package/dist/assets/{shield-BhwHPAmZ.js → shield-ncLGJXKc.js} +1 -1
  206. package/dist/assets/{showcase-zcWzFFzG.js → showcase-BfGOkd8K.js} +1 -1
  207. package/dist/assets/{showcaseRecreateMixin-C6lb96lp.js → showcaseRecreateMixin-B5tR17rt.js} +1 -1
  208. package/dist/assets/{shuffle-COGeCuR3.js → shuffle-BWMyU1fw.js} +1 -1
  209. package/dist/assets/{siteHome-COfLLxrM.js → siteHome-CqqDqRZ6.js} +1 -1
  210. package/dist/assets/{slider-1_DTJhKi.js → slider-0Rgv6dkj.js} +1 -1
  211. package/dist/assets/{solana-wallets-ceUMBkSa.js → solana-wallets-RZzkU3nE.js} +2 -2
  212. package/dist/assets/{sora-BN_-U3OL.js → sora-Ced3sypx.js} +1 -1
  213. package/dist/assets/{sparkles-DI4JsU55.js → sparkles-DM0Gt1cF.js} +1 -1
  214. package/dist/assets/square-CGgUHPnl.js +1 -0
  215. package/dist/assets/{suno-D-96TveK.js → suno-DSyT8ZGx.js} +1 -1
  216. package/dist/assets/{switch-BSlWfHI1.js → switch-m3y06b9C.js} +1 -1
  217. package/dist/assets/{table-CdEL_ArU.js → table-BBiu55uZ.js} +1 -1
  218. package/dist/assets/{tag-Bc8fc3hv.js → tag-DGASwR9b.js} +1 -1
  219. package/dist/assets/{taskPolling-CvxWFDa8.js → taskPolling-BN9no0Yq.js} +1 -1
  220. package/dist/assets/terminal-fozPBdJ-.js +1 -0
  221. package/dist/assets/{time-picker-D5ePL9TD.js → time-picker-DBAqF4GM.js} +1 -1
  222. package/dist/assets/{tooltip-Dkhw7cOR.js → tooltip-Boxqz0SE.js} +1 -1
  223. package/dist/assets/{trash-2-Bsb0SCBF.js → trash-2-BUBbANzL.js} +1 -1
  224. package/dist/assets/{triangle-alert-BABYNg2h.js → triangle-alert-C8sUN5Zy.js} +1 -1
  225. package/dist/assets/{upload-C6vmRcPM.js → upload-DX4Z0k_g.js} +1 -1
  226. package/dist/assets/user-B585ayyt.js +1 -0
  227. package/dist/assets/{veo-Bca5_LQw.js → veo-CJXCZhun.js} +1 -1
  228. package/dist/assets/{video-B2o3QQfO.js → video-BZ-HCWgj.js} +1 -1
  229. package/dist/assets/{volume-2-Cf3G5b4P.js → volume-2-Bm6YbO6G.js} +1 -1
  230. package/dist/assets/{wallet-D6WhCMAf.js → wallet-DVR0Fxu-.js} +1 -1
  231. package/dist/assets/{wan-Dz-ixQsR.js → wan-CZ_kEyyE.js} +1 -1
  232. package/dist/assets/{wand-sparkles-D-Tu19dx.js → wand-sparkles-C6iRRX45.js} +1 -1
  233. package/dist/assets/{web-CcvCKnWJ.js → web-4WHStKBt.js} +1 -1
  234. package/dist/assets/{web-BemJd_1I.js → web-B1tY4yAy.js} +1 -1
  235. package/dist/assets/{web-CwhyWbaU.js → web-Ct7s8o-q.js} +1 -1
  236. package/dist/assets/{web-B7Ka0GnQ.js → web-DEzcvDHh.js} +1 -1
  237. package/dist/assets/{web-dns54y0r.js → web-DtA0eKm1.js} +1 -1
  238. package/dist/assets/{webextrator-BdHKfx-G.js → webextrator-DoroX76M.js} +1 -1
  239. package/dist/assets/{zap-O9CajQ-y.js → zap-CsTGHOAl.js} +1 -1
  240. package/dist/index.html +1 -1
  241. package/package.json +1 -1
  242. package/dist/assets/Conversation-CjseVtXs.js +0 -2
  243. package/dist/assets/arrow-down-BKm_Iq2K.js +0 -1
  244. package/dist/assets/arrow-left-Be-Ud4SG.js +0 -1
  245. package/dist/assets/arrow-right-Cj9BzsIC.js +0 -1
  246. package/dist/assets/arrow-up-BamHmuBY.js +0 -1
  247. package/dist/assets/check-Dr4s8f8m.js +0 -1
  248. package/dist/assets/chevron-down-EwCdZeFV.js +0 -1
  249. package/dist/assets/chevron-right-CbvTu9t5.js +0 -1
  250. package/dist/assets/circle-check-C2eKrvdE.js +0 -1
  251. package/dist/assets/clock-Df79mUBO.js +0 -1
  252. package/dist/assets/code-Vo8dFaxl.js +0 -1
  253. package/dist/assets/esm-CcuA4heV.js +0 -1
  254. package/dist/assets/gauge-Ccy1bYEm.js +0 -1
  255. package/dist/assets/loader-circle-qEYDw7AI.js +0 -1
  256. package/dist/assets/music-2-B3N31Le1.js +0 -1
  257. package/dist/assets/play-DMKqNvv-.js +0 -1
  258. package/dist/assets/plus-bghfKQuQ.js +0 -1
  259. package/dist/assets/rotate-ccw-BALIA2_c.js +0 -1
  260. package/dist/assets/rotate-cw-BUvI1r8-.js +0 -1
  261. package/dist/assets/search-DO3HHQn4.js +0 -1
  262. package/dist/assets/square-Cy83oEom.js +0 -1
  263. package/dist/assets/terminal-BGWW9sef.js +0 -1
  264. package/dist/assets/user-Df2715dH.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,j as f,mt as p,ot as ee,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./tooltip-Dkhw7cOR.js";import{v as y}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as te}from"./avatar-DEN_WCPo.js";import{n as ne,t as b}from"./checkbox-DXMDpaxv.js";import{n as x,r as S,t as C}from"./dropdown-Bw5-2BFz.js";import{n as w,t as T}from"./skeleton-Dj_a_iIP.js";import{t as E}from"./chevron-down-EwCdZeFV.js";import{t as D}from"./chevron-right-CbvTu9t5.js";import{t as O}from"./ellipsis-Bn0nMuSn.js";import{t as k}from"./external-link-DAu20zfD.js";import{t as A}from"./lightbulb-DcFS8bcm.js";import{t as j}from"./monitor-CWxf36_0.js";import{t as M}from"./plug-DrhNBM17.js";import{t as N}from"./plus-bghfKQuQ.js";import{t as P}from"./search-DO3HHQn4.js";import{D as F,Fa as I,Ga as L,Ia as R,Qa as z,Ra as B,oo as V,za as H}from"./index-9QPtYDXy.js";import{n as U,r as W,t as G}from"./authorizeFlow-Bk2f32YE.js";import{a as K,i as q,n as J,o as Y,r as X,s as Z,t as Q}from"./BrowseConnectors-c2VMKC__.js";import{t as re}from"./BrowserPairingDialog-DNRMkL-q.js";import{t as ie}from"./PageHeader-Dkyxvst7.js";var ae=_({name:`UserConnections`,components:{MetaTag:I,StatusBadge:R,ConsolePageHeader:ie,ElButton:z,ElAvatar:te,ElDialog:L,ElInput:V,ElCheckbox:b,ElCheckboxGroup:ne,ElDropdown:C,ElDropdownMenu:S,ElDropdownItem:x,AddIcon:N,CollapseUpIcon:B(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ConnectionIcon:M,DesktopIcon:j,ExpandDownIcon:E,ExpandRightIcon:D,ExternalLinkIcon:k,LockIcon:B(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),MoreIcon:O,SearchIcon:P,SuggestionIcon:A,BrowseConnectors:Q,ByocCredentialsDialog:q,ConnectorMethodPicker:X,BrowserPairingDialog:re,BrowserDevicePicker:J,ElSkeleton:T,ElSkeletonItem:w,ElTooltip:v},data(){return{connections:[],connectionsRequestId:0,manageRequestId:0,catalog:[],loading:!1,loadingCatalog:!1,firstLoadComplete:!1,refreshingId:null,authorizing:!1,searchQuery:``,selectedKey:null,collapsedGroups:{},faviconBlocked:{},customServerUrl:``,customName:``,customClientId:``,customClientSecret:``,customDialogVisible:!1,customAdvancedVisible:!1,customAuthorizing:!1,scopeDialogVisible:!1,scopeDialogCatalog:null,scopeDialogMethod:null,selectedScopes:[],mcpToolsByConnection:{},mcpToolsState:{},browseDialogVisible:!1,pendingCreateNew:!1,pendingReconnectId:null,byocDialogVisible:!1,byocDialogCatalog:null,byocDialogMethod:null,pickerVisible:!1,pickerConfirmed:!1,pickerCatalog:null,pairingDialogVisible:!1,browserDevicePickerVisible:!1,browserDialogCatalog:null,browserDialogMethod:null,browserInstalling:!1,browserRebindConnectionId:null,pairedBrowserDevice:null}},computed:{catalogByIdentifier(){let e={};for(let t of this.catalog)t.identifier&&(e[t.identifier]=t);return e},catalogForConnection(){let e=this.catalogByIdentifier;return t=>{let n=t.connector_identifier;return n?e[n]:void 0}},detailActions(){let e=this.selectedItem,t=e?.connection;if(!e||!t)return[];let n=[],r=this.normalizedStatus(t.status)===`active`,i=!!e.catalog?.installable,a=this.refreshingId===t.id||this.authorizing||this.customAuthorizing;return t.supports_refresh&&n.push({command:`refresh`,label:String(this.$t(`connection.button.refresh`)),disabled:a}),e.browserSession&&r&&(n.push({command:`rebind`,label:String(this.$t(`connection.button.rebindBrowserDevice`)),disabled:this.browserInstalling}),(t.browser_device?.active_session_count||0)>0&&n.push({command:`stopSessions`,label:String(this.$t(`connection.button.stopBrowserSessions`)),disabled:a})),e.catalog&&!e.browserSession&&t.credential_type!==`none`&&(n.push({command:`reconnect`,label:String(this.$t(`connection.button.reconnect`)),disabled:!i||a}),n.push({command:`addAccount`,label:String(this.$t(`connection.button.addAccount`)),disabled:!i||a})),e.catalog&&n.push({command:`setDefault`,label:String(t.is_default?this.$t(`connection.button.isDefault`):this.$t(`connection.button.setDefault`)),disabled:!!t.is_default}),n.push({command:`rename`,label:String(this.$t(`connection.button.rename`))}),n.push({command:`disconnect`,label:String(this.$t(`connection.button.disconnect`)),danger:!0,divided:!0}),n},activeConnectedCatalogIds(){let e=new Set,t=this.catalogByIdentifier;for(let n of this.connections){if(this.normalizedStatus(n.status)!==`active`)continue;let r=n.connector_identifier,i=r?t[r]:void 0;i&&e.add(i.identifier)}return e},items(){let e=[],t={};for(let e of this.connections){let n=e.connector_identifier||``;n&&(t[n]=(t[n]||0)+1)}let n=new Set(Object.keys(t).filter(e=>t[e]>1));for(let t of this.connections){let r=`connection:${t.id}`,i=this.catalogForConnection(t),a=t.execution_type===`remote_mcp`,o=t.credential_type===`user_secret`||t.credential_type===`cookie_jar`,s=t.execution_type===`browser_device`,c=a&&!i,l=this.faviconBlocked[r]?void 0:i?.icon_url||void 0;e.push({key:r,name:i?.name||(s?t.profile?.name||t.connector_identifier||String(this.$t(`user.browserDevice.title`)):a&&t.server_url||t.provider),faviconUrl:l,custom:a,byoc:o,browserSession:s,byo:c,description:i?.short_description||i?.description||void 0,serverUrl:a&&t.server_url||void 0,connection:t,catalog:i,accountLabel:this.connectionAccountLabel(t),isDefault:n.has(t.connector_identifier||``)&&!!t.is_default,clusterKey:t.connector_identifier||r,createdAt:Date.parse(t.created_at)||0,accountSeq:t.account_seq??0,groupKey:`connected`})}let r=this.activeConnectedCatalogIds;for(let t of this.catalog){if(!t.is_featured||r.has(t.identifier))continue;let n=`catalog:${t.identifier}`,i=this.faviconBlocked[n]?void 0:t.icon_url||void 0;e.push({key:n,name:t.name||t.identifier,faviconUrl:i,custom:!1,byoc:!1,browserSession:!1,byo:!1,description:t.short_description||t.description||void 0,catalog:t,groupKey:`available`})}return e},orderedItems(){let e=this.items.filter(e=>e.groupKey===`connected`),t=this.items.filter(e=>e.groupKey===`available`),n=new Map;for(let t of e){let e=t.clusterKey||t.key;n.set(e,Math.max(n.get(e)??0,t.createdAt||0))}return e.sort((e,t)=>{let r=e.clusterKey||e.key,i=t.clusterKey||t.key;if(r!==i){let e=(n.get(i)??0)-(n.get(r)??0);return e===0?r<i?-1:1:e}if(!!e.isDefault!=!!t.isDefault)return e.isDefault?-1:1;let a=(t.createdAt||0)-(e.createdAt||0);if(a!==0)return a;let o=(e.accountSeq??0)-(t.accountSeq??0);return o===0?e.key<t.key?-1:+(e.key>t.key):o}),[...e,...t]},filteredItems(){let e=this.searchQuery.trim().toLowerCase();return e?this.orderedItems.filter(t=>t.name.toLowerCase().includes(e)||(t.serverUrl||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):this.orderedItems},filteredGroups(){let e=[],t=this.filteredItems.filter(e=>e.groupKey===`connected`),n=this.filteredItems.filter(e=>e.groupKey===`available`);return t.length&&e.push({key:`connected`,label:String(this.$t(`connection.title.groupConnected`)),collapsed:!!this.collapsedGroups.connected,items:t}),n.length&&e.push({key:`available`,label:String(this.$t(`connection.title.groupRecommended`)),collapsed:!!this.collapsedGroups.available,items:n}),e},selectedItem(){return this.selectedKey&&this.items.find(e=>e.key===this.selectedKey)||null},detailScopes(){let e=this.selectedItem;if(!e||!e.catalog)return[];let t=e.catalog.permissions||[],n=new Map(t.map(e=>[e.id,e])),r=e.connection;return r&&(r.scopes||[]).length>0?(r.scopes||[]).map(e=>{let t=n.get(e);return{id:e,label:t?.label||e,desc:t?.desc||``}}):t.map(e=>({id:e.id,label:e.label||e.id,desc:e.desc||``}))},selectedMcpTools(){let e=this.selectedItem?.connection;return!e||e.execution_type!==`remote_mcp`?null:this.mcpToolsByConnection[e.id]||null},selectedMcpToolsLoading(){let e=this.selectedItem?.connection;return!e||e.execution_type!==`remote_mcp`?!1:this.mcpToolsState[e.id]===!0},selectedMcpToolsError(){let e=this.selectedItem?.connection;if(!e||e.execution_type!==`remote_mcp`)return null;let t=this.mcpToolsState[e.id];return typeof t==`string`?t:null},permissionRowCount(){return this.selectedItem?.custom&&this.selectedItem.connection?this.selectedMcpTools?.length??0:this.detailScopes.length},showsAccountIdentity(){let e=this.selectedItem?.connection;return!e||this.selectedItem?.browserSession?!1:this.selectedItem?.byoc?!!(e.profile?.name||e.profile?.login||e.profile?.email):!0},scopeDialogPermissions(){return this.scopeDialogMethod?.permissions||this.scopeDialogCatalog?.permissions||[]},suggestions(){let e=this.selectedItem;return e&&e.catalog?.suggestions||[]},overviewText(){let e=(this.selectedItem?.catalog?.description||``).trim();return e?e===(this.selectedItem?.description||``).trim()?``:e:``},isMcpConnector(){return Z(this.selectedItem?.catalog)?.execution.type===`remote_mcp`},suggestionsLocked(){let e=this.selectedItem?.connection;return!e||this.normalizedStatus(e.status)!==`active`}},watch:{orderedItems:{handler(e){if(e.length===0){this.selectedKey=null;return}(!this.selectedKey||!e.some(e=>e.key===this.selectedKey))&&(this.selectedKey=e[0].key)},immediate:!1}},async mounted(){await Promise.all([this.fetchConnections(),this.fetchCatalog()]),this.firstLoadComplete=!0,this.$route.query.status===`error`&&y.error(this.$t(`connection.message.installFailed`));let e=this.$route.query.connection_id?.toString(),t=e?this.orderedItems.find(t=>t.connection?.id===e):void 0;t&&(this.selectedKey=t.key),!this.selectedKey&&this.orderedItems.length&&(this.selectedKey=this.orderedItems[0].key);let n=this.selectedKey?this.items.find(e=>e.key===this.selectedKey):null;n?.connection?.execution_type===`remote_mcp`&&this.normalizedStatus(n.connection.status)===`active`&&this.loadMcpTools(n.connection.id);let r=this.$route.query.connect?.toString();if(r){let e=this.orderedItems.find(e=>e.catalog?.identifier===r);if(e){this.selectedKey=e.key;let t=e.connection&&this.normalizedStatus(e.connection.status)===`active`;e.catalog&&!t&&this.onConnect(e.catalog)}}},methods:{onSelect(e){this.selectedKey=e.key;let t=e.connection;t&&t.execution_type===`remote_mcp`&&this.normalizedStatus(t.status)===`active`&&(this.mcpToolsState[t.id]??this.loadMcpTools(t.id))},async loadMcpTools(e){this.mcpToolsState={...this.mcpToolsState,[e]:!0};try{let{data:t}=await K.tools(e);this.mcpToolsByConnection={...this.mcpToolsByConnection,[e]:t.items||[]},this.mcpToolsState={...this.mcpToolsState,[e]:null}}catch(t){let n=t,r=n.response?.data?.detail||n.message||`Failed to load tools`;this.mcpToolsState={...this.mcpToolsState,[e]:r}}},toggleGroup(e){this.collapsedGroups={...this.collapsedGroups,[e]:!this.collapsedGroups[e]}},onFaviconError(e){this.faviconBlocked={...this.faviconBlocked,[e.key]:!0}},oauthMetadata(e){return(e.metadata||{}).oauth||{}},connectionProviderName(e){let t=this.catalogForConnection(e);return t?.name?t.name:e.execution_type===`remote_mcp`&&e.server_url||e.provider},connectionAccountLabel(e){return e.label||e.profile?.name||e.profile?.login||e.profile?.email||``},connectionAccountName(e){return e.profile?.name||e.profile?.login||e.profile?.email||`—`},connectionAvatar(e){return e.profile?.avatar||e.profile?.avatar_url||e.profile?.picture||``},connectionAccountInitial(e){let t=this.connectionAccountName(e),n=t&&t!==`—`?t.trim().charAt(0):``;return n?n.toUpperCase():`?`},connectionAccountSubtext(e){let t=e.profile?.email;return t&&t!==e.profile?.name?t:e.profile?.login||``},customAuthSummary(e){let t=this.oauthMetadata(e),n=t.token_endpoint_auth_method||`none`;return[t.client_registration_type||`dynamic`,n,(t.authorization_server_metadata||{}).issuer||t.authorization_server_url].filter(Boolean).join(` / `)},byocCredentialSummary(e){return((e.connection?.method_snapshot||Z(e.catalog,e.connection?.method_id))?.credential.credential_schema||[]).map(e=>e.label).filter(Boolean).join(` · `)},normalizedStatus(e){return e.toString().toLowerCase()},statusLabel(e){return String(this.$t(`connection.status.${this.normalizedStatus(e)}`))},statusTagType(e){switch(this.normalizedStatus(e)){case`active`:return`success`;case`expired`:return`warning`;case`revoked`:return`danger`;default:return`info`}},browserDeviceStatusLabel(e){let t=e.browser_device?.status;return t?String(this.$t(`user.browserDevice.status.${t}`)):this.statusLabel(e.status)},browserDeviceStatusTagType(e){let t=e.browser_device;if(t&&!t.compatible)return t.incompatibility_reason===`device_offline`?`warning`:`danger`;let n=t?.status;if(!n)return this.statusTagType(e.status);switch(n.toLowerCase()){case`active`:return`success`;case`pending`:return`warning`;case`suspended`:case`quarantined`:case`revoked`:return`danger`;default:return`info`}},browserDeviceCompatibilityLabel(e){let t=e.browser_device;return t?t.compatible?String(this.$t(`connection.message.browserCompatible`)):String(this.$t(`connection.message.browserIncompatibility.${t.incompatibility_reason}`)):this.statusLabel(e.status)},async fetchConnections(){let e=++this.connectionsRequestId;this.loading=!0;try{let{data:t}=await K.list();return e===this.connectionsRequestId?(this.connections=(t||[]).filter(e=>e.execution_type!==`browser_device`||this.normalizedStatus(e.status)===`active`),!0):!1}catch(e){return console.error(`Failed to load connections`,e),!1}finally{e===this.connectionsRequestId&&(this.loading=!1)}},async fetchCatalog(){this.loadingCatalog=!0;try{let{data:e}=await K.listCatalog({sort:`popular`,limit:200});this.catalog=e?.items||[]}catch(e){console.error(`Failed to load connector catalog`,e)}finally{this.loadingCatalog=!1}},onSuggestionClick(e){let t=e.prompt;if(!t)return;let n=e.model_group||`claude`;this.$router.push({path:`/${n}/conversations`,query:{query:t,source:`connector_suggestion`,suggestion_id:e.id,...this.selectedItem?.catalog?.identifier?{connector:this.selectedItem.catalog.identifier}:{}}})},async onConnect(e,t=!1,n=null){if(!e.installable||this.authorizing||this.customAuthorizing)return;if(this.pendingCreateNew=t,this.pendingReconnectId=n,Y(e).length>1){this.pickerCatalog=e,this.pickerConfirmed=!1,this.pickerVisible=!0;return}let r=Z(e);if(!r){this.clearCreateNewIntent();return}await this.connectWithMethod(e,r)},clearCreateNewIntent(){this.pendingCreateNew=!1,this.pendingReconnectId=null},onMethodSelected(e){this.pickerConfirmed=!0,this.pickerVisible=!1,this.connectWithMethod(e.item,e.method)},onPickerVisibility(e){e||(this.pickerConfirmed||this.clearCreateNewIntent(),this.pickerConfirmed=!1)},async connectWithMethod(e,t){if(t.execution.type===`browser_device`){this.browserRebindConnectionId=null,this.browserDialogCatalog=e,this.browserDialogMethod=t,this.browserDevicePickerVisible=!0;return}if(t.credential.type===`user_secret`||t.credential.type===`cookie_jar`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}let n=t.permissions||[];if(n.length>1){this.scopeDialogCatalog=e,this.scopeDialogMethod=t,this.selectedScopes=n.map(e=>e.id),this.scopeDialogVisible=!0;return}try{await H.confirm(this.$t(`connection.message.connectConfirm`,{provider:e.name||e.identifier}),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),roundButton:!0})}catch{this.clearCreateNewIntent();return}await this.startAuthorize(e,t,void 0)},async onConfirmScopes(){let e=this.scopeDialogCatalog,t=this.scopeDialogMethod;if(!e||!t)return;let n=[...this.selectedScopes];this.scopeDialogVisible=!1,this.scopeDialogCatalog=null,this.scopeDialogMethod=null,this.selectedScopes=[],await this.startAuthorize(e,t,n)},async startAuthorize(e,t,n){if(this.authorizing||this.customAuthorizing)return;this.authorizing=!0;let r=this.pendingReconnectId,i=this.pendingCreateNew,a=this.connections.find(e=>e.id===r)?.last_refreshed_at;try{let o=t.credential.type===`oauth2`?await U(W()):{returnUrl:W()},{data:s}=await K.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:o.returnUrl,method_id:t.id,...i?{create_new:!0}:{},...r?{connection_id:r}:{}});if(s?.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}if(s?.type===`redirect`&&s.authorization_url)await this.runAuthorizePopup(s.authorization_url,s.handoff_token,o.requestId,r||void 0,a);else if(s&&s.type===`active`)this.clearCreateNewIntent(),await this.fetchConnections();else throw Error(this.$t(`connection.message.installFailed`))}catch(e){this.clearCreateNewIntent(),y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.authorizing=!1}},async runAuthorizePopup(e,t,n,r,i){try{let a=await G(e,t,n);if(a?.status===`error`)throw Error(a.errorCode||`connector-authorization-failed`);if(a?.status===`cancelled`){this.clearCreateNewIntent();return}if(this.clearCreateNewIntent(),!await this.fetchConnections())throw Error(this.$t(`connection.message.refreshFailed`));if(r){let e=this.connections.find(e=>e.id===r);if(!e||this.normalizedStatus(e.status)!==`active`||(a?.status===`success`?a.connectionId!==r:!e.last_refreshed_at||e.last_refreshed_at===i))throw Error(this.$t(`connection.message.installFailed`))}if(a?.status===`success`&&(!a.connectionId||!this.connections.some(e=>e.id===a.connectionId&&this.normalizedStatus(e.status)===`active`)))throw Error(this.$t(`connection.message.installFailed`));return}catch(e){this.clearCreateNewIntent(),y.error(e?.message===`desktop-authorize-unsupported`?this.$t(`connection.message.desktopUpdateRequired`):e?.message||this.$t(`connection.message.installFailed`));return}},openCustomDialog(){this.customDialogVisible=!0},onAddCommand(e){e===`browse`?this.browseDialogVisible=!0:e===`custom`&&this.openCustomDialog()},async onCatalogInstalled(){this.clearCreateNewIntent(),await Promise.all([this.fetchConnections(),this.fetchCatalog()])},openBrowserPairing(){this.browserDevicePickerVisible=!1,this.pairingDialogVisible=!0},clearBrowserDialog(){this.browserDevicePickerVisible=!1,this.browserRebindConnectionId=null,this.browserDialogCatalog=null,this.browserDialogMethod=null,this.pendingCreateNew=!1},onBrowserPickerVisibility(e){e||this.$nextTick(()=>{!this.pairingDialogVisible&&!this.browserInstalling&&this.clearBrowserDialog()})},openBrowserRebind(e){let t=this.catalogForConnection(e),n=e.method_snapshot;!t||!n||(this.browserRebindConnectionId=e.id,this.browserDialogCatalog=t,this.browserDialogMethod=n,this.browserDevicePickerVisible=!0)},onBrowserPaired(e){this.pairedBrowserDevice=e,this.pairingDialogVisible=!1},async onBrowserPairingClosed(){if(this.browserDialogCatalog&&this.browserDialogMethod){let e=this.pairedBrowserDevice;this.pairedBrowserDevice=null,e?await this.$refs.browserDevicePicker?.refreshAfterPair(e):this.browserDevicePickerVisible=!0;return}this.pairedBrowserDevice=null,this.clearBrowserDialog()},async stopBrowserSessions(e){this.refreshingId=e.id;try{let{data:t}=await K.stopBrowserSessions(e.id);y.success(this.$t(`connection.message.browserSessionsStopped`,{count:t.stopped_session_count})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.browserSessionStopFailed`))}finally{this.refreshingId=null}},async onBrowserDeviceSelected(e){let t=this.browserDialogCatalog,n=this.browserDialogMethod;if(!(!t||!n)){this.browserInstalling=!0;try{if(this.browserRebindConnectionId){let{data:t}=await K.rebindBrowserDevice(this.browserRebindConnectionId,e);this.connections=this.connections.map(e=>e.id===t.id?t:e),this.browserDevicePickerVisible=!1,this.browserRebindConnectionId=null,this.browserDialogCatalog=null,this.browserDialogMethod=null,y.success(this.$t(`connection.message.browserRebindSuccess`));return}let{data:r}=await K.installFromCatalog(t.id,{return_url:W(),method_id:n.id,browser_device_id:e});if(r.type!==`active`)throw Error(this.$t(`connection.message.installFailed`));this.browserDevicePickerVisible=!1,this.browserDialogCatalog=null,this.browserDialogMethod=null,y.success(this.$t(`connection.message.installed`,{name:t.name})),await this.onCatalogInstalled()}catch(e){let t=e?.response?.data?.detail||e?.message||this.$t(`connection.message.installFailed`);this.$refs.browserDevicePicker?.showInstallError(String(t))}finally{this.browserInstalling=!1}}},async onConnectCustom(){if(!(!this.customServerUrl||this.authorizing||this.customAuthorizing)){this.customAuthorizing=!0;try{let e=await U(W()),{data:t}=await K.authorizeCustom({name:this.customName||void 0,server_url:this.customServerUrl,client_id:this.customClientId||void 0,client_secret:this.customClientSecret||void 0,provider:`mcp`,return_url:e.returnUrl});t?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(t.authorization_url,t.handoff_token,e.requestId))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e,t){if(!e.installable||this.authorizing||this.customAuthorizing)return;this.pendingCreateNew=!1,this.pendingReconnectId=t.id;let n=t.method_id,r=Z(e,n);if(r&&n&&r.id===n){await this.connectWithMethod(e,r);return}await this.onConnect(e,!1,t.id)},onDetailAction(e){let t=this.selectedItem,n=t?.connection;if(!(!t||!n))switch(e){case`refresh`:this.onRefresh(n);break;case`rebind`:this.openBrowserRebind(n);break;case`stopSessions`:this.stopBrowserSessions(n);break;case`reconnect`:t.catalog&&this.onReconnect(t.catalog,n);break;case`addAccount`:t.catalog&&this.onAddAccount(t.catalog);break;case`setDefault`:this.onSetDefault(n);break;case`rename`:this.onRename(n);break;case`disconnect`:this.onDisconnect(n);break}},async onBrowseAddAccount(e){this.browseDialogVisible=!1,await this.onAddAccount(e.item)},async onBrowseManage(e){this.browseDialogVisible=!1;let t=e.item.identifier;if(!t)return;let n=++this.manageRequestId,r=this.findConnectionRow(t),i=!0;if(!r){if(i=await this.fetchConnections(),n!==this.manageRequestId)return;r=this.findConnectionRow(t)}if(!r){i&&y.warning(this.$t(`connection.message.manageUnavailable`));return}this.searchQuery=``,this.collapsedGroups={...this.collapsedGroups,[r.groupKey]:!1},this.onSelect(r)},findConnectionRow(e){let t=this.orderedItems.filter(t=>t.connection?.connector_identifier===e);if(!t.length)return null;let n=t.filter(e=>this.normalizedStatus(e.connection.status)===`active`),r=n.length?n:t;return r.find(e=>e.connection?.is_default)||r[0]},async onAddAccount(e){await this.onConnect(e,!0)},async onSetDefault(e){try{await K.setDefault(e.id),y.success(this.$t(`connection.message.defaultUpdated`)),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.defaultUpdateFailed`))}},async onRename(e){let t;try{let{value:n}=await H.prompt(this.$t(`connection.message.renamePrompt`),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:this.connectionAccountLabel(e),inputValidator:e=>(e||``).length<=64,inputErrorMessage:this.$t(`connection.message.renameTooLong`),roundButton:!0});t=n||``}catch{return}try{await K.rename(e.id,t),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.renameFailed`))}},async onRefresh(e){this.refreshingId=e.id;try{await K.refresh(e.id),y.success(this.$t(`connection.message.refreshed`)),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.refreshFailed`))}finally{this.refreshingId=null}},async onDisconnect(e){try{await H.confirm(this.$t(`connection.message.disconnectConfirm`,{provider:this.connectionProviderName(e)}),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`,roundButton:!0})}catch{return}try{await K.disconnect(e.id);let t=`connection:${e.id}`;this.connections=this.connections.filter(t=>t.id!==e.id),this.selectedKey===t&&(this.selectedKey=this.orderedItems[0]?.key||null),y.success(this.$t(`connection.message.disconnected`,{provider:this.connectionProviderName(e)})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to disconnect`)}}}}),oe={class:`connectors-page`},se={class:`connectors-shell`},ce={class:`connectors-list`},le={class:`list-toolbar`},ue=[`aria-label`,`title`],de={class:`list-scroll`},fe={class:`list-group`},pe={class:`group-header skeleton-header`},me={class:`group-items`},he={class:`group-header`},ge=[`aria-label`,`title`,`onClick`],_e=[`onClick`],ve={class:`group-items`},ye=[`onClick`],be={class:`list-item-icon`},xe=[`src`,`alt`,`onError`],Se={class:`list-item-name`},Ce={key:0,class:`list-item-separator`,"aria-hidden":`true`},we={class:`list-item-account`},Te={key:2,class:`list-empty`},Ee={class:`list-footer`},De={class:`connectors-detail`},Oe={key:0,class:`detail-skeleton`},ke={class:`detail-skeleton-header`},Ae={class:`detail-skeleton-section`},je={key:1,class:`detail-empty`},Me={class:`detail-empty-title`},Ne={class:`detail-empty-hint`},Pe={class:`detail-header`},Fe={class:`detail-title-row`},Ie={class:`detail-icon`},Le=[`src`,`alt`],Re={class:`detail-title`},ze={class:`detail-actions`},Be=[`aria-label`,`title`],Ve={key:0,class:`detail-server-url`},He={key:1,class:`detail-description`},Ue={key:0,class:`detail-section`},We={class:`section-heading`},Ge={class:`section-title`},Ke={class:`overview-text`},qe={key:1,class:`detail-section`},Je={class:`account-row`},Ye={class:`account-info`},Xe={class:`account-name`},Ze={key:0,class:`account-sub`},Qe={key:2,class:`detail-section browser-session`},$e={class:`browser-session-heading`},et={class:`browser-session-icon`},tt={class:`browser-session-copy`},nt={class:`meta-grid browser-session-meta`},rt={key:0},it={key:1,class:`muted`},at={class:`browser-digest-row`},ot={key:0,class:`browser-capabilities`},st={class:`browser-capabilities-label`},ct={class:`browser-capability-list`},lt={key:3,class:`detail-section`},ut={class:`meta-grid`},dt={key:0},ft={key:4,class:`detail-section`},pt={class:`meta-grid`},mt={key:0},ht={key:1},gt={key:5,class:`detail-section`},_t={class:`section-heading`},vt={class:`section-title`},yt={class:`section-count`},bt={class:`section-hint`},xt={class:`suggestion-list`},St=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],Ct={class:`suggestion-text`},wt={key:6,class:`detail-section`},Tt={class:`section-heading`},Et={class:`section-title`},Dt={key:0,class:`section-count`},Ot={key:0,class:`permission-empty`},kt={key:1,class:`permission-empty error`},At={key:2,class:`permission-list`},jt={class:`permission-name`},Mt={class:`permission-tool-name`},Nt={key:0,class:`permission-tool-desc`},Pt={key:3,class:`permission-empty`},Ft={key:1,class:`permission-empty`},It={key:0,class:`permission-list`},Lt={class:`permission-name`},Rt={class:`permission-scope-label`},zt={key:0,class:`permission-tool-desc`},Bt={key:1,class:`permission-empty`},$={key:7,class:`detail-section meta-section`},Vt={class:`meta-grid`},Ht={key:0},Ut={key:1,class:`muted`},Wt={key:0},Gt={key:1,class:`muted`},Kt={class:`custom-dialog-intro`},qt={class:`custom-dialog-form`},Jt={key:0,class:`advanced-fields`},Yt={class:`custom-trust-copy`},Xt={class:`text-sm text-gray-500 mb-4`},Zt={class:`scope-dialog-label`},Qt={key:0,class:`scope-dialog-desc`};function $t(_,v,y,te,ne,b){let x=u(`console-page-header`),S=u(`search-icon`),C=u(`el-input`),w=u(`add-icon`),T=u(`el-dropdown-item`),E=u(`el-dropdown-menu`),D=u(`el-dropdown`),O=u(`el-skeleton-item`),k=u(`el-skeleton`),A=u(`expand-right-icon`),j=u(`expand-down-icon`),M=u(`desktop-icon`),N=u(`connection-icon`),P=u(`el-tooltip`),F=u(`meta-tag`),I=u(`el-button`),L=u(`more-icon`),R=u(`el-avatar`),z=u(`status-badge`),B=u(`suggestion-icon`),V=u(`lock-icon`),H=u(`external-link-icon`),U=u(`browse-connectors`),W=u(`byoc-credentials-dialog`),G=u(`connector-method-picker`),K=u(`browser-pairing-dialog`),q=u(`browser-device-picker`),J=u(`collapse-up-icon`),Y=u(`el-dialog`),X=u(`el-checkbox`),Z=u(`el-checkbox-group`),Q=ee(`loading`);return h(),s(`div`,oe,[a(x,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,se,[e(`aside`,ce,[e(`div`,le,[a(C,{modelValue:_.searchQuery,"onUpdate:modelValue":v[0]||=e=>_.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:_.$t(`connection.placeholder.search`)},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(D,{trigger:`click`,placement:`bottom-end`,onCommand:_.onAddCommand},{dropdown:p(()=>[a(E,null,{default:p(()=>[a(T,{command:`browse`},{default:p(()=>[a(S,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.title.browse`)),1)]),_:1}),a(T,{command:`custom`},{default:p(()=>[a(w,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.addCustomConnector`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":_.$t(`connection.title.addCustomConnector`),title:_.$t(`connection.title.addCustomConnector`)},[a(w,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ue)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,de,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,he,[e(`button`,{type:`button`,class:`group-chevron-button`,"aria-label":_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),title:_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),onClick:e=>_.toggleGroup(t.key)},[t.collapsed?(h(),f(A,{key:0,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`})):(h(),f(j,{key:1,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`}))],8,ge),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,_e)]),d(e(`ul`,ve,[(h(!0),s(l,null,m(t.items,a=>(h(),s(`li`,{key:a.key,class:n({"list-item":!0,active:_.selectedKey===a.key}),onClick:e=>_.onSelect(a)},[e(`span`,be,[a.faviconUrl?(h(),s(`img`,{key:0,src:a.faviconUrl,alt:a.name,onError:e=>_.onFaviconError(a)},null,40,xe)):a.browserSession?(h(),f(M,{key:1,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(N,{key:2,size:16,"aria-hidden":`true`,focusable:`false`}))]),e(`span`,{class:n([`list-item-content`,{"has-account":a.accountLabel}])},[e(`span`,Se,i(a.name),1),a.accountLabel?(h(),s(`span`,Ce,`·`)):o(``,!0),a.accountLabel?(h(),f(P,{key:1,content:a.accountLabel,placement:`top`},{default:p(()=>[e(`span`,we,i(a.accountLabel),1)]),_:2},1032,[`content`])):o(``,!0)],2),a.isDefault?(h(),f(F,{key:0,class:`list-item-badge list-item-badge-default`,density:`compact`,tone:`success`},{default:p(()=>[r(i(_.$t(`connection.label.defaultAccount`)),1)]),_:1})):o(``,!0),a.byo?(h(),f(F,{key:1,class:`list-item-badge`,density:`compact`,tone:`neutral`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):t.key===`available`?(h(),f(F,{key:2,class:`list-item-badge list-item-badge-hint`,title:_.$t(`connection.message.notConnectedYet`),density:`compact`,tone:`brand`},{default:p(()=>[r(i(_.$t(`connection.label.notConnected`)),1)]),_:1},8,[`title`])):o(``,!0)],10,ye))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,Te,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(k,{key:0,animated:``},{template:p(()=>[e(`div`,fe,[e(`div`,pe,[a(O,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,me,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(O,{variant:`image`,style:{width:`20px`,height:`20px`,"border-radius":`4px`}}),a(O,{variant:`text`,style:{flex:`1 1 auto`,height:`14px`}})])),64))])])]),_:1}))])),[[Q,_.firstLoadComplete&&(_.loading||_.loadingCatalog)]]),e(`div`,Ee,[e(`button`,{type:`button`,class:`browse-all-button`,onClick:v[1]||=e=>_.browseDialogVisible=!0},[a(S,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.browseAll`)),1)])])]),e(`section`,De,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,je,[a(N,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Me,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Ne,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,Oe,[a(k,{animated:``},{template:p(()=>[e(`div`,ke,[a(O,{variant:`circle`,style:{width:`32px`,height:`32px`}}),a(O,{variant:`h3`,style:{width:`220px`,height:`22px`,"margin-left":`12px`}})]),a(O,{variant:`text`,style:{width:`60%`,height:`12px`,"margin-top":`12px`}}),e(`div`,Ae,[a(O,{variant:`text`,style:{width:`140px`,height:`14px`}}),a(O,{variant:`p`,style:{width:`33%`,"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{width:`61%`,"margin-top":`16px`}})])]),_:1})])),_.firstLoadComplete&&_.selectedItem?(h(),s(l,{key:2},[e(`header`,Pe,[e(`div`,Fe,[e(`span`,Ie,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,Le)):_.selectedItem.browserSession?(h(),f(M,{key:1,size:20,"aria-hidden":`true`,focusable:`false`})):(h(),f(N,{key:2,size:20,"aria-hidden":`true`,focusable:`false`}))]),e(`h3`,Re,i(_.selectedItem.name),1),_.selectedItem.byo?(h(),f(F,{key:0,tone:`info`,class:`detail-custom-tag`,density:`compact`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):o(``,!0),e(`div`,ze,[!_.selectedItem.connection&&_.selectedItem.catalog?(h(),f(I,{key:0,type:`primary`,size:`small`,disabled:!_.selectedItem.catalog?.installable,onClick:v[3]||=e=>_.selectedItem.catalog&&_.onConnect(_.selectedItem.catalog)},{default:p(()=>[r(i(_.$t(`connection.button.connect`)),1)]),_:1},8,[`disabled`])):o(``,!0),_.selectedItem.connection&&_.detailActions.length?(h(),f(D,{key:1,trigger:`click`,placement:`bottom-end`,"popper-class":`connection-actions-popper`,onCommand:_.onDetailAction},{dropdown:p(()=>[a(E,{class:`connection-actions-menu`},{default:p(()=>[(h(!0),s(l,null,m(_.detailActions,e=>(h(),f(T,{key:e.command,command:e.command,disabled:e.disabled,divided:e.divided,class:n({"actions-item-danger":e.danger})},{default:p(()=>[r(i(e.label),1)]),_:2},1032,[`command`,`disabled`,`divided`,`class`]))),128))]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`actions-button`,"aria-label":_.$t(`connection.title.actions`),title:_.$t(`connection.title.actions`)},[a(L,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Be)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,Ve,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,He,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,Ue,[e(`div`,We,[e(`span`,Ge,i(_.$t(`connection.title.overview`)),1)]),e(`p`,Ke,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,qe,[e(`div`,Je,[_.connectionAvatar(_.selectedItem.connection)?(h(),f(R,{key:0,src:_.connectionAvatar(_.selectedItem.connection),size:40},null,8,[`src`])):(h(),f(R,{key:1,size:40,class:`account-avatar-fallback`},{default:p(()=>[r(i(_.connectionAccountInitial(_.selectedItem.connection)),1)]),_:1})),e(`div`,Ye,[e(`span`,Xe,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,Ze,i(_.connectionAccountSubtext(_.selectedItem.connection)),1)):o(``,!0)]),a(z,{class:`account-status`,tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.browserSession?(h(),s(`div`,Qe,[e(`div`,$e,[e(`span`,et,[a(M,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,tt,[e(`strong`,null,i(_.selectedItem.connection.browser_device?.name||_.$t(`user.browserDevice.title`)),1),e(`span`,null,i(_.$t(`user.browserDevice.localApprovalOnly`)),1)]),a(z,{tone:_.browserDeviceStatusTagType(_.selectedItem.connection),density:`compact`},{default:p(()=>[r(i(_.browserDeviceCompatibilityLabel(_.selectedItem.connection)),1)]),_:1},8,[`tone`])]),e(`dl`,nt,[e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.platform`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.platform||`—`),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.extensionVersion`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.extension_version||`—`),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.lastSeen`)),1),e(`dd`,null,[_.selectedItem.connection.browser_device?.last_seen_at?(h(),s(`span`,rt,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,it,i(_.$t(`user.browserDevice.neverSeen`)),1))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.createdAt`)),1),e(`dd`,null,i(_.$dayjs.format(_.selectedItem.connection.browser_device?.created_at||_.selectedItem.connection.created_at)),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.connectionRevision`)),1),e(`dd`,null,i(_.selectedItem.connection.revision),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.activeSessions`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.active_session_count??0),1)]),e(`div`,at,[e(`dt`,null,i(_.$t(`connection.field.wireContractDigest`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.wire_contract_digest||`—`),1)])]),_.selectedItem.connection.browser_device?.capabilities?.length?(h(),s(`div`,ot,[e(`span`,st,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,ct,[(h(!0),s(l,null,m(_.selectedItem.connection.browser_device.capabilities,e=>(h(),f(F,{key:e,density:`compact`},{default:p(()=>[r(i(e.replaceAll(`_`,` `)),1)]),_:2},1024))),128))])])):o(``,!0)])):o(``,!0),_.selectedItem.connection&&_.selectedItem.custom?(h(),s(`div`,lt,[e(`dl`,ut,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(z,{tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])]),_.customAuthSummary(_.selectedItem.connection)?(h(),s(`div`,dt,[e(`dt`,null,i(_.$t(`connection.label.authMethod`)),1),e(`dd`,null,i(_.customAuthSummary(_.selectedItem.connection)),1)])):o(``,!0)])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.byoc?(h(),s(`div`,ft,[e(`dl`,pt,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,mt,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(z,{tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])])),_.byocCredentialSummary(_.selectedItem)?(h(),s(`div`,ht,[e(`dt`,null,i(_.$t(`connection.label.credentials`)),1),e(`dd`,null,i(_.byocCredentialSummary(_.selectedItem)),1)])):o(``,!0)])])):o(``,!0),_.suggestions.length?(h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,yt,i(_.suggestions.length),1)]),e(`p`,bt,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,xt,[(h(!0),s(l,null,m(_.suggestions,r=>(h(),f(P,{key:r.id,content:_.$t(`connection.message.tryItConnectFirst`),disabled:!_.suggestionsLocked,placement:`top`},{default:p(()=>[e(`li`,{class:n([`suggestion-row`,{locked:_.suggestionsLocked}]),role:_.suggestionsLocked?void 0:`button`,tabindex:_.suggestionsLocked?void 0:0,"aria-disabled":_.suggestionsLocked?`true`:void 0,onClick:e=>!_.suggestionsLocked&&_.onSuggestionClick(r),onKeyup:[c(e=>!_.suggestionsLocked&&_.onSuggestionClick(r),[`enter`]),c(t(e=>!_.suggestionsLocked&&_.onSuggestionClick(r),[`prevent`]),[`space`])]},[a(B,{class:`suggestion-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,Ct,i(r.prompt),1),_.suggestionsLocked?(h(),f(V,{key:0,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(H,{key:1,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`}))],42,St)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,wt,[e(`div`,Tt,[e(`span`,Et,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,Dt,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,Ot,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,kt,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,At,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,jt,[e(`span`,Mt,i(t.name),1),t.description?(h(),s(`span`,Nt,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Pt,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,Ft,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,It,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,Lt,[e(`span`,Rt,i(t.label),1),t.desc?(h(),s(`span`,zt,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Bt,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,$,[e(`dl`,Vt,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Ht,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Ut,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Wt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,Gt,i(_.$t(`connection.label.never`)),1))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.createdAt`)),1),e(`dd`,null,i(_.$dayjs.format(_.selectedItem.connection.created_at)),1)])])])):o(``,!0)],64)):o(``,!0)])]),a(U,{modelValue:_.browseDialogVisible,"onUpdate:modelValue":v[4]||=e=>_.browseDialogVisible=e,onInstalled:_.onCatalogInstalled,onAddAccount:_.onBrowseAddAccount,onManage:_.onBrowseManage},null,8,[`modelValue`,`onInstalled`,`onAddAccount`,`onManage`]),a(W,{modelValue:_.byocDialogVisible,"onUpdate:modelValue":[v[5]||=e=>_.byocDialogVisible=e,v[6]||=e=>!e&&_.clearCreateNewIntent()],item:_.byocDialogCatalog,method:_.byocDialogMethod,"create-new":_.pendingCreateNew,"connection-id":_.pendingReconnectId,"connection-updated-at":_.connections.find(e=>e.id===_.pendingReconnectId)?.updated_at,onInstalled:_.onCatalogInstalled},null,8,[`modelValue`,`item`,`method`,`create-new`,`connection-id`,`connection-updated-at`,`onInstalled`]),a(G,{modelValue:_.pickerVisible,"onUpdate:modelValue":[v[7]||=e=>_.pickerVisible=e,_.onPickerVisibility],item:_.pickerCatalog,onSelect:_.onMethodSelected},null,8,[`modelValue`,`item`,`onSelect`,`onUpdate:modelValue`]),a(K,{modelValue:_.pairingDialogVisible,"onUpdate:modelValue":v[8]||=e=>_.pairingDialogVisible=e,onPaired:_.onBrowserPaired,onClosed:_.onBrowserPairingClosed},null,8,[`modelValue`,`onPaired`,`onClosed`]),a(q,{ref:`browserDevicePicker`,modelValue:_.browserDevicePickerVisible,"onUpdate:modelValue":[v[9]||=e=>_.browserDevicePickerVisible=e,_.onBrowserPickerVisibility],method:_.browserDialogMethod,installing:_.browserInstalling,onPair:_.openBrowserPairing,onSelect:_.onBrowserDeviceSelected},null,8,[`modelValue`,`method`,`installing`,`onPair`,`onSelect`,`onUpdate:modelValue`]),a(Y,{modelValue:_.customDialogVisible,"onUpdate:modelValue":v[16]||=e=>_.customDialogVisible=e,title:_.$t(`connection.title.addCustomConnector`),width:`560px`,"close-on-click-modal":!1},{footer:p(()=>[a(I,{onClick:v[15]||=e=>_.customDialogVisible=!1},{default:p(()=>[r(i(_.$t(`common.button.cancel`)),1)]),_:1}),a(I,{type:`primary`,loading:_.customAuthorizing,disabled:!_.customServerUrl,onClick:_.onConnectCustom},{default:p(()=>[r(i(_.$t(`connection.button.addCustom`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,Kt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,qt,[a(C,{modelValue:_.customName,"onUpdate:modelValue":v[10]||=e=>_.customName=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.name`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(C,{modelValue:_.customServerUrl,"onUpdate:modelValue":v[11]||=e=>_.customServerUrl=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.serverUrl`),clearable:``,onKeyup:c(_.onConnectCustom,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),e(`button`,{type:`button`,class:`advanced-toggle`,onClick:v[12]||=e=>_.customAdvancedVisible=!_.customAdvancedVisible},[_.customAdvancedVisible?(h(),f(J,{key:0,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(j,{key:1,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(_.$t(`connection.label.advancedSettings`)),1)]),_.customAdvancedVisible?(h(),s(`div`,Jt,[a(C,{modelValue:_.customClientId,"onUpdate:modelValue":v[13]||=e=>_.customClientId=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.clientId`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(C,{modelValue:_.customClientSecret,"onUpdate:modelValue":v[14]||=e=>_.customClientSecret=e,placeholder:_.$t(`connection.placeholder.clientSecret`),clearable:``,"show-password":``},null,8,[`modelValue`,`placeholder`])])):o(``,!0),e(`p`,Yt,i(_.$t(`connection.message.customConnectorTrust`)),1)])]),_:1},8,[`modelValue`,`title`]),a(Y,{modelValue:_.scopeDialogVisible,"onUpdate:modelValue":v[19]||=e=>_.scopeDialogVisible=e,title:_.scopeDialogCatalog?_.$t(`connection.message.selectScopes`,{provider:_.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,onClosed:v[20]||=e=>!_.scopeDialogCatalog&&_.clearCreateNewIntent()},{footer:p(()=>[a(I,{onClick:v[18]||=e=>_.scopeDialogVisible=!1},{default:p(()=>[r(i(_.$t(`common.button.cancel`)),1)]),_:1}),a(I,{type:`primary`,onClick:_.onConfirmScopes},{default:p(()=>[r(i(_.$t(`common.button.confirm`)),1)]),_:1},8,[`onClick`])]),default:p(()=>[e(`p`,Xt,i(_.$t(`connection.message.selectScopesHint`)),1),a(Z,{modelValue:_.selectedScopes,"onUpdate:modelValue":v[17]||=e=>_.selectedScopes=e},{default:p(()=>[(h(!0),s(l,null,m(_.scopeDialogPermissions,t=>(h(),s(`div`,{key:t.id,class:`scope-dialog-row`},[a(X,{value:t.id,label:t.id},{default:p(()=>[e(`span`,Zt,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,Qt,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var en=F(ae,[[`render`,$t],[`__scopeId`,`data-v-45cd78ec`]]);export{en as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,j as f,mt as p,ot as ee,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./tooltip-Boxqz0SE.js";import{v as y}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as te}from"./avatar-DEN_WCPo.js";import{n as ne,t as b}from"./checkbox-DXMDpaxv.js";import{n as x,r as S,t as C}from"./dropdown-vx0RS4iF.js";import{n as w,t as T}from"./skeleton-Dj_a_iIP.js";import{t as E}from"./chevron-down-DyqiQUvH.js";import{t as D}from"./chevron-right-DddsfVqa.js";import{t as O}from"./ellipsis-BRqynnFc.js";import{t as k}from"./external-link-Dzis-Iij.js";import{t as A}from"./lightbulb-BkXsrGMV.js";import{t as j}from"./monitor-D1DJRzj6.js";import{t as M}from"./plug-B8myXk-6.js";import{t as N}from"./plus-DtJtYLqM.js";import{t as P}from"./search-BlR7-uoc.js";import{D as F,Fa as I,Ga as L,Ia as R,Qa as z,Ra as B,oo as V,za as H}from"./index-_Awgv-in.js";import{n as U,r as W,t as G}from"./authorizeFlow-DU2BZzr7.js";import{a as K,i as q,n as J,o as Y,r as X,s as Z,t as Q}from"./BrowseConnectors-CT2o1zx2.js";import{t as re}from"./BrowserPairingDialog-CmO-e4vc.js";import{t as ie}from"./PageHeader-BdWWZL5W.js";var ae=_({name:`UserConnections`,components:{MetaTag:I,StatusBadge:R,ConsolePageHeader:ie,ElButton:z,ElAvatar:te,ElDialog:L,ElInput:V,ElCheckbox:b,ElCheckboxGroup:ne,ElDropdown:C,ElDropdownMenu:S,ElDropdownItem:x,AddIcon:N,CollapseUpIcon:B(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ConnectionIcon:M,DesktopIcon:j,ExpandDownIcon:E,ExpandRightIcon:D,ExternalLinkIcon:k,LockIcon:B(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),MoreIcon:O,SearchIcon:P,SuggestionIcon:A,BrowseConnectors:Q,ByocCredentialsDialog:q,ConnectorMethodPicker:X,BrowserPairingDialog:re,BrowserDevicePicker:J,ElSkeleton:T,ElSkeletonItem:w,ElTooltip:v},data(){return{connections:[],connectionsRequestId:0,manageRequestId:0,catalog:[],loading:!1,loadingCatalog:!1,firstLoadComplete:!1,refreshingId:null,authorizing:!1,searchQuery:``,selectedKey:null,collapsedGroups:{},faviconBlocked:{},customServerUrl:``,customName:``,customClientId:``,customClientSecret:``,customDialogVisible:!1,customAdvancedVisible:!1,customAuthorizing:!1,scopeDialogVisible:!1,scopeDialogCatalog:null,scopeDialogMethod:null,selectedScopes:[],mcpToolsByConnection:{},mcpToolsState:{},browseDialogVisible:!1,pendingCreateNew:!1,pendingReconnectId:null,byocDialogVisible:!1,byocDialogCatalog:null,byocDialogMethod:null,pickerVisible:!1,pickerConfirmed:!1,pickerCatalog:null,pairingDialogVisible:!1,browserDevicePickerVisible:!1,browserDialogCatalog:null,browserDialogMethod:null,browserInstalling:!1,browserRebindConnectionId:null,pairedBrowserDevice:null}},computed:{catalogByIdentifier(){let e={};for(let t of this.catalog)t.identifier&&(e[t.identifier]=t);return e},catalogForConnection(){let e=this.catalogByIdentifier;return t=>{let n=t.connector_identifier;return n?e[n]:void 0}},detailActions(){let e=this.selectedItem,t=e?.connection;if(!e||!t)return[];let n=[],r=this.normalizedStatus(t.status)===`active`,i=!!e.catalog?.installable,a=this.refreshingId===t.id||this.authorizing||this.customAuthorizing;return t.supports_refresh&&n.push({command:`refresh`,label:String(this.$t(`connection.button.refresh`)),disabled:a}),e.browserSession&&r&&(n.push({command:`rebind`,label:String(this.$t(`connection.button.rebindBrowserDevice`)),disabled:this.browserInstalling}),(t.browser_device?.active_session_count||0)>0&&n.push({command:`stopSessions`,label:String(this.$t(`connection.button.stopBrowserSessions`)),disabled:a})),e.catalog&&!e.browserSession&&t.credential_type!==`none`&&(n.push({command:`reconnect`,label:String(this.$t(`connection.button.reconnect`)),disabled:!i||a}),n.push({command:`addAccount`,label:String(this.$t(`connection.button.addAccount`)),disabled:!i||a})),e.catalog&&n.push({command:`setDefault`,label:String(t.is_default?this.$t(`connection.button.isDefault`):this.$t(`connection.button.setDefault`)),disabled:!!t.is_default}),n.push({command:`rename`,label:String(this.$t(`connection.button.rename`))}),n.push({command:`disconnect`,label:String(this.$t(`connection.button.disconnect`)),danger:!0,divided:!0}),n},activeConnectedCatalogIds(){let e=new Set,t=this.catalogByIdentifier;for(let n of this.connections){if(this.normalizedStatus(n.status)!==`active`)continue;let r=n.connector_identifier,i=r?t[r]:void 0;i&&e.add(i.identifier)}return e},items(){let e=[],t={};for(let e of this.connections){let n=e.connector_identifier||``;n&&(t[n]=(t[n]||0)+1)}let n=new Set(Object.keys(t).filter(e=>t[e]>1));for(let t of this.connections){let r=`connection:${t.id}`,i=this.catalogForConnection(t),a=t.execution_type===`remote_mcp`,o=t.credential_type===`user_secret`||t.credential_type===`cookie_jar`,s=t.execution_type===`browser_device`,c=a&&!i,l=this.faviconBlocked[r]?void 0:i?.icon_url||void 0;e.push({key:r,name:i?.name||(s?t.profile?.name||t.connector_identifier||String(this.$t(`user.browserDevice.title`)):a&&t.server_url||t.provider),faviconUrl:l,custom:a,byoc:o,browserSession:s,byo:c,description:i?.short_description||i?.description||void 0,serverUrl:a&&t.server_url||void 0,connection:t,catalog:i,accountLabel:this.connectionAccountLabel(t),isDefault:n.has(t.connector_identifier||``)&&!!t.is_default,clusterKey:t.connector_identifier||r,createdAt:Date.parse(t.created_at)||0,accountSeq:t.account_seq??0,groupKey:`connected`})}let r=this.activeConnectedCatalogIds;for(let t of this.catalog){if(!t.is_featured||r.has(t.identifier))continue;let n=`catalog:${t.identifier}`,i=this.faviconBlocked[n]?void 0:t.icon_url||void 0;e.push({key:n,name:t.name||t.identifier,faviconUrl:i,custom:!1,byoc:!1,browserSession:!1,byo:!1,description:t.short_description||t.description||void 0,catalog:t,groupKey:`available`})}return e},orderedItems(){let e=this.items.filter(e=>e.groupKey===`connected`),t=this.items.filter(e=>e.groupKey===`available`),n=new Map;for(let t of e){let e=t.clusterKey||t.key;n.set(e,Math.max(n.get(e)??0,t.createdAt||0))}return e.sort((e,t)=>{let r=e.clusterKey||e.key,i=t.clusterKey||t.key;if(r!==i){let e=(n.get(i)??0)-(n.get(r)??0);return e===0?r<i?-1:1:e}if(!!e.isDefault!=!!t.isDefault)return e.isDefault?-1:1;let a=(t.createdAt||0)-(e.createdAt||0);if(a!==0)return a;let o=(e.accountSeq??0)-(t.accountSeq??0);return o===0?e.key<t.key?-1:+(e.key>t.key):o}),[...e,...t]},filteredItems(){let e=this.searchQuery.trim().toLowerCase();return e?this.orderedItems.filter(t=>t.name.toLowerCase().includes(e)||(t.serverUrl||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):this.orderedItems},filteredGroups(){let e=[],t=this.filteredItems.filter(e=>e.groupKey===`connected`),n=this.filteredItems.filter(e=>e.groupKey===`available`);return t.length&&e.push({key:`connected`,label:String(this.$t(`connection.title.groupConnected`)),collapsed:!!this.collapsedGroups.connected,items:t}),n.length&&e.push({key:`available`,label:String(this.$t(`connection.title.groupRecommended`)),collapsed:!!this.collapsedGroups.available,items:n}),e},selectedItem(){return this.selectedKey&&this.items.find(e=>e.key===this.selectedKey)||null},detailScopes(){let e=this.selectedItem;if(!e||!e.catalog)return[];let t=e.catalog.permissions||[],n=new Map(t.map(e=>[e.id,e])),r=e.connection;return r&&(r.scopes||[]).length>0?(r.scopes||[]).map(e=>{let t=n.get(e);return{id:e,label:t?.label||e,desc:t?.desc||``}}):t.map(e=>({id:e.id,label:e.label||e.id,desc:e.desc||``}))},selectedMcpTools(){let e=this.selectedItem?.connection;return!e||e.execution_type!==`remote_mcp`?null:this.mcpToolsByConnection[e.id]||null},selectedMcpToolsLoading(){let e=this.selectedItem?.connection;return!e||e.execution_type!==`remote_mcp`?!1:this.mcpToolsState[e.id]===!0},selectedMcpToolsError(){let e=this.selectedItem?.connection;if(!e||e.execution_type!==`remote_mcp`)return null;let t=this.mcpToolsState[e.id];return typeof t==`string`?t:null},permissionRowCount(){return this.selectedItem?.custom&&this.selectedItem.connection?this.selectedMcpTools?.length??0:this.detailScopes.length},showsAccountIdentity(){let e=this.selectedItem?.connection;return!e||this.selectedItem?.browserSession?!1:this.selectedItem?.byoc?!!(e.profile?.name||e.profile?.login||e.profile?.email):!0},scopeDialogPermissions(){return this.scopeDialogMethod?.permissions||this.scopeDialogCatalog?.permissions||[]},suggestions(){let e=this.selectedItem;return e&&e.catalog?.suggestions||[]},overviewText(){let e=(this.selectedItem?.catalog?.description||``).trim();return e?e===(this.selectedItem?.description||``).trim()?``:e:``},isMcpConnector(){return Z(this.selectedItem?.catalog)?.execution.type===`remote_mcp`},suggestionsLocked(){let e=this.selectedItem?.connection;return!e||this.normalizedStatus(e.status)!==`active`}},watch:{orderedItems:{handler(e){if(e.length===0){this.selectedKey=null;return}(!this.selectedKey||!e.some(e=>e.key===this.selectedKey))&&(this.selectedKey=e[0].key)},immediate:!1}},async mounted(){await Promise.all([this.fetchConnections(),this.fetchCatalog()]),this.firstLoadComplete=!0,this.$route.query.status===`error`&&y.error(this.$t(`connection.message.installFailed`));let e=this.$route.query.connection_id?.toString(),t=e?this.orderedItems.find(t=>t.connection?.id===e):void 0;t&&(this.selectedKey=t.key),!this.selectedKey&&this.orderedItems.length&&(this.selectedKey=this.orderedItems[0].key);let n=this.selectedKey?this.items.find(e=>e.key===this.selectedKey):null;n?.connection?.execution_type===`remote_mcp`&&this.normalizedStatus(n.connection.status)===`active`&&this.loadMcpTools(n.connection.id);let r=this.$route.query.connect?.toString();if(r){let e=this.orderedItems.find(e=>e.catalog?.identifier===r);if(e){this.selectedKey=e.key;let t=e.connection&&this.normalizedStatus(e.connection.status)===`active`;e.catalog&&!t&&this.onConnect(e.catalog)}}},methods:{onSelect(e){this.selectedKey=e.key;let t=e.connection;t&&t.execution_type===`remote_mcp`&&this.normalizedStatus(t.status)===`active`&&(this.mcpToolsState[t.id]??this.loadMcpTools(t.id))},async loadMcpTools(e){this.mcpToolsState={...this.mcpToolsState,[e]:!0};try{let{data:t}=await K.tools(e);this.mcpToolsByConnection={...this.mcpToolsByConnection,[e]:t.items||[]},this.mcpToolsState={...this.mcpToolsState,[e]:null}}catch(t){let n=t,r=n.response?.data?.detail||n.message||`Failed to load tools`;this.mcpToolsState={...this.mcpToolsState,[e]:r}}},toggleGroup(e){this.collapsedGroups={...this.collapsedGroups,[e]:!this.collapsedGroups[e]}},onFaviconError(e){this.faviconBlocked={...this.faviconBlocked,[e.key]:!0}},oauthMetadata(e){return(e.metadata||{}).oauth||{}},connectionProviderName(e){let t=this.catalogForConnection(e);return t?.name?t.name:e.execution_type===`remote_mcp`&&e.server_url||e.provider},connectionAccountLabel(e){return e.label||e.profile?.name||e.profile?.login||e.profile?.email||``},connectionAccountName(e){return e.profile?.name||e.profile?.login||e.profile?.email||`—`},connectionAvatar(e){return e.profile?.avatar||e.profile?.avatar_url||e.profile?.picture||``},connectionAccountInitial(e){let t=this.connectionAccountName(e),n=t&&t!==`—`?t.trim().charAt(0):``;return n?n.toUpperCase():`?`},connectionAccountSubtext(e){let t=e.profile?.email;return t&&t!==e.profile?.name?t:e.profile?.login||``},customAuthSummary(e){let t=this.oauthMetadata(e),n=t.token_endpoint_auth_method||`none`;return[t.client_registration_type||`dynamic`,n,(t.authorization_server_metadata||{}).issuer||t.authorization_server_url].filter(Boolean).join(` / `)},byocCredentialSummary(e){return((e.connection?.method_snapshot||Z(e.catalog,e.connection?.method_id))?.credential.credential_schema||[]).map(e=>e.label).filter(Boolean).join(` · `)},normalizedStatus(e){return e.toString().toLowerCase()},statusLabel(e){return String(this.$t(`connection.status.${this.normalizedStatus(e)}`))},statusTagType(e){switch(this.normalizedStatus(e)){case`active`:return`success`;case`expired`:return`warning`;case`revoked`:return`danger`;default:return`info`}},browserDeviceStatusLabel(e){let t=e.browser_device?.status;return t?String(this.$t(`user.browserDevice.status.${t}`)):this.statusLabel(e.status)},browserDeviceStatusTagType(e){let t=e.browser_device;if(t&&!t.compatible)return t.incompatibility_reason===`device_offline`?`warning`:`danger`;let n=t?.status;if(!n)return this.statusTagType(e.status);switch(n.toLowerCase()){case`active`:return`success`;case`pending`:return`warning`;case`suspended`:case`quarantined`:case`revoked`:return`danger`;default:return`info`}},browserDeviceCompatibilityLabel(e){let t=e.browser_device;return t?t.compatible?String(this.$t(`connection.message.browserCompatible`)):String(this.$t(`connection.message.browserIncompatibility.${t.incompatibility_reason}`)):this.statusLabel(e.status)},async fetchConnections(){let e=++this.connectionsRequestId;this.loading=!0;try{let{data:t}=await K.list();return e===this.connectionsRequestId?(this.connections=(t||[]).filter(e=>e.execution_type!==`browser_device`||this.normalizedStatus(e.status)===`active`),!0):!1}catch(e){return console.error(`Failed to load connections`,e),!1}finally{e===this.connectionsRequestId&&(this.loading=!1)}},async fetchCatalog(){this.loadingCatalog=!0;try{let{data:e}=await K.listCatalog({sort:`popular`,limit:200});this.catalog=e?.items||[]}catch(e){console.error(`Failed to load connector catalog`,e)}finally{this.loadingCatalog=!1}},onSuggestionClick(e){let t=e.prompt;if(!t)return;let n=e.model_group||`claude`;this.$router.push({path:`/${n}/conversations`,query:{query:t,source:`connector_suggestion`,suggestion_id:e.id,...this.selectedItem?.catalog?.identifier?{connector:this.selectedItem.catalog.identifier}:{}}})},async onConnect(e,t=!1,n=null){if(!e.installable||this.authorizing||this.customAuthorizing)return;if(this.pendingCreateNew=t,this.pendingReconnectId=n,Y(e).length>1){this.pickerCatalog=e,this.pickerConfirmed=!1,this.pickerVisible=!0;return}let r=Z(e);if(!r){this.clearCreateNewIntent();return}await this.connectWithMethod(e,r)},clearCreateNewIntent(){this.pendingCreateNew=!1,this.pendingReconnectId=null},onMethodSelected(e){this.pickerConfirmed=!0,this.pickerVisible=!1,this.connectWithMethod(e.item,e.method)},onPickerVisibility(e){e||(this.pickerConfirmed||this.clearCreateNewIntent(),this.pickerConfirmed=!1)},async connectWithMethod(e,t){if(t.execution.type===`browser_device`){this.browserRebindConnectionId=null,this.browserDialogCatalog=e,this.browserDialogMethod=t,this.browserDevicePickerVisible=!0;return}if(t.credential.type===`user_secret`||t.credential.type===`cookie_jar`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}let n=t.permissions||[];if(n.length>1){this.scopeDialogCatalog=e,this.scopeDialogMethod=t,this.selectedScopes=n.map(e=>e.id),this.scopeDialogVisible=!0;return}try{await H.confirm(this.$t(`connection.message.connectConfirm`,{provider:e.name||e.identifier}),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),roundButton:!0})}catch{this.clearCreateNewIntent();return}await this.startAuthorize(e,t,void 0)},async onConfirmScopes(){let e=this.scopeDialogCatalog,t=this.scopeDialogMethod;if(!e||!t)return;let n=[...this.selectedScopes];this.scopeDialogVisible=!1,this.scopeDialogCatalog=null,this.scopeDialogMethod=null,this.selectedScopes=[],await this.startAuthorize(e,t,n)},async startAuthorize(e,t,n){if(this.authorizing||this.customAuthorizing)return;this.authorizing=!0;let r=this.pendingReconnectId,i=this.pendingCreateNew,a=this.connections.find(e=>e.id===r)?.last_refreshed_at;try{let o=t.credential.type===`oauth2`?await U(W()):{returnUrl:W()},{data:s}=await K.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:o.returnUrl,method_id:t.id,...i?{create_new:!0}:{},...r?{connection_id:r}:{}});if(s?.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}if(s?.type===`redirect`&&s.authorization_url)await this.runAuthorizePopup(s.authorization_url,s.handoff_token,o.requestId,r||void 0,a);else if(s&&s.type===`active`)this.clearCreateNewIntent(),await this.fetchConnections();else throw Error(this.$t(`connection.message.installFailed`))}catch(e){this.clearCreateNewIntent(),y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.authorizing=!1}},async runAuthorizePopup(e,t,n,r,i){try{let a=await G(e,t,n);if(a?.status===`error`)throw Error(a.errorCode||`connector-authorization-failed`);if(a?.status===`cancelled`){this.clearCreateNewIntent();return}if(this.clearCreateNewIntent(),!await this.fetchConnections())throw Error(this.$t(`connection.message.refreshFailed`));if(r){let e=this.connections.find(e=>e.id===r);if(!e||this.normalizedStatus(e.status)!==`active`||(a?.status===`success`?a.connectionId!==r:!e.last_refreshed_at||e.last_refreshed_at===i))throw Error(this.$t(`connection.message.installFailed`))}if(a?.status===`success`&&(!a.connectionId||!this.connections.some(e=>e.id===a.connectionId&&this.normalizedStatus(e.status)===`active`)))throw Error(this.$t(`connection.message.installFailed`));return}catch(e){this.clearCreateNewIntent(),y.error(e?.message===`desktop-authorize-unsupported`?this.$t(`connection.message.desktopUpdateRequired`):e?.message||this.$t(`connection.message.installFailed`));return}},openCustomDialog(){this.customDialogVisible=!0},onAddCommand(e){e===`browse`?this.browseDialogVisible=!0:e===`custom`&&this.openCustomDialog()},async onCatalogInstalled(){this.clearCreateNewIntent(),await Promise.all([this.fetchConnections(),this.fetchCatalog()])},openBrowserPairing(){this.browserDevicePickerVisible=!1,this.pairingDialogVisible=!0},clearBrowserDialog(){this.browserDevicePickerVisible=!1,this.browserRebindConnectionId=null,this.browserDialogCatalog=null,this.browserDialogMethod=null,this.pendingCreateNew=!1},onBrowserPickerVisibility(e){e||this.$nextTick(()=>{!this.pairingDialogVisible&&!this.browserInstalling&&this.clearBrowserDialog()})},openBrowserRebind(e){let t=this.catalogForConnection(e),n=e.method_snapshot;!t||!n||(this.browserRebindConnectionId=e.id,this.browserDialogCatalog=t,this.browserDialogMethod=n,this.browserDevicePickerVisible=!0)},onBrowserPaired(e){this.pairedBrowserDevice=e,this.pairingDialogVisible=!1},async onBrowserPairingClosed(){if(this.browserDialogCatalog&&this.browserDialogMethod){let e=this.pairedBrowserDevice;this.pairedBrowserDevice=null,e?await this.$refs.browserDevicePicker?.refreshAfterPair(e):this.browserDevicePickerVisible=!0;return}this.pairedBrowserDevice=null,this.clearBrowserDialog()},async stopBrowserSessions(e){this.refreshingId=e.id;try{let{data:t}=await K.stopBrowserSessions(e.id);y.success(this.$t(`connection.message.browserSessionsStopped`,{count:t.stopped_session_count})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.browserSessionStopFailed`))}finally{this.refreshingId=null}},async onBrowserDeviceSelected(e){let t=this.browserDialogCatalog,n=this.browserDialogMethod;if(!(!t||!n)){this.browserInstalling=!0;try{if(this.browserRebindConnectionId){let{data:t}=await K.rebindBrowserDevice(this.browserRebindConnectionId,e);this.connections=this.connections.map(e=>e.id===t.id?t:e),this.browserDevicePickerVisible=!1,this.browserRebindConnectionId=null,this.browserDialogCatalog=null,this.browserDialogMethod=null,y.success(this.$t(`connection.message.browserRebindSuccess`));return}let{data:r}=await K.installFromCatalog(t.id,{return_url:W(),method_id:n.id,browser_device_id:e});if(r.type!==`active`)throw Error(this.$t(`connection.message.installFailed`));this.browserDevicePickerVisible=!1,this.browserDialogCatalog=null,this.browserDialogMethod=null,y.success(this.$t(`connection.message.installed`,{name:t.name})),await this.onCatalogInstalled()}catch(e){let t=e?.response?.data?.detail||e?.message||this.$t(`connection.message.installFailed`);this.$refs.browserDevicePicker?.showInstallError(String(t))}finally{this.browserInstalling=!1}}},async onConnectCustom(){if(!(!this.customServerUrl||this.authorizing||this.customAuthorizing)){this.customAuthorizing=!0;try{let e=await U(W()),{data:t}=await K.authorizeCustom({name:this.customName||void 0,server_url:this.customServerUrl,client_id:this.customClientId||void 0,client_secret:this.customClientSecret||void 0,provider:`mcp`,return_url:e.returnUrl});t?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(t.authorization_url,t.handoff_token,e.requestId))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e,t){if(!e.installable||this.authorizing||this.customAuthorizing)return;this.pendingCreateNew=!1,this.pendingReconnectId=t.id;let n=t.method_id,r=Z(e,n);if(r&&n&&r.id===n){await this.connectWithMethod(e,r);return}await this.onConnect(e,!1,t.id)},onDetailAction(e){let t=this.selectedItem,n=t?.connection;if(!(!t||!n))switch(e){case`refresh`:this.onRefresh(n);break;case`rebind`:this.openBrowserRebind(n);break;case`stopSessions`:this.stopBrowserSessions(n);break;case`reconnect`:t.catalog&&this.onReconnect(t.catalog,n);break;case`addAccount`:t.catalog&&this.onAddAccount(t.catalog);break;case`setDefault`:this.onSetDefault(n);break;case`rename`:this.onRename(n);break;case`disconnect`:this.onDisconnect(n);break}},async onBrowseAddAccount(e){this.browseDialogVisible=!1,await this.onAddAccount(e.item)},async onBrowseManage(e){this.browseDialogVisible=!1;let t=e.item.identifier;if(!t)return;let n=++this.manageRequestId,r=this.findConnectionRow(t),i=!0;if(!r){if(i=await this.fetchConnections(),n!==this.manageRequestId)return;r=this.findConnectionRow(t)}if(!r){i&&y.warning(this.$t(`connection.message.manageUnavailable`));return}this.searchQuery=``,this.collapsedGroups={...this.collapsedGroups,[r.groupKey]:!1},this.onSelect(r)},findConnectionRow(e){let t=this.orderedItems.filter(t=>t.connection?.connector_identifier===e);if(!t.length)return null;let n=t.filter(e=>this.normalizedStatus(e.connection.status)===`active`),r=n.length?n:t;return r.find(e=>e.connection?.is_default)||r[0]},async onAddAccount(e){await this.onConnect(e,!0)},async onSetDefault(e){try{await K.setDefault(e.id),y.success(this.$t(`connection.message.defaultUpdated`)),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.defaultUpdateFailed`))}},async onRename(e){let t;try{let{value:n}=await H.prompt(this.$t(`connection.message.renamePrompt`),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:this.connectionAccountLabel(e),inputValidator:e=>(e||``).length<=64,inputErrorMessage:this.$t(`connection.message.renameTooLong`),roundButton:!0});t=n||``}catch{return}try{await K.rename(e.id,t),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.renameFailed`))}},async onRefresh(e){this.refreshingId=e.id;try{await K.refresh(e.id),y.success(this.$t(`connection.message.refreshed`)),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||this.$t(`connection.message.refreshFailed`))}finally{this.refreshingId=null}},async onDisconnect(e){try{await H.confirm(this.$t(`connection.message.disconnectConfirm`,{provider:this.connectionProviderName(e)}),``,{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`,roundButton:!0})}catch{return}try{await K.disconnect(e.id);let t=`connection:${e.id}`;this.connections=this.connections.filter(t=>t.id!==e.id),this.selectedKey===t&&(this.selectedKey=this.orderedItems[0]?.key||null),y.success(this.$t(`connection.message.disconnected`,{provider:this.connectionProviderName(e)})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to disconnect`)}}}}),oe={class:`connectors-page`},se={class:`connectors-shell`},ce={class:`connectors-list`},le={class:`list-toolbar`},ue=[`aria-label`,`title`],de={class:`list-scroll`},fe={class:`list-group`},pe={class:`group-header skeleton-header`},me={class:`group-items`},he={class:`group-header`},ge=[`aria-label`,`title`,`onClick`],_e=[`onClick`],ve={class:`group-items`},ye=[`onClick`],be={class:`list-item-icon`},xe=[`src`,`alt`,`onError`],Se={class:`list-item-name`},Ce={key:0,class:`list-item-separator`,"aria-hidden":`true`},we={class:`list-item-account`},Te={key:2,class:`list-empty`},Ee={class:`list-footer`},De={class:`connectors-detail`},Oe={key:0,class:`detail-skeleton`},ke={class:`detail-skeleton-header`},Ae={class:`detail-skeleton-section`},je={key:1,class:`detail-empty`},Me={class:`detail-empty-title`},Ne={class:`detail-empty-hint`},Pe={class:`detail-header`},Fe={class:`detail-title-row`},Ie={class:`detail-icon`},Le=[`src`,`alt`],Re={class:`detail-title`},ze={class:`detail-actions`},Be=[`aria-label`,`title`],Ve={key:0,class:`detail-server-url`},He={key:1,class:`detail-description`},Ue={key:0,class:`detail-section`},We={class:`section-heading`},Ge={class:`section-title`},Ke={class:`overview-text`},qe={key:1,class:`detail-section`},Je={class:`account-row`},Ye={class:`account-info`},Xe={class:`account-name`},Ze={key:0,class:`account-sub`},Qe={key:2,class:`detail-section browser-session`},$e={class:`browser-session-heading`},et={class:`browser-session-icon`},tt={class:`browser-session-copy`},nt={class:`meta-grid browser-session-meta`},rt={key:0},it={key:1,class:`muted`},at={class:`browser-digest-row`},ot={key:0,class:`browser-capabilities`},st={class:`browser-capabilities-label`},ct={class:`browser-capability-list`},lt={key:3,class:`detail-section`},ut={class:`meta-grid`},dt={key:0},ft={key:4,class:`detail-section`},pt={class:`meta-grid`},mt={key:0},ht={key:1},gt={key:5,class:`detail-section`},_t={class:`section-heading`},vt={class:`section-title`},yt={class:`section-count`},bt={class:`section-hint`},xt={class:`suggestion-list`},St=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],Ct={class:`suggestion-text`},wt={key:6,class:`detail-section`},Tt={class:`section-heading`},Et={class:`section-title`},Dt={key:0,class:`section-count`},Ot={key:0,class:`permission-empty`},kt={key:1,class:`permission-empty error`},At={key:2,class:`permission-list`},jt={class:`permission-name`},Mt={class:`permission-tool-name`},Nt={key:0,class:`permission-tool-desc`},Pt={key:3,class:`permission-empty`},Ft={key:1,class:`permission-empty`},It={key:0,class:`permission-list`},Lt={class:`permission-name`},Rt={class:`permission-scope-label`},zt={key:0,class:`permission-tool-desc`},Bt={key:1,class:`permission-empty`},$={key:7,class:`detail-section meta-section`},Vt={class:`meta-grid`},Ht={key:0},Ut={key:1,class:`muted`},Wt={key:0},Gt={key:1,class:`muted`},Kt={class:`custom-dialog-intro`},qt={class:`custom-dialog-form`},Jt={key:0,class:`advanced-fields`},Yt={class:`custom-trust-copy`},Xt={class:`text-sm text-gray-500 mb-4`},Zt={class:`scope-dialog-label`},Qt={key:0,class:`scope-dialog-desc`};function $t(_,v,y,te,ne,b){let x=u(`console-page-header`),S=u(`search-icon`),C=u(`el-input`),w=u(`add-icon`),T=u(`el-dropdown-item`),E=u(`el-dropdown-menu`),D=u(`el-dropdown`),O=u(`el-skeleton-item`),k=u(`el-skeleton`),A=u(`expand-right-icon`),j=u(`expand-down-icon`),M=u(`desktop-icon`),N=u(`connection-icon`),P=u(`el-tooltip`),F=u(`meta-tag`),I=u(`el-button`),L=u(`more-icon`),R=u(`el-avatar`),z=u(`status-badge`),B=u(`suggestion-icon`),V=u(`lock-icon`),H=u(`external-link-icon`),U=u(`browse-connectors`),W=u(`byoc-credentials-dialog`),G=u(`connector-method-picker`),K=u(`browser-pairing-dialog`),q=u(`browser-device-picker`),J=u(`collapse-up-icon`),Y=u(`el-dialog`),X=u(`el-checkbox`),Z=u(`el-checkbox-group`),Q=ee(`loading`);return h(),s(`div`,oe,[a(x,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,se,[e(`aside`,ce,[e(`div`,le,[a(C,{modelValue:_.searchQuery,"onUpdate:modelValue":v[0]||=e=>_.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:_.$t(`connection.placeholder.search`)},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(D,{trigger:`click`,placement:`bottom-end`,onCommand:_.onAddCommand},{dropdown:p(()=>[a(E,null,{default:p(()=>[a(T,{command:`browse`},{default:p(()=>[a(S,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.title.browse`)),1)]),_:1}),a(T,{command:`custom`},{default:p(()=>[a(w,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.addCustomConnector`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":_.$t(`connection.title.addCustomConnector`),title:_.$t(`connection.title.addCustomConnector`)},[a(w,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ue)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,de,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,he,[e(`button`,{type:`button`,class:`group-chevron-button`,"aria-label":_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),title:_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),onClick:e=>_.toggleGroup(t.key)},[t.collapsed?(h(),f(A,{key:0,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`})):(h(),f(j,{key:1,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`}))],8,ge),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,_e)]),d(e(`ul`,ve,[(h(!0),s(l,null,m(t.items,a=>(h(),s(`li`,{key:a.key,class:n({"list-item":!0,active:_.selectedKey===a.key}),onClick:e=>_.onSelect(a)},[e(`span`,be,[a.faviconUrl?(h(),s(`img`,{key:0,src:a.faviconUrl,alt:a.name,onError:e=>_.onFaviconError(a)},null,40,xe)):a.browserSession?(h(),f(M,{key:1,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(N,{key:2,size:16,"aria-hidden":`true`,focusable:`false`}))]),e(`span`,{class:n([`list-item-content`,{"has-account":a.accountLabel}])},[e(`span`,Se,i(a.name),1),a.accountLabel?(h(),s(`span`,Ce,`·`)):o(``,!0),a.accountLabel?(h(),f(P,{key:1,content:a.accountLabel,placement:`top`},{default:p(()=>[e(`span`,we,i(a.accountLabel),1)]),_:2},1032,[`content`])):o(``,!0)],2),a.isDefault?(h(),f(F,{key:0,class:`list-item-badge list-item-badge-default`,density:`compact`,tone:`success`},{default:p(()=>[r(i(_.$t(`connection.label.defaultAccount`)),1)]),_:1})):o(``,!0),a.byo?(h(),f(F,{key:1,class:`list-item-badge`,density:`compact`,tone:`neutral`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):t.key===`available`?(h(),f(F,{key:2,class:`list-item-badge list-item-badge-hint`,title:_.$t(`connection.message.notConnectedYet`),density:`compact`,tone:`brand`},{default:p(()=>[r(i(_.$t(`connection.label.notConnected`)),1)]),_:1},8,[`title`])):o(``,!0)],10,ye))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,Te,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(k,{key:0,animated:``},{template:p(()=>[e(`div`,fe,[e(`div`,pe,[a(O,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,me,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(O,{variant:`image`,style:{width:`20px`,height:`20px`,"border-radius":`4px`}}),a(O,{variant:`text`,style:{flex:`1 1 auto`,height:`14px`}})])),64))])])]),_:1}))])),[[Q,_.firstLoadComplete&&(_.loading||_.loadingCatalog)]]),e(`div`,Ee,[e(`button`,{type:`button`,class:`browse-all-button`,onClick:v[1]||=e=>_.browseDialogVisible=!0},[a(S,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.browseAll`)),1)])])]),e(`section`,De,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,je,[a(N,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Me,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Ne,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,Oe,[a(k,{animated:``},{template:p(()=>[e(`div`,ke,[a(O,{variant:`circle`,style:{width:`32px`,height:`32px`}}),a(O,{variant:`h3`,style:{width:`220px`,height:`22px`,"margin-left":`12px`}})]),a(O,{variant:`text`,style:{width:`60%`,height:`12px`,"margin-top":`12px`}}),e(`div`,Ae,[a(O,{variant:`text`,style:{width:`140px`,height:`14px`}}),a(O,{variant:`p`,style:{width:`33%`,"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{"margin-top":`16px`}}),a(O,{variant:`p`,style:{width:`61%`,"margin-top":`16px`}})])]),_:1})])),_.firstLoadComplete&&_.selectedItem?(h(),s(l,{key:2},[e(`header`,Pe,[e(`div`,Fe,[e(`span`,Ie,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,Le)):_.selectedItem.browserSession?(h(),f(M,{key:1,size:20,"aria-hidden":`true`,focusable:`false`})):(h(),f(N,{key:2,size:20,"aria-hidden":`true`,focusable:`false`}))]),e(`h3`,Re,i(_.selectedItem.name),1),_.selectedItem.byo?(h(),f(F,{key:0,tone:`info`,class:`detail-custom-tag`,density:`compact`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):o(``,!0),e(`div`,ze,[!_.selectedItem.connection&&_.selectedItem.catalog?(h(),f(I,{key:0,type:`primary`,size:`small`,disabled:!_.selectedItem.catalog?.installable,onClick:v[3]||=e=>_.selectedItem.catalog&&_.onConnect(_.selectedItem.catalog)},{default:p(()=>[r(i(_.$t(`connection.button.connect`)),1)]),_:1},8,[`disabled`])):o(``,!0),_.selectedItem.connection&&_.detailActions.length?(h(),f(D,{key:1,trigger:`click`,placement:`bottom-end`,"popper-class":`connection-actions-popper`,onCommand:_.onDetailAction},{dropdown:p(()=>[a(E,{class:`connection-actions-menu`},{default:p(()=>[(h(!0),s(l,null,m(_.detailActions,e=>(h(),f(T,{key:e.command,command:e.command,disabled:e.disabled,divided:e.divided,class:n({"actions-item-danger":e.danger})},{default:p(()=>[r(i(e.label),1)]),_:2},1032,[`command`,`disabled`,`divided`,`class`]))),128))]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`actions-button`,"aria-label":_.$t(`connection.title.actions`),title:_.$t(`connection.title.actions`)},[a(L,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Be)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,Ve,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,He,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,Ue,[e(`div`,We,[e(`span`,Ge,i(_.$t(`connection.title.overview`)),1)]),e(`p`,Ke,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,qe,[e(`div`,Je,[_.connectionAvatar(_.selectedItem.connection)?(h(),f(R,{key:0,src:_.connectionAvatar(_.selectedItem.connection),size:40},null,8,[`src`])):(h(),f(R,{key:1,size:40,class:`account-avatar-fallback`},{default:p(()=>[r(i(_.connectionAccountInitial(_.selectedItem.connection)),1)]),_:1})),e(`div`,Ye,[e(`span`,Xe,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,Ze,i(_.connectionAccountSubtext(_.selectedItem.connection)),1)):o(``,!0)]),a(z,{class:`account-status`,tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.browserSession?(h(),s(`div`,Qe,[e(`div`,$e,[e(`span`,et,[a(M,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,tt,[e(`strong`,null,i(_.selectedItem.connection.browser_device?.name||_.$t(`user.browserDevice.title`)),1),e(`span`,null,i(_.$t(`user.browserDevice.localApprovalOnly`)),1)]),a(z,{tone:_.browserDeviceStatusTagType(_.selectedItem.connection),density:`compact`},{default:p(()=>[r(i(_.browserDeviceCompatibilityLabel(_.selectedItem.connection)),1)]),_:1},8,[`tone`])]),e(`dl`,nt,[e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.platform`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.platform||`—`),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.extensionVersion`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.extension_version||`—`),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`user.browserDevice.lastSeen`)),1),e(`dd`,null,[_.selectedItem.connection.browser_device?.last_seen_at?(h(),s(`span`,rt,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,it,i(_.$t(`user.browserDevice.neverSeen`)),1))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.createdAt`)),1),e(`dd`,null,i(_.$dayjs.format(_.selectedItem.connection.browser_device?.created_at||_.selectedItem.connection.created_at)),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.connectionRevision`)),1),e(`dd`,null,i(_.selectedItem.connection.revision),1)]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.activeSessions`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.active_session_count??0),1)]),e(`div`,at,[e(`dt`,null,i(_.$t(`connection.field.wireContractDigest`)),1),e(`dd`,null,i(_.selectedItem.connection.browser_device?.wire_contract_digest||`—`),1)])]),_.selectedItem.connection.browser_device?.capabilities?.length?(h(),s(`div`,ot,[e(`span`,st,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,ct,[(h(!0),s(l,null,m(_.selectedItem.connection.browser_device.capabilities,e=>(h(),f(F,{key:e,density:`compact`},{default:p(()=>[r(i(e.replaceAll(`_`,` `)),1)]),_:2},1024))),128))])])):o(``,!0)])):o(``,!0),_.selectedItem.connection&&_.selectedItem.custom?(h(),s(`div`,lt,[e(`dl`,ut,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(z,{tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])]),_.customAuthSummary(_.selectedItem.connection)?(h(),s(`div`,dt,[e(`dt`,null,i(_.$t(`connection.label.authMethod`)),1),e(`dd`,null,i(_.customAuthSummary(_.selectedItem.connection)),1)])):o(``,!0)])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.byoc?(h(),s(`div`,ft,[e(`dl`,pt,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,mt,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(z,{tone:_.statusTagType(_.selectedItem.connection.status),density:`compact`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`tone`])])])),_.byocCredentialSummary(_.selectedItem)?(h(),s(`div`,ht,[e(`dt`,null,i(_.$t(`connection.label.credentials`)),1),e(`dd`,null,i(_.byocCredentialSummary(_.selectedItem)),1)])):o(``,!0)])])):o(``,!0),_.suggestions.length?(h(),s(`div`,gt,[e(`div`,_t,[e(`span`,vt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,yt,i(_.suggestions.length),1)]),e(`p`,bt,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,xt,[(h(!0),s(l,null,m(_.suggestions,r=>(h(),f(P,{key:r.id,content:_.$t(`connection.message.tryItConnectFirst`),disabled:!_.suggestionsLocked,placement:`top`},{default:p(()=>[e(`li`,{class:n([`suggestion-row`,{locked:_.suggestionsLocked}]),role:_.suggestionsLocked?void 0:`button`,tabindex:_.suggestionsLocked?void 0:0,"aria-disabled":_.suggestionsLocked?`true`:void 0,onClick:e=>!_.suggestionsLocked&&_.onSuggestionClick(r),onKeyup:[c(e=>!_.suggestionsLocked&&_.onSuggestionClick(r),[`enter`]),c(t(e=>!_.suggestionsLocked&&_.onSuggestionClick(r),[`prevent`]),[`space`])]},[a(B,{class:`suggestion-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,Ct,i(r.prompt),1),_.suggestionsLocked?(h(),f(V,{key:0,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(H,{key:1,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`}))],42,St)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,wt,[e(`div`,Tt,[e(`span`,Et,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,Dt,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,Ot,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,kt,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,At,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,jt,[e(`span`,Mt,i(t.name),1),t.description?(h(),s(`span`,Nt,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Pt,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,Ft,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,It,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,Lt,[e(`span`,Rt,i(t.label),1),t.desc?(h(),s(`span`,zt,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Bt,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,$,[e(`dl`,Vt,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Ht,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Ut,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Wt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,Gt,i(_.$t(`connection.label.never`)),1))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.createdAt`)),1),e(`dd`,null,i(_.$dayjs.format(_.selectedItem.connection.created_at)),1)])])])):o(``,!0)],64)):o(``,!0)])]),a(U,{modelValue:_.browseDialogVisible,"onUpdate:modelValue":v[4]||=e=>_.browseDialogVisible=e,onInstalled:_.onCatalogInstalled,onAddAccount:_.onBrowseAddAccount,onManage:_.onBrowseManage},null,8,[`modelValue`,`onInstalled`,`onAddAccount`,`onManage`]),a(W,{modelValue:_.byocDialogVisible,"onUpdate:modelValue":[v[5]||=e=>_.byocDialogVisible=e,v[6]||=e=>!e&&_.clearCreateNewIntent()],item:_.byocDialogCatalog,method:_.byocDialogMethod,"create-new":_.pendingCreateNew,"connection-id":_.pendingReconnectId,"connection-updated-at":_.connections.find(e=>e.id===_.pendingReconnectId)?.updated_at,onInstalled:_.onCatalogInstalled},null,8,[`modelValue`,`item`,`method`,`create-new`,`connection-id`,`connection-updated-at`,`onInstalled`]),a(G,{modelValue:_.pickerVisible,"onUpdate:modelValue":[v[7]||=e=>_.pickerVisible=e,_.onPickerVisibility],item:_.pickerCatalog,onSelect:_.onMethodSelected},null,8,[`modelValue`,`item`,`onSelect`,`onUpdate:modelValue`]),a(K,{modelValue:_.pairingDialogVisible,"onUpdate:modelValue":v[8]||=e=>_.pairingDialogVisible=e,onPaired:_.onBrowserPaired,onClosed:_.onBrowserPairingClosed},null,8,[`modelValue`,`onPaired`,`onClosed`]),a(q,{ref:`browserDevicePicker`,modelValue:_.browserDevicePickerVisible,"onUpdate:modelValue":[v[9]||=e=>_.browserDevicePickerVisible=e,_.onBrowserPickerVisibility],method:_.browserDialogMethod,installing:_.browserInstalling,onPair:_.openBrowserPairing,onSelect:_.onBrowserDeviceSelected},null,8,[`modelValue`,`method`,`installing`,`onPair`,`onSelect`,`onUpdate:modelValue`]),a(Y,{modelValue:_.customDialogVisible,"onUpdate:modelValue":v[16]||=e=>_.customDialogVisible=e,title:_.$t(`connection.title.addCustomConnector`),width:`560px`,"close-on-click-modal":!1},{footer:p(()=>[a(I,{onClick:v[15]||=e=>_.customDialogVisible=!1},{default:p(()=>[r(i(_.$t(`common.button.cancel`)),1)]),_:1}),a(I,{type:`primary`,loading:_.customAuthorizing,disabled:!_.customServerUrl,onClick:_.onConnectCustom},{default:p(()=>[r(i(_.$t(`connection.button.addCustom`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,Kt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,qt,[a(C,{modelValue:_.customName,"onUpdate:modelValue":v[10]||=e=>_.customName=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.name`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(C,{modelValue:_.customServerUrl,"onUpdate:modelValue":v[11]||=e=>_.customServerUrl=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.serverUrl`),clearable:``,onKeyup:c(_.onConnectCustom,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),e(`button`,{type:`button`,class:`advanced-toggle`,onClick:v[12]||=e=>_.customAdvancedVisible=!_.customAdvancedVisible},[_.customAdvancedVisible?(h(),f(J,{key:0,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(j,{key:1,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(_.$t(`connection.label.advancedSettings`)),1)]),_.customAdvancedVisible?(h(),s(`div`,Jt,[a(C,{modelValue:_.customClientId,"onUpdate:modelValue":v[13]||=e=>_.customClientId=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.clientId`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(C,{modelValue:_.customClientSecret,"onUpdate:modelValue":v[14]||=e=>_.customClientSecret=e,placeholder:_.$t(`connection.placeholder.clientSecret`),clearable:``,"show-password":``},null,8,[`modelValue`,`placeholder`])])):o(``,!0),e(`p`,Yt,i(_.$t(`connection.message.customConnectorTrust`)),1)])]),_:1},8,[`modelValue`,`title`]),a(Y,{modelValue:_.scopeDialogVisible,"onUpdate:modelValue":v[19]||=e=>_.scopeDialogVisible=e,title:_.scopeDialogCatalog?_.$t(`connection.message.selectScopes`,{provider:_.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,onClosed:v[20]||=e=>!_.scopeDialogCatalog&&_.clearCreateNewIntent()},{footer:p(()=>[a(I,{onClick:v[18]||=e=>_.scopeDialogVisible=!1},{default:p(()=>[r(i(_.$t(`common.button.cancel`)),1)]),_:1}),a(I,{type:`primary`,onClick:_.onConfirmScopes},{default:p(()=>[r(i(_.$t(`common.button.confirm`)),1)]),_:1},8,[`onClick`])]),default:p(()=>[e(`p`,Xt,i(_.$t(`connection.message.selectScopesHint`)),1),a(Z,{modelValue:_.selectedScopes,"onUpdate:modelValue":v[17]||=e=>_.selectedScopes=e},{default:p(()=>[(h(!0),s(l,null,m(_.scopeDialogPermissions,t=>(h(),s(`div`,{key:t.id,class:`scope-dialog-row`},[a(X,{value:t.id,label:t.id},{default:p(()=>[e(`span`,Zt,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,Qt,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var en=F(ae,[[`render`,$t],[`__scopeId`,`data-v-45cd78ec`]]);export{en as default};
@@ -1,4 +1,4 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,G as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,T as f,Y as p,at as m,ft as h,ht as g,j as _,k as v,mt as y,p as b,qt as x,rt as S,st as C,tt as w,wt as T,x as E,z as D}from"./vendor-chart-Dw-P17PN.js";import{t as O}from"./vendor-vue-router-BVGjZC3n.js";import{n as k}from"./vuex.esm-bundler-DdqoLR8S.js";import{$a as A,Pa as j,ao as M}from"./constants-kiieigwv.js";import{D as N,Fn as P,M as F,Ma as I,N as L,Pn as R,Qa as z,Ra as B,cr as V,j as H}from"./index-9QPtYDXy.js";import{t as U}from"./VueMarkdown-mGSicH9K.js";import{c as W,l as ee,n as te,r as G,s as K,t as ne,u as re}from"./siteHome-COfLLxrM.js";import{n as ie}from"./showcase-zcWzFFzG.js";import{n as ae,t as oe}from"./ShowcaseGrid-BO4tjsZj.js";var se=B(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),ce={class:`section-heading`},le={id:`home-categories-title`},ue={class:`category-rows card-gap`},de=[`aria-expanded`,`aria-controls`,`onClick`],fe=[`src`,`alt`,`onError`],pe={class:`category-copy`},me=[`id`,`aria-label`],he=[`src`,`onError`],ge=N(D({__name:`CategoryTiles`,props:{items:{},heading:{},subtitle:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:n}){let c=t,g=T(),C=T(4),E=v(()=>{let e=[];for(let t=0;t<c.items.length;t+=C.value)e.push(c.items.slice(t,t+C.value));return e});function D(){C.value=window.matchMedia?.(`(max-width: 430px)`).matches?1:window.matchMedia?.(`(max-width: 1120px)`).matches?2:4}u(()=>{D(),window.addEventListener(`resize`,D)}),p(()=>window.removeEventListener(`resize`,D));let O=new Map,k=v(()=>c.items.find(e=>e.id===g.value));function A(e,t){t instanceof HTMLButtonElement?O.set(e,t):O.delete(e)}function j(e){g.value=g.value===e?void 0:e,g.value&&a(()=>{window.matchMedia?.(`(max-width: 430px)`).matches&&O.get(e)?.scrollIntoView?.({behavior:window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})})}function M(){if(!g.value)return;let e=O.get(g.value);g.value=void 0,e?.focus()}return h(()=>c.items,e=>{g.value&&!e.some(e=>e.id===g.value)&&(g.value=void 0)}),n({openId:g,activeCategory:k,toggle:j,closePanel:M}),(n,a)=>{let c=m(`router-link`);return w(),l(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:d(M,[`esc`])},[e(`div`,ce,[e(`div`,null,[e(`span`,null,i(n.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,le,i(t.heading),1)]),e(`p`,null,i(t.subtitle),1)]),e(`div`,ue,[(w(!0),l(f,null,S(E.value,(t,u)=>(w(),l(`div`,{key:u,class:`category-grid card-gap`},[(w(!0),l(f,null,S(t,t=>(w(),l(`button`,{key:t.id,ref_for:!0,ref:e=>A(t.id,e),type:`button`,class:`category-card`,"aria-expanded":g.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>j(t.id)},[t.imageUrl?(w(),l(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:x({objectPosition:t.focalPoint||`center`}),onError:e=>n.$emit(`category-image-error`,t.id)},null,44,fe)):s(``,!0),a[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,pe,[e(`strong`,null,i(t.title),1),e(`span`,null,i(t.description),1),e(`b`,null,i(n.$t(g.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,de))),128)),o(b,{name:`panel`},{default:y(()=>[t.some(e=>e.id===g.value)&&k.value?(w(),l(`div`,{key:0,id:`home-category-panel-${k.value.id}`,class:`capability-panel`,role:`region`,"aria-label":n.$t(`intro.home.quick.panelLabel`,{category:k.value?.title})},[(w(!0),l(f,null,S(k.value?.items||[],t=>(w(),_(c,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:y(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>n.$emit(`icon-error`,t)},null,40,he),e(`span`,null,[e(`strong`,null,i(t.name),1),e(`small`,null,i(t.description),1)]),e(`b`,null,[r(i(n.$t(`intro.home.createNow`))+` `,1),a[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,me)):s(``,!0)]),_:2},1024)]))),128))])],32)}}}),[[`__scopeId`,`data-v-d129353a`]]),_e=[`aria-label`],ve={class:`slides`},ye=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],be={key:1,class:`image-fallback`},xe=[`src`],Se={class:`copy`},Ce={key:0,class:`eyebrow`},we={key:1},Te={class:`description`},Ee={key:2,class:`action`},De=[`aria-label`],Oe=[`aria-label`],ke={class:`dots`},Ae=[`aria-label`,`aria-current`,`onClick`],je=5600,Me=45,Ne=N(D({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(a,{expose:o}){let c=a,d=T(0),m=T(!1),g=T(!1),b=T(!1),E=T(!1),D=T(),k,A,j=v(()=>m.value||g.value||b.value||E.value||c.slides.length<2);function M(e){return e.target?`href`in e.target&&/^https?:\/\//i.test(e.target.href)?`a`:O:`div`}function N(e){return e.target?`routeName`in e.target?{to:{name:e.target.routeName}}:/^https?:\/\//i.test(e.target.href)?{href:e.target.href,target:`_blank`,rel:`noopener noreferrer`}:{to:e.target.href}:{}}function P(e){let t=c.slides.length;return t?(e+t)%t:0}function F(e){d.value=P(e)}function I(){F(d.value+1)}function L(){F(d.value-1)}function R(){k!==void 0&&window.clearInterval(k),k=void 0}function z(){R(),j.value||(k=window.setInterval(I,je))}function B(){b.value=document.hidden}function V(e){E.value=e.matches}function H(e){let t=e.currentTarget,n=e.relatedTarget;g.value=!!(n&&t.contains(n))}function U(e){D.value=e.changedTouches[0]?.clientX}function W(e){if(D.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-D.value;Math.abs(n)>=Me&&(n>0?L():I()),D.value=void 0}return h(j,z),h(()=>c.slides.length,e=>{d.value>=e&&(d.value=0),z()}),u(()=>{b.value=document.hidden,document.addEventListener(`visibilitychange`,B),A=window.matchMedia(`(prefers-reduced-motion: reduce)`),E.value=A.matches,A.addEventListener(`change`,V),z()}),p(()=>{R(),document.removeEventListener(`visibilitychange`,B),A?.removeEventListener(`change`,V)}),o({activeIndex:d,next:I,previous:L,goTo:F,hovered:m,focused:g}),(o,c)=>(w(),l(`section`,{class:`home-carousel`,"aria-label":o.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>m.value=!0,onMouseleave:c[1]||=e=>m.value=!1,onFocusin:c[2]||=e=>g.value=!0,onFocusout:H,onTouchstartPassive:U,onTouchendPassive:W},[e(`div`,ve,[(w(!0),l(f,null,S(a.slides,(n,a)=>(w(),_(C(M(n)),t({key:n.id},{ref_for:!0},N(n),{class:[`slide`,{active:a===d.value,static:!n.target}],"aria-hidden":a!==d.value,tabindex:a===d.value&&n.target?0:-1}),{default:y(()=>[n.imageUrl?(w(),l(`img`,{key:0,src:n.imageUrl,alt:n.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:x({objectPosition:n.focalPoint||`center`}),onError:e=>o.$emit(`image-error`,n)},null,44,ye)):(w(),l(`span`,be,[n.icon?(w(),l(`img`,{key:0,src:n.icon,alt:``},null,8,xe)):s(``,!0)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,Se,[n.eyebrow?(w(),l(`span`,Ce,i(n.eyebrow),1)):s(``,!0),n.title?(w(),l(`strong`,we,i(n.title),1)):s(``,!0),e(`span`,Te,i(n.description),1),n.target?(w(),l(`span`,Ee,[r(i(o.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])):s(``,!0)])]),_:2},1040,[`class`,`aria-hidden`,`tabindex`]))),128))]),a.slides.length>1?(w(),l(f,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":o.$t(`intro.home.carousel.previous`),onClick:L},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,De),e(`button`,{class:`arrow next`,type:`button`,"aria-label":o.$t(`intro.home.carousel.next`),onClick:I},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,Oe),e(`div`,ke,[(w(!0),l(f,null,S(a.slides,(e,t)=>(w(),l(`button`,{key:e.id,type:`button`,class:n({active:t===d.value}),"aria-label":o.$t(`intro.home.carousel.goto`,{number:t+1,title:e.title}),"aria-current":t===d.value?`true`:void 0,onClick:e=>F(t)},null,10,Ae))),128))])],64)):s(``,!0)],40,_e))}}),[[`__scopeId`,`data-v-d69edc68`]]),Pe=`acedatacloud:home-html-iframe-resize`,q=`acedatacloud:home-html-iframe-measure`,Fe=12e3,J=[`allow-scripts`,`allow-forms`,`allow-popups`,`allow-popups-to-escape-sandbox`,`allow-top-navigation-by-user-activation`].join(` `),Ie=new Set([`ar`]),Y=e=>{let t=e.trim().replace(`_`,`-`).slice(0,35);return/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(t)?t:`en`},X=e=>Ie.has(e.split(`-`)[0].toLowerCase())?`rtl`:`ltr`,Le=e=>JSON.stringify(e).replace(/</g,`\\u003c`).split(`\u2028`).join(`\\u2028`).split(`\u2029`).join(`\\u2029`),Re=`<script data-acedatacloud-resize>
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,G as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,T as f,Y as p,at as m,ft as h,ht as g,j as _,k as v,mt as y,p as b,qt as x,rt as S,st as C,tt as w,wt as T,x as E,z as D}from"./vendor-chart-Dw-P17PN.js";import{t as O}from"./vendor-vue-router-BVGjZC3n.js";import{n as k}from"./vuex.esm-bundler-DdqoLR8S.js";import{$a as A,Pa as j,ao as M}from"./constants-kiieigwv.js";import{D as N,Fn as P,M as F,Ma as I,N as L,Pn as R,Qa as z,Ra as B,cr as V,j as H}from"./index-_Awgv-in.js";import{t as U}from"./VueMarkdown-D3wRPAu9.js";import{c as W,l as ee,n as te,r as G,s as K,t as ne,u as re}from"./siteHome-CqqDqRZ6.js";import{n as ie}from"./showcase-BfGOkd8K.js";import{n as ae,t as oe}from"./ShowcaseGrid-Cyggh9Te.js";var se=B(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),ce={class:`section-heading`},le={id:`home-categories-title`},ue={class:`category-rows card-gap`},de=[`aria-expanded`,`aria-controls`,`onClick`],fe=[`src`,`alt`,`onError`],pe={class:`category-copy`},me=[`id`,`aria-label`],he=[`src`,`onError`],ge=N(D({__name:`CategoryTiles`,props:{items:{},heading:{},subtitle:{}},emits:[`category-image-error`,`icon-error`],setup(t,{expose:n}){let c=t,g=T(),C=T(4),E=v(()=>{let e=[];for(let t=0;t<c.items.length;t+=C.value)e.push(c.items.slice(t,t+C.value));return e});function D(){C.value=window.matchMedia?.(`(max-width: 430px)`).matches?1:window.matchMedia?.(`(max-width: 1120px)`).matches?2:4}u(()=>{D(),window.addEventListener(`resize`,D)}),p(()=>window.removeEventListener(`resize`,D));let O=new Map,k=v(()=>c.items.find(e=>e.id===g.value));function A(e,t){t instanceof HTMLButtonElement?O.set(e,t):O.delete(e)}function j(e){g.value=g.value===e?void 0:e,g.value&&a(()=>{window.matchMedia?.(`(max-width: 430px)`).matches&&O.get(e)?.scrollIntoView?.({behavior:window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})})}function M(){if(!g.value)return;let e=O.get(g.value);g.value=void 0,e?.focus()}return h(()=>c.items,e=>{g.value&&!e.some(e=>e.id===g.value)&&(g.value=void 0)}),n({openId:g,activeCategory:k,toggle:j,closePanel:M}),(n,a)=>{let c=m(`router-link`);return w(),l(`section`,{class:`dashboard-section`,"aria-labelledby":`home-categories-title`,onKeydown:d(M,[`esc`])},[e(`div`,ce,[e(`div`,null,[e(`span`,null,i(n.$t(`intro.home.quick.eyebrow`)),1),e(`h2`,le,i(t.heading),1)]),e(`p`,null,i(t.subtitle),1)]),e(`div`,ue,[(w(!0),l(f,null,S(E.value,(t,u)=>(w(),l(`div`,{key:u,class:`category-grid card-gap`},[(w(!0),l(f,null,S(t,t=>(w(),l(`button`,{key:t.id,ref_for:!0,ref:e=>A(t.id,e),type:`button`,class:`category-card`,"aria-expanded":g.value===t.id,"aria-controls":`home-category-panel-${t.id}`,onClick:e=>j(t.id)},[t.imageUrl?(w(),l(`img`,{key:0,src:t.imageUrl,alt:t.title,loading:`lazy`,decoding:`async`,style:x({objectPosition:t.focalPoint||`center`}),onError:e=>n.$emit(`category-image-error`,t.id)},null,44,fe)):s(``,!0),a[0]||=e(`span`,{class:`shade`},null,-1),e(`span`,pe,[e(`strong`,null,i(t.title),1),e(`span`,null,i(t.description),1),e(`b`,null,i(n.$t(g.value===t.id?`intro.home.quick.close`:`intro.home.quick.explore`))+` ↓`,1)])],8,de))),128)),o(b,{name:`panel`},{default:y(()=>[t.some(e=>e.id===g.value)&&k.value?(w(),l(`div`,{key:0,id:`home-category-panel-${k.value.id}`,class:`capability-panel`,role:`region`,"aria-label":n.$t(`intro.home.quick.panelLabel`,{category:k.value?.title})},[(w(!0),l(f,null,S(k.value?.items||[],t=>(w(),_(c,{key:t.capability,to:{name:t.routeName},class:`capability-card`},{default:y(()=>[e(`img`,{src:t.icon,alt:``,onError:e=>n.$emit(`icon-error`,t)},null,40,he),e(`span`,null,[e(`strong`,null,i(t.name),1),e(`small`,null,i(t.description),1)]),e(`b`,null,[r(i(n.$t(`intro.home.createNow`))+` `,1),a[1]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])]),_:2},1032,[`to`]))),128))],8,me)):s(``,!0)]),_:2},1024)]))),128))])],32)}}}),[[`__scopeId`,`data-v-d129353a`]]),_e=[`aria-label`],ve={class:`slides`},ye=[`src`,`alt`,`loading`,`fetchpriority`,`onError`],be={key:1,class:`image-fallback`},xe=[`src`],Se={class:`copy`},Ce={key:0,class:`eyebrow`},we={key:1},Te={class:`description`},Ee={key:2,class:`action`},De=[`aria-label`],Oe=[`aria-label`],ke={class:`dots`},Ae=[`aria-label`,`aria-current`,`onClick`],je=5600,Me=45,Ne=N(D({__name:`HomeCarousel`,props:{slides:{}},emits:[`image-error`],setup(a,{expose:o}){let c=a,d=T(0),m=T(!1),g=T(!1),b=T(!1),E=T(!1),D=T(),k,A,j=v(()=>m.value||g.value||b.value||E.value||c.slides.length<2);function M(e){return e.target?`href`in e.target&&/^https?:\/\//i.test(e.target.href)?`a`:O:`div`}function N(e){return e.target?`routeName`in e.target?{to:{name:e.target.routeName}}:/^https?:\/\//i.test(e.target.href)?{href:e.target.href,target:`_blank`,rel:`noopener noreferrer`}:{to:e.target.href}:{}}function P(e){let t=c.slides.length;return t?(e+t)%t:0}function F(e){d.value=P(e)}function I(){F(d.value+1)}function L(){F(d.value-1)}function R(){k!==void 0&&window.clearInterval(k),k=void 0}function z(){R(),j.value||(k=window.setInterval(I,je))}function B(){b.value=document.hidden}function V(e){E.value=e.matches}function H(e){let t=e.currentTarget,n=e.relatedTarget;g.value=!!(n&&t.contains(n))}function U(e){D.value=e.changedTouches[0]?.clientX}function W(e){if(D.value===void 0)return;let t=e.changedTouches[0]?.clientX;if(t===void 0)return;let n=t-D.value;Math.abs(n)>=Me&&(n>0?L():I()),D.value=void 0}return h(j,z),h(()=>c.slides.length,e=>{d.value>=e&&(d.value=0),z()}),u(()=>{b.value=document.hidden,document.addEventListener(`visibilitychange`,B),A=window.matchMedia(`(prefers-reduced-motion: reduce)`),E.value=A.matches,A.addEventListener(`change`,V),z()}),p(()=>{R(),document.removeEventListener(`visibilitychange`,B),A?.removeEventListener(`change`,V)}),o({activeIndex:d,next:I,previous:L,goTo:F,hovered:m,focused:g}),(o,c)=>(w(),l(`section`,{class:`home-carousel`,"aria-label":o.$t(`intro.home.carousel.label`),onMouseenter:c[0]||=e=>m.value=!0,onMouseleave:c[1]||=e=>m.value=!1,onFocusin:c[2]||=e=>g.value=!0,onFocusout:H,onTouchstartPassive:U,onTouchendPassive:W},[e(`div`,ve,[(w(!0),l(f,null,S(a.slides,(n,a)=>(w(),_(C(M(n)),t({key:n.id},{ref_for:!0},N(n),{class:[`slide`,{active:a===d.value,static:!n.target}],"aria-hidden":a!==d.value,tabindex:a===d.value&&n.target?0:-1}),{default:y(()=>[n.imageUrl?(w(),l(`img`,{key:0,src:n.imageUrl,alt:n.title,loading:a===0?`eager`:`lazy`,decoding:`async`,fetchpriority:a===0?`high`:`auto`,style:x({objectPosition:n.focalPoint||`center`}),onError:e=>o.$emit(`image-error`,n)},null,44,ye)):(w(),l(`span`,be,[n.icon?(w(),l(`img`,{key:0,src:n.icon,alt:``},null,8,xe)):s(``,!0)])),c[4]||=e(`span`,{class:`shade`},null,-1),e(`span`,Se,[n.eyebrow?(w(),l(`span`,Ce,i(n.eyebrow),1)):s(``,!0),n.title?(w(),l(`strong`,we,i(n.title),1)):s(``,!0),e(`span`,Te,i(n.description),1),n.target?(w(),l(`span`,Ee,[r(i(o.$t(`intro.home.createNow`))+` `,1),c[3]||=e(`span`,{"aria-hidden":`true`},`→`,-1)])):s(``,!0)])]),_:2},1040,[`class`,`aria-hidden`,`tabindex`]))),128))]),a.slides.length>1?(w(),l(f,{key:0},[e(`button`,{class:`arrow previous`,type:`button`,"aria-label":o.$t(`intro.home.carousel.previous`),onClick:L},[...c[5]||=[e(`span`,{"aria-hidden":`true`},`‹`,-1)]],8,De),e(`button`,{class:`arrow next`,type:`button`,"aria-label":o.$t(`intro.home.carousel.next`),onClick:I},[...c[6]||=[e(`span`,{"aria-hidden":`true`},`›`,-1)]],8,Oe),e(`div`,ke,[(w(!0),l(f,null,S(a.slides,(e,t)=>(w(),l(`button`,{key:e.id,type:`button`,class:n({active:t===d.value}),"aria-label":o.$t(`intro.home.carousel.goto`,{number:t+1,title:e.title}),"aria-current":t===d.value?`true`:void 0,onClick:e=>F(t)},null,10,Ae))),128))])],64)):s(``,!0)],40,_e))}}),[[`__scopeId`,`data-v-d69edc68`]]),Pe=`acedatacloud:home-html-iframe-resize`,q=`acedatacloud:home-html-iframe-measure`,Fe=12e3,J=[`allow-scripts`,`allow-forms`,`allow-popups`,`allow-popups-to-escape-sandbox`,`allow-top-navigation-by-user-activation`].join(` `),Ie=new Set([`ar`]),Y=e=>{let t=e.trim().replace(`_`,`-`).slice(0,35);return/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(t)?t:`en`},X=e=>Ie.has(e.split(`-`)[0].toLowerCase())?`rtl`:`ltr`,Le=e=>JSON.stringify(e).replace(/</g,`\\u003c`).split(`\u2028`).join(`\\u2028`).split(`\u2029`).join(`\\u2029`),Re=`<script data-acedatacloud-resize>
2
2
  (() => {
3
3
  let pendingFrame = 0;
4
4
  let lastHeight = -1;
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-Z6KgLTht.js";import{t as b}from"./upload-Bf6gfU9e.js";import{t as x}from"./tooltip-Dkhw7cOR.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as T}from"./checkbox-DXMDpaxv.js";import{t as E}from"./drawer-L7Y4nWQp.js";import{t as D}from"./input-number-B-ci8lJH.js";import{t as O}from"./box-C-N2GtXj.js";import{t as k}from"./clock-Df79mUBO.js";import{t as A}from"./hash-fnNMJyhY.js";import{t as j}from"./image-CSGEim55.js";import{t as M}from"./info-CkI7CDMr.js";import{a as N,i as P,n as F,r as I,t as ee}from"./pagination-DebnOQug.js";import{t as L}from"./trash-2-Bsb0SCBF.js";import{t as R}from"./triangle-alert-BABYNg2h.js";import{t as te}from"./upload-C6vmRcPM.js";import{t as z}from"./wand-sparkles-D-Tu19dx.js";import{t as ne}from"./zap-O9CajQ-y.js";import{On as re}from"./constants-kiieigwv.js";import{D as B,Na as V,Qa as H,T as U,Tn as W,Yn as G,at as K,ct as q,lt as J,oo as Y,ot as X,qi as ie,st as ae,ta as oe,tt as se,za as ce}from"./index-9QPtYDXy.js";import{t as le}from"./CopyToClipboard-Bx-prlKU.js";import{t as ue}from"./ReportButton-Dw0mHMOU.js";import{t as Z}from"./ImagePreview-Cqw8CRzu.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./ServicePricingSummary-CIkjhZtm.js";import{t as pe}from"./ApiCodeButton-CamxfAYn.js";import{t as me}from"./BotPlaceholder-DdJ_x_l7.js";import{t as he}from"./taskPollingMixin-CcLxtz8z.js";import{t as ge}from"./ShowcaseResultTabs-9R6ZuYzV.js";import{t as _e}from"./showcaseRecreateMixin-C6lb96lp.js";import{n as ve,t as ye}from"./generationInput-BGGxEArh.js";import{t as be}from"./ImageWrapper-BpTBr_wd.js";var xe=_({name:`LayoutQwenImage`,components:{MagicIcon:z,ElDrawer:E,ElButton:H},mixins:[de]}),Se={class:`main flex flex-row flex-1`},Ce={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},we={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Te(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Se,[e(`div`,Ce,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,we,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ee=B(xe,[[`render`,Te],[`__scopeId`,`data-v-55d4f45e`]]),De=_({name:`QwenImagePromptInput`,components:{PromptTextarea:P},computed:{prompt:{get(){return this.$store.state.qwenimage?.config?.prompt},set(e){this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Oe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`qwenimage.name.prompt`),info:e.$t(`qwenimage.description.prompt`),placeholder:e.$t(`qwenimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ke=B(De,[[`render`,Oe]]),Ae=e=>({image:!0}),je=_({name:`QwenImageImageInput`,components:{UploadIcon:te,ElUpload:b,ElButton:H,InfoIcon:N,ImagePreview:Z},mixins:[J,q,X,se],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.qwenimage?.config?.image},model(){return this.$store.state.qwenimage?.config?.model},supported(){return Ae(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){w.warning(this.$t(`qwenimage.message.uploadImageExceed`))},onError(){w.error(this.$t(`qwenimage.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Me={key:0},Ne={class:`field`},Pe={class:`label`},Fe={class:`box`},Ie={class:`title font-bold`},Le={class:`value`},Re={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function ze(t,n,u,d,g,_){let v=l(`info-icon`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return t.supported?(h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,i(t.$t(`qwenimage.name.imageUrls`)),1),a(v,{content:t.$t(`qwenimage.description.imageUrls`),class:`info`},null,8,[`content`])])]),e(`div`,Le,[a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`qwenimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),e(`div`,Re,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(S,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Be=B(je,[[`render`,ze],[`__scopeId`,`data-v-1c07f3a8`]]),Q=e=>{let t={...e||{}};typeof t.prompt==`string`&&(t.prompt=t.prompt.trim());let n=t.image?.length?t.image:void 0;return delete t.image,{...t,image_urls:n,watermark:!1,async:!0}},Ve=_({name:`QwenImageConfigPanel`,components:{ElButton:H,ElSelect:v,ElOption:y,ElInput:Y,ElInputNumber:D,ElCheckbox:T,PromptInput:ke,ImageInput:Be,ServicePricingSummary:fe},emits:[`generate`],computed:{canGenerate(){return ye(`qwenimage`,Q(this.config))},config(){return this.$store.state.qwenimage?.config},service(){return this.$store.state.qwenimage?.service},consumption(){return W(Q(this.config),this.service?.cost)},model:{get(){return this.config?.model||`qwen-image-3.0`},set(e){this.set({model:e})}},size:{get(){return this.config?.size||`1024*1024`},set(e){this.set({size:e})}},n:{get(){return this.config?.n||1},set(e){this.set({n:e})}},thinking:{get(){return this.config?.enable_thinking!==!1},set(e){this.set({enable_thinking:e})}}},methods:{set(e){this.$store.commit(`qwenimage/setConfig`,{...this.config,...e})}}}),He={class:`flex flex-col h-full`},Ue={class:`flex-1 overflow-y-auto p-5 space-y-4`},We={class:`px-5 pb-5`};function Ge(t,n,o,c,u,d){let f=l(`el-option`),m=l(`el-select`),g=l(`prompt-input`),_=l(`image-input`),v=l(`el-input`),y=l(`el-input-number`),b=l(`el-checkbox`),x=l(`service-pricing-summary`),S=l(`el-button`);return h(),s(`div`,He,[e(`div`,Ue,[e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.model`)),1),a(m,{modelValue:t.model,"onUpdate:modelValue":n[0]||=e=>t.model=e,class:`w-full`},{default:p(()=>[a(f,{value:`qwen-image-3.0`,label:`qwen-image-3.0`}),a(f,{value:`qwen-image-3.0-pro`,label:`qwen-image-3.0-pro`})]),_:1},8,[`modelValue`])]),a(g),a(_),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.size`)),1),a(v,{modelValue:t.size,"onUpdate:modelValue":n[1]||=e=>t.size=e,placeholder:`1024*1024`},null,8,[`modelValue`])]),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.count`)),1),a(y,{modelValue:t.n,"onUpdate:modelValue":n[2]||=e=>t.n=e,min:1,max:6},null,8,[`modelValue`])]),a(b,{modelValue:t.thinking,"onUpdate:modelValue":n[3]||=e=>t.thinking=e},{default:p(()=>[r(i(t.$t(`qwenimage.name.thinking`)),1)]),_:1},8,[`modelValue`])]),e(`div`,We,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(S,{type:`primary`,class:`w-full`,round:``,disabled:!t.canGenerate,onClick:n[4]||=e=>t.$emit(`generate`)},{default:p(()=>[r(i(t.$t(`qwenimage.button.generate`)),1)]),_:1},8,[`disabled`])])])}var Ke=B(Ve,[[`render`,Ge]]),qe=_({name:`QwenImageTaskPreview`,components:{DeleteIcon:L,ApplicationIcon:O,ChannelIcon:A,ImageIcon:j,InfoIcon:M,LightningIcon:ne,MagicIcon:z,TimeIcon:k,WarningIcon:R,CopyToClipboard:le,ElAlert:S,ImageWrapper:be,ElButton:H,ElTooltip:x,ImagePreview:Z,ApiCodeButton:pe,ReportButton:ue},props:{modelValue:{type:Object,required:!0}},computed:{apiRequest(){return Q(this.modelValue?.request)},isEdit(){return Array.isArray(this.modelValue?.request?.image_urls)&&(this.modelValue?.request?.image_urls?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ce.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`qwenimage/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},shortModel(e){return re(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.qwenimage?.config||{}};t.image=[e],this.$store.commit(`qwenimage/setConfig`,t)}}}),Je={class:`preview`},Ye={class:`left`},Xe={class:`main`},Ze={class:`bot`},Qe={class:`datetime`},$e=[`aria-label`],et={class:`info`},tt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},nt={key:1,class:`prompt mt-2`},rt={key:0},it={key:0,class:n({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:n({content:!0,failed:!0})},st={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ct={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:`content`},gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},St={key:3,class:n({content:!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Tt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`time-icon`),w=l(`magic-icon`),T=l(`copy-to-clipboard`),E=l(`el-alert`),D=l(`image-wrapper`),O=l(`el-button`),k=l(`api-code-button`),A=l(`report-button`),j=l(`application-icon`),M=l(`image-icon`),N=l(`lightning-icon`),P=l(`channel-icon`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Je,[e(`div`,Ye,[a(y,{capability:`qwenimage`,part:`avatar`,class:`avatar`})]),e(`div`,Xe,[e(`div`,Ze,[a(y,{capability:`qwenimage`,part:`name`}),e(`span`,Qe,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,$e)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,et,[Array.isArray(n.modelValue?.request?.image_urls)&&n.modelValue?.request?.image_urls.length>0?(h(),s(`div`,tt,[(h(!0),s(c,null,m(n.modelValue?.request?.image_urls,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,nt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,rt,` - (`+i(n.$t(`qwenimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(h(),s(`div`,ot,[e(`div`,st,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(D,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,ct,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(O,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(k,{path:`/qwenimage/images`,body:n.apiRequest},null,8,[`body`]),a(A,{service:`qwenimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,lt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,ut,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,dt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,ft,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,mt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,ht,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,gt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,_t,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,vt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,yt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(h(),s(`p`,$,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(h(),s(`p`,bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,xt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,St,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.status`)),1)]),default:p(()=>[e(`p`,Ct,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(h(),s(`p`,wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,it,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.status.pending`)),1)]),default:p(()=>[e(`p`,at,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Et=_({name:`QwenImageRecentPanel`,components:{TaskPreview:B(qe,[[`render`,Tt],[`__scopeId`,`data-v-0aeb264f`]]),BotPlaceholder:me,NoTasks:I,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.qwenimage?.tasks,items:this.$store.state.qwenimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Ot={key:2,class:`w-full h-full flex items-center justify-center`};function kt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Dt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ot,[a(v)])):o(``,!0)],64)}var At=_({name:`QwenImageIndex`,components:{ConfigPanel:Ke,Layout:Ee,RecentPanel:B(Et,[[`render`,kt]]),ShowcaseResultTabs:ge},mixins:[ae,_e(`qwenimage`),he(`qwenimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.qwenimage?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.qwenimage?.status?.getTasks===C.Request},credential(){return this.$store.state.qwenimage?.credential},config(){return this.$store.state.qwenimage?.config},application(){return this.$store.state.qwenimage?.application},tasks(){return this.$store.state.qwenimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`qwenimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`qwenimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`qwenimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){let e=Q(this.config),t=ve(`qwenimage`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!K(this.uploadTracker,e=>this.$t(e),e=>w.warning(e))||!oe())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}w.info(this.$t(`qwenimage.message.startingTask`)),ie(`qwenimage`,G.generate(e,{token:n})).then(()=>{w.success(this.$t(`qwenimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;U(e,`qwenimage`)||w.error(this.$t(`qwenimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function jt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`qwenimage`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Mt=B(At,[[`render`,jt]]);export{Mt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-QsHgFK-q.js";import{t as b}from"./upload-Bf6gfU9e.js";import{t as x}from"./tooltip-Boxqz0SE.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as T}from"./checkbox-DXMDpaxv.js";import{t as E}from"./drawer-COHNQWqs.js";import{t as D}from"./input-number-BV0MZh77.js";import{t as O}from"./box-DHXL0jfh.js";import{t as k}from"./clock-Bn9Jxy03.js";import{t as A}from"./hash-DpHkwauu.js";import{t as j}from"./image-D0Z5ZFK_.js";import{t as M}from"./info-7bwgfIAM.js";import{a as N,i as P,n as F,r as I,t as ee}from"./pagination-4wfrJiA1.js";import{t as L}from"./trash-2-BUBbANzL.js";import{t as R}from"./triangle-alert-C8sUN5Zy.js";import{t as te}from"./upload-DX4Z0k_g.js";import{t as z}from"./wand-sparkles-C6iRRX45.js";import{t as ne}from"./zap-CsTGHOAl.js";import{On as re}from"./constants-kiieigwv.js";import{D as B,Na as V,Qa as H,T as U,Tn as W,Yn as G,at as K,ct as q,lt as J,oo as Y,ot as X,qi as ie,st as ae,ta as oe,tt as se,za as ce}from"./index-_Awgv-in.js";import{t as le}from"./CopyToClipboard-HbsY8Q0t.js";import{t as ue}from"./ReportButton-CN9sBNWJ.js";import{t as Z}from"./ImagePreview-BOJnqkhj.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./ServicePricingSummary-BwJqvNoc.js";import{t as pe}from"./ApiCodeButton-BAuef93l.js";import{t as me}from"./BotPlaceholder-COCaLEsI.js";import{t as he}from"./taskPollingMixin-CcLxtz8z.js";import{t as ge}from"./ShowcaseResultTabs-v1RT0-EQ.js";import{t as _e}from"./showcaseRecreateMixin-B5tR17rt.js";import{n as ve,t as ye}from"./generationInput-BGGxEArh.js";import{t as be}from"./ImageWrapper-jUIsT2uG.js";var xe=_({name:`LayoutQwenImage`,components:{MagicIcon:z,ElDrawer:E,ElButton:H},mixins:[de]}),Se={class:`main flex flex-row flex-1`},Ce={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},we={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Te(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Se,[e(`div`,Ce,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,we,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ee=B(xe,[[`render`,Te],[`__scopeId`,`data-v-55d4f45e`]]),De=_({name:`QwenImagePromptInput`,components:{PromptTextarea:P},computed:{prompt:{get(){return this.$store.state.qwenimage?.config?.prompt},set(e){this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Oe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`qwenimage.name.prompt`),info:e.$t(`qwenimage.description.prompt`),placeholder:e.$t(`qwenimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ke=B(De,[[`render`,Oe]]),Ae=e=>({image:!0}),je=_({name:`QwenImageImageInput`,components:{UploadIcon:te,ElUpload:b,ElButton:H,InfoIcon:N,ImagePreview:Z},mixins:[J,q,X,se],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.qwenimage?.config?.image},model(){return this.$store.state.qwenimage?.config?.model},supported(){return Ae(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){w.warning(this.$t(`qwenimage.message.uploadImageExceed`))},onError(){w.error(this.$t(`qwenimage.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Me={key:0},Ne={class:`field`},Pe={class:`label`},Fe={class:`box`},Ie={class:`title font-bold`},Le={class:`value`},Re={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function ze(t,n,u,d,g,_){let v=l(`info-icon`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return t.supported?(h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,i(t.$t(`qwenimage.name.imageUrls`)),1),a(v,{content:t.$t(`qwenimage.description.imageUrls`),class:`info`},null,8,[`content`])])]),e(`div`,Le,[a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`qwenimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),e(`div`,Re,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(S,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Be=B(je,[[`render`,ze],[`__scopeId`,`data-v-1c07f3a8`]]),Q=e=>{let t={...e||{}};typeof t.prompt==`string`&&(t.prompt=t.prompt.trim());let n=t.image?.length?t.image:void 0;return delete t.image,{...t,image_urls:n,watermark:!1,async:!0}},Ve=_({name:`QwenImageConfigPanel`,components:{ElButton:H,ElSelect:v,ElOption:y,ElInput:Y,ElInputNumber:D,ElCheckbox:T,PromptInput:ke,ImageInput:Be,ServicePricingSummary:fe},emits:[`generate`],computed:{canGenerate(){return ye(`qwenimage`,Q(this.config))},config(){return this.$store.state.qwenimage?.config},service(){return this.$store.state.qwenimage?.service},consumption(){return W(Q(this.config),this.service?.cost)},model:{get(){return this.config?.model||`qwen-image-3.0`},set(e){this.set({model:e})}},size:{get(){return this.config?.size||`1024*1024`},set(e){this.set({size:e})}},n:{get(){return this.config?.n||1},set(e){this.set({n:e})}},thinking:{get(){return this.config?.enable_thinking!==!1},set(e){this.set({enable_thinking:e})}}},methods:{set(e){this.$store.commit(`qwenimage/setConfig`,{...this.config,...e})}}}),He={class:`flex flex-col h-full`},Ue={class:`flex-1 overflow-y-auto p-5 space-y-4`},We={class:`px-5 pb-5`};function Ge(t,n,o,c,u,d){let f=l(`el-option`),m=l(`el-select`),g=l(`prompt-input`),_=l(`image-input`),v=l(`el-input`),y=l(`el-input-number`),b=l(`el-checkbox`),x=l(`service-pricing-summary`),S=l(`el-button`);return h(),s(`div`,He,[e(`div`,Ue,[e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.model`)),1),a(m,{modelValue:t.model,"onUpdate:modelValue":n[0]||=e=>t.model=e,class:`w-full`},{default:p(()=>[a(f,{value:`qwen-image-3.0`,label:`qwen-image-3.0`}),a(f,{value:`qwen-image-3.0-pro`,label:`qwen-image-3.0-pro`})]),_:1},8,[`modelValue`])]),a(g),a(_),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.size`)),1),a(v,{modelValue:t.size,"onUpdate:modelValue":n[1]||=e=>t.size=e,placeholder:`1024*1024`},null,8,[`modelValue`])]),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.count`)),1),a(y,{modelValue:t.n,"onUpdate:modelValue":n[2]||=e=>t.n=e,min:1,max:6},null,8,[`modelValue`])]),a(b,{modelValue:t.thinking,"onUpdate:modelValue":n[3]||=e=>t.thinking=e},{default:p(()=>[r(i(t.$t(`qwenimage.name.thinking`)),1)]),_:1},8,[`modelValue`])]),e(`div`,We,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(S,{type:`primary`,class:`w-full`,round:``,disabled:!t.canGenerate,onClick:n[4]||=e=>t.$emit(`generate`)},{default:p(()=>[r(i(t.$t(`qwenimage.button.generate`)),1)]),_:1},8,[`disabled`])])])}var Ke=B(Ve,[[`render`,Ge]]),qe=_({name:`QwenImageTaskPreview`,components:{DeleteIcon:L,ApplicationIcon:O,ChannelIcon:A,ImageIcon:j,InfoIcon:M,LightningIcon:ne,MagicIcon:z,TimeIcon:k,WarningIcon:R,CopyToClipboard:le,ElAlert:S,ImageWrapper:be,ElButton:H,ElTooltip:x,ImagePreview:Z,ApiCodeButton:pe,ReportButton:ue},props:{modelValue:{type:Object,required:!0}},computed:{apiRequest(){return Q(this.modelValue?.request)},isEdit(){return Array.isArray(this.modelValue?.request?.image_urls)&&(this.modelValue?.request?.image_urls?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ce.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`qwenimage/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},shortModel(e){return re(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.qwenimage?.config||{}};t.image=[e],this.$store.commit(`qwenimage/setConfig`,t)}}}),Je={class:`preview`},Ye={class:`left`},Xe={class:`main`},Ze={class:`bot`},Qe={class:`datetime`},$e=[`aria-label`],et={class:`info`},tt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},nt={key:1,class:`prompt mt-2`},rt={key:0},it={key:0,class:n({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:n({content:!0,failed:!0})},st={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ct={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:`content`},gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},St={key:3,class:n({content:!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Tt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`time-icon`),w=l(`magic-icon`),T=l(`copy-to-clipboard`),E=l(`el-alert`),D=l(`image-wrapper`),O=l(`el-button`),k=l(`api-code-button`),A=l(`report-button`),j=l(`application-icon`),M=l(`image-icon`),N=l(`lightning-icon`),P=l(`channel-icon`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Je,[e(`div`,Ye,[a(y,{capability:`qwenimage`,part:`avatar`,class:`avatar`})]),e(`div`,Xe,[e(`div`,Ze,[a(y,{capability:`qwenimage`,part:`name`}),e(`span`,Qe,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,$e)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,et,[Array.isArray(n.modelValue?.request?.image_urls)&&n.modelValue?.request?.image_urls.length>0?(h(),s(`div`,tt,[(h(!0),s(c,null,m(n.modelValue?.request?.image_urls,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,nt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,rt,` - (`+i(n.$t(`qwenimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(h(),s(`div`,ot,[e(`div`,st,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(D,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,ct,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(O,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(k,{path:`/qwenimage/images`,body:n.apiRequest},null,8,[`body`]),a(A,{service:`qwenimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,lt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,ut,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,dt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,ft,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,mt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,ht,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,gt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,_t,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,vt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,yt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(h(),s(`p`,$,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(h(),s(`p`,bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,xt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,St,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.status`)),1)]),default:p(()=>[e(`p`,Ct,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(h(),s(`p`,wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,it,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.status.pending`)),1)]),default:p(()=>[e(`p`,at,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Et=_({name:`QwenImageRecentPanel`,components:{TaskPreview:B(qe,[[`render`,Tt],[`__scopeId`,`data-v-0aeb264f`]]),BotPlaceholder:me,NoTasks:I,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.qwenimage?.tasks,items:this.$store.state.qwenimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Ot={key:2,class:`w-full h-full flex items-center justify-center`};function kt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Dt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Ot,[a(v)])):o(``,!0)],64)}var At=_({name:`QwenImageIndex`,components:{ConfigPanel:Ke,Layout:Ee,RecentPanel:B(Et,[[`render`,kt]]),ShowcaseResultTabs:ge},mixins:[ae,_e(`qwenimage`),he(`qwenimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.qwenimage?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.qwenimage?.status?.getTasks===C.Request},credential(){return this.$store.state.qwenimage?.credential},config(){return this.$store.state.qwenimage?.config},application(){return this.$store.state.qwenimage?.application},tasks(){return this.$store.state.qwenimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`qwenimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`qwenimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`qwenimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){let e=Q(this.config),t=ve(`qwenimage`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!K(this.uploadTracker,e=>this.$t(e),e=>w.warning(e))||!oe())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}w.info(this.$t(`qwenimage.message.startingTask`)),ie(`qwenimage`,G.generate(e,{token:n})).then(()=>{w.success(this.$t(`qwenimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;U(e,`qwenimage`)||w.error(this.$t(`qwenimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function jt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`qwenimage`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Mt=B(At,[[`render`,jt]]);export{Mt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,qt as h,rt as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-Z6KgLTht.js";import{t as S}from"./upload-Bf6gfU9e.js";import{t as C}from"./tooltip-Dkhw7cOR.js";import{t as w}from"./alert-BprQRUmf.js";import{_ as T,v as E}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as D}from"./drawer-L7Y4nWQp.js";import{t as O}from"./box-C-N2GtXj.js";import{t as k}from"./clock-Df79mUBO.js";import{t as A}from"./external-link-DAu20zfD.js";import{t as j}from"./hash-fnNMJyhY.js";import{t as M}from"./image-CSGEim55.js";import{t as N}from"./info-CkI7CDMr.js";import{a as P,i as F,n as I,r as L,t as R}from"./pagination-DebnOQug.js";import{t as ee}from"./trash-2-Bsb0SCBF.js";import{t as te}from"./triangle-alert-BABYNg2h.js";import{t as ne}from"./upload-C6vmRcPM.js";import{t as z}from"./wand-sparkles-D-Tu19dx.js";import{t as B}from"./zap-O9CajQ-y.js";import{Ha as V,Qa as re,_r as H,gr as ie,hr as ae,pr as oe,vr as se}from"./constants-kiieigwv.js";import{D as U,Mi as W,Na as G,Pi as K,Qa as q,Qn as J,T as ce,Tn as le,at as ue,ct as de,lt as fe,oi as pe,ot as me,qi as he,ri as ge,st as _e,ta as Y,tt as ve,za as X}from"./index-9QPtYDXy.js";import{t as ye}from"./CopyToClipboard-Bx-prlKU.js";import{t as be}from"./ReportButton-Dw0mHMOU.js";import{t as Z}from"./ImagePreview-Cqw8CRzu.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./ServicePricingSummary-CIkjhZtm.js";import{t as Ce}from"./ScenarioPaymentMode-B-H0w0Nu.js";import{t as we}from"./ApiCodeButton-CamxfAYn.js";import{t as Te}from"./BotPlaceholder-DdJ_x_l7.js";import{t as Ee}from"./taskPollingMixin-CcLxtz8z.js";import{t as De}from"./ShowcaseResultTabs-9R6ZuYzV.js";import{t as Oe}from"./showcaseRecreateMixin-C6lb96lp.js";import{t as ke}from"./ImageWrapper-BpTBr_wd.js";import{t as Q}from"./imageRequests-6801C8WR.js";var Ae=y({name:`LayoutNanobanana`,components:{MagicIcon:z,ElDrawer:D,ElButton:q},mixins:[xe]}),je={class:`main flex flex-row flex-1`},Me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ne={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Pe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,je,[e(`div`,Me,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ne,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[v,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Fe=U(Ae,[[`render`,Pe],[`__scopeId`,`data-v-6f553b1e`]]),Ie=y({name:`PromptInput`,components:{PromptTextarea:F},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Le(e,t,n,r,i,a){let o=u(`prompt-textarea`);return _(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Re=U(Ie,[[`render`,Le]]),ze=y({name:`ImageUrlsInput`,components:{UploadIcon:ne,ElUpload:S,ElButton:q,InfoIcon:P,ImagePreview:Z},mixins:[fe,de,me,ve],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){E.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){E.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Be={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Ve={class:`flex min-w-0 items-center`},He={class:`title m-0 text-[14px] font-bold`},Ue={class:`file-list flex flex-wrap gap-[10px]`};function We(t,n,o,c,d,f){let h=u(`info-icon`),v=u(`upload-icon`),y=u(`el-button`),b=u(`el-upload`),x=u(`image-preview`);return _(),s(`div`,null,[e(`div`,Be,[e(`div`,Ve,[e(`h2`,He,i(t.$t(`nanobanana.name.imageUrls`)),1),a(h,{content:t.$t(`nanobanana.description.imageUrls`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:5,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:m(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ue,[(_(!0),s(l,null,g(t.fileList,(e,n)=>(_(),p(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Ge=U(ze,[[`render`,We]]),Ke=y({name:`AspectRatioSelector`,components:{InfoIcon:P},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),qe={class:`ratio`},Je={class:`header`},Ye={class:`title font-bold`},Xe=[`aria-label`],Ze=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Qe={class:`preview`},$e={class:`name`};function et(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(r.$t(`nanobanana.name.aspectRatio`)),1),a(v,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),e(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(_(!0),s(l,null,g(r.options,a=>(_(),s(`div`,{key:a.value,class:n([`item`,{active:r.value===a.value}]),role:`radio`,"aria-checked":r.value===a.value,"aria-label":a.label,tabindex:`0`,onClick:e=>r.onSelect(a.value),onKeydown:[c(t(e=>r.onSelect(a.value),[`prevent`]),[`enter`]),c(t(e=>r.onSelect(a.value),[`prevent`]),[`space`])]},[e(`div`,Qe,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,$e,i(a.label),1)],42,Ze))),128))],8,Xe)])}var tt=U(Ke,[[`render`,et],[`__scopeId`,`data-v-7131eb97`]]),nt=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{options:[{value:ae,label:this.$t(`nanobanana.model.nanoBanana`)},{value:H,label:H},{value:se,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:ie,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=oe}}),rt={class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,rt,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`nanobanana.name.model`)),1),a(f,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`)},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=U(nt,[[`render`,st],[`__scopeId`,`data-v-11cb675b`]]),lt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},supportsResolution(){let e=this.$store.state.nanobanana?.config?.model;return e===`nano-banana-2`||e===`nano-banana-pro`}},watch:{value(e){this.supportsResolution&&e&&(this.cachedResolution=e)},supportsResolution(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.supportsResolution&&!this.value&&(this.value=`1K`),!this.supportsResolution&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`nanobanana.name.resolution`)),1),a(f,{content:t.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`),disabled:!t.supportsResolution},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var ht=U(lt,[[`render`,mt],[`__scopeId`,`data-v-7ab9d4d4`]]),gt=350,_t=y({name:`ConfigPanel`,components:{MagicIcon:z,ElButton:q,PromptInput:Re,ServicePricingSummary:Se,ImageUrlsInput:Ge,AspectRatioSelector:tt,ModelSelector:ct,ResolutionSelector:ht,ScenarioPaymentMode:Ce},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},canGenerate(){return V(this.config?.prompt)},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.clearQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.walletMode&&this.scheduleQuote()}},beforeUnmount(){this.clearQuote()},methods:{clearQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=K(`nanobanana`);e.quoteUsdc=void 0,e.quoteLoading=!1},scheduleQuote(){this.clearQuote(),!(!this.walletMode||!this.canGenerate)&&(this.quoteTimer=window.setTimeout(this.refreshQuote,gt))},async refreshQuote(){if(!this.walletMode||!this.canGenerate){this.clearQuote();return}let e=K(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),vt={class:`flex flex-col h-full`},yt={class:`flex-1 overflow-y-auto p-5`},bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function xt(t,n,c,l,d,f){let h=u(`model-selector`),g=u(`resolution-selector`),v=u(`prompt-input`),y=u(`aspect-ratio-selector`),b=u(`image-urls-input`),x=u(`scenario-payment-mode`),S=u(`service-pricing-summary`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,vt,[e(`div`,yt,[a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,bt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service,"pricing-unit-aliases":{count:`image`}},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var St=U(_t,[[`render`,xt]]),Ct=y({name:`TaskPreview`,components:{ApplicationIcon:O,ChannelIcon:j,DeleteIcon:ee,ExternalLinkIcon:A,ImageIcon:M,InfoIcon:N,LightningIcon:B,MagicIcon:z,TimeIcon:k,WarningIcon:te,CopyToClipboard:ye,ElAlert:w,ImageWrapper:ke,ElButton:q,ElTooltip:C,ImagePreview:Z,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e},hasImages(){return this.images.some(e=>!!e?.image_url)},isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error},showResult(){let e=this.modelValue?.response;return!e||this.isFailure?!1:(e.success,this.hasImages)},reportSnapshot(){return{prompt:this.modelValue?.request?.prompt,image_urls:this.images.map(e=>e.image_url).filter(Boolean),model:this.modelValue?.request?.model,action:this.modelValue?.request?.action,task_id:this.modelValue?.id,trace_id:this.modelValue?.response?.trace_id}}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await X.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`nanobanana/deleteTask`,{id:e}),E.success(this.$t(`common.message.deleteTaskSuccess`))}catch{E.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),wt={class:`preview`},Tt={class:`left`},Et={class:`main`},Dt={class:`bot`},Ot={class:`datetime`},kt=[`aria-label`],At={class:`info`},jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mt={key:1,class:`prompt mt-2`},Nt={key:0},Pt={key:0,class:n({content:!0,failed:!0})},Ft={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},It={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:1,class:n({content:!0})},Gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qt={key:2,class:n({content:!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function an(n,c,d,f,h,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`image-preview`),C=u(`image-wrapper`),w=u(`el-button`),T=u(`api-code-button`),E=u(`report-button`),D=u(`application-icon`),O=u(`image-icon`),k=u(`external-link-icon`),A=u(`lightning-icon`),j=u(`magic-icon`),M=u(`copy-to-clipboard`),N=u(`time-icon`),P=u(`channel-icon`),F=u(`el-alert`),I=u(`warning-icon`),L=u(`info-icon`);return _(),s(`div`,wt,[e(`div`,Tt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,Et,[e(`div`,Dt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,Ot,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:m(()=>[n.modelValue?.id?(_(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,kt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,At,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,jt,[(_(!0),s(l,null,g(n.modelValue?.request?.image_urls,(e,t)=>(_(),p(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(_(),s(`p`,Mt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Nt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Pt,[e(`div`,Ft,[(_(!0),s(l,null,g(n.images,(e,t)=>(_(),p(C,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,It,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:m(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:m(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:`/nano-banana/images`,body:n.modelValue?.request},null,8,[`body`]),a(E,{service:`nanobanana`,"target-id":n.modelValue?.id,snapshot:n.reportSnapshot,"show-label":``},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Rt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,zt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,Bt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Vt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Ht,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Ut,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.isFailure?(_(),s(`div`,Wt,[a(F,{closable:!1,class:`failure`},{template:m(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Gt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,qt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Jt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Yt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(M,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Xt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Zt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(_(),s(`div`,Qt,[a(F,{closable:!1,class:`info`},{template:m(()=>[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.status.pending`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,$t,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,en,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,tn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,nn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,rn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var on=y({name:`RecentPanel`,components:{TaskPreview:U(Ct,[[`render`,an],[`__scopeId`,`data-v-aa642ec8`]]),BotPlaceholder:Te,NoTasks:L,ScrollList:I},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),h=u(`scroll-list`),v=u(`no-tasks`);return _(),s(l,null,[e.tasks?.items===void 0?(_(),s(`div`,sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(_(),p(h,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(_(!0),s(l,null,g(e.tasks?.items,e=>(_(),p(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(_(),s(`div`,cn,[a(v)])):o(``,!0)],64)}var un=y({name:`NanobananaIndex`,components:{ConfigPanel:St,Layout:Fe,RecentPanel:U(on,[[`render`,ln]]),ShowcaseResultTabs:De},mixins:[_e,Oe(`nanobanana`),Ee(`nanobanana`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===T.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===T.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`nanobanana/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await R({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(re()&&!Y())return;if(!V(this.config?.prompt)){E.error(this.$t(`common.message.promptRequired`));return}if(!ue(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e=Q(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){E.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=J.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Y())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=J.generate(e,{token:n})}E.info(this.$t(`nanobanana.message.startingTask`)),he(`nanobanana`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),E.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{if(e instanceof ge)return;let t=e?.response?.data;ce(e,`nanobanana`)||(this.walletMode?E.error(this.$t(`common.x402Scenario.paymentFailed`)):E.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return pe(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`showcase-result-tabs`),d=u(`layout`);return _(),p(d,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(l,{service:`nano-banana`},{tasks:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var fn=U(un,[[`render`,dn]]);export{fn as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,qt as h,rt as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-QsHgFK-q.js";import{t as S}from"./upload-Bf6gfU9e.js";import{t as C}from"./tooltip-Boxqz0SE.js";import{t as w}from"./alert-BprQRUmf.js";import{_ as T,v as E}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as D}from"./drawer-COHNQWqs.js";import{t as O}from"./box-DHXL0jfh.js";import{t as k}from"./clock-Bn9Jxy03.js";import{t as A}from"./external-link-Dzis-Iij.js";import{t as j}from"./hash-DpHkwauu.js";import{t as M}from"./image-D0Z5ZFK_.js";import{t as N}from"./info-7bwgfIAM.js";import{a as P,i as F,n as I,r as L,t as R}from"./pagination-4wfrJiA1.js";import{t as ee}from"./trash-2-BUBbANzL.js";import{t as te}from"./triangle-alert-C8sUN5Zy.js";import{t as ne}from"./upload-DX4Z0k_g.js";import{t as z}from"./wand-sparkles-C6iRRX45.js";import{t as B}from"./zap-CsTGHOAl.js";import{Ha as V,Qa as re,_r as H,gr as ie,hr as ae,pr as oe,vr as se}from"./constants-kiieigwv.js";import{D as U,Mi as W,Na as G,Pi as K,Qa as q,Qn as J,T as ce,Tn as le,at as ue,ct as de,lt as fe,oi as pe,ot as me,qi as he,ri as ge,st as _e,ta as Y,tt as ve,za as X}from"./index-_Awgv-in.js";import{t as ye}from"./CopyToClipboard-HbsY8Q0t.js";import{t as be}from"./ReportButton-CN9sBNWJ.js";import{t as Z}from"./ImagePreview-BOJnqkhj.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./ServicePricingSummary-BwJqvNoc.js";import{t as Ce}from"./ScenarioPaymentMode--vT56PK3.js";import{t as we}from"./ApiCodeButton-BAuef93l.js";import{t as Te}from"./BotPlaceholder-COCaLEsI.js";import{t as Ee}from"./taskPollingMixin-CcLxtz8z.js";import{t as De}from"./ShowcaseResultTabs-v1RT0-EQ.js";import{t as Oe}from"./showcaseRecreateMixin-B5tR17rt.js";import{t as ke}from"./ImageWrapper-jUIsT2uG.js";import{t as Q}from"./imageRequests-6801C8WR.js";var Ae=y({name:`LayoutNanobanana`,components:{MagicIcon:z,ElDrawer:D,ElButton:q},mixins:[xe]}),je={class:`main flex flex-row flex-1`},Me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ne={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Pe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,je,[e(`div`,Me,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ne,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[v,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Fe=U(Ae,[[`render`,Pe],[`__scopeId`,`data-v-6f553b1e`]]),Ie=y({name:`PromptInput`,components:{PromptTextarea:F},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Le(e,t,n,r,i,a){let o=u(`prompt-textarea`);return _(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Re=U(Ie,[[`render`,Le]]),ze=y({name:`ImageUrlsInput`,components:{UploadIcon:ne,ElUpload:S,ElButton:q,InfoIcon:P,ImagePreview:Z},mixins:[fe,de,me,ve],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){E.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){E.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Be={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Ve={class:`flex min-w-0 items-center`},He={class:`title m-0 text-[14px] font-bold`},Ue={class:`file-list flex flex-wrap gap-[10px]`};function We(t,n,o,c,d,f){let h=u(`info-icon`),v=u(`upload-icon`),y=u(`el-button`),b=u(`el-upload`),x=u(`image-preview`);return _(),s(`div`,null,[e(`div`,Be,[e(`div`,Ve,[e(`h2`,He,i(t.$t(`nanobanana.name.imageUrls`)),1),a(h,{content:t.$t(`nanobanana.description.imageUrls`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:5,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:m(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ue,[(_(!0),s(l,null,g(t.fileList,(e,n)=>(_(),p(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Ge=U(ze,[[`render`,We]]),Ke=y({name:`AspectRatioSelector`,components:{InfoIcon:P},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),qe={class:`ratio`},Je={class:`header`},Ye={class:`title font-bold`},Xe=[`aria-label`],Ze=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Qe={class:`preview`},$e={class:`name`};function et(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(r.$t(`nanobanana.name.aspectRatio`)),1),a(v,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),e(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(_(!0),s(l,null,g(r.options,a=>(_(),s(`div`,{key:a.value,class:n([`item`,{active:r.value===a.value}]),role:`radio`,"aria-checked":r.value===a.value,"aria-label":a.label,tabindex:`0`,onClick:e=>r.onSelect(a.value),onKeydown:[c(t(e=>r.onSelect(a.value),[`prevent`]),[`enter`]),c(t(e=>r.onSelect(a.value),[`prevent`]),[`space`])]},[e(`div`,Qe,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,$e,i(a.label),1)],42,Ze))),128))],8,Xe)])}var tt=U(Ke,[[`render`,et],[`__scopeId`,`data-v-7131eb97`]]),nt=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{options:[{value:ae,label:this.$t(`nanobanana.model.nanoBanana`)},{value:H,label:H},{value:se,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:ie,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=oe}}),rt={class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,rt,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`nanobanana.name.model`)),1),a(f,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`)},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=U(nt,[[`render`,st],[`__scopeId`,`data-v-11cb675b`]]),lt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},supportsResolution(){let e=this.$store.state.nanobanana?.config?.model;return e===`nano-banana-2`||e===`nano-banana-pro`}},watch:{value(e){this.supportsResolution&&e&&(this.cachedResolution=e)},supportsResolution(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.supportsResolution&&!this.value&&(this.value=`1K`),!this.supportsResolution&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`nanobanana.name.resolution`)),1),a(f,{content:t.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`),disabled:!t.supportsResolution},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var ht=U(lt,[[`render`,mt],[`__scopeId`,`data-v-7ab9d4d4`]]),gt=350,_t=y({name:`ConfigPanel`,components:{MagicIcon:z,ElButton:q,PromptInput:Re,ServicePricingSummary:Se,ImageUrlsInput:Ge,AspectRatioSelector:tt,ModelSelector:ct,ResolutionSelector:ht,ScenarioPaymentMode:Ce},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},canGenerate(){return V(this.config?.prompt)},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.clearQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.walletMode&&this.scheduleQuote()}},beforeUnmount(){this.clearQuote()},methods:{clearQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=K(`nanobanana`);e.quoteUsdc=void 0,e.quoteLoading=!1},scheduleQuote(){this.clearQuote(),!(!this.walletMode||!this.canGenerate)&&(this.quoteTimer=window.setTimeout(this.refreshQuote,gt))},async refreshQuote(){if(!this.walletMode||!this.canGenerate){this.clearQuote();return}let e=K(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),vt={class:`flex flex-col h-full`},yt={class:`flex-1 overflow-y-auto p-5`},bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function xt(t,n,c,l,d,f){let h=u(`model-selector`),g=u(`resolution-selector`),v=u(`prompt-input`),y=u(`aspect-ratio-selector`),b=u(`image-urls-input`),x=u(`scenario-payment-mode`),S=u(`service-pricing-summary`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,vt,[e(`div`,yt,[a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,bt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service,"pricing-unit-aliases":{count:`image`}},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var St=U(_t,[[`render`,xt]]),Ct=y({name:`TaskPreview`,components:{ApplicationIcon:O,ChannelIcon:j,DeleteIcon:ee,ExternalLinkIcon:A,ImageIcon:M,InfoIcon:N,LightningIcon:B,MagicIcon:z,TimeIcon:k,WarningIcon:te,CopyToClipboard:ye,ElAlert:w,ImageWrapper:ke,ElButton:q,ElTooltip:C,ImagePreview:Z,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e},hasImages(){return this.images.some(e=>!!e?.image_url)},isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error},showResult(){let e=this.modelValue?.response;return!e||this.isFailure?!1:(e.success,this.hasImages)},reportSnapshot(){return{prompt:this.modelValue?.request?.prompt,image_urls:this.images.map(e=>e.image_url).filter(Boolean),model:this.modelValue?.request?.model,action:this.modelValue?.request?.action,task_id:this.modelValue?.id,trace_id:this.modelValue?.response?.trace_id}}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await X.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`nanobanana/deleteTask`,{id:e}),E.success(this.$t(`common.message.deleteTaskSuccess`))}catch{E.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),wt={class:`preview`},Tt={class:`left`},Et={class:`main`},Dt={class:`bot`},Ot={class:`datetime`},kt=[`aria-label`],At={class:`info`},jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mt={key:1,class:`prompt mt-2`},Nt={key:0},Pt={key:0,class:n({content:!0,failed:!0})},Ft={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},It={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:1,class:n({content:!0})},Gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qt={key:2,class:n({content:!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function an(n,c,d,f,h,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`image-preview`),C=u(`image-wrapper`),w=u(`el-button`),T=u(`api-code-button`),E=u(`report-button`),D=u(`application-icon`),O=u(`image-icon`),k=u(`external-link-icon`),A=u(`lightning-icon`),j=u(`magic-icon`),M=u(`copy-to-clipboard`),N=u(`time-icon`),P=u(`channel-icon`),F=u(`el-alert`),I=u(`warning-icon`),L=u(`info-icon`);return _(),s(`div`,wt,[e(`div`,Tt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,Et,[e(`div`,Dt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,Ot,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:m(()=>[n.modelValue?.id?(_(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,kt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,At,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,jt,[(_(!0),s(l,null,g(n.modelValue?.request?.image_urls,(e,t)=>(_(),p(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(_(),s(`p`,Mt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Nt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Pt,[e(`div`,Ft,[(_(!0),s(l,null,g(n.images,(e,t)=>(_(),p(C,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,It,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:m(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:m(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:`/nano-banana/images`,body:n.modelValue?.request},null,8,[`body`]),a(E,{service:`nanobanana`,"target-id":n.modelValue?.id,snapshot:n.reportSnapshot,"show-label":``},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Rt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,zt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,Bt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Vt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Ht,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Ut,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.isFailure?(_(),s(`div`,Wt,[a(F,{closable:!1,class:`failure`},{template:m(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Gt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,qt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Jt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Yt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(M,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Xt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Zt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(_(),s(`div`,Qt,[a(F,{closable:!1,class:`info`},{template:m(()=>[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.status.pending`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,$t,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,en,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,tn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,nn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,rn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var on=y({name:`RecentPanel`,components:{TaskPreview:U(Ct,[[`render`,an],[`__scopeId`,`data-v-aa642ec8`]]),BotPlaceholder:Te,NoTasks:L,ScrollList:I},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),h=u(`scroll-list`),v=u(`no-tasks`);return _(),s(l,null,[e.tasks?.items===void 0?(_(),s(`div`,sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(_(),p(h,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(_(!0),s(l,null,g(e.tasks?.items,e=>(_(),p(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(_(),s(`div`,cn,[a(v)])):o(``,!0)],64)}var un=y({name:`NanobananaIndex`,components:{ConfigPanel:St,Layout:Fe,RecentPanel:U(on,[[`render`,ln]]),ShowcaseResultTabs:De},mixins:[_e,Oe(`nanobanana`),Ee(`nanobanana`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===T.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===T.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`nanobanana/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await R({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(re()&&!Y())return;if(!V(this.config?.prompt)){E.error(this.$t(`common.message.promptRequired`));return}if(!ue(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e=Q(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){E.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=J.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Y())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=J.generate(e,{token:n})}E.info(this.$t(`nanobanana.message.startingTask`)),he(`nanobanana`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),E.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{if(e instanceof ge)return;let t=e?.response?.data;ce(e,`nanobanana`)||(this.walletMode?E.error(this.$t(`common.x402Scenario.paymentFailed`)):E.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return pe(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`showcase-result-tabs`),d=u(`layout`);return _(),p(d,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(l,{service:`nano-banana`},{tasks:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var fn=U(un,[[`render`,dn]]);export{fn as default};