@acedatacloud/nexior 3.366.0 → 3.367.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/README.md +2 -2
- package/dist/assets/{ApiCodeButton-CNUTyuRJ.js → ApiCodeButton-DSQPf-rd.js} +1 -1
- package/dist/assets/{ApiCodeDialog-DqhfQ8Wk.js → ApiCodeDialog-CarTTHB_.js} +2 -2
- package/dist/assets/Artifacts-BMvcHXVs.js +1 -0
- package/dist/assets/{AskUserQuestionCard-CxMmNpAA.js → AskUserQuestionCard-B0u2Rz-1.js} +1 -1
- package/dist/assets/{AudioPreview-BI2G9JWa.js → AudioPreview-DmfAt7wO.js} +1 -1
- package/dist/assets/{Auth-Dmtc3Gao.js → Auth-Rkkg6tjH.js} +1 -1
- package/dist/assets/{Bare-DN6YFbSE.js → Bare-D9rOnV8h.js} +1 -1
- package/dist/assets/{BotPlaceholder-C4od7g46.js → BotPlaceholder-DgI03cxu.js} +1 -1
- package/dist/assets/{BottomFooter-I6o-dxHd.js → BottomFooter-CSQXKVg_.js} +1 -1
- package/dist/assets/BrowseConnectors-BXfXJZcI.js +1 -0
- package/dist/assets/{BrowseConnectors-Cb159Sew.css → BrowseConnectors-Cfhdu7FB.css} +1 -1
- package/dist/assets/{BrowserPairingDialog-CEX2HkdY.js → BrowserPairingDialog-D75W8gSB.js} +1 -1
- package/dist/assets/{Callback-Wglsu85l.js → Callback-BKJ_uXIi.js} +1 -1
- package/dist/assets/{CodeSnippet-CcVvsEZx.js → CodeSnippet-BzbTMmkI.js} +1 -1
- package/dist/assets/{Console-B0MM3w8Z.js → Console-BSPn7Ed4.js} +1 -1
- package/dist/assets/{Conversation-CFgeehQJ.js → Conversation-2UgcrVi7.js} +1 -1
- package/dist/assets/Conversation-Wsj8EWsI.js +1 -0
- package/dist/assets/{CopyToClipboard-D3g5OQYq.js → CopyToClipboard-BjRfLoil.js} +1 -1
- package/dist/assets/Detail-CLU2Iqv7.css +1 -0
- package/dist/assets/Detail-CqPhII5S.js +2 -0
- package/dist/assets/Extra-Cl4VjOA-.js +1 -0
- package/dist/assets/{FilePreview-DGrTwiZ0.js → FilePreview-CgYU_Gze.js} +1 -1
- package/dist/assets/{Hailuo-B49Dy9xD.js → Hailuo-BqqLVX5X.js} +1 -1
- package/dist/assets/{History-C2WISAvm.js → History-CFb1RSyZ.js} +1 -1
- package/dist/assets/{ImagePreview-qAVMs5-m.js → ImagePreview-aPBlpOJ8.js} +1 -1
- package/dist/assets/{ImageWrapper-B6SkXSYB.js → ImageWrapper-I47JMSBx.js} +1 -1
- package/dist/assets/Index--i0aNBir.js +1 -0
- package/dist/assets/{Index-69qwJrEl.js → Index-8A8LZrWo.js} +1 -1
- package/dist/assets/Index-B3Zcryy-.js +1 -0
- package/dist/assets/{Index-BUJb5dLt.js → Index-B6HXoYbP.js} +2 -2
- package/dist/assets/Index-BBFcJ8tJ.js +1 -0
- package/dist/assets/Index-BFz91EA5.js +1 -0
- package/dist/assets/Index-BG7HbL3j.js +1 -0
- package/dist/assets/Index-BMT0u1M7.js +1 -0
- package/dist/assets/Index-BR77fPGL.js +1 -0
- package/dist/assets/Index-BUXdJM_f.js +1 -0
- package/dist/assets/{Index-eMb7CxvS.css → Index-BYTs7y1w.css} +1 -1
- package/dist/assets/Index-B_xaN5BN.js +1 -0
- package/dist/assets/Index-BbsnUlpP.js +2 -0
- package/dist/assets/Index-Bd46EnzG.js +1 -0
- package/dist/assets/Index-Bg_nNsfd.js +1 -0
- package/dist/assets/Index-BxmOwxLr.js +1 -0
- package/dist/assets/Index-C69TDA-G.js +1 -0
- package/dist/assets/{Index-iiOS8zXF.css → Index-C7q1ELqN.css} +1 -1
- package/dist/assets/Index-CBpgcdZn.js +1 -0
- package/dist/assets/{Index-BCMADVdJ.css → Index-CDCElVuB.css} +1 -1
- package/dist/assets/Index-CFAibzOd.js +1 -0
- package/dist/assets/Index-COCRzis5.js +1 -0
- package/dist/assets/{Index-C8euoWNj.js → Index-CPvW_l5F.js} +1 -1
- package/dist/assets/Index-CSRFPIJ3.js +1 -0
- package/dist/assets/{Index-BYaDAelT.js → Index-CT5l7dqr.js} +1 -1
- package/dist/assets/Index-CUNBzOqM2.js +1 -0
- package/dist/assets/{Index-Dj5-BET9.css → Index-Cd0d6ngD.css} +1 -1
- package/dist/assets/{Index-Ctj7rhP5.js → Index-CmafWY2T.js} +1 -1
- package/dist/assets/Index-CsZhfQzd.css +1 -0
- package/dist/assets/Index-CuI7uI90.css +1 -0
- package/dist/assets/{Index-DyBq2bdN.css → Index-Cws8g6NB.css} +1 -1
- package/dist/assets/Index-DA3XJA7r.js +1 -0
- package/dist/assets/Index-DAyToqf0.css +1 -0
- package/dist/assets/Index-DD6byEUX.js +1 -0
- package/dist/assets/Index-DIi-KPeu.js +1 -0
- package/dist/assets/Index-DS9mCbrS2.js +1 -0
- package/dist/assets/Index-D_z7QMg4.js +1 -0
- package/dist/assets/Index-DjjADOf8.js +1 -0
- package/dist/assets/{Index-DJ-gYby_.css → Index-DkTiSAUn.css} +1 -1
- package/dist/assets/{Index-C9aytpVX.js → Index-DlSbETQg.js} +1 -1
- package/dist/assets/Index-Dp_AOzq5.js +1 -0
- package/dist/assets/{Index-BwccICel.css → Index-DqIqDxJU.css} +1 -1
- package/dist/assets/{Index-D79lPrR6.css → Index-EuKOlbZt.css} +1 -1
- package/dist/assets/{Index-Ct8oVEgF.js → Index-HEYIxdph.js} +1 -1
- package/dist/assets/Index-HVebC0dH.js +1 -0
- package/dist/assets/{Index-ykVaEeXu.js → Index-WsrLMgao.js} +1 -1
- package/dist/assets/Index-YUNTV4YV.js +1 -0
- package/dist/assets/{Index-BDDfx64J.css → Index-gNdt1-V7.css} +1 -1
- package/dist/assets/{Index-BFagE2vJ.js → Index-hackKw8G.js} +1 -1
- package/dist/assets/{Invitees-CvHGuQti.js → Invitees-Bd-v9UUt.js} +1 -1
- package/dist/assets/List-B99wHj7M.js +1 -0
- package/dist/assets/List-CECt4BWz.js +1 -0
- package/dist/assets/{List-BcqnmARv.js → List-Gxddr2Li.js} +1 -1
- package/dist/assets/List-WpvMOl6Z.css +1 -0
- package/dist/assets/LocalTools--qg6e09h.js +5 -0
- package/dist/assets/{LocalTools-9Jtgbq-H.js → LocalTools-BTkk3deB.js} +1 -1
- package/dist/assets/{Logo-BguoQTCB.js → Logo-BMlG5k9X.js} +1 -1
- package/dist/assets/Main-CQp3KYgB.css +1 -0
- package/dist/assets/Main-UPvLYXkv.js +1 -0
- package/dist/assets/Message-DbrmWOhQ.js +3 -0
- package/dist/assets/{Message-av3bdLFk.css → Message-DrxHoTDI.css} +1 -1
- package/dist/assets/Model-DZCDVUFw.js +1 -0
- package/dist/assets/{Navigator-B4FrcUud.js → Navigator-BMfSDO30.js} +4 -4
- package/dist/assets/{NotFound-DhzA1jGZ.js → NotFound-CsDDXvvT.js} +1 -1
- package/dist/assets/{PageHeader-CVan17KZ.js → PageHeader-CUEPRYSs.js} +1 -1
- package/dist/assets/{Pay-C6yYHO6L.js → Pay-CBdcpSXC.js} +1 -1
- package/dist/assets/{Player-DNYFGvUI.js → Player-yl8rCDaI.js} +1 -1
- package/dist/assets/{Poivelle-CjIog7SR.js → Poivelle-CTzL5xFp.js} +1 -1
- package/dist/assets/RealtimeCall-DFuERiCo.js +1 -0
- package/dist/assets/{ReportButton-PnxhbyY3.js → ReportButton-lzZe3i6C.js} +1 -1
- package/dist/assets/{ReportDialog-SRZtNE4g.js → ReportDialog-DatqCVDN.js} +1 -1
- package/dist/assets/ScenarioPaymentMode-BR4cXZk8.js +1 -0
- package/dist/assets/ScenarioPaymentMode-Dg-FrrLn.css +1 -0
- package/dist/assets/{ScheduledTasks-ConsLl32.js → ScheduledTasks-B8-A6xej.js} +2 -2
- package/dist/assets/{ServicePricingSummary-BivE2980.js → ServicePricingSummary-DOii-08b.js} +1 -1
- package/dist/assets/{ShowcaseDetailDialog-CaAxybGk.js → ShowcaseDetailDialog-D0l0LmDI.js} +1 -1
- package/dist/assets/{ShowcaseGrid-mNAgSCCP.js → ShowcaseGrid-Bd1MzJhU.js} +1 -1
- package/dist/assets/{ShowcaseResultTabs-DBLSmleL.js → ShowcaseResultTabs-BJbS7Ydg.js} +1 -1
- package/dist/assets/{SolanaWalletPickerDialog-BA5B3njr.js → SolanaWalletPickerDialog-CIIveb0U.js} +1 -1
- package/dist/assets/Status-BYPXwlqa.js +1 -0
- package/dist/assets/{Status-DWfphJ5X.css → Status-kvJ35KBF.css} +1 -1
- package/dist/assets/{Subscribe-0ttI5TLw.js → Subscribe-ieFCCq5B.js} +1 -1
- package/dist/assets/{TabSwitcher-BV9qnkwD.js → TabSwitcher-FdkRL_PF.js} +1 -1
- package/dist/assets/Tts-KnFZe2II.js +1 -0
- package/dist/assets/{VideoPlayer-C5nuzpsQ.js → VideoPlayer-Dc-1lN9r.js} +1 -1
- package/dist/assets/{VideoPreview-GDesX4uO.js → VideoPreview-C-DxYr53.js} +1 -1
- package/dist/assets/arrow-down-DVetJlDj.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-Czt_I7KX.js → arrow-down-wide-narrow-CUy6_yvn.js} +1 -1
- package/dist/assets/arrow-left-Dpe06208.js +1 -0
- package/dist/assets/arrow-right-BAD1WJIm.js +1 -0
- package/dist/assets/arrow-up-BWsM-6Rb.js +1 -0
- package/dist/assets/authorizeFlow-WuJ_j6g6.js +1 -0
- package/dist/assets/{avatar-D370EMqc.js → avatar-B6BU5jfW.js} +1 -1
- package/dist/assets/{basic-7YSgFLqK.js → basic-iIHTX2Cc.js} +1 -1
- package/dist/assets/{book-open-vLxoN6PL.js → book-open-Bd5dosWo.js} +1 -1
- package/dist/assets/{box-BvxPOK2h.js → box-BDDWxmaE.js} +1 -1
- package/dist/assets/{boxes-mSI74P2u.js → boxes-DVD8efav.js} +1 -1
- package/dist/assets/{brain-CyoXLhfV.js → brain-CQkdwxx0.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-TTGX3bjw.js → chart-no-axes-combined-DSr3qKdO.js} +1 -1
- package/dist/assets/{chat-Dr_8i2OC.js → chat-CPskgH7m.js} +1 -1
- package/dist/assets/check-kOZuee-J.js +1 -0
- package/dist/assets/chevron-down-VeNjl9ue.js +1 -0
- package/dist/assets/chevron-right-WMKq-A1J.js +1 -0
- package/dist/assets/circle-check-DzG_qPcd.js +1 -0
- package/dist/assets/{circle-question-mark-CZR-PLIy.js → circle-question-mark-BzjFhHT6.js} +1 -1
- package/dist/assets/{clipboard-list-UBdkfTaV.js → clipboard-list-CFWkBd0U.js} +1 -1
- package/dist/assets/clock-BjY8ddGs.js +1 -0
- package/dist/assets/code--y3uq35b.js +1 -0
- package/dist/assets/{codingBridge-HGP2GJev.js → codingBridge-Cti9Z41M.js} +2 -2
- package/dist/assets/{codingBridgeNotify-DONT7Ns0.js → codingBridgeNotify-0qM-JZme.js} +1 -1
- package/dist/assets/{coins-Ci1h3mFn.js → coins-DKS8u6bE.js} +1 -1
- package/dist/assets/{collapse-VpE-JTHv.js → collapse-CHKYZNGx.js} +1 -1
- package/dist/assets/{connection-DtxQiPlP.js → connection-B9hGqjyx.js} +1 -1
- package/dist/assets/{connection-CdbyNh4b.js → connection-BFgYncYa.js} +1 -1
- package/dist/assets/{connection-DtdaxU6I.js → connection-BNq1ICE4.js} +1 -1
- package/dist/assets/{connection-DtIzcPg1.js → connection-B_IB7amI.js} +1 -1
- package/dist/assets/{connection-RPIJ0jCj.js → connection-BjS7a4Ru.js} +1 -1
- package/dist/assets/{connection-BSCj6XCP.js → connection-CUt6dA4m.js} +1 -1
- package/dist/assets/{connection-Cj9lxvih.js → connection-CrKDhQ8c.js} +1 -1
- package/dist/assets/{connection-olQvibhi.js → connection-D6EBupMl.js} +1 -1
- package/dist/assets/{connection-BuH6UR1M.js → connection-DXRYGR6J.js} +1 -1
- package/dist/assets/{connection-ClpKFNlf.js → connection-Dq4NLgFQ.js} +1 -1
- package/dist/assets/{connection-CG0twBAD.js → connection-R_-qUSn6.js} +1 -1
- package/dist/assets/{connection-COluiFKe.js → connection-p1SYs1ei.js} +1 -1
- package/dist/assets/constants-BMkG7xao.js +1 -0
- package/dist/assets/{copy-d-knGnBg.js → copy-T09uuF2s.js} +1 -1
- package/dist/assets/{createTaskActions-NiTfdh0V.js → createTaskActions-tyi8xeVb.js} +1 -1
- package/dist/assets/{date-picker-G36ASKiN.js → date-picker-sCntDcYS.js} +1 -1
- package/dist/assets/{digitalhuman-C7S7FsT3.js → digitalhuman-B8cH3ZHp.js} +1 -1
- package/dist/assets/dist-Bj1bzw6C.js +1 -0
- package/dist/assets/{dollar-sign-C3cUPmpu.js → dollar-sign-BSPpSThR.js} +1 -1
- package/dist/assets/{download-BhtFvN99.js → download-DlCYFQbn.js} +1 -1
- package/dist/assets/{drawer-CcmIHJGA.js → drawer-CFnWJn6T.js} +1 -1
- package/dist/assets/{dropdown-D4o4wWHg.js → dropdown-BHFXRwPa.js} +1 -1
- package/dist/assets/{dropdown-Bn9v2KTj.js → dropdown-BhzTy7zu.js} +1 -1
- package/dist/assets/{ellipsis-BmEAnlmx.js → ellipsis-BAaAr_qn.js} +1 -1
- package/dist/assets/{esm-p8Jo0tYw.js → esm-BAAqhnka.js} +3 -3
- package/dist/assets/esm-DKo-dyuZ.js +3 -0
- package/dist/assets/{esm-Dr_IIEG1.js → esm-DQRQajYi.js} +1 -1
- package/dist/assets/{esm-H1SE-ruA.js → esm-Di1-0oPN.js} +1 -1
- package/dist/assets/esm-j-yHGXQp.js +2 -0
- package/dist/assets/{external-link-a6gwnAXF.js → external-link-BM-fB2LS.js} +1 -1
- package/dist/assets/{eye-DAvdydrT.js → eye-DWc7Lk-E.js} +1 -1
- package/dist/assets/{file-idwjcrNO.js → file-CxQrLRgE.js} +1 -1
- package/dist/assets/{file-output-7KnhDC3g.js → file-output-C13ysB5-.js} +1 -1
- package/dist/assets/{file-text-X4uWOJCu.js → file-text-3AGVLFbF.js} +1 -1
- package/dist/assets/fish-D7zNnY4A.js +1 -0
- package/dist/assets/{flux-D_xASdM7.js → flux-CX4OQTCE.js} +1 -1
- package/dist/assets/{folder-D4arolGu.js → folder-KNLOPvTt.js} +1 -1
- package/dist/assets/gauge-D6urYB8_.js +1 -0
- package/dist/assets/{globe-BeA3PtwN.js → globe-WZMhuJHT.js} +1 -1
- package/dist/assets/{grokvideo-Cy0u_ALM.js → grokvideo-CMenvwSD.js} +1 -1
- package/dist/assets/{hailuo-BVGW2LPO.js → hailuo-BeVsMt5R.js} +1 -1
- package/dist/assets/{headphones-CN8-XPOG.js → headphones-sHfphTrn.js} +1 -1
- package/dist/assets/{history-CHzw4Zy3.js → history-D_Myt-nA.js} +1 -1
- package/dist/assets/{house-CHht5bK-.js → house-DRnLD4MO.js} +1 -1
- package/dist/assets/i18n-RWpUkJpq.js +3 -0
- package/dist/assets/{image-TUJ7noU4.js → image-hqX8JaNs.js} +1 -1
- package/dist/assets/{imageRequests-DM9FlETu.js → imageRequests-CG5CDSFW.js} +1 -1
- package/dist/assets/{index-DkbXw0t5.css → index-BQ6W3K7j.css} +1 -1
- package/dist/assets/index-Dk3occrO.js +571 -0
- package/dist/assets/{index.browser.esm-BbYKZd7a.js → index.browser.esm-CNb4vwx1.js} +1 -1
- package/dist/assets/{index.es-DmSo7tWP.js → index.es-DRLqaHR4.js} +1 -1
- package/dist/assets/{info-Dw45cuIu.js → info-DkDuo54u.js} +1 -1
- package/dist/assets/{input-number-BKBS2Owi.js → input-number-CfzTTv5K.js} +1 -1
- package/dist/assets/{key-round-AIoNm7eD.js → key-round-CuNsoopH.js} +1 -1
- package/dist/assets/{kling-DZUvBteL.js → kling-BHvMzLiF.js} +1 -1
- package/dist/assets/{languages-DXL9MEKc.js → languages-B2TQy1-7.js} +1 -1
- package/dist/assets/{laptop-CAjegCPJ.js → laptop-DZAGEAZO.js} +1 -1
- package/dist/assets/{lightbulb-B-K1XTkr.js → lightbulb-BKSF4NR0.js} +1 -1
- package/dist/assets/{link-Dsj5Bmxr.js → link-BragEr74.js} +1 -1
- package/dist/assets/loader-circle-Bu0zp-P2.js +1 -0
- package/dist/assets/{lock-CLuaJ3mF.js → lock-DIyqxPSZ.js} +1 -1
- package/dist/assets/{luma-FQpy7QMl.js → luma-D9VC5pWB.js} +1 -1
- package/dist/assets/maestro-RxK-Mwr9.js +1 -0
- package/dist/assets/{maestroLanguages-v8t3x-bv.js → maestroLanguages-DPGEWAgk.js} +1 -1
- package/dist/assets/{mail-BrzONGRQ.js → mail-D58ZehPK.js} +1 -1
- package/dist/assets/{message-circle-CWXpTu0H.js → message-circle-B40qeSDy.js} +1 -1
- package/dist/assets/{mic-nJa_ZcUr.js → mic-BgJfqRUY.js} +1 -1
- package/dist/assets/{midjourney-BF4w7CkS.js → midjourney-Cbzbgpgv.js} +1 -1
- package/dist/assets/{minimax-B9Qs7fCW.js → minimax-BW67Cje3.js} +1 -1
- package/dist/assets/{mobileLocalExec-Q-WIRU5p.js → mobileLocalExec-C9pxBKj8.js} +1 -1
- package/dist/assets/{models-MQfDh4XR.js → models-C3taPMyR.js} +1 -1
- package/dist/assets/{monitor-Bwxg4hNZ.js → monitor-Bgvp5s7T.js} +1 -1
- package/dist/assets/{mouse-pointer-2-D8cdXzLf.js → mouse-pointer-2-Wuf9-ULc.js} +1 -1
- package/dist/assets/music-2-BGpRcPcM.js +1 -0
- package/dist/assets/{nanobanana-CoXNCH5U.js → nanobanana-BMjvAToj.js} +1 -1
- package/dist/assets/{omni-DwRTi8pI.js → omni-BUQhL1oT.js} +1 -1
- package/dist/assets/{openaiimage-DT36Vssf.js → openaiimage-9i3bpEeJ.js} +1 -1
- package/dist/assets/order-BMw0vqKs.js +1 -0
- package/dist/assets/{order-h3I8xKAp.js → order-BxiEDv_s.js} +1 -1
- package/dist/assets/{order-BYOB423c.js → order-CeiGDh-t.js} +1 -1
- package/dist/assets/{order-CM_n6Zzc.js → order-DQco2h3u.js} +1 -1
- package/dist/assets/{order-CEpHgiz5.js → order-Dc2RcPmN.js} +1 -1
- package/dist/assets/order-DdXIw1oe.js +1 -0
- package/dist/assets/order-Dm574qCr.js +1 -0
- package/dist/assets/{order-Ds7CfW_B.js → order-QJ0kR-DH.js} +1 -1
- package/dist/assets/{order-00O2rG9J.js → order-jlWJNMw0.js} +1 -1
- package/dist/assets/order-jmMj866J.js +1 -0
- package/dist/assets/order-lC4usDH7.js +1 -0
- package/dist/assets/{order-DWTPt9af.js → order-paS0pn02.js} +1 -1
- package/dist/assets/{pagination-DwZ3YOUv.js → pagination-Ct9iwsuK.js} +1 -1
- package/dist/assets/{pagination-DSThTHa8.js → pagination-D1XTbo3C.js} +1 -1
- package/dist/assets/{pagination-Cm8YvnWD.js → pagination-gmdYMTMI.js} +1 -1
- package/dist/assets/{palette-DHGMVKUq.js → palette-CiJENYqI.js} +1 -1
- package/dist/assets/{paperclip-DEtsPc4z.js → paperclip-BWJHwPLL.js} +1 -1
- package/dist/assets/{pause-BPVIeCKa.js → pause-CmRmAKVh.js} +1 -1
- package/dist/assets/{pencil-DteavqpG.js → pencil-Cxgd7Cgq.js} +1 -1
- package/dist/assets/{pika-yiqZQcBo.js → pika-nmu1mw3X.js} +1 -1
- package/dist/assets/pixverse-BaSddYtD.js +1 -0
- package/dist/assets/play-BCylob57.js +1 -0
- package/dist/assets/{plug-CIjw2auh.js → plug-D1Lvl7_F.js} +1 -1
- package/dist/assets/plus-DPsH7Sjc.js +1 -0
- package/dist/assets/{poivelle-Dnuq1AsU.js → poivelle-4funLxpk.js} +1 -1
- package/dist/assets/{popover-BMCGA48W.js → popover-B5HLdb9L.js} +1 -1
- package/dist/assets/{producer-DSFqSihS.js → producer-bhSP3sEr.js} +1 -1
- package/dist/assets/{qrart-BNrRtoyT.js → qrart-c42_Dwe4.js} +1 -1
- package/dist/assets/qwenimage-BOS7fAsf.js +1 -0
- package/dist/assets/qwenimage-BdejTOJS.js +1 -0
- package/dist/assets/qwenimage-BlaJ9Q_y.js +1 -0
- package/dist/assets/qwenimage-Btz-ktB9.js +1 -0
- package/dist/assets/qwenimage-C-fMWC4b.js +1 -0
- package/dist/assets/qwenimage-CFTDxdpO.js +1 -0
- package/dist/assets/qwenimage-CPk2REbw.js +1 -0
- package/dist/assets/qwenimage-CjidaMtp.js +1 -0
- package/dist/assets/qwenimage-D0hUIE0S.js +1 -0
- package/dist/assets/qwenimage-DYkTOqsc.js +1 -0
- package/dist/assets/qwenimage-DlgtAYdZ.js +1 -0
- package/dist/assets/qwenimage-LmDgDLwr.js +1 -0
- package/dist/assets/qwenimage-h7esmkE3.js +1 -0
- package/dist/assets/{realtime-Otop6lWY.js → realtime-pMOJB8Ul.js} +1 -1
- package/dist/assets/{refresh-cw-CSmBCYsc.js → refresh-cw-BP0gRcJy.js} +1 -1
- package/dist/assets/rotate-ccw-DmwLKenN.js +1 -0
- package/dist/assets/rotate-cw-L7ugJX8l.js +1 -0
- package/dist/assets/{row-jqfod54_.js → row-CyqeQrGe.js} +1 -1
- package/dist/assets/search-Dw_OWNDF.js +1 -0
- package/dist/assets/{seedance-rrdRxmQD.js → seedance-C5FFFb-R.js} +1 -1
- package/dist/assets/{seedream-CcnOuucy.js → seedream-CYR9uKiK.js} +1 -1
- package/dist/assets/{select-Djse4FY0.js → select-CKdhNIc_.js} +1 -1
- package/dist/assets/{serp-C7dqNnnE.js → serp-DarHzCV5.js} +1 -1
- package/dist/assets/{shield-CDA87sCy.js → shield-B3ffEvWk.js} +1 -1
- package/dist/assets/{showcase-BxdRB1lg.js → showcase-H2jtF9SB.js} +1 -1
- package/dist/assets/{showcaseRecreateMixin-C-uOJ1M3.js → showcaseRecreateMixin-Ch3v2mGZ.js} +1 -1
- package/dist/assets/{shuffle-mOtJ2eE7.js → shuffle-DwCVTvEi.js} +1 -1
- package/dist/assets/{site-nibV6cjy.js → site-5ngUjhW9.js} +1 -1
- package/dist/assets/{site-DCf7Enw6.js → site-B3bL86p3.js} +1 -1
- package/dist/assets/{site-BYUzHPpo.js → site-BKvYgNNW.js} +1 -1
- package/dist/assets/{site-D87fuoTT.js → site-Bng21MlN.js} +1 -1
- package/dist/assets/{site-BZeywsXR.js → site-CFlLWzlt.js} +1 -1
- package/dist/assets/{site-CxX9lXEy.js → site-Ce2uxFuC.js} +1 -1
- package/dist/assets/{site-DedVOO4P.js → site-CgUYW8b5.js} +1 -1
- package/dist/assets/{site-C5NuQ8fa.js → site-DC_Ovn7R.js} +1 -1
- package/dist/assets/{site-6q59BHhr.js → site-DCkd-sL3.js} +1 -1
- package/dist/assets/{site-DKccZ4nd.js → site-DDQRNu-e.js} +1 -1
- package/dist/assets/{site-Bel6azUS.js → site-MgnCKWRb.js} +1 -1
- package/dist/assets/{site-DUY3CYwv.js → site-kUTm6bCt.js} +1 -1
- package/dist/assets/siteBanner-BBd--6Jm.js +1 -0
- package/dist/assets/{slider-DuS7ZACc.js → slider-C3aZc1TI.js} +1 -1
- package/dist/assets/{solana-Bn9cyhqr.js → solana-W8Xq1SnF.js} +2 -2
- package/dist/assets/{solana-wallets-CJXdb5BA.js → solana-wallets-C-5UtY_x.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CvwzSqOW.js → solana-wallets-vue-C76KtNoS.js} +3 -3
- package/dist/assets/{sora-DKQHmPft.js → sora-D6NTEG7K.js} +1 -1
- package/dist/assets/{sparkles-C7XQv5Oq.js → sparkles-I03586-Z.js} +1 -1
- package/dist/assets/square-DvlgB4Bz.js +1 -0
- package/dist/assets/{store-Bv0oX6Fc.js → store-D8RLTywh.js} +1 -1
- package/dist/assets/{suno-aE9UfcDU.js → suno-BP0sP2w2.js} +1 -1
- package/dist/assets/{switch-BaGnAgAK.js → switch-DPLDRwQn.js} +1 -1
- package/dist/assets/{table-NCWewyfH.js → table-ydKOS9Jn.js} +1 -1
- package/dist/assets/{tabs-BYpPENh6.js → tabs-qYktzPOY.js} +1 -1
- package/dist/assets/{tag-QrfH6KqU.js → tag-CdliFlu2.js} +1 -1
- package/dist/assets/terminal-BNMC9_69.js +1 -0
- package/dist/assets/{time-picker-6Rw_7sgp.js → time-picker-NJ0epYej.js} +1 -1
- package/dist/assets/{tooltip-DFb5f-ki.js → tooltip-siz_AHre.js} +1 -1
- package/dist/assets/{trash-2-DFMSCDg9.js → trash-2-BD_rYfpa.js} +1 -1
- package/dist/assets/{triangle-alert-D1ufgHM3.js → triangle-alert-DHBBLtTd.js} +1 -1
- package/dist/assets/{upload-BASUxaqc.js → upload-86r_qBlw.js} +1 -1
- package/dist/assets/{upload-CgEPSBDS.js → upload-B-5lkMRH.js} +1 -1
- package/dist/assets/user-DJbv_WkD.js +1 -0
- package/dist/assets/{veo-C0vz8D1K.js → veo-B8XQlhrr.js} +1 -1
- package/dist/assets/{video-DzjdkDHI.js → video-5jyo7aMf.js} +1 -1
- package/dist/assets/{volume-2-GDPXM8s9.js → volume-2-BSLXS6Iv.js} +1 -1
- package/dist/assets/{wallet-9EcruXOc.js → wallet-2C5RgA9V.js} +1 -1
- package/dist/assets/wan-B-BG1K5J.js +1 -0
- package/dist/assets/{wan-Bti9vbk0.js → wan-B6tKT9sT.js} +1 -1
- package/dist/assets/{wan-B_75LG8e.js → wan-Bky-JnkG.js} +1 -1
- package/dist/assets/{wan-C4MqEG4I.js → wan-CWJ-WtAN.js} +1 -1
- package/dist/assets/{wan-CMYZfvXb.js → wan-CdOhTrg0.js} +1 -1
- package/dist/assets/{wan-CFTUjnu2.js → wan-Cpl-sARA.js} +1 -1
- package/dist/assets/{wan-CfvfG77D.js → wan-DOGp3qSt.js} +1 -1
- package/dist/assets/wan-DZWk-Nfe.js +1 -0
- package/dist/assets/{wan-BddagtLG.js → wan-DamxQCim.js} +1 -1
- package/dist/assets/wan-Dd8FJ9Vg.js +1 -0
- package/dist/assets/{wan-O7ybIDL4.js → wan-DzTiuNEP.js} +1 -1
- package/dist/assets/{wan-p6W7-XR6.js → wan-MbnH4w-j.js} +1 -1
- package/dist/assets/{wan-D4Uo2clt.js → wan-mTnkdw0e.js} +1 -1
- package/dist/assets/{wand-sparkles-BUSW_8Pb.js → wand-sparkles-BJbx6jvi.js} +1 -1
- package/dist/assets/{web-Ds1rhfEp.js → web-C7Xy4VLY.js} +1 -1
- package/dist/assets/{webextrator-BTabdQd0.js → webextrator-BkorD-4f.js} +1 -1
- package/dist/assets/{zap-CulaRliY.js → zap-DFLVRbR4.js} +1 -1
- package/dist/index.html +10 -10
- package/dist/llms.txt +21 -21
- package/dist/robots.txt +2 -2
- package/dist/sitemap.xml +21 -21
- package/package.json +3 -3
- package/dist/assets/Artifacts-wIkJbIew.js +0 -1
- package/dist/assets/BrowseConnectors-DTSZsDBw.js +0 -1
- package/dist/assets/Conversation-Dc1ai4c8.js +0 -1
- package/dist/assets/Detail-AG0k2yQW.css +0 -1
- package/dist/assets/Detail-B3hV91lO.js +0 -2
- package/dist/assets/Extra-COVe-vU5.js +0 -1
- package/dist/assets/Index--rse_zMe.js +0 -1
- package/dist/assets/Index-AqPYdbiK.js +0 -1
- package/dist/assets/Index-B4lMK30K.js +0 -1
- package/dist/assets/Index-B9Pz_3vY.js +0 -1
- package/dist/assets/Index-BIC6s4oZ.css +0 -1
- package/dist/assets/Index-BSBjicw7.js +0 -1
- package/dist/assets/Index-BVEIFn8M.js +0 -1
- package/dist/assets/Index-Bp1Xuqv9.js +0 -1
- package/dist/assets/Index-C0V2gUjX2.js +0 -1
- package/dist/assets/Index-C5jrvF_n.js +0 -1
- package/dist/assets/Index-C66U0sUH.js +0 -1
- package/dist/assets/Index-CKejygnV.css +0 -1
- package/dist/assets/Index-COE2I6mf.js +0 -1
- package/dist/assets/Index-COJbRBLb.js +0 -1
- package/dist/assets/Index-CV7mzJas.js +0 -1
- package/dist/assets/Index-CdE11WGf.js +0 -1
- package/dist/assets/Index-CyjzLEWZ.js +0 -1
- package/dist/assets/Index-D834xbiN.js +0 -1
- package/dist/assets/Index-DJ1quW1D.js +0 -1
- package/dist/assets/Index-DVnRuDGz.js +0 -1
- package/dist/assets/Index-DZe9iZnD2.js +0 -1
- package/dist/assets/Index-GqlVtqL72.js +0 -1
- package/dist/assets/Index-Lzpa_0WY.js +0 -1
- package/dist/assets/Index-PkYDLnnl.js +0 -1
- package/dist/assets/Index-S96s3RN4.js +0 -1
- package/dist/assets/Index-Z1_3NkNn.js +0 -1
- package/dist/assets/Index-fY9lCOR_.js +0 -2
- package/dist/assets/Index-jXKXh5Bg.js +0 -1
- package/dist/assets/Index-n2E9Z0Gp.js +0 -1
- package/dist/assets/List-Be0odOJ-.js +0 -1
- package/dist/assets/List-DvJ-nNz5.js +0 -1
- package/dist/assets/List-ScKJ0k8S.css +0 -1
- package/dist/assets/LocalTools-D5uWkeyP.js +0 -5
- package/dist/assets/Main-BPOEeHjD.css +0 -1
- package/dist/assets/Main-CLKpy0B-.js +0 -1
- package/dist/assets/Message-E5cktEkZ.js +0 -3
- package/dist/assets/Model-BJtmzNA4.js +0 -1
- package/dist/assets/RealtimeCall-OgnsGRxz.js +0 -1
- package/dist/assets/ScenarioPaymentMode-DGx3ElFQ.css +0 -1
- package/dist/assets/ScenarioPaymentMode-DIi02QYr.js +0 -1
- package/dist/assets/Status-CxJ4lAF1.js +0 -1
- package/dist/assets/Tts-DA3S_m5f.js +0 -1
- package/dist/assets/arrow-down-HPJryax8.js +0 -1
- package/dist/assets/arrow-left-CRH1hfcq.js +0 -1
- package/dist/assets/arrow-right-D3CCwZ4n.js +0 -1
- package/dist/assets/arrow-up-BZDeVety.js +0 -1
- package/dist/assets/authorizeFlow-RR6YFj95.js +0 -1
- package/dist/assets/check-Dw-Sz3oa.js +0 -1
- package/dist/assets/chevron-down-BmdZR3aU.js +0 -1
- package/dist/assets/chevron-right-CwL17Ni1.js +0 -1
- package/dist/assets/circle-check-Cfk2-tkE.js +0 -1
- package/dist/assets/clock-1gPZIP8f.js +0 -1
- package/dist/assets/code-BAKRDvmK.js +0 -1
- package/dist/assets/constants-D0qyO-4p.js +0 -1
- package/dist/assets/dist-DQBaVIej.js +0 -1
- package/dist/assets/esm-D-5GXt9s.js +0 -3
- package/dist/assets/esm-D2u5tK9d.js +0 -2
- package/dist/assets/fish-CQuNyGkW.js +0 -1
- package/dist/assets/gauge-BNI_KXsN.js +0 -1
- package/dist/assets/i18n-Cju75xJ-.js +0 -3
- package/dist/assets/index-D2MoQRUt.js +0 -570
- package/dist/assets/loader-circle-CQAan3Ia.js +0 -1
- package/dist/assets/maestro-D9VvJ2kV.js +0 -1
- package/dist/assets/music-2-CkWYBkdq.js +0 -1
- package/dist/assets/order-B1iI6uxY.js +0 -1
- package/dist/assets/order-BJHCipaE.js +0 -1
- package/dist/assets/order-BVrGQjOK.js +0 -1
- package/dist/assets/order-Ckn1Pm2d.js +0 -1
- package/dist/assets/order-VlnDCsh4.js +0 -1
- package/dist/assets/pixverse-wpQE5tgC.js +0 -1
- package/dist/assets/play-DXsw7Fdy.js +0 -1
- package/dist/assets/plus-Cbtx4VCt.js +0 -1
- package/dist/assets/rotate-ccw-D-2DsI7v.js +0 -1
- package/dist/assets/rotate-cw-DDlMXf0a.js +0 -1
- package/dist/assets/search-BwPBcEMx.js +0 -1
- package/dist/assets/siteBanner-BAxM0SE3.js +0 -1
- package/dist/assets/square-B_LUG-EG.js +0 -1
- package/dist/assets/terminal-CHK-nsKg.js +0 -1
- package/dist/assets/user-Dz5_N1ar.js +0 -1
- package/dist/assets/wan-B5EuZ8RC.js +0 -1
- package/dist/assets/wan-BvkRy5ck.js +0 -1
- package/dist/assets/wan-CTlUtHUF.js +0 -1
- package/dist/assets/x402-CPM8RH8s.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,ot as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{t as b}from"./upload-86r_qBlw.js";import{h as x,v as S}from"./models-C3taPMyR.js";import{t as C}from"./checkbox-DXMDpaxv.js";import{t as w}from"./drawer-CFnWJn6T.js";import{n as T,r as E,t as D}from"./dropdown-BhzTy7zu.js";import{t as O}from"./popover-B5HLdb9L.js";import{n as ee,t as te}from"./skeleton-Dj_a_iIP.js";import{t as ne}from"./arrow-right-BAD1WJIm.js";import{t as k}from"./arrow-up-BWsM-6Rb.js";import{t as re}from"./brain-CQkdwxx0.js";import{t as A}from"./check-kOZuee-J.js";import{t as ie}from"./chevron-down-VeNjl9ue.js";import{t as ae}from"./clipboard-list-CFWkBd0U.js";import{t as j}from"./code--y3uq35b.js";import{t as M}from"./ellipsis-BAaAr_qn.js";import{t as oe}from"./eye-DWc7Lk-E.js";import{t as se}from"./file-text-3AGVLFbF.js";import{t as N}from"./file-CxQrLRgE.js";import{t as ce}from"./folder-KNLOPvTt.js";import{t as P}from"./gauge-D6urYB8_.js";import{t as F}from"./history-D_Myt-nA.js";import{t as I}from"./info-DkDuo54u.js";import{t as L}from"./laptop-DZAGEAZO.js";import{t as R}from"./link-BragEr74.js";import{t as z}from"./loader-circle-Bu0zp-P2.js";import{t as le}from"./mic-BgJfqRUY.js";import{t as ue}from"./monitor-Bgvp5s7T.js";import{t as B}from"./paperclip-BWJHwPLL.js";import{t as V}from"./pencil-Cxgd7Cgq.js";import{t as H}from"./plus-DPsH7Sjc.js";import{t as U}from"./rotate-cw-L7ugJX8l.js";import{t as de}from"./search-Dw_OWNDF.js";import{t as fe}from"./shield-B3ffEvWk.js";import{t as pe}from"./square-DvlgB4Bz.js";import{t as me}from"./terminal-BNMC9_69.js";import{t as he}from"./trash-2-BD_rYfpa.js";import{ma as ge}from"./constants-BMkG7xao.js";import{M as _e}from"./i18n-RWpUkJpq.js";import{$a as W,Aa as G,Cn as ve,Da as ye,Ga as K,Ia as q,bn as be,ja as xe,k as J,ka as Y,nt as Se,tt as Ce}from"./index-Dk3occrO.js";import"./vendor-highlight-BHrfT4-E.js";import{t as we}from"./CopyToClipboard-BjRfLoil.js";import{t as Te}from"./VueMarkdown-CiiRjbWs.js";import{t as Ee}from"./AskUserQuestionCard-B0u2Rz-1.js";import{s as De,t as Oe}from"./codingBridgeNotify-0qM-JZme.js";import{t as ke}from"./CodeSnippet-BzbTMmkI.js";var Ae=G(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),je=G(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),Me=G(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Ne=y({name:`CodingBridgeNotificationToggle`,components:{LoadingIcon:z,NotificationIcon:je,NotificationOffIcon:Ae,ElButton:K},data(){return{enabled:!1,busy:!1}},computed:{supported(){return _e()||De()}},mounted(){this.enabled=!_e()&&Oe()===`granted`},methods:{async onToggle(){this.busy=!0;try{if(this.enabled){await this.$store.dispatch(`codingBridge/disableNotifications`),this.enabled=!1,S.success(this.$t(`codingBridge.notify.disabled`));return}let e=await this.$store.dispatch(`codingBridge/enableNotifications`);e===`enabled`?(this.enabled=!0,S.success(this.$t(`codingBridge.notify.enabled`))):e===`denied`?S.warning(this.$t(`codingBridge.notify.denied`)):S.warning(this.$t(`codingBridge.notify.unsupported`))}catch{S.error(this.$t(`codingBridge.notify.failed`))}finally{this.busy=!1}}}});function Pe(e,t,n,r,i,a){let s=u(`loading-icon`),c=u(`notification-icon`),l=u(`notification-off-icon`),d=u(`el-button`);return e.supported?(v(),p(d,{key:0,circle:``,size:`small`,type:e.enabled?`primary`:`default`,title:e.enabled?e.$t(`codingBridge.notify.disable`):e.$t(`codingBridge.notify.enable`),disabled:e.busy,"aria-label":e.enabled?e.$t(`codingBridge.notify.disable`):e.$t(`codingBridge.notify.enable`),onClick:e.onToggle},{default:m(()=>[e.busy?(v(),p(s,{key:0,class:`adc-icon-spin`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.enabled?(v(),p(c,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(l,{key:2,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`type`,`title`,`disabled`,`aria-label`,`onClick`])):o(``,!0)}var Fe=y({name:`CodingBridgeNodeList`,components:{AddIcon:H,DeleteIcon:he,DesktopIcon:ue,DeveloperIcon:L,EditIcon:V,RedoIcon:U,ElButton:K,NotificationToggle:J(Ne,[[`render`,Pe]])},emits:[`pair`],computed:{nodes(){return this.$store.state.codingBridge?.nodes??[]},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},connection(){return this.$store.state.codingBridge?.connection??`disconnected`},connectionLabel(){return this.$t(`codingBridge.connection.${this.connection}`)},connectionDotClass(){switch(this.connection){case`connected`:return`bg-[var(--el-color-success)]`;case`connecting`:return`bg-[var(--el-color-warning)]`;case`error`:return`bg-[var(--el-color-danger)]`;default:return`bg-[var(--app-text-subtle)]`}}},methods:{onSelect(e){this.$store.dispatch(`codingBridge/selectNode`,e)},onRefresh(){this.$store.dispatch(`codingBridge/getNodes`)},async onRename(e){let t;try{t=((await xe.prompt(this.$t(`codingBridge.nodeList.renamePrompt`),this.$t(`codingBridge.nodeList.rename`),{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:e.name,inputValidator:e=>{let t=(e??``).trim();return t?[...t].length>64?this.$t(`codingBridge.nodeList.renameTooLong`,{max:64}):!0:this.$t(`codingBridge.nodeList.renameEmpty`)}})).value??``).trim()}catch{return}if(!(!t||t===e.name))try{await this.$store.dispatch(`codingBridge/renameNode`,{nodeId:e.node_id,name:t}),S.success(this.$t(`codingBridge.nodeList.renameSuccess`))}catch{S.error(this.$t(`codingBridge.nodeList.renameFailed`))}},async onDelete(e){try{await xe.confirm(this.$t(`codingBridge.nodeList.removeConfirm`,{name:e.name}),this.$t(`codingBridge.nodeList.remove`),{confirmButtonText:this.$t(`codingBridge.nodeList.remove`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`})}catch{return}try{await this.$store.dispatch(`codingBridge/deleteNode`,e.node_id),S.success(this.$t(`codingBridge.nodeList.removeSuccess`))}catch{S.error(this.$t(`codingBridge.nodeList.removeFailed`))}}}}),Ie={class:`node-list flex flex-col h-full bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Le={class:`flex items-center justify-between px-4 py-3 border-b border-[var(--app-border-subtle)]`},Re={class:`flex items-center gap-2 font-medium`},ze={class:`flex items-center gap-1`},Be={class:`flex items-center gap-2 px-4 py-2 text-xs border-b border-[var(--app-border-subtle)]`},Ve={class:`text-[var(--app-text-subtle)]`},He={class:`flex-1 overflow-y-auto`},Ue={key:0,class:`p-6 text-center text-sm text-[var(--app-text-subtle)]`},We={class:`mb-3`},Ge={key:1,class:`list-none m-0 p-0`},Ke=[`onClick`],qe={class:`flex-1 min-w-0`},Je={class:`flex items-center gap-2`},Ye={class:`truncate font-medium`},Xe=[`title`],Ze={class:`text-xs text-[var(--app-text-subtle)] truncate`};function Qe(o,c,d,f,p,h){let _=u(`developer-icon`),y=u(`notification-toggle`),b=u(`redo-icon`),x=u(`el-button`),S=u(`add-icon`),C=u(`desktop-icon`),w=u(`edit-icon`),T=u(`delete-icon`);return v(),s(`div`,Ie,[e(`div`,Le,[e(`div`,Re,[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(o.$t(`codingBridge.nodeList.title`)),1)]),e(`div`,ze,[a(y),a(x,{circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.refresh`),title:o.$t(`codingBridge.nodeList.refresh`),onClick:o.onRefresh},{default:m(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`]),a(x,{type:`primary`,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.pair`),title:o.$t(`codingBridge.nodeList.pair`),onClick:c[0]||=e=>o.$emit(`pair`)},{default:m(()=>[a(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`])])]),e(`div`,Be,[e(`span`,{class:n([`inline-block w-2 h-2 rounded-full`,o.connectionDotClass])},null,2),e(`span`,Ve,i(o.connectionLabel),1)]),e(`div`,He,[o.nodes.length?(v(),s(`ul`,Ge,[(v(!0),s(l,null,g(o.nodes,r=>(v(),s(`li`,{key:r.node_id,class:n([`group flex items-center gap-3 px-4 py-3 cursor-pointer border-b border-[var(--app-border-subtle)] hover:bg-[var(--app-content-bg)]`,{"bg-[var(--app-content-bg)]":r.node_id===o.currentNodeId}]),onClick:e=>o.onSelect(r.node_id)},[a(C,{class:`text-[var(--app-text-subtle)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(r.name),1),e(`span`,{class:n([`inline-block w-2 h-2 rounded-full flex-none`,r.status===`online`?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`]),title:r.status===`online`?o.$t(`codingBridge.status.online`):o.$t(`codingBridge.status.offline`)},null,10,Xe)]),e(`div`,Ze,i(r.status===`online`?o.$t(`codingBridge.status.online`):o.$t(`codingBridge.status.offline`)),1)]),a(x,{class:`node-action`,text:``,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.rename`),title:o.$t(`codingBridge.nodeList.rename`),onClick:t(e=>o.onRename(r),[`stop`])},{default:m(()=>[a(w,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`]),a(x,{class:`node-action`,text:``,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.remove`),title:o.$t(`codingBridge.nodeList.remove`),onClick:t(e=>o.onDelete(r),[`stop`])},{default:m(()=>[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`])],10,Ke))),128))])):(v(),s(`div`,Ue,[e(`p`,We,i(o.$t(`codingBridge.nodeList.empty`)),1),a(x,{type:`primary`,round:``,size:`small`,onClick:c[1]||=e=>o.$emit(`pair`)},{default:m(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`codingBridge.nodeList.pairFirst`)),1)]),_:1})]))])])}var $e=J(Fe,[[`render`,Qe],[`__scopeId`,`data-v-37e3f542`]]),et=e=>{let t=e?.questions;return Array.isArray(t)&&t.length>0&&t.every(e=>e&&typeof e.question==`string`&&Array.isArray(e.options))},tt=e=>e?(e.tool||``).toLowerCase()===`askuserquestion`?!0:et(e.input):!1,nt=e=>({questions:e.input?.questions??[]}),rt=100,X=4e4,it=12e3,at=6e3,ot=50,st=200,Z=(e,t)=>{if(e.length<=t)return e;let n=((e.length-t)/1024).toFixed(1);return`${e.slice(0,t)}\n\n··· +${n} KB ···`},ct=y({name:`CodingBridgeTranscriptItem`,directives:{highlight:ve},components:{CloseIcon:Y,ConfirmIcon:A,EditIcon:V,FileIcon:N,InfoIcon:I,VueMarkdown:Te,CodeSnippet:ke,CopyToClipboard:we},props:{event:{type:Object,required:!0},editable:{type:Boolean,default:!1}},emits:[`edit`],data(){return{renderedText:Z(this.event.text||``,X),streamTimer:0}},computed:{commandText(){let e=this.event.input;if(!e)return``;for(let t of[`command`,`cmd`,`script`]){let n=e[t];if(typeof n==`string`&&n.trim())return Z(n,at)}return``},filePath(){let e=this.event.input;if(!e)return``;for(let t of[`file_path`,`filePath`,`path`,`notebook_path`,`filename`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},toolDescription(){let e=this.event.input?.description;return typeof e==`string`?e:``},toolIcon(){if(this.todoList.length)return ae;if(this.commandText)return me;let e=(this.event.tool??``).toLowerCase();return/read|cat|view/.test(e)?se:/write|edit|create|update|insert/.test(e)?V:/grep|glob|search|find|list/.test(e)?de:j},questionLines(){let e=(this.event.tool??``).toLowerCase(),t=this.event.input?.questions;return!(e===`askuserquestion`||Array.isArray(t))||!Array.isArray(t)?[]:t.filter(e=>e&&typeof e.question==`string`).map(e=>({header:typeof e.header==`string`?e.header:``,question:e.question}))},todoList(){let e=this.event.input?.todos;return!Array.isArray(e)||!(this.event.tool??``).toLowerCase().includes(`todo`)&&Object.keys(this.event.input??{}).filter(e=>e!==`todos`&&e!==`description`).length?[]:e.filter(e=>e&&typeof e.content==`string`).map(e=>({content:e.content,status:typeof e.status==`string`?e.status:`pending`,activeForm:typeof e.activeForm==`string`?e.activeForm:void 0}))},todoItems(){return this.todoList.slice(0,ot).map(e=>{let t=e.status===`in_progress`&&e.activeForm?e.activeForm:e.content,n=t.length>st?`${t.slice(0,st)}…`:t;return e.status===`completed`?{text:n,status:`completed`,statusLabel:this.$t(`codingBridge.transcript.todoCompleted`),icon:A,iconClass:`text-[var(--el-color-success)]`,textClass:`text-[var(--app-text-subtle)] line-through`}:e.status===`in_progress`?{text:n,status:`in_progress`,statusLabel:this.$t(`codingBridge.transcript.todoInProgress`),icon:z,iconClass:`text-[var(--el-color-primary)]`,textClass:`text-[var(--app-text)] font-medium`}:{text:n,status:`pending`,statusLabel:this.$t(`codingBridge.transcript.todoPending`),icon:pe,iconClass:`text-[var(--app-text-subtle)] opacity-60`,textClass:`text-[var(--app-text-subtle)]`}})},todoProgressLabel(){let e=this.todoList.filter(e=>e.status===`completed`).length;return this.$t(`codingBridge.transcript.todoProgress`,{done:e,total:this.todoList.length})},todoProgressId(){return`cb-todo-progress-${this.event.id}`},todoOverflow(){return Math.max(0,this.todoList.length-ot)},inputText(){let e=this.event.input;if(!e)return``;let t={};for(let[n,r]of Object.entries(e))n===`timeout`||n===`description`||(t[n]=r);if(Object.keys(t).length===0)return``;try{return Z(JSON.stringify(t,null,2),at)}catch{return Z(String(e),at)}},thinkingText(){return Z(this.event.text||``,X)},resultText(){let e=this.event.content;return typeof e==`string`&&e.length>0?e:`—`},resultDisplay(){return Z(this.resultText,it)},resultLabel(){let e=[];return this.event.is_error?e.push(this.$t(`codingBridge.transcript.turnFailed`)):e.push(this.$t(`codingBridge.transcript.turnDone`)),typeof this.event.cost_usd==`number`&&this.event.cost_usd>0&&e.push(`$${this.event.cost_usd.toFixed(4)}`),e.join(` · `)},hasAttachments(){return!!this.event.attachments?.length},noticeText(){let e=this.event.subtype,t=this.event.command;if(t){if(e===`slash_unavailable`)return this.$t(`codingBridge.notice.slashUnavailable`,{command:t});if(e===`slash_codex_unsupported`)return this.$t(`codingBridge.notice.slashCodexUnsupported`,{command:t})}return this.event.text||``}},watch:{"event.text"(){this.scheduleRender()},"event.streaming"(e){e||this.flushRender()}},beforeUnmount(){this.streamTimer&&window.clearTimeout(this.streamTimer)},methods:{scheduleRender(){if(!this.event.streaming){this.flushRender();return}this.streamTimer||=window.setTimeout(()=>{this.streamTimer=0,this.renderedText=Z(this.event.text||``,X)},rt)},flushRender(){this.streamTimer&&=(window.clearTimeout(this.streamTimer),0),this.renderedText=Z(this.event.text||``,X)}}}),lt={key:0,class:`group flex items-end justify-end gap-1.5`},ut=[`title`,`aria-label`],dt={class:`max-w-[85%] rounded-lg px-3 py-2 bg-[var(--el-color-primary)] text-white whitespace-pre-wrap break-words`},ft=[`src`],pt=[`href`],mt=[`src`],ht={key:1,class:`flex h-9 w-9 items-center justify-center rounded bg-white/15`},gt={class:`min-w-0 truncate`},_t={key:2},vt={key:2,class:`whitespace-pre-wrap break-words italic text-[var(--app-text-subtle)] border-l-2 border-[var(--app-border-subtle)] pl-3`},yt={key:3,class:`overflow-hidden rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)]`},bt={class:`flex items-center gap-2 px-2.5 py-1.5 font-medium text-[var(--app-text-subtle)]`},xt={key:0,class:`min-w-0 truncate text-xs font-normal opacity-70`},St={key:0,class:`flex flex-col gap-1.5 px-2.5 pb-2`},Ct={key:0,class:`font-medium text-[var(--app-text)]`},wt={class:`whitespace-pre-wrap break-words text-[var(--app-text-subtle)]`},Tt={key:1,class:`px-2.5 pb-2`},Et=[`id`],Dt=[`aria-labelledby`],Ot={class:`sr-only`},kt={key:0,class:`mt-1 text-xs text-[var(--app-text-subtle)]`},At={key:2,class:`px-2.5 pb-2`},jt={key:3,class:`px-2.5 pb-2 font-mono text-xs break-all text-[var(--app-text-subtle)]`},Mt={key:4,class:`px-2.5 pb-2`},Nt={key:0,class:`absolute right-1.5 top-1.5 z-10 rounded bg-[var(--app-content-bg)] px-1 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`},Pt={key:5,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)]`},Ft={key:6,class:`flex items-start gap-2 rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)] text-[var(--app-text-subtle)] px-3 py-2 text-xs`},It={class:`whitespace-pre-wrap break-words`},Lt={key:7,class:`rounded-md bg-[var(--el-color-danger-light-9)] text-[var(--el-color-danger)] px-3 py-2 whitespace-pre-wrap break-words`};function Rt(t,r,c,f,m,y){let b=u(`edit-icon`),x=u(`file-icon`),S=u(`vue-markdown`),C=u(`code-snippet`),w=u(`copy-to-clipboard`),T=u(`close-icon`),E=u(`confirm-icon`),D=u(`info-icon`),O=h(`highlight`);return v(),s(`div`,{class:n([`transcript-item text-sm leading-relaxed`,`kind-${t.event.kind}`])},[t.event.kind===`prompt`?(v(),s(`div`,lt,[t.editable?(v(),s(`button`,{key:0,type:`button`,class:`cb-edit-btn opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,title:t.$t(`codingBridge.session.editPrompt`),"aria-label":t.$t(`codingBridge.session.editPrompt`),onClick:r[0]||=e=>t.$emit(`edit`,t.event)},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ut)):o(``,!0),e(`div`,dt,[t.event.images&&t.event.images.length?(v(),s(`div`,{key:0,class:n([`flex flex-wrap gap-1.5`,{"mb-1.5":t.event.text||t.hasAttachments}])},[(v(!0),s(l,null,g(t.event.images,(e,t)=>(v(),s(`img`,{key:t,src:e,class:`w-16 h-16 rounded object-cover`,alt:``},null,8,ft))),128))],2)):o(``,!0),t.hasAttachments?(v(),s(`div`,{key:1,class:n([`flex flex-wrap gap-1.5`,{"mb-1.5":t.event.text}])},[(v(!0),s(l,null,g(t.event.attachments,(t,n)=>(v(),s(`a`,{key:`${t.url}-${n}`,href:t.url,target:`_blank`,rel:`noopener noreferrer`,class:`flex max-w-[220px] items-center gap-2 rounded-md bg-white/15 px-2 py-1.5 text-xs text-white hover:bg-white/20`},[t.type===`image`?(v(),s(`img`,{key:0,src:t.url,class:`h-9 w-9 rounded object-cover`,alt:``},null,8,mt)):(v(),s(`span`,ht,[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])),e(`span`,gt,i(t.name||t.url),1)],8,pt))),128))],2)):o(``,!0),t.event.text?(v(),s(`span`,_t,i(t.event.text),1)):o(``,!0)])])):t.event.kind===`text`?(v(),s(`div`,{key:1,class:n([`cb-stream-text`,{"is-streaming":t.event.streaming}])},[d(a(S,{source:t.renderedText,class:`markdown-body bg-transparent text-[var(--app-text)]`},null,8,[`source`]),[[O]])],2)):t.event.kind===`thinking`?(v(),s(`div`,vt,i(t.thinkingText),1)):t.event.kind===`tool_use`?(v(),s(`div`,yt,[e(`div`,bt,[(v(),p(_(t.toolIcon),{class:`text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.event.tool),1),t.toolDescription?(v(),s(`span`,xt,i(t.toolDescription),1)):o(``,!0)]),t.questionLines.length?(v(),s(`div`,St,[(v(!0),s(l,null,g(t.questionLines,(t,n)=>(v(),s(`div`,{key:n,class:`rounded border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-2.5 py-1.5 text-xs`},[t.header?(v(),s(`div`,Ct,i(t.header),1)):o(``,!0),e(`div`,wt,i(t.question),1)]))),128))])):t.todoItems.length?(v(),s(`div`,Tt,[e(`div`,{id:t.todoProgressId,class:`mb-1.5 text-xs text-[var(--app-text-subtle)]`},i(t.todoProgressLabel),9,Et),e(`ul`,{class:`flex flex-col gap-1`,"aria-labelledby":t.todoProgressId},[(v(!0),s(l,null,g(t.todoItems,(t,r)=>(v(),s(`li`,{key:r,class:`flex items-start gap-2 text-xs`},[(v(),p(_(t.icon),{class:n([`mt-0.5 flex-none`,t.iconClass]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`])),e(`span`,Ot,i(t.statusLabel),1),e(`span`,{class:n([`min-w-0 break-words`,t.textClass])},i(t.text),3)]))),128))],8,Dt),t.todoOverflow?(v(),s(`div`,kt,i(t.$t(`codingBridge.transcript.todoOverflow`,{count:t.todoOverflow})),1)):o(``,!0)])):t.commandText?(v(),s(`div`,At,[a(C,{code:t.commandText,lang:`bash`,copyable:``},null,8,[`code`])])):t.filePath?(v(),s(`div`,jt,i(t.filePath),1)):t.inputText?(v(),s(`div`,Mt,[a(C,{code:t.inputText,lang:`json`,copyable:``},null,8,[`code`])])):o(``,!0)])):t.event.kind===`tool_result`?(v(),s(`div`,{key:4,class:n([`group relative overflow-hidden rounded-md`,t.event.is_error?`bg-[var(--el-color-danger-light-9)]`:`bg-[var(--app-sidebar-bg)]`])},[t.event.content?(v(),s(`div`,Nt,[a(w,{content:t.resultText},null,8,[`content`])])):o(``,!0),e(`pre`,{class:n([`m-0 max-h-72 overflow-auto whitespace-pre-wrap break-words px-2.5 py-2 font-mono text-xs`,t.event.is_error?`text-[var(--el-color-danger)]`:`text-[var(--app-text-subtle)]`])},i(t.resultDisplay),3)],2)):t.event.kind===`result`?(v(),s(`div`,Pt,[t.event.is_error?(v(),p(T,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(E,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.resultLabel),1)])):t.event.kind===`notice`?(v(),s(`div`,Ft,[a(D,{class:`mt-0.5 flex-none text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,It,i(t.noticeText),1)])):t.event.kind===`error`?(v(),s(`div`,Lt,i(t.event.text),1)):o(``,!0)],2)}var zt=J(ct,[[`render`,Rt],[`__scopeId`,`data-v-f71fa078`]]),Bt=`Pondering.Noodling.Conjuring.Brewing.Cooking.Crafting.Churning.Simmering.Percolating.Ruminating.Musing.Marinating.Synthesizing.Computing.Hatching.Forging.Vibing.Working.Thinking.Cogitating.Mulling.Stewing.Tinkering.Wrangling.Spinning.Reticulating.Manifesting.Deliberating`.split(`.`),Vt=[`思考中`,`酝酿中`,`沉思中`,`推敲中`,`构思中`,`计算中`,`琢磨中`,`捣鼓中`,`炼制中`,`召唤中`,`编织中`,`烹饪中`,`咀嚼中`,`盘算中`,`发酵中`,`运转中`,`冥想中`,`鼓捣中`,`熬制中`,`神游中`,`演算中`,`雕琢中`,`头脑风暴中`,`反复斟酌中`],Ht=60,Ut=1500,Wt=28,Gt=y({name:`CodingBridgeThinkingIndicator`,components:{LoadingIcon:z},data(){return{display:``,elapsed:0,charIndex:0,phase:`typing`,currentWord:``,elapsedTimer:0,typeTimer:0}},computed:{words(){return this.$i18n.locale.startsWith(`zh`)?Vt:Bt}},mounted(){this.currentWord=this.pickWord(),this.elapsedTimer=window.setInterval(()=>{this.elapsed+=1},1e3),this.scheduleType(Ht)},beforeUnmount(){window.clearInterval(this.elapsedTimer),window.clearTimeout(this.typeTimer)},methods:{pickWord(){let e=this.words;if(e.length<=1)return e[0]??``;let t=this.currentWord;for(;t===this.currentWord;)t=e[Math.floor(Math.random()*e.length)];return t},scheduleType(e){this.typeTimer=window.setTimeout(this.advance,e)},advance(){let e=this.currentWord;this.phase===`typing`?(this.charIndex+=1,this.display=e.slice(0,this.charIndex),this.charIndex>=e.length?(this.phase=`holding`,this.scheduleType(Ut)):this.scheduleType(Ht)):this.phase===`holding`?(this.phase=`deleting`,this.scheduleType(Wt)):(--this.charIndex,this.display=e.slice(0,Math.max(0,this.charIndex)),this.charIndex<=0?(this.currentWord=this.pickWord(),this.phase=`typing`,this.scheduleType(Ht)):this.scheduleType(Wt))}}}),Kt={class:`cb-thinking flex items-center gap-2 text-sm text-[var(--app-text-subtle)] py-1`},qt={class:`cb-thinking__word`},Jt={class:`cb-thinking__elapsed tabular-nums opacity-60`};function Yt(t,n,o,c,l,d){let f=u(`loading-icon`);return v(),s(`div`,Kt,[a(f,{class:`cb-thinking__spinner adc-icon-spin text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,qt,[r(i(t.display),1),n[0]||=e(`span`,{class:`cb-thinking__caret`},`▋`,-1)]),e(`span`,Jt,`(`+i(t.elapsed)+`s)`,1)])}var Xt=J(Gt,[[`render`,Yt],[`__scopeId`,`data-v-ae116215`]]),Zt=y({name:`CodingBridgeComposerSettings`,components:{ElButton:K,ElDialog:q},props:{dialog:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},emits:[`update:open`]}),Qt={key:0,class:`cb-settings-inline`},$t={class:`cb-settings-rows`};function en(t,n,o,c,l,d){let h=u(`el-button`),g=u(`el-dialog`);return t.dialog?(v(),p(g,{key:1,"model-value":t.open,title:t.$t(`codingBridge.session.settings`),width:`min(420px, 92vw)`,"align-center":``,"append-to-body":``,class:`cb-settings-dialog`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:open`,e)},{footer:m(()=>[a(h,{type:`primary`,round:``,onClick:n[0]||=e=>t.$emit(`update:open`,!1)},{default:m(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:m(()=>[e(`div`,$t,[f(t.$slots,`default`,{},void 0,!0)])]),_:3},8,[`model-value`,`title`])):(v(),s(`div`,Qt,[f(t.$slots,`default`,{},void 0,!0)]))}var tn=J(Zt,[[`render`,en],[`__scopeId`,`data-v-20aa7356`]]),nn=y({name:`CodingBridgeDirectoryDialog`,components:{ContinueIcon:ne,FileIcon:N,FolderIcon:ce,RedoIcon:U,UpIcon:k,ElDialog:q,ElButton:K,ElInput:W},props:{visible:{type:Boolean,default:!1},initialPath:{type:String,default:``}},emits:[`update:visible`,`select`],data(){return{pathInput:``}},computed:{listing(){return this.$store.state.codingBridge?.directory},loading(){return this.$store.state.codingBridge?.directoryLoading===!0},directories(){return(this.listing?.entries??[]).filter(e=>e.type===`dir`)},files(){return(this.listing?.entries??[]).filter(e=>e.type===`file`)},isEmpty(){return!!this.listing&&!this.listing.error&&(this.listing.entries??[]).length===0}},watch:{"listing.path"(e){this.pathInput=e??``}},methods:{onOpen(){this.pathInput=this.initialPath||``,this.$store.dispatch(`codingBridge/browseDir`,this.initialPath||void 0)},goPath(){let e=this.pathInput.trim();e&&this.$store.dispatch(`codingBridge/browseDir`,e)},syncPathInput(){this.pathInput=this.listing?.path??``},onVisibleChange(e){this.$emit(`update:visible`,e),e||this.$store.dispatch(`codingBridge/clearDirectory`)},openDir(e){this.$store.dispatch(`codingBridge/browseDir`,e)},goParent(){this.listing?.parent&&this.$store.dispatch(`codingBridge/browseDir`,this.listing.parent)},refresh(){this.$store.dispatch(`codingBridge/browseDir`,this.listing?.path||this.initialPath||void 0)},chooseCurrent(){this.listing&&!this.listing.error&&(this.$emit(`select`,this.listing.path),this.onVisibleChange(!1))}}}),rn={class:`flex flex-col gap-2`},an={class:`flex items-center gap-2 min-w-0`},on={class:`h-72 overflow-y-auto border border-[var(--app-border-subtle)] rounded-md divide-y divide-[var(--app-border-subtle)]`},sn={key:0,class:`h-full flex items-center justify-center text-sm text-[var(--app-text-subtle)]`},cn={key:1,class:`h-full flex items-center justify-center text-sm text-[var(--el-color-danger)]`},ln=[`onClick`],un={class:`truncate`,dir:`ltr`},dn={class:`truncate`,dir:`ltr`},fn={key:0,class:`h-full flex items-center justify-center text-sm text-[var(--app-text-subtle)] py-8`},pn={key:0,class:`text-[11px] text-[var(--app-text-subtle)] px-1`},mn={class:`flex items-center justify-end gap-2`};function hn(t,d,f,h,_,y){let b=u(`up-icon`),x=u(`el-button`),S=u(`continue-icon`),C=u(`el-input`),w=u(`redo-icon`),T=u(`folder-icon`),E=u(`file-icon`),D=u(`el-dialog`);return v(),p(D,{"model-value":t.visible,title:t.$t(`codingBridge.directory.title`),width:`520px`,"append-to-body":``,"onUpdate:modelValue":t.onVisibleChange,onOpen:t.onOpen},{footer:m(()=>[e(`div`,mn,[a(x,{round:``,onClick:d[1]||=e=>t.onVisibleChange(!1)},{default:m(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1}),a(x,{type:`primary`,round:``,disabled:!t.listing||!!t.listing.error,onClick:t.chooseCurrent},{default:m(()=>[r(i(t.$t(`codingBridge.directory.choose`)),1)]),_:1},8,[`disabled`,`onClick`])])]),default:m(()=>[e(`div`,rn,[e(`div`,an,[a(x,{size:`small`,circle:``,disabled:!t.listing||!t.listing.parent||t.loading,title:t.$t(`codingBridge.directory.up`),"aria-label":t.$t(`codingBridge.directory.up`),onClick:t.goParent},{default:m(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`]),a(C,{modelValue:t.pathInput,"onUpdate:modelValue":d[0]||=e=>t.pathInput=e,size:`small`,class:`flex-1 min-w-0`,dir:`ltr`,placeholder:t.$t(`codingBridge.directory.pathPlaceholder`),disabled:t.loading,onKeyup:c(t.goPath,[`enter`]),onBlur:t.syncPathInput},{append:m(()=>[a(x,{title:t.$t(`codingBridge.directory.go`),disabled:t.loading||!t.pathInput.trim(),"aria-label":t.$t(`codingBridge.directory.go`),onClick:t.goPath},{default:m(()=>[a(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`disabled`,`aria-label`,`onClick`])]),_:1},8,[`modelValue`,`placeholder`,`disabled`,`onKeyup`,`onBlur`]),a(x,{size:`small`,circle:``,disabled:t.loading,title:t.$t(`codingBridge.directory.refresh`),"aria-label":t.$t(`codingBridge.directory.refresh`),onClick:t.refresh},{default:m(()=>[a(w,{class:n({"adc-icon-spin":t.loading}),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`])]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`])]),e(`div`,on,[t.loading&&!t.listing?(v(),s(`div`,sn,i(t.$t(`codingBridge.directory.loading`)),1)):t.listing&&t.listing.error?(v(),s(`div`,cn,i(t.listing.error),1)):(v(),s(l,{key:2},[(v(!0),s(l,null,g(t.directories,n=>(v(),s(`button`,{key:n.path,type:`button`,class:`w-full flex items-center gap-2 px-3 py-2 text-left text-sm hover:bg-[var(--app-content-hover-bg)]`,onClick:e=>t.openDir(n.path)},[a(T,{class:`text-[var(--el-color-warning)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,un,i(n.name),1)],8,ln))),128)),(v(!0),s(l,null,g(t.files,t=>(v(),s(`div`,{key:t.path,class:`w-full flex items-center gap-2 px-3 py-2 text-sm text-[var(--app-text-subtle)]`},[a(E,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,dn,i(t.name),1)]))),128)),t.isEmpty?(v(),s(`div`,fn,i(t.$t(`codingBridge.directory.empty`)),1)):o(``,!0)],64))]),t.listing&&t.listing.truncated?(v(),s(`p`,pn,i(t.$t(`codingBridge.directory.truncated`)),1)):o(``,!0)])]),_:1},8,[`model-value`,`title`,`onUpdate:modelValue`,`onOpen`])}var gn=J(nn,[[`render`,hn]]),_n=`data:image/svg+xml,%3csvg%20fill='%23D97757'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eClaude%3c/title%3e%3cpath%20d='m4.7144%2015.9555%204.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608%201.5179.1032%202.2767.1578%201.6514.0972%202.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973%209.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686%201.9064%201.4754%202.4893%201.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335%206.6997%200l.9957.1336.419.3642.6192%201.4147%201.0018%202.2282%201.5543%203.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853%201.8517-.5586%202.9021-.3643%201.9429h.2125l.2429-.2429.9835-1.3053%201.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759%201.1293-.34%201.1657-1.0625%201.3478-.8804%201.1414-1.2628%201.7-.7893%201.36.0729.1093.1882-.0183%202.8535-.607%201.5421-.2794%201.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607%201.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929%201.0686%202.0035%201.8092%202.5075%202.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496%202.3436%203.5214.1214%201.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38%2017.959l-1.1414-1.9428-.1397.079-.674%207.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328%201.9672-2.1796%202.9446-1.7243%201.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889%202.386-3.0357%201.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385%204.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429%201.9064-1.3114Z'/%3e%3c/svg%3e`,vn=`data:image/svg+xml,%3csvg%20fill='%23000000'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M22.282%209.821a5.985%205.985%200%200%200-.516-4.91%206.046%206.046%200%200%200-6.51-2.9A6.065%206.065%200%200%200%204.981%204.18a5.985%205.985%200%200%200-3.998%202.9%206.046%206.046%200%200%200%20.743%207.097%205.98%205.98%200%200%200%20.51%204.911%206.051%206.051%200%200%200%206.515%202.9A5.985%205.985%200%200%200%2013.26%2024a6.056%206.056%200%200%200%205.772-4.206%205.99%205.99%200%200%200%203.997-2.9%206.056%206.056%200%200%200-.747-7.073zM13.26%2022.43a4.476%204.476%200%200%201-2.876-1.04l.141-.081%204.779-2.758a.795.795%200%200%200%20.392-.681v-6.737l2.02%201.168a.071.071%200%200%201%20.038.052v5.583a4.504%204.504%200%200%201-4.494%204.494zM3.6%2018.304a4.47%204.47%200%200%201-.535-3.014l.142.085%204.783%202.759a.771.771%200%200%200%20.78%200l5.843-3.369v2.332a.08.08%200%200%201-.033.062L9.74%2019.95a4.5%204.5%200%200%201-6.14-1.646zM2.34%207.896a4.485%204.485%200%200%201%202.366-1.973V11.6a.766.766%200%200%200%20.388.676l5.815%203.355-2.02%201.168a.076.076%200%200%201-.071%200l-4.83-2.786A4.504%204.504%200%200%201%202.34%207.872zm16.597%203.855l-5.833-3.387L15.119%207.2a.076.076%200%200%201%20.071%200l4.83%202.791a4.494%204.494%200%200%201-.676%208.105v-5.678a.79.79%200%200%200-.407-.667zm2.01-3.023l-.141-.085-4.774-2.782a.776.776%200%200%200-.785%200L9.409%209.23V6.897a.066.066%200%200%201%20.028-.061l4.83-2.787a4.5%204.5%200%200%201%206.68%204.66zm-12.64%204.135l-2.02-1.164a.08.08%200%200%201-.038-.057V6.075a4.5%204.5%200%200%201%207.375-3.453l-.142.08L8.704%205.46a.795.795%200%200%200-.393.681zm1.097-2.365l2.602-1.5%202.607%201.5v2.999l-2.597%201.5-2.607-1.5z'/%3e%3c/svg%3e`,yn=`data:image/svg+xml,%3csvg%20fill='%23000'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGitHub%20Copilot%3c/title%3e%3cpath%20d='M23.922%2016.997C23.061%2018.492%2018.063%2022.02%2012%2022.02%205.937%2022.02.939%2018.492.078%2016.997A.641.641%200%200%201%200%2016.741v-2.869a.883.883%200%200%201%20.053-.22c.372-.935%201.347-2.292%202.605-2.656.167-.429.414-1.055.644-1.517a10.098%2010.098%200%200%201-.052-1.086c0-1.331.282-2.499%201.132-3.368.397-.406.89-.717%201.474-.952C7.255%202.937%209.248%201.98%2011.978%201.98c2.731%200%204.767.957%206.166%202.093.584.235%201.077.546%201.474.952.85.869%201.132%202.037%201.132%203.368%200%20.368-.014.733-.052%201.086.23.462.477%201.088.644%201.517%201.258.364%202.233%201.721%202.605%202.656a.841.841%200%200%201%20.053.22v2.869a.641.641%200%200%201-.078.256Zm-11.75-5.992h-.344a4.359%204.359%200%200%201-.355.508c-.77.947-1.918%201.492-3.508%201.492-1.725%200-2.989-.359-3.782-1.259a2.137%202.137%200%200%201-.085-.104L4%2011.746v6.585c1.435.779%204.514%202.179%208%202.179%203.486%200%206.565-1.4%208-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057%201.259-3.782%201.259-1.59%200-2.738-.545-3.508-1.492a4.359%204.359%200%200%201-.355-.508Zm2.328%203.25c.549%200%201%20.451%201%201v2c0%20.549-.451%201-1%201-.549%200-1-.451-1-1v-2c0-.549.451-1%201-1Zm-5%200c.549%200%201%20.451%201%201v2c0%20.549-.451%201-1%201-.549%200-1-.451-1-1v-2c0-.549.451-1%201-1Zm3.313-6.185c.136%201.057.403%201.913.878%202.497.442.544%201.134.938%202.344.938%201.573%200%202.292-.337%202.657-.751.384-.435.558-1.15.558-2.361%200-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438%201.578v.021c0%20.265.021.562.063.893Zm-1.626%200c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824%201.025-.462.472-.705%201.179-.705%202.319%200%201.211.175%201.926.558%202.361.365.414%201.084.751%202.657.751%201.21%200%201.902-.394%202.344-.938.475-.584.742-1.44.878-2.497Z'/%3e%3c/svg%3e`;function bn(e){let t=(e instanceof Error?`${e.name} ${e.message}`:String(e??``)).toLowerCase().replaceAll(`_`,`-`);return t.includes(`notallowed`)||t.includes(`not-allowed`)||t.includes(`permission`)?`permission-denied`:t.includes(`notfound`)||t.includes(`not-found`)||t.includes(`audio-capture`)||t.includes(`microphone`)?`microphone-unavailable`:t.includes(`network`)||t.includes(`fetch`)?`network`:t.includes(`abort`)||t.includes(`cancel`)?`aborted`:`unknown`}function xn(){return[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`].find(e=>MediaRecorder.isTypeSupported?.(e))}function Sn(e){return e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`webm`}async function Cn(e,t,n,r){let i=new FormData;i.append(`file`,new File([e],t,{type:e.type||`audio/webm`})),i.append(`model`,`gpt-transcribe`),i.append(`response_format`,`json`),n&&i.append(`language`,n);let a=await fetch(`${ge}/v1/audio/transcriptions`,{method:`POST`,headers:{Authorization:`Bearer ${r}`},body:i});if(!a.ok)throw Error(`transcription request failed (${a.status})`);return(await a.json()).text?.trim()??``}var wn=class{mediaDevices;createRecorder;transcribe;stream;recorder;callbacks;chunks=[];language=``;token=``;generation=0;aborted=!1;constructor(e=typeof navigator>`u`?void 0:navigator.mediaDevices,t=(e,t)=>new MediaRecorder(e,t),n=Cn){this.mediaDevices=e,this.createRecorder=t,this.transcribe=n}async isSupported(){return!!this.mediaDevices?.getUserMedia&&typeof MediaRecorder<`u`}async start(e,t,n){await this.abort();let r=++this.generation;this.callbacks=n,this.language=e,this.token=t,this.chunks=[],this.aborted=!1;try{let e=await this.mediaDevices?.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});if(!e||r!==this.generation){e?.getTracks().forEach(e=>e.stop());return}this.stream=e;let t=xn();this.recorder=this.createRecorder(e,t?{mimeType:t}:void 0),this.recorder.ondataavailable=e=>{r===this.generation&&e.data.size>0&&this.chunks.push(e.data)},this.recorder.start()}catch(e){let t=bn(e);throw t!==`aborted`&&n.onError(t),await this.abort(),e}}async stop(){let e=this.recorder,t=this.generation;!e||e.state===`inactive`||!this.callbacks||await new Promise(n=>{e.onstop=async()=>{if(this.releaseStream(),t!==this.generation||this.aborted||!this.callbacks)return n();let r=this.callbacks,i=e.mimeType||this.chunks[0]?.type||`audio/webm`,a=new Blob(this.chunks,{type:i});try{if(!a.size)r.onError(`no-speech`);else{let e=await this.transcribe(a,`coding-bridge-voice.${Sn(i)}`,this.language,this.token);if(t!==this.generation||this.aborted)return n();e?r.onResult({finalText:e,interimText:``}):r.onError(`no-speech`)}}catch(e){t===this.generation&&!this.aborted&&r.onError(bn(e))}finally{t===this.generation&&(this.aborted||r.onEnd(),this.reset()),n()}},e.stop()})}async abort(){this.aborted=!0,this.generation+=1;let e=this.recorder;e&&e.state!==`inactive`&&(e.ondataavailable=null,e.onstop=null,e.stop()),this.releaseStream(),this.reset()}async dispose(){await this.abort()}releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=void 0}reset(){this.recorder=void 0,this.callbacks=void 0,this.chunks=[],this.language=``,this.token=``}};function Tn(){return new wn}var En=50*1024*1024,Q=10,Dn=60,On=60,kn=80,An={claude:{src:_n,invertOnDark:!1},codex:{src:vn,invertOnDark:!0},copilot:{src:yn,invertOnDark:!0}},jn=y({name:`CodingBridgeSessionView`,components:{AddIcon:H,AiIcon:re,AttachmentIcon:B,CloseIcon:Y,CodeIcon:j,ConfirmIcon:A,DeveloperIcon:L,EditIcon:V,ExpandDownIcon:ie,FileIcon:N,FolderOpenIcon:Me,HistoryIcon:F,MicrophoneIcon:le,MoreIcon:M,PerformanceIcon:P,RedoIcon:U,SecurityIcon:fe,StopIcon:pe,UpIcon:k,ViewIcon:oe,ElInput:W,ElButton:K,ElPopover:O,ElDropdown:D,ElDropdownMenu:E,ElDropdownItem:T,ElUpload:b,ElCheckbox:C,ElSkeleton:te,ElSkeletonItem:ee,TranscriptItem:zt,ThinkingIndicator:Xt,ComposerSettings:tn,DirectoryDialog:gn,AskUserQuestionCard:Ee,CopyToClipboard:we},mixins:[Se,Ce],emits:[`history`,`devices`],data(){return{prompt:``,cwd:``,model:``,customModelDraft:``,permissionMode:`bypassPermissions`,provider:`claude`,effort:``,directoryVisible:!1,moreOpen:!1,mobileSettings:!1,settingsMql:void 0,slashMenuOpen:!1,slashActiveIndex:0,editingEventId:``,restoreCode:!1,attachmentFileList:[],uploadUrl:ye()+`/api/v1/files/`,maxAttachments:Q,visibleCount:Dn,pinnedToBottom:!0,scrollPending:!1,transcriptObserver:void 0,observedTranscript:void 0,speechController:void 0,speechSupported:!1,speechState:`idle`,speechBasePrompt:``,speechFinalText:``,speechInterimText:``}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},lastComposer(){let e=this.currentNodeId;return(e?this.$store.state.codingBridge?.lastComposer?.[e]:void 0)??{}},currentNode(){return this.$store.state.codingBridge?.nodes?.find(e=>e.node_id===this.currentNodeId)},nodeOnline(){return this.currentNode?.status===`online`},currentSessionId(){return this.$store.state.codingBridge?.currentSessionId},currentSession(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.sessions?.[e]:void 0},events(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.events?.[e]??[]:[]},eventCount(){return this.events.length},visibleEvents(){let e=this.events;return e.length>this.visibleCount?e.slice(-this.visibleCount):e},hiddenEventCount(){return Math.max(0,this.events.length-this.visibleCount)},historyLoading(){return this.$store.state.codingBridge?.status?.getHistoryDetail===x.Request},pendingQuestion(){let e=this.currentSessionId;if(!e)return;let t=(this.$store.state.codingBridge?.permissions??[]).find(t=>t.session_id===e&&tt(t));return t?{request_id:t.request_id,payload:nt(t)}:void 0},isNewSession(){return!this.currentSessionId},canPickCwd(){return this.isNewSession||!this.currentSession?.started},readonly(){return this.currentSession?.readonly===!0},resumeHint(){return!!this.currentSession?.provider&&!this.currentSession?.started&&!this.readonly},replayLabel(){return!this.currentSession?.provider||this.currentSession?.started?``:this.currentSession.provider===`codex`?this.$t(`codingBridge.history.codexLabel`):this.currentSession.provider===`claude`?this.$t(`codingBridge.history.claudeLabel`):this.providerName(this.currentSession.provider)},running(){let e=this.currentSession?.status;return e===`running`||e===`starting`},thinking(){return this.running&&!this.pendingQuestion},connected(){return this.$store.state.codingBridge?.connection===`connected`},canRetry(){return this.currentSession?.status===`error`&&!this.readonly&&this.connected&&this.nodeOnline&&this.events.some(e=>e.kind===`prompt`)},attachments(){return(this.attachmentFileList||[]).map(e=>{let t=e.response?.file_url||(typeof e.url==`string`&&!e.url.startsWith(`blob:`)?e.url:``);if(!t)return;let n=e.raw,r=n?.type||e.mime_type||``;return{type:this.isImageAttachment(e)?`image`:`file`,url:t,name:e.name,mime_type:r,size:n?.size}}).filter(e=>!!e)},uploadingAttachments(){return(this.attachmentFileList||[]).some(e=>this.isAttachmentUploading(e))},speechActive(){return this.speechState!==`idle`},canSend(){return(!!this.prompt.trim()||this.attachments.length>0)&&!this.uploadingAttachments&&!this.speechActive&&this.connected&&this.nodeOnline},composerHint(){return this.speechState===`stopping`?this.$t(`codingBridge.session.voiceStopping`):this.speechState===`listening`?this.$t(`codingBridge.session.voiceListening`):this.uploadingAttachments?this.$t(`codingBridge.session.uploadingAttachment`):this.providerCaps.length&&!this.currentProviderAvailable?this.$t(`codingBridge.session.providerUnavailableHint`,{name:this.providerName(this.provider)}):this.resumeHint?this.$t(`codingBridge.history.resumeHint`):this.$t(`codingBridge.session.enterHint`)},nodeCapabilities(){let e=this.currentNodeId;return e?this.$store.state.codingBridge?.capabilities?.[e]:void 0},providerCaps(){return this.nodeCapabilities?.providers??[]},currentProviderCap(){return this.providerCaps.find(e=>e.name===this.provider)},canEdit(){return this.readonly?!1:!!this.providerCaps.find(e=>e.name===this.activeProviderName)?.supports_edit},canRestoreCode(){return!!this.providerCaps.find(e=>e.name===this.activeProviderName)?.supports_code_restore},editingActive(){return!!this.editingEventId},currentProviderAvailable(){return this.providerCaps.length?this.currentProviderCap?.available!==!1:!0},providerOptions(){return this.providerCaps.length?this.providerCaps.map(e=>({value:e.name,label:e.label,available:e.available!==!1})):[{label:this.$t(`codingBridge.session.providerClaude`),value:`claude`,available:!0},{label:this.$t(`codingBridge.session.providerCodex`),value:`codex`,available:!0},{label:`GitHub Copilot`,value:`copilot`,available:!0}]},modelOptions(){return this.currentProviderCap?.models??[]},allowCustomModel(){return this.currentProviderCap?.allow_custom_model??!0},effortOptions(){let e=this.currentProviderCap?.efforts;return(e&&e.length?e:[``]).map(e=>({value:e,label:this.effortLabel(e)}))},permissionModeOptions(){let e=this.currentProviderCap?.permission_modes;return(e&&e.length?e:[`default`,`acceptEdits`,`plan`,`bypassPermissions`]).map(e=>({value:e,label:this.permissionModeLabel(e)}))},sessionMeta(){let e=this.currentSession;if(!e)return``;let t=[];return e.provider&&t.push(this.providerName(e.provider)),e.cwd&&t.push(e.cwd),e.model&&t.push(e.model),t.join(` · `)},activeProviderName(){return this.currentSession?.provider||this.provider},slashCommands(){let e=this.activeProviderName;return this.providerCaps.find(t=>t.name===e)?.commands??[]},slashMatches(){let e=this.prompt.match(/^\/(\S*)$/);if(!e)return[];let t=e[1].toLowerCase();return this.slashCommands.filter(e=>[e.name,...e.aliases??[]].some(e=>e.toLowerCase().startsWith(t)))},slashMenuVisible(){return this.slashMenuOpen&&this.slashMatches.length>0},diagnostics(){let e=[];return this.currentNodeId&&e.push({label:this.$t(`codingBridge.session.nodeId`),value:this.currentNodeId}),this.currentSessionId&&e.push({label:this.$t(`codingBridge.session.sessionId`),value:this.currentSessionId}),this.currentSession?.trace_id&&e.push({label:this.$t(`codingBridge.session.traceId`),value:this.currentSession.trace_id}),e}},watch:{eventCount(){this.scrollToBottom()},pendingQuestion(){this.scrollToBottom()},thinking(){this.scrollToBottom()},currentSessionId(){this.cancelSpeechRecognition?.(),this.pinnedToBottom=!0,this.scrollToBottom(),this.visibleCount=Dn,this.editingEventId=``,this.restoreCode=!1,this.syncSessionSettings()},currentNodeId(){this.cancelSpeechRecognition?.(),this.requestCapabilities(),this.isNewSession&&this.restoreComposerPrefs()},nodeOnline(e){e||this.cancelSpeechRecognition?.()},providerCaps(){if(!this.isNewSession||!this.providerCaps.length)return;let e=this.providerCaps.find(e=>e.name===this.provider);if(!e||e.available===!1){let e=this.providerCaps.find(e=>e.available!==!1);e&&(this.provider=e.name)}},provider(){this.isNewSession&&(this.model=``,this.effort=``)},prompt(e){this.slashMenuOpen=/^\/\S*$/.test(e),this.slashActiveIndex>=this.slashMatches.length&&(this.slashActiveIndex=0)}},mounted(){this.requestCapabilities(),this.syncSessionSettings(),this.scrollToBottom(),this.observeTranscript(),this.watchSettingsBreakpoint(),this.initializeSpeechRecognition?.()},updated(){this.observeTranscript()},beforeUnmount(){this.transcriptObserver?.disconnect(),this.transcriptObserver=void 0,this.observedTranscript=void 0,this.settingsMql?.removeEventListener(`change`,this.onSettingsBreakpoint),this.settingsMql=void 0,this.speechController?.dispose(),this.speechController=void 0},methods:{async initializeSpeechRecognition(){let e=Tn();this.speechController=e,this.speechSupported=await e.isSupported()},async toggleSpeechRecognition(){if(this.speechState===`listening`){await this.stopSpeechRecognition();return}this.speechState===`idle`&&await this.startSpeechRecognition()},async startSpeechRecognition(){if(!this.speechController||!this.speechSupported)return;let e=await this.ensureSpeechCredential();if(!e){S.error(this.$t(`codingBridge.session.voiceError`));return}this.speechBasePrompt=this.prompt,this.speechFinalText=``,this.speechInterimText=``,this.speechState=`listening`;try{await this.speechController.start(this.$i18n.locale,e,{onResult:this.applySpeechSnapshot,onEnd:this.finishSpeechRecognition,onError:this.handleSpeechError})}catch{this.finishSpeechRecognition()}},async ensureSpeechCredential(){let e=this.$store.state.openaiimage?.credential?.token;if(e)return e;await this.$store.dispatch(`openaiimage/getService`);let t=await this.$store.dispatch(`openaiimage/getApplications`),n=be([...this.$store.state.applications??[],...t??[]],this.$store.state.openaiimage?.application);return n&&await this.$store.dispatch(`openaiimage/setApplication`,n),e=this.$store.state.openaiimage?.credential?.token,e??``},async stopSpeechRecognition(){if(!(!this.speechController||this.speechState!==`listening`)){this.speechState=`stopping`;try{await this.speechController.stop()}catch{this.handleSpeechError(`unknown`),this.finishSpeechRecognition()}}},async cancelSpeechRecognition(){!this.speechController||this.speechState===`idle`||(this.speechState=`idle`,this.speechInterimText=``,this.applySpeechPrompt(),await this.speechController.abort())},applySpeechSnapshot(e){this.speechState!==`idle`&&(this.speechFinalText=e.finalText,this.speechInterimText=e.interimText,this.applySpeechPrompt())},applySpeechPrompt(){let e=`${this.speechFinalText}${this.speechInterimText}`,t=this.speechBasePrompt&&e?`
|
|
2
|
+
`:``;this.prompt=`${this.speechBasePrompt}${t}${e}`},finishSpeechRecognition(){this.speechState!==`idle`&&(this.speechInterimText=``,this.applySpeechPrompt(),this.speechState=`idle`)},handleSpeechError(e){if(e===`aborted`)return;let t=this.$t({"permission-denied":`codingBridge.session.voicePermissionDenied`,"microphone-unavailable":`codingBridge.session.voiceMicrophoneUnavailable`,"no-speech":`codingBridge.session.voiceNoSpeech`,network:`codingBridge.session.voiceNetworkError`,unknown:`codingBridge.session.voiceError`}[e]);e===`no-speech`?S.warning(t):S.error(t)},watchSettingsBreakpoint(){typeof window>`u`||!window.matchMedia||(this.settingsMql=window.matchMedia(`(max-width: 767px)`),this.mobileSettings=this.settingsMql.matches,this.settingsMql.addEventListener(`change`,this.onSettingsBreakpoint))},onSettingsBreakpoint(e){this.mobileSettings=e.matches,e.matches||(this.moreOpen=!1)},requestCapabilities(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getCapabilities`,this.currentNodeId)},effortLabel(e){let t={"":`codingBridge.session.effortDefault`,low:`codingBridge.session.effortLow`,medium:`codingBridge.session.effortMedium`,high:`codingBridge.session.effortHigh`,max:`codingBridge.session.effortMax`}[e];return t?this.$t(t):e},permissionModeLabel(e){let t={default:`codingBridge.session.permissionModeDefault`,acceptEdits:`codingBridge.session.permissionModeAcceptEdits`,plan:`codingBridge.session.permissionModePlan`,bypassPermissions:`codingBridge.session.permissionModeBypass`}[e];return t?this.$t(t):e},providerName(e){let t=this.providerCaps.find(t=>t.name===e);return t?t.label:{claude:this.$t(`codingBridge.session.providerClaude`),codex:this.$t(`codingBridge.session.providerCodex`),copilot:`GitHub Copilot`}[e]??e},providerIcon(e){return An[e]??null},syncSessionSettings(){let e=this.currentSession;if(!e){this.restoreComposerPrefs();return}let t=this.lastComposer;e.provider&&(this.provider=e.provider),this.model=e.model??``,this.customModelDraft=``,this.cwd=e.cwd??t.cwd??``,this.effort=e.effort??t.effort??``,this.permissionMode=e.permission_mode??t.permissionMode??`bypassPermissions`},selectModel(e){this.model=e,this.customModelDraft=``,this.closeModelPopover()},applyCustomModel(){let e=this.customModelDraft.trim();e&&(this.model=e,this.customModelDraft=``,this.closeModelPopover())},closeModelPopover(){this.$refs.modelPopover?.hide?.()},onComposerEnter(e){let t=e;t.isComposing||t.keyCode===229||t.shiftKey||t.ctrlKey||t.metaKey||t.altKey||(t.preventDefault(),this.onSend())},onComposerKeydown(e){let t=e;if(this.slashMenuVisible&&!t.isComposing&&t.keyCode!==229){if(t.key===`ArrowDown`){t.preventDefault(),this.moveSlash(1);return}if(t.key===`ArrowUp`){t.preventDefault(),this.moveSlash(-1);return}if(t.key===`Escape`){t.preventDefault(),this.slashMenuOpen=!1;return}if(t.key===`Tab`||t.key===`Enter`&&!t.shiftKey){t.preventDefault(),this.applySlash(this.slashMatches[this.slashActiveIndex]);return}}t.key===`Enter`&&this.onComposerEnter(t)},moveSlash(e){let t=this.slashMatches.length;t&&(this.slashActiveIndex=(this.slashActiveIndex+e+t)%t,this.$nextTick(()=>{(this.$el?.querySelector?.(`.cb-slash-menu__item--active`))?.scrollIntoView({block:`nearest`})}))},applySlash(e){e&&(this.prompt=`/${e.name} `,this.slashMenuOpen=!1,this.slashActiveIndex=0)},onSend(){if(!this.canSend)return;this.cancelSpeechRecognition?.();let e=this.attachments;if(this.editingEventId){this.$store.dispatch(`codingBridge/editPrompt`,{eventId:this.editingEventId,prompt:this.prompt,model:this.model,permissionMode:this.permissionMode,effort:this.effort,attachments:e.length?e:void 0,restoreCode:this.restoreCode}),this.resetComposer();return}this.currentNodeId&&this.$store.commit(`codingBridge/setLastComposer`,{node_id:this.currentNodeId,prefs:{cwd:this.cwd,provider:this.provider,model:this.model,permissionMode:this.permissionMode,effort:this.effort}}),this.$store.dispatch(`codingBridge/sendPrompt`,{prompt:this.prompt,cwd:this.cwd,model:this.model,permissionMode:this.permissionMode,provider:this.provider,effort:this.effort,attachments:e.length?e:void 0}),this.resetComposer()},resetComposer(){this.cancelSpeechRecognition?.(),this.prompt=``,this.speechBasePrompt=``,this.speechFinalText=``,this.speechInterimText=``,this.slashMenuOpen=!1,this.slashActiveIndex=0,this.editingEventId=``,this.restoreCode=!1,this.clearAttachments()},cancelEdit(){this.resetComposer()},onAnswerQuestion(e){this.$store.dispatch(`codingBridge/answerQuestion`,{request_id:e.tool_use_id,output:e.output})},onSkipQuestion(e){this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:e.tool_use_id,decision:`deny`})},beforeAttachmentUpload(e){return this.attachmentFileList.length>=Q?(S.warning(this.$t(`codingBridge.session.attachmentLimit`,{count:Q})),!1):e.size>En?(S.warning(this.$t(`codingBridge.session.attachmentTooLarge`)),!1):!0},onAttachmentChange(e){if(!e.url&&e.raw&&this.isImageAttachment(e))try{e.url=URL.createObjectURL(e.raw)}catch{}},onAttachmentSuccess(e,t){e?.file_url&&(this.revokeBlobUrl(t),t.url=e.file_url,t.response=e)},onAttachmentError(){S.error(this.$t(`codingBridge.session.attachmentUploadError`))},onAttachmentExceed(){S.warning(this.$t(`codingBridge.session.attachmentLimit`,{count:Q}))},onTriggerAttachmentUpload(){this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},isAttachmentUploading(e){return e.status===`ready`||e.status===`uploading`},isImageAttachment(e){return(e.raw?.type||``).startsWith(`image/`)?!0:/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(e.name||e.url||``)},attachmentPreviewUrl(e){return this.isImageAttachment(e)&&(e.url||e.response?.file_url)||``},removeAttachment(e,t){this.revokeBlobUrl(t),this.attachmentFileList.splice(e,1)},clearAttachments(){for(let e of this.attachmentFileList)this.revokeBlobUrl(e);this.attachmentFileList=[]},revokeBlobUrl(e){if(e.url?.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}},onInterrupt(){this.$store.dispatch(`codingBridge/interruptSession`)},onRetry(){this.$store.dispatch(`codingBridge/retryLastPrompt`)},onEditPrompt(e){this.canEdit&&(this.cancelSpeechRecognition?.(),this.editingEventId=e.id,this.restoreCode=!1,this.prompt=e.text??``,this.slashMenuOpen=!1,this.slashActiveIndex=0,this.clearAttachments(),this.attachmentFileList=(e.attachments??[]).map((e,t)=>({name:e.name||e.url,url:e.url,status:`success`,percentage:100,uid:Date.now()+t,response:{file_url:e.url},mime_type:e.mime_type})),this.$nextTick(()=>{(this.$el?.querySelector?.(`.cb-composer__input textarea`))?.focus()}))},openDirectory(){this.directoryVisible=!0},onDirectorySelect(e){this.cwd=e},onNewSession(){this.$store.dispatch(`codingBridge/newSession`),this.restoreComposerPrefs(),this.resetComposer()},restoreComposerPrefs(){let e=this.lastComposer;this.cwd=e.cwd??``,this.provider=e.provider??`claude`,this.permissionMode=e.permissionMode??`bypassPermissions`,this.customModelDraft=``,this.$nextTick(()=>{this.model=e.model??``,this.effort=e.effort??``})},scrollToBottom(){if(!this.pinnedToBottom)return;let e=()=>{let e=this.$refs.transcript;e&&(e.scrollTop=e.scrollHeight)};this.$nextTick(()=>{e(),requestAnimationFrame(e)})},observeTranscript(){let e=this.$refs.transcript;e!==this.observedTranscript&&(this.transcriptObserver?.disconnect(),this.transcriptObserver=void 0,this.observedTranscript=e,!(!e||typeof MutationObserver>`u`)&&(this.transcriptObserver=new MutationObserver(()=>this.scheduleScrollToBottom()),this.transcriptObserver.observe(e,{childList:!0,subtree:!0,characterData:!0})))},scheduleScrollToBottom(){!this.pinnedToBottom||this.scrollPending||(this.scrollPending=!0,requestAnimationFrame(()=>{this.scrollPending=!1;let e=this.$refs.transcript;e&&this.pinnedToBottom&&(e.scrollTop=e.scrollHeight)}))},onTranscriptScroll(){let e=this.$refs.transcript;e&&(this.pinnedToBottom=e.scrollHeight-e.scrollTop-e.clientHeight<=kn)},loadEarlier(){let e=this.$refs.transcript,t=e?.scrollHeight??0;this.pinnedToBottom=!1,this.visibleCount+=On,this.$nextTick(()=>{e&&(e.scrollTop=e.scrollHeight-t+e.scrollTop)})}}}),Mn={class:`session-view flex flex-col h-full bg-[var(--app-content-bg)]`},Nn={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-8 text-[var(--app-text-subtle)]`},Pn={class:`text-sm`},Fn={class:`flex items-center justify-between gap-3 px-5 py-3 border-b border-[var(--app-border-subtle)]`},In={class:`flex items-center gap-2 min-w-0`},Ln=[`title`,`aria-label`],Rn={class:`min-w-0`},zn={class:`flex items-center gap-2 font-medium`},Bn={class:`truncate`},Vn={key:0,class:`text-xs text-[var(--app-text-subtle)] truncate`},Hn={key:0,class:`text-[var(--el-color-primary)]`},Un={class:`flex items-center gap-2 flex-none`},Wn={key:0,class:`px-5 py-2 text-xs bg-[var(--el-color-warning-light-9)] text-[var(--el-color-warning)] border-b border-[var(--app-border-subtle)]`},Gn={key:1,class:`flex flex-wrap items-center gap-x-4 gap-y-1 px-5 py-1.5 text-[11px] text-[var(--app-text-subtle)] border-b border-[var(--app-border-subtle)]`},Kn={class:`opacity-70 flex-none`},qn=[`title`],Jn={key:0,class:`cb-skeleton`},Yn={class:`flex flex-col gap-4`},Xn={class:`flex justify-end`},Zn={class:`flex flex-col gap-1.5`},Qn={class:`flex justify-end`},$n={class:`flex flex-col gap-1.5`},er={key:1,class:`m-auto text-center text-sm text-[var(--app-text-subtle)]`},tr=[`title`],nr={key:4,class:`flex justify-center pt-1`},rr={key:2,class:`cb-question-dock flex-none px-5`},ir={class:`border-t border-[var(--app-border-subtle)] p-3`},ar={key:0,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)] px-1 py-2`},or={key:0,class:`mb-2 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-[var(--el-color-primary-light-9)] px-3 py-2 text-xs text-[var(--app-text)]`},sr={class:`inline-flex items-center gap-1.5`},cr={class:`cb-composer rounded-2xl border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-3 py-2.5 transition-colors focus-within:border-[var(--el-color-primary-light-5)]`},lr={key:0,class:`flex flex-wrap gap-2 pb-2`},ur=[`src`,`alt`],dr={key:1,class:`flex h-8 w-8 items-center justify-center rounded bg-[var(--app-content-bg)]`},fr=[`title`],pr={key:2,class:`text-[10px] text-[var(--app-text-subtle)]`},mr=[`title`,`aria-label`,`onClick`],hr={key:1,class:`cb-slash-menu`},gr=[`onMousedown`,`onMouseenter`],_r={class:`cb-slash-menu__name`},vr={key:0,class:`cb-slash-menu__hint`},yr={key:1,class:`cb-slash-menu__desc`},br={ref:`attachmentUploadTrigger`,class:`block h-0 w-0`,"aria-hidden":`true`},xr={class:`mt-1.5 flex items-center gap-1.5`},Sr=[`title`,`aria-label`],Cr=[`disabled`,`title`,`aria-label`,`aria-pressed`],wr={class:`flex min-w-0 flex-1 flex-wrap items-center gap-1.5`},Tr={type:`button`,class:`cb-pill`},Er=[`src`],Dr={class:`truncate`},Or=[`src`],kr={key:1,class:`ml-1 text-xs opacity-60`},Ar={key:1,class:`cb-pill cb-pill--static`},jr=[`src`],Mr={class:`truncate`},Nr=[`title`,`aria-label`],Pr={key:0,class:`cb-setting__label`},Fr={type:`button`,class:`cb-pill`},Ir={class:`truncate`},Lr={class:`cb-model-menu`},Rr={class:`truncate`},zr=[`onClick`],Br={class:`truncate`},Vr={key:0,class:`cb-model-custom`},Hr={key:0,class:`cb-setting__label`},Ur={type:`button`,class:`cb-pill`},Wr={class:`truncate`},Gr={key:0,class:`cb-setting__label`},Kr={type:`button`,class:`cb-pill`},qr={class:`truncate`},Jr={key:0,class:`cb-setting__label`},Yr={type:`button`,class:`cb-pill`},Xr={class:`truncate`},Zr=[`title`,`aria-label`],Qr={key:2,class:`cb-pill cb-pill--static`},$r={class:`truncate`},ei={class:`text-[11px] text-[var(--app-text-subtle)] mt-1 px-1`};function ti(d,f,h,_,y,b){let x=u(`developer-icon`),S=u(`el-button`),C=u(`history-icon`),w=u(`add-icon`),T=u(`copy-to-clipboard`),E=u(`el-skeleton-item`),D=u(`el-skeleton`),O=u(`up-icon`),ee=u(`transcript-item`),te=u(`thinking-indicator`),ne=u(`redo-icon`),k=u(`ask-user-question-card`),re=u(`view-icon`),A=u(`edit-icon`),ie=u(`el-checkbox`),ae=u(`file-icon`),j=u(`close-icon`),M=u(`el-input`),oe=u(`el-upload`),se=u(`attachment-icon`),N=u(`stop-icon`),ce=u(`microphone-icon`),P=u(`code-icon`),F=u(`expand-down-icon`),I=u(`confirm-icon`),L=u(`el-dropdown-item`),R=u(`el-dropdown-menu`),z=u(`el-dropdown`),le=u(`more-icon`),ue=u(`ai-icon`),B=u(`el-popover`),V=u(`performance-icon`),H=u(`security-icon`),U=u(`folder-open-icon`),de=u(`composer-settings`),fe=u(`directory-dialog`);return v(),s(`div`,Mn,[d.currentNode?(v(),s(l,{key:1},[e(`div`,Fn,[e(`div`,In,[e(`button`,{type:`button`,class:`cb-devices-btn md:hidden`,title:d.$t(`codingBridge.nodeList.title`),"aria-label":d.$t(`codingBridge.nodeList.title`),onClick:f[1]||=e=>d.$emit(`devices`)},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ln),e(`div`,Rn,[e(`div`,zn,[e(`span`,Bn,i(d.currentNode.name),1),e(`span`,{class:n([`inline-block w-2 h-2 rounded-full flex-none`,d.nodeOnline?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`])},null,2)]),d.currentSession?(v(),s(`div`,Vn,[e(`span`,null,i(d.sessionMeta),1),d.replayLabel?(v(),s(`span`,Hn,` · `+i(d.replayLabel),1)):o(``,!0)])):o(``,!0)])]),e(`div`,Un,[a(S,{size:`small`,round:``,onClick:f[2]||=e=>d.$emit(`history`)},{default:m(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.history.button`)),1)]),_:1}),d.currentSessionId?(v(),p(S,{key:0,size:`small`,round:``,onClick:d.onNewSession},{default:m(()=>[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])):o(``,!0)])]),d.nodeOnline?o(``,!0):(v(),s(`div`,Wn,i(d.$t(`codingBridge.session.deviceOffline`)),1)),d.diagnostics.length?(v(),s(`div`,Gn,[(v(!0),s(l,null,g(d.diagnostics,t=>(v(),s(`span`,{key:t.label,class:`inline-flex items-center gap-1 min-w-0`},[e(`span`,Kn,i(t.label)+`:`,1),e(`span`,{class:`font-mono break-all`,title:t.value},i(t.value),9,qn),a(T,{content:t.value,class:`inline-block flex-none`},null,8,[`content`])]))),128))])):o(``,!0),e(`div`,{ref:`transcript`,class:`flex-1 min-h-0 overflow-y-auto px-5 py-4 flex flex-col gap-3`,onScroll:f[4]||=(...e)=>d.onTranscriptScroll&&d.onTranscriptScroll(...e)},[d.historyLoading&&!d.events.length?(v(),s(`div`,Jn,[a(D,{animated:``},{template:m(()=>[e(`div`,Yn,[e(`div`,Xn,[a(E,{variant:`rect`,class:`cb-sk cb-sk--user`})]),e(`div`,Zn,[a(E,{variant:`text`,style:{width:`55%`}}),a(E,{variant:`text`,style:{width:`88%`}}),a(E,{variant:`text`,style:{width:`70%`}})]),a(E,{variant:`rect`,class:`cb-sk cb-sk--tool`}),e(`div`,Qn,[a(E,{variant:`rect`,class:`cb-sk cb-sk--user-sm`})]),e(`div`,$n,[a(E,{variant:`text`,style:{width:`80%`}}),a(E,{variant:`text`,style:{width:`45%`}})])])]),_:1})])):d.events.length?o(``,!0):(v(),s(`div`,er,i(d.$t(`codingBridge.session.startHint`)),1)),d.hiddenEventCount>0?(v(),s(`button`,{key:2,type:`button`,class:`cb-load-earlier mx-auto mb-1 flex items-center gap-1.5 rounded-full border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-3 py-1 text-xs text-[var(--app-text-subtle)] hover:text-[var(--el-color-primary)]`,title:`+${d.hiddenEventCount}`,onClick:f[3]||=(...e)=>d.loadEarlier&&d.loadEarlier(...e)},[a(O,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.hiddenEventCount),1)],8,tr)):o(``,!0),(v(!0),s(l,null,g(d.visibleEvents,e=>(v(),p(ee,{key:e.id,event:e,editable:d.canEdit,onEdit:d.onEditPrompt},null,8,[`event`,`editable`,`onEdit`]))),128)),d.thinking?(v(),p(te,{key:3})):o(``,!0),d.canRetry?(v(),s(`div`,nr,[a(S,{size:`small`,round:``,onClick:d.onRetry},{default:m(()=>[a(ne,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.retry`)),1)]),_:1},8,[`onClick`])])):o(``,!0)],544),d.pendingQuestion?(v(),s(`div`,rr,[(v(),p(k,{key:d.pendingQuestion.request_id,"tool-use-id":d.pendingQuestion.request_id,payload:d.pendingQuestion.payload,onSubmit:d.onAnswerQuestion,onSkip:d.onSkipQuestion},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onSkip`]))])):o(``,!0),e(`div`,ir,[d.readonly?(v(),s(`div`,ar,[a(re,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(d.$t(`codingBridge.history.readonly`)),1),a(S,{class:`ml-auto`,size:`small`,round:``,onClick:d.onNewSession},{default:m(()=>[r(i(d.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])])):(v(),s(l,{key:1},[d.editingActive?(v(),s(`div`,or,[e(`span`,sr,[a(A,{class:`text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.editingBanner`)),1)]),d.canRestoreCode?(v(),p(ie,{key:0,modelValue:d.restoreCode,"onUpdate:modelValue":f[5]||=e=>d.restoreCode=e,size:`small`,class:`cb-restore-code`},{default:m(()=>[r(i(d.$t(`codingBridge.session.editRestoreCode`)),1)]),_:1},8,[`modelValue`])):o(``,!0),e(`button`,{type:`button`,class:`ml-auto cb-edit-cancel`,onClick:f[6]||=(...e)=>d.cancelEdit&&d.cancelEdit(...e)},i(d.$t(`codingBridge.session.editCancel`)),1)])):o(``,!0),e(`div`,cr,[d.attachmentFileList.length?(v(),s(`div`,lr,[(v(!0),s(l,null,g(d.attachmentFileList,(t,n)=>(v(),s(`div`,{key:t.uid||t.name||n,class:`group relative flex max-w-[220px] items-center gap-2 rounded-md border border-[var(--app-border-subtle)] bg-[var(--app-sidebar-bg)] px-2 py-1.5 text-xs`},[d.attachmentPreviewUrl(t)?(v(),s(`img`,{key:0,src:d.attachmentPreviewUrl(t),class:`h-8 w-8 rounded object-cover`,alt:d.$t(`codingBridge.session.attachmentImageAlt`)},null,8,ur)):(v(),s(`span`,dr,[a(ae,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])),e(`span`,{class:`min-w-0 flex-1 truncate`,title:t.name},i(t.name),9,fr),d.isAttachmentUploading(t)?(v(),s(`span`,pr,i(Math.round(t.percentage||0))+`% `,1)):o(``,!0),e(`button`,{type:`button`,class:`flex h-5 w-5 items-center justify-center rounded-full text-[var(--app-text-subtle)] hover:bg-[var(--app-content-hover-bg)] hover:text-[var(--el-color-danger)]`,title:d.$t(`codingBridge.session.removeAttachment`),"aria-label":d.$t(`codingBridge.session.removeAttachment`),onClick:e=>d.removeAttachment(n,t)},[a(j,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,mr)]))),128))])):o(``,!0),d.slashMenuVisible?(v(),s(`ul`,hr,[(v(!0),s(l,null,g(d.slashMatches,(r,a)=>(v(),s(`li`,{key:r.name,class:n([`cb-slash-menu__item`,{"cb-slash-menu__item--active":a===d.slashActiveIndex}]),onMousedown:t(e=>d.applySlash(r),[`prevent`]),onMouseenter:e=>d.slashActiveIndex=a},[e(`span`,_r,`/`+i(r.name),1),r.argument_hint?(v(),s(`span`,vr,i(r.argument_hint),1)):o(``,!0),r.description?(v(),s(`span`,yr,i(r.description),1)):o(``,!0)],42,gr))),128))])):o(``,!0),a(M,{modelValue:d.prompt,"onUpdate:modelValue":f[7]||=e=>d.prompt=e,type:`textarea`,autosize:{minRows:2,maxRows:12},resize:`none`,class:`cb-composer__input`,readonly:d.speechActive,placeholder:d.$t(`codingBridge.session.promptPlaceholder`),onKeydown:d.onComposerKeydown},null,8,[`modelValue`,`readonly`,`placeholder`,`onKeydown`]),a(oe,{ref:`uploader`,"file-list":d.attachmentFileList,"onUpdate:fileList":f[8]||=e=>d.attachmentFileList=e,class:`h-0 w-0 overflow-hidden opacity-0`,name:`file`,action:d.uploadUrl,headers:d.headers,multiple:!0,limit:d.maxAttachments,"show-file-list":!1,"before-upload":d.beforeAttachmentUpload,"on-change":d.onAttachmentChange,"on-success":d.onAttachmentSuccess,"on-error":d.onAttachmentError,"on-exceed":d.onAttachmentExceed},{default:m(()=>[e(`span`,br,null,512)]),_:1},8,[`file-list`,`action`,`headers`,`limit`,`before-upload`,`on-change`,`on-success`,`on-error`,`on-exceed`]),e(`div`,xr,[e(`button`,{type:`button`,class:`cb-icon-btn`,title:d.$t(`codingBridge.session.attachFile`),"aria-label":d.$t(`codingBridge.session.attachFile`),onClick:f[9]||=(...e)=>d.onTriggerAttachmentUpload&&d.onTriggerAttachmentUpload(...e)},[a(se,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Sr),d.speechSupported?(v(),s(`button`,{key:0,type:`button`,class:n([`cb-icon-btn cb-voice-btn`,{"cb-voice-btn--active":d.speechActive}]),disabled:d.speechState===`stopping`,title:d.$t(d.speechActive?`codingBridge.session.voiceStop`:`codingBridge.session.voiceInput`),"aria-label":d.$t(d.speechActive?`codingBridge.session.voiceStop`:`codingBridge.session.voiceInput`),"aria-pressed":d.speechActive,onClick:f[10]||=(...e)=>d.toggleSpeechRecognition&&d.toggleSpeechRecognition(...e)},[d.speechActive?(v(),p(N,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(ce,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`}))],10,Cr)):o(``,!0),e(`div`,wr,[d.isNewSession?(v(),p(z,{key:0,trigger:`click`,onCommand:f[11]||=e=>d.provider=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.providerOptions,e=>(v(),p(L,{key:e.value,command:e.value,disabled:!e.available},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.provider?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),d.providerIcon(e.value)?(v(),s(`img`,{key:0,src:d.providerIcon(e.value).src,class:n([`cb-pill__brand mr-1.5`,{"cb-pill__brand--invert":d.providerIcon(e.value).invertOnDark}]),alt:``},null,10,Or)):o(``,!0),r(` `+i(e.label)+` `,1),e.available?o(``,!0):(v(),s(`span`,kr,i(d.$t(`codingBridge.session.providerUnavailable`)),1))]),_:2},1032,[`command`,`disabled`]))),128))]),_:1})]),default:m(()=>[e(`button`,Tr,[d.providerIcon(d.provider)?(v(),s(`img`,{key:0,src:d.providerIcon(d.provider).src,class:n([`cb-pill__brand`,{"cb-pill__brand--invert":d.providerIcon(d.provider).invertOnDark}]),alt:``},null,10,Er)):(v(),p(P,{key:1,class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Dr,i(d.providerName(d.provider)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})):(v(),s(`span`,Ar,[d.providerIcon(d.currentSession?.provider||`claude`)?(v(),s(`img`,{key:0,src:d.providerIcon(d.currentSession?.provider||`claude`).src,class:n([`cb-pill__brand`,{"cb-pill__brand--invert":d.providerIcon(d.currentSession?.provider||`claude`).invertOnDark}]),alt:``},null,10,jr)):(v(),p(P,{key:1,class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Mr,i(d.providerName(d.currentSession?.provider||`claude`)),1)])),e(`button`,{type:`button`,class:`cb-icon-btn cb-more-btn`,title:d.$t(`codingBridge.session.settings`),"aria-label":d.$t(`codingBridge.session.settings`),onClick:f[12]||=e=>d.moreOpen=!0},[a(le,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Nr),a(de,{open:d.moreOpen,"onUpdate:open":f[21]||=e=>d.moreOpen=e,dialog:d.mobileSettings},{default:m(()=>[e(`div`,{class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Pr,i(d.$t(`chat.scheduledTasks.form.model`)),1)):o(``,!0),a(B,{ref:`modelPopover`,trigger:`click`,placement:`top-start`,width:260},{reference:m(()=>[e(`button`,Fr,[a(ue,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Ir,i(d.model||d.$t(`codingBridge.session.modelDefault`)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),default:m(()=>[e(`div`,Lr,[e(`button`,{type:`button`,class:`cb-model-option`,onClick:f[13]||=e=>d.selectModel(``)},[a(I,{class:n([`cb-model-option__check`,d.model?`opacity-0`:`opacity-100`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),e(`span`,Rr,i(d.$t(`codingBridge.session.modelDefault`)),1)]),(v(!0),s(l,null,g(d.modelOptions,t=>(v(),s(`button`,{key:t.value,type:`button`,class:`cb-model-option`,onClick:e=>d.selectModel(t.value)},[a(I,{class:n([`cb-model-option__check`,t.value===d.model?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),e(`span`,Br,i(t.label),1)],8,zr))),128)),d.allowCustomModel?(v(),s(`div`,Vr,[a(M,{modelValue:d.customModelDraft,"onUpdate:modelValue":f[14]||=e=>d.customModelDraft=e,size:`small`,placeholder:d.$t(`codingBridge.session.modelPlaceholder`),onKeyup:c(d.applyCustomModel,[`enter`])},{append:m(()=>[a(S,{disabled:!d.customModelDraft.trim(),"aria-label":d.$t(`common.button.confirm`),title:d.$t(`common.button.confirm`),onClick:d.applyCustomModel},{default:m(()=>[a(I,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`modelValue`,`placeholder`,`onKeyup`])])):o(``,!0)])]),_:1},512)],2),d.effortOptions.length>1?(v(),s(`div`,{key:0,class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Hr,i(d.$t(`codingBridge.session.effortLabel`)),1)):o(``,!0),a(z,{trigger:`click`,onCommand:f[15]||=e=>d.effort=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.effortOptions,e=>(v(),p(L,{key:e.value,command:e.value},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.effort?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),r(` `+i(e.label),1)]),_:2},1032,[`command`]))),128))]),_:1})]),default:m(()=>[e(`button`,Ur,[a(V,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Wr,i(d.effortLabel(d.effort)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})],2)):o(``,!0),e(`div`,{class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Gr,i(d.$t(`codingBridge.session.permissionModeLabel`)),1)):o(``,!0),a(z,{trigger:`click`,onCommand:f[16]||=e=>d.permissionMode=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.permissionModeOptions,e=>(v(),p(L,{key:e.value,command:e.value},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.permissionMode?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),r(` `+i(e.label),1)]),_:2},1032,[`command`]))),128))]),_:1})]),default:m(()=>[e(`button`,Kr,[a(H,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,qr,i(d.permissionModeLabel(d.permissionMode)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})],2),d.canPickCwd||d.currentSession?.cwd?(v(),s(`div`,{key:1,class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Jr,i(d.$t(`common.settings.localToolsWorkingDirTitle`)),1)):o(``,!0),d.canPickCwd?(v(),p(B,{key:1,trigger:`click`,placement:`top-start`,width:320},{reference:m(()=>[e(`button`,Yr,[a(U,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Xr,i(d.cwd||d.$t(`codingBridge.session.cwdDefault`)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),default:m(()=>[a(M,{modelValue:d.cwd,"onUpdate:modelValue":f[20]||=e=>d.cwd=e,size:`small`,clearable:``,class:`cb-cwd-input`,placeholder:d.$t(`codingBridge.session.cwdPlaceholder`)},{suffix:m(()=>[e(`span`,{class:`cb-cwd-browse`,role:`button`,tabindex:`0`,title:d.$t(`codingBridge.directory.title`),"aria-label":d.$t(`codingBridge.directory.title`),onClick:f[17]||=(...e)=>d.openDirectory&&d.openDirectory(...e),onKeydown:[f[18]||=c(t((...e)=>d.openDirectory&&d.openDirectory(...e),[`prevent`]),[`enter`]),f[19]||=c(t((...e)=>d.openDirectory&&d.openDirectory(...e),[`prevent`]),[`space`])]},[a(U,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],40,Zr)]),_:1},8,[`modelValue`,`placeholder`])]),_:1})):(v(),s(`span`,Qr,[a(U,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,$r,i(d.currentSession?.cwd),1)]))],2)):o(``,!0)]),_:1},8,[`open`,`dialog`])]),d.running?(v(),p(S,{key:1,circle:``,"aria-label":d.$t(`common.button.stop`),title:d.$t(`common.button.stop`),onClick:d.onInterrupt},{default:m(()=>[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`])):o(``,!0),a(S,{type:`primary`,round:``,disabled:!d.canSend,onClick:d.onSend},{default:m(()=>[r(i(d.editingActive?d.$t(`codingBridge.session.editSubmit`):d.$t(`codingBridge.session.send`)),1)]),_:1},8,[`disabled`,`onClick`])])]),e(`p`,ei,i(d.composerHint),1)],64))])],64)):(v(),s(`div`,Nn,[a(x,{class:`text-4xl mb-3`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Pn,i(d.$t(`codingBridge.session.noDevice`)),1),a(S,{class:`md:hidden mt-4`,round:``,onClick:f[0]||=e=>d.$emit(`devices`)},{default:m(()=>[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.nodeList.title`)),1)]),_:1})])),a(fe,{visible:d.directoryVisible,"onUpdate:visible":f[22]||=e=>d.directoryVisible=e,"initial-path":d.cwd,onSelect:d.onDirectorySelect},null,8,[`visible`,`initial-path`,`onSelect`])])}var ni=J(jn,[[`render`,ti],[`__scopeId`,`data-v-adb11f90`]]),ri=y({name:`CodingBridgePairDialog`,components:{LinkIcon:R,ElDialog:q,ElInput:W,ElButton:K},props:{visible:{type:Boolean,default:!1},initialCode:{type:String,default:``}},emits:[`update:visible`],data(){return{code:``}},computed:{claiming(){return this.$store.state.codingBridge?.status?.claimPair===x.Request}},watch:{visible(e){e&&this.initialCode&&(this.code=this.initialCode)},initialCode(e){e&&(this.code=e)}},methods:{async onClaim(){let e=this.code.trim();if(e)try{let t=await this.$store.dispatch(`codingBridge/claimPair`,e);S.success(this.$t(`codingBridge.pair.success`,{name:t})),this.code=``,this.$emit(`update:visible`,!1)}catch(e){let t=e?.response?.status;t===404?S.error(this.$t(`codingBridge.pair.invalidCode`)):t===409?S.error(this.$t(`codingBridge.pair.usedCode`)):S.error(this.$t(`codingBridge.pair.failed`))}}}}),ii={class:`content`},ai={class:`text-sm text-[var(--app-text-subtle)] mb-4`},oi={class:`steps list-none m-0 p-0 mb-4`},si={class:`flex gap-3 mb-3`},ci={class:`flex-1 min-w-0`},li={class:`text-sm mb-1`},ui={class:`flex gap-3 mb-3`},di={class:`flex-1 min-w-0`},fi={class:`text-sm mb-1`},pi={class:`flex gap-3`},mi={class:`flex-1 min-w-0`},hi={class:`text-sm`};function gi(t,n,o,s,l,d){let f=u(`el-input`),h=u(`link-icon`),g=u(`el-button`),_=u(`el-dialog`);return v(),p(_,{"model-value":t.visible,width:`520px`,title:t.$t(`codingBridge.pair.title`),center:``,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:visible`,e)},{default:m(()=>[e(`div`,ii,[e(`p`,ai,i(t.$t(`codingBridge.pair.intro`)),1),e(`ol`,oi,[e(`li`,si,[n[3]||=e(`span`,{class:`step-index`},`1`,-1),e(`div`,ci,[e(`p`,li,i(t.$t(`codingBridge.pair.step1`)),1),n[2]||=e(`code`,{class:`cmd`},`pip install coding-bridge`,-1)])]),e(`li`,ui,[n[5]||=e(`span`,{class:`step-index`},`2`,-1),e(`div`,di,[e(`p`,fi,i(t.$t(`codingBridge.pair.step2`)),1),n[4]||=e(`code`,{class:`cmd`},`coding-bridge up`,-1)])]),e(`li`,pi,[n[6]||=e(`span`,{class:`step-index`},`3`,-1),e(`div`,mi,[e(`p`,hi,i(t.$t(`codingBridge.pair.step3`)),1)])])]),a(f,{modelValue:t.code,"onUpdate:modelValue":n[0]||=e=>t.code=e,size:`large`,class:`mb-3`,placeholder:t.$t(`codingBridge.pair.codePlaceholder`),clearable:``,onKeyup:c(t.onClaim,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),a(g,{type:`primary`,round:``,class:`w-full`,loading:t.claiming,disabled:!t.code.trim(),onClick:t.onClaim},{default:m(()=>[a(h,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.pair.claim`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1},8,[`model-value`,`title`])}var _i=J(ri,[[`render`,gi],[`__scopeId`,`data-v-54bd85f1`]]),vi=y({name:`CodingBridgePermissionDialog`,components:{CloseIcon:Y,CodeIcon:j,ConfirmIcon:A,ElDialog:q,ElButton:K},computed:{request(){return(this.$store.state.codingBridge?.permissions??[]).find(e=>!tt(e))},hasInput(){return!!this.request?.input&&Object.keys(this.request.input).length>0},inputText(){try{return JSON.stringify(this.request?.input,null,2)}catch{return String(this.request?.input??``)}}},methods:{onAllow(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`allow`})},onDeny(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`deny`})}}}),yi={key:0,class:`content`},bi={class:`text-sm text-[var(--app-text-subtle)] mb-3`},xi={class:`rounded-md border border-[var(--app-border-subtle)] p-3 mb-3`},Si={class:`flex items-center gap-2 font-medium`},Ci={key:0,class:`text-xs text-[var(--app-text-subtle)] mt-1`},wi={key:1,class:`mt-2 text-xs overflow-x-auto whitespace-pre-wrap break-words text-[var(--app-text-subtle)] max-h-[200px]`},Ti={class:`flex justify-end gap-2`};function Ei(t,n,c,l,d,f){let h=u(`code-icon`),g=u(`close-icon`),_=u(`el-button`),y=u(`confirm-icon`),b=u(`el-dialog`);return v(),p(b,{"model-value":!!t.request,width:`480px`,title:t.$t(`codingBridge.permission.title`),"close-on-click-modal":!1,"show-close":!1,center:``},{footer:m(()=>[e(`div`,Ti,[a(_,{round:``,onClick:t.onDeny},{default:m(()=>[a(g,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.permission.deny`)),1)]),_:1},8,[`onClick`]),a(_,{type:`primary`,round:``,onClick:t.onAllow},{default:m(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.permission.allow`)),1)]),_:1},8,[`onClick`])])]),default:m(()=>[t.request?(v(),s(`div`,yi,[e(`p`,bi,i(t.$t(`codingBridge.permission.subtitle`)),1),e(`div`,xi,[e(`div`,Si,[a(h,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.request.display_name||t.request.title||t.request.tool),1)]),t.request.description?(v(),s(`p`,Ci,i(t.request.description),1)):o(``,!0),t.hasInput?(v(),s(`pre`,wi,i(t.inputText),1)):o(``,!0)])])):o(``,!0)]),_:1},8,[`model-value`,`title`])}var Di=J(vi,[[`render`,Ei]]),Oi={claude:{src:_n,invertOnDark:!1},codex:{src:vn,invertOnDark:!0},copilot:{src:yn,invertOnDark:!0}},$=[`claude`,`codex`,`copilot`],ki=y({name:`CodingBridgeHistoryDrawer`,components:{CodeIcon:j,RedoIcon:U,ElDrawer:w,ElButton:K},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`],data(){return{selectedProviders:[]}},computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},loading(){return this.$store.state.codingBridge?.status?.getHistory===x.Request},allSessions(){let e=this.currentNodeId;return[...e?this.$store.state.codingBridge?.history?.[e]??[]:[]].sort((e,t)=>(t.updated_at??0)-(e.updated_at??0))},sessions(){return this.selectedProviders.length?this.allSessions.filter(e=>this.selectedProviders.includes(e.provider)):this.allSessions},providerOptions(){let e=new Map;return this.allSessions.forEach(t=>{e.set(t.provider,(e.get(t.provider)??0)+1)}),[...e.entries()].sort(([e],[t])=>{let n=$.indexOf(e),r=$.indexOf(t);return n===r?e.localeCompare(t):(n<0?$.length:n)-(r<0?$.length:r)}).map(([e,t])=>({value:e,label:this.providerLabel(e),count:t,icon:this.providerIcon(e)}))}},watch:{visible(e){e&&this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},currentNodeId(){this.selectedProviders=[]}},methods:{isSelected(e){return this.selectedProviders.includes(e)},toggle(e){this.selectedProviders=this.isSelected(e)?this.selectedProviders.filter(t=>t!==e):[...this.selectedProviders,e]},clearFilter(){this.selectedProviders=[]},providerLabel(e){return{claude:`Claude Code`,codex:`Codex`,copilot:`GitHub Copilot`}[e]??e},providerIcon(e){return Oi[e]??null},refresh(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},open(e){this.currentNodeId&&(e.unread&&this.$store.dispatch(`codingBridge/markHistoryRead`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id,updated_at:e.updated_at}),this.$store.dispatch(`codingBridge/reattachSession`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id}),this.$emit(`update:visible`,!1))},formatTime(e){try{return new Date(e).toLocaleString()}catch{return``}}}}),Ai={class:`flex flex-col h-full`},ji={class:`flex items-center justify-between mb-3`},Mi={class:`text-xs text-[var(--app-text-subtle)] m-0`},Ni={key:0,class:`flex flex-wrap items-center gap-1.5 mb-3`},Pi=[`aria-pressed`,`onClick`],Fi=[`src`],Ii={class:`chip-count`},Li={key:1,class:`m-auto text-sm text-[var(--app-text-subtle)]`},Ri={key:2,class:`m-auto text-sm text-[var(--app-text-subtle)]`},zi={key:3,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},Bi={key:4,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},Vi={class:`m-0`},Hi={key:5,class:`list-none m-0 p-0 flex-1 overflow-y-auto flex flex-col gap-2`},Ui=[`onClick`],Wi={class:`flex items-center gap-2 mb-1`},Gi=[`src`,`alt`],Ki=[`title`],qi=[`title`],Ji={class:`text-[11px] text-[var(--app-text-subtle)] truncate`},Yi={key:0},Xi={key:1},Zi={class:`text-[11px] text-[var(--app-text-subtle)] mt-0.5`},Qi={key:0},$i={key:1};function ea(t,c,d,f,h,_){let y=u(`redo-icon`),b=u(`el-button`),x=u(`code-icon`),S=u(`el-drawer`);return v(),p(S,{"model-value":t.visible,direction:`rtl`,size:`380px`,title:t.$t(`codingBridge.history.title`),"onUpdate:modelValue":c[1]||=e=>t.$emit(`update:visible`,e)},{default:m(()=>[e(`div`,Ai,[e(`div`,ji,[e(`p`,Mi,i(t.$t(`codingBridge.history.intro`)),1),a(b,{size:`small`,round:``,loading:t.loading,onClick:t.refresh},{default:m(()=>[t.loading?o(``,!0):(v(),p(y,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(t.$t(`codingBridge.history.refresh`)),1)]),_:1},8,[`loading`,`onClick`])]),t.providerOptions.length>1?(v(),s(`div`,Ni,[(v(!0),s(l,null,g(t.providerOptions,r=>(v(),s(`button`,{key:r.value,type:`button`,class:n([`chip`,{"chip--active":t.isSelected(r.value)}]),"aria-pressed":t.isSelected(r.value),onClick:e=>t.toggle(r.value)},[r.icon?(v(),s(`img`,{key:0,src:r.icon.src,class:n([`provider-icon`,{"provider-icon--invert":r.icon.invertOnDark}]),alt:``,"aria-hidden":`true`},null,10,Fi)):(v(),p(x,{key:1,class:`provider-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(r.label),1),e(`span`,Ii,i(r.count),1)],10,Pi))),128)),t.selectedProviders.length?(v(),s(`button`,{key:0,type:`button`,class:`chip-clear`,onClick:c[0]||=(...e)=>t.clearFilter&&t.clearFilter(...e)},i(t.$t(`codingBridge.history.filterAll`)),1)):o(``,!0)])):o(``,!0),t.currentNodeId?t.loading&&!t.allSessions.length?(v(),s(`div`,Ri,i(t.$t(`codingBridge.history.loading`)),1)):t.allSessions.length?t.sessions.length?(v(),s(`ul`,Hi,[(v(!0),s(l,null,g(t.sessions,r=>(v(),s(`li`,{key:r.provider+`:`+r.session_id,class:`item rounded-lg p-3 cursor-pointer border border-[var(--app-border-subtle)]`,onClick:e=>t.open(r)},[e(`div`,Wi,[t.providerIcon(r.provider)?(v(),s(`img`,{key:0,src:t.providerIcon(r.provider).src,class:n([`provider-icon`,{"provider-icon--invert":t.providerIcon(r.provider).invertOnDark}]),alt:t.providerLabel(r.provider)},null,10,Gi)):(v(),p(x,{key:1,class:`provider-icon`,title:t.providerLabel(r.provider),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`title`])),e(`span`,{class:n([`text-sm truncate flex-1`,r.unread?`font-bold`:`font-normal`]),title:r.unread?t.$t(`codingBridge.history.unread`):void 0},i(r.title),11,Ki),r.running?(v(),s(`span`,{key:2,class:`running-dot`,title:t.$t(`codingBridge.history.running`)},null,8,qi)):o(``,!0)]),e(`div`,Ji,[r.cwd?(v(),s(`span`,Yi,i(r.cwd),1)):o(``,!0),r.git_branch?(v(),s(`span`,Xi,` · `+i(r.git_branch),1)):o(``,!0)]),e(`div`,Zi,[r.updated_at?(v(),s(`span`,Qi,i(t.formatTime(r.updated_at)),1)):o(``,!0),r.message_count?(v(),s(`span`,$i,` · `+i(t.$t(`codingBridge.history.messages`,{count:r.message_count})),1)):o(``,!0)])],8,Ui))),128))])):(v(),s(`div`,Bi,[e(`p`,Vi,i(t.$t(`codingBridge.history.filterEmpty`)),1),a(b,{class:`mt-2`,size:`small`,round:``,onClick:t.clearFilter},{default:m(()=>[r(i(t.$t(`codingBridge.history.filterAll`)),1)]),_:1},8,[`onClick`])])):(v(),s(`div`,zi,i(t.$t(`codingBridge.history.empty`)),1)):(v(),s(`div`,Li,i(t.$t(`codingBridge.session.noDevice`)),1))])]),_:1},8,[`model-value`,`title`])}var ta=y({name:`CodingBridgeIndex`,components:{ElDrawer:w,NodeList:$e,SessionView:ni,PairDialog:_i,PermissionDialog:Di,HistoryDrawer:J(ki,[[`render`,ea],[`__scopeId`,`data-v-abb16563`]])},data(){return{drawer:!1,pairVisible:!1,historyVisible:!1,initialCode:``}},mounted(){this.$store.dispatch(`codingBridge/connect`),this.$store.dispatch(`codingBridge/getNodes`);let e=this.$route.query.code;typeof e==`string`&&e&&(this.initialCode=e,this.pairVisible=!0),this.restoreFromUrl(),this.handleNotificationDeepLink(),this.cleanUrl()},beforeUnmount(){this.$store.dispatch(`codingBridge/disconnect`)},methods:{openPair(){this.initialCode=``,this.pairVisible=!0},openPairFromDrawer(){this.drawer=!1,this.openPair()},restoreFromUrl(){let e=this.$route.query,t=typeof e.session==`string`?e.session:``,n=typeof e.node==`string`?e.node:``;if(!t||!n)return;let r=e.provider===`codex`||e.provider===`copilot`?e.provider:`claude`;this.$store.commit(`codingBridge/setCurrentNode`,n),this.$store.commit(`codingBridge/setHistoryRef`,{node_id:n,provider:r,session_id:t}),this.$store.dispatch(`codingBridge/getHistory`,n),this.$store.dispatch(`codingBridge/requestSessions`,n)},cleanUrl(){let e=this.$route.query,t=[`session`,`node`,`provider`,`request`,`code`];if(!t.some(t=>t in e))return;let n={...e};t.forEach(e=>delete n[e]),this.$router.replace({query:n}).catch(()=>{})},handleNotificationDeepLink(){let e=this.$route.query.node;typeof e==`string`&&e&&(this.$route.query.session||this.$store.dispatch(`codingBridge/selectNode`,e),this.$store.dispatch(`codingBridge/requestPendingPermissions`,e))}}}),na={class:`coding-bridge flex flex-row h-full relative`};function ra(e,t,n,r,i,o){let c=u(`node-list`),l=u(`session-view`),d=u(`el-drawer`),f=u(`pair-dialog`),p=u(`permission-dialog`),h=u(`history-drawer`);return v(),s(`div`,na,[a(c,{class:`sidebar w-[300px] flex-none`,onPair:e.openPair},null,8,[`onPair`]),a(l,{class:`flex-1 min-w-0`,onHistory:t[0]||=t=>e.historyVisible=!0,onDevices:t[1]||=t=>e.drawer=!0}),a(d,{modelValue:e.drawer,"onUpdate:modelValue":t[2]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`300px`,class:`drawer`},{default:m(()=>[a(c,{onPair:e.openPairFromDrawer},null,8,[`onPair`])]),_:1},8,[`modelValue`]),a(f,{visible:e.pairVisible,"onUpdate:visible":t[3]||=t=>e.pairVisible=t,"initial-code":e.initialCode},null,8,[`visible`,`initial-code`]),a(p),a(h,{visible:e.historyVisible,"onUpdate:visible":t[4]||=t=>e.historyVisible=t},null,8,[`visible`])])}var ia=J(ta,[[`render`,ra],[`__scopeId`,`data-v-2879fe0f`]]);export{ia as default};
|
|
@@ -0,0 +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,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-CKdhNIc_.js";import{t as _}from"./upload-86r_qBlw.js";import{t as v}from"./tooltip-siz_AHre.js";import{t as y}from"./alert-BprQRUmf.js";import{h as b,v as x}from"./models-C3taPMyR.js";import{t as S}from"./clock-BjY8ddGs.js";import{a as C,i as w,n as T,r as E,s as D,t as O}from"./pagination-Ct9iwsuK.js";import{t as k}from"./info-DkDuo54u.js";import{t as A}from"./trash-2-BD_rYfpa.js";import{t as j}from"./triangle-alert-DHBBLtTd.js";import{t as M}from"./wand-sparkles-BJbx6jvi.js";import{gr as N}from"./constants-BMkG7xao.js";import{$ as ee,Da as P,Ga as F,Ii as I,J as L,O as te,Pi as R,Q as z,Xi as B,ci as V,et as H,gr as U,hr as W,ja as G,k as K,kn as q,nt as J,oi as Y,tt as X,xn as Z}from"./index-Dk3occrO.js";import{t as Q}from"./CopyToClipboard-BjRfLoil.js";import{t as ne}from"./ReportButton-lzZe3i6C.js";import{t as re}from"./ImagePreview-aPBlpOJ8.js";import{t as ie}from"./ServicePricingSummary-DOii-08b.js";import{t as ae}from"./VideoPlayer-Dc-1lN9r.js";import{t as oe}from"./ScenarioPaymentMode-BR4cXZk8.js";import{t as se}from"./ApiCodeButton-DSQPf-rd.js";import{t as ce}from"./BotPlaceholder-DgI03cxu.js";import{t as le}from"./Hailuo-BqqLVX5X.js";var ue=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=N}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,de,[e(`h2`,fe,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,pe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=K(ue,[[`render`,me],[`__scopeId`,`data-v-a768fbd9`]]),ge=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:F,InfoIcon:C,ImagePreview:re},mixins:[J,X,ee,L],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),_e={class:`relative`},ve={class:`flex justify-between`},ye={class:`flex justify-start items-center`},be={class:`text-sm font-bold`};function xe(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,_e,[e(`div`,ve,[e(`div`,ye,[e(`span`,be,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Se=K(ge,[[`render`,xe],[`__scopeId`,`data-v-322d7e4c`]]),Ce=m({name:`PromptInput`,components:{PromptTextarea:w},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function we(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Te=m({name:`PresetPanel`,components:{MagicIcon:M,ElButton:F,PromptInput:K(Ce,[[`render`,we]]),StartImageUrlInput:Se,ModelSelector:he,ServicePricingSummary:ie,ScenarioPaymentMode:oe},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.hailuo?.config},consumption(){return Z(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service},walletMode(){return R()&&I(`hailuo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=I(`hailuo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await U.quote(W(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Ee={class:`flex flex-col h-full`},De={class:`flex-1 overflow-y-auto p-5`},Oe={class:`flex flex-col items-center justify-center px-5 pb-5`};function ke(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`scenario-payment-mode`),b=l(`service-pricing-summary`),x=l(`magic-icon`),S=l(`el-button`);return p(),s(`div`,Ee,[e(`div`,De,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Oe,[a(y,{scenario:`hailuo`}),t.walletMode?o(``,!0):(p(),u(b,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(p(),u(S,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`onClick`])):(p(),u(S,{key:2,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var Ae=K(Te,[[`render`,ke]]),je=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:D,InfoIcon:k,MagicIcon:M,TimeIcon:S,WarningIcon:j,CopyToClipboard:Q,ElAlert:y,VideoPlayer:ae,ElTooltip:v,ElButton:F,ApiCodeButton:se,ReportButton:ne},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.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(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Me={class:`preview`},Ne={class:`left`},Pe={class:`main`},Fe={class:`bot`},Ie={class:`datetime`},Le=[`aria-label`],Re={class:`info`},ze={key:0,class:`prompt mt-2`},Be={key:0},Ve={key:1},He={key:0,class:n({content:!0,failed:!0})},Ue={key:0,class:`mb-4`},We={key:1,class:n({operations:!0,"mt-2":!0})},Ge={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ke={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qe={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Je={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ze={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qe={key:2,class:n({content:!0})},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function et(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Me,[e(`div`,Ne,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,Pe,[e(`div`,Fe,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,Ie,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Le)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Re,[n.modelValue?.request?.prompt?(p(),s(`p`,ze,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Be,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,Ve,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,He,[n.video?.video_url?(p(),s(`div`,Ue,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,We,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Ge,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,Ke,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,qe,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Je,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Ye,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Xe,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ze,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,Qe,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,$e,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var tt=m({name:`RecentPanel`,components:{TaskPreview:K(je,[[`render`,et],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:ce,NoTasks:E,ScrollList:T},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nt={key:0},rt={key:2,class:`w-full h-full flex items-center justify-center`};function it(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,nt,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,rt,[a(v)])):o(``,!0)],64)}var at=m({name:`HailuoIndex`,components:{ConfigPanel:Ae,Layout:le,RecentPanel:K(tt,[[`render`,it]])},mixins:[H],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks},walletMode(){return R()&&I(`hailuo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`hailuo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await O({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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`hailuo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!z(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let e=W(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){x.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=U.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!q())return;let n=this.credential?.token;if(!n)return;t=U.generate(e,{token:n})}x.info(this.$t(`hailuo.message.startingTask`)),B(`hailuo`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{e instanceof Y||te(e,`hailuo`)||(this.walletMode?x.error(this.$t(`common.x402Scenario.paymentFailed`)):x.error(this.$t(`hailuo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return V(this.$wallet)},async confirmWalletPayment(e){return G.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 ot(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var st=K(at,[[`render`,ot]]);export{st as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,I as n,Jt as r,L as i,M as a,N as o,S as s,T as c,at as l,ht as u,it as d,j as f,mt as p,ot as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{F as y}from"./icon-CDmWyIgD.js";import{r as b,t as x}from"./select-CKdhNIc_.js";import{n as S,t as C}from"./tabs-qYktzPOY.js";import{t as w}from"./upload-86r_qBlw.js";import{t as T}from"./tooltip-siz_AHre.js";import{t as E}from"./alert-BprQRUmf.js";import{h as D,v as O}from"./models-C3taPMyR.js";import{t as k}from"./avatar-DEN_WCPo.js";import{n as A,r as j}from"./radio-BNhFzeBO.js";import{n as M,t as N}from"./collapse-CHKYZNGx.js";import{t as P}from"./drawer-CFnWJn6T.js";import{n as F,r as I,t as L}from"./dropdown-BhzTy7zu.js";import{t as R}from"./input-number-CfzTTv5K.js";import{n as ee,t as te}from"./skeleton-Dj_a_iIP.js";import{t as ne}from"./slider-C3aZc1TI.js";import{t as re}from"./switch-DPLDRwQn.js";import{i as ie,n as ae,r as z,t as oe}from"./Player-yl8rCDaI.js";import{t as se}from"./code--y3uq35b.js";import{t as ce}from"./download-DlCYFQbn.js";import{t as le}from"./ellipsis-BAaAr_qn.js";import{a as B,i as ue,n as de,r as fe,s as pe,t as me}from"./pagination-Ct9iwsuK.js";import{t as he}from"./image-hqX8JaNs.js";import{t as ge}from"./info-DkDuo54u.js";import{t as _e}from"./loader-circle-Bu0zp-P2.js";import{t as V}from"./pause-CmRmAKVh.js";import{t as H}from"./play-BCylob57.js";import{t as ve}from"./triangle-alert-DHBBLtTd.js";import{t as ye}from"./upload-B-5lkMRH.js";import{t as U}from"./wand-sparkles-BJbx6jvi.js";import{cr as be}from"./constants-BMkG7xao.js";import{$ as xe,$a as W,Da as Se,Ga as G,Gi as Ce,Ii as K,J as we,Nn as Te,Pa as q,Pi as J,Q as Ee,Xi as De,ci as Y,et as Oe,ja as X,k as Z,kn as ke,nr as Ae,oi as Q,rr as $,tt as je,xn as Me}from"./index-Dk3occrO.js";import{t as Ne}from"./CopyToClipboard-BjRfLoil.js";import{t as Pe}from"./ReportDialog-DatqCVDN.js";import{n as Fe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ie}from"./ServicePricingSummary-DOii-08b.js";import{t as Le}from"./ScenarioPaymentMode-BR4cXZk8.js";import{t as Re}from"./ApiCodeDialog-CarTTHB_.js";import{t as ze}from"./showcaseRecreateMixin-Ch3v2mGZ.js";var Be=v({name:`LayoutProducer`,components:{MagicIcon:U,ElDrawer:P,ElButton:G},mixins:[Fe],data(){return{preview:!1}},computed:{}}),Ve={class:`main flex flex-row flex-1`},He={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)]`},Ue={class:`result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`},We={class:`preview h-full w-[300px] flex flex-col`};function Ge(t,n,r,a,s,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),o(`div`,Ve,[e(`div`,He,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ue,[d(t.$slots,`result`,{},void 0,!0)]),e(`div`,We,[d(t.$slots,`preview`,{},void 0,!0)]),u(i(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(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),i(h,{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 Ke=Z(Be,[[`render`,Ge],[`__scopeId`,`data-v-6461643a`]]),qe=v({name:`TypeSelector`,components:{ElSelect:b,ElOption:x,ElSwitch:re,InfoIcon:B},data(){return{options:[{label:`FUZZ-2.0 Pro`,value:`FUZZ-2.0 Pro`,desc:this.$t(`producer.model.fuzz20proDesc`)},{label:`FUZZ-2.0`,value:`FUZZ-2.0`,desc:this.$t(`producer.model.fuzz20desc`)},{label:`FUZZ-2.0 Raw`,value:`FUZZ-2.0 Raw`,desc:this.$t(`producer.model.fuzz20rawDesc`)},{label:`FUZZ-1.1 Pro`,value:`FUZZ-1.1 Pro`,desc:this.$t(`producer.model.fuzz11proDesc`)},{label:`FUZZ-1.1`,value:`FUZZ-1.1`,desc:this.$t(`producer.model.fuzz11desc`)},{label:`FUZZ-1.0 Pro`,value:`FUZZ-1.0 Pro`,desc:this.$t(`producer.model.fuzz10proDesc`)},{label:`FUZZ-1.0`,value:`FUZZ-1.0`,desc:this.$t(`producer.model.fuzz10desc`)},{label:`FUZZ-0.8`,value:`FUZZ-0.8`,desc:this.$t(`producer.model.fuzz08desc`)}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||=be}}),Je={class:`mb-3`},Ye={class:`flex items-center mb-1`},Xe={class:`text-sm font-bold`},Ze={class:`model-option`},Qe={class:`model-option-name`},$e={class:`model-option-desc`},et={key:0,class:`flex items-center justify-between mb-3`},tt={class:`flex items-center`},nt={class:`text-sm font-bold`};function rt(t,n,s,u,d,m){let _=l(`el-option`),v=l(`el-select`),y=l(`info-icon`),b=l(`el-switch`);return g(),o(`div`,null,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,r(t.$t(`producer.name.model`)),1)]),i(v,{modelValue:t.model,"onUpdate:modelValue":n[0]||=e=>t.model=e,class:`w-full model-select`,size:`default`,placeholder:t.$t(`producer.placeholder.select`)},{default:p(()=>[(g(!0),o(c,null,h(t.options,t=>(g(),f(_,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`div`,Ze,[e(`span`,Qe,r(t.label),1),e(`span`,$e,r(t.desc),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),t.custom?(g(),o(`div`,et,[e(`div`,tt,[e(`span`,nt,r(t.$t(`producer.name.instrumental`)),1),i(y,{content:t.$t(`producer.description.instrumental`)},null,8,[`content`])]),i(b,{modelValue:t.instrumental,"onUpdate:modelValue":n[1]||=e=>t.instrumental=e},null,8,[`modelValue`])])):a(``,!0)])}var it=Z(qe,[[`render`,rt],[`__scopeId`,`data-v-42496b9a`]]),at=v({name:`UploadAudio`,components:{UploadIcon:ye,ElUpload:w,ElButton:G,ElRadioGroup:j,ElRadioButton:A,InfoIcon:B},mixins:[je,xe,we],emits:[`change`],data(){return{fileList:[],uploadUrl:Se()+`/api/v1/files/`,audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){let e=this.$store.state.producer?.config?.action;return e===`upload_extend`||e===`upload_cover`},uploadAction:{get(){return this.$store.state.producer?.config?.action||`upload_extend`},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit(`change`,e)}}},methods:{onExceed(){O.warning(this.$t(`producer.message.uploadReferencesExceed`))},onError(){this.uploading=!1,O.error(this.$t(`producer.message.uploadReferencesError`))},async onSuccess(){let e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){let t={audio_url:e},n=this.credential?.token;if(!n){console.error(`no token specified`),this.uploading=!1;return}this.uploading=!0,O.info(this.$t(`producer.message.startingUploadAudio`));try{let e=(await $.upload(t,{token:n})).data?.data.audio_id;this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,audio_id:e,action:`upload_extend`}),O.success(this.$t(`producer.message.startUploadAudioSuccess`))}catch(e){O.error(e?.response?.data?.error?.message||this.$t(`producer.message.startUploadAudioFailed`))}finally{this.uploading=!1}}}}),ot={class:`relative`},st={class:`flex justify-between items-center mb-2`},ct={class:`flex justify-start items-center`},lt={class:`text-sm font-bold`},ut={key:0,class:`mb-2`},dt=[`src`],ft={key:1,class:`mt-1`};function pt(t,s,c,u,d,f){let m=l(`info-icon`),h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`),y=l(`el-radio-button`),b=l(`el-radio-group`);return g(),o(`div`,ot,[e(`div`,st,[e(`div`,ct,[e(`span`,lt,r(t.$t(`producer.name.referenceAudios`)),1),i(m,{content:t.$t(`producer.description.uploadAudios`)},null,8,[`content`])]),i(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":s[0]||=e=>t.fileList=e,name:`file`,limit:1,class:`upload-wrapper inline-upload`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,accept:`.mp3,.wav,.m4a,audio/*`,"show-file-list":!1,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{default:p(()=>[i(_,{round:``,type:`primary`,size:`small`,loading:t.uploading},{default:p(()=>[i(h,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`producer.button.uploadAudios`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),t.audioPreviewUrl?(g(),o(`div`,ut,[e(`audio`,{src:t.audioPreviewUrl,controls:``,class:`w-full`},null,8,dt)])):a(``,!0),t.hasUploadedAudio?(g(),o(`div`,ft,[i(b,{modelValue:t.uploadAction,"onUpdate:modelValue":s[1]||=e=>t.uploadAction=e,size:`small`},{default:p(()=>[i(y,{value:`upload_extend`},{default:p(()=>[n(r(t.$t(`producer.button.extend`)),1)]),_:1}),i(y,{value:`upload_cover`},{default:p(()=>[n(r(t.$t(`producer.button.cover_music`)),1)]),_:1})]),_:1},8,[`modelValue`])])):a(``,!0)])}var mt=Z(at,[[`render`,pt],[`__scopeId`,`data-v-3938abc2`]]),ht=v({name:`PromptInput`,components:{PromptTextarea:ue},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||=``}});function gt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`producer.name.songDescription`),info:e.$t(`producer.description.prompt`),placeholder:e.$t(`producer.placeholder.prompt`),"min-rows":5,"max-rows":14},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var _t=Z(ht,[[`render`,gt]]),vt=v({name:`LyricInput`,components:{MagicIcon:U,ElInput:W,ElButton:G,InfoIcon:B},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential},walletMode(){return J()&&K(`producer`).mode===`wallet`}},mounted(){this.lyric||=``},methods:{paymentOptions(){if(!this.walletMode){let e=this.credential?.token;return e?{token:e}:void 0}let e=this.getWalletContext();if(!e){O.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}}},async onGenerateLyrics(){let e=this.paymentOptions();if(!e)return;let t=this.config?.style||this.config?.title||`a beautiful song`;this.generatingLyrics=!0,O.info(this.$t(`producer.message.generatingLyrics`));try{let n=(await $.lyric({prompt:t},e)).data?.data;n?.text&&(this.lyric=n.text,n?.title&&!this.config?.title&&this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric:n.text,title:n.title}),O.success(this.$t(`producer.message.generateLyricsSuccess`)))}catch(e){if(e instanceof Q)return;O.error(this.$t(`producer.message.generateLyricsFailed`))}finally{this.generatingLyrics=!1}},getWalletContext(){return Y(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)}}}),yt={class:`field`},bt={class:`flex items-center justify-between mb-1`},xt={class:`flex items-center`},St={class:`text-sm font-bold`};function Ct(t,s,c,u,d,m){let h=l(`info-icon`),_=l(`magic-icon`),v=l(`el-button`),y=l(`el-input`);return g(),o(`div`,yt,[e(`div`,bt,[e(`div`,xt,[e(`span`,St,r(t.$t(`producer.name.lyrics`)),1),i(h,{content:t.$t(`producer.description.lyrics`)},null,8,[`content`])]),t.config?.action===`extend`?a(``,!0):(g(),f(v,{key:0,size:`small`,loading:t.generatingLyrics,round:``,onClick:t.onGenerateLyrics},{default:p(()=>[t.generatingLyrics?a(``,!0):(g(),f(_,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),n(` `+r(t.$t(`producer.button.generate_lyrics`)),1)]),_:1},8,[`loading`,`onClick`]))]),t.config?.action===`extend`?(g(),f(y,{key:1,modelValue:t.lyric,"onUpdate:modelValue":s[1]||=e=>t.lyric=e,rows:5,type:`textarea`,class:`lyrics`,placeholder:t.$t(`producer.placeholder.extend.lyrics`)},null,8,[`modelValue`,`placeholder`])):(g(),f(y,{key:0,modelValue:t.lyric,"onUpdate:modelValue":s[0]||=e=>t.lyric=e,rows:5,type:`textarea`,class:`lyrics`,placeholder:t.$t(`producer.placeholder.lyrics`)},null,8,[`modelValue`,`placeholder`]))])}var wt=Z(vt,[[`render`,Ct],[`__scopeId`,`data-v-548b9253`]]),Tt=v({name:`StyleInput`,components:{ElInput:W,InfoIcon:B},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,style:e})}}}}),Et={class:`field`},Dt={class:`flex items-center justify-between mb-1`},Ot={class:`flex items-center`},kt={class:`text-sm font-bold`};function At(t,n,a,s,c,u){let d=l(`info-icon`),f=l(`el-input`);return g(),o(`div`,Et,[e(`div`,Dt,[e(`div`,Ot,[e(`span`,kt,r(t.$t(`producer.name.style`)),1),i(d,{content:t.$t(`producer.description.style`)},null,8,[`content`])])]),i(f,{modelValue:t.style,"onUpdate:modelValue":n[0]||=e=>t.style=e,rows:2,type:`textarea`,placeholder:t.$t(`producer.placeholder.style`)},null,8,[`modelValue`,`placeholder`])])}var jt=Z(Tt,[[`render`,At]]),Mt=v({name:`TitleInput`,components:{ElInput:W,InfoIcon:B},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,title:e})}}}}),Nt={class:`field`},Pt={class:`flex items-center mb-1`},Ft={class:`text-sm font-bold`};function It(t,n,a,s,c,u){let d=l(`info-icon`),f=l(`el-input`);return g(),o(`div`,Nt,[e(`div`,Pt,[e(`span`,Ft,r(t.$t(`producer.name.title`)),1),i(d,{content:t.$t(`producer.description.title`)},null,8,[`content`])]),i(f,{modelValue:t.title,"onUpdate:modelValue":n[0]||=e=>t.title=e,placeholder:t.$t(`producer.placeholder.title`)},null,8,[`modelValue`,`placeholder`])])}var Lt=Z(Mt,[[`render`,It]]),Rt=v({name:`ExtendFromInput`,components:{ElImage:q,ElIcon:y,ElInputNumber:R,VideoPlay:H,VideoPause:V},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug(`set continue_at`,e),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:z,onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),zt={class:`field`},Bt={class:`box`},Vt={class:`title font-bold`},Ht={class:`input-wrapper`},Ut={class:`task`},Wt={class:`left`},Gt=[`aria-label`,`title`],Kt=[`aria-label`,`title`],qt={key:2,class:`duration`},Jt={class:`info`},Yt={class:`title`},Xt={class:`style`};function Zt(n,c,d,f,h,_){let v=l(`el-input-number`),y=l(`el-image`),b=l(`video-pause`),x=l(`el-icon`),S=l(`video-play`),C=m(`loading`);return g(),o(`div`,zt,[e(`div`,Bt,[e(`h2`,Vt,r(n.$t(`producer.name.extend`)),1),e(`div`,Ht,[i(v,{modelValue:n.value,"onUpdate:modelValue":c[0]||=e=>n.value=e,class:`value`,min:0,max:n.audio?.duration,controls:!1,placeholder:n.$t(`producer.placeholder.extend.continue_at`),onChange:n.handleChange},null,8,[`modelValue`,`max`,`placeholder`,`onChange`])])]),e(`div`,Ut,[n.audio?(g(),o(`div`,{key:0,class:`audio`,onClick:c[7]||=e=>n.onClick(n.audio)},[u((g(),o(`div`,Wt,[i(y,{src:n.audio?.image_url,class:`cover`,fit:`cover`},null,8,[`src`]),n.audio?.audio_url&&n.$store.state?.producer?.audio?.id===n.audio.id&&n.$store.state?.producer?.audio?.state===`playing`?(g(),o(`div`,{key:0,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":n.$t(`common.player.pause`),title:n.$t(`common.player.pause`),onClick:c[1]||=e=>n.onPause(n.audio),onKeydown:[c[2]||=s(t(e=>n.onPause(n.audio),[`stop`,`prevent`]),[`enter`]),c[3]||=s(t(e=>n.onPause(n.audio),[`stop`,`prevent`]),[`space`])]},[i(x,null,{default:p(()=>[i(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,Gt)):a(``,!0),n.audio?.audio_url&&(n.$store.state?.producer?.audio?.id!==n.audio.id||n.$store.state?.producer?.audio?.id===n.audio.id&&n.$store.state?.producer?.audio?.state===`paused`)?(g(),o(`div`,{key:1,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":n.$t(`common.player.play`),title:n.$t(`common.player.play`),onClick:c[4]||=e=>n.onPlay(n.audio),onKeydown:[c[5]||=s(t(e=>n.onPlay(n.audio),[`stop`,`prevent`]),[`enter`]),c[6]||=s(t(e=>n.onPlay(n.audio),[`stop`,`prevent`]),[`space`])]},[i(x,null,{default:p(()=>[i(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,Kt)):a(``,!0),n.audio?.duration?(g(),o(`div`,qt,r(n.useFormatDuring(n.audio?.duration)),1)):a(``,!0)])),[[C,!n.audio?.audio_url]]),e(`div`,Jt,[e(`h2`,Yt,r(n.audio?.title),1),e(`p`,Xt,r(n.audio?.style),1)])])):a(``,!0)])])}var Qt=Z(Rt,[[`render`,Zt],[`__scopeId`,`data-v-96005bd8`]]),$t=v({name:`CoverFromInput`,components:{ElImage:q,ElIcon:y,VideoPlay:H,VideoPause:V},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug(`set continue_at`,e),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:z,onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),en={class:`field`},tn={class:`box`},nn={class:`title font-bold`},rn={class:`task`},an={class:`left`},on=[`aria-label`,`title`],sn=[`aria-label`,`title`],cn={key:2,class:`duration`},ln={class:`info`},un={class:`title`},dn={class:`style`};function fn(n,c,d,f,h,_){let v=l(`el-image`),y=l(`video-pause`),b=l(`el-icon`),x=l(`video-play`),S=m(`loading`);return g(),o(`div`,en,[e(`div`,tn,[e(`h2`,nn,r(n.$t(`producer.name.cover`)),1)]),e(`div`,rn,[n.audio?(g(),o(`div`,{key:0,class:`audio`,onClick:c[6]||=e=>n.onClick(n.audio)},[u((g(),o(`div`,an,[i(v,{src:n.audio?.image_url,class:`cover`,fit:`cover`},null,8,[`src`]),n.audio?.audio_url&&n.$store.state?.producer?.audio?.id===n.audio.id&&n.$store.state?.producer?.audio?.state===`playing`?(g(),o(`div`,{key:0,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":n.$t(`common.player.pause`),title:n.$t(`common.player.pause`),onClick:c[0]||=e=>n.onPause(n.audio),onKeydown:[c[1]||=s(t(e=>n.onPause(n.audio),[`stop`,`prevent`]),[`enter`]),c[2]||=s(t(e=>n.onPause(n.audio),[`stop`,`prevent`]),[`space`])]},[i(b,null,{default:p(()=>[i(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,on)):a(``,!0),n.audio?.audio_url&&(n.$store.state?.producer?.audio?.id!==n.audio.id||n.$store.state?.producer?.audio?.id===n.audio.id&&n.$store.state?.producer?.audio?.state===`paused`)?(g(),o(`div`,{key:1,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":n.$t(`common.player.play`),title:n.$t(`common.player.play`),onClick:c[3]||=e=>n.onPlay(n.audio),onKeydown:[c[4]||=s(t(e=>n.onPlay(n.audio),[`stop`,`prevent`]),[`enter`]),c[5]||=s(t(e=>n.onPlay(n.audio),[`stop`,`prevent`]),[`space`])]},[i(b,null,{default:p(()=>[i(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,sn)):a(``,!0),n.audio?.duration?(g(),o(`div`,cn,r(n.useFormatDuring(n.audio?.duration)),1)):a(``,!0)])),[[S,!n.audio?.audio_url]]),e(`div`,ln,[e(`h2`,un,r(n.audio?.title),1),e(`p`,dn,r(n.audio?.style),1)])])):a(``,!0)])])}var pn=Z($t,[[`render`,fn],[`__scopeId`,`data-v-9a4b0b16`]]),mn=v({name:`VocalGenderSelector`,components:{ElRadioGroup:j,ElRadioButton:A,InfoIcon:B},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),hn={class:`mb-2`},gn={class:`flex items-center mb-1`},_n={class:`text-sm font-bold`};function vn(t,a,s,c,u,d){let f=l(`info-icon`),m=l(`el-radio-button`),h=l(`el-radio-group`);return g(),o(`div`,hn,[e(`div`,gn,[e(`span`,_n,r(t.$t(`producer.name.vocalGender`)),1),i(f,{content:t.$t(`producer.description.vocalGender`)},null,8,[`content`])]),i(h,{modelValue:t.vocalGender,"onUpdate:modelValue":a[0]||=e=>t.vocalGender=e},{default:p(()=>[i(m,{value:``},{default:p(()=>[n(r(t.$t(`producer.gender.auto`)),1)]),_:1}),i(m,{value:`f`},{default:p(()=>[n(r(t.$t(`producer.gender.female`)),1)]),_:1}),i(m,{value:`m`},{default:p(()=>[n(r(t.$t(`producer.gender.male`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var yn=Z(mn,[[`render`,vn]]),bn=v({name:`AdvancedParams`,components:{ElCollapse:N,ElCollapseItem:M,ElInput:W,ElSlider:ne,ElInputNumber:R,InfoIcon:B},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??.5},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??.7},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??.7},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,seed:e})}}},mounted(){let e=this.$store.state.producer?.config;if(!e)return;let t={};typeof e.weirdness==`number`&&e.weirdness>1&&(t.weirdness=e.weirdness/100),typeof e.sound_strength==`number`&&e.sound_strength>1&&(t.sound_strength=e.sound_strength/100),typeof e.lyrics_strength==`number`&&e.lyrics_strength>1&&(t.lyrics_strength=e.lyrics_strength/100),Object.keys(t).length>0&&this.$store.commit(`producer/setConfig`,{...e,...t})}}),xn={key:0,class:`mb-3`},Sn={class:`flex items-center mb-1`},Cn={class:`text-xs font-bold`},wn={key:1,class:`mb-3`},Tn={class:`flex items-center mb-1`},En={class:`text-xs font-bold`},Dn={class:`mb-3`},On={class:`flex items-center justify-between mb-1`},kn={class:`flex items-center`},An={class:`text-xs font-bold`},jn={class:`text-xs text-[var(--el-text-color-secondary)]`},Mn={class:`mb-3`},Nn={class:`flex items-center justify-between mb-1`},Pn={class:`flex items-center`},Fn={class:`text-xs font-bold`},In={class:`text-xs text-[var(--el-text-color-secondary)]`},Ln={key:2,class:`mb-3`},Rn={class:`flex items-center justify-between mb-1`},zn={class:`flex items-center`},Bn={class:`text-xs font-bold`},Vn={class:`text-xs text-[var(--el-text-color-secondary)]`},Hn={class:`mb-3`},Un={class:`flex items-center mb-1`},Wn={class:`text-xs font-bold`};function Gn(t,n,s,c,u,d){let m=l(`info-icon`),h=l(`el-input`),_=l(`el-slider`),v=l(`el-input-number`),y=l(`el-collapse-item`),b=l(`el-collapse`);return g(),f(b,{modelValue:t.activeNames,"onUpdate:modelValue":n[6]||=e=>t.activeNames=e,class:`advanced-collapse`},{default:p(()=>[i(y,{title:t.$t(`producer.name.advancedParams`),name:`advanced`},{default:p(()=>[t.config?.custom?(g(),o(`div`,xn,[e(`div`,Sn,[e(`span`,Cn,r(t.$t(`producer.name.styleNegative`)),1),i(m,{content:t.$t(`producer.description.styleNegative`)},null,8,[`content`])]),i(h,{modelValue:t.styleNegative,"onUpdate:modelValue":n[0]||=e=>t.styleNegative=e,size:`small`,placeholder:t.$t(`producer.placeholder.styleNegative`)},null,8,[`modelValue`,`placeholder`])])):a(``,!0),t.config?.custom&&!t.config?.instrumental?(g(),o(`div`,wn,[e(`div`,Tn,[e(`span`,En,r(t.$t(`producer.name.lyricPrompt`)),1),i(m,{content:t.$t(`producer.description.lyricPrompt`)},null,8,[`content`])]),i(h,{modelValue:t.lyricPrompt,"onUpdate:modelValue":n[1]||=e=>t.lyricPrompt=e,size:`small`,placeholder:t.$t(`producer.placeholder.lyricPrompt`)},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e(`div`,Dn,[e(`div`,On,[e(`div`,kn,[e(`span`,An,r(t.$t(`producer.name.weirdness`)),1),i(m,{content:t.$t(`producer.description.weirdness`)},null,8,[`content`])]),e(`span`,jn,r(t.weirdness??.5),1)]),i(_,{modelValue:t.weirdness,"onUpdate:modelValue":n[2]||=e=>t.weirdness=e,min:0,max:1,step:.01},null,8,[`modelValue`])]),e(`div`,Mn,[e(`div`,Nn,[e(`div`,Pn,[e(`span`,Fn,r(t.$t(`producer.name.soundStrength`)),1),i(m,{content:t.$t(`producer.description.soundStrength`)},null,8,[`content`])]),e(`span`,In,r(t.soundStrength??.7),1)]),i(_,{modelValue:t.soundStrength,"onUpdate:modelValue":n[3]||=e=>t.soundStrength=e,min:.2,max:1,step:.01},null,8,[`modelValue`])]),t.config?.custom&&!t.config?.instrumental?(g(),o(`div`,Ln,[e(`div`,Rn,[e(`div`,zn,[e(`span`,Bn,r(t.$t(`producer.name.lyricsStrength`)),1),i(m,{content:t.$t(`producer.description.lyricsStrength`)},null,8,[`content`])]),e(`span`,Vn,r(t.lyricsStrength??.7),1)]),i(_,{modelValue:t.lyricsStrength,"onUpdate:modelValue":n[4]||=e=>t.lyricsStrength=e,min:0,max:1,step:.01},null,8,[`modelValue`])])):a(``,!0),e(`div`,Hn,[e(`div`,Un,[e(`span`,Wn,r(t.$t(`producer.name.seed`)),1),i(m,{content:t.$t(`producer.description.seed`)},null,8,[`content`])]),i(v,{modelValue:t.seed,"onUpdate:modelValue":n[5]||=e=>t.seed=e,min:0,controls:!1,size:`small`,placeholder:t.$t(`producer.placeholder.seed`),class:`w-full`},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var Kn=Z(bn,[[`render`,Gn],[`__scopeId`,`data-v-f9296888`]]),qn=v({name:`ReplaceSectionInput`,components:{ElInputNumber:R,ElImage:q,InfoIcon:B},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`})}}}),Jn={class:`field`},Yn={class:`flex items-center mb-2`},Xn={class:`text-sm font-bold m-0`},Zn={key:0,class:`task mb-2`},Qn={class:`left relative w-[50px] h-[50px] mr-3 flex-shrink-0`},$n={class:`info flex-1 min-w-0`},er={class:`text-sm font-bold m-0 truncate`},tr={class:`text-xs text-[var(--el-text-color-secondary)] m-0 truncate`},nr={class:`flex gap-2`};function rr(t,n,s,c,d,f){let p=l(`info-icon`),h=l(`el-image`),_=l(`el-input-number`),v=m(`loading`);return g(),o(`div`,Jn,[e(`div`,Yn,[e(`h2`,Xn,r(t.$t(`producer.name.replaceSection`)),1),i(p,{content:t.$t(`producer.description.replaceSection`)},null,8,[`content`])]),t.audio?(g(),o(`div`,Zn,[e(`div`,{class:`audio flex items-center`,onClick:n[0]||=e=>t.onClick(t.audio)},[u((g(),o(`div`,Qn,[i(h,{src:t.audio?.image_url,class:`w-full h-full rounded`,fit:`cover`},null,8,[`src`])])),[[v,!t.audio?.audio_url]]),e(`div`,$n,[e(`h2`,er,r(t.audio?.title),1),e(`p`,tr,r(t.audio?.style),1)])])])):a(``,!0),e(`div`,nr,[i(_,{modelValue:t.replaceSectionStart,"onUpdate:modelValue":n[1]||=e=>t.replaceSectionStart=e,class:`flex-1`,min:0,max:t.audio?.duration,controls:!1,placeholder:t.$t(`producer.placeholder.replaceSectionStart`)},null,8,[`modelValue`,`max`,`placeholder`]),i(_,{modelValue:t.replaceSectionEnd,"onUpdate:modelValue":n[2]||=e=>t.replaceSectionEnd=e,class:`flex-1`,min:t.replaceSectionStart||0,max:t.audio?.duration,controls:!1,placeholder:t.$t(`producer.placeholder.replaceSectionEnd`)},null,8,[`modelValue`,`min`,`max`,`placeholder`])])])}var ir=v({name:`PresetPanel`,components:{CleanupIcon:ie,MagicIcon:U,TypeSelector:it,PromptInput:_t,LyricInput:wt,StyleInput:jt,TitleInput:Lt,ExtendFromInput:Qt,CoverFromInput:pn,UploadAudio:mt,VocalGenderSelector:yn,AdvancedParams:Kn,ReplaceSectionInput:Z(qn,[[`render`,rr]]),ElButton:G,ElTabs:S,ElTabPane:C,ServicePricingSummary:Ie,ScenarioPaymentMode:Le},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?`custom`:`simple`},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,custom:e===`custom`})}},consumption(){return Me(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},walletMode(){return J()&&K(`producer`).mode===`wallet`},generateButtonText(){let e=this.config?.action;return e===`extend`||e===`upload_extend`?this.$t(`producer.button.extend`):e===`cover`||e===`upload_cover`?this.$t(`producer.button.cover_music`):e===`variation`?this.$t(`producer.button.variation`):e===`replace_section`?this.$t(`producer.button.replace_section`):e===`stems`?this.$t(`producer.button.get_stems`):e===`swap_vocals`?this.$t(`producer.button.swap_vocals`):e===`swap_instrumentals`?this.$t(`producer.button.swap_instrumentals`):this.$t(`producer.button.generate`)}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=K(`producer`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await $.quoteAudio(Ae(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)},onClearAll(){this.$store.commit(`producer/setConfig`,{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:``,lyric:``,style:``,title:``,model:this.$store.state.producer?.config?.model})}}}),ar={class:`flex flex-col h-full`},or={class:`flex-1 min-h-0 overflow-hidden`},sr={class:`p-5`},cr={class:`p-5`},lr={class:`flex flex-col items-center justify-center px-5 pb-5 gap-2`},ur={class:`flex gap-2 w-full`};function dr(t,s,c,u,d,m){let h=l(`type-selector`),_=l(`upload-audio`),v=l(`prompt-input`),y=l(`extend-from-input`),b=l(`cover-from-input`),x=l(`replace-section-input`),S=l(`advanced-params`),C=l(`el-tab-pane`),w=l(`lyric-input`),T=l(`style-input`),E=l(`title-input`),D=l(`vocal-gender-selector`),O=l(`el-tabs`),k=l(`scenario-payment-mode`),A=l(`service-pricing-summary`),j=l(`cleanup-icon`),M=l(`el-button`),N=l(`magic-icon`);return g(),o(`div`,ar,[e(`div`,or,[i(O,{modelValue:t.mode,"onUpdate:modelValue":s[0]||=e=>t.mode=e,class:`producer-mode-tabs scenario-tabs scenario-tabs--scrollable scenario-tabs--divided`},{default:p(()=>[i(C,{label:t.$t(`producer.mode.simple`),name:`simple`},{default:p(()=>[e(`div`,sr,[i(h,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),t.config?.action===`extend`?(g(),f(y,{key:0,class:`mb-4`})):a(``,!0),t.config?.action===`cover`?(g(),f(b,{key:1,class:`mb-4`})):a(``,!0),t.config?.action===`replace_section`?(g(),f(x,{key:2,class:`mb-4`})):a(``,!0),i(S,{class:`mb-4`})])]),_:1},8,[`label`]),i(C,{label:t.$t(`producer.mode.custom`),name:`custom`},{default:p(()=>[e(`div`,cr,[i(h,{class:`mb-4`}),i(_,{class:`mb-4`}),t.config?.instrumental?a(``,!0):(g(),f(w,{key:0,class:`mb-4`})),i(T,{class:`mb-4`}),i(E,{class:`mb-4`}),t.config?.instrumental?a(``,!0):(g(),f(D,{key:1,class:`mb-4`})),t.config?.action===`extend`?(g(),f(y,{key:2,class:`mb-4`})):a(``,!0),t.config?.action===`cover`?(g(),f(b,{key:3,class:`mb-4`})):a(``,!0),t.config?.action===`replace_section`?(g(),f(x,{key:4,class:`mb-4`})):a(``,!0),i(S,{class:`mb-4`})])]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),e(`div`,lr,[i(k,{scenario:`producer`}),t.walletMode?a(``,!0):(g(),f(A,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),e(`div`,ur,[i(M,{class:`flex-1`,onClick:t.onClearAll},{default:p(()=>[i(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`producer.button.clear_all`)),1)]),_:1},8,[`onClick`]),i(M,{type:`primary`,class:`flex-1`,round:``,onClick:t.onGenerate},{default:p(()=>[i(N,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.generateButtonText),1)]),_:1},8,[`onClick`])])])])}var fr=Z(ir,[[`render`,dr],[`__scopeId`,`data-v-f248bc90`]]),pr=ae(),mr=v({name:`TaskPreview`,components:{ChannelIcon:pe,CodeIcon:se,DownloadIcon:ce,InfoIcon:ge,MagicIcon:U,MoreIcon:le,WarningIcon:ve,ElAlert:E,ElImage:q,ElIcon:y,ElTooltip:T,VideoPlay:H,VideoPause:V,ElDropdown:L,ElDropdownMenu:I,ElDropdownItem:F,Loading:_e,ApiCodeDialog:Re,ReportDialog:Pe,CopyToClipboard:Ne},props:{modelValue:{type:Object,required:!0}},emits:[`wallet-task`],data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,reportVisible:!1,reportTargetId:``,reportSnapshot:void 0,apiCodePath:`/producer/audios`,apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===D.Request},showViewCode(){return Te()},credential(){return this.$store.state.producer.credential},walletMode(){return J()&&K(`producer`).mode===`wallet`},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){let e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(e=>({...e,action:t})):e},isFailure(){return this.audios.length===0&&(this.modelValue?.response?.success===!1||!!this.modelValue?.response?.error)},failureReason(){let e=this.modelValue?.response?.error;return typeof e==`string`?e:e?.message},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{paymentOptions(){if(!this.walletMode){let e=this.credential?.token;return e?{token:e}:void 0}let e=this.getWalletContext();if(!e){O.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}}},getWalletContext(){return Y(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},onReport(e){this.reportTargetId=e?.id||``,this.reportSnapshot={prompt:e?.prompt,title:e?.title},this.reportVisible=!0},useFormatDuring:z,onViewCode(){let e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([e,n])=>{e===`application_id`||e===`callback_url`||n!=null&&(typeof n==`string`&&n===``||Array.isArray(n)&&n.length===0||(t[e]=n))}),this.apiCodeBody=t,this.apiCodePath=`/producer/audios`,this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e?.stopPropagation(),console.debug(`set config`,t),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:`extend`,audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e?.stopPropagation();let n=new URL(t).pathname,r=n.substring(n.lastIndexOf(`/`)+1);fetch(t).then(e=>e.blob()).then(e=>{(0,pr.saveAs)(e,r)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;let t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(e){if(e instanceof Q)return;console.error(`get videoUrl failed:`,e),O.error(this.$t(`producer.message.getVideoUrlFailed`))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,n)=>{let r={audio_id:e},i=this.paymentOptions();if(!i)return n(new Q);$.video(r,i).then(e=>{let r=e.data?.data?.video_url;r?t(r):n(Error(`Video URL not found in response`))}).catch(e=>{n(e)})})},onPreview(e,t){e?.stopPropagation(),window.open(t,`_blank`)},async onGetStems(e){await this.onGenerateAudioUrl(`stems`,e)},onCover(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:`cover`,audio:e,audio_id:e.id})},onVariation(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:`variation`,audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl(`swap_vocals`,e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl(`swap_instrumentals`,e)},async onGetAllStems(e){await this.onGenerateAudioUrl(`all_stems`,e)},onReplaceSection(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:`replace_section`,audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;let t=this.paymentOptions();if(t)try{this.isFetchingWav=!0,O.info(this.$t(`producer.message.fetchingWav`));let n=(await $.wav({audio_id:e.id},t)).data?.data,r=Array.isArray(n)?n[0]?.file_url:n?.file_url||n?.audio_url;r?this.onDownload(null,r):O.error(this.$t(`producer.message.fetchWavFailed`))}catch(e){if(e instanceof Q)return;O.error(this.$t(`producer.message.fetchWavFailed`))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){let n={action:e,audio_id:t,async:!0},r=this.paymentOptions();r&&(O.info(this.$t(`producer.message.startingTask`)),$.audio(n,r).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&this.$emit(`wallet-task`,t),O.success(this.$t(`producer.message.startTaskSuccess`))}).catch(e=>{e instanceof Q||O.error(e?.response?.data?.error?.message||this.$t(`producer.message.startTaskFailed`))}))},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.tasks`);e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug(`loading`);return}await this.$store.dispatch(`producer/getTasks`,{limit:30,offset:0})}}}),hr={class:`task`},gr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_r={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yr=[`onClick`],br={class:`left`},xr=[`aria-label`,`title`,`onClick`,`onKeydown`],Sr=[`aria-label`,`title`,`onClick`,`onKeydown`],Cr={key:2,class:`duration`},wr={class:`info`},Tr={class:`title`},Er={class:`style`},Dr={class:`right`},Or={class:`el-dropdown-link`},kr={class:`flex items-center min-w-[120px]`},Ar={class:`flex items-center min-w-[120px]`},jr={class:`el-dropdown-link`};function Mr(d,_,v,y,b,x){let S=l(`warning-icon`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`info-icon`),E=l(`channel-icon`),D=l(`el-alert`),O=l(`el-image`),k=l(`video-pause`),A=l(`el-icon`),j=l(`video-play`),M=l(`download-icon`),N=l(`el-tooltip`),P=l(`Loading`),F=l(`el-dropdown-item`),I=l(`el-dropdown-menu`),L=l(`el-dropdown`),R=l(`more-icon`),ee=l(`code-icon`),te=l(`api-code-dialog`),ne=l(`report-dialog`),re=m(`loading`);return g(),o(`div`,hr,[d.isFailure?(g(),f(D,{key:0,closable:!1,class:`task-failure`},{title:p(()=>[i(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`producer.name.failure`)),1)]),default:p(()=>[e(`p`,gr,[i(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`producer.name.taskId`))+`: `+r(d.modelValue?.id)+` `,1),i(w,{content:d.modelValue?.id},null,8,[`content`])]),d.failureReason?(g(),o(`p`,_r,[i(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`producer.name.failureReason`))+`: `+r(d.failureReason)+` `,1),i(w,{content:d.failureReason},null,8,[`content`])])):a(``,!0),d.traceId?(g(),o(`p`,vr,[i(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`producer.name.traceId`))+`: `+r(d.traceId)+` `,1),i(w,{content:d.traceId},null,8,[`content`])])):a(``,!0)]),_:1})):a(``,!0),(g(!0),o(c,null,h(d.audios,c=>(g(),o(`div`,{key:c.id,class:`audio`,onClick:t(e=>d.onClick(c),[`stop`])},[u((g(),o(`div`,br,[i(O,{src:c?.image_url,class:`cover`,fit:`cover`,lazy:``},null,8,[`src`]),c?.audio_url&&d.$store.state?.producer?.audio?.id===c.id&&d.$store.state?.producer?.audio?.state===`playing`?(g(),o(`div`,{key:0,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":d.$t(`common.player.pause`),title:d.$t(`common.player.pause`),onClick:t(e=>d.onPause(c),[`stop`]),onKeydown:[s(t(e=>d.onPause(c),[`stop`,`prevent`]),[`enter`]),s(t(e=>d.onPause(c),[`stop`,`prevent`]),[`space`])]},[i(A,null,{default:p(()=>[i(k,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,xr)):a(``,!0),c?.audio_url&&(d.$store.state?.producer?.audio?.id!==c.id||d.$store.state?.producer?.audio?.id===c.id&&d.$store.state?.producer?.audio?.state===`paused`)?(g(),o(`div`,{key:1,class:`overlay`,role:`button`,tabindex:`0`,"aria-label":d.$t(`common.player.play`),title:d.$t(`common.player.play`),onClick:t(e=>d.onPlay(c),[`stop`]),onKeydown:[s(t(e=>d.onPlay(c),[`stop`,`prevent`]),[`enter`]),s(t(e=>d.onPlay(c),[`stop`,`prevent`]),[`space`])]},[i(A,null,{default:p(()=>[i(j,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})],40,Sr)):a(``,!0),c?.duration?(g(),o(`div`,Cr,r(d.useFormatDuring(c?.duration)),1)):a(``,!0)])),[[re,!c?.audio_url]]),e(`div`,wr,[e(`h2`,Tr,r(c?.title),1),e(`p`,Er,r(c?.style),1)]),e(`div`,Dr,[i(L,null,{dropdown:p(()=>[i(I,null,{default:p(()=>[i(F,{disabled:d.isFetchingVideoUrl,onClick:e=>d.handleVideoDownload(c)},{default:p(()=>[e(`div`,kr,[d.isFetchingVideoUrl?(g(),f(A,{key:0,class:`is-loading mr-2`},{default:p(()=>[i(P,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):a(``,!0),e(`span`,null,r(d.$t(`producer.button.download_video`)),1)])]),_:1},8,[`disabled`,`onClick`]),c?.audio_url?(g(),f(F,{key:0,onClick:t(e=>d.onDownload(e,c?.audio_url),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.download_audio`)),1)]),_:1},8,[`onClick`])):a(``,!0),i(F,{disabled:d.isFetchingWav,onClick:e=>d.handleWavDownload(c)},{default:p(()=>[e(`div`,Ar,[d.isFetchingWav?(g(),f(A,{key:0,class:`is-loading mr-2`},{default:p(()=>[i(P,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):a(``,!0),e(`span`,null,r(d.$t(`producer.button.download_wav`)),1)])]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)]),default:p(()=>[e(`span`,Or,[i(N,{effect:`dark`,content:d.$t(`common.button.download`),placement:`top`},{default:p(()=>[c?.audio_url||c?.video_url?(g(),f(M,{key:0,class:`icon icon-download`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):a(``,!0)]),_:2},1032,[`content`])])]),_:2},1024),i(L,null,{dropdown:p(()=>[i(I,null,{default:p(()=>[c?.audio_url?(g(),f(F,{key:0,onClick:t(e=>d.onExtend(e,c),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.extend`)),1)]),_:1},8,[`onClick`])):a(``,!0),c.id?(g(),f(F,{key:1,onClick:t(e=>d.onGetStems(c.id),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.get_stems`)),1)]),_:1},8,[`onClick`])):a(``,!0),c.id?(g(),f(F,{key:2,onClick:t(e=>d.onGetAllStems(c.id),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.all_stems`)),1)]),_:1},8,[`onClick`])):a(``,!0),i(F,{onClick:t(e=>d.onCover(c),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.cover_music`)),1)]),_:1},8,[`onClick`]),c?.id?(g(),f(F,{key:3,onClick:t(e=>d.onVariation(c),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.variation`)),1)]),_:1},8,[`onClick`])):a(``,!0),c?.id?(g(),f(F,{key:4,onClick:t(e=>d.onSwapVocals(c.id),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.swap_vocals`)),1)]),_:1},8,[`onClick`])):a(``,!0),c?.id?(g(),f(F,{key:5,onClick:t(e=>d.onSwapInstrumentals(c.id),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.swap_instrumentals`)),1)]),_:1},8,[`onClick`])):a(``,!0),c?.id?(g(),f(F,{key:6,onClick:t(e=>d.onReplaceSection(c),[`stop`])},{default:p(()=>[n(r(d.$t(`producer.button.replace_section`)),1)]),_:1},8,[`onClick`])):a(``,!0),d.showViewCode?(g(),f(F,{key:7,onClick:t(d.onViewCode,[`stop`])},{default:p(()=>[i(ee,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`common.button.viewCode`)),1)]),_:1},8,[`onClick`])):a(``,!0),c?.id?(g(),f(F,{key:8,onClick:t(e=>d.onReport(c),[`stop`])},{default:p(()=>[i(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(d.$t(`common.button.report`)),1)]),_:1},8,[`onClick`])):a(``,!0)]),_:2},1024)]),default:p(()=>[e(`span`,jr,[i(N,{effect:`dark`,content:d.$t(`producer.button.more`),placement:`top`},{default:p(()=>[c?.audio_url||c?.video_url?(g(),f(R,{key:0,class:`icon icon-ellipsis`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):a(``,!0)]),_:2},1032,[`content`])])]),_:2},1024)])],8,yr))),128)),i(te,{visible:d.apiCodeVisible,"onUpdate:visible":_[0]||=e=>d.apiCodeVisible=e,method:`POST`,path:d.apiCodePath,body:d.apiCodeBody,token:d.$store.state.producer?.credential?.token||``},null,8,[`visible`,`path`,`body`,`token`]),i(ne,{visible:d.reportVisible,"onUpdate:visible":_[1]||=e=>d.reportVisible=e,service:`producer`,"target-id":d.reportTargetId,snapshot:d.reportSnapshot},null,8,[`visible`,`target-id`,`snapshot`])])}var Nr=v({name:`RecentPanel`,components:{ElSkeletonItem:ee,ElSkeleton:te,TaskPreview:Z(mr,[[`render`,Mr]]),Player:oe,NoTasks:fe,ScrollList:de},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`wallet-task`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Pr={key:0,class:`tasks`},Fr={class:`left w-[70px] p-[10px] flex items-center`},Ir={class:`main w-[calc(100%-70px)] flex-1 p-[10px]`},Lr={key:2,class:`w-full flex-1 flex items-center justify-center`},Rr={class:`h-20`};function zr(t,n,r,s,d,m){let v=l(`el-skeleton-item`),y=l(`el-skeleton`),b=l(`task-preview`),x=l(`scroll-list`),S=l(`no-tasks`),C=l(`player`);return g(),o(c,null,[t.tasks?.items===void 0?(g(),o(`div`,Pr,[(g(),o(c,null,h(3,t=>e(`div`,{key:t,class:`flex`},[e(`div`,Fr,[i(y,{animated:``},{template:p(()=>[i(v,{variant:`image`,class:`avatar w-[50px] h-[50px]`})]),_:1})]),e(`div`,Ir,[i(y,{animated:``},{template:p(()=>[i(v,{variant:`p`,class:`w-[200px] h-[15px] mb-[5px] mt-[10px]`}),i(v,{variant:`text`})]),_:1})])])),64))])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(g(),f(x,{key:1,ref:`scrollList`,class:`flex-1 w-full overflow-y-auto tasks p-2`,loading:t.loading,onReachTop:n[1]||=e=>t.$emit(`reach-top`)},{default:p(()=>[(g(!0),o(c,null,h(t.tasks?.items,(e,r)=>(g(),f(b,{key:r,"model-value":e,class:`preview`,onWalletTask:n[0]||=e=>t.$emit(`wallet-task`,e)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),t.tasks?.items?.length===0?(g(),o(`div`,Lr,[i(S)])):a(``,!0),u(e(`div`,Rr,[i(C,{namespace:`producer`})],512),[[_,!!t.$store?.state?.producer?.audio?.object]])],64)}var Br=Z(Nr,[[`render`,zr]]),Vr=v({name:`TaskPreview`,components:{IconPicture:he,ElImage:q,ElAvatar:k,ElIcon:y},computed:{audio(){return this.$store.state.producer?.audio}}}),Hr={key:0,class:`size-full overflow-hidden`},Ur={class:`relative h-[300px]`},Wr={class:`flex items-center justify-center size-full bg-[var(--el-bg-color)]`},Gr={class:`absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent`},Kr={class:`p-4`},qr={class:`flex items-center font-bold mb-2`},Jr={class:`text-[var(--el-text-color-regular)] mb-2`},Yr={class:`text-xs text-[var(--el-text-color-regular)]`},Xr={class:`mt-4 text-sm leading-[25px] whitespace-pre-wrap`},Zr={key:1,class:`w-full h-full`};function Qr(t,n,a,s,c,u){let d=l(`icon-picture`),f=l(`el-icon`),m=l(`el-image`),h=l(`el-avatar`);return t.audio?.object?(g(),o(`div`,Hr,[e(`div`,Ur,[i(m,{src:t.audio.image_url,fit:`cover`,class:`size-full`},{error:p(()=>[e(`div`,Wr,[i(f,{class:`text-3xl`},{default:p(()=>[i(d,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})])]),_:1},8,[`src`]),e(`h2`,Gr,r(t.audio?.title),1)]),e(`div`,Kr,[e(`div`,qr,[i(h,{size:30,src:t.audio?.image_url,class:`mr-2`},null,8,[`src`]),e(`span`,null,r(t.audio?.title),1)]),e(`p`,Jr,r(t.audio?.style),1),e(`p`,Yr,r(t.$dayjs.format(t.audio?.created_at)),1),e(`div`,Xr,[e(`p`,null,r(t.audio?.lyric),1)])])])):(g(),o(`div`,Zr))}var $r=v({name:`ProducerIndex`,components:{Layout:Ke,ConfigPanel:fr,RecentPanel:Br,PreviewPanel:Z(Vr,[[`render`,Qr]])},mixins:[Oe,ze(`producer`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===D.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===D.Request},needApply(){return this.$store.state.producer.status.getApplications===D.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.applications},walletMode(){return J()&&K(`producer`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`producer/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await me({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(`producer/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`producer/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){Ce.create({application:this.application}).then(({data:e})=>{this.application=e,O.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&O.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(`producer/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){if(!Ee(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e=Ae(this.config),t=this.createPaymentOperation(t=>$.audio(e,t));if(t){O.info(this.$t(`producer.message.startingTask`));try{let e=await De(`producer`,t);this.recordWalletTask(e),O.success(this.$t(`producer.message.startTaskSuccess`))}catch(e){this.handlePaymentError(e)}finally{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)}}},createPaymentOperation(e){if(!this.walletMode){if(!ke())return;let t=this.credential?.token;return t?e({token:t}):void 0}let t=this.getWalletContext();if(!t){O.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return e({mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})},recordWalletTask(e){this.onWalletTask(e?.data?.task_id)},onWalletTask(e){this.walletMode&&!this.credential?.token&&e&&!this.walletTaskIds.includes(e)&&this.walletTaskIds.unshift(e)},handlePaymentError(e){e instanceof Q||(this.walletMode?O.error(this.$t(`common.x402Scenario.paymentFailed`)):O.error(e?.response?.data?.error?.message||this.$t(`producer.message.startTaskFailed`)))},getWalletContext(){return Y(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ei(e,t,n,r,a,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`preview-panel`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[i(s,{onGenerate:e.onGenerateAudio},null,8,[`onGenerate`])]),result:p(()=>[i(c,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop,onWalletTask:e.onWalletTask},null,8,[`loading`,`onReachTop`,`onWalletTask`])]),preview:p(()=>[i(u)]),_:1})}var ti=Z($r,[[`render`,ei],[`__scopeId`,`data-v-6f0bc2c5`]]);export{ti as default};
|
|
@@ -0,0 +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,P 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-CKdhNIc_.js";import{t as x}from"./upload-86r_qBlw.js";import{t as S}from"./tooltip-siz_AHre.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-C3taPMyR.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{n as O,t as k}from"./collapse-CHKYZNGx.js";import{t as A}from"./drawer-CFnWJn6T.js";import{t as j}from"./input-number-CfzTTv5K.js";import{t as M}from"./progress-BuyYfFZn.js";import{t as N}from"./clock-BjY8ddGs.js";import{a as ee,i as P,n as te,o as ne,r as re,s as ie,t as ae}from"./pagination-Ct9iwsuK.js";import{t as oe}from"./info-DkDuo54u.js";import{t as se}from"./music-2-BGpRcPcM.js";import{t as ce}from"./plus-DPsH7Sjc.js";import{t as F}from"./trash-2-BD_rYfpa.js";import{t as I}from"./triangle-alert-DHBBLtTd.js";import{t as le}from"./upload-B-5lkMRH.js";import{t as ue}from"./user-DJbv_WkD.js";import{t as de}from"./video-5jyo7aMf.js";import{t as L}from"./wand-sparkles-BJbx6jvi.js";import{Ar as fe,Ir as pe,Lr as me,Mr as he,Nr as ge,jr as R}from"./constants-BMkG7xao.js";import{$ as _e,$a as ve,Cr as z,Da as ye,Ga as B,Ia as be,Ii as V,J as xe,O as Se,Pi as H,Q as Ce,Sr as we,Xi as Te,ci as U,et as Ee,ja as W,k as G,ka as De,kn as Oe,nt as ke,oi as K,tt as Ae,xn as je,xr as q}from"./index-Dk3occrO.js";import{t as Me}from"./CopyToClipboard-BjRfLoil.js";import{t as Ne}from"./ReportButton-lzZe3i6C.js";import{t as J}from"./ImagePreview-aPBlpOJ8.js";import{n as Pe}from"./taskDrawerMixin-DyAUhFEq.js";import{n as Fe,t as Ie}from"./ServicePricingSummary-DOii-08b.js";import{t as Y}from"./AudioPreview-DmfAt7wO.js";import{t as Le}from"./VideoPlayer-Dc-1lN9r.js";import{t as X}from"./VideoPreview-C-DxYr53.js";import{t as Re}from"./ScenarioPaymentMode-BR4cXZk8.js";import{t as ze}from"./ApiCodeButton-DSQPf-rd.js";import{t as Be}from"./BotPlaceholder-DgI03cxu.js";var Ve=v({name:`LayoutDigitalHuman`,components:{UserIcon:ue,ElDrawer:A,ElButton:B},mixins:[Pe]}),He={class:`main flex flex-row flex-1`},Ue={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},We={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ge(t,n,r,i,o,c){let l=u(`user-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,He,[e(`div`,Ue,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,We,[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 Ke=G(Ve,[[`render`,Ge],[`__scopeId`,`data-v-e912fd04`]]),qe=v({name:`DigitalHumanMediaInput`,components:{AudioPreview:Y,CloseIcon:De,ElButton:B,ElProgress:M,ElUpload:x,ImagePreview:J,MusicIcon:se,UploadIcon:le,VideoIcon:de,VideoPreview:X},mixins:[ke,Ae,_e,xe],props:{kind:{type:String,required:!0},accept:{type:String,default:``},buttonText:{type:String,default:``},hint:{type:String,default:``}},emits:[`change`],data(){return{fileList:[],uploadUrl:ye()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},hasFile(){return this.fileList.length>0}},methods:{uploadedUrl(e){return e?.response?.file_url},isPending(e){return e.status===`ready`||e.status===`uploading`},onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){T.error(this.$t(`digitalhuman.message.uploadError`))},onRemoveFile(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onChange()},onChange(){let e=this.fileList?.[0];this.$emit(`change`,e?this.uploadedUrl(e):void 0)}}}),Je={class:`thumb`},Ye={key:2,class:`placeholder`},Xe=[`title`],Ze=[`aria-label`,`title`,`onClick`],Qe={key:0,class:`hint`};function $e(c,d,f,h,_,v){let y=u(`image-preview`),b=u(`video-preview`),x=u(`audio-preview`),S=u(`el-progress`),C=u(`video-icon`),w=u(`music-icon`),T=u(`close-icon`),E=u(`upload-icon`),D=u(`el-button`),O=u(`el-upload`);return g(),p(O,{ref:`uploader`,"file-list":c.fileList,"onUpdate:fileList":d[0]||=e=>c.fileList=e,accept:c.accept,name:`file`,class:`media-input`,limit:1,multiple:!1,"before-upload":c.beforeUploadSizeGuard,action:c.uploadUrl,headers:c.headers,"on-exceed":c.onExceed,"on-error":c.onError,"on-success":c.onChange,"on-remove":c.onChange},{file:m(({file:r})=>[e(`div`,{class:n([`slot`,{pending:c.isPending(r)}])},[c.kind===`image`&&r.url?(g(),p(y,{key:0,url:r.url,name:r.name,percentage:r.percentage,onRemove:e=>c.onRemoveFile(r)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(g(),s(l,{key:1},[e(`div`,Je,[c.kind===`video`&&c.uploadedUrl(r)?(g(),p(b,{key:0,url:c.uploadedUrl(r)},null,8,[`url`])):c.kind===`audio`&&c.uploadedUrl(r)?(g(),p(x,{key:1,url:c.uploadedUrl(r)},null,8,[`url`])):(g(),s(`div`,Ye,[c.isPending(r)?(g(),p(S,{key:0,type:`circle`,"stroke-width":4,percentage:Math.round(r.percentage||0),width:34},null,8,[`percentage`])):c.kind===`video`?(g(),p(C,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(g(),p(w,{key:2,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]))]),e(`span`,{class:`filename`,title:r.name},i(r.name),9,Xe),e(`button`,{type:`button`,class:`remove`,"aria-label":c.$t(`common.button.close`),title:c.$t(`common.button.close`),onClick:t(e=>c.onRemoveFile(r),[`stop`])},[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ze)],64))],2)]),default:m(()=>[a(D,{round:``,type:`primary`,size:`small`,class:`btn`},{default:m(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(c.hasFile?c.$t(`digitalhuman.button.replace`):c.buttonText),1)]),_:1}),c.hint?(g(),s(`p`,Qe,i(c.hint),1)):o(``,!0)]),_:1},8,[`file-list`,`accept`,`before-upload`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])}var Z=G(qe,[[`render`,$e],[`__scopeId`,`data-v-db0590a9`]]),et=20,Q=e=>{let t=e;return!!t&&typeof t.voice_id==`string`&&!!t.voice_id&&typeof t.name==`string`},$=()=>{try{let e=JSON.parse(localStorage.getItem(`digitalhuman.voices`)||`[]`);return Array.isArray(e)?e.filter(Q).map(e=>({voice_id:e.voice_id,name:e.name,lang:typeof e.lang==`string`?e.lang:`zh`,created_at:typeof e.created_at==`number`?e.created_at:0})):[]}catch{return[]}},tt=e=>{try{localStorage.setItem(me,JSON.stringify(e))}catch{}return e},nt=e=>Q(e)?tt([e,...$().filter(t=>t.voice_id!==e.voice_id)].slice(0,et)):$(),rt=e=>tt($().filter(t=>t.voice_id!==e)),it=e=>`${e} ${$().length+1}`,at=3e3,ot=60,st=v({name:`DigitalHumanVoiceCloneDialog`,components:{Consumption:Fe,ElAlert:C,ElButton:B,ElDialog:be,ElInput:ve,ElRadioButton:E,ElRadioGroup:D,MediaInput:Z},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`,`cloned`],data(){return{sampleUrl:void 0,name:``,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_AUDIO_ACCEPT:R,DIGITALHUMAN_VOICE_CLONE_CONSUMPTION:2,voiceQuoteUsdc:void 0,voiceQuoteLoading:!1,quoteRunId:0}},computed:{service(){return this.$store.state.digitalhuman?.service},credentialToken(){return this.$store.state.digitalhuman?.credential?.token},walletMode(){return H()&&V(`digitalhuman`).mode===`wallet`},langOptions(){return fe.map(e=>({value:e,label:this.$t(`digitalhuman.name.lang_${e}`)}))}},watch:{walletMode(e){this.voiceQuoteUsdc=void 0,e&&this.visible&&this.sampleUrl&&this.refreshVoiceQuote()},visible(e){e?(this.sampleUrl=void 0,this.name=it(this.$t(`digitalhuman.name.myVoice`)),this.lang=`zh`):(this.runId++,this.quoteRunId++,this.cloning=!1,this.voiceQuoteLoading=!1)}},beforeUnmount(){this.destroyed=!0,this.runId++,this.quoteRunId++},methods:{onVisible(e){this.cloning&&!e||this.$emit(`update:visible`,e)},onSampleChange(e){this.sampleUrl=e,this.voiceQuoteUsdc=void 0,e&&this.walletMode&&this.refreshVoiceQuote()},isStale(e){return this.destroyed||e!==this.runId},sleep(e){return new Promise(t=>setTimeout(t,e))},async refreshVoiceQuote(){if(!this.sampleUrl)return;let e=++this.quoteRunId;this.voiceQuoteLoading=!0;try{let t=await z.quoteVoice(this.voiceRequest());e===this.quoteRunId&&this.walletMode&&(this.voiceQuoteUsdc=t.amountUsdc)}catch(e){console.warn(`x402 voice quote failed`,e)}finally{e===this.quoteRunId&&(this.voiceQuoteLoading=!1)}},voiceRequest(){return we({audio_url:this.sampleUrl||``,lang:this.lang,name:this.name||void 0})},paymentOptions(){if(!this.walletMode)return this.credentialToken?{token:this.credentialToken}:void 0;let e=this.getWalletContext();if(!e){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credentialToken}}},async onClone(){if(!this.sampleUrl)return;let e=this.paymentOptions();if(!e)return;let t=++this.runId;this.cloning=!0;try{let{data:n}=await z.cloneVoice(this.voiceRequest(),e);if(this.isStale(t))return;if(n?.voice_id){this.onCloned(n.voice_id);return}if(n?.task_id)await this.pollVoice(n.task_id,t);else throw Error(`no task`)}catch(e){if(e instanceof K)return;this.isStale(t)||T.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t){for(let n=0;n<ot;n++){if(this.isStale(t)||(await this.sleep(at),this.isStale(t)))return;let n=this.credentialToken,{data:r}=await z.pollTask(e,n?{token:n}:{mode:`x402`});if(this.isStale(t))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},getWalletContext(){return U(this.$wallet)},async confirmWalletPayment(e){return W.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)},onCloned(e){nt({voice_id:e,name:this.name||this.$t(`digitalhuman.name.myVoice`),lang:this.lang,created_at:Date.now()/1e3}),T.success(this.$t(`digitalhuman.message.voiceCloneSuccess`)),this.cloning=!1,this.$emit(`cloned`,e),this.$emit(`update:visible`,!1)}}}),ct={class:`text-xs text-[var(--el-text-color-secondary)] mb-3`},lt={class:`field mb-3`},ut={class:`label`},dt={class:`field`},ft={class:`label`},pt={class:`text-xs mb-0`},mt={key:1,class:`mt-4 text-xs text-[var(--el-text-color-secondary)]`},ht={class:`footer`},gt={key:0,class:`cost text-xs text-[var(--el-text-color-secondary)]`};function _t(t,n,o,c,d,f){let _=u(`media-input`),v=u(`el-input`),y=u(`el-radio-button`),b=u(`el-radio-group`),x=u(`el-alert`),S=u(`consumption`),C=u(`el-button`),w=u(`el-dialog`);return g(),p(w,{"model-value":t.visible,title:t.$t(`digitalhuman.name.cloneVoice`),width:`440`,"align-center":``,"append-to-body":``,"close-on-click-modal":!t.cloning,"close-on-press-escape":!t.cloning,"onUpdate:modelValue":t.onVisible},{footer:m(()=>[e(`div`,ht,[t.walletMode?(g(),s(`span`,gt,i(t.voiceQuoteLoading?`…`:t.voiceQuoteUsdc?`${t.voiceQuoteUsdc} USDC`:t.$t(`common.x402Scenario.quoteBeforeSigning`)),1)):(g(),p(S,{key:1,value:t.DIGITALHUMAN_VOICE_CLONE_CONSUMPTION,service:t.service,class:`cost`},null,8,[`value`,`service`])),e(`div`,null,[a(C,{disabled:t.cloning,onClick:n[2]||=e=>t.onVisible(!1)},{default:m(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),a(C,{type:`primary`,loading:t.cloning,disabled:!t.sampleUrl||t.cloning,onClick:t.onClone},{default:m(()=>[r(i(t.$t(`digitalhuman.button.startClone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])]),default:m(()=>[e(`p`,ct,i(t.$t(`digitalhuman.message.voiceCloneHint`)),1),a(_,{kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSample`),hint:t.$t(`digitalhuman.message.audioHint`),class:`mb-4`,onChange:t.onSampleChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]),e(`div`,lt,[e(`span`,ut,i(t.$t(`digitalhuman.name.voiceName`)),1),a(v,{modelValue:t.name,"onUpdate:modelValue":n[0]||=e=>t.name=e,class:`control`,placeholder:t.$t(`digitalhuman.placeholder.voiceName`)},null,8,[`modelValue`,`placeholder`])]),e(`div`,dt,[e(`span`,ft,i(t.$t(`digitalhuman.name.voiceLang`)),1),a(b,{modelValue:t.lang,"onUpdate:modelValue":n[1]||=e=>t.lang=e,class:`control`},{default:m(()=>[(g(!0),s(l,null,h(t.langOptions,e=>(g(),p(y,{key:e.value,value:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),t.cloning?(g(),p(x,{key:0,closable:!1,type:`info`,class:`mt-4`},{default:m(()=>[e(`p`,pt,i(t.$t(`digitalhuman.message.voiceCloneRunning`)),1)]),_:1})):(g(),s(`p`,mt,i(t.$t(`digitalhuman.message.voiceStoredLocally`)),1))]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`onUpdate:modelValue`])}var vt=v({name:`DigitalHumanTimbreSelector`,components:{AddIcon:ce,DeleteIcon:F,ElButton:B,ElOption:b,ElSelect:y,VoiceCloneDialog:G(st,[[`render`,_t],[`__scopeId`,`data-v-037c810e`]])},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{voices:$(),dialogVisible:!1}},mounted(){this.modelValue&&!this.voices.some(e=>e.voice_id===this.modelValue)&&this.$emit(`update:modelValue`,void 0)},methods:{labelFor(e){let t=this.$t(`digitalhuman.name.lang_${e.lang}`);return t.startsWith(`digitalhuman.`)?e.name:`${e.name} · ${t}`},onCloned(e){this.voices=$(),this.$emit(`update:modelValue`,e)},onRemove(e){this.voices=rt(e),this.modelValue===e&&this.$emit(`update:modelValue`,void 0)}}}),yt={class:`row`},bt={class:`label`},xt={class:`option`},St={class:`option-name`},Ct=[`aria-label`,`title`,`onClick`],wt={class:`empty`};function Tt(n,o,d,f,_,v){let y=u(`delete-icon`),b=u(`el-option`),x=u(`el-select`),S=u(`add-icon`),C=u(`el-button`),w=u(`voice-clone-dialog`);return g(),s(`div`,null,[e(`div`,yt,[e(`span`,bt,i(n.$t(`digitalhuman.name.timbre`)),1),a(x,{"model-value":n.modelValue,class:`control`,placeholder:n.$t(`digitalhuman.placeholder.pickTimbre`),"onUpdate:modelValue":o[0]||=e=>n.$emit(`update:modelValue`,e)},c({default:m(()=>[(g(!0),s(l,null,h(n.voices,r=>(g(),p(b,{key:r.voice_id,label:n.labelFor(r),value:r.voice_id},{default:m(()=>[e(`span`,xt,[e(`span`,St,i(n.labelFor(r)),1),e(`button`,{type:`button`,class:`option-remove`,"aria-label":n.$t(`common.button.delete`),title:n.$t(`common.button.delete`),onClick:t(e=>n.onRemove(r.voice_id),[`stop`])},[a(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ct)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},[n.voices.length===0?{name:`empty`,fn:m(()=>[e(`p`,wt,i(n.$t(`digitalhuman.message.noVoiceYet`)),1)]),key:`0`}:void 0]),1032,[`model-value`,`placeholder`])]),a(C,{size:`small`,text:``,type:`primary`,class:`clone`,onClick:o[1]||=e=>n.dialogVisible=!0},{default:m(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.button.cloneNewVoice`)),1)]),_:1}),a(w,{visible:n.dialogVisible,"onUpdate:visible":o[2]||=e=>n.dialogVisible=e,onCloned:n.onCloned},null,8,[`visible`,`onCloned`])])}var Et=v({name:`ConfigPanel`,components:{ServicePricingSummary:Ie,ElButton:B,ElCollapse:k,ElCollapseItem:O,ElInputNumber:j,ElRadioButton:E,ElRadioGroup:D,InfoIcon:ee,MagicIcon:L,MediaInput:Z,PromptTextarea:P,TimbreSelector:G(vt,[[`render`,Tt],[`__scopeId`,`data-v-e191cc56`]]),WarningIcon:I,ScenarioPaymentMode:Re},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`text`,advancedOpen:[],DIGITALHUMAN_VIDEO_ACCEPT:pe,DIGITALHUMAN_IMAGE_ACCEPT:ge,DIGITALHUMAN_AUDIO_ACCEPT:R,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return je(this.config,this.service?.cost)},missing(){let e=[];return(this.faceMode===`video`?this.config?.video_url:this.config?.image_url)||e.push({key:`face`,message:this.$t(`digitalhuman.message.missingFace`)}),this.voiceMode===`text`?(this.config?.text?.trim()||e.push({key:`text`,message:this.$t(`digitalhuman.message.missingText`)}),this.config?.voice_id||e.push({key:`timbre`,message:this.$t(`digitalhuman.message.missingTimbre`)})):this.config?.audio_url||e.push({key:`audio`,message:this.$t(`digitalhuman.message.missingAudio`)}),e},text:{get(){return this.config?.text},set(e){this.update({text:e})}},voiceId:{get(){return this.config?.voice_id},set(e){this.update({voice_id:e})}},speed:{get(){return this.config?.speed??1},set(e){this.update({speed:e})}},walletMode(){return H()&&V(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},faceMode(){this.walletMode&&this.scheduleQuote()},voiceMode(){this.walletMode&&this.scheduleQuote()}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),this.config?.audio_url&&(this.voiceMode=`audio`)},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=V(`digitalhuman`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=q(this.config,this.faceMode,this.voiceMode),r=await z.quote(n);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=r.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},isMissing(e){return this.missing.some(t=>t.key===e)},update(e){this.$store.commit(`digitalhuman/setConfig`,{...this.config,...e})},onFaceModeChange(e){this.update(e===`video`?{image_url:void 0}:{video_url:void 0})},onVoiceModeChange(e){this.update(e===`audio`?{text:void 0,voice_id:void 0}:{audio_url:void 0})},onFaceVideoChange(e){this.update({video_url:e})},onFacePhotoChange(e){this.update({image_url:e})},onAudioChange(e){this.update({audio_url:e})},onGenerate(){let e=this.missing[0];if(e){T.warning(e.message);let t=e.key===`face`?`face`:`voice`;this.$refs[t]?.scrollIntoView?.({behavior:`smooth`,block:`center`});return}this.$emit(`generate`,q(this.config,this.faceMode,this.voiceMode))}}}),Dt={class:`flex flex-col h-full`},Ot={class:`flex-1 overflow-y-auto p-5`},kt={ref:`face`,class:`field-block mb-6`},At={class:`field-head`},jt={class:`field-title font-bold`},Mt={key:0,class:`required-badge`},Nt={ref:`voice`,class:`field-block mb-6`},Pt={class:`field-head`},Ft={class:`field-title font-bold`},It={key:0,class:`required-badge`},Lt={class:`field-row`},Rt={class:`field-head`},zt={class:`field-title font-bold`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`},Vt={key:0,class:`hint-missing`},Ht={class:`hint-eta`};function Ut(t,n,c,d,f,h){let _=u(`info-icon`),v=u(`el-radio-button`),y=u(`el-radio-group`),b=u(`media-input`),x=u(`prompt-textarea`),S=u(`timbre-selector`),C=u(`el-input-number`),w=u(`el-collapse-item`),T=u(`el-collapse`),E=u(`warning-icon`),D=u(`scenario-payment-mode`),O=u(`service-pricing-summary`),k=u(`magic-icon`),A=u(`el-button`);return g(),s(`div`,Dt,[e(`div`,Ot,[e(`section`,kt,[e(`div`,At,[e(`h2`,jt,i(t.$t(`digitalhuman.name.step1`)),1),t.isMissing(`face`)?(g(),s(`span`,Mt,i(t.$t(`digitalhuman.name.required`)),1)):o(``,!0),a(_,{content:t.$t(`digitalhuman.description.step1`),class:`ml-1`},null,8,[`content`])]),a(y,{modelValue:t.faceMode,"onUpdate:modelValue":n[0]||=e=>t.faceMode=e,class:`mode-switch mb-3`,onChange:t.onFaceModeChange},{default:m(()=>[a(v,{value:`video`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModeVideo`)),1)]),_:1}),a(v,{value:`photo`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.faceMode===`video`?(g(),p(b,{key:0,kind:`video`,accept:t.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFaceVideo`),hint:t.$t(`digitalhuman.message.faceVideoHint`),onChange:t.onFaceVideoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`])):(g(),p(b,{key:1,kind:`image`,accept:t.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFacePhoto`),hint:t.$t(`digitalhuman.message.facePhotoHint`),onChange:t.onFacePhotoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),e(`section`,Nt,[e(`div`,Pt,[e(`h2`,Ft,i(t.$t(`digitalhuman.name.step2`)),1),t.isMissing(`text`)||t.isMissing(`timbre`)||t.isMissing(`audio`)?(g(),s(`span`,It,i(t.$t(`digitalhuman.name.required`)),1)):o(``,!0),a(_,{content:t.$t(`digitalhuman.description.step2`),class:`ml-1`},null,8,[`content`])]),a(y,{modelValue:t.voiceMode,"onUpdate:modelValue":n[1]||=e=>t.voiceMode=e,class:`mode-switch mb-3`,onChange:t.onVoiceModeChange},{default:m(()=>[a(v,{value:`text`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeText`)),1)]),_:1}),a(v,{value:`audio`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeAudio`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.voiceMode===`text`?(g(),s(l,{key:0},[a(x,{modelValue:t.text,"onUpdate:modelValue":n[2]||=e=>t.text=e,class:`mb-3`,title:t.$t(`digitalhuman.name.speech`),placeholder:t.$t(`digitalhuman.placeholder.speech`),"min-rows":5,"max-rows":14},null,8,[`modelValue`,`title`,`placeholder`]),a(S,{modelValue:t.voiceId,"onUpdate:modelValue":n[3]||=e=>t.voiceId=e},null,8,[`modelValue`])],64)):(g(),p(b,{key:1,kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSpeechAudio`),hint:t.$t(`digitalhuman.message.audioHint`),onChange:t.onAudioChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),a(T,{modelValue:t.advancedOpen,"onUpdate:modelValue":n[5]||=e=>t.advancedOpen=e,class:`advanced`},{default:m(()=>[a(w,{name:`advanced`,title:t.$t(`digitalhuman.name.advanced`)},{default:m(()=>[e(`div`,Lt,[e(`div`,Rt,[e(`h2`,zt,i(t.$t(`digitalhuman.name.speed`)),1),a(_,{content:t.$t(`digitalhuman.description.speed`),class:`ml-1`},null,8,[`content`])]),a(C,{modelValue:t.speed,"onUpdate:modelValue":n[4]||=e=>t.speed=e,class:`field-control`,min:.5,max:2,step:.1,precision:1,"controls-position":`right`},null,8,[`modelValue`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])]),e(`div`,Bt,[t.missing.length>0?(g(),s(`p`,Vt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.missing[0].message),1)])):o(``,!0),a(D,{scenario:`digitalhuman`}),t.walletMode?o(``,!0):(g(),p(O,{key:1,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(A,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:m(()=>[a(k,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`digitalhuman.button.generateVideo`)),1)]),_:1},8,[`onClick`]),e(`p`,Ht,i(t.$t(`digitalhuman.message.eta`)),1)])])}var Wt=G(Et,[[`render`,Ut],[`__scopeId`,`data-v-0b652d94`]]),Gt=[`.jpg`,`.jpeg`,`.png`,`.webp`,`.bmp`,`.gif`],Kt=v({name:`TaskPreview`,components:{ApiCodeButton:ze,AudioPreview:Y,ChannelIcon:ie,CopyToClipboard:Me,DeleteIcon:F,ElAlert:C,ElButton:B,ElProgress:M,ElTooltip:S,FullscreenIcon:ne,ImagePreview:J,InfoIcon:oe,MagicIcon:L,ReportButton:Ne,TimeIcon:N,VideoPlayer:Le,VideoPreview:X,WarningIcon:I},props:{modelValue:{type:Object,required:!0}},computed:{status(){return this.modelValue?.status||this.modelValue?.response?.state||`pending`},isSuccess(){return[`succeed`,`succeeded`].includes(this.status)||!!this.modelValue?.response?.video_url},isFailure(){return[`failed`,`dead`].includes(this.status)||this.modelValue?.response?.success===!1},isTerminal(){return this.isSuccess||this.isFailure},videoUrl(){return this.modelValue?.response?.video_url},progressPct(){let e=this.modelValue?.response?.progress;return typeof e==`number`?e:0},voiceLabel(){return this.modelValue?.request?.audio_url?this.$t(`digitalhuman.name.audioDriven`):this.$t(`digitalhuman.name.textDriven`)},faceUrl(){return this.modelValue?.request?.video_url||this.modelValue?.request?.image_url},isPhotoFace(){if(this.modelValue?.request?.image_url)return!0;let e=(this.faceUrl||``).split(`?`)[0].toLowerCase();return Gt.some(t=>e.endsWith(t))},audioUrl(){return this.modelValue?.request?.audio_url},outputSize(){let{width:e,height:t}=this.modelValue?.response||{};return e&&t?`${e}×${t}`:void 0},etaText(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(!e)return;let t=he-(Date.now()/1e3-e);return t<=60?this.$t(`digitalhuman.message.etaAlmostDone`):this.$t(`digitalhuman.message.etaRemaining`,{minutes:Math.ceil(t/60)})},statusLabel(){let e=`digitalhuman.status.${this.status}`,t=this.$t(e);return t===e?this.$t(`digitalhuman.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await W.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(`digitalhuman/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),qt={class:`preview`},Jt={class:`left`},Yt={class:`main`},Xt={class:`bot`},Zt={class:`datetime`},Qt=[`aria-label`],$t={class:`info`},en={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},tn={class:`prompt mt-2`},nn={key:0},rn={key:0,class:`content`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},cn={key:1,class:`content`},ln={class:`operations mt-2`},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={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:`content`},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_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-0`};function bn(n,c,l,d,f,h){let _=u(`capability-presentation`),v=u(`delete-icon`),y=u(`el-tooltip`),b=u(`image-preview`),x=u(`video-preview`),S=u(`audio-preview`),C=u(`time-icon`),w=u(`el-progress`),T=u(`magic-icon`),E=u(`copy-to-clipboard`),D=u(`el-alert`),O=u(`video-player`),k=u(`el-button`),A=u(`api-code-button`),j=u(`report-button`),M=u(`fullscreen-icon`),N=u(`channel-icon`),ee=u(`warning-icon`),P=u(`info-icon`);return g(),s(`div`,qt,[e(`div`,Jt,[a(_,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,Yt,[e(`div`,Xt,[a(_,{capability:`digitalhuman`,part:`name`}),e(`span`,Zt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default: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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Qt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$t,[n.faceUrl||n.audioUrl?(g(),s(`div`,en,[n.faceUrl&&n.isPhotoFace?(g(),p(b,{key:0,url:n.faceUrl,name:`face`,closable:!1},null,8,[`url`])):n.faceUrl?(g(),p(x,{key:1,url:n.faceUrl,name:`face`},null,8,[`url`])):o(``,!0),n.audioUrl?(g(),p(S,{key:2,url:n.audioUrl,name:`audio`},null,8,[`url`])):o(``,!0)])):o(``,!0),e(`p`,tn,[r(i(n.modelValue?.request?.text||n.voiceLabel)+` `,1),n.isTerminal?o(``,!0):(g(),s(`span`,nn,` - (`+i(n.statusLabel)+`) `,1))])]),n.isTerminal?o(``,!0):(g(),s(`div`,rn,[a(D,{closable:!1,class:`info-state`},{default:m(()=>[e(`p`,an,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.statusLabel),1)]),a(w,{percentage:n.progressPct,"stroke-width":6,class:`mb-2`},null,8,[`percentage`]),n.etaText?(g(),s(`p`,on,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.etaLabel`))+`: `+i(n.etaText),1)])):o(``,!0),e(`p`,sn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])),n.isSuccess?(g(),s(`div`,cn,[n.videoUrl?(g(),p(O,{key:0,src:n.videoUrl},null,8,[`src`])):o(``,!0),e(`div`,ln,[n.videoUrl?(g(),p(k,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.videoUrl)},{default:m(()=>[r(i(n.$t(`digitalhuman.button.download`)),1)]),_:1})):o(``,!0),a(A,{path:`/digital-human/videos`,body:n.modelValue?.request},null,8,[`body`]),a(j,{service:`digitalhuman`,"target-id":n.modelValue?.id,snapshot:{text:n.modelValue?.request?.text}},null,8,[`target-id`,`snapshot`])]),a(D,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.response?.duration?(g(),s(`p`,un,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.duration`))+`: `+i(n.modelValue?.response?.duration?.toFixed(1))+`s `,1)])):o(``,!0),n.outputSize?(g(),s(`p`,dn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.outputSize`))+`: `+i(n.outputSize),1)])):o(``,!0),e(`p`,fn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(g(),s(`div`,hn,[a(D,{closable:!1,class:`failure`},{template:m(()=>[a(ee,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failure`)),1)]),default:m(()=>[e(`p`,gn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.failureReason?(g(),s(`p`,_n,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failureReason`))+`: `+i(n.failureReason)+` `,1),a(E,{content:n.failureReason},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,vn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,yn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var xn=v({name:`RecentPanel`,components:{TaskPreview:G(Kt,[[`render`,bn],[`__scopeId`,`data-v-342f1d6d`]]),NoTasks:re,BotPlaceholder:Be,ScrollList:te},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.digitalhuman?.tasks,items:this.$store.state.digitalhuman?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Sn={key:0},Cn={key:2,class:`w-full h-full flex items-center justify-center`};function wn(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`,Sn,[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`,Cn,[a(v)])):o(``,!0)],64)}var Tn=v({name:`DigitalHumanIndex`,components:{ConfigPanel:Wt,Layout:Ke,RecentPanel:G(xn,[[`render`,wn]])},mixins:[Ee],inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks},walletMode(){return H()&&V(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`digitalhuman/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},initialized:{async handler(e){window.clearInterval(this.job),e&&(await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ae({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(){await this.$store.dispatch(`digitalhuman/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`digitalhuman/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!Ce(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=z.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Oe())return;let n=this.credential?.token;if(!n)return;t=z.generate(e,{token:n})}T.info(this.$t(`digitalhuman.message.startingTask`)),Te(`digitalhuman`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{e instanceof K||Se(e,`digitalhuman`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`digitalhuman.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return U(this.$wallet)},async confirmWalletPayment(e){return W.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function En(e,t,n,r,i,o){let s=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`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dn=G(Tn,[[`render`,En]]);export{Dn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-CKdhNIc_.js";import{t as x}from"./upload-86r_qBlw.js";import{t as S}from"./tooltip-siz_AHre.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-C3taPMyR.js";import{t as E}from"./drawer-CFnWJn6T.js";import{t as D}from"./input-number-CfzTTv5K.js";import{t as O}from"./slider-C3aZc1TI.js";import{t as k}from"./clock-BjY8ddGs.js";import{a as A,i as ee,n as j,r as M,s as N,t as P}from"./pagination-Ct9iwsuK.js";import{t as te}from"./info-DkDuo54u.js";import{t as ne}from"./trash-2-BD_rYfpa.js";import{t as re}from"./triangle-alert-DHBBLtTd.js";import{t as ie}from"./upload-B-5lkMRH.js";import{t as F}from"./wand-sparkles-BJbx6jvi.js";import{Dr as I,Er as L,Tr as R,wr as z}from"./constants-BMkG7xao.js";import{$ as B,Da as V,Ga as H,Ii as U,J as W,O as G,Pi as K,Q as q,Xi as J,br as Y,ci as ae,et as oe,ja as X,k as Z,kn as se,nt as ce,oi as le,tt as ue,xn as de,yr as Q}from"./index-Dk3occrO.js";import{t as fe}from"./CopyToClipboard-BjRfLoil.js";import{t as pe}from"./ReportButton-lzZe3i6C.js";import{t as me}from"./ImagePreview-aPBlpOJ8.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-DOii-08b.js";import{t as _e}from"./VideoPlayer-Dc-1lN9r.js";import{t as ve}from"./ScenarioPaymentMode-BR4cXZk8.js";import{t as ye}from"./ApiCodeButton-DSQPf-rd.js";import{t as be}from"./BotPlaceholder-DgI03cxu.js";var xe=v({name:`LayoutPixverse`,components:{MagicIcon:F,ElDrawer:E,ElButton:H},mixins:[he]}),Se={class:`main flex flex-row flex-1`},Ce={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},we={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Te(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Se,[e(`div`,Ce,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,we,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ee=Z(xe,[[`render`,Te],[`__scopeId`,`data-v-9da6c14b`]]),De=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=R}}),Oe={class:`field`},ke={class:`title font-bold`};function Ae(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Oe,[e(`h2`,ke,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var je=Z(De,[[`render`,Ae],[`__scopeId`,`data-v-e8f337ca`]]),Me=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=I}}),Ne={class:`field`},Pe={class:`title font-bold`};function Fe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ne,[e(`h2`,Pe,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ie=Z(Me,[[`render`,Fe],[`__scopeId`,`data-v-64aeaae9`]]),Le=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=L}}),Re={class:`field`},ze={class:`title font-bold`};function Be(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Re,[e(`h2`,ze,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=Z(Le,[[`render`,Be],[`__scopeId`,`data-v-94237408`]]),He=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ue={class:`field`},We={class:`title font-bold`};function Ge(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ue,[e(`h2`,We,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ke=Z(He,[[`render`,Ge],[`__scopeId`,`data-v-64e17b3c`]]),qe=v({name:`SeedSelector`,components:{ElSlider:O,InfoIcon:A,ElInputNumber:D},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`},Ze={class:`flex justify-end items-center`},Qe={class:`w-full`};function $e(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,Ze,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Qe,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var et=Z(qe,[[`render`,$e]]),tt=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),nt={class:`field`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,nt,[e(`h2`,rt,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var at=Z(tt,[[`render`,it],[`__scopeId`,`data-v-e7343a05`]]),ot=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=z}}),st={class:`text-sm font-bold mb-2 block`},ct={class:`items`},lt=[`onClick`],ut={class:`name`};function dt(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,st,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,ct,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,ut,i(r.label),1)],10,lt))),128))])])}var ft=Z(ot,[[`render`,dt],[`__scopeId`,`data-v-53038264`]]),pt=v({name:`StartImage`,components:{UploadIcon:ie,ElUpload:x,ElButton:H,InfoIcon:A,ImagePreview:me},mixins:[ce,ue,B,W],emits:[`change`],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){T.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){T.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),mt={class:`relative`},ht={class:`flex justify-between`},gt={class:`flex justify-start items-center`},_t={class:`text-sm font-bold`};function vt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,mt,[e(`div`,ht,[e(`div`,gt,[e(`span`,_t,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var yt=Z(pt,[[`render`,vt],[`__scopeId`,`data-v-e2ab1425`]]),bt=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function xt(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var St=v({name:`ConfigPanel`,components:{MagicIcon:F,ElButton:H,PromptInput:Z(bt,[[`render`,xt]]),ModelSelector:je,QualitySelector:Ie,MotionSelector:Ve,StyleSelector:Ke,DurationSelector:at,StartImage:yt,SeedSelector:et,RatioSelector:ft,ServicePricingSummary:ge,ScenarioPaymentMode:ve},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.pixverse?.config},consumption(){return de(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service},walletMode(){return K()&&U(`pixverse`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=U(`pixverse`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Q(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Ct={class:`flex flex-col h-full`},wt={class:`flex-1 overflow-y-auto p-5`},Tt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Et(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`style-selector`),y=l(`ratio-selector`),b=l(`motion-selector`),x=l(`quality-selector`),S=l(`start-image`),C=l(`seed-selector`),w=l(`duration-selector`),T=l(`scenario-payment-mode`),E=l(`service-pricing-summary`),D=l(`magic-icon`),O=l(`el-button`);return g(),s(`div`,Ct,[e(`div`,wt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-4`})]),e(`div`,Tt,[a(T,{scenario:`pixverse`}),t.walletMode?o(``,!0):(g(),f(E,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(O,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(D,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Dt=Z(St,[[`render`,Et]]),Ot=v({name:`TaskPreview`,components:{DeleteIcon:ne,ChannelIcon:N,InfoIcon:te,MagicIcon:F,TimeIcon:k,WarningIcon:re,CopyToClipboard:fe,ElAlert:C,VideoPlayer:_e,ElTooltip:S,ElButton:H,ApiCodeButton:ye,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await X.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`pixverse/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),kt={class:`preview`},At={class:`left`},jt={class:`main`},Mt={class:`bot`},Nt={class:`datetime`},Pt=[`aria-label`],Ft={class:`info`},It={key:0,class:`prompt mt-2`},Lt={key:0},Rt={key:1},zt={key:0,class:n({content:!0,failed:!0})},Bt={key:0,class:`mb-4`},$={key:1,class:n({operations:!0,"mt-2":!0})},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:1,class:n({content:!0})},Gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,kt,[e(`div`,At,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,jt,[e(`div`,Mt,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,Nt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Pt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Ft,[n.modelValue?.request?.prompt?(g(),s(`p`,It,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Lt,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,Rt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,zt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Bt,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,$,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`pixverse`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Vt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Ht,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ut,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,Wt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,Gt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,qt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Jt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Xt=v({name:`RecentPanel`,components:{TaskPreview:Z(Ot,[[`render`,Yt],[`__scopeId`,`data-v-7707e0ef`]]),NoTasks:M,BotPlaceholder:be,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Zt={key:0},Qt={key:2,class:`w-full h-full flex items-center justify-center`};function $t(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Zt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Qt,[a(v)])):o(``,!0)],64)}var en=v({name:`PixverseIndex`,components:{ConfigPanel:Dt,Layout:Ee,RecentPanel:Z(Xt,[[`render`,$t]])},mixins:[oe],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks},walletMode(){return K()&&U(`pixverse`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pixverse/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onGetTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onGetTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!q(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e=Q(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=Y.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!se())return;let n=this.credential?.token;if(!n)return;t=Y.generate(e,{token:n})}T.info(this.$t(`pixverse.message.startingTask`)),J(`pixverse`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{e instanceof le||G(e,`pixverse`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pixverse.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ae(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var nn=Z(en,[[`render`,tn]]);export{nn as default};
|