@acedatacloud/nexior 3.362.6 → 3.363.0
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.
- package/dist/assets/{ApiCodeButton-CE_3dTKv.js → ApiCodeButton-Dcl8qhwL.js} +1 -1
- package/dist/assets/{ApiCodeDialog-DS-qo21c.js → ApiCodeDialog-71Z8HJZJ.js} +1 -1
- package/dist/assets/{Artifacts-9ieQ3Qem.js → Artifacts-CLbvoS2c.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-BJPTyd6G.js → AskUserQuestionCard-oUM74bcJ.js} +1 -1
- package/dist/assets/{AudioPreview-B1g4dbrH.js → AudioPreview-C4IujPMW.js} +1 -1
- package/dist/assets/{Auth-DRUyBkIK.js → Auth-Csd3-uGE.js} +1 -1
- package/dist/assets/{Bare-Bx-zDwLA.js → Bare-D4bx7c2P.js} +1 -1
- package/dist/assets/{BotPlaceholder-BvZp_nGe.js → BotPlaceholder-BKvEW5Nl.js} +1 -1
- package/dist/assets/{BottomFooter-UFm8DUHu.js → BottomFooter-CWQfUo_R.js} +1 -1
- package/dist/assets/{BrowseConnectors-Y_9juoXJ.js → BrowseConnectors-BxSUnPmh.js} +1 -1
- package/dist/assets/{BrowserPairingDialog-B3Cujdos.js → BrowserPairingDialog-BjZoFqa4.js} +1 -1
- package/dist/assets/{Callback-B65AaJuR.js → Callback-DTGV8j2v.js} +1 -1
- package/dist/assets/{CodeSnippet-BVSUZgl2.js → CodeSnippet-CY83QQun.js} +1 -1
- package/dist/assets/{Console-B8JVXKxg.js → Console-BX-UO2x1.js} +1 -1
- package/dist/assets/{Consumption-B8Aoy3S9.js → Consumption-DdAzscqb.js} +1 -1
- package/dist/assets/{Conversation-DiIcFh0M.js → Conversation-CtcYKMCM.js} +1 -1
- package/dist/assets/{Conversation-DfcpbC5-.js → Conversation-Dvq38awS.js} +1 -1
- package/dist/assets/{CopyToClipboard-BWMbyEe8.js → CopyToClipboard-CTUohPCI.js} +1 -1
- package/dist/assets/{Detail-B2RHER-w.js → Detail-CyKvsXzl.js} +1 -1
- package/dist/assets/{Extra-C1xhTX1S.js → Extra-CLbyR-FH.js} +1 -1
- package/dist/assets/{FilePreview-DJNOTisa.js → FilePreview-Dz0jfYrs.js} +1 -1
- package/dist/assets/{Hailuo-eKt1lI2M.js → Hailuo-BEbmKeqE.js} +1 -1
- package/dist/assets/{History-Cy1EnaCx.js → History-CgQrk2Zw.js} +1 -1
- package/dist/assets/{ImagePreview-3n2g823_.js → ImagePreview-ZO5B8ja6.js} +1 -1
- package/dist/assets/{ImageWrapper-Zf-ml_fL.js → ImageWrapper-BWOkdezw.js} +1 -1
- package/dist/assets/{Index-D3OXfvMY.js → Index-2N1Vf3SF.js} +1 -1
- package/dist/assets/{Index-D_gLtR0N.js → Index-6tkXz7k-.js} +1 -1
- package/dist/assets/{Index-1R3UjWko.js → Index-B06ppmFA.js} +1 -1
- package/dist/assets/{Index-BbwwdeD2.js → Index-B2v4I1Dq.js} +1 -1
- package/dist/assets/{Index-Dqxyoetu.js → Index-B4iFcR9b.js} +1 -1
- package/dist/assets/Index-B6AnIyGM.js +1 -0
- package/dist/assets/{Index-kBhq5F_C.js → Index-BHPlQDyR.js} +1 -1
- package/dist/assets/Index-BIIBnqqG.js +1 -0
- package/dist/assets/{Index-CJR760ks.js → Index-BYlWF206.js} +1 -1
- package/dist/assets/{Index-twLqOP1D.js → Index-Bfcgt9a5.js} +1 -1
- package/dist/assets/{Index-C3ikCwp-.js → Index-BmPXEnfx.js} +1 -1
- package/dist/assets/{Index--3tUnerd.js → Index-Bo-r8Yl4.js} +1 -1
- package/dist/assets/{Index-BjL4FbG62.js → Index-Boxjf2qb2.js} +1 -1
- package/dist/assets/{Index-BbFvn7Z-.js → Index-BwEiRidZ.js} +1 -1
- package/dist/assets/{Index-ib-vKI7O.js → Index-ByGvdz1n.js} +1 -1
- package/dist/assets/{Index-nJ3nXUmG.js → Index-C5rNjZ7l.js} +1 -1
- package/dist/assets/{Index-Be4NPAQ_.js → Index-C7Hg5qF_.js} +1 -1
- package/dist/assets/{Index-DL2EoTNV.js → Index-CHMetm69.js} +1 -1
- package/dist/assets/{Index-CouiG6eX.js → Index-CNNFP63A.js} +1 -1
- package/dist/assets/{Index-BFvPdO-u.js → Index-CT4Pbci7.js} +1 -1
- package/dist/assets/{Index-DkWBqyko.js → Index-CZTQwU1V.js} +1 -1
- package/dist/assets/{Index-BB1bDlkg.js → Index-C_1v4dkQ.js} +1 -1
- package/dist/assets/{Index-MTJitVkG.js → Index-CfiLVynk.js} +1 -1
- package/dist/assets/{Index-qY3svjvY.js → Index-ChFFNP9L.js} +1 -1
- package/dist/assets/{Index-CJJhQn0t.js → Index-Cjgufg_D.js} +1 -1
- package/dist/assets/{Index-DUdRx1Bc.js → Index-CxSbGYVW.js} +1 -1
- package/dist/assets/{Index-Eu8X5f3d.js → Index-CyRiXicA.js} +1 -1
- package/dist/assets/{Index-D1QBQi1h.js → Index-D6kB-Me1.js} +1 -1
- package/dist/assets/{Index-0HZhlO5T.js → Index-DPNUGFYY.js} +1 -1
- package/dist/assets/{Index-DmTr-_VQ.js → Index-DXJ6Ob0s.js} +1 -1
- package/dist/assets/{Index-BhhD5gr9.js → Index-Db1RXJin.js} +1 -1
- package/dist/assets/{Index-DAYPwZIs.js → Index-DvE_W405.js} +1 -1
- package/dist/assets/{Index-DhsEyroJ.js → Index-FITY04Av.js} +1 -1
- package/dist/assets/{Index-BDP7PGtI.js → Index-jEDkzt8p.js} +1 -1
- package/dist/assets/{Index-BPGjUAl0.js → Index-qgKU9RNk.js} +1 -1
- package/dist/assets/{Invitees-BJIrcNI6.js → Invitees-CFRisIyW.js} +1 -1
- package/dist/assets/{List-CZ7l3Wax.js → List-CFc8m18X.js} +1 -1
- package/dist/assets/{List-_-dQIH5k.js → List-Di07pYWM.js} +1 -1
- package/dist/assets/{List-B-N6yusv.js → List-DzLuinw_.js} +1 -1
- package/dist/assets/{LocalTools-CUogyUSK.js → LocalTools-DFwidszJ.js} +1 -1
- package/dist/assets/{LocalTools-Di2tl3Hu.js → LocalTools-Dw9zASXU.js} +1 -1
- package/dist/assets/{Logo-BBnNBDj-.js → Logo-yVwKUjCr.js} +1 -1
- package/dist/assets/{Main-BbG-g4fC.js → Main-DagWuwaz.js} +1 -1
- package/dist/assets/{Message-YmiY6z2o.js → Message-BSgoVR5D.js} +2 -2
- package/dist/assets/{Model-DAH6d39D.js → Model-C65iWxJO.js} +1 -1
- package/dist/assets/{Navigator-BWwXDF0d.css → Navigator-C8B5WSQa.css} +1 -1
- package/dist/assets/Navigator-CgqZY2x7.js +8 -0
- package/dist/assets/{NotFound-Bv4oqgfG.js → NotFound-BM7yGCf6.js} +1 -1
- package/dist/assets/{PageHeader-BBHZISMg.js → PageHeader-Dj9qTkLS.js} +1 -1
- package/dist/assets/{Pay-MEi3wA51.js → Pay-DkLLQGWf.js} +1 -1
- package/dist/assets/{Player-ByUiLBZ1.js → Player-BSUw3hYQ.js} +1 -1
- package/dist/assets/{Poivelle-CrpCCg_p.js → Poivelle-Bf1dF5Jt.js} +1 -1
- package/dist/assets/{RealtimeCall-BRiInG4T.js → RealtimeCall-zL64kNk-.js} +1 -1
- package/dist/assets/{ReportButton-DX9HrIMC.js → ReportButton-EQldoRgS.js} +1 -1
- package/dist/assets/{ReportDialog-DA_Yn-7b.js → ReportDialog-V6fpPeil.js} +1 -1
- package/dist/assets/{ScenarioPaymentMode-DyQODbhi.js → ScenarioPaymentMode-CZRe9D9F.js} +1 -1
- package/dist/assets/{ScheduledTasks-C6Uqgv8w.js → ScheduledTasks-CSndp-Hc.js} +1 -1
- package/dist/assets/{SolanaWalletPickerDialog-ZsnFesYl.js → SolanaWalletPickerDialog-RClsnNo5.js} +1 -1
- package/dist/assets/{Status-CtIUekSt.js → Status-BnYZO6Sa.js} +1 -1
- package/dist/assets/{Subscribe-Cu_waTQq.js → Subscribe-Bncva8_i.js} +1 -1
- package/dist/assets/{TabSwitcher-Bx9b8MWc.js → TabSwitcher-CaoqJClD.js} +1 -1
- package/dist/assets/{Tts-CnJ65kmy.js → Tts-B4HYZ6qX.js} +1 -1
- package/dist/assets/{VideoPlayer-CBlsHZPm.js → VideoPlayer-DMbJqvU0.js} +1 -1
- package/dist/assets/{VideoPreview-BqGUxBJp.js → VideoPreview-B276eWaB.js} +1 -1
- package/dist/assets/arrow-down-BzeNdqQd.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-btm_oBSR.js → arrow-down-wide-narrow-DUIJa0FH.js} +1 -1
- package/dist/assets/arrow-left-DxhByvFM.js +1 -0
- package/dist/assets/arrow-right-BfDJ3acS.js +1 -0
- package/dist/assets/arrow-up-Cc78OhdL.js +1 -0
- package/dist/assets/{authorizeFlow-Dujmgp0X.js → authorizeFlow-CKlme7_Y.js} +1 -1
- package/dist/assets/{avatar-Bt5ewMHJ.js → avatar-D0Ukws79.js} +1 -1
- package/dist/assets/{basic-CyaHz3wQ.js → basic-DrIXaUJM.js} +1 -1
- package/dist/assets/{book-open-CDxQI3yG.js → book-open-z9O4nfzK.js} +1 -1
- package/dist/assets/{box-Ru8CN_WA.js → box-DtTDZS_T.js} +1 -1
- package/dist/assets/{boxes-foONptLm.js → boxes-N4GRL9gd.js} +1 -1
- package/dist/assets/{brain-BB6Lt1en.js → brain-K1xnwMG9.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-BRbG9Cw3.js → chart-no-axes-combined-D5OrY20Y.js} +1 -1
- package/dist/assets/{chat-9JinPdmu.js → chat-BGQfYFg0.js} +1 -1
- package/dist/assets/check-BF83UP2i.js +1 -0
- package/dist/assets/chevron-down-DU3RS2yJ.js +1 -0
- package/dist/assets/chevron-right-Bcaf1inb.js +1 -0
- package/dist/assets/circle-check-BGVs_phw.js +1 -0
- package/dist/assets/{circle-question-mark-JDwWgK6t.js → circle-question-mark-DfQU9z-w.js} +1 -1
- package/dist/assets/{clipboard-list-Bp6XIaej.js → clipboard-list-DoTWN6RK.js} +1 -1
- package/dist/assets/clock-Bc5wRPLL.js +1 -0
- package/dist/assets/code-VFIG_xKO.js +1 -0
- package/dist/assets/codingBridge-BZX3YpAR.js +2 -0
- package/dist/assets/{codingBridgeNotify-PSvybEiZ.js → codingBridgeNotify-pUUSPAfs.js} +2 -2
- package/dist/assets/{coins-ze5vlvFY.js → coins-BceTP400.js} +1 -1
- package/dist/assets/{collapse-DuU6GFQ5.js → collapse-DtwdCvpX.js} +1 -1
- package/dist/assets/{constants-DB14FZRU.js → constants-DbpBW9eP.js} +1 -1
- package/dist/assets/{copy-BdCOeTdw.js → copy-DOT4OgOM.js} +1 -1
- package/dist/assets/{createTaskActions-D6qXHcvI.js → createTaskActions-BCVblssR.js} +1 -1
- package/dist/assets/{digitalhuman-CwKgKGbn.js → digitalhuman-1HHZcSOZ.js} +1 -1
- package/dist/assets/{dollar-sign-DkOtt1dI.js → dollar-sign-QGL4aT5Y.js} +1 -1
- package/dist/assets/{download-BI2mDYwL.js → download-B490WtSl.js} +1 -1
- package/dist/assets/{drawer-LnmmvO3L.js → drawer-Dn66Qkds.js} +1 -1
- package/dist/assets/{dropdown-BBb4svFZ.js → dropdown-BcdYKajp.js} +1 -1
- package/dist/assets/{dropdown-CnJ3QdOV.js → dropdown-IK1Jix3O.js} +1 -1
- package/dist/assets/{ellipsis-4Z3lDqKY.js → ellipsis-1kRmmTWN.js} +1 -1
- package/dist/assets/{esm-B3VUurFj.js → esm-22TDJm7d.js} +2 -2
- package/dist/assets/esm-B6b7s4-g.js +1 -0
- package/dist/assets/{esm-Og-lQZNt.js → esm-BCEp895d.js} +2 -2
- package/dist/assets/{external-link-IrmfutNb.js → external-link-Nyr07G2b.js} +1 -1
- package/dist/assets/{eye-tnSE8Qno.js → eye-_wXm3YqY.js} +1 -1
- package/dist/assets/{file-e9ByTl0U.js → file-By7d4JZ3.js} +1 -1
- package/dist/assets/{file-output-rDweV78w.js → file-output-CxhbO8y0.js} +1 -1
- package/dist/assets/{file-text-Y2G9vk0T.js → file-text-Cy_CL4nr.js} +1 -1
- package/dist/assets/{fish-DR2Hlgd-.js → fish-BxBJodN1.js} +1 -1
- package/dist/assets/{flux-sTLxixZP.js → flux-DkzVPPTc.js} +1 -1
- package/dist/assets/{folder-BZzAP02K.js → folder-DVaPqE2g.js} +1 -1
- package/dist/assets/gauge-C0sooT1G.js +1 -0
- package/dist/assets/{globe-YZgVDgdE.js → globe-DiA74Q0g.js} +1 -1
- package/dist/assets/{grokvideo-Dn7GBg1u.js → grokvideo-_KxHw8Fo.js} +1 -1
- package/dist/assets/{hailuo-DzDrm7SG.js → hailuo-CsMYKhIR.js} +1 -1
- package/dist/assets/{headphones-mstr7_Lr.js → headphones-BIJ11xky.js} +1 -1
- package/dist/assets/{history-1SsNQiZ6.js → history-CtcuiKbA.js} +1 -1
- package/dist/assets/{house-D6QUY5v4.js → house-ChZiZKZl.js} +1 -1
- package/dist/assets/{i18n-xBtzqNWD.js → i18n-Dnx1Dvi-.js} +1 -1
- package/dist/assets/{image-B4PLmQaF.js → image-xIks4s0D.js} +1 -1
- package/dist/assets/{imageRequests-BqaDdLsP.js → imageRequests-TuJ_dadC.js} +1 -1
- package/dist/assets/{index-CcjQxvfb.js → index-HjykeWk5.js} +12 -12
- package/dist/assets/{index.es-CNanbZ5D.js → index.es-Dqy3l3uu.js} +1 -1
- package/dist/assets/{info-SrHD5DCZ.js → info-C2Tt-AAG.js} +1 -1
- package/dist/assets/{input-number-DF98nbHf.js → input-number-oB9hNQUN.js} +1 -1
- package/dist/assets/{key-round-C1K7fn2E.js → key-round-Dq9tfjBb.js} +1 -1
- package/dist/assets/{kling-BXeHpToC.js → kling-c0sS0EJ7.js} +1 -1
- package/dist/assets/{languages-B8TIA7Bw.js → languages-CHV3n5CE.js} +1 -1
- package/dist/assets/{laptop-BOU462cS.js → laptop-CCOuFGU2.js} +1 -1
- package/dist/assets/{lightbulb-DDWWETX_.js → lightbulb-DIZ2VHIg.js} +1 -1
- package/dist/assets/{link-BWBJ8c5K.js → link-D7w7bM_A.js} +1 -1
- package/dist/assets/loader-circle-CjaRC28_.js +1 -0
- package/dist/assets/{lock-B1SIzp4d.js → lock-Cm17yDh7.js} +1 -1
- package/dist/assets/{luma-fSxLK8fH.js → luma-i0CljPvQ.js} +1 -1
- package/dist/assets/{maestro-BXindK0f.js → maestro-CSYOHzI4.js} +1 -1
- package/dist/assets/{maestroLanguages-CtrBBaF5.js → maestroLanguages-DF93Owcp.js} +1 -1
- package/dist/assets/{mail-BJ1dF_RX.js → mail-B8Eg1DL_.js} +1 -1
- package/dist/assets/{message-circle-KEvtWA2g.js → message-circle-CPSW2LIu.js} +1 -1
- package/dist/assets/{mic-ZaRjoWSM.js → mic-BiuKUki9.js} +1 -1
- package/dist/assets/{midjourney-t5oJPwWU.js → midjourney-CBRBNrKK.js} +1 -1
- package/dist/assets/{minimax-DGMAIlVy.js → minimax-Bt0PQYas.js} +1 -1
- package/dist/assets/{mobileLocalExec-x8iwdykS.js → mobileLocalExec-Cay6FHrm.js} +2 -2
- package/dist/assets/{models-BoFv4bCY.js → models-CjQB9FO6.js} +1 -1
- package/dist/assets/{monitor-BX3mTRdr.js → monitor-898hvqjd.js} +1 -1
- package/dist/assets/{mouse-pointer-2-ZqhneKIA.js → mouse-pointer-2-CAmsS_nU.js} +1 -1
- package/dist/assets/music-2-KLkdafdj.js +1 -0
- package/dist/assets/{nanobanana-p3gH3Z3F.js → nanobanana-z8JwwGaM.js} +1 -1
- package/dist/assets/{omni-CWPmqCiU.js → omni-Cvv4WANg.js} +1 -1
- package/dist/assets/{openaiimage-CkVJ0fOE.js → openaiimage-CjQeKYeu.js} +1 -1
- package/dist/assets/{pagination-D3ecBdTD.js → pagination-BCtqYoJW.js} +1 -1
- package/dist/assets/{pagination-rZnKw6Dv.js → pagination-BMjtqNF8.js} +1 -1
- package/dist/assets/{pagination-7uZSahOA.js → pagination-ClpGLdWY.js} +1 -1
- package/dist/assets/{palette-CTBc55zB.js → palette-Cw-b0aHW.js} +1 -1
- package/dist/assets/{paperclip-8SUIS4V6.js → paperclip-0NJdci6a.js} +1 -1
- package/dist/assets/{pause-BrUxrvme.js → pause-Cq3qVIvv.js} +1 -1
- package/dist/assets/{pencil-DTlLX3aI.js → pencil-DFPcO_kc.js} +1 -1
- package/dist/assets/{pika-D2ELR1BJ.js → pika-CEAQXgu1.js} +1 -1
- package/dist/assets/{pixverse-YAmSFszN.js → pixverse-BWuRLAzn.js} +1 -1
- package/dist/assets/play-bv8m46Lj.js +1 -0
- package/dist/assets/{plug-BQgbxZvJ.js → plug-BJt1kMnN.js} +1 -1
- package/dist/assets/plus-D2_ntGD6.js +1 -0
- package/dist/assets/{poivelle-CJbGaDtU.js → poivelle-6P6A2b4a.js} +1 -1
- package/dist/assets/{popover-Cw22vTM3.js → popover-o3AAxUWC.js} +1 -1
- package/dist/assets/{producer-BmVHJgip.js → producer-BwmtjLGD.js} +1 -1
- package/dist/assets/{qrart-g92I07IG.js → qrart-D_eSmeQy.js} +1 -1
- package/dist/assets/{realtime-h2ivlZjk.js → realtime-75zffrnk.js} +1 -1
- package/dist/assets/{refresh-cw-DGY8Nssp.js → refresh-cw-B46LTmE2.js} +1 -1
- package/dist/assets/rotate-ccw-B9o53uBd.js +1 -0
- package/dist/assets/rotate-cw-C77JnraH.js +1 -0
- package/dist/assets/{row-BlMc5HGF.js → row-Ca8-Q2R2.js} +1 -1
- package/dist/assets/search-D-o1V1di.js +1 -0
- package/dist/assets/{seedance-DOO9kPWi.js → seedance-B1BrdpEA.js} +1 -1
- package/dist/assets/{seedream-DEg6XNwp.js → seedream-Cn6vdLhn.js} +1 -1
- package/dist/assets/{select-BODA2jf6.js → select-IURLV_gW.js} +1 -1
- package/dist/assets/{serp-BtvzKdAE.js → serp-DRL6fRZj.js} +1 -1
- package/dist/assets/{shield-QlgNfgLj.js → shield-D-eKU2m5.js} +1 -1
- package/dist/assets/{shuffle-DYCgQitM.js → shuffle-DQW_IPUW.js} +1 -1
- package/dist/assets/site-B9KzsM2S.js +1 -0
- package/dist/assets/site-BLHkVuq0.js +1 -0
- package/dist/assets/site-BPrGy7nI.js +1 -0
- package/dist/assets/site-BQuZ2iQ7.js +1 -0
- package/dist/assets/site-BX4OXlRf.js +1 -0
- package/dist/assets/site-CDyNea9G.js +1 -0
- package/dist/assets/site-CIUCAZ8Z.js +1 -0
- package/dist/assets/site-CL-3CQ6P.js +1 -0
- package/dist/assets/site-CYyP6gp_.js +1 -0
- package/dist/assets/site-CfdY6ZiH.js +1 -0
- package/dist/assets/site-CmkljvoQ.js +1 -0
- package/dist/assets/site-Cr-BYAAY.js +1 -0
- package/dist/assets/site-D8bBosCF.js +1 -0
- package/dist/assets/site-DFgcgcf6.js +1 -0
- package/dist/assets/site-De2Re6cV.js +1 -0
- package/dist/assets/site-Wie5mZ3C.js +1 -0
- package/dist/assets/site-aLBFwaJ9.js +1 -0
- package/dist/assets/site-yVDyeKhO.js +1 -0
- package/dist/assets/{slider-DkOO6w7v.js → slider-CgY1FA-0.js} +1 -1
- package/dist/assets/{solana-wallets-DuUXJVr7.js → solana-wallets-yHIt_VLF.js} +2 -2
- package/dist/assets/{sora-C1VhpFhj.js → sora-DW0v4Q8o.js} +1 -1
- package/dist/assets/{sparkles-B6l3pe4D.js → sparkles-BrAFibvN.js} +1 -1
- package/dist/assets/square-Ds85wd0i.js +1 -0
- package/dist/assets/{store-BTMIDGvm.js → store-DtCMCsfD.js} +1 -1
- package/dist/assets/{suno-Dn9tmBWw.js → suno-DjdlCnTJ.js} +1 -1
- package/dist/assets/{switch-DO_m4tjD.js → switch-Dz7BDezi.js} +1 -1
- package/dist/assets/{table-D6bwWTTA.js → table-DDf2YDlD.js} +1 -1
- package/dist/assets/{tabs-CxRafyJg.js → tabs-BryGm3w1.js} +1 -1
- package/dist/assets/{tag-RZW53z8C.js → tag-FgOUgyeS.js} +1 -1
- package/dist/assets/terminal-DtdPfoy1.js +1 -0
- package/dist/assets/{time-picker-DoXQpdJv.js → time-picker-BRMkDI8v.js} +1 -1
- package/dist/assets/{tooltip-Ck3eIRCt.js → tooltip-DIpaS5v3.js} +1 -1
- package/dist/assets/{trash-2-BrR9MfiV.js → trash-2-Dv6hX8nV.js} +1 -1
- package/dist/assets/{triangle-alert-BOFNM383.js → triangle-alert-jfsdAUHA.js} +1 -1
- package/dist/assets/{upload-D5utuckf.js → upload-CL5G713J.js} +1 -1
- package/dist/assets/{upload-KvU-H2Pn.js → upload-MkciQIS4.js} +1 -1
- package/dist/assets/user-CV65A-cU.js +1 -0
- package/dist/assets/{veo-VkkgFc00.js → veo-DwTisxkL.js} +1 -1
- package/dist/assets/{video-CdClpytA.js → video-Bw94hRsL.js} +1 -1
- package/dist/assets/{volume-2-1ocI-qzO.js → volume-2-B456qo1v.js} +1 -1
- package/dist/assets/{wallet-DgphXG1K.js → wallet-BClpRloD.js} +1 -1
- package/dist/assets/{wan-Cj2ZSym0.js → wan-Hq9-eqF6.js} +1 -1
- package/dist/assets/{wand-sparkles-RkL6p2k8.js → wand-sparkles-XVL_JYqb.js} +1 -1
- package/dist/assets/{web-B_clN23Y.js → web-5TindX1h.js} +1 -1
- package/dist/assets/{web-BCC6qgJS.js → web-B5DHNMja.js} +1 -1
- package/dist/assets/{web-BkYDAxsa.js → web-CNuz-E69.js} +1 -1
- package/dist/assets/{web-WjQTyOKD.js → web-CYHAUdMY.js} +1 -1
- package/dist/assets/{web-JJHCetdA.js → web-De8VQWXy.js} +1 -1
- package/dist/assets/{webextrator-CZbaFhxj.js → webextrator-Cuhxneo1.js} +1 -1
- package/dist/assets/{zap-B1VAKgJ8.js → zap-CnlkCkzF.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/Index-B3lcvGOC.js +0 -1
- package/dist/assets/Index-CEvPCkn9.js +0 -1
- package/dist/assets/Navigator-CRlUIJeI.js +0 -8
- package/dist/assets/arrow-down-BwrcDSVc.js +0 -1
- package/dist/assets/arrow-left-iV7WcLY8.js +0 -1
- package/dist/assets/arrow-right-SxARbRc8.js +0 -1
- package/dist/assets/arrow-up-Bmmr5eqn.js +0 -1
- package/dist/assets/check-D129wUsG.js +0 -1
- package/dist/assets/chevron-down-SmsJAa7D.js +0 -1
- package/dist/assets/chevron-right-CXS1sjHz.js +0 -1
- package/dist/assets/circle-check-CicxfNPX.js +0 -1
- package/dist/assets/clock-CJP1L4iF.js +0 -1
- package/dist/assets/code-B8mbkWch.js +0 -1
- package/dist/assets/codingBridge-BorG_XQj.js +0 -2
- package/dist/assets/esm-CKnrzlAu.js +0 -1
- package/dist/assets/gauge-DuH-eSYd.js +0 -1
- package/dist/assets/loader-circle-BZ57jq7N.js +0 -1
- package/dist/assets/music-2-C-F9f7u2.js +0 -1
- package/dist/assets/play-C_SfEt6Z.js +0 -1
- package/dist/assets/plus-DEuZTkzF.js +0 -1
- package/dist/assets/rotate-ccw-ChqfNZzp.js +0 -1
- package/dist/assets/rotate-cw-BowoSSk7.js +0 -1
- package/dist/assets/search-J1q7Xaee.js +0 -1
- package/dist/assets/site-B9bNGPDp.js +0 -1
- package/dist/assets/site-BBY-KjEs.js +0 -1
- package/dist/assets/site-BFzbqR6B.js +0 -1
- package/dist/assets/site-BUAevgYO.js +0 -1
- package/dist/assets/site-BU_tgBOc.js +0 -1
- package/dist/assets/site-Bt-5LCIk.js +0 -1
- package/dist/assets/site-C1s3m4wS.js +0 -1
- package/dist/assets/site-C8Q7Vs05.js +0 -1
- package/dist/assets/site-CGDFhgEE.js +0 -1
- package/dist/assets/site-CXE47oRI.js +0 -1
- package/dist/assets/site-CgY1dD-J.js +0 -1
- package/dist/assets/site-CjYXcRar.js +0 -1
- package/dist/assets/site-CqAZVRQ5.js +0 -1
- package/dist/assets/site-CsGR8gMq.js +0 -1
- package/dist/assets/site-DsmH5PLg.js +0 -1
- package/dist/assets/site-DzMlHY0-.js +0 -1
- package/dist/assets/site-Vo2MP55Y.js +0 -1
- package/dist/assets/site-zGUINcZY.js +0 -1
- package/dist/assets/square-DqvXq--P.js +0 -1
- package/dist/assets/terminal-DhTdw-wQ.js +0 -1
- package/dist/assets/user-Cse7zZa3.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,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-BODA2jf6.js";import{t as x}from"./upload-KvU-H2Pn.js";import{t as S}from"./tooltip-Ck3eIRCt.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-BoFv4bCY.js";import{t as E}from"./drawer-LnmmvO3L.js";import{t as D}from"./input-number-DF98nbHf.js";import{t as O}from"./slider-DkOO6w7v.js";import{t as k}from"./clock-CJP1L4iF.js";import{a as A,i as ee,n as j,r as M,s as N,t as te}from"./pagination-D3ecBdTD.js";import{t as ne}from"./info-SrHD5DCZ.js";import{t as re}from"./trash-2-BrR9MfiV.js";import{t as ie}from"./triangle-alert-BOFNM383.js";import{t as ae}from"./upload-D5utuckf.js";import{t as P}from"./wand-sparkles-RkL6p2k8.js";import{br as F,vr as I,xr as L,yr as R}from"./constants-DB14FZRU.js";import{Ai as z,G as B,J as V,K as H,O as U,Pa as W,Qr as G,V as K,Y as q,_i as J,an as oe,ba as Y,dr as X,ei as se,fr as Z,gi as Q,mn as ce,oa as le,q as ue}from"./index-CcjQxvfb.js";import{t as de}from"./CopyToClipboard-BWMbyEe8.js";import{t as fe}from"./ReportButton-DX9HrIMC.js";import{t as pe}from"./ImagePreview-3n2g823_.js";import{n as me}from"./taskDrawerMixin-DyAUhFEq.js";import{t as he}from"./Consumption-B8Aoy3S9.js";import{t as ge}from"./VideoPlayer-CBlsHZPm.js";import{t as _e}from"./ScenarioPaymentMode-DyQODbhi.js";import{t as ve}from"./ApiCodeButton-CE_3dTKv.js";import{t as ye}from"./BotPlaceholder-BvZp_nGe.js";var be=v({name:`LayoutPixverse`,components:{MagicIcon:P,ElDrawer:E,ElButton:W},mixins:[me]}),xe={class:`main flex flex-row flex-1`},Se={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)]`},Ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function we(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,xe,[e(`div`,Se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ce,[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`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Te=U(be,[[`render`,we],[`__scopeId`,`data-v-9da6c14b`]]),Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=R}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=U(Ee,[[`render`,ke],[`__scopeId`,`data-v-e8f337ca`]]),je=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=L}}),Me={class:`field`},Ne={class:`title font-bold`};function Pe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Me,[e(`h2`,Ne,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=U(je,[[`render`,Pe],[`__scopeId`,`data-v-64aeaae9`]]),Ie=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=F}}),Le={class:`field`},Re={class:`title font-bold`};function ze(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Le,[e(`h2`,Re,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Be=U(Ie,[[`render`,ze],[`__scopeId`,`data-v-94237408`]]),Ve=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=U(Ve,[[`render`,We],[`__scopeId`,`data-v-64e17b3c`]]),Ke=v({name:`SeedSelector`,components:{ElSlider:O,InfoIcon:A,ElInputNumber:D},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`},Xe={class:`flex justify-end items-center`},Ze={class:`w-full`};function Qe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,Xe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ze,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var $e=U(Ke,[[`render`,Qe]]),et=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),tt={class:`field`},nt={class:`title font-bold`};function rt(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,tt,[e(`h2`,nt,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=U(et,[[`render`,rt],[`__scopeId`,`data-v-e7343a05`]]),at=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=I}}),ot={class:`text-sm font-bold mb-2 block`},st={class:`items`},ct=[`onClick`],lt={class:`name`};function ut(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,ot,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,st,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,lt,i(r.label),1)],10,ct))),128))])])}var dt=U(at,[[`render`,ut],[`__scopeId`,`data-v-53038264`]]),ft=v({name:`StartImage`,components:{UploadIcon:ae,ElUpload:x,ElButton:W,InfoIcon:A,ImagePreview:pe},mixins:[q,V,H,K],emits:[`change`],data(){return{fileList:[],uploadUrl:le()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){T.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){T.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:`relative`},mt={class:`flex justify-between`},ht={class:`flex justify-start items-center`},gt={class:`text-sm font-bold`};function _t(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,pt,[e(`div`,mt,[e(`div`,ht,[e(`span`,gt,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var vt=U(ft,[[`render`,_t],[`__scopeId`,`data-v-e2ab1425`]]),yt=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function bt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var xt=v({name:`ConfigPanel`,components:{MagicIcon:P,ElButton:W,PromptInput:U(yt,[[`render`,bt]]),ModelSelector:Ae,QualitySelector:Fe,MotionSelector:Be,StyleSelector:Ge,DurationSelector:it,StartImage:vt,SeedSelector:$e,RatioSelector:dt,Consumption:he,ScenarioPaymentMode:_e},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.pixverse?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service},walletMode(){return Q()&&J(`pixverse`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=J(`pixverse`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Z.quote(X(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),St={class:`flex flex-col h-full`},Ct={class:`flex-1 overflow-y-auto p-5`},wt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Tt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`style-selector`),y=l(`ratio-selector`),b=l(`motion-selector`),x=l(`quality-selector`),S=l(`start-image`),C=l(`seed-selector`),w=l(`duration-selector`),T=l(`scenario-payment-mode`),E=l(`consumption`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,St,[e(`div`,Ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`})]),e(`div`,wt,[a(T,{scenario:`pixverse`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Et=U(xt,[[`render`,Tt]]),Dt=v({name:`TaskPreview`,components:{DeleteIcon:re,ChannelIcon:N,InfoIcon:ne,MagicIcon:P,TimeIcon:k,WarningIcon:ie,CopyToClipboard:de,ElAlert:C,VideoPlayer:ge,ElTooltip:S,ElButton:W,ApiCodeButton:ve,ReportButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.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(`pixverse/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Ot={class:`preview`},kt={class:`left`},At={class:`main`},jt={class:`bot`},Mt={class:`datetime`},Nt=[`aria-label`],Pt={class:`info`},Ft={key:0,class:`prompt mt-2`},It={key:0},Lt={key:1},Rt={key:0,class:n({content:!0,failed:!0})},zt={key:0,class:`mb-4`},Bt={key:1,class:n({operations:!0,"mt-2":!0})},$={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:1,class:n({content:!0})},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,Ot,[e(`div`,kt,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,At,[e(`div`,jt,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,Mt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Nt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Pt,[n.modelValue?.request?.prompt?(g(),s(`p`,Ft,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,It,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,Lt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Rt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,zt,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Bt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`pixverse`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Vt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,Ut,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,Wt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Gt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Kt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,qt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Yt=v({name:`RecentPanel`,components:{TaskPreview:U(Dt,[[`render`,Jt],[`__scopeId`,`data-v-7707e0ef`]]),NoTasks:M,BotPlaceholder:ye,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Zt,[a(v)])):o(``,!0)],64)}var $t=v({name:`PixverseIndex`,components:{ConfigPanel:Et,Layout:Te,RecentPanel:U(Yt,[[`render`,Qt]])},mixins:[ue],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks},walletMode(){return Q()&&J(`pixverse`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pixverse/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}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.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!B(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=X(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Z.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ce())return;let n=this.credential?.token;if(!n)return;t=Z.generate(e,{token:n})}T.info(this.$t(`pixverse.message.startingTask`)),z(`pixverse`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof G||(t?.error?.code===`used_up`?T.error(this.$t(`pixverse.message.usedUp`)):this.walletMode?T.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):T.error(this.$t(`pixverse.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return se(this.$wallet)},async confirmWalletPayment(e){return Y.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 en(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=U($t,[[`render`,en]]);export{tn 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,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-IURLV_gW.js";import{t as x}from"./upload-MkciQIS4.js";import{t as S}from"./tooltip-DIpaS5v3.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-CjQB9FO6.js";import{t as E}from"./drawer-Dn66Qkds.js";import{t as D}from"./input-number-oB9hNQUN.js";import{t as O}from"./slider-CgY1FA-0.js";import{t as k}from"./clock-Bc5wRPLL.js";import{a as A,i as ee,n as j,r as M,s as N,t as te}from"./pagination-BCtqYoJW.js";import{t as ne}from"./info-C2Tt-AAG.js";import{t as re}from"./trash-2-Dv6hX8nV.js";import{t as ie}from"./triangle-alert-jfsdAUHA.js";import{t as ae}from"./upload-CL5G713J.js";import{t as P}from"./wand-sparkles-XVL_JYqb.js";import{Sr as F,br as I,xr as L,yr as R}from"./constants-DbpBW9eP.js";import{Ai as z,G as B,J as V,K as H,O as U,Pa as W,Qr as G,V as K,Y as q,_i as J,an as oe,ba as Y,dr as X,ei as se,fr as Z,gi as Q,mn as ce,oa as le,q as ue}from"./index-HjykeWk5.js";import{t as de}from"./CopyToClipboard-CTUohPCI.js";import{t as fe}from"./ReportButton-EQldoRgS.js";import{t as pe}from"./ImagePreview-ZO5B8ja6.js";import{n as me}from"./taskDrawerMixin-DyAUhFEq.js";import{t as he}from"./Consumption-DdAzscqb.js";import{t as ge}from"./VideoPlayer-DMbJqvU0.js";import{t as _e}from"./ScenarioPaymentMode-CZRe9D9F.js";import{t as ve}from"./ApiCodeButton-Dcl8qhwL.js";import{t as ye}from"./BotPlaceholder-BKvEW5Nl.js";var be=v({name:`LayoutPixverse`,components:{MagicIcon:P,ElDrawer:E,ElButton:W},mixins:[me]}),xe={class:`main flex flex-row flex-1`},Se={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)]`},Ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function we(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,xe,[e(`div`,Se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ce,[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`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Te=U(be,[[`render`,we],[`__scopeId`,`data-v-9da6c14b`]]),Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=I}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=U(Ee,[[`render`,ke],[`__scopeId`,`data-v-e8f337ca`]]),je=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=F}}),Me={class:`field`},Ne={class:`title font-bold`};function Pe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Me,[e(`h2`,Ne,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=U(je,[[`render`,Pe],[`__scopeId`,`data-v-64aeaae9`]]),Ie=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=L}}),Le={class:`field`},Re={class:`title font-bold`};function ze(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Le,[e(`h2`,Re,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Be=U(Ie,[[`render`,ze],[`__scopeId`,`data-v-94237408`]]),Ve=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=U(Ve,[[`render`,We],[`__scopeId`,`data-v-64e17b3c`]]),Ke=v({name:`SeedSelector`,components:{ElSlider:O,InfoIcon:A,ElInputNumber:D},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),qe={class:`flex justify-between`},Je={class:`flex justify-start items-center`},Ye={class:`text-sm font-bold`},Xe={class:`flex justify-end items-center`},Ze={class:`w-full`};function Qe(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,Xe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ze,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var $e=U(Ke,[[`render`,Qe]]),et=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),tt={class:`field`},nt={class:`title font-bold`};function rt(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,tt,[e(`h2`,nt,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=U(et,[[`render`,rt],[`__scopeId`,`data-v-e7343a05`]]),at=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=R}}),ot={class:`text-sm font-bold mb-2 block`},st={class:`items`},ct=[`onClick`],lt={class:`name`};function ut(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,ot,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,st,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,lt,i(r.label),1)],10,ct))),128))])])}var dt=U(at,[[`render`,ut],[`__scopeId`,`data-v-53038264`]]),ft=v({name:`StartImage`,components:{UploadIcon:ae,ElUpload:x,ElButton:W,InfoIcon:A,ImagePreview:pe},mixins:[q,V,H,K],emits:[`change`],data(){return{fileList:[],uploadUrl:le()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){T.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){T.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),pt={class:`relative`},mt={class:`flex justify-between`},ht={class:`flex justify-start items-center`},gt={class:`text-sm font-bold`};function _t(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,pt,[e(`div`,mt,[e(`div`,ht,[e(`span`,gt,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var vt=U(ft,[[`render`,_t],[`__scopeId`,`data-v-e2ab1425`]]),yt=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function bt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var xt=v({name:`ConfigPanel`,components:{MagicIcon:P,ElButton:W,PromptInput:U(yt,[[`render`,bt]]),ModelSelector:Ae,QualitySelector:Fe,MotionSelector:Be,StyleSelector:Ge,DurationSelector:it,StartImage:vt,SeedSelector:$e,RatioSelector:dt,Consumption:he,ScenarioPaymentMode:_e},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.pixverse?.config},consumption(){return oe(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service},walletMode(){return Q()&&J(`pixverse`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=J(`pixverse`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Z.quote(X(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),St={class:`flex flex-col h-full`},Ct={class:`flex-1 overflow-y-auto p-5`},wt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Tt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`style-selector`),y=l(`ratio-selector`),b=l(`motion-selector`),x=l(`quality-selector`),S=l(`start-image`),C=l(`seed-selector`),w=l(`duration-selector`),T=l(`scenario-payment-mode`),E=l(`consumption`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,St,[e(`div`,Ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`})]),e(`div`,wt,[a(T,{scenario:`pixverse`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Et=U(xt,[[`render`,Tt]]),Dt=v({name:`TaskPreview`,components:{DeleteIcon:re,ChannelIcon:N,InfoIcon:ne,MagicIcon:P,TimeIcon:k,WarningIcon:ie,CopyToClipboard:de,ElAlert:C,VideoPlayer:ge,ElTooltip:S,ElButton:W,ApiCodeButton:ve,ReportButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.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(`pixverse/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),Ot={class:`preview`},kt={class:`left`},At={class:`main`},jt={class:`bot`},Mt={class:`datetime`},Nt=[`aria-label`],Pt={class:`info`},Ft={key:0,class:`prompt mt-2`},It={key:0},Lt={key:1},Rt={key:0,class:n({content:!0,failed:!0})},zt={key:0,class:`mb-4`},Bt={key:1,class:n({operations:!0,"mt-2":!0})},$={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:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:1,class:n({content:!0})},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Jt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,Ot,[e(`div`,kt,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,At,[e(`div`,jt,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,Mt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Nt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Pt,[n.modelValue?.request?.prompt?(g(),s(`p`,Ft,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,It,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,Lt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Rt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,zt,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Bt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`pixverse`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Vt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,Ut,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,Wt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Gt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Kt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,qt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Yt=v({name:`RecentPanel`,components:{TaskPreview:U(Dt,[[`render`,Jt],[`__scopeId`,`data-v-7707e0ef`]]),NoTasks:M,BotPlaceholder:ye,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Xt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Zt,[a(v)])):o(``,!0)],64)}var $t=v({name:`PixverseIndex`,components:{ConfigPanel:Et,Layout:Te,RecentPanel:U(Yt,[[`render`,Qt]])},mixins:[ue],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks},walletMode(){return Q()&&J(`pixverse`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pixverse/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}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.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await te({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/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.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!B(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=X(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Z.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ce())return;let n=this.credential?.token;if(!n)return;t=Z.generate(e,{token:n})}T.info(this.$t(`pixverse.message.startingTask`)),z(`pixverse`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof G||(t?.error?.code===`used_up`?T.error(this.$t(`pixverse.message.usedUp`)):this.walletMode?T.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):T.error(this.$t(`pixverse.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return se(this.$wallet)},async confirmWalletPayment(e){return Y.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 en(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=U($t,[[`render`,en]]);export{tn 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,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-Ck3eIRCt.js";import{v as y}from"./models-BoFv4bCY.js";import{t as te}from"./avatar-DEN_WCPo.js";import{n as b,t as x}from"./checkbox-DXMDpaxv.js";import{n as S,r as C,t as w}from"./dropdown-BBb4svFZ.js";import{n as T,t as E}from"./skeleton-Dj_a_iIP.js";import{t as D}from"./chevron-down-SmsJAa7D.js";import{t as O}from"./chevron-right-CXS1sjHz.js";import{t as k}from"./ellipsis-4Z3lDqKY.js";import{t as A}from"./external-link-IrmfutNb.js";import{t as j}from"./lightbulb-DDWWETX_.js";import{t as M}from"./lock-B1SIzp4d.js";import{t as N}from"./monitor-BX3mTRdr.js";import{t as P}from"./plug-BQgbxZvJ.js";import{t as F}from"./plus-DEuZTkzF.js";import{t as I}from"./search-J1q7Xaee.js";import{Ha as L,Ma as R,O as z,Pa as B,Ta as V,ba as H,ya as U}from"./index-CcjQxvfb.js";import{n as W,t as G}from"./authorizeFlow-Dujmgp0X.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-Y_9juoXJ.js";import{t as ne}from"./BrowserPairingDialog-B3Cujdos.js";import{t as re}from"./PageHeader-BBHZISMg.js";var ie=_({name:`UserConnections`,components:{ConsolePageHeader:re,ElButton:B,ElTag:R,ElAvatar:te,ElDialog:V,ElInput:L,ElCheckbox:x,ElCheckboxGroup:b,ElDropdown:w,ElDropdownMenu:C,ElDropdownItem:S,AddIcon:F,CollapseUpIcon:U(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ConnectionIcon:P,DesktopIcon:N,ExpandDownIcon:D,ExpandRightIcon:O,ExternalLinkIcon:A,LockIcon:M,MoreIcon:k,SearchIcon:I,SuggestionIcon:j,BrowseConnectors:Q,ByocCredentialsDialog:q,ConnectorMethodPicker:X,BrowserPairingDialog:ne,BrowserDevicePicker:J,ElSkeleton:E,ElSkeletonItem:T,ElTooltip:v},data(){return{connections:[],connectionsRequestId:0,manageRequestId:0,catalog:[],loading:!1,loadingCatalog:!1,firstLoadComplete:!1,refreshingId:null,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,byocDialogVisible:!1,byocDialogCatalog:null,byocDialogMethod:null,pickerVisible:!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;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&&(n.push({command:`reconnect`,label:String(this.$t(`connection.button.reconnect`)),disabled:!i}),n.push({command:`addAccount`,label:String(this.$t(`connection.button.addAccount`)),disabled:!i})),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.selectedKey&&this.orderedItems.length&&(this.selectedKey=this.orderedItems[0].key);let e=this.selectedKey?this.items.find(e=>e.key===this.selectedKey):null;e?.connection?.execution_type===`remote_mcp`&&this.normalizedStatus(e.connection.status)===`active`&&this.loadMcpTools(e.connection.id);let t=this.$route.query.connect?.toString();if(t){let e=this.orderedItems.find(e=>e.catalog?.identifier===t);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){if(!e.installable)return;if(this.pendingCreateNew=t,Y(e).length>1){this.pickerCatalog=e,this.pickerVisible=!0;return}let n=Z(e);n&&await this.connectWithMethod(e,n)},clearCreateNewIntent(){this.pendingCreateNew=!1},onMethodSelected(e){this.pickerVisible=!1,this.connectWithMethod(e.item,e.method)},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{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){try{let{data:r}=await K.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:W(),method_id:t.id,...this.pendingCreateNew?{create_new:!0}:{}});if(r&&r.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}r&&r.authorization_url?await this.runAuthorizePopup(r.authorization_url):r&&r.type===`active`&&await this.fetchConnections()}catch(e){this.pendingCreateNew=!1,y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}},async runAuthorizePopup(e){try{await G(e)}catch(e){this.pendingCreateNew=!1,y.error(e?.message===`desktop-authorize-unsupported`?this.$t(`connection.message.desktopUpdateRequired`):e?.message||this.$t(`connection.message.installFailed`));return}this.pendingCreateNew=!1,await this.fetchConnections()},openCustomDialog(){this.customDialogVisible=!0},onAddCommand(e){e===`browse`?this.browseDialogVisible=!0:e===`custom`&&this.openCustomDialog()},async onCatalogInstalled(){this.pendingCreateNew=!1,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.customAuthorizing=!0;try{let{data:e}=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:W()});e?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(e.authorization_url))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e){if(!e.installable)return;this.pendingCreateNew=!1;let t=this.selectedItem?.connection?.method_id,n=Z(e,t);if(n&&t&&n.id===t){await this.connectWithMethod(e,n);return}await this.onConnect(e)},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);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`)}}}}),ae={class:`connectors-page`},oe={class:`connectors-shell`},se={class:`connectors-list`},ce={class:`list-toolbar`},le=[`aria-label`,`title`],ue={class:`list-scroll`},de={class:`list-group`},fe={class:`group-header skeleton-header`},pe={class:`group-items`},me={class:`group-header`},he=[`aria-label`,`title`,`onClick`],ge=[`onClick`],_e={class:`group-items`},ve=[`onClick`],ye={class:`list-item-icon`},be=[`src`,`alt`,`onError`],xe={class:`list-item-name`},Se=[`title`],Ce={key:1,class:`list-item-badge list-item-badge-default`},we={key:2,class:`list-item-badge`},Te=[`title`],Ee={key:2,class:`list-empty`},De={class:`list-footer`},Oe={class:`connectors-detail`},ke={key:0,class:`detail-skeleton`},Ae={class:`detail-skeleton-header`},je={class:`detail-skeleton-section`},Me={key:1,class:`detail-empty`},Ne={class:`detail-empty-title`},Pe={class:`detail-empty-hint`},Fe={class:`detail-header`},Ie={class:`detail-title-row`},Le={class:`detail-icon`},Re=[`src`,`alt`],ze={class:`detail-title`},Be={class:`detail-actions`},Ve=[`aria-label`,`title`],He={key:0,class:`detail-server-url`},Ue={key:1,class:`detail-description`},We={key:0,class:`detail-section`},Ge={class:`section-heading`},Ke={class:`section-title`},qe={class:`overview-text`},Je={key:1,class:`detail-section`},Ye={class:`account-row`},Xe={class:`account-info`},Ze={class:`account-name`},Qe={key:0,class:`account-sub`},$e={key:2,class:`detail-section browser-session`},et={class:`browser-session-heading`},tt={class:`browser-session-icon`},nt={class:`browser-session-copy`},rt={class:`meta-grid browser-session-meta`},it={key:0},at={key:1,class:`muted`},ot={class:`browser-digest-row`},st={key:0,class:`browser-capabilities`},ct={class:`browser-capabilities-label`},lt={class:`browser-capability-list`},ut={key:3,class:`detail-section`},dt={class:`meta-grid`},ft={key:0},pt={key:4,class:`detail-section`},mt={class:`meta-grid`},ht={key:0},gt={key:1},_t={key:5,class:`detail-section`},vt={class:`section-heading`},yt={class:`section-title`},bt={class:`section-count`},xt={class:`section-hint`},St={class:`suggestion-list`},Ct=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],wt={class:`suggestion-text`},Tt={key:6,class:`detail-section`},Et={class:`section-heading`},Dt={class:`section-title`},Ot={key:0,class:`section-count`},kt={key:0,class:`permission-empty`},At={key:1,class:`permission-empty error`},jt={key:2,class:`permission-list`},Mt={class:`permission-name`},Nt={class:`permission-tool-name`},Pt={key:0,class:`permission-tool-desc`},Ft={key:3,class:`permission-empty`},It={key:1,class:`permission-empty`},Lt={key:0,class:`permission-list`},Rt={class:`permission-name`},zt={class:`permission-scope-label`},Bt={key:0,class:`permission-tool-desc`},$={key:1,class:`permission-empty`},Vt={key:7,class:`detail-section meta-section`},Ht={class:`meta-grid`},Ut={key:0},Wt={key:1,class:`muted`},Gt={key:0},Kt={key:1,class:`muted`},qt={class:`custom-dialog-intro`},Jt={class:`custom-dialog-form`},Yt={key:0,class:`advanced-fields`},Xt={class:`custom-trust-copy`},Zt={class:`text-sm text-gray-500 mb-4`},Qt={class:`scope-dialog-label`},$t={key:0,class:`scope-dialog-desc`};function en(_,v,y,te,b,x){let S=u(`console-page-header`),C=u(`search-icon`),w=u(`el-input`),T=u(`add-icon`),E=u(`el-dropdown-item`),D=u(`el-dropdown-menu`),O=u(`el-dropdown`),k=u(`el-skeleton-item`),A=u(`el-skeleton`),j=u(`expand-right-icon`),M=u(`expand-down-icon`),N=u(`desktop-icon`),P=u(`connection-icon`),F=u(`el-tag`),I=u(`el-button`),L=u(`more-icon`),R=u(`el-avatar`),z=u(`suggestion-icon`),B=u(`lock-icon`),V=u(`external-link-icon`),H=u(`el-tooltip`),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`,ae,[a(S,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,oe,[e(`aside`,se,[e(`div`,ce,[a(w,{modelValue:_.searchQuery,"onUpdate:modelValue":v[0]||=e=>_.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:_.$t(`connection.placeholder.search`)},{prefix:p(()=>[a(C,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(O,{trigger:`click`,placement:`bottom-end`,onCommand:_.onAddCommand},{dropdown:p(()=>[a(D,null,{default:p(()=>[a(E,{command:`browse`},{default:p(()=>[a(C,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.title.browse`)),1)]),_:1}),a(E,{command:`custom`},{default:p(()=>[a(T,{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(T,{size:16,"aria-hidden":`true`,focusable:`false`})],8,le)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,ue,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,me,[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(j,{key:0,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:1,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`}))],8,he),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,ge)]),d(e(`ul`,_e,[(h(!0),s(l,null,m(t.items,r=>(h(),s(`li`,{key:r.key,class:n({"list-item":!0,active:_.selectedKey===r.key}),onClick:e=>_.onSelect(r)},[e(`span`,ye,[r.faviconUrl?(h(),s(`img`,{key:0,src:r.faviconUrl,alt:r.name,onError:e=>_.onFaviconError(r)},null,40,be)):r.browserSession?(h(),f(N,{key:1,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(P,{key:2,size:16,"aria-hidden":`true`,focusable:`false`}))]),e(`span`,xe,i(r.name),1),r.accountLabel?(h(),s(`span`,{key:0,class:`list-item-account`,title:r.accountLabel},i(r.accountLabel),9,Se)):o(``,!0),r.isDefault?(h(),s(`span`,Ce,i(_.$t(`connection.label.defaultAccount`)),1)):o(``,!0),r.byo?(h(),s(`span`,we,i(_.$t(`connection.label.custom`)),1)):t.key===`available`?(h(),s(`span`,{key:3,class:`list-item-badge list-item-badge-hint`,title:_.$t(`connection.message.notConnectedYet`)},i(_.$t(`connection.label.notConnected`)),9,Te)):o(``,!0)],10,ve))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,Ee,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(A,{key:0,animated:``},{template:p(()=>[e(`div`,de,[e(`div`,fe,[a(k,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,pe,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(k,{variant:`image`,style:{width:`20px`,height:`20px`,"border-radius":`4px`}}),a(k,{variant:`text`,style:{flex:`1 1 auto`,height:`14px`}})])),64))])])]),_:1}))])),[[Q,_.firstLoadComplete&&(_.loading||_.loadingCatalog)]]),e(`div`,De,[e(`button`,{type:`button`,class:`browse-all-button`,onClick:v[1]||=e=>_.browseDialogVisible=!0},[a(C,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.browseAll`)),1)])])]),e(`section`,Oe,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,Me,[a(P,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Ne,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Pe,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,ke,[a(A,{animated:``},{template:p(()=>[e(`div`,Ae,[a(k,{variant:`circle`,style:{width:`32px`,height:`32px`}}),a(k,{variant:`h3`,style:{width:`220px`,height:`22px`,"margin-left":`12px`}})]),a(k,{variant:`text`,style:{width:`60%`,height:`12px`,"margin-top":`12px`}}),e(`div`,je,[a(k,{variant:`text`,style:{width:`140px`,height:`14px`}}),a(k,{variant:`p`,style:{width:`33%`,"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{width:`61%`,"margin-top":`16px`}})])]),_:1})])),_.firstLoadComplete&&_.selectedItem?(h(),s(l,{key:2},[e(`header`,Fe,[e(`div`,Ie,[e(`span`,Le,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,Re)):_.selectedItem.browserSession?(h(),f(N,{key:1,size:20,"aria-hidden":`true`,focusable:`false`})):(h(),f(P,{key:2,size:20,"aria-hidden":`true`,focusable:`false`}))]),e(`h3`,ze,i(_.selectedItem.name),1),_.selectedItem.byo?(h(),f(F,{key:0,size:`small`,type:`info`,class:`detail-custom-tag`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):o(``,!0),e(`div`,Be,[!_.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(O,{key:1,trigger:`click`,placement:`bottom-end`,"popper-class":`connection-actions-popper`,onCommand:_.onDetailAction},{dropdown:p(()=>[a(D,{class:`connection-actions-menu`},{default:p(()=>[(h(!0),s(l,null,m(_.detailActions,e=>(h(),f(E,{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,Ve)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,He,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,Ue,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,We,[e(`div`,Ge,[e(`span`,Ke,i(_.$t(`connection.title.overview`)),1)]),e(`p`,qe,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,Je,[e(`div`,Ye,[_.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`,Xe,[e(`span`,Ze,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,Qe,i(_.connectionAccountSubtext(_.selectedItem.connection)),1)):o(``,!0)]),a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.browserSession?(h(),s(`div`,$e,[e(`div`,et,[e(`span`,tt,[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,nt,[e(`strong`,null,i(_.selectedItem.connection.browser_device?.name||_.$t(`user.browserDevice.title`)),1),e(`span`,null,i(_.$t(`user.browserDevice.localApprovalOnly`)),1)]),a(F,{type:_.browserDeviceStatusTagType(_.selectedItem.connection),size:`small`},{default:p(()=>[r(i(_.browserDeviceCompatibilityLabel(_.selectedItem.connection)),1)]),_:1},8,[`type`])]),e(`dl`,rt,[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`,it,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,at,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`,ot,[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`,st,[e(`span`,ct,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,lt,[(h(!0),s(l,null,m(_.selectedItem.connection.browser_device.capabilities,e=>(h(),f(F,{key:e,size:`small`,effect:`plain`},{default:p(()=>[r(i(e.replaceAll(`_`,` `)),1)]),_:2},1024))),128))])])):o(``,!0)])):o(``,!0),_.selectedItem.connection&&_.selectedItem.custom?(h(),s(`div`,ut,[e(`dl`,dt,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])]),_.customAuthSummary(_.selectedItem.connection)?(h(),s(`div`,ft,[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`,pt,[e(`dl`,mt,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,ht,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])])),_.byocCredentialSummary(_.selectedItem)?(h(),s(`div`,gt,[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`,_t,[e(`div`,vt,[e(`span`,yt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,bt,i(_.suggestions.length),1)]),e(`p`,xt,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,St,[(h(!0),s(l,null,m(_.suggestions,r=>(h(),f(H,{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(z,{class:`suggestion-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,wt,i(r.prompt),1),_.suggestionsLocked?(h(),f(B,{key:0,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(V,{key:1,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`}))],42,Ct)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,Tt,[e(`div`,Et,[e(`span`,Dt,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,Ot,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,kt,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,At,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,jt,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,Mt,[e(`span`,Nt,i(t.name),1),t.description?(h(),s(`span`,Pt,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Ft,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,It,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,Lt,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,Rt,[e(`span`,zt,i(t.label),1),t.desc?(h(),s(`span`,Bt,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,$,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,Vt,[e(`dl`,Ht,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Ut,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Wt,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Gt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,Kt,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,onInstalled:_.onCatalogInstalled},null,8,[`modelValue`,`item`,`method`,`create-new`,`onInstalled`]),a(G,{modelValue:_.pickerVisible,"onUpdate:modelValue":[v[7]||=e=>_.pickerVisible=e,v[8]||=e=>!e&&_.clearCreateNewIntent()],item:_.pickerCatalog,onSelect:_.onMethodSelected},null,8,[`modelValue`,`item`,`onSelect`]),a(K,{modelValue:_.pairingDialogVisible,"onUpdate:modelValue":v[9]||=e=>_.pairingDialogVisible=e,onPaired:_.onBrowserPaired,onClosed:_.onBrowserPairingClosed},null,8,[`modelValue`,`onPaired`,`onClosed`]),a(q,{ref:`browserDevicePicker`,modelValue:_.browserDevicePickerVisible,"onUpdate:modelValue":[v[10]||=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[17]||=e=>_.customDialogVisible=e,title:_.$t(`connection.title.addCustomConnector`),width:`560px`,"close-on-click-modal":!1},{footer:p(()=>[a(I,{onClick:v[16]||=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`,qt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,Jt,[a(w,{modelValue:_.customName,"onUpdate:modelValue":v[11]||=e=>_.customName=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.name`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(w,{modelValue:_.customServerUrl,"onUpdate:modelValue":v[12]||=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[13]||=e=>_.customAdvancedVisible=!_.customAdvancedVisible},[_.customAdvancedVisible?(h(),f(J,{key:0,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{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`,Yt,[a(w,{modelValue:_.customClientId,"onUpdate:modelValue":v[14]||=e=>_.customClientId=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.clientId`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(w,{modelValue:_.customClientSecret,"onUpdate:modelValue":v[15]||=e=>_.customClientSecret=e,placeholder:_.$t(`connection.placeholder.clientSecret`),clearable:``,"show-password":``},null,8,[`modelValue`,`placeholder`])])):o(``,!0),e(`p`,Xt,i(_.$t(`connection.message.customConnectorTrust`)),1)])]),_:1},8,[`modelValue`,`title`]),a(Y,{modelValue:_.scopeDialogVisible,"onUpdate:modelValue":v[20]||=e=>_.scopeDialogVisible=e,title:_.scopeDialogCatalog?_.$t(`connection.message.selectScopes`,{provider:_.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,onClosed:v[21]||=e=>!_.scopeDialogCatalog&&_.clearCreateNewIntent()},{footer:p(()=>[a(I,{onClick:v[19]||=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`,Zt,i(_.$t(`connection.message.selectScopesHint`)),1),a(Z,{modelValue:_.selectedScopes,"onUpdate:modelValue":v[18]||=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`,Qt,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,$t,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var tn=z(ie,[[`render`,en],[`__scopeId`,`data-v-7e68c7cb`]]);export{tn 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-DIpaS5v3.js";import{v as y}from"./models-CjQB9FO6.js";import{t as te}from"./avatar-DEN_WCPo.js";import{n as b,t as x}from"./checkbox-DXMDpaxv.js";import{n as S,r as C,t as w}from"./dropdown-BcdYKajp.js";import{n as T,t as E}from"./skeleton-Dj_a_iIP.js";import{t as D}from"./chevron-down-DU3RS2yJ.js";import{t as O}from"./chevron-right-Bcaf1inb.js";import{t as k}from"./ellipsis-1kRmmTWN.js";import{t as A}from"./external-link-Nyr07G2b.js";import{t as j}from"./lightbulb-DIZ2VHIg.js";import{t as M}from"./lock-Cm17yDh7.js";import{t as N}from"./monitor-898hvqjd.js";import{t as P}from"./plug-BJt1kMnN.js";import{t as F}from"./plus-D2_ntGD6.js";import{t as I}from"./search-D-o1V1di.js";import{Ha as L,Ma as R,O as z,Pa as B,Ta as V,ba as H,ya as U}from"./index-HjykeWk5.js";import{n as W,t as G}from"./authorizeFlow-CKlme7_Y.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-BxSUnPmh.js";import{t as ne}from"./BrowserPairingDialog-BjZoFqa4.js";import{t as re}from"./PageHeader-Dj9qTkLS.js";var ie=_({name:`UserConnections`,components:{ConsolePageHeader:re,ElButton:B,ElTag:R,ElAvatar:te,ElDialog:V,ElInput:L,ElCheckbox:x,ElCheckboxGroup:b,ElDropdown:w,ElDropdownMenu:C,ElDropdownItem:S,AddIcon:F,CollapseUpIcon:U(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ConnectionIcon:P,DesktopIcon:N,ExpandDownIcon:D,ExpandRightIcon:O,ExternalLinkIcon:A,LockIcon:M,MoreIcon:k,SearchIcon:I,SuggestionIcon:j,BrowseConnectors:Q,ByocCredentialsDialog:q,ConnectorMethodPicker:X,BrowserPairingDialog:ne,BrowserDevicePicker:J,ElSkeleton:E,ElSkeletonItem:T,ElTooltip:v},data(){return{connections:[],connectionsRequestId:0,manageRequestId:0,catalog:[],loading:!1,loadingCatalog:!1,firstLoadComplete:!1,refreshingId:null,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,byocDialogVisible:!1,byocDialogCatalog:null,byocDialogMethod:null,pickerVisible:!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;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&&(n.push({command:`reconnect`,label:String(this.$t(`connection.button.reconnect`)),disabled:!i}),n.push({command:`addAccount`,label:String(this.$t(`connection.button.addAccount`)),disabled:!i})),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.selectedKey&&this.orderedItems.length&&(this.selectedKey=this.orderedItems[0].key);let e=this.selectedKey?this.items.find(e=>e.key===this.selectedKey):null;e?.connection?.execution_type===`remote_mcp`&&this.normalizedStatus(e.connection.status)===`active`&&this.loadMcpTools(e.connection.id);let t=this.$route.query.connect?.toString();if(t){let e=this.orderedItems.find(e=>e.catalog?.identifier===t);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){if(!e.installable)return;if(this.pendingCreateNew=t,Y(e).length>1){this.pickerCatalog=e,this.pickerVisible=!0;return}let n=Z(e);n&&await this.connectWithMethod(e,n)},clearCreateNewIntent(){this.pendingCreateNew=!1},onMethodSelected(e){this.pickerVisible=!1,this.connectWithMethod(e.item,e.method)},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{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){try{let{data:r}=await K.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:W(),method_id:t.id,...this.pendingCreateNew?{create_new:!0}:{}});if(r&&r.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}r&&r.authorization_url?await this.runAuthorizePopup(r.authorization_url):r&&r.type===`active`&&await this.fetchConnections()}catch(e){this.pendingCreateNew=!1,y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}},async runAuthorizePopup(e){try{await G(e)}catch(e){this.pendingCreateNew=!1,y.error(e?.message===`desktop-authorize-unsupported`?this.$t(`connection.message.desktopUpdateRequired`):e?.message||this.$t(`connection.message.installFailed`));return}this.pendingCreateNew=!1,await this.fetchConnections()},openCustomDialog(){this.customDialogVisible=!0},onAddCommand(e){e===`browse`?this.browseDialogVisible=!0:e===`custom`&&this.openCustomDialog()},async onCatalogInstalled(){this.pendingCreateNew=!1,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.customAuthorizing=!0;try{let{data:e}=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:W()});e?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(e.authorization_url))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e){if(!e.installable)return;this.pendingCreateNew=!1;let t=this.selectedItem?.connection?.method_id,n=Z(e,t);if(n&&t&&n.id===t){await this.connectWithMethod(e,n);return}await this.onConnect(e)},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);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`)}}}}),ae={class:`connectors-page`},oe={class:`connectors-shell`},se={class:`connectors-list`},ce={class:`list-toolbar`},le=[`aria-label`,`title`],ue={class:`list-scroll`},de={class:`list-group`},fe={class:`group-header skeleton-header`},pe={class:`group-items`},me={class:`group-header`},he=[`aria-label`,`title`,`onClick`],ge=[`onClick`],_e={class:`group-items`},ve=[`onClick`],ye={class:`list-item-icon`},be=[`src`,`alt`,`onError`],xe={class:`list-item-name`},Se=[`title`],Ce={key:1,class:`list-item-badge list-item-badge-default`},we={key:2,class:`list-item-badge`},Te=[`title`],Ee={key:2,class:`list-empty`},De={class:`list-footer`},Oe={class:`connectors-detail`},ke={key:0,class:`detail-skeleton`},Ae={class:`detail-skeleton-header`},je={class:`detail-skeleton-section`},Me={key:1,class:`detail-empty`},Ne={class:`detail-empty-title`},Pe={class:`detail-empty-hint`},Fe={class:`detail-header`},Ie={class:`detail-title-row`},Le={class:`detail-icon`},Re=[`src`,`alt`],ze={class:`detail-title`},Be={class:`detail-actions`},Ve=[`aria-label`,`title`],He={key:0,class:`detail-server-url`},Ue={key:1,class:`detail-description`},We={key:0,class:`detail-section`},Ge={class:`section-heading`},Ke={class:`section-title`},qe={class:`overview-text`},Je={key:1,class:`detail-section`},Ye={class:`account-row`},Xe={class:`account-info`},Ze={class:`account-name`},Qe={key:0,class:`account-sub`},$e={key:2,class:`detail-section browser-session`},et={class:`browser-session-heading`},tt={class:`browser-session-icon`},nt={class:`browser-session-copy`},rt={class:`meta-grid browser-session-meta`},it={key:0},at={key:1,class:`muted`},ot={class:`browser-digest-row`},st={key:0,class:`browser-capabilities`},ct={class:`browser-capabilities-label`},lt={class:`browser-capability-list`},ut={key:3,class:`detail-section`},dt={class:`meta-grid`},ft={key:0},pt={key:4,class:`detail-section`},mt={class:`meta-grid`},ht={key:0},gt={key:1},_t={key:5,class:`detail-section`},vt={class:`section-heading`},yt={class:`section-title`},bt={class:`section-count`},xt={class:`section-hint`},St={class:`suggestion-list`},Ct=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],wt={class:`suggestion-text`},Tt={key:6,class:`detail-section`},Et={class:`section-heading`},Dt={class:`section-title`},Ot={key:0,class:`section-count`},kt={key:0,class:`permission-empty`},At={key:1,class:`permission-empty error`},jt={key:2,class:`permission-list`},Mt={class:`permission-name`},Nt={class:`permission-tool-name`},Pt={key:0,class:`permission-tool-desc`},Ft={key:3,class:`permission-empty`},It={key:1,class:`permission-empty`},Lt={key:0,class:`permission-list`},Rt={class:`permission-name`},zt={class:`permission-scope-label`},Bt={key:0,class:`permission-tool-desc`},$={key:1,class:`permission-empty`},Vt={key:7,class:`detail-section meta-section`},Ht={class:`meta-grid`},Ut={key:0},Wt={key:1,class:`muted`},Gt={key:0},Kt={key:1,class:`muted`},qt={class:`custom-dialog-intro`},Jt={class:`custom-dialog-form`},Yt={key:0,class:`advanced-fields`},Xt={class:`custom-trust-copy`},Zt={class:`text-sm text-gray-500 mb-4`},Qt={class:`scope-dialog-label`},$t={key:0,class:`scope-dialog-desc`};function en(_,v,y,te,b,x){let S=u(`console-page-header`),C=u(`search-icon`),w=u(`el-input`),T=u(`add-icon`),E=u(`el-dropdown-item`),D=u(`el-dropdown-menu`),O=u(`el-dropdown`),k=u(`el-skeleton-item`),A=u(`el-skeleton`),j=u(`expand-right-icon`),M=u(`expand-down-icon`),N=u(`desktop-icon`),P=u(`connection-icon`),F=u(`el-tag`),I=u(`el-button`),L=u(`more-icon`),R=u(`el-avatar`),z=u(`suggestion-icon`),B=u(`lock-icon`),V=u(`external-link-icon`),H=u(`el-tooltip`),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`,ae,[a(S,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,oe,[e(`aside`,se,[e(`div`,ce,[a(w,{modelValue:_.searchQuery,"onUpdate:modelValue":v[0]||=e=>_.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:_.$t(`connection.placeholder.search`)},{prefix:p(()=>[a(C,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(O,{trigger:`click`,placement:`bottom-end`,onCommand:_.onAddCommand},{dropdown:p(()=>[a(D,null,{default:p(()=>[a(E,{command:`browse`},{default:p(()=>[a(C,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.title.browse`)),1)]),_:1}),a(E,{command:`custom`},{default:p(()=>[a(T,{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(T,{size:16,"aria-hidden":`true`,focusable:`false`})],8,le)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,ue,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,me,[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(j,{key:0,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:1,class:`group-chevron`,size:14,"aria-hidden":`true`,focusable:`false`}))],8,he),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,ge)]),d(e(`ul`,_e,[(h(!0),s(l,null,m(t.items,r=>(h(),s(`li`,{key:r.key,class:n({"list-item":!0,active:_.selectedKey===r.key}),onClick:e=>_.onSelect(r)},[e(`span`,ye,[r.faviconUrl?(h(),s(`img`,{key:0,src:r.faviconUrl,alt:r.name,onError:e=>_.onFaviconError(r)},null,40,be)):r.browserSession?(h(),f(N,{key:1,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(P,{key:2,size:16,"aria-hidden":`true`,focusable:`false`}))]),e(`span`,xe,i(r.name),1),r.accountLabel?(h(),s(`span`,{key:0,class:`list-item-account`,title:r.accountLabel},i(r.accountLabel),9,Se)):o(``,!0),r.isDefault?(h(),s(`span`,Ce,i(_.$t(`connection.label.defaultAccount`)),1)):o(``,!0),r.byo?(h(),s(`span`,we,i(_.$t(`connection.label.custom`)),1)):t.key===`available`?(h(),s(`span`,{key:3,class:`list-item-badge list-item-badge-hint`,title:_.$t(`connection.message.notConnectedYet`)},i(_.$t(`connection.label.notConnected`)),9,Te)):o(``,!0)],10,ve))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,Ee,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(A,{key:0,animated:``},{template:p(()=>[e(`div`,de,[e(`div`,fe,[a(k,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,pe,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(k,{variant:`image`,style:{width:`20px`,height:`20px`,"border-radius":`4px`}}),a(k,{variant:`text`,style:{flex:`1 1 auto`,height:`14px`}})])),64))])])]),_:1}))])),[[Q,_.firstLoadComplete&&(_.loading||_.loadingCatalog)]]),e(`div`,De,[e(`button`,{type:`button`,class:`browse-all-button`,onClick:v[1]||=e=>_.browseDialogVisible=!0},[a(C,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(_.$t(`connection.button.browseAll`)),1)])])]),e(`section`,Oe,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,Me,[a(P,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Ne,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Pe,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,ke,[a(A,{animated:``},{template:p(()=>[e(`div`,Ae,[a(k,{variant:`circle`,style:{width:`32px`,height:`32px`}}),a(k,{variant:`h3`,style:{width:`220px`,height:`22px`,"margin-left":`12px`}})]),a(k,{variant:`text`,style:{width:`60%`,height:`12px`,"margin-top":`12px`}}),e(`div`,je,[a(k,{variant:`text`,style:{width:`140px`,height:`14px`}}),a(k,{variant:`p`,style:{width:`33%`,"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{"margin-top":`16px`}}),a(k,{variant:`p`,style:{width:`61%`,"margin-top":`16px`}})])]),_:1})])),_.firstLoadComplete&&_.selectedItem?(h(),s(l,{key:2},[e(`header`,Fe,[e(`div`,Ie,[e(`span`,Le,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,Re)):_.selectedItem.browserSession?(h(),f(N,{key:1,size:20,"aria-hidden":`true`,focusable:`false`})):(h(),f(P,{key:2,size:20,"aria-hidden":`true`,focusable:`false`}))]),e(`h3`,ze,i(_.selectedItem.name),1),_.selectedItem.byo?(h(),f(F,{key:0,size:`small`,type:`info`,class:`detail-custom-tag`},{default:p(()=>[r(i(_.$t(`connection.label.custom`)),1)]),_:1})):o(``,!0),e(`div`,Be,[!_.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(O,{key:1,trigger:`click`,placement:`bottom-end`,"popper-class":`connection-actions-popper`,onCommand:_.onDetailAction},{dropdown:p(()=>[a(D,{class:`connection-actions-menu`},{default:p(()=>[(h(!0),s(l,null,m(_.detailActions,e=>(h(),f(E,{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,Ve)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,He,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,Ue,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,We,[e(`div`,Ge,[e(`span`,Ke,i(_.$t(`connection.title.overview`)),1)]),e(`p`,qe,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,Je,[e(`div`,Ye,[_.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`,Xe,[e(`span`,Ze,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,Qe,i(_.connectionAccountSubtext(_.selectedItem.connection)),1)):o(``,!0)]),a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])])):o(``,!0),_.selectedItem.connection&&_.selectedItem.browserSession?(h(),s(`div`,$e,[e(`div`,et,[e(`span`,tt,[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,nt,[e(`strong`,null,i(_.selectedItem.connection.browser_device?.name||_.$t(`user.browserDevice.title`)),1),e(`span`,null,i(_.$t(`user.browserDevice.localApprovalOnly`)),1)]),a(F,{type:_.browserDeviceStatusTagType(_.selectedItem.connection),size:`small`},{default:p(()=>[r(i(_.browserDeviceCompatibilityLabel(_.selectedItem.connection)),1)]),_:1},8,[`type`])]),e(`dl`,rt,[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`,it,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,at,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`,ot,[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`,st,[e(`span`,ct,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,lt,[(h(!0),s(l,null,m(_.selectedItem.connection.browser_device.capabilities,e=>(h(),f(F,{key:e,size:`small`,effect:`plain`},{default:p(()=>[r(i(e.replaceAll(`_`,` `)),1)]),_:2},1024))),128))])])):o(``,!0)])):o(``,!0),_.selectedItem.connection&&_.selectedItem.custom?(h(),s(`div`,ut,[e(`dl`,dt,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])]),_.customAuthSummary(_.selectedItem.connection)?(h(),s(`div`,ft,[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`,pt,[e(`dl`,mt,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,ht,[e(`dt`,null,i(_.$t(`connection.field.status`)),1),e(`dd`,null,[a(F,{type:_.statusTagType(_.selectedItem.connection.status),size:`small`},{default:p(()=>[r(i(_.statusLabel(_.selectedItem.connection.status)),1)]),_:1},8,[`type`])])])),_.byocCredentialSummary(_.selectedItem)?(h(),s(`div`,gt,[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`,_t,[e(`div`,vt,[e(`span`,yt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,bt,i(_.suggestions.length),1)]),e(`p`,xt,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,St,[(h(!0),s(l,null,m(_.suggestions,r=>(h(),f(H,{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(z,{class:`suggestion-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,wt,i(r.prompt),1),_.suggestionsLocked?(h(),f(B,{key:0,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(V,{key:1,class:`suggestion-cta`,size:16,"aria-hidden":`true`,focusable:`false`}))],42,Ct)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,Tt,[e(`div`,Et,[e(`span`,Dt,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,Ot,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,kt,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,At,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,jt,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,Mt,[e(`span`,Nt,i(t.name),1),t.description?(h(),s(`span`,Pt,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Ft,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,It,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,Lt,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,Rt,[e(`span`,zt,i(t.label),1),t.desc?(h(),s(`span`,Bt,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,$,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,Vt,[e(`dl`,Ht,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Ut,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Wt,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Gt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,Kt,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,onInstalled:_.onCatalogInstalled},null,8,[`modelValue`,`item`,`method`,`create-new`,`onInstalled`]),a(G,{modelValue:_.pickerVisible,"onUpdate:modelValue":[v[7]||=e=>_.pickerVisible=e,v[8]||=e=>!e&&_.clearCreateNewIntent()],item:_.pickerCatalog,onSelect:_.onMethodSelected},null,8,[`modelValue`,`item`,`onSelect`]),a(K,{modelValue:_.pairingDialogVisible,"onUpdate:modelValue":v[9]||=e=>_.pairingDialogVisible=e,onPaired:_.onBrowserPaired,onClosed:_.onBrowserPairingClosed},null,8,[`modelValue`,`onPaired`,`onClosed`]),a(q,{ref:`browserDevicePicker`,modelValue:_.browserDevicePickerVisible,"onUpdate:modelValue":[v[10]||=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[17]||=e=>_.customDialogVisible=e,title:_.$t(`connection.title.addCustomConnector`),width:`560px`,"close-on-click-modal":!1},{footer:p(()=>[a(I,{onClick:v[16]||=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`,qt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,Jt,[a(w,{modelValue:_.customName,"onUpdate:modelValue":v[11]||=e=>_.customName=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.name`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(w,{modelValue:_.customServerUrl,"onUpdate:modelValue":v[12]||=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[13]||=e=>_.customAdvancedVisible=!_.customAdvancedVisible},[_.customAdvancedVisible?(h(),f(J,{key:0,class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{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`,Yt,[a(w,{modelValue:_.customClientId,"onUpdate:modelValue":v[14]||=e=>_.customClientId=e,modelModifiers:{trim:!0},placeholder:_.$t(`connection.placeholder.clientId`),clearable:``},null,8,[`modelValue`,`placeholder`]),a(w,{modelValue:_.customClientSecret,"onUpdate:modelValue":v[15]||=e=>_.customClientSecret=e,placeholder:_.$t(`connection.placeholder.clientSecret`),clearable:``,"show-password":``},null,8,[`modelValue`,`placeholder`])])):o(``,!0),e(`p`,Xt,i(_.$t(`connection.message.customConnectorTrust`)),1)])]),_:1},8,[`modelValue`,`title`]),a(Y,{modelValue:_.scopeDialogVisible,"onUpdate:modelValue":v[20]||=e=>_.scopeDialogVisible=e,title:_.scopeDialogCatalog?_.$t(`connection.message.selectScopes`,{provider:_.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,onClosed:v[21]||=e=>!_.scopeDialogCatalog&&_.clearCreateNewIntent()},{footer:p(()=>[a(I,{onClick:v[19]||=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`,Zt,i(_.$t(`connection.message.selectScopesHint`)),1),a(Z,{modelValue:_.selectedScopes,"onUpdate:modelValue":v[18]||=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`,Qt,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,$t,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var tn=z(ie,[[`render`,en],[`__scopeId`,`data-v-7e68c7cb`]]);export{tn 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-BODA2jf6.js";import{t as S}from"./upload-KvU-H2Pn.js";import{t as C}from"./tooltip-Ck3eIRCt.js";import{t as w}from"./alert-BprQRUmf.js";import{h as T,v as E}from"./models-BoFv4bCY.js";import{t as D}from"./drawer-LnmmvO3L.js";import{t as O}from"./box-Ru8CN_WA.js";import{t as k}from"./clock-CJP1L4iF.js";import{t as A}from"./external-link-IrmfutNb.js";import{a as j,i as M,n as N,r as P,s as F,t as I}from"./pagination-D3ecBdTD.js";import{t as L}from"./image-B4PLmQaF.js";import{t as ee}from"./info-SrHD5DCZ.js";import{t as te}from"./trash-2-BrR9MfiV.js";import{t as R}from"./triangle-alert-BOFNM383.js";import{t as z}from"./upload-D5utuckf.js";import{t as B}from"./wand-sparkles-RkL6p2k8.js";import{t as ne}from"./zap-B1VAKgJ8.js";import{$n as V,Qn as re,Yn as ie,Zn as ae,er as oe}from"./constants-DB14FZRU.js";import{Ai as se,G as H,J as U,Jn as W,K as G,O as K,Pa as q,Qr as ce,V as le,Y as ue,_i as J,an as de,ba as Y,ei as fe,gi as X,mn as pe,oa as me,q as he}from"./index-CcjQxvfb.js";import{t as ge}from"./CopyToClipboard-BWMbyEe8.js";import{t as _e}from"./ReportButton-DX9HrIMC.js";import{t as Z}from"./ImagePreview-3n2g823_.js";import{n as ve}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ye}from"./Consumption-B8Aoy3S9.js";import{t as be}from"./ScenarioPaymentMode-DyQODbhi.js";import{t as xe}from"./ApiCodeButton-CE_3dTKv.js";import{t as Se}from"./BotPlaceholder-BvZp_nGe.js";import{t as Ce}from"./ImageWrapper-Zf-ml_fL.js";import{t as Q}from"./imageRequests-BqaDdLsP.js";var we=y({name:`LayoutNanobanana`,components:{MagicIcon:B,ElDrawer:D,ElButton:q},mixins:[ve]}),Te={class:`main flex flex-row flex-1`},Ee={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)]`},De={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Oe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,Te,[e(`div`,Ee,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,De,[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 ke=K(we,[[`render`,Oe],[`__scopeId`,`data-v-6419fc74`]]),Ae=y({name:`PromptInput`,components:{PromptTextarea:M},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 je(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 Me=K(Ae,[[`render`,je]]),Ne=y({name:`ImageUrlsInput`,components:{UploadIcon:z,ElUpload:S,ElButton:q,InfoIcon:j,ImagePreview:Z},mixins:[ue,U,G,le],data(){return{fileList:[],uploadUrl:me()+`/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()}}}),Pe={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Fe={class:`flex min-w-0 items-center`},Ie={class:`title m-0 text-[14px] font-bold`},Le={class:`file-list flex flex-wrap gap-[10px]`};function Re(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`,Pe,[e(`div`,Fe,[e(`h2`,Ie,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`,Le,[(_(!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 ze=K(Ne,[[`render`,Re]]),Be=y({name:`AspectRatioSelector`,components:{InfoIcon:j},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)}}}),Ve={class:`ratio`},He={class:`header`},Ue={class:`title font-bold`},We=[`aria-label`],Ge=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Ke={class:`preview`},qe={class:`name`};function Je(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,Ve,[e(`div`,He,[e(`h2`,Ue,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`,Ke,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,qe,i(a.label),1)],42,Ge))),128))],8,We)])}var Ye=K(Be,[[`render`,Je],[`__scopeId`,`data-v-7131eb97`]]),Xe=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:j},data(){return{options:[{value:ae,label:this.$t(`nanobanana.model.nanoBanana`)},{value:V,label:V},{value:oe,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:re,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||=ie}}),Ze={class:`field`},Qe={class:`label`},$e={class:`box`},et={class:`title font-bold`};function tt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,Ze,[e(`div`,Qe,[e(`div`,$e,[e(`h2`,et,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 nt=K(Xe,[[`render`,tt],[`__scopeId`,`data-v-11cb675b`]]),rt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:j},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}))}}),it={class:`field`},at={class:`label`},ot={class:`box`},st={class:`title font-bold`};function ct(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,it,[e(`div`,at,[e(`div`,ot,[e(`h2`,st,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 lt=K(rt,[[`render`,ct],[`__scopeId`,`data-v-7ab9d4d4`]]),ut=350,dt=y({name:`ConfigPanel`,components:{MagicIcon:B,ElButton:q,PromptInput:Me,Consumption:ye,ImageUrlsInput:ze,AspectRatioSelector:Ye,ModelSelector:nt,ResolutionSelector:lt,ScenarioPaymentMode:be},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return de({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return X()&&J(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.quoteRunId+=1,this.walletMode&&this.scheduleQuote()}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,ut)},async refreshQuote(){let e=J(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await W.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),ft={class:`flex flex-col h-full`},pt={class:`flex-1 overflow-y-auto p-5`},mt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ht(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(`consumption`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,ft,[e(`div`,pt,[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`,mt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,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,[`onClick`])])])}var gt=K(dt,[[`render`,ht]]),_t=y({name:`TaskPreview`,components:{ApplicationIcon:O,ChannelIcon:F,DeleteIcon:te,ExternalLinkIcon:A,ImageIcon:L,InfoIcon:ee,LightningIcon:ne,MagicIcon:B,TimeIcon:k,WarningIcon:R,CopyToClipboard:ge,ElAlert:w,ImageWrapper:Ce,ElButton:q,ElTooltip:C,ImagePreview:Z,ApiCodeButton:xe,ReportButton:_e},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)},showResult(){let e=this.modelValue?.response;return e?e.success===!0?!0:this.hasImages&&e.success!==!1:!1}},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 Y.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`))}}}}}),vt={class:`preview`},yt={class:`left`},bt={class:`main`},xt={class:`bot`},St={class:`datetime`},Ct=[`aria-label`],wt={class:`info`},Tt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Et={key:1,class:`prompt mt-2`},Dt={key:0},Ot={key:0,class:n({content:!0,failed:!0})},kt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},At={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},jt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},It={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Rt={key:1,class:n({content:!0})},zt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},qt={key:2,class:n({content:!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function Qt(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`,vt,[e(`div`,yt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,bt,[e(`div`,xt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,St,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,Ct)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,wt,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,Tt,[(_(!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`,Et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Dt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Ot,[e(`div`,kt,[(_(!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`,At,[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:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,jt,[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`,Mt,[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`,Nt,[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`,Pt,[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`,Ft,[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`,It,[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`,Lt,[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.modelValue?.response?.success===!1||n.modelValue?.response?.error?(_(),s(`div`,Rt,[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`,zt,[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`,Bt,[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`,Vt,[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`,Ht,[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`,Ut,[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`,Wt,[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`,Gt,[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`,Kt,[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`,$,[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`,Jt,[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`,Yt,[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`,Xt,[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`,Zt,[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 $t=y({name:`RecentPanel`,components:{TaskPreview:K(_t,[[`render`,Qt],[`__scopeId`,`data-v-45a0e049`]]),BotPlaceholder:Se,NoTasks:P,ScrollList:N},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?.()}}}),en={key:0},tn={key:2,class:`w-full h-full flex items-center justify-center`};function nn(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`,en,[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`,tn,[a(v)])):o(``,!0)],64)}var rn=y({name:`NanobananaIndex`,components:{ConfigPanel:gt,Layout:ke,RecentPanel:K($t,[[`render`,nn]])},mixins:[he],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 X()&&J(`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.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await I({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(!H(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=W.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!pe())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=W.generate(e,{token:n})}E.info(this.$t(`nanobanana.message.startingTask`)),se(`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 ce)return;let t=e?.response?.data;t?.error?.code===`used_up`?E.error(this.$t(`nanobanana.message.usedUp`)):this.walletMode?E.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):E.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return fe(this.$wallet)},async confirmWalletPayment(e){return Y.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 an(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return _(),p(l,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var on=K(rn,[[`render`,an]]);export{on 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-IURLV_gW.js";import{t as S}from"./upload-MkciQIS4.js";import{t as C}from"./tooltip-DIpaS5v3.js";import{t as w}from"./alert-BprQRUmf.js";import{h as T,v as E}from"./models-CjQB9FO6.js";import{t as D}from"./drawer-Dn66Qkds.js";import{t as O}from"./box-DtTDZS_T.js";import{t as k}from"./clock-Bc5wRPLL.js";import{t as A}from"./external-link-Nyr07G2b.js";import{a as j,i as M,n as N,r as P,s as F,t as I}from"./pagination-BCtqYoJW.js";import{t as L}from"./image-xIks4s0D.js";import{t as ee}from"./info-C2Tt-AAG.js";import{t as te}from"./trash-2-Dv6hX8nV.js";import{t as R}from"./triangle-alert-jfsdAUHA.js";import{t as z}from"./upload-CL5G713J.js";import{t as B}from"./wand-sparkles-XVL_JYqb.js";import{t as ne}from"./zap-CnlkCkzF.js";import{$n as re,Qn as ie,Xn as ae,er as V,tr as oe}from"./constants-DbpBW9eP.js";import{Ai as se,G as H,J as U,Jn as W,K as G,O as K,Pa as q,Qr as ce,V as le,Y as ue,_i as J,an as de,ba as Y,ei as fe,gi as X,mn as pe,oa as me,q as he}from"./index-HjykeWk5.js";import{t as ge}from"./CopyToClipboard-CTUohPCI.js";import{t as _e}from"./ReportButton-EQldoRgS.js";import{t as Z}from"./ImagePreview-ZO5B8ja6.js";import{n as ve}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ye}from"./Consumption-DdAzscqb.js";import{t as be}from"./ScenarioPaymentMode-CZRe9D9F.js";import{t as xe}from"./ApiCodeButton-Dcl8qhwL.js";import{t as Se}from"./BotPlaceholder-BKvEW5Nl.js";import{t as Ce}from"./ImageWrapper-BWOkdezw.js";import{t as Q}from"./imageRequests-TuJ_dadC.js";var we=y({name:`LayoutNanobanana`,components:{MagicIcon:B,ElDrawer:D,ElButton:q},mixins:[ve]}),Te={class:`main flex flex-row flex-1`},Ee={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)]`},De={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Oe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,Te,[e(`div`,Ee,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,De,[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 ke=K(we,[[`render`,Oe],[`__scopeId`,`data-v-6419fc74`]]),Ae=y({name:`PromptInput`,components:{PromptTextarea:M},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 je(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 Me=K(Ae,[[`render`,je]]),Ne=y({name:`ImageUrlsInput`,components:{UploadIcon:z,ElUpload:S,ElButton:q,InfoIcon:j,ImagePreview:Z},mixins:[ue,U,G,le],data(){return{fileList:[],uploadUrl:me()+`/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()}}}),Pe={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Fe={class:`flex min-w-0 items-center`},Ie={class:`title m-0 text-[14px] font-bold`},Le={class:`file-list flex flex-wrap gap-[10px]`};function Re(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`,Pe,[e(`div`,Fe,[e(`h2`,Ie,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`,Le,[(_(!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 ze=K(Ne,[[`render`,Re]]),Be=y({name:`AspectRatioSelector`,components:{InfoIcon:j},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)}}}),Ve={class:`ratio`},He={class:`header`},Ue={class:`title font-bold`},We=[`aria-label`],Ge=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Ke={class:`preview`},qe={class:`name`};function Je(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,Ve,[e(`div`,He,[e(`h2`,Ue,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`,Ke,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,qe,i(a.label),1)],42,Ge))),128))],8,We)])}var Ye=K(Be,[[`render`,Je],[`__scopeId`,`data-v-7131eb97`]]),Xe=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:j},data(){return{options:[{value:ie,label:this.$t(`nanobanana.model.nanoBanana`)},{value:V,label:V},{value:oe,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:re,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||=ae}}),Ze={class:`field`},Qe={class:`label`},$e={class:`box`},et={class:`title font-bold`};function tt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,Ze,[e(`div`,Qe,[e(`div`,$e,[e(`h2`,et,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 nt=K(Xe,[[`render`,tt],[`__scopeId`,`data-v-11cb675b`]]),rt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:j},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}))}}),it={class:`field`},at={class:`label`},ot={class:`box`},st={class:`title font-bold`};function ct(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,it,[e(`div`,at,[e(`div`,ot,[e(`h2`,st,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 lt=K(rt,[[`render`,ct],[`__scopeId`,`data-v-7ab9d4d4`]]),ut=350,dt=y({name:`ConfigPanel`,components:{MagicIcon:B,ElButton:q,PromptInput:Me,Consumption:ye,ImageUrlsInput:ze,AspectRatioSelector:Ye,ModelSelector:nt,ResolutionSelector:lt,ScenarioPaymentMode:be},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return de({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return X()&&J(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.quoteRunId+=1,this.walletMode&&this.scheduleQuote()}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,ut)},async refreshQuote(){let e=J(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await W.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),ft={class:`flex flex-col h-full`},pt={class:`flex-1 overflow-y-auto p-5`},mt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ht(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(`consumption`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,ft,[e(`div`,pt,[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`,mt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,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,[`onClick`])])])}var gt=K(dt,[[`render`,ht]]),_t=y({name:`TaskPreview`,components:{ApplicationIcon:O,ChannelIcon:F,DeleteIcon:te,ExternalLinkIcon:A,ImageIcon:L,InfoIcon:ee,LightningIcon:ne,MagicIcon:B,TimeIcon:k,WarningIcon:R,CopyToClipboard:ge,ElAlert:w,ImageWrapper:Ce,ElButton:q,ElTooltip:C,ImagePreview:Z,ApiCodeButton:xe,ReportButton:_e},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)},showResult(){let e=this.modelValue?.response;return e?e.success===!0?!0:this.hasImages&&e.success!==!1:!1}},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 Y.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`))}}}}}),vt={class:`preview`},yt={class:`left`},bt={class:`main`},xt={class:`bot`},St={class:`datetime`},Ct=[`aria-label`],wt={class:`info`},Tt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Et={key:1,class:`prompt mt-2`},Dt={key:0},Ot={key:0,class:n({content:!0,failed:!0})},kt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},At={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},jt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},It={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Rt={key:1,class:n({content:!0})},zt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},qt={key:2,class:n({content:!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function Qt(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`,vt,[e(`div`,yt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,bt,[e(`div`,xt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,St,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,Ct)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,wt,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,Tt,[(_(!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`,Et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Dt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Ot,[e(`div`,kt,[(_(!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`,At,[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:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,jt,[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`,Mt,[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`,Nt,[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`,Pt,[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`,Ft,[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`,It,[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`,Lt,[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.modelValue?.response?.success===!1||n.modelValue?.response?.error?(_(),s(`div`,Rt,[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`,zt,[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`,Bt,[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`,Vt,[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`,Ht,[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`,Ut,[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`,Wt,[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`,Gt,[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`,Kt,[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`,$,[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`,Jt,[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`,Yt,[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`,Xt,[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`,Zt,[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 $t=y({name:`RecentPanel`,components:{TaskPreview:K(_t,[[`render`,Qt],[`__scopeId`,`data-v-45a0e049`]]),BotPlaceholder:Se,NoTasks:P,ScrollList:N},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?.()}}}),en={key:0},tn={key:2,class:`w-full h-full flex items-center justify-center`};function nn(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`,en,[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`,tn,[a(v)])):o(``,!0)],64)}var rn=y({name:`NanobananaIndex`,components:{ConfigPanel:gt,Layout:ke,RecentPanel:K($t,[[`render`,nn]])},mixins:[he],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 X()&&J(`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.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await I({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(!H(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=W.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!pe())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=W.generate(e,{token:n})}E.info(this.$t(`nanobanana.message.startingTask`)),se(`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 ce)return;let t=e?.response?.data;t?.error?.code===`used_up`?E.error(this.$t(`nanobanana.message.usedUp`)):this.walletMode?E.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):E.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return fe(this.$wallet)},async confirmWalletPayment(e){return Y.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 an(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return _(),p(l,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var on=K(rn,[[`render`,an]]);export{on as default};
|