@acedatacloud/nexior 3.343.4 → 3.344.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ApiCodeButton-mBd2P0FN.js → ApiCodeButton-DOcK1VqP.js} +1 -1
- package/dist/assets/{Artifacts-B6mXtgfQ.js → Artifacts--FFROZi_.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-e-QXj__3.js → AskUserQuestionCard-BAJPpidu.js} +1 -1
- package/dist/assets/{AudioPreview-BpmNbCtW.js → AudioPreview-CViiR_WR.js} +1 -1
- package/dist/assets/{Auth-U0tvRqsK.js → Auth-D5SjXPH7.js} +1 -1
- package/dist/assets/{Bare-6q45bIKw.js → Bare-CU7rpTKw.js} +1 -1
- package/dist/assets/{BotPlaceholder-zhWqEx4l.js → BotPlaceholder-BHU8eMvD.js} +1 -1
- package/dist/assets/{BottomFooter-CzJLie2S.js → BottomFooter-BKB-FbSs.js} +1 -1
- package/dist/assets/{Callback-DMj8kBFe.js → Callback-BTZM7ksE.js} +1 -1
- package/dist/assets/{CodeSnippet-OANDMr4B.js → CodeSnippet-DmfNgNH_.js} +1 -1
- package/dist/assets/{Console-BxqxdmOt.js → Console-Bbu6AkxI.js} +1 -1
- package/dist/assets/{Consumption-5jFfJMgi.js → Consumption-CGmpOTC4.js} +1 -1
- package/dist/assets/{Conversation-BYOg_qJp.js → Conversation-B2K607Tt.js} +1 -1
- package/dist/assets/{Conversation-DaEPZjLp.js → Conversation-mRR7wgto.js} +1 -1
- package/dist/assets/{CopyToClipboard-BrD_S9zo.js → CopyToClipboard-OvIZTxXS.js} +1 -1
- package/dist/assets/{Detail-BORleHvo.js → Detail-Dp3Vejun.js} +2 -2
- package/dist/assets/{Extra-BlV68nxx.js → Extra-BftM9Ah2.js} +1 -1
- package/dist/assets/{FilePreview-BFB7sGLc.js → FilePreview-kQr0g_lA.js} +1 -1
- package/dist/assets/{Hailuo-DdPBx1tK.js → Hailuo-Zcc_L8XJ.js} +1 -1
- package/dist/assets/{History-BzuK0Ocs.js → History-CdMPLRdI.js} +1 -1
- package/dist/assets/{ImagePreview-BOxvxJTu.js → ImagePreview-EEjGFuC6.js} +1 -1
- package/dist/assets/{ImageWrapper-B1wWZMQW.js → ImageWrapper-DXV_BdE5.js} +1 -1
- package/dist/assets/{Index-DwjJ-LvU.js → Index-25hdqITe.js} +1 -1
- package/dist/assets/{Index-DLgDycgH.js → Index-3avsTVnH.js} +1 -1
- package/dist/assets/{Index-DAhIAXz5.js → Index-BBTAMNfn.js} +1 -1
- package/dist/assets/{Index-akqrnfWb.js → Index-BISn85XK.js} +1 -1
- package/dist/assets/{Index-D5LcRnFI.js → Index-BQfNU2iZ.js} +1 -1
- package/dist/assets/{Index-CTOWN4fH.js → Index-BXiIYDpQ.js} +1 -1
- package/dist/assets/{Index-DJH1yp_N.js → Index-Bb0r1yK7.js} +1 -1
- package/dist/assets/{Index-C1UHPXmY.js → Index-Bg-O8H_X.js} +1 -1
- package/dist/assets/{Index-H93GeMfT.js → Index-BrXp4NuP.js} +1 -1
- package/dist/assets/{Index-BbjjBpIj.js → Index-BusjNobL.js} +1 -1
- package/dist/assets/{Index-DN8QPaSu.js → Index-ByzA1iLi.js} +1 -1
- package/dist/assets/{Index-DlnqSDpS.js → Index-BzUZPinX.js} +1 -1
- package/dist/assets/{Index-BM3iWOfi.js → Index-C1RhXskP.js} +1 -1
- package/dist/assets/{Index-CeOtx0aQ.js → Index-C2KeDSva.js} +1 -1
- package/dist/assets/{Index-Czt9aiTj2.js → Index-C4KQ7VVf2.js} +1 -1
- package/dist/assets/{Index-D2-N2p69.js → Index-CEgPkzC_.js} +1 -1
- package/dist/assets/{Index-mWrJTVMb.js → Index-CKJUyLKl.js} +1 -1
- package/dist/assets/{Index-DwFWvpbN.js → Index-CLfppARf.js} +1 -1
- package/dist/assets/{Index-pjebVCEF.js → Index-CYWW8HPN.js} +1 -1
- package/dist/assets/{Index-DHH54T0A2.js → Index-Ce2IV7U92.js} +1 -1
- package/dist/assets/{Index-Ch4CRioY.js → Index-Cmn3eDm-.js} +1 -1
- package/dist/assets/{Index-BsgFx7BV.js → Index-CrwbkRqt.js} +1 -1
- package/dist/assets/{Index-Dgtdotex.js → Index-D93ETFVS.js} +1 -1
- package/dist/assets/{Index-_sFYNBjs.js → Index-DWvPDObo.js} +1 -1
- package/dist/assets/{Index-DjDBGzak.js → Index-DshGWOeG.js} +1 -1
- package/dist/assets/{Index-CTC4Edo7.js → Index-DxS38A9M.js} +1 -1
- package/dist/assets/{Index-BzVMNdWM.js → Index-EOHbAO-I.js} +1 -1
- package/dist/assets/{Index-CuYeRXjj.js → Index-KfXhpyJv.js} +1 -1
- package/dist/assets/{Index-C2oKMN2w.js → Index-_QL_xbe3.js} +1 -1
- package/dist/assets/{Index-B69GYdmm2.js → Index-eeqmc0a82.js} +1 -1
- package/dist/assets/{Index-2b_xdH5v.js → Index-vefXeA5H.js} +1 -1
- package/dist/assets/{Index-Cu7IK_MC2.js → Index-xxiBdU6b2.js} +1 -1
- package/dist/assets/{Invitees-Bfkd8R7O.js → Invitees-BI8iBbaa.js} +1 -1
- package/dist/assets/{List-DsEWUhib.js → List-BdfnSmT2.js} +1 -1
- package/dist/assets/{List-DMJ_8FXi.js → List-CHNnuWZl.js} +1 -1
- package/dist/assets/{List-BLMROUrW.js → List-jRCTn7za.js} +1 -1
- package/dist/assets/{LocalTools-Cb0J5I7w.js → LocalTools-CA0aGBSW.js} +1 -1
- package/dist/assets/{LocalTools-CAWRH0CS.js → LocalTools-DBKvOSay.js} +1 -1
- package/dist/assets/{Main-B7mG9feO.js → Main-CbFe23V8.js} +1 -1
- package/dist/assets/{Message-D3jxZlmJ.js → Message-DuhKWJTo.js} +1 -1
- package/dist/assets/{Model-C6ZcveQy.js → Model-D_X2QCJX.js} +1 -1
- package/dist/assets/{Navigator-RmTLu1q7.js → Navigator-BWVZRFcP.js} +3 -3
- package/dist/assets/{NotFound-BJfeDP_U.js → NotFound-DgYpKchC.js} +1 -1
- package/dist/assets/{Pay-VdvoE4SZ.js → Pay-FWhR717o.js} +1 -1
- package/dist/assets/{Player-B1tcXcQ6.js → Player-DNjh-weR.js} +1 -1
- package/dist/assets/{Poivelle-BtWdLZ4Z.js → Poivelle-_Yoj-pV8.js} +1 -1
- package/dist/assets/{PromptTextarea-BHPGhZlf.js → PromptTextarea-Dp_ERjCw.js} +1 -1
- package/dist/assets/{RealtimeCall-B_aRG4uZ.js → RealtimeCall-uWZXHbKF.js} +1 -1
- package/dist/assets/{ScheduledTasks-DOWuRsyo.js → ScheduledTasks-etHfq1Pu.js} +1 -1
- package/dist/assets/{Status-CSGjypfY.js → Status-CHm6IiaG.js} +1 -1
- package/dist/assets/{Subscribe-nVXdk74M.js → Subscribe-Cgjm0aA9.js} +1 -1
- package/dist/assets/{TabSwitcher-Uuh5-jNm.js → TabSwitcher-gy50jjT8.js} +1 -1
- package/dist/assets/{Tts-DI82BOQr.js → Tts-BZAq0JyU.js} +1 -1
- package/dist/assets/{VideoPlayer-B1wDwpbK.js → VideoPlayer-t_mKu2no.js} +1 -1
- package/dist/assets/{alert-CjGfU-gU.js → alert-BWOdWS0h.js} +1 -1
- package/dist/assets/arrow-down-CvNLp-Rl.js +1 -0
- package/dist/assets/{arrow-down-wide-narrow-C00xmJiV.js → arrow-down-wide-narrow-8C2D7HYq.js} +1 -1
- package/dist/assets/arrow-left-9rl6g_lg.js +1 -0
- package/dist/assets/arrow-right-PpOllY5_.js +1 -0
- package/dist/assets/arrow-up-Bqfed7S8.js +1 -0
- package/dist/assets/{avatar-Cn_zVihv.js → avatar-g7AkxeVx.js} +1 -1
- package/dist/assets/{basic-yhpJkvvv.js → basic-CfkoX9YH.js} +1 -1
- package/dist/assets/{book-open-CVhmRi_b.js → book-open-CymjekyH.js} +1 -1
- package/dist/assets/{box-QAF2LCu4.js → box-ONO8wgHX.js} +1 -1
- package/dist/assets/{boxes-DdtlwjEX.js → boxes-SUvHMdeH.js} +1 -1
- package/dist/assets/{brain-DXOuJd9z.js → brain-Dv9I-bUf.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-REVdmidC.js → chart-no-axes-combined-D48QCCYR.js} +1 -1
- package/dist/assets/{chat-Cx6E_SaP.js → chat-Bez7SCgo.js} +1 -1
- package/dist/assets/check-CtZeuea9.js +1 -0
- package/dist/assets/chevron-down-kO4nqPRd.js +1 -0
- package/dist/assets/chevron-right-pJAh5Q3E.js +1 -0
- package/dist/assets/circle-check-Dqklu7wj.js +1 -0
- package/dist/assets/{circle-question-mark-kh9-4dAZ.js → circle-question-mark-CzO_y4gj.js} +1 -1
- package/dist/assets/{clipboard-list-B9kMnDys.js → clipboard-list-C1wYcw_t.js} +1 -1
- package/dist/assets/clock-DAolFjrg.js +1 -0
- package/dist/assets/code-C7BBlQhM.js +1 -0
- package/dist/assets/{codingBridge-DFOOXg1e.js → codingBridge-DJ283sep.js} +1 -1
- package/dist/assets/{codingBridgeNotify-ntAtpmIt.js → codingBridgeNotify-DLRXit4M.js} +2 -2
- package/dist/assets/{coins-CDgMLhGy.js → coins-CShAix3q.js} +1 -1
- package/dist/assets/{collapse-CDhSlEIE.js → collapse-8xfZyHyk.js} +1 -1
- package/dist/assets/{copy-BoDWFnHl.js → copy-tm_N_GWz.js} +1 -1
- package/dist/assets/{createTaskActions-1u7hS0hz.js → createTaskActions-coucYe4I.js} +1 -1
- package/dist/assets/{digitalhuman-C0H03M8m.js → digitalhuman-4NpJfs8r.js} +1 -1
- package/dist/assets/{dollar-sign-gi74YW1f.js → dollar-sign-Bc7y5cvS.js} +1 -1
- package/dist/assets/{download-0O1NSgyC.js → download-DSHw6m0d.js} +1 -1
- package/dist/assets/{drawer-0o_546sA.js → drawer-CsKJr6OV.js} +1 -1
- package/dist/assets/{dropdown-DW_Dm8SZ.js → dropdown-D9A7K75_.js} +1 -1
- package/dist/assets/{dropdown-CdOv0ZjA.js → dropdown-p33rwbY_.js} +1 -1
- package/dist/assets/{ellipsis-Bjsvynjw.js → ellipsis-DrUXWtAi.js} +1 -1
- package/dist/assets/{esm-Cicabngx.js → esm-2BlAWiah.js} +3 -3
- package/dist/assets/{esm-BinRGNEO.js → esm-B90v90Hv.js} +2 -2
- package/dist/assets/esm-BINpKauH.js +1 -0
- package/dist/assets/{esm-lB5M3cT_.js → esm-BfeRdyD6.js} +1 -1
- package/dist/assets/{esm-CXI1rJOZ.js → esm-DNHhJYpj.js} +2 -2
- package/dist/assets/{esm-Bzq2lEWf.js → esm-Db4Q3NGL.js} +1 -1
- package/dist/assets/{esm-DtXl4bwD.js → esm-DqoemQzD.js} +1 -1
- package/dist/assets/{external-link-DFRAn9dG.js → external-link-BoPRSvjL.js} +1 -1
- package/dist/assets/{eye-Cn0zMGDy.js → eye-RQ5uTwTu.js} +1 -1
- package/dist/assets/{file-BkdAfHKH.js → file-QnDabFFm.js} +1 -1
- package/dist/assets/{file-output-CkRp4Hig.js → file-output-NwjHXdyc.js} +1 -1
- package/dist/assets/{file-text-12q8fWw2.js → file-text-CZHZCYiU.js} +1 -1
- package/dist/assets/{fish-C3_dToA5.js → fish-pMZ2uGGr.js} +1 -1
- package/dist/assets/{flux-BLoTSp6j.js → flux-BToTU3VZ.js} +1 -1
- package/dist/assets/{folder-DovrbUlu.js → folder-BK-8H9Le.js} +1 -1
- package/dist/assets/gauge-D6oh5cEt.js +1 -0
- package/dist/assets/{globe-BkqByXkn.js → globe-D_UKC2NC.js} +1 -1
- package/dist/assets/{grokvideo-Coymp8C2.js → grokvideo-CxOKCv3Y.js} +1 -1
- package/dist/assets/{hailuo-CcB-Xi1H.js → hailuo-CeLQca1X.js} +1 -1
- package/dist/assets/{headphones-BnuaaCj1.js → headphones-DQJ5AYtE.js} +1 -1
- package/dist/assets/{history-BS4Edg6O.js → history-CG6uDjAy.js} +1 -1
- package/dist/assets/{house-C9O8rRac.js → house-D_bEIhYS.js} +1 -1
- package/dist/assets/{image-BxCFYciM.js → image-C0VTg1gy.js} +1 -1
- package/dist/assets/{index-aLwbyoek.js → index-C4ZWtsBP.js} +3 -3
- package/dist/assets/{index.browser.esm-BYnzfbli.js → index.browser.esm-vIOWonIk.js} +1 -1
- package/dist/assets/{index.es-DVthyUgP.js → index.es-BojrqX50.js} +1 -1
- package/dist/assets/{info-DxQaQ-5P.js → info-njwTUcn4.js} +1 -1
- package/dist/assets/{input-number-Capk9MZK.js → input-number-B_qnm_7r.js} +1 -1
- package/dist/assets/{key-round-BUIXHZCK.js → key-round-B3QLCd_l.js} +1 -1
- package/dist/assets/{kling-CnxUmLM2.js → kling-BDEzeGNE.js} +1 -1
- package/dist/assets/{languages-ltWtLheG.js → languages-CNRRuUog.js} +1 -1
- package/dist/assets/{laptop-D9Yxeszo.js → laptop-C_zkDzs7.js} +1 -1
- package/dist/assets/{lightbulb-ByX1RQkn.js → lightbulb-DBbx1e3d.js} +1 -1
- package/dist/assets/{link-HTG8ixP8.js → link-BgRnq2a3.js} +1 -1
- package/dist/assets/loader-circle-CpU-M-UA.js +1 -0
- package/dist/assets/{lock-BnlStxtJ.js → lock-iwLHiuUS.js} +1 -1
- package/dist/assets/{luma-DB2lEFAh.js → luma-Dnqxcfmb.js} +1 -1
- package/dist/assets/{maestro-8SJPE4e0.js → maestro-G_tfN-Jv.js} +1 -1
- package/dist/assets/{mail-BBGGNp0n.js → mail-BGvXlvh2.js} +1 -1
- package/dist/assets/{message-circle-C8b1NlpL.js → message-circle-ZRkldrvG.js} +1 -1
- package/dist/assets/{mic-D4N1oGWy.js → mic-TX03AL-X.js} +1 -1
- package/dist/assets/{midjourney-CH2VkuIc.js → midjourney-CwwAjbrJ.js} +1 -1
- package/dist/assets/{mobileLocalExec-C0AnHRbF.js → mobileLocalExec-nIg4JcwY.js} +2 -2
- package/dist/assets/{monitor-BhqDurCD.js → monitor-BRfZtGxG.js} +1 -1
- package/dist/assets/{mouse-pointer-2-v5h4rSk4.js → mouse-pointer-2-ChRGG8r8.js} +1 -1
- package/dist/assets/music-2-B4TmKZL-.js +1 -0
- package/dist/assets/{nanobanana-BtqvL5uO.js → nanobanana-MaR2pzaM.js} +1 -1
- package/dist/assets/{omni-sdX1TJXu.js → omni-BbZmq3v2.js} +1 -1
- package/dist/assets/{openaiimage-BwqrfEDX.js → openaiimage-XGDcJfhf.js} +1 -1
- package/dist/assets/{pagination-CgbChX1_.js → pagination-3uvjbl1I.js} +1 -1
- package/dist/assets/{pagination-CZbKlQlL.js → pagination-BnayJw_l.js} +1 -1
- package/dist/assets/{pagination-CzDsM3uh.js → pagination-HhMWiKgI.js} +1 -1
- package/dist/assets/{palette-BVWSYgxb.js → palette-B90JDuj2.js} +1 -1
- package/dist/assets/{paperclip-CVPIjCyF.js → paperclip-8mtvq_oD.js} +1 -1
- package/dist/assets/{pause-D_IpfLZu.js → pause-YhNB0QOJ.js} +1 -1
- package/dist/assets/{pencil-Lr1wlHtd.js → pencil-Dwj8GKrK.js} +1 -1
- package/dist/assets/{pika-S417iYEj.js → pika-t2Q84UrF.js} +1 -1
- package/dist/assets/{pixverse-FUHZmpkC.js → pixverse-DRZLwa8d.js} +1 -1
- package/dist/assets/play-tWJ6zAkw.js +1 -0
- package/dist/assets/{plug-D3QH0jEh.js → plug-B82-vDJf.js} +1 -1
- package/dist/assets/plus-MnwXUy4-.js +1 -0
- package/dist/assets/{poivelle-1sCn_fGv.js → poivelle-B8Ndymil.js} +1 -1
- package/dist/assets/{popover-Des8pvS1.js → popover-kSTC-zbd.js} +1 -1
- package/dist/assets/{producer-03ZFXwTS.js → producer-0YqaRXPA.js} +1 -1
- package/dist/assets/{qrart-BLlUJiLe.js → qrart-B7iPf46E.js} +1 -1
- package/dist/assets/{realtime-C5rb-pMh.js → realtime-CqH5BxNC.js} +1 -1
- package/dist/assets/{refresh-cw-D12Js0YX.js → refresh-cw-BU6dqyrW.js} +1 -1
- package/dist/assets/rotate-ccw-okYEodiL.js +1 -0
- package/dist/assets/rotate-cw-D6bo30C1.js +1 -0
- package/dist/assets/{row-D4Xen2jx.js → row-CZgINyJv.js} +1 -1
- package/dist/assets/search-DveL1t3_.js +1 -0
- package/dist/assets/{seedance-CZuSEypJ.js → seedance-C7dHJEld.js} +1 -1
- package/dist/assets/{seedream-DS1rHToy.js → seedream-Dp7wF3Za.js} +1 -1
- package/dist/assets/{select-DqKcHnTH.js → select-BPgVxSKa.js} +1 -1
- package/dist/assets/{serp-CzDj09lJ.js → serp-yxQnb4KF.js} +1 -1
- package/dist/assets/{shield-Bdz9fqrW.js → shield-Cycjf33r.js} +1 -1
- package/dist/assets/{shuffle-CwalItMF.js → shuffle-CxBaFef5.js} +1 -1
- package/dist/assets/{slider-a4tY5v5R.js → slider-cBM7Dwwz.js} +1 -1
- package/dist/assets/{sliders-horizontal-Gy7cV2iI.js → sliders-horizontal-MULWsFYk.js} +1 -1
- package/dist/assets/{solana-wallets-B0Dqulgx.js → solana-wallets-DZ81jXAc.js} +2 -2
- package/dist/assets/{solana-wallets-vue-CA5NFcJl.js → solana-wallets-vue-CQcyZi32.js} +1 -1
- package/dist/assets/{sora-9dEwunB6.js → sora-C8FhnkHi.js} +1 -1
- package/dist/assets/{sparkles-B9u4rhtv.js → sparkles-CTrSC2Nf.js} +1 -1
- package/dist/assets/square-BlsM2GoE.js +1 -0
- package/dist/assets/{store-DMTRZDnu.js → store-CuVDoO7D.js} +1 -1
- package/dist/assets/{suno-Xsrk49GD.js → suno-BoC_RON2.js} +1 -1
- package/dist/assets/{switch-DJvAwOU9.js → switch-DCsiNcT9.js} +1 -1
- package/dist/assets/{table-C3xqu6yo.js → table-89XDPmRr.js} +1 -1
- package/dist/assets/{tabs-CPvQ6weT.js → tabs-DojMbnwF.js} +1 -1
- package/dist/assets/{tag-ZN3c5D5i.js → tag-Bl8ic7yn.js} +1 -1
- package/dist/assets/terminal--uN6kiUs.js +1 -0
- package/dist/assets/{time-picker-E2km-1Bv.js → time-picker-Bge88-Z0.js} +1 -1
- package/dist/assets/{tooltip-DelYTYtg.js → tooltip-cwad2ed3.js} +1 -1
- package/dist/assets/{trash-2-CWfLnLQR.js → trash-2-tjPr2UKA.js} +1 -1
- package/dist/assets/{triangle-alert-rbUaTS67.js → triangle-alert-cB1kwEv3.js} +1 -1
- package/dist/assets/{upload-CQ-3zXSy.js → upload-B4AqvihH.js} +1 -1
- package/dist/assets/{upload-tBE_hR1n.js → upload-Dpv8esXd.js} +1 -1
- package/dist/assets/user-BY2BORAa.js +1 -0
- package/dist/assets/{veo-DPpa2I7X.js → veo-B9dU-sXO.js} +1 -1
- package/dist/assets/{video-Cqzs1IX_.js → video-EyDxm4Xi.js} +1 -1
- package/dist/assets/{volume-2-Bk2H3O3V.js → volume-2-DTVvZvYk.js} +1 -1
- package/dist/assets/{wallet-CzCG2YKL.js → wallet-HdPDnP4y.js} +1 -1
- package/dist/assets/{wan-DOGLJaNI.js → wan-QOcPdvyg.js} +1 -1
- package/dist/assets/{wand-sparkles-BGqmA_gw.js → wand-sparkles-Dkqc_U5e.js} +1 -1
- package/dist/assets/{web-CP6RnRtI.js → web-5Ilm_4wg.js} +1 -1
- package/dist/assets/{web-D_8MQ15D.js → web-By7PvZYO.js} +1 -1
- package/dist/assets/{web-4xbFkTFU.js → web-CMiR_-Gh.js} +1 -1
- package/dist/assets/{web-7Hygovik.js → web-DMRyqwYa.js} +1 -1
- package/dist/assets/{web-D1rRuQGB.js → web-gQ8zz6Hg.js} +1 -1
- package/dist/assets/{webextrator-CP_Rlk1I.js → webextrator-BlWDLeE7.js} +1 -1
- package/dist/assets/{zap-B625Cjjl.js → zap-BofpjPYH.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/arrow-down-N_RizqdD.js +0 -1
- package/dist/assets/arrow-left-BFIiJyS7.js +0 -1
- package/dist/assets/arrow-right-f5OsqFdn.js +0 -1
- package/dist/assets/arrow-up-87YN-FuX.js +0 -1
- package/dist/assets/check-BV2pI0Rs.js +0 -1
- package/dist/assets/chevron-down-FOQQYUSc.js +0 -1
- package/dist/assets/chevron-right-BN-idxEt.js +0 -1
- package/dist/assets/circle-check-CD3nipVZ.js +0 -1
- package/dist/assets/clock-Bl-4De1w.js +0 -1
- package/dist/assets/code-DQYt6hIp.js +0 -1
- package/dist/assets/esm-Ct54lH42.js +0 -1
- package/dist/assets/gauge-BE6zBbUa.js +0 -1
- package/dist/assets/loader-circle-DX7-410w.js +0 -1
- package/dist/assets/music-2-DjzxtL3g.js +0 -1
- package/dist/assets/play-DejgOkzf.js +0 -1
- package/dist/assets/plus-CltMaJod.js +0 -1
- package/dist/assets/rotate-ccw-BNK0DqO5.js +0 -1
- package/dist/assets/rotate-cw-DcUIT5rF.js +0 -1
- package/dist/assets/search-BtshlTwL.js +0 -1
- package/dist/assets/square-Cg6s6mW6.js +0 -1
- package/dist/assets/terminal-DdrWqnnN.js +0 -1
- package/dist/assets/user-B1dcwrZD.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-DqKcHnTH.js";import{n as x,t as S}from"./tabs-CPvQ6weT.js";import{t as C}from"./upload-tBE_hR1n.js";import{t as w}from"./tooltip-DelYTYtg.js";import{t as T}from"./alert-CjGfU-gU.js";import{t as E}from"./drawer-0o_546sA.js";import{t as D}from"./switch-DJvAwOU9.js";import{t as O}from"./box-QAF2LCu4.js";import{t as k}from"./clock-Bl-4De1w.js";import{n as A,r as j,t as M}from"./PromptTextarea-BHPGhZlf.js";import{t as N}from"./info-DxQaQ-5P.js";import{t as P}from"./languages-ltWtLheG.js";import{t as F}from"./trash-2-CWfLnLQR.js";import{t as I}from"./triangle-alert-rbUaTS67.js";import{t as L}from"./upload-CQ-3zXSy.js";import{t as R}from"./wand-sparkles-BGqmA_gw.js";import{t as z}from"./zap-B625Cjjl.js";import{ai as ee,oi as te,si as B}from"./constants-7uZLiijT.js";import{E as V,Gt as ne,Kt as re,Sr as ie,Ti as H,Ut as ae,Wt as oe,Yt as U,ci as W,di as G,in as K,qn as q,qt as se,wi as ce,zi as J}from"./index-aLwbyoek.js";import{t as le}from"./CopyToClipboard-BrD_S9zo.js";import{t as Y}from"./ImagePreview-BOxvxJTu.js";import{n as ue}from"./taskDrawerMixin-DyAUhFEq.js";import{t as de}from"./Consumption-5jFfJMgi.js";import{a as X,n as fe,r as pe,t as me}from"./pagination-CzDsM3uh.js";import{t as he}from"./VideoPlayer-B1wDwpbK.js";import{t as ge}from"./ApiCodeButton-mBd2P0FN.js";import{t as _e}from"./BotPlaceholder-zhWqEx4l.js";var ve=v({name:`LayoutVeo`,components:{MagicIcon:R,ElDrawer:E,ElButton:J},mixins:[ue]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!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 Ce=V(ve,[[`render`,Se],[`__scopeId`,`data-v-293c9493`]]),Z=`veo31-fast-ingredients`,we=[{value:`veo31-fast`,label:`Veo 3.1 Fast`},{value:`veo3-fast`,label:`Veo 3 Fast`},{value:`veo31`,label:`Veo 3.1`},{value:`veo3`,label:`Veo 3`}],Q=(e,t)=>{let n=!!(e?.action&&e.action!==t),r={...e,action:t};return t===`text2video`?(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,delete r.image_urls,r):t===`ingredients2video`?(r.model=Z,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,3),r):(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,2),r)},Te=e=>{let t={...Q(e,e?.action||`text2video`),async:!0};return t.image_urls?.length||delete t.image_urls,t},Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:Z,label:`Veo 3.1 Fast`}]:we},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=B}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ae=V(Ee,[[`render`,ke],[`__scopeId`,`data-v-90ed8cff`]]),je=v({name:`ActionSelector`,components:{ElTabs:x,ElTabPane:S},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(ee)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,Q(this.$store.state.veo?.config,e))}}}),Me={class:`tab-label`},Ne={class:`text`};function Pe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Me,[e(`span`,Ne,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Fe=V(je,[[`render`,Pe],[`__scopeId`,`data-v-c72fb85c`]]),Ie=v({name:`TranslationSelector`,components:{ElSwitch:D,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`},Ve={class:`flex justify-end items-center`};function He(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ue=V(Ie,[[`render`,He]]),We=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=te}}),Ge={class:`text-sm font-bold mb-2 block`},Ke={class:`items`},qe=[`onClick`],Je={class:`name`};function Ye(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Ge,i(t.$t(`veo.name.ratio`)),1),e(`div`,Ke,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Je,i(r.label),1)],10,qe))),128))])])}var Xe=V(We,[[`render`,Ye],[`__scopeId`,`data-v-28c472c4`]]),Ze=v({name:`StartEndImage`,components:{UploadIcon:L,ElUpload:C,ElButton:J,InfoIcon:X,ImagePreview:Y},mixins:[se,re,oe],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){H.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){H.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(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`,$e,[e(`div`,et,[e(`span`,tt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=V(Ze,[[`render`,nt],[`__scopeId`,`data-v-7312fe97`]]),it=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`ConfigPanel`,components:{MagicIcon:R,ElButton:J,Consumption:de,PromptInput:V(it,[[`render`,at]]),ModelSelector:Ae,StartEndImage:rt,ActionSelector:Fe,TranslationSelector:Ue,AspectRatioSelector:Xe},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,lt,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var dt=V(ot,[[`render`,ut]]),ft=v({name:`TaskPreview`,components:{DeleteIcon:F,ApplicationIcon:O,ChannelIcon:j,ExpandIcon:A,InfoIcon:N,LanguageIcon:P,LightningIcon:z,MagicIcon:R,TimeIcon:k,WarningIcon:I,CopyToClipboard:le,ElAlert:T,VideoPlayer:he,ImagePreview:Y,ElTooltip:w,ElButton:J,ApiCodeButton:ge},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ce.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),H.success(this.$t(`common.message.deleteTaskSuccess`))}catch{H.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),pt={class:`preview`},mt={class:`left`},ht={class:`main`},gt={class:`bot`},_t={class:`datetime`},vt=[`aria-label`],yt={class:`info`},bt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},xt={key:1,class:`prompt mt-2`},St={key:0},Ct={key:1},wt={key:0,class:n({content:!0,failed:!0})},Tt={key:0,class:`mb-4`},Et={key:1,class:n({operations:!0,"mt-2":!0})},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:n({content:!0})},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`copy-to-clipboard`),A=l(`el-alert`),j=l(`application-icon`),M=l(`lightning-icon`),N=l(`expand-icon`),P=l(`language-icon`),F=l(`magic-icon`),I=l(`time-icon`),L=l(`channel-icon`);return g(),s(`div`,pt,[e(`div`,mt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,ht,[e(`div`,gt,[a(b,{capability:`veo`,part:`name`}),e(`span`,_t,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,vt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,yt,[u.referenceImages.length>0?(g(),s(`div`,bt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,xt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,St,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,Ct,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,wt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Tt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,Et,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Dt,[a(A,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(k,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,kt,[a(A,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,At,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,jt,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Mt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Nt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,$,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(k,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,Pt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Ft,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(k,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Lt=v({name:`RecentPanel`,components:{TaskPreview:V(ft,[[`render`,It],[`__scopeId`,`data-v-d1a27ce4`]]),NoTasks:pe,BotPlaceholder:_e,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=v({name:`VeoIndex`,components:{ConfigPanel:dt,Layout:Ce,RecentPanel:V(Lt,[[`render`,Bt]])},mixins:[ne],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.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 me({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e=Te(this.config);if(!K())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){H.warning(this.$t(`veo.message.imageRequired`));return}H.info(this.$t(`veo.message.startingTask`)),ie(`veo`,q.generate(e,{token:t})).then(()=>{H.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?H.error(this.$t(`veo.message.usedUp`)):H.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=V(Vt,[[`render`,Ht]]);export{Ut 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-BPgVxSKa.js";import{n as x,t as S}from"./tabs-DojMbnwF.js";import{t as C}from"./upload-Dpv8esXd.js";import{t as w}from"./tooltip-cwad2ed3.js";import{t as T}from"./alert-BWOdWS0h.js";import{t as E}from"./drawer-CsKJr6OV.js";import{t as D}from"./switch-DCsiNcT9.js";import{t as O}from"./box-ONO8wgHX.js";import{t as k}from"./clock-DAolFjrg.js";import{n as A,r as j,t as M}from"./PromptTextarea-Dp_ERjCw.js";import{t as N}from"./info-njwTUcn4.js";import{t as P}from"./languages-CNRRuUog.js";import{t as F}from"./trash-2-tjPr2UKA.js";import{t as I}from"./triangle-alert-cB1kwEv3.js";import{t as L}from"./upload-B4AqvihH.js";import{t as R}from"./wand-sparkles-Dkqc_U5e.js";import{t as z}from"./zap-BofpjPYH.js";import{ai as ee,oi as te,si as B}from"./constants-7uZLiijT.js";import{E as V,Gt as ne,Kt as re,Sr as ie,Ti as H,Ut as ae,Wt as oe,Yt as U,ci as W,di as G,in as K,qn as q,qt as se,wi as ce,zi as J}from"./index-C4ZWtsBP.js";import{t as le}from"./CopyToClipboard-OvIZTxXS.js";import{t as Y}from"./ImagePreview-EEjGFuC6.js";import{n as ue}from"./taskDrawerMixin-DyAUhFEq.js";import{t as de}from"./Consumption-CGmpOTC4.js";import{a as X,n as fe,r as pe,t as me}from"./pagination-HhMWiKgI.js";import{t as he}from"./VideoPlayer-t_mKu2no.js";import{t as ge}from"./ApiCodeButton-DOcK1VqP.js";import{t as _e}from"./BotPlaceholder-BHU8eMvD.js";var ve=v({name:`LayoutVeo`,components:{MagicIcon:R,ElDrawer:E,ElButton:J},mixins:[ue]}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Se(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ye,[e(`div`,be,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!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 Ce=V(ve,[[`render`,Se],[`__scopeId`,`data-v-293c9493`]]),Z=`veo31-fast-ingredients`,we=[{value:`veo31-fast`,label:`Veo 3.1 Fast`},{value:`veo3-fast`,label:`Veo 3 Fast`},{value:`veo31`,label:`Veo 3.1`},{value:`veo3`,label:`Veo 3`}],Q=(e,t)=>{let n=!!(e?.action&&e.action!==t),r={...e,action:t};return t===`text2video`?(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,delete r.image_urls,r):t===`ingredients2video`?(r.model=Z,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,3),r):(r.model=r.model===`veo31-fast-ingredients`?B:r.model||`veo31-fast`,n?delete r.image_urls:r.image_urls=r.image_urls?.slice(0,2),r)},Te=e=>{let t={...Q(e,e?.action||`text2video`),async:!0};return t.image_urls?.length||delete t.image_urls,t},Ee=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},computed:{isModelLocked(){return this.$store.state.veo?.config?.action===`ingredients2video`},options(){return this.isModelLocked?[{value:Z,label:`Veo 3.1 Fast`}]:we},value:{get(){return this.$store.state.veo?.config?.model},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo.config,model:e})}}},mounted(){this.value||=B}}),De={class:`field`},Oe={class:`title font-bold`};function ke(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,De,[e(`h2`,Oe,i(t.$t(`veo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`veo.placeholder.select`),disabled:t.isModelLocked},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ae=V(Ee,[[`render`,ke],[`__scopeId`,`data-v-90ed8cff`]]),je=v({name:`ActionSelector`,components:{ElTabs:x,ElTabPane:S},data(){return{}},computed:{options(){return[{value:`text2video`,label:this.$t(`veo.button.action1`)},{value:`image2video`,label:this.$t(`veo.button.action2`)},{value:`ingredients2video`,label:this.$t(`veo.button.actionIngredients`)}]},value(){return this.$store.state.veo?.config?.action||`text2video`}},mounted(){this.$store.state.veo?.config?.action||this.onUpdate(ee)},methods:{onUpdate(e){this.$store.commit(`veo/setConfig`,Q(this.$store.state.veo?.config,e))}}}),Me={class:`tab-label`},Ne={class:`text`};function Pe(t,n,r,a,o,u){let d=l(`el-tab-pane`),m=l(`el-tabs`);return g(),f(m,{"model-value":t.value,class:`action-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(d,{key:t.value,name:t.value},{label:p(()=>[e(`span`,Me,[e(`span`,Ne,i(t.label),1)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Fe=V(je,[[`render`,Pe],[`__scopeId`,`data-v-c72fb85c`]]),Ie=v({name:`TranslationSelector`,components:{ElSwitch:D,InfoIcon:X},computed:{value:{get(){return this.$store.state.veo?.config?.translation},set(e){console.debug(`set translation`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,translation:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`},Ve={class:`flex justify-end items-center`};function He(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`veo.name.translation`)),1),a(d,{content:t.$t(`veo.description.translation`)},null,8,[`content`])]),e(`div`,Ve,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ue=V(Ie,[[`render`,He]]),We=v({name:`AspectRatioSelector`,data(){return{options:[{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.veo?.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,aspect_ratio:e})}}},mounted(){this.value||=te}}),Ge={class:`text-sm font-bold mb-2 block`},Ke={class:`items`},qe=[`onClick`],Je={class:`name`};function Ye(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Ge,i(t.$t(`veo.name.ratio`)),1),e(`div`,Ke,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,Je,i(r.label),1)],10,qe))),128))])])}var Xe=V(We,[[`render`,Ye],[`__scopeId`,`data-v-28c472c4`]]),Ze=v({name:`StartEndImage`,components:{UploadIcon:L,ElUpload:C,ElButton:J,InfoIcon:X,ImagePreview:Y},mixins:[se,re,oe],props:{limit:{type:Number,default:2},ingredients:{type:Boolean,default:!1}},emits:[`change`],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},title(){return this.ingredients?this.$t(`veo.button.actionIngredients`):this.$t(`veo.name.startEndImage`)},description(){return this.ingredients?this.$t(`veo.description.imageUrl`):this.$t(`veo.description.uploadStartEndImage`)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(e=>!!e)},value:{get(){return this.$store.state?.veo?.config?.image_urls},set(){}}},watch:{limit(){this.fileList.length>this.limit&&(this.fileList=this.fileList.slice(0,this.limit),this.onSetStartEndImageUrl())}},mounted(){this.fileList=(this.value||[]).map((e,t)=>({name:`reference-${t+1}`,percentage:100,response:{file_url:e},status:`success`,uid:Date.now()+t,url:e}))},methods:{onExceed(){H.warning(this.$t(`veo.message.uploadReferencesLimit`,{limit:this.limit}))},onError(){H.error(this.$t(`veo.message.uploadReferencesError`))},onSetStartEndImageUrl(){let e=this.urls;this.$store.commit(`veo/setConfig`,{...this.$store.state?.veo?.config,image_urls:e})},async onSuccess(){this.onSetStartEndImageUrl()},onRemove(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onSetStartEndImageUrl()}}}),Qe={class:`relative`},$e={class:`flex justify-between`},et={class:`flex justify-start items-center`},tt={class:`text-sm font-bold`};function nt(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`,$e,[e(`div`,et,[e(`span`,tt,i(t.title),1),a(h,{content:t.description},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:t.limit,class:`upload-wrapper`,multiple:!0,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var rt=V(Ze,[[`render`,nt],[`__scopeId`,`data-v-7312fe97`]]),it=v({name:`PromptInput`,components:{PromptTextarea:M},computed:{prompt:{get(){return this.$store.state.veo?.config?.prompt},set(e){this.$store.commit(`veo/setConfig`,{...this.$store.state.veo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`veo.name.prompt`),info:e.$t(`veo.description.prompt`),placeholder:e.$t(`veo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`ConfigPanel`,components:{MagicIcon:R,ElButton:J,Consumption:de,PromptInput:V(it,[[`render`,at]]),ModelSelector:Ae,StartEndImage:rt,ActionSelector:Fe,TranslationSelector:Ue,AspectRatioSelector:Xe},emits:[`generate`],computed:{config(){return this.$store.state.veo?.config},showsImages(){return this.config?.action===`image2video`||this.config?.action===`ingredients2video`},imageLimit(){return this.config?.action===`ingredients2video`?3:2},consumption(){return U(this.config,this.service?.cost)},service(){return this.$store.state.veo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,u,d,m){let h=l(`action-selector`),_=l(`model-selector`),v=l(`start-end-image`),y=l(`prompt-input`),b=l(`aspect-ratio-selector`),x=l(`translation-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),t.showsImages?(g(),f(v,{key:t.config?.action,class:`mb-4`,limit:t.imageLimit,ingredients:t.config?.action===`ingredients2video`},null,8,[`limit`,`ingredients`])):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,lt,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`veo.button.generate`)),1)]),_:1},8,[`onClick`])])])}var dt=V(ot,[[`render`,ut]]),ft=v({name:`TaskPreview`,components:{DeleteIcon:F,ApplicationIcon:O,ChannelIcon:j,ExpandIcon:A,InfoIcon:N,LanguageIcon:P,LightningIcon:z,MagicIcon:R,TimeIcon:k,WarningIcon:I,CopyToClipboard:le,ElAlert:T,VideoPlayer:he,ImagePreview:Y,ElTooltip:w,ElButton:J,ApiCodeButton:ge},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{referenceImages(){let e=this.modelValue?.request?.image_urls;return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e):[]},actionLabel(){let e=this.modelValue?.request,t=e?.model===`veo31-fast-ingredients`||this.referenceImages.length>2?`ingredients2video`:this.referenceImages.length>0?`image2video`:`text2video`,n=e?.action||t;return this.$t({text2video:`veo.button.action1`,image2video:`veo.button.action2`,ingredients2video:`veo.button.actionIngredients`}[n]||`veo.name.action`)},traceId(){return this.modelValue?.response?.trace_id||this.modelValue?.trace_id},taskInfoClass(){return this.modelValue?.response?.success===!0?`success`:this.modelValue?.response?.success===!1?`failure`:`info`}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await ce.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`veo/deleteTask`,{id:e}),H.success(this.$t(`common.message.deleteTaskSuccess`))}catch{H.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),pt={class:`preview`},mt={class:`left`},ht={class:`main`},gt={class:`bot`},_t={class:`datetime`},vt=[`aria-label`],yt={class:`info`},bt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},xt={key:1,class:`prompt mt-2`},St={key:0},Ct={key:1},wt={key:0,class:n({content:!0,failed:!0})},Tt={key:0,class:`mb-4`},Et={key:1,class:n({operations:!0,"mt-2":!0})},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:n({content:!0})},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ft={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(u,d,m,_,v,y){let b=l(`capability-presentation`),x=l(`delete-icon`),S=l(`el-tooltip`),C=l(`image-preview`),w=l(`video-player`),T=l(`el-button`),E=l(`api-code-button`),D=l(`warning-icon`),O=l(`info-icon`),k=l(`copy-to-clipboard`),A=l(`el-alert`),j=l(`application-icon`),M=l(`lightning-icon`),N=l(`expand-icon`),P=l(`language-icon`),F=l(`magic-icon`),I=l(`time-icon`),L=l(`channel-icon`);return g(),s(`div`,pt,[e(`div`,mt,[a(b,{capability:`veo`,part:`avatar`,class:`avatar`})]),e(`div`,ht,[e(`div`,gt,[a(b,{capability:`veo`,part:`name`}),e(`span`,_t,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1),a(S,{effect:`dark`,content:u.$t(`common.button.delete`),placement:`top`},{default:p(()=>[u.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":u.$t(`common.button.delete`),onClick:d[0]||=t((...e)=>u.onDelete&&u.onDelete(...e),[`stop`])},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,vt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,yt,[u.referenceImages.length>0?(g(),s(`div`,bt,[(g(!0),s(c,null,h(u.referenceImages,(e,t)=>(g(),f(C,{key:`${t}-${e}`,url:e,name:`reference-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(g(),s(`p`,xt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(g(),s(`span`,St,` - (`+i(u.$t(`veo.status.pending`))+`) `,1)),Array.isArray(u.modelValue?.response?.data)&&u.modelValue?.response?.data[0]?.state===`running`?(g(),s(`span`,Ct,` - (`+i(u.$t(`veo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),u.modelValue?.response?.success===!0&&u.modelValue?.response?.data?(g(),s(`div`,wt,[u.modelValue?.response?.data[0]?.video_url?(g(),s(`div`,Tt,[a(w,{src:u.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):o(``,!0),u.modelValue?.response.success?(g(),s(`div`,Et,[a(S,{class:`box-item`,effect:`dark`,content:u.$t(`veo.message.downloadVideo`),placement:`top-start`},{default:p(()=>[u.modelValue?.response?.data[0]?.video_url?(g(),f(T,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:d[1]||=e=>u.onDownload(e,u.modelValue?.response?.data[0]?.video_url)},{default:p(()=>[r(i(u.$t(`veo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(E,{path:`/veo/videos`,body:u.modelValue?.request},null,8,[`body`])])):o(``,!0)])):o(``,!0),u.modelValue?.response?.success===!1?(g(),s(`div`,Dt,[a(A,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(k,{content:u.modelValue?.response?.error?.message},null,8,[`content`])])]),_:1})])):o(``,!0),e(`div`,kt,[a(A,{closable:!1,class:n([`mt-2`,`task-metadata`,u.taskInfoClass])},{default:p(()=>[u.modelValue?.request?.model?(g(),s(`p`,At,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.model`))+`: `+i(u.modelValue?.request?.model),1)])):o(``,!0),e(`p`,jt,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.action`))+`: `+i(u.actionLabel),1)]),u.modelValue?.request?.aspect_ratio?(g(),s(`p`,Mt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.ratio`))+`: `+i(u.modelValue?.request?.aspect_ratio),1)])):o(``,!0),u.modelValue?.request?.translation===void 0?o(``,!0):(g(),s(`p`,Nt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.translation`))+`: `+i(u.$t(u.modelValue?.request?.translation?`seedance.button.on`:`seedance.button.off`)),1)])),e(`p`,$,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(k,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(g(),s(`p`,Pt,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.traceId?(g(),s(`p`,Ft,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`veo.name.traceId`))+`: `+i(u.traceId)+` `,1),a(k,{content:u.traceId,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1},8,[`class`])])])])}var Lt=v({name:`RecentPanel`,components:{TaskPreview:V(ft,[[`render`,It],[`__scopeId`,`data-v-d1a27ce4`]]),NoTasks:pe,BotPlaceholder:_e,ScrollList:fe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.veo?.tasks,items:this.$store.state.veo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Rt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,(e,t)=>(g(),f(m,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,zt,[a(v)])):o(``,!0)],64)}var Vt=v({name:`VeoIndex`,components:{ConfigPanel:dt,Layout:Ce,RecentPanel:V(Lt,[[`render`,Bt]])},mixins:[ne],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.veo?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.veo?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.veo.credential},config(){return this.$store.state.veo.config},tasks(){return this.$store.state.veo.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 me({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`veo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`veo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`veo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e=Te(this.config);if(!K())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}if((e.action===`image2video`||e.action===`ingredients2video`)&&!(e.image_urls&&e.image_urls.length>0)){H.warning(this.$t(`veo.message.imageRequired`));return}H.info(this.$t(`veo.message.startingTask`)),ie(`veo`,q.generate(e,{token:t})).then(()=>{H.success(this.$t(`veo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?H.error(this.$t(`veo.message.usedUp`)):H.error(this.$t(`veo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ut=V(Vt,[[`render`,Ht]]);export{Ut 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,K as a,L as o,M as s,N as c,S as l,T as u,at as d,b as f,ht as p,j as m,mt as h,ot as g,qt as _,rt as v,st as y,tt as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{r as S,t as C}from"./select-DqKcHnTH.js";import{n as w,t as T}from"./tabs-CPvQ6weT.js";import{t as E}from"./tooltip-DelYTYtg.js";import{n as D,r as O,t as k}from"./dropdown-CdOv0ZjA.js";import{t as A}from"./pagination-CZbKlQlL.js";import{t as j}from"./switch-DJvAwOU9.js";import{t as M}from"./arrow-down-N_RizqdD.js";import{t as N}from"./arrow-left-BFIiJyS7.js";import{t as P}from"./book-open-CVhmRi_b.js";import{t as F}from"./chevron-down-FOQQYUSc.js";import{t as I}from"./chevron-right-BN-idxEt.js";import{t as L}from"./circle-check-CD3nipVZ.js";import{t as ee}from"./circle-question-mark-kh9-4dAZ.js";import{t as te}from"./clipboard-list-B9kMnDys.js";import{t as ne}from"./code-DQYt6hIp.js";import{t as R}from"./copy-BoDWFnHl.js";import{t as re}from"./ellipsis-Bjsvynjw.js";import{t as ie}from"./eye-Cn0zMGDy.js";import{t as ae}from"./file-text-12q8fWw2.js";import{t as z}from"./file-BkdAfHKH.js";import{t as B}from"./folder-DovrbUlu.js";import{t as oe}from"./image-BxCFYciM.js";import{t as se}from"./lock-BnlStxtJ.js";import{t as V}from"./plus-CltMaJod.js";import{n as ce,t as le}from"./store-DMTRZDnu.js";import{t as ue}from"./search-BtshlTwL.js";import{t as de}from"./trash-2-CWfLnLQR.js";import{t as fe}from"./triangle-alert-rbUaTS67.js";import{t as pe}from"./upload-CQ-3zXSy.js";import{t as me}from"./wand-sparkles-BGqmA_gw.js";import{Ai as H,Ci as U,E as W,Ei as G,Ji as he,Li as ge,Si as _e,Ti as K,bi as ve,fi as ye,gi as be,gr as q,hi as xe,mi as Se,ui as Ce,wi as we,zi as J}from"./index-aLwbyoek.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,m as Y,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./vendor-highlight-BHrfT4-E.js";import{t as Re}from"./index.es-DVthyUgP.js";import{t as ze}from"./VueMarkdown-CiiRjbWs.js";var Be=U(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ve=U(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),He=U(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ue=U(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),We=U(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${Ce()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return q.get(`/${this.key}/`,X())}async get(e){return q.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return q.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),q.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return q.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return q.delete(`/${this.key}/${e}/`,X())}async enable(e){return q.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return q.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await q.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return q.get(`/${this.key}/`,{...X(),params:e})}async get(e){return q.get(`/${this.key}/${e}/`,X())}async categories(){return q.get(`/${this.key}/categories/`,X())}async install(e,t={}){return q.post(`/${this.key}/${e}/install/`,t,X())}};function Ge(){let e=new Set;xe()&&e.add(`desktop`),be()&&e.add(`ios`),Se()&&e.add(`android`),ve()&&e.add(`web`);let t=ye();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!be()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var Ke=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function qe(e){let t=e.filter(e=>Ke.has(e));if(!t.length)return!0;let n=Ge();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Je=12,Ye=x({name:`BrowseSkillsDialog`,components:{VueMarkdown:ze,ElDialog:H,ElButton:J,ElPagination:A,ElSelect:S,ElOption:C,FontAwesomeIcon:Re,AddIcon:V,BackIcon:N,DownIcon:M,InstallIcon:Be,LockIcon:se,SearchIcon:ue,SuccessIcon:L},directives:{loading:G},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Je},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),K.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){K.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);K.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,K.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):K.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return qe(this.restrictedSurfaces(e))}}}),Xe={class:`directory`},Ze={class:`directory-main`},Qe={class:`directory-header`},$e={class:`directory-search`},et=[`placeholder`],tt={class:`directory-controls`},nt={class:`directory-grid-wrapper`},rt={key:0,class:`directory-empty`},it={key:1,class:`directory-grid`},at=[`onClick`],ot={class:`directory-card-head`},st={class:`directory-card-title`},ct=[`title`],lt=[`title`],ut=[`aria-label`,`title`,`onClick`],dt=[`title`],ft={class:`directory-card-meta`},pt={class:`directory-card-publisher`},mt={key:0,class:`directory-card-count`},ht=[`title`],gt={class:`directory-card-desc`},_t={key:0,class:`directory-footer`},vt={class:`directory-detail-head`},yt={class:`directory-detail-actions`},bt=[`href`],xt={class:`directory-detail-body`},St={class:`directory-detail-title`},Ct={class:`directory-detail-meta`},wt={key:0},Tt={key:1},Et=[`title`],Dt={class:`directory-detail-desc`};function Ot(a,l,_,y,x,S){let C=d(`search-icon`),w=d(`el-option`),T=d(`el-select`),E=d(`success-icon`),D=d(`lock-icon`),O=d(`add-icon`),k=d(`down-icon`),A=d(`el-pagination`),j=d(`back-icon`),M=d(`font-awesome-icon`),N=d(`el-button`),P=d(`install-icon`),F=d(`vue-markdown`),I=d(`el-dialog`),L=g(`loading`);return b(),m(I,{"model-value":a.modelValue,title:a.$t(`skill.dialog.directoryTitle`),width:`960px`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!a.installing,"show-close":!a.installing,"onUpdate:modelValue":l[6]||=e=>a.$emit(`update:modelValue`,e),onOpen:a.onOpen},{default:h(()=>[e(`div`,Xe,[e(`main`,Ze,[a.selectedItem?(b(),c(u,{key:1},[e(`header`,vt,[e(`button`,{class:`directory-back-btn`,onClick:l[4]||=e=>a.selectedItem=null},[o(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.back`)),1)]),e(`div`,yt,[a.selectedItem.source_url?(b(),c(`a`,{key:0,href:a.selectedItem.source_url,target:`_blank`,class:`directory-link`},[o(M,{icon:`fa-brands fa-github`}),r(` `+i(a.$t(`skill.directory.viewSource`)),1)],8,bt)):s(``,!0),a.selectedItem.installed?(b(),m(N,{key:1,disabled:``,type:`success`,plain:``},{default:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.installed`)),1)]),_:1})):a.selectedItem.installable&&!a.canInstallOnSurface(a.selectedItem)?(b(),m(N,{key:2,disabled:``,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(a.selectedItem)})},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):a.selectedItem.installable?(b(),m(N,{key:3,type:`primary`,loading:a.installing,onClick:l[5]||=e=>a.onInstall(a.selectedItem)},{default:h(()=>[o(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(b(),m(N,{key:4,disabled:``,title:a.selectedItem.license},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.selectedItem.license||a.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,xt,[e(`h2`,St,`/`+i(a.selectedItem.slug),1),e(`div`,Ct,[e(`span`,null,[e(`strong`,null,i(a.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(a.selectedItem.publisher),1)]),a.selectedItem.license?(b(),c(`span`,wt,[e(`strong`,null,i(a.$t(`skill.directory.license`))+`:`,1),r(` `+i(a.selectedItem.license),1)])):s(``,!0),a.selectedItem.version?(b(),c(`span`,Tt,`v`+i(a.selectedItem.version),1)):s(``,!0),a.surfaceLabels(a.selectedItem)?(b(),c(`span`,{key:2,class:`directory-detail-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.$t(`skill.directory.surfaceOnly`,{platforms:a.surfaceLabels(a.selectedItem)})),9,Et)):s(``,!0)]),e(`p`,Dt,i(a.selectedItem.description),1),o(F,{class:`directory-detail-content`,source:a.detailBody,sanitize:``},null,8,[`source`])])],64)):(b(),c(u,{key:0},[e(`header`,Qe,[e(`div`,$e,[o(C,{class:`directory-search-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{"onUpdate:modelValue":l[0]||=e=>a.searchQuery=e,class:`directory-search-input`,placeholder:a.$t(`skill.directory.searchPlaceholder`),onInput:l[1]||=(...e)=>a.onSearchInput&&a.onSearchInput(...e)},null,40,et),[[f,a.searchQuery]])]),e(`div`,tt,[o(T,{modelValue:a.namespaceFilter,"onUpdate:modelValue":l[2]||=e=>a.namespaceFilter=e,class:`directory-select`,placeholder:a.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[(b(!0),c(u,null,v(a.namespaceOptions,e=>(b(),m(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(T,{modelValue:a.sortBy,"onUpdate:modelValue":l[3]||=e=>a.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[o(w,{label:a.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),p((b(),c(`div`,nt,[!a.loading&&a.total===0?(b(),c(`p`,rt,i(a.$t(`skill.directory.empty`)),1)):(b(),c(`div`,it,[(b(!0),c(u,null,v(a.items,l=>(b(),c(`article`,{key:l.id,class:n([`directory-card`,{"is-installed":l.installed}]),onClick:e=>a.openDetail(l)},[e(`div`,ot,[e(`span`,st,`/`+i(l.slug),1),l.installed?(b(),c(`span`,{key:0,class:`directory-card-action is-installed`,title:a.$t(`skill.directory.installed`)},[o(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ct)):l.installable&&!a.canInstallOnSurface(l)?(b(),c(`span`,{key:1,class:`directory-card-locked`,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(l)})},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,lt)):l.installable?(b(),c(`button`,{key:2,class:`directory-card-action`,"aria-label":a.$t(`skill.directory.install`),title:a.$t(`skill.directory.install`),onClick:t(e=>a.onInstall(l),[`stop`])},[o(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ut)):(b(),c(`span`,{key:3,class:`directory-card-locked`,title:l.license},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,dt))]),e(`div`,ft,[e(`span`,pt,i(l.publisher),1),l.install_count>0?(b(),c(`span`,mt,[o(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.formatCount(l.install_count)),1)])):s(``,!0),a.surfaceLabels(l)?(b(),c(`span`,{key:1,class:`directory-card-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.surfaceLabels(l)),9,ht)):s(``,!0)]),e(`p`,gt,i(l.description),1)],10,at))),128))]))])),[[L,a.loading]]),a.total>a.pageSize?(b(),c(`footer`,_t,[o(A,{"current-page":a.currentPage,"page-size":a.pageSize,total:a.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):s(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var kt=W(Ye,[[`render`,Ot],[`__scopeId`,`data-v-80ab8a17`]]);Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`css`,Fe),Y.registerLanguage(`go`,Me),Y.registerLanguage(`javascript`,Te),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`rust`,ke),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`sql`,Pe),Y.registerLanguage(`typescript`,je),Y.registerLanguage(`xml`,Ie),Y.registerLanguage(`html`,Ie),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function At(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function jt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Mt=x({name:`SkillFilePreview`,components:{ElButton:J,ElTooltip:E,ElTabs:w,ElTabPane:T,CodeIcon:ne,CopyIcon:R,FileIcon:z,SaveIcon:Ue,ViewIcon:ie,WarningIcon:fe,VueMarkdown:ze},directives:{loading:G},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1}},computed:{kind(){return this.path?At(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${jt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=At(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),K.success(this.$t(`skill.preview.copied`))}catch{K.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),Nt={class:`preview-root`},Pt={class:`toolbar`},Ft={class:`path-display`},It={key:0,class:`size-display`},Lt={class:`body`},Rt={key:0,class:`error`},zt=[`srcdoc`],Bt={key:3,class:`image-pane`},Vt=[`src`,`alt`],Ht={key:4,class:`binary`},Ut=[`placeholder`],Wt={key:6,class:`source-pane`},Gt={key:7,class:`truncated-warning`};function Kt(t,a,l,u,_,v){let y=d(`save-icon`),x=d(`el-button`),S=d(`copy-icon`),C=d(`el-tooltip`),w=d(`view-icon`),T=d(`el-tab-pane`),E=d(`code-icon`),D=d(`el-tabs`),O=d(`warning-icon`),k=d(`vue-markdown`),A=d(`file-icon`),j=g(`loading`);return p((b(),c(`div`,Nt,[e(`div`,Pt,[e(`span`,Ft,i(t.path||`—`),1),t.size?(b(),c(`span`,It,i(t.humanSize(t.size)),1)):s(``,!0),a[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(b(),m(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:h(()=>[o(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):s(``,!0),o(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:h(()=>[o(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:h(()=>[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(b(),m(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":a[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:h(()=>[o(T,{name:`rendered`},{label:h(()=>[o(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),o(T,{name:`source`},{label:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):s(``,!0),e(`div`,Lt,[t.error?(b(),c(`div`,Rt,[o(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(b(),m(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(b(),c(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,zt)):t.kind===`image`?(b(),c(`div`,Bt,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Vt)])):t.kind===`binary`?(b(),c(`div`,Ht,[o(A,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?p((b(),c(`textarea`,{key:5,"onUpdate:modelValue":a[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:a[2]||=e=>t.dirty=!0},null,40,Ut)),[[f,t.textContent]]):(b(),c(`pre`,Wt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(b(),c(`p`,Gt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):s(``,!0)])])),[[j,t.loading]])}var qt=W(Mt,[[`render`,Kt],[`__scopeId`,`data-v-ec0a447e`]]),Jt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Yt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Xt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?P:n===`md`?ae:Yt.has(n)?oe:Jt.has(n)?He:z}function Zt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Qt=x({name:`FileNode`,components:{ExpandDownIcon:F,ExpandRightIcon:I,FontAwesomeIcon:Re},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Xt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),$t=[`aria-label`,`title`],en={key:1,class:`node-chevron-spacer`},tn={class:`node-label`},nn={key:0,class:`children`};function rn(r,a,o,l,f,p){let h=d(`expand-down-icon`),g=d(`expand-right-icon`),x=d(`font-awesome-icon`),S=d(`file-node`,!0);return b(),c(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:_({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(b(),c(`span`,en)):(b(),c(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(b(),m(h,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(g,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,$t)),r.isHtmlFile(r.node)?(b(),m(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(b(),m(y(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,tn,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(b(),c(`ul`,nn,[(b(!0),c(u,null,v(r.node.children||[],e=>(b(),m(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):s(``,!0)])}var an=x({name:`SkillRow`,components:{ExpandDownIcon:F,ExpandRightIcon:I,SkillIcon:ce,FileNode:W(Qt,[[`render`,rn],[`__scopeId`,`data-v-2215f06e`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return Zt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),on={class:`skill-row-wrapper`},sn=[`aria-label`,`title`],cn={key:1,class:`row-chevron-spacer`},ln=[`title`],un={key:0,class:`file-list`};function dn(r,a,l,f,p,h){let g=d(`expand-down-icon`),_=d(`expand-right-icon`),y=d(`skill-icon`),x=d(`file-node`);return b(),c(`li`,on,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:a[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(b(),c(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(b(),m(g,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(_,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,sn)):(b(),c(`span`,cn)),o(y,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,ln)],2),r.expanded&&r.hasChildren?(b(),c(`ul`,un,[(b(!0),c(u,null,v(r.tree,e=>(b(),m(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):s(``,!0)])}var fn=W(an,[[`render`,dn],[`__scopeId`,`data-v-3dd0266c`]]),pn=10*1024*1024,mn=/\.(tar\.gz|tgz|tar|zip|md)$/i,hn=x({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:J,AddFileIcon:We,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>pn){K.error(this.$t(`skill.message.fileTooLarge`));return}if(!mn.test(e.name)){K.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),gn={key:0,class:`dropzone-hint`},_n={key:1,class:`dropzone-file`},vn={class:`dropzone-file-name`},yn={class:`dropzone-file-size`},bn={class:`requirements`},xn={class:`requirements-title`};function Sn(a,s,l,u,f,p){let g=d(`add-file-icon`),_=d(`el-button`),v=d(`cloud-upload-icon`),y=d(`el-dialog`);return b(),m(y,{"model-value":a.modelValue,title:a.$t(`skill.dialog.uploadTitle`),width:`520px`,"align-center":``,"close-on-click-modal":!a.uploading,"close-on-press-escape":!a.uploading,"show-close":!a.uploading,"onUpdate:modelValue":a.onVisibleChange,onClosed:a.reset},{footer:h(()=>[o(_,{disabled:a.uploading,onClick:a.onClose},{default:h(()=>[r(i(a.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(_,{type:`primary`,loading:a.uploading,disabled:!a.file,onClick:a.onSubmit},{default:h(()=>[o(v,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:s[0]||=(...e)=>a.onFilePicked&&a.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":a.isDragging,"has-file":!!a.file}]),onClick:s[1]||=(...e)=>a.onPickFile&&a.onPickFile(...e),onDragover:s[2]||=t(e=>a.isDragging=!0,[`prevent`]),onDragleave:s[3]||=t(e=>a.isDragging=!1,[`prevent`]),onDrop:s[4]||=t((...e)=>a.onDrop&&a.onDrop(...e),[`prevent`])},[o(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),a.file?(b(),c(`p`,_n,[e(`span`,vn,i(a.file.name),1),e(`span`,yn,i(a.humanSize(a.file.size)),1)])):(b(),c(`p`,gn,i(a.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,bn,[e(`p`,xn,i(a.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(a.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(a.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=W(hn,[[`render`,Sn],[`__scopeId`,`data-v-3791b97e`]]),wn=x({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:J,ElInput:he,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),Tn={class:`hint`};function En(t,n,a,s,c,l){let u=d(`el-input`),f=d(`el-button`),p=d(`cloud-upload-icon`),g=d(`el-dialog`);return b(),m(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`720px`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:h(()=>[o(f,{disabled:t.saving,onClick:t.onClose},{default:h(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(f,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:h(()=>[o(p,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`p`,Tn,i(t.$t(`skill.dialog.writeHint`)),1),o(u,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Dn=x({name:`UserSkills`,components:{ElSwitch:j,ElTag:ge,ElTooltip:E,ElDropdown:k,ElDropdownMenu:O,ElDropdownItem:D,AddIcon:V,AiCreateIcon:me,CloseIcon:_e,DeleteIcon:de,ExpandDownIcon:F,ExpandRightIcon:I,HelpIcon:ee,MarketplaceIcon:le,MoreIcon:re,SearchIcon:ue,SkillIcon:ce,UploadIcon:pe,WriteIcon:te,BrowseSkillsDialog:kt,SkillFilePreview:qt,SkillRow:fn,UploadSkillDialog:Cn,WriteSkillDialog:W(wn,[[`render`,En],[`__scopeId`,`data-v-019a154c`]])},directives:{loading:G},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchOpen:!1,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),K.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openSearch(){this.searchOpen=!0,a(()=>{this.$refs.searchInput?.focus()})},closeSearch(){this.searchOpen=!1,this.searchQuery=``},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});K.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await we.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),K.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){K.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),K.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),K.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){K.error(this.extractError(e))}finally{this.togglingId=null}}}}),On={class:`page-shell`},kn={class:`page-heading`},An={class:`page-title`},jn={class:`page-subtitle`},Mn={class:`skills-shell`},Nn={class:`left-pane`},Pn={class:`left-header`},Fn={class:`left-actions`},In=[`aria-label`,`title`],Ln=[`aria-label`,`title`],Rn={class:`submenu-trigger`},zn={class:`badge-soon`},Bn={key:0,class:`search-row`},Vn=[`placeholder`],Hn=[`aria-label`,`title`],Un={class:`left-body`},Wn={class:`section`},Gn={key:0,class:`skill-list`},Kn={key:0,class:`empty-row`},qn={key:0,class:`section`},Jn={key:0,class:`skill-list`},Yn={class:`right-pane`},Xn={class:`right-header`},Zn={class:`right-title`},Qn={class:`right-actions`},$n=[`aria-label`,`title`],er={class:`meta-card`},tr={class:`meta-grid`},nr={class:`meta-cell`},rr={class:`meta-label`},ir={class:`meta-value`},ar={class:`meta-cell`},or={class:`meta-label`},sr={class:`meta-value`},cr={key:0,class:`meta-cell`},lr={class:`meta-label`},ur={class:`meta-tags`},dr={key:0,class:`meta-description`},fr={class:`meta-description-label`},pr={class:`meta-label`},mr={class:`preview-card`},hr={key:2,class:`right-empty`};function gr(t,n,a,_,y,x){let S=d(`search-icon`),C=d(`add-icon`),w=d(`marketplace-icon`),T=d(`el-dropdown-item`),E=d(`expand-right-icon`),D=d(`ai-create-icon`),O=d(`write-icon`),k=d(`upload-icon`),A=d(`el-dropdown-menu`),j=d(`el-dropdown`),M=d(`close-icon`),N=d(`expand-down-icon`),P=d(`skill-row`),F=d(`el-switch`),I=d(`more-icon`),L=d(`delete-icon`),ee=d(`el-tag`),te=d(`help-icon`),ne=d(`el-tooltip`),R=d(`skill-file-preview`),re=d(`skill-icon`),ie=d(`upload-skill-dialog`),ae=d(`write-skill-dialog`),z=d(`browse-skills-dialog`),B=g(`loading`);return b(),c(`div`,On,[e(`div`,kn,[e(`h2`,An,i(t.$t(`skill.title.skills`)),1),e(`p`,jn,i(t.$t(`skill.message.pageDescription`)),1)]),e(`div`,Mn,[e(`aside`,Nn,[e(`header`,Pn,[e(`div`,Fn,[t.searchOpen?s(``,!0):(b(),c(`button`,{key:0,class:`icon-btn`,"aria-label":t.$t(`skill.button.search`),title:t.$t(`skill.button.search`),onClick:n[0]||=(...e)=>t.openSearch&&t.openSearch(...e)},[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})],8,In)),o(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{onClick:t.onBrowse},{default:h(()=>[o(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),o(T,{divided:``},{default:h(()=>[o(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{disabled:``},{default:h(()=>[o(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,zn,i(t.$t(`skill.menu.soon`)),1)]),_:1}),o(T,{onClick:t.openWrite},{default:h(()=>[o(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),o(T,{onClick:t.openUpload},{default:h(()=>[o(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,Rn,[o(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),o(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[o(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Ln)]),_:1})])]),t.searchOpen?(b(),c(`div`,Bn,[o(S,{class:`search-icon`,size:13,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{ref:`searchInput`,"onUpdate:modelValue":n[1]||=e=>t.searchQuery=e,class:`search-input`,placeholder:t.$t(`skill.placeholder.search`),onKeydown:n[2]||=l((...e)=>t.closeSearch&&t.closeSearch(...e),[`escape`])},null,40,Vn),[[f,t.searchQuery]]),e(`button`,{class:`icon-btn icon-btn-sm`,"aria-label":t.$t(`common.button.close`),title:t.$t(`common.button.close`),onClick:n[3]||=(...e)=>t.closeSearch&&t.closeSearch(...e)},[o(M,{size:14,"aria-hidden":`true`,focusable:`false`})],8,Hn)])):s(``,!0),p((b(),c(`div`,Un,[e(`section`,Wn,[e(`button`,{class:`section-header`,onClick:n[4]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(b(),c(`ul`,Gn,[!t.loading&&t.filteredPersonal.length===0?(b(),c(`li`,Kn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):s(``,!0),(b(!0),c(u,null,v(t.filteredPersonal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)]),t.globalSkills.length>0?(b(),c(`section`,qn,[e(`button`,{class:`section-header`,onClick:n[5]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(b(),c(`ul`,Jn,[(b(!0),c(u,null,v(t.filteredGlobal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)])):s(``,!0)])),[[B,t.loading]])]),e(`main`,Yn,[t.selectedSkill&&!t.selectedPath?(b(),c(u,{key:0},[e(`header`,Xn,[e(`h3`,Zn,i(t.selectedSkill.slug),1),e(`div`,Qn,[o(F,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[6]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?s(``,!0):(b(),m(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:h(()=>[o(A,null,{default:h(()=>[o(T,{onClick:n[7]||=e=>t.onDelete(t.selectedSkill)},{default:h(()=>[o(L,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[o(I,{size:16,"aria-hidden":`true`,focusable:`false`})],8,$n)]),_:1}))])]),e(`div`,er,[e(`div`,tr,[e(`div`,nr,[e(`span`,rr,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,ir,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,ar,[e(`span`,or,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,sr,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(b(),c(`div`,cr,[e(`span`,lr,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,ur,[(b(!0),c(u,null,v(t.selectedSkill.required_connections,e=>(b(),m(ee,{key:e,size:`small`,type:`info`},{default:h(()=>[r(i(e),1)]),_:2},1024))),128))])])):s(``,!0)]),t.selectedSkill.description?(b(),c(`div`,dr,[e(`div`,fr,[e(`span`,pr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(b(),m(ne,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:h(()=>[o(te,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):s(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):s(``,!0)]),e(`div`,mr,[(b(),m(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(b(),m(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(b(),c(`div`,hr,[o(re,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),o(ie,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[8]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(ae,{modelValue:t.writeVisible,"onUpdate:modelValue":n[9]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[10]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var _r=W(Dn,[[`render`,gr],[`__scopeId`,`data-v-549e935d`]]);export{_r as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,N as c,S as l,T as u,at as d,b as f,ht as p,j as m,mt as h,ot as g,qt as _,rt as v,st as y,tt as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{r as S,t as C}from"./select-BPgVxSKa.js";import{n as w,t as T}from"./tabs-DojMbnwF.js";import{t as E}from"./tooltip-cwad2ed3.js";import{n as D,r as O,t as k}from"./dropdown-p33rwbY_.js";import{t as A}from"./pagination-BnayJw_l.js";import{t as j}from"./switch-DCsiNcT9.js";import{t as M}from"./arrow-down-CvNLp-Rl.js";import{t as N}from"./arrow-left-9rl6g_lg.js";import{t as P}from"./book-open-CymjekyH.js";import{t as F}from"./chevron-down-kO4nqPRd.js";import{t as I}from"./chevron-right-pJAh5Q3E.js";import{t as L}from"./circle-check-Dqklu7wj.js";import{t as ee}from"./circle-question-mark-CzO_y4gj.js";import{t as te}from"./clipboard-list-C1wYcw_t.js";import{t as ne}from"./code-C7BBlQhM.js";import{t as R}from"./copy-tm_N_GWz.js";import{t as re}from"./ellipsis-DrUXWtAi.js";import{t as ie}from"./eye-RQ5uTwTu.js";import{t as ae}from"./file-text-CZHZCYiU.js";import{t as z}from"./file-QnDabFFm.js";import{t as B}from"./folder-BK-8H9Le.js";import{t as oe}from"./image-C0VTg1gy.js";import{t as se}from"./lock-iwLHiuUS.js";import{t as V}from"./plus-MnwXUy4-.js";import{n as ce,t as le}from"./store-CuVDoO7D.js";import{t as ue}from"./search-DveL1t3_.js";import{t as de}from"./trash-2-tjPr2UKA.js";import{t as fe}from"./triangle-alert-cB1kwEv3.js";import{t as pe}from"./upload-B4AqvihH.js";import{t as me}from"./wand-sparkles-Dkqc_U5e.js";import{Ai as H,Ci as U,E as W,Ei as G,Ji as he,Li as ge,Si as _e,Ti as K,bi as ve,fi as ye,gi as be,gr as q,hi as xe,mi as Se,ui as Ce,wi as we,zi as J}from"./index-C4ZWtsBP.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,m as Y,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./vendor-highlight-BHrfT4-E.js";import{t as Re}from"./index.es-BojrqX50.js";import{t as ze}from"./VueMarkdown-CiiRjbWs.js";var Be=U(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ve=U(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),He=U(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ue=U(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),We=U(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${Ce()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return q.get(`/${this.key}/`,X())}async get(e){return q.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return q.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),q.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return q.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return q.delete(`/${this.key}/${e}/`,X())}async enable(e){return q.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return q.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await q.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return q.get(`/${this.key}/`,{...X(),params:e})}async get(e){return q.get(`/${this.key}/${e}/`,X())}async categories(){return q.get(`/${this.key}/categories/`,X())}async install(e,t={}){return q.post(`/${this.key}/${e}/install/`,t,X())}};function Ge(){let e=new Set;xe()&&e.add(`desktop`),be()&&e.add(`ios`),Se()&&e.add(`android`),ve()&&e.add(`web`);let t=ye();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!be()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var Ke=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function qe(e){let t=e.filter(e=>Ke.has(e));if(!t.length)return!0;let n=Ge();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Je=12,Ye=x({name:`BrowseSkillsDialog`,components:{VueMarkdown:ze,ElDialog:H,ElButton:J,ElPagination:A,ElSelect:S,ElOption:C,FontAwesomeIcon:Re,AddIcon:V,BackIcon:N,DownIcon:M,InstallIcon:Be,LockIcon:se,SearchIcon:ue,SuccessIcon:L},directives:{loading:G},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Je},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),K.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){K.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);K.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,K.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):K.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return qe(this.restrictedSurfaces(e))}}}),Xe={class:`directory`},Ze={class:`directory-main`},Qe={class:`directory-header`},$e={class:`directory-search`},et=[`placeholder`],tt={class:`directory-controls`},nt={class:`directory-grid-wrapper`},rt={key:0,class:`directory-empty`},it={key:1,class:`directory-grid`},at=[`onClick`],ot={class:`directory-card-head`},st={class:`directory-card-title`},ct=[`title`],lt=[`title`],ut=[`aria-label`,`title`,`onClick`],dt=[`title`],ft={class:`directory-card-meta`},pt={class:`directory-card-publisher`},mt={key:0,class:`directory-card-count`},ht=[`title`],gt={class:`directory-card-desc`},_t={key:0,class:`directory-footer`},vt={class:`directory-detail-head`},yt={class:`directory-detail-actions`},bt=[`href`],xt={class:`directory-detail-body`},St={class:`directory-detail-title`},Ct={class:`directory-detail-meta`},wt={key:0},Tt={key:1},Et=[`title`],Dt={class:`directory-detail-desc`};function Ot(a,l,_,y,x,S){let C=d(`search-icon`),w=d(`el-option`),T=d(`el-select`),E=d(`success-icon`),D=d(`lock-icon`),O=d(`add-icon`),k=d(`down-icon`),A=d(`el-pagination`),j=d(`back-icon`),M=d(`font-awesome-icon`),N=d(`el-button`),P=d(`install-icon`),F=d(`vue-markdown`),I=d(`el-dialog`),L=g(`loading`);return b(),m(I,{"model-value":a.modelValue,title:a.$t(`skill.dialog.directoryTitle`),width:`960px`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!a.installing,"show-close":!a.installing,"onUpdate:modelValue":l[6]||=e=>a.$emit(`update:modelValue`,e),onOpen:a.onOpen},{default:h(()=>[e(`div`,Xe,[e(`main`,Ze,[a.selectedItem?(b(),c(u,{key:1},[e(`header`,vt,[e(`button`,{class:`directory-back-btn`,onClick:l[4]||=e=>a.selectedItem=null},[o(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.back`)),1)]),e(`div`,yt,[a.selectedItem.source_url?(b(),c(`a`,{key:0,href:a.selectedItem.source_url,target:`_blank`,class:`directory-link`},[o(M,{icon:`fa-brands fa-github`}),r(` `+i(a.$t(`skill.directory.viewSource`)),1)],8,bt)):s(``,!0),a.selectedItem.installed?(b(),m(N,{key:1,disabled:``,type:`success`,plain:``},{default:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.installed`)),1)]),_:1})):a.selectedItem.installable&&!a.canInstallOnSurface(a.selectedItem)?(b(),m(N,{key:2,disabled:``,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(a.selectedItem)})},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):a.selectedItem.installable?(b(),m(N,{key:3,type:`primary`,loading:a.installing,onClick:l[5]||=e=>a.onInstall(a.selectedItem)},{default:h(()=>[o(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(b(),m(N,{key:4,disabled:``,title:a.selectedItem.license},{default:h(()=>[o(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.selectedItem.license||a.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,xt,[e(`h2`,St,`/`+i(a.selectedItem.slug),1),e(`div`,Ct,[e(`span`,null,[e(`strong`,null,i(a.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(a.selectedItem.publisher),1)]),a.selectedItem.license?(b(),c(`span`,wt,[e(`strong`,null,i(a.$t(`skill.directory.license`))+`:`,1),r(` `+i(a.selectedItem.license),1)])):s(``,!0),a.selectedItem.version?(b(),c(`span`,Tt,`v`+i(a.selectedItem.version),1)):s(``,!0),a.surfaceLabels(a.selectedItem)?(b(),c(`span`,{key:2,class:`directory-detail-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.$t(`skill.directory.surfaceOnly`,{platforms:a.surfaceLabels(a.selectedItem)})),9,Et)):s(``,!0)]),e(`p`,Dt,i(a.selectedItem.description),1),o(F,{class:`directory-detail-content`,source:a.detailBody,sanitize:``},null,8,[`source`])])],64)):(b(),c(u,{key:0},[e(`header`,Qe,[e(`div`,$e,[o(C,{class:`directory-search-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{"onUpdate:modelValue":l[0]||=e=>a.searchQuery=e,class:`directory-search-input`,placeholder:a.$t(`skill.directory.searchPlaceholder`),onInput:l[1]||=(...e)=>a.onSearchInput&&a.onSearchInput(...e)},null,40,et),[[f,a.searchQuery]])]),e(`div`,tt,[o(T,{modelValue:a.namespaceFilter,"onUpdate:modelValue":l[2]||=e=>a.namespaceFilter=e,class:`directory-select`,placeholder:a.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[(b(!0),c(u,null,v(a.namespaceOptions,e=>(b(),m(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(T,{modelValue:a.sortBy,"onUpdate:modelValue":l[3]||=e=>a.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:a.reloadFromFirstPage},{default:h(()=>[o(w,{label:a.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),o(w,{label:a.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),p((b(),c(`div`,nt,[!a.loading&&a.total===0?(b(),c(`p`,rt,i(a.$t(`skill.directory.empty`)),1)):(b(),c(`div`,it,[(b(!0),c(u,null,v(a.items,l=>(b(),c(`article`,{key:l.id,class:n([`directory-card`,{"is-installed":l.installed}]),onClick:e=>a.openDetail(l)},[e(`div`,ot,[e(`span`,st,`/`+i(l.slug),1),l.installed?(b(),c(`span`,{key:0,class:`directory-card-action is-installed`,title:a.$t(`skill.directory.installed`)},[o(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ct)):l.installable&&!a.canInstallOnSurface(l)?(b(),c(`span`,{key:1,class:`directory-card-locked`,title:a.$t(`skill.directory.surfaceBlocked`,{platforms:a.surfaceLabels(l)})},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,lt)):l.installable?(b(),c(`button`,{key:2,class:`directory-card-action`,"aria-label":a.$t(`skill.directory.install`),title:a.$t(`skill.directory.install`),onClick:t(e=>a.onInstall(l),[`stop`])},[o(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ut)):(b(),c(`span`,{key:3,class:`directory-card-locked`,title:l.license},[o(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,dt))]),e(`div`,ft,[e(`span`,pt,i(l.publisher),1),l.install_count>0?(b(),c(`span`,mt,[o(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.formatCount(l.install_count)),1)])):s(``,!0),a.surfaceLabels(l)?(b(),c(`span`,{key:1,class:`directory-card-surface`,title:a.$t(`skill.directory.surfaceHint`)},i(a.surfaceLabels(l)),9,ht)):s(``,!0)]),e(`p`,gt,i(l.description),1)],10,at))),128))]))])),[[L,a.loading]]),a.total>a.pageSize?(b(),c(`footer`,_t,[o(A,{"current-page":a.currentPage,"page-size":a.pageSize,total:a.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:a.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):s(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var kt=W(Ye,[[`render`,Ot],[`__scopeId`,`data-v-80ab8a17`]]);Y.registerLanguage(`bash`,Ne),Y.registerLanguage(`css`,Fe),Y.registerLanguage(`go`,Me),Y.registerLanguage(`javascript`,Te),Y.registerLanguage(`json`,Oe),Y.registerLanguage(`markdown`,De),Y.registerLanguage(`python`,Le),Y.registerLanguage(`rust`,ke),Y.registerLanguage(`shell`,Ae),Y.registerLanguage(`sql`,Pe),Y.registerLanguage(`typescript`,je),Y.registerLanguage(`xml`,Ie),Y.registerLanguage(`html`,Ie),Y.registerLanguage(`yaml`,Ee),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function At(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function jt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Mt=x({name:`SkillFilePreview`,components:{ElButton:J,ElTooltip:E,ElTabs:w,ElTabPane:T,CodeIcon:ne,CopyIcon:R,FileIcon:z,SaveIcon:Ue,ViewIcon:ie,WarningIcon:fe,VueMarkdown:ze},directives:{loading:G},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1}},computed:{kind(){return this.path?At(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${jt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=At(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),K.success(this.$t(`skill.preview.copied`))}catch{K.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),Nt={class:`preview-root`},Pt={class:`toolbar`},Ft={class:`path-display`},It={key:0,class:`size-display`},Lt={class:`body`},Rt={key:0,class:`error`},zt=[`srcdoc`],Bt={key:3,class:`image-pane`},Vt=[`src`,`alt`],Ht={key:4,class:`binary`},Ut=[`placeholder`],Wt={key:6,class:`source-pane`},Gt={key:7,class:`truncated-warning`};function Kt(t,a,l,u,_,v){let y=d(`save-icon`),x=d(`el-button`),S=d(`copy-icon`),C=d(`el-tooltip`),w=d(`view-icon`),T=d(`el-tab-pane`),E=d(`code-icon`),D=d(`el-tabs`),O=d(`warning-icon`),k=d(`vue-markdown`),A=d(`file-icon`),j=g(`loading`);return p((b(),c(`div`,Nt,[e(`div`,Pt,[e(`span`,Ft,i(t.path||`—`),1),t.size?(b(),c(`span`,It,i(t.humanSize(t.size)),1)):s(``,!0),a[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(b(),m(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:h(()=>[o(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):s(``,!0),o(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:h(()=>[o(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:h(()=>[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(b(),m(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":a[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:h(()=>[o(T,{name:`rendered`},{label:h(()=>[o(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),o(T,{name:`source`},{label:h(()=>[o(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):s(``,!0),e(`div`,Lt,[t.error?(b(),c(`div`,Rt,[o(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(b(),m(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(b(),c(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,zt)):t.kind===`image`?(b(),c(`div`,Bt,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Vt)])):t.kind===`binary`?(b(),c(`div`,Ht,[o(A,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?p((b(),c(`textarea`,{key:5,"onUpdate:modelValue":a[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:a[2]||=e=>t.dirty=!0},null,40,Ut)),[[f,t.textContent]]):(b(),c(`pre`,Wt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(b(),c(`p`,Gt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):s(``,!0)])])),[[j,t.loading]])}var qt=W(Mt,[[`render`,Kt],[`__scopeId`,`data-v-ec0a447e`]]),Jt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Yt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Xt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?P:n===`md`?ae:Yt.has(n)?oe:Jt.has(n)?He:z}function Zt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Qt=x({name:`FileNode`,components:{ExpandDownIcon:F,ExpandRightIcon:I,FontAwesomeIcon:Re},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Xt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),$t=[`aria-label`,`title`],en={key:1,class:`node-chevron-spacer`},tn={class:`node-label`},nn={key:0,class:`children`};function rn(r,a,o,l,f,p){let h=d(`expand-down-icon`),g=d(`expand-right-icon`),x=d(`font-awesome-icon`),S=d(`file-node`,!0);return b(),c(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:_({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(b(),c(`span`,en)):(b(),c(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(b(),m(h,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(g,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,$t)),r.isHtmlFile(r.node)?(b(),m(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(b(),m(y(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,tn,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(b(),c(`ul`,nn,[(b(!0),c(u,null,v(r.node.children||[],e=>(b(),m(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):s(``,!0)])}var an=x({name:`SkillRow`,components:{ExpandDownIcon:F,ExpandRightIcon:I,SkillIcon:ce,FileNode:W(Qt,[[`render`,rn],[`__scopeId`,`data-v-2215f06e`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return Zt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),on={class:`skill-row-wrapper`},sn=[`aria-label`,`title`],cn={key:1,class:`row-chevron-spacer`},ln=[`title`],un={key:0,class:`file-list`};function dn(r,a,l,f,p,h){let g=d(`expand-down-icon`),_=d(`expand-right-icon`),y=d(`skill-icon`),x=d(`file-node`);return b(),c(`li`,on,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:a[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(b(),c(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(b(),m(g,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(b(),m(_,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,sn)):(b(),c(`span`,cn)),o(y,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,ln)],2),r.expanded&&r.hasChildren?(b(),c(`ul`,un,[(b(!0),c(u,null,v(r.tree,e=>(b(),m(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):s(``,!0)])}var fn=W(an,[[`render`,dn],[`__scopeId`,`data-v-3dd0266c`]]),pn=10*1024*1024,mn=/\.(tar\.gz|tgz|tar|zip|md)$/i,hn=x({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:J,AddFileIcon:We,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>pn){K.error(this.$t(`skill.message.fileTooLarge`));return}if(!mn.test(e.name)){K.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),gn={key:0,class:`dropzone-hint`},_n={key:1,class:`dropzone-file`},vn={class:`dropzone-file-name`},yn={class:`dropzone-file-size`},bn={class:`requirements`},xn={class:`requirements-title`};function Sn(a,s,l,u,f,p){let g=d(`add-file-icon`),_=d(`el-button`),v=d(`cloud-upload-icon`),y=d(`el-dialog`);return b(),m(y,{"model-value":a.modelValue,title:a.$t(`skill.dialog.uploadTitle`),width:`520px`,"align-center":``,"close-on-click-modal":!a.uploading,"close-on-press-escape":!a.uploading,"show-close":!a.uploading,"onUpdate:modelValue":a.onVisibleChange,onClosed:a.reset},{footer:h(()=>[o(_,{disabled:a.uploading,onClick:a.onClose},{default:h(()=>[r(i(a.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(_,{type:`primary`,loading:a.uploading,disabled:!a.file,onClick:a.onSubmit},{default:h(()=>[o(v,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(a.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:s[0]||=(...e)=>a.onFilePicked&&a.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":a.isDragging,"has-file":!!a.file}]),onClick:s[1]||=(...e)=>a.onPickFile&&a.onPickFile(...e),onDragover:s[2]||=t(e=>a.isDragging=!0,[`prevent`]),onDragleave:s[3]||=t(e=>a.isDragging=!1,[`prevent`]),onDrop:s[4]||=t((...e)=>a.onDrop&&a.onDrop(...e),[`prevent`])},[o(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),a.file?(b(),c(`p`,_n,[e(`span`,vn,i(a.file.name),1),e(`span`,yn,i(a.humanSize(a.file.size)),1)])):(b(),c(`p`,gn,i(a.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,bn,[e(`p`,xn,i(a.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(a.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(a.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=W(hn,[[`render`,Sn],[`__scopeId`,`data-v-3791b97e`]]),wn=x({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:J,ElInput:he,CloudUploadIcon:Ve},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});K.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),Tn={class:`hint`};function En(t,n,a,s,c,l){let u=d(`el-input`),f=d(`el-button`),p=d(`cloud-upload-icon`),g=d(`el-dialog`);return b(),m(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`720px`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:h(()=>[o(f,{disabled:t.saving,onClick:t.onClose},{default:h(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(f,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:h(()=>[o(p,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:h(()=>[e(`p`,Tn,i(t.$t(`skill.dialog.writeHint`)),1),o(u,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Dn=x({name:`UserSkills`,components:{ElSwitch:j,ElTag:ge,ElTooltip:E,ElDropdown:k,ElDropdownMenu:O,ElDropdownItem:D,AddIcon:V,AiCreateIcon:me,CloseIcon:_e,DeleteIcon:de,ExpandDownIcon:F,ExpandRightIcon:I,HelpIcon:ee,MarketplaceIcon:le,MoreIcon:re,SearchIcon:ue,SkillIcon:ce,UploadIcon:pe,WriteIcon:te,BrowseSkillsDialog:kt,SkillFilePreview:qt,SkillRow:fn,UploadSkillDialog:Cn,WriteSkillDialog:W(wn,[[`render`,En],[`__scopeId`,`data-v-019a154c`]])},directives:{loading:G},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchOpen:!1,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),K.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openSearch(){this.searchOpen=!0,a(()=>{this.$refs.searchInput?.focus()})},closeSearch(){this.searchOpen=!1,this.searchQuery=``},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});K.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){K.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await we.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),K.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){K.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),K.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),K.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){K.error(this.extractError(e))}finally{this.togglingId=null}}}}),On={class:`page-shell`},kn={class:`page-heading`},An={class:`page-title`},jn={class:`page-subtitle`},Mn={class:`skills-shell`},Nn={class:`left-pane`},Pn={class:`left-header`},Fn={class:`left-actions`},In=[`aria-label`,`title`],Ln=[`aria-label`,`title`],Rn={class:`submenu-trigger`},zn={class:`badge-soon`},Bn={key:0,class:`search-row`},Vn=[`placeholder`],Hn=[`aria-label`,`title`],Un={class:`left-body`},Wn={class:`section`},Gn={key:0,class:`skill-list`},Kn={key:0,class:`empty-row`},qn={key:0,class:`section`},Jn={key:0,class:`skill-list`},Yn={class:`right-pane`},Xn={class:`right-header`},Zn={class:`right-title`},Qn={class:`right-actions`},$n=[`aria-label`,`title`],er={class:`meta-card`},tr={class:`meta-grid`},nr={class:`meta-cell`},rr={class:`meta-label`},ir={class:`meta-value`},ar={class:`meta-cell`},or={class:`meta-label`},sr={class:`meta-value`},cr={key:0,class:`meta-cell`},lr={class:`meta-label`},ur={class:`meta-tags`},dr={key:0,class:`meta-description`},fr={class:`meta-description-label`},pr={class:`meta-label`},mr={class:`preview-card`},hr={key:2,class:`right-empty`};function gr(t,n,a,_,y,x){let S=d(`search-icon`),C=d(`add-icon`),w=d(`marketplace-icon`),T=d(`el-dropdown-item`),E=d(`expand-right-icon`),D=d(`ai-create-icon`),O=d(`write-icon`),k=d(`upload-icon`),A=d(`el-dropdown-menu`),j=d(`el-dropdown`),M=d(`close-icon`),N=d(`expand-down-icon`),P=d(`skill-row`),F=d(`el-switch`),I=d(`more-icon`),L=d(`delete-icon`),ee=d(`el-tag`),te=d(`help-icon`),ne=d(`el-tooltip`),R=d(`skill-file-preview`),re=d(`skill-icon`),ie=d(`upload-skill-dialog`),ae=d(`write-skill-dialog`),z=d(`browse-skills-dialog`),B=g(`loading`);return b(),c(`div`,On,[e(`div`,kn,[e(`h2`,An,i(t.$t(`skill.title.skills`)),1),e(`p`,jn,i(t.$t(`skill.message.pageDescription`)),1)]),e(`div`,Mn,[e(`aside`,Nn,[e(`header`,Pn,[e(`div`,Fn,[t.searchOpen?s(``,!0):(b(),c(`button`,{key:0,class:`icon-btn`,"aria-label":t.$t(`skill.button.search`),title:t.$t(`skill.button.search`),onClick:n[0]||=(...e)=>t.openSearch&&t.openSearch(...e)},[o(S,{size:16,"aria-hidden":`true`,focusable:`false`})],8,In)),o(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{onClick:t.onBrowse},{default:h(()=>[o(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),o(T,{divided:``},{default:h(()=>[o(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:h(()=>[o(A,{class:`add-menu`},{default:h(()=>[o(T,{disabled:``},{default:h(()=>[o(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,zn,i(t.$t(`skill.menu.soon`)),1)]),_:1}),o(T,{onClick:t.openWrite},{default:h(()=>[o(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),o(T,{onClick:t.openUpload},{default:h(()=>[o(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,Rn,[o(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),o(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[o(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Ln)]),_:1})])]),t.searchOpen?(b(),c(`div`,Bn,[o(S,{class:`search-icon`,size:13,"aria-hidden":`true`,focusable:`false`}),p(e(`input`,{ref:`searchInput`,"onUpdate:modelValue":n[1]||=e=>t.searchQuery=e,class:`search-input`,placeholder:t.$t(`skill.placeholder.search`),onKeydown:n[2]||=l((...e)=>t.closeSearch&&t.closeSearch(...e),[`escape`])},null,40,Vn),[[f,t.searchQuery]]),e(`button`,{class:`icon-btn icon-btn-sm`,"aria-label":t.$t(`common.button.close`),title:t.$t(`common.button.close`),onClick:n[3]||=(...e)=>t.closeSearch&&t.closeSearch(...e)},[o(M,{size:14,"aria-hidden":`true`,focusable:`false`})],8,Hn)])):s(``,!0),p((b(),c(`div`,Un,[e(`section`,Wn,[e(`button`,{class:`section-header`,onClick:n[4]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(b(),c(`ul`,Gn,[!t.loading&&t.filteredPersonal.length===0?(b(),c(`li`,Kn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):s(``,!0),(b(!0),c(u,null,v(t.filteredPersonal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)]),t.globalSkills.length>0?(b(),c(`section`,qn,[e(`button`,{class:`section-header`,onClick:n[5]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(b(),m(N,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(b(),m(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(b(),c(`ul`,Jn,[(b(!0),c(u,null,v(t.filteredGlobal,e=>(b(),m(P,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):s(``,!0)])):s(``,!0)])),[[B,t.loading]])]),e(`main`,Yn,[t.selectedSkill&&!t.selectedPath?(b(),c(u,{key:0},[e(`header`,Xn,[e(`h3`,Zn,i(t.selectedSkill.slug),1),e(`div`,Qn,[o(F,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[6]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?s(``,!0):(b(),m(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:h(()=>[o(A,null,{default:h(()=>[o(T,{onClick:n[7]||=e=>t.onDelete(t.selectedSkill)},{default:h(()=>[o(L,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[o(I,{size:16,"aria-hidden":`true`,focusable:`false`})],8,$n)]),_:1}))])]),e(`div`,er,[e(`div`,tr,[e(`div`,nr,[e(`span`,rr,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,ir,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,ar,[e(`span`,or,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,sr,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(b(),c(`div`,cr,[e(`span`,lr,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,ur,[(b(!0),c(u,null,v(t.selectedSkill.required_connections,e=>(b(),m(ee,{key:e,size:`small`,type:`info`},{default:h(()=>[r(i(e),1)]),_:2},1024))),128))])])):s(``,!0)]),t.selectedSkill.description?(b(),c(`div`,dr,[e(`div`,fr,[e(`span`,pr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(b(),m(ne,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:h(()=>[o(te,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):s(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):s(``,!0)]),e(`div`,mr,[(b(),m(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(b(),m(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(b(),c(`div`,hr,[o(re,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),o(ie,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[8]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(ae,{modelValue:t.writeVisible,"onUpdate:modelValue":n[9]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),o(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[10]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var _r=W(Dn,[[`render`,gr],[`__scopeId`,`data-v-549e935d`]]);export{_r as default};
|