@acedatacloud/nexior 3.372.1 → 3.373.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-CXbTGKM1.js → ApiCodeButton-CPGhOLiu.js} +1 -1
- package/dist/assets/{ApiCodeDialog-5FAXFldg.js → ApiCodeDialog-DFuXfQd9.js} +2 -2
- package/dist/assets/{Artifacts-rshWoq_q.js → Artifacts-Iqbb6kPL.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-CCwvZOoR.js → AskUserQuestionCard-Bk9JCcJ8.js} +1 -1
- package/dist/assets/{AudioPreview-D7xM5MWy.js → AudioPreview-CTkYCaUg.js} +1 -1
- package/dist/assets/{Auth-CL-5o0y2.js → Auth-CEyaqXq1.js} +1 -1
- package/dist/assets/{Bare-CAJkrzHR.js → Bare-BoCgRT4k.js} +1 -1
- package/dist/assets/{BotPlaceholder-YKbFH6WW.js → BotPlaceholder-rtyV1S5S.js} +1 -1
- package/dist/assets/{BottomFooter-BUA3KMfo.js → BottomFooter-C9FOv2BL.js} +1 -1
- package/dist/assets/{BrowseConnectors-5gxkOZCa.js → BrowseConnectors-C5DxLI6K.js} +1 -1
- package/dist/assets/{BrowserPairingDialog-D_fwiKsU.js → BrowserPairingDialog-DCjvZU5w.js} +1 -1
- package/dist/assets/{Callback-BIizgUC2.js → Callback-D-d0eMPz.js} +1 -1
- package/dist/assets/{CodeSnippet-BNZHHRpe.js → CodeSnippet-CMO3vvju.js} +1 -1
- package/dist/assets/{Console-4oAuIjDT.js → Console-CKPPBa35.js} +1 -1
- package/dist/assets/{Conversation-BItkURW6.js → Conversation-B_7cXksy.js} +1 -1
- package/dist/assets/Conversation-D33iRE99.js +2 -0
- package/dist/assets/Conversation-GudouywL.css +1 -0
- package/dist/assets/{CopyToClipboard-B1RI0m2t.js → CopyToClipboard-DAyi_3OQ.js} +1 -1
- package/dist/assets/{Detail-Cv9fsXaA.js → Detail-CTQSPtD-.js} +1 -1
- package/dist/assets/{Extra-BL1rMCUI.js → Extra-ufopKO8y.js} +1 -1
- package/dist/assets/{FilePreview-CIQlpCj8.js → FilePreview-C3m04qXO.js} +1 -1
- package/dist/assets/{Hailuo-_hsMRIIn.js → Hailuo-Cf3wIS8E.js} +1 -1
- package/dist/assets/{History-C0001BdC.js → History-DuhNyqmx.js} +1 -1
- package/dist/assets/{ImagePreview-CdSDNsoM.js → ImagePreview-B9s8J01K.js} +1 -1
- package/dist/assets/{ImageWrapper-B__RmLrG.js → ImageWrapper-BjkTskuv.js} +1 -1
- package/dist/assets/{Index-c6pxpcqp.js → Index-B0I-tNOZ.js} +1 -1
- package/dist/assets/{Index-CBPmR7cG.js → Index-B814uEoG.js} +2 -2
- package/dist/assets/Index-B8K7J-Rx.js +1 -0
- package/dist/assets/Index-BDTpG_CL.js +1 -0
- package/dist/assets/Index-BFtve-z8.js +1 -0
- package/dist/assets/{Index-BgMiYBr1.js → Index-BLzxNEI-.js} +1 -1
- package/dist/assets/{Index-Dt5JfqAm.js → Index-BOWuTVKJ.js} +1 -1
- package/dist/assets/{Index-DTakLXOu.js → Index-BS7v2wU2.js} +1 -1
- package/dist/assets/{Index-DDESjAI5.js → Index-BbmuP-wW.js} +1 -1
- package/dist/assets/{Index-fJaYTgSD.css → Index-BcnBM2_V.css} +1 -1
- package/dist/assets/{Index-BT7ZjfOC.js → Index-BzW0A_LR.js} +1 -1
- package/dist/assets/Index-C2iRq2Qw.js +1 -0
- package/dist/assets/Index-C9F9XQrE.js +1 -0
- package/dist/assets/Index-CQN94Ffh.js +1 -0
- package/dist/assets/{Index-CLSUcd5Z.js → Index-CQYVGH6u.js} +1 -1
- package/dist/assets/Index-CTssKsjV.js +1 -0
- package/dist/assets/{Index-OyQcLCcC.js → Index-CiY5C67L.js} +1 -1
- package/dist/assets/{Index-vBYEtrRS.js → Index-Cmlh0TTt.js} +1 -1
- package/dist/assets/Index-D4Tr3isP.js +1 -0
- package/dist/assets/{Index-BP8suQw_.js → Index-D66kDMHS.js} +1 -1
- package/dist/assets/Index-DAMOBJFE.js +87 -0
- package/dist/assets/{Index-Q0bQ9a2Q2.js → Index-DJCFVLwM2.js} +1 -1
- package/dist/assets/Index-DNJbG1CR.js +1 -0
- package/dist/assets/{Index-DsmAF1Vi.js → Index-DOlAXSLg.js} +1 -1
- package/dist/assets/{Index-BmN6_waW.js → Index-Dm2FysUI.js} +1 -1
- package/dist/assets/{Index-DMzXIjgb.js → Index-F-Qw_DW5.js} +1 -1
- package/dist/assets/{Index-BsqHzGZH.js → Index-F1BT3eOb.js} +1 -1
- package/dist/assets/{Index-CERXuO2h.js → Index-R-WSTcHf.js} +1 -1
- package/dist/assets/{Index-BoHeDlkJ.js → Index-Rki18BDG.js} +1 -1
- package/dist/assets/{Index-CZrNyWKy.js → Index-W2bzrAkx.js} +2 -2
- package/dist/assets/{Index-B8P5U1vc.js → Index-aXa81CRx.js} +1 -1
- package/dist/assets/{Index-C4pvJ3pT.js → Index-bfV69lWl.js} +1 -1
- package/dist/assets/{Index-BaMP7O23.js → Index-eYV6BI-A.js} +1 -1
- package/dist/assets/{Index-DSbTAndR.js → Index-mqcRxSL5.js} +1 -1
- package/dist/assets/Index-p0oLVoSJ.js +1 -0
- package/dist/assets/{Index-B_d3N-Bf.js → Index-sILLMUh9.js} +1 -1
- package/dist/assets/{Index-DAsvgflk.js → Index-x4ufT6Wq.js} +1 -1
- package/dist/assets/{Invitees-DcRZizzQ.js → Invitees-BPgznSM5.js} +1 -1
- package/dist/assets/{List-Cq5y2eX1.js → List-BAwEMkdI.js} +1 -1
- package/dist/assets/{List-B9DK9OA7.js → List-D1LHqOx8.js} +1 -1
- package/dist/assets/{List-X7cCtVmp.js → List-DJY6Nb8v.js} +1 -1
- package/dist/assets/{LocalTools-B_tEp0Uc.js → LocalTools-B1SlBrqM.js} +1 -1
- package/dist/assets/LocalTools-DgG-l2y-.js +5 -0
- package/dist/assets/{Logo-Dqovm1f6.js → Logo-2-jsdWuy.js} +1 -1
- package/dist/assets/{Main-BbZvxMWK.js → Main-Bz-ZeY4M.js} +1 -1
- package/dist/assets/{Message-g4ld0V6S.js → Message-DXOrh0Yb.js} +2 -2
- package/dist/assets/{Model-R3XAknw5.js → Model-BjikoYEE.js} +1 -1
- package/dist/assets/{Navigator-CUr9GoJH.css → Navigator-CWAnHPzI.css} +1 -1
- package/dist/assets/Navigator-DA9O7LrE.js +8 -0
- package/dist/assets/{NotFound-pflEImyH.js → NotFound-P-Z9lp5X.js} +1 -1
- package/dist/assets/{PageHeader-D7Iw0EZU.js → PageHeader-BxTrgmLo.js} +1 -1
- package/dist/assets/{Pay-5nHNZRuH.js → Pay-nyj5eV3Q.js} +1 -1
- package/dist/assets/{Player-avUpgZwL.js → Player-HIE1CRLU.js} +1 -1
- package/dist/assets/{Poivelle-CtIzX9f6.js → Poivelle-DdfK2kNt.js} +1 -1
- package/dist/assets/{RealtimeCall-Bxa_p8WJ.js → RealtimeCall-Ba9tO2Yj.js} +1 -1
- package/dist/assets/{ReportButton-Dwm0MCb7.js → ReportButton-DalKc7i7.js} +1 -1
- package/dist/assets/{ReportDialog-C_MzyhMP.js → ReportDialog-B6Qoh1wW.js} +1 -1
- package/dist/assets/{ScenarioPaymentMode-1v1jrhzX.js → ScenarioPaymentMode-4_9JDWFN.js} +1 -1
- package/dist/assets/{ScheduledTasks-CyOisCDA.css → ScheduledTasks-CQCV_-0Y.css} +1 -1
- package/dist/assets/ScheduledTasks-DxC3K9N6.js +2 -0
- package/dist/assets/{ServicePricingSummary-DL1EqlEI.js → ServicePricingSummary-D39Eh-NT.js} +1 -1
- package/dist/assets/{ShowcaseGrid-CqM3Y5Ew.js → ShowcaseGrid-B2quKvc1.js} +1 -1
- package/dist/assets/{ShowcaseResultTabs-CsBFwFc0.js → ShowcaseResultTabs-DJVmexf9.js} +1 -1
- package/dist/assets/{SolanaWalletPickerDialog-BjA8JBoc.js → SolanaWalletPickerDialog-C32469k6.js} +1 -1
- package/dist/assets/Status-BhcoTAdf.js +1 -0
- package/dist/assets/{Subscribe-Bbx0y-tk.js → Subscribe-CJx_ZR9K.js} +1 -1
- package/dist/assets/{TabSwitcher-2pai492f.js → TabSwitcher-CB6X5f83.js} +1 -1
- package/dist/assets/{Tts-pgTaDNnr.js → Tts-D3TeVguS.js} +1 -1
- package/dist/assets/{VideoPlayer-99sAa0RA.js → VideoPlayer-CVXvO7ac.js} +1 -1
- package/dist/assets/{VideoPreview-DWnSLlCs.js → VideoPreview-CaYgutzc.js} +1 -1
- package/dist/assets/WriteSkillDialog-B_vIUyKv.js +1 -0
- package/dist/assets/{airwallexCheckout-DBeohu11.js → airwallexCheckout-CHcL5hMp.js} +1 -1
- package/dist/assets/arrow-down-C6wrQYLF.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-DSD7eCN0.js → arrow-down-wide-narrow-CmP_1d1p.js} +1 -1
- package/dist/assets/arrow-left-9K7XoAiv.js +1 -0
- package/dist/assets/arrow-right-DWu6OFra.js +1 -0
- package/dist/assets/arrow-up-DkByh98Z.js +1 -0
- package/dist/assets/{authorizeFlow-wiT2BDHs.js → authorizeFlow-OwiOb8oj.js} +1 -1
- package/dist/assets/{avatar-CvuV_o1R.js → avatar-DtKcRmyc.js} +1 -1
- package/dist/assets/{basic-1Q7SHri7.js → basic-DFz2cG3y.js} +1 -1
- package/dist/assets/{book-open-D2XhvIAM.js → book-open-DZpy0lDE.js} +1 -1
- package/dist/assets/{box-C7pY3d2E.js → box-CUMQZuBm.js} +1 -1
- package/dist/assets/{boxes-BAzHko2E.js → boxes-DzL0z1qi.js} +1 -1
- package/dist/assets/{brain-DyASrBpT.js → brain-D74VlTYy.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-ClYjA1C1.js → chart-no-axes-combined-CzzR93Eg.js} +1 -1
- package/dist/assets/chat-4B5e6M7H.js +1 -0
- package/dist/assets/chat-8q4HYSBH.js +1 -0
- package/dist/assets/chat-B_H4N5wh.js +1 -0
- package/dist/assets/chat-Bi4-iPLs.js +1 -0
- package/dist/assets/chat-Bk_GtTmW.js +1 -0
- package/dist/assets/chat-C2uqNw3P.js +1 -0
- package/dist/assets/chat-CJbcUBPg.js +1 -0
- package/dist/assets/chat-CsiZHLys.js +1 -0
- package/dist/assets/chat-CyU-pFNA.js +2 -0
- package/dist/assets/chat-D6FZdAFD.js +1 -0
- package/dist/assets/chat-D_cVYex_.js +1 -0
- package/dist/assets/chat-lBYpL1ru.js +1 -0
- package/dist/assets/chat-woD5EAiM.js +1 -0
- package/dist/assets/check-CvicfOQx.js +1 -0
- package/dist/assets/chevron-down-Cu8qxeJ7.js +1 -0
- package/dist/assets/chevron-right-BmBtd2ES.js +1 -0
- package/dist/assets/{circle-alert-CsBEBlX4.js → circle-alert-D0sxSJv2.js} +1 -1
- package/dist/assets/circle-check-Bh3XYVs5.js +1 -0
- package/dist/assets/{circle-question-mark-t1Sqkxa-.js → circle-question-mark-CIeXcJ5Q.js} +1 -1
- package/dist/assets/{clipboard-list-DXXwplpA.js → clipboard-list-gaqYUCJ1.js} +1 -1
- package/dist/assets/clock-CIt1oE3U.js +1 -0
- package/dist/assets/code-S3-Q90Fi.js +1 -0
- package/dist/assets/codingBridge-BNK38lhI.js +2 -0
- package/dist/assets/{codingBridgeNotify-Nnm2hKnJ.js → codingBridgeNotify-CFoOLcGh.js} +1 -1
- package/dist/assets/{coins-Uq5uKfja.js → coins-uy26CC1l.js} +1 -1
- package/dist/assets/{collapse-CLGlf6ff.js → collapse-0WRpvPa2.js} +1 -1
- package/dist/assets/constants-CiMGQy1r.js +1 -0
- package/dist/assets/{copy-BK5551iG.js → copy-CO_zOPB-.js} +1 -1
- package/dist/assets/{createTaskActions-BL-ncKYc.js → createTaskActions-Cd9PLmA4.js} +1 -1
- package/dist/assets/{date-picker-11KNRZKS.js → date-picker-DTbFn6T6.js} +1 -1
- package/dist/assets/{digitalhuman-CnwExuv9.js → digitalhuman-B5mwnJsv.js} +1 -1
- package/dist/assets/{dollar-sign-TeaF6_ZY.js → dollar-sign-CVSntPP0.js} +1 -1
- package/dist/assets/{download-Dh_1LcG_.js → download-B-NUX5--.js} +1 -1
- package/dist/assets/{drawer-BYa8Wvud.js → drawer-DiMGL-ON.js} +1 -1
- package/dist/assets/{dropdown-BRNhRSOk.js → dropdown-GpprrdIj.js} +1 -1
- package/dist/assets/{dropdown-01GdFH-r.js → dropdown-YDxjipAw.js} +1 -1
- package/dist/assets/{ellipsis-CA0hqNBF.js → ellipsis-CGz_HpMx.js} +1 -1
- package/dist/assets/{esm-58okcIFy.js → esm-for_ctUv.js} +2 -2
- package/dist/assets/{external-link-DcMhEfxo.js → external-link-Dy7ppeTW.js} +1 -1
- package/dist/assets/{eye-CVh82nR1.js → eye-tHuN1elp.js} +1 -1
- package/dist/assets/{file-BZQf1-Aq.js → file-EU87NQEf.js} +1 -1
- package/dist/assets/{file-output-Dmh2_Y5b.js → file-output-hFv46DRo.js} +1 -1
- package/dist/assets/{file-text-Dr2g-nXa.js → file-text-g2ZxAyz9.js} +1 -1
- package/dist/assets/{fish-FBHWVckz.js → fish-DKFPgcN4.js} +1 -1
- package/dist/assets/{flux-BwZkWjb6.js → flux-DKmsK4Hx.js} +1 -1
- package/dist/assets/{folder-C3xuJqWv.js → folder-BYGmJ8b6.js} +1 -1
- package/dist/assets/gauge-BfO9lXC9.js +1 -0
- package/dist/assets/{generationInput-BUdXOxBA.js → generationInput-D9-UKuN_.js} +1 -1
- package/dist/assets/{globe-X9W4X_l3.js → globe-Bcfo0NCz.js} +1 -1
- package/dist/assets/{seedance-WWWipb9o.js → grokvideo-zMkbw8fc.js} +1 -1
- package/dist/assets/{hailuo-DGu5JL7D.js → hailuo-UTru_8wK.js} +1 -1
- package/dist/assets/{headphones-Ci-KcfjB.js → headphones-DgMfW7oh.js} +1 -1
- package/dist/assets/{history-DzoMdaCv.js → history-BS-RsX0W.js} +1 -1
- package/dist/assets/{house-Cuasovei.js → house-SuFpuLeo.js} +1 -1
- package/dist/assets/{i18n-DNApfDSL.js → i18n-DBtpbeq0.js} +1 -1
- package/dist/assets/{image-WRPiliG3.js → image-CtUMzDVv.js} +1 -1
- package/dist/assets/{imageRequests-YnVOusEm.js → imageRequests-JgZOB_cZ.js} +1 -1
- package/dist/assets/{index-C8rVkCux.js → index-4v6EkWvr.js} +17 -17
- package/dist/assets/{index.es-6isWQLrK.js → index.es-I-vzV5XY.js} +1 -1
- package/dist/assets/{info-Dv_slngC.js → info-DTb1_1Yi.js} +1 -1
- package/dist/assets/{input-number-BJ4N08Dl.js → input-number-Djsi0Vju.js} +1 -1
- package/dist/assets/{key-round-Bp6HXmhs.js → key-round-CE4FB-CQ.js} +1 -1
- package/dist/assets/{kling-DBVH5UhU.js → kling-BBMsArmW.js} +1 -1
- package/dist/assets/{languages-DL8wLfYA.js → languages-F2SfnPWp.js} +1 -1
- package/dist/assets/{laptop-DCOnrgvH.js → laptop-Z9AblF2E.js} +1 -1
- package/dist/assets/{lightbulb-TYLu6lJr.js → lightbulb-BgsBKuzo.js} +1 -1
- package/dist/assets/{link-DO1CTp4n.js → link-CZvMZO1z.js} +1 -1
- package/dist/assets/loader-circle-CDDo32OH.js +1 -0
- package/dist/assets/{lock-DaTcvGMJ.js → lock-D3s5uN5k.js} +1 -1
- package/dist/assets/luma-C5efGpzj.js +1 -0
- package/dist/assets/maestro-D5lKvi4O.js +1 -0
- package/dist/assets/{maestroLanguages-C1rwtZ8N.js → maestroLanguages-BDi0WKKu.js} +1 -1
- package/dist/assets/{mail-DgZEvAhA.js → mail-Bkvex4jo.js} +1 -1
- package/dist/assets/{message-circle-DU-guD4p.js → message-circle-DycSW4AS.js} +1 -1
- package/dist/assets/{mic-Dbo71Vd8.js → mic-C2EoIIf7.js} +1 -1
- package/dist/assets/{midjourney-DYNvr6EX.js → midjourney-DTQQpYgn.js} +1 -1
- package/dist/assets/{pika-Cj19JGyz.js → minimax-CEPXgN5N.js} +1 -1
- package/dist/assets/{mobileLocalExec-CAaj0y8p.js → mobileLocalExec-C1dCnnBV.js} +1 -1
- package/dist/assets/modelPresentation-C1qgMEpp.js +1 -0
- package/dist/assets/{models-CnGmh81q.js → models-DGI43qxx.js} +1 -1
- package/dist/assets/{monitor-CwFvRMpF.js → monitor-DGrD9zYu.js} +1 -1
- package/dist/assets/{mouse-pointer-2-B1vAdDhA.js → mouse-pointer-2-BBpO7Y1t.js} +1 -1
- package/dist/assets/music-2-CXSc24qt.js +1 -0
- package/dist/assets/nanobanana-BM7qluDQ.js +1 -0
- package/dist/assets/{omni-yte31JC3.js → omni-C4G4ivob.js} +1 -1
- package/dist/assets/openaiimage-B55A85T0.js +1 -0
- package/dist/assets/{pagination-DlBdnsAP.js → pagination-BXh591ef.js} +1 -1
- package/dist/assets/{pagination-urMTNA35.js → pagination-B_yoORyz.js} +1 -1
- package/dist/assets/{pagination-CdVc2XkW.js → pagination-Cjli_PVC.js} +1 -1
- package/dist/assets/{palette-DqrAj5tv.js → palette-DjM-fYCI.js} +1 -1
- package/dist/assets/{paperclip-BakOGJ04.js → paperclip-Chtwsjh7.js} +1 -1
- package/dist/assets/{pause-BA140Q3I.js → pause-BOP04ErV.js} +1 -1
- package/dist/assets/{pencil-DOxkZzKu.js → pencil-D9ojJ_V5.js} +1 -1
- package/dist/assets/{wan-oXb5XYBk.js → pika-BAA2o_D9.js} +1 -1
- package/dist/assets/pixverse-Cg6kYapr.js +1 -0
- package/dist/assets/play-0nBvxH6w.js +1 -0
- package/dist/assets/{plug-EhtfSU4S.js → plug-AiEJQNqZ.js} +1 -1
- package/dist/assets/plus-BeTeDkfL.js +1 -0
- package/dist/assets/{poivelle-COXlUhuW.js → poivelle-CXexGIHQ.js} +1 -1
- package/dist/assets/{popover-Do5wFCfV.js → popover-B19Mwnte.js} +1 -1
- package/dist/assets/{producer-C8lAc9M9.js → producer-t30I_n1a.js} +1 -1
- package/dist/assets/{qrart-b1Ar3VpZ.js → qrart-KXAjcMVd.js} +1 -1
- package/dist/assets/{qwenimage-B657_hBg.js → qwenimage-BSWnzFX8.js} +1 -1
- package/dist/assets/realtime-dyUL5gTl.js +1 -0
- package/dist/assets/{refresh-cw-CRZZEYio.js → refresh-cw-C7pDC97K.js} +1 -1
- package/dist/assets/rotate-ccw-Csq3BM2o.js +1 -0
- package/dist/assets/rotate-cw-7JNWsuSC.js +1 -0
- package/dist/assets/{row-Dtylg64g.js → row-BUXbo_F4.js} +1 -1
- package/dist/assets/search-D_IRBgpu.js +1 -0
- package/dist/assets/{grokvideo-ClL8VMis.js → seedance-DYFFGyr2.js} +1 -1
- package/dist/assets/{seedream-D5dDHKqs.js → seedream-Qe5Usaxl.js} +1 -1
- package/dist/assets/{select-D40oc0JC.js → select-D2uv1cbt.js} +1 -1
- package/dist/assets/{serp-BI5SvHuI.js → serp-D1BPo8kK.js} +1 -1
- package/dist/assets/{shield-NDL8zog1.js → shield-C-rcf9l1.js} +1 -1
- package/dist/assets/{showcase-CklWnpE1.js → showcase-DnVkF0_b.js} +1 -1
- package/dist/assets/{showcaseRecreateMixin-BSEQd2ZE.js → showcaseRecreateMixin-apGTM24e.js} +1 -1
- package/dist/assets/{shuffle-Bar3za5O.js → shuffle-DJswF87H.js} +1 -1
- package/dist/assets/site-1pjTNxh5.js +1 -0
- package/dist/assets/{site-C2eN7w36.js → site-B0ySowjc.js} +1 -1
- package/dist/assets/{site-i_UOOXNy.js → site-B596s5Hy.js} +1 -1
- package/dist/assets/{site-CHTpzr8r.js → site-BOu2zV-d.js} +1 -1
- package/dist/assets/{site-D026YSSq.js → site-BtiNTH-u.js} +1 -1
- package/dist/assets/{site-unRXja4n.js → site-Bvh-2S-J.js} +1 -1
- package/dist/assets/site-Byfe5O5U.js +1 -0
- package/dist/assets/{site-BGyboRAB.js → site-C6oN2RaM.js} +1 -1
- package/dist/assets/{site-JC4Eghtp.js → site-C8eb5zY0.js} +1 -1
- package/dist/assets/{site-BjfdXmEW.js → site-CEPHwLgd.js} +1 -1
- package/dist/assets/{site-UFoeZk-H.js → site-CNEqbjRh.js} +1 -1
- package/dist/assets/{site-DE89m_v6.js → site-DDA2o_Id.js} +1 -1
- package/dist/assets/{siteHome-DE0e7YkO.js → siteHome-BY2nqQ15.js} +1 -1
- package/dist/assets/{slider-1NLPGIwT.js → slider-B49gjC66.js} +1 -1
- package/dist/assets/{solana-wallets-u8PQUCoa.js → solana-wallets-4lUhwO0E.js} +2 -2
- package/dist/assets/{sora-OO7N_3Y1.js → sora-BsMjVXhF.js} +1 -1
- package/dist/assets/{sparkles-ByEHFbrK.js → sparkles-BZHTMV6g.js} +1 -1
- package/dist/assets/square-BMfu1Pnd.js +1 -0
- package/dist/assets/{store-D2C29aeR.js → store-CAiKYenZ.js} +1 -1
- package/dist/assets/{suno-d7HgIHLy.js → suno-B9SQateb.js} +1 -1
- package/dist/assets/{switch-DwiW6Cd5.js → switch-cui34BG0.js} +1 -1
- package/dist/assets/{table-C8MemFms.js → table-t8i5Xkas.js} +1 -1
- package/dist/assets/{tabs-Dre5wTx-.js → tabs-C48-bEy8.js} +1 -1
- package/dist/assets/{tag-2c34L5VE.js → tag-CZL93MZS.js} +1 -1
- package/dist/assets/{taskPolling-ChGQti0H.js → taskPolling-DFVKVaSg.js} +1 -1
- package/dist/assets/terminal-C6r6vbBY.js +1 -0
- package/dist/assets/{time-picker-De1clAPv.js → time-picker-DFWL--4z.js} +1 -1
- package/dist/assets/{tooltip-C2adgmEg.js → tooltip-b_dQsMp2.js} +1 -1
- package/dist/assets/{trash-2-BUeymqYc.js → trash-2-DE5mDXQJ.js} +1 -1
- package/dist/assets/{triangle-alert-1pgA60EW.js → triangle-alert-k9eV3S4u.js} +1 -1
- package/dist/assets/{upload-BQReuQo6.js → upload-C_YrWWV5.js} +1 -1
- package/dist/assets/{upload-C4fnKADN.js → upload-DcGdzIA8.js} +1 -1
- package/dist/assets/user-kwcck43C.js +1 -0
- package/dist/assets/{veo-BuWdPNCh.js → veo-CvKwb0nV.js} +1 -1
- package/dist/assets/{video-BocZqWFZ.js → video-DBacGDok.js} +1 -1
- package/dist/assets/{volume-2-BRWs6-DM.js → volume-2-BRQneKEO.js} +1 -1
- package/dist/assets/{wallet-3Qa-oV1_.js → wallet-D-QaX5a3.js} +1 -1
- package/dist/assets/{minimax-7mlL2mEH.js → wan-C26g3uja.js} +1 -1
- package/dist/assets/{wand-sparkles-DBlftzv9.js → wand-sparkles-BEDgmNQE.js} +1 -1
- package/dist/assets/{web-CAnKlC43.js → web-BH1GhKbC.js} +1 -1
- package/dist/assets/{webextrator-DzsN0eON.js → webextrator-D1_Tyoxh.js} +1 -1
- package/dist/assets/{zap-BGGUbR8s.js → zap-BmQzpLlI.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/Conversation-DOaBBv4A.css +0 -1
- package/dist/assets/Conversation-a64u2PXi.js +0 -2
- package/dist/assets/Index-Bdaj_JKb.js +0 -1
- package/dist/assets/Index-BjAiJdHV.js +0 -1
- package/dist/assets/Index-BwNhM6pf.js +0 -1
- package/dist/assets/Index-C-ilD4L9.js +0 -1
- package/dist/assets/Index-C4mmIu9Q.js +0 -1
- package/dist/assets/Index-D00Vq4Kt.js +0 -1
- package/dist/assets/Index-DS2XXwtg.js +0 -1
- package/dist/assets/Index-DY9ILFII.js +0 -1
- package/dist/assets/Index-DZoixhUG.js +0 -47
- package/dist/assets/Index-DmZFFzkq.js +0 -1
- package/dist/assets/Index-DovsjSHX.js +0 -1
- package/dist/assets/LocalTools-C44aYbLq.js +0 -5
- package/dist/assets/Navigator-X38grJoC.js +0 -8
- package/dist/assets/ScheduledTasks-Bth44Vmk.js +0 -2
- package/dist/assets/Status-dDTcJjEO.js +0 -1
- package/dist/assets/WriteSkillDialog-D8Fk2nwZ.js +0 -1
- package/dist/assets/arrow-down-5xwF8btV.js +0 -1
- package/dist/assets/arrow-left-DF-9Vjkk.js +0 -1
- package/dist/assets/arrow-right-DEgkDQ9w.js +0 -1
- package/dist/assets/arrow-up-riB3b0pG.js +0 -1
- package/dist/assets/chat-BeYfJSUl.js +0 -1
- package/dist/assets/chat-C1k3-Ftc.js +0 -1
- package/dist/assets/chat-CA-gI04w.js +0 -1
- package/dist/assets/chat-CReEVsXb.js +0 -1
- package/dist/assets/chat-CZwdMR0M.js +0 -1
- package/dist/assets/chat-CukwORev.js +0 -1
- package/dist/assets/chat-D8avIoVy.js +0 -1
- package/dist/assets/chat-DaoiX_f7.js +0 -1
- package/dist/assets/chat-DpKmNYar.js +0 -1
- package/dist/assets/chat-DpspaKHH.js +0 -1
- package/dist/assets/chat-DtFybkHZ.js +0 -1
- package/dist/assets/chat-OvvNso6i.js +0 -1
- package/dist/assets/chat-pgoc-5S_.js +0 -1
- package/dist/assets/check-CBD7gHqE.js +0 -1
- package/dist/assets/chevron-down-D3G8OTx5.js +0 -1
- package/dist/assets/chevron-right-BRlXHm9d.js +0 -1
- package/dist/assets/circle-check-DkLVvFUX.js +0 -1
- package/dist/assets/clock-BPhOS51z.js +0 -1
- package/dist/assets/code-CheNQvJa.js +0 -1
- package/dist/assets/codingBridge-CZAP0CPl.js +0 -2
- package/dist/assets/constants-vOsDYlNv.js +0 -1
- package/dist/assets/gauge-BiMDHrlY.js +0 -1
- package/dist/assets/loader-circle-u07mc-Re.js +0 -1
- package/dist/assets/luma-BHpZ6hJm.js +0 -1
- package/dist/assets/maestro-CHfXuxfE.js +0 -1
- package/dist/assets/music-2-DD-D-vej.js +0 -1
- package/dist/assets/nanobanana-ChIvf8PL.js +0 -1
- package/dist/assets/openaiimage-CrPX3n3W.js +0 -1
- package/dist/assets/pixverse-DmmqJ1hi.js +0 -1
- package/dist/assets/play-lYWxtt7w.js +0 -1
- package/dist/assets/plus-uiZDrvxE.js +0 -1
- package/dist/assets/realtime-COJUA9iR.js +0 -1
- package/dist/assets/rotate-ccw-zYzHopyL.js +0 -1
- package/dist/assets/rotate-cw-CoKaqWw9.js +0 -1
- package/dist/assets/search-Dla3dhRC.js +0 -1
- package/dist/assets/site-CumIO4yh.js +0 -1
- package/dist/assets/site-VtPs9Wsn.js +0 -1
- package/dist/assets/square-BlTZULlc.js +0 -1
- package/dist/assets/terminal-Bbma7QfW.js +0 -1
- package/dist/assets/user-INrKRThJ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,j as f,mt as p,ot as ee,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./tooltip-C2adgmEg.js";import{v as y}from"./models-CnGmh81q.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-BRNhRSOk.js";import{n as T,t as E}from"./skeleton-Dj_a_iIP.js";import{t as D}from"./chevron-down-D3G8OTx5.js";import{t as O}from"./chevron-right-BRlXHm9d.js";import{t as k}from"./ellipsis-CA0hqNBF.js";import{t as A}from"./external-link-DcMhEfxo.js";import{t as j}from"./lightbulb-TYLu6lJr.js";import{t as M}from"./lock-DaTcvGMJ.js";import{t as N}from"./monitor-CwFvRMpF.js";import{t as P}from"./plug-EhtfSU4S.js";import{t as F}from"./plus-uiZDrvxE.js";import{t as I}from"./search-Dla3dhRC.js";import{A as L,Ha as R,Ja as z,Ua as B,do as V,ro as H,to as U}from"./index-C8rVkCux.js";import{n as W,r as G,t as K}from"./authorizeFlow-wiT2BDHs.js";import{a as q,i as J,n as Y,o as X,r as Z,s as Q,t as ne}from"./BrowseConnectors-5gxkOZCa.js";import{t as re}from"./BrowserPairingDialog-D_fwiKsU.js";import{t as ie}from"./PageHeader-D7Iw0EZU.js";var ae=_({name:`UserConnections`,components:{ConsolePageHeader:ie,ElButton:H,ElTag:U,ElAvatar:te,ElDialog:z,ElInput:V,ElCheckbox:x,ElCheckboxGroup:b,ElDropdown:w,ElDropdownMenu:C,ElDropdownItem:S,AddIcon:F,CollapseUpIcon:R(`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:ne,ByocCredentialsDialog:J,ConnectorMethodPicker:Z,BrowserPairingDialog:re,BrowserDevicePicker:Y,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 Q(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 q.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||Q(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 q.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 q.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,X(e).length>1){this.pickerCatalog=e,this.pickerVisible=!0;return}let n=Q(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 B.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 r=t.credential.type===`oauth2`?await W(G()):{returnUrl:G()},{data:i}=await q.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:r.returnUrl,method_id:t.id,...this.pendingCreateNew?{create_new:!0}:{}});if(i?.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}i?.type===`redirect`&&i.authorization_url?await this.runAuthorizePopup(i.authorization_url,i.handoff_token,r.requestId):i&&i.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,t,n){try{let r=await K(e,t,n);if(r?.status===`error`)throw Error(r.errorCode||`connector-authorization-failed`);if(r?.status===`cancelled`){this.pendingCreateNew=!1;return}if(this.pendingCreateNew=!1,await this.fetchConnections(),r?.status===`success`&&(!r.connectionId||!this.connections.some(e=>e.id===r.connectionId&&this.normalizedStatus(e.status)===`active`)))throw Error(this.$t(`connection.message.installFailed`));return}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}},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 q.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 q.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 q.installFromCatalog(t.id,{return_url:G(),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 e=await W(G()),{data:t}=await q.authorizeCustom({name:this.customName||void 0,server_url:this.customServerUrl,client_id:this.customClientId||void 0,client_secret:this.customClientSecret||void 0,provider:`mcp`,return_url:e.returnUrl});t?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(t.authorization_url,t.handoff_token,e.requestId))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e){if(!e.installable)return;this.pendingCreateNew=!1;let t=this.selectedItem?.connection?.method_id,n=Q(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 q.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 B.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 q.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 q.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 B.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 q.disconnect(e.id);let t=`connection:${e.id}`;this.connections=this.connections.filter(t=>t.id!==e.id),this.selectedKey===t&&(this.selectedKey=this.orderedItems[0]?.key||null),y.success(this.$t(`connection.message.disconnected`,{provider:this.connectionProviderName(e)})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to disconnect`)}}}}),oe={class:`connectors-page`},se={class:`connectors-shell`},ce={class:`connectors-list`},le={class:`list-toolbar`},ue=[`aria-label`,`title`],de={class:`list-scroll`},fe={class:`list-group`},pe={class:`group-header skeleton-header`},me={class:`group-items`},he={class:`group-header`},ge=[`aria-label`,`title`,`onClick`],_e=[`onClick`],ve={class:`group-items`},ye=[`onClick`],be={class:`list-item-icon`},xe=[`src`,`alt`,`onError`],Se={class:`list-item-name`},Ce=[`title`],we={key:1,class:`list-item-badge list-item-badge-default`},Te={key:2,class:`list-item-badge`},Ee=[`title`],De={key:2,class:`list-empty`},Oe={class:`list-footer`},ke={class:`connectors-detail`},Ae={key:0,class:`detail-skeleton`},je={class:`detail-skeleton-header`},Me={class:`detail-skeleton-section`},Ne={key:1,class:`detail-empty`},Pe={class:`detail-empty-title`},Fe={class:`detail-empty-hint`},Ie={class:`detail-header`},Le={class:`detail-title-row`},Re={class:`detail-icon`},ze=[`src`,`alt`],Be={class:`detail-title`},Ve={class:`detail-actions`},He=[`aria-label`,`title`],Ue={key:0,class:`detail-server-url`},We={key:1,class:`detail-description`},Ge={key:0,class:`detail-section`},Ke={class:`section-heading`},qe={class:`section-title`},Je={class:`overview-text`},Ye={key:1,class:`detail-section`},Xe={class:`account-row`},Ze={class:`account-info`},Qe={class:`account-name`},$e={key:0,class:`account-sub`},et={key:2,class:`detail-section browser-session`},tt={class:`browser-session-heading`},nt={class:`browser-session-icon`},rt={class:`browser-session-copy`},it={class:`meta-grid browser-session-meta`},at={key:0},ot={key:1,class:`muted`},st={class:`browser-digest-row`},ct={key:0,class:`browser-capabilities`},lt={class:`browser-capabilities-label`},ut={class:`browser-capability-list`},dt={key:3,class:`detail-section`},ft={class:`meta-grid`},pt={key:0},mt={key:4,class:`detail-section`},ht={class:`meta-grid`},gt={key:0},_t={key:1},vt={key:5,class:`detail-section`},yt={class:`section-heading`},bt={class:`section-title`},xt={class:`section-count`},St={class:`section-hint`},Ct={class:`suggestion-list`},wt=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],Tt={class:`suggestion-text`},Et={key:6,class:`detail-section`},Dt={class:`section-heading`},Ot={class:`section-title`},kt={key:0,class:`section-count`},At={key:0,class:`permission-empty`},jt={key:1,class:`permission-empty error`},Mt={key:2,class:`permission-list`},Nt={class:`permission-name`},Pt={class:`permission-tool-name`},Ft={key:0,class:`permission-tool-desc`},It={key:3,class:`permission-empty`},Lt={key:1,class:`permission-empty`},Rt={key:0,class:`permission-list`},zt={class:`permission-name`},Bt={class:`permission-scope-label`},$={key:0,class:`permission-tool-desc`},Vt={key:1,class:`permission-empty`},Ht={key:7,class:`detail-section meta-section`},Ut={class:`meta-grid`},Wt={key:0},Gt={key:1,class:`muted`},Kt={key:0},qt={key:1,class:`muted`},Jt={class:`custom-dialog-intro`},Yt={class:`custom-dialog-form`},Xt={key:0,class:`advanced-fields`},Zt={class:`custom-trust-copy`},Qt={class:`text-sm text-gray-500 mb-4`},$t={class:`scope-dialog-label`},en={key:0,class:`scope-dialog-desc`};function tn(_,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`,oe,[a(S,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,se,[e(`aside`,ce,[e(`div`,le,[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,ue)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,de,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,he,[e(`button`,{type:`button`,class:`group-chevron-button`,"aria-label":_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),title:_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),onClick:e=>_.toggleGroup(t.key)},[t.collapsed?(h(),f(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,ge),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,_e)]),d(e(`ul`,ve,[(h(!0),s(l,null,m(t.items,r=>(h(),s(`li`,{key:r.key,class:n({"list-item":!0,active:_.selectedKey===r.key}),onClick:e=>_.onSelect(r)},[e(`span`,be,[r.faviconUrl?(h(),s(`img`,{key:0,src:r.faviconUrl,alt:r.name,onError:e=>_.onFaviconError(r)},null,40,xe)):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`,Se,i(r.name),1),r.accountLabel?(h(),s(`span`,{key:0,class:`list-item-account`,title:r.accountLabel},i(r.accountLabel),9,Ce)):o(``,!0),r.isDefault?(h(),s(`span`,we,i(_.$t(`connection.label.defaultAccount`)),1)):o(``,!0),r.byo?(h(),s(`span`,Te,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,Ee)):o(``,!0)],10,ye))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,De,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(A,{key:0,animated:``},{template:p(()=>[e(`div`,fe,[e(`div`,pe,[a(k,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,me,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(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`,Oe,[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`,ke,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,Ne,[a(P,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Pe,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Fe,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,Ae,[a(A,{animated:``},{template:p(()=>[e(`div`,je,[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`,Me,[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`,Ie,[e(`div`,Le,[e(`span`,Re,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,ze)):_.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`,Be,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`,Ve,[!_.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,He)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,Ue,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,We,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,Ge,[e(`div`,Ke,[e(`span`,qe,i(_.$t(`connection.title.overview`)),1)]),e(`p`,Je,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,Ye,[e(`div`,Xe,[_.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`,Ze,[e(`span`,Qe,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,$e,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`,et,[e(`div`,tt,[e(`span`,nt,[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,rt,[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`,it,[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`,at,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,ot,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`,st,[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`,ct,[e(`span`,lt,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,ut,[(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`,dt,[e(`dl`,ft,[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`,pt,[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`,mt,[e(`dl`,ht,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,gt,[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`,_t,[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`,vt,[e(`div`,yt,[e(`span`,bt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,xt,i(_.suggestions.length),1)]),e(`p`,St,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,Ct,[(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`,Tt,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,wt)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,kt,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,At,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,jt,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,Mt,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,Nt,[e(`span`,Pt,i(t.name),1),t.description?(h(),s(`span`,Ft,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,It,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,Lt,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,Rt,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,zt,[e(`span`,Bt,i(t.label),1),t.desc?(h(),s(`span`,$,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Vt,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,Ht,[e(`dl`,Ut,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Wt,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Gt,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Kt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,qt,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`,Jt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,Yt,[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`,Xt,[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`,Zt,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`,Qt,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`,$t,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,en,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var nn=L(ae,[[`render`,tn],[`__scopeId`,`data-v-d62fc15b`]]);export{nn 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-b_dQsMp2.js";import{v as y}from"./models-DGI43qxx.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-GpprrdIj.js";import{n as T,t as E}from"./skeleton-Dj_a_iIP.js";import{t as D}from"./chevron-down-Cu8qxeJ7.js";import{t as O}from"./chevron-right-BmBtd2ES.js";import{t as k}from"./ellipsis-CGz_HpMx.js";import{t as A}from"./external-link-Dy7ppeTW.js";import{t as j}from"./lightbulb-BgsBKuzo.js";import{t as M}from"./lock-D3s5uN5k.js";import{t as N}from"./monitor-DGrD9zYu.js";import{t as P}from"./plug-AiEJQNqZ.js";import{t as F}from"./plus-BeTeDkfL.js";import{t as I}from"./search-D_IRBgpu.js";import{A as L,Ua as R,Wa as z,Ya as B,fo as V,io as H,no as U}from"./index-4v6EkWvr.js";import{n as W,r as G,t as K}from"./authorizeFlow-OwiOb8oj.js";import{a as q,i as J,n as Y,o as X,r as Z,s as Q,t as ne}from"./BrowseConnectors-C5DxLI6K.js";import{t as re}from"./BrowserPairingDialog-DCjvZU5w.js";import{t as ie}from"./PageHeader-BxTrgmLo.js";var ae=_({name:`UserConnections`,components:{ConsolePageHeader:ie,ElButton:H,ElTag:U,ElAvatar:te,ElDialog:B,ElInput:V,ElCheckbox:x,ElCheckboxGroup:b,ElDropdown:w,ElDropdownMenu:C,ElDropdownItem:S,AddIcon:F,CollapseUpIcon:R(`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:ne,ByocCredentialsDialog:J,ConnectorMethodPicker:Z,BrowserPairingDialog:re,BrowserDevicePicker:Y,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 Q(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 q.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||Q(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 q.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 q.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,X(e).length>1){this.pickerCatalog=e,this.pickerVisible=!0;return}let n=Q(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 z.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 r=t.credential.type===`oauth2`?await W(G()):{returnUrl:G()},{data:i}=await q.installFromCatalog(e.id,{scopes:n&&n.length?n:void 0,return_url:r.returnUrl,method_id:t.id,...this.pendingCreateNew?{create_new:!0}:{}});if(i?.type===`form`){this.byocDialogCatalog=e,this.byocDialogMethod=t,this.byocDialogVisible=!0;return}i?.type===`redirect`&&i.authorization_url?await this.runAuthorizePopup(i.authorization_url,i.handoff_token,r.requestId):i&&i.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,t,n){try{let r=await K(e,t,n);if(r?.status===`error`)throw Error(r.errorCode||`connector-authorization-failed`);if(r?.status===`cancelled`){this.pendingCreateNew=!1;return}if(this.pendingCreateNew=!1,await this.fetchConnections(),r?.status===`success`&&(!r.connectionId||!this.connections.some(e=>e.id===r.connectionId&&this.normalizedStatus(e.status)===`active`)))throw Error(this.$t(`connection.message.installFailed`));return}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}},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 q.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 q.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 q.installFromCatalog(t.id,{return_url:G(),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 e=await W(G()),{data:t}=await q.authorizeCustom({name:this.customName||void 0,server_url:this.customServerUrl,client_id:this.customClientId||void 0,client_secret:this.customClientSecret||void 0,provider:`mcp`,return_url:e.returnUrl});t?.authorization_url&&(this.customDialogVisible=!1,await this.runAuthorizePopup(t.authorization_url,t.handoff_token,e.requestId))}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to start authorization`)}finally{this.customAuthorizing=!1}}},async onReconnect(e){if(!e.installable)return;this.pendingCreateNew=!1;let t=this.selectedItem?.connection?.method_id,n=Q(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 q.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 z.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 q.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 q.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 z.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 q.disconnect(e.id);let t=`connection:${e.id}`;this.connections=this.connections.filter(t=>t.id!==e.id),this.selectedKey===t&&(this.selectedKey=this.orderedItems[0]?.key||null),y.success(this.$t(`connection.message.disconnected`,{provider:this.connectionProviderName(e)})),await this.fetchConnections()}catch(e){y.error(e?.response?.data?.detail||e?.message||`Failed to disconnect`)}}}}),oe={class:`connectors-page`},se={class:`connectors-shell`},ce={class:`connectors-list`},le={class:`list-toolbar`},ue=[`aria-label`,`title`],de={class:`list-scroll`},fe={class:`list-group`},pe={class:`group-header skeleton-header`},me={class:`group-items`},he={class:`group-header`},ge=[`aria-label`,`title`,`onClick`],_e=[`onClick`],ve={class:`group-items`},ye=[`onClick`],be={class:`list-item-icon`},xe=[`src`,`alt`,`onError`],Se={class:`list-item-name`},Ce=[`title`],we={key:1,class:`list-item-badge list-item-badge-default`},Te={key:2,class:`list-item-badge`},Ee=[`title`],De={key:2,class:`list-empty`},Oe={class:`list-footer`},ke={class:`connectors-detail`},Ae={key:0,class:`detail-skeleton`},je={class:`detail-skeleton-header`},Me={class:`detail-skeleton-section`},Ne={key:1,class:`detail-empty`},Pe={class:`detail-empty-title`},Fe={class:`detail-empty-hint`},Ie={class:`detail-header`},Le={class:`detail-title-row`},Re={class:`detail-icon`},ze=[`src`,`alt`],Be={class:`detail-title`},Ve={class:`detail-actions`},He=[`aria-label`,`title`],Ue={key:0,class:`detail-server-url`},We={key:1,class:`detail-description`},Ge={key:0,class:`detail-section`},Ke={class:`section-heading`},qe={class:`section-title`},Je={class:`overview-text`},Ye={key:1,class:`detail-section`},Xe={class:`account-row`},Ze={class:`account-info`},Qe={class:`account-name`},$e={key:0,class:`account-sub`},et={key:2,class:`detail-section browser-session`},tt={class:`browser-session-heading`},nt={class:`browser-session-icon`},rt={class:`browser-session-copy`},it={class:`meta-grid browser-session-meta`},at={key:0},ot={key:1,class:`muted`},st={class:`browser-digest-row`},ct={key:0,class:`browser-capabilities`},lt={class:`browser-capabilities-label`},ut={class:`browser-capability-list`},dt={key:3,class:`detail-section`},ft={class:`meta-grid`},pt={key:0},mt={key:4,class:`detail-section`},ht={class:`meta-grid`},gt={key:0},_t={key:1},vt={key:5,class:`detail-section`},yt={class:`section-heading`},bt={class:`section-title`},xt={class:`section-count`},St={class:`section-hint`},Ct={class:`suggestion-list`},wt=[`role`,`tabindex`,`aria-disabled`,`onClick`,`onKeyup`],Tt={class:`suggestion-text`},Et={key:6,class:`detail-section`},Dt={class:`section-heading`},Ot={class:`section-title`},kt={key:0,class:`section-count`},At={key:0,class:`permission-empty`},jt={key:1,class:`permission-empty error`},Mt={key:2,class:`permission-list`},Nt={class:`permission-name`},Pt={class:`permission-tool-name`},Ft={key:0,class:`permission-tool-desc`},It={key:3,class:`permission-empty`},Lt={key:1,class:`permission-empty`},Rt={key:0,class:`permission-list`},zt={class:`permission-name`},Bt={class:`permission-scope-label`},$={key:0,class:`permission-tool-desc`},Vt={key:1,class:`permission-empty`},Ht={key:7,class:`detail-section meta-section`},Ut={class:`meta-grid`},Wt={key:0},Gt={key:1,class:`muted`},Kt={key:0},qt={key:1,class:`muted`},Jt={class:`custom-dialog-intro`},Yt={class:`custom-dialog-form`},Xt={key:0,class:`advanced-fields`},Zt={class:`custom-trust-copy`},Qt={class:`text-sm text-gray-500 mb-4`},$t={class:`scope-dialog-label`},en={key:0,class:`scope-dialog-desc`};function tn(_,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`,oe,[a(S,{title:_.$t(`connection.title.connections`),subtitle:_.$t(`connection.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,se,[e(`aside`,ce,[e(`div`,le,[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,ue)]),_:1},8,[`onCommand`])]),d((h(),s(`div`,de,[_.firstLoadComplete?_.filteredGroups.length?(h(!0),s(l,{key:1},m(_.filteredGroups,t=>(h(),s(`div`,{key:t.key,class:`list-group`},[e(`div`,he,[e(`button`,{type:`button`,class:`group-chevron-button`,"aria-label":_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),title:_.$t(t.collapsed?`common.button.expand`:`common.button.collapse`),onClick:e=>_.toggleGroup(t.key)},[t.collapsed?(h(),f(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,ge),e(`span`,{class:`group-title`,onClick:e=>_.toggleGroup(t.key)},i(t.label),9,_e)]),d(e(`ul`,ve,[(h(!0),s(l,null,m(t.items,r=>(h(),s(`li`,{key:r.key,class:n({"list-item":!0,active:_.selectedKey===r.key}),onClick:e=>_.onSelect(r)},[e(`span`,be,[r.faviconUrl?(h(),s(`img`,{key:0,src:r.faviconUrl,alt:r.name,onError:e=>_.onFaviconError(r)},null,40,xe)):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`,Se,i(r.name),1),r.accountLabel?(h(),s(`span`,{key:0,class:`list-item-account`,title:r.accountLabel},i(r.accountLabel),9,Ce)):o(``,!0),r.isDefault?(h(),s(`span`,we,i(_.$t(`connection.label.defaultAccount`)),1)):o(``,!0),r.byo?(h(),s(`span`,Te,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,Ee)):o(``,!0)],10,ye))),128))],512),[[g,!t.collapsed]])]))),128)):(h(),s(`div`,De,i(_.searchQuery?_.$t(`connection.message.noMatch`):_.$t(`connection.message.noConnections`)),1)):(h(),f(A,{key:0,animated:``},{template:p(()=>[e(`div`,fe,[e(`div`,pe,[a(k,{variant:`text`,style:{width:`100px`,height:`11px`}})]),e(`ul`,me,[(h(),s(l,null,m(5,t=>e(`li`,{key:`skeleton-${t}`,class:`list-item skeleton-item`},[a(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`,Oe,[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`,ke,[_.firstLoadComplete?_.selectedItem?o(``,!0):(h(),s(`div`,Ne,[a(P,{class:`detail-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Pe,i(_.$t(`connection.message.selectConnector`)),1),e(`p`,Fe,i(_.$t(`connection.message.noConnectionsHint`)),1)])):(h(),s(`div`,Ae,[a(A,{animated:``},{template:p(()=>[e(`div`,je,[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`,Me,[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`,Ie,[e(`div`,Le,[e(`span`,Re,[_.selectedItem.faviconUrl?(h(),s(`img`,{key:0,src:_.selectedItem.faviconUrl,alt:_.selectedItem.name,onError:v[2]||=e=>_.onFaviconError(_.selectedItem)},null,40,ze)):_.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`,Be,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`,Ve,[!_.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,He)]),_:1},8,[`onCommand`])):o(``,!0)])]),_.selectedItem.serverUrl?(h(),s(`p`,Ue,i(_.selectedItem.serverUrl),1)):_.selectedItem.description?(h(),s(`p`,We,i(_.selectedItem.description),1)):o(``,!0)]),_.overviewText?(h(),s(`div`,Ge,[e(`div`,Ke,[e(`span`,qe,i(_.$t(`connection.title.overview`)),1)]),e(`p`,Je,i(_.overviewText),1)])):o(``,!0),_.selectedItem.connection&&!_.selectedItem.custom&&_.showsAccountIdentity?(h(),s(`div`,Ye,[e(`div`,Xe,[_.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`,Ze,[e(`span`,Qe,i(_.connectionAccountName(_.selectedItem.connection)),1),_.connectionAccountSubtext(_.selectedItem.connection)?(h(),s(`span`,$e,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`,et,[e(`div`,tt,[e(`span`,nt,[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`div`,rt,[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`,it,[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`,at,i(_.$dayjs.format(_.selectedItem.connection.browser_device.last_seen_at)),1)):(h(),s(`span`,ot,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`,st,[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`,ct,[e(`span`,lt,i(_.$t(`user.browserDevice.capabilities`)),1),e(`div`,ut,[(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`,dt,[e(`dl`,ft,[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`,pt,[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`,mt,[e(`dl`,ht,[_.showsAccountIdentity?o(``,!0):(h(),s(`div`,gt,[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`,_t,[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`,vt,[e(`div`,yt,[e(`span`,bt,i(_.$t(`connection.title.tryIt`)),1),e(`span`,xt,i(_.suggestions.length),1)]),e(`p`,St,i(_.suggestionsLocked?_.$t(`connection.message.tryItConnectFirst`):_.$t(`connection.message.tryItHint`)),1),e(`ul`,Ct,[(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`,Tt,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,wt)]),_:2},1032,[`content`,`disabled`]))),128))])])):o(``,!0),_.selectedItem.browserSession?o(``,!0):(h(),s(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(_.$t(`connection.title.toolPermissions`)),1),_.permissionRowCount?(h(),s(`span`,kt,i(_.permissionRowCount),1)):o(``,!0)]),_.selectedItem.custom&&_.selectedItem.connection?(h(),s(l,{key:0},[_.selectedMcpToolsLoading?(h(),s(`p`,At,i(_.$t(`connection.message.toolsLoading`)),1)):_.selectedMcpToolsError?(h(),s(`p`,jt,i(_.selectedMcpToolsError),1)):_.selectedMcpTools&&_.selectedMcpTools.length?(h(),s(`ul`,Mt,[(h(!0),s(l,null,m(_.selectedMcpTools,t=>(h(),s(`li`,{key:t.name,class:`permission-row`},[e(`span`,Nt,[e(`span`,Pt,i(t.name),1),t.description?(h(),s(`span`,Ft,i(t.description),1)):o(``,!0)])]))),128))])):(h(),s(`p`,It,i(_.$t(`connection.label.noTools`)),1))],64)):_.isMcpConnector&&!_.selectedItem.connection?(h(),s(`p`,Lt,i(_.$t(`connection.label.toolsConnectFirst`)),1)):(h(),s(l,{key:2},[_.detailScopes.length?(h(),s(`ul`,Rt,[(h(!0),s(l,null,m(_.detailScopes,t=>(h(),s(`li`,{key:t.id,class:`permission-row`},[e(`span`,zt,[e(`span`,Bt,i(t.label),1),t.desc?(h(),s(`span`,$,i(t.desc),1)):o(``,!0)])]))),128))])):(h(),s(`p`,Vt,i(_.$t(`connection.label.noScopes`)),1))],64))])),_.selectedItem.connection&&!_.selectedItem.browserSession?(h(),s(`div`,Ht,[e(`dl`,Ut,[e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.expiresAt`)),1),e(`dd`,null,[_.selectedItem.connection.expires_at?(h(),s(`span`,Wt,i(_.$dayjs.format(_.selectedItem.connection.expires_at)),1)):(h(),s(`span`,Gt,`—`))])]),e(`div`,null,[e(`dt`,null,i(_.$t(`connection.field.lastRefreshedAt`)),1),e(`dd`,null,[_.selectedItem.connection.last_refreshed_at?(h(),s(`span`,Kt,i(_.$dayjs.format(_.selectedItem.connection.last_refreshed_at)),1)):(h(),s(`span`,qt,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`,Jt,i(_.$t(`connection.message.customConnectorHint`)),1),e(`div`,Yt,[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`,Xt,[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`,Zt,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`,Qt,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`,$t,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(h(),s(`p`,en,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])])}var nn=L(ae,[[`render`,tn],[`__scopeId`,`data-v-d62fc15b`]]);export{nn 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,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{n as v,r as y,t as b}from"./select-D40oc0JC.js";import{t as x}from"./upload-BQReuQo6.js";import{t as S}from"./tooltip-C2adgmEg.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-CnGmh81q.js";import{t as E}from"./drawer-BYa8Wvud.js";import{t as D}from"./input-number-BJ4N08Dl.js";import{t as O}from"./switch-DwiW6Cd5.js";import{t as k}from"./box-C7pY3d2E.js";import{t as A}from"./clock-BPhOS51z.js";import{a as j,i as M,n as N,r as P,s as F,t as I}from"./pagination-CdVc2XkW.js";import{t as ee}from"./image-WRPiliG3.js";import{t as te}from"./info-Dv_slngC.js";import{t as ne}from"./trash-2-BUeymqYc.js";import{t as re}from"./triangle-alert-1pgA60EW.js";import{t as ie}from"./upload-C4fnKADN.js";import{t as L}from"./wand-sparkles-DBlftzv9.js";import{t as ae}from"./zap-BGGUbR8s.js";import{$n as oe,Bn as se,Gn as R,Hn as ce,Qn as le,Un as ue,Vn as de,Wn as fe,Xn as pe,Yn as me,Zn as z,ar as B,cr as he,dr as V,er as ge,ir as _e,lr as ve,nr as ye,qn as be,rr as xe,sr as Se,tr as Ce,ur as H}from"./constants-vOsDYlNv.js";import{$i as we,A as U,Bi as W,Cn as Te,Hi as G,O as Ee,Ri as K,Ua as q,at as De,ct as Oe,et as ke,fi as Ae,it as je,li as Me,ot as Ne,ro as J,rr as Y,sa as Pe,st as Fe,za as Ie}from"./index-C8rVkCux.js";import{t as Le}from"./CopyToClipboard-B1RI0m2t.js";import{t as Re}from"./ReportButton-Dwm0MCb7.js";import{t as X}from"./ImagePreview-CdSDNsoM.js";import{n as ze}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Be}from"./ServicePricingSummary-DL1EqlEI.js";import{t as Ve}from"./ScenarioPaymentMode-1v1jrhzX.js";import{t as He}from"./ApiCodeButton-CXbTGKM1.js";import{t as Ue}from"./BotPlaceholder-YKbFH6WW.js";import{t as We}from"./taskPollingMixin-CcLxtz8z.js";import{t as Ge}from"./ShowcaseResultTabs-CsBFwFc0.js";import{t as Ke}from"./showcaseRecreateMixin-BSEQd2ZE.js";import{t as qe}from"./ImageWrapper-B__RmLrG.js";import{n as Z}from"./imageRequests-YnVOusEm.js";var Je=_({name:`LayoutNanobanana`,components:{MagicIcon:L,ElDrawer:E,ElButton:J},mixins:[ze]}),Ye={class:`main flex flex-row flex-1`},Xe={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)]`},Ze={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Qe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ye,[e(`div`,Xe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ze,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var $e=U(Je,[[`render`,Qe],[`__scopeId`,`data-v-92afefbe`]]),et=_({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=U(et,[[`render`,tt]]),rt=_({name:`ImageUrlsInput`,components:{UploadIcon:ie,ElUpload:x,ElButton:J,InfoIcon:j,ImagePreview:X},mixins:[Oe,Fe,De,ke],data(){return{fileList:[],uploadUrl:Ie()+`/api/v1/files/`,suppressWatch:!1}},computed:{maxImages(){return 16},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.openaiimage?.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(){T.warning(this.$t(`openaiimage.message.uploadImageExceed`,{count:16}))},onError(){T.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.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()}}}),it={class:`field flex min-h-8 w-full items-center justify-between gap-3`},at={class:`flex min-w-0 items-center`},ot={class:`title m-0 text-[14px] font-bold`},st={class:`file-list flex flex-wrap gap-[10px]`};function ct(t,n,o,u,d,g){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return h(),s(`div`,null,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`openaiimage.name.imageUrls`)),1),a(_,{content:t.$t(`openaiimage.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:t.maxImages,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,st,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(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 lt=U(rt,[[`render`,ct]]),ut=_({name:`OpenAIImageModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:pe,label:this.$t(`openaiimage.model.gptImage1`)},{value:z,label:this.$t(`openaiimage.model.gptImage15`)},{value:le,label:this.$t(`openaiimage.model.gptImage2`)},{value:oe,label:this.$t(`openaiimage.model.gptImage25Flare`)},{value:ge,label:this.$t(`openaiimage.model.gptImage25FlareOfficial`)},{value:Ce,label:this.$t(`openaiimage.model.gptImage25Sunburst`)},{value:ye,label:this.$t(`openaiimage.model.gptImage25SunburstOfficial`)},{value:xe,label:this.$t(`openaiimage.model.gptImage2Official`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=fe}}),dt={class:`field`},ft={class:`label`},pt={class:`box`},mt={class:`title font-bold`};function ht(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,dt,[e(`div`,ft,[e(`div`,pt,[e(`h2`,mt,i(t.$t(`openaiimage.name.model`)),1),a(g,{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(`openaiimage.placeholder.select`),title:t.value},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`title`])])}var gt=U(ut,[[`render`,ht],[`__scopeId`,`data-v-03b728f3`]]);function Q(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var _t=_({name:`OpenAIImageSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,ElSwitch:O,ElInputNumber:D,InfoIcon:j},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},autoSizeValue(){return H},customSupported(){return ue.includes(this.model)},presets(){return B[this.model]??B[`gpt-image-2`]??[]},presetGroups(){return be.includes(this.model)?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:Se},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:he},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:ve}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize(H)}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.autoSizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return se},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t<655360?this.$t(`openaiimage.error.customSizeMinPixels`,{pixels:ce.toLocaleString()}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:de.toLocaleString()}):Math.max(e,t)/Math.min(e,t)>3?this.$t(`openaiimage.error.customSizeAspectRatio`,{ratio:3}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||e===`auto`||this.presets.includes(e))return;let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize(H)}},storedSize(e){if(!e||e===`auto`){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=Q(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),vt={class:`resolution`},yt={class:`field`},bt={class:`label`},xt={class:`box`},St={class:`title font-bold`},Ct={class:`field custom-toggle`},wt={class:`label`},Tt={class:`box`},Et={class:`title font-bold`},Dt={key:0,class:`custom-inputs`},Ot={class:`row`},kt={class:`row-label`},At={class:`row`},jt={class:`row-label`},Mt={key:0,class:`error`};function Nt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`),x=l(`el-switch`),S=l(`el-input-number`);return h(),s(`div`,vt,[e(`div`,yt,[e(`div`,bt,[e(`div`,xt,[e(`h2`,St,i(t.$t(`openaiimage.name.size`)),1),a(_,{content:t.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.presetValue,"onUpdate:modelValue":n[0]||=e=>t.presetValue=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),disabled:t.useCustom},{default:p(()=>[a(v,{label:t.$t(`openaiimage.size.auto`),value:t.autoSizeValue},null,8,[`label`,`value`]),(h(!0),s(c,null,m(t.presetGroups,e=>(h(),f(y,{key:e.label,label:e.label},{default:p(()=>[(h(!0),s(c,null,m(e.options,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),t.customSupported?(h(),s(c,{key:0},[e(`div`,Ct,[e(`div`,wt,[e(`div`,Tt,[e(`h2`,Et,i(t.$t(`openaiimage.name.customSize`)),1),a(_,{content:t.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),a(x,{modelValue:t.useCustom,"onUpdate:modelValue":n[1]||=e=>t.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),t.useCustom?(h(),s(`div`,Dt,[e(`div`,Ot,[e(`span`,kt,i(t.$t(`openaiimage.name.width`)),1),a(S,{modelValue:t.customWidth,"onUpdate:modelValue":n[2]||=e=>t.customWidth=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),e(`div`,At,[e(`span`,jt,i(t.$t(`openaiimage.name.height`)),1),a(S,{modelValue:t.customHeight,"onUpdate:modelValue":n[3]||=e=>t.customHeight=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),t.customError?(h(),s(`div`,Mt,i(t.customError),1)):o(``,!0)])):o(``,!0)],64)):o(``,!0)])}var Pt=U(_t,[[`render`,Nt],[`__scopeId`,`data-v-c3247527`]]),Ft=_({name:`OpenAIImageQualitySelector`,components:{ElOption:b,ElSelect:y,InfoIcon:j},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedQuality(){return this.$store.state.openaiimage?.config?.quality},qualities(){return _e[this.model]??[`auto`]},quality:{get(){return this.storedQuality&&this.qualities.includes(this.storedQuality)?this.storedQuality:R},set(e){this.commitQuality(e)}}},watch:{model(){this.storedQuality&&this.qualities.includes(this.storedQuality)||this.commitQuality(R)}},methods:{commitQuality(e){let t={...this.$store.state.openaiimage?.config||{},quality:e};this.$store.commit(`openaiimage/setConfig`,t)}}}),It={class:`field`},Lt={class:`label`},Rt={class:`box`},zt={class:`title font-bold`};function Bt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,It,[e(`div`,Lt,[e(`div`,Rt,[e(`h2`,zt,i(t.$t(`openaiimage.name.quality`)),1),a(g,{content:t.$t(`openaiimage.description.quality`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.quality,"onUpdate:modelValue":n[0]||=e=>t.quality=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.qualities,e=>(h(),f(_,{key:e,label:t.$t(`openaiimage.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Vt=U(Ft,[[`render`,Bt],[`__scopeId`,`data-v-052cc590`]]),Ht=350,Ut=_({name:`ConfigPanel`,components:{MagicIcon:L,ElButton:J,PromptInput:nt,ServicePricingSummary:Be,ImageUrlsInput:lt,ModelSelector:gt,ResolutionSelector:Pt,QualitySelector:Vt,ScenarioPaymentMode:Ve},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{OPENAIIMAGE_MODELS:me,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return Te({...this.config||{}},this.service?.cost)},displayConsumption(){return V(this.config?.model)?void 0:this.consumption},service(){return this.$store.state.openaiimage?.service},pricingNote(){return V(this.config?.model)?this.$t(`service.message.imageTokenEstimate`):``},walletMode(){return K()&&W(`openaiimage`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.cancelQuote()},immediate:!0},config:{handler(){this.walletMode?this.scheduleQuote():this.cancelQuote()},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,Ht)},cancelQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},async refreshQuote(){let e=W(`openaiimage`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Z(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`)}}}),Wt={class:`flex flex-col h-full`},Gt={class:`flex-1 overflow-y-auto p-5`},Kt={class:`flex flex-col items-center justify-center px-5 pb-5`};function qt(t,n,c,u,d,m){let g=l(`model-selector`),_=l(`resolution-selector`),v=l(`quality-selector`),y=l(`prompt-input`),b=l(`image-urls-input`),x=l(`scenario-payment-mode`),S=l(`service-pricing-summary`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Wt,[e(`div`,Gt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,Kt,[a(x,{scenario:`openaiimage`}),t.walletMode?o(``,!0):(h(),f(S,{key:0,value:t.displayConsumption,service:t.service,note:t.pricingNote,"pricing-models":t.OPENAIIMAGE_MODELS,"pricing-model-default":`dall-e-3`,"pricing-unit-aliases":{n:`image`}},null,8,[`value`,`service`,`note`,`pricing-models`])),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Jt=U(Ut,[[`render`,qt]]),Yt=_({name:`TaskPreview`,components:{ApplicationIcon:k,ChannelIcon:F,DeleteIcon:ne,ImageIcon:ee,InfoIcon:te,LightningIcon:ae,MagicIcon:L,TimeIcon:A,WarningIcon:re,CopyToClipboard:Le,ElAlert:C,ImageWrapper:qe,ElButton:J,ElTooltip:S,ImagePreview:X,ApiCodeButton:He,ReportButton:Re},props:{modelValue:{type:Object,required:!0}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await q.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(`openaiimage/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),Xt={class:`preview`},Zt={class:`left`},Qt={class:`main`},$t={class:`bot`},en={class:`datetime`},tn=[`aria-label`],nn={class:`info`},rn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},an={key:1,class:`prompt mt-2`},on={key:0},sn={key:0,class:n({content:!0,failed:!0})},cn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ln={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gn={key:1,class:n({content:!0})},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Sn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:2,class:n({content:!0})},wn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},En={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function On(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`image-wrapper`),w=l(`el-button`),T=l(`api-code-button`),E=l(`report-button`),D=l(`application-icon`),O=l(`image-icon`),k=l(`lightning-icon`),A=l(`magic-icon`),j=l(`copy-to-clipboard`),M=l(`time-icon`),N=l(`channel-icon`),P=l(`el-alert`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Xt,[e(`div`,Zt,[a(y,{capability:`openaiimage`,part:`avatar`,class:`avatar`})]),e(`div`,Qt,[e(`div`,$t,[a(y,{capability:`openaiimage`,part:`name`}),e(`span`,en,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,tn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,nn,[n.referenceImages.length>0?(h(),s(`div`,rn,[(h(!0),s(c,null,m(n.referenceImages,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,an,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,on,` - (`+i(n.$t(`openaiimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,sn,[e(`div`,cn,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(C,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),e(`div`,ln,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url||n.images?.[0]?.url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:n.openaiimagePath,body:n.openaiimageCodeBody},null,8,[`path`,`body`]),a(E,{service:`openaiimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(P,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,un,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,dn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,fn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,pn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,mn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,hn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,gn,[a(P,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,_n,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,vn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,yn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,bn,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(j,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,xn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Cn,[a(P,{closable:!1,class:`info`},{template:p(()=>[n.modelValue?.response?(h(),f(I,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(n.$t(n.modelValue?.response?`openaiimage.name.status`:`openaiimage.status.pending`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,wn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,Tn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,Dn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var kn=_({name:`RecentPanel`,components:{TaskPreview:U(Yt,[[`render`,On],[`__scopeId`,`data-v-6519c932`]]),BotPlaceholder:Ue,NoTasks:P,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),An={key:0},jn={key:2,class:`w-full h-full flex items-center justify-center`};function Mn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,An,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,jn,[a(v)])):o(``,!0)],64)}var Nn=_({name:`OpenAIImageIndex`,components:{ConfigPanel:Jt,Layout:$e,RecentPanel:U(kn,[[`render`,Mn]]),ShowcaseResultTabs:Ge},mixins:[Ne,Ke(`openaiimage`),We(`openaiimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===w.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks},walletMode(){return K()&&W(`openaiimage`).mode===`wallet`}},watch:{config:{handler(e){G(`openaiimage`,!(Array.isArray(e?.image_urls)&&e.image_urls.length>0))},deep:!0,immediate:!0},walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`openaiimage/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await 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(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/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(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(!je(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;G(`openaiimage`,!t);let n=W(`openaiimage`).mode;if(!this.hasText(e.prompt)){T.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let r=Z(e),i={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,quality:e?.quality,image_urls:e?.image_urls||[],async:!0},a;if(n===`wallet`){let e=this.getWalletContext();if(!e){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}a=Y.generate(r,{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Pe())return;let e=this.credential?.token;if(!e){console.error(`no token specified`);return}a=t?Y.edit(i,{token:e}):Y.generate(r,{token:e})}T.info(this.$t(`openaiimage.message.startingTask`)),we(`openaiimage`,a).then(e=>{let t=e?.data?.task_id;console.debug(`task accepted`,t),n===`wallet`&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{if(e instanceof Me)return;let t=e?.response?.data;Ee(e,`openaiimage`)||(n===`wallet`?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return Ae(this.$wallet)},async confirmWalletPayment(e){return q.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?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Pn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:p(()=>[a(u,{service:`openai`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Fn=U(Nn,[[`render`,Pn]]);export{Fn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{n as v,r as y,t as b}from"./select-D2uv1cbt.js";import{t as x}from"./upload-C_YrWWV5.js";import{t as S}from"./tooltip-b_dQsMp2.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-DGI43qxx.js";import{t as E}from"./drawer-DiMGL-ON.js";import{t as D}from"./input-number-Djsi0Vju.js";import{t as O}from"./switch-cui34BG0.js";import{t as k}from"./box-CUMQZuBm.js";import{t as A}from"./clock-CIt1oE3U.js";import{a as j,i as M,n as N,r as P,s as F,t as I}from"./pagination-Cjli_PVC.js";import{t as ee}from"./image-CtUMzDVv.js";import{t as te}from"./info-DTb1_1Yi.js";import{t as ne}from"./trash-2-DE5mDXQJ.js";import{t as re}from"./triangle-alert-k9eV3S4u.js";import{t as ie}from"./upload-DcGdzIA8.js";import{t as L}from"./wand-sparkles-BEDgmNQE.js";import{t as ae}from"./zap-BmQzpLlI.js";import{$n as oe,Gn as se,Hn as ce,Jn as le,Kn as R,Qn as ue,Un as de,Vn as fe,Wn as pe,Xn as me,Zn as z,ar as he,cr as ge,dr as B,er as _e,fr as V,ir as ve,lr as ye,nr as be,or as H,rr as xe,tr as Se,ur as Ce}from"./constants-CiMGQy1r.js";import{A as U,Ba as we,Cn as Te,O as Ee,Ui as W,Vi as G,Wa as K,at as De,ca as Oe,ct as ke,ea as Ae,et as je,io as q,ir as J,it as Me,ot as Ne,pi as Pe,st as Fe,ui as Ie,zi as Y}from"./index-4v6EkWvr.js";import{t as Le}from"./CopyToClipboard-DAyi_3OQ.js";import{t as Re}from"./ReportButton-DalKc7i7.js";import{t as X}from"./ImagePreview-B9s8J01K.js";import{n as ze}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Be}from"./ServicePricingSummary-D39Eh-NT.js";import{t as Ve}from"./ScenarioPaymentMode-4_9JDWFN.js";import{t as He}from"./ApiCodeButton-CPGhOLiu.js";import{t as Ue}from"./BotPlaceholder-rtyV1S5S.js";import{t as We}from"./taskPollingMixin-CcLxtz8z.js";import{t as Ge}from"./ShowcaseResultTabs-DJVmexf9.js";import{t as Ke}from"./showcaseRecreateMixin-apGTM24e.js";import{t as qe}from"./ImageWrapper-BjkTskuv.js";import{n as Z}from"./imageRequests-JgZOB_cZ.js";var Je=_({name:`LayoutNanobanana`,components:{MagicIcon:L,ElDrawer:E,ElButton:q},mixins:[ze]}),Ye={class:`main flex flex-row flex-1`},Xe={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)]`},Ze={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Qe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ye,[e(`div`,Xe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ze,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var $e=U(Je,[[`render`,Qe],[`__scopeId`,`data-v-92afefbe`]]),et=_({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function tt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var nt=U(et,[[`render`,tt]]),rt=_({name:`ImageUrlsInput`,components:{UploadIcon:ie,ElUpload:x,ElButton:q,InfoIcon:j,ImagePreview:X},mixins:[ke,Fe,De,je],data(){return{fileList:[],uploadUrl:we()+`/api/v1/files/`,suppressWatch:!1}},computed:{maxImages(){return 16},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.openaiimage?.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(){T.warning(this.$t(`openaiimage.message.uploadImageExceed`,{count:16}))},onError(){T.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.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()}}}),it={class:`field flex min-h-8 w-full items-center justify-between gap-3`},at={class:`flex min-w-0 items-center`},ot={class:`title m-0 text-[14px] font-bold`},st={class:`file-list flex flex-wrap gap-[10px]`};function ct(t,n,o,u,d,g){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return h(),s(`div`,null,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`openaiimage.name.imageUrls`)),1),a(_,{content:t.$t(`openaiimage.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:t.maxImages,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,st,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(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 lt=U(rt,[[`render`,ct]]),ut=_({name:`OpenAIImageModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:j},data(){return{options:[{value:z,label:this.$t(`openaiimage.model.gptImage1`)},{value:ue,label:this.$t(`openaiimage.model.gptImage15`)},{value:oe,label:this.$t(`openaiimage.model.gptImage2`)},{value:_e,label:this.$t(`openaiimage.model.gptImage25Flare`)},{value:Se,label:this.$t(`openaiimage.model.gptImage25FlareOfficial`)},{value:be,label:this.$t(`openaiimage.model.gptImage25Sunburst`)},{value:xe,label:this.$t(`openaiimage.model.gptImage25SunburstOfficial`)},{value:ve,label:this.$t(`openaiimage.model.gptImage2Official`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=se}}),dt={class:`field`},ft={class:`label`},pt={class:`box`},mt={class:`title font-bold`};function ht(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,dt,[e(`div`,ft,[e(`div`,pt,[e(`h2`,mt,i(t.$t(`openaiimage.name.model`)),1),a(g,{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(`openaiimage.placeholder.select`),title:t.value},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`title`])])}var gt=U(ut,[[`render`,ht],[`__scopeId`,`data-v-03b728f3`]]);function Q(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var _t=_({name:`OpenAIImageSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,ElSwitch:O,ElInputNumber:D,InfoIcon:j},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},autoSizeValue(){return B},customSupported(){return pe.includes(this.model)},presets(){return H[this.model]??H[`gpt-image-2`]??[]},presetGroups(){return le.includes(this.model)?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:ge},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:ye},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:Ce}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize(B)}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.autoSizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return fe},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t<655360?this.$t(`openaiimage.error.customSizeMinPixels`,{pixels:de.toLocaleString()}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:ce.toLocaleString()}):Math.max(e,t)/Math.min(e,t)>3?this.$t(`openaiimage.error.customSizeAspectRatio`,{ratio:3}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||e===`auto`||this.presets.includes(e))return;let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize(B)}},storedSize(e){if(!e||e===`auto`){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=Q(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),vt={class:`resolution`},yt={class:`field`},bt={class:`label`},xt={class:`box`},St={class:`title font-bold`},Ct={class:`field custom-toggle`},wt={class:`label`},Tt={class:`box`},Et={class:`title font-bold`},Dt={key:0,class:`custom-inputs`},Ot={class:`row`},kt={class:`row-label`},At={class:`row`},jt={class:`row-label`},Mt={key:0,class:`error`};function Nt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`),x=l(`el-switch`),S=l(`el-input-number`);return h(),s(`div`,vt,[e(`div`,yt,[e(`div`,bt,[e(`div`,xt,[e(`h2`,St,i(t.$t(`openaiimage.name.size`)),1),a(_,{content:t.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.presetValue,"onUpdate:modelValue":n[0]||=e=>t.presetValue=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),disabled:t.useCustom},{default:p(()=>[a(v,{label:t.$t(`openaiimage.size.auto`),value:t.autoSizeValue},null,8,[`label`,`value`]),(h(!0),s(c,null,m(t.presetGroups,e=>(h(),f(y,{key:e.label,label:e.label},{default:p(()=>[(h(!0),s(c,null,m(e.options,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),t.customSupported?(h(),s(c,{key:0},[e(`div`,Ct,[e(`div`,wt,[e(`div`,Tt,[e(`h2`,Et,i(t.$t(`openaiimage.name.customSize`)),1),a(_,{content:t.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),a(x,{modelValue:t.useCustom,"onUpdate:modelValue":n[1]||=e=>t.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),t.useCustom?(h(),s(`div`,Dt,[e(`div`,Ot,[e(`span`,kt,i(t.$t(`openaiimage.name.width`)),1),a(S,{modelValue:t.customWidth,"onUpdate:modelValue":n[2]||=e=>t.customWidth=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),e(`div`,At,[e(`span`,jt,i(t.$t(`openaiimage.name.height`)),1),a(S,{modelValue:t.customHeight,"onUpdate:modelValue":n[3]||=e=>t.customHeight=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),t.customError?(h(),s(`div`,Mt,i(t.customError),1)):o(``,!0)])):o(``,!0)],64)):o(``,!0)])}var Pt=U(_t,[[`render`,Nt],[`__scopeId`,`data-v-c3247527`]]),Ft=_({name:`OpenAIImageQualitySelector`,components:{ElOption:b,ElSelect:y,InfoIcon:j},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedQuality(){return this.$store.state.openaiimage?.config?.quality},qualities(){return he[this.model]??[`auto`]},quality:{get(){return this.storedQuality&&this.qualities.includes(this.storedQuality)?this.storedQuality:R},set(e){this.commitQuality(e)}}},watch:{model(){this.storedQuality&&this.qualities.includes(this.storedQuality)||this.commitQuality(R)}},methods:{commitQuality(e){let t={...this.$store.state.openaiimage?.config||{},quality:e};this.$store.commit(`openaiimage/setConfig`,t)}}}),It={class:`field`},Lt={class:`label`},Rt={class:`box`},zt={class:`title font-bold`};function Bt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,It,[e(`div`,Lt,[e(`div`,Rt,[e(`h2`,zt,i(t.$t(`openaiimage.name.quality`)),1),a(g,{content:t.$t(`openaiimage.description.quality`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.quality,"onUpdate:modelValue":n[0]||=e=>t.quality=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.qualities,e=>(h(),f(_,{key:e,label:t.$t(`openaiimage.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Vt=U(Ft,[[`render`,Bt],[`__scopeId`,`data-v-052cc590`]]),Ht=350,Ut=_({name:`ConfigPanel`,components:{MagicIcon:L,ElButton:q,PromptInput:nt,ServicePricingSummary:Be,ImageUrlsInput:lt,ModelSelector:gt,ResolutionSelector:Pt,QualitySelector:Vt,ScenarioPaymentMode:Ve},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{OPENAIIMAGE_MODELS:me,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return Te({...this.config||{}},this.service?.cost)},displayConsumption(){return V(this.config?.model)?void 0:this.consumption},service(){return this.$store.state.openaiimage?.service},pricingNote(){return V(this.config?.model)?this.$t(`service.message.imageTokenEstimate`):``},walletMode(){return Y()&&G(`openaiimage`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.cancelQuote()},immediate:!0},config:{handler(){this.walletMode?this.scheduleQuote():this.cancelQuote()},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,Ht)},cancelQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},async refreshQuote(){let e=G(`openaiimage`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Z(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`)}}}),Wt={class:`flex flex-col h-full`},Gt={class:`flex-1 overflow-y-auto p-5`},Kt={class:`flex flex-col items-center justify-center px-5 pb-5`};function qt(t,n,c,u,d,m){let g=l(`model-selector`),_=l(`resolution-selector`),v=l(`quality-selector`),y=l(`prompt-input`),b=l(`image-urls-input`),x=l(`scenario-payment-mode`),S=l(`service-pricing-summary`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Wt,[e(`div`,Gt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,Kt,[a(x,{scenario:`openaiimage`}),t.walletMode?o(``,!0):(h(),f(S,{key:0,value:t.displayConsumption,service:t.service,note:t.pricingNote,"pricing-models":t.OPENAIIMAGE_MODELS,"pricing-model-default":`dall-e-3`,"pricing-unit-aliases":{n:`image`}},null,8,[`value`,`service`,`note`,`pricing-models`])),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Jt=U(Ut,[[`render`,qt]]),Yt=_({name:`TaskPreview`,components:{ApplicationIcon:k,ChannelIcon:F,DeleteIcon:ne,ImageIcon:ee,InfoIcon:te,LightningIcon:ae,MagicIcon:L,TimeIcon:A,WarningIcon:re,CopyToClipboard:Le,ElAlert:C,ImageWrapper:qe,ElButton:q,ElTooltip:S,ImagePreview:X,ApiCodeButton:He,ReportButton:Re},props:{modelValue:{type:Object,required:!0}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await K.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(`openaiimage/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),Xt={class:`preview`},Zt={class:`left`},Qt={class:`main`},$t={class:`bot`},en={class:`datetime`},tn=[`aria-label`],nn={class:`info`},rn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},an={key:1,class:`prompt mt-2`},on={key:0},sn={key:0,class:n({content:!0,failed:!0})},cn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ln={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gn={key:1,class:n({content:!0})},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Sn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:2,class:n({content:!0})},wn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},En={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function On(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`image-wrapper`),w=l(`el-button`),T=l(`api-code-button`),E=l(`report-button`),D=l(`application-icon`),O=l(`image-icon`),k=l(`lightning-icon`),A=l(`magic-icon`),j=l(`copy-to-clipboard`),M=l(`time-icon`),N=l(`channel-icon`),P=l(`el-alert`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Xt,[e(`div`,Zt,[a(y,{capability:`openaiimage`,part:`avatar`,class:`avatar`})]),e(`div`,Qt,[e(`div`,$t,[a(y,{capability:`openaiimage`,part:`name`}),e(`span`,en,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,tn)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,nn,[n.referenceImages.length>0?(h(),s(`div`,rn,[(h(!0),s(c,null,m(n.referenceImages,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,an,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,on,` - (`+i(n.$t(`openaiimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,sn,[e(`div`,cn,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(C,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),e(`div`,ln,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url||n.images?.[0]?.url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:n.openaiimagePath,body:n.openaiimageCodeBody},null,8,[`path`,`body`]),a(E,{service:`openaiimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(P,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,un,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,dn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,fn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,pn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,mn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,hn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,gn,[a(P,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,_n,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,vn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,yn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,bn,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(j,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,xn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Cn,[a(P,{closable:!1,class:`info`},{template:p(()=>[n.modelValue?.response?(h(),f(I,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(n.$t(n.modelValue?.response?`openaiimage.name.status`:`openaiimage.status.pending`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,wn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,Tn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,Dn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var kn=_({name:`RecentPanel`,components:{TaskPreview:U(Yt,[[`render`,On],[`__scopeId`,`data-v-6519c932`]]),BotPlaceholder:Ue,NoTasks:P,ScrollList:N},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),An={key:0},jn={key:2,class:`w-full h-full flex items-center justify-center`};function Mn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,An,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,jn,[a(v)])):o(``,!0)],64)}var Nn=_({name:`OpenAIImageIndex`,components:{ConfigPanel:Jt,Layout:$e,RecentPanel:U(kn,[[`render`,Mn]]),ShowcaseResultTabs:Ge},mixins:[Ne,Ke(`openaiimage`),We(`openaiimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===w.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks},walletMode(){return Y()&&G(`openaiimage`).mode===`wallet`}},watch:{config:{handler(e){W(`openaiimage`,!(Array.isArray(e?.image_urls)&&e.image_urls.length>0))},deep:!0,immediate:!0},walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`openaiimage/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await 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(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/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(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(!Me(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;W(`openaiimage`,!t);let n=G(`openaiimage`).mode;if(!this.hasText(e.prompt)){T.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let r=Z(e),i={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,quality:e?.quality,image_urls:e?.image_urls||[],async:!0},a;if(n===`wallet`){let e=this.getWalletContext();if(!e){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}a=J.generate(r,{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Oe())return;let e=this.credential?.token;if(!e){console.error(`no token specified`);return}a=t?J.edit(i,{token:e}):J.generate(r,{token:e})}T.info(this.$t(`openaiimage.message.startingTask`)),Ae(`openaiimage`,a).then(e=>{let t=e?.data?.task_id;console.debug(`task accepted`,t),n===`wallet`&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{if(e instanceof Ie)return;let t=e?.response?.data;Ee(e,`openaiimage`)||(n===`wallet`?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return Pe(this.$wallet)},async confirmWalletPayment(e){return K.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?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Pn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:p(()=>[a(u,{service:`openai`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Fn=U(Nn,[[`render`,Pn]]);export{Fn 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,R as c,T as l,at as u,ht as d,it as f,j as p,mt 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-D40oc0JC.js";import{t as x}from"./upload-BQReuQo6.js";import{t as S}from"./tooltip-C2adgmEg.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-CnGmh81q.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{t as O}from"./drawer-BYa8Wvud.js";import{t as k}from"./switch-DwiW6Cd5.js";import{t as A}from"./clock-BPhOS51z.js";import{a as j,i as M,n as ee,r as N,s as P,t as F}from"./pagination-CdVc2XkW.js";import{t as I}from"./info-Dv_slngC.js";import{t as L}from"./trash-2-BUeymqYc.js";import{t as R}from"./triangle-alert-1pgA60EW.js";import{t as te}from"./upload-C4fnKADN.js";import{t as z}from"./wand-sparkles-DBlftzv9.js";import{Pi as ne}from"./constants-vOsDYlNv.js";import{t as B}from"./preload-helper-zJ_50EbN.js";import{$i as V,A as H,Bi as U,Cn as W,Hr as G,O as K,Ri as q,Ua as J,Ur as Y,Yi as X,at as Z,ct as re,et as ie,fi as ae,it as oe,li as se,ot as ce,ro as Q,sa as le,st as ue,za as de}from"./index-C8rVkCux.js";import{t as fe}from"./CopyToClipboard-B1RI0m2t.js";import{t as pe}from"./ReportButton-Dwm0MCb7.js";import{t as me}from"./ImagePreview-CdSDNsoM.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-DL1EqlEI.js";/* empty css */import{t as _e}from"./ScenarioPaymentMode-1v1jrhzX.js";import{t as ve}from"./ApiCodeButton-CXbTGKM1.js";import{t as ye}from"./BotPlaceholder-YKbFH6WW.js";import{t as be}from"./taskPollingMixin-CcLxtz8z.js";import{n as xe,t as Se}from"./generationInput-BUdXOxBA.js";var Ce=v({name:`LayoutPika`,components:{MagicIcon:z,ElDrawer:O,ElButton:Q},mixins:[he]}),we={class:`main flex flex-row flex-1`},Te={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)]`},Ee={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function De(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,we,[e(`div`,Te,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ee,[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`]),[[_,!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:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Oe=H(Ce,[[`render`,De],[`__scopeId`,`data-v-85e060ce`]]),ke=v({name:`IngredientsSelector`,components:{ElSwitch:k,InfoIcon:j},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){if(!e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0});return}this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`field`},je={class:`label`},Me={class:`title font-bold`};function Ne(t,n,r,o,c,l){let d=u(`info-icon`),f=u(`el-switch`);return g(),s(`div`,Ae,[e(`div`,je,[e(`h2`,Me,i(t.$t(`pika.name.ingredients`)),1),a(d,{content:t.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])]),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])}var Pe=H(ke,[[`render`,Ne],[`__scopeId`,`data-v-606e1d1a`]]),Fe=v({name:`EffectSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),Ie={class:`field`},Le={class:`title font-bold`},Re={class:`float-left`};function ze(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,Ie,[e(`h2`,Le,i(t.$t(`pika.name.effect`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`),clearable:``},{default:m(()=>[(g(!0),s(l,null,h(t.options,t=>(g(),p(f,{key:t.value,label:t.label,value:t.value},{default:m(()=>[e(`span`,Re,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Be=H(Fe,[[`render`,ze],[`__scopeId`,`data-v-d1c54475`]]),Ve=v({name:`IngredientsModelSelector`,components:{ElRadioButton:E,ElRadioGroup:D},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=ne}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,o,c,d,f){let _=u(`el-radio-button`),v=u(`el-radio-group`);return g(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`quality`},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(_,{key:e.value,label:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var Ge=H(Ve,[[`render`,We],[`__scopeId`,`data-v-b72865fa`]]),Ke=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`pika.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`)},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=H(Ke,[[`render`,Ye],[`__scopeId`,`data-v-7b2e870a`]]),Ze=v({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:x,ElButton:Q,InfoIcon:j,ImagePreview:me},mixins:[re,ue,Z,ie],data(){return{fileList:[],uploadUrl:de()+`/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.pika?.config?.image_url}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;let t=this.fileList.filter(e=>!e.response?.file_url),n=(e||[]).map(e=>this.fileList.find(t=>t.response?.file_url===e||t.url===e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}});this.fileList=[...n,...t.filter(e=>!n.includes(e))]}}},methods:{onChange(e){!e.url&&e.raw&&(e.url=URL.createObjectURL(e.raw))},onExceed(){T.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){T.error(this.$t(`pika.message.uploadStartImageError`))},onRemove(){this.onSetStartImageUrl()},onSetStartImageUrl(){this.suppressWatch=!0,this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls}),this.$nextTick(()=>{this.suppressWatch=!1})},onSuccess(){this.onSetStartImageUrl()},onRemovePreview(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),e.url?.startsWith(`blob:`)&&URL.revokeObjectURL(e.url),this.onSetStartImageUrl()}}}),Qe={class:`field`},$e={class:`label`},et={class:`title font-bold`},tt={key:0,class:`file-list mt-2 flex flex-wrap gap-[10px]`};function nt(t,n,c,d,f,_){let v=u(`info-icon`),y=u(`upload-icon`),b=u(`el-button`),x=u(`el-upload`),S=u(`image-preview`);return g(),s(`div`,null,[e(`div`,Qe,[e(`div`,$e,[e(`h2`,et,i(t.$t(`pika.name.imageUrl`)),1),a(v,{content:t.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:3,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-change":t.onChange,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{default:m(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-change`,`on-remove`,`on-success`,`headers`])]),t.fileList.length?(g(),s(`div`,tt,[(g(!0),s(l,null,h(t.fileList,(e,n)=>(g(),p(S,{key:e.uid||e.url||n,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemovePreview(e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])):o(``,!0)])}var rt=H(Ze,[[`render`,nt],[`__scopeId`,`data-v-637337bb`]]),it=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=u(`prompt-textarea`);return g(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`PresetPanel`,components:{MagicIcon:z,ImageUrlInput:rt,ElButton:Q,ServicePricingSummary:ge,PromptInput:H(it,[[`render`,at]]),IngredientsSelector:Pe,IngredientsModelSelector:Ge,ModelSelector:Xe,EffectSelector:Be,ScenarioPaymentMode:_e},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Se(`pika`,G(this.config))},config(){return this.$store.state.pika?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service},walletMode(){return q()&&U(`pika`).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.quoteRunId+=1;let e=U(`pika`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=U(`pika`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(G(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,l,d,f){let h=u(`prompt-input`),_=u(`model-selector`),v=u(`ingredients-selector`),y=u(`effect-selector`),b=u(`image-url-input`),x=u(`ingredients-model-selector`),S=u(`scenario-payment-mode`),C=u(`service-pricing-summary`),w=u(`magic-icon`),T=u(`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`}),t.config?.ingredients?(g(),p(b,{key:0,class:`mb-4`})):o(``,!0),t.config?.ingredients?(g(),p(x,{key:1,class:`mb-4`})):o(``,!0)]),e(`div`,lt,[a(S,{scenario:`pika`}),t.walletMode?o(``,!0):(g(),p(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var dt=H(ot,[[`render`,ut]]),ft=v({name:`VideoPlayer`,components:{VuePlyr:c(()=>B(()=>import(`./index.esm-B6OqqThm.js`),[]))},props:{modelValue:{type:Object,required:!0}},data(){return{clientReady:!1,options:{quality:{default:1080,options:[1080]}}}},mounted(){this.clientReady=!0}}),pt=[`data-poster`],mt=[`src`];function ht(t,n,r,i,a,c){let l=u(`vue-plyr`);return g(),s(`div`,null,[t.clientReady?(g(),p(l,{key:0,options:t.options,class:`video`},{default:m(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":t.modelValue?.image_url},[e(`source`,{size:`1080`,src:t.modelValue?.video_url,type:`video/mp4`},null,8,mt)],8,pt)]),_:1},8,[`options`])):o(``,!0)])}var gt=v({name:`TaskPreview`,components:{DeleteIcon:L,ChannelIcon:P,InfoIcon:I,MagicIcon:z,TimeIcon:A,WarningIcon:R,CopyToClipboard:fe,ElAlert:C,VideoPlayer:H(ft,[[`render`,ht],[`__scopeId`,`data-v-3a68a4bd`]]),ElTooltip:S,ElButton:Q,ApiCodeButton:ve,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e.length===0&&e.push({}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await J.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(`pika/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},isFailure(e){let t=this.modelValue?.response;return t?.success===!1||!!t?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(e){return this.modelValue?.response?this.isFailure(e)||e?.video_url?!1:!e?.state||[`queued`,`pending`,`processing`,`running`].includes(e.state):!0},onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),_t={class:`left`},vt={class:`main`},yt={class:`bot`},bt={class:`datetime`},xt=[`aria-label`],St={class:`info`},Ct={key:0,class:`prompt mt-2`},wt={key:0},Tt={key:1},Et={key:0,class:n({content:!0,failed:!0})},Dt={class:`image-wrapper`},Ot={key:0,class:n({operations:!0,"mt-2":!0})},kt={key:0,class:`description`},At={class:`description`},jt={key:1,class:`description`},Mt={key:1,class:n({content:!0})},Nt={class:`description`},$={class:`description`},Pt={key:0,class:`description`},Ft={class:`description`},It={key:2,class:n({content:!0})},Lt={class:`description`};function Rt(n,c,d,f,_,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`VideoPlayer`),C=u(`el-button`),w=u(`api-code-button`),T=u(`report-button`),E=u(`channel-icon`),D=u(`magic-icon`),O=u(`copy-to-clipboard`),k=u(`time-icon`),A=u(`el-alert`),j=u(`warning-icon`),M=u(`info-icon`);return g(!0),s(l,null,h(n.videos,(l,u)=>(g(),s(`div`,{key:u,class:`preview`},[e(`div`,_t,[a(y,{capability:`pika`,part:`avatar`,class:`avatar`})]),e(`div`,vt,[e(`div`,yt,[a(y,{capability:`pika`,part:`name`}),e(`span`,bt,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?(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(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,St,[n.modelValue?.request?.prompt?(g(),s(`p`,Ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,wt,` - (`+i(n.$t(`pika.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting(l)?(g(),s(`span`,Tt,` - (`+i(n.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&l?.video_url?(g(),s(`div`,Et,[e(`div`,Dt,[a(S,{"model-value":l},null,8,[`model-value`])]),l?(g(),s(`div`,Ot,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:m(()=>[l?.video_url?(g(),p(C,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:e=>n.onDownload(l?.video_url)},{default:m(()=>[r(i(n.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(w,{path:`/pika/videos`,body:n.modelValue?.request},null,8,[`body`]),a(T,{service:`pika`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(A,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(g(),s(`p`,kt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),e(`p`,At,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,jt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure(l)?(g(),s(`div`,Mt,[a(A,{closable:!1,class:`failure`},{template:m(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failure`)),1)]),default:m(()=>[e(`p`,Nt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(O,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Pt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(O,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting(l)?(g(),s(`div`,It,[a(A,{closable:!1,class:`info`},{template:m(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`pika.status.processing`:`pika.status.pending`)),1)]),default:m(()=>[e(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var zt=v({name:`RecentPanel`,components:{TaskPreview:H(gt,[[`render`,Rt],[`__scopeId`,`data-v-4c95d941`]]),BotPlaceholder:ye,NoTasks:N,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Bt={key:0},Vt={key:2,class:`w-full h-full flex items-center justify-center`};function Ht(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),_=u(`scroll-list`),v=u(`no-tasks`);return g(),s(l,null,[e.tasks?.items===void 0?(g(),s(`div`,Bt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),p(_,{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(()=>[(g(!0),s(l,null,h(e.tasks?.items,(e,t)=>(g(),p(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Vt,[a(v)])):o(``,!0)],64)}var Ut=v({name:`PikaIndex`,components:{ConfigPanel:dt,Layout:Oe,RecentPanel:H(zt,[[`render`,Ht]])},mixins:[ce,be(`pika`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===w.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===w.Request},needApply(){return this.$store.state.pika.status.getApplications===w.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks},walletMode(){return q()&&U(`pika`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pika/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({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(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){X.create({application:this.application}).then(({data:e})=>{this.application=e,T.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&T.error(this.$t(`application.message.alreadyApplied`))})},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(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=G(this.config),t=xe(`pika`,e);if(t){T.error(this.$t(`common.message.${t}`));return}if(!oe(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!le())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}T.info(this.$t(`pika.message.startingTask`)),V(`pika`,n).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(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{e instanceof se||K(e,`pika`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pika.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return J.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 Wt(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return g(),p(l,null,{config:m(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Gt=H(Ut,[[`render`,Wt],[`__scopeId`,`data-v-50569acf`]]);export{Gt 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,R as c,T as l,at as u,ht as d,it as f,j as p,mt 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-D2uv1cbt.js";import{t as x}from"./upload-C_YrWWV5.js";import{t as S}from"./tooltip-b_dQsMp2.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-DGI43qxx.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{t as O}from"./drawer-DiMGL-ON.js";import{t as k}from"./switch-cui34BG0.js";import{t as A}from"./clock-CIt1oE3U.js";import{a as j,i as M,n as ee,r as N,s as P,t as F}from"./pagination-Cjli_PVC.js";import{t as I}from"./info-DTb1_1Yi.js";import{t as L}from"./trash-2-DE5mDXQJ.js";import{t as te}from"./triangle-alert-k9eV3S4u.js";import{t as ne}from"./upload-DcGdzIA8.js";import{t as R}from"./wand-sparkles-BEDgmNQE.js";import{Fi as re}from"./constants-CiMGQy1r.js";import{t as z}from"./preload-helper-zJ_50EbN.js";import{A as B,Ba as V,Cn as H,O as U,Ur as W,Vi as G,Wa as K,Wr as q,Xi as J,at as Y,ca as X,ct as ie,ea as ae,et as oe,io as Z,it as se,ot as ce,pi as le,st as ue,ui as de,zi as Q}from"./index-4v6EkWvr.js";import{t as fe}from"./CopyToClipboard-DAyi_3OQ.js";import{t as pe}from"./ReportButton-DalKc7i7.js";import{t as me}from"./ImagePreview-B9s8J01K.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-D39Eh-NT.js";/* empty css */import{t as _e}from"./ScenarioPaymentMode-4_9JDWFN.js";import{t as ve}from"./ApiCodeButton-CPGhOLiu.js";import{t as ye}from"./BotPlaceholder-rtyV1S5S.js";import{t as be}from"./taskPollingMixin-CcLxtz8z.js";import{n as xe,t as Se}from"./generationInput-D9-UKuN_.js";var Ce=v({name:`LayoutPika`,components:{MagicIcon:R,ElDrawer:O,ElButton:Z},mixins:[he]}),we={class:`main flex flex-row flex-1`},Te={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)]`},Ee={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function De(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,we,[e(`div`,Te,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ee,[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`]),[[_,!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:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Oe=B(Ce,[[`render`,De],[`__scopeId`,`data-v-85e060ce`]]),ke=v({name:`IngredientsSelector`,components:{ElSwitch:k,InfoIcon:j},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){if(!e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0});return}this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`field`},je={class:`label`},Me={class:`title font-bold`};function Ne(t,n,r,o,c,l){let d=u(`info-icon`),f=u(`el-switch`);return g(),s(`div`,Ae,[e(`div`,je,[e(`h2`,Me,i(t.$t(`pika.name.ingredients`)),1),a(d,{content:t.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])]),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])}var Pe=B(ke,[[`render`,Ne],[`__scopeId`,`data-v-606e1d1a`]]),Fe=v({name:`EffectSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),Ie={class:`field`},Le={class:`title font-bold`},Re={class:`float-left`};function ze(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,Ie,[e(`h2`,Le,i(t.$t(`pika.name.effect`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`),clearable:``},{default:m(()=>[(g(!0),s(l,null,h(t.options,t=>(g(),p(f,{key:t.value,label:t.label,value:t.value},{default:m(()=>[e(`span`,Re,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Be=B(Fe,[[`render`,ze],[`__scopeId`,`data-v-d1c54475`]]),Ve=v({name:`IngredientsModelSelector`,components:{ElRadioButton:E,ElRadioGroup:D},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=re}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,o,c,d,f){let _=u(`el-radio-button`),v=u(`el-radio-group`);return g(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`quality`},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(_,{key:e.value,label:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var Ge=B(Ve,[[`render`,We],[`__scopeId`,`data-v-b72865fa`]]),Ke=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`pika.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`)},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=B(Ke,[[`render`,Ye],[`__scopeId`,`data-v-7b2e870a`]]),Ze=v({name:`ImageUrlInput`,components:{UploadIcon:ne,ElUpload:x,ElButton:Z,InfoIcon:j,ImagePreview:me},mixins:[ie,ue,Y,oe],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.pika?.config?.image_url}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;let t=this.fileList.filter(e=>!e.response?.file_url),n=(e||[]).map(e=>this.fileList.find(t=>t.response?.file_url===e||t.url===e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}});this.fileList=[...n,...t.filter(e=>!n.includes(e))]}}},methods:{onChange(e){!e.url&&e.raw&&(e.url=URL.createObjectURL(e.raw))},onExceed(){T.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){T.error(this.$t(`pika.message.uploadStartImageError`))},onRemove(){this.onSetStartImageUrl()},onSetStartImageUrl(){this.suppressWatch=!0,this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls}),this.$nextTick(()=>{this.suppressWatch=!1})},onSuccess(){this.onSetStartImageUrl()},onRemovePreview(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),e.url?.startsWith(`blob:`)&&URL.revokeObjectURL(e.url),this.onSetStartImageUrl()}}}),Qe={class:`field`},$e={class:`label`},et={class:`title font-bold`},tt={key:0,class:`file-list mt-2 flex flex-wrap gap-[10px]`};function nt(t,n,c,d,f,_){let v=u(`info-icon`),y=u(`upload-icon`),b=u(`el-button`),x=u(`el-upload`),S=u(`image-preview`);return g(),s(`div`,null,[e(`div`,Qe,[e(`div`,$e,[e(`h2`,et,i(t.$t(`pika.name.imageUrl`)),1),a(v,{content:t.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:3,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-change":t.onChange,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{default:m(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-change`,`on-remove`,`on-success`,`headers`])]),t.fileList.length?(g(),s(`div`,tt,[(g(!0),s(l,null,h(t.fileList,(e,n)=>(g(),p(S,{key:e.uid||e.url||n,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemovePreview(e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])):o(``,!0)])}var rt=B(Ze,[[`render`,nt],[`__scopeId`,`data-v-637337bb`]]),it=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=u(`prompt-textarea`);return g(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`PresetPanel`,components:{MagicIcon:R,ImageUrlInput:rt,ElButton:Z,ServicePricingSummary:ge,PromptInput:B(it,[[`render`,at]]),IngredientsSelector:Pe,IngredientsModelSelector:Ge,ModelSelector:Xe,EffectSelector:Be,ScenarioPaymentMode:_e},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Se(`pika`,W(this.config))},config(){return this.$store.state.pika?.config},consumption(){return H(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service},walletMode(){return Q()&&G(`pika`).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.quoteRunId+=1;let e=G(`pika`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=G(`pika`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await q.quote(W(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,l,d,f){let h=u(`prompt-input`),_=u(`model-selector`),v=u(`ingredients-selector`),y=u(`effect-selector`),b=u(`image-url-input`),x=u(`ingredients-model-selector`),S=u(`scenario-payment-mode`),C=u(`service-pricing-summary`),w=u(`magic-icon`),T=u(`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`}),t.config?.ingredients?(g(),p(b,{key:0,class:`mb-4`})):o(``,!0),t.config?.ingredients?(g(),p(x,{key:1,class:`mb-4`})):o(``,!0)]),e(`div`,lt,[a(S,{scenario:`pika`}),t.walletMode?o(``,!0):(g(),p(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var dt=B(ot,[[`render`,ut]]),ft=v({name:`VideoPlayer`,components:{VuePlyr:c(()=>z(()=>import(`./index.esm-B6OqqThm.js`),[]))},props:{modelValue:{type:Object,required:!0}},data(){return{clientReady:!1,options:{quality:{default:1080,options:[1080]}}}},mounted(){this.clientReady=!0}}),pt=[`data-poster`],mt=[`src`];function ht(t,n,r,i,a,c){let l=u(`vue-plyr`);return g(),s(`div`,null,[t.clientReady?(g(),p(l,{key:0,options:t.options,class:`video`},{default:m(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":t.modelValue?.image_url},[e(`source`,{size:`1080`,src:t.modelValue?.video_url,type:`video/mp4`},null,8,mt)],8,pt)]),_:1},8,[`options`])):o(``,!0)])}var gt=v({name:`TaskPreview`,components:{DeleteIcon:L,ChannelIcon:P,InfoIcon:I,MagicIcon:R,TimeIcon:A,WarningIcon:te,CopyToClipboard:fe,ElAlert:C,VideoPlayer:B(ft,[[`render`,ht],[`__scopeId`,`data-v-3a68a4bd`]]),ElTooltip:S,ElButton:Z,ApiCodeButton:ve,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e.length===0&&e.push({}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await K.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(`pika/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},isFailure(e){let t=this.modelValue?.response;return t?.success===!1||!!t?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(e){return this.modelValue?.response?this.isFailure(e)||e?.video_url?!1:!e?.state||[`queued`,`pending`,`processing`,`running`].includes(e.state):!0},onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),_t={class:`left`},vt={class:`main`},yt={class:`bot`},bt={class:`datetime`},xt=[`aria-label`],St={class:`info`},Ct={key:0,class:`prompt mt-2`},wt={key:0},Tt={key:1},Et={key:0,class:n({content:!0,failed:!0})},Dt={class:`image-wrapper`},Ot={key:0,class:n({operations:!0,"mt-2":!0})},kt={key:0,class:`description`},At={class:`description`},jt={key:1,class:`description`},Mt={key:1,class:n({content:!0})},Nt={class:`description`},$={class:`description`},Pt={key:0,class:`description`},Ft={class:`description`},It={key:2,class:n({content:!0})},Lt={class:`description`};function Rt(n,c,d,f,_,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`VideoPlayer`),C=u(`el-button`),w=u(`api-code-button`),T=u(`report-button`),E=u(`channel-icon`),D=u(`magic-icon`),O=u(`copy-to-clipboard`),k=u(`time-icon`),A=u(`el-alert`),j=u(`warning-icon`),M=u(`info-icon`);return g(!0),s(l,null,h(n.videos,(l,u)=>(g(),s(`div`,{key:u,class:`preview`},[e(`div`,_t,[a(y,{capability:`pika`,part:`avatar`,class:`avatar`})]),e(`div`,vt,[e(`div`,yt,[a(y,{capability:`pika`,part:`name`}),e(`span`,bt,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?(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(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,St,[n.modelValue?.request?.prompt?(g(),s(`p`,Ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,wt,` - (`+i(n.$t(`pika.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting(l)?(g(),s(`span`,Tt,` - (`+i(n.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&l?.video_url?(g(),s(`div`,Et,[e(`div`,Dt,[a(S,{"model-value":l},null,8,[`model-value`])]),l?(g(),s(`div`,Ot,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:m(()=>[l?.video_url?(g(),p(C,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:e=>n.onDownload(l?.video_url)},{default:m(()=>[r(i(n.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(w,{path:`/pika/videos`,body:n.modelValue?.request},null,8,[`body`]),a(T,{service:`pika`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(A,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(g(),s(`p`,kt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),e(`p`,At,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,jt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure(l)?(g(),s(`div`,Mt,[a(A,{closable:!1,class:`failure`},{template:m(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failure`)),1)]),default:m(()=>[e(`p`,Nt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(O,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Pt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(O,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting(l)?(g(),s(`div`,It,[a(A,{closable:!1,class:`info`},{template:m(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`pika.status.processing`:`pika.status.pending`)),1)]),default:m(()=>[e(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var zt=v({name:`RecentPanel`,components:{TaskPreview:B(gt,[[`render`,Rt],[`__scopeId`,`data-v-4c95d941`]]),BotPlaceholder:ye,NoTasks:N,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Bt={key:0},Vt={key:2,class:`w-full h-full flex items-center justify-center`};function Ht(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),_=u(`scroll-list`),v=u(`no-tasks`);return g(),s(l,null,[e.tasks?.items===void 0?(g(),s(`div`,Bt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),p(_,{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(()=>[(g(!0),s(l,null,h(e.tasks?.items,(e,t)=>(g(),p(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Vt,[a(v)])):o(``,!0)],64)}var Ut=v({name:`PikaIndex`,components:{ConfigPanel:dt,Layout:Oe,RecentPanel:B(zt,[[`render`,Ht]])},mixins:[ce,be(`pika`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===w.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===w.Request},needApply(){return this.$store.state.pika.status.getApplications===w.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks},walletMode(){return Q()&&G(`pika`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pika/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await F({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(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){J.create({application:this.application}).then(({data:e})=>{this.application=e,T.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&T.error(this.$t(`application.message.alreadyApplied`))})},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(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=W(this.config),t=xe(`pika`,e);if(t){T.error(this.$t(`common.message.${t}`));return}if(!se(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=q.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!X())return;let t=this.credential?.token;if(!t)return;n=q.generate(e,{token:t})}T.info(this.$t(`pika.message.startingTask`)),ae(`pika`,n).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(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{e instanceof de||U(e,`pika`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pika.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return le(this.$wallet)},async confirmWalletPayment(e){return K.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 Wt(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return g(),p(l,null,{config:m(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Gt=B(Ut,[[`render`,Wt],[`__scopeId`,`data-v-50569acf`]]);export{Gt as default};
|