@acedatacloud/nexior 3.377.1 → 3.378.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 +4 -0
- package/dist/assets/{ApiCodeButton-9MmMX2Rz.js → ApiCodeButton-CkntOqa9.js} +1 -1
- package/dist/assets/{ApiCodeDialog-B-aaBENE.js → ApiCodeDialog-KG1ItHyz.js} +1 -1
- package/dist/assets/{Artifacts-BRJofEeq.js → Artifacts-DLNEnSNX.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-qO_Aa_ay.js → AskUserQuestionCard-SqhjqCix.js} +1 -1
- package/dist/assets/{AudioPreview-dlYSSqwo.js → AudioPreview-Dcxz1qqs.js} +1 -1
- package/dist/assets/{Auth-CnJEcoU2.js → Auth-DEb7QXSd.js} +1 -1
- package/dist/assets/{Bare-D5TGD9hu.js → Bare-BCIb4Y6O.js} +1 -1
- package/dist/assets/{BotPlaceholder-DbLUWxuQ.js → BotPlaceholder-D7R9yzly.js} +1 -1
- package/dist/assets/{BottomFooter-DXsNL9rY.js → BottomFooter-CO0ZE175.js} +1 -1
- package/dist/assets/{BrowseConnectors-B__CL0No.js → BrowseConnectors-BShsPFFx.js} +1 -1
- package/dist/assets/{BrowserPairingDialog--cJ5NNk8.js → BrowserPairingDialog-i49YHsUX.js} +1 -1
- package/dist/assets/{Callback-DmHsKi3g.js → Callback-C9KP27RQ.js} +1 -1
- package/dist/assets/{CodeSnippet-Pm2B_1NM.js → CodeSnippet-BA6kQd5W.js} +1 -1
- package/dist/assets/{Console-C1VP6RIr.js → Console-CiT1-rhN.js} +1 -1
- package/dist/assets/{Conversation-B2G_o-kI.js → Conversation-CzCvp_L7.js} +1 -1
- package/dist/assets/{Conversation-1G6qBwUH.js → Conversation-d0a9dgit.js} +1 -1
- package/dist/assets/CopyToClipboard-B9SD8m8Y.css +1 -0
- package/dist/assets/CopyToClipboard-BDuBtP0j.js +1 -0
- package/dist/assets/{Detail-CL8Lj5tl.js → Detail-ON0VcjyS.js} +1 -1
- package/dist/assets/{Extra-Dic-O-Ob.js → Extra-CSDY1tah.js} +1 -1
- package/dist/assets/{FilePreview-BJxz40ro.js → FilePreview-MmPN4Cv7.js} +1 -1
- package/dist/assets/{Hailuo-CNhGMLEn.js → Hailuo-D_XPzMQr.js} +1 -1
- package/dist/assets/{History-DimxMQRO.js → History-DU4oLHjt.js} +1 -1
- package/dist/assets/{ImagePreview-CHtT7AjC.js → ImagePreview-BttJauXe.js} +1 -1
- package/dist/assets/{ImageWrapper-DCT5GB_D.js → ImageWrapper-Cw6T8HnF.js} +1 -1
- package/dist/assets/{Index-DKUJBAPS.js → Index-73oaGK-A.js} +1 -1
- package/dist/assets/{Index-CknB2czb.js → Index-B5q2xiCh.js} +1 -1
- package/dist/assets/{Index-CfmUVceh.js → Index-BaB_6SnJ.js} +1 -1
- package/dist/assets/{Index-IyAfMf3Y.js → Index-Bbg8gcRr.js} +1 -1
- package/dist/assets/{Index-Co1tWAI7.js → Index-Bk5pgWL3.js} +1 -1
- package/dist/assets/{Index-B9cX0dlJ.js → Index-BvL62BkM.js} +1 -1
- package/dist/assets/{Index-Df07w6x-.css → Index-BytvhA-o.css} +1 -1
- package/dist/assets/{Index-CfIz4Vnv.js → Index-C1CerJWh.js} +1 -1
- package/dist/assets/{Index-bsSStJPP.js → Index-C2xLdzMv.js} +1 -1
- package/dist/assets/{Index-gWchZek8.js → Index-C7IMz_R4.js} +1 -1
- package/dist/assets/Index-CHNkHLSz.css +1 -0
- package/dist/assets/Index-CcIjVVU9.js +88 -0
- package/dist/assets/{Index-BNHnYXRe.js → Index-CeSUfXvP.js} +1 -1
- package/dist/assets/{Index-RDBAcDIh.js → Index-CniWREMM.js} +1 -1
- package/dist/assets/{Index-CpznSAZ9.js → Index-CrDlqRLW.js} +1 -1
- package/dist/assets/{Index-DzJQAGhy.js → Index-Ct9ja3wZ.js} +1 -1
- package/dist/assets/{Index-D-GcuYzk.js → Index-D3Qqzj1A.js} +1 -1
- package/dist/assets/{Index-B1YX7WkS.js → Index-D9cv9UKM.js} +1 -1
- package/dist/assets/{Index-zflXpJda.js → Index-DAOd13Sv.js} +1 -1
- package/dist/assets/{Index-I8QYXr0i.js → Index-DENvYK6d.js} +1 -1
- package/dist/assets/{Index-DqMjfApU.js → Index-DOTWqbKP.js} +1 -1
- package/dist/assets/{Index-fMMimrjx.js → Index-DRKMabL0.js} +1 -1
- package/dist/assets/{Index-CSWJ7NCx.js → Index-Df93aLf9.js} +1 -1
- package/dist/assets/{Index-Kmpo-ztR.js → Index-Di9FU0BB.js} +1 -1
- package/dist/assets/{Index-T0wkafLQ.js → Index-DpGTnfiS.js} +1 -1
- package/dist/assets/{Index-PtpnVmNm.js → Index-DpJoB60_.js} +1 -1
- package/dist/assets/{Index-DYhWBS9L.js → Index-DqllUyi4.js} +1 -1
- package/dist/assets/{Index-CEkMfiFe.js → Index-G8ebPC9A.js} +1 -1
- package/dist/assets/{Index-C0iv-m-y.js → Index-TpXgcMSM.js} +1 -1
- package/dist/assets/{Index-C1mtyzh_.js → Index-UPfdCR9o.js} +1 -1
- package/dist/assets/{Index-BdIz8-hV.js → Index-YoBcV-xm.js} +1 -1
- package/dist/assets/{Index-goc7MgZf.js → Index-ZqQ6To5R.js} +1 -1
- package/dist/assets/{Index-INQMtJno.js → Index-a7Vn4g_M.js} +1 -1
- package/dist/assets/{Index-DONDQZ1E.js → Index-aKC4NGq-.js} +1 -1
- package/dist/assets/{Index-CDEVmzgS.js → Index-mdM9vHfS.js} +1 -1
- package/dist/assets/{Index-CqDTyX68.js → Index-piNRLtwz.js} +1 -1
- package/dist/assets/{Index-mle_T0pC.js → Index-sO3P7vG-.js} +1 -1
- package/dist/assets/{Index-CXKi-F4d2.js → Index-uYybtLIp2.js} +1 -1
- package/dist/assets/{Invitees-C4jk1TxQ.js → Invitees-tAnjFHCs.js} +1 -1
- package/dist/assets/{List-BUu0mtig.js → List-4OgXX770.js} +1 -1
- package/dist/assets/{List-TlHkSoLD.js → List-C7UaV8dO.js} +1 -1
- package/dist/assets/{List-DzDKIx9D.js → List-UCgCR4FX.js} +1 -1
- package/dist/assets/{LocalTools-BwYFkxy1.js → LocalTools-CqR-nE9b.js} +1 -1
- package/dist/assets/{LocalTools-BRL__GlL.js → LocalTools-DznCFGQH.js} +1 -1
- package/dist/assets/{Logo-B-p_YRjj.js → Logo-DBmaDG3J.js} +1 -1
- package/dist/assets/{Main-D15wOr8X.js → Main-LhtWm16A.js} +1 -1
- package/dist/assets/Message-BgnTwf4e.css +1 -0
- package/dist/assets/Message-CS0ScapF.js +3 -0
- package/dist/assets/{Model-jLdyy1KL.js → Model-D6dSDQbl.js} +1 -1
- package/dist/assets/{Navigator-BvK4Khc3.js → Navigator-B_rU5sl5.js} +4 -4
- package/dist/assets/Navigator-CiVhSyY2.css +1 -0
- package/dist/assets/{NotFound-Bmq7gFla.js → NotFound-CHcDxOu0.js} +1 -1
- package/dist/assets/{PageHeader-CgXpvtbY.js → PageHeader-CHsaVW4e.js} +1 -1
- package/dist/assets/{Pay-DPYus9TX.js → Pay-CaIwSjr3.js} +1 -1
- package/dist/assets/{Player-C2Vi3qvl.js → Player-_OqjXRWY.js} +1 -1
- package/dist/assets/{Poivelle-BxTeZayC.js → Poivelle-C81I6ll_.js} +1 -1
- package/dist/assets/{RealtimeCall-DSedJ4M1.js → RealtimeCall-DbG72eA-.js} +1 -1
- package/dist/assets/{ReportButton-BLxE3uj7.js → ReportButton-BhTGM-ns.js} +1 -1
- package/dist/assets/{ReportDialog-BNWobWpC.js → ReportDialog-DxmpAbWL.js} +1 -1
- package/dist/assets/{ScenarioPaymentMode-A4snmp1R.js → ScenarioPaymentMode-OoBCf54I.js} +1 -1
- package/dist/assets/{ScheduledTasks-Cjx96h19.js → ScheduledTasks-Ddfuxcc3.js} +1 -1
- package/dist/assets/{ServicePricingSummary-BD3Ban3F.js → ServicePricingSummary-Ce4YxQTT.js} +1 -1
- package/dist/assets/{vendor-katex-CSceNpVM.css → SharedMarkdown-BZjJ_oJ8.css} +1 -1
- package/dist/assets/SharedMarkdown-y56eTTaT.js +52 -0
- package/dist/assets/{ShowcaseGrid-D_bUR_UU.js → ShowcaseGrid-DidpygIJ.js} +1 -1
- package/dist/assets/{ShowcaseResultTabs-DmSI-Wiz.js → ShowcaseResultTabs-Dtod3SQA.js} +1 -1
- package/dist/assets/{SolanaWalletPickerDialog-BrOqxlNe.js → SolanaWalletPickerDialog-Cotj93ij.js} +1 -1
- package/dist/assets/Status-CJdLn3iI.css +1 -0
- package/dist/assets/{Status-BRKeCyU4.js → Status-CsV2Ja7D.js} +1 -1
- package/dist/assets/{Subscribe-CfoOEAXh.js → Subscribe-zhwTbYXv.js} +1 -1
- package/dist/assets/{TabSwitcher-C3K4jxxW.js → TabSwitcher-Mo-HftGd.js} +1 -1
- package/dist/assets/{Tts-WLMxrt-v.js → Tts-Dl6kLn5_.js} +1 -1
- package/dist/assets/{VideoPlayer-2KVCaTz-.js → VideoPlayer-D3FCgw3g.js} +1 -1
- package/dist/assets/{VideoPreview-BqwwqXiC.js → VideoPreview-CvtGNERs.js} +1 -1
- package/dist/assets/VueMarkdown-BGpu7jb9.js +2 -0
- package/dist/assets/{WriteSkillDialog-BCzHLhaO.js → WriteSkillDialog-cW1m7wvA.js} +1 -1
- package/dist/assets/{_Uint8Array-nIISVuHt.js → _Uint8Array-sSpijImS.js} +1 -1
- package/dist/assets/{_baseClone-7_lsbwLS.js → _baseClone-CZ26MPyA.js} +1 -1
- package/dist/assets/{_baseIteratee--QYWPkC4.js → _baseIteratee-CVyE78-3.js} +1 -1
- package/dist/assets/{_initCloneObject-CCi-U_EQ.js → _initCloneObject-BOg92v1Q.js} +1 -1
- package/dist/assets/{airwallexCheckout-CPcwgr20.js → airwallexCheckout-DtOT900I.js} +1 -1
- package/dist/assets/{alert-U2MaPlJ9.js → alert-BCXxQqq9.js} +1 -1
- package/dist/assets/arrow-down-BtOf7_CV.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-C03p6PJ4.js → arrow-down-wide-narrow-WPhbTWtA.js} +1 -1
- package/dist/assets/arrow-left-DXqpjhdX.js +1 -0
- package/dist/assets/arrow-right-DryFwfaj.js +1 -0
- package/dist/assets/arrow-up-BUa4ruGk.js +1 -0
- package/dist/assets/{authorizeFlow-DnrbzvOW.js → authorizeFlow-2qirV4uJ.js} +1 -1
- package/dist/assets/{avatar-CLuDbmJI.js → avatar-B0SlbOi0.js} +1 -1
- package/dist/assets/{avatar-BR02j3V4.js → avatar-DFnhX0Wd.js} +1 -1
- package/dist/assets/{back-navigation-CEcrZYYR.js → back-navigation-BsIo9H7d.js} +1 -1
- package/dist/assets/{basic-Bim7lf7K.js → basic-BunphQR9.js} +1 -1
- package/dist/assets/{book-open-3TgDmOI4.js → book-open-uFinjNuP.js} +1 -1
- package/dist/assets/{box-C6Xx8AJZ.js → box-B2VZKkyK.js} +1 -1
- package/dist/assets/{boxes-do59mfxv.js → boxes-DVgUjL6i.js} +1 -1
- package/dist/assets/{brain-DXt2T6b6.js → brain-othbplrp.js} +1 -1
- package/dist/assets/{card-DAt5MYXW.js → card-Cdu7t0e1.js} +1 -1
- package/dist/assets/castArray-D_TUiT6Q.js +1 -0
- package/dist/assets/{chart-no-axes-combined-CcT78-EU.js → chart-no-axes-combined-_WHnWpq7.js} +1 -1
- package/dist/assets/{chat-BjNz7GWA.js → chat-BQrmva9t.js} +1 -1
- package/dist/assets/check-DfC685Lq.js +1 -0
- package/dist/assets/{checkbox-BewkohT2.js → checkbox-BFEpNRQP.js} +1 -1
- package/dist/assets/chevron-down-lGMMdC8S.js +1 -0
- package/dist/assets/chevron-right-CL8PHBhG.js +1 -0
- package/dist/assets/{circle-alert-CIYySyFX.js → circle-alert-Ho2SsJ2g.js} +1 -1
- package/dist/assets/circle-check-XmSkFZmI.js +1 -0
- package/dist/assets/{circle-question-mark-BfdRMiNR.js → circle-question-mark-BCfaZnQY.js} +1 -1
- package/dist/assets/{click-outside-CVgFpc8A.js → click-outside-BX-xQEUw.js} +1 -1
- package/dist/assets/{clipboard-list-DjcJGpSV.js → clipboard-list-BuEg8NSj.js} +1 -1
- package/dist/assets/clock-BKRstkvG.js +1 -0
- package/dist/assets/code-CgXiDhx8.js +1 -0
- package/dist/assets/{codingBridge-DlDvvTqs.js → codingBridge-DuutiVu4.js} +1 -1
- package/dist/assets/{codingBridgeNotify-CDPzGCiO.js → codingBridgeNotify-EGsSGIi4.js} +2 -2
- package/dist/assets/{coins-u5aGgYAy.js → coins-p5-Ic2hy.js} +1 -1
- package/dist/assets/{collapse-C4oG2TrN.js → collapse-PFSZ3Ppb.js} +1 -1
- package/dist/assets/{constants-CtnklZiH.js → constants-vZG8JV9A.js} +1 -1
- package/dist/assets/{copy-lBqTOhG_.js → copy-9ru_XEc3.js} +1 -1
- package/dist/assets/{createTaskActions-D3CNO9oe.js → createTaskActions-DYOG_x52.js} +1 -1
- package/dist/assets/{date-picker-DH_NcQIR.js → date-picker-CXPYb8nI.js} +1 -1
- package/dist/assets/{debounce-D_Lrx3DW.js → debounce-BiLOo0cD.js} +1 -1
- package/dist/assets/{digitalhuman-PFNPOsgc.js → digitalhuman-KxqLBKiw.js} +1 -1
- package/dist/assets/{divider-D3FlUyXr.js → divider-D6XMzunz.js} +1 -1
- package/dist/assets/{dollar-sign-BTrpv748.js → dollar-sign-BLadFLb3.js} +1 -1
- package/dist/assets/{download-DF4kF-Si.js → download-qQkX5Wsm.js} +1 -1
- package/dist/assets/{drawer-sdYHY1zp.js → drawer-D24rEyIX.js} +1 -1
- package/dist/assets/{dropdown-D6G306FS.js → dropdown-BkqVjWBA.js} +1 -1
- package/dist/assets/{dropdown-DBWZLo9h.js → dropdown-JaDWaqSq.js} +1 -1
- package/dist/assets/{ellipsis-Cq42CBu4.js → ellipsis-DX0FZl47.js} +1 -1
- package/dist/assets/{empty-Dp0jHM83.js → empty-BcaMYkgS.js} +1 -1
- package/dist/assets/esm-BATRaT10.js +2 -0
- package/dist/assets/{esm-DjhbsXCv.js → esm-BaZYFxup.js} +2 -2
- package/dist/assets/esm-D4qQESQI.js +1 -0
- package/dist/assets/{external-link-C3FiReJL.js → external-link-xu4LQkgJ.js} +1 -1
- package/dist/assets/{eye-BYnPsfQ-.js → eye-BWdIdKaw.js} +1 -1
- package/dist/assets/{file-D97djlUu.js → file-Bmg75wJ2.js} +1 -1
- package/dist/assets/{file-output-CRxzgNzi.js → file-output-D6hbDRGq.js} +1 -1
- package/dist/assets/{file-text-BTKDm-mk.js → file-text-BPsKm8Ye.js} +1 -1
- package/dist/assets/{fish-CdGg6FAk.js → fish-DMO_QK8X.js} +1 -1
- package/dist/assets/{flux-g1dc3Lig.js → flux-B4JVpdQ2.js} +1 -1
- package/dist/assets/{folder-CQPfvDI_.js → folder-BDQp5otd.js} +1 -1
- package/dist/assets/{form-Ur2fUbiz.js → form-CSmsxPoR.js} +1 -1
- package/dist/assets/gauge-C5lWJ7jI.js +1 -0
- package/dist/assets/{generationInput-Dnq3bg6P.js → generationInput-DYHj9HsI.js} +1 -1
- package/dist/assets/{globe-BzOpmZLM.js → globe-BTP209T8.js} +1 -1
- package/dist/assets/{grokvideo-CZSuX-B8.js → grokvideo-BYXES21l.js} +1 -1
- package/dist/assets/{hailuo-CUC3Fp_P.js → hailuo-BLizscrt.js} +1 -1
- package/dist/assets/{hash-Bn1uvpHk.js → hash-B0rKChrT.js} +1 -1
- package/dist/assets/{headphones-C_M1JHR6.js → headphones-C9TkhoKW.js} +1 -1
- package/dist/assets/{history-mH9_9TPg.js → history-l5UP29BL.js} +1 -1
- package/dist/assets/{house-569Hz5iI.js → house-D3UxwZNm.js} +1 -1
- package/dist/assets/{i18n-DhgT44Lv.js → i18n-Cu1HIOkL.js} +1 -1
- package/dist/assets/{image-CY6XnSq-.js → image-wAPgKLi5.js} +1 -1
- package/dist/assets/{imageRequests-W-cCYnDK.js → imageRequests-E3qWyxYa.js} +1 -1
- package/dist/assets/{index-D2g2EZuV.css → index-BMhavYtV.css} +1 -1
- package/dist/assets/{index-CfzJ_Jkq.js → index-BkGHnQZ_.js} +5 -5
- package/dist/assets/{index.es-Cirn8gC-.js → index.es-Dc2KfvlA.js} +1 -1
- package/dist/assets/{info-caEaZVGr.js → info-xEqm0IrP.js} +1 -1
- package/dist/assets/{input-number-DPudUhK7.js → input-number-P8gwi2Qu.js} +1 -1
- package/dist/assets/{intro-BC7d6tcL.js → intro-B1-zSHEe.js} +1 -1
- package/dist/assets/{intro-BeY0fLLX.js → intro-BKEkL3HK.js} +1 -1
- package/dist/assets/{intro-DNujAaft.js → intro-BeWpRacg.js} +1 -1
- package/dist/assets/{intro-B5Y1eGAE.js → intro-Bg2_NMtv.js} +1 -1
- package/dist/assets/{intro-BrGqG2eU.js → intro-BxEUwTrF.js} +1 -1
- package/dist/assets/{intro-DWybGvBZ.js → intro-CPQRLqUH.js} +1 -1
- package/dist/assets/{intro-uQueZZNO.js → intro-Cln7nABa.js} +1 -1
- package/dist/assets/{intro--u_iPZdJ.js → intro-D6vmULfK.js} +1 -1
- package/dist/assets/{intro-Bh7I1oex.js → intro-DsvojBDH.js} +1 -1
- package/dist/assets/{intro-ClnnHPQO.js → intro-TJ3N7-da.js} +1 -1
- package/dist/assets/{intro-C_c52Cn3.js → intro-ZtWVFIRB.js} +1 -1
- package/dist/assets/{intro-DxzQxitm.js → intro-kcja4oud.js} +1 -1
- package/dist/assets/isArrayLikeObject-Bn7vGyDv.js +1 -0
- package/dist/assets/{isEqual-DAcbKrl2.js → isEqual-BFcHeZKz.js} +1 -1
- package/dist/assets/{isPlainObject-0Wmi5k72.js → isPlainObject-DOYdEPIU.js} +1 -1
- package/dist/assets/{key-round-CRSkbgL9.js → key-round-CE9-N-VB.js} +1 -1
- package/dist/assets/{kling-CKVX4iBc.js → kling-B_7lSp0w.js} +1 -1
- package/dist/assets/{languages-D3mbUYNp.js → languages-DEt6SUgf.js} +1 -1
- package/dist/assets/{laptop-D5NR3fZe.js → laptop-LAuQGLg1.js} +1 -1
- package/dist/assets/{lightbulb-CFocXhDQ.js → lightbulb-yyxW5bC7.js} +1 -1
- package/dist/assets/{link-BEnJwvkV.js → link-DN2xtc9Z.js} +1 -1
- package/dist/assets/loader-circle-Bl8yfjoJ.js +1 -0
- package/dist/assets/{lock-mrUT1PvI.js → lock-DkkFr7Gb.js} +1 -1
- package/dist/assets/{luma-D7Xg-kph.js → luma-B2l-nG6s.js} +1 -1
- package/dist/assets/{maestro-CRmxZCB1.js → maestro-BN7v9lCj.js} +1 -1
- package/dist/assets/{maestroLanguages-7lRpF1TL.js → maestroLanguages-DUkYqeZT.js} +1 -1
- package/dist/assets/{mail-9BbQGCuq.js → mail-CmmtT1Jw.js} +1 -1
- package/dist/assets/{message-circle-u5rAKoE4.js → message-circle-DshO8aqP.js} +1 -1
- package/dist/assets/{mic-6l8PYHyb.js → mic-D-peJBQ2.js} +1 -1
- package/dist/assets/{midjourney-BYmYF_yh.js → midjourney-8Usc6MRz.js} +1 -1
- package/dist/assets/{minimax-DYC3Tx-f.js → minimax-B2K8qhNE.js} +1 -1
- package/dist/assets/{mobileLocalExec-CAdPNN3U.js → mobileLocalExec-shE6R6PE.js} +2 -2
- package/dist/assets/{models-GnX-yPYT.js → models-C0YjUFNo.js} +1 -1
- package/dist/assets/{monitor-CXjQGecc.js → monitor-BbelfMCH.js} +1 -1
- package/dist/assets/{mouse-pointer-2-CcthsRQc.js → mouse-pointer-2-CBG2pJVP.js} +1 -1
- package/dist/assets/music-2-DPcj2WAn.js +1 -0
- package/dist/assets/{nanobanana-CAnDdZZD.js → nanobanana-r2ieN-ZT.js} +1 -1
- package/dist/assets/{omni-BrF6iVNM.js → omni-CHHNqW0-.js} +1 -1
- package/dist/assets/{openaiimage-CfgJ3kCz.js → openaiimage-DX-HdFO4.js} +1 -1
- package/dist/assets/{pagination-B9jQ50ES.js → pagination-Bbx2BUmR.js} +1 -1
- package/dist/assets/{pagination-D5IHbBkl.js → pagination-BlCoWbv1.js} +1 -1
- package/dist/assets/{pagination-bp7JUsvm.js → pagination-D42WEXtP.js} +1 -1
- package/dist/assets/{palette-cHtO8bNq.js → palette-CZ3gwnv9.js} +1 -1
- package/dist/assets/{paperclip-DljLvxKG.js → paperclip-BjGce865.js} +1 -1
- package/dist/assets/{pause-lKP5meeu.js → pause-BseLLZb_.js} +1 -1
- package/dist/assets/{pencil-bvflJeYW.js → pencil-BOXZulA4.js} +1 -1
- package/dist/assets/{pika-BBMrsmtF.js → pika-BxK76Uqj.js} +1 -1
- package/dist/assets/{pixverse-KxFv45Vp.js → pixverse-DwR99W6p.js} +1 -1
- package/dist/assets/play-DcEqSjTH.js +1 -0
- package/dist/assets/{plug-D2gnTfEs.js → plug-xaHCA3qa.js} +1 -1
- package/dist/assets/plus-_yX0KO9f.js +1 -0
- package/dist/assets/{poivelle-PRnD5GSn.js → poivelle-C4rdyxTL.js} +1 -1
- package/dist/assets/{popover-8eA6FomH.js → popover-BbgX-Omy.js} +1 -1
- package/dist/assets/{producer-BY1yRsK5.js → producer-D4uXgI6I.js} +1 -1
- package/dist/assets/{progress-vPfXSKo6.js → progress-Y9u6n3fa.js} +1 -1
- package/dist/assets/{qrart-Bx1jASYR.js → qrart-DXFwiz4T.js} +1 -1
- package/dist/assets/{qwenimage-DBTobUf9.js → qwenimage-BQYh2gb2.js} +1 -1
- package/dist/assets/{radio-BVlGJwPX.js → radio-B09q5TlK.js} +1 -1
- package/dist/assets/raf-lI0WZHjb.js +1 -0
- package/dist/assets/{realtime-BzeBOmgw.js → realtime-CYiDlgCq.js} +1 -1
- package/dist/assets/{refresh-cw-Ca2qUpDP.js → refresh-cw-BCNrgNZO.js} +1 -1
- package/dist/assets/rotate-ccw-DpWwt61r.js +1 -0
- package/dist/assets/rotate-cw-B03qG3lR.js +1 -0
- package/dist/assets/{row-CevL7w98.js → row-CdwrPdEy.js} +1 -1
- package/dist/assets/{scroll-GINQjbhL.js → scroll-L6ec4SHO.js} +1 -1
- package/dist/assets/{scrollbar-Z7-pSnEi.js → scrollbar-BPXMaXpQ.js} +1 -1
- package/dist/assets/search-CnYrZ-MH.js +1 -0
- package/dist/assets/{seedance-DJ2_TPUm.js → seedance-B591L7EA.js} +1 -1
- package/dist/assets/{seedream-JuSgxQ3c.js → seedream-Bou8mO9k.js} +1 -1
- package/dist/assets/{segmented-DhEzMRI3.js → segmented-DMUnXmAF.js} +1 -1
- package/dist/assets/{select-C2YM6jYm.js → select-_PCob8fl.js} +1 -1
- package/dist/assets/{serp-BBomz8BY.js → serp-BSRVU4rM.js} +1 -1
- package/dist/assets/{shield-Bj30k4eN.js → shield-B2TJw9TW.js} +1 -1
- package/dist/assets/{showcase-BXZPGbwB.js → showcase-Dtww6zOn.js} +1 -1
- package/dist/assets/{showcaseRecreateMixin-DmbOSU5x.js → showcaseRecreateMixin-CNSd3SMP.js} +1 -1
- package/dist/assets/{shuffle-8mlTyi8U.js → shuffle-DPidEAkC.js} +1 -1
- package/dist/assets/{site-C7-KBTVd.js → site-7R4iotW1.js} +1 -1
- package/dist/assets/{site-CDPN4jzA.js → site-8ydw5p2V.js} +1 -1
- package/dist/assets/{site-BEX0ZLbD.js → site-B-c1LmW9.js} +1 -1
- package/dist/assets/{site-CK0w9rEp.js → site-C7vdB4MY.js} +1 -1
- package/dist/assets/{site-n5xenwh8.js → site-CWTKv6IY.js} +1 -1
- package/dist/assets/{site-DPTs-HaR.js → site-Ca3t6y02.js} +1 -1
- package/dist/assets/{site-DX9RE0Cm.js → site-ChNq_NUt.js} +1 -1
- package/dist/assets/{site-BYASZitz.js → site-CiW7TR1Z.js} +1 -1
- package/dist/assets/{site-Bt_JKZ8_.js → site-Cl-8AIw8.js} +1 -1
- package/dist/assets/{site-BjLO0gUB.js → site-D5cXxqd0.js} +1 -1
- package/dist/assets/{site-CTK1gxZP.js → site-DdDGLpnI.js} +1 -1
- package/dist/assets/{site-CrmLn8MR.js → site-uB9WDD6_.js} +1 -1
- package/dist/assets/{siteHome-DcmUKJM8.js → siteHome-CgeNTe5M.js} +1 -1
- package/dist/assets/{skeleton-Dmt7_vHq.js → skeleton-HyjEr-4i.js} +1 -1
- package/dist/assets/{slider-Jn27kGW2.js → slider-C7rjvdbh.js} +1 -1
- package/dist/assets/{solana-wallets-ZPgJo03s.js → solana-wallets-liB4s7eE.js} +2 -2
- package/dist/assets/{sora-TNX2wMjT.js → sora-Aj4fOoVE.js} +1 -1
- package/dist/assets/{sparkles-BAbByg4L.js → sparkles-BAojlcx5.js} +1 -1
- package/dist/assets/square-rfUZGEy9.js +1 -0
- package/dist/assets/{store-DlHyIAg7.js → store-Ck_6GTs-.js} +1 -1
- package/dist/assets/{suno-BwNPAAV9.js → suno-DH2ygO81.js} +1 -1
- package/dist/assets/{switch-Ci7ELfju.js → switch-B3L5sC-p.js} +1 -1
- package/dist/assets/{table-BNhwxeFI.js → table-BXkN-Lwo.js} +1 -1
- package/dist/assets/{tabs-D6QUmaEb.js → tabs-DsC7t0mr.js} +1 -1
- package/dist/assets/{tag-z6pa5FqG.js → tag-DDxBi_HB.js} +1 -1
- package/dist/assets/{taskPolling-CFMCK-4q.js → taskPolling-yf-YwqyR.js} +1 -1
- package/dist/assets/terminal-Br8wDcT-.js +1 -0
- package/dist/assets/{time-picker-BqDaOm3M.js → time-picker-Dol4_k5j.js} +1 -1
- package/dist/assets/{tooltip-BguAk2Sc.js → tooltip-PKpFyAlh.js} +1 -1
- package/dist/assets/{trash-2-DWBPW1yS.js → trash-2-BFjVq32N.js} +1 -1
- package/dist/assets/{triangle-alert-Bb8xoxEs.js → triangle-alert-C5ZVa5Ls.js} +1 -1
- package/dist/assets/{upload-DLWfBIaW.js → upload-BRF191Qt.js} +1 -1
- package/dist/assets/{upload-CuYJXxkL.js → upload-K-LGn2LV.js} +1 -1
- package/dist/assets/{use-aria-I5ZGOrOG.js → use-aria-DjgU6t6L.js} +1 -1
- package/dist/assets/{use-delayed-toggle-BRfAb-PC.js → use-delayed-toggle-DhPhVV5S.js} +1 -1
- package/dist/assets/{use-deprecated-BCSKWWhl.js → use-deprecated-KSZGI37P.js} +1 -1
- package/dist/assets/user-DjoblHTY.js +1 -0
- package/dist/assets/{veo-CbEww2ud.js → veo-CIJH2Yl1.js} +1 -1
- package/dist/assets/{video-lvrddSFX.js → video-wTKBJcCy.js} +1 -1
- package/dist/assets/{vnode-DHI9kZTd.js → vnode-BD7Nn-ke.js} +1 -1
- package/dist/assets/{volume-2-Dmo_VbSZ.js → volume-2-BTgXKz-b.js} +1 -1
- package/dist/assets/{wallet-BiqLwmrX.js → wallet-Hkzclfjt.js} +1 -1
- package/dist/assets/{wan-DF1YvaAU.js → wan-ClVe_THi.js} +1 -1
- package/dist/assets/{wand-sparkles-lgMM7K5x.js → wand-sparkles-CEv-Lq04.js} +1 -1
- package/dist/assets/{web-B6IergaD.js → web-9L_MOBuN.js} +1 -1
- package/dist/assets/{web-BJGRJjnD.js → web-CS6cL6fi.js} +1 -1
- package/dist/assets/{web-CH1T1zmY.js → web-Coh0imfW.js} +1 -1
- package/dist/assets/{web-DjJjsNDb.js → web-feAij0SJ.js} +1 -1
- package/dist/assets/{web-BK5vNhKc.js → web-jFre7aeM.js} +1 -1
- package/dist/assets/{webextrator-yBzkziQp.js → webextrator-1Ewk7MhL.js} +1 -1
- package/dist/assets/{zap-BxYRBj4w.js → zap-XeVz862N.js} +1 -1
- package/dist/index.html +10 -10
- package/package.json +2 -6
- package/dist/assets/CopyToClipboard-Cdi0F7aU.css +0 -1
- package/dist/assets/CopyToClipboard-CgPeryyz.js +0 -1
- package/dist/assets/Index-BJThkL2I.css +0 -1
- package/dist/assets/Index-DLYmzCQO.js +0 -88
- package/dist/assets/Message-CYX78CPz.js +0 -3
- package/dist/assets/Message-D1jrodkE.css +0 -1
- package/dist/assets/Navigator-BsiSYW9Z.css +0 -1
- package/dist/assets/Status-Dn5kF5bY.css +0 -1
- package/dist/assets/VueMarkdown-BgudlQNQ.js +0 -20
- package/dist/assets/arrow-down-BBV_Pp3s.js +0 -1
- package/dist/assets/arrow-left-C3JoSTqY.js +0 -1
- package/dist/assets/arrow-right-Dc70Ie61.js +0 -1
- package/dist/assets/arrow-up-DL1BvdMo.js +0 -1
- package/dist/assets/castArray-COQ0WJ2K.js +0 -1
- package/dist/assets/check-C4O5BXEm.js +0 -1
- package/dist/assets/chevron-down-C2P3Ar5N.js +0 -1
- package/dist/assets/chevron-right-DbcgfkI-.js +0 -1
- package/dist/assets/circle-check-CQhyX7v-.js +0 -1
- package/dist/assets/clock-XA93ZULg.js +0 -1
- package/dist/assets/code-BUFAHth4.js +0 -1
- package/dist/assets/esm-CEOBq7v8.js +0 -2
- package/dist/assets/esm-DqbPByOm.js +0 -1
- package/dist/assets/gauge-VUAbEx1m.js +0 -1
- package/dist/assets/isArrayLikeObject-CH_ZPhIt.js +0 -1
- package/dist/assets/loader-circle-VlEEj7gm.js +0 -1
- package/dist/assets/music-2-BVi2fRFX.js +0 -1
- package/dist/assets/play-CM89ZCbW.js +0 -1
- package/dist/assets/plus-DaDlWNQK.js +0 -1
- package/dist/assets/raf-D5vQiIEp.js +0 -1
- package/dist/assets/rotate-ccw-5Ee4V-x4.js +0 -1
- package/dist/assets/rotate-cw-DJZXYfj1.js +0 -1
- package/dist/assets/search-BB_-fqJH.js +0 -1
- package/dist/assets/square-CSUXFHK4.js +0 -1
- package/dist/assets/terminal-CrQsSzZ3.js +0 -1
- package/dist/assets/user-BGyDEt3U.js +0 -1
- /package/dist/assets/{vendor-katex-DAvqIL8u.js → vendor-katex-DBGOlyxv.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{Ci as y,Ti as b,wi as x}from"./constants-CtnklZiH.js";import{r as S,t as C}from"./select-C2YM6jYm.js";import{n as w,t as T}from"./tabs-D6QUmaEb.js";import{t as E}from"./upload-DLWfBIaW.js";import{t as D}from"./tooltip-BguAk2Sc.js";import{t as O}from"./alert-U2MaPlJ9.js";import{h as k,v as A}from"./models-GnX-yPYT.js";import{t as j}from"./drawer-sdYHY1zp.js";import{t as M}from"./switch-Ci7ELfju.js";import{t as N}from"./box-C6Xx8AJZ.js";import{t as P}from"./clock-XA93ZULg.js";import{t as F}from"./hash-Bn1uvpHk.js";import{t as I}from"./info-caEaZVGr.js";import{t as L}from"./languages-D3mbUYNp.js";import{a as R,i as ee,n as z,o as B,r as V,t as H}from"./pagination-B9jQ50ES.js";import{t as te}from"./trash-2-DWBPW1yS.js";import{t as ne}from"./triangle-alert-Bb8xoxEs.js";import{t as re}from"./upload-CuYJXxkL.js";import{t as U}from"./wand-sparkles-lgMM7K5x.js";import{t as ie}from"./zap-BxYRBj4w.js";import{Ba as ae,D as W,Fr as G,Ir as K,Ka as q,Lr as J,Rr as oe,T as se,Vi as Y,at as ce,ca as le,ct as ue,ea as de,io as X,lt as fe,ot as pe,pi as me,st as he,tt as ge,ui as _e,wn as ve,zi as Z,zr as ye}from"./index-CfzJ_Jkq.js";import{t as be}from"./CopyToClipboard-CgPeryyz.js";import{t as xe}from"./ReportButton-BLxE3uj7.js";import{t as Q}from"./ImagePreview-CHtT7AjC.js";import{n as Se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ce}from"./ServicePricingSummary-BD3Ban3F.js";import{t as we}from"./VideoPlayer-2KVCaTz-.js";import{t as Te}from"./ScenarioPaymentMode-A4snmp1R.js";import{t as Ee}from"./ApiCodeButton-9MmMX2Rz.js";import{t as De}from"./BotPlaceholder-DbLUWxuQ.js";import{t as Oe}from"./taskPollingMixin-CcLxtz8z.js";import{t as ke}from"./ShowcaseResultTabs-DmSI-Wiz.js";import{t as Ae}from"./showcaseRecreateMixin-DmbOSU5x.js";import{n as je,t as Me}from"./generationInput-Dnq3bg6P.js";var Ne=v({name:`LayoutVeo`,components:{MagicIcon:U,ElDrawer:j,ElButton:X},mixins:[Se]}),Pe={class:`main flex flex-row flex-1`},Fe={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)]`},Ie={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[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 Re=W(Ne,[[`render`,Le],[`__scopeId`,`data-v-c990ae5b`]]),ze=v({name:`ModelSelector`,components:{ElSelect:S,ElOption:C},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:oe,label:`Veo 3.1 Fast`}]:J},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=b}}),Be={class:`field`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Be,[e(`h2`,Ve,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{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`,`disabled`])])}var Ue=W(ze,[[`render`,He],[`__scopeId`,`data-v-90ed8cff`]]),We=v({name:`ActionSelector`,components:{ElTabs:w,ElTabPane:T},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(y)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,ye(this.$store.state.veo?.config,e))}}}),Ge={class:`tab-label`},Ke={class:`text`};function qe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Ge,[e(`span`,Ke,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Je=W(We,[[`render`,qe],[`__scopeId`,`data-v-c72fb85c`]]),Ye=v({name:`TranslationSelector`,components:{ElSwitch:M,InfoIcon:R},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`};function tt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var nt=W(Ye,[[`render`,tt]]),rt=v({name:`AspectRatioSelector`,data(){return{options:[{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.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=x}}),it={class:`text-sm font-bold mb-2 block`},at={class:`items`},ot=[`onClick`],st={class:`name`};function ct(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,it,i(t.$t(`veo.name.ratio`)),1),e(`div`,at,[(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`,st,i(r.label),1)],10,ot))),128))])])}var lt=W(rt,[[`render`,ct],[`__scopeId`,`data-v-28c472c4`]]),ut=v({name:`StartEndImage`,components:{UploadIcon:re,ElUpload:E,ElButton:X,InfoIcon:R,ImagePreview:Q},mixins:[fe,ue,pe,ge],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){A.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){A.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),dt={class:`relative`},ft={class:`flex justify-between`},pt={class:`flex justify-start items-center`},mt={class:`text-sm font-bold`};function ht(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`,dt,[e(`div`,ft,[e(`div`,pt,[e(`span`,mt,i(t.title),1),a(h,{content:t.description},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:t.limit,class:`upload-wrapper`,multiple:!0,"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.onRemove(e)},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(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var gt=W(ut,[[`render`,ht],[`__scopeId`,`data-v-a4391199`]]),_t=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function vt(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(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var yt=v({name:`ConfigPanel`,components:{MagicIcon:U,ElButton:X,ServicePricingSummary:Ce,PromptInput:W(_t,[[`render`,vt]]),ModelSelector:Ue,StartEndImage:gt,ActionSelector:Je,TranslationSelector:nt,AspectRatioSelector:lt,ScenarioPaymentMode:Te},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Me(`veo`,G(this.config))},config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ve(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=Y(`veo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=Y(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await K.quote(G(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),bt={class:`flex flex-col h-full`},xt={class:`flex-1 overflow-y-auto p-5`},St={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ct(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,bt,[e(`div`,xt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,St,[a(S,{scenario:`veo`}),t.walletMode?o(``,!0):(g(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var wt=W(yt,[[`render`,Ct]]),Tt=v({name:`TaskPreview`,components:{DeleteIcon:te,ApplicationIcon:N,ChannelIcon:F,ExpandIcon:B,InfoIcon:I,LanguageIcon:L,LightningIcon:ie,MagicIcon:U,TimeIcon:P,WarningIcon:ne,CopyToClipboard:be,ElAlert:O,VideoPlayer:we,ImagePreview:Q,ElTooltip:D,ElButton:X,ApiCodeButton:Ee,ReportButton:xe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),A.success(this.$t(`common.message.deleteTaskSuccess`))}catch{A.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`)}}}),Et={class:`preview`},Dt={class:`left`},Ot={class:`main`},kt={class:`bot`},At={class:`datetime`},jt=[`aria-label`],Mt={class:`info`},Nt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Pt={key:1,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0})},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:n({content:!0})},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:2,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:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`warning-icon`),k=l(`info-icon`),A=l(`copy-to-clipboard`),j=l(`el-alert`),M=l(`application-icon`),N=l(`lightning-icon`),P=l(`expand-icon`),F=l(`language-icon`),I=l(`magic-icon`),L=l(`time-icon`),R=l(`channel-icon`);return g(),s(`div`,Et,[e(`div`,Dt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ot,[e(`div`,kt,[a(b,{capability:`veo`,part:`name`}),e(`span`,At,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,jt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Mt,[u.referenceImages.length>0?(g(),s(`div`,Nt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,Pt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,Ft,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,It,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Lt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Rt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,zt,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`]),a(D,{service:`veo`,"target-id":u.modelValue?.id,snapshot:{prompt:u.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Bt,[a(j,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(A,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,Vt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Ht,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,Ut,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Gt,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,Kt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(A,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,qt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Jt,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(A,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Xt=v({name:`RecentPanel`,components:{TaskPreview:W(Tt,[[`render`,Yt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:V,BotPlaceholder:De,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.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:`tasks h-full w-full overflow-y-auto`,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:`VeoIndex`,components:{ConfigPanel:wt,Layout:Re,RecentPanel:W(Xt,[[`render`,$t]]),ShowcaseResultTabs:ke},mixins:[he,Ae(`veo`),Oe(`veo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===k.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===k.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`veo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({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(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/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(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=G(this.config),t=je(`veo`,e);if(t){A.error(this.$t(`common.message.${t}`));return}if(!ce(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){A.warning(this.$t(`veo.message.imageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){A.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=K.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!le())return;let t=this.credential?.token;if(!t)return;n=K.generate(e,{token:t})}A.info(this.$t(`veo.message.startingTask`)),de(`veo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),A.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{e instanceof _e||se(e,`veo`)||(this.walletMode?A.error(this.$t(`common.x402Scenario.paymentFailed`)):A.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return q.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`veo`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var nn=W(en,[[`render`,tn]]);export{nn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,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{Ci as y,Ti as b,wi as x}from"./constants-vZG8JV9A.js";import{r as S,t as C}from"./select-_PCob8fl.js";import{n as w,t as T}from"./tabs-DsC7t0mr.js";import{t as E}from"./upload-BRF191Qt.js";import{t as D}from"./tooltip-PKpFyAlh.js";import{t as O}from"./alert-BCXxQqq9.js";import{h as k,v as A}from"./models-C0YjUFNo.js";import{t as j}from"./drawer-D24rEyIX.js";import{t as M}from"./switch-B3L5sC-p.js";import{t as N}from"./box-B2VZKkyK.js";import{t as P}from"./clock-BKRstkvG.js";import{t as F}from"./hash-B0rKChrT.js";import{t as I}from"./info-xEqm0IrP.js";import{t as L}from"./languages-DEt6SUgf.js";import{a as R,i as ee,n as z,o as B,r as V,t as H}from"./pagination-Bbx2BUmR.js";import{t as te}from"./trash-2-BFjVq32N.js";import{t as ne}from"./triangle-alert-C5ZVa5Ls.js";import{t as re}from"./upload-K-LGn2LV.js";import{t as U}from"./wand-sparkles-CEv-Lq04.js";import{t as ie}from"./zap-XeVz862N.js";import{Ba as ae,D as W,Fr as G,Ir as K,Ka as q,Lr as J,Rr as oe,T as se,Vi as Y,at as ce,ca as le,ct as ue,ea as de,io as X,lt as fe,ot as pe,pi as me,st as he,tt as ge,ui as _e,wn as ve,zi as Z,zr as ye}from"./index-BkGHnQZ_.js";import{t as be}from"./CopyToClipboard-BDuBtP0j.js";import{t as xe}from"./ReportButton-BhTGM-ns.js";import{t as Q}from"./ImagePreview-BttJauXe.js";import{n as Se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ce}from"./ServicePricingSummary-Ce4YxQTT.js";import{t as we}from"./VideoPlayer-D3FCgw3g.js";import{t as Te}from"./ScenarioPaymentMode-OoBCf54I.js";import{t as Ee}from"./ApiCodeButton-CkntOqa9.js";import{t as De}from"./BotPlaceholder-D7R9yzly.js";import{t as Oe}from"./taskPollingMixin-CcLxtz8z.js";import{t as ke}from"./ShowcaseResultTabs-Dtod3SQA.js";import{t as Ae}from"./showcaseRecreateMixin-CNSd3SMP.js";import{n as je,t as Me}from"./generationInput-DYHj9HsI.js";var Ne=v({name:`LayoutVeo`,components:{MagicIcon:U,ElDrawer:j,ElButton:X},mixins:[Se]}),Pe={class:`main flex flex-row flex-1`},Fe={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)]`},Ie={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Pe,[e(`div`,Fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ie,[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 Re=W(Ne,[[`render`,Le],[`__scopeId`,`data-v-c990ae5b`]]),ze=v({name:`ModelSelector`,components:{ElSelect:S,ElOption:C},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:oe,label:`Veo 3.1 Fast`}]:J},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=b}}),Be={class:`field`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Be,[e(`h2`,Ve,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{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`,`disabled`])])}var Ue=W(ze,[[`render`,He],[`__scopeId`,`data-v-90ed8cff`]]),We=v({name:`ActionSelector`,components:{ElTabs:w,ElTabPane:T},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(y)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,ye(this.$store.state.veo?.config,e))}}}),Ge={class:`tab-label`},Ke={class:`text`};function qe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Ge,[e(`span`,Ke,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Je=W(We,[[`render`,qe],[`__scopeId`,`data-v-c72fb85c`]]),Ye=v({name:`TranslationSelector`,components:{ElSwitch:M,InfoIcon:R},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Xe={class:`relative`},Ze={class:`flex justify-between`},Qe={class:`flex justify-start items-center`},$e={class:`text-sm font-bold`},et={class:`flex justify-end items-center`};function tt(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`div`,Qe,[e(`span`,$e,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,et,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var nt=W(Ye,[[`render`,tt]]),rt=v({name:`AspectRatioSelector`,data(){return{options:[{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.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=x}}),it={class:`text-sm font-bold mb-2 block`},at={class:`items`},ot=[`onClick`],st={class:`name`};function ct(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,it,i(t.$t(`veo.name.ratio`)),1),e(`div`,at,[(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`,st,i(r.label),1)],10,ot))),128))])])}var lt=W(rt,[[`render`,ct],[`__scopeId`,`data-v-28c472c4`]]),ut=v({name:`StartEndImage`,components:{UploadIcon:re,ElUpload:E,ElButton:X,InfoIcon:R,ImagePreview:Q},mixins:[fe,ue,pe,ge],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){A.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){A.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),dt={class:`relative`},ft={class:`flex justify-between`},pt={class:`flex justify-start items-center`},mt={class:`text-sm font-bold`};function ht(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`,dt,[e(`div`,ft,[e(`div`,pt,[e(`span`,mt,i(t.title),1),a(h,{content:t.description},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:t.limit,class:`upload-wrapper`,multiple:!0,"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.onRemove(e)},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(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var gt=W(ut,[[`render`,ht],[`__scopeId`,`data-v-a4391199`]]),_t=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function vt(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(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var yt=v({name:`ConfigPanel`,components:{MagicIcon:U,ElButton:X,ServicePricingSummary:Ce,PromptInput:W(_t,[[`render`,vt]]),ModelSelector:Ue,StartEndImage:gt,ActionSelector:Je,TranslationSelector:nt,AspectRatioSelector:lt,ScenarioPaymentMode:Te},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Me(`veo`,G(this.config))},config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return ve(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=Y(`veo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=Y(`veo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await K.quote(G(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),bt={class:`flex flex-col h-full`},xt={class:`flex-1 overflow-y-auto p-5`},St={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ct(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,bt,[e(`div`,xt,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,St,[a(S,{scenario:`veo`}),t.walletMode?o(``,!0):(g(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var wt=W(yt,[[`render`,Ct]]),Tt=v({name:`TaskPreview`,components:{DeleteIcon:te,ApplicationIcon:N,ChannelIcon:F,ExpandIcon:B,InfoIcon:I,LanguageIcon:L,LightningIcon:ie,MagicIcon:U,TimeIcon:P,WarningIcon:ne,CopyToClipboard:be,ElAlert:O,VideoPlayer:we,ImagePreview:Q,ElTooltip:D,ElButton:X,ApiCodeButton:Ee,ReportButton:xe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await q.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),A.success(this.$t(`common.message.deleteTaskSuccess`))}catch{A.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`)}}}),Et={class:`preview`},Dt={class:`left`},Ot={class:`main`},kt={class:`bot`},At={class:`datetime`},jt=[`aria-label`],Mt={class:`info`},Nt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Pt={key:1,class:`prompt mt-2`},Ft={key:0},It={key:1},Lt={key:0,class:n({content:!0,failed:!0})},Rt={key:0,class:`mb-4`},zt={key:1,class:n({operations:!0,"mt-2":!0})},Bt={key:1,class:n({content:!0})},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:n({content:!0})},Ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Wt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:2,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:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Yt(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`warning-icon`),k=l(`info-icon`),A=l(`copy-to-clipboard`),j=l(`el-alert`),M=l(`application-icon`),N=l(`lightning-icon`),P=l(`expand-icon`),F=l(`language-icon`),I=l(`magic-icon`),L=l(`time-icon`),R=l(`channel-icon`);return g(),s(`div`,Et,[e(`div`,Dt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,Ot,[e(`div`,kt,[a(b,{capability:`veo`,part:`name`}),e(`span`,At,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,jt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Mt,[u.referenceImages.length>0?(g(),s(`div`,Nt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,Pt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,Ft,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,It,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,Lt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Rt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,zt,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`]),a(D,{service:`veo`,"target-id":u.modelValue?.id,snapshot:{prompt:u.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Bt,[a(j,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,$,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(A,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,Vt,[a(j,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,Ht,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,Ut,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Gt,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,Kt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(A,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,qt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Jt,[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(A,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Xt=v({name:`RecentPanel`,components:{TaskPreview:W(Tt,[[`render`,Yt],[`__scopeId`,`data-v-eb0880c2`]]),NoTasks:V,BotPlaceholder:De,ScrollList:z},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.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:`tasks h-full w-full overflow-y-auto`,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:`VeoIndex`,components:{ConfigPanel:wt,Layout:Re,RecentPanel:W(Xt,[[`render`,$t]]),ShowcaseResultTabs:ke},mixins:[he,Ae(`veo`),Oe(`veo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===k.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===k.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.tasks},walletMode(){return Z()&&Y(`veo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`veo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({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(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/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(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=G(this.config),t=je(`veo`,e);if(t){A.error(this.$t(`common.message.${t}`));return}if(!ce(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){A.warning(this.$t(`veo.message.imageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){A.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=K.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!le())return;let t=this.credential?.token;if(!t)return;n=K.generate(e,{token:t})}A.info(this.$t(`veo.message.startingTask`)),de(`veo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),A.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{e instanceof _e||se(e,`veo`)||(this.walletMode?A.error(this.$t(`common.x402Scenario.paymentFailed`)):A.error(this.$t(`veo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return me(this.$wallet)},async confirmWalletPayment(e){return q.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function tn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`veo`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var nn=W(en,[[`render`,tn]]);export{nn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{D as r}from"./index-
|
|
1
|
+
import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{D as r}from"./index-BkGHnQZ_.js";var i=n({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(n,r,i,o,s,c){return t(),e(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{$n as v,Bn as y,Gn as b,Hn as x,Qn as S,Un as C,Vn as w,Wn as T,Xn as E,Yn as D,Zn as O,ar as k,cr as A,dr as j,er as M,ir as N,lr as P,nr as F,qn as I,rr as ee,sr as te,tr as ne,ur as L}from"./constants-CtnklZiH.js";import{n as re,r as R,t as z}from"./select-C2YM6jYm.js";import{t as ie}from"./upload-DLWfBIaW.js";import{t as ae}from"./tooltip-BguAk2Sc.js";import{t as oe}from"./alert-U2MaPlJ9.js";import{h as B,v as V}from"./models-GnX-yPYT.js";import{t as se}from"./drawer-sdYHY1zp.js";import{t as ce}from"./input-number-DPudUhK7.js";import{t as le}from"./switch-Ci7ELfju.js";import{t as ue}from"./box-C6Xx8AJZ.js";import{t as de}from"./clock-XA93ZULg.js";import{t as fe}from"./hash-Bn1uvpHk.js";import{t as pe}from"./image-CY6XnSq-.js";import{t as me}from"./info-caEaZVGr.js";import{a as H,i as he,n as ge,r as _e,t as ve}from"./pagination-B9jQ50ES.js";import{t as ye}from"./trash-2-DWBPW1yS.js";import{t as be}from"./triangle-alert-Bb8xoxEs.js";import{t as xe}from"./upload-CuYJXxkL.js";import{t as U}from"./wand-sparkles-lgMM7K5x.js";import{t as Se}from"./zap-BxYRBj4w.js";import{Ba as Ce,D as W,Ka as G,T as we,Ui as K,Vi as q,at as Te,ca as Ee,ct as De,ea as Oe,io as J,ir as Y,lt as ke,ot as Ae,pi as je,st as Me,tt as Ne,ui as Pe,wn as Fe,zi as X}from"./index-CfzJ_Jkq.js";import{t as Ie}from"./CopyToClipboard-CgPeryyz.js";import{t as Le}from"./ReportButton-BLxE3uj7.js";import{t as Z}from"./ImagePreview-CHtT7AjC.js";import{n as Re}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ze}from"./ServicePricingSummary-BD3Ban3F.js";import{t as Be}from"./ScenarioPaymentMode-A4snmp1R.js";import{t as Ve}from"./ApiCodeButton-9MmMX2Rz.js";import{t as He}from"./BotPlaceholder-DbLUWxuQ.js";import{t as Ue}from"./taskPollingMixin-CcLxtz8z.js";import{t as We}from"./ShowcaseResultTabs-DmSI-Wiz.js";import{t as Ge}from"./showcaseRecreateMixin-DmbOSU5x.js";import{t as Ke}from"./ImageWrapper-DCT5GB_D.js";import{n as Q}from"./imageRequests-W-cCYnDK.js";var qe=_({name:`LayoutNanobanana`,components:{MagicIcon:U,ElDrawer:se,ElButton:J},mixins:[Re]}),Je={class:`main flex flex-row flex-1`},Ye={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)]`},Xe={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ze(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Je,[e(`div`,Ye,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Qe=W(qe,[[`render`,Ze],[`__scopeId`,`data-v-92afefbe`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:he},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=W($e,[[`render`,et]]),nt=_({name:`ImageUrlsInput`,components:{UploadIcon:xe,ElUpload:ie,ElButton:J,InfoIcon:H,ImagePreview:Z},mixins:[ke,De,Ae,Ne],data(){return{fileList:[],uploadUrl:Ce()+`/api/v1/files/`,suppressWatch:!1}},computed:{maxImages(){return 16},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){V.warning(this.$t(`openaiimage.message.uploadImageExceed`,{count:16}))},onError(){V.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),rt={class:`field flex min-h-8 w-full items-center justify-between gap-3`},it={class:`flex min-w-0 items-center`},at={class:`title m-0 text-[14px] font-bold`},ot={class:`file-list flex flex-wrap gap-[10px]`};function st(t,n,o,u,d,g){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return h(),s(`div`,null,[e(`div`,rt,[e(`div`,it,[e(`h2`,at,i(t.$t(`openaiimage.name.imageUrls`)),1),a(_,{content:t.$t(`openaiimage.description.imageUrls`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.maxImages,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,ot,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var ct=W(nt,[[`render`,st]]),lt=_({name:`OpenAIImageModelSelector`,components:{ElSelect:R,ElOption:z,InfoIcon:H},data(){return{options:[{value:E,label:this.$t(`openaiimage.model.gptImage1`)},{value:O,label:this.$t(`openaiimage.model.gptImage15`)},{value:S,label:this.$t(`openaiimage.model.gptImage2`)},{value:v,label:this.$t(`openaiimage.model.gptImage25Flare`)},{value:M,label:this.$t(`openaiimage.model.gptImage25FlareOfficial`)},{value:ne,label:this.$t(`openaiimage.model.gptImage25Sunburst`)},{value:F,label:this.$t(`openaiimage.model.gptImage25SunburstOfficial`)},{value:ee,label:this.$t(`openaiimage.model.gptImage2Official`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=T}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`openaiimage.name.model`)),1),a(g,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),title:t.value},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`title`])])}var ht=W(lt,[[`render`,mt],[`__scopeId`,`data-v-03b728f3`]]);function $(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var gt=_({name:`OpenAIImageSizeSelector`,components:{ElSelect:R,ElOption:z,ElOptionGroup:re,ElSwitch:le,ElInputNumber:ce,InfoIcon:H},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},autoSizeValue(){return L},customSupported(){return C.includes(this.model)},presets(){return k[this.model]??k[`gpt-image-2`]??[]},presetGroups(){return I.includes(this.model)?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:te},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:A},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:P}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize(L)}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.autoSizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return y},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t<655360?this.$t(`openaiimage.error.customSizeMinPixels`,{pixels:x.toLocaleString()}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:w.toLocaleString()}):Math.max(e,t)/Math.min(e,t)>3?this.$t(`openaiimage.error.customSizeAspectRatio`,{ratio:3}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||e===`auto`||this.presets.includes(e))return;let t=$(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize(L)}},storedSize(e){if(!e||e===`auto`){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=$(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=$(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),_t={class:`resolution`},vt={class:`field`},yt={class:`label`},bt={class:`box`},xt={class:`title font-bold`},St={class:`field custom-toggle`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={key:0,class:`custom-inputs`},Dt={class:`row`},Ot={class:`row-label`},kt={class:`row`},At={class:`row-label`},jt={key:0,class:`error`};function Mt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`),x=l(`el-switch`),S=l(`el-input-number`);return h(),s(`div`,_t,[e(`div`,vt,[e(`div`,yt,[e(`div`,bt,[e(`h2`,xt,i(t.$t(`openaiimage.name.size`)),1),a(_,{content:t.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.presetValue,"onUpdate:modelValue":n[0]||=e=>t.presetValue=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),disabled:t.useCustom},{default:p(()=>[a(v,{label:t.$t(`openaiimage.size.auto`),value:t.autoSizeValue},null,8,[`label`,`value`]),(h(!0),s(c,null,m(t.presetGroups,e=>(h(),f(y,{key:e.label,label:e.label},{default:p(()=>[(h(!0),s(c,null,m(e.options,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),t.customSupported?(h(),s(c,{key:0},[e(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`openaiimage.name.customSize`)),1),a(_,{content:t.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),a(x,{modelValue:t.useCustom,"onUpdate:modelValue":n[1]||=e=>t.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),t.useCustom?(h(),s(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`openaiimage.name.width`)),1),a(S,{modelValue:t.customWidth,"onUpdate:modelValue":n[2]||=e=>t.customWidth=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),e(`div`,kt,[e(`span`,At,i(t.$t(`openaiimage.name.height`)),1),a(S,{modelValue:t.customHeight,"onUpdate:modelValue":n[3]||=e=>t.customHeight=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),t.customError?(h(),s(`div`,jt,i(t.customError),1)):o(``,!0)])):o(``,!0)],64)):o(``,!0)])}var Nt=W(gt,[[`render`,Mt],[`__scopeId`,`data-v-c3247527`]]),Pt=_({name:`OpenAIImageQualitySelector`,components:{ElOption:z,ElSelect:R,InfoIcon:H},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedQuality(){return this.$store.state.openaiimage?.config?.quality},qualities(){return N[this.model]??[`auto`]},quality:{get(){return this.storedQuality&&this.qualities.includes(this.storedQuality)?this.storedQuality:b},set(e){this.commitQuality(e)}}},watch:{model(){this.storedQuality&&this.qualities.includes(this.storedQuality)||this.commitQuality(b)}},methods:{commitQuality(e){let t={...this.$store.state.openaiimage?.config||{},quality:e};this.$store.commit(`openaiimage/setConfig`,t)}}}),Ft={class:`field`},It={class:`label`},Lt={class:`box`},Rt={class:`title font-bold`};function zt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,Ft,[e(`div`,It,[e(`div`,Lt,[e(`h2`,Rt,i(t.$t(`openaiimage.name.quality`)),1),a(g,{content:t.$t(`openaiimage.description.quality`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.quality,"onUpdate:modelValue":n[0]||=e=>t.quality=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.qualities,e=>(h(),f(_,{key:e,label:t.$t(`openaiimage.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Bt=W(Pt,[[`render`,zt],[`__scopeId`,`data-v-052cc590`]]),Vt=350,Ht=_({name:`ConfigPanel`,components:{MagicIcon:U,ElButton:J,PromptInput:tt,ServicePricingSummary:ze,ImageUrlsInput:ct,ModelSelector:ht,ResolutionSelector:Nt,QualitySelector:Bt,ScenarioPaymentMode:Be},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{OPENAIIMAGE_MODELS:D,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return Fe({...this.config||{}},this.service?.cost)},displayConsumption(){return j(this.config?.model)?void 0:this.consumption},service(){return this.$store.state.openaiimage?.service},pricingNote(){return j(this.config?.model)?this.$t(`service.message.imageTokenEstimate`):``},walletMode(){return X()&&q(`openaiimage`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.cancelQuote()},immediate:!0},config:{handler(){this.walletMode?this.scheduleQuote():this.cancelQuote()},deep:!0},identityToken(){this.quoteRunId+=1,this.walletMode&&this.scheduleQuote()}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,Vt)},cancelQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},async refreshQuote(){let e=q(`openaiimage`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Ut={class:`flex flex-col h-full`},Wt={class:`flex-1 overflow-y-auto p-5`},Gt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Kt(t,n,c,u,d,m){let g=l(`model-selector`),_=l(`resolution-selector`),v=l(`quality-selector`),y=l(`prompt-input`),b=l(`image-urls-input`),x=l(`scenario-payment-mode`),S=l(`service-pricing-summary`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ut,[e(`div`,Wt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,Gt,[a(x,{scenario:`openaiimage`}),t.walletMode?o(``,!0):(h(),f(S,{key:0,value:t.displayConsumption,service:t.service,note:t.pricingNote,"pricing-models":t.OPENAIIMAGE_MODELS,"pricing-model-default":`dall-e-3`,"pricing-unit-aliases":{n:`image`}},null,8,[`value`,`service`,`note`,`pricing-models`])),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var qt=W(Ht,[[`render`,Kt]]),Jt=_({name:`TaskPreview`,components:{ApplicationIcon:ue,ChannelIcon:fe,DeleteIcon:ye,ImageIcon:pe,InfoIcon:me,LightningIcon:Se,MagicIcon:U,TimeIcon:de,WarningIcon:be,CopyToClipboard:Ie,ElAlert:oe,ImageWrapper:Ke,ElButton:J,ElTooltip:ae,ImagePreview:Z,ApiCodeButton:Ve,ReportButton:Le},props:{modelValue:{type:Object,required:!0}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await 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(`openaiimage/deleteTask`,{id:e}),V.success(this.$t(`common.message.deleteTaskSuccess`))}catch{V.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),Yt={class:`preview`},Xt={class:`left`},Zt={class:`main`},Qt={class:`bot`},$t={class:`datetime`},en=[`aria-label`],tn={class:`info`},nn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},rn={key:1,class:`prompt mt-2`},an={key:0},on={key:0,class:n({content:!0,failed:!0})},sn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},cn={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:2,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:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:1,class:n({content:!0})},gn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Sn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:2,class:n({content:!0})},wn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},En={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function On(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`image-wrapper`),w=l(`el-button`),T=l(`api-code-button`),E=l(`report-button`),D=l(`application-icon`),O=l(`image-icon`),k=l(`lightning-icon`),A=l(`magic-icon`),j=l(`copy-to-clipboard`),M=l(`time-icon`),N=l(`channel-icon`),P=l(`el-alert`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Yt,[e(`div`,Xt,[a(y,{capability:`openaiimage`,part:`avatar`,class:`avatar`})]),e(`div`,Zt,[e(`div`,Qt,[a(y,{capability:`openaiimage`,part:`name`}),e(`span`,$t,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,en)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,tn,[n.referenceImages.length>0?(h(),s(`div`,nn,[(h(!0),s(c,null,m(n.referenceImages,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,rn,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,an,` - (`+i(n.$t(`openaiimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,on,[e(`div`,sn,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(C,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),e(`div`,cn,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url||n.images?.[0]?.url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:n.openaiimagePath,body:n.openaiimageCodeBody},null,8,[`path`,`body`]),a(E,{service:`openaiimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(P,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ln,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,un,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,dn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,fn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,mn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,hn,[a(P,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,gn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,_n,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,vn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,yn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,bn,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(j,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,xn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Cn,[a(P,{closable:!1,class:`info`},{template:p(()=>[n.modelValue?.response?(h(),f(I,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(n.$t(n.modelValue?.response?`openaiimage.name.status`:`openaiimage.status.pending`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,wn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,Tn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,Dn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var kn=_({name:`RecentPanel`,components:{TaskPreview:W(Jt,[[`render`,On],[`__scopeId`,`data-v-6519c932`]]),BotPlaceholder:He,NoTasks:_e,ScrollList:ge},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),An={key:0},jn={key:2,class:`w-full h-full flex items-center justify-center`};function Mn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,An,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,jn,[a(v)])):o(``,!0)],64)}var Nn=_({name:`OpenAIImageIndex`,components:{ConfigPanel:qt,Layout:Qe,RecentPanel:W(kn,[[`render`,Mn]]),ShowcaseResultTabs:We},mixins:[Me,Ge(`openaiimage`),Ue(`openaiimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===B.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks},walletMode(){return X()&&q(`openaiimage`).mode===`wallet`}},watch:{config:{handler(e){K(`openaiimage`,!(Array.isArray(e?.image_urls)&&e.image_urls.length>0))},deep:!0,immediate:!0},walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`openaiimage/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ve({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(!Te(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;K(`openaiimage`,!t);let n=q(`openaiimage`).mode;if(!this.hasText(e.prompt)){V.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let r=Q(e),i={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,quality:e?.quality,image_urls:e?.image_urls||[],async:!0},a;if(n===`wallet`){let e=this.getWalletContext();if(!e){V.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}a=Y.generate(r,{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Ee())return;let e=this.credential?.token;if(!e){console.error(`no token specified`);return}a=t?Y.edit(i,{token:e}):Y.generate(r,{token:e})}V.info(this.$t(`openaiimage.message.startingTask`)),Oe(`openaiimage`,a).then(e=>{let t=e?.data?.task_id;console.debug(`task accepted`,t),n===`wallet`&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),V.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{if(e instanceof Pe)return;let t=e?.response?.data;we(e,`openaiimage`)||(n===`wallet`?V.error(this.$t(`common.x402Scenario.paymentFailed`)):V.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return je(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?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Pn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:p(()=>[a(u,{service:`openai`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Fn=W(Nn,[[`render`,Pn]]);export{Fn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{$n as v,Bn as y,Gn as b,Hn as x,Qn as S,Un as C,Vn as w,Wn as T,Xn as E,Yn as D,Zn as O,ar as k,cr as A,dr as j,er as M,ir as N,lr as P,nr as F,qn as I,rr as ee,sr as te,tr as ne,ur as L}from"./constants-vZG8JV9A.js";import{n as re,r as R,t as z}from"./select-_PCob8fl.js";import{t as ie}from"./upload-BRF191Qt.js";import{t as ae}from"./tooltip-PKpFyAlh.js";import{t as oe}from"./alert-BCXxQqq9.js";import{h as B,v as V}from"./models-C0YjUFNo.js";import{t as se}from"./drawer-D24rEyIX.js";import{t as ce}from"./input-number-P8gwi2Qu.js";import{t as le}from"./switch-B3L5sC-p.js";import{t as ue}from"./box-B2VZKkyK.js";import{t as de}from"./clock-BKRstkvG.js";import{t as fe}from"./hash-B0rKChrT.js";import{t as pe}from"./image-wAPgKLi5.js";import{t as me}from"./info-xEqm0IrP.js";import{a as H,i as he,n as ge,r as _e,t as ve}from"./pagination-Bbx2BUmR.js";import{t as ye}from"./trash-2-BFjVq32N.js";import{t as be}from"./triangle-alert-C5ZVa5Ls.js";import{t as xe}from"./upload-K-LGn2LV.js";import{t as U}from"./wand-sparkles-CEv-Lq04.js";import{t as Se}from"./zap-XeVz862N.js";import{Ba as Ce,D as W,Ka as G,T as we,Ui as K,Vi as q,at as Te,ca as Ee,ct as De,ea as Oe,io as J,ir as Y,lt as ke,ot as Ae,pi as je,st as Me,tt as Ne,ui as Pe,wn as Fe,zi as X}from"./index-BkGHnQZ_.js";import{t as Ie}from"./CopyToClipboard-BDuBtP0j.js";import{t as Le}from"./ReportButton-BhTGM-ns.js";import{t as Z}from"./ImagePreview-BttJauXe.js";import{n as Re}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ze}from"./ServicePricingSummary-Ce4YxQTT.js";import{t as Be}from"./ScenarioPaymentMode-OoBCf54I.js";import{t as Ve}from"./ApiCodeButton-CkntOqa9.js";import{t as He}from"./BotPlaceholder-D7R9yzly.js";import{t as Ue}from"./taskPollingMixin-CcLxtz8z.js";import{t as We}from"./ShowcaseResultTabs-Dtod3SQA.js";import{t as Ge}from"./showcaseRecreateMixin-CNSd3SMP.js";import{t as Ke}from"./ImageWrapper-Cw6T8HnF.js";import{n as Q}from"./imageRequests-E3qWyxYa.js";var qe=_({name:`LayoutNanobanana`,components:{MagicIcon:U,ElDrawer:se,ElButton:J},mixins:[Re]}),Je={class:`main flex flex-row flex-1`},Ye={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)]`},Xe={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ze(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Je,[e(`div`,Ye,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Qe=W(qe,[[`render`,Ze],[`__scopeId`,`data-v-92afefbe`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:he},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`openaiimage.name.prompt`),info:e.$t(`openaiimage.description.prompt`),placeholder:e.$t(`openaiimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=W($e,[[`render`,et]]),nt=_({name:`ImageUrlsInput`,components:{UploadIcon:xe,ElUpload:ie,ElButton:J,InfoIcon:H,ImagePreview:Z},mixins:[ke,De,Ae,Ne],data(){return{fileList:[],uploadUrl:Ce()+`/api/v1/files/`,suppressWatch:!1}},computed:{maxImages(){return 16},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){V.warning(this.$t(`openaiimage.message.uploadImageExceed`,{count:16}))},onError(){V.error(this.$t(`openaiimage.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),rt={class:`field flex min-h-8 w-full items-center justify-between gap-3`},it={class:`flex min-w-0 items-center`},at={class:`title m-0 text-[14px] font-bold`},ot={class:`file-list flex flex-wrap gap-[10px]`};function st(t,n,o,u,d,g){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return h(),s(`div`,null,[e(`div`,rt,[e(`div`,it,[e(`h2`,at,i(t.$t(`openaiimage.name.imageUrls`)),1),a(_,{content:t.$t(`openaiimage.description.imageUrls`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.maxImages,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,ot,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var ct=W(nt,[[`render`,st]]),lt=_({name:`OpenAIImageModelSelector`,components:{ElSelect:R,ElOption:z,InfoIcon:H},data(){return{options:[{value:E,label:this.$t(`openaiimage.model.gptImage1`)},{value:O,label:this.$t(`openaiimage.model.gptImage15`)},{value:S,label:this.$t(`openaiimage.model.gptImage2`)},{value:v,label:this.$t(`openaiimage.model.gptImage25Flare`)},{value:M,label:this.$t(`openaiimage.model.gptImage25FlareOfficial`)},{value:ne,label:this.$t(`openaiimage.model.gptImage25Sunburst`)},{value:F,label:this.$t(`openaiimage.model.gptImage25SunburstOfficial`)},{value:ee,label:this.$t(`openaiimage.model.gptImage2Official`)}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit(`openaiimage/setConfig`,{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t(`openaiimage.description.model`)}},mounted(){this.value||=T}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`openaiimage.name.model`)),1),a(g,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),title:t.value},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`title`])])}var ht=W(lt,[[`render`,mt],[`__scopeId`,`data-v-03b728f3`]]);function $(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var gt=_({name:`OpenAIImageSizeSelector`,components:{ElSelect:R,ElOption:z,ElOptionGroup:re,ElSwitch:le,ElInputNumber:ce,InfoIcon:H},data(){return{customMode:!1,customWidth:1024,customHeight:1024}},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedSize(){return this.$store.state.openaiimage?.config?.size},autoSizeValue(){return L},customSupported(){return C.includes(this.model)},presets(){return k[this.model]??k[`gpt-image-2`]??[]},presetGroups(){return I.includes(this.model)?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:te},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:A},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:P}]:[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:this.presets}]},useCustom:{get(){return this.customSupported&&this.customMode},set(e){if(!(e&&!this.customSupported))if(this.customMode=e,e){if(this.customError)return;this.commitSize(`${this.customWidth}x${this.customHeight}`)}else this.commitSize(L)}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.autoSizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return y},customError(){let e=this.customWidth,t=this.customHeight;return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?this.$t(`openaiimage.error.customSizePositive`):e%this.multiple!==0||t%this.multiple!==0?this.$t(`openaiimage.error.customSizeMultiple`,{multiple:this.multiple}):e<this.minSide||t<this.minSide?this.$t(`openaiimage.error.customSizeMin`,{min:this.minSide}):Math.max(e,t)>this.maxSide?this.$t(`openaiimage.error.customSizeMax`,{max:this.maxSide}):e*t<655360?this.$t(`openaiimage.error.customSizeMinPixels`,{pixels:x.toLocaleString()}):e*t>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:w.toLocaleString()}):Math.max(e,t)/Math.min(e,t)>3?this.$t(`openaiimage.error.customSizeAspectRatio`,{ratio:3}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||e===`auto`||this.presets.includes(e))return;let t=$(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize(L)}},storedSize(e){if(!e||e===`auto`){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=$(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=$(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),_t={class:`resolution`},vt={class:`field`},yt={class:`label`},bt={class:`box`},xt={class:`title font-bold`},St={class:`field custom-toggle`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={key:0,class:`custom-inputs`},Dt={class:`row`},Ot={class:`row-label`},kt={class:`row`},At={class:`row-label`},jt={key:0,class:`error`};function Mt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`),x=l(`el-switch`),S=l(`el-input-number`);return h(),s(`div`,_t,[e(`div`,vt,[e(`div`,yt,[e(`div`,bt,[e(`h2`,xt,i(t.$t(`openaiimage.name.size`)),1),a(_,{content:t.$t(`openaiimage.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.presetValue,"onUpdate:modelValue":n[0]||=e=>t.presetValue=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`),disabled:t.useCustom},{default:p(()=>[a(v,{label:t.$t(`openaiimage.size.auto`),value:t.autoSizeValue},null,8,[`label`,`value`]),(h(!0),s(c,null,m(t.presetGroups,e=>(h(),f(y,{key:e.label,label:e.label},{default:p(()=>[(h(!0),s(c,null,m(e.options,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),t.customSupported?(h(),s(c,{key:0},[e(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`openaiimage.name.customSize`)),1),a(_,{content:t.$t(`openaiimage.description.customSize`),class:`info`},null,8,[`content`])])]),a(x,{modelValue:t.useCustom,"onUpdate:modelValue":n[1]||=e=>t.useCustom=e,class:`value-switch`},null,8,[`modelValue`])]),t.useCustom?(h(),s(`div`,Et,[e(`div`,Dt,[e(`span`,Ot,i(t.$t(`openaiimage.name.width`)),1),a(S,{modelValue:t.customWidth,"onUpdate:modelValue":n[2]||=e=>t.customWidth=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),e(`div`,kt,[e(`span`,At,i(t.$t(`openaiimage.name.height`)),1),a(S,{modelValue:t.customHeight,"onUpdate:modelValue":n[3]||=e=>t.customHeight=e,class:`row-input`,min:t.minSide,max:t.maxSide,step:t.multiple,"step-strictly":!0,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`,`step`])]),t.customError?(h(),s(`div`,jt,i(t.customError),1)):o(``,!0)])):o(``,!0)],64)):o(``,!0)])}var Nt=W(gt,[[`render`,Mt],[`__scopeId`,`data-v-c3247527`]]),Pt=_({name:`OpenAIImageQualitySelector`,components:{ElOption:z,ElSelect:R,InfoIcon:H},computed:{model(){return this.$store.state.openaiimage?.config?.model||`gpt-image-2`},storedQuality(){return this.$store.state.openaiimage?.config?.quality},qualities(){return N[this.model]??[`auto`]},quality:{get(){return this.storedQuality&&this.qualities.includes(this.storedQuality)?this.storedQuality:b},set(e){this.commitQuality(e)}}},watch:{model(){this.storedQuality&&this.qualities.includes(this.storedQuality)||this.commitQuality(b)}},methods:{commitQuality(e){let t={...this.$store.state.openaiimage?.config||{},quality:e};this.$store.commit(`openaiimage/setConfig`,t)}}}),Ft={class:`field`},It={class:`label`},Lt={class:`box`},Rt={class:`title font-bold`};function zt(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,Ft,[e(`div`,It,[e(`div`,Lt,[e(`h2`,Rt,i(t.$t(`openaiimage.name.quality`)),1),a(g,{content:t.$t(`openaiimage.description.quality`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.quality,"onUpdate:modelValue":n[0]||=e=>t.quality=e,class:`value`,placeholder:t.$t(`openaiimage.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.qualities,e=>(h(),f(_,{key:e,label:t.$t(`openaiimage.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Bt=W(Pt,[[`render`,zt],[`__scopeId`,`data-v-052cc590`]]),Vt=350,Ht=_({name:`ConfigPanel`,components:{MagicIcon:U,ElButton:J,PromptInput:tt,ServicePricingSummary:ze,ImageUrlsInput:ct,ModelSelector:ht,ResolutionSelector:Nt,QualitySelector:Bt,ScenarioPaymentMode:Be},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{OPENAIIMAGE_MODELS:D,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return Fe({...this.config||{}},this.service?.cost)},displayConsumption(){return j(this.config?.model)?void 0:this.consumption},service(){return this.$store.state.openaiimage?.service},pricingNote(){return j(this.config?.model)?this.$t(`service.message.imageTokenEstimate`):``},walletMode(){return X()&&q(`openaiimage`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.cancelQuote()},immediate:!0},config:{handler(){this.walletMode?this.scheduleQuote():this.cancelQuote()},deep:!0},identityToken(){this.quoteRunId+=1,this.walletMode&&this.scheduleQuote()}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,Vt)},cancelQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},async refreshQuote(){let e=q(`openaiimage`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Ut={class:`flex flex-col h-full`},Wt={class:`flex-1 overflow-y-auto p-5`},Gt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Kt(t,n,c,u,d,m){let g=l(`model-selector`),_=l(`resolution-selector`),v=l(`quality-selector`),y=l(`prompt-input`),b=l(`image-urls-input`),x=l(`scenario-payment-mode`),S=l(`service-pricing-summary`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ut,[e(`div`,Wt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,Gt,[a(x,{scenario:`openaiimage`}),t.walletMode?o(``,!0):(h(),f(S,{key:0,value:t.displayConsumption,service:t.service,note:t.pricingNote,"pricing-models":t.OPENAIIMAGE_MODELS,"pricing-model-default":`dall-e-3`,"pricing-unit-aliases":{n:`image`}},null,8,[`value`,`service`,`note`,`pricing-models`])),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var qt=W(Ht,[[`render`,Kt]]),Jt=_({name:`TaskPreview`,components:{ApplicationIcon:ue,ChannelIcon:fe,DeleteIcon:ye,ImageIcon:pe,InfoIcon:me,LightningIcon:Se,MagicIcon:U,TimeIcon:de,WarningIcon:be,CopyToClipboard:Ie,ElAlert:oe,ImageWrapper:Ke,ElButton:J,ElTooltip:ae,ImagePreview:Z,ApiCodeButton:Ve,ReportButton:Le},props:{modelValue:{type:Object,required:!0}},computed:{isEditRequest(){let e=this.modelValue?.request;return this.modelValue?.type===`images_edits`||e?.action===`edit`||this.referenceImages.length>0},showTaskType(){return!!(this.modelValue?.request?.action||this.modelValue?.type||this.referenceImages.length>0)},taskTypeLabel(){return this.isEditRequest?this.$t(`openaiimage.name.edits`):this.$t(`openaiimage.name.generate`)},openaiimagePath(){return this.isEditRequest?`/openai/images/edits`:`/openai/images/generations`},openaiimageCodeBody(){let e=this.modelValue?.request;if(!e)return;let t={...e};if(delete t.action,delete t.callback_url,this.isEditRequest){delete t.image_urls,delete t.image;let e=this.referenceImages;e.length===1?t.image=e[0]:e.length>1&&(t.image=e)}else delete t.image_urls,delete t.image;return t},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{let n=t;if(n?.image_url||n?.url){e.push(n);return}n?.b64_json&&e.push({...n,url:`data:image/png;base64,${n.b64_json}`})}),e},referenceImages(){let e=this.modelValue?.request;if(!e)return[];let t=Array.isArray(e.image_urls)?e.image_urls:[];if(t.length>0)return t.filter(e=>typeof e==`string`&&e.length>0);let n=e.image;return Array.isArray(n)?n.filter(e=>typeof e==`string`&&e.length>0):typeof n==`string`&&n.length>0?[n]:Array.isArray(e.images)?e.images.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`)return e.image_url}).filter(e=>typeof e==`string`&&e.length>0):[]}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit(`openaiimage/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await 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(`openaiimage/deleteTask`,{id:e}),V.success(this.$t(`common.message.deleteTaskSuccess`))}catch{V.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),Yt={class:`preview`},Xt={class:`left`},Zt={class:`main`},Qt={class:`bot`},$t={class:`datetime`},en=[`aria-label`],tn={class:`info`},nn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},rn={key:1,class:`prompt mt-2`},an={key:0},on={key:0,class:n({content:!0,failed:!0})},sn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},cn={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ln={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:2,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:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:1,class:n({content:!0})},gn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Sn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Cn={key:2,class:n({content:!0})},wn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},En={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function On(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`image-wrapper`),w=l(`el-button`),T=l(`api-code-button`),E=l(`report-button`),D=l(`application-icon`),O=l(`image-icon`),k=l(`lightning-icon`),A=l(`magic-icon`),j=l(`copy-to-clipboard`),M=l(`time-icon`),N=l(`channel-icon`),P=l(`el-alert`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Yt,[e(`div`,Xt,[a(y,{capability:`openaiimage`,part:`avatar`,class:`avatar`})]),e(`div`,Zt,[e(`div`,Qt,[a(y,{capability:`openaiimage`,part:`name`}),e(`span`,$t,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,en)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,tn,[n.referenceImages.length>0?(h(),s(`div`,nn,[(h(!0),s(c,null,m(n.referenceImages,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,rn,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,an,` - (`+i(n.$t(`openaiimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,on,[e(`div`,sn,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(C,{key:t,src:e?.image_url||e?.url||``,"raw-src":e?.image_url||e?.url||``},null,8,[`src`,`raw-src`]))),128))]),e(`div`,cn,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url||n.images?.[0]?.url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:n.openaiimagePath,body:n.openaiimageCodeBody},null,8,[`path`,`body`]),a(E,{service:`openaiimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(P,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ln,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,un,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,dn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,fn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,mn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,hn,[a(P,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,gn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,_n,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,vn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,yn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,bn,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(j,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,xn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Cn,[a(P,{closable:!1,class:`info`},{template:p(()=>[n.modelValue?.response?(h(),f(I,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(h(),f(M,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(n.$t(n.modelValue?.response?`openaiimage.name.status`:`openaiimage.status.pending`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,wn,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,Tn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),n.showTaskType?(h(),s(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.task`))+`: `+i(n.taskTypeLabel),1)])):o(``,!0),e(`p`,Dn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var kn=_({name:`RecentPanel`,components:{TaskPreview:W(Jt,[[`render`,On],[`__scopeId`,`data-v-6519c932`]]),BotPlaceholder:He,NoTasks:_e,ScrollList:ge},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),An={key:0},jn={key:2,class:`w-full h-full flex items-center justify-center`};function Mn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,An,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,jn,[a(v)])):o(``,!0)],64)}var Nn=_({name:`OpenAIImageIndex`,components:{ConfigPanel:qt,Layout:Qe,RecentPanel:W(kn,[[`render`,Mn]]),ShowcaseResultTabs:We},mixins:[Me,Ge(`openaiimage`),Ue(`openaiimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===B.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks},walletMode(){return X()&&q(`openaiimage`).mode===`wallet`}},watch:{config:{handler(e){K(`openaiimage`,!(Array.isArray(e?.image_urls)&&e.image_urls.length>0))},deep:!0,immediate:!0},walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`openaiimage/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ve({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`openaiimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`openaiimage/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(!Te(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;K(`openaiimage`,!t);let n=q(`openaiimage`).mode;if(!this.hasText(e.prompt)){V.error(this.$t(`openaiimage.message.promptRequired`));return}e.prompt=e.prompt.trim(),!t&&`image_urls`in e&&delete e.image_urls,e.size||delete e.size;let r=Q(e),i={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,quality:e?.quality,image_urls:e?.image_urls||[],async:!0},a;if(n===`wallet`){let e=this.getWalletContext();if(!e){V.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}a=Y.generate(r,{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Ee())return;let e=this.credential?.token;if(!e){console.error(`no token specified`);return}a=t?Y.edit(i,{token:e}):Y.generate(r,{token:e})}V.info(this.$t(`openaiimage.message.startingTask`)),Oe(`openaiimage`,a).then(e=>{let t=e?.data?.task_id;console.debug(`task accepted`,t),n===`wallet`&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),V.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{if(e instanceof Pe)return;let t=e?.response?.data;we(e,`openaiimage`)||(n===`wallet`?V.error(this.$t(`common.x402Scenario.paymentFailed`)):V.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return je(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?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Pn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:p(()=>[a(u,{service:`openai`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Fn=W(Nn,[[`render`,Pn]]);export{Fn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,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{Bt as y,Ft as b,Gt as x,Ht as S,It as C,Jt as w,Kt as T,Lt as E,Qt as D,Rt as O,Ut as k,Vt as A,Wt as j,Xt as M,Zt as ee,qt as te}from"./constants-CtnklZiH.js";import{r as N,t as P}from"./select-C2YM6jYm.js";import{t as F}from"./upload-DLWfBIaW.js";import{t as ne}from"./tooltip-BguAk2Sc.js";import{t as re}from"./alert-U2MaPlJ9.js";import{h as I,v as L}from"./models-GnX-yPYT.js";import{t as ie}from"./drawer-sdYHY1zp.js";import{t as ae}from"./box-C6Xx8AJZ.js";import{t as oe}from"./clock-XA93ZULg.js";import{t as se}from"./hash-Bn1uvpHk.js";import{t as ce}from"./info-caEaZVGr.js";import{a as R,i as le,n as ue,o as de,r as fe,t as pe}from"./pagination-B9jQ50ES.js";import{t as me}from"./trash-2-DWBPW1yS.js";import{t as he}from"./triangle-alert-Bb8xoxEs.js";import{t as z}from"./upload-CuYJXxkL.js";import{t as B}from"./wand-sparkles-lgMM7K5x.js";import{$n as V,Ba as H,D as U,Ha as ge,Ka as W,T as _e,Vi as G,at as ve,ca as ye,ct as K,ea as be,er as q,io as J,lt as Y,ot as X,pi as xe,st as Se,tt as Z,ui as Ce,wn as we,zi as Q}from"./index-CfzJ_Jkq.js";import{t as Te}from"./CopyToClipboard-CgPeryyz.js";import{t as Ee}from"./ReportButton-BLxE3uj7.js";import{t as $}from"./ImagePreview-CHtT7AjC.js";import{n as De}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Oe}from"./ServicePricingSummary-BD3Ban3F.js";import{t as ke}from"./VideoPlayer-2KVCaTz-.js";import{t as Ae}from"./ScenarioPaymentMode-A4snmp1R.js";import{t as je}from"./ApiCodeButton-9MmMX2Rz.js";import{t as Me}from"./BotPlaceholder-DbLUWxuQ.js";import{t as Ne}from"./taskPollingMixin-CcLxtz8z.js";import{t as Pe}from"./ShowcaseResultTabs-DmSI-Wiz.js";import{t as Fe}from"./showcaseRecreateMixin-DmbOSU5x.js";var Ie=v({name:`LayoutGrokVideo`,components:{MagicIcon:B,ElDrawer:ie,ElButton:J},mixins:[De]}),Le={class:`main flex flex-row flex-1`},Re={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ze={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Be(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Le,[e(`div`,Re,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ze,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!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 Ve=U(Ie,[[`render`,Be],[`__scopeId`,`data-v-babf4135`]]),He=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:le},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ue(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var We=U(He,[[`render`,Ue]]),Ge=v({name:`GrokVideoModelSelector`,components:{ElSelect:N,ElOption:P,InfoIcon:R},data(){return{options:[{value:A,label:this.$t(`grokvideo.model.fastReverse`)},{value:k,label:this.$t(`grokvideo.model.reverse`)},{value:S,label:this.$t(`grokvideo.model.official`)},{value:y,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=b}}),Ke={class:`field`},qe={class:`label`},Je={class:`box`},Ye={class:`title font-bold`};function Xe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ze=U(Ge,[[`render`,Xe],[`__scopeId`,`data-v-9e6fef88`]]),Qe=v({name:`GrokVideoDurationSelector`,components:{ElSelect:N,ElOption:P,InfoIcon:R},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return M(this.model)},minDuration(){return ee(this.model)},options(){return O.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),$e={class:`field`},et={class:`label`},tt={class:`box`},nt={class:`title font-bold`};function rt(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`h2`,nt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=U(Qe,[[`render`,rt],[`__scopeId`,`data-v-673a8bbc`]]),at=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:R},data(){return{options:[{value:te,label:`480p`},{value:w,label:`720p`},{value:T,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=E}}),ot={class:`resolution`},st={class:`header`},ct={class:`title font-bold`},lt={class:`items`},ut=[`onClick`];function dt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ot,[e(`div`,st,[e(`h2`,ct,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,lt,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,ut))),128))])])}var ft=U(at,[[`render`,dt],[`__scopeId`,`data-v-54f22a22`]]),pt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:R},computed:{options(){return[{value:j,label:`16:9`,w:32,h:18},{value:x,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=C}}),mt={class:`ratio`},ht={class:`header`},gt={class:`title font-bold`},_t={class:`items`},vt=[`onClick`],yt={class:`preview`},bt={class:`name`};function xt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,mt,[e(`div`,ht,[e(`h2`,gt,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,_t,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,yt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,bt,i(r.label),1)],10,vt))),128))])])}var St=U(pt,[[`render`,xt],[`__scopeId`,`data-v-70115284`]]),Ct=v({name:`GrokVideoImageInput`,components:{MetaTag:ge,UploadIcon:z,ElUpload:F,ElButton:J,InfoIcon:R,ImagePreview:$},mixins:[Y,K,X,Z],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return D(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){L.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){L.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),wt={class:`relative`},Tt={class:`flex justify-between`},Et={class:`flex justify-start items-center`},Dt={class:`text-sm font-bold`};function Ot(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`span`,Dt,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,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,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(v,{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(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var kt=U(Ct,[[`render`,Ot],[`__scopeId`,`data-v-72c04b98`]]),At=4,jt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:z,ElUpload:F,ElButton:J,InfoIcon:R,ImagePreview:$},mixins:[Y,K,X,Z],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`,limit:At,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){L.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){L.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Mt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Nt={class:`flex min-w-0 items-center`},Pt={class:`title m-0 text-[14px] font-bold`},Ft={class:`file-list flex flex-wrap gap-[10px]`};function It(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Mt,[e(`div`,Nt,[e(`h2`,Pt,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ft,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Lt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:B,ElButton:J,PromptInput:We,ModelSelector:Ze,DurationSelector:it,ResolutionSelector:ft,RatioSelector:St,ImageInput:kt,ReferenceImagesInput:U(jt,[[`render`,It]]),ServicePricingSummary:Oe,ScenarioPaymentMode:Ae},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!D(this.$store.state.grokvideo?.config?.model)},consumption(){return we(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return Q()&&G(`grokvideo`).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=G(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await q.quote(V(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`)}}}),Rt={class:`flex flex-col h-full`},zt={class:`flex-1 overflow-y-auto p-5`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,Rt,[e(`div`,zt,[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`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Bt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ht=U(Lt,[[`render`,Vt]]),Ut=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:me,ApplicationIcon:ae,ChannelIcon:se,FullscreenIcon:de,InfoIcon:ce,MagicIcon:B,TimeIcon:oe,WarningIcon:he,CopyToClipboard:Te,ElAlert:re,VideoPlayer:ke,ElTooltip:ne,ElButton:J,ImagePreview:$,ApiCodeButton:je,ReportButton:Ee},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},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(`grokvideo/deleteTask`,{id:e}),L.success(this.$t(`common.message.deleteTaskSuccess`))}catch{L.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Wt={class:`preview`},Gt={class:`left`},Kt={class:`main`},qt={class:`bot`},Jt={class:`datetime`},Yt=[`aria-label`],Xt={class:`info`},Zt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qt={key:1,class:`prompt mt-2`},$t={key:0},en={key:1},tn={key:0,class:n({content:!0})},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},an={key:1,class:n({content:!0})},on={key:0,class:`mb-4`},sn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},cn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},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-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Wt,[e(`div`,Gt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,Kt,[e(`div`,qt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Yt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Xt,[n.inputImage?(g(),s(`div`,Zt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,Qt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,$t,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,an,[n.video?.video_url?(g(),s(`div`,on,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,sn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,cn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,tn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,nn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,rn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:U(Ut,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Me,NoTasks:fe,ScrollList:ue},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{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:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ht,Layout:Ve,RecentPanel:U(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Pe},mixins:[Se,Fe(`grokvideo`),Ne(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===I.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===I.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return Q()&&G(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({tasks: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(`grokvideo/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(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ve(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(D(e.model)&&!t){L.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){L.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){L.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=q.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ye())return;let t=this.credential?.token;if(!t)return;n=q.generate(e,{token:t})}L.info(this.$t(`grokvideo.message.startingTask`)),be(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),L.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||_e(e,`grokvideo`)||(this.walletMode?L.error(this.$t(`common.x402Scenario.paymentFailed`)):L.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(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 Dn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=U(En,[[`render`,Dn]]);export{On as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,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{Bt as y,Ft as b,Gt as x,Ht as S,It as C,Jt as w,Kt as T,Lt as E,Qt as D,Rt as O,Ut as k,Vt as A,Wt as j,Xt as M,Zt as ee,qt as te}from"./constants-vZG8JV9A.js";import{r as N,t as P}from"./select-_PCob8fl.js";import{t as F}from"./upload-BRF191Qt.js";import{t as ne}from"./tooltip-PKpFyAlh.js";import{t as re}from"./alert-BCXxQqq9.js";import{h as I,v as L}from"./models-C0YjUFNo.js";import{t as ie}from"./drawer-D24rEyIX.js";import{t as ae}from"./box-B2VZKkyK.js";import{t as oe}from"./clock-BKRstkvG.js";import{t as se}from"./hash-B0rKChrT.js";import{t as ce}from"./info-xEqm0IrP.js";import{a as R,i as le,n as ue,o as de,r as fe,t as pe}from"./pagination-Bbx2BUmR.js";import{t as me}from"./trash-2-BFjVq32N.js";import{t as he}from"./triangle-alert-C5ZVa5Ls.js";import{t as z}from"./upload-K-LGn2LV.js";import{t as B}from"./wand-sparkles-CEv-Lq04.js";import{$n as V,Ba as H,D as U,Ha as ge,Ka as W,T as _e,Vi as G,at as ve,ca as ye,ct as K,ea as be,er as q,io as J,lt as Y,ot as X,pi as xe,st as Se,tt as Z,ui as Ce,wn as we,zi as Q}from"./index-BkGHnQZ_.js";import{t as Te}from"./CopyToClipboard-BDuBtP0j.js";import{t as Ee}from"./ReportButton-BhTGM-ns.js";import{t as $}from"./ImagePreview-BttJauXe.js";import{n as De}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Oe}from"./ServicePricingSummary-Ce4YxQTT.js";import{t as ke}from"./VideoPlayer-D3FCgw3g.js";import{t as Ae}from"./ScenarioPaymentMode-OoBCf54I.js";import{t as je}from"./ApiCodeButton-CkntOqa9.js";import{t as Me}from"./BotPlaceholder-D7R9yzly.js";import{t as Ne}from"./taskPollingMixin-CcLxtz8z.js";import{t as Pe}from"./ShowcaseResultTabs-Dtod3SQA.js";import{t as Fe}from"./showcaseRecreateMixin-CNSd3SMP.js";var Ie=v({name:`LayoutGrokVideo`,components:{MagicIcon:B,ElDrawer:ie,ElButton:J},mixins:[De]}),Le={class:`main flex flex-row flex-1`},Re={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ze={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Be(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Le,[e(`div`,Re,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ze,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!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 Ve=U(Ie,[[`render`,Be],[`__scopeId`,`data-v-babf4135`]]),He=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:le},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ue(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(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var We=U(He,[[`render`,Ue]]),Ge=v({name:`GrokVideoModelSelector`,components:{ElSelect:N,ElOption:P,InfoIcon:R},data(){return{options:[{value:A,label:this.$t(`grokvideo.model.fastReverse`)},{value:k,label:this.$t(`grokvideo.model.reverse`)},{value:S,label:this.$t(`grokvideo.model.official`)},{value:y,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=b}}),Ke={class:`field`},qe={class:`label`},Je={class:`box`},Ye={class:`title font-bold`};function Xe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ze=U(Ge,[[`render`,Xe],[`__scopeId`,`data-v-9e6fef88`]]),Qe=v({name:`GrokVideoDurationSelector`,components:{ElSelect:N,ElOption:P,InfoIcon:R},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return M(this.model)},minDuration(){return ee(this.model)},options(){return O.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),$e={class:`field`},et={class:`label`},tt={class:`box`},nt={class:`title font-bold`};function rt(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`h2`,nt,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=U(Qe,[[`render`,rt],[`__scopeId`,`data-v-673a8bbc`]]),at=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:R},data(){return{options:[{value:te,label:`480p`},{value:w,label:`720p`},{value:T,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=E}}),ot={class:`resolution`},st={class:`header`},ct={class:`title font-bold`},lt={class:`items`},ut=[`onClick`];function dt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ot,[e(`div`,st,[e(`h2`,ct,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,lt,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,ut))),128))])])}var ft=U(at,[[`render`,dt],[`__scopeId`,`data-v-54f22a22`]]),pt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:R},computed:{options(){return[{value:j,label:`16:9`,w:32,h:18},{value:x,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=C}}),mt={class:`ratio`},ht={class:`header`},gt={class:`title font-bold`},_t={class:`items`},vt=[`onClick`],yt={class:`preview`},bt={class:`name`};function xt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,mt,[e(`div`,ht,[e(`h2`,gt,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,_t,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,yt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,bt,i(r.label),1)],10,vt))),128))])])}var St=U(pt,[[`render`,xt],[`__scopeId`,`data-v-70115284`]]),Ct=v({name:`GrokVideoImageInput`,components:{MetaTag:ge,UploadIcon:z,ElUpload:F,ElButton:J,InfoIcon:R,ImagePreview:$},mixins:[Y,K,X,Z],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return D(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){L.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){L.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),wt={class:`relative`},Tt={class:`flex justify-between`},Et={class:`flex justify-start items-center`},Dt={class:`text-sm font-bold`};function Ot(t,n,c,u,d,m){let h=l(`meta-tag`),_=l(`info-icon`),v=l(`image-preview`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`);return g(),s(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`span`,Dt,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),f(h,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:p(()=>[r(i(t.$t(`grokvideo.name.required`)),1)]),_:1})):o(``,!0),a(_,{content:t.$t(`grokvideo.description.image`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,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,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(v,{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(b,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(y,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var kt=U(Ct,[[`render`,Ot],[`__scopeId`,`data-v-72c04b98`]]),At=4,jt=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:z,ElUpload:F,ElButton:J,InfoIcon:R,ImagePreview:$},mixins:[Y,K,X,Z],data(){return{fileList:[],uploadUrl:H()+`/api/v1/files/`,limit:At,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){L.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){L.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Mt={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Nt={class:`flex min-w-0 items-center`},Pt={class:`title m-0 text-[14px] font-bold`},Ft={class:`file-list flex flex-wrap gap-[10px]`};function It(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Mt,[e(`div`,Nt,[e(`h2`,Pt,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ft,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Lt=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:B,ElButton:J,PromptInput:We,ModelSelector:Ze,DurationSelector:it,ResolutionSelector:ft,RatioSelector:St,ImageInput:kt,ReferenceImagesInput:U(jt,[[`render`,It]]),ServicePricingSummary:Oe,ScenarioPaymentMode:Ae},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!D(this.$store.state.grokvideo?.config?.model)},consumption(){return we(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service},walletMode(){return Q()&&G(`grokvideo`).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=G(`grokvideo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await q.quote(V(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`)}}}),Rt={class:`flex flex-col h-full`},zt={class:`flex-1 overflow-y-auto p-5`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`scenario-payment-mode`),w=l(`service-pricing-summary`),T=l(`magic-icon`),E=l(`el-button`);return g(),s(`div`,Rt,[e(`div`,zt,[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`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Bt,[a(C,{scenario:`grokvideo`}),t.walletMode?o(``,!0):(g(),f(w,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ht=U(Lt,[[`render`,Vt]]),Ut=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:me,ApplicationIcon:ae,ChannelIcon:se,FullscreenIcon:de,InfoIcon:ce,MagicIcon:B,TimeIcon:oe,WarningIcon:he,CopyToClipboard:Te,ElAlert:re,VideoPlayer:ke,ElTooltip:ne,ElButton:J,ImagePreview:$,ApiCodeButton:je,ReportButton:Ee},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},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(`grokvideo/deleteTask`,{id:e}),L.success(this.$t(`common.message.deleteTaskSuccess`))}catch{L.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Wt={class:`preview`},Gt={class:`left`},Kt={class:`main`},qt={class:`bot`},Jt={class:`datetime`},Yt=[`aria-label`],Xt={class:`info`},Zt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Qt={key:1,class:`prompt mt-2`},$t={key:0},en={key:1},tn={key:0,class:n({content:!0})},nn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},an={key:1,class:n({content:!0})},on={key:0,class:`mb-4`},sn={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},cn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},un={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:0},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:n({content:!0})},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-0`},yn={key:3,class:n({content:!0})},bn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function xn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Wt,[e(`div`,Gt,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,Kt,[e(`div`,qt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,Jt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{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(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Yt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Xt,[n.inputImage?(g(),s(`div`,Zt,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,Qt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,en,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,$t,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,an,[n.video?.video_url?(g(),s(`div`,on,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,sn,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,cn,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,ln,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,un,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,dn,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,fn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,hn,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,gn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,_n,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,bn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,tn,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,nn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,rn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Sn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:U(Ut,[[`render`,xn],[`__scopeId`,`data-v-5c3b05ea`]]),BotPlaceholder:Me,NoTasks:fe,ScrollList:ue},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Cn={key:0},wn={key:2,class:`w-full h-full flex items-center justify-center`};function Tn(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`,Cn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{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:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,wn,[a(v)])):o(``,!0)],64)}var En=v({name:`GrokVideoIndex`,components:{ConfigPanel:Ht,Layout:Ve,RecentPanel:U(Sn,[[`render`,Tn]]),ShowcaseResultTabs:Pe},mixins:[Se,Fe(`grokvideo`),Ne(`grokvideo`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===I.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===I.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks},walletMode(){return Q()&&G(`grokvideo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`grokvideo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job||=window.setInterval(this.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({tasks: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(`grokvideo/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(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ve(this.uploadTracker,e=>this.$t(e),e=>L.warning(e)))return;let e=V(this.config),t=!!e.image_url;if(D(e.model)&&!t){L.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e.prompt){L.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n;if(this.walletMode){let t=this.getWalletContext();if(!t){L.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=q.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ye())return;let t=this.credential?.token;if(!t)return;n=q.generate(e,{token:t})}L.info(this.$t(`grokvideo.message.startingTask`)),be(`grokvideo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),L.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;e instanceof Ce||_e(e,`grokvideo`)||(this.walletMode?L.error(this.$t(`common.x402Scenario.paymentFailed`)):L.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return xe(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 Dn(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return g(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`grok`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var On=U(En,[[`render`,Dn]]);export{On as default};
|