@acedatacloud/nexior 3.342.0 → 3.343.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ApiCodeButton-C6xulclD.js +1 -0
- package/dist/assets/{Artifacts-DWv7hZm7.js → Artifacts-DAa_txpU.js} +1 -1
- package/dist/assets/AskUserQuestionCard-BHEvCUu4.js +1 -0
- package/dist/assets/{AudioPreview-Cu7tFQ3O.js → AudioPreview-B0aghYHT.js} +1 -1
- package/dist/assets/{Auth-DBG_9BBB.js → Auth-CIP-fOog.js} +1 -1
- package/dist/assets/{Bare-CI4aDptm.js → Bare-BDQirOdl.js} +1 -1
- package/dist/assets/{BotPlaceholder-DEzlsX3N.js → BotPlaceholder-DHQofJtq.js} +1 -1
- package/dist/assets/{BottomFooter-Bjq8MsS9.js → BottomFooter-DY1VpFQt.js} +1 -1
- package/dist/assets/{Callback-CqRRYle1.js → Callback-D-pw7QKi.js} +1 -1
- package/dist/assets/CodeSnippet-BkJqzMc3.js +1 -0
- package/dist/assets/{Console-9MncIaGy.css → Console-1tSVCxa2.css} +1 -1
- package/dist/assets/Console-COjWd2l1.js +1 -0
- package/dist/assets/{Consumption-Bj1vPgJr.js → Consumption-CVm_v4Wi.js} +1 -1
- package/dist/assets/Conversation-BEAgy3ft.js +1 -0
- package/dist/assets/Conversation-DTLzZ2au.js +1 -0
- package/dist/assets/{Conversation-eDIVd-G3.css → Conversation-DWG-mIDb.css} +1 -1
- package/dist/assets/{CopyToClipboard-jI-6D-bZ.js → CopyToClipboard-DaX_1dOX.js} +1 -1
- package/dist/assets/Detail-UcCANUbZ.js +2 -0
- package/dist/assets/Extra-CkvGSLuJ.js +1 -0
- package/dist/assets/{FilePreview-waS6P9QI.js → FilePreview-C2igtccE.js} +1 -1
- package/dist/assets/{Hailuo-BMahH61V.js → Hailuo-Yss2Bs26.js} +1 -1
- package/dist/assets/{History-DHO1JUMf.js → History-B7Lg_UrW.js} +1 -1
- package/dist/assets/{ImagePreview-D_nlD8_0.js → ImagePreview-B5t7BBhX.js} +1 -1
- package/dist/assets/{ImageWrapper-arrFKmON.js → ImageWrapper-BibqD41p.js} +1 -1
- package/dist/assets/Index-1JwRgDE9.js +1 -0
- package/dist/assets/Index-64oaFTmU.css +1 -0
- package/dist/assets/Index-7SplpfSA.js +1 -0
- package/dist/assets/{Index-C2SjjQcQ.js → Index-B27PBoBg.js} +1 -1
- package/dist/assets/Index-BI3ferXB.js +1 -0
- package/dist/assets/Index-Bayuivac.js +1 -0
- package/dist/assets/Index-BnI2J71f.js +1 -0
- package/dist/assets/{Index-D4836pnj.js → Index-BriEAFd2.js} +1 -1
- package/dist/assets/Index-BsZppypf.js +1 -0
- package/dist/assets/{Index-DcOdM_Tm.js → Index-BwuDPSOA2.js} +1 -1
- package/dist/assets/{Index-C6GKK_wo.js → Index-C7F3RFkY.js} +1 -1
- package/dist/assets/Index-CHwvKber.js +1 -0
- package/dist/assets/Index-CMjrvbvF.js +1 -0
- package/dist/assets/Index-CPGDnHz1.js +1 -0
- package/dist/assets/{Index-Cm7Z3vZg.js → Index-CclSkAoN2.js} +2 -2
- package/dist/assets/{Index-jmUqbYbJ.js → Index-CluVIXKK.js} +1 -1
- package/dist/assets/Index-CnC6UwoV2.js +1 -0
- package/dist/assets/Index-CwIDQoV8.js +1 -0
- package/dist/assets/{Index-DUWdLoet.js → Index-CygJZmVe.js} +1 -1
- package/dist/assets/Index-Cyoi7Fo3.js +1 -0
- package/dist/assets/Index-D27NjR6F.js +1 -0
- package/dist/assets/Index-DGliE4or.js +1 -0
- package/dist/assets/{Index-Cy_8j9K1.js → Index-DR74SxKj.js} +1 -1
- package/dist/assets/Index-DUa2GxLi.js +1 -0
- package/dist/assets/Index-DWodh9182.js +1 -0
- package/dist/assets/Index-DjMO6TUO.js +1 -0
- package/dist/assets/{Index-Ld7CmLzm.js → Index-DkL4aQx_.js} +1 -1
- package/dist/assets/{Index-DYjx6H-j.js → Index-DlIRktX9.js} +1 -1
- package/dist/assets/Index-Dm87d8IJ.js +1 -0
- package/dist/assets/Index-K0N6t6kg.js +1 -0
- package/dist/assets/Index-P4rYxsC3.js +1 -0
- package/dist/assets/{Index-fgvRd9Gj.js → Index-g9_KN6R1.js} +1 -1
- package/dist/assets/Index-hZsnZPi0.js +1 -0
- package/dist/assets/{Invitees-CbuK1aDg.js → Invitees-BvKAqhXe.js} +1 -1
- package/dist/assets/{List-DJXloozM.js → List-BVXaonUP.js} +1 -1
- package/dist/assets/List-C5q1QP8w.js +1 -0
- package/dist/assets/{List-GFrKDD4y.js → List-SxoXub_3.js} +1 -1
- package/dist/assets/LocalTools-DPgrqxPq.js +5 -0
- package/dist/assets/{LocalTools-NvvXMet_.js → LocalTools-jTWLvXWf.js} +1 -1
- package/dist/assets/{Main-CIAP4AC5.js → Main-ZEwbrO8j.js} +1 -1
- package/dist/assets/{Message-CfavcneZ.css → Message-BILkIWmS.css} +1 -1
- package/dist/assets/Message-CTmjuR87.js +3 -0
- package/dist/assets/Model-DfQIEKeF.js +1 -0
- package/dist/assets/{Navigator-Ci3JbYQc.js → Navigator-BV7_jfIy.js} +4 -4
- package/dist/assets/{NotFound-B-5g2Hwf.js → NotFound-r1PAYKT9.js} +1 -1
- package/dist/assets/Pay-0sUXlv4e.js +1 -0
- package/dist/assets/{Player-Bj9RbTJJ.js → Player-CV-4CrCz.js} +1 -1
- package/dist/assets/{Poivelle-Bi1i6oiw.js → Poivelle-DBCIMuv2.js} +1 -1
- package/dist/assets/{PromptTextarea-Ck-RQCWL.js → PromptTextarea-vh7IVdGa.js} +1 -1
- package/dist/assets/{RealtimeCall-m06qsf_-.js → RealtimeCall-BdDkuRKZ.js} +1 -1
- package/dist/assets/ScheduledTasks-BpP97K1A.js +2 -0
- package/dist/assets/{Status-D9ma2JsQ.js → Status-x0VKOyys.js} +1 -1
- package/dist/assets/{Subscribe-CT5HYf_T.js → Subscribe-DfeRw00M.js} +1 -1
- package/dist/assets/{TabSwitcher-BQADzwP3.js → TabSwitcher-Cubjx74b.js} +1 -1
- package/dist/assets/{Tts-CN1EhBou.js → Tts-BIO5CP4D.js} +1 -1
- package/dist/assets/{VideoPlayer-8GmZfaeT.js → VideoPlayer-DPIqjfOF.js} +1 -1
- package/dist/assets/VueMarkdown-CiiRjbWs.js +20 -0
- package/dist/assets/{alert-HuInTm83.js → alert-DGYYBnE1.js} +1 -1
- package/dist/assets/application-Dsk7Htmk.js +1 -0
- package/dist/assets/arrow-down-CjK4_VBi.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-CGuqoOsI.js → arrow-down-wide-narrow-CONUoL9X.js} +1 -1
- package/dist/assets/arrow-left-DC4Nv8v0.js +1 -0
- package/dist/assets/arrow-right-DE53CxLz.js +1 -0
- package/dist/assets/arrow-up-D44--okS.js +1 -0
- package/dist/assets/avatar-9CYWaEir.js +1 -0
- package/dist/assets/{basic-BkbLX1KI.js → basic-DYpFuyqE.js} +1 -1
- package/dist/assets/book-open-BZSkBPTF.js +1 -0
- package/dist/assets/{box-BCoet0RR.js → box-BZ-w27Nw.js} +1 -1
- package/dist/assets/{boxes-BxFNEE1B.js → boxes-BtTBD3S4.js} +1 -1
- package/dist/assets/{brain-CmJqzRjA.js → brain-BPAMPezz.js} +1 -1
- package/dist/assets/byok-Bbtn_ySo.js +1 -0
- package/dist/assets/{chart-no-axes-combined-Y5AH63Oh.js → chart-no-axes-combined-CH8iUsEY.js} +1 -1
- package/dist/assets/{chat-CVOPEJJ0.js → chat-Cn8-RZA7.js} +1 -1
- package/dist/assets/{chat-D_4NhZvL.js → chat-DYP-QalC.js} +1 -1
- package/dist/assets/check-BbZptlhq.js +1 -0
- package/dist/assets/chevron-down-ChNY9_b4.js +1 -0
- package/dist/assets/chevron-right-BV_mPTxe.js +1 -0
- package/dist/assets/circle-check-Cnkwnhal.js +1 -0
- package/dist/assets/circle-question-mark-2bcljbkC.js +1 -0
- package/dist/assets/clipboard-list-COszOdT2.js +1 -0
- package/dist/assets/clock-DOd8StlC.js +1 -0
- package/dist/assets/code-DUXTFdiG.js +1 -0
- package/dist/assets/{codingBridge-DIvM5iZv.js → codingBridge-B66IGgng.js} +2 -2
- package/dist/assets/{codingBridgeNotify-D7s7KERq.js → codingBridgeNotify-B6-26VXS.js} +2 -2
- package/dist/assets/{coins-Da9Xu1zA.js → coins-BMYnzkCq.js} +1 -1
- package/dist/assets/{collapse-BtJTB1bk.js → collapse-BMyD0Y8R.js} +1 -1
- package/dist/assets/common-C3y24hsM.js +1 -0
- package/dist/assets/{console-D8kEzS1g.js → console-BGXbhX8g.js} +1 -1
- package/dist/assets/{console-CxtPaJNm.js → console-BIOAuKS9.js} +1 -1
- package/dist/assets/{console-ohooaa4W.js → console-BX0G2auT.js} +1 -1
- package/dist/assets/{console-DEPh_uMf.js → console-CBxupHDs.js} +1 -1
- package/dist/assets/{console-KooQEhkO.js → console-CE6gyKyL.js} +1 -1
- package/dist/assets/{console-BNs-ToBH.js → console-CNgtblbl.js} +1 -1
- package/dist/assets/{console-BCUgfQ3a.js → console-CRI07Yjf.js} +1 -1
- package/dist/assets/{console-BgPfIxMN.js → console-CUVAcg0e.js} +1 -1
- package/dist/assets/{console-CR5Ir7It.js → console-CUdCMgwb.js} +1 -1
- package/dist/assets/{console-O-5wS6BF.js → console-C_QRIEqw.js} +1 -1
- package/dist/assets/{console-CdkAoqik.js → console-Cnqwd48k.js} +1 -1
- package/dist/assets/{console-DEqu-zsN.js → console-Cuk22ZZE.js} +1 -1
- package/dist/assets/{console-fm3pjYNZ.js → console-D7PVWE6S.js} +1 -1
- package/dist/assets/{console-CokGta10.js → console-DB7A00V8.js} +1 -1
- package/dist/assets/{console-Df5vn3T4.js → console-DBKsvrcX.js} +1 -1
- package/dist/assets/{console-BokX8flL.js → console-g5MzcXx5.js} +1 -1
- package/dist/assets/{console-c10ctVEg.js → console-hmvJJfSg.js} +1 -1
- package/dist/assets/{console-D2aIByUt.js → console-j5eIDwLq.js} +1 -1
- package/dist/assets/{constants-B5AtX8h0.js → constants-Dm-HitpB.js} +1 -1
- package/dist/assets/{copy-DcsaXXBx.js → copy-DUwjIO1B.js} +1 -1
- package/dist/assets/{createTaskActions-Cn2WyOOR.js → createTaskActions-FRFkWBMH.js} +1 -1
- package/dist/assets/{digitalhuman-lTQaxGbr.js → digitalhuman-B-zBZqDg.js} +1 -1
- package/dist/assets/digitalhuman-BmnHCR8e.js +1 -0
- package/dist/assets/{dollar-sign-BMCPXRrh.js → dollar-sign-PSNq8tos.js} +1 -1
- package/dist/assets/{download-BDcUBlou.js → download-ZlELT4hR.js} +1 -1
- package/dist/assets/{drawer-C3ym1xsG.js → drawer-CjLCvbRN.js} +1 -1
- package/dist/assets/{dropdown-DxmpF-nO.js → dropdown-CprK0blk.js} +1 -1
- package/dist/assets/{dropdown-DkhEqGNe.js → dropdown-g7hvwBff.js} +1 -1
- package/dist/assets/{ellipsis-Poi2jOME.js → ellipsis-Bc4YGATv.js} +1 -1
- package/dist/assets/{esm-_tyzrFgl.js → esm-BOdfGGCg.js} +2 -2
- package/dist/assets/{esm-DCJwXkp3.js → esm-CQXXgGkf.js} +2 -2
- package/dist/assets/{esm-HkKACtuh.js → esm-CQgYTtyd.js} +3 -3
- package/dist/assets/{esm-CJ8-Gzlc.js → esm-C_uUVkPa.js} +1 -1
- package/dist/assets/esm-DJ1vh5hp.js +1 -0
- package/dist/assets/{esm-DkBd5VZY.js → esm-DXmZ6lJj.js} +1 -1
- package/dist/assets/{esm-D1uxcogG.js → esm-DoFQvBmL.js} +1 -1
- package/dist/assets/{external-link-DuJk070y.js → external-link-BzvG5P1j.js} +1 -1
- package/dist/assets/{eye-Dz1EUjic.js → eye-CGR77369.js} +1 -1
- package/dist/assets/{file-K1rm9b4T.js → file-oBC9w9KX.js} +1 -1
- package/dist/assets/{file-output-DadHHKE9.js → file-output-Drg1FigN.js} +1 -1
- package/dist/assets/{file-text-B75csuCX.js → file-text-BDRt1UnF.js} +1 -1
- package/dist/assets/{fish-Bnd4b37c.js → fish-vsKgO_f3.js} +1 -1
- package/dist/assets/{flux-Cvzm1M90.js → flux-p6JCKGQQ.js} +1 -1
- package/dist/assets/{folder-B8bIPURP.js → folder-DPlXA0dD.js} +1 -1
- package/dist/assets/gauge-BXTvVbIN.js +1 -0
- package/dist/assets/{globe-CvIWEnH9.js → globe-BLeJX6nO.js} +1 -1
- package/dist/assets/{omni-DN2ElKwG.js → grokvideo-Cgx6VzTC.js} +1 -1
- package/dist/assets/{pika-CI6scEGM.js → hailuo-Cxxr55EC.js} +1 -1
- package/dist/assets/{headphones-CNlAFnHR.js → headphones-B0nVJ6dz.js} +1 -1
- package/dist/assets/{history-CMbMcvPD.js → history-CuuajqD_.js} +1 -1
- package/dist/assets/{house-CNyzhph0.js → house-jnf7Na5q.js} +1 -1
- package/dist/assets/{i18n-CGSl7nP0.js → i18n-BMgeFHoQ.js} +1 -1
- package/dist/assets/{image-D6t3Iitl.js → image-DhedG7Rg.js} +1 -1
- package/dist/assets/{index-P4zymybO.js → index-DaBvc5vs.js} +12 -12
- package/dist/assets/{index.browser.esm-DwkZ4zAo.js → index.browser.esm-ZWXhlsEU.js} +1 -1
- package/dist/assets/{index.es-sqPULfxw.js → index.es-C6PWyUqC.js} +1 -1
- package/dist/assets/{info-BRA-_T8y.js → info-49D0pH7L.js} +1 -1
- package/dist/assets/{input-number-BKAsEVuC.js → input-number-CoPVNWot.js} +1 -1
- package/dist/assets/{key-round-CKbb_D1W.js → key-round-ycmq5NAO.js} +1 -1
- package/dist/assets/{kling-BCMkuMN8.js → kling-mYHMd82J.js} +1 -1
- package/dist/assets/{languages-zWnMYa2j.js → languages-CyqwmxdZ.js} +1 -1
- package/dist/assets/{laptop-sENY98Oo.js → laptop-BkTAYQnC.js} +1 -1
- package/dist/assets/{lightbulb-Bt5xoXkd.js → lightbulb-CcHkhBfh.js} +1 -1
- package/dist/assets/{link-yHlAOSK-.js → link-OLIkTBC-.js} +1 -1
- package/dist/assets/loader-circle-Bz4oy7sp.js +1 -0
- package/dist/assets/lock-BXkSkytz.js +1 -0
- package/dist/assets/{luma-CjAoP_Up.js → luma-DpbsHOdr.js} +1 -1
- package/dist/assets/{maestro-DxutemxW.js → maestro-W-Fvnp1p.js} +1 -1
- package/dist/assets/{maestro-Cj1NO7Oh.js → maestro-kHSSjXRl.js} +1 -1
- package/dist/assets/{mail-D1AUEb3n.js → mail-BFlckIeg.js} +1 -1
- package/dist/assets/{message-circle-BPE5Zcp5.js → message-circle-BLdxR0BQ.js} +1 -1
- package/dist/assets/{mic-BI2ZWDBn.js → mic-CjnGB88-.js} +1 -1
- package/dist/assets/{midjourney-Catq_3fk.js → midjourney-DAwMOlT5.js} +1 -1
- package/dist/assets/{midjourney-Jz1SL5VJ.js → midjourney-DCv_jcIc.js} +1 -1
- package/dist/assets/{mobileLocalExec-BowJAIeZ.js → mobileLocalExec-CMa8FlNK.js} +2 -2
- package/dist/assets/{monitor-CxoqyO_-.js → monitor-1r5Uk12h.js} +1 -1
- package/dist/assets/{mouse-pointer-2-CkvsYzAY.js → mouse-pointer-2-D5M_K-EO.js} +1 -1
- package/dist/assets/music-2-CTIO7etP.js +1 -0
- package/dist/assets/{seedance-CHQlPdwR.js → nanobanana-B9tJXv49.js} +1 -1
- package/dist/assets/{grokvideo-D9mIMH1K.js → omni-oFlPX1_7.js} +1 -1
- package/dist/assets/{openaiimage-CwpY1izM.js → openaiimage-Cq-8qGvU.js} +1 -1
- package/dist/assets/order-CdfkZCC4.js +1 -0
- package/dist/assets/pagination-BdsxvQjr.js +1 -0
- package/dist/assets/{pagination-B1w7bn_h.js → pagination-BfegXncA.js} +2 -2
- package/dist/assets/pagination-DomQDe4e.js +1 -0
- package/dist/assets/{palette-DIK7R_Hp.js → palette-DfUrXDqH.js} +1 -1
- package/dist/assets/{paperclip-BPtWaxWH.js → paperclip-BYj5Glo-.js} +1 -1
- package/dist/assets/{pause-B_0Qmik_.js → pause-Dd4mpkkB.js} +1 -1
- package/dist/assets/{pencil-Dv4e5Y2i.js → pencil-CtC00cv0.js} +1 -1
- package/dist/assets/{hailuo-Bea5aRk0.js → pika-D4z1I8jj.js} +1 -1
- package/dist/assets/{sora-DaWaY5vB.js → pixverse-Lknq2ln_.js} +1 -1
- package/dist/assets/pixverse-PXC6IU1D.js +1 -0
- package/dist/assets/play-C4hipCDf.js +1 -0
- package/dist/assets/{plug-Ce75C2kf.js → plug-onKNsNlQ.js} +1 -1
- package/dist/assets/plus-I3o2Bkkh.js +1 -0
- package/dist/assets/{poivelle-BV6SNVBq.js → poivelle-COB4rlzF.js} +1 -1
- package/dist/assets/{popover-BNpyEjfo.js → popover-Cf7_UE85.js} +1 -1
- package/dist/assets/{producer-C606raEG.js → producer-H4jEices.js} +1 -1
- package/dist/assets/{qrart-ByjVDW9B.js → qrart-BdULO0ov.js} +1 -1
- package/dist/assets/{qrart-BsOMx4Rn.js → qrart-DKNHwgfm.js} +1 -1
- package/dist/assets/realtime-C_JJQcDS.js +1 -0
- package/dist/assets/{refresh-cw-Bq5ibcJF.js → refresh-cw-BCctwX9f.js} +1 -1
- package/dist/assets/rotate-ccw-BME5tTy2.js +1 -0
- package/dist/assets/rotate-cw-jNkTTZNv.js +1 -0
- package/dist/assets/{row-DjE0FevX.js → row-DAHkry7w.js} +1 -1
- package/dist/assets/search-Bjg0EFfC.js +1 -0
- package/dist/assets/{nanobanana-CQtWsOmc.js → seedance-Cd7DNuOU.js} +1 -1
- package/dist/assets/{seedream-BnanqDBr.js → seedream-N51EjSfy.js} +1 -1
- package/dist/assets/{select-CBX_IrQp.js → select-Di3UGsww.js} +1 -1
- package/dist/assets/{serp-BBn8wL-Z.js → serp-Bb_VlO9R.js} +1 -1
- package/dist/assets/{shield-nHNtz7Ic.js → shield-BiIc4ZB9.js} +1 -1
- package/dist/assets/{shuffle-DpeZ8fLS.js → shuffle-CtDS6req.js} +1 -1
- package/dist/assets/skill-0i74Fj_O.js +8 -0
- package/dist/assets/skill-B0G9tQHH.js +8 -0
- package/dist/assets/skill-BJoSDUm2.js +8 -0
- package/dist/assets/skill-Bdwiv8q3.js +8 -0
- package/dist/assets/skill-Bm_BDGaQ.js +8 -0
- package/dist/assets/skill-BoE7nhUS.js +8 -0
- package/dist/assets/skill-C27zo6FZ.js +8 -0
- package/dist/assets/skill-CJS966ZP.js +8 -0
- package/dist/assets/skill-CMjI3y1J.js +8 -0
- package/dist/assets/skill-CRLfSlIp.js +8 -0
- package/dist/assets/skill-CWiA3OfU.js +8 -0
- package/dist/assets/skill-CmNmHGLf.js +8 -0
- package/dist/assets/skill-DGY2KDYe.js +8 -0
- package/dist/assets/skill-DOzQHGwb.js +8 -0
- package/dist/assets/skill-X6jBvGkj.js +8 -0
- package/dist/assets/skill-mW9sBB4h.js +8 -0
- package/dist/assets/skill-o1t7rk9x.js +8 -0
- package/dist/assets/skill-ufNnZ28x.js +8 -0
- package/dist/assets/{slider-DftS7Sgq.js → slider-BLjYWlVe.js} +1 -1
- package/dist/assets/{sliders-horizontal-IRYvZwMD.js → sliders-horizontal-lVDvoWEI.js} +1 -1
- package/dist/assets/{solana-wallets-B1CbyTFb.js → solana-wallets-CM41_xDj.js} +2 -2
- package/dist/assets/{solana-wallets-vue-Bf5vJMRO.js → solana-wallets-vue-ieLjyHRt.js} +1 -1
- package/dist/assets/sora-Bs-MLj1B.js +1 -0
- package/dist/assets/{pixverse-CD6OU0x8.js → sora-Dyvv18Si.js} +1 -1
- package/dist/assets/{sparkles-DO7k2rdB.js → sparkles-sP4OUscd.js} +1 -1
- package/dist/assets/square-BWYcnWcA.js +1 -0
- package/dist/assets/store-bxDq7gjW.js +1 -0
- package/dist/assets/subsite-Bw-69e_3.js +1 -0
- package/dist/assets/{suno-Dv09L3I8.js → suno-CHQLw2LR.js} +2 -2
- package/dist/assets/{suno-BeMa5iXp.js → suno-CQFqNw18.js} +1 -1
- package/dist/assets/{switch-BK65lk1B.js → switch-HngYkRvP.js} +1 -1
- package/dist/assets/{table-CsDCpixQ.js → table-x6LhW-AC.js} +1 -1
- package/dist/assets/{tabs-D4L0iUrz.js → tabs-DXeBF6KU.js} +1 -1
- package/dist/assets/{tag-dllrlH7L.js → tag-BrKieOKP.js} +1 -1
- package/dist/assets/taskDrawerMixin-DyAUhFEq.js +1 -0
- package/dist/assets/terminal-BUleeoTR.js +1 -0
- package/dist/assets/{time-picker-C7stOWq7.js → time-picker-DuWxMOR1.js} +1 -1
- package/dist/assets/{tooltip-qUtLFuMO.js → tooltip-jqJWhgyZ.js} +1 -1
- package/dist/assets/{trash-2-Bpdf-yvt.js → trash-2-DsL5VcYv.js} +1 -1
- package/dist/assets/{triangle-alert-8jr8sw3e.js → triangle-alert-DY9m6jWO.js} +1 -1
- package/dist/assets/{upload-ClxIGeiH.js → upload-CJ96ZwZR.js} +1 -1
- package/dist/assets/{upload-rtgu1fiP.js → upload-CWO2h2Vw.js} +1 -1
- package/dist/assets/user-BkHN4VUB.js +1 -0
- package/dist/assets/vendor-highlight-BHrfT4-E.js +5 -0
- package/dist/assets/vendor-highlight-XQIgUEMi.css +1 -0
- package/dist/assets/{veo-CAjfthzH.js → veo-DGikUrS9.js} +1 -1
- package/dist/assets/{video-PQKZqx-_.js → video-D5sN5RU0.js} +1 -1
- package/dist/assets/{volume-2-oJUwQDyM.js → volume-2-C9juWTUT.js} +1 -1
- package/dist/assets/{wallet-xexJXK-y.js → wallet-CA2nKuXB.js} +1 -1
- package/dist/assets/wan-ZxXwErSY.js +1 -0
- package/dist/assets/{wand-sparkles-pjNJLsqz.js → wand-sparkles-BXP4Nw7x.js} +1 -1
- package/dist/assets/{web-CBJi7a1m.js → web-4tsdTwHD.js} +1 -1
- package/dist/assets/web-Bd3mmJVi.js +1 -0
- package/dist/assets/{web-Y5iRCj0B.js → web-BopT_M9B.js} +1 -1
- package/dist/assets/{web-BQ4yhUAP.js → web-Ctuv0BJT.js} +1 -1
- package/dist/assets/{web-DaeaGVQ9.js → web-DzFZySRq.js} +1 -1
- package/dist/assets/{webextrator-C8MIgaCB.js → webextrator-1feo5B5c.js} +1 -1
- package/dist/assets/{zap-NExMhJi9.js → zap-B4KcP1k5.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/ApiCodeButton-BOMuF77p.js +0 -1
- package/dist/assets/AskUserQuestionCard-VrUkudAk.js +0 -20
- package/dist/assets/CodeSnippet-CFv-0vOS.js +0 -1
- package/dist/assets/Console-CAzD9m97.js +0 -1
- package/dist/assets/Conversation-Bfe3AJIT.js +0 -1
- package/dist/assets/Conversation-MaYBU2PW.js +0 -1
- package/dist/assets/Detail-B3Hrq7Ra.js +0 -2
- package/dist/assets/Extra-DLV9civS.js +0 -1
- package/dist/assets/Index-7Nb9tT4B.js +0 -1
- package/dist/assets/Index-B-a59plD.js +0 -1
- package/dist/assets/Index-BIQxjo24.js +0 -1
- package/dist/assets/Index-BKVoN3Af.js +0 -1
- package/dist/assets/Index-BU8qvu0P.js +0 -1
- package/dist/assets/Index-BeM0UrrX2.js +0 -1
- package/dist/assets/Index-C5mMGnuZ.js +0 -1
- package/dist/assets/Index-C7LeUsin.js +0 -1
- package/dist/assets/Index-C9eePlJ_.js +0 -1
- package/dist/assets/Index-CPAuiWtG.js +0 -1
- package/dist/assets/Index-CfS81-kv.js +0 -1
- package/dist/assets/Index-D7KHB928.js +0 -1
- package/dist/assets/Index-DM1JPBiZ.js +0 -1
- package/dist/assets/Index-DexatKJn2.js +0 -1
- package/dist/assets/Index-Dm2AEiMJ.js +0 -1
- package/dist/assets/Index-L8IG973_.js +0 -1
- package/dist/assets/Index-T0tMvwCY.js +0 -1
- package/dist/assets/Index-Xs2ZSEWu.js +0 -1
- package/dist/assets/Index-eo3jBrLq.js +0 -1
- package/dist/assets/Index-wm2N6kNj.js +0 -1
- package/dist/assets/List-ElywpzNh.js +0 -1
- package/dist/assets/LocalTools-CpYKdEIy.js +0 -5
- package/dist/assets/Message-CTc5XaFh.js +0 -3
- package/dist/assets/Model-DoDqd4yC.js +0 -1
- package/dist/assets/Pay-C6LB3le3.js +0 -1
- package/dist/assets/ScheduledTasks-D5bqoHNi.js +0 -2
- package/dist/assets/application-BxWkr4G9.js +0 -1
- package/dist/assets/arrow-down-HJt9FmJm.js +0 -1
- package/dist/assets/arrow-left-CUCwYVxK.js +0 -1
- package/dist/assets/arrow-right-BCj9oL-J.js +0 -1
- package/dist/assets/arrow-up-D0qX2G8d.js +0 -1
- package/dist/assets/avatar-DhPL9Vis.js +0 -1
- package/dist/assets/byok-DHOdfufU.js +0 -1
- package/dist/assets/check-BI8o1sHQ.js +0 -1
- package/dist/assets/chevron-down-DbCcEg9Y.js +0 -1
- package/dist/assets/chevron-right-HCeDz9Zy.js +0 -1
- package/dist/assets/circle-check-BkFQlwkf.js +0 -1
- package/dist/assets/clock-D-h5ShMs.js +0 -1
- package/dist/assets/common-D9rVh4i4.js +0 -1
- package/dist/assets/digitalhuman-BkJwNrqn.js +0 -1
- package/dist/assets/esm-BV7TKUnr.js +0 -1
- package/dist/assets/gauge-B0RLwq7H.js +0 -1
- package/dist/assets/loader-circle-CtI9qMSe.js +0 -1
- package/dist/assets/music-2-D0ZYCPX5.js +0 -1
- package/dist/assets/order-mdMeAKDl.js +0 -1
- package/dist/assets/pagination-j6-MXuok.js +0 -1
- package/dist/assets/pixverse-DRSxcF4B.js +0 -1
- package/dist/assets/play-BPY31d2O.js +0 -1
- package/dist/assets/plus-BpF_-3UA.js +0 -1
- package/dist/assets/realtime-E-VdTNYR.js +0 -1
- package/dist/assets/rotate-ccw-BLq3mw96.js +0 -1
- package/dist/assets/rotate-cw-CXB0mV84.js +0 -1
- package/dist/assets/search-B5pc_XQM.js +0 -1
- package/dist/assets/sora-DJnPtn3L.js +0 -1
- package/dist/assets/square-ClBOyqhd.js +0 -1
- package/dist/assets/subsite-VdEaGCsY.js +0 -1
- package/dist/assets/taskDrawerMixin-BnaaHNWt.js +0 -1
- package/dist/assets/terminal-BxMtwACq.js +0 -1
- package/dist/assets/user-CZsVj6tF.js +0 -1
- package/dist/assets/vendor-highlight-BtIeKitL.js +0 -5
- package/dist/assets/vendor-highlight-DFgTH0rK.css +0 -1
- package/dist/assets/wan-D9l-_qnz.js +0 -1
- package/dist/assets/web-AKBFUEeU.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{n as v,r as y,t as b}from"./select-Di3UGsww.js";import{t as x}from"./upload-CWO2h2Vw.js";import{t as S}from"./tooltip-jqJWhgyZ.js";import{t as C}from"./alert-DGYYBnE1.js";import{t as w}from"./drawer-CjLCvbRN.js";import{t as T}from"./input-number-CoPVNWot.js";import{t as E}from"./switch-HngYkRvP.js";import{t as D}from"./box-BZ-w27Nw.js";import{t as O}from"./clock-DOd8StlC.js";import{r as k,t as A}from"./PromptTextarea-vh7IVdGa.js";import{t as j}from"./image-DhedG7Rg.js";import{t as M}from"./info-49D0pH7L.js";import{t as N}from"./trash-2-DsL5VcYv.js";import{t as P}from"./triangle-alert-DY9m6jWO.js";import{t as F}from"./upload-CJ96ZwZR.js";import{t as I}from"./wand-sparkles-BXP4Nw7x.js";import{t as ee}from"./zap-B4KcP1k5.js";import{Bn as L,Fn as R,Gn as te,Ln as ne,Mn as re,Nn as ie,Pn as ae,Rn as oe,Un as se,Vn as z,Wn as B,zn as V}from"./constants-Dm-HitpB.js";import{An as H,E as U,Gt as W,Kt as G,Sr as K,Ti as q,Ut as ce,Wt as le,Yt as ue,ci as J,di as de,in as fe,qt as pe,wi as me,zi as Y}from"./index-DaBvc5vs.js";import{t as he}from"./CopyToClipboard-DaX_1dOX.js";import{t as X}from"./ImagePreview-B5t7BBhX.js";import{n as ge}from"./taskDrawerMixin-DyAUhFEq.js";import{t as _e}from"./Consumption-CVm_v4Wi.js";import{a as Z,n as ve,r as ye,t as be}from"./pagination-BfegXncA.js";import{t as xe}from"./ApiCodeButton-C6xulclD.js";import{t as Se}from"./BotPlaceholder-DHQofJtq.js";import{t as Ce}from"./ImageWrapper-BibqD41p.js";var we=_({name:`LayoutNanobanana`,components:{MagicIcon:I,ElDrawer:w,ElButton:Y},mixins:[ge]}),Te={class:`main flex flex-row flex-1`},Ee={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},De={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Oe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Te,[e(`div`,Ee,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,De,[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 ke=U(we,[[`render`,Oe],[`__scopeId`,`data-v-fa2172a6`]]),Ae=_({name:`PromptInput`,components:{PromptTextarea:A},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 je(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 Me=U(Ae,[[`render`,je]]),Ne=_({name:`ImageUrlsInput`,components:{UploadIcon:F,ElUpload:x,ElButton:Y,InfoIcon:Z,ImagePreview:X},mixins:[pe,G,le],data(){return{fileList:[],uploadUrl:de()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.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(){q.warning(this.$t(`openaiimage.message.uploadImageExceed`))},onError(){q.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()}}}),Pe={class:`field flex min-h-8 w-full items-center justify-between gap-3`},Fe={class:`flex min-w-0 items-center`},Ie={class:`title m-0 text-[14px] font-bold`},Le={class:`file-list flex flex-wrap gap-[10px]`};function Re(t,n,o,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`,Pe,[e(`div`,Fe,[e(`h2`,Ie,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:5,multiple:!0,"show-file-list":!1,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`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Le,[(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 ze=U(Ne,[[`render`,Re]]),Be=_({name:`OpenAIImageModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[{value:ne,label:this.$t(`openaiimage.model.gptImage1`)},{value:oe,label:this.$t(`openaiimage.model.gptImage15`)},{value:V,label:this.$t(`openaiimage.model.gptImage2`)},{value:L,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||=R}}),Ve={class:`field`},He={class:`label`},Ue={class:`box`},We={class:`title font-bold`};function Ge(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,Ve,[e(`div`,He,[e(`div`,Ue,[e(`h2`,We,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`)},{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`])])}var Ke=U(Be,[[`render`,Ge],[`__scopeId`,`data-v-a42acad4`]]);function Q(e){if(!e)return;let t=/^(\d+)x(\d+)$/.exec(e);if(t)return{w:Number(t[1]),h:Number(t[2])}}var qe=_({name:`OpenAIImageSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,ElSwitch:E,ElInputNumber:T,InfoIcon:Z},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},emptySizeValue(){return``},customSupported(){return ae.includes(this.model)},presets(){return z[this.model]??z[`gpt-image-2`]??[]},presetGroups(){return this.model===`gpt-image-2`||this.model===`gpt-image-2:official`?[{label:this.$t(`openaiimage.sizeGroup.standard1k`),options:se},{label:this.$t(`openaiimage.sizeGroup.preset2k`),options:B},{label:this.$t(`openaiimage.sizeGroup.preset4k`),options:te}]:[{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()}},presetValue:{get(){let e=this.storedSize;return e&&this.presets.includes(e)?e:this.emptySizeValue},set(e){this.customMode=!1,this.commitSize(e||void 0)}},multiple(){return 16},minSide(){return 256},maxSide(){return re},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>8294400?this.$t(`openaiimage.error.customSizePixels`,{pixels:ie.toLocaleString()}):``}},watch:{model:{immediate:!1,handler(){this.customSupported||(this.customMode=!1);let e=this.storedSize;if(!e||this.presets.includes(e))return;let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h,!this.customError)||this.commitSize()}},storedSize(e){if(!e){this.customMode=!1;return}if(this.presets.includes(e)){this.customMode=!1;return}let t=Q(e);t&&this.customSupported&&(this.customMode=!0,this.customWidth!==t.w&&(this.customWidth=t.w),this.customHeight!==t.h&&(this.customHeight=t.h))},customWidth(){this.syncCustomToStore()},customHeight(){this.syncCustomToStore()}},mounted(){let e=this.storedSize,t=Q(e);e&&t&&this.customSupported&&!this.presets.includes(e)&&(this.customMode=!0,this.customWidth=t.w,this.customHeight=t.h)},methods:{commitSize(e){let t={...this.$store.state.openaiimage?.config};e?t.size=e:delete t.size,this.$store.commit(`openaiimage/setConfig`,t)},syncCustomToStore(){this.useCustom&&(this.customError||this.commitSize(`${this.customWidth}x${this.customHeight}`))}}}),Je={class:`resolution`},Ye={class:`field`},Xe={class:`label`},Ze={class:`box`},Qe={class:`title font-bold`},$e={class:`field custom-toggle`},et={class:`label`},tt={class:`box`},nt={class:`title font-bold`},rt={key:0,class:`custom-inputs`},it={class:`row`},at={class:`row-label`},ot={class:`row`},st={class:`row-label`},ct={key:0,class:`error`};function lt(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`,Je,[e(`div`,Ye,[e(`div`,Xe,[e(`div`,Ze,[e(`h2`,Qe,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(`suno.gender.auto`),value:t.emptySizeValue},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`,$e,[e(`div`,et,[e(`div`,tt,[e(`h2`,nt,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`,rt,[e(`div`,it,[e(`span`,at,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`,ot,[e(`span`,st,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`,ct,i(t.customError),1)):o(``,!0)])):o(``,!0)],64)):o(``,!0)])}var ut=_({name:`ConfigPanel`,components:{MagicIcon:I,ElButton:Y,PromptInput:Me,Consumption:_e,ImageUrlsInput:ze,ModelSelector:Ke,ResolutionSelector:U(qe,[[`render`,lt],[`__scopeId`,`data-v-dfce4922`]])},emits:[`generate`],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){return ue({...this.config||{}},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),dt={class:`flex flex-col h-full`},ft={class:`flex-1 overflow-y-auto p-5`},pt={class:`flex flex-col items-center justify-center px-5 pb-5`};function mt(t,n,o,c,u,d){let f=l(`model-selector`),m=l(`resolution-selector`),g=l(`prompt-input`),_=l(`image-urls-input`),v=l(`consumption`),y=l(`magic-icon`),b=l(`el-button`);return h(),s(`div`,dt,[e(`div`,ft,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`})]),e(`div`,pt,[a(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(b,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`openaiimage.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ht=U(ut,[[`render`,mt]]),gt=_({name:`TaskPreview`,components:{ApplicationIcon:D,ChannelIcon:k,DeleteIcon:N,ImageIcon:j,InfoIcon:M,LightningIcon:ee,MagicIcon:I,TimeIcon:O,WarningIcon:P,CopyToClipboard:he,ElAlert:C,ImageWrapper:Ce,ElButton:Y,ElTooltip:S,ImagePreview:X,ApiCodeButton:xe},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 me.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}),q.success(this.$t(`common.message.deleteTaskSuccess`))}catch{q.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),_t={class:`preview`},vt={class:`left`},yt={class:`main`},bt={class:`bot`},xt={class:`datetime`},St=[`aria-label`],Ct={class:`info`},wt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Tt={key:1,class:`prompt mt-2`},Et={key:0},Dt={key:0,class:n({content:!0,failed:!0})},Ot={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},kt={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},It={key:1,class:n({content:!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ut={key:2,class:n({content:!0})},Wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Gt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function Jt(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(`application-icon`),D=l(`image-icon`),O=l(`lightning-icon`),k=l(`magic-icon`),A=l(`copy-to-clipboard`),j=l(`time-icon`),M=l(`channel-icon`),N=l(`el-alert`),P=l(`warning-icon`),F=l(`info-icon`);return h(),s(`div`,_t,[e(`div`,vt,[a(y,{capability:`openaiimage`,part:`avatar`,class:`avatar`})]),e(`div`,yt,[e(`div`,bt,[a(y,{capability:`openaiimage`,part:`name`}),e(`span`,xt,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,St)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Ct,[n.referenceImages.length>0?(h(),s(`div`,wt,[(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`,Tt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Et,` - (`+i(n.$t(`openaiimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Dt,[e(`div`,Ot,[(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`,kt,[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(N,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,At,[a(E,{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`,jt,[a(D,{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`,Mt,[a(O,{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`,Nt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(A,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Pt,[a(j,{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`,Ft,[a(M,{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(A,{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`,It,[a(N,{closable:!1,class:`failure`},{template:p(()=>[a(P,{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`,Lt,[a(E,{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`,Rt,[a(D,{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`,zt,[a(O,{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`,Bt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(A,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(F,{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(A,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Vt,[a(j,{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`,Ht,[a(M,{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(A,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Ut,[a(N,{closable:!1,class:`info`},{template:p(()=>[n.modelValue?.response?(h(),f(F,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(h(),f(j,{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`,Wt,[a(E,{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`,Gt,[a(D,{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`,Kt,[a(O,{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`,qt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`openaiimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(A,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Yt=_({name:`RecentPanel`,components:{TaskPreview:U(gt,[[`render`,Jt],[`__scopeId`,`data-v-de37fde1`]]),BotPlaceholder:Se,NoTasks:ye,ScrollList:ve},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?.()}}}),Xt={key:0},Zt={key:2,class:`w-full h-full flex items-center justify-center`};function Qt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Xt,[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`,Zt,[a(v)])):o(``,!0)],64)}var $t=_({name:`OpenAIImageIndex`,components:{ConfigPanel:ht,Layout:ke,RecentPanel:U(Yt,[[`render`,Qt]])},mixins:[W],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===J.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}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await be({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}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`openaiimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ce(this.uploadTracker,e=>this.$t(e),e=>q.warning(e)))return;let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;if(!this.hasText(e.prompt)){q.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 n={...e,action:`generate`,async:!0},r={action:`edit`,model:e?.model,prompt:e?.prompt,size:e?.size,image_urls:e?.image_urls||[],async:!0};if(!fe())return;let i=this.credential?.token;if(!i){console.error(`no token specified`);return}q.info(this.$t(`openaiimage.message.startingTask`)),K(`openaiimage`,t?H.edit(r,{token:i}):H.generate(n,{token:i})).then(e=>{console.debug(`task accepted`,e.data?.task_id),q.success(this.$t(`openaiimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?q.error(this.$t(`openaiimage.message.usedUp`)):q.error(this.$t(`openaiimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function en(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var tn=U($t,[[`render`,en]]);export{tn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-CBX_IrQp.js";import{t as b}from"./upload-rtgu1fiP.js";import{t as x}from"./tooltip-qUtLFuMO.js";import{t as S}from"./alert-HuInTm83.js";import{t as C}from"./drawer-C3ym1xsG.js";import{n as w}from"./taskDrawerMixin-BnaaHNWt.js";import{t as T}from"./clock-D-h5ShMs.js";import{r as E,t as D}from"./PromptTextarea-Ck-RQCWL.js";import{t as O}from"./info-BRA-_T8y.js";import{t as ee}from"./trash-2-Bpdf-yvt.js";import{t as k}from"./triangle-alert-8jr8sw3e.js";import{t as A}from"./wand-sparkles-pjNJLsqz.js";import{gt as j}from"./constants-B5AtX8h0.js";import{Ci as M,Cn as te,E as N,Gt as P,Ht as F,Jt as I,Kt as L,Li as R,Si as z,Ut as B,Wt as V,rn as H,si as U,ui as W,xr as G}from"./index-P4zymybO.js";import{t as K}from"./CopyToClipboard-jI-6D-bZ.js";import{t as q}from"./ImagePreview-D_nlD8_0.js";import{t as J}from"./Consumption-Bj1vPgJr.js";import{a as Y,n as X,r as Z,t as Q}from"./pagination-B1w7bn_h.js";import{t as ne}from"./VideoPlayer-8GmZfaeT.js";import{t as re}from"./ApiCodeButton-BOMuF77p.js";import{t as ie}from"./BotPlaceholder-DEzlsX3N.js";var ae=_({name:`LayoutWan`,components:{MagicIcon:A,ElDrawer:C,ElButton:R},mixins:[w]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,oe,[e(`div`,se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{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 ue=N(ae,[[`render`,le],[`__scopeId`,`data-v-c8c76881`]]),de=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=j}}),fe={class:`field`},pe={class:`title font-bold`},me={class:`float-left`};function he(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,fe,[e(`h2`,pe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,me,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=N(de,[[`render`,he],[`__scopeId`,`data-v-eb090beb`]]),_e=`720p`,ve=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=_e}}),ye={class:`field`},be={class:`title font-bold`},xe={class:`float-left`};function Se(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,xe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ce=N(ve,[[`render`,Se],[`__scopeId`,`data-v-3e39f44e`]]),we=5,Te=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=we}}),Ee={class:`field`},De={class:`title font-bold`},Oe={class:`float-left`};function ke(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ee,[e(`h2`,De,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=N(Te,[[`render`,ke],[`__scopeId`,`data-v-5f35a2cf`]]),je=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:R,InfoIcon:Y,ImagePreview:q},mixins:[L,P,B],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){M.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){M.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){M.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Me={class:`relative`},Ne={class:`flex justify-between`},Pe={class:`flex justify-start items-center`},Fe={class:`text-sm font-bold`};function Ie(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`span`,Fe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Le=N(je,[[`render`,Ie],[`__scopeId`,`data-v-22b604dc`]]),Re=_({name:`PromptInput`,components:{PromptTextarea:D},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ze(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(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Be=_({name:`PresetPanel`,components:{MagicIcon:A,ElButton:R,PromptInput:N(Re,[[`render`,ze]]),ImageUrlInput:Le,ModelSelector:ge,ResolutionSelector:Ce,DurationSelector:Ae,Consumption:J},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return I(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ve={class:`flex flex-col h-full`},He={class:`flex-1 overflow-y-auto p-5`},Ue={class:`flex flex-col items-center justify-center px-5 pb-5`};function We(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ve,[e(`div`,He,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ue,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ge=N(Be,[[`render`,We]]),Ke=_({name:`TaskPreview`,components:{DeleteIcon:ee,ChannelIcon:E,InfoIcon:O,MagicIcon:A,TimeIcon:T,WarningIcon:k,CopyToClipboard:K,ElAlert:S,VideoPlayer:ne,ElTooltip:x,ElButton:R,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await z.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(`wan/deleteTask`,{id:e}),M.success(this.$t(`common.message.deleteTaskSuccess`))}catch{M.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),qe={class:`preview`},Je={class:`left`},Ye={class:`main`},Xe={class:`bot`},Ze={class:`datetime`},Qe=[`aria-label`],$e={class:`info`},et={key:0,class:`prompt mt-2`},tt={key:0},nt={key:1},rt={key:0,class:n({content:!0,failed:!0})},it={key:0,class:`mb-4`},at={key:1,class:n({operations:!0,"mt-2":!0})},ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},lt={key:1,class:n({content:!0})},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pt={key:2,class:n({content:!0})},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ht(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`channel-icon`),C=l(`copy-to-clipboard`),w=l(`magic-icon`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`);return h(),s(`div`,qe,[e(`div`,Je,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`name`}),e(`span`,Ze,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?(h(),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,Qe)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$e,[n.modelValue?.request?.prompt?(h(),s(`p`,et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,tt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,nt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,rt,[n.modelValue?.response?.video_url?(h(),s(`div`,it,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,at,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ot,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,st,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,lt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ut,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,dt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(C,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(C,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,pt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,mt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var gt=_({name:`RecentPanel`,components:{TaskPreview:N(Ke,[[`render`,ht],[`__scopeId`,`data-v-3abd14f0`]]),BotPlaceholder:ie,NoTasks:Z,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),_t={key:0},vt={key:2,class:`w-full h-full flex items-center justify-center`};function yt(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`,_t,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),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(()=>[(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`,vt,[a(v)])):o(``,!0)],64)}var bt=_({name:`WanIndex`,components:{ConfigPanel:Ge,Layout:ue,RecentPanel:N(gt,[[`render`,yt]])},mixins:[V],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Q({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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/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(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!F(this.uploadTracker,e=>this.$t(e),e=>M.warning(e)))return;let e={...this.config,async:!0};if(!H())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}M.info(this.$t(`wan.message.startingTask`)),G(`wan`,te.generate(e,{token:t})).then(()=>{M.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?M.error(this.$t(`wan.message.usedUp`)):M.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var St=N(bt,[[`render`,xt]]);export{St as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-Di3UGsww.js";import{t as b}from"./upload-CWO2h2Vw.js";import{t as x}from"./tooltip-jqJWhgyZ.js";import{t as S}from"./alert-DGYYBnE1.js";import{t as C}from"./drawer-CjLCvbRN.js";import{t as w}from"./clock-DOd8StlC.js";import{r as T,t as E}from"./PromptTextarea-vh7IVdGa.js";import{t as D}from"./info-49D0pH7L.js";import{t as O}from"./trash-2-DsL5VcYv.js";import{t as k}from"./triangle-alert-DY9m6jWO.js";import{t as A}from"./wand-sparkles-BXP4Nw7x.js";import{gt as j}from"./constants-Dm-HitpB.js";import{E as M,Gt as N,Kt as ee,Sr as te,Ti as P,Ut as F,Wt as I,Yt as L,ci as R,di as z,in as B,qt as V,wi as H,wn as U,zi as W}from"./index-DaBvc5vs.js";import{t as G}from"./CopyToClipboard-DaX_1dOX.js";import{t as K}from"./ImagePreview-B5t7BBhX.js";import{n as q}from"./taskDrawerMixin-DyAUhFEq.js";import{t as J}from"./Consumption-CVm_v4Wi.js";import{a as Y,n as X,r as Z,t as Q}from"./pagination-BfegXncA.js";import{t as ne}from"./VideoPlayer-DPIqjfOF.js";import{t as re}from"./ApiCodeButton-C6xulclD.js";import{t as ie}from"./BotPlaceholder-DHQofJtq.js";var ae=_({name:`LayoutWan`,components:{MagicIcon:A,ElDrawer:C,ElButton:W},mixins:[q]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,oe,[e(`div`,se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{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 ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-c8c76881`]]),de=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=j}}),fe={class:`field`},pe={class:`title font-bold`},me={class:`float-left`};function he(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,fe,[e(`h2`,pe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,me,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(de,[[`render`,he],[`__scopeId`,`data-v-eb090beb`]]),_e=`720p`,ve=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=_e}}),ye={class:`field`},be={class:`title font-bold`},xe={class:`float-left`};function Se(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,xe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ce=M(ve,[[`render`,Se],[`__scopeId`,`data-v-3e39f44e`]]),we=5,Te=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=we}}),Ee={class:`field`},De={class:`title font-bold`},Oe={class:`float-left`};function ke(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ee,[e(`h2`,De,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=M(Te,[[`render`,ke],[`__scopeId`,`data-v-5f35a2cf`]]),je=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:W,InfoIcon:Y,ImagePreview:K},mixins:[V,ee,I],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){P.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){P.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){P.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Me={class:`relative`},Ne={class:`flex justify-between`},Pe={class:`flex justify-start items-center`},Fe={class:`text-sm font-bold`};function Ie(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`span`,Fe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Le=M(je,[[`render`,Ie],[`__scopeId`,`data-v-22b604dc`]]),Re=_({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ze(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(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Be=_({name:`PresetPanel`,components:{MagicIcon:A,ElButton:W,PromptInput:M(Re,[[`render`,ze]]),ImageUrlInput:Le,ModelSelector:ge,ResolutionSelector:Ce,DurationSelector:Ae,Consumption:J},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return L(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ve={class:`flex flex-col h-full`},He={class:`flex-1 overflow-y-auto p-5`},Ue={class:`flex flex-col items-center justify-center px-5 pb-5`};function We(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ve,[e(`div`,He,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ue,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ge=M(Be,[[`render`,We]]),Ke=_({name:`TaskPreview`,components:{DeleteIcon:O,ChannelIcon:T,InfoIcon:D,MagicIcon:A,TimeIcon:w,WarningIcon:k,CopyToClipboard:G,ElAlert:S,VideoPlayer:ne,ElTooltip:x,ElButton:W,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await H.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(`wan/deleteTask`,{id:e}),P.success(this.$t(`common.message.deleteTaskSuccess`))}catch{P.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),qe={class:`preview`},Je={class:`left`},Ye={class:`main`},Xe={class:`bot`},Ze={class:`datetime`},Qe=[`aria-label`],$e={class:`info`},et={key:0,class:`prompt mt-2`},tt={key:0},nt={key:1},rt={key:0,class:n({content:!0,failed:!0})},it={key:0,class:`mb-4`},at={key:1,class:n({operations:!0,"mt-2":!0})},ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},lt={key:1,class:n({content:!0})},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pt={key:2,class:n({content:!0})},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ht(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`channel-icon`),C=l(`copy-to-clipboard`),w=l(`magic-icon`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`);return h(),s(`div`,qe,[e(`div`,Je,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`name`}),e(`span`,Ze,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?(h(),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,Qe)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$e,[n.modelValue?.request?.prompt?(h(),s(`p`,et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,tt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,nt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,rt,[n.modelValue?.response?.video_url?(h(),s(`div`,it,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,at,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ot,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,st,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,lt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ut,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,dt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(C,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(C,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,pt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,mt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var gt=_({name:`RecentPanel`,components:{TaskPreview:M(Ke,[[`render`,ht],[`__scopeId`,`data-v-3abd14f0`]]),BotPlaceholder:ie,NoTasks:Z,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),_t={key:0},vt={key:2,class:`w-full h-full flex items-center justify-center`};function yt(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`,_t,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),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(()=>[(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`,vt,[a(v)])):o(``,!0)],64)}var bt=_({name:`WanIndex`,components:{ConfigPanel:Ge,Layout:ue,RecentPanel:M(gt,[[`render`,yt]])},mixins:[N],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===R.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===R.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Q({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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/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(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!F(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,async:!0};if(!B())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`wan.message.startingTask`)),te(`wan`,U.generate(e,{token:t})).then(()=>{P.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`wan.message.usedUp`)):P.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var St=M(bt,[[`render`,xt]]);export{St as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{E as r}from"./index-
|
|
1
|
+
import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{E as r}from"./index-DaBvc5vs.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Di3UGsww.js";import{t as x}from"./upload-CWO2h2Vw.js";import{t as S}from"./tooltip-jqJWhgyZ.js";import{t as C}from"./alert-DGYYBnE1.js";import{t as w}from"./drawer-CjLCvbRN.js";import{t as T}from"./clock-DOd8StlC.js";import{r as E,t as D}from"./PromptTextarea-vh7IVdGa.js";import{t as O}from"./info-49D0pH7L.js";import{t as k}from"./trash-2-DsL5VcYv.js";import{t as A}from"./triangle-alert-DY9m6jWO.js";import{t as ee}from"./upload-CJ96ZwZR.js";import{t as j}from"./wand-sparkles-BXP4Nw7x.js";import{$r as M,Qr as N,Xr as te,Yr as P,Zr as ne,ei as F,ni as I,ri as L}from"./constants-Dm-HitpB.js";import{E as R,Gt as z,Kn as B,Kt as V,Sr as H,Ti as U,Ut as W,Wt as G,Yt as K,ci as q,di as J,in as Y,qt as X,wi as Z,zi as Q}from"./index-DaBvc5vs.js";import{t as re}from"./CopyToClipboard-DaX_1dOX.js";import{t as ie}from"./ImagePreview-B5t7BBhX.js";import{n as ae}from"./taskDrawerMixin-DyAUhFEq.js";import{t as oe}from"./Consumption-CVm_v4Wi.js";import{a as se,n as ce,r as le,t as ue}from"./pagination-BfegXncA.js";import{t as de}from"./VideoPlayer-DPIqjfOF.js";import{t as fe}from"./ApiCodeButton-C6xulclD.js";import{t as pe}from"./BotPlaceholder-DHQofJtq.js";var me=v({name:`LayoutSora`,components:{MagicIcon:j,ElDrawer:w,ElButton:Q},mixins:[ae]}),he={class:`main flex flex-row flex-1`},ge={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)]`},_e={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ve(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,he,[e(`div`,ge,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,_e,[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 ye=R(me,[[`render`,ve],[`__scopeId`,`data-v-b8cedc77`]]),be=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:L,label:`sora-2`},{value:I,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=P[e]||[10],r=t.duration,i=r&&n.includes(r)?r:n.includes(10)?10:n[0],a={...t,model:e,duration:i,size:t.size||`small`};this.$store.commit(`sora/setConfig`,a)}}},mounted(){this.value||=N}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,xe,[e(`h2`,Se,i(t.$t(`sora.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=R(be,[[`render`,Ce],[`__scopeId`,`data-v-0cb7913d`]]),Te=v({name:`ActionSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`sora.button.action1`)},{value:`image2video`,label:this.$t(`sora.button.action2`)}]},value:{get(){return this.$store.state.sora?.config?.action},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,action:e})}}},mounted(){this.value||=ne}}),Ee={class:`field`},De={class:`title font-bold`},Oe={class:`float-left`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ee,[e(`h2`,De,i(t.$t(`sora.name.action`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`),clearable:``},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(m,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=R(Te,[[`render`,ke],[`__scopeId`,`data-v-7b82fa7f`]]),je=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return P[this.model]||[10]},optionsForModel(){return this.allowedDurations.map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.sora?.config?.duration},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,duration:e})}}},watch:{allowedDurations(){let e=this.allowedDurations;if(!e.includes(this.value)){let t=e.includes(10)?10:e[0];this.value=t}}},mounted(){this.value||=10}}),Me={class:`field`},Ne={class:`control`},Pe={class:`title font-bold`};function Fe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Me,[e(`div`,Ne,[e(`h2`,Pe,i(t.$t(`sora.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.optionsForModel,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var Ie=R(je,[[`render`,Fe],[`__scopeId`,`data-v-c2934598`]]),Le=v({name:`OrientationSelector`,data(){return{options:[{value:`portrait`,labelKey:`sora.option.portrait`,width:13,height:25},{value:`landscape`,labelKey:`sora.option.landscape`,width:25,height:13}]}},computed:{active(){let e=this.options.findIndex(e=>e.value===this.value);return e>=0?e:0},value:{get(){return this.$store.state.sora?.config?.orientation},set(e){console.debug(`set orientation`,e),this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,orientation:e})}}},mounted(){this.value||=M}}),Re={class:`text-sm font-bold mb-2 block`},ze={class:`items`},Be=[`onClick`],Ve={class:`name`};function He(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Re,i(t.$t(`sora.name.orientation`)),1),e(`div`,ze,[(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.value])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Ve,i(t.$t(r.labelKey)),1)],10,Be))),128))])])}var Ue=R(Le,[[`render`,He],[`__scopeId`,`data-v-a20be6d9`]]),We=v({name:`StartEndImage`,components:{UploadIcon:ee,ElUpload:x,ElButton:Q,InfoIcon:se,ImagePreview:ie},mixins:[X,V,G],emits:[`change`],data(){return{fileList:[],uploadUrl:J()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.sora?.config?.image_urls},set(){}}},mounted(){this.value||=void 0,this.onSetStartEndImageUrl()},methods:{onExceed(){U.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){U.error(this.$t(`sora.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`sora/setConfig`,{...this.$store.state?.sora?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()}}}),Ge={class:`relative`},Ke={class:`flex justify-between`},qe={class:`flex justify-start items-center`},Je={class:`text-sm font-bold`};function Ye(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`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`span`,Je,i(t.$t(`sora.name.startEndImage`)),1),a(h,{content:t.$t(`sora.description.uploadStartEndImage`)},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:2,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Xe=R(We,[[`render`,Ye],[`__scopeId`,`data-v-c6a420d1`]]),Ze=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),Qe=v({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:te.map(e=>({value:e,label:Ze(e)}))}},computed:{value:{get(){return this.$store.state.sora?.config?.size},set(e){let t=this.$store.state.sora?.config||{};this.$store.commit(`sora/setConfig`,{...t,size:e})}}},mounted(){this.value||=F}}),$e={class:`field`},et={class:`control`},tt={class:`title font-bold`};function nt(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,$e,[e(`div`,et,[e(`h2`,tt,i(t.$t(`sora.name.size`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`sora.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])}var rt=R(Qe,[[`render`,nt],[`__scopeId`,`data-v-8c485f0f`]]),it=v({name:`PromptInput`,components:{PromptTextarea:D},computed:{prompt:{get(){return this.$store.state.sora?.config?.prompt},set(e){this.$store.commit(`sora/setConfig`,{...this.$store.state.sora?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(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(`sora.name.prompt`),info:e.$t(`sora.description.prompt`),placeholder:e.$t(`sora.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`ConfigPanel`,components:{MagicIcon:j,ElButton:Q,Consumption:oe,PromptInput:R(it,[[`render`,at]]),ModelSelector:we,StartEndImage:Xe,SizeSelector:rt,ActionSelector:Ae,OrientationSelector:Ue,DurationSelector:Ie},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return K(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,o,c,d,f){let m=l(`model-selector`),h=l(`action-selector`),v=l(`duration-selector`),y=l(`size-selector`),b=l(`orientation-selector`),x=l(`prompt-input`),S=l(`start-end-image`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),u(a(S,{class:`mb-4`},null,512),[[_,t.config?.action===`image2video`]])]),e(`div`,lt,[a(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`sora.button.generate`)),1)]),_:1},8,[`onClick`])])])}var dt=R(ot,[[`render`,ut]]),ft=v({name:`TaskPreview`,components:{DeleteIcon:k,ChannelIcon:E,InfoIcon:O,MagicIcon:j,TimeIcon:T,WarningIcon:A,CopyToClipboard:re,ElAlert:C,VideoPlayer:de,ElTooltip:S,ElButton:Q,ApiCodeButton:fe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.sora?.application},config(){return this.$store.state.sora?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Z.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(`sora/deleteTask`,{id:e}),U.success(this.$t(`common.message.deleteTaskSuccess`))}catch{U.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`)}}}),pt={class:`preview`},mt={class:`left`},ht={class:`main`},gt={class:`bot`},_t={class:`datetime`},vt=[`aria-label`],yt={class:`info`},bt={key:0,class:`prompt mt-2`},xt={key:0},St={key:1},Ct={key:0,class:n({content:!0,failed:!0})},wt={key:0,class:`mb-4`},Tt={key:1,class:n({operations:!0,"mt-2":!0})},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},kt={key:1,class:n({content:!0})},At={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:n({content:!0})},Pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`channel-icon`),w=l(`magic-icon`),T=l(`copy-to-clipboard`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return g(),s(`div`,pt,[e(`div`,mt,[a(_,{capability:`sora`,part:`avatar`,class:`avatar`})]),e(`div`,ht,[e(`div`,gt,[a(_,{capability:`sora`,part:`name`}),e(`span`,_t,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,vt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,yt,[n.modelValue?.request?.prompt?(g(),s(`p`,bt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,xt,` - (`+i(n.$t(`sora.status.pending`))+`) `,1)),n.modelValue?.response&&n.modelValue?.response?.success===void 0?(g(),s(`span`,St,` - (`+i(n.$t(`sora.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Ct,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,wt,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Tt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`sora.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`sora.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/sora/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Et,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Dt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ot,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,kt,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failure`)),1)]),default:p(()=>[e(`p`,At,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,jt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Mt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Nt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(g(),s(`div`,$,[a(D,{closable:!1,class:`info`},{template:p(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`sora.status.processing`:`sora.status.pending`)),1)]),default:p(()=>[e(`p`,Pt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Ft,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Lt=v({name:`RecentPanel`,components:{TaskPreview:R(ft,[[`render`,It],[`__scopeId`,`data-v-ae994d15`]]),NoTasks:le,BotPlaceholder:pe,ScrollList:ce},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.sora?.tasks,items:this.$store.state.sora?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(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`,Rt,[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`,zt,[a(v)])):o(``,!0)],64)}var Vt=v({name:`SoraIndex`,components:{ConfigPanel:dt,Layout:ye,RecentPanel:R(Lt,[[`render`,Bt]])},mixins:[z],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===q.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===q.Request||this.fetchingTasks},credential(){return this.$store.state.sora.credential},config(){return this.$store.state.sora.config},tasks(){return this.$store.state.sora.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ue({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(`sora/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`sora/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(`sora/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!W(this.uploadTracker,e=>this.$t(e),e=>U.warning(e)))return;let e={...this.config,async:!0};if(!Y())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}U.info(this.$t(`sora.message.startingTask`)),H(`sora`,B.generate(e,{token:t})).then(()=>{U.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?U.error(this.$t(`sora.message.usedUp`)):U.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=R(Vt,[[`render`,Ht]]);export{Ut as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,N as c,S as l,T as u,at as d,b as f,ht as p,j as m,mt as h,ot as g,qt as _,rt as v,st as y,tt as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{r as S,t as C}from"./select-Di3UGsww.js";import{n as w,t as T}from"./tabs-DXeBF6KU.js";import{t as E}from"./tooltip-jqJWhgyZ.js";import{n as D,r as O,t as k}from"./dropdown-CprK0blk.js";import{t as A}from"./pagination-DomQDe4e.js";import{t as j}from"./switch-HngYkRvP.js";import{t as M}from"./arrow-down-CjK4_VBi.js";import{t as N}from"./arrow-left-DC4Nv8v0.js";import{t as P}from"./book-open-BZSkBPTF.js";import{t as F}from"./chevron-down-ChNY9_b4.js";import{t as I}from"./chevron-right-BV_mPTxe.js";import{t as L}from"./circle-check-Cnkwnhal.js";import{t as ee}from"./circle-question-mark-2bcljbkC.js";import{t as te}from"./clipboard-list-COszOdT2.js";import{t as ne}from"./code-DUXTFdiG.js";import{t as R}from"./copy-DUwjIO1B.js";import{t as re}from"./ellipsis-Bc4YGATv.js";import{t as ie}from"./eye-CGR77369.js";import{t as ae}from"./file-text-BDRt1UnF.js";import{t as z}from"./file-oBC9w9KX.js";import{t as B}from"./folder-DPlXA0dD.js";import{t as oe}from"./image-DhedG7Rg.js";import{t as se}from"./lock-BXkSkytz.js";import{t as V}from"./plus-I3o2Bkkh.js";import{n as ce,t as le}from"./store-bxDq7gjW.js";import{t as ue}from"./search-Bjg0EFfC.js";import{t as de}from"./trash-2-DsL5VcYv.js";import{t as fe}from"./triangle-alert-DY9m6jWO.js";import{t as pe}from"./upload-CJ96ZwZR.js";import{t as me}from"./wand-sparkles-BXP4Nw7x.js";import{Ai as H,Ci as U,E as W,Ei as G,Ji as he,Li as ge,Si as _e,Ti as K,bi as ve,fi as ye,gi as be,gr as q,hi as xe,mi as Se,ui as Ce,wi as we,zi as J}from"./index-DaBvc5vs.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,m as Y,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./vendor-highlight-BHrfT4-E.js";import{t as Re}from"./index.es-C6PWyUqC.js";import{t as ze}from"./VueMarkdown-CiiRjbWs.js";var Be=U(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ve=U(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),He=U(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ue=U(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),We=U(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${Ce()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return q.get(`/${this.key}/`,X())}async get(e){return q.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return q.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),q.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return q.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return q.delete(`/${this.key}/${e}/`,X())}async enable(e){return q.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return q.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await q.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return q.get(`/${this.key}/`,{...X(),params:e})}async get(e){return q.get(`/${this.key}/${e}/`,X())}async categories(){return q.get(`/${this.key}/categories/`,X())}async install(e,t={}){return q.post(`/${this.key}/${e}/install/`,t,X())}};function Ge(){let e=new Set;xe()&&e.add(`desktop`),be()&&e.add(`ios`),Se()&&e.add(`android`),ve()&&e.add(`web`);let t=ye();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!be()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var Ke=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function qe(e){let t=e.filter(e=>Ke.has(e));if(!t.length)return!0;let n=Ge();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Je=12,Ye=x({name:`BrowseSkillsDialog`,components:{VueMarkdown:ze,ElDialog:H,ElButton:J,ElPagination:A,ElSelect:S,ElOption:C,FontAwesomeIcon:Re,AddIcon:V,BackIcon:N,DownIcon:M,InstallIcon:Be,LockIcon:se,SearchIcon:ue,SuccessIcon:L},directives:{loading:G},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Je},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),K.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){K.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);K.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,K.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):K.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return qe(this.restrictedSurfaces(e))}}}),Xe={class:`directory`},Ze={class:`directory-main`},Qe={class:`directory-header`},$e={class:`directory-search`},et=[`placeholder`],tt={class:`directory-controls`},nt={class:`directory-grid-wrapper`},rt={key:0,class:`directory-empty`},it={key:1,class:`directory-grid`},at=[`onClick`],ot={class:`directory-card-head`},st={class:`directory-card-title`},ct=[`title`],lt=[`title`],ut=[`aria-label`,`title`,`onClick`],dt=[`title`],ft={class:`directory-card-meta`},pt={class:`directory-card-publisher`},mt={key:0,class:`directory-card-count`},ht=[`title`],gt={class:`directory-card-desc`},_t={key:0,class:`directory-footer`},vt={class:`directory-detail-head`},yt={class:`directory-detail-actions`},bt=[`href`],xt={class:`directory-detail-body`},St={class:`directory-detail-title`},Ct={class:`directory-detail-meta`},wt={key:0},Tt={key:1},Et=[`title`],Dt={class:`directory-detail-desc`};function Ot(a,l,_,y,x,S){let C=d(`search-icon`),w=d(`el-option`),T=d(`el-select`),E=d(`success-icon`),D=d(`lock-icon`),O=d(`add-icon`),k=d(`down-icon`),A=d(`el-pagination`),j=d(`back-icon`),M=d(`font-awesome-icon`),N=d(`el-button`),P=d(`install-icon`),F=d(`vue-markdown`),I=d(`el-dialog`),L=g(`loading`);return b(),m(I,{"model-value":a.modelValue,title:a.$t(`skill.dialog.directoryTitle`),width:`960px`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!a.installing,"show-close":!a.installing,"onUpdate:modelValue":l[6]||=e=>a.$emit(`update:modelValue`,e),onOpen:a.onOpen},{default:h(()=>[e(`div`,Xe,[e(`main`,Ze,[a.selectedItem?(b(),c(u,{key:1},[e(`header`,vt,[e(`button`,{class:`directory-back-btn`,onClick:l[4]||=e=>a.selectedItem=null},[o(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.back`)),1)]),e(`div`,yt,[a.selectedItem.source_url?(b(),c(`a`,{key:0,href:a.selectedItem.source_url,target:`_blank`,class:`directory-link`},[o(M,{icon:`fa-brands fa-github`}),r(` `+i(a.$t(`skill.directory.viewSource`)),1)],8,bt)):s(``,!0),a.selectedItem.installed?(b(),m(N,{key:1,disabled:``,type:`success`,plain:``},{default:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.installed`)),1)]),_:1})):a.selectedItem.installable&&!a.canInstallOnSurface(a.selectedItem)?(b(),m(N,{key:2,disabled:``,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(a.selectedItem)})},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):a.selectedItem.installable?(b(),m(N,{key:3,type:`primary`,loading:a.installing,onClick:l[5]||=e=>a.onInstall(a.selectedItem)},{default:h(()=>[o(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(b(),m(N,{key:4,disabled:``,title:a.selectedItem.license},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.selectedItem.license||a.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,xt,[e(`h2`,St,`/`+i(a.selectedItem.slug),1),e(`div`,Ct,[e(`span`,null,[e(`strong`,null,i(a.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(a.selectedItem.publisher),1)]),a.selectedItem.license?(b(),c(`span`,wt,[e(`strong`,null,i(a.$t(`skill.directory.license`))+`:`,1),r(` `+i(a.selectedItem.license),1)])):s(``,!0),a.selectedItem.version?(b(),c(`span`,Tt,`v`+i(a.selectedItem.version),1)):s(``,!0),a.surfaceLabels(a.selectedItem)?(b(),c(`span`,{key:2,class:`directory-detail-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.$t(`skill.directory.surfaceOnly`,{platforms:a.surfaceLabels(a.selectedItem)})),9,Et)):s(``,!0)]),e(`p`,Dt,i(a.selectedItem.description),1),o(F,{class:`directory-detail-content`,source:a.detailBody,sanitize:``},null,8,[`source`])])],64)):(b(),c(u,{key:0},[e(`header`,Qe,[e(`div`,$e,[o(C,{class:`directory-search-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{"onUpdate:modelValue":l[0]||=e=>a.searchQuery=e,class:`directory-search-input`,placeholder:a.$t(`skill.directory.searchPlaceholder`),onInput:l[1]||=(...e)=>a.onSearchInput&&a.onSearchInput(...e)},null,40,et),[[f,a.searchQuery]])]),e(`div`,tt,[o(T,{modelValue:a.namespaceFilter,"onUpdate:modelValue":l[2]||=e=>a.namespaceFilter=e,class:`directory-select`,placeholder:a.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[(b(!0),c(u,null,v(a.namespaceOptions,e=>(b(),m(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(T,{modelValue:a.sortBy,"onUpdate:modelValue":l[3]||=e=>a.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[o(w,{label:a.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),p((b(),c(`div`,nt,[!a.loading&&a.total===0?(b(),c(`p`,rt,i(a.$t(`skill.directory.empty`)),1)):(b(),c(`div`,it,[(b(!0),c(u,null,v(a.items,l=>(b(),c(`article`,{key:l.id,class:n([`directory-card`,{"is-installed":l.installed}]),onClick:e=>a.openDetail(l)},[e(`div`,ot,[e(`span`,st,`/`+i(l.slug),1),l.installed?(b(),c(`span`,{key:0,class:`directory-card-action is-installed`,title:a.$t(`skill.directory.installed`)},[o(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ct)):l.installable&&!a.canInstallOnSurface(l)?(b(),c(`span`,{key:1,class:`directory-card-locked`,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(l)})},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,lt)):l.installable?(b(),c(`button`,{key:2,class:`directory-card-action`,"aria-label":a.$t(`skill.directory.install`),title:a.$t(`skill.directory.install`),onClick:t(e=>a.onInstall(l),[`stop`])},[o(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ut)):(b(),c(`span`,{key:3,class:`directory-card-locked`,title:l.license},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,dt))]),e(`div`,ft,[e(`span`,pt,i(l.publisher),1),l.install_count>0?(b(),c(`span`,mt,[o(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.formatCount(l.install_count)),1)])):s(``,!0),a.surfaceLabels(l)?(b(),c(`span`,{key:1,class:`directory-card-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.surfaceLabels(l)),9,ht)):s(``,!0)]),e(`p`,gt,i(l.description),1)],10,at))),128))]))])),[[L,a.loading]]),a.total>a.pageSize?(b(),c(`footer`,_t,[o(A,{"current-page":a.currentPage,"page-size":a.pageSize,total:a.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):s(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var kt=W(Ye,[[`render`,Ot],[`__scopeId`,`data-v-80ab8a17`]]);Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`css`,Fe),Y.registerLanguage(`go`,Me),Y.registerLanguage(`javascript`,Te),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`rust`,ke),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`sql`,Pe),Y.registerLanguage(`typescript`,je),Y.registerLanguage(`xml`,Ie),Y.registerLanguage(`html`,Ie),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function At(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function jt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Mt=x({name:`SkillFilePreview`,components:{ElButton:J,ElTooltip:E,ElTabs:w,ElTabPane:T,CodeIcon:ne,CopyIcon:R,FileIcon:z,SaveIcon:Ue,ViewIcon:ie,WarningIcon:fe,VueMarkdown:ze},directives:{loading:G},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1}},computed:{kind(){return this.path?At(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${jt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=At(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),K.success(this.$t(`skill.preview.copied`))}catch{K.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),Nt={class:`preview-root`},Pt={class:`toolbar`},Ft={class:`path-display`},It={key:0,class:`size-display`},Lt={class:`body`},Rt={key:0,class:`error`},zt=[`srcdoc`],Bt={key:3,class:`image-pane`},Vt=[`src`,`alt`],Ht={key:4,class:`binary`},Ut=[`placeholder`],Wt={key:6,class:`source-pane`},Gt={key:7,class:`truncated-warning`};function Kt(t,a,l,u,_,v){let y=d(`save-icon`),x=d(`el-button`),S=d(`copy-icon`),C=d(`el-tooltip`),w=d(`view-icon`),T=d(`el-tab-pane`),E=d(`code-icon`),D=d(`el-tabs`),O=d(`warning-icon`),k=d(`vue-markdown`),A=d(`file-icon`),j=g(`loading`);return p((b(),c(`div`,Nt,[e(`div`,Pt,[e(`span`,Ft,i(t.path||`—`),1),t.size?(b(),c(`span`,It,i(t.humanSize(t.size)),1)):s(``,!0),a[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(b(),m(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:h(()=>[o(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):s(``,!0),o(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:h(()=>[o(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:h(()=>[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(b(),m(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":a[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:h(()=>[o(T,{name:`rendered`},{label:h(()=>[o(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),o(T,{name:`source`},{label:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):s(``,!0),e(`div`,Lt,[t.error?(b(),c(`div`,Rt,[o(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(b(),m(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(b(),c(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,zt)):t.kind===`image`?(b(),c(`div`,Bt,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Vt)])):t.kind===`binary`?(b(),c(`div`,Ht,[o(A,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?p((b(),c(`textarea`,{key:5,"onUpdate:modelValue":a[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:a[2]||=e=>t.dirty=!0},null,40,Ut)),[[f,t.textContent]]):(b(),c(`pre`,Wt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(b(),c(`p`,Gt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):s(``,!0)])])),[[j,t.loading]])}var qt=W(Mt,[[`render`,Kt],[`__scopeId`,`data-v-ec0a447e`]]),Jt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Yt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Xt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?P:n===`md`?ae:Yt.has(n)?oe:Jt.has(n)?He:z}function Zt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Qt=x({name:`FileNode`,components:{ExpandDownIcon:F,ExpandRightIcon:I,FontAwesomeIcon:Re},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Xt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),$t=[`aria-label`,`title`],en={key:1,class:`node-chevron-spacer`},tn={class:`node-label`},nn={key:0,class:`children`};function rn(r,a,o,l,f,p){let h=d(`expand-down-icon`),g=d(`expand-right-icon`),x=d(`font-awesome-icon`),S=d(`file-node`,!0);return b(),c(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:_({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(b(),c(`span`,en)):(b(),c(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(b(),m(h,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(g,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,$t)),r.isHtmlFile(r.node)?(b(),m(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(b(),m(y(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,tn,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(b(),c(`ul`,nn,[(b(!0),c(u,null,v(r.node.children||[],e=>(b(),m(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):s(``,!0)])}var an=x({name:`SkillRow`,components:{ExpandDownIcon:F,ExpandRightIcon:I,SkillIcon:ce,FileNode:W(Qt,[[`render`,rn],[`__scopeId`,`data-v-2215f06e`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return Zt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),on={class:`skill-row-wrapper`},sn=[`aria-label`,`title`],cn={key:1,class:`row-chevron-spacer`},ln=[`title`],un={key:0,class:`file-list`};function dn(r,a,l,f,p,h){let g=d(`expand-down-icon`),_=d(`expand-right-icon`),y=d(`skill-icon`),x=d(`file-node`);return b(),c(`li`,on,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:a[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(b(),c(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(b(),m(g,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(_,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,sn)):(b(),c(`span`,cn)),o(y,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,ln)],2),r.expanded&&r.hasChildren?(b(),c(`ul`,un,[(b(!0),c(u,null,v(r.tree,e=>(b(),m(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):s(``,!0)])}var fn=W(an,[[`render`,dn],[`__scopeId`,`data-v-3dd0266c`]]),pn=10*1024*1024,mn=/\.(tar\.gz|tgz|tar|zip|md)$/i,hn=x({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:J,AddFileIcon:We,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>pn){K.error(this.$t(`skill.message.fileTooLarge`));return}if(!mn.test(e.name)){K.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),gn={key:0,class:`dropzone-hint`},_n={key:1,class:`dropzone-file`},vn={class:`dropzone-file-name`},yn={class:`dropzone-file-size`},bn={class:`requirements`},xn={class:`requirements-title`};function Sn(a,s,l,u,f,p){let g=d(`add-file-icon`),_=d(`el-button`),v=d(`cloud-upload-icon`),y=d(`el-dialog`);return b(),m(y,{"model-value":a.modelValue,title:a.$t(`skill.dialog.uploadTitle`),width:`520px`,"align-center":``,"close-on-click-modal":!a.uploading,"close-on-press-escape":!a.uploading,"show-close":!a.uploading,"onUpdate:modelValue":a.onVisibleChange,onClosed:a.reset},{footer:h(()=>[o(_,{disabled:a.uploading,onClick:a.onClose},{default:h(()=>[r(i(a.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(_,{type:`primary`,loading:a.uploading,disabled:!a.file,onClick:a.onSubmit},{default:h(()=>[o(v,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:s[0]||=(...e)=>a.onFilePicked&&a.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":a.isDragging,"has-file":!!a.file}]),onClick:s[1]||=(...e)=>a.onPickFile&&a.onPickFile(...e),onDragover:s[2]||=t(e=>a.isDragging=!0,[`prevent`]),onDragleave:s[3]||=t(e=>a.isDragging=!1,[`prevent`]),onDrop:s[4]||=t((...e)=>a.onDrop&&a.onDrop(...e),[`prevent`])},[o(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),a.file?(b(),c(`p`,_n,[e(`span`,vn,i(a.file.name),1),e(`span`,yn,i(a.humanSize(a.file.size)),1)])):(b(),c(`p`,gn,i(a.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,bn,[e(`p`,xn,i(a.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(a.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(a.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=W(hn,[[`render`,Sn],[`__scopeId`,`data-v-3791b97e`]]),wn=x({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:J,ElInput:he,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),Tn={class:`hint`};function En(t,n,a,s,c,l){let u=d(`el-input`),f=d(`el-button`),p=d(`cloud-upload-icon`),g=d(`el-dialog`);return b(),m(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`720px`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:h(()=>[o(f,{disabled:t.saving,onClick:t.onClose},{default:h(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(f,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:h(()=>[o(p,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`p`,Tn,i(t.$t(`skill.dialog.writeHint`)),1),o(u,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Dn=x({name:`UserSkills`,components:{ElSwitch:j,ElTag:ge,ElTooltip:E,ElDropdown:k,ElDropdownMenu:O,ElDropdownItem:D,AddIcon:V,AiCreateIcon:me,CloseIcon:_e,DeleteIcon:de,ExpandDownIcon:F,ExpandRightIcon:I,HelpIcon:ee,MarketplaceIcon:le,MoreIcon:re,SearchIcon:ue,SkillIcon:ce,UploadIcon:pe,WriteIcon:te,BrowseSkillsDialog:kt,SkillFilePreview:qt,SkillRow:fn,UploadSkillDialog:Cn,WriteSkillDialog:W(wn,[[`render`,En],[`__scopeId`,`data-v-019a154c`]])},directives:{loading:G},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchOpen:!1,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),K.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openSearch(){this.searchOpen=!0,a(()=>{this.$refs.searchInput?.focus()})},closeSearch(){this.searchOpen=!1,this.searchQuery=``},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});K.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await we.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),K.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){K.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),K.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),K.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){K.error(this.extractError(e))}finally{this.togglingId=null}}}}),On={class:`page-shell`},kn={class:`page-heading`},An={class:`page-title`},jn={class:`page-subtitle`},Mn={class:`skills-shell`},Nn={class:`left-pane`},Pn={class:`left-header`},Fn={class:`left-actions`},In=[`aria-label`,`title`],Ln=[`aria-label`,`title`],Rn={class:`submenu-trigger`},zn={class:`badge-soon`},Bn={key:0,class:`search-row`},Vn=[`placeholder`],Hn=[`aria-label`,`title`],Un={class:`left-body`},Wn={class:`section`},Gn={key:0,class:`skill-list`},Kn={key:0,class:`empty-row`},qn={key:0,class:`section`},Jn={key:0,class:`skill-list`},Yn={class:`right-pane`},Xn={class:`right-header`},Zn={class:`right-title`},Qn={class:`right-actions`},$n=[`aria-label`,`title`],er={class:`meta-card`},tr={class:`meta-grid`},nr={class:`meta-cell`},rr={class:`meta-label`},ir={class:`meta-value`},ar={class:`meta-cell`},or={class:`meta-label`},sr={class:`meta-value`},cr={key:0,class:`meta-cell`},lr={class:`meta-label`},ur={class:`meta-tags`},dr={key:0,class:`meta-description`},fr={class:`meta-description-label`},pr={class:`meta-label`},mr={class:`preview-card`},hr={key:2,class:`right-empty`};function gr(t,n,a,_,y,x){let S=d(`search-icon`),C=d(`add-icon`),w=d(`marketplace-icon`),T=d(`el-dropdown-item`),E=d(`expand-right-icon`),D=d(`ai-create-icon`),O=d(`write-icon`),k=d(`upload-icon`),A=d(`el-dropdown-menu`),j=d(`el-dropdown`),M=d(`close-icon`),N=d(`expand-down-icon`),P=d(`skill-row`),F=d(`el-switch`),I=d(`more-icon`),L=d(`delete-icon`),ee=d(`el-tag`),te=d(`help-icon`),ne=d(`el-tooltip`),R=d(`skill-file-preview`),re=d(`skill-icon`),ie=d(`upload-skill-dialog`),ae=d(`write-skill-dialog`),z=d(`browse-skills-dialog`),B=g(`loading`);return b(),c(`div`,On,[e(`div`,kn,[e(`h2`,An,i(t.$t(`skill.title.skills`)),1),e(`p`,jn,i(t.$t(`skill.message.pageDescription`)),1)]),e(`div`,Mn,[e(`aside`,Nn,[e(`header`,Pn,[e(`div`,Fn,[t.searchOpen?s(``,!0):(b(),c(`button`,{key:0,class:`icon-btn`,"aria-label":t.$t(`skill.button.search`),title:t.$t(`skill.button.search`),onClick:n[0]||=(...e)=>t.openSearch&&t.openSearch(...e)},[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})],8,In)),o(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{onClick:t.onBrowse},{default:h(()=>[o(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),o(T,{divided:``},{default:h(()=>[o(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{disabled:``},{default:h(()=>[o(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,zn,i(t.$t(`skill.menu.soon`)),1)]),_:1}),o(T,{onClick:t.openWrite},{default:h(()=>[o(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),o(T,{onClick:t.openUpload},{default:h(()=>[o(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,Rn,[o(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),o(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[o(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Ln)]),_:1})])]),t.searchOpen?(b(),c(`div`,Bn,[o(S,{class:`search-icon`,size:13,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{ref:`searchInput`,"onUpdate:modelValue":n[1]||=e=>t.searchQuery=e,class:`search-input`,placeholder:t.$t(`skill.placeholder.search`),onKeydown:n[2]||=l((...e)=>t.closeSearch&&t.closeSearch(...e),[`escape`])},null,40,Vn),[[f,t.searchQuery]]),e(`button`,{class:`icon-btn icon-btn-sm`,"aria-label":t.$t(`common.button.close`),title:t.$t(`common.button.close`),onClick:n[3]||=(...e)=>t.closeSearch&&t.closeSearch(...e)},[o(M,{size:14,"aria-hidden":`true`,focusable:`false`})],8,Hn)])):s(``,!0),p((b(),c(`div`,Un,[e(`section`,Wn,[e(`button`,{class:`section-header`,onClick:n[4]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(b(),c(`ul`,Gn,[!t.loading&&t.filteredPersonal.length===0?(b(),c(`li`,Kn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):s(``,!0),(b(!0),c(u,null,v(t.filteredPersonal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)]),t.globalSkills.length>0?(b(),c(`section`,qn,[e(`button`,{class:`section-header`,onClick:n[5]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(b(),c(`ul`,Jn,[(b(!0),c(u,null,v(t.filteredGlobal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)])):s(``,!0)])),[[B,t.loading]])]),e(`main`,Yn,[t.selectedSkill&&!t.selectedPath?(b(),c(u,{key:0},[e(`header`,Xn,[e(`h3`,Zn,i(t.selectedSkill.slug),1),e(`div`,Qn,[o(F,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[6]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?s(``,!0):(b(),m(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:h(()=>[o(A,null,{default:h(()=>[o(T,{onClick:n[7]||=e=>t.onDelete(t.selectedSkill)},{default:h(()=>[o(L,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[o(I,{size:16,"aria-hidden":`true`,focusable:`false`})],8,$n)]),_:1}))])]),e(`div`,er,[e(`div`,tr,[e(`div`,nr,[e(`span`,rr,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,ir,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,ar,[e(`span`,or,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,sr,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(b(),c(`div`,cr,[e(`span`,lr,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,ur,[(b(!0),c(u,null,v(t.selectedSkill.required_connections,e=>(b(),m(ee,{key:e,size:`small`,type:`info`},{default:h(()=>[r(i(e),1)]),_:2},1024))),128))])])):s(``,!0)]),t.selectedSkill.description?(b(),c(`div`,dr,[e(`div`,fr,[e(`span`,pr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(b(),m(ne,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:h(()=>[o(te,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):s(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):s(``,!0)]),e(`div`,mr,[(b(),m(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(b(),m(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(b(),c(`div`,hr,[o(re,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),o(ie,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[8]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(ae,{modelValue:t.writeVisible,"onUpdate:modelValue":n[9]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[10]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var _r=W(Dn,[[`render`,gr],[`__scopeId`,`data-v-549e935d`]]);export{_r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Di3UGsww.js";import{t as x}from"./upload-CWO2h2Vw.js";import{t as S}from"./tooltip-jqJWhgyZ.js";import{t as C}from"./alert-DGYYBnE1.js";import{t as w}from"./drawer-CjLCvbRN.js";import{t as T}from"./input-number-CoPVNWot.js";import{t as E}from"./slider-BLjYWlVe.js";import{t as D}from"./clock-DOd8StlC.js";import{r as O,t as k}from"./PromptTextarea-vh7IVdGa.js";import{t as A}from"./info-49D0pH7L.js";import{t as j}from"./trash-2-DsL5VcYv.js";import{t as M}from"./triangle-alert-DY9m6jWO.js";import{t as N}from"./upload-CJ96ZwZR.js";import{t as P}from"./wand-sparkles-BXP4Nw7x.js";import{gr as ee,hr as te,mr as ne,pr as F}from"./constants-Dm-HitpB.js";import{E as I,Gt as L,Hn as R,Kt as z,Sr as B,Ti as V,Ut as H,Wt as U,Yt as W,ci as G,di as K,in as q,qt as J,wi as Y,zi as X}from"./index-DaBvc5vs.js";import{t as Z}from"./CopyToClipboard-DaX_1dOX.js";import{t as re}from"./ImagePreview-B5t7BBhX.js";import{n as ie}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ae}from"./Consumption-CVm_v4Wi.js";import{a as Q,n as oe,r as se,t as ce}from"./pagination-BfegXncA.js";import{t as le}from"./VideoPlayer-DPIqjfOF.js";import{t as ue}from"./ApiCodeButton-C6xulclD.js";import{t as de}from"./BotPlaceholder-DHQofJtq.js";var fe=v({name:`LayoutPixverse`,components:{MagicIcon:P,ElDrawer:w,ElButton:X},mixins:[ie]}),pe={class:`main flex flex-row flex-1`},me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},he={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ge(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,pe,[e(`div`,me,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,he,[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 _e=I(fe,[[`render`,ge],[`__scopeId`,`data-v-9da6c14b`]]),ve=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=ne}}),ye={class:`field`},be={class:`title font-bold`};function xe(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,ye,[e(`h2`,be,i(t.$t(`pixverse.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=I(ve,[[`render`,xe],[`__scopeId`,`data-v-e8f337ca`]]),Ce=v({name:`QualitySelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=ee}}),we={class:`field`},Te={class:`title font-bold`};function Ee(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,we,[e(`h2`,Te,i(t.$t(`pixverse.name.quality`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var De=I(Ce,[[`render`,Ee],[`__scopeId`,`data-v-64aeaae9`]]),Oe=v({name:`MotionSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=te}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,ke,[e(`h2`,Ae,i(t.$t(`pixverse.name.motion`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=I(Oe,[[`render`,je],[`__scopeId`,`data-v-94237408`]]),Ne=v({name:`StyleSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Pe={class:`field`},Fe={class:`title font-bold`};function Ie(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Pe,[e(`h2`,Fe,i(t.$t(`pixverse.name.style`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Le=I(Ne,[[`render`,Ie],[`__scopeId`,`data-v-64e17b3c`]]),Re=v({name:`SeedSelector`,components:{ElSlider:E,InfoIcon:Q,ElInputNumber:T},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),ze={class:`flex justify-between`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={class:`flex justify-end items-center`},Ue={class:`w-full`};function We(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,i(t.$t(`pixverse.name.seed`)),1),a(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,He,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ue,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Ge=I(Re,[[`render`,We]]),Ke=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`pixverse.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=I(Ke,[[`render`,Ye],[`__scopeId`,`data-v-e7343a05`]]),Ze=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=F}}),Qe={class:`text-sm font-bold mb-2 block`},$e={class:`items`},et=[`onClick`],tt={class:`name`};function nt(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Qe,i(t.$t(`pixverse.name.aspectRatio`)),1),e(`div`,$e,[(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`,tt,i(r.label),1)],10,et))),128))])])}var rt=I(Ze,[[`render`,nt],[`__scopeId`,`data-v-53038264`]]),it=v({name:`StartImage`,components:{UploadIcon:N,ElUpload:x,ElButton:X,InfoIcon:Q,ImagePreview:re},mixins:[J,z,U],emits:[`change`],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),at={class:`relative`},ot={class:`flex justify-between`},st={class:`flex justify-start items-center`},ct={class:`text-sm font-bold`};function lt(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`,at,[e(`div`,ot,[e(`div`,st,[e(`span`,ct,i(t.$t(`pixverse.name.startImage`)),1),a(h,{content:t.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var ut=I(it,[[`render`,lt],[`__scopeId`,`data-v-c21b7b9c`]]),dt=v({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ft(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var pt=v({name:`ConfigPanel`,components:{MagicIcon:P,ElButton:X,PromptInput:I(dt,[[`render`,ft]]),ModelSelector:Se,QualitySelector:De,MotionSelector:Me,StyleSelector:Le,DurationSelector:Xe,StartImage:ut,SeedSelector:Ge,RatioSelector:rt,Consumption:ae},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return W(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),mt={class:`flex flex-col h-full`},ht={class:`flex-1 overflow-y-auto p-5`},gt={class:`flex flex-col items-center justify-center px-5 pb-5`};function _t(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`style-selector`),_=l(`ratio-selector`),v=l(`motion-selector`),y=l(`quality-selector`),b=l(`start-image`),x=l(`seed-selector`),S=l(`duration-selector`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,mt,[e(`div`,ht,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`})]),e(`div`,gt,[a(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var vt=I(pt,[[`render`,_t]]),yt=v({name:`TaskPreview`,components:{DeleteIcon:j,ChannelIcon:O,InfoIcon:A,MagicIcon:P,TimeIcon:D,WarningIcon:M,CopyToClipboard:Z,ElAlert:C,VideoPlayer:le,ElTooltip:S,ElButton:X,ApiCodeButton:ue},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await Y.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`pixverse/deleteTask`,{id:e}),V.success(this.$t(`common.message.deleteTaskSuccess`))}catch{V.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`)}}}),bt={class:`preview`},xt={class:`left`},St={class:`main`},Ct={class:`bot`},wt={class:`datetime`},Tt=[`aria-label`],Et={class:`info`},Dt={key:0,class:`prompt mt-2`},Ot={key:0},kt={key:1},At={key:0,class:n({content:!0,failed:!0})},jt={key:0,class:`mb-4`},Mt={key:1,class:n({operations:!0,"mt-2":!0})},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ft={key:1,class:n({content:!0})},It={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Bt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`channel-icon`),w=l(`magic-icon`),T=l(`copy-to-clipboard`),E=l(`time-icon`),D=l(`el-alert`),O=l(`warning-icon`),k=l(`info-icon`);return g(),s(`div`,bt,[e(`div`,xt,[a(_,{capability:`pixverse`,part:`avatar`,class:`avatar`})]),e(`div`,St,[e(`div`,Ct,[a(_,{capability:`pixverse`,part:`name`}),e(`span`,wt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Tt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Et,[n.modelValue?.request?.prompt?(g(),s(`p`,Dt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Ot,` - (`+i(n.$t(`pixverse.status.pending`))+`) `,1)),n.modelValue?.response?.data&&(n.modelValue?.response?.data[0]?.state===`processing`||n.modelValue?.response?.data[0]?.state===`pending`)?(g(),s(`span`,kt,` - (`+i(n.$t(`pixverse.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,At,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,jt,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Mt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response?.data[0]?.video_url?(g(),f(x,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(n.$t(`pixverse.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/pixverse/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(D,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Nt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Pt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(g(),s(`div`,Ft,[a(D,{closable:!1,class:`failure`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failure`)),1)]),default:p(()=>[e(`p`,It,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Lt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Rt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,zt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pixverse.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Vt=v({name:`RecentPanel`,components:{TaskPreview:I(yt,[[`render`,Bt],[`__scopeId`,`data-v-1667fff1`]]),NoTasks:se,BotPlaceholder:de,ScrollList:oe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ht={key:0},Ut={key:2,class:`w-full h-full flex items-center justify-center`};function Wt(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`,Ht,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Ut,[a(v)])):o(``,!0)],64)}var Gt=v({name:`PixverseIndex`,components:{ConfigPanel:vt,Layout:_e,RecentPanel:I(Vt,[[`render`,Wt]])},mixins:[L],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===G.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===G.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e={...this.config,async:!0};if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}V.info(this.$t(`pixverse.message.startingTask`)),B(`pixverse`,R.generate(e,{token:t})).then(()=>{V.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?V.error(this.$t(`pixverse.message.usedUp`)):V.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Kt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var qt=I(Gt,[[`render`,Kt]]);export{qt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,F as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,it as d,j as f,mt as p,rt as m,tt as h,z as g}from"./vendor-chart-Dw-P17PN.js";import{r as _,t as v}from"./select-CBX_IrQp.js";import{n as y,t as b}from"./tabs-D4L0iUrz.js";import{t as x}from"./tooltip-qUtLFuMO.js";import{t as S}from"./alert-HuInTm83.js";import{n as C,r as w}from"./radio-DgDgyT2l.js";import{n as T,t as E}from"./collapse-BtJTB1bk.js";import{t as D}from"./drawer-C3ym1xsG.js";import{t as O}from"./input-number-BKAsEVuC.js";import{t as k}from"./switch-BK65lk1B.js";import{t as A}from"./clock-D-h5ShMs.js";import{t as j}from"./external-link-DuJk070y.js";import{t as M}from"./globe-CvIWEnH9.js";import{t as N}from"./info-BRA-_T8y.js";import{t as P}from"./loader-circle-CtI9qMSe.js";import{t as F}from"./sliders-horizontal-IRYvZwMD.js";import{t as ee}from"./tag-dllrlH7L.js";import{t as te}from"./wand-sparkles-pjNJLsqz.js";import{t as I}from"./zap-NExMhJi9.js";import"./constants-B5AtX8h0.js";import{Ci as L,E as R,Ei as z,Jt as B,Ki as V,Li as H,rn as U,si as W,xi as G}from"./index-P4zymybO.js";import{t as K}from"./CopyToClipboard-jI-6D-bZ.js";import{t as q}from"./Consumption-Bj1vPgJr.js";var J=G(`signal`,[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}],[`path`,{d:`M17 20V8`,key:`1tkaf5`}],[`path`,{d:`M22 4v16`,key:`sih9yq`}]]),Y=g({name:`LayoutWebextrator`,components:{ControlsIcon:F,ElDrawer:D,ElButton:H},data(){return{drawer:!1}}}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(t,n,r,i,o,c){let l=u(`controls-icon`),f=u(`el-button`),m=u(`el-drawer`);return h(),s(`div`,X,[e(`div`,Z,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Q,[d(t.$slots,`result`,{},void 0,!0)]),a(f,{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(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=R(Y,[[`render`,ne],[`__scopeId`,`data-v-0ca47a5f`]]),ie=g({name:`ModeSelector`,components:{GlobeIcon:M,MagicIcon:te,ElRadioGroup:w,ElRadioButton:C},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),ae={class:`field`},oe={class:`title font-bold`};function se(t,n,o,c,l,d){let f=u(`magic-icon`),m=u(`el-radio-button`),g=u(`globe-icon`),_=u(`el-radio-group`);return h(),s(`div`,ae,[e(`h2`,oe,i(t.$t(`webextrator.name.mode`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value w-full`},{default:p(()=>[a(m,{label:`extract`,value:`extract`},{default:p(()=>[a(f,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`webextrator.mode.extract`)),1)]),_:1}),a(m,{label:`render`,value:`render`},{default:p(()=>[a(g,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var ce=R(ie,[[`render`,se],[`__scopeId`,`data-v-76c5bea5`]]),le=g({name:`UrlInput`,components:{ElInput:V},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),ue={class:`field`},de={class:`title font-bold`};function fe(n,r,o,l,d,f){let p=u(`el-input`);return h(),s(`div`,ue,[e(`h2`,de,i(n.$t(`webextrator.name.url`)),1),a(p,{modelValue:n.url,"onUpdate:modelValue":r[0]||=e=>n.url=e,type:`textarea`,rows:2,class:`prompt`,placeholder:n.$t(`webextrator.placeholder.url`),onKeydown:c(t(n.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var pe=R(le,[[`render`,fe],[`__scopeId`,`data-v-18488009`]]),me=g({name:`ExpectedTypeSelector`,components:{ElSelect:_,ElOption:v},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),he={class:`field`},ge={class:`title font-bold`};function _e(t,n,r,o,c,l){let d=u(`el-option`),f=u(`el-select`);return h(),s(`div`,he,[e(`h2`,ge,i(t.$t(`webextrator.name.expectedType`)),1),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:p(()=>[a(d,{value:`general`,label:t.$t(`webextrator.expectedType.general`)},null,8,[`label`]),a(d,{value:`article`,label:t.$t(`webextrator.expectedType.article`)},null,8,[`label`]),a(d,{value:`product`,label:t.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ve=R(me,[[`render`,_e],[`__scopeId`,`data-v-3b572c49`]]),ye=g({name:`LlmToggle`,components:{InfoIcon:N,ElSwitch:k,ElTooltip:x},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),be={class:`field`},xe={class:`title font-bold`};function Se(t,n,o,c,l,d){let f=u(`info-icon`),m=u(`el-tooltip`),g=u(`el-switch`);return h(),s(`div`,be,[e(`h2`,xe,[r(i(t.$t(`webextrator.name.enableLlm`))+` `,1),a(m,{effect:`dark`,content:t.$t(`webextrator.description.enableLlm`),placement:`top`},{default:p(()=>[a(f,{class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])]),a(g,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])}var Ce=R(ye,[[`render`,Se],[`__scopeId`,`data-v-a0c2f78c`]]),we=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],Te=g({name:`AdvancedOptions`,components:{ElCollapse:E,ElCollapseItem:T,ElInput:V,ElInputNumber:O,ElSelect:_,ElOption:v},data(){return{active:[]}},computed:{resourceKinds(){return we},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),Ee={class:`field`},De={class:`sub-title`},Oe={class:`field`},ke={class:`sub-title`},Ae={class:`field`},je={class:`sub-title`},Me={class:`field`},Ne={class:`sub-title`},Pe={class:`field`},Fe={class:`sub-title`};function Ie(t,n,r,o,c,d){let g=u(`el-option`),_=u(`el-select`),v=u(`el-input`),y=u(`el-input-number`),b=u(`el-collapse-item`),x=u(`el-collapse`);return h(),f(x,{modelValue:t.active,"onUpdate:modelValue":n[5]||=e=>t.active=e,class:`advanced`},{default:p(()=>[a(b,{title:t.$t(`webextrator.name.advanced`),name:`advanced`},{default:p(()=>[e(`div`,Ee,[e(`h2`,De,i(t.$t(`webextrator.name.waitUntil`)),1),a(_,{modelValue:t.waitUntil,"onUpdate:modelValue":n[0]||=e=>t.waitUntil=e,class:`value`},{default:p(()=>[a(g,{value:`networkidle`,label:t.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),a(g,{value:`load`,label:t.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),a(g,{value:`domcontentloaded`,label:t.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),a(g,{value:`commit`,label:t.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),e(`div`,Oe,[e(`h2`,ke,i(t.$t(`webextrator.name.waitForSelector`)),1),a(v,{modelValue:t.waitForSelector,"onUpdate:modelValue":n[1]||=e=>t.waitForSelector=e,placeholder:t.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),e(`div`,Ae,[e(`h2`,je,i(t.$t(`webextrator.name.timeout`)),1),a(y,{modelValue:t.timeout,"onUpdate:modelValue":n[2]||=e=>t.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),e(`div`,Me,[e(`h2`,Ne,i(t.$t(`webextrator.name.delay`)),1),a(y,{modelValue:t.delay,"onUpdate:modelValue":n[3]||=e=>t.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),e(`div`,Pe,[e(`h2`,Fe,i(t.$t(`webextrator.name.blockResources`)),1),a(_,{modelValue:t.blockResources,"onUpdate:modelValue":n[4]||=e=>t.blockResources=e,multiple:``,"collapse-tags":``,placeholder:t.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:p(()=>[(h(!0),s(l,null,m(t.resourceKinds,e=>(h(),f(g,{key:e,label:t.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var Le=g({name:`WebextratorConfigPanel`,components:{LightningIcon:I,ElButton:H,ModeSelector:ce,UrlInput:pe,ExpectedTypeSelector:ve,LlmToggle:Ce,AdvancedOptions:R(Te,[[`render`,Ie],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:q},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return B(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===W.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Re={class:`flex flex-col h-full`},ze={class:`flex-1 overflow-y-auto p-5`},Be={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ve(t,n,c,d,f,m){let g=u(`mode-selector`),_=u(`url-input`),v=u(`expected-type-selector`),y=u(`llm-toggle`),b=u(`advanced-options`),x=u(`consumption`),S=u(`lightning-icon`),C=u(`el-button`);return h(),s(`div`,Re,[e(`div`,ze,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`,onSubmit:t.onRun},null,8,[`onSubmit`]),t.isExtract?(h(),s(l,{key:0},[a(v,{class:`mb-4`}),a(y,{class:`mb-4`})],64)):o(``,!0),a(b,{class:`mb-4`})]),e(`div`,Be,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`w-full`,round:``,loading:t.running,disabled:!t.canRun,onClick:t.onRun},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(t.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var He=R(Le,[[`render`,Ve]]),Ue=e=>!!e&&e.kind!==`render`,We=g({name:`WebextratorResultPanel`,components:{ExternalLinkIcon:j,GlobeIcon:M,LabelIcon:ee,LoadingIcon:P,SignalIcon:J,TimeIcon:A,ElAlert:S,ElImage:z,ElTabs:y,ElTabPane:b,CopyToClipboard:K},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===W.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ue(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
|
-
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Ge={class:`h-full overflow-y-auto p-6`},Ke={key:0,class:`max-w-4xl mx-auto py-4`},qe={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Je={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Ye={class:`text-base mb-1`},Xe={class:`text-xs opacity-70`},Ze={key:2,class:`max-w-4xl mx-auto py-4`},Qe={class:`text-xs whitespace-pre-wrap break-words`},$e={key:3,class:`max-w-4xl mx-auto`},et={class:`mb-4`},tt={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},nt={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},rt=[`href`],it={key:1},at={key:2},ot={key:3},st={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},ct={key:0,class:`mb-5`},lt={class:`tab-toolbar`},ut={class:`content-block`},dt={class:`tab-toolbar`},ft={class:`content-block`},$={class:`tab-toolbar`},pt={class:`content-block code`},mt={class:`tab-toolbar`},ht={class:`links-list`},gt=[`href`],_t={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},vt={class:`tab-toolbar`},yt={class:`content-block code`},bt={class:`tab-toolbar`},xt={class:`content-block code`};function St(t,c,d,g,_,v){let y=u(`loading-icon`),b=u(`globe-icon`),x=u(`el-alert`),S=u(`external-link-icon`),C=u(`signal-icon`),w=u(`time-icon`),T=u(`label-icon`),E=u(`el-image`),D=u(`copy-to-clipboard`),O=u(`el-tab-pane`),k=u(`el-tabs`);return h(),s(`div`,Ge,[t.running?(h(),s(`div`,Ke,[e(`div`,qe,[a(y,{class:`adc-icon-spin`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.$t(`webextrator.message.running`)),1)]),c[1]||=n(`<div class="mb-6 animate-pulse" data-v-4ec341a6><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-4ec341a6></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-4ec341a6></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-4ec341a6></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-4ec341a6></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-4ec341a6></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-4ec341a6></div></div>`,1)])):!t.response&&!t.errorMessage?(h(),s(`div`,Je,[a(b,{class:`text-6xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Ye,i(t.$t(`webextrator.description.intro`)),1),e(`p`,Xe,i(t.$t(`webextrator.description.introHint`)),1)])):t.errorMessage?(h(),s(`div`,Ze,[a(x,{type:`error`,closable:!1,"show-icon":``,title:t.$t(`webextrator.message.failed`)},{default:p(()=>[e(`pre`,Qe,i(t.errorMessage),1)]),_:1},8,[`title`])])):t.data?(h(),s(`div`,$e,[e(`header`,et,[e(`h1`,tt,i(t.data.title||t.$t(`webextrator.message.untitled`)),1),e(`div`,nt,[t.finalUrl?(h(),s(`a`,{key:0,href:t.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.finalUrl),1)],8,rt)):o(``,!0),t.renderData?.status?(h(),s(`span`,it,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.renderData.status),1)])):o(``,!0),t.response?.elapsed?(h(),s(`span`,at,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.response.elapsed.toFixed(2))+`s `,1)])):o(``,!0),t.contentTypeLabel?(h(),s(`span`,ot,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.contentTypeLabel),1)])):o(``,!0)]),t.extractData?.description?(h(),s(`p`,st,i(t.extractData.description),1)):o(``,!0)]),t.screenshotSrc?(h(),s(`figure`,ct,[a(E,{src:t.screenshotSrc,fit:`contain`,"preview-src-list":[t.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):o(``,!0),a(k,{modelValue:t.activeTab,"onUpdate:modelValue":c[0]||=e=>t.activeTab=e,class:`result-tabs`},{default:p(()=>[t.markdown?(h(),f(O,{key:0,label:t.$t(`webextrator.tab.markdown`),name:`markdown`},{default:p(()=>[e(`div`,lt,[a(D,{content:t.markdown},null,8,[`content`])]),e(`pre`,ut,i(t.markdown),1)]),_:1},8,[`label`])):o(``,!0),t.plainText?(h(),f(O,{key:1,label:t.$t(`webextrator.tab.text`),name:`text`},{default:p(()=>[e(`div`,dt,[a(D,{content:t.plainText},null,8,[`content`])]),e(`pre`,ft,i(t.plainText),1)]),_:1},8,[`label`])):o(``,!0),t.extractData?.structured?(h(),f(O,{key:2,label:t.$t(`webextrator.tab.structured`),name:`structured`},{default:p(()=>[e(`div`,$,[a(D,{content:t.structuredPretty},null,8,[`content`])]),e(`pre`,pt,i(t.structuredPretty),1)]),_:1},8,[`label`])):o(``,!0),t.links.length?(h(),f(O,{key:3,label:`${t.$t(`webextrator.tab.links`)} (${t.links.length})`,name:`links`},{default:p(()=>[e(`div`,mt,[a(D,{content:t.linksPlain},null,8,[`content`])]),e(`ul`,ht,[(h(!0),s(l,null,m(t.links,(t,n)=>(h(),s(`li`,{key:n,class:`truncate`},[e(`a`,{href:t,target:`_blank`,rel:`noopener`},i(t),9,gt)]))),128))])]),_:1},8,[`label`])):o(``,!0),t.images.length?(h(),f(O,{key:4,label:`${t.$t(`webextrator.tab.images`)} (${t.images.length})`,name:`images`},{default:p(()=>[e(`div`,_t,[(h(!0),s(l,null,m(t.images,(e,n)=>(h(),f(E,{key:n,src:e,fit:`cover`,loading:`lazy`,"preview-src-list":t.images,"initial-index":n,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):o(``,!0),t.html?(h(),f(O,{key:5,label:t.$t(`webextrator.tab.html`),name:`html`},{default:p(()=>[e(`div`,vt,[a(D,{content:t.html},null,8,[`content`])]),e(`pre`,yt,i(t.html),1)]),_:1},8,[`label`])):o(``,!0),a(O,{label:t.$t(`webextrator.tab.raw`),name:`raw`},{default:p(()=>[e(`div`,bt,[a(D,{content:t.rawPretty},null,8,[`content`])]),e(`pre`,xt,i(t.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):o(``,!0)])}var Ct=g({name:`WebextratorIndex`,components:{Layout:re,ConfigPanel:He,ResultPanel:R(We,[[`render`,St],[`__scopeId`,`data-v-4ec341a6`]])},inject:[`initialized`],async mounted(){await this.$store.dispatch(`webextrator/getService`)},methods:{async onRun(){if(!
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,F as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,it as d,j as f,mt as p,rt as m,tt as h,z as g}from"./vendor-chart-Dw-P17PN.js";import{r as _,t as v}from"./select-Di3UGsww.js";import{n as y,t as b}from"./tabs-DXeBF6KU.js";import{t as x}from"./tooltip-jqJWhgyZ.js";import{t as S}from"./alert-DGYYBnE1.js";import{n as C,r as w}from"./radio-DgDgyT2l.js";import{n as T,t as E}from"./collapse-BMyD0Y8R.js";import{t as D}from"./drawer-CjLCvbRN.js";import{t as O}from"./input-number-CoPVNWot.js";import{t as k}from"./switch-HngYkRvP.js";import{t as A}from"./clock-DOd8StlC.js";import{t as j}from"./external-link-BzvG5P1j.js";import{t as M}from"./globe-BLeJX6nO.js";import{t as N}from"./info-49D0pH7L.js";import{t as P}from"./loader-circle-Bz4oy7sp.js";import{t as F}from"./sliders-horizontal-lVDvoWEI.js";import{t as ee}from"./tag-BrKieOKP.js";import{t as te}from"./wand-sparkles-BXP4Nw7x.js";import{t as I}from"./zap-B4KcP1k5.js";import"./constants-Dm-HitpB.js";import{Ci as L,E as R,Ji as z,Oi as B,Ti as V,Yt as H,ci as U,in as W,zi as G}from"./index-DaBvc5vs.js";import{t as K}from"./CopyToClipboard-DaX_1dOX.js";import{t as q}from"./Consumption-CVm_v4Wi.js";var J=L(`signal`,[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}],[`path`,{d:`M17 20V8`,key:`1tkaf5`}],[`path`,{d:`M22 4v16`,key:`sih9yq`}]]),Y=g({name:`LayoutWebextrator`,components:{ControlsIcon:F,ElDrawer:D,ElButton:G},data(){return{drawer:!1}}}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[340px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(t,n,r,i,o,c){let l=u(`controls-icon`),f=u(`el-button`),m=u(`el-drawer`);return h(),s(`div`,X,[e(`div`,Z,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Q,[d(t.$slots,`result`,{},void 0,!0)]),a(f,{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(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=R(Y,[[`render`,ne],[`__scopeId`,`data-v-0ca47a5f`]]),ie=g({name:`ModeSelector`,components:{GlobeIcon:M,MagicIcon:te,ElRadioGroup:w,ElRadioButton:C},computed:{value:{get(){return this.$store.state.webextrator?.config?.mode},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,mode:e})}}}}),ae={class:`field`},oe={class:`title font-bold`};function se(t,n,o,c,l,d){let f=u(`magic-icon`),m=u(`el-radio-button`),g=u(`globe-icon`),_=u(`el-radio-group`);return h(),s(`div`,ae,[e(`h2`,oe,i(t.$t(`webextrator.name.mode`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value w-full`},{default:p(()=>[a(m,{label:`extract`,value:`extract`},{default:p(()=>[a(f,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`webextrator.mode.extract`)),1)]),_:1}),a(m,{label:`render`,value:`render`},{default:p(()=>[a(g,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`webextrator.mode.render`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var ce=R(ie,[[`render`,se],[`__scopeId`,`data-v-76c5bea5`]]),le=g({name:`UrlInput`,components:{ElInput:z},emits:[`submit`],computed:{url:{get(){return this.$store.state.webextrator?.config?.url||``},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,url:e})}}},methods:{onEnter(){this.$emit(`submit`)}}}),ue={class:`field`},de={class:`title font-bold`};function fe(n,r,o,l,d,f){let p=u(`el-input`);return h(),s(`div`,ue,[e(`h2`,de,i(n.$t(`webextrator.name.url`)),1),a(p,{modelValue:n.url,"onUpdate:modelValue":r[0]||=e=>n.url=e,type:`textarea`,rows:2,class:`prompt`,placeholder:n.$t(`webextrator.placeholder.url`),onKeydown:c(t(n.onEnter,[`exact`,`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`])])}var pe=R(le,[[`render`,fe],[`__scopeId`,`data-v-18488009`]]),me=g({name:`ExpectedTypeSelector`,components:{ElSelect:_,ElOption:v},computed:{value:{get(){return this.$store.state.webextrator?.config?.expected_type},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,expected_type:e})}}},mounted(){this.value||=`general`}}),he={class:`field`},ge={class:`title font-bold`};function _e(t,n,r,o,c,l){let d=u(`el-option`),f=u(`el-select`);return h(),s(`div`,he,[e(`h2`,ge,i(t.$t(`webextrator.name.expectedType`)),1),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:p(()=>[a(d,{value:`general`,label:t.$t(`webextrator.expectedType.general`)},null,8,[`label`]),a(d,{value:`article`,label:t.$t(`webextrator.expectedType.article`)},null,8,[`label`]),a(d,{value:`product`,label:t.$t(`webextrator.expectedType.product`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ve=R(me,[[`render`,_e],[`__scopeId`,`data-v-3b572c49`]]),ye=g({name:`LlmToggle`,components:{InfoIcon:N,ElSwitch:k,ElTooltip:x},computed:{value:{get(){return!!this.$store.state.webextrator?.config?.enable_llm},set(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,enable_llm:e})}}}}),be={class:`field`},xe={class:`title font-bold`};function Se(t,n,o,c,l,d){let f=u(`info-icon`),m=u(`el-tooltip`),g=u(`el-switch`);return h(),s(`div`,be,[e(`h2`,xe,[r(i(t.$t(`webextrator.name.enableLlm`))+` `,1),a(m,{effect:`dark`,content:t.$t(`webextrator.description.enableLlm`),placement:`top`},{default:p(()=>[a(f,{class:`ml-1 text-[var(--el-text-color-secondary)] text-xs`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])]),a(g,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])}var Ce=R(ye,[[`render`,Se],[`__scopeId`,`data-v-a0c2f78c`]]),we=[`image`,`font`,`media`,`stylesheet`,`xhr`,`fetch`],Te=g({name:`AdvancedOptions`,components:{ElCollapse:E,ElCollapseItem:T,ElInput:z,ElInputNumber:O,ElSelect:_,ElOption:v},data(){return{active:[]}},computed:{resourceKinds(){return we},waitUntil:{get(){return this.$store.state.webextrator?.config?.wait_until||`networkidle`},set(e){this.commit({wait_until:e})}},waitForSelector:{get(){return this.$store.state.webextrator?.config?.wait_for_selector||``},set(e){this.commit({wait_for_selector:e})}},timeout:{get(){return this.$store.state.webextrator?.config?.timeout??30},set(e){this.commit({timeout:e})}},delay:{get(){return this.$store.state.webextrator?.config?.delay??0},set(e){this.commit({delay:e})}},blockResources:{get(){return this.$store.state.webextrator?.config?.block_resources||[]},set(e){this.commit({block_resources:e})}}},methods:{commit(e){this.$store.commit(`webextrator/setConfig`,{...this.$store.state.webextrator?.config,...e})}}}),Ee={class:`field`},De={class:`sub-title`},Oe={class:`field`},ke={class:`sub-title`},Ae={class:`field`},je={class:`sub-title`},Me={class:`field`},Ne={class:`sub-title`},Pe={class:`field`},Fe={class:`sub-title`};function Ie(t,n,r,o,c,d){let g=u(`el-option`),_=u(`el-select`),v=u(`el-input`),y=u(`el-input-number`),b=u(`el-collapse-item`),x=u(`el-collapse`);return h(),f(x,{modelValue:t.active,"onUpdate:modelValue":n[5]||=e=>t.active=e,class:`advanced`},{default:p(()=>[a(b,{title:t.$t(`webextrator.name.advanced`),name:`advanced`},{default:p(()=>[e(`div`,Ee,[e(`h2`,De,i(t.$t(`webextrator.name.waitUntil`)),1),a(_,{modelValue:t.waitUntil,"onUpdate:modelValue":n[0]||=e=>t.waitUntil=e,class:`value`},{default:p(()=>[a(g,{value:`networkidle`,label:t.$t(`webextrator.waitUntil.networkidle`)},null,8,[`label`]),a(g,{value:`load`,label:t.$t(`webextrator.waitUntil.load`)},null,8,[`label`]),a(g,{value:`domcontentloaded`,label:t.$t(`webextrator.waitUntil.domcontentloaded`)},null,8,[`label`]),a(g,{value:`commit`,label:t.$t(`webextrator.waitUntil.commit`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),e(`div`,Oe,[e(`h2`,ke,i(t.$t(`webextrator.name.waitForSelector`)),1),a(v,{modelValue:t.waitForSelector,"onUpdate:modelValue":n[1]||=e=>t.waitForSelector=e,placeholder:t.$t(`webextrator.placeholder.waitForSelector`)},null,8,[`modelValue`,`placeholder`])]),e(`div`,Ae,[e(`h2`,je,i(t.$t(`webextrator.name.timeout`)),1),a(y,{modelValue:t.timeout,"onUpdate:modelValue":n[2]||=e=>t.timeout=e,min:1,max:120,step:5,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),e(`div`,Me,[e(`h2`,Ne,i(t.$t(`webextrator.name.delay`)),1),a(y,{modelValue:t.delay,"onUpdate:modelValue":n[3]||=e=>t.delay=e,min:0,max:30,step:1,"controls-position":`right`,class:`w-full`},null,8,[`modelValue`])]),e(`div`,Pe,[e(`h2`,Fe,i(t.$t(`webextrator.name.blockResources`)),1),a(_,{modelValue:t.blockResources,"onUpdate:modelValue":n[4]||=e=>t.blockResources=e,multiple:``,"collapse-tags":``,placeholder:t.$t(`webextrator.placeholder.blockResources`),class:`w-full`},{default:p(()=>[(h(!0),s(l,null,m(t.resourceKinds,e=>(h(),f(g,{key:e,label:t.$t(`webextrator.blockResource.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var Le=g({name:`WebextratorConfigPanel`,components:{LightningIcon:I,ElButton:G,ModeSelector:ce,UrlInput:pe,ExpectedTypeSelector:ve,LlmToggle:Ce,AdvancedOptions:R(Te,[[`render`,Ie],[`__scopeId`,`data-v-8f36d2df`]]),Consumption:q},emits:[`run`],computed:{config(){return this.$store.state.webextrator?.config},service(){return this.$store.state.webextrator?.service},consumption(){return H(this.config||{},this.service?.cost)},running(){return this.$store.state.webextrator?.status?.run===U.Request},isExtract(){return(this.config?.mode||`extract`)===`extract`},canRun(){let e=(this.config?.url||``).trim();return/^https?:\/\//i.test(e)}},methods:{onRun(){this.canRun&&this.$emit(`run`)}}}),Re={class:`flex flex-col h-full`},ze={class:`flex-1 overflow-y-auto p-5`},Be={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ve(t,n,c,d,f,m){let g=u(`mode-selector`),_=u(`url-input`),v=u(`expected-type-selector`),y=u(`llm-toggle`),b=u(`advanced-options`),x=u(`consumption`),S=u(`lightning-icon`),C=u(`el-button`);return h(),s(`div`,Re,[e(`div`,ze,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`,onSubmit:t.onRun},null,8,[`onSubmit`]),t.isExtract?(h(),s(l,{key:0},[a(v,{class:`mb-4`}),a(y,{class:`mb-4`})],64)):o(``,!0),a(b,{class:`mb-4`})]),e(`div`,Be,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`w-full`,round:``,loading:t.running,disabled:!t.canRun,onClick:t.onRun},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(t.isExtract?`webextrator.button.extract`:`webextrator.button.render`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])}var He=R(Le,[[`render`,Ve]]),Ue=e=>!!e&&e.kind!==`render`,We=g({name:`WebextratorResultPanel`,components:{ExternalLinkIcon:j,GlobeIcon:M,LabelIcon:ee,LoadingIcon:P,SignalIcon:J,TimeIcon:A,ElAlert:S,ElImage:B,ElTabs:y,ElTabPane:b,CopyToClipboard:K},data(){return{activeTab:`markdown`}},computed:{response(){return this.$store.state.webextrator?.response},running(){return this.$store.state.webextrator?.status?.run===U.Request},data(){return this.response?.data},renderData(){return this.data&&this.data.kind===`render`?this.data:void 0},extractData(){return Ue(this.data)?this.data:void 0},finalUrl(){let e=this.data;return e?.finalUrl||e?.final_url||e?.url},contentTypeLabel(){let e=this.data;return e?.contentType||e?.content_type||e?.expected_type},screenshotSrc(){let e=this.data?.screenshot;if(e)return e.startsWith(`data:`)||e.startsWith(`http`)?e:`data:image/png;base64,${e}`},markdown(){let e=this.data;return e?.markdown||e?.content||``},plainText(){return this.data?.text||``},html(){return this.data?.html||``},links(){return Array.isArray(this.data?.links)?this.data.links:[]},linksPlain(){return this.links.join(`
|
|
2
|
+
`)},images(){return Array.isArray(this.data?.images)?this.data.images:[]},structuredPretty(){return this.extractData?.structured?JSON.stringify(this.extractData.structured,null,2):``},rawPretty(){return this.response?JSON.stringify(this.response,null,2):``},errorMessage(){if(this.response?.success===!1){let e=this.response?.error;return e?.message||e?.code||this.$t(`webextrator.message.failed`)}}},watch:{response:{handler(){this.resetTab()},immediate:!0}},methods:{resetTab(){this.markdown?this.activeTab=`markdown`:this.extractData?.structured?this.activeTab=`structured`:this.plainText?this.activeTab=`text`:this.html?this.activeTab=`html`:this.activeTab=`raw`}}}),Ge={class:`h-full overflow-y-auto p-6`},Ke={key:0,class:`max-w-4xl mx-auto py-4`},qe={class:`flex items-center gap-2 mb-3 text-[var(--el-color-primary)] text-sm`},Je={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Ye={class:`text-base mb-1`},Xe={class:`text-xs opacity-70`},Ze={key:2,class:`max-w-4xl mx-auto py-4`},Qe={class:`text-xs whitespace-pre-wrap break-words`},$e={key:3,class:`max-w-4xl mx-auto`},et={class:`mb-4`},tt={class:`text-xl font-semibold leading-snug mb-1 break-words text-[var(--el-text-color-primary)]`},nt={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-[var(--el-text-color-secondary)]`},rt=[`href`],it={key:1},at={key:2},ot={key:3},st={key:0,class:`mt-2 text-sm text-[var(--el-text-color-regular)] leading-relaxed line-clamp-3`},ct={key:0,class:`mb-5`},lt={class:`tab-toolbar`},ut={class:`content-block`},dt={class:`tab-toolbar`},ft={class:`content-block`},$={class:`tab-toolbar`},pt={class:`content-block code`},mt={class:`tab-toolbar`},ht={class:`links-list`},gt=[`href`],_t={class:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2`},vt={class:`tab-toolbar`},yt={class:`content-block code`},bt={class:`tab-toolbar`},xt={class:`content-block code`};function St(t,c,d,g,_,v){let y=u(`loading-icon`),b=u(`globe-icon`),x=u(`el-alert`),S=u(`external-link-icon`),C=u(`signal-icon`),w=u(`time-icon`),T=u(`label-icon`),E=u(`el-image`),D=u(`copy-to-clipboard`),O=u(`el-tab-pane`),k=u(`el-tabs`);return h(),s(`div`,Ge,[t.running?(h(),s(`div`,Ke,[e(`div`,qe,[a(y,{class:`adc-icon-spin`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.$t(`webextrator.message.running`)),1)]),c[1]||=n(`<div class="mb-6 animate-pulse" data-v-4ec341a6><div class="h-5 w-3/5 rounded bg-[var(--el-fill-color-dark)] mb-2" data-v-4ec341a6></div><div class="h-3 w-2/5 rounded bg-[var(--el-fill-color)] mb-4" data-v-4ec341a6></div><div class="h-64 w-full rounded bg-[var(--el-fill-color)] mb-3" data-v-4ec341a6></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1" data-v-4ec341a6></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)] mb-1" data-v-4ec341a6></div><div class="h-3 w-4/6 rounded bg-[var(--el-fill-color)]" data-v-4ec341a6></div></div>`,1)])):!t.response&&!t.errorMessage?(h(),s(`div`,Je,[a(b,{class:`text-6xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Ye,i(t.$t(`webextrator.description.intro`)),1),e(`p`,Xe,i(t.$t(`webextrator.description.introHint`)),1)])):t.errorMessage?(h(),s(`div`,Ze,[a(x,{type:`error`,closable:!1,"show-icon":``,title:t.$t(`webextrator.message.failed`)},{default:p(()=>[e(`pre`,Qe,i(t.errorMessage),1)]),_:1},8,[`title`])])):t.data?(h(),s(`div`,$e,[e(`header`,et,[e(`h1`,tt,i(t.data.title||t.$t(`webextrator.message.untitled`)),1),e(`div`,nt,[t.finalUrl?(h(),s(`a`,{key:0,href:t.finalUrl,target:`_blank`,rel:`noopener`,class:`hover:underline truncate max-w-[60%]`},[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.finalUrl),1)],8,rt)):o(``,!0),t.renderData?.status?(h(),s(`span`,it,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.renderData.status),1)])):o(``,!0),t.response?.elapsed?(h(),s(`span`,at,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.response.elapsed.toFixed(2))+`s `,1)])):o(``,!0),t.contentTypeLabel?(h(),s(`span`,ot,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.contentTypeLabel),1)])):o(``,!0)]),t.extractData?.description?(h(),s(`p`,st,i(t.extractData.description),1)):o(``,!0)]),t.screenshotSrc?(h(),s(`figure`,ct,[a(E,{src:t.screenshotSrc,fit:`contain`,"preview-src-list":[t.screenshotSrc],"preview-teleported":``,"hide-on-click-modal":``,class:`w-full max-h-[480px] rounded border border-[var(--app-border-subtle)] bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`])])):o(``,!0),a(k,{modelValue:t.activeTab,"onUpdate:modelValue":c[0]||=e=>t.activeTab=e,class:`result-tabs`},{default:p(()=>[t.markdown?(h(),f(O,{key:0,label:t.$t(`webextrator.tab.markdown`),name:`markdown`},{default:p(()=>[e(`div`,lt,[a(D,{content:t.markdown},null,8,[`content`])]),e(`pre`,ut,i(t.markdown),1)]),_:1},8,[`label`])):o(``,!0),t.plainText?(h(),f(O,{key:1,label:t.$t(`webextrator.tab.text`),name:`text`},{default:p(()=>[e(`div`,dt,[a(D,{content:t.plainText},null,8,[`content`])]),e(`pre`,ft,i(t.plainText),1)]),_:1},8,[`label`])):o(``,!0),t.extractData?.structured?(h(),f(O,{key:2,label:t.$t(`webextrator.tab.structured`),name:`structured`},{default:p(()=>[e(`div`,$,[a(D,{content:t.structuredPretty},null,8,[`content`])]),e(`pre`,pt,i(t.structuredPretty),1)]),_:1},8,[`label`])):o(``,!0),t.links.length?(h(),f(O,{key:3,label:`${t.$t(`webextrator.tab.links`)} (${t.links.length})`,name:`links`},{default:p(()=>[e(`div`,mt,[a(D,{content:t.linksPlain},null,8,[`content`])]),e(`ul`,ht,[(h(!0),s(l,null,m(t.links,(t,n)=>(h(),s(`li`,{key:n,class:`truncate`},[e(`a`,{href:t,target:`_blank`,rel:`noopener`},i(t),9,gt)]))),128))])]),_:1},8,[`label`])):o(``,!0),t.images.length?(h(),f(O,{key:4,label:`${t.$t(`webextrator.tab.images`)} (${t.images.length})`,name:`images`},{default:p(()=>[e(`div`,_t,[(h(!0),s(l,null,m(t.images,(e,n)=>(h(),f(E,{key:n,src:e,fit:`cover`,loading:`lazy`,"preview-src-list":t.images,"initial-index":n,"preview-teleported":``,"hide-on-click-modal":``,class:`aspect-square w-full rounded bg-[var(--el-fill-color-light)]`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])]),_:1},8,[`label`])):o(``,!0),t.html?(h(),f(O,{key:5,label:t.$t(`webextrator.tab.html`),name:`html`},{default:p(()=>[e(`div`,vt,[a(D,{content:t.html},null,8,[`content`])]),e(`pre`,yt,i(t.html),1)]),_:1},8,[`label`])):o(``,!0),a(O,{label:t.$t(`webextrator.tab.raw`),name:`raw`},{default:p(()=>[e(`div`,bt,[a(D,{content:t.rawPretty},null,8,[`content`])]),e(`pre`,xt,i(t.rawPretty),1)]),_:1},8,[`label`])]),_:1},8,[`modelValue`])])):o(``,!0)])}var Ct=g({name:`WebextratorIndex`,components:{Layout:re,ConfigPanel:He,ResultPanel:R(We,[[`render`,St],[`__scopeId`,`data-v-4ec341a6`]])},inject:[`initialized`],async mounted(){await this.$store.dispatch(`webextrator/getService`)},methods:{async onRun(){if(!W())return;let e=this.$store.state.webextrator?.config;if(!e?.url)return;let t=(e.mode||`extract`)===`extract`;V.info(this.$t(t?`webextrator.message.extracting`:`webextrator.message.rendering`));try{await this.$store.dispatch(`webextrator/run`),V.success(this.$t(`webextrator.message.success`))}catch(e){let t=e?.response?.data?.error?.code||e?.response?.data?.code;t===`used_up`?V.error(this.$t(`webextrator.message.usedUp`)):t===`too_many_requests`?V.error(this.$t(`webextrator.message.busy`)):t===`timeout`?V.error(this.$t(`webextrator.message.timeout`)):t===`antibot_blocked`?V.error(this.$t(`webextrator.message.antibotBlocked`)):V.error(this.$t(`webextrator.message.failed`))}}}});function wt(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`result-panel`),l=u(`layout`);return h(),f(l,null,{config:p(()=>[a(s,{onRun:e.onRun},null,8,[`onRun`])]),result:p(()=>[a(c)]),_:1})}var Tt=R(Ct,[[`render`,wt]]);export{Tt as default};
|