@acedatacloud/nexior 3.356.2 → 3.356.4
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-CiYVI-BW.js → ApiCodeButton-Xu21Doha.js} +1 -1
- package/dist/assets/{Artifacts-oV-cxX6-.js → Artifacts-CzqRzxMh.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-BJ5H7v3C.js → AskUserQuestionCard-CG1lAYBK.js} +1 -1
- package/dist/assets/{Auth-DmbX4IcG.js → Auth-BaMkoXW2.js} +1 -1
- package/dist/assets/{Bare-CKC6gxoC.js → Bare-sasJr4V1.js} +1 -1
- package/dist/assets/{BotPlaceholder-CWVuEjbL.js → BotPlaceholder-Cphp5w1L.js} +1 -1
- package/dist/assets/{BottomFooter-C80gDUXR.js → BottomFooter-C0MAFR5r.js} +1 -1
- package/dist/assets/{BrowserPairingDialog-NGsMVfzJ.js → BrowserPairingDialog-CVpfj6bQ.js} +1 -1
- package/dist/assets/{Callback-CEITpQWh.js → Callback-2I7cmtKG.js} +1 -1
- package/dist/assets/{CodeSnippet-BUumFIYE.js → CodeSnippet-CEruFBMa.js} +1 -1
- package/dist/assets/{Console-DaKR60hu.js → Console-D8dRIUKU.js} +1 -1
- package/dist/assets/{Consumption-64yHTpsG.js → Consumption-DrrnDc02.js} +1 -1
- package/dist/assets/{Conversation-Br3QCbxZ.js → Conversation-DoO9iOxX.js} +1 -1
- package/dist/assets/{Conversation-fDmuX-NP.js → Conversation-hTMTTIiZ.js} +1 -1
- package/dist/assets/{CopyToClipboard-BoetcLMP.js → CopyToClipboard-P1yaIIEd.js} +1 -1
- package/dist/assets/{Detail-xLit1ZcQ.js → Detail-C_tWDuBd.js} +2 -2
- package/dist/assets/{Extra-C2v1moyP.js → Extra-wHHGetuF.js} +1 -1
- package/dist/assets/{FilePreview-CL9QnaXZ.js → FilePreview-CK2HoS-Z.js} +1 -1
- package/dist/assets/{Hailuo-BgKkSb1Z.js → Hailuo-0JIK6DOO.js} +1 -1
- package/dist/assets/{History-Csx7tGHq.js → History-C5CIJiX_.js} +1 -1
- package/dist/assets/{ImagePreview-Bc9stSGF.js → ImagePreview-D7SZPPgL.js} +1 -1
- package/dist/assets/{ImageWrapper-BU9rTzRE.js → ImageWrapper-CDudZK75.js} +1 -1
- package/dist/assets/{Index-BWKAgE_L.js → Index-0dcue--r.js} +1 -1
- package/dist/assets/{Index-ByElOcMX.js → Index-4HzOjpgv.js} +1 -1
- package/dist/assets/{Index-EXzPO3cH.js → Index-B3gh7LdS.js} +1 -1
- package/dist/assets/Index-B9pfa1cu.js +1 -0
- package/dist/assets/Index-BU-Jt2iC.css +1 -0
- package/dist/assets/{Index-C7sDNFdr.js → Index-Bgeave8Z.js} +1 -1
- package/dist/assets/{Index-BbpkGoZb.js → Index-BjdjjH1A.js} +1 -1
- package/dist/assets/{Index-C79dNjpN.js → Index-BkfrlCAV.js} +1 -1
- package/dist/assets/{Index-BMvzcOYA.js → Index-BnlWqa7D.js} +1 -1
- package/dist/assets/{Index-D1mfppvZ.js → Index-BrVtB6cq.js} +1 -1
- package/dist/assets/{Index-BSOYkVrY2.js → Index-C-H_DJZ32.js} +1 -1
- package/dist/assets/{Index-BzEW9qOH.js → Index-C871pUj5.js} +1 -1
- package/dist/assets/{Index-MJKawRgO.js → Index-CE07sWJf.js} +1 -1
- package/dist/assets/Index-CEi5GONZ.js +1 -0
- package/dist/assets/{Index-B1r3Gul3.js → Index-CK7wSROQ.js} +1 -1
- package/dist/assets/{Index-D1kTVn4v.js → Index-COGFsKb4.js} +1 -1
- package/dist/assets/{Index-D2mc8okS.css → Index-CQG3GmCL.css} +1 -1
- package/dist/assets/{Index-CUKoS2jG2.js → Index-CQtnR9qq2.js} +1 -1
- package/dist/assets/{Index-DHDKggl22.js → Index-CXJ-2bd02.js} +1 -1
- package/dist/assets/{Index-DVb4v3oF.js → Index-C_mhnnc7.js} +1 -1
- package/dist/assets/{Index-CzZIKZir.js → Index-ChRBKHU0.js} +1 -1
- package/dist/assets/{Index-BLkVvuW1.js → Index-DFtHPWzK.js} +1 -1
- package/dist/assets/{Index-ip9nThQe.js → Index-DOyTW-5d.js} +1 -1
- package/dist/assets/{Index-CHjMy5ex2.js → Index-DTgYQM7a2.js} +1 -1
- package/dist/assets/{Index-d0Ax26tm.js → Index-DXVG1gvI.js} +1 -1
- package/dist/assets/{Index-CxtAOMuR2.js → Index-DXoHy4Pn2.js} +1 -1
- package/dist/assets/{Index-fb0d5Ij8.js → Index-Di56DtVD.js} +1 -1
- package/dist/assets/{Index-CFxfsEB3.js → Index-DkftTpIk.js} +1 -1
- package/dist/assets/{Index-B7ZIhLPz.js → Index-DpyMjOJE.js} +1 -1
- package/dist/assets/{Index-fCMXDMdR.js → Index-DsQtXNE7.js} +1 -1
- package/dist/assets/{Index-BZIytdwE.js → Index-DvV7n1zt.js} +1 -1
- package/dist/assets/{Index-D29WuERC.js → Index-EC5xwHfg.js} +1 -1
- package/dist/assets/{Index-CbYgQHvA.js → Index-T8IawVK4.js} +1 -1
- package/dist/assets/{Index-cmED8Wf82.js → Index-oN7N6QmQ2.js} +1 -1
- package/dist/assets/{Index-Dp4r7Gxt.js → Index-pRCbDBz0.js} +1 -1
- package/dist/assets/{Index-DVZYw8Ti.js → Index-qmpu8rV0.js} +1 -1
- package/dist/assets/{Invitees-Cjh_HkSH.js → Invitees-B7BDOC-v.js} +1 -1
- package/dist/assets/{List-Dj0wsQZF.js → List-DWfGi6sY.js} +1 -1
- package/dist/assets/{List-pfCsf92F.js → List-DzuEPa3P.js} +1 -1
- package/dist/assets/{List-dw1Xv1Kt.js → List-XiNR1aE8.js} +1 -1
- package/dist/assets/{LocalTools-L1Z9CYWz.js → LocalTools-Bb1sQZSp.js} +1 -1
- package/dist/assets/{LocalTools-Dz6pS18B.js → LocalTools-DuS_LZoO.js} +1 -1
- package/dist/assets/{Logo-IS52iyq3.js → Logo-DaSShHcw.js} +1 -1
- package/dist/assets/{Main-CKzyMm5n.js → Main-Db1vpRc6.js} +1 -1
- package/dist/assets/{Message-CYvcKMlp.js → Message-DeioDyCA.js} +2 -2
- package/dist/assets/{Model-C2N_nPmj.js → Model-C0EQ6qps.js} +1 -1
- package/dist/assets/{Navigator-DbZtnb_p.js → Navigator-CrHtL_hB.js} +3 -3
- package/dist/assets/{NotFound-P7fqDiGG.js → NotFound-B9fpH9S6.js} +1 -1
- package/dist/assets/{PageHeader-SdNvT1p3.js → PageHeader-Tdao2cJq.js} +1 -1
- package/dist/assets/{Pay-CkRLPLzC.js → Pay-Cr5CXyPy.js} +1 -1
- package/dist/assets/{Player-cWxD5Tss.js → Player-DBuN2RDs.js} +1 -1
- package/dist/assets/{Poivelle-BnqjulQy.js → Poivelle-DcZBUn63.js} +1 -1
- package/dist/assets/{RealtimeCall-Bp8EL62t.js → RealtimeCall-CReealiS.js} +1 -1
- package/dist/assets/{ReportButton-D7JGzuC6.js → ReportButton-DGmAAhbu.js} +1 -1
- package/dist/assets/{ReportDialog-DmMuOP3a.js → ReportDialog-BoIqksHF.js} +1 -1
- package/dist/assets/{ScheduledTasks-DTSyAEUZ.js → ScheduledTasks-m1iIrHVR.js} +1 -1
- package/dist/assets/{Status-CSRYA8fU.js → Status-DnGPb6gL.js} +1 -1
- package/dist/assets/{Subscribe-Ci1vhdb7.js → Subscribe-B2BmLjtq.js} +1 -1
- package/dist/assets/{TabSwitcher-ClLXbedz.js → TabSwitcher-uHvguPMy.js} +1 -1
- package/dist/assets/{Tts-BtFmYfFd.js → Tts-BN-qgcKs.js} +1 -1
- package/dist/assets/{VideoPlayer-DZajGyHg.js → VideoPlayer-CekxyRb2.js} +1 -1
- package/dist/assets/{VideoPreview-yy9EIf_l.js → VideoPreview-C40uaHUN.js} +1 -1
- package/dist/assets/arrow-down-7-7JJ_4t.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-Bh9l3U0_.js → arrow-down-wide-narrow-CvQuXkVq.js} +1 -1
- package/dist/assets/arrow-left-D9V5JLVJ.js +1 -0
- package/dist/assets/arrow-right-CQNhBomo.js +1 -0
- package/dist/assets/arrow-up-CJQ-wTEP.js +1 -0
- package/dist/assets/{authorizeFlow-B9aZMxfA.js → authorizeFlow-Bjp_nYzF.js} +1 -1
- package/dist/assets/{avatar-D8dj7T0j.js → avatar-DCNitqNA.js} +1 -1
- package/dist/assets/{basic-BRAq7Qs_.js → basic-DctCkyuK.js} +1 -1
- package/dist/assets/{book-open-Bgt2CzJP.js → book-open-D3en4xKo.js} +1 -1
- package/dist/assets/{box-K1AOg2Dt.js → box-4-9crZjA.js} +1 -1
- package/dist/assets/{boxes-nkCCYn_H.js → boxes-DEj-Jpkg.js} +1 -1
- package/dist/assets/{brain-OfFe2iNh.js → brain-BDfvXAYj.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-NmmizHnk.js → chart-no-axes-combined-KsQOcXjm.js} +1 -1
- package/dist/assets/{chat-fmefJyfA.js → chat-Bi9dt0o4.js} +1 -1
- package/dist/assets/check-DlBiKMMT.js +1 -0
- package/dist/assets/chevron-down-DNF9n4uv.js +1 -0
- package/dist/assets/chevron-right-N8JOyfvh.js +1 -0
- package/dist/assets/circle-check-C7X984wD.js +1 -0
- package/dist/assets/{circle-question-mark-J5LrgC7z.js → circle-question-mark-C2d1olJN.js} +1 -1
- package/dist/assets/{clipboard-list-D6rxrE8d.js → clipboard-list-DMS6zJDR.js} +1 -1
- package/dist/assets/clock-BBp05BQI.js +1 -0
- package/dist/assets/code-CE6oVN-l.js +1 -0
- package/dist/assets/{codingBridge-CWXTjgaq.js → codingBridge-ujDCPmv8.js} +2 -2
- package/dist/assets/{codingBridgeNotify-CNQGGqEk.js → codingBridgeNotify-u9COFxYv.js} +2 -2
- package/dist/assets/{coins-CA8lophH.js → coins-OxjGENzt.js} +1 -1
- package/dist/assets/{collapse-LIyzteME.js → collapse-DB5d4IGq.js} +1 -1
- package/dist/assets/constants-CLU-fDDu.js +1 -0
- package/dist/assets/{copy-B489PY7H.js → copy-BizdVpDe.js} +1 -1
- package/dist/assets/{createTaskActions-hQu69zYP.js → createTaskActions-LcZV_lE9.js} +1 -1
- package/dist/assets/{digitalhuman-C-m4TlWk.js → digitalhuman-BeP6EN5W.js} +1 -1
- package/dist/assets/{dollar-sign-d8zK5thl.js → dollar-sign-9AyRDRoz.js} +1 -1
- package/dist/assets/{download-CoMPboZJ.js → download-CeAWar5e.js} +1 -1
- package/dist/assets/{drawer-BMRGHI-3.js → drawer-CzQ0A6Bq.js} +1 -1
- package/dist/assets/{dropdown-fFM8TrPr.js → dropdown-BtGMhNsE.js} +1 -1
- package/dist/assets/{dropdown-DzzmAJqH.js → dropdown-pOD9WyGl.js} +1 -1
- package/dist/assets/{ellipsis-Cxuin38H.js → ellipsis-Do5PRc0G.js} +1 -1
- package/dist/assets/{esm-DWKsBcY1.js → esm-BiXF-y2J.js} +3 -3
- package/dist/assets/esm-DAIL3wUn.js +1 -0
- package/dist/assets/{esm-E98t4dD8.js → esm-DGZpmDh_.js} +1 -1
- package/dist/assets/{esm-DlTz8W4O.js → esm-DPQorKmp.js} +2 -2
- package/dist/assets/{esm-xG4UB0yZ.js → esm-Di9LUYrZ.js} +2 -2
- package/dist/assets/{esm-DtlST3qG.js → esm-Ds0Rkk-R.js} +1 -1
- package/dist/assets/{esm-BDC0wUT8.js → esm-jckNbdc9.js} +1 -1
- package/dist/assets/{external-link-CgEa7yis.js → external-link-C6gy8Xm_.js} +1 -1
- package/dist/assets/{eye-C4SyrpXf.js → eye-CDshsHwE.js} +1 -1
- package/dist/assets/{file-BNfEG5IF.js → file-BvSa9ufI.js} +1 -1
- package/dist/assets/{file-output-DNvvFeOx.js → file-output-BrqeGkvR.js} +1 -1
- package/dist/assets/{file-text--Qjz57wL.js → file-text-DcYOkJ2p.js} +1 -1
- package/dist/assets/{fish-BhaYIY2P.js → fish-Ddg4h_i_.js} +1 -1
- package/dist/assets/{flux-SeBD2b5R.js → flux-6N2l5dHX.js} +1 -1
- package/dist/assets/{folder-DcItLXw1.js → folder-DQoN-X34.js} +1 -1
- package/dist/assets/gauge-DA8mgYMh.js +1 -0
- package/dist/assets/{globe-DcRbETD-.js → globe-CvhdBdM-.js} +1 -1
- package/dist/assets/{grokvideo-CwVElxKX.js → grokvideo-CbgfCLGc.js} +1 -1
- package/dist/assets/{hailuo-maOTnYd1.js → hailuo-DDblv_Ey.js} +1 -1
- package/dist/assets/{headphones-DCnnsYrD.js → headphones-COcXPoxg.js} +1 -1
- package/dist/assets/{history-5dWDE2j4.js → history-D6oyQm5_.js} +1 -1
- package/dist/assets/{house-BIolUNvl.js → house-hN88KR-U.js} +1 -1
- package/dist/assets/{i18n-D69rWLe_.js → i18n-Cqi3MO17.js} +1 -1
- package/dist/assets/{image-l7GEfh5m.js → image-DIFbuUSR.js} +1 -1
- package/dist/assets/{index-DIgS5Gvp.js → index-BdWkx9SU.js} +6 -6
- package/dist/assets/{index.browser.esm-BglHW4F-.js → index.browser.esm-DO1Vhkjk.js} +1 -1
- package/dist/assets/{index.es-Ci-Vjlrb.js → index.es-CD6boxX9.js} +1 -1
- package/dist/assets/{info-C40CnPeL.js → info-BFhGiEMG.js} +1 -1
- package/dist/assets/{input-number-ByXVBT4t.js → input-number-DLmTTyLi.js} +1 -1
- package/dist/assets/intro-2CIeLa4V.js +1 -0
- package/dist/assets/intro-BQHGX5HW.js +1 -0
- package/dist/assets/intro-BTSbJEHO.js +1 -0
- package/dist/assets/intro-BuaD45ZB.js +1 -0
- package/dist/assets/intro-CVqOAs0d.js +1 -0
- package/dist/assets/intro-CX-tVM1n.js +1 -0
- package/dist/assets/intro-CumGy2RC.js +1 -0
- package/dist/assets/intro-D26BGrp9.js +1 -0
- package/dist/assets/intro-D7SWXPm3.js +1 -0
- package/dist/assets/intro-DFfBLUfo.js +1 -0
- package/dist/assets/intro-Dq8aF71M.js +1 -0
- package/dist/assets/intro-HirJwSQO.js +1 -0
- package/dist/assets/intro-JkrATbbK.js +1 -0
- package/dist/assets/intro-Y10dLinG.js +1 -0
- package/dist/assets/intro-Z5WuhH2a.js +1 -0
- package/dist/assets/intro-bo9fZbK4.js +1 -0
- package/dist/assets/intro-msK-p0lY.js +1 -0
- package/dist/assets/intro-zxCwJqFb.js +1 -0
- package/dist/assets/{key-round-D4yW8b4H.js → key-round-bM8mpdKv.js} +1 -1
- package/dist/assets/{kling-BBObHQ4y.js → kling-CJj-wsQq.js} +1 -1
- package/dist/assets/{languages-DPAWujhs.js → languages-8x3U12tx.js} +1 -1
- package/dist/assets/{laptop-CkMMUQQ5.js → laptop-C2EKyjYc.js} +1 -1
- package/dist/assets/{lightbulb-BYkyNQBq.js → lightbulb-CYRKtwwN.js} +1 -1
- package/dist/assets/{link-DKCPP9JK.js → link-DFHCMKZn.js} +1 -1
- package/dist/assets/loader-circle-BXpeRDvC.js +1 -0
- package/dist/assets/{lock-D-SCAKKf.js → lock-Dwbu9lHM.js} +1 -1
- package/dist/assets/{luma-CWo2eJhn.js → luma-BgdqDQQs.js} +1 -1
- package/dist/assets/{maestro-D6pCMVdC.js → maestro-B8jD31lS.js} +1 -1
- package/dist/assets/maestro-QsaFaQty.js +1 -0
- package/dist/assets/{mail-DsWU4MNx.js → mail-B8qt2YUY.js} +1 -1
- package/dist/assets/{message-circle-PQt0Q2mh.js → message-circle-DaFwZN2R.js} +1 -1
- package/dist/assets/{mic-CrSotd0p.js → mic-CqqkTs2j.js} +1 -1
- package/dist/assets/{midjourney-w3B_dqpl.js → midjourney-DYvR-Luc.js} +1 -1
- package/dist/assets/{mobileLocalExec-CN1GlgN2.js → mobileLocalExec-BzR4hrc-.js} +2 -2
- package/dist/assets/{models-CwEjR6Nf.js → models-BezwK8kr.js} +1 -1
- package/dist/assets/{monitor-BHx1oad3.js → monitor-DJuEd-yy.js} +1 -1
- package/dist/assets/{mouse-pointer-2-BSu7sguX.js → mouse-pointer-2-CBvkEf9f.js} +1 -1
- package/dist/assets/music-2-BPlaXdqG.js +1 -0
- package/dist/assets/{nanobanana-CtkE9yDF.js → nanobanana-FKFjiBOk.js} +1 -1
- package/dist/assets/{omni-DXnPbKHE.js → omni-CELS0ayz.js} +1 -1
- package/dist/assets/{openaiimage-6vtOuJFv.js → openaiimage-Crk7kDwW.js} +1 -1
- package/dist/assets/{pagination-BNPMPfyr.js → pagination-B5GCs88M.js} +1 -1
- package/dist/assets/{pagination-CP5QlGv2.js → pagination-DyrAs5EO.js} +1 -1
- package/dist/assets/{pagination-CebMKB63.js → pagination-NhZwBj0v.js} +1 -1
- package/dist/assets/{palette-DGHTNrTx.js → palette-DnXBCMVe.js} +1 -1
- package/dist/assets/{paperclip-D7VNr9Qq.js → paperclip-CPj0sU8B.js} +1 -1
- package/dist/assets/{pause-Ck2Rq3YJ.js → pause-BNJbbjLO.js} +1 -1
- package/dist/assets/{pencil-Djn9Hc9z.js → pencil-Dazn-vwZ.js} +1 -1
- package/dist/assets/{pika-HczyW99B.js → pika-BMwvjgXG.js} +1 -1
- package/dist/assets/{pixverse-b652Co6y.js → pixverse-B-nTamu5.js} +1 -1
- package/dist/assets/play-DDKHmJys.js +1 -0
- package/dist/assets/{plug-B6e7XxKm.js → plug-jAnpXwOU.js} +1 -1
- package/dist/assets/plus-DsxiwVWq.js +1 -0
- package/dist/assets/{poivelle-BkvmnyzU.js → poivelle-K38KYjzY.js} +1 -1
- package/dist/assets/{popover-Br-sCBHH.js → popover-C7-EcUPb.js} +1 -1
- package/dist/assets/{producer-D0wRhvwS.js → producer-Cm4DDCeW.js} +1 -1
- package/dist/assets/{qrart-BrgI_rXw.js → qrart-CPetWMTG.js} +1 -1
- package/dist/assets/{realtime-mVqPss9r.js → realtime-tc0zeANG.js} +1 -1
- package/dist/assets/{refresh-cw-DqyQYIrN.js → refresh-cw-D_BnZCE0.js} +1 -1
- package/dist/assets/rotate-ccw-BtuuahqB.js +1 -0
- package/dist/assets/rotate-cw-Ds2Pz-cM.js +1 -0
- package/dist/assets/{row-Cbv7FLTy.js → row-B_jKvn5G.js} +1 -1
- package/dist/assets/search-CgsDIdQb.js +1 -0
- package/dist/assets/{seedance-K37GcyFq.js → seedance-DpTjAJGg.js} +1 -1
- package/dist/assets/{seedream-DHdTsMrg.js → seedream-B5ifNSfw.js} +1 -1
- package/dist/assets/{select-CUw_YhcY.js → select-DxlkO65R.js} +1 -1
- package/dist/assets/{serp-b5iBdcvx.js → serp-ByU1O3u6.js} +1 -1
- package/dist/assets/{shield-CzPrLCPw.js → shield-BCzF_179.js} +1 -1
- package/dist/assets/{shuffle-DI8PXiNu.js → shuffle-D2L8tnjA.js} +1 -1
- package/dist/assets/{slider-508i2Vb5.js → slider-BsLm6S1h.js} +1 -1
- package/dist/assets/{solana-wallets-DLq6-GrY.js → solana-wallets-BaSZWJON.js} +2 -2
- package/dist/assets/{solana-wallets-vue-Crh7p7UD.js → solana-wallets-vue-zFiuLTr3.js} +1 -1
- package/dist/assets/{sora-D5EIXmmO.js → sora-SgY0X2te.js} +1 -1
- package/dist/assets/{sparkles-BFNqXTZL.js → sparkles-CYJWqD4D.js} +1 -1
- package/dist/assets/square-DUlbGZuD.js +1 -0
- package/dist/assets/{store-BaH2jfBX.js → store-DxnQ92l1.js} +1 -1
- package/dist/assets/{suno-BuLDW1Vh.js → suno-G_gFhqnt.js} +1 -1
- package/dist/assets/{switch-BHE5VSJC.js → switch-J51NyhGI.js} +1 -1
- package/dist/assets/{table-C42opMok.js → table-BGCs9aQL.js} +1 -1
- package/dist/assets/{tabs-BFs4t-aK.js → tabs-BQRg1x8-.js} +1 -1
- package/dist/assets/{tag-CScqQXGX.js → tag-Dzg8ORBT.js} +1 -1
- package/dist/assets/terminal-FdeXyUYD.js +1 -0
- package/dist/assets/{time-picker-CEYuPPVi.js → time-picker-CqoCSffr.js} +1 -1
- package/dist/assets/{tooltip-xGYGkgTR.js → tooltip-C_Jr9jzb.js} +1 -1
- package/dist/assets/{trash-2-xb-Jm4i0.js → trash-2-BQLGMG1w.js} +1 -1
- package/dist/assets/{triangle-alert-COLtfogn.js → triangle-alert-ShrL63ju.js} +1 -1
- package/dist/assets/{upload-Bu37nR-5.js → upload-CNBzy6GU.js} +1 -1
- package/dist/assets/{upload-CI1ZP51F.js → upload-CaDoepuW.js} +1 -1
- package/dist/assets/user-BIWRv3hf.js +1 -0
- package/dist/assets/{veo-Bl64NYd7.js → veo-BGQfNjVF.js} +1 -1
- package/dist/assets/{video-CYTJ80IP.js → video-C99OMS5v.js} +1 -1
- package/dist/assets/{volume-2-Cd9jV3NX.js → volume-2-C3UYEUV3.js} +1 -1
- package/dist/assets/{wallet-g88KrNyB.js → wallet-BvlkH9z-.js} +1 -1
- package/dist/assets/{wan-a4X7kt1x.js → wan-uXSWUeus.js} +1 -1
- package/dist/assets/{wand-sparkles-DDyMsIR4.js → wand-sparkles-DEWXPZMX.js} +1 -1
- package/dist/assets/{web-Bk36mANR.js → web-CNOvgQuJ.js} +1 -1
- package/dist/assets/{web-BK1giVaU.js → web-CWsXaaIe.js} +1 -1
- package/dist/assets/{web-BrXDDpbD.js → web-CZ3_dHr7.js} +1 -1
- package/dist/assets/{web-BSXd6Enl.js → web-DINxD1A7.js} +1 -1
- package/dist/assets/{web-CN5hmZ5J.js → web-vrVWjNtV.js} +1 -1
- package/dist/assets/{webextrator-J-SZn-nF.js → webextrator-GDcDe6T9.js} +1 -1
- package/dist/assets/{zap-UpSN-PKO.js → zap-Y_oaUEuS.js} +1 -1
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/Index-DNp3_EIy.js +0 -1
- package/dist/assets/Index-Dt0MGZVR.css +0 -1
- package/dist/assets/Index-Dy27xVwA.js +0 -1
- package/dist/assets/arrow-down-D1ze7Zz7.js +0 -1
- package/dist/assets/arrow-left-i-SsgbVR.js +0 -1
- package/dist/assets/arrow-right-HPaEW4ct.js +0 -1
- package/dist/assets/arrow-up-DPsaJu0u.js +0 -1
- package/dist/assets/check-D7wYAXxh.js +0 -1
- package/dist/assets/chevron-down-7kJMC2ch.js +0 -1
- package/dist/assets/chevron-right-BaNlttpH.js +0 -1
- package/dist/assets/circle-check-BlfTJ16z.js +0 -1
- package/dist/assets/clock-CS3ZX4nf.js +0 -1
- package/dist/assets/code-C18Pb5Rt.js +0 -1
- package/dist/assets/constants-CQR8cCBL.js +0 -1
- package/dist/assets/esm-BL-lS1AO.js +0 -1
- package/dist/assets/gauge-DMrbDCVd.js +0 -1
- package/dist/assets/intro-7jC51zyA.js +0 -1
- package/dist/assets/intro-B4j8G6Wn.js +0 -1
- package/dist/assets/intro-B7ZR6MnR.js +0 -1
- package/dist/assets/intro-B_1eX0NN.js +0 -1
- package/dist/assets/intro-Bcw1QD06.js +0 -1
- package/dist/assets/intro-C9lKNVJp.js +0 -1
- package/dist/assets/intro-CIqtCCxn.js +0 -1
- package/dist/assets/intro-CSc4mVpE.js +0 -1
- package/dist/assets/intro-CuHGodEn.js +0 -1
- package/dist/assets/intro-CzRUcQTo.js +0 -1
- package/dist/assets/intro-D-bQZq5n.js +0 -1
- package/dist/assets/intro-D3xF3uFy.js +0 -1
- package/dist/assets/intro-DhjBVTet.js +0 -1
- package/dist/assets/intro-SJ6J3iZY.js +0 -1
- package/dist/assets/intro-eclZL9RF.js +0 -1
- package/dist/assets/intro-mc9fOYHH.js +0 -1
- package/dist/assets/intro-mnSZn8oq.js +0 -1
- package/dist/assets/intro-tDJyt_-M.js +0 -1
- package/dist/assets/loader-circle-DC7tP4px.js +0 -1
- package/dist/assets/maestro-Dk0xw1uy.js +0 -1
- package/dist/assets/music-2-C2YDBG9V.js +0 -1
- package/dist/assets/play-DFR_GqpJ.js +0 -1
- package/dist/assets/plus-lIyMOEZf.js +0 -1
- package/dist/assets/rotate-ccw-D9mZ9lfD.js +0 -1
- package/dist/assets/rotate-cw-CwiEEFRc.js +0 -1
- package/dist/assets/search-iterppMr.js +0 -1
- package/dist/assets/square-Bl9we4gC.js +0 -1
- package/dist/assets/terminal-BlBAbz4X.js +0 -1
- package/dist/assets/user-DV5LrGq4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-CUw_YhcY.js";import{t as x}from"./upload-CI1ZP51F.js";import{t as S}from"./tooltip-xGYGkgTR.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-CwEjR6Nf.js";import{t as E}from"./drawer-BMRGHI-3.js";import{t as D}from"./clock-CS3ZX4nf.js";import{a as O,c as k,n as A,o as j,r as M,t as N}from"./pagination-CebMKB63.js";import{t as P}from"./info-C40CnPeL.js";import{t as ee}from"./trash-2-xb-Jm4i0.js";import{t as te}from"./triangle-alert-COLtfogn.js";import{t as F}from"./upload-Bu37nR-5.js";import{t as I}from"./wand-sparkles-DDyMsIR4.js";import{$r as L,Qr as R,Zr as z,ai as B,ei as V,ii as H,ni as U,ti as W}from"./constants-CQR8cCBL.js";import{$t as G,Fi as K,Jt as q,Mr as J,O as Y,Qt as X,en as Z,in as Q,nn as ne,nr as re,pn as ie,si as ae,tn as oe,xi as se}from"./index-DIgS5Gvp.js";import{t as ce}from"./CopyToClipboard-BoetcLMP.js";import{t as le}from"./ReportButton-D7JGzuC6.js";import{t as ue}from"./ImagePreview-Bc9stSGF.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./Consumption-64yHTpsG.js";import{t as pe}from"./VideoPlayer-DZajGyHg.js";import{t as me}from"./ApiCodeButton-CiYVI-BW.js";import{t as he}from"./BotPlaceholder-CWVuEjbL.js";var ge=v({name:`LayoutSora`,components:{MagicIcon:I,ElDrawer:E,ElButton:K},mixins:[de]}),_e={class:`main flex flex-row flex-1`},ve={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)]`},ye={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function be(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,_e,[e(`div`,ve,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ye,[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 xe=Y(ge,[[`render`,be],[`__scopeId`,`data-v-b8cedc77`]]),Se=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:B,label:`sora-2`},{value:H,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=z[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||=V}}),Ce={class:`field`},we={class:`title font-bold`};function Te(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ce,[e(`h2`,we,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 Ee=Y(Se,[[`render`,Te],[`__scopeId`,`data-v-0cb7913d`]]),De=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||=L}}),Oe={class:`field`},ke={class:`title font-bold`},Ae={class:`float-left`};function je(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Oe,[e(`h2`,ke,i(t.$t(`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`,Ae,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=Y(De,[[`render`,je],[`__scopeId`,`data-v-7b82fa7f`]]),Ne=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return z[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}}),Pe={class:`field`},Fe={class:`control`},Ie={class:`title font-bold`};function Le(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,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 Re=Y(Ne,[[`render`,Le],[`__scopeId`,`data-v-c2934598`]]),ze=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||=W}}),Be={class:`text-sm font-bold mb-2 block`},Ve={class:`items`},He=[`onClick`],Ue={class:`name`};function We(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Be,i(t.$t(`sora.name.orientation`)),1),e(`div`,Ve,[(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`,Ue,i(t.$t(r.labelKey)),1)],10,He))),128))])])}var Ge=Y(ze,[[`render`,We],[`__scopeId`,`data-v-a20be6d9`]]),Ke=v({name:`StartEndImage`,components:{UploadIcon:F,ElUpload:x,ElButton:K,InfoIcon:j,ImagePreview:ue},mixins:[ne,oe,G,q],emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/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(){T.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){T.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()}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(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`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,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,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Qe=Y(Ke,[[`render`,Ze],[`__scopeId`,`data-v-01b87539`]]),$e=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=v({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:R.map(e=>({value:e,label:$e(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||=U}}),tt={class:`field`},nt={class:`control`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,tt,[e(`div`,nt,[e(`h2`,rt,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 at=Y(et,[[`render`,it],[`__scopeId`,`data-v-8c485f0f`]]),ot=v({name:`PromptInput`,components:{PromptTextarea:O},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 st(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 ct=v({name:`ConfigPanel`,components:{MagicIcon:I,ElButton:K,Consumption:fe,PromptInput:Y(ot,[[`render`,st]]),ModelSelector:Ee,StartEndImage:Qe,SizeSelector:at,ActionSelector:Me,OrientationSelector:Ge,DurationSelector:Re},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(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`,lt,[e(`div`,ut,[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`,dt,[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 pt=Y(ct,[[`render`,ft]]),mt=v({name:`TaskPreview`,components:{DeleteIcon:ee,ChannelIcon:k,InfoIcon:P,MagicIcon:I,TimeIcon:D,WarningIcon:te,CopyToClipboard:ce,ElAlert:C,VideoPlayer:pe,ElTooltip:S,ElButton:K,ApiCodeButton:me,ReportButton:le},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 se.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}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:1},Tt={key:0,class:n({content:!0,failed:!0})},Et={key:0,class:`mb-4`},Dt={key:1,class:n({operations:!0,"mt-2":!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},jt={key:1,class:n({content:!0})},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ft={key:2,class:n({content:!0})},It={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Rt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[a(_,{capability:`sora`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(_,{capability:`sora`,part:`name`}),e(`span`,yt,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,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(g(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Ct,` - (`+i(n.$t(`sora.status.pending`))+`) `,1)),n.modelValue?.response&&n.modelValue?.response?.success===void 0?(g(),s(`span`,wt,` - (`+i(n.$t(`sora.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Tt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Et,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Dt,[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`]),a(C,{service:`sora`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Ot,[a(w,{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`,kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,At,[a(D,{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`,jt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failure`)),1)]),default:p(()=>[e(`p`,Mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Nt,[a(A,{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(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,$,[a(D,{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`,Pt,[a(w,{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(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(g(),s(`div`,Ft,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{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`,It,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Lt,[a(w,{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(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var zt=v({name:`RecentPanel`,components:{TaskPreview:Y(mt,[[`render`,Rt],[`__scopeId`,`data-v-808e51ba`]]),NoTasks:M,BotPlaceholder:he,ScrollList:A},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?.()}}}),Bt={key:0},Vt={key:2,class:`w-full h-full flex items-center justify-center`};function Ht(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`,Bt,[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`,Vt,[a(v)])):o(``,!0)],64)}var Ut=v({name:`SoraIndex`,components:{ConfigPanel:pt,Layout:xe,RecentPanel:Y(zt,[[`render`,Ht]])},mixins:[Z],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===w.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 N({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(!X(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config,async:!0};if(!ie())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}T.info(this.$t(`sora.message.startingTask`)),J(`sora`,re.generate(e,{token:t})).then(()=>{T.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?T.error(this.$t(`sora.message.usedUp`)):T.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(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 Gt=Y(Ut,[[`render`,Wt]]);export{Gt as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,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-DxlkO65R.js";import{t as x}from"./upload-CaDoepuW.js";import{t as S}from"./tooltip-C_Jr9jzb.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-BezwK8kr.js";import{t as E}from"./drawer-CzQ0A6Bq.js";import{t as D}from"./clock-BBp05BQI.js";import{a as O,c as k,n as A,o as j,r as M,t as N}from"./pagination-NhZwBj0v.js";import{t as P}from"./info-BFhGiEMG.js";import{t as ee}from"./trash-2-BQLGMG1w.js";import{t as te}from"./triangle-alert-ShrL63ju.js";import{t as F}from"./upload-CNBzy6GU.js";import{t as I}from"./wand-sparkles-DEWXPZMX.js";import{$r as L,Jr as R,Qr as z,Xr as B,Yr as V,Zr as H,ni as U,ti as W}from"./constants-CLU-fDDu.js";import{$t as G,Fi as K,Jt as q,Mr as J,O as Y,Qt as X,en as Z,in as Q,nn as ne,nr as re,pn as ie,si as ae,tn as oe,xi as se}from"./index-BdWkx9SU.js";import{t as ce}from"./CopyToClipboard-P1yaIIEd.js";import{t as le}from"./ReportButton-DGmAAhbu.js";import{t as ue}from"./ImagePreview-D7SZPPgL.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./Consumption-DrrnDc02.js";import{t as pe}from"./VideoPlayer-CekxyRb2.js";import{t as me}from"./ApiCodeButton-Xu21Doha.js";import{t as he}from"./BotPlaceholder-Cphp5w1L.js";var ge=v({name:`LayoutSora`,components:{MagicIcon:I,ElDrawer:E,ElButton:K},mixins:[de]}),_e={class:`main flex flex-row flex-1`},ve={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)]`},ye={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function be(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,_e,[e(`div`,ve,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ye,[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 xe=Y(ge,[[`render`,be],[`__scopeId`,`data-v-b8cedc77`]]),Se=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:U,label:`sora-2`},{value:W,label:`sora-2-pro`}]}},computed:{value:{get(){return this.$store.state.sora?.config?.model},set(e){let t=this.$store.state.sora?.config||{},n=R[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||=H}}),Ce={class:`field`},we={class:`title font-bold`};function Te(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ce,[e(`h2`,we,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 Ee=Y(Se,[[`render`,Te],[`__scopeId`,`data-v-0cb7913d`]]),De=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||=B}}),Oe={class:`field`},ke={class:`title font-bold`},Ae={class:`float-left`};function je(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Oe,[e(`h2`,ke,i(t.$t(`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`,Ae,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=Y(De,[[`render`,je],[`__scopeId`,`data-v-7b82fa7f`]]),Ne=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b},computed:{model(){return this.$store.state.sora?.config?.model||`sora-2`},allowedDurations(){return R[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}}),Pe={class:`field`},Fe={class:`control`},Ie={class:`title font-bold`};function Le(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,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 Re=Y(Ne,[[`render`,Le],[`__scopeId`,`data-v-c2934598`]]),ze=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||=z}}),Be={class:`text-sm font-bold mb-2 block`},Ve={class:`items`},He=[`onClick`],Ue={class:`name`};function We(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Be,i(t.$t(`sora.name.orientation`)),1),e(`div`,Ve,[(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`,Ue,i(t.$t(r.labelKey)),1)],10,He))),128))])])}var Ge=Y(ze,[[`render`,We],[`__scopeId`,`data-v-a20be6d9`]]),Ke=v({name:`StartEndImage`,components:{UploadIcon:F,ElUpload:x,ElButton:K,InfoIcon:j,ImagePreview:ue},mixins:[ne,oe,G,q],emits:[`change`],data(){return{fileList:[],uploadUrl:ae()+`/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(){T.warning(this.$t(`sora.message.uploadReferencesExceed`))},onError(){T.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()}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(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`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,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,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`sora.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Qe=Y(Ke,[[`render`,Ze],[`__scopeId`,`data-v-01b87539`]]),$e=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),et=v({name:`SizeSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:V.map(e=>({value:e,label:$e(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||=L}}),tt={class:`field`},nt={class:`control`},rt={class:`title font-bold`};function it(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,tt,[e(`div`,nt,[e(`h2`,rt,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 at=Y(et,[[`render`,it],[`__scopeId`,`data-v-8c485f0f`]]),ot=v({name:`PromptInput`,components:{PromptTextarea:O},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 st(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 ct=v({name:`ConfigPanel`,components:{MagicIcon:I,ElButton:K,Consumption:fe,PromptInput:Y(ot,[[`render`,st]]),ModelSelector:Ee,StartEndImage:Qe,SizeSelector:at,ActionSelector:Me,OrientationSelector:Ge,DurationSelector:Re},emits:[`generate`],computed:{config(){return this.$store.state.sora?.config},consumption(){return Q(this.config,this.service?.cost)},service(){return this.$store.state.sora?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(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`,lt,[e(`div`,ut,[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`,dt,[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 pt=Y(ct,[[`render`,ft]]),mt=v({name:`TaskPreview`,components:{DeleteIcon:ee,ChannelIcon:k,InfoIcon:P,MagicIcon:I,TimeIcon:D,WarningIcon:te,CopyToClipboard:ce,ElAlert:C,VideoPlayer:pe,ElTooltip:S,ElButton:K,ApiCodeButton:me,ReportButton:le},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 se.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}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:1},Tt={key:0,class:n({content:!0,failed:!0})},Et={key:0,class:`mb-4`},Dt={key:1,class:n({operations:!0,"mt-2":!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},jt={key:1,class:n({content:!0})},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ft={key:2,class:n({content:!0})},It={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Rt(n,c,u,d,m,h){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,ht,[e(`div`,gt,[a(_,{capability:`sora`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(_,{capability:`sora`,part:`name`}),e(`span`,yt,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,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(g(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,Ct,` - (`+i(n.$t(`sora.status.pending`))+`) `,1)),n.modelValue?.response&&n.modelValue?.response?.success===void 0?(g(),s(`span`,wt,` - (`+i(n.$t(`sora.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&n.modelValue?.response?.data?(g(),s(`div`,Tt,[n.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Et,[a(b,{src:n.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Dt,[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`]),a(C,{service:`sora`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Ot,[a(w,{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`,kt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,At,[a(D,{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`,jt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.failure`)),1)]),default:p(()=>[e(`p`,Mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Nt,[a(A,{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(E,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,$,[a(D,{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`,Pt,[a(w,{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(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(g(),s(`div`,Ft,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{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`,It,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`sora.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Lt,[a(w,{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(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var zt=v({name:`RecentPanel`,components:{TaskPreview:Y(mt,[[`render`,Rt],[`__scopeId`,`data-v-808e51ba`]]),NoTasks:M,BotPlaceholder:he,ScrollList:A},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?.()}}}),Bt={key:0},Vt={key:2,class:`w-full h-full flex items-center justify-center`};function Ht(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`,Bt,[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`,Vt,[a(v)])):o(``,!0)],64)}var Ut=v({name:`SoraIndex`,components:{ConfigPanel:pt,Layout:xe,RecentPanel:Y(zt,[[`render`,Ht]])},mixins:[Z],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.sora?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.sora?.status?.getTasks===w.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 N({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(!X(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config,async:!0};if(!ie())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}T.info(this.$t(`sora.message.startingTask`)),J(`sora`,re.generate(e,{token:t})).then(()=>{T.success(this.$t(`sora.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?T.error(this.$t(`sora.message.usedUp`)):T.error(this.$t(`sora.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(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 Gt=Y(Ut,[[`render`,Wt]]);export{Gt 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,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-CUw_YhcY.js";import{n as S,t as C}from"./tabs-BFs4t-aK.js";import{t as w}from"./tooltip-xGYGkgTR.js";import{v as T}from"./models-CwEjR6Nf.js";import{n as E,r as D,t as O}from"./dropdown-DzzmAJqH.js";import{t as k}from"./pagination-CP5QlGv2.js";import{t as A}from"./switch-BHE5VSJC.js";import{t as j}from"./arrow-down-D1ze7Zz7.js";import{t as M}from"./arrow-left-i-SsgbVR.js";import{t as N}from"./book-open-Bgt2CzJP.js";import{t as P}from"./chevron-down-7kJMC2ch.js";import{t as F}from"./chevron-right-BaNlttpH.js";import{t as I}from"./circle-check-BlfTJ16z.js";import{t as L}from"./circle-question-mark-J5LrgC7z.js";import{t as ee}from"./clipboard-list-D6rxrE8d.js";import{t as te}from"./code-C18Pb5Rt.js";import{t as R}from"./copy-B489PY7H.js";import{t as ne}from"./ellipsis-Cxuin38H.js";import{t as re}from"./eye-C4SyrpXf.js";import{t as ie}from"./file-text--Qjz57wL.js";import{t as z}from"./file-BNfEG5IF.js";import{t as B}from"./folder-DcItLXw1.js";import{t as ae}from"./image-l7GEfh5m.js";import{t as oe}from"./lock-D-SCAKKf.js";import{t as V}from"./plus-lIyMOEZf.js";import{n as se,t as ce}from"./store-BaH2jfBX.js";import{t as le}from"./search-iterppMr.js";import{t as ue}from"./trash-2-xb-Jm4i0.js";import{t as de}from"./triangle-alert-COLtfogn.js";import{t as fe}from"./upload-Bu37nR-5.js";import{t as pe}from"./wand-sparkles-DDyMsIR4.js";import{Ei as H,Er as U,Fi as W,Ni as me,O as G,Si as K,Ui as q,_i as he,bi as J,ci as ge,di as _e,fi as ve,oi as ye,pi as be,xi as xe}from"./index-DIgS5Gvp.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-Ci-Vjlrb.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-SdNvT1p3.js";var Re=J(`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`}]]),ze=J(`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`}]]),Be=J(`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`}]]),Ve=J(`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`}]]),He=J(`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:`${ye()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return U.get(`/${this.key}/`,X())}async get(e){return U.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return U.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),U.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return U.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return U.delete(`/${this.key}/${e}/`,X())}async enable(e){return U.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return U.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await U.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 U.get(`/${this.key}/`,{...X(),params:e})}async get(e){return U.get(`/${this.key}/${e}/`,X())}async categories(){return U.get(`/${this.key}/categories/`,X())}async install(e,t={}){return U.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;ve()&&e.add(`desktop`),be()&&e.add(`ios`),_e()&&e.add(`android`),he()&&e.add(`web`);let t=ge();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 We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:H,ElInput:q,ElButton:W,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:V,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:oe,SearchIcon:le,SuccessIcon:I},directives:{loading:K},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 Ke},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),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.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,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.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 Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=G(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),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 Et(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 Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:W,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:K},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?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(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=Et(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),T.success(this.$t(`skill.preview.copied`))}catch{T.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}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[a(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(v(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(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?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ut=G(Ot,[[`render`,Ht],[`__scopeId`,`data-v-ec0a447e`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?ae:Wt.has(n)?Be:z}function qt(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 Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},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?Kt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`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?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(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))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:se,FileNode:G(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},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 qt(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)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`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:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(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))])):o(``,!0)])}var cn=G(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:W,AddFileIcon:He,CloudUploadIcon:ze},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>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.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});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=G(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:W,ElInput:q,CloudUploadIcon:ze},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});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"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:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{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 Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:q,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:V,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:se,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:G(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:K},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,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),T.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)},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});T.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){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await xe.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),B=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(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?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{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))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(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?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{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))])):o(``,!0)])):o(``,!0)])),[[B,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(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?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=G(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar 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,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-DxlkO65R.js";import{n as S,t as C}from"./tabs-BQRg1x8-.js";import{t as w}from"./tooltip-C_Jr9jzb.js";import{v as T}from"./models-BezwK8kr.js";import{n as E,r as D,t as O}from"./dropdown-pOD9WyGl.js";import{t as k}from"./pagination-DyrAs5EO.js";import{t as A}from"./switch-J51NyhGI.js";import{t as j}from"./arrow-down-7-7JJ_4t.js";import{t as M}from"./arrow-left-D9V5JLVJ.js";import{t as N}from"./book-open-D3en4xKo.js";import{t as P}from"./chevron-down-DNF9n4uv.js";import{t as F}from"./chevron-right-N8JOyfvh.js";import{t as I}from"./circle-check-C7X984wD.js";import{t as L}from"./circle-question-mark-C2d1olJN.js";import{t as ee}from"./clipboard-list-DMS6zJDR.js";import{t as te}from"./code-CE6oVN-l.js";import{t as R}from"./copy-BizdVpDe.js";import{t as ne}from"./ellipsis-Do5PRc0G.js";import{t as re}from"./eye-CDshsHwE.js";import{t as ie}from"./file-text-DcYOkJ2p.js";import{t as z}from"./file-BvSa9ufI.js";import{t as B}from"./folder-DQoN-X34.js";import{t as ae}from"./image-DIFbuUSR.js";import{t as oe}from"./lock-Dwbu9lHM.js";import{t as V}from"./plus-DsxiwVWq.js";import{n as se,t as ce}from"./store-DxnQ92l1.js";import{t as le}from"./search-CgsDIdQb.js";import{t as ue}from"./trash-2-BQLGMG1w.js";import{t as de}from"./triangle-alert-ShrL63ju.js";import{t as fe}from"./upload-CNBzy6GU.js";import{t as pe}from"./wand-sparkles-DEWXPZMX.js";import{Ei as H,Er as U,Fi as W,Ni as me,O as G,Si as K,Ui as q,_i as he,bi as J,ci as ge,di as _e,fi as ve,oi as ye,pi as be,xi as xe}from"./index-BdWkx9SU.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-CD6boxX9.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-Tdao2cJq.js";var Re=J(`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`}]]),ze=J(`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`}]]),Be=J(`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`}]]),Ve=J(`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`}]]),He=J(`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:`${ye()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return U.get(`/${this.key}/`,X())}async get(e){return U.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return U.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),U.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return U.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return U.delete(`/${this.key}/${e}/`,X())}async enable(e){return U.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return U.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await U.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 U.get(`/${this.key}/`,{...X(),params:e})}async get(e){return U.get(`/${this.key}/${e}/`,X())}async categories(){return U.get(`/${this.key}/categories/`,X())}async install(e,t={}){return U.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;ve()&&e.add(`desktop`),be()&&e.add(`ios`),_e()&&e.add(`android`),he()&&e.add(`web`);let t=ge();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 We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:H,ElInput:q,ElButton:W,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:V,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:oe,SearchIcon:le,SuccessIcon:I},directives:{loading:K},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 Ke},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),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.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,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.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 Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=G(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),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 Et(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 Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:W,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:K},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?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(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=Et(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),T.success(this.$t(`skill.preview.copied`))}catch{T.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}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[a(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(v(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(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?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ut=G(Ot,[[`render`,Ht],[`__scopeId`,`data-v-ec0a447e`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?ae:Wt.has(n)?Be:z}function qt(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 Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},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?Kt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`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?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(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))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:se,FileNode:G(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},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 qt(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)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`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:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(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))])):o(``,!0)])}var cn=G(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:W,AddFileIcon:He,CloudUploadIcon:ze},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>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.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});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=G(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:W,ElInput:q,CloudUploadIcon:ze},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});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"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:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{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 Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:q,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:V,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:se,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:G(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:K},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,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),T.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)},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});T.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){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await xe.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),B=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(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?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{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))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(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?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{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))])):o(``,!0)])):o(``,!0)])),[[B,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(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?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=G(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{t as m}from"./arrow-right-CQNhBomo.js";import{t as h}from"./check-DlBiKMMT.js";import{Yi as ee}from"./constants-CLU-fDDu.js";import{Fi as g,M as _,O as v,i as y,r as b}from"./index-BdWkx9SU.js";var x=(e,t)=>({zh:e,en:t}),S={chatDesktop:x(`https://cdn.acedata.cloud/uploads/24b9ad71-e5c0-4550-b950-d52e73d74926`,`https://cdn.acedata.cloud/uploads/850faad3-4acd-4a4f-9f1a-29ca77119274`),chatMobile:x(`https://cdn.acedata.cloud/uploads/4bf02973-6482-4c5b-8174-83740d22ecca`,`https://cdn.acedata.cloud/uploads/1401bef2-4588-429a-9d5e-c3655a6a51a7`),midjourneyDesktop:x(`https://cdn.acedata.cloud/uploads/d5d1566f-893c-4dac-bf3d-3b181b7e8ab3`,`https://cdn.acedata.cloud/uploads/21379382-9aef-4597-8d6f-6bad33375943`),midjourneyMobile:x(`https://cdn.acedata.cloud/uploads/0671efb0-5f62-461c-b3a7-8b8eb08a6c39`,`https://cdn.acedata.cloud/uploads/93be4fb8-24bc-47f1-9fea-2d6504ec17f7`),nanobananaDesktop:x(`https://cdn.acedata.cloud/uploads/089b6deb-1ff1-4cf5-b938-36a2493a40da`,`https://cdn.acedata.cloud/uploads/165db012-430e-455c-844e-cd88bc88f60c`),nanobananaMobile:x(`https://cdn.acedata.cloud/uploads/8154ce9b-f221-4543-86c8-7e4556ee1917`,`https://cdn.acedata.cloud/uploads/6358331d-acf7-4784-b4f0-4f15189f9876`),seedreamDesktop:x(`https://cdn.acedata.cloud/uploads/7e45490e-8b41-48e9-9d31-dfae7072a7fa`,`https://cdn.acedata.cloud/uploads/91c96b92-31ff-4e99-bdd7-5314d1781246`),fluxDesktop:x(`https://cdn.acedata.cloud/uploads/7f7caa8d-5d61-4c03-9b14-14ddc865be5a`,`https://cdn.acedata.cloud/uploads/63e300df-a3c1-43c7-b170-6fd3fdfe15b5`),sunoDesktop:x(`https://cdn.acedata.cloud/uploads/5ab7f19e-2047-4c62-a228-ae4170ca58b0`,`https://cdn.acedata.cloud/uploads/6e962c96-1b2c-4e17-a791-e1c4a7929ba3`),sunoMobile:x(`https://cdn.acedata.cloud/uploads/f3a06507-d4fa-4568-9803-cfacfa39cfd6`,`https://cdn.acedata.cloud/uploads/aff42de2-62fe-43ad-9dd7-ceac814880e5`),fishDesktop:x(`https://cdn.acedata.cloud/uploads/db375091-7ddc-4d36-a4f8-db13fe1df424`,`https://cdn.acedata.cloud/uploads/d50b6bcd-e6a3-4863-a964-c68f259c4ae0`),klingDesktop:x(`https://cdn.acedata.cloud/uploads/fd38b6c8-9794-4414-884c-9ca9619c7da6`,`https://cdn.acedata.cloud/uploads/3531e27b-58d8-4c65-9010-148b7c785560`),klingMobile:x(`https://cdn.acedata.cloud/uploads/3abfa61f-d735-4a1d-b983-8b09a9c9e5f0`,`https://cdn.acedata.cloud/uploads/c3cb4afb-f554-4031-8f8b-c91359906f18`),veoDesktop:x(`https://cdn.acedata.cloud/uploads/e8291d40-e2d1-465e-88b6-3febbbba9a9b`,`https://cdn.acedata.cloud/uploads/efc32760-db07-439d-beff-ceaef735c3b4`),seedanceDesktop:x(`https://cdn.acedata.cloud/uploads/26a91d87-e267-4e39-9bbd-a2c5c8ec0cdc`,`https://cdn.acedata.cloud/uploads/8fd9cdc3-41f8-4d2f-9f32-60d083683307`),maestroDesktop:x(`https://cdn.acedata.cloud/uploads/e20d1a42-7824-4803-b6b6-8d121a7eb713`,`https://cdn.acedata.cloud/uploads/3b6887f8-5be1-4a19-9fcc-45ec6d695af0`),maestroMobile:x(`https://cdn.acedata.cloud/uploads/72648704-4c8e-40b4-9a60-70cbecc76401`,`https://cdn.acedata.cloud/uploads/12879735-e957-4c04-a30a-e6f463435bd7`),digitalHumanDesktop:x(`https://cdn.acedata.cloud/uploads/3a49d5fa-cd7a-4fb6-a6c0-e4f0a6d56d4d`,`https://cdn.acedata.cloud/uploads/b2ce6c5c-56d3-45e7-9d9e-598b5dfd9ae4`),serpDesktop:x(`https://cdn.acedata.cloud/uploads/8ccda980-60e5-4db7-9d99-66628ced5c44`,`https://cdn.acedata.cloud/uploads/94c23b79-4af7-4afd-9deb-1ac760e01950`),webextratorDesktop:x(`https://cdn.acedata.cloud/uploads/e1b19df4-1720-4674-abdd-9db0f7f529b2`,`https://cdn.acedata.cloud/uploads/6c9e4c43-d0bc-4a63-ba9e-4e9fbbd6b245`),codingBridgeDesktop:x(`https://cdn.acedata.cloud/uploads/ef0be118-adfa-4814-b672-a6977915e7f0`,`https://cdn.acedata.cloud/uploads/97d60828-c1c1-4ebb-a219-30bbed1e6353`),connectorsDesktop:x(`https://cdn.acedata.cloud/uploads/5a5ce9af-8a88-44c5-9262-dbf276aa5058`,`https://cdn.acedata.cloud/uploads/fb40fc97-9177-4778-b02a-0f2f1f37ad6c`)},C=[{key:`chat`,featureKeys:[`chatgpt`,`claude`,`gemini`,`grok`,`deepseek`,`kimi`],eyebrowKey:`intro.eyebrow.chat`,titleKey:`intro.title.chat`,siteTitleKey:`intro.title.site.chat`,subtitleKey:`intro.subtitle.chat`,bullets:[{key:`intro.bullet.chat.models`,catalogOnly:!0},{key:`intro.bullet.chat.multimodal`},{key:`intro.bullet.chat.agentic`}],entries:[{name:`ChatGPT`,descriptionKey:`intro.model.chatgpt`,featureKey:`chatgpt`,path:`/chatgpt`},{name:`Claude`,descriptionKey:`intro.model.claude`,featureKey:`claude`,path:`/claude`},{name:`Gemini`,descriptionKey:`intro.model.gemini`,featureKey:`gemini`,path:`/gemini`},{name:`Grok`,descriptionKey:`intro.model.grok`,featureKey:`grok`,path:`/grok`},{name:`DeepSeek`,descriptionKey:`intro.model.deepseek`,featureKey:`deepseek`,path:`/deepseek`},{name:`Kimi`,descriptionKey:`intro.model.kimi`,featureKey:`kimi`,path:`/kimi`},{name:`GLM`,descriptionKey:`intro.model.glm`,featureKey:`chatgpt`,icon:ee,path:`/chatgpt`}],path:`/chatgpt`,screenshots:{chatgpt:{desktop:S.chatDesktop,mobile:S.chatMobile}}},{key:`image`,featureKeys:[`midjourney`,`nanobanana`,`openaiimage`,`seedream`,`flux`,`qrart`],eyebrowKey:`intro.eyebrow.image`,titleKey:`intro.title.image`,siteTitleKey:`intro.title.site.image`,subtitleKey:`intro.subtitle.image`,bullets:[{key:`intro.bullet.image.models`,catalogOnly:!0},{key:`intro.bullet.image.editing`,featureKeys:[`nanobanana`,`openaiimage`,`seedream`]},{key:`intro.bullet.image.resolution`,featureKeys:[`nanobanana`,`openaiimage`,`seedream`]}],entries:[{name:`Midjourney`,descriptionKey:`intro.model.midjourney`,featureKey:`midjourney`,path:`/midjourney`},{name:`Nano Banana`,descriptionKey:`intro.model.nanobanana`,featureKey:`nanobanana`,path:`/nanobanana`},{name:`GPT Image`,descriptionKey:`intro.model.gptimage`,featureKey:`openaiimage`,path:`/openaiimage`},{name:`Seedream`,descriptionKey:`intro.model.seedream`,featureKey:`seedream`,path:`/seedream`},{name:`Flux`,descriptionKey:`intro.model.flux`,featureKey:`flux`,path:`/flux`},{name:`QR Art`,descriptionKey:`intro.model.qrart`,featureKey:`qrart`,path:`/qrart`}],path:`/nanobanana`,screenshots:{midjourney:{desktop:S.midjourneyDesktop,mobile:S.midjourneyMobile},nanobanana:{desktop:S.nanobananaDesktop,mobile:S.nanobananaMobile},seedream:{desktop:S.seedreamDesktop},flux:{desktop:S.fluxDesktop}}},{key:`video`,featureKeys:[`kling`,`veo`,`sora`,`seedance`,`hailuo`,`luma`,`wan`,`pixverse`,`grokvideo`,`omni`],eyebrowKey:`intro.eyebrow.video`,titleKey:`intro.title.video`,siteTitleKey:`intro.title.site.video`,subtitleKey:`intro.subtitle.video`,bullets:[{key:`intro.bullet.video.models`,catalogOnly:!0},{key:`intro.bullet.video.control`,featureKeys:[`kling`,`veo`,`seedance`,`luma`]},{key:`intro.bullet.video.quality`,featureKeys:[`kling`,`seedance`,`grokvideo`]}],entries:[{name:`Kling`,descriptionKey:`intro.model.kling`,featureKey:`kling`,path:`/kling`},{name:`Veo`,descriptionKey:`intro.model.veo`,featureKey:`veo`,path:`/veo`},{name:`Sora`,descriptionKey:`intro.model.sora`,featureKey:`sora`,path:`/sora`},{name:`Seedance`,descriptionKey:`intro.model.seedance`,featureKey:`seedance`,path:`/seedance`},{name:`Hailuo`,descriptionKey:`intro.model.hailuo`,featureKey:`hailuo`,path:`/hailuo`},{name:`Luma`,descriptionKey:`intro.model.luma`,featureKey:`luma`,path:`/luma`},{name:`Wan`,descriptionKey:`intro.model.wan`,featureKey:`wan`,path:`/wan`},{name:`Pixverse`,descriptionKey:`intro.model.pixverse`,featureKey:`pixverse`,path:`/pixverse`},{name:`Grok Imagine`,descriptionKey:`intro.model.grokvideo`,featureKey:`grokvideo`,path:`/grokvideo`},{name:`Omni`,descriptionKey:`intro.model.omni`,featureKey:`omni`,path:`/omni`}],path:`/kling`,screenshots:{kling:{desktop:S.klingDesktop,mobile:S.klingMobile},veo:{desktop:S.veoDesktop},seedance:{desktop:S.seedanceDesktop}}},{key:`music`,featureKeys:[`suno`,`producer`,`fish`],eyebrowKey:`intro.eyebrow.music`,titleKey:`intro.title.music`,siteTitleKey:`intro.title.site.music`,subtitleKey:`intro.subtitle.music`,bullets:[{key:`intro.bullet.music.models`},{key:`intro.bullet.music.control`,featureKeys:[`suno`,`producer`]},{key:`intro.bullet.music.voice`,featureKeys:[`fish`]}],entries:[{name:`Suno`,descriptionKey:`intro.model.suno`,featureKey:`suno`,path:`/suno`},{name:`Producer`,descriptionKey:`intro.model.producer`,featureKey:`producer`,path:`/producer`},{name:`Fish Audio`,descriptionKey:`intro.model.fish`,featureKey:`fish`,path:`/fish`}],path:`/suno`,screenshots:{suno:{desktop:S.sunoDesktop,mobile:S.sunoMobile},fish:{desktop:S.fishDesktop}}},{key:`production`,featureKeys:[`maestro`,`digitalhuman`,`poivelle`],eyebrowKey:`intro.eyebrow.production`,titleKey:`intro.title.production`,siteTitleKey:`intro.title.site.production`,subtitleKey:`intro.subtitle.production`,bullets:[{key:`intro.bullet.production.oneline`,featureKeys:[`maestro`]},{key:`intro.bullet.production.styles`,featureKeys:[`maestro`,`digitalhuman`,`poivelle`]},{key:`intro.bullet.production.languages`,featureKeys:[`maestro`,`digitalhuman`]}],entries:[{name:`Maestro`,descriptionKey:`intro.model.maestro`,featureKey:`maestro`,path:`/maestro`},{name:`Digital Human`,descriptionKey:`intro.model.digitalhuman`,featureKey:`digitalhuman`,path:`/digital-human`},{name:`Poivelle`,descriptionKey:`intro.model.poivelle`,featureKey:`poivelle`,path:`/poivelle`}],path:`/maestro`,screenshots:{maestro:{desktop:S.maestroDesktop,mobile:S.maestroMobile},digitalhuman:{desktop:S.digitalHumanDesktop}}},{key:`tools`,featureKeys:[`serp`,`webextrator`,`codingBridge`],eyebrowKey:`intro.eyebrow.tools`,titleKey:`intro.title.tools`,siteTitleKey:`intro.title.site.tools`,subtitleKey:`intro.subtitle.tools`,bullets:[{key:`intro.bullet.tools.search`,featureKeys:[`serp`]},{key:`intro.bullet.tools.extract`,featureKeys:[`webextrator`]},{key:`intro.bullet.tools.coding`,featureKeys:[`codingBridge`]}],entries:[{name:`SERP`,descriptionKey:`intro.model.serp`,featureKey:`serp`,path:`/serp`},{name:`WebExtrator`,descriptionKey:`intro.model.webextrator`,featureKey:`webextrator`,path:`/webextrator`},{name:`Coding Bridge`,descriptionKey:`intro.model.codingbridge`,featureKey:`codingBridge`,path:`/coding-bridge`}],path:`/serp`,screenshots:{serp:{desktop:S.serpDesktop},webextrator:{desktop:S.webextratorDesktop},codingBridge:{desktop:S.codingBridgeDesktop}}}],w=[`intro.bullet.connector.catalog`,`intro.bullet.connector.modes`,`intro.bullet.connector.security`],T=p({name:`Intro`,components:{ElButton:g,ConfirmIcon:h,NextIcon:m},data(){return{connectorBullets:w}},computed:{site(){return this.$store.state.site},enabledFeatures(){return this.site?.features??{}},siteLoaded(){return!!this.site?.id},isChineseLocale(){return String(this.$i18n.locale).toLowerCase().startsWith(`zh`)},availableKeys(){return this.siteLoaded?y.filter(e=>this.enabledFeatures[e]?.enabled):[]},heroTitle(){return this.siteLoaded?this.$t(`intro.title.site`):this.$t(`intro.title.hero`)},heroSubtitle(){return this.siteLoaded?this.$t(`intro.subtitle.site`):this.$t(`intro.subtitle.hero`)},heroStats(){return[{value:`${this.availableKeys.length}`,labelKey:`intro.stat.capabilities`},{value:`${this.visibleEntryCount}`,labelKey:`intro.stat.products`},{value:`80+`,labelKey:`intro.stat.connectors`}]},visibleEntryCount(){return this.sections.reduce((e,t)=>e+t.entries.length,0)},sections(){let e=new Set(this.availableKeys);return C.map(t=>{let n=t.entries.filter(t=>!t.featureKey||e.has(t.featureKey)),r=this.sectionScreenshot(t.screenshots,e);return{...t,displayTitleKey:this.siteLoaded?t.siteTitleKey:t.titleKey,entries:n.map(e=>({...e,icon:e.icon??(e.featureKey?b[e.featureKey]:void 0)})),subtitle:this.siteLoaded?n.map(e=>e.name).join(` · `):this.$t(t.subtitleKey),bulletKeys:t.bullets.filter(t=>t.catalogOnly&&this.siteLoaded?!1:!t.featureKeys||t.featureKeys.some(t=>e.has(t))).map(e=>e.key),desktop:r?this.pick(r.desktop):void 0,mobile:r?.mobile?this.pick(r.mobile):void 0}}).filter(e=>e.entries.length>0).map(e=>({...e,path:e.entries.some(t=>t.path===e.path)?e.path:e.entries.find(e=>e.path)?.path??e.path}))},firstSectionKey(){return this.sections[0]?.key},heroDesktop(){return this.sections.find(e=>e.key===`chat`)?.desktop??this.sections.find(e=>e.desktop)?.desktop},heroMobile(){return this.sections.find(e=>e.key===`chat`)?.mobile??this.sections.find(e=>e.mobile)?.mobile},connectorShot(){return this.pick(S.connectorsDesktop)}},methods:{pick(e){return this.isChineseLocale?e.zh:e.en},sectionScreenshot(e,t){for(let n of y)if(t.has(n)&&e[n])return e[n]},onStart(){this.$router.push(_())},open(e){this.$router.push(e)},scrollTo(e){let t=document.getElementById(`app`),n=document.getElementById(e);if(!t||!n)return;let r=document.querySelector(`.header`)?.offsetHeight??0;t.scrollTop=n.offsetTop-r}}}),E={key:0,class:`intro`},D={class:`hero`},O={class:`container hero__content`},k={class:`eyebrow`},A={class:`hero__summary`},j={class:`hero__actions`},M={class:`hero__stats`},N={key:0,class:`hero__screens`},P={class:`macbook-frame hero__desktop`,"aria-hidden":`true`},F={class:`macbook-frame__lid`},I={class:`macbook-frame__viewport`},L=[`src`],R={key:0,class:`phone-device hero__mobile`,"aria-hidden":`true`},z={class:`phone-device__screen`},B=[`src`],V=[`id`],H={class:`container`},U={class:`capability__head`},W={class:`eyebrow eyebrow--light`},G={class:`macbook-frame screen-pair__desktop`},K={class:`macbook-frame__lid`},q={class:`macbook-frame__viewport`},te=[`src`,`alt`],J={key:0,class:`phone-device screen-pair__mobile`},Y={class:`phone-device__screen`},X=[`src`],Z={class:`capability__copy`},Q={class:`feature-points`},ne={class:`model-grid`},re={class:`model-card__heading`},ie={class:`model-card__logo`,"aria-hidden":`true`},ae=[`src`],oe={class:`section connector-section`},se={class:`container`},ce={class:`capability__head`},le={class:`eyebrow eyebrow--light`},ue={class:`capability__body`},de={class:`screen-pair`},fe={class:`macbook-frame screen-pair__desktop`},pe={class:`macbook-frame__lid`},$={class:`macbook-frame__viewport`},me=[`src`,`alt`],he={class:`capability__copy`},ge={class:`feature-points`},_e={class:`final-cta`},ve={class:`container final-cta__content`},ye={class:`story-kicker`},be={class:`final-cta__actions`},xe=[`aria-label`];function Se(p,m,h,ee,g,_){let v=c(`el-button`),y=c(`confirm-icon`),b=c(`next-icon`);return p.siteLoaded?(f(),o(`div`,E,[e(`section`,D,[m[7]||=e(`div`,{class:`hero__grid`},null,-1),e(`div`,O,[e(`span`,k,r(p.$t(`intro.badge.hero`)),1),e(`h1`,null,r(p.heroTitle),1),e(`p`,A,r(p.heroSubtitle),1),e(`div`,j,[i(v,{type:`primary`,size:`large`,onClick:p.onStart},{default:u(()=>[n(r(p.$t(`common.button.startForFree`)),1)]),_:1},8,[`onClick`]),p.firstSectionKey?(f(),l(v,{key:0,size:`large`,onClick:m[0]||=e=>p.scrollTo(p.firstSectionKey)},{default:u(()=>[n(r(p.$t(`intro.button.explore`)),1)]),_:1})):a(``,!0)]),e(`dl`,M,[(f(!0),o(s,null,d(p.heroStats,t=>(f(),o(`div`,{key:t.labelKey},[e(`dt`,null,r(t.value),1),e(`dd`,null,r(p.$t(t.labelKey)),1)]))),128))]),p.heroDesktop?(f(),o(`div`,N,[e(`div`,P,[e(`div`,F,[m[2]||=e(`span`,{class:`macbook-frame__camera`},null,-1),e(`div`,I,[e(`img`,{src:p.heroDesktop,alt:``},null,8,L)]),m[3]||=e(`div`,{class:`macbook-frame__chin`},null,-1)]),m[4]||=e(`div`,{class:`macbook-frame__base`},[e(`span`)],-1)]),p.heroMobile?(f(),o(`div`,R,[m[6]||=e(`span`,{class:`phone-device__speaker`},null,-1),e(`div`,z,[m[5]||=e(`span`,{class:`phone-device__island`},null,-1),e(`img`,{src:p.heroMobile,alt:``},null,8,B)])])):a(``,!0)])):a(``,!0)])]),(f(!0),o(s,null,d(p.sections,(c,l)=>(f(),o(`section`,{id:c.key,key:c.key,class:t([`section capability`,{"capability--alt":l%2==1}])},[e(`div`,H,[e(`div`,U,[e(`span`,W,r(p.$t(c.eyebrowKey)),1),e(`h2`,null,r(p.$t(c.displayTitleKey)),1),e(`p`,null,r(c.subtitle),1)]),e(`div`,{class:t([`capability__body`,{"capability__body--reverse":l%2==1&&c.desktop,"capability__body--copy-only":!c.desktop}])},[c.desktop?(f(),o(`div`,{key:0,class:t([`screen-pair`,{"screen-pair--with-phone":c.mobile}])},[e(`div`,G,[e(`div`,K,[m[8]||=e(`span`,{class:`macbook-frame__camera`,"aria-hidden":`true`},null,-1),e(`div`,q,[e(`img`,{src:c.desktop,alt:p.$t(c.titleKey),loading:`lazy`},null,8,te)]),m[9]||=e(`div`,{class:`macbook-frame__chin`},null,-1)]),m[10]||=e(`div`,{class:`macbook-frame__base`},[e(`span`)],-1)]),c.mobile?(f(),o(`div`,J,[m[12]||=e(`span`,{class:`phone-device__speaker`,"aria-hidden":`true`},null,-1),e(`div`,Y,[m[11]||=e(`span`,{class:`phone-device__island`,"aria-hidden":`true`},null,-1),e(`img`,{src:c.mobile,alt:``,loading:`lazy`},null,8,X)])])):a(``,!0)],2)):a(``,!0),e(`div`,Z,[e(`ul`,Q,[(f(!0),o(s,null,d(c.bulletKeys,t=>(f(),o(`li`,{key:t},[i(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,r(p.$t(t)),1)]))),128))]),i(v,{type:`primary`,plain:``,onClick:e=>p.open(c.path)},{default:u(()=>[n(r(p.$t(`intro.button.try`))+` `,1),i(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`onClick`])])],2),e(`div`,ne,[(f(!0),o(s,null,d(c.entries,t=>(f(),o(`article`,{key:t.name,class:`model-card`},[e(`div`,re,[e(`span`,ie,[e(`img`,{src:t.icon,alt:``,loading:`lazy`},null,8,ae)]),e(`h3`,null,r(t.name),1)]),e(`p`,null,r(p.$t(t.descriptionKey)),1)]))),128))])])],10,V))),128)),e(`section`,oe,[e(`div`,se,[e(`div`,ce,[e(`span`,le,r(p.$t(`intro.eyebrow.connector`)),1),e(`h2`,null,r(p.$t(`intro.title.connector`)),1),e(`p`,null,r(p.$t(`intro.subtitle.connector`)),1)]),e(`div`,ue,[e(`div`,de,[e(`div`,fe,[e(`div`,pe,[m[13]||=e(`span`,{class:`macbook-frame__camera`,"aria-hidden":`true`},null,-1),e(`div`,$,[e(`img`,{src:p.connectorShot,alt:p.$t(`intro.title.connector`),loading:`lazy`},null,8,me)]),m[14]||=e(`div`,{class:`macbook-frame__chin`},null,-1)]),m[15]||=e(`div`,{class:`macbook-frame__base`},[e(`span`)],-1)])]),e(`div`,he,[e(`ul`,ge,[(f(!0),o(s,null,d(p.connectorBullets,t=>(f(),o(`li`,{key:t},[i(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,r(p.$t(t)),1)]))),128))]),i(v,{type:`primary`,plain:``,onClick:m[1]||=e=>p.open(`/console/connectors`)},{default:u(()=>[n(r(p.$t(`intro.button.try`))+` `,1),i(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})])])])]),e(`section`,_e,[e(`div`,ve,[e(`div`,null,[e(`p`,ye,r(p.$t(`intro.eyebrow.cta`)),1),e(`h2`,null,r(p.$t(`intro.title.cta`)),1),e(`p`,null,r(p.$t(`intro.subtitle.cta`)),1)]),e(`div`,be,[i(v,{type:`primary`,size:`large`,onClick:p.onStart},{default:u(()=>[n(r(p.$t(`common.button.startForFree`)),1)]),_:1},8,[`onClick`])])])])])):(f(),o(`div`,{key:1,class:`intro-loading`,role:`status`,"aria-label":p.$t(`common.status.loading`)},[...m[16]||=[e(`span`,{class:`intro-loading__pulse`},null,-1)]],8,xe))}var Ce=v(T,[[`render`,Se],[`__scopeId`,`data-v-ffb484ea`]]);export{Ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.intro[data-v-ffb484ea]{--intro-ink:var(--el-text-color-primary);--intro-muted:var(--el-text-color-secondary);--intro-accent:var(--el-color-primary);color:var(--intro-ink);background:var(--el-bg-color)}.intro-loading[data-v-ffb484ea]{background:var(--app-gradient-hero);place-items:center;min-height:calc(100vh - 140px);display:grid}.intro-loading__pulse[data-v-ffb484ea]{border:3px solid #fff3;border-top-color:#ffffffe6;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite intro-spin-ffb484ea}@keyframes intro-spin-ffb484ea{to{transform:rotate(360deg)}}.container[data-v-ffb484ea]{width:min(1220px,100% - 48px);margin:0 auto}.macbook-frame[data-v-ffb484ea]{filter:drop-shadow(0 24px 28px #050c143d);padding:0 3.5%;position:relative}.macbook-frame__lid[data-v-ffb484ea]{z-index:1;background:linear-gradient(145deg,#11161d 0%,#050709 100%);border:1px solid #3c434d;border-radius:18px 18px 3px 3px;padding:2.6% 2.2% 0;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 -14px 22px #00000059}.macbook-frame__camera[data-v-ffb484ea]{background:#1b2730;border-radius:50%;width:5px;height:5px;position:absolute;top:1.2%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #020304}.macbook-frame__viewport[data-v-ffb484ea]{background:#05070a;border-radius:11px 11px 2px 2px;overflow:hidden}.macbook-frame__viewport img[data-v-ffb484ea]{-o-object-fit:contain;object-fit:contain;background:0 0;border:0;width:100%;height:auto;display:block}.macbook-frame__chin[data-v-ffb484ea]{justify-content:center;align-items:center;height:12px;display:flex}.macbook-frame__base[data-v-ffb484ea]{z-index:2;background:linear-gradient(#d7d9dc 0%,#9ca1a7 38%,#575e66 72%,#c9ccd0 100%);border-radius:2px 2px 14px 14px;width:107.5%;height:18px;margin-top:-1px;margin-left:-3.75%;position:relative;box-shadow:inset 0 1px #ffffffd9,0 5px 8px #0000003d}.macbook-frame__base[data-v-ffb484ea]:before{content:"";background:linear-gradient(#737a82,#b8bcc1);border-radius:0 0 8px 8px;width:18%;height:46%;position:absolute;top:0;left:50%;transform:translate(-50%)}.macbook-frame__base span[data-v-ffb484ea]{background:#ffffff80;width:16%;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone-device[data-v-ffb484ea]{background:linear-gradient(145deg,#151a20,#030405);border:1px solid #3d4248;border-radius:32px;padding:9px 7px 12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 22px 48px #050c1457}.phone-device__speaker[data-v-ffb484ea]{z-index:3;background:#272d34;border-radius:9999px;width:18%;height:3px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.phone-device__screen[data-v-ffb484ea]{background:#05070a;border-radius:23px;position:relative;overflow:hidden}.phone-device__screen img[data-v-ffb484ea]{-o-object-fit:contain;object-fit:contain;background:0 0;border:0;width:100%;height:auto;display:block}.phone-device__island[data-v-ffb484ea]{z-index:2;background:#020304;border-radius:9999px;width:34%;height:13px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.eyebrow[data-v-ffb484ea],.story-kicker[data-v-ffb484ea]{color:var(--intro-accent);text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.4}.eyebrow[data-v-ffb484ea]{color:#fff;background:#ffffff1f;border:1px solid #ffffff40;border-radius:9999px;padding:7px 10px;display:inline-flex}.eyebrow--light[data-v-ffb484ea]{color:var(--intro-accent);background:0 0;border:0;padding:0}.hero[data-v-ffb484ea]{background:var(--app-gradient-hero);position:relative;overflow:hidden}.hero__grid[data-v-ffb484ea]{opacity:.5;background-image:radial-gradient(rgba(var(--app-brand-rgb), .18) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 20%,#0000 92%);mask-image:linear-gradient(#000 20%,#0000 92%)}.hero__content[data-v-ffb484ea]{z-index:1;text-align:center;padding:84px 0 0;position:relative}.hero h1[data-v-ffb484ea]{color:#fff;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#93b8c3 52%,#689caa 100%);-webkit-background-clip:text;background-clip:text;max-width:940px;margin:20px auto 16px;font-size:60px;font-weight:800;line-height:1.08}.hero__summary[data-v-ffb484ea]{color:#ffffffbf;max-width:720px;margin:0 auto 32px;font-size:18px;line-height:1.8}.hero__actions[data-v-ffb484ea]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__actions .el-button[data-v-ffb484ea]:not(.el-button--primary){color:#fff;background:#ffffff1a;border-color:#fff6}.hero__stats[data-v-ffb484ea]{flex-wrap:wrap;justify-content:center;gap:56px;margin:48px 0 0;display:flex}.hero__stats dt[data-v-ffb484ea]{color:#fff;margin-bottom:6px;font-size:30px;font-weight:800}.hero__stats dd[data-v-ffb484ea]{color:#ffffffa6;margin:0;font-size:13px}.hero__screens[data-v-ffb484ea]{max-width:940px;margin:60px auto 0;padding-bottom:40px;position:relative}.hero__mobile[data-v-ffb484ea]{z-index:3;width:17%;position:absolute;bottom:0;right:-12px}.section[data-v-ffb484ea]{padding:104px 0;scroll-margin-top:76px}.capability--alt[data-v-ffb484ea]{background:var(--app-bg-surface)}.capability__head[data-v-ffb484ea]{text-align:center;max-width:820px;margin:0 auto 56px}.capability__head h2[data-v-ffb484ea]{margin:12px 0 16px;font-size:40px;line-height:1.18}.capability__head p[data-v-ffb484ea]{color:var(--intro-muted);margin:0;font-size:17px;line-height:1.8}.capability__body[data-v-ffb484ea]{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:56px;display:grid}.capability__body--reverse[data-v-ffb484ea]{grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr)}.capability__body--reverse .capability__copy[data-v-ffb484ea]{order:-1}.capability__body--copy-only[data-v-ffb484ea]{display:block}.capability__body--copy-only .capability__copy[data-v-ffb484ea]{text-align:center;max-width:760px;margin:0 auto}.capability__body--copy-only .feature-points[data-v-ffb484ea]{text-align:left;display:inline-block}.capability__copy .el-button[data-v-ffb484ea]{margin-top:8px}.screen-pair[data-v-ffb484ea]{position:relative}.screen-pair--with-phone[data-v-ffb484ea]{padding-right:6%}.screen-pair__mobile[data-v-ffb484ea]{z-index:3;width:19%;position:absolute;bottom:-6%;right:-2%}.feature-points[data-v-ffb484ea]{margin:0 0 20px;padding:0;list-style:none}.feature-points li[data-v-ffb484ea]{color:var(--intro-muted);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:15px;line-height:1.7;display:flex}.feature-points li svg[data-v-ffb484ea]{color:var(--intro-accent);flex:none;margin-top:5px}.model-grid[data-v-ffb484ea]{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:64px;display:flex}.model-card[data-v-ffb484ea]{border:1px solid var(--app-border-subtle);background:var(--el-bg-color);border-radius:16px;flex:0 clamp(240px,25% - 16px,300px);min-width:0;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 8px 24px #08121c0a}.model-card[data-v-ffb484ea]:hover{border-color:color-mix(in srgb, var(--intro-accent) 36%, var(--app-border-subtle));transform:translateY(-3px);box-shadow:0 16px 36px #08121c1a}.model-card__heading[data-v-ffb484ea]{align-items:center;gap:13px;margin-bottom:14px;display:flex}.model-card__logo[data-v-ffb484ea]{border:1px solid var(--app-border-subtle);background:color-mix(in srgb, var(--el-bg-color) 84%, var(--intro-accent));border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.model-card__logo img[data-v-ffb484ea]{-o-object-fit:contain;object-fit:contain;width:28px;height:28px;display:block}.model-card h3[data-v-ffb484ea]{margin:0;font-size:17px;font-weight:750;line-height:1.25}.model-card p[data-v-ffb484ea]{color:var(--intro-muted);margin:0;font-size:14px;line-height:1.7}.connector-section[data-v-ffb484ea]{background:var(--app-bg-surface)}.final-cta[data-v-ffb484ea]{background:var(--app-gradient-hero);padding:96px 0}.final-cta__content[data-v-ffb484ea]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.final-cta__content h2[data-v-ffb484ea]{color:#fff;margin:12px 0 14px;font-size:38px;line-height:1.2}.final-cta__content p[data-v-ffb484ea]{color:#ffffffb8;max-width:620px;margin:0;font-size:16px;line-height:1.8}.final-cta .story-kicker[data-v-ffb484ea]{color:#fff;opacity:.75}@media (width<=1100px){.capability__body[data-v-ffb484ea],.capability__body--reverse[data-v-ffb484ea]{grid-template-columns:minmax(0,1fr)}.capability__body .capability__copy[data-v-ffb484ea],.capability__body--reverse .capability__copy[data-v-ffb484ea]{order:0}}@media (width<=768px){.container[data-v-ffb484ea]{width:calc(100% - 32px)}.hero__content[data-v-ffb484ea]{padding-top:56px}.hero h1[data-v-ffb484ea]{font-size:36px}.hero__summary[data-v-ffb484ea]{font-size:16px}.hero__stats[data-v-ffb484ea]{gap:28px}.hero__stats dt[data-v-ffb484ea]{font-size:24px}.hero__mobile[data-v-ffb484ea]{display:none}.section[data-v-ffb484ea]{padding:64px 0}.capability__head h2[data-v-ffb484ea]{font-size:28px}.screen-pair__mobile[data-v-ffb484ea]{display:none}.screen-pair--with-phone[data-v-ffb484ea]{padding-right:0}.model-grid[data-v-ffb484ea]{gap:12px;margin-top:40px}.model-card[data-v-ffb484ea]{flex-basis:calc(50% - 6px);padding:16px 18px}.final-cta h2[data-v-ffb484ea]{font-size:28px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-CUw_YhcY.js";import{t as x}from"./upload-CI1ZP51F.js";import{t as S}from"./tooltip-xGYGkgTR.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-CwEjR6Nf.js";import{t as E}from"./drawer-BMRGHI-3.js";import{t as D}from"./box-K1AOg2Dt.js";import{t as O}from"./clock-CS3ZX4nf.js";import{a as k,c as A,n as j,o as M,r as ee,s as te,t as N}from"./pagination-CebMKB63.js";import{t as ne}from"./info-C40CnPeL.js";import{t as re}from"./trash-2-xb-Jm4i0.js";import{t as ie}from"./triangle-alert-COLtfogn.js";import{t as P}from"./upload-Bu37nR-5.js";import{t as F}from"./wand-sparkles-DDyMsIR4.js";import{Bt as ae,Ft as oe,Gt as se,Ht as ce,It as le,Jt as I,Kt as L,Nt as R,Pt as z,Rt as B,Ut as V,Vt as H,Wt as U,Xt as W,Yt as ue,zt as de}from"./constants-CQR8cCBL.js";import{$t as G,Fi as K,Jt as q,Ln as fe,Mr as pe,O as J,Qt as me,en as he,in as ge,nn as Y,pn as _e,si as X,tn as Z,xi as ve}from"./index-DIgS5Gvp.js";import{t as ye}from"./CopyToClipboard-BoetcLMP.js";import{t as be}from"./ReportButton-D7JGzuC6.js";import{t as Q}from"./ImagePreview-Bc9stSGF.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./Consumption-64yHTpsG.js";import{t as Ce}from"./VideoPlayer-DZajGyHg.js";import{t as we}from"./ApiCodeButton-CiYVI-BW.js";import{t as Te}from"./BotPlaceholder-CWVuEjbL.js";var Ee=v({name:`LayoutGrokVideo`,components:{MagicIcon:F,ElDrawer:E,ElButton:K},mixins:[xe]}),De={class:`main flex flex-row flex-1`},Oe={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)]`},ke={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ae(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,De,[e(`div`,Oe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ke,[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 je=J(Ee,[[`render`,Ae],[`__scopeId`,`data-v-cdd6b8f3`]]),Me=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=J(Me,[[`render`,Ne]]),Fe=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:M},data(){return{options:[{value:de,label:this.$t(`grokvideo.model.fastReverse`)},{value:H,label:this.$t(`grokvideo.model.reverse`)},{value:ae,label:this.$t(`grokvideo.model.official`)},{value:B,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=R}}),Ie={class:`field`},Le={class:`label`},Re={class:`box`},ze={class:`title font-bold`};function Be(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ie,[e(`div`,Le,[e(`div`,Re,[e(`h2`,ze,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=J(Fe,[[`render`,Be],[`__scopeId`,`data-v-9e6fef88`]]),He=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:M},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return I(this.model)},minDuration(){return ue(this.model)},options(){return le.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),Ue={class:`field`},We={class:`label`},Ge={class:`box`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`h2`,Ke,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=J(He,[[`render`,qe],[`__scopeId`,`data-v-673a8bbc`]]),Ye=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:M},data(){return{options:[{value:se,label:`480p`},{value:L,label:`720p`},{value:U,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=oe}}),Xe={class:`resolution`},Ze={class:`header`},Qe={class:`title font-bold`},$e={class:`items`},et=[`onClick`];function tt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`h2`,Qe,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,$e,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,et))),128))])])}var nt=J(Ye,[[`render`,tt],[`__scopeId`,`data-v-54f22a22`]]),rt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:M},computed:{options(){return[{value:ce,label:`16:9`,w:32,h:18},{value:V,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=z}}),it={class:`ratio`},at={class:`header`},ot={class:`title font-bold`},st={class:`items`},ct=[`onClick`],lt={class:`preview`},ut={class:`name`};function dt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,st,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,lt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,ut,i(r.label),1)],10,ct))),128))])])}var ft=J(rt,[[`render`,dt],[`__scopeId`,`data-v-70115284`]]),pt=v({name:`GrokVideoImageInput`,components:{UploadIcon:P,ElUpload:x,ElButton:K,InfoIcon:M,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return W(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),mt={class:`relative`},ht={class:`flex justify-between`},gt={class:`flex justify-start items-center`},_t={class:`text-sm font-bold`},vt={key:0,class:`required-badge`};function yt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,mt,[e(`div`,ht,[e(`div`,gt,[e(`span`,_t,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),s(`span`,vt,i(t.$t(`grokvideo.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`grokvideo.description.image`)},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:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{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(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var bt=J(pt,[[`render`,yt],[`__scopeId`,`data-v-ea7c012a`]]),xt=4,St=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:P,ElUpload:x,ElButton:K,InfoIcon:M,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`,limit:xt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Ct={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},wt={class:`flex min-w-0 items-center`},Tt={class:`title m-0 text-[14px] font-bold`},Et={class:`file-list flex flex-wrap gap-[10px]`};function Dt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Et,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Ot=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:F,ElButton:K,PromptInput:Pe,ModelSelector:Ve,DurationSelector:Je,ResolutionSelector:nt,RatioSelector:ft,ImageInput:bt,ReferenceImagesInput:J(St,[[`render`,Dt]]),Consumption:Se},emits:[`generate`],computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!W(this.$store.state.grokvideo?.config?.model)},consumption(){return ge(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),kt={class:`flex flex-col h-full`},At={class:`flex-1 overflow-y-auto p-5`},jt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Mt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,kt,[e(`div`,At,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,jt,[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(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Nt=J(Ot,[[`render`,Mt]]),Pt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:re,ApplicationIcon:D,ChannelIcon:A,FullscreenIcon:te,InfoIcon:ne,MagicIcon:F,TimeIcon:O,WarningIcon:ie,CopyToClipboard:ye,ElAlert:C,VideoPlayer:Ce,ElTooltip:S,ElButton:K,ImagePreview:Q,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ve.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Ft={class:`preview`},It={class:`left`},Lt={class:`main`},Rt={class:`bot`},zt={class:`datetime`},Bt=[`aria-label`],Vt={class:`info`},Ht={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Ut={key:1,class:`prompt mt-2`},Wt={key:0},Gt={key:1},Kt={key:0,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Yt={key:1,class:n({content:!0})},Xt={key:0,class:`mb-4`},Zt={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Qt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0},tn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},an={key:2,class:n({content:!0})},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ln={key:3,class:n({content:!0})},un={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function dn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Ft,[e(`div`,It,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,Lt,[e(`div`,Rt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,zt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Vt,[n.inputImage?(g(),s(`div`,Ht,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,Ut,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,Gt,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,Wt,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,Yt,[n.video?.video_url?(g(),s(`div`,Xt,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,Zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`grokvideo.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,Qt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,$t,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,en,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,$,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,tn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,nn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,rn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,an,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,on,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,sn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,cn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,ln,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,un,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,Kt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,Jt,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var fn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:J(Pt,[[`render`,dn],[`__scopeId`,`data-v-03743e13`]]),BotPlaceholder:Te,NoTasks:ee,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pn={key:0},mn={key:2,class:`w-full h-full flex items-center justify-center`};function hn(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`,pn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,mn,[a(v)])):o(``,!0)],64)}var gn=v({name:`GrokVideoIndex`,components:{ConfigPanel:Nt,Layout:je,RecentPanel:J(fn,[[`render`,hn]])},mixins:[he],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`grokvideo/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!me(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config||{}};typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),typeof e?.image_url==`string`&&!e.image_url.trim()&&delete e.image_url,(W(e?.model)||!(Array.isArray(e?.reference_image_urls)&&e.reference_image_urls.length))&&delete e.reference_image_urls;let t=!!e?.image_url;if(W(e?.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e?.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n={...e,async:!0};if(!_e())return;let r=this.credential?.token;if(!r){console.error(`no token specified`);return}T.info(this.$t(`grokvideo.message.startingTask`)),pe(`grokvideo`,fe.generate(n,{token:r})).then(()=>{T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?T.error(this.$t(`grokvideo.message.usedUp`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function _n(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 vn=J(gn,[[`render`,_n]]);export{vn as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-DxlkO65R.js";import{t as x}from"./upload-CaDoepuW.js";import{t as S}from"./tooltip-C_Jr9jzb.js";import{t as C}from"./alert-BprQRUmf.js";import{h as w,v as T}from"./models-BezwK8kr.js";import{t as E}from"./drawer-CzQ0A6Bq.js";import{t as D}from"./box-4-9crZjA.js";import{t as O}from"./clock-BBp05BQI.js";import{a as k,c as A,n as j,o as M,r as ee,s as te,t as N}from"./pagination-NhZwBj0v.js";import{t as ne}from"./info-BFhGiEMG.js";import{t as re}from"./trash-2-BQLGMG1w.js";import{t as ie}from"./triangle-alert-ShrL63ju.js";import{t as P}from"./upload-CNBzy6GU.js";import{t as F}from"./wand-sparkles-DEWXPZMX.js";import{Bt as ae,Ft as oe,Gt as se,Ht as ce,It as le,Jt as I,Kt as L,Nt as R,Pt as z,Rt as B,Ut as V,Vt as H,Wt as U,Xt as W,Yt as ue,zt as de}from"./constants-CLU-fDDu.js";import{$t as G,Fi as K,Jt as q,Ln as fe,Mr as pe,O as J,Qt as me,en as he,in as ge,nn as Y,pn as _e,si as X,tn as Z,xi as ve}from"./index-BdWkx9SU.js";import{t as ye}from"./CopyToClipboard-P1yaIIEd.js";import{t as be}from"./ReportButton-DGmAAhbu.js";import{t as Q}from"./ImagePreview-D7SZPPgL.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./Consumption-DrrnDc02.js";import{t as Ce}from"./VideoPlayer-CekxyRb2.js";import{t as we}from"./ApiCodeButton-Xu21Doha.js";import{t as Te}from"./BotPlaceholder-Cphp5w1L.js";var Ee=v({name:`LayoutGrokVideo`,components:{MagicIcon:F,ElDrawer:E,ElButton:K},mixins:[xe]}),De={class:`main flex flex-row flex-1`},Oe={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)]`},ke={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ae(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,De,[e(`div`,Oe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ke,[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 je=J(Ee,[[`render`,Ae],[`__scopeId`,`data-v-cdd6b8f3`]]),Me=v({name:`GrokVideoPromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.grokvideo?.config?.prompt},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`grokvideo.name.prompt`),info:e.$t(`grokvideo.description.prompt`),placeholder:e.$t(`grokvideo.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=J(Me,[[`render`,Ne]]),Fe=v({name:`GrokVideoModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:M},data(){return{options:[{value:de,label:this.$t(`grokvideo.model.fastReverse`)},{value:H,label:this.$t(`grokvideo.model.reverse`)},{value:ae,label:this.$t(`grokvideo.model.official`)},{value:B,label:this.$t(`grokvideo.model.official15`)}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.model},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,model:e})}}},mounted(){this.value||=R}}),Ie={class:`field`},Le={class:`label`},Re={class:`box`},ze={class:`title font-bold`};function Be(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ie,[e(`div`,Le,[e(`div`,Re,[e(`h2`,ze,i(t.$t(`grokvideo.name.model`)),1),a(m,{content:t.$t(`grokvideo.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ve=J(Fe,[[`render`,Be],[`__scopeId`,`data-v-9e6fef88`]]),He=v({name:`GrokVideoDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:M},computed:{model(){return this.$store.state.grokvideo?.config?.model},maxDuration(){return I(this.model)},minDuration(){return ue(this.model)},options(){return le.filter(e=>e>=this.minDuration&&e<=this.maxDuration).map(e=>({value:e,label:`${e}s`}))},value:{get(){return this.$store.state.grokvideo?.config?.duration},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,duration:e})}}},watch:{maxDuration(e){this.value&&this.value>e&&(this.value=e)},minDuration(e){this.value&&this.value<e&&(this.value=e)}},mounted(){this.value||=6}}),Ue={class:`field`},We={class:`label`},Ge={class:`box`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ue,[e(`div`,We,[e(`div`,Ge,[e(`h2`,Ke,i(t.$t(`grokvideo.name.duration`)),1),a(m,{content:t.$t(`grokvideo.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`grokvideo.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=J(He,[[`render`,qe],[`__scopeId`,`data-v-673a8bbc`]]),Ye=v({name:`GrokVideoResolutionSelector`,components:{InfoIcon:M},data(){return{options:[{value:se,label:`480p`},{value:L,label:`720p`},{value:U,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.grokvideo?.config?.resolution},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,resolution:e})}}},mounted(){this.value||=oe}}),Xe={class:`resolution`},Ze={class:`header`},Qe={class:`title font-bold`},$e={class:`items`},et=[`onClick`];function tt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,Xe,[e(`div`,Ze,[e(`h2`,Qe,i(t.$t(`grokvideo.name.resolution`)),1),a(p,{content:t.$t(`grokvideo.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,$e,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,et))),128))])])}var nt=J(Ye,[[`render`,tt],[`__scopeId`,`data-v-54f22a22`]]),rt=v({name:`GrokVideoRatioSelector`,components:{InfoIcon:M},computed:{options(){return[{value:ce,label:`16:9`,w:32,h:18},{value:V,label:`9:16`,w:18,h:32},{value:`1:1`,label:`1:1`,w:24,h:24},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`3:2`,label:`3:2`,w:30,h:20},{value:`2:3`,label:`2:3`,w:20,h:30}]},value:{get(){return this.$store.state.grokvideo?.config?.aspect_ratio},set(e){this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,aspect_ratio:e})}}},mounted(){this.value||=z}}),it={class:`ratio`},at={class:`header`},ot={class:`title font-bold`},st={class:`items`},ct=[`onClick`],lt={class:`preview`},ut={class:`name`};function dt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`grokvideo.name.ratio`)),1),a(p,{content:t.$t(`grokvideo.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,st,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,lt,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,ut,i(r.label),1)],10,ct))),128))])])}var ft=J(rt,[[`render`,dt],[`__scopeId`,`data-v-70115284`]]),pt=v({name:`GrokVideoImageInput`,components:{UploadIcon:P,ElUpload:x,ElButton:K,InfoIcon:M,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},required(){return W(this.$store.state.grokvideo?.config?.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},methods:{onExceed(){T.warning(this.$t(`grokvideo.message.uploadExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,image_url:e||void 0})},async onSuccess(){this.onSetImageUrl()},async onRemove(){this.onSetImageUrl()}}}),mt={class:`relative`},ht={class:`flex justify-between`},gt={class:`flex justify-start items-center`},_t={class:`text-sm font-bold`},vt={key:0,class:`required-badge`};function yt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,mt,[e(`div`,ht,[e(`div`,gt,[e(`span`,_t,i(t.$t(`grokvideo.name.image`)),1),t.required?(g(),s(`span`,vt,i(t.$t(`grokvideo.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`grokvideo.description.image`)},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:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{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(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])}var bt=J(pt,[[`render`,yt],[`__scopeId`,`data-v-ea7c012a`]]),xt=4,St=v({name:`GrokVideoReferenceImagesInput`,components:{UploadIcon:P,ElUpload:x,ElButton:K,InfoIcon:M,ImagePreview:Q},mixins:[Y,Z,G,q],data(){return{fileList:[],uploadUrl:X()+`/api/v1/files/`,limit:xt,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)||[]},value(){return this.$store.state.grokvideo?.config?.reference_image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){T.warning(this.$t(`grokvideo.message.uploadReferenceExceed`))},onError(){T.error(this.$t(`grokvideo.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`grokvideo/setConfig`,{...this.$store.state.grokvideo?.config,reference_image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),Ct={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},wt={class:`flex min-w-0 items-center`},Tt={class:`title m-0 text-[14px] font-bold`},Et={class:`file-list flex flex-wrap gap-[10px]`};function Dt(t,n,o,u,d,m){let _=l(`info-icon`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`image-preview`);return g(),s(`div`,null,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`grokvideo.name.referenceImages`)),1),a(_,{content:t.$t(`grokvideo.description.referenceImages`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:t.limit,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`grokvideo.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Et,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Ot=v({name:`GrokVideoConfigPanel`,components:{MagicIcon:F,ElButton:K,PromptInput:Pe,ModelSelector:Ve,DurationSelector:Je,ResolutionSelector:nt,RatioSelector:ft,ImageInput:bt,ReferenceImagesInput:J(St,[[`render`,Dt]]),Consumption:Se},emits:[`generate`],computed:{config(){return this.$store.state.grokvideo?.config},supportsReferenceImages(){return!W(this.$store.state.grokvideo?.config?.model)},consumption(){return ge(this.config,this.service?.cost)},service(){return this.$store.state.grokvideo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),kt={class:`flex flex-col h-full`},At={class:`flex-1 overflow-y-auto p-5`},jt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Mt(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`resolution-selector`),b=l(`duration-selector`),x=l(`image-input`),S=l(`reference-images-input`),C=l(`consumption`),w=l(`magic-icon`),T=l(`el-button`);return g(),s(`div`,kt,[e(`div`,At,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),t.supportsReferenceImages?(g(),f(S,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,jt,[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(`grokvideo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Nt=J(Ot,[[`render`,Mt]]),Pt=v({name:`GrokVideoTaskPreview`,components:{DeleteIcon:re,ApplicationIcon:D,ChannelIcon:A,FullscreenIcon:te,InfoIcon:ne,MagicIcon:F,TimeIcon:O,WarningIcon:ie,CopyToClipboard:ye,ElAlert:C,VideoPlayer:Ce,ElTooltip:S,ElButton:K,ImagePreview:Q,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_url},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ve.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`grokvideo/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),Ft={class:`preview`},It={class:`left`},Lt={class:`main`},Rt={class:`bot`},zt={class:`datetime`},Bt=[`aria-label`],Vt={class:`info`},Ht={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Ut={key:1,class:`prompt mt-2`},Wt={key:0},Gt={key:1},Kt={key:0,class:n({content:!0})},qt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Yt={key:1,class:n({content:!0})},Xt={key:0,class:`mb-4`},Zt={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Qt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0},tn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},an={key:2,class:n({content:!0})},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ln={key:3,class:n({content:!0})},un={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function dn(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`image-preview`),b=l(`time-icon`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`report-button`),O=l(`application-icon`),k=l(`fullscreen-icon`),A=l(`channel-icon`),j=l(`warning-icon`),M=l(`info-icon`);return g(),s(`div`,Ft,[e(`div`,It,[a(h,{capability:`grokvideo`,part:`avatar`,class:`avatar`})]),e(`div`,Lt,[e(`div`,Rt,[a(h,{capability:`grokvideo`,part:`name`}),e(`span`,zt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Vt,[n.inputImage?(g(),s(`div`,Ht,[a(y,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,Ut,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,Gt,` - (`+i(n.$t(`grokvideo.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,Wt,` - (`+i(n.$t(`grokvideo.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,Yt,[n.video?.video_url?(g(),s(`div`,Xt,[a(w,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,Zt,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`grokvideo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`grokvideo.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(E,{path:`/grok/videos`,body:n.modelValue?.request},null,8,[`body`]),a(D,{service:`grokvideo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,Qt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,$t,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,en,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,$,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,tn,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,nn,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,rn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,an,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failure`)),1)]),default:p(()=>[e(`p`,on,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,sn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,cn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,ln,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.status`)),1)]),default:p(()=>[e(`p`,un,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,Kt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.status.pending`)),1)]),default:p(()=>[e(`p`,qt,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,Jt,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`grokvideo.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var fn=v({name:`GrokVideoRecentPanel`,components:{TaskPreview:J(Pt,[[`render`,dn],[`__scopeId`,`data-v-03743e13`]]),BotPlaceholder:Te,NoTasks:ee,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.grokvideo?.tasks,items:this.$store.state.grokvideo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),pn={key:0},mn={key:2,class:`w-full h-full flex items-center justify-center`};function hn(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`,pn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,mn,[a(v)])):o(``,!0)],64)}var gn=v({name:`GrokVideoIndex`,components:{ConfigPanel:Nt,Layout:je,RecentPanel:J(fn,[[`render`,hn]])},mixins:[he],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.grokvideo?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.grokvideo?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.grokvideo?.credential},config(){return this.$store.state.grokvideo?.config},tasks(){return this.$store.state.grokvideo?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`grokvideo/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`grokvideo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!me(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let e={...this.config||{}};typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),typeof e?.image_url==`string`&&!e.image_url.trim()&&delete e.image_url,(W(e?.model)||!(Array.isArray(e?.reference_image_urls)&&e.reference_image_urls.length))&&delete e.reference_image_urls;let t=!!e?.image_url;if(W(e?.model)&&!t){T.warning(this.$t(`grokvideo.message.modelRequiresImage`));return}if(!t&&!e?.prompt){T.warning(this.$t(`grokvideo.message.promptOrImageRequired`));return}let n={...e,async:!0};if(!_e())return;let r=this.credential?.token;if(!r){console.error(`no token specified`);return}T.info(this.$t(`grokvideo.message.startingTask`)),pe(`grokvideo`,fe.generate(n,{token:r})).then(()=>{T.success(this.$t(`grokvideo.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?T.error(this.$t(`grokvideo.message.usedUp`)):T.error(this.$t(`grokvideo.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function _n(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 vn=J(gn,[[`render`,_n]]);export{vn as default};
|