@acedatacloud/nexior 3.380.1 → 3.380.3
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-CamxfAYn.js → ApiCodeButton-CAQzrT4K.js} +1 -1
- package/dist/assets/{ApiCodeDialog-B6qw-zTG.js → ApiCodeDialog-LvzBskrJ.js} +1 -1
- package/dist/assets/{Artifacts-DwNgOyFm.js → Artifacts-BC-9S6PN.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-DdYsAvEY.js → AskUserQuestionCard-D7OS85bK.js} +1 -1
- package/dist/assets/{AudioPreview-84i4UhYy.js → AudioPreview-DQViM4FT.js} +1 -1
- package/dist/assets/{Auth-BFJkqHFM.js → Auth-Df14yfuP.js} +1 -1
- package/dist/assets/{Bare-zKVunPhm.js → Bare-DzY0TQIE.js} +1 -1
- package/dist/assets/{BotPlaceholder-DdJ_x_l7.js → BotPlaceholder-BlCUdjzq.js} +1 -1
- package/dist/assets/{BottomFooter-CHac3iaO.js → BottomFooter-D3UQv_gV.js} +1 -1
- package/dist/assets/BrowseConnectors-DlJx58_J.js +1 -0
- package/dist/assets/{BrowserPairingDialog-DNRMkL-q.js → BrowserPairingDialog-CW7vfPJR.js} +1 -1
- package/dist/assets/{Callback-DhDAwkF9.js → Callback-CNFgYm3T.js} +1 -1
- package/dist/assets/{CodeSnippet-CDAvIvGE.js → CodeSnippet-C0eBeX2U.js} +1 -1
- package/dist/assets/{Console-3u8vCXns.js → Console-CAVioWhS.js} +1 -1
- package/dist/assets/{Conversation-CC6vYw7p.css → Conversation-BHYltyL3.css} +1 -1
- package/dist/assets/{Conversation-DxR4Pbb-.js → Conversation-D7nm4oS-.js} +1 -1
- package/dist/assets/Conversation-DQ5RmRdb.js +2 -0
- package/dist/assets/{CopyToClipboard-Bx-prlKU.js → CopyToClipboard-BQaEPLyt.js} +1 -1
- package/dist/assets/Detail-DD55uGpe.js +2 -0
- package/dist/assets/{Extra-DiYJ1iQW.js → Extra-CV4hv9OG.js} +1 -1
- package/dist/assets/{FilePreview-DEJQgE9X.js → FilePreview-BjUbMA7c.js} +1 -1
- package/dist/assets/{Hailuo-WV0lDtmB.js → Hailuo-xFaz9TxD.js} +1 -1
- package/dist/assets/{History-DVVV8N_m.js → History-D1zqqw7y.js} +1 -1
- package/dist/assets/{ImagePreview-Cqw8CRzu.js → ImagePreview-Dm16d0L7.js} +1 -1
- package/dist/assets/{ImageWrapper-BpTBr_wd.js → ImageWrapper-KvH_Kyox.js} +1 -1
- package/dist/assets/{Index-zolYZpzs.js → Index-1ZGPMaND.js} +1 -1
- package/dist/assets/{Index-BxZ9t9lT.js → Index-7QD2V3wg.js} +1 -1
- package/dist/assets/{Index-CQBhWyHf.js → Index-8by4vnko.js} +1 -1
- package/dist/assets/{Index-B0NAMUrm.js → Index-B4GT4puq.js} +1 -1
- package/dist/assets/{Index-gxMwKxwR.js → Index-BPAo6_jC.js} +1 -1
- package/dist/assets/{Index-DIiTfkhB.js → Index-BecIFcGo.js} +1 -1
- package/dist/assets/{Index-B9Tj22yt.js → Index-Bk546k4m.js} +1 -1
- package/dist/assets/{Index-bt_a28ni.js → Index-BkbELH7_.js} +1 -1
- package/dist/assets/{Index-FcXIzdxp.js → Index-BoWt8dWh.js} +1 -1
- package/dist/assets/{Index-BwLmL2eQ.js → Index-BwfuDrJ9.js} +1 -1
- package/dist/assets/{Index-BOV3Grrd.js → Index-C18MzxuW.js} +1 -1
- package/dist/assets/{Index-DzqV9_FA.js → Index-C1QW_CFl.js} +1 -1
- package/dist/assets/Index-C5CT7Ktv.js +1 -0
- package/dist/assets/{Index-BrmDN6uC.js → Index-COJPpNNU.js} +1 -1
- package/dist/assets/{Index-CjWeOpGe.js → Index-CQE7c7Bs.js} +2 -2
- package/dist/assets/{Index-K9jEAeNq.js → Index-CTaXbXmT.js} +1 -1
- package/dist/assets/{Index-Wg2EhiDs.js → Index-CjVzRlMN.js} +1 -1
- package/dist/assets/{Index-DpuqqoKw.js → Index-CqmNg2WZ.js} +1 -1
- package/dist/assets/{Index-vtOicKLv.js → Index-CxqeZIDT.js} +1 -1
- package/dist/assets/{Index-CYj2bNzo.js → Index-D-bh_mWQ.js} +1 -1
- package/dist/assets/{Index-DXm2-z8f.js → Index-DJVr7ydY.js} +1 -1
- package/dist/assets/{Index-C6kCQ1cJ.js → Index-DOU9VNl0.js} +1 -1
- package/dist/assets/{Index-yqv7ZkDs.js → Index-DR-1kfGp.js} +1 -1
- package/dist/assets/{Index-Cdl5_bOZ.js → Index-DVXw0pwb.js} +1 -1
- package/dist/assets/{Index-C1OELKA5.js → Index-DlHoDKfg.js} +1 -1
- package/dist/assets/{Index-BaSjILw9.js → Index-Dmc0ZPfE.js} +1 -1
- package/dist/assets/{Index-BhwEsNJt.js → Index-Dn3EoEQQ.js} +2 -2
- package/dist/assets/{Index-KDTvzuOB.js → Index-DvGsYLo7.js} +1 -1
- package/dist/assets/{Index-DI8UWKgA.js → Index-T0_cSwPH.js} +1 -1
- package/dist/assets/{Index-BEt2RJSO.css → Index-a1PTKue6.css} +1 -1
- package/dist/assets/{Index-QHKoX9XM.js → Index-eMf5-MRc.js} +1 -1
- package/dist/assets/{Index-DQ0VO7tF.js → Index-ex7Y1vY4.js} +1 -1
- package/dist/assets/{Index-bseWMEdN.js → Index-fTR2-Z-3.js} +1 -1
- package/dist/assets/Index-fbMiNaKB.js +1 -0
- package/dist/assets/{Index-CVApWnpG.js → Index-jn2z6JP9.js} +1 -1
- package/dist/assets/{Index-CbO-F0I7.js → Index-tjXScQUo.js} +1 -1
- package/dist/assets/{Index-BARIH8Nt2.js → Index-zjZ7CPr72.js} +1 -1
- package/dist/assets/{Invitees-BXnPFFFM.js → Invitees-tBHppasN.js} +1 -1
- package/dist/assets/{List-QWfDlofh.js → List-B12lnQg5.js} +1 -1
- package/dist/assets/{List-BUYcw-gk.js → List-CEnfs31Y.js} +1 -1
- package/dist/assets/{List-C725Ifa1.js → List-ObMnOLL-.js} +1 -1
- package/dist/assets/{LocalTools-C8OB-tb7.js → LocalTools-CVbTpoYn.js} +1 -1
- package/dist/assets/{LocalTools-w6U6fFBk.js → LocalTools-DyjoYQ4h.js} +1 -1
- package/dist/assets/{Logo-Dy6TS7xE.js → Logo-DmgrIDIl.js} +1 -1
- package/dist/assets/{Main-CQDRHwWp.js → Main-D1Gr1FHA.js} +1 -1
- package/dist/assets/{Message-DRWvm7uQ.js → Message-Db6-S5sM.js} +2 -2
- package/dist/assets/{Model-B9edDSOq.js → Model-C8RNsnbd.js} +1 -1
- package/dist/assets/{Navigator-DOH5ywHY.css → Navigator-D6I38CcF.css} +1 -1
- package/dist/assets/{Navigator-DGF-eSLd.js → Navigator-Nfj8gArg.js} +5 -5
- package/dist/assets/{NotFound-Bt15exc6.js → NotFound-D-CoxUw9.js} +1 -1
- package/dist/assets/{PageHeader-Dkyxvst7.js → PageHeader-CNpwb3CV.js} +1 -1
- package/dist/assets/{Pay-CvzNCng-.js → Pay-BI2Q9Jyg.js} +1 -1
- package/dist/assets/{Player-sJkecdvX.js → Player-DpnDR3pi.js} +1 -1
- package/dist/assets/{Poivelle-BgncPZnk.js → Poivelle-BSP4AAyK.js} +1 -1
- package/dist/assets/{RealtimeCall-cJ2dtsTe.js → RealtimeCall-B2L27PB_.js} +2 -2
- package/dist/assets/{ReportButton-Dw0mHMOU.js → ReportButton-BAx8pia_.js} +1 -1
- package/dist/assets/{ReportDialog-LE8Yt5jU.js → ReportDialog-CE_HdnOJ.js} +1 -1
- package/dist/assets/{ScenarioPaymentMode-B-H0w0Nu.js → ScenarioPaymentMode-C2uR8lvu.js} +1 -1
- package/dist/assets/ScheduledTasks-BLT-jdpt.js +2 -0
- package/dist/assets/{ScheduledTasks-daZK5tmJ.css → ScheduledTasks-Da6grJXC.css} +1 -1
- package/dist/assets/{ServicePricingSummary-CIkjhZtm.js → ServicePricingSummary-DPzfamaB.js} +1 -1
- package/dist/assets/{SharedMarkdown-bor2SPw_.js → SharedMarkdown-0ELGv4ui.js} +1 -1
- package/dist/assets/{ShowcaseGrid-BO4tjsZj.js → ShowcaseGrid-XqUFFvtm.js} +1 -1
- package/dist/assets/{ShowcaseResultTabs-9R6ZuYzV.js → ShowcaseResultTabs-DEfMzemw.js} +1 -1
- package/dist/assets/{SolanaWalletPickerDialog-CxB9lFgE.js → SolanaWalletPickerDialog-YgC0eQsl.js} +1 -1
- package/dist/assets/{Status-DyxJEYDP.js → Status-DKf5Jsod.js} +1 -1
- package/dist/assets/{Subscribe-dqh6R-ah.js → Subscribe-CkkGJTnx.js} +1 -1
- package/dist/assets/{TabSwitcher-BqNPG1BT.js → TabSwitcher-CfjEN161.js} +1 -1
- package/dist/assets/{Tts-BO7DCsF6.js → Tts-D1u48--B.js} +1 -1
- package/dist/assets/{VideoPlayer-DnqvHNJD.js → VideoPlayer-Cdtv4baV.js} +1 -1
- package/dist/assets/{VideoPreview-BjBJZB2k.js → VideoPreview-D3jWNNx1.js} +1 -1
- package/dist/assets/{VueMarkdown-mGSicH9K.js → VueMarkdown-CQ26Rk6o.js} +2 -2
- package/dist/assets/WriteSkillDialog-Dli1HaFr.js +1 -0
- package/dist/assets/{airwallexCheckout-Ce-VmbHc.js → airwallexCheckout-BOMCtt32.js} +1 -1
- package/dist/assets/arrow-down-B6_R0HuI.js +1 -0
- package/dist/assets/arrow-left-BJOpEVmr.js +1 -0
- package/dist/assets/arrow-right-COdHSgP-.js +1 -0
- package/dist/assets/arrow-up-3YBgb0Kr.js +1 -0
- package/dist/assets/{authorizeFlow-Bk2f32YE.js → authorizeFlow-BMC9h_3t.js} +1 -1
- package/dist/assets/{avatar-CAwD-542.js → avatar-BsnEjqLw.js} +1 -1
- package/dist/assets/{back-navigation-C8Qheh_f.js → back-navigation-DPa7442X.js} +1 -1
- package/dist/assets/{basic-DSkPdnWX.js → basic-p_zsFmA2.js} +1 -1
- package/dist/assets/{book-open-0Z-IYqAI.js → book-open-CpRGukR7.js} +1 -1
- package/dist/assets/{box-C-N2GtXj.js → box-CGOU4lJt.js} +1 -1
- package/dist/assets/{boxes-CknsMc6m.js → boxes-32lkEX3G.js} +1 -1
- package/dist/assets/{brain-RXBwcjer.js → brain-CEopvMNh.js} +1 -1
- package/dist/assets/{chart-no-axes-combined-DIQO991i.js → chart-no-axes-combined-tiBL2Ggm.js} +1 -1
- package/dist/assets/{chat-B9eSQx3a.js → chat-g6sUFB58.js} +1 -1
- package/dist/assets/check-C0uK_-Ji.js +1 -0
- package/dist/assets/chevron-down-BIqc6Sh0.js +1 -0
- package/dist/assets/chevron-right-CewUT0fp.js +1 -0
- package/dist/assets/{circle-alert-o2dQ9ZSK.js → circle-alert-CXkPdq0D.js} +1 -1
- package/dist/assets/circle-check-GRq8kiSg.js +1 -0
- package/dist/assets/{circle-question-mark-BgNVzfik.js → circle-question-mark-CVOAxMdj.js} +1 -1
- package/dist/assets/{clipboard-list-DCNAyOLg.js → clipboard-list-Dze8SlYc.js} +1 -1
- package/dist/assets/clock-BRqsgYwQ.js +1 -0
- package/dist/assets/code-DoM9goq2.js +1 -0
- package/dist/assets/codingBridge-y6RP64MI.js +2 -0
- package/dist/assets/{codingBridgeNotify-ffffcs_6.js → codingBridgeNotify-U3RuiX2r.js} +2 -2
- package/dist/assets/{coins-BhnsYulb.js → coins-dxsmnq-4.js} +1 -1
- package/dist/assets/{collapse-DlS6esg4.js → collapse-Dwaru9dv.js} +1 -1
- package/dist/assets/{constants-kiieigwv.js → constants-GmVIn7tC.js} +1 -1
- package/dist/assets/{copy-iuMh5HDj.js → copy-DnKHOq1a.js} +1 -1
- package/dist/assets/{createTaskActions-B3dbKGMN.js → createTaskActions-B2GAm9bk.js} +1 -1
- package/dist/assets/{date-picker-D5SccgwV.js → date-picker-bOwyWLdL.js} +1 -1
- package/dist/assets/{digitalhuman-Doi9r0PO.js → digitalhuman-DEbD6hPM.js} +1 -1
- package/dist/assets/{dollar-sign-QtIaNZDY.js → dollar-sign-BLWNTUv9.js} +1 -1
- package/dist/assets/{download-0y-HYDOw.js → download-BCOklSE_.js} +1 -1
- package/dist/assets/{drawer-L7Y4nWQp.js → drawer-CvX2U8ly.js} +1 -1
- package/dist/assets/{dropdown-C9KwKanc.js → dropdown-DPKXaIsL.js} +1 -1
- package/dist/assets/{dropdown-Bw5-2BFz.js → dropdown-XCwzKYm5.js} +1 -1
- package/dist/assets/{ellipsis-Bn0nMuSn.js → ellipsis-DPB3bXTW.js} +1 -1
- package/dist/assets/esm-CCt2cEvm.js +1 -0
- package/dist/assets/{esm-DKxDTwPZ.js → esm-CyHOLycc.js} +2 -2
- package/dist/assets/{esm-CnPB5xJ-.js → esm-UoEBYxr0.js} +2 -2
- package/dist/assets/{external-link-DAu20zfD.js → external-link-BZpZYYUS.js} +1 -1
- package/dist/assets/{eye-Dcv4rJLx.js → eye-BhdeJEHm.js} +1 -1
- package/dist/assets/{file-ChcoawXP.js → file-BEBKIB3d.js} +1 -1
- package/dist/assets/{file-output-CsUr7vYl.js → file-output-Wrne3aLm.js} +1 -1
- package/dist/assets/{file-text-B1OxHrfW.js → file-text-BXNggY_W.js} +1 -1
- package/dist/assets/{fish-D4rjfmWX.js → fish-VuGOhXsW.js} +1 -1
- package/dist/assets/{flux-2xWiCPHw.js → flux-BPC7XmH0.js} +1 -1
- package/dist/assets/{folder-KD5ueWfZ.js → folder-l95IzSNw.js} +1 -1
- package/dist/assets/gauge-Ncwvr6wi.js +1 -0
- package/dist/assets/{generationInput-BGGxEArh.js → generationInput--J_4Niw5.js} +1 -1
- package/dist/assets/{globe-HlmrWk6W.js → globe-CSktj64F.js} +1 -1
- package/dist/assets/{grokvideo-BHubDvRV.js → grokvideo-DTBgLS47.js} +1 -1
- package/dist/assets/{hailuo-Bzcyw21P.js → hailuo-BVUhC8lk.js} +1 -1
- package/dist/assets/{hash-fnNMJyhY.js → hash-CRnccwx_.js} +1 -1
- package/dist/assets/{headphones-DSA76YU2.js → headphones-DoG13pCL.js} +1 -1
- package/dist/assets/{history-_ARakB9c.js → history-BHl5ASZC.js} +1 -1
- package/dist/assets/{house-Dgyx7sS4.js → house-DNNF-zQb.js} +1 -1
- package/dist/assets/{image-CSGEim55.js → image-2jgf6twa.js} +1 -1
- package/dist/assets/{imageRequests-6801C8WR.js → imageRequests-BaQ60xKB.js} +1 -1
- package/dist/assets/{index-9QPtYDXy.js → index-BYbC-2BV.js} +7 -7
- package/dist/assets/{index.es-2anmjGSC.js → index.es-DFqTR-gs.js} +1 -1
- package/dist/assets/{info-CkI7CDMr.js → info-Bqj02p3r.js} +1 -1
- package/dist/assets/{input-number-B-ci8lJH.js → input-number-BecdXhq4.js} +1 -1
- package/dist/assets/{kling-FeDQBu6x.js → kling-C9azn2UB.js} +1 -1
- package/dist/assets/{languages-BhFx4jqh.js → languages-Bn9-XqQr.js} +1 -1
- package/dist/assets/{laptop-C5hFX7eQ.js → laptop-C_0NyrMl.js} +1 -1
- package/dist/assets/{lightbulb-DcFS8bcm.js → lightbulb-C9MU_4ds.js} +1 -1
- package/dist/assets/{link-Cz-XVIIE.js → link-CYbuO3R8.js} +1 -1
- package/dist/assets/loader-circle-BBOOwaos.js +1 -0
- package/dist/assets/{luma-CzCWAIok.js → luma-BtitSxad.js} +1 -1
- package/dist/assets/{maestro-BJyN9VNW.js → maestro-Cmd5jQVR.js} +1 -1
- package/dist/assets/{maestroLanguages-CK5Z7kJI.js → maestroLanguages-BCseVxSx.js} +1 -1
- package/dist/assets/{mail-BVe9oOKB.js → mail-BJofA_Qf.js} +1 -1
- package/dist/assets/{message-circle-BFTr-7Km.js → message-circle-CKGmdIMI.js} +1 -1
- package/dist/assets/{mic-BfGutdH1.js → mic-Ci4tIrSN.js} +1 -1
- package/dist/assets/{midjourney-BRDpKRFQ.js → midjourney-BQZo_d2M.js} +1 -1
- package/dist/assets/{minimax-9OPBJOhC.js → minimax-DsdxWCjq.js} +1 -1
- package/dist/assets/{mobileLocalExec-DysSbQiZ.js → mobileLocalExec-Dwqc6v0t.js} +2 -2
- package/dist/assets/modelPresentation-rhCN4hTz.js +1 -0
- package/dist/assets/{monitor-CWxf36_0.js → monitor-CPFxk1wZ.js} +1 -1
- package/dist/assets/{mouse-pointer-2-DxOEaYGy.js → mouse-pointer-2-B08HzOwW.js} +1 -1
- package/dist/assets/music-2-DXzd8a9x.js +1 -0
- package/dist/assets/nanobanana-B3UVwC2D.js +1 -0
- package/dist/assets/{nanobanana-BSSjfnC-.js → nanobanana-CJ9wJoGd.js} +1 -1
- package/dist/assets/nanobanana-J7C_iDiO.js +1 -0
- package/dist/assets/{omni-DSQf7kYF.js → omni-C-SLGStU.js} +1 -1
- package/dist/assets/{openaiimage-bzATnFrU.js → openaiimage-D5MNRqg3.js} +1 -1
- package/dist/assets/{pagination-YzMa1CV0.js → pagination-CYVcmJmV.js} +1 -1
- package/dist/assets/{pagination-DebnOQug.js → pagination-VjpfotZ8.js} +1 -1
- package/dist/assets/{pagination-JmOkZgOn.js → pagination-io6RYkJR.js} +1 -1
- package/dist/assets/{palette-DeSZ2WLY.js → palette-SWZNaMAh.js} +1 -1
- package/dist/assets/{paperclip-DhXd7SAO.js → paperclip-CoovJMXo.js} +1 -1
- package/dist/assets/{pause-CNhj1yEv.js → pause-B7eeiCnH.js} +1 -1
- package/dist/assets/{pencil-DnXQWvKs.js → pencil-f21Vtqty.js} +1 -1
- package/dist/assets/{pika-B8S0j1om.js → pika-CsHCQJSE.js} +1 -1
- package/dist/assets/{pixverse-DO2aJMnX.js → pixverse-CyDxwFeI.js} +1 -1
- package/dist/assets/play-D8gxtxAY.js +1 -0
- package/dist/assets/{plug-DrhNBM17.js → plug-Dg_9VErH.js} +1 -1
- package/dist/assets/plus-BMzVPasG.js +1 -0
- package/dist/assets/{poivelle-sR6cMLzO.js → poivelle-C0zLhGUa.js} +1 -1
- package/dist/assets/{popover-Dr0_oyas.js → popover-BBskEwZL.js} +1 -1
- package/dist/assets/{producer-CKXxSEuA.js → producer-9b3QkEP1.js} +1 -1
- package/dist/assets/{qrart-D7dTts48.js → qrart-CtfMNq1M.js} +1 -1
- package/dist/assets/{qwenimage-CFfn7yH8.js → qwenimage-BTvJJiDf.js} +1 -1
- package/dist/assets/{realtime-DX1ke1rd.js → realtime-Dd7fkm3x.js} +1 -1
- package/dist/assets/{refresh-cw-BNmuHc_7.js → refresh-cw-Cr7yuII3.js} +1 -1
- package/dist/assets/rotate-ccw-DLsc8rAo.js +1 -0
- package/dist/assets/rotate-cw-1vYEmZtB.js +1 -0
- package/dist/assets/{row-CD9KNH4y.js → row-DNp_zRGz.js} +1 -1
- package/dist/assets/{scheduledTasks-j1NfRm2t.js → scheduledTasks-CrtGggKP.js} +1 -1
- package/dist/assets/{scroll-text-DzWIEuO0.js → scroll-text-WT63idaP.js} +1 -1
- package/dist/assets/search-CTbEtirV.js +1 -0
- package/dist/assets/{seedance-Dk-L9Cxx.js → seedance-tUqFe83z.js} +1 -1
- package/dist/assets/{seedream-CGpLoG8m.js → seedream-CuoLy1o8.js} +1 -1
- package/dist/assets/{select-Z6KgLTht.js → select-CxPN3D9u.js} +1 -1
- package/dist/assets/{serp-yx-MagCJ.js → serp-D6lCOvz4.js} +1 -1
- package/dist/assets/{shield-BhwHPAmZ.js → shield-CK7NS6Gf.js} +1 -1
- package/dist/assets/{showcase-zcWzFFzG.js → showcase-D6Og0HHm.js} +1 -1
- package/dist/assets/{showcaseRecreateMixin-C6lb96lp.js → showcaseRecreateMixin-BEyu8Djp.js} +1 -1
- package/dist/assets/{shuffle-COGeCuR3.js → shuffle-DpfFdEcH.js} +1 -1
- package/dist/assets/{site-ChNq_NUt.js → site-BFSh5Tl1.js} +1 -1
- package/dist/assets/{site-uB9WDD6_.js → site-BgL5auJs.js} +1 -1
- package/dist/assets/{site-D5cXxqd0.js → site-CEyYV9T9.js} +1 -1
- package/dist/assets/{site-8ydw5p2V.js → site-CfeKxRll.js} +1 -1
- package/dist/assets/{site-CWTKv6IY.js → site-Cg9MVedN.js} +1 -1
- package/dist/assets/{site-DdDGLpnI.js → site-D0A9w1iR.js} +1 -1
- package/dist/assets/{site-B-c1LmW9.js → site-DJxqIMde.js} +1 -1
- package/dist/assets/{site-CiW7TR1Z.js → site-Dq6XOltW.js} +1 -1
- package/dist/assets/{site-C7vdB4MY.js → site-eyXU2Lu9.js} +1 -1
- package/dist/assets/{site-7R4iotW1.js → site-mJ0A622j.js} +1 -1
- package/dist/assets/{site-Cl-8AIw8.js → site-nFnV_r0X.js} +1 -1
- package/dist/assets/{site-Ca3t6y02.js → site-v8-PMGDX.js} +1 -1
- package/dist/assets/{siteHome-COfLLxrM.js → siteHome-3TZFCcij.js} +1 -1
- package/dist/assets/{slider-1_DTJhKi.js → slider-DNzVAHfq.js} +1 -1
- package/dist/assets/{solana-wallets-ceUMBkSa.js → solana-wallets-DzzoQdIQ.js} +2 -2
- package/dist/assets/{sora-BN_-U3OL.js → sora-BxwK55Oy.js} +1 -1
- package/dist/assets/{sparkles-DI4JsU55.js → sparkles-Bj8vdW1Y.js} +1 -1
- package/dist/assets/square-C64WmG3-.js +1 -0
- package/dist/assets/{suno-D-96TveK.js → suno-DNbz_RKF.js} +1 -1
- package/dist/assets/{switch-BSlWfHI1.js → switch-CpihU-Bq.js} +1 -1
- package/dist/assets/{table-CdEL_ArU.js → table-BQFx3k1H.js} +1 -1
- package/dist/assets/{tabs-BIn1pfdA.js → tabs-8Um-YKWZ.js} +1 -1
- package/dist/assets/{tag-Bc8fc3hv.js → tag-_vZb-8xx.js} +1 -1
- package/dist/assets/{taskPolling-CvxWFDa8.js → taskPolling-9csjvORN.js} +1 -1
- package/dist/assets/terminal-Clq9LUIa.js +1 -0
- package/dist/assets/{time-picker-D5ePL9TD.js → time-picker-RtWvk_sa.js} +1 -1
- package/dist/assets/{tooltip-Dkhw7cOR.js → tooltip-B60Iasgv.js} +1 -1
- package/dist/assets/{trash-2-Bsb0SCBF.js → trash-2-BBCXfu0p.js} +1 -1
- package/dist/assets/{triangle-alert-BABYNg2h.js → triangle-alert-BRov4JmE.js} +1 -1
- package/dist/assets/{upload-C6vmRcPM.js → upload-D3ICVrNB.js} +1 -1
- package/dist/assets/{upload-Bf6gfU9e.js → upload-Sju4DbiY.js} +1 -1
- package/dist/assets/user-D8RgR1_m.js +1 -0
- package/dist/assets/{veo-Bca5_LQw.js → veo-DkZy7hTq.js} +1 -1
- package/dist/assets/{video-B2o3QQfO.js → video-CDFVAtyn.js} +1 -1
- package/dist/assets/{volume-2-Cf3G5b4P.js → volume-2-B06KZpAy.js} +1 -1
- package/dist/assets/{vuex.esm-bundler-DdqoLR8S.js → vuex.esm-bundler-BV9tXD4i.js} +1 -1
- package/dist/assets/{wallet-D6WhCMAf.js → wallet-C2_hOWbL.js} +1 -1
- package/dist/assets/{wan-Dz-ixQsR.js → wan-QRuyJPFu.js} +1 -1
- package/dist/assets/{wand-sparkles-D-Tu19dx.js → wand-sparkles-D8Xtkkgr.js} +1 -1
- package/dist/assets/{web-CwhyWbaU.js → web-BUdzeUVv.js} +1 -1
- package/dist/assets/{web-dns54y0r.js → web-BYJbjRYk.js} +1 -1
- package/dist/assets/{web-B7Ka0GnQ.js → web-CY-888ED.js} +1 -1
- package/dist/assets/{web-BemJd_1I.js → web-DaBEVlWo.js} +1 -1
- package/dist/assets/{web-CcvCKnWJ.js → web-JP1HvmQN.js} +1 -1
- package/dist/assets/{webextrator-BdHKfx-G.js → webextrator-CW6y2mdz.js} +1 -1
- package/dist/assets/{zap-O9CajQ-y.js → zap-D2PJQZbU.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/BrowseConnectors-c2VMKC__.js +0 -1
- package/dist/assets/Conversation-CjseVtXs.js +0 -2
- package/dist/assets/Detail-CW4fx2HA.js +0 -2
- package/dist/assets/Index-cS59vcTw.js +0 -1
- package/dist/assets/Index-dIYMvfR5.js +0 -1
- package/dist/assets/ScheduledTasks-CyrX0a9_.js +0 -2
- package/dist/assets/WriteSkillDialog-BQrqa_CN.js +0 -1
- package/dist/assets/arrow-down-BKm_Iq2K.js +0 -1
- package/dist/assets/arrow-left-Be-Ud4SG.js +0 -1
- package/dist/assets/arrow-right-Cj9BzsIC.js +0 -1
- package/dist/assets/arrow-up-BamHmuBY.js +0 -1
- package/dist/assets/check-Dr4s8f8m.js +0 -1
- package/dist/assets/chevron-down-EwCdZeFV.js +0 -1
- package/dist/assets/chevron-right-CbvTu9t5.js +0 -1
- package/dist/assets/circle-check-C2eKrvdE.js +0 -1
- package/dist/assets/clock-Df79mUBO.js +0 -1
- package/dist/assets/code-Vo8dFaxl.js +0 -1
- package/dist/assets/codingBridge-ChpgPsBh.js +0 -2
- package/dist/assets/esm-CcuA4heV.js +0 -1
- package/dist/assets/gauge-Ccy1bYEm.js +0 -1
- package/dist/assets/loader-circle-qEYDw7AI.js +0 -1
- package/dist/assets/modelPresentation-Dh0NlBYP.js +0 -1
- package/dist/assets/music-2-B3N31Le1.js +0 -1
- package/dist/assets/nanobanana-CUZLa6Ps.js +0 -1
- package/dist/assets/nanobanana-t0azjVdU.js +0 -1
- package/dist/assets/play-DMKqNvv-.js +0 -1
- package/dist/assets/plus-bghfKQuQ.js +0 -1
- package/dist/assets/rotate-ccw-BALIA2_c.js +0 -1
- package/dist/assets/rotate-cw-BUvI1r8-.js +0 -1
- package/dist/assets/search-DO3HHQn4.js +0 -1
- package/dist/assets/square-Cy83oEom.js +0 -1
- package/dist/assets/terminal-BGWW9sef.js +0 -1
- package/dist/assets/user-Df2715dH.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,qt as h,rt as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-Z6KgLTht.js";import{t as S}from"./upload-Bf6gfU9e.js";import{t as C}from"./tooltip-Dkhw7cOR.js";import{t as w}from"./alert-BprQRUmf.js";import{_ as T,v as E}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as D}from"./drawer-L7Y4nWQp.js";import{t as O}from"./box-C-N2GtXj.js";import{t as k}from"./clock-Df79mUBO.js";import{t as A}from"./external-link-DAu20zfD.js";import{t as j}from"./hash-fnNMJyhY.js";import{t as M}from"./image-CSGEim55.js";import{t as N}from"./info-CkI7CDMr.js";import{a as P,i as F,n as I,r as L,t as R}from"./pagination-DebnOQug.js";import{t as ee}from"./trash-2-Bsb0SCBF.js";import{t as te}from"./triangle-alert-BABYNg2h.js";import{t as ne}from"./upload-C6vmRcPM.js";import{t as z}from"./wand-sparkles-D-Tu19dx.js";import{t as B}from"./zap-O9CajQ-y.js";import{Ha as V,Qa as re,_r as H,gr as ie,hr as ae,pr as oe,vr as se}from"./constants-kiieigwv.js";import{D as U,Mi as W,Na as G,Pi as K,Qa as q,Qn as J,T as ce,Tn as le,at as ue,ct as de,lt as fe,oi as pe,ot as me,qi as he,ri as ge,st as _e,ta as Y,tt as ve,za as X}from"./index-9QPtYDXy.js";import{t as ye}from"./CopyToClipboard-Bx-prlKU.js";import{t as be}from"./ReportButton-Dw0mHMOU.js";import{t as Z}from"./ImagePreview-Cqw8CRzu.js";import{n as xe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Se}from"./ServicePricingSummary-CIkjhZtm.js";import{t as Ce}from"./ScenarioPaymentMode-B-H0w0Nu.js";import{t as we}from"./ApiCodeButton-CamxfAYn.js";import{t as Te}from"./BotPlaceholder-DdJ_x_l7.js";import{t as Ee}from"./taskPollingMixin-CcLxtz8z.js";import{t as De}from"./ShowcaseResultTabs-9R6ZuYzV.js";import{t as Oe}from"./showcaseRecreateMixin-C6lb96lp.js";import{t as ke}from"./ImageWrapper-BpTBr_wd.js";import{t as Q}from"./imageRequests-6801C8WR.js";var Ae=y({name:`LayoutNanobanana`,components:{MagicIcon:z,ElDrawer:D,ElButton:q},mixins:[xe]}),je={class:`main flex flex-row flex-1`},Me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ne={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Pe(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,je,[e(`div`,Me,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ne,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[v,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Fe=U(Ae,[[`render`,Pe],[`__scopeId`,`data-v-6f553b1e`]]),Ie=y({name:`PromptInput`,components:{PromptTextarea:F},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Le(e,t,n,r,i,a){let o=u(`prompt-textarea`);return _(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Re=U(Ie,[[`render`,Le]]),ze=y({name:`ImageUrlsInput`,components:{UploadIcon:ne,ElUpload:S,ElButton:q,InfoIcon:P,ImagePreview:Z},mixins:[fe,de,me,ve],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){E.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){E.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Be={class:`field mb-[10px] flex min-h-8 w-full items-center justify-between gap-3`},Ve={class:`flex min-w-0 items-center`},He={class:`title m-0 text-[14px] font-bold`},Ue={class:`file-list flex flex-wrap gap-[10px]`};function We(t,n,o,c,d,f){let h=u(`info-icon`),v=u(`upload-icon`),y=u(`el-button`),b=u(`el-upload`),x=u(`image-preview`);return _(),s(`div`,null,[e(`div`,Be,[e(`div`,Ve,[e(`h2`,He,i(t.$t(`nanobanana.name.imageUrls`)),1),a(h,{content:t.$t(`nanobanana.description.imageUrls`)},null,8,[`content`])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value shrink-0`,limit:5,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:m(()=>[a(y,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])]),e(`div`,Ue,[(_(!0),s(l,null,g(t.fileList,(e,n)=>(_(),p(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])}var Ge=U(ze,[[`render`,We]]),Ke=y({name:`AspectRatioSelector`,components:{InfoIcon:P},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),qe={class:`ratio`},Je={class:`header`},Ye={class:`title font-bold`},Xe=[`aria-label`],Ze=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Qe={class:`preview`},$e={class:`name`};function et(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(r.$t(`nanobanana.name.aspectRatio`)),1),a(v,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),e(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(_(!0),s(l,null,g(r.options,a=>(_(),s(`div`,{key:a.value,class:n([`item`,{active:r.value===a.value}]),role:`radio`,"aria-checked":r.value===a.value,"aria-label":a.label,tabindex:`0`,onClick:e=>r.onSelect(a.value),onKeydown:[c(t(e=>r.onSelect(a.value),[`prevent`]),[`enter`]),c(t(e=>r.onSelect(a.value),[`prevent`]),[`space`])]},[e(`div`,Qe,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,$e,i(a.label),1)],42,Ze))),128))],8,Xe)])}var tt=U(Ke,[[`render`,et],[`__scopeId`,`data-v-7131eb97`]]),nt=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{options:[{value:ae,label:this.$t(`nanobanana.model.nanoBanana`)},{value:H,label:H},{value:se,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:ie,label:this.$t(`nanobanana.model.nanoBanana2`)}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t(`nanobanana.description.model`)}},mounted(){this.value||=oe}}),rt={class:`field`},it={class:`label`},at={class:`box`},ot={class:`title font-bold`};function st(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,rt,[e(`div`,it,[e(`div`,at,[e(`h2`,ot,i(t.$t(`nanobanana.name.model`)),1),a(f,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`)},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ct=U(nt,[[`render`,st],[`__scopeId`,`data-v-11cb675b`]]),lt=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:P},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},supportsResolution(){let e=this.$store.state.nanobanana?.config?.model;return e===`nano-banana-2`||e===`nano-banana-pro`}},watch:{value(e){this.supportsResolution&&e&&(this.cachedResolution=e)},supportsResolution(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.supportsResolution&&!this.value&&(this.value=`1K`),!this.supportsResolution&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),ut={class:`field`},dt={class:`label`},ft={class:`box`},pt={class:`title font-bold`};function mt(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,ut,[e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(t.$t(`nanobanana.name.resolution`)),1),a(f,{content:t.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`),disabled:!t.supportsResolution},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var ht=U(lt,[[`render`,mt],[`__scopeId`,`data-v-7ab9d4d4`]]),gt=350,_t=y({name:`ConfigPanel`,components:{MagicIcon:z,ElButton:q,PromptInput:Re,ServicePricingSummary:Se,ImageUrlsInput:Ge,AspectRatioSelector:tt,ModelSelector:ct,ResolutionSelector:ht,ScenarioPaymentMode:Ce},props:{identityToken:{type:String,default:void 0}},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.nanobanana?.config},canGenerate(){return V(this.config?.prompt)},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return le({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{handler(e){e?this.scheduleQuote():this.clearQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},identityToken(){this.walletMode&&this.scheduleQuote()}},beforeUnmount(){this.clearQuote()},methods:{clearQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=K(`nanobanana`);e.quoteUsdc=void 0,e.quoteLoading=!1},scheduleQuote(){this.clearQuote(),!(!this.walletMode||!this.canGenerate)&&(this.quoteTimer=window.setTimeout(this.refreshQuote,gt))},async refreshQuote(){if(!this.walletMode||!this.canGenerate){this.clearQuote();return}let e=K(`nanobanana`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(Q(this.config),this.identityToken);t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),vt={class:`flex flex-col h-full`},yt={class:`flex-1 overflow-y-auto p-5`},bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function xt(t,n,c,l,d,f){let h=u(`model-selector`),g=u(`resolution-selector`),v=u(`prompt-input`),y=u(`aspect-ratio-selector`),b=u(`image-urls-input`),x=u(`scenario-payment-mode`),S=u(`service-pricing-summary`),C=u(`magic-icon`),w=u(`el-button`);return _(),s(`div`,vt,[e(`div`,yt,[a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,bt,[a(x,{scenario:`nanobanana`}),t.walletMode?o(``,!0):(_(),p(S,{key:0,value:t.consumption,service:t.service,"pricing-unit-aliases":{count:`image`}},null,8,[`value`,`service`])),a(w,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var St=U(_t,[[`render`,xt]]),Ct=y({name:`TaskPreview`,components:{ApplicationIcon:O,ChannelIcon:j,DeleteIcon:ee,ExternalLinkIcon:A,ImageIcon:M,InfoIcon:N,LightningIcon:B,MagicIcon:z,TimeIcon:k,WarningIcon:te,CopyToClipboard:ye,ElAlert:w,ImageWrapper:ke,ElButton:q,ElTooltip:C,ImagePreview:Z,ApiCodeButton:we,ReportButton:be},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e},hasImages(){return this.images.some(e=>!!e?.image_url)},isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error},showResult(){let e=this.modelValue?.response;return!e||this.isFailure?!1:(e.success,this.hasImages)},reportSnapshot(){return{prompt:this.modelValue?.request?.prompt,image_urls:this.images.map(e=>e.image_url).filter(Boolean),model:this.modelValue?.request?.model,action:this.modelValue?.request?.action,task_id:this.modelValue?.id,trace_id:this.modelValue?.response?.trace_id}}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)},async onDelete(){let e=this.modelValue?.id;if(e){try{await X.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`nanobanana/deleteTask`,{id:e}),E.success(this.$t(`common.message.deleteTaskSuccess`))}catch{E.error(this.$t(`common.message.deleteTaskFailed`))}}}}}),wt={class:`preview`},Tt={class:`left`},Et={class:`main`},Dt={class:`bot`},Ot={class:`datetime`},kt=[`aria-label`],At={class:`info`},jt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Mt={key:1,class:`prompt mt-2`},Nt={key:0},Pt={key:0,class:n({content:!0,failed:!0})},Ft={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},It={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},Lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Rt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},zt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ut={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Wt={key:1,class:n({content:!0})},Gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Kt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},qt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Zt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qt={key:2,class:n({content:!0})},$t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},en={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function an(n,c,d,f,h,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`image-preview`),C=u(`image-wrapper`),w=u(`el-button`),T=u(`api-code-button`),E=u(`report-button`),D=u(`application-icon`),O=u(`image-icon`),k=u(`external-link-icon`),A=u(`lightning-icon`),j=u(`magic-icon`),M=u(`copy-to-clipboard`),N=u(`time-icon`),P=u(`channel-icon`),F=u(`el-alert`),I=u(`warning-icon`),L=u(`info-icon`);return _(),s(`div`,wt,[e(`div`,Tt,[a(y,{capability:`nanobanana`,part:`avatar`,class:`avatar`})]),e(`div`,Et,[e(`div`,Dt,[a(y,{capability:`nanobanana`,part:`name`}),e(`span`,Ot,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:m(()=>[n.modelValue?.id?(_(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,kt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,At,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,jt,[(_(!0),s(l,null,g(n.modelValue?.request?.image_urls,(e,t)=>(_(),p(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(_(),s(`p`,Mt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,Nt,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,Pt,[e(`div`,Ft,[(_(!0),s(l,null,g(n.images,(e,t)=>(_(),p(C,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,It,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:m(()=>[a(w,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:m(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:`/nano-banana/images`,body:n.modelValue?.request},null,8,[`body`]),a(E,{service:`nanobanana`,"target-id":n.modelValue?.id,snapshot:n.reportSnapshot,"show-label":``},null,8,[`target-id`,`snapshot`])]),a(F,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Rt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,zt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,Bt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Vt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Ht,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Ut,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.isFailure?(_(),s(`div`,Wt,[a(F,{closable:!1,class:`failure`},{template:m(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,Gt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,qt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,$,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,Jt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Yt,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(M,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,Xt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Zt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(M,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(_(),s(`div`,Qt,[a(F,{closable:!1,class:`info`},{template:m(()=>[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.status.pending`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,$t,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,en,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,tn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,nn,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,rn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(M,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var on=y({name:`RecentPanel`,components:{TaskPreview:U(Ct,[[`render`,an],[`__scopeId`,`data-v-aa642ec8`]]),BotPlaceholder:Te,NoTasks:L,ScrollList:I},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),sn={key:0},cn={key:2,class:`w-full h-full flex items-center justify-center`};function ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),h=u(`scroll-list`),v=u(`no-tasks`);return _(),s(l,null,[e.tasks?.items===void 0?(_(),s(`div`,sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(_(),p(h,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(_(!0),s(l,null,g(e.tasks?.items,e=>(_(),p(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(_(),s(`div`,cn,[a(v)])):o(``,!0)],64)}var un=y({name:`NanobananaIndex`,components:{ConfigPanel:St,Layout:Fe,RecentPanel:U(on,[[`render`,ln]]),ShowcaseResultTabs:De},mixins:[_e,Oe(`nanobanana`),Ee(`nanobanana`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===T.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===T.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks},walletMode(){return W()&&K(`nanobanana`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`nanobanana/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await R({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`nanobanana/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`nanobanana/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})},async onGenerate(){if(re()&&!Y())return;if(!V(this.config?.prompt)){E.error(this.$t(`common.message.promptRequired`));return}if(!ue(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e=Q(this.config),t;if(this.walletMode){let n=this.getWalletContext();if(!n){E.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=J.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Y())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}t=J.generate(e,{token:n})}E.info(this.$t(`nanobanana.message.startingTask`)),he(`nanobanana`,t).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),E.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{if(e instanceof ge)return;let t=e?.response?.data;ce(e,`nanobanana`)||(this.walletMode?E.error(this.$t(`common.x402Scenario.paymentFailed`)):E.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return pe(this.$wallet)},async confirmWalletPayment(e){return X.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`showcase-result-tabs`),d=u(`layout`);return _(),p(d,null,{config:m(()=>[a(s,{"identity-token":e.credential?.token,onGenerate:e.onGenerate},null,8,[`identity-token`,`onGenerate`])]),result:m(()=>[a(l,{service:`nano-banana`},{tasks:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var fn=U(un,[[`render`,dn]]);export{fn as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,B as t,C as n,Gt as r,I as i,Jt as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,St as f,T as p,U as m,Y as ee,at as h,ft as g,ht as _,it as v,j as y,k as b,mt as x,nt as S,ot as C,qt as w,rt as T,st as E,tt as D,wt as O,z as k}from"./vendor-chart-Dw-P17PN.js";import{$ as A,F as j,a as M,d as N,h as P,wt as F}from"./icon-CDmWyIgD.js";import{a as I,c as L,i as R,t as z}from"./install-Cn-SLM3u.js";import{n as B,r as V,t as H}from"./select-Z6KgLTht.js";import{t as U}from"./time-picker-D5ePL9TD.js";import{r as te}from"./tabs-BIn1pfdA.js";import{n as W,t as G}from"./form-BdKMEyCR.js";import{t as K}from"./tooltip-Dkhw7cOR.js";import{t as q}from"./event-BGnHezxC.js";import{v as J}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as ne}from"./card-IQwqnRJR.js";import{r as Y,t as X}from"./radio-BNhFzeBO.js";import{n as Z,r as re,t as ie}from"./dropdown-Bw5-2BFz.js";import{t as ae}from"./input-number-B-ci8lJH.js";import{t as oe}from"./skeleton-Dj_a_iIP.js";import{t as se}from"./switch-BSlWfHI1.js";import{t as ce}from"./pagination-JmOkZgOn.js";import{t as le}from"./brain-RXBwcjer.js";import{t as ue}from"./chevron-right-CbvTu9t5.js";import{t as de}from"./circle-check-C2eKrvdE.js";import{t as fe}from"./clock-Df79mUBO.js";import{t as pe}from"./copy-iuMh5HDj.js";import{t as me}from"./pencil-DnXQWvKs.js";import{t as he}from"./play-DMKqNvv-.js";import{t as ge}from"./plug-DrhNBM17.js";import{t as _e}from"./plus-bghfKQuQ.js";import{t as ve}from"./refresh-cw-BNmuHc_7.js";import{t as ye}from"./trash-2-Bsb0SCBF.js";import{t as be}from"./back-navigation-C8Qheh_f.js";import{n as xe}from"./chip-CNPdFg2A.js";import{Za as Se,_a as Ce,eo as we,ia as Te,ra as Ee}from"./constants-kiieigwv.js";import{D as De,Fa as Oe,Ga as ke,Ia as Ae,O as je,Qa as Me,Wa as Ne,_t as Pe,gt as Fe,k as Ie,oo as Le,za as Re}from"./index-9QPtYDXy.js";import{t as ze}from"./CopyToClipboard-Bx-prlKU.js";import{n as Be}from"./modelPresentation-Dh0NlBYP.js";import{n as Ve,r as Q,t as He}from"./scheduledTasks-j1NfRm2t.js";import{a as Ue,t as We}from"./BrowseConnectors-c2VMKC__.js";var Ge=A({space:{type:[Number,String],default:``},active:{type:Number,default:0},direction:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`finish`},processStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`process`}}),Ke={[q]:(e,t)=>[e,t].every(F)},qe=`ElSteps`,Je=I(k({...k({name:`ElSteps`}),props:Ge,emits:Ke,setup(e,{emit:n}){let i=e,a=L(`steps`),{children:s,addChild:u,removeChild:d,ChildrenSorter:f}=te(t(),`ElStep`);return g(s,()=>{s.value.forEach((e,t)=>{e.setIndex(t)})}),S(qe,{props:i,steps:s,addStep:u,removeStep:d}),g(()=>i.active,(e,t)=>{n(q,e,t)}),(e,t)=>(D(),l(`div`,{class:r([c(a).b(),c(a).m(e.simple?`simple`:e.direction)])},[v(e.$slots,`default`),o(c(f))],2))}}),[[`__file`,`steps.vue`]]),Ye=A({title:{type:String,default:``},icon:{type:M},description:{type:String,default:``},status:{type:String,values:[``,`wait`,`process`,`finish`,`error`,`success`],default:``}}),Xe=I(k({...k({name:`ElStep`}),props:Ye,setup(n){let d=n,p=L(`step`),h=O(-1),_=O({}),S=O(``),C=m(qe),T=t();u(()=>{g([()=>C.props.active,()=>C.props.processStatus,()=>C.props.finishStatus],([e])=>{G(e)},{immediate:!0})});let k=b(()=>d.status||S.value),A=b(()=>{let e=C.steps.value[h.value-1];return e?e.currentStatus:`wait`}),M=b(()=>C.props.alignCenter),I=b(()=>C.props.direction===`vertical`),R=b(()=>C.props.simple),z=b(()=>C.steps.value.length),B=b(()=>C.steps.value[z.value-1]?.uid===T.uid),V=b(()=>R.value?``:C.props.space),H=b(()=>[p.b(),p.is(R.value?`simple`:C.props.direction),p.is(`flex`,B.value&&!V.value&&!M.value),p.is(`center`,M.value&&!I.value&&!R.value)]),U=b(()=>{let e={flexBasis:F(V.value)?`${V.value}px`:V.value?V.value:`${100/(z.value-+!M.value)}%`};return I.value||B.value&&(e.maxWidth=`${100/z.value}%`),e}),te=e=>{h.value=e},W=e=>{let t=e===`wait`,n={transitionDelay:`${t?`-`:``}${150*h.value}ms`},r=e===C.props.processStatus||t?0:100;n.borderWidth=r&&!R.value?`1px`:0,n[C.props.direction===`vertical`?`height`:`width`]=`${r}%`,_.value=n},G=e=>{e>h.value?S.value=C.props.finishStatus:e===h.value&&A.value!==`error`?S.value=C.props.processStatus:S.value=`wait`;let t=C.steps.value[h.value-1];t&&t.calcProgress(S.value)},K=f({uid:T.uid,getVnode:()=>T.vnode,currentStatus:k,setIndex:te,calcProgress:W});return C.addStep(K),ee(()=>{C.removeStep(K)}),(t,n)=>(D(),l(`div`,{style:w(c(U)),class:r(c(H))},[s(` icon & line `),e(`div`,{class:r([c(p).e(`head`),c(p).is(c(k))])},[c(R)?s(`v-if`,!0):(D(),l(`div`,{key:0,class:r(c(p).e(`line`))},[e(`i`,{class:r(c(p).e(`line-inner`)),style:w(_.value)},null,6)],2)),e(`div`,{class:r([c(p).e(`icon`),c(p).is(t.icon||t.$slots.icon?`icon`:`text`)])},[v(t.$slots,`icon`,{},()=>[t.icon?(D(),y(c(j),{key:0,class:r(c(p).e(`icon-inner`))},{default:x(()=>[(D(),y(E(t.icon)))]),_:1},8,[`class`])):c(k)===`success`?(D(),y(c(j),{key:1,class:r([c(p).e(`icon-inner`),c(p).is(`status`)])},{default:x(()=>[o(c(N))]),_:1},8,[`class`])):c(k)===`error`?(D(),y(c(j),{key:2,class:r([c(p).e(`icon-inner`),c(p).is(`status`)])},{default:x(()=>[o(c(P))]),_:1},8,[`class`])):c(R)?s(`v-if`,!0):(D(),l(`div`,{key:3,class:r(c(p).e(`icon-inner`))},a(h.value+1),3))])],2)],2),s(` title & description `),e(`div`,{class:r(c(p).e(`main`))},[e(`div`,{class:r([c(p).e(`title`),c(p).is(c(k))])},[v(t.$slots,`title`,{},()=>[i(a(t.title),1)])],2),c(R)?(D(),l(`div`,{key:0,class:r(c(p).e(`arrow`))},null,2)):(D(),l(`div`,{key:1,class:r([c(p).e(`description`),c(p).is(c(k))])},[v(t.$slots,`description`,{},()=>[i(a(t.description),1)])],2))],2)],6))}}),[[`__file`,`item.vue`]]),Ze=z(Je,{Step:Xe}),Qe=R(Xe),$e=[`UTC`,`Asia/Shanghai`,`Asia/Hong_Kong`,`Asia/Tokyo`,`Asia/Seoul`,`Asia/Singapore`,`Asia/Kolkata`,`Europe/London`,`Europe/Paris`,`Europe/Berlin`,`Europe/Moscow`,`America/New_York`,`America/Chicago`,`America/Denver`,`America/Los_Angeles`,`America/Toronto`,`America/Sao_Paulo`,`Australia/Sydney`,`Pacific/Auckland`];function et(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Shanghai`}catch{return`Asia/Shanghai`}}function tt(e){if(!e?.trim())return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(0),!0}catch{return!1}}function nt(e,t=new Date){try{let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(t).find(({type:e})=>e===`timeZoneName`)?.value;return!n||n===`GMT`?`UTC`:n.replace(`GMT`,`UTC`)}catch{return``}}function rt(e,t=new Date){let n=nt(e,t);return n?`${e} (${n})`:e}function it(...e){let t=[];try{let e=Intl.supportedValuesOf;t=e?.(`timeZone`)??[]}catch{t=[]}return[...new Set([`UTC`,...e.filter(e=>!!e),...t,...$e])].filter(tt).sort((e,t)=>e.localeCompare(t))}var at=k({name:`ScheduledTemplateWizard`,components:{MetaTag:Oe,StatusBadge:Ae,BrowseConnectors:We,ConnectionIcon:ge,ElButton:Me,ElDialog:ke,ElForm:G,ElFormItem:W,ElInput:Le,ElOption:H,ElSelect:V,ElStep:Qe,ElSteps:Ze,ElSwitch:se,ElTimePicker:U,SuccessIcon:de},props:{modelValue:{type:Boolean,default:!1},token:{type:String,required:!0},initialCategory:{type:String,default:``}},emits:[`update:modelValue`,`created`],data(){return{visible:this.modelValue,step:0,loading:!1,templatesLoaded:!1,working:!1,templates:[],categories:[],selected:null,query:``,category:this.initialCategory,inputs:{},scheduleTime:`09:00`,connectionBindings:{},browseConnections:!1}},computed:{canContinue(){return this.step===0?!!this.selected:this.step===1&&this.selected?this.selected.form_schema.every(e=>!e.required||String(this.inputs[e.key]??``).trim()):this.step===2&&this.selected?this.selected.requirements.connections.every(this.connectionReady):!0}},watch:{modelValue(e){this.visible=e,e&&this.ensureTemplatesLoaded()},token:{immediate:!0,handler(){this.ensureTemplatesLoaded()}},visible(e){this.$emit(`update:modelValue`,e)}},methods:{async ensureTemplatesLoaded(){!this.visible||!this.token||this.loading||this.templatesLoaded||await this.loadTemplates()},async loadTemplates(){this.loading=!0;try{let e=await Q.listTemplates(this.token,{category:this.category,query:this.query});this.templates=e.items,this.categories=e.categories,this.templatesLoaded=!0,this.selected&&=e.items.find(e=>e.id===this.selected?.id)??this.selected}catch{J.error(this.$t(`chat.scheduledTemplates.loadError`))}finally{this.loading=!1}},filterTemplates(){this.loadTemplates()},categoryLabel(e){let t=`chat.scheduledTemplates.category.${e}`,n=String(this.$t(t));return n===t?e:n},selectTemplate(e){this.selected=e,this.inputs=Object.fromEntries(e.form_schema.filter(e=>e.default!==void 0).map(e=>[e.key,e.default])),this.scheduleTime=this.scheduleTimeFromSpec(e.defaults.schedule),this.connectionBindings={};for(let t of e.requirements.connections){let e=this.bindableAccounts(t),n=e.find(e=>e.is_default)??e[0];n&&(this.connectionBindings[t]=n.connection_id)}},connectionAccounts(e){return this.selected?.connection_accounts?.[e]??[]},bindableAccounts(e){return this.connectionAccounts(e).filter(e=>e.supports_task_binding)},connectionReady(e){let t=this.connectionAccounts(e),n=t.filter(e=>e.supports_task_binding);return t.length?n.length?n.length===1||!!this.connectionBindings[e]:!0:!1},connectionName(e){let t=this.connectionAccounts(e)[0];return t?.account_name||t?.label||e.split(`/`).pop()||e},connectionDescription(e){let t=this.connectionAccounts(e);return t.length?t[0].supports_task_binding?this.$t(`chat.scheduledTemplates.connectionBoundHint`):this.$t(`chat.scheduledTemplates.connectionMcpHint`):this.$t(`chat.scheduledTemplates.connectionMissingHint`)},connectionAccountSummary(e){let t=this.connectionAccounts(e),n=this.connectionBindings[e],r=t.find(e=>e.connection_id===n)??t[0];return r?.label||r?.account_name||this.$t(`chat.scheduledTemplates.connected`)},async reloadTemplates(){this.browseConnections=!1,await this.loadTemplates(),this.selected&&this.selectTemplate(this.selected)},scheduleTimeFromSpec(e){if(e.type!==`cron`)return`09:00`;let[t,n]=e.cron.split(` `);return`${n.padStart(2,`0`)}:${t.padStart(2,`0`)}`},buildSchedule(){let[e,t]=this.scheduleTime.split(`:`);return{type:`cron`,cron:`${t} ${e} * * *`,tz:Intl.DateTimeFormat().resolvedOptions().timeZone}},bindings(){return this.selected?this.selected.requirements.connections.flatMap(e=>{let t=this.bindableAccounts(e),n=this.connectionBindings[e]||t[0]?.connection_id,r=t.find(e=>e.connection_id===n);return r?[{connector_identifier:r.connector_identifier,connection_id:r.connection_id}]:[]}):[]},errorMessage(e){let t=e?.response?.data;return t?.message||t?.error||e?.message||String(this.$t(`chat.scheduledTemplates.createFailed`))},resetWizard(){this.step=0,this.selected=null,this.inputs={},this.scheduleTime=`09:00`,this.connectionBindings={},this.browseConnections=!1},async createTask(){if(!(!this.selected||!this.canContinue)){this.working=!0;try{let e=this.selected.test_strategy.mode,t=await Q.instantiateTemplate(this.token,{template_id:this.selected.id,version:this.selected.version,inputs:this.inputs,schedule:this.buildSchedule(),connection_bindings:this.bindings()});this.$emit(`created`,t),this.visible=!1,this.resetWizard();let n=e===`preview_only`?`chat.scheduledTemplates.createdPreviewOnly`:`chat.scheduledTemplates.createdControlledDelivery`;J.success(this.$t(n))}catch(e){J.error(this.errorMessage(e))}finally{this.working=!1}}}}}),ot={key:0,class:`wizard-body`},st={class:`template-toolbar`},ct={class:`template-grid card-gap`},lt=[`onClick`],ut={class:`template-card-top`},dt={class:`template-tags`},ft={key:1,class:`wizard-body configure-step`},pt={class:`template-intro`},mt={key:2,class:`wizard-body`},ht={class:`requirement-heading`},gt={key:0,class:`requirement-empty ready`},_t={class:`requirement-list card-gap`},vt={class:`requirement-icon`},yt={class:`requirement-content`},bt={class:`requirement-title-row`},xt={key:0,class:`account-summary`},St={class:`requirement-action`};function Ct(t,n,c,u,d,f){let m=h(`el-step`),ee=h(`el-steps`),g=h(`el-input`),v=h(`el-option`),b=h(`el-select`),S=h(`meta-tag`),w=h(`el-switch`),E=h(`el-time-picker`),O=h(`el-form-item`),k=h(`el-form`),A=h(`success-icon`),j=h(`connection-icon`),M=h(`status-badge`),N=h(`el-button`),P=h(`browse-connectors`),F=h(`el-dialog`),I=C(`loading`);return D(),y(F,{modelValue:t.visible,"onUpdate:modelValue":n[7]||=e=>t.visible=e,title:t.$t(`chat.scheduledTemplates.title`),width:`min(820px, 94vw)`,top:`6vh`,"close-on-click-modal":!1,class:`scheduled-template-wizard`},{footer:x(()=>[t.step>0?(D(),y(N,{key:0,disabled:t.working,onClick:n[5]||=e=>--t.step},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.previous`)),1)]),_:1},8,[`disabled`])):s(``,!0),t.step<2?(D(),y(N,{key:1,type:`primary`,disabled:!t.canContinue,onClick:n[6]||=e=>t.step+=1},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.next`)),1)]),_:1},8,[`disabled`])):s(``,!0),t.step===2?(D(),y(N,{key:2,type:`primary`,loading:t.working,disabled:!t.canContinue,onClick:t.createTask},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):s(``,!0)]),default:x(()=>[o(ee,{active:t.step,"finish-status":`finish`,"align-center":``,class:`wizard-steps`},{default:x(()=>[o(m,{title:t.$t(`chat.scheduledTemplates.step.choose`)},null,8,[`title`]),o(m,{title:t.$t(`chat.scheduledTemplates.step.configure`)},null,8,[`title`]),o(m,{title:t.$t(`chat.scheduledTemplates.step.connect`)},null,8,[`title`])]),_:1},8,[`active`]),t.step===0?_((D(),l(`section`,ot,[e(`div`,st,[o(g,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,clearable:``,placeholder:t.$t(`chat.scheduledTemplates.search`),onInput:t.filterTemplates},null,8,[`modelValue`,`placeholder`,`onInput`]),o(b,{modelValue:t.category,"onUpdate:modelValue":n[1]||=e=>t.category=e,onChange:t.filterTemplates},{default:x(()=>[o(v,{label:t.$t(`chat.scheduledTemplates.category.all`),value:``},null,8,[`label`]),(D(!0),l(p,null,T(t.categories,e=>(D(),y(v,{key:e,label:t.categoryLabel(e),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onChange`])]),e(`div`,ct,[(D(!0),l(p,null,T(t.templates,n=>(D(),l(`button`,{key:`${n.id}-${n.version}`,type:`button`,class:r([`template-card`,{selected:t.selected?.id===n.id}]),onClick:e=>t.selectTemplate(n)},[e(`div`,ut,[e(`strong`,null,a(n.title),1),n.featured?(D(),y(S,{key:0,tone:`warning`,density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.featured`)),1)]),_:1})):s(``,!0)]),e(`p`,null,a(n.summary),1),e(`div`,dt,[(D(!0),l(p,null,T(n.categories,e=>(D(),y(S,{key:e,tone:`info`,density:`compact`},{default:x(()=>[i(a(t.categoryLabel(e)),1)]),_:2},1024))),128))]),e(`span`,{class:r([`availability`,{ready:n.available}])},a(n.available?t.$t(`chat.scheduledTemplates.ready`):t.$t(`chat.scheduledTemplates.missingCount`,{count:n.missing_connections.length})),3)],10,lt))),128))])])),[[I,t.loading]]):t.step===1&&t.selected?(D(),l(`section`,ft,[e(`div`,pt,[e(`h3`,null,a(t.selected.title),1),e(`p`,null,a(t.selected.description),1)]),o(k,{"label-position":`top`},{default:x(()=>[(D(!0),l(p,null,T(t.selected.form_schema,e=>(D(),y(O,{key:e.key,label:e.label,required:e.required},{default:x(()=>[e.type===`select`?(D(),y(b,{key:0,modelValue:t.inputs[e.key],"onUpdate:modelValue":n=>t.inputs[e.key]=n,style:{width:`100%`}},{default:x(()=>[(D(!0),l(p,null,T(e.options,e=>(D(),y(v,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`])):e.type===`boolean`?(D(),y(w,{key:1,"model-value":t.inputs[e.key]===!0,"onUpdate:modelValue":n=>t.inputs[e.key]=n===!0},null,8,[`model-value`,`onUpdate:modelValue`])):e.type===`time`?(D(),y(E,{key:2,"model-value":String(t.inputs[e.key]??``),"value-format":`HH:mm`,"onUpdate:modelValue":n=>t.inputs[e.key]=n},null,8,[`model-value`,`onUpdate:modelValue`])):(D(),y(g,{key:3,"model-value":String(t.inputs[e.key]??``),type:e.type===`textarea`?`textarea`:`text`,rows:4,"onUpdate:modelValue":n=>t.inputs[e.key]=n},null,8,[`model-value`,`type`,`onUpdate:modelValue`]))]),_:2},1032,[`label`,`required`]))),128)),o(O,{label:t.$t(`chat.scheduledTemplates.schedule`)},{default:x(()=>[o(E,{modelValue:t.scheduleTime,"onUpdate:modelValue":n[2]||=e=>t.scheduleTime=e,"value-format":`HH:mm`,format:`HH:mm`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})])):t.step===2&&t.selected?(D(),l(`section`,mt,[e(`div`,ht,[e(`div`,null,[e(`h3`,null,a(t.$t(`chat.scheduledTemplates.connectionTitle`)),1),e(`p`,null,a(t.$t(`chat.scheduledTemplates.connectionDescription`)),1)]),o(S,{tone:`info`},{default:x(()=>[i(a(t.selected.requirements.connections.length),1)]),_:1})]),t.selected.requirements.connections.length?s(``,!0):(D(),l(`div`,gt,[o(A,{size:20}),e(`div`,null,[e(`strong`,null,a(t.$t(`chat.scheduledTemplates.noConnections`)),1),e(`p`,null,a(t.$t(`chat.scheduledTemplates.noConnectionsHint`)),1)])])),e(`div`,_t,[(D(!0),l(p,null,T(t.selected.requirements.connections,c=>(D(),l(`article`,{key:c,class:r([`requirement-card`,{ready:t.connectionReady(c)}])},[e(`div`,vt,[o(j,{size:22,"aria-hidden":`true`,focusable:`false`})]),e(`div`,yt,[e(`div`,bt,[e(`strong`,null,a(t.connectionName(c)),1),o(M,{tone:t.connectionReady(c)?`success`:`warning`,density:`compact`},{default:x(()=>[i(a(t.connectionReady(c)?t.$t(`chat.scheduledTemplates.connected`):t.$t(`chat.scheduledTemplates.notConnected`)),1)]),_:2},1032,[`tone`])]),e(`p`,null,a(t.connectionDescription(c)),1),t.connectionReady(c)?(D(),l(`div`,xt,a(t.connectionAccountSummary(c)),1)):s(``,!0)]),e(`div`,St,[t.bindableAccounts(c).length>1?(D(),y(b,{key:0,modelValue:t.connectionBindings[c],"onUpdate:modelValue":e=>t.connectionBindings[c]=e,placeholder:t.$t(`chat.scheduledTemplates.chooseAccount`)},{default:x(()=>[(D(!0),l(p,null,T(t.bindableAccounts(c),e=>(D(),y(v,{key:e.connection_id,label:e.label||e.account_name,value:e.connection_id},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):t.connectionReady(c)?(D(),y(A,{key:2,class:`success`,size:22})):(D(),y(N,{key:1,type:`primary`,plain:``,onClick:n[3]||=e=>t.browseConnections=!0},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.connect`)),1)]),_:1}))])],2))),128))]),o(P,{modelValue:t.browseConnections,"onUpdate:modelValue":n[4]||=e=>t.browseConnections=e,onInstalled:t.reloadTemplates},null,8,[`modelValue`,`onInstalled`])])):s(``,!0)]),_:1},8,[`modelValue`,`title`])}var wt=De(at,[[`render`,Ct],[`__scopeId`,`data-v-851929b4`]]);function Tt(e,t,n,r,i){if(!i.length)return[];let a=new Map(i.map(e=>[e.identifier.toLowerCase(),e])),o=new Map;for(let e of i){let t=[e.slug,e.acedata_service_alias,e.identifier.split(`/`).at(-1)];for(let n of t){if(!n)continue;let t=n.toLowerCase(),r=o.get(t)??[];r.includes(e)||r.push(e),o.set(t,r)}}let s=new Set;for(let t of e.unattended_policy?.connection_bindings??[])s.add(t.connector_identifier);let c=new Set([...e.unattended_policy?.allowed_skills??[],...e.template.skills??[]]);for(let e of t)if(c.has(e.slug))for(let t of e.required_connections??[])s.add(t);let l=r.find(t=>t.id===e.template_source?.id&&t.version===e.template_source.version);for(let e of l?.requirements.connections??[])s.add(e);let u=new Set([...e.unattended_policy?.allowed_mcp_servers??[],...e.template.mcp_servers??[]]),d=new Set(n.filter(e=>u.has(e.slug)).map(e=>e.server_url.replace(/\/$/,``).toLowerCase()));for(let e of i)e.connection_methods?.some(e=>!!e.execution.server_url&&d.has(e.execution.server_url.replace(/\/$/,``).toLowerCase()))&&s.add(e.identifier);let f=new Map;for(let e of s){let t=e.toLowerCase(),n=a.get(t),r=n?[n]:o.get(t)??[];if(r.length!==1){r.length===0&&f.set(t,{identifier:t,name:e.split(`/`).at(-1)||e,icon_url:``});continue}let i=r[0];f.set(i.identifier,{identifier:i.identifier,name:i.name,icon_url:i.icon_url})}return[...f.values()]}var $=et(),Et=500,Dt=12*1e3,Ot=3,kt=k({name:`ScheduledTasks`,components:{FilterChip:xe,MetaTag:Oe,StatusBadge:Ae,AiIcon:le,ConnectionIcon:ge,BackNavigation:be,ExpandRightIcon:ue,PlayIcon:he,TimeIcon:fe,AddIcon:_e,CopyIcon:pe,DeleteIcon:ye,EditIcon:me,RefreshIcon:ve,ElButton:Me,ElCard:ne,ElSkeleton:oe,ElEmpty:Ne,ElSwitch:se,ElTooltip:K,ElDialog:ke,ElForm:G,ElFormItem:W,ElInput:Le,ElSelect:V,ElOption:H,ElOptionGroup:B,ElRadioGroup:Y,ElRadio:X,ElTimePicker:U,ElInputNumber:ae,ElDropdown:ie,ElDropdownMenu:re,ElDropdownItem:Z,Pagination:ce,CopyToClipboard:ze,ScheduledTemplateWizard:wt},data(){return{tasks:[],taskView:`compact`,connectorCatalog:[],connectorSkills:[],connectorMcpServers:[],connectorTemplates:[],brokenConnectorIcons:{},connectorIconLoadId:0,runs:[],activeTab:`tasks`,tabs:[`tasks`,`runs`],statusFilters:[`all`,`success`,`failed`,`indeterminate`,`skipped`,`running`,`queued`],allRuns:[],allRunsCount:0,allRunsLoading:!1,allRunsStatus:`all`,allRunsPage:1,allRunsPageSize:20,allRunsRequestId:0,loading:!1,runsLoading:!1,skillsLoading:!1,skillsInflight:null,saving:!1,showCreateDialog:!1,showTemplateWizard:!1,templateInitialCategory:``,taskLinkNotFound:!1,taskLoading:!1,selectedTask:null,editingTask:null,authorizableSkills:[],authorizableMcpServers:[],togglingIds:[],triggeringId:``,weekdays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],page:1,pageSize:10,runPage:1,runPageSize:8,runPollTimer:null,runPollInFlight:!1,runPollSeq:0,runPollFailures:0,runsRequestId:0,form:this.emptyForm(),deviceIdentity:null,localToolSpecs:[]}},computed:{connectorIconsByTask(){return Object.fromEntries(this.pagedTasks.map(e=>[e.id,Tt(e,this.connectorSkills,this.connectorMcpServers,this.connectorTemplates,this.connectorCatalog)]))},canRunLocally(){return we()&&!!this.deviceIdentity},localUnavailableReason(){if(this.canRunLocally)return``;let e=Se();return e===`ios`||e===`android`?this.$t(`chat.scheduledTasks.form.executionMobileUnsupported`):e===`web`?this.$t(`chat.scheduledTasks.form.executionWebUnsupported`):this.$t(`chat.scheduledTasks.form.executionDeviceUnavailable`)},token(){return this.$store.state.chat?.credential?.token},modelGroups(){let e=this.$store.state.site?.features??{};return Te.filter(t=>e[t.name]?.enabled!==!1).map(e=>({...e,models:e.models.filter(e=>e.enabled!==!1)})).filter(e=>e.models.length>0)},pagedTasks(){let e=(this.page-1)*this.pageSize;return this.tasks.slice(e,e+this.pageSize)},isTaskDetail(){return!!this.$route?.params?.id},pagedRuns(){let e=(this.runPage-1)*this.runPageSize;return this.runs.slice(e,e+this.runPageSize)},intervalMax(){return this.form.intervalUnit===`minute`?1440:this.form.intervalUnit===`hour`?720:365},schedulePreview(){try{return this.scheduleLabel(this.buildSchedule())}catch{return``}},timezoneOptions(){return it($,this.form.timezone)},detectedTimezoneLabel(){return rt($)},selectedBrowserConnections(){let e=new Set(this.form.authorizedSkills);return this.authorizableSkills.filter(t=>e.has(t.slug)).flatMap(e=>e.browser_connections??[])},selectedBrowserSkills(){let e=new Set(this.form.authorizedSkills);return this.authorizableSkills.filter(t=>e.has(t.slug)&&t.browser_connections!==void 0)},selectedBrowserConnection(){return this.selectedBrowserConnections.find(e=>e.connection_id===this.form.browserConnectionId)},accountChoices(){let e=new Set(this.form.authorizedSkills),t=new Map;for(let n of this.authorizableSkills)if(e.has(n.slug))for(let[e,r]of Object.entries(n.connection_accounts??{})){if((r?.length??0)<2)continue;let n=r[0].connector_identifier||e;t.has(n)||t.set(n,{label:e,accounts:r})}return[...t.entries()].map(([e,{label:t,accounts:n}])=>({identifier:e,label:t,accounts:n}))}},watch:{taskView(e){try{localStorage.setItem(`scheduled-tasks-view`,e)}catch{}},"$route.params.id":{handler(e){this.openTaskFromRoute(e)}},token(e){if(this.connectorIconLoadId+=1,this.connectorCatalog=[],this.connectorSkills=[],this.connectorMcpServers=[],this.connectorTemplates=[],!e){this.selectedTask=null,this.runs=[],this.runsRequestId+=1,this.stopRunPolling();return}this.loadTasks(),this.$route?.params?.id&&this.openTaskFromRoute(this.$route.params.id)}},async mounted(){document.addEventListener(`visibilitychange`,this.onVisibilityChange);try{localStorage.getItem(`scheduled-tasks-view`)===`rich`&&(this.taskView=`rich`)}catch{}this.$store?.dispatch,await this.loadTasks(),this.$route?.params?.id&&await this.openTaskFromRoute(this.$route.params.id),this.$route?.query?.template_category&&this.openTemplateGallery()},unmounted(){document.removeEventListener(`visibilitychange`,this.onVisibilityChange),this.stopRunPolling()},methods:{async loadConnectorIcons(){let e=++this.connectorIconLoadId;if(!this.token||!this.tasks.length)return;let t=this.token,n=this.tasks.some(e=>!!e.template_source),[r,i,a]=await Promise.allSettled([Ue.listCatalog({sort:`popular`,limit:200}),Q.listAuthorizableCapabilities(t),n?Q.listTemplates(t):Promise.resolve({items:[]})]);this.token!==t||this.connectorIconLoadId!==e||(this.connectorCatalog=r.status===`fulfilled`?r.value.data?.items??[]:[],this.connectorSkills=i.status===`fulfilled`?i.value.skills:[],this.connectorMcpServers=i.status===`fulfilled`?i.value.mcp_servers:[],this.connectorTemplates=a.status===`fulfilled`?a.value.items:[])},modelDisplayName(e){return Be(this.$store.getters?.site,e)},modelIdDisplayName(e){let t=Ee.find(t=>t.name===e);return t?this.modelDisplayName(t):e},emptyForm(){return{name:``,question:``,model:Ce,scheduleType:`daily`,intervalValue:4,intervalUnit:`hour`,hourlyMinute:0,dailyTime:`09:00`,weekday:1,cronExpr:`0 9 * * *`,timezone:$,authorizedSkills:[],authorizedMcpServers:[],browserConnectionId:``,connectionAccounts:{},authorizationExpiresAt:Math.floor(Date.now()/1e3)+720*60*60,maxTurns:Et,execution:`cloud`,authorizedLocalTools:[]}},deriveName(e){let t=(e||``).trim().split(`
|
|
2
|
-
`)[0].trim();return t.length>40?`${t.slice(0,40)}…`:t||`Scheduled Task`},async loadTasks(){if(this.token){this.loading=!0;try{this.tasks=await Q.listTasks(this.token),this.loadConnectorIcons();let e=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>e&&(this.page=e)}catch{J.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.loading=!1}}},async openTask(e){this.selectedTask?.id===e.id&&this.isTaskDetail||await this.$router.push({name:Pe,params:{id:e.id}})},async openTaskFromRoute(e){if(!e){this.taskLinkNotFound=!1,this.taskLoading=!1,this.selectedTask=null,this.runs=[],this.runsRequestId+=1,this.runsLoading=!1,this.runPollFailures=0,this.syncRunPolling();return}if(this.token){this.taskLinkNotFound=!1,this.taskLoading=!0,this.selectedTask=null,this.runs=[],this.runsRequestId+=1,this.runPollFailures=0,this.syncRunPolling();try{let t=this.tasks.find(t=>t.id===e)??await Q.getTask(this.token,e);if(this.$route.params.id!==e)return;this.activeTab=`tasks`,this.taskLoading=!1,this.$nextTick(()=>this.$el?.scrollTo?.({top:0})),await this.selectTask(t)}catch{this.$route.params.id===e&&(this.selectedTask=null,this.taskLinkNotFound=!0)}finally{this.$route.params.id===e&&(this.taskLoading=!1)}}},closeTaskLink(){this.$router.replace({name:Fe})},async selectTask(e){this.selectedTask=e,this.runPage=1,await this.loadTaskRuns(e.id)},async loadTaskRuns(e,t=!1){if(!this.token)return;let n=++this.runsRequestId;t||(this.runsLoading=!0,this.runPollFailures=0);try{let t=await Q.listRuns(this.token,e);if(n!==this.runsRequestId||this.selectedTask?.id!==e)return;this.runs=t,this.runPollFailures=0}catch{if(n!==this.runsRequestId)return;this.runPollFailures+=1,t||J.error(this.$t(`chat.scheduledTasks.loadError`))}finally{n===this.runsRequestId&&(this.runsLoading=!1,this.syncRunPolling())}},onPageChange(e){this.page=e},switchTab(e){this.activeTab!==e&&(this.activeTab=e,e===`runs`?this.loadAllRuns():this.stopRunPolling())},onStatusFilter(e){this.allRunsStatus!==e&&(this.allRunsStatus=e,this.allRunsPage=1,this.loadAllRuns())},onAllRunsPageChange(e){this.allRunsPage=e,this.loadAllRuns()},async loadAllRuns(e=!1){if(!this.token)return;let t=++this.allRunsRequestId;e||(this.allRunsLoading=!0,this.runPollFailures=0);try{let{items:e,count:n}=await Q.listAllRuns(this.token,{status:this.allRunsStatus===`all`?void 0:this.allRunsStatus,offset:(this.allRunsPage-1)*this.allRunsPageSize,limit:this.allRunsPageSize});if(t!==this.allRunsRequestId)return;this.allRuns=e,this.allRunsCount=n,this.runPollFailures=0}catch{if(t!==this.allRunsRequestId)return;this.runPollFailures+=1,e||J.error(this.$t(`chat.scheduledTasks.loadError`))}finally{t===this.allRunsRequestId&&(this.allRunsLoading=!1,this.syncRunPolling())}},onRunPageChange(e){this.runPage=e},visibleRuns(){return this.selectedTask?this.runs:this.activeTab===`runs`?this.allRuns:[]},syncRunPolling(){let e=Date.now();if(!(this.token&&this.runPollFailures<Ot&&this.visibleRuns().some(t=>Ve(t,e)))||document.hidden){this.stopRunPolling();return}this.runPollTimer||=setInterval(()=>void this.pollRuns(),Dt)},stopRunPolling(){this.runPollTimer&&=(clearInterval(this.runPollTimer),null)},async pollRuns(){if(!this.token){this.stopRunPolling();return}if(this.runPollInFlight)return;let e=++this.runPollSeq;this.runPollInFlight=!0;try{this.selectedTask?await this.loadTaskRuns(this.selectedTask.id,!0):this.activeTab===`runs`?await this.loadAllRuns(!0):this.stopRunPolling()}finally{e===this.runPollSeq&&(this.runPollInFlight=!1)}},onVisibilityChange(){document.hidden?this.stopRunPolling():(this.runPollFailures=0,this.runPollInFlight=!1,this.pollRuns(),this.syncRunPolling())},openTemplateGallery(){this.saving||(this.templateInitialCategory=String(this.$route.query.template_category??``),this.showTemplateWizard=!0)},onCreateCommand(e){e===`custom`?this.openCreate():this.openTemplateGallery()},onTemplateCreated(e){this.tasks=[e,...this.tasks.filter(t=>t.id!==e.id)],this.page=1,this.loadConnectorIcons()},openCreate(){this.saving||(this.editingTask=null,this.form=this.emptyForm(),this.showCreateDialog=!0,this.loadDesktopContext())},async loadDesktopContext(){if(!we())return;let e=je()?.scheduler;if(e)try{this.deviceIdentity=await e.identity()}catch{this.deviceIdentity=null}try{this.localToolSpecs=await Ie()?.listTools()??[]}catch{this.localToolSpecs=[]}},closeTaskDialog(){this.saving||(this.showCreateDialog=!1)},taskToForm(e){let t=e.schedule,n=`cron`,r=4,i=`hour`,a=0,o=`09:00`,s=`0 9 * * *`,c=1;if(t.type===`cron`){s=t.cron;let[e,r,i,l,u]=t.cron.split(/\s+/),d=e=>/^\d+$/.test(e);i===`*`&&l===`*`&&u===`*`&&r===`*`&&d(e)?(n=`hourly`,a=Number(e)):i===`*`&&l===`*`&&u===`*`&&d(r)&&d(e)?(n=`daily`,o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`):i===`*`&&l===`*`&&d(u)&&d(r)&&d(e)&&(n=`weekly`,c=Number(u),o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`)}else if(t.type===`interval`){n=`interval`;let e=t.interval_seconds;e%86400==0?(i=`day`,r=e/86400):e%3600==0?(i=`hour`,r=e/3600):(i=`minute`,r=Math.max(1,Math.round(e/60)))}return{name:e.name,question:e.template.question,model:e.template.model,scheduleType:n,intervalValue:r,intervalUnit:i,hourlyMinute:a,dailyTime:o,weekday:c,cronExpr:s,timezone:t.tz||$,authorizedSkills:e.unattended_policy?.allowed_skills||[],authorizedMcpServers:e.unattended_policy?.allowed_mcp_servers||[],browserConnectionId:e.unattended_policy?.browser_connections?.[0]?.connection_id??``,connectionAccounts:Object.fromEntries((e.unattended_policy?.connection_bindings??[]).map(e=>[e.connector_identifier,e.connection_id])),authorizationExpiresAt:e.unattended_policy?.expires_at??Math.floor(Date.now()/1e3)+720*60*60,maxTurns:e.template.max_turns??Et,execution:e.execution===`local`?`local`:`cloud`,authorizedLocalTools:e.unattended_policy?.allowed_local_tools||[]}},openEdit(e){this.editingTask=e,this.form=this.taskToForm(e),this.showCreateDialog=!0,this.loadAuthorizableSkills(),this.loadDesktopContext()},openDuplicate(e){this.saving||(this.editingTask=null,this.form={...this.taskToForm(e),name:this.nextCopyName(e.name),authorizationExpiresAt:Math.floor(Date.now()/1e3)+720*60*60},this.showCreateDialog=!0,this.loadAuthorizableSkills(),this.loadDesktopContext())},nextCopyName(e){let t=(e||``).trim()||this.$t(`chat.scheduledTasks.title`),n=new Set(this.tasks.map(e=>e.name)),r=e=>{let n=` ${e}`,r=80-n.length;if(t.length<=r)return`${t}${n}`;let i=``;for(let e of t){if(i.length+e.length>r)break;i+=e}return`${i}${n}`},i=2;for(;n.has(r(i));)i+=1;return r(i)},buildSchedule(){let{scheduleType:e,intervalValue:t,intervalUnit:n,hourlyMinute:r,dailyTime:i,weekday:a,cronExpr:o,timezone:s}=this.form;if(e===`interval`)return{type:`interval`,interval_seconds:Math.max(60,Math.round(t)*(n===`day`?86400:n===`hour`?3600:60)),tz:s};if(e===`hourly`)return{type:`cron`,cron:`${Math.min(59,Math.max(0,Math.round(r)))} * * * *`,tz:s};if(e===`daily`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * *`,tz:s}}if(e===`weekly`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * ${a}`,tz:s}}return{type:`cron`,cron:o,tz:s}},async saveTask(){if(!this.form.question.trim()){J.warning(this.$t(`chat.scheduledTasks.form.required`));return}if(!tt(this.form.timezone)){J.warning(this.$t(`chat.scheduledTasks.form.timezoneInvalid`));return}let e=this.editingTask;this.saving=!0;let t;try{t=await this.loadAuthorizableSkills()}finally{this.saving=!1}if(!t||!this.showCreateDialog||this.editingTask!==e)return;if(this.form.authorizedSkills.length>0||this.form.authorizedMcpServers.length>0)try{await Re.confirm(this.authorizationConfirmText(),this.$t(`chat.scheduledTasks.form.skillsConfirmTitle`),{type:`warning`,confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`)})}catch{return}let n=[...this.form.authorizedSkills],r=[...this.form.authorizedMcpServers],i;if(this.selectedBrowserSkills.length){let e=this.selectedBrowserConnection;if(!e||!e.online||!e.compatible){J.error(this.$t(`chat.scheduledTasks.form.browserBindingInvalid`));return}i=[{connection_id:e.connection_id,connection_revision:e.connection_revision,device_id:e.device_id,wire_contract_digest:e.wire_contract_digest,policy_digest:e.policy_digest}]}let a=this.accountChoices.map(e=>({connector_identifier:e.identifier,connection_id:this.form.connectionAccounts[e.identifier]||``})).filter(e=>!!e.connection_id&&this.accountChoices.find(t=>t.identifier===e.connector_identifier)?.accounts.some(t=>t.connection_id===e.connection_id)),o=this.form.execution===`local`?[...this.form.authorizedLocalTools]:[],s={name:this.form.name.trim()||this.deriveName(this.form.question),schedule:this.buildSchedule(),template:{model:this.form.model,question:this.form.question,skills:n,mcp_servers:r,max_turns:this.form.maxTurns},created_surface:Se(),...this.form.execution===`local`&&this.deviceIdentity?{execution:`local`,device_id:this.deviceIdentity.device_id,device_name:this.deviceIdentity.device_name}:{},unattended_policy:n.length||r.length||o.length?{allowed_skills:n,allowed_mcp_servers:r,...o.length?{allowed_local_tools:o}:{},browser_connections:i,connection_bindings:a.length?a:void 0,expires_at:this.form.authorizationExpiresAt}:{allowed_skills:[],allowed_mcp_servers:[]}};await this.submitTask(s,!1)},async submitTask(e,t){this.saving=!0;let n=null;try{if(this.editingTask){let n=this.editingTask.id,r=await Q.updateTask(this.token,n,e,t),i=this.tasks.findIndex(e=>e.id===n);i!==-1&&(this.tasks[i]=r),this.selectedTask?.id===n&&(this.selectedTask=r)}else{let n=await Q.createTask(this.token,e,t);this.tasks=[n,...this.tasks],this.page=1}J.success(this.$t(`chat.scheduledTasks.create`)+` OK`),this.loadConnectorIcons(),this.showCreateDialog=!1,this.editingTask=null,this.form=this.emptyForm()}catch(e){n=t?null:He(e),n||J.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.saving=!1}if(n){if(this.selectedBrowserSkills.length)return;await this.confirmForceSkill(n)&&await this.submitTask(e,!0)}},async confirmForceSkill(e){let t=this.capabilityLabel(e.slug);try{return await Re.confirm(this.$t(`chat.scheduledTasks.form.skillNotActiveMessage`,{name:t}),this.$t(`chat.scheduledTasks.form.skillNotActiveTitle`),{type:`warning`,confirmButtonText:this.$t(`chat.scheduledTasks.form.skillNotActiveForce`),cancelButtonText:this.$t(`common.button.cancel`)}),!0}catch{return!1}},capabilityLabel(e){let t=this.authorizableSkills.find(t=>t.slug===e);if(t)return t.name||t.slug;let n=this.authorizableMcpServers.find(t=>t.slug===e);return n?n.name||n.slug:e},async loadAuthorizableSkills(e=!1){return this.skillsInflight?this.skillsInflight:!this.token||!e&&(this.authorizableSkills.length||this.authorizableMcpServers.length)?!0:(this.skillsLoading=!0,this.skillsInflight=(async()=>{try{let e=await Q.listAuthorizableCapabilities(this.token);return this.authorizableSkills=e.skills,this.authorizableMcpServers=e.mcp_servers,!0}catch{return J.error(this.$t(`chat.scheduledTasks.loadError`)),!1}finally{this.skillsLoading=!1,this.skillsInflight=null}})(),this.skillsInflight)},onSkillSelectVisible(e){e&&this.loadAuthorizableSkills(!0)},skillLabel(e){return e.name||e.slug},mcpServerLabel(e){return e.name||e.slug},authorizationConfirmText(){let e=new Set(this.form.authorizedSkills),t=new Set(this.form.authorizedMcpServers),n=this.authorizableSkills.filter(t=>e.has(t.slug)).map(e=>this.skillLabel(e)),r=this.authorizableMcpServers.filter(e=>t.has(e.slug)).map(e=>this.mcpServerLabel(e));return this.$t(`chat.scheduledTasks.form.skillsConfirm`,{count:e.size+t.size,skills:[...n,...r].length?[...n,...r].join(`, `):[...Array.from(e),...Array.from(t)].join(`, `)})},async toggleState(e,t){if(this.togglingIds.includes(e.id))return;this.togglingIds.push(e.id);let n=this.tasks.findIndex(t=>t.id===e.id),r=t?`enabled`:`disabled`;n!==-1&&(this.tasks[n]={...e,state:r}),this.selectedTask?.id===e.id&&(this.selectedTask={...e,state:r});try{let i=t&&e.template_source?await Q.enableTemplateTask(this.token,e.id):await Q.updateTask(this.token,e.id,{state:r});n!==-1&&(this.tasks[n]=i),this.selectedTask?.id===e.id&&(this.selectedTask=i)}catch{n!==-1&&(this.tasks[n]={...e,state:e.state}),this.selectedTask?.id===e.id&&(this.selectedTask=e);let r=t&&e.template_source?`chat.scheduledTemplates.enableFailed`:`chat.scheduledTasks.loadError`;J.error(this.$t(r))}finally{this.togglingIds=this.togglingIds.filter(t=>t!==e.id)}},async triggerNow(e){if(!this.triggeringId){this.triggeringId=e.id;try{let t;if(e.execution===`local`){let n=je()?.scheduler?.runNow;if(!n){J.warning(this.$t(`chat.scheduledTasks.triggerLocalUnavailable`));return}let r=await n(e.id);if(!r?.ok){let e=r?.reason===`not_on_this_device`?`chat.scheduledTasks.triggerWrongDevice`:r?.reason===`signed_out`?`chat.scheduledTasks.triggerSignedOut`:r?.reason===`already_running`?`chat.scheduledTasks.triggerAlreadyRunning`:`chat.scheduledTasks.triggerError`;J.warning(this.$t(e));return}t=r.conversation_id}else t=(await Q.triggerTask(this.token,e.id))?.conversation_id;if(t){let n=Ee.find(t=>t.name===e.template.model)?.modelGroup;this.openConversation(t,n);return}J.success(this.$t(`chat.scheduledTasks.triggerSuccess`)),this.selectedTask?.id===e.id?(this.runPage=1,await this.loadTaskRuns(e.id)):this.activeTab===`runs`&&await this.loadAllRuns(!0)}catch{J.error(this.$t(`chat.scheduledTasks.triggerError`))}finally{this.triggeringId=``}}},async confirmDelete(e){await Re.confirm(this.$t(`chat.scheduledTasks.deleteConfirm`,{name:e.name}),{type:`warning`});try{await Q.deleteTask(this.token,e.id),this.tasks=this.tasks.filter(t=>t.id!==e.id),this.selectedTask?.id===e.id&&this.closeTaskLink();let t=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>t&&(this.page=t)}catch{J.error(this.$t(`chat.scheduledTasks.loadError`))}},openRun(e){e.conversation_id&&this.openConversation(e.conversation_id,e.conversation_model_group)},openConversation(e,t){let n=this.modelGroups.map(e=>e.name),r=this.$store.state.chat?.modelGroup?.name||`chatgpt`,i=t&&(n.length===0||n.includes(t))?t:r;this.$router.push(`/${i}/conversations/${encodeURIComponent(e)}`)},stateTagType(e){return e===`enabled`?`success`:e===`error`?`danger`:`info`},runTagType(e){return e===`success`?`success`:e===`failed`?`danger`:e===`indeterminate`||e===`skipped`?`info`:`warning`},accountTagText(e){let t=e.provider_alias||e.connector_identifier,n=e.label||e.account_name;return n?`${t} · ${n}`:t},runOutcomeText(e){return e.outcome_reason?e.outcome_reason:this.runErrorText(e)},runErrorText(e){let t=e.error_code;return t&&this.$te(`chat.scheduledTasks.run.reason.${t}`)?this.errorCodeText(t):e.error_message?e.error_message:t?this.errorCodeText(t):``},errorCodeText(e){let t=`chat.scheduledTasks.run.reason.${e}`;return this.$te(t)?this.$t(t):e.replace(/_/g,` `)},humanizeSchedule(e){let t=(e,t)=>this.$t(`chat.scheduledTasks.humanize.${e}`,t??{});if(e.type===`interval`){let n=e.interval_seconds;return n%86400==0?t(`everyNDays`,{n:n/86400}):n%3600==0?t(`everyNHours`,{n:n/3600}):t(`everyNMinutes`,{n:Math.round(n/60)})}if(e.type===`cron`){let[n,r,i,a,o]=e.cron.split(/\s+/),s=e=>/^\d+$/.test(e);if(i===`*`&&a===`*`&&o===`*`&&r===`*`&&s(n))return t(`hourlyAtMinute`,{n:Number(n)});let c=s(r)&&s(n)?`${r.padStart(2,`0`)}:${n.padStart(2,`0`)}`:``;return c&&i===`*`&&a===`*`&&o===`*`?t(`dailyAt`,{time:c}):c&&i===`*`&&a===`*`&&s(o)?t(`weeklyAt`,{weekday:this.weekdays[Number(o)]??o,time:c}):t(`cronRaw`,{cron:e.cron})}return t(`once`,{time:new Date(e.at*1e3).toLocaleString()})},scheduleLabel(e){return`${this.humanizeSchedule(e)} · ${rt(e.tz)}`},timeZoneLabel(e){return rt(e)},formatTime(e){return new Date(e*1e3).toLocaleString()}}}),At={class:`scheduled-tasks`},jt={class:`detail-navigation`},Mt={class:`detail-header`},Nt={class:`task-heading`},Pt={class:`detail-title`},Ft={class:`task-id`},It={class:`task-id-text`},Lt={class:`task-actions detail-actions`},Rt={class:`task-meta detail-meta`},zt={class:`detail-section-label`},Bt={class:`detail-prompt`},Vt=[`aria-label`],Ht={class:`detail-runs-header`},Ut={class:`section-title`},Wt={class:`detail-run-count`},Gt={class:`run-list`},Kt=[`tabindex`,`role`,`onClick`,`onKeydown`],qt={class:`run-body`},Jt={class:`run-line`},Yt={class:`run-title`},Xt={key:0,class:`run-preview`},Zt={class:`run-sub`},Qt={class:`run-time`},$t={class:`run-action`},en={key:1,class:`run-noconv`},tn={key:0,class:`pager run-pager`},nn={key:1,class:`header`},rn={class:`title`},an={key:0,class:`header-actions`},on={class:`task-view-control`},sn={for:`scheduled-task-view`},cn=[`aria-label`],ln=[`aria-selected`,`onClick`],un={key:1,class:`template-empty`},dn={class:`template-empty-actions`},fn={class:`task-list card-gap`},pn={class:`task-top`},mn={class:`task-heading`},hn={class:`task-title-row`},gn=[`title`],_n=[`src`,`onError`],vn={key:0,class:`task-connector-more`},yn=[`title`],bn={key:0,class:`task-id`},xn={class:`task-id-text`},Sn={class:`task-meta`},Cn={key:3,class:`open-hint`},wn={key:0,class:`task-prompt`},Tn={key:1,class:`task-last-output`},En={key:2,class:`task-footer`},Dn={key:0,class:`run-count`},On={key:1,class:`error-hint`},kn={key:2,class:`error-hint`},An={key:3,class:`open-hint`},jn={key:0,class:`pager`},Mn=[`aria-label`],Nn={class:`run-list`},Pn=[`tabindex`,`role`,`onClick`,`onKeydown`],Fn={class:`run-body`},In={class:`run-line`},Ln={class:`run-title`},Rn={key:0,class:`run-preview`},zn={class:`run-sub`},Bn={class:`run-time`},Vn=[`title`],Hn={class:`run-action`},Un={key:1,class:`run-noconv`},Wn={key:0,class:`pager`},Gn={class:`hint`},Kn={class:`inline-block`},qn={class:`hint`},Jn={class:`hint`},Yn={key:0,class:`schedule-preview`},Xn={class:`hint`},Zn={class:`hint`},Qn={class:`hint`},$n={class:`jitter-hint`},er={class:`hint`},tr={class:`skill-option`},nr={class:`skill-option-name`},rr={key:0,class:`skill-option-missing`},ir={class:`hint`},ar={key:0,class:`browser-binding-summary`},or={class:`hint`},sr={class:`hint`};function cr(t,c,u,f,m,ee){let g=h(`back-navigation`),_=h(`el-skeleton`),v=h(`el-button`),b=h(`el-empty`),S=h(`copy-to-clipboard`),C=h(`el-switch`),w=h(`play-icon`),E=h(`el-tooltip`),O=h(`edit-icon`),k=h(`copy-icon`),A=h(`delete-icon`),j=h(`meta-tag`),M=h(`status-badge`),N=h(`time-icon`),P=h(`ai-icon`),F=h(`el-card`),I=h(`expand-right-icon`),L=h(`pagination`),R=h(`el-option`),z=h(`el-select`),B=h(`add-icon`),V=h(`el-dropdown-item`),H=h(`el-dropdown-menu`),U=h(`el-dropdown`),te=h(`connection-icon`),W=h(`refresh-icon`),G=h(`filter-chip`),K=h(`scheduled-template-wizard`),q=h(`el-input`),J=h(`el-form-item`),ne=h(`el-option-group`),Y=h(`el-radio`),X=h(`el-radio-group`),Z=h(`el-input-number`),re=h(`el-time-picker`),ie=h(`el-form`),ae=h(`el-dialog`);return D(),l(`div`,At,[e(`div`,{class:r([`inner`,{"inner-detail":t.isTaskDetail}])},[t.isTaskDetail?(D(),l(p,{key:0},[e(`div`,jt,[o(g,{onClick:t.closeTaskLink},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.title`)),1)]),_:1},8,[`onClick`])]),t.taskLoading?(D(),y(_,{key:0,rows:7,animated:``,class:`loading-block`})):t.taskLinkNotFound?(D(),y(b,{key:1,description:t.$t(`chat.scheduledTasks.loadError`),class:`empty`},{default:x(()=>[o(v,{onClick:t.closeTaskLink},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.title`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`description`])):t.selectedTask?(D(),l(p,{key:2},[o(F,{class:`detail-card`,shadow:`never`},{default:x(()=>[e(`div`,Mt,[e(`div`,Nt,[e(`h1`,Pt,a(t.selectedTask.name),1),e(`div`,Ft,[e(`span`,It,a(t.$t(`common.entity.id`))+`: `+a(t.selectedTask.id),1),o(S,{content:t.selectedTask.id,class:`inline-block shrink-0`},null,8,[`content`])])]),e(`div`,Lt,[o(C,{"model-value":t.selectedTask.state===`enabled`,loading:t.togglingIds.includes(t.selectedTask.id),disabled:t.togglingIds.includes(t.selectedTask.id),onChange:c[0]||=e=>t.toggleState(t.selectedTask,e===!0)},null,8,[`model-value`,`loading`,`disabled`]),o(E,{content:t.$t(`chat.scheduledTasks.triggerNow`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,loading:t.triggeringId===t.selectedTask.id,"aria-label":t.$t(`chat.scheduledTasks.triggerNow`),onClick:c[1]||=e=>t.triggerNow(t.selectedTask)},{default:x(()=>[t.triggeringId===t.selectedTask.id?s(``,!0):(D(),y(w,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`loading`,`aria-label`])]),_:1},8,[`content`]),o(E,{content:t.$t(`common.button.edit`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,"aria-label":t.$t(`common.button.edit`),onClick:c[2]||=e=>t.openEdit(t.selectedTask)},{default:x(()=>[o(O,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`])]),_:1},8,[`content`]),o(E,{content:t.$t(`chat.scheduledTasks.duplicate`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,"aria-label":t.$t(`chat.scheduledTasks.duplicate`),onClick:c[3]||=e=>t.openDuplicate(t.selectedTask)},{default:x(()=>[o(k,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`])]),_:1},8,[`content`]),o(E,{content:t.$t(`common.button.delete`),placement:`top`},{default:x(()=>[o(v,{text:``,type:`danger`,class:`icon-action`,"aria-label":t.$t(`common.button.delete`),onClick:c[4]||=e=>t.confirmDelete(t.selectedTask)},{default:x(()=>[o(A,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`])]),_:1},8,[`content`])])]),e(`div`,Rt,[t.selectedTask.template_source?(D(),y(j,{key:0,tone:`brand`,density:`compact`},{default:x(()=>[i(a(t.selectedTask.template_source.snapshot.title),1)]),_:1})):s(``,!0),o(M,{tone:t.stateTagType(t.selectedTask.state),density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.state.${t.selectedTask.state}`)),1)]),_:1},8,[`tone`]),t.selectedTask.state_reason===`authorization_expired`?(D(),y(j,{key:1,tone:`warning`,density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.state.authorizationExpired`)),1)]),_:1})):s(``,!0),o(j,{class:`meta-chip`,density:`compact`},{default:x(()=>[o(N,{class:`meta-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.scheduleLabel(t.selectedTask.schedule)),1)]),_:1}),o(j,{class:`meta-chip`,density:`compact`},{default:x(()=>[o(P,{class:`meta-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.modelIdDisplayName(t.selectedTask.template.model)),1)]),_:1}),t.selectedTask.execution===`local`?(D(),y(j,{key:2,class:`meta-chip`,density:`compact`},{default:x(()=>[i(a(t.selectedTask.device_name||t.$t(`chat.scheduledTasks.execution.local`)),1)]),_:1})):s(``,!0)]),e(`div`,zt,a(t.$t(`chat.scheduledTasks.form.prompt`)),1),e(`div`,Bt,a(t.selectedTask.template.question),1)]),_:1}),e(`section`,{class:`detail-runs`,"aria-label":t.$t(`chat.scheduledTasks.viewRuns`)},[e(`div`,Ht,[e(`h2`,Ut,a(t.$t(`chat.scheduledTasks.viewRuns`)),1),e(`span`,Wt,a(t.$t(`chat.scheduledTasks.runCount`,{count:t.selectedTask.run_count})),1)]),t.runsLoading?(D(),y(_,{key:0,rows:3,animated:``})):t.runs.length?(D(),l(p,{key:2},[e(`div`,Gt,[(D(!0),l(p,null,T(t.pagedRuns,c=>(D(),l(`div`,{key:c.id,class:r([`run-item`,{clickable:!!c.conversation_id}]),tabindex:c.conversation_id?0:-1,role:c.conversation_id?`button`:void 0,onClick:e=>t.openRun(c),onKeydown:[d(e=>t.openRun(c),[`enter`]),d(n(e=>t.openRun(c),[`prevent`]),[`space`])]},[e(`div`,qt,[e(`div`,Jt,[e(`span`,Yt,a(c.conversation_title||t.formatTime(c.scheduled_at)),1),o(M,{tone:t.runTagType(c.status),class:`run-tag`,density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.run.${c.status}`)),1)]),_:2},1032,[`tone`])]),c.conversation_preview?(D(),l(`div`,Xt,a(c.conversation_preview),1)):s(``,!0),e(`div`,Zt,[(D(!0),l(p,null,T(c.run_accounts,(e,n)=>(D(),y(j,{key:`${e.connector_identifier}-${n}`,tone:`info`,class:`run-account-tag`,density:`compact`},{default:x(()=>[i(a(t.accountTagText(e)),1)]),_:2},1024))),128)),e(`span`,Qt,a(t.formatTime(c.scheduled_at)),1),t.runOutcomeText(c)?(D(),l(`span`,{key:0,class:r(c.status===`failed`?`run-error`:`run-outcome`)},a(t.runOutcomeText(c)),3)):s(``,!0)])]),e(`div`,$t,[c.conversation_id?(D(),y(I,{key:0,class:`run-arrow`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(D(),l(`span`,en,a(t.$t(`chat.scheduledTasks.noConversation`)),1))])],42,Kt))),128))]),t.runs.length>t.runPageSize?(D(),l(`div`,tn,[o(L,{"current-page":t.runPage,"page-size":t.runPageSize,total:t.runs.length,onChange:t.onRunPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)],64)):(D(),y(b,{key:1,description:t.$t(`chat.scheduledTasks.noRuns`)},null,8,[`description`]))],8,Vt)],64)):s(``,!0)],64)):s(``,!0),t.isTaskDetail?s(``,!0):(D(),l(`div`,nn,[e(`h2`,rn,a(t.$t(`chat.scheduledTasks.title`)),1),t.activeTab===`tasks`?(D(),l(`div`,an,[e(`div`,on,[e(`label`,sn,a(t.$t(`chat.scheduledTasks.view`)),1),o(z,{modelValue:t.taskView,"onUpdate:modelValue":c[5]||=e=>t.taskView=e,class:`task-view-select`,"input-id":`scheduled-task-view`},{default:x(()=>[o(R,{label:t.$t(`chat.scheduledTasks.view.compact`),value:`compact`},null,8,[`label`]),o(R,{label:t.$t(`chat.scheduledTasks.view.rich`),value:`rich`},null,8,[`label`])]),_:1},8,[`modelValue`])]),o(U,{"split-button":``,type:`primary`,disabled:t.saving,onClick:t.openTemplateGallery,onCommand:t.onCreateCommand},{dropdown:x(()=>[o(H,null,{default:x(()=>[o(V,{command:`template`},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.createFromTemplate`)),1)]),_:1}),o(V,{command:`custom`},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.createCustom`)),1)]),_:1})]),_:1})]),default:x(()=>[o(B,{size:16,class:`icon`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.$t(`chat.scheduledTasks.create`))+` `,1)]),_:1},8,[`disabled`,`onClick`,`onCommand`])])):s(``,!0)])),t.isTaskDetail?s(``,!0):(D(),l(`div`,{key:2,class:`tabs`,role:`tablist`,"aria-label":t.$t(`chat.scheduledTasks.title`)},[(D(!0),l(p,null,T(t.tabs,e=>(D(),l(`button`,{key:e,type:`button`,role:`tab`,class:r([`tab`,{active:t.activeTab===e}]),"aria-selected":t.activeTab===e,onClick:n=>t.switchTab(e)},a(t.$t(`chat.scheduledTasks.tab.${e}`)),11,ln))),128))],8,cn)),!t.isTaskDetail&&t.activeTab===`tasks`?(D(),l(p,{key:3},[t.loading?(D(),y(_,{key:0,rows:4,animated:``,class:`loading-block`})):!t.tasks.length&&!t.isTaskDetail?(D(),l(`div`,un,[e(`h3`,null,a(t.$t(`chat.scheduledTemplates.emptyTitle`)),1),e(`p`,null,a(t.$t(`chat.scheduledTemplates.emptyDescription`)),1),e(`div`,dn,[o(v,{type:`primary`,round:``,onClick:t.openTemplateGallery},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.browse`)),1)]),_:1},8,[`onClick`]),o(v,{round:``,onClick:t.openCreate},{default:x(()=>[i(a(t.$t(`chat.scheduledTemplates.createCustom`)),1)]),_:1},8,[`onClick`])])])):t.tasks.length?(D(),l(p,{key:2},[e(`div`,fn,[(D(!0),l(p,null,T(t.pagedTasks,u=>(D(),y(F,{key:u.id,class:r([`task-card`,{"task-card-compact":t.taskView===`compact`}]),shadow:`hover`,onClick:e=>t.openTask(u)},{default:x(()=>[e(`div`,pn,[e(`div`,mn,[e(`div`,hn,[t.connectorIconsByTask[u.id]?.length?(D(),l(`span`,{key:0,class:`task-connector-icons`,title:t.connectorIconsByTask[u.id].map(e=>e.name).join(`, `)},[(D(!0),l(p,null,T(t.connectorIconsByTask[u.id].slice(0,3),e=>(D(),l(`span`,{key:e.identifier,class:`task-connector-icon`},[e.icon_url&&!t.brokenConnectorIcons[e.icon_url]?(D(),l(`img`,{key:0,src:e.icon_url,alt:``,loading:`lazy`,onError:n=>t.brokenConnectorIcons[e.icon_url]=!0},null,40,_n)):(D(),y(te,{key:1,size:13,"aria-hidden":`true`,focusable:`false`}))]))),128)),t.connectorIconsByTask[u.id].length>3?(D(),l(`span`,vn,`+`+a(t.connectorIconsByTask[u.id].length-3),1)):s(``,!0)],8,gn)):s(``,!0),e(`div`,{class:`task-name`,title:u.name},a(u.name),9,yn)]),t.taskView===`rich`?(D(),l(`div`,bn,[e(`span`,xn,a(t.$t(`common.entity.id`))+`: `+a(u.id),1),o(S,{content:u.id,class:`inline-block shrink-0`},null,8,[`content`])])):s(``,!0)]),e(`div`,{class:`task-actions`,onClick:c[6]||=n(()=>{},[`stop`])},[o(C,{"model-value":u.state===`enabled`,loading:t.togglingIds.includes(u.id),disabled:t.togglingIds.includes(u.id),onChange:e=>t.toggleState(u,e===!0)},null,8,[`model-value`,`loading`,`disabled`,`onChange`]),o(E,{content:t.$t(`chat.scheduledTasks.triggerNow`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,loading:t.triggeringId===u.id,"aria-label":t.$t(`chat.scheduledTasks.triggerNow`),title:t.$t(`chat.scheduledTasks.triggerNow`),onClick:e=>t.triggerNow(u)},{default:x(()=>[t.triggeringId===u.id?s(``,!0):(D(),y(w,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:2},1032,[`loading`,`aria-label`,`title`,`onClick`])]),_:2},1032,[`content`]),o(E,{content:t.$t(`common.button.edit`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,"aria-label":t.$t(`common.button.edit`),onClick:e=>t.openEdit(u)},{default:x(()=>[o(O,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`]),o(E,{content:t.$t(`chat.scheduledTasks.duplicate`),placement:`top`},{default:x(()=>[o(v,{text:``,class:`icon-action`,"aria-label":t.$t(`chat.scheduledTasks.duplicate`),onClick:e=>t.openDuplicate(u)},{default:x(()=>[o(k,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`]),o(E,{content:t.$t(`common.button.delete`),placement:`top`},{default:x(()=>[o(v,{text:``,type:`danger`,class:`icon-action`,"aria-label":t.$t(`common.button.delete`),onClick:e=>t.confirmDelete(u)},{default:x(()=>[o(A,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`])])]),e(`div`,Sn,[t.taskView===`rich`&&u.template_source?(D(),y(j,{key:0,tone:`brand`,density:`compact`},{default:x(()=>[i(a(u.template_source.snapshot.title),1)]),_:2},1024)):s(``,!0),o(M,{tone:t.stateTagType(u.state),density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.state.${u.state}`)),1)]),_:2},1032,[`tone`]),o(j,{class:`meta-chip`,density:`compact`},{default:x(()=>[o(N,{class:`meta-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.scheduleLabel(u.schedule)),1)]),_:2},1024),t.taskView===`rich`?(D(),y(j,{key:1,class:`meta-chip`,density:`compact`},{default:x(()=>[o(P,{class:`meta-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.modelIdDisplayName(u.template.model)),1)]),_:2},1024)):s(``,!0),u.execution===`local`?(D(),y(j,{key:2,class:`meta-chip`,density:`compact`},{default:x(()=>[i(a(u.device_name||t.$t(`chat.scheduledTasks.execution.local`)),1)]),_:2},1024)):s(``,!0),t.taskView===`compact`?(D(),l(`span`,Cn,[i(a(t.$t(`chat.scheduledTasks.viewRuns`))+` `,1),o(I,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])):s(``,!0)]),t.taskView===`rich`?(D(),l(`div`,wn,a(u.template.question),1)):s(``,!0),t.taskView===`rich`&&u.last_output_snippet?(D(),l(`div`,Tn,a(u.last_output_snippet),1)):s(``,!0),t.taskView===`rich`||u.state_reason===`authorization_expired`||u.last_error?(D(),l(`div`,En,[t.taskView===`rich`?(D(),l(`span`,Dn,[o(W,{size:16,class:`footer-icon`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.$t(`chat.scheduledTasks.runCount`,{count:u.run_count})),1)])):s(``,!0),u.state_reason===`authorization_expired`?(D(),l(`span`,On,a(t.$t(`chat.scheduledTasks.state.authorizationExpired`)),1)):u.last_error?(D(),l(`span`,kn,a(t.errorCodeText(u.last_error)),1)):s(``,!0),t.taskView===`rich`?(D(),l(`span`,An,[i(a(t.$t(`chat.scheduledTasks.viewRuns`))+` `,1),o(I,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])):s(``,!0)])):s(``,!0)]),_:2},1032,[`class`,`onClick`]))),128))]),t.tasks.length>t.pageSize?(D(),l(`div`,jn,[o(L,{"current-page":t.page,"page-size":t.pageSize,total:t.tasks.length,onChange:t.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)],64)):s(``,!0)],64)):t.isTaskDetail?s(``,!0):(D(),l(p,{key:4},[e(`div`,{class:`filters`,role:`group`,"aria-label":t.$t(`chat.scheduledTasks.tab.runs`)},[(D(!0),l(p,null,T(t.statusFilters,e=>(D(),y(G,{key:e,selected:t.allRunsStatus===e,onClick:n=>t.onStatusFilter(e)},{default:x(()=>[i(a(e===`all`?t.$t(`chat.scheduledTasks.filterAll`):t.$t(`chat.scheduledTasks.run.${e}`)),1)]),_:2},1032,[`selected`,`onClick`]))),128))],8,Mn),t.allRunsLoading?(D(),y(_,{key:0,rows:4,animated:``,class:`loading-block`})):t.allRuns.length?(D(),l(p,{key:2},[e(`div`,Nn,[(D(!0),l(p,null,T(t.allRuns,c=>(D(),l(`div`,{key:c.id,class:r([`run-item`,{clickable:!!c.conversation_id}]),tabindex:c.conversation_id?0:-1,role:c.conversation_id?`button`:void 0,onClick:e=>t.openRun(c),onKeydown:[d(e=>t.openRun(c),[`enter`]),d(n(e=>t.openRun(c),[`prevent`]),[`space`])]},[e(`div`,Fn,[e(`div`,In,[e(`span`,Ln,a(c.conversation_title||t.formatTime(c.scheduled_at)),1),o(M,{tone:t.runTagType(c.status),class:`run-tag`,density:`compact`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.run.${c.status}`)),1)]),_:2},1032,[`tone`])]),c.conversation_preview?(D(),l(`div`,Rn,a(c.conversation_preview),1)):s(``,!0),e(`div`,zn,[c.task_name?(D(),y(j,{key:0,tone:`info`,class:`run-task-tag`,density:`compact`},{default:x(()=>[i(a(c.task_name),1)]),_:2},1024)):s(``,!0),c.execution===`local`?(D(),y(j,{key:1,tone:`info`,class:`run-task-tag`,density:`compact`},{default:x(()=>[i(a(c.device_name||t.$t(`chat.scheduledTasks.execution.local`)),1)]),_:2},1024)):s(``,!0),(D(!0),l(p,null,T(c.run_accounts,(e,n)=>(D(),y(j,{key:`${e.connector_identifier}-${n}`,tone:`info`,class:`run-account-tag`,density:`compact`},{default:x(()=>[i(a(t.accountTagText(e)),1)]),_:2},1024))),128)),e(`span`,Bn,a(t.formatTime(c.scheduled_at)),1),t.runOutcomeText(c)?(D(),l(`span`,{key:2,class:r(c.status===`failed`?`run-error`:`run-outcome`),title:t.runOutcomeText(c)},a(t.runOutcomeText(c)),11,Vn)):s(``,!0)])]),e(`div`,Hn,[c.conversation_id?(D(),y(I,{key:0,class:`run-arrow`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(D(),l(`span`,Un,a(t.$t(`chat.scheduledTasks.noConversation`)),1))])],42,Pn))),128))]),t.allRunsCount>t.allRunsPageSize?(D(),l(`div`,Wn,[o(L,{"current-page":t.allRunsPage,"page-size":t.allRunsPageSize,total:t.allRunsCount,onChange:t.onAllRunsPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)],64)):(D(),y(b,{key:1,description:t.$t(`chat.scheduledTasks.noRuns`),class:`empty`},null,8,[`description`]))],64))],2),t.token?(D(),y(K,{key:0,modelValue:t.showTemplateWizard,"onUpdate:modelValue":c[7]||=e=>t.showTemplateWizard=e,token:t.token,"initial-category":t.templateInitialCategory,onCreated:t.onTemplateCreated},null,8,[`modelValue`,`token`,`initial-category`,`onCreated`])):s(``,!0),o(ae,{modelValue:t.showCreateDialog,"onUpdate:modelValue":c[26]||=e=>t.showCreateDialog=e,title:t.editingTask?t.$t(`chat.scheduledTasks.edit`):t.$t(`chat.scheduledTasks.create`),width:`540px`,"close-on-click-modal":!1,"close-on-press-escape":!t.saving,"show-close":!t.saving,class:`scheduled-task-dialog`},{footer:x(()=>[o(v,{disabled:t.saving,onClick:t.closeTaskDialog},{default:x(()=>[i(a(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(v,{type:`primary`,loading:t.saving,onClick:t.saveTask},{default:x(()=>[i(a(t.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:x(()=>[o(ie,{model:t.form,"label-width":`92px`},{default:x(()=>[o(J,{label:t.$t(`chat.scheduledTasks.form.name`)},{default:x(()=>[o(q,{modelValue:t.form.name,"onUpdate:modelValue":c[8]||=e=>t.form.name=e,placeholder:t.$t(`chat.scheduledTasks.form.namePlaceholder`),maxlength:`80`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),o(J,{label:t.$t(`chat.scheduledTasks.form.prompt`),required:``},{default:x(()=>[o(q,{modelValue:t.form.question,"onUpdate:modelValue":c[9]||=e=>t.form.question=e,type:`textarea`,rows:6,placeholder:t.$t(`chat.scheduledTasks.form.promptPlaceholder`)},null,8,[`modelValue`,`placeholder`]),e(`div`,Gn,a(t.$t(`chat.scheduledTasks.form.promptHint`)),1)]),_:1},8,[`label`]),o(J,{label:t.$t(`chat.scheduledTasks.form.model`)},{default:x(()=>[o(z,{modelValue:t.form.model,"onUpdate:modelValue":c[10]||=e=>t.form.model=e,style:{width:`100%`},filterable:``},{default:x(()=>[(D(!0),l(p,null,T(t.modelGroups,e=>(D(),y(ne,{key:e.name,label:e.getDisplayName()},{default:x(()=>[(D(!0),l(p,null,T(e.models,e=>(D(),y(R,{key:e.name,label:t.modelDisplayName(e),value:e.name},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(J,{label:t.$t(`chat.scheduledTasks.form.execution`)},{default:x(()=>[o(X,{modelValue:t.form.execution,"onUpdate:modelValue":c[11]||=e=>t.form.execution=e},{default:x(()=>[o(Y,{value:`cloud`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.execution.cloud`)),1)]),_:1}),o(E,{content:t.localUnavailableReason,disabled:t.canRunLocally,placement:`top`},{default:x(()=>[e(`span`,Kn,[o(Y,{value:`local`,disabled:!t.canRunLocally},{default:x(()=>[i(a(t.deviceIdentity?t.$t(`chat.scheduledTasks.execution.localNamed`,{device:t.deviceIdentity.device_name}):t.$t(`chat.scheduledTasks.execution.local`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`modelValue`]),e(`div`,qn,a(t.form.execution===`local`?t.$t(`chat.scheduledTasks.form.executionLocalHint`):t.$t(`chat.scheduledTasks.form.executionCloudHint`)),1)]),_:1},8,[`label`]),t.form.execution===`local`?(D(),y(J,{key:0,label:t.$t(`chat.scheduledTasks.form.localTools`)},{default:x(()=>[o(z,{modelValue:t.form.authorizedLocalTools,"onUpdate:modelValue":c[12]||=e=>t.form.authorizedLocalTools=e,multiple:``,filterable:``,style:{width:`100%`},placeholder:t.$t(`chat.scheduledTasks.form.localToolsPlaceholder`)},{default:x(()=>[(D(!0),l(p,null,T(t.localToolSpecs,t=>(D(),y(R,{key:t.name,label:t.name,value:t.name},{default:x(()=>[e(`span`,null,a(t.name),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),e(`div`,Jn,a(t.$t(`chat.scheduledTasks.form.localToolsHint`)),1)]),_:1},8,[`label`])):s(``,!0),o(J,{label:t.$t(`chat.scheduledTasks.form.schedule`)},{default:x(()=>[o(X,{modelValue:t.form.scheduleType,"onUpdate:modelValue":c[13]||=e=>t.form.scheduleType=e},{default:x(()=>[o(Y,{value:`interval`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.scheduleType.interval`)),1)]),_:1}),o(Y,{value:`hourly`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.scheduleType.hourly`)),1)]),_:1}),o(Y,{value:`daily`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.scheduleType.daily`)),1)]),_:1}),o(Y,{value:`weekly`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.scheduleType.weekly`)),1)]),_:1}),o(Y,{value:`cron`},{default:x(()=>[i(a(t.$t(`chat.scheduledTasks.scheduleType.cron`)),1)]),_:1})]),_:1},8,[`modelValue`]),t.schedulePreview?(D(),l(`div`,Yn,[o(N,{class:`preview-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),i(` `+a(t.$t(`chat.scheduledTasks.form.schedulePreview`,{text:t.schedulePreview})),1)])):s(``,!0)]),_:1},8,[`label`]),o(J,{label:t.$t(`chat.scheduledTasks.form.timezone`),required:``},{default:x(()=>[o(z,{modelValue:t.form.timezone,"onUpdate:modelValue":c[14]||=e=>t.form.timezone=e,filterable:``,style:{width:`100%`}},{default:x(()=>[(D(!0),l(p,null,T(t.timezoneOptions,e=>(D(),y(R,{key:e,label:t.timeZoneLabel(e),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),e(`div`,Xn,a(t.$t(`chat.scheduledTasks.form.timezoneHint`,{timezone:t.detectedTimezoneLabel})),1)]),_:1},8,[`label`]),t.form.scheduleType===`interval`?(D(),y(J,{key:1,label:t.$t(`chat.scheduledTasks.scheduleType.interval`)},{default:x(()=>[o(Z,{modelValue:t.form.intervalValue,"onUpdate:modelValue":c[15]||=e=>t.form.intervalValue=e,min:1,max:t.intervalMax,step:1,"controls-position":`right`},null,8,[`modelValue`,`max`]),o(z,{modelValue:t.form.intervalUnit,"onUpdate:modelValue":c[16]||=e=>t.form.intervalUnit=e,style:{width:`110px`,"margin-left":`8px`}},{default:x(()=>[o(R,{label:t.$t(`chat.scheduledTasks.form.intervalUnit.minute`),value:`minute`},null,8,[`label`]),o(R,{label:t.$t(`chat.scheduledTasks.form.intervalUnit.hour`),value:`hour`},null,8,[`label`]),o(R,{label:t.$t(`chat.scheduledTasks.form.intervalUnit.day`),value:`day`},null,8,[`label`])]),_:1},8,[`modelValue`]),e(`div`,Zn,a(t.$t(`chat.scheduledTasks.form.intervalHint`)),1)]),_:1},8,[`label`])):s(``,!0),t.form.scheduleType===`hourly`?(D(),y(J,{key:2,label:t.$t(`chat.scheduledTasks.form.hourlyMinute`)},{default:x(()=>[o(Z,{modelValue:t.form.hourlyMinute,"onUpdate:modelValue":c[17]||=e=>t.form.hourlyMinute=e,min:0,max:59,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,Qn,a(t.$t(`chat.scheduledTasks.form.hourlyMinuteHint`)),1)]),_:1},8,[`label`])):s(``,!0),t.form.scheduleType===`daily`?(D(),y(J,{key:3,label:t.$t(`chat.scheduledTasks.form.time`)},{default:x(()=>[o(re,{modelValue:t.form.dailyTime,"onUpdate:modelValue":c[18]||=e=>t.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`},null,8,[`modelValue`]),e(`span`,$n,a(t.$t(`chat.scheduledTasks.jitterHint`)),1)]),_:1},8,[`label`])):s(``,!0),t.form.scheduleType===`weekly`?(D(),y(J,{key:4,label:t.$t(`chat.scheduledTasks.form.weekday`)},{default:x(()=>[o(z,{modelValue:t.form.weekday,"onUpdate:modelValue":c[19]||=e=>t.form.weekday=e,style:{width:`120px`}},{default:x(()=>[(D(!0),l(p,null,T(t.weekdays,(e,t)=>(D(),y(R,{key:t,label:e,value:t},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),o(re,{modelValue:t.form.dailyTime,"onUpdate:modelValue":c[20]||=e=>t.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`,style:{"margin-left":`8px`}},null,8,[`modelValue`])]),_:1},8,[`label`])):s(``,!0),t.form.scheduleType===`cron`?(D(),y(J,{key:5,label:t.$t(`chat.scheduledTasks.form.cron`)},{default:x(()=>[o(q,{modelValue:t.form.cronExpr,"onUpdate:modelValue":c[21]||=e=>t.form.cronExpr=e,placeholder:`0 9 * * *`},null,8,[`modelValue`]),e(`div`,er,a(t.$t(`chat.scheduledTasks.form.cronHint`)),1)]),_:1},8,[`label`])):s(``,!0),o(J,{label:t.$t(`chat.scheduledTasks.form.skills`)},{default:x(()=>[o(z,{modelValue:t.form.authorizedSkills,"onUpdate:modelValue":c[22]||=e=>t.form.authorizedSkills=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:t.skillsLoading,placeholder:t.$t(`chat.scheduledTasks.form.skillsPlaceholder`),onVisibleChange:t.onSkillSelectVisible},{default:x(()=>[(D(!0),l(p,null,T(t.authorizableSkills,n=>(D(),y(R,{key:n.slug,label:t.skillLabel(n),value:n.slug,disabled:!n.connected},{default:x(()=>[e(`div`,tr,[e(`span`,nr,a(t.skillLabel(n)),1),n.connected?s(``,!0):(D(),l(`span`,rr,a(t.$t(`chat.scheduledTasks.form.skillMissing`)),1))])]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,ir,a(t.$t(`chat.scheduledTasks.form.skillsHint`)),1)]),_:1},8,[`label`]),t.selectedBrowserSkills.length?(D(),y(J,{key:6,label:t.$t(`chat.scheduledTasks.form.browserConnection`),required:``},{default:x(()=>[o(z,{modelValue:t.form.browserConnectionId,"onUpdate:modelValue":c[23]||=e=>t.form.browserConnectionId=e,style:{width:`100%`}},{default:x(()=>[(D(!0),l(p,null,T(t.selectedBrowserConnections,e=>(D(),y(R,{key:e.connection_id,label:`${e.name} · ${e.device_name}`,value:e.connection_id,disabled:!e.online||!e.compatible},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`]),t.selectedBrowserConnection?(D(),l(`div`,ar,[e(`div`,null,a(t.selectedBrowserConnection.allowed_origins.join(`, `)),1),e(`div`,null,a(t.$t(`chat.scheduledTasks.form.browserEffects`,{effects:t.selectedBrowserConnection.side_effects.join(`, `)})),1),e(`div`,null,a(t.$t(`chat.scheduledTasks.form.authorizationExpires`,{time:t.formatTime(t.form.authorizationExpiresAt)})),1)])):s(``,!0)]),_:1},8,[`label`])):s(``,!0),(D(!0),l(p,null,T(t.accountChoices,e=>(D(),y(J,{key:e.identifier,label:t.$t(`chat.scheduledTasks.form.connectionAccount`,{connector:e.label})},{default:x(()=>[o(z,{modelValue:t.form.connectionAccounts[e.identifier],"onUpdate:modelValue":n=>t.form.connectionAccounts[e.identifier]=n,clearable:``,placeholder:t.$t(`chat.scheduledTasks.form.connectionAccountDefault`),style:{width:`100%`}},{default:x(()=>[(D(!0),l(p,null,T(e.accounts,e=>(D(),y(R,{key:e.connection_id,label:e.is_default?`${e.label||e.account_name} · ${t.$t(`chat.scheduledTasks.form.accountIsDefault`)}`:e.label||e.account_name,value:e.connection_id},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]))),128)),o(J,{label:t.$t(`chat.scheduledTasks.form.mcpServers`)},{default:x(()=>[o(z,{modelValue:t.form.authorizedMcpServers,"onUpdate:modelValue":c[24]||=e=>t.form.authorizedMcpServers=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:t.skillsLoading,placeholder:t.$t(`chat.scheduledTasks.form.mcpServersPlaceholder`),onVisibleChange:t.onSkillSelectVisible},{default:x(()=>[(D(!0),l(p,null,T(t.authorizableMcpServers,e=>(D(),y(R,{key:e.slug,label:t.mcpServerLabel(e),value:e.slug},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,or,a(t.$t(`chat.scheduledTasks.form.mcpServersHint`)),1)]),_:1},8,[`label`]),o(J,{label:t.$t(`chat.scheduledTasks.form.maxTurns`)},{default:x(()=>[o(Z,{modelValue:t.form.maxTurns,"onUpdate:modelValue":c[25]||=e=>t.form.maxTurns=e,min:1,max:500,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,sr,a(t.$t(`chat.scheduledTasks.form.maxTurnsHint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`,`close-on-press-escape`,`show-close`])])}var lr=De(kt,[[`render`,cr],[`__scopeId`,`data-v-e9465239`]]);export{lr as default};
|
|
@@ -1 +0,0 @@
|
|
|
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,Mt as s,N as c,Q as l,T as u,at as d,ft as f,j as p,k as m,mt as h,rt as g,tt as _,wt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-Z6KgLTht.js";import{v as S}from"./vuex.esm-bundler-DdqoLR8S.js";import{t as ee}from"./pagination-YzMa1CV0.js";import{t as te}from"./search-DO3HHQn4.js";import{n as ne}from"./chip-CNPdFg2A.js";import{Ca as re,Qa as C,Ya as ie,ao as ae,eo as w,to as T}from"./constants-kiieigwv.js";import{D as E,Fa as D,Ga as O,Gi as k,Ma as oe,Qa as A,Ra as j,Wi as M,oo as se}from"./index-9QPtYDXy.js";import{t as ce}from"./VueMarkdown-mGSicH9K.js";var N=j(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),P=j(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),le=j(`store`,[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]),F=()=>({baseURL:`${oe()}/api/v1`}),I=new class{key=`skills/installed`;async list(e){return M.get(`/${this.key}/`,{...F(),params:e?{site_id:e}:void 0})}async get(e){return M.get(`/${this.key}/${e}/`,F())}async createMarkdown(e,t){return M.post(`/${this.key}/`,t?{...e,site_id:t}:e,F())}async createTarball(e,t){let n=new FormData;return n.append(`tarball`,e),t&&n.append(`site_id`,t),M.post(`/${this.key}/`,n,{...F(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t,n){return M.patch(`/${this.key}/${e}/`,t,{...F(),params:n?{site_id:n}:void 0})}async remove(e,t){return M.delete(`/${this.key}/${e}/`,{...F(),params:t?{site_id:t}:void 0})}async enable(e,t){return M.post(`/${this.key}/${e}/enable/`,void 0,{...F(),params:t?{site_id:t}:void 0})}async disable(e,t){return M.post(`/${this.key}/${e}/disable/`,void 0,{...F(),params:t?{site_id:t}:void 0})}async fetchFile(e,t,n){let r=await M.get(`/${this.key}/${e}/files/`,{...F(),params:{path:t,...n?{site_id:n}:{}},responseType:`arraybuffer`}),i=r.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([r.data],{type:i}),contentType:i}}},ue=new class{key=`skills`;async list(e={}){return k.get(`/${this.key}/`,{...F(),params:e})}async get(e,t){return k.get(`/${this.key}/${e}/`,{...F(),params:t?{site_id:t}:void 0})}async categories(){return k.get(`/${this.key}/categories/`,F())}async install(e,t={}){return M.post(`/${this.key}/${e}/install/`,t,F())}},de={list:e=>k.get(`/skills/marketplaces/`,{...F(),params:e,timeout:35e3}),install:(e,t)=>M.post(`/skills/marketplaces/install/`,{reference:e,...t?{site_id:t}:{}},{...F(),timeout:1e5})};function fe(){let e=new Set;w()&&e.add(`desktop`),T()&&e.add(`ios`),C()&&e.add(`android`),ae()&&e.add(`web`);let t=ie();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;!T()&&!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 L=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function pe(e){let t=e.filter(e=>L.has(e));if(!t.length)return!0;let n=fe();return t.some(e=>n.has(e))}var me=[`aria-label`],he=[`aria-selected`,`onClick`],ge={key:0,class:`source-count`},_e={class:`market-intro`},ve={key:0,class:`market-toolbar`},ye={key:1,class:`market-collections`},be={class:`market-summary`,"aria-live":`polite`},xe={key:0},Se={key:0},Ce={key:1},we=[`href`],Te={key:2,class:`market-empty`},Ee=[`href`],De={key:3,class:`market-empty`,role:`alert`},Oe={key:4,class:`market-grid card-gap`,"aria-busy":`true`},ke={key:5,class:`market-empty`},Ae={key:6,class:`market-grid card-gap`},je={class:`skill-card-top`},Me={class:`publisher-monogram`,"aria-hidden":`true`},Ne={class:`publisher`},Pe=[`onClick`],Fe={class:`skill-description`},Ie={class:`skill-card-footer`},Le=[`title`],Re=[`aria-label`,`onClick`],ze={key:7,class:`market-pagination`},Be={class:`detail-meta`},Ve={class:`detail-description`},He={class:`detail-facts`},Ue=[`href`],We={key:0},Ge={key:1},Ke={key:2},qe={key:1,class:`external-note`},Je={key:2,class:`install-error`,role:`alert`},Ye={key:0,class:`detail-actions`},Xe=[`href`],R=24,Ze=E(y({__name:`SkillMarketplace`,props:{siteId:{},compact:{type:Boolean}},emits:[`installed`],setup(d,{emit:y}){let C=d,ie=y,ae=v(null),w=(e,t)=>re.global.t(e,t||{}),T=m(()=>re.global.locale),E={catalog:{name:`AceDataCloud`,url:``},"skills-sh":{name:`skills.sh`,url:`https://skills.sh`},skillsmp:{name:`SkillsMP`,url:`https://skillsmp.com`}},k=v(`catalog`),oe=Object.keys(E).map(e=>({key:e,...E[e]})),j=v([]),M=v(null),N=v(``),P=v(`popular`),F=v(``),I=v(``),fe=v([]),L=v([]),Ze=m(()=>[...new Set(fe.value.filter(e=>!F.value||e.namespace===F.value).map(e=>e.category))].filter(Boolean).sort((e,t)=>e.localeCompare(t))),z=v(`trending`),B=v(1),V=v(0),H=v(0),Qe=m(()=>V.value?(B.value-1)*R+1:0),$e=m(()=>Math.min(B.value*R,V.value)),U=v(!1),W=v(!1),G=v(!1),K=v(``),q=v(``),J=v(new Set),Y=0,X=e=>`identifier`in e,Z=e=>Array.isArray(e.frontmatter?.surfaces)?e.frontmatter.surfaces.filter(e=>typeof e==`string`):[],et=e=>X(e)?e.install_count:e.metric_count,tt=e=>w(X(e)?`skill.marketplace.localInstalls`:e.metric===`stars`?`skill.marketplace.repoStars`:`skill.marketplace.marketInstalls`),nt=e=>new Intl.NumberFormat(T.value,{notation:`compact`,maximumFractionDigits:1}).format(e),rt=e=>new Intl.DateTimeFormat(T.value,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e));async function it(){try{let{data:e}=await ue.categories();fe.value=e.namespaces,L.value=[...new Map(e.namespaces.map(e=>[e.namespace,{namespace:e.namespace,label:e.publisher||e.namespace}])).values()].sort((e,t)=>e.label.localeCompare(t.label))}catch{}}async function Q(){let e=++Y;W.value=!0,K.value=``;try{let t={namespace:F.value||void 0,category:I.value||void 0,q:N.value.trim()||void 0,sort:P.value,limit:R,offset:(B.value-1)*R,site_id:C.siteId||void 0};if(k.value===`catalog`){let{data:n}=await ue.list(t);if(e!==Y)return;j.value=n.items,V.value=n.total,!F.value&&!I.value&&!t.q&&(H.value=n.total),U.value=!1}else{let{data:n}=await de.list({q:t.q,sort:t.sort,site_id:t.site_id,page:B.value,marketplace:k.value,collection:k.value===`skills-sh`?z.value||`all-time`:void 0});if(e!==Y)return;j.value=n.items,V.value=0,U.value=n.has_more}J.value=new Set([...J.value].filter(e=>e!==k.value))}catch(t){e===Y&&(j.value=[],V.value=0,U.value=!1,K.value=t.response?.data?.code||`unavailable`,K.value===`not_configured`&&(J.value=new Set([...J.value,k.value])))}finally{e===Y&&(W.value=!1)}}function $(){B.value=1,Q()}function at(){I.value=``,$()}function ot(e){k.value!==e&&(k.value=e,F.value=``,I.value=``,N.value=``,P.value=`popular`,$())}function st(e){z.value=e,$()}function ct(e){B.value=e,Q(),ae.value?.closest(`.marketplace-page-content, .market-dialog-content`)?.scrollTo({top:0})}function lt(e){!e&&!G.value&&(M.value=null)}f(M,()=>{q.value=``}),f(()=>C.siteId,$);async function ut(e){if(!(G.value||e.installed)&&!(X(e)&&(!e.installable||!pe(Z(e))))){G.value=!0,q.value=``;try{let{data:t}=X(e)?await ue.install(e.id,C.siteId?{site_id:C.siteId}:{}):await de.install(e.reference,C.siteId);e.installed=!0,S.success(w(`skill.directory.installSuccess`,{name:e.name})),ie(`installed`,t.id)}catch(e){let t=e.response?.data?.code;q.value=w(t?.startsWith(`license`)?`skill.marketplace.licenseBlocked`:`skill.marketplace.importFailed`)}finally{G.value=!1}}}return l(()=>{it(),Q()}),(l,f)=>(_(),c(`section`,{ref_key:`marketRoot`,ref:ae,class:n([`marketplace`,{compact:d.compact}])},[e(`div`,{class:`market-sources`,role:`tablist`,"aria-label":l.$t(`skill.marketplace.sources`)},[(_(!0),c(u,null,g(s(oe),t=>(_(),c(`button`,{key:t.key,type:`button`,role:`tab`,class:n([`source-tab`,[t.key,{active:k.value===t.key}]]),"aria-selected":k.value===t.key,onClick:e=>ot(t.key)},[e(`span`,null,i(t.name),1),t.key===`catalog`&&H.value?(_(),c(`span`,ge,i(H.value),1)):o(``,!0),t.key===`skills-sh`&&J.value.has(t.key)?(_(),p(s(D),{key:1,density:`compact`,tone:`neutral`},{default:h(()=>[r(i(l.$t(`skill.marketplace.notConnectedShort`)),1)]),_:1})):o(``,!0)],10,he))),128))],8,me),e(`p`,_e,i(l.$t(`skill.marketplace.source.${k.value}`)),1),K.value===`not_configured`?o(``,!0):(_(),c(`div`,ve,[e(`form`,{class:`market-search`,onSubmit:t($,[`prevent`])},[a(s(se),{modelValue:N.value,"onUpdate:modelValue":f[0]||=e=>N.value=e,clearable:``,placeholder:l.$t(`skill.marketplace.search`),"aria-label":l.$t(`skill.marketplace.search`),onClear:$},{prefix:h(()=>[a(s(te),{size:16,"aria-hidden":`true`})]),_:1},8,[`modelValue`,`placeholder`,`aria-label`]),a(s(A),{"native-type":`submit`},{default:h(()=>[r(i(l.$t(`skill.marketplace.searchButton`)),1)]),_:1})],32),k.value===`catalog`?(_(),p(s(b),{key:0,modelValue:F.value,"onUpdate:modelValue":f[1]||=e=>F.value=e,clearable:``,class:`market-sort`,placeholder:l.$t(`skill.directory.allPublishers`),"aria-label":l.$t(`skill.directory.allPublishers`),onChange:at},{default:h(()=>[(_(!0),c(u,null,g(L.value,e=>(_(),p(s(x),{key:e.namespace,label:e.label,value:e.namespace},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`aria-label`])):o(``,!0),k.value===`catalog`&&Ze.value.length?(_(),p(s(b),{key:1,modelValue:I.value,"onUpdate:modelValue":f[2]||=e=>I.value=e,clearable:``,class:`market-sort`,placeholder:l.$t(`skill.marketplace.allCategories`),"aria-label":l.$t(`skill.marketplace.allCategories`),onChange:$},{default:h(()=>[(_(!0),c(u,null,g(Ze.value,e=>(_(),p(s(x),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`aria-label`])):o(``,!0),k.value===`skills-sh`?o(``,!0):(_(),p(s(b),{key:2,modelValue:P.value,"onUpdate:modelValue":f[3]||=e=>P.value=e,class:`market-sort`,"aria-label":l.$t(`skill.marketplace.sort`),onChange:$},{default:h(()=>[a(s(x),{label:l.$t(k.value===`catalog`?`skill.marketplace.popularLocal`:`skill.marketplace.popularExternal`),value:`popular`},null,8,[`label`]),a(s(x),{label:l.$t(k.value===`catalog`?`skill.marketplace.discovered`:`skill.marketplace.updated`),value:`recent`},null,8,[`label`])]),_:1},8,[`modelValue`,`aria-label`]))])),k.value===`skills-sh`&&K.value!==`not_configured`?(_(),c(`div`,ye,[(_(),c(u,null,g([`trending`,`hot`,`official`,``],e=>a(s(ne),{key:e,selected:z.value===e,onClick:t=>st(e)},{default:h(()=>[r(i(l.$t(`skill.marketplace.collection.${e||`all`}`)),1)]),_:2},1032,[`selected`,`onClick`])),64))])):o(``,!0),e(`div`,be,[k.value===`catalog`&&!K.value&&!W.value?(_(),c(`span`,xe,[r(i(l.$t(`skill.marketplace.results`,{count:V.value}))+` `,1),V.value?(_(),c(`span`,Se,` · `+i(l.$t(`skill.marketplace.showing`,{start:Qe.value,end:$e.value})),1)):o(``,!0)])):k.value!==`catalog`&&!K.value&&!W.value&&j.value.length?(_(),c(`span`,Ce,i(l.$t(`skill.marketplace.externalPage`,{page:B.value})),1)):o(``,!0),k.value!==`catalog`&&K.value!==`not_configured`?(_(),c(`a`,{key:2,href:E[k.value].url,target:`_blank`,rel:`noopener noreferrer`},i(l.$t(`skill.marketplace.visit`))+` ↗`,9,we)):o(``,!0)]),K.value===`not_configured`?(_(),c(`div`,Te,[a(s(le),{size:32,"aria-hidden":`true`}),e(`h3`,null,i(l.$t(`skill.marketplace.notConnected`)),1),e(`p`,null,i(l.$t(`skill.marketplace.notConnectedHint`)),1),e(`a`,{href:E[k.value].url,target:`_blank`,rel:`noopener noreferrer`},i(l.$t(`skill.marketplace.visit`))+` ↗`,9,Ee)])):K.value?(_(),c(`div`,De,[e(`p`,null,i(l.$t(`skill.directory.loadFailed`)),1),a(s(A),{onClick:Q},{default:h(()=>[r(i(l.$t(`skill.marketplace.retry`)),1)]),_:1})])):W.value?(_(),c(`div`,Oe,[(_(),c(u,null,g(6,t=>e(`div`,{key:t,class:`skill-card skeleton`},[...f[5]||=[e(`span`,null,null,-1),e(`span`,null,null,-1),e(`span`,null,null,-1)]])),64))])):j.value.length?(_(),c(`div`,Ae,[(_(!0),c(u,null,g(j.value,t=>(_(),c(`article`,{key:t.id,class:`skill-card`},[e(`div`,je,[e(`span`,Me,i(t.publisher.slice(0,1).toUpperCase()),1),e(`span`,Ne,i(t.publisher),1),t.installed?(_(),p(s(D),{key:0,density:`compact`,tone:`success`},{default:h(()=>[r(i(l.$t(`skill.directory.installed`)),1)]),_:1})):o(``,!0)]),e(`button`,{type:`button`,class:`skill-title`,onClick:e=>M.value=t},i(t.name||t.slug),9,Pe),e(`p`,Fe,i(t.description||l.$t(`skill.marketplace.sourceDescription`)),1),e(`div`,Ie,[e(`span`,{class:`skill-metric`,title:tt(t)},[r(i(nt(et(t)))+` `,1),e(`span`,null,i(tt(t)),1)],8,Le),e(`button`,{type:`button`,class:`skill-details`,"aria-label":l.$t(`skill.marketplace.detailsFor`,{name:t.name}),onClick:e=>M.value=t},[r(i(l.$t(`skill.marketplace.details`))+` `,1),f[6]||=e(`span`,{"aria-hidden":`true`},`↗`,-1)],8,Re)])]))),128))])):(_(),c(`div`,ke,[a(s(le),{size:32,"aria-hidden":`true`}),e(`h3`,null,i(l.$t(`skill.directory.empty`)),1),e(`p`,null,i(l.$t(`skill.marketplace.emptyHint`)),1)])),k.value===`catalog`&&V.value>R?(_(),c(`div`,ze,[e(`span`,null,i(l.$t(`skill.marketplace.pageOf`,{page:B.value,pages:Math.ceil(V.value/R)})),1),a(s(ee),{class:`adc-pagination`,background:``,"current-page":B.value,"page-size":R,total:V.value,"pager-count":5,layout:`prev, pager, next`,onCurrentChange:ct},null,8,[`current-page`,`total`])])):o(``,!0),k.value!==`catalog`&&!K.value&&(B.value>1||U.value)?(_(),p(s(ee),{key:8,class:`market-pagination adc-pagination`,background:``,"current-page":B.value,"page-count":U.value?B.value+1:B.value,disabled:W.value,layout:`prev, next`,onCurrentChange:ct},null,8,[`current-page`,`page-count`,`disabled`])):o(``,!0),a(s(O),{"model-value":!!M.value,"append-to-body":``,width:`min(760px, 94vw)`,title:M.value?.name,"close-on-click-modal":!G.value,"show-close":!G.value,"onUpdate:modelValue":lt},{footer:h(()=>[M.value?(_(),c(`div`,Ye,[X(M.value)?o(``,!0):(_(),c(`a`,{key:0,href:M.value.marketplace_url,target:`_blank`,rel:`noopener noreferrer`},i(l.$t(`skill.marketplace.originalListing`))+` ↗`,9,Xe)),M.value.installed?(_(),p(s(A),{key:1,disabled:``},{default:h(()=>[r(i(l.$t(`skill.directory.installed`)),1)]),_:1})):X(M.value)&&!M.value.installable?(_(),p(s(A),{key:2,disabled:``},{default:h(()=>[r(i(l.$t(`skill.directory.notInstallable`)),1)]),_:1})):X(M.value)&&!s(pe)(Z(M.value))?(_(),p(s(A),{key:3,disabled:``},{default:h(()=>[r(i(l.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1})):(_(),p(s(A),{key:4,type:`primary`,loading:G.value,onClick:f[4]||=e=>ut(M.value)},{default:h(()=>[r(i(l.$t(X(M.value)?`skill.directory.install`:`skill.marketplace.import`)),1)]),_:1},8,[`loading`]))])):o(``,!0)]),default:h(()=>[M.value?(_(),c(u,{key:0},[e(`div`,Be,[a(s(D),null,{default:h(()=>[r(i(M.value.publisher),1)]),_:1}),a(s(D),null,{default:h(()=>[r(i(X(M.value)?`AceDataCloud`:E[M.value.marketplace]?.name),1)]),_:1}),X(M.value)&&M.value.license?(_(),p(s(D),{key:0},{default:h(()=>[r(i(M.value.license),1)]),_:1})):o(``,!0)]),e(`p`,Ve,i(M.value.description),1),e(`dl`,He,[e(`div`,null,[e(`dt`,null,i(l.$t(`skill.marketplace.repository`)),1),e(`dd`,null,[e(`a`,{href:M.value.source_url,target:`_blank`,rel:`noopener noreferrer`},i(M.value.source_repo)+` ↗`,9,Ue)])]),X(M.value)?(_(),c(`div`,We,[e(`dt`,null,i(l.$t(`skill.marketplace.synced`)),1),e(`dd`,null,i(rt(M.value.last_synced_at)),1)])):o(``,!0),!X(M.value)&&M.value.upstream_updated_at?(_(),c(`div`,Ge,[e(`dt`,null,i(l.$t(`skill.marketplace.updated`)),1),e(`dd`,null,i(rt(M.value.upstream_updated_at)),1)])):o(``,!0),X(M.value)&&Z(M.value).length?(_(),c(`div`,Ke,[e(`dt`,null,i(l.$t(`skill.directory.surfaceHint`)),1),e(`dd`,null,i(Z(M.value).join(`, `)),1)])):o(``,!0)]),X(M.value)?(_(),p(ce,{key:0,class:`detail-content`,source:M.value.content.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,``),sanitize:``},null,8,[`source`])):(_(),c(`p`,qe,i(l.$t(`skill.marketplace.importHint`)),1)),q.value?(_(),c(`p`,Je,i(q.value),1)):o(``,!0)],64)):o(``,!0)]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`])],2))}}),[[`__scopeId`,`data-v-1324593b`]]),z=10*1024*1024,B=/\.(tar\.gz|tgz|tar|zip|md)$/i,V=y({name:`UploadSkillDialog`,components:{ElDialog:O,ElButton:A,AddFileIcon:P,CloudUploadIcon:N},props:{siteId:{type:String,default:``},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>z){S.error(this.$t(`skill.message.fileTooLarge`));return}if(!B.test(e.name)){S.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 I.createMarkdown({content:e},this.siteId||void 0);S.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await I.createTarball(this.file,this.siteId||void 0);S.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){S.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),H={key:0,class:`dropzone-hint`},Qe={key:1,class:`dropzone-file`},$e={class:`dropzone-file-name`},U={class:`dropzone-file-size`},W={class:`requirements`},G={class:`requirements-title`};function K(o,s,l,u,f,m){let g=d(`add-file-icon`),v=d(`el-button`),y=d(`cloud-upload-icon`),b=d(`el-dialog`);return _(),p(b,{"append-to-body":``,"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:h(()=>[a(v,{disabled:o.uploading,onClick:o.onClose},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(v,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:h(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default: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)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:s[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:s[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:s[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:s[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(_(),c(`p`,Qe,[e(`span`,$e,i(o.file.name),1),e(`span`,U,i(o.humanSize(o.file.size)),1)])):(_(),c(`p`,H,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,W,[e(`p`,G,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var q=E(V,[[`render`,K],[`__scopeId`,`data-v-5018f27e`]]),J=y({name:`WriteSkillDialog`,components:{ElDialog:O,ElButton:A,ElInput:se,CloudUploadIcon:N},props:{siteId:{type:String,default:``},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 I.createMarkdown({content:this.content},this.siteId||void 0);S.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){S.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),Y={class:`hint`};function X(t,n,o,s,c,l){let u=d(`el-input`),f=d(`el-button`),m=d(`cloud-upload-icon`),g=d(`el-dialog`);return _(),p(g,{"append-to-body":``,"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:h(()=>[a(f,{disabled:t.saving,onClick:t.onClose},{default:h(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(f,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:h(()=>[a(m,{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`,Y,i(t.$t(`skill.dialog.writeHint`)),1),a(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 Z=E(J,[[`render`,X],[`__scopeId`,`data-v-a5dcdeb8`]]);export{le as a,I as i,q as n,Ze as r,Z as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);export{t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./vuex.esm-bundler-DdqoLR8S.js";import{A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,L as u,M as d,N as f,O as p,P as ee,R as te,S as ne,So as m,T as h,U as g,V as _,W as v,_ as y,a as b,b as x,c as re,d as ie,f as S,g as C,h as w,i as ae,io as T,j as oe,k as se,l as ce,m as E,n as D,o as O,p as k,r as A,s as j,t as M,to as N,u as P,v as F,w as I,x as L,y as R,z}from"./constants-kiieigwv.js";import{Ln as B,Qi as V,ia as H}from"./index-9QPtYDXy.js";import{a as U,i as W,n as G,o as le,r as ue}from"./codingBridgeNotify-ffffcs_6.js";function de(e,t){e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]??=[]}function fe(e,t,n){if(t===n||!e.sessions[t])return;e.sessions[n]={...e.sessions[n],...e.sessions[t],session_id:n},delete e.sessions[t];let r=e.events[t];r&&(r.length||!e.events[n]?.length)&&(e.events[n]=r),delete e.events[t],delete e.lastSeq[t],delete e.seqChecked[t],delete e.seqChecked[n];for(let r of e.permissions)r.session_id===t&&(r.session_id=n);e.currentSessionId===t&&(e.currentSessionId=n)}function pe(e,t){e.events[t.session_id]??=[],e.events[t.session_id].push(t)}function me(e,t,n,r){let i=e.events[t]?.find(e=>e.kind===`text`&&e.stream_id===n&&e.streaming);return i?(i.text=(i.text??``)+r,!0):!1}function he(e,t,n,r){let i=e.events[t]?.find(e=>e.kind===`text`&&e.stream_id===n);return i?(typeof r==`string`&&(i.text=r),i.streaming=!1,!0):!1}function ge(e,t){for(let n of e.events[t]??[])n.streaming&&=!1}function _e(e,t,n){let r=e.events[t];if(!r)return;if(!n){e.events[t]=[];return}let i=r.findIndex(e=>e.kind===`result`&&e.cut_uuid===n);i>=0&&(e.events[t]=r.slice(0,i+1))}var ve=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,ye=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},K=(e,t)=>{if(!ye())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},be=class{ws;token;handlers;reconnectDelay=s;reconnectTimer;closedByUser=!1;constructor(e){this.token=V(),this.handlers=e}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${m}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=s,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let t;try{t=JSON.parse(e.data)}catch{return}let r=t?.payload??{};switch(K(`recv`,t),t?.type){case g:this.handlers.onEvent?.(r,t?.from_node);break;case n:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case c:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case _:this.handlers.onNodeRenamed?.(r.node_id,r.name);break;case y:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,v)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:ve(),ts:Date.now(),type:e,...t};K(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(E,{})}resume(e){this.sendEnvelope(w,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},q,J=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,Y=(e,t,n)=>({id:J(),session_id:e,kind:t,ts:Date.now(),...n}),X=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},xe=e=>{let t=X(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
|
|
2
|
-
`)},Se=(e,t)=>{G({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Ce=(n,s,c,m,g)=>{let _=m?.event,v=m?.session_id,y=m?.trace_id,b=m?.seq;if(typeof b==`number`&&v){let e=c.lastSeq[v];if(e!==void 0&&b<=e){if(c.seqChecked[v])return;n(`resetLastSeq`,v),s(`resyncSession`,v)}n(`markSeqChecked`,v),n(`setLastSeq`,{session_id:v,seq:b})}switch(v&&y&&n(`updateSession`,{session_id:v,trace_id:y}),_){case d:n(`upsertSession`,{session_id:v,node_id:g,status:`running`,cwd:m.cwd,model:m.model,resolved_model:m.resolved_model,...m.effort===void 0?{}:{effort:m.effort},...m.permission_mode===void 0?{}:{permission_mode:m.permission_mode},trace_id:y});break;case p:{let e=m.sdk_session_id;v&&e&&e!==v&&n(`renameSession`,{from:v,to:e});break}case o:{let e=m.id;e&&c.events[v]?.find(t=>t.kind===`text`&&t.stream_id===e)?n(`appendDelta`,{session_id:v,stream_id:e,text:m.text??``}):n(`appendEvent`,Y(v,`text`,{text:m.text??``,stream_id:e,streaming:!0,trace_id:y}));break}case ee:{let e=m.id;e&&c.events[v]?.find(t=>t.kind===`text`&&t.stream_id===e)?n(`finalizeStream`,{session_id:v,stream_id:e,text:m.text}):n(`appendEvent`,Y(v,`text`,{text:m.text,trace_id:y}));break}case l:n(`appendEvent`,Y(v,`thinking`,{text:m.text,trace_id:y}));break;case te:n(`appendEvent`,Y(v,`tool_use`,{tool:m.tool,tool_use_id:m.tool_use_id,input:m.input,trace_id:y}));break;case u:n(`appendEvent`,Y(v,`tool_result`,{tool_use_id:m.tool_use_id,content:m.content,is_error:m.is_error,trace_id:y}));break;case r:n(`addPermission`,{request_id:m.request_id,session_id:v,node_id:g,tool:m.tool,input:m.input,title:m.title,display_name:m.display_name,description:m.description}),Se(s,{node_id:g,session_id:v,request_id:m.request_id,tool:m.display_name||m.title||m.tool});break;case ne:for(let e of m.requests??[])n(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:g,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case I:n(`removePermission`,m.request_id);break;case t:n(`finalizeAllStreams`,{session_id:v}),n(`appendEvent`,Y(v,`result`,{subtype:m.subtype,is_error:m.is_error,text:m.result,cost_usd:m.cost_usd,cut_uuid:m.cut_uuid,sdk_session_id:m.sdk_session_id,trace_id:y})),n(`updateSession`,{session_id:v,status:`idle`,cost_usd:m.cost_usd});break;case se:n(`appendEvent`,Y(v,`notice`,{text:m.text,subtype:m.code,command:m.command,level:m.level}));break;case i:n(`finalizeAllStreams`,{session_id:v}),n(`appendEvent`,Y(v,`error`,{text:m.message,trace_id:y})),n(`updateSession`,{session_id:v,status:`error`}),n(`updateStatus`,{key:`getHistoryDetail`,value:e.Success});break;case a:n(`finalizeAllStreams`,{session_id:v}),n(`updateSession`,{session_id:v,status:`closed`}),n(`clearSeqCheckedFor`,v);break;case oe:n(`rewindToCut`,{session_id:v,cut_uuid:m.cut_uuid}),m.prompt&&n(`appendEvent`,Y(v,`prompt`,{text:m.prompt,trace_id:y})),n(`updateSession`,{session_id:v,status:`running`});break;case f:n(`resetLastSeq`,v),n(`clearSeqCheckedFor`,v),s(`resyncSession`,v);break;case h:for(let e of m.sessions??[]){let t=e.model;n(`upsertSession`,{session_id:e.session_id,node_id:g,status:e.status??`running`,started:!0,cwd:e.cwd,model:t,resolved_model:e.resolved_model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}})}break;case L:if(g){n(`setHistory`,{node_id:g,sessions:m.sessions??[]}),n(`updateStatus`,{key:`getHistory`,value:e.Success});let t=c.historyRef;t&&t.node_id===g&&!c.currentSessionId&&s(`reattachSession`,t)}break;case x:we(n,c,m,g),n(`updateStatus`,{key:`getHistoryDetail`,value:e.Success});break;case R:n(`setDirectory`,{path:m.path,parent:m.parent??null,sep:m.sep??`/`,entries:m.entries??[],truncated:m.truncated,error:m.error});break;case F:g&&n(`setCapabilities`,{node_id:g,capabilities:{providers:m.providers??[]}});break;default:break}},we=(e,t,n,r)=>{let i=n?.session_id,a=Te(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{},u=(n.resolved_model===void 0?void 0:n.model)??s?.model;e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:u,resolved_model:n.resolved_model??s?.resolved_model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let d=t.events[i]?.length??0,f=(n.events??[]).length,p=s?.status===`running`||s?.status===`starting`;c&&d>0&&(p||d>=f)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:J(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},Te=e=>e===`codex`||e===`copilot`?e:`claude`,Z=0,Q=new Map,Ee=({commit:e})=>{Q.clear(),e(`resetAll`)},De=async()=>{},Oe=async()=>{},ke=(e,t,n)=>{e(`setNodeName`,{node_id:t,name:n})},$={namespaced:!0,state:H,mutations:{resetAll:e=>{Object.assign(e,H())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id)),r=new Map(t.map(e=>[e.node_id,e.name]));for(let t of e.nodes){t.status=n.has(t.node_id)?`online`:`offline`;let e=r.get(t.node_id);e&&(t.name=e)}for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setNodeName:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.name=t.name)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{de(e,t)},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{fe(e,t.from,t.to),e.historyRef?.session_id===t.from&&(e.historyRef={...e.historyRef,session_id:t.to})},appendEvent:(e,t)=>{pe(e,t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{_e(e,t.session_id,t.cut_uuid)},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},resetLastSeq:(e,t)=>{delete e.lastSeq[t]},markSeqChecked:(e,t)=>{e.seqChecked[t]=!0},clearSeqChecked:e=>{e.seqChecked={}},clearSeqCheckedFor:(e,t)=>{delete e.seqChecked[t]},appendDelta:(e,t)=>{me(e,t.session_id,t.stream_id,t.text)},finalizeStream:(e,t)=>{he(e,t.session_id,t.stream_id,t.text)},finalizeAllStreams:(e,t)=>{ge(e,t.session_id)},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],delete e.seqChecked[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:Ee,getApplications:De,setApplication:Oe,getNodes:async({commit:t,rootState:n})=>{let r=n.token?.access;if(!r)return[];t(`updateStatus`,{key:`getNodes`,value:e.Request});let i=Z;try{let{data:n}=await B.getNodes({token:r}),a=(n.nodes??[]).map(e=>{let t=Q.get(e.node_id);return t&&t.at>i?{...e,name:t.name}:e});return t(`setNodes`,a),t(`updateStatus`,{key:`getNodes`,value:e.Success}),a}catch(n){throw t(`updateStatus`,{key:`getNodes`,value:e.Error}),n}},claimPair:async({commit:t,dispatch:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);t(`updateStatus`,{key:`claimPair`,value:e.Request});try{let{data:r}=await B.claimPair(i.trim(),{token:a});return t(`updateStatus`,{key:`claimPair`,value:e.Success}),await n(`getNodes`),r.node_name}catch(n){throw t(`updateStatus`,{key:`claimPair`,value:e.Error}),n}},deleteNode:async({commit:t,dispatch:n,state:r,rootState:i},a)=>{let o=i.token?.access;if(!o)throw Error(`not authenticated`);t(`updateStatus`,{key:`deleteNode`,value:e.Request});try{await B.deleteNode(a,{token:o}),t(`removeNodeData`,a),r.currentNodeId===a&&(t(`setCurrentNode`,void 0),t(`setCurrentSession`,void 0)),t(`updateStatus`,{key:`deleteNode`,value:e.Success}),await n(`getNodes`)}catch(n){throw t(`updateStatus`,{key:`deleteNode`,value:e.Error}),n}},renameNode:async({commit:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);let a=r.name.trim();if(!a)throw Error(`name must not be empty`);t(`updateStatus`,{key:`renameNode`,value:e.Request});try{let{data:n}=await B.renameNode(r.nodeId,a,{token:i}),o=n?.name??a;Q.size>=50&&Q.clear(),Q.set(r.nodeId,{name:o,at:++Z}),t(`setNodeName`,{node_id:r.nodeId,name:o}),t(`updateStatus`,{key:`renameNode`,value:e.Success})}catch(n){throw t(`updateStatus`,{key:`renameNode`,value:e.Error}),n}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{r.token?.access&&(q?.isOpen||(q?.close(),e(`setConnection`,`connecting`),q=new be({onOpen:()=>{e(`setConnection`,`connected`),e(`clearSeqChecked`);let r={...n.lastSeq};Object.keys(r).length&&q?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Ce(e,t,n,r,i),onNodesSnapshot:n=>{e(`mergeNodeSnapshot`,n),t(`getNodes`)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onNodeRenamed:(t,n)=>{ke(e,t,n)},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),q.connect()))},disconnect:({commit:e})=>{q?.close(),q=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:re})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:O})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(T()){let t=await ue(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await B.savePushSubscription({kind:N()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await W();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await B.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await U(e.vapid_public_key);t&&await B.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(T()||!t)return;let n=await le();if(n)try{await B.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!q||!i&&!a&&!o)return;let s=J(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=J(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,Y(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),q.sendToNode(r,{action:k,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`default`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,Y(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),q.sendToNode(r,{action:S,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!q||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=J();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,Y(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),q.sendToNode(r,{action:P,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!q||q.sendToNode(n,{action:ie,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&q&&q.sendToNode(i,{action:ce,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(q?.sendToNode(r.node_id,{action:j,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(q?.sendToNode(r.node_id,{action:j,request_id:n.request_id,decision:`allow`,answer:X(n.output),answer_text:xe(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:t,state:n},r)=>{let i=r??n.currentNodeId;!i||!q||(t(`updateStatus`,{key:`getHistory`,value:e.Request}),q.sendToNode(i,{action:ae,limit:z}))},getHistoryDetail:({commit:t},n)=>{!n?.node_id||!n?.session_id||!q||(t(`updateStatus`,{key:`getHistoryDetail`,value:e.Request}),q.sendToNode(n.node_id,{action:A,provider:n.provider,session_id:n.session_id}),setTimeout(()=>t(`updateStatus`,{key:`getHistoryDetail`,value:e.Success}),12e3))},markHistoryRead:(e,t)=>{!t?.node_id||!t?.session_id||!t?.provider||!q||q.sendToNode(t.node_id,{action:b,provider:t.provider,session_id:t.session_id,updated_at:t.updated_at,limit:z})},reattachSession:({state:e,commit:t,dispatch:n},r)=>{if(!r?.node_id||!r?.session_id)return;t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id);let i=e.lastSeq[r.session_id];i!==void 0&&q?.resume({[r.session_id]:i})},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!q||(e(`setDirectoryLoading`,!0),q.sendToNode(r,{action:D,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!q||q.sendToNode(n,{action:M})}}};export{$ as codingBridge,$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{po as e}from"./index-9QPtYDXy.js";var t=e(`PushNotifications`,{});export{t as PushNotifications};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e,t){let n=t.modelGroup;return(n?e?.features?.[n]?.models?.[t.name]?.display_name?.trim():``)||t.getDisplayName?.()||t.name}function t(e,t){let n=t.modelGroup;return(n?e?.features?.[n]?.models?.[t.name]?.icon_url?.trim():``)||t.icon}function n(e,t,n){return t?(n?e?.features?.[t.name]?.models?.[n]?.icon_url?.trim():``)||e?.capability_overrides?.[t.name]?.icon_url?.trim()||t.icon:``}export{e as n,t as r,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`music-2`,[[`circle`,{cx:`8`,cy:`18`,r:`4`,key:`1fc0mg`}],[`path`,{d:`M12 18V2l7 4`,key:`g04rme`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.taskId":{message:`任务 ID`,description:`任务的 ID`},"name.task":{message:`任务类型`,description:`Nano Banana 图片操作类型`},"name.generate":{message:`创建图片`,description:`操作类型:创建图片`},"name.edits":{message:`编辑图片`,description:`操作类型:编辑图片`},"name.imageUrls":{message:`参考图片`,description:`用于编辑的参考图片`},"name.failure":{message:`失败`,description:`任务失败`},"name.failureReason":{message:`失败原因`,description:`任务失败原因`},"name.status":{message:`状态`,description:`任务状态`},"name.traceId":{message:`追踪 ID`,description:`追踪 ID`},"name.elapsed":{message:`耗时`,description:`任务的耗时(秒)`},"name.prompt":{message:`图像提示`,description:`生成/编辑的提示词`},"name.nanobananaBot":{message:`Nano Banana Bot`,description:`Nano Banana 图片生成器名称`},"name.aspectRatio":{message:`宽高比`,description:`生成图像的宽高比`},"name.resolution":{message:`分辨率`,description:`生成图像的分辨率`},"description.resolutionProOnly":{message:`nano-banana-2 和 nano-banana-pro 支持 1K/2K/4K;nano-banana 与 nano-banana-2-lite 仅支持 1K。`,description:`分辨率选项仅对 nano-banana-2 和 pro 模型生效`},"description.prompt":{message:`生成或编辑图像的提示词`,description:`提示词描述`},"description.action":{message:"生成图片的动作。如果为 `generate`,将根据提示词生成图片;如果为 `edit`,则会基于提示词和上传的图片进行编辑。",description:`action 参数说明`},"description.model":{message:`用于生成图片的模型。默认是 nano-banana。nano-banana-2-lite 是 gemini-3.1-flash-lite-image 的别名,仅支持 1K,生成速度快。`,description:`model 参数说明`},"description.imageUrls":{message:`在编辑图片任务中必须上传 1-5 张图片。`,description:`image_urls 参数说明`},"description.aspectRatio":{message:"生成图像的宽高比。支持的取值有 `1:1`、`3:2`、`2:3`、`16:9`、`9:16`、`4:3`、`3:4`。默认值为 `1:1`。仅当 `action` 为 `generate` 时生效;若 `action` 为 `edit`,则以 `image_urls` 中第一张图片的比例为准。",description:`aspect_ratio 参数说明`},"status.pending":{message:`等待中`,description:`任务等待状态`},"placeholder.select":{message:`选择`,description:`选择占位`},"placeholder.prompt":{message:`输入提示词,例如:一只白色的暹罗猫`,description:`提示占位`},"button.generate":{message:`生成`,description:`生成按钮`},"button.uploadImageUrls":{message:`上传图片`,description:`上传参考图片按钮(英文请简化为“Upload”,不要用“Upload Images”)`},"message.startingTask":{message:`正在启动任务...`,description:`开始任务消息`},"message.startTaskSuccess":{message:`成功发起生成任务`,description:`任务成功创建`},"message.startTaskFailed":{message:`发起任务失败,请联系管理员:`,description:`任务创建失败`},"message.usedUp":{message:`您的积分已用完,请购买更多积分后继续使用`,description:`已用完提示`},"message.uploadImageExceed":{message:`最多可上传 5 张图片`,description:`图片数量超过限制`},"message.uploadImageError":{message:`上传图片失败,请稍后重试`,description:`上传失败`},"name.model":{message:`模型`,description:`Nano Banana 模型选择标签`},"model.nanoBanana":{message:`nano-banana`,description:`Nano Banana 基础模型选项`},"model.nanoBananaPro":{message:`nano-banana-pro`,description:`Nano Banana 专业模型选项`},"model.nanoBanana2":{message:`nano-banana-2`,description:`Nano Banana 2 模型选项`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"name.taskId":{message:`Task ID`,description:`The ID of the task`},"name.task":{message:`Task Type`,description:`Type of Nano Banana image operation`},"name.generate":{message:`Create Image`,description:`Operation type: Create Image`},"name.edits":{message:`Edit Image`,description:`Operation type: Edit Image`},"name.imageUrls":{message:`Reference Images`,description:`Reference images for editing`},"name.failure":{message:`Failed`,description:`Task failed`},"name.failureReason":{message:`Failure Reason`,description:`Reason for task failure`},"name.status":{message:`Status`,description:`Task status`},"name.traceId":{message:`Trace ID`,description:`Trace ID`},"name.elapsed":{message:`Elapsed Time`,description:`Time taken for the task (seconds)`},"name.prompt":{message:`Image Prompt`,description:`Prompt for generating/editing`},"name.nanobananaBot":{message:`Nano Banana Bot`,description:`Name of the Nano Banana image generator`},"name.aspectRatio":{message:`Aspect Ratio`,description:`Aspect ratio of the generated image`},"name.resolution":{message:`Resolution`,description:`Resolution of the generated image`},"description.resolutionProOnly":{message:`nano-banana-2 and nano-banana-pro support 1K/2K/4K; nano-banana and nano-banana-2-lite are 1K only.`,description:`Resolution options are effective only for nano-banana-2 and pro models`},"description.prompt":{message:`Prompt for generating or editing images`,description:`Description of the prompt`},"description.action":{message:"Action to generate the image. If `generate`, it will create an image based on the prompt; if `edit`, it will edit based on the prompt and uploaded image.",description:`Description of the action parameter`},"description.model":{message:`Model used for generating images. Default is nano-banana. nano-banana-2-lite is an alias for gemini-3.1-flash-lite-image and only supports 1K fast generation.`,description:`Description of the model parameter`},"description.imageUrls":{message:`Must upload 1-5 images for the edit image task.`,description:`Description of the image_urls parameter`},"description.aspectRatio":{message:"Aspect ratio of the generated image. Supported values are `1:1`, `3:2`, `2:3`, `16:9`, `9:16`, `4:3`, `3:4`. Default is `1:1`. Effective only when `action` is `generate`; if `action` is `edit`, it will follow the aspect ratio of the first image in `image_urls`.",description:`Description of the aspect_ratio parameter`},"status.pending":{message:`Pending`,description:`Task waiting status`},"placeholder.select":{message:`Select`,description:`Selection placeholder`},"placeholder.prompt":{message:`Enter prompt, e.g., a white Siamese cat`,description:`Prompt placeholder`},"button.generate":{message:`Generate`,description:`Generate button`},"button.uploadImageUrls":{message:`Upload`,description:`Upload reference images button (simplified to 'Upload', do not use 'Upload Images')`},"message.startingTask":{message:`Starting task...`,description:`Message indicating task start`},"message.startTaskSuccess":{message:`Successfully initiated generation task`,description:`Task successfully created`},"message.startTaskFailed":{message:`Failed to initiate task, please contact the administrator:`,description:`Task creation failed`},"message.usedUp":{message:`Your credits are exhausted, please purchase more credits to continue using`,description:`Exhausted credits message`},"message.uploadImageExceed":{message:`You can upload a maximum of 5 images`,description:`Image count exceeds limit`},"message.uploadImageError":{message:`Failed to upload image, please try again later`,description:`Upload failed`},"name.model":{message:`Model`,description:`Label for selecting Nano Banana model`},"model.nanoBanana":{message:`nano-banana`,description:`Option for Nano Banana base model`},"model.nanoBananaPro":{message:`nano-banana-pro`,description:`Option for Nano Banana pro model`},"model.nanoBanana2":{message:`nano-banana-2`,description:`Option for Nano Banana 2 model`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ra as e}from"./index-9QPtYDXy.js";var t=e(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]);export{t};
|