@qwen-code/qwen-code 0.25.4-preview.0 → 0.25.4-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/browser-use/runtime/native-host.js +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/cli.js +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/lib/webp_codec.wasm +0 -0
- package/bundled/browser-use/runtime/node_modules/playwright-core/lib/xdg-open +0 -0
- package/bundled/browser-use/runtime/scripts/native-host-setup.js +0 -0
- package/chunks/{MaxSizedBox-M27H235V.js → MaxSizedBox-E4RKSA7W.js} +1 -1
- package/chunks/{StandaloneSessionPicker-LWWDDYOW.js → StandaloneSessionPicker-2D3UKLVS.js} +1 -1
- package/chunks/{acp-subagent-executor-NUV52JVS.js → acp-subagent-executor-UQYUN6AB.js} +1 -1
- package/chunks/{acpAgent-IUJDXLZM.js → acpAgent-P7WGK2BP.js} +3 -3
- package/chunks/{advisor-MSOUBMJ6.js → advisor-GCH2MBXT.js} +1 -1
- package/chunks/{agent-H7XIWYWQ.js → agent-57T4YAYP.js} +1 -1
- package/chunks/{agent-headless-XDN3D3S3.js → agent-headless-IBON3A7N.js} +1 -1
- package/chunks/{agent-host-client-AZP3PZXS.js → agent-host-client-LE7P72FR.js} +1 -1
- package/chunks/{agent-host-connections-JRVX7I6I.js → agent-host-connections-4DM57L26.js} +1 -1
- package/chunks/{anthropicContentGenerator-N7TV53LD.js → anthropicContentGenerator-C4TPFXUK.js} +1 -1
- package/chunks/{batch-MKSJFJUH.js → batch-YJJGMJWO.js} +1 -1
- package/chunks/{bridge-GNMKKHQ4.js → bridge-FIO2ENBG.js} +1 -1
- package/chunks/{channel-settings-store-Y4YCS7JX.js → channel-settings-store-TEBCLK2B.js} +1 -1
- package/chunks/{chunk-GPOUP5OK.js → chunk-27MTSS3T.js} +1 -1
- package/chunks/{chunk-C4ANA47H.js → chunk-2MGCRPM3.js} +1 -1
- package/chunks/{chunk-6DQNNRRC.js → chunk-2WBKWPSO.js} +1 -1
- package/chunks/{chunk-CATL2PQS.js → chunk-34WLYVDK.js} +5 -5
- package/chunks/{chunk-B7CXPNCV.js → chunk-3J2YNEHG.js} +1 -1
- package/chunks/{chunk-VTNHPXNL.js → chunk-3TBFTELA.js} +1 -1
- package/chunks/{chunk-7JT34VGK.js → chunk-46I6JBVL.js} +1 -1
- package/chunks/{chunk-FEMWELCV.js → chunk-4ZKFLOEH.js} +1 -1
- package/chunks/{chunk-7AYXAVTZ.js → chunk-5DUJIOOX.js} +3 -3
- package/chunks/{chunk-6QLHJSVW.js → chunk-6PWOLWTH.js} +1 -1
- package/chunks/{chunk-OW4QBRSR.js → chunk-6UZ65Z2P.js} +1 -1
- package/chunks/{chunk-V2JZO5MS.js → chunk-7DSJE3CL.js} +1 -1
- package/chunks/{chunk-TJMHIEYI.js → chunk-7LCY7GGX.js} +1 -1
- package/chunks/{chunk-TLJHBK3A.js → chunk-7RNTXEWH.js} +1 -1
- package/chunks/{chunk-YZ7OO4AQ.js → chunk-A3IF6IOB.js} +1 -1
- package/chunks/{chunk-VTF6AVZB.js → chunk-A6OQSOUO.js} +1 -1
- package/chunks/{chunk-Y7YDHCON.js → chunk-AJ6JUUP7.js} +1 -1
- package/chunks/{chunk-QTMHQGWQ.js → chunk-AOMEBVFW.js} +1 -1
- package/chunks/{chunk-KVTG2ZNH.js → chunk-AUNAS7AS.js} +1 -1
- package/chunks/{chunk-BOFD4CN3.js → chunk-AVIDPC5K.js} +1 -1
- package/chunks/{chunk-ETYTRKB2.js → chunk-BOLPBPWC.js} +1 -1
- package/chunks/{chunk-OAPA66DR.js → chunk-BQQBFDBY.js} +1 -1
- package/chunks/{chunk-NOS2CNOI.js → chunk-CN22ATWU.js} +1 -1
- package/chunks/{chunk-XYBEQRSZ.js → chunk-DIHJELGW.js} +1 -1
- package/chunks/{chunk-XCEL3EDX.js → chunk-DJFCI7TU.js} +1 -1
- package/chunks/{chunk-VKEL2XTM.js → chunk-DQPDMFS3.js} +1 -1
- package/chunks/{chunk-DJRFEZBY.js → chunk-DSYKB77N.js} +1 -1
- package/chunks/{chunk-UEW7Q26E.js → chunk-EDNOGHMN.js} +2 -2
- package/chunks/{chunk-RXNGYG64.js → chunk-EE36D2EV.js} +1 -1
- package/chunks/{chunk-NZKX7HYL.js → chunk-EGQDN3FJ.js} +1 -1
- package/chunks/{chunk-DFRSQK5Q.js → chunk-FHFBCG6N.js} +1 -1
- package/chunks/{chunk-PECV2VVZ.js → chunk-GI6T3RBV.js} +1 -1
- package/chunks/{chunk-37BNHIUB.js → chunk-GOLT5JXA.js} +1 -1
- package/chunks/{chunk-KITFF4GL.js → chunk-IDGXHMNL.js} +1 -1
- package/chunks/{chunk-6HIOSLUM.js → chunk-IIZWK7ZP.js} +1 -1
- package/chunks/{chunk-MPGEAX4K.js → chunk-IJC6ZH2S.js} +1 -1
- package/chunks/{chunk-TLYJVB5H.js → chunk-IO6LSEPV.js} +1 -1
- package/chunks/{chunk-QIJKEZZR.js → chunk-IYVNCBMS.js} +1 -1
- package/chunks/{chunk-S4GOHFRN.js → chunk-JHGOWK7M.js} +1 -1
- package/chunks/{chunk-GHRD2MMC.js → chunk-JRJY343T.js} +1 -1
- package/chunks/{chunk-WCYZSCG7.js → chunk-JVUXQU3W.js} +1 -1
- package/chunks/{chunk-DMCTJUIJ.js → chunk-K2K2YYWO.js} +1 -1
- package/chunks/{chunk-37OHWQHB.js → chunk-KF6HU732.js} +2 -2
- package/chunks/{chunk-5LSV73BG.js → chunk-KVWUOBH7.js} +1 -1
- package/chunks/{chunk-7V4BAHFT.js → chunk-LBWBGFHD.js} +1 -1
- package/chunks/{chunk-RKPHDO42.js → chunk-LDXZT3SG.js} +5 -5
- package/chunks/{chunk-BGFA2SAQ.js → chunk-LFOZ6AIH.js} +1 -1
- package/chunks/{chunk-4322TZID.js → chunk-LGQHT42X.js} +2 -2
- package/chunks/{chunk-PDXZ2CUO.js → chunk-M3O2XDHA.js} +1 -1
- package/chunks/{chunk-47K2NMP6.js → chunk-M3UC46LS.js} +1 -1
- package/chunks/{chunk-UFRY7WND.js → chunk-M7JLPTQI.js} +1 -1
- package/chunks/{chunk-SATEKHQP.js → chunk-MBUXP3IS.js} +1 -1
- package/chunks/{chunk-RN6JS263.js → chunk-MEZA3VVH.js} +1 -1
- package/chunks/{chunk-OBFKP7RI.js → chunk-MWN6TR36.js} +1 -1
- package/chunks/{chunk-VHJ43ZYJ.js → chunk-O7XRQWCG.js} +1 -1
- package/chunks/{chunk-H224LNV3.js → chunk-OYFRLT5E.js} +1 -1
- package/chunks/{chunk-3NWFV2YF.js → chunk-PMBGV76N.js} +1 -1
- package/chunks/{chunk-YFAPACDE.js → chunk-PVM4IVFL.js} +6 -6
- package/chunks/{chunk-7WS2EYMQ.js → chunk-PWHD4NK3.js} +1 -1
- package/chunks/{chunk-JZIQSEFO.js → chunk-Q54NROBX.js} +1 -1
- package/chunks/{chunk-FCLAPJ22.js → chunk-QE7R4DPT.js} +1 -1
- package/chunks/{chunk-J6TW7GNF.js → chunk-QIUTQICH.js} +1 -1
- package/chunks/{chunk-TWDCN5H2.js → chunk-QK63EULE.js} +1 -1
- package/chunks/{chunk-HZZT75LI.js → chunk-QTAC4W7J.js} +1 -1
- package/chunks/{chunk-P7DIAJNX.js → chunk-R7HBR4QQ.js} +1 -1
- package/chunks/{chunk-U2FJSKS3.js → chunk-RHEMFKMX.js} +1 -1
- package/chunks/{chunk-TRRY3QMM.js → chunk-RL57IU47.js} +1 -1
- package/chunks/{chunk-SPWDYRDH.js → chunk-S2OOQRLJ.js} +1 -1
- package/chunks/{chunk-QBRADQ7L.js → chunk-SWTMWNTZ.js} +1 -1
- package/chunks/{chunk-AZUDF52L.js → chunk-SXTKQHFZ.js} +1 -1
- package/chunks/{chunk-5RQRSPPD.js → chunk-T5S3MJIK.js} +1 -1
- package/chunks/{chunk-I3ORWQ2U.js → chunk-UDGDEIBB.js} +1 -1
- package/chunks/{chunk-EMDEBV33.js → chunk-UIFBF3E7.js} +1 -1
- package/chunks/{chunk-BGEMWNES.js → chunk-UQDPWI7D.js} +1 -1
- package/chunks/{chunk-I5LKOTZT.js → chunk-VON4MVIM.js} +1 -1
- package/chunks/{chunk-HJPO6MEW.js → chunk-W5D2T2JK.js} +1 -1
- package/chunks/{chunk-F6YYDRMH.js → chunk-WNGYYU67.js} +1 -1
- package/chunks/{chunk-S2GKUZZZ.js → chunk-WO3F62ZD.js} +1 -1
- package/chunks/{chunk-K7KW3ZJQ.js → chunk-WVY5Q6YY.js} +1 -1
- package/chunks/{chunk-GH6DPLWU.js → chunk-Y4Q667BW.js} +1 -1
- package/chunks/{chunk-FH74N7Y7.js → chunk-YJLMFUCS.js} +2 -2
- package/chunks/{chunk-C3Y2S5AM.js → chunk-YKHRCSKP.js} +1 -1
- package/chunks/{chunk-P4UJ7CXJ.js → chunk-YLIS36QA.js} +1 -1
- package/chunks/{chunk-4QIFOIBS.js → chunk-YVZ4XZRB.js} +1 -1
- package/chunks/{chunk-KGRD6G5J.js → chunk-Z27JJPKN.js} +1 -1
- package/chunks/{chunk-KOHHDB2L.js → chunk-ZCIS6MJZ.js} +1 -1
- package/chunks/{chunk-QNNDZYVW.js → chunk-ZHLQ222N.js} +1 -1
- package/chunks/{chunk-KWRZ3WJO.js → chunk-ZP7MTWMR.js} +1 -1
- package/chunks/{codex-subagent-executor-H44VDB5E.js → codex-subagent-executor-6OJVGF2S.js} +1 -1
- package/chunks/{config-utils-4X4SV4RL.js → config-utils-FI3A4QAN.js} +1 -1
- package/chunks/{contextCommand-4KVOHTAJ.js → contextCommand-YEBZQHG4.js} +1 -1
- package/chunks/{core-runtime-4RARI4NX.js → core-runtime-CFMHUAS7.js} +1 -1
- package/chunks/{create-sub-session-CNSRJFYG.js → create-sub-session-G26337FT.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-6XQQPP2H.js → daemon-git-worktree-guard-ITU6NQIV.js} +1 -1
- package/chunks/{daemon-status-provider-PRTEQT5T.js → daemon-status-provider-CSWRGMRX.js} +1 -1
- package/chunks/{daemon-trust-policy-GXKJVZDU.js → daemon-trust-policy-IYD7NOGK.js} +1 -1
- package/chunks/{daemon-trust-policy-monitor-L2ORKHMM.js → daemon-trust-policy-monitor-OWUP5SYB.js} +1 -1
- package/chunks/{deferred-core-runtime-RZQFUSPX.js → deferred-core-runtime-CVCQU7O4.js} +1 -1
- package/chunks/{edit-W44XQCIS.js → edit-7YBQLILC.js} +1 -1
- package/chunks/{enterPlanMode-B456A2XO.js → enterPlanMode-L3PVSD2P.js} +1 -1
- package/chunks/{environment-DSGQSQFS.js → environment-BVEOYQHO.js} +1 -1
- package/chunks/{errors-KL725247.js → errors-VQWBGR6D.js} +1 -1
- package/chunks/{execution-tool-KT3EBWHG.js → execution-tool-P7CBXSGZ.js} +1 -1
- package/chunks/{execution-worker-LPQ4HMN4.js → execution-worker-RZXNYK4B.js} +1 -1
- package/chunks/{exitPlanMode-JLKS76IA.js → exitPlanMode-MBUTM3NW.js} +1 -1
- package/chunks/{fast-path-5UD52IHH.js → fast-path-T2FDUSHV.js} +1 -1
- package/chunks/{glob-LYA2H6X3.js → glob-RH7XXSYE.js} +1 -1
- package/chunks/{goal-tools-SHSIDLZX.js → goal-tools-K6XBCE5E.js} +1 -1
- package/chunks/{handleAutoUpdate-T4RE6CZN.js → handleAutoUpdate-PG7R3KPH.js} +1 -1
- package/chunks/{i18n-5DK327WA.js → i18n-EGTBMA3N.js} +1 -1
- package/chunks/{initializer-TJGE4OJA.js → initializer-RIKH4PCP.js} +1 -1
- package/chunks/{installationInfo-MZ62GDIC.js → installationInfo-BBADHZLD.js} +1 -1
- package/chunks/{interactive-mod-session-YCUBQ6RM.js → interactive-mod-session-7RDKAHZ4.js} +1 -1
- package/chunks/{list-4L3LYDQM.js → list-YEGWEHJX.js} +1 -1
- package/chunks/{llm-3JQWBZXV.js → llm-D3LHPY27.js} +4 -4
- package/chunks/{llm-content-generator-6UPJWPOM.js → llm-content-generator-BLTBMV66.js} +1 -1
- package/chunks/{loadedSettingsAdapter-STPKAFJG.js → loadedSettingsAdapter-PLGMKMFO.js} +1 -1
- package/chunks/{local-execution-environment-IE5BOI7Y.js → local-execution-environment-4LDKFNC4.js} +1 -1
- package/chunks/{loggingContentGenerator-4KKWPZJA.js → loggingContentGenerator-376R7DRI.js} +1 -1
- package/chunks/{manage-memory-CRV5SXZZ.js → manage-memory-2ZTIVKNU.js} +1 -1
- package/chunks/{managed-execution-engine-FHLEWVND.js → managed-execution-engine-5LOM3MXG.js} +1 -1
- package/chunks/{managed-npm-update-BRHPOKDU.js → managed-npm-update-2C5JYEXW.js} +1 -1
- package/chunks/{managed-runtime-attestation-worker-GIQKZ5BH.js → managed-runtime-attestation-worker-R2FECMZK.js} +1 -1
- package/chunks/{managed-runtime-bootstrap-P72BT46H.js → managed-runtime-bootstrap-KPLGH4UE.js} +1 -1
- package/chunks/{managed-runtime-session-worker-IYCJDB5K.js → managed-runtime-session-worker-EVKNPK3V.js} +1 -1
- package/chunks/{managed-runtime-ssh-worker-ONT4V5ZG.js → managed-runtime-ssh-worker-IA4HZ3PD.js} +1 -1
- package/chunks/{mcp-NXCQVE2Y.js → mcp-S67IJLI6.js} +1 -1
- package/chunks/{model-call-collection-3DNL45M5.js → model-call-collection-6OGPDTPG.js} +1 -1
- package/chunks/{model-configuration-6HRNYBWV.js → model-configuration-6RWVBOQS.js} +1 -1
- package/chunks/{modelConfigUtils-SKBN64ZW.js → modelConfigUtils-M3TVVYAO.js} +1 -1
- package/chunks/{monitor-7I7Q73UR.js → monitor-ZHOFTN7N.js} +1 -1
- package/chunks/{nonInteractiveCli-YLYRJUBE.js → nonInteractiveCli-6SUGPTJ4.js} +1 -1
- package/chunks/{nonInteractiveToolExecutor-U2ASWT63.js → nonInteractiveToolExecutor-SAHBGO3A.js} +1 -1
- package/chunks/{notebook-edit-WAD7IQCF.js → notebook-edit-ETUOQH6G.js} +1 -1
- package/chunks/{omni-POUUDVU3.js → omni-HV2UBGMZ.js} +1 -1
- package/chunks/{openaiContentGenerator-L7X6IVPL.js → openaiContentGenerator-RZCG7E4M.js} +1 -1
- package/chunks/{openaiResponsesContentGenerator-7XCMFI6P.js → openaiResponsesContentGenerator-X23L5JV3.js} +1 -1
- package/chunks/{pidfile-MQQT2ZDA.js → pidfile-26WXQCHG.js} +1 -1
- package/chunks/{processUtils-OZLF72NC.js → processUtils-WXLFGNBT.js} +1 -1
- package/chunks/{prompt-terminal-ledger-IYUF6SUU.js → prompt-terminal-ledger-EIZZHF4A.js} +1 -1
- package/chunks/{qwenContentGenerator-DKH3ILUO.js → qwenContentGenerator-GOY7Y6KH.js} +1 -1
- package/chunks/{reactive-degrade-KSNGHMBN.js → reactive-degrade-MNMTTHO5.js} +1 -1
- package/chunks/{read-file-VEELW4OQ.js → read-file-OJNGPNTQ.js} +1 -1
- package/chunks/{resumeHistoryUtils-4SFDTBXU.js → resumeHistoryUtils-QWOWF4VY.js} +1 -1
- package/chunks/{review-QA6HRLVU.js → review-5S24HP2V.js} +1 -1
- package/chunks/{ripGrep-4J6ASSE3.js → ripGrep-Y4PY2MQF.js} +1 -1
- package/chunks/{run-qwen-serve-EJ67LA5O.js → run-qwen-serve-EOUUDZUK.js} +2 -2
- package/chunks/{runtime-6E2FSB5U.js → runtime-ZBPOQX6E.js} +1 -1
- package/chunks/{sandboxConfig-4VE4LNRI.js → sandboxConfig-R7KDS3P5.js} +1 -1
- package/chunks/{scheduled-tasks-GM5EJMK7.js → scheduled-tasks-Q6V7D6K6.js} +1 -1
- package/chunks/{scheduler-HOSVIIOE.js → scheduler-EBQY6BOK.js} +1 -1
- package/chunks/{search-memory-HEAQCHIK.js → search-memory-HX6E23JC.js} +1 -1
- package/chunks/{send-message-FAQ7XEZ5.js → send-message-OZCCCH2F.js} +1 -1
- package/chunks/{serve-VNKPOWSW.js → serve-CMGCI4BK.js} +1 -1
- package/chunks/{server-U2XBJLOV.js → server-7LOAKPDN.js} +3 -3
- package/chunks/{session-AZGROSFX.js → session-LVQYZSJE.js} +1 -1
- package/chunks/{session-attachments-root-6M2ECUNK.js → session-attachments-root-NWG7JOMN.js} +1 -1
- package/chunks/{session-execution-engine-selector-PYDVOSJF.js → session-execution-engine-selector-PHH47ZMA.js} +1 -1
- package/chunks/{session-pr-refresh-3IS7DLEV.js → session-pr-refresh-5IACZPCY.js} +1 -1
- package/chunks/{sessionService-3FWNA4ZB.js → sessionService-7PFAWLHC.js} +1 -1
- package/chunks/{settings-VHKT7JJC.js → settings-CPZBOHN5.js} +1 -1
- package/chunks/{shell-TYOPVB7H.js → shell-A7NLPS2W.js} +1 -1
- package/chunks/{skill-GJQIE5AX.js → skill-VGANGVOD.js} +1 -1
- package/chunks/{skill-settings-76NI6SF3.js → skill-settings-TSZO3X6N.js} +1 -1
- package/chunks/{spawnChannel-FMSYLDKB.js → spawnChannel-2JQYNQKT.js} +1 -1
- package/chunks/{standalone-update-BPZQDQHD.js → standalone-update-QXC3RM6I.js} +1 -1
- package/chunks/{start-opentui-ui-X7XYV5N3.js → start-opentui-ui-BKJ4JHVK.js} +1 -1
- package/chunks/{startInteractiveUI-UZDF4JUB.js → startInteractiveUI-4QIPR7ZY.js} +1 -1
- package/chunks/{team-create-RFZNEF76.js → team-create-5MU6BGXX.js} +1 -1
- package/chunks/{team-plan-approval-MGW3JGSC.js → team-plan-approval-NZUJ6FSA.js} +1 -1
- package/chunks/{terminal-image-renderer-3UED5GZV.js → terminal-image-renderer-CTMJULJ2.js} +1 -1
- package/chunks/{theme-manager-SF6FSSZW.js → theme-manager-6H7GA6QR.js} +1 -1
- package/chunks/{tool-call-W2CJR74U.js → tool-call-XG4CAD5X.js} +1 -1
- package/chunks/{tool-result-media-XSFON2ZQ.js → tool-result-media-RJ5ONO7R.js} +1 -1
- package/chunks/{tool-search-7GY5YTOU.js → tool-search-KBINGEWV.js} +1 -1
- package/chunks/{total-session-admission-OATGW6M5.js → total-session-admission-XNWYCO7G.js} +1 -1
- package/chunks/{trustedFolders-AM4PSGUB.js → trustedFolders-JT5MOB3A.js} +1 -1
- package/chunks/{update-relaunch-YKY52XUT.js → update-relaunch-HXMQI3HO.js} +1 -1
- package/chunks/{updateCheck-RKQ5CPZM.js → updateCheck-XWE3TWL5.js} +1 -1
- package/chunks/{upload-config-CBT7ARZY.js → upload-config-ET7NRHU7.js} +1 -1
- package/chunks/{useAutoAcceptIndicator-Z3YWPUNO.js → useAutoAcceptIndicator-TPMYKNJX.js} +1 -1
- package/chunks/{validateNonInterActiveAuth-7CQHU2RF.js → validateNonInterActiveAuth-U52KMEDS.js} +1 -1
- package/chunks/{version-N2OB6KWP.js → version-CW4RTJ3H.js} +1 -1
- package/chunks/{web-fetch-L5XCBCBA.js → web-fetch-UPMJ3XIZ.js} +1 -1
- package/chunks/{web-search-4EHUA3LJ.js → web-search-PXABWQVC.js} +1 -1
- package/chunks/{workflow-FGAUAYIP.js → workflow-UQ4V3NBZ.js} +1 -1
- package/chunks/{workflow-ancestor-trust-F7RRN6I3.js → workflow-ancestor-trust-QII5KTUJ.js} +1 -1
- package/chunks/{workspace-agents-QW4TKC52.js → workspace-agents-Q3KKMDX2.js} +1 -1
- package/chunks/{workspace-providers-status-MFSZT3YA.js → workspace-providers-status-3ASB64FB.js} +1 -1
- package/chunks/{workspace-registration-store-WQRDSIEI.js → workspace-registration-store-2NPD6U3B.js} +1 -1
- package/chunks/{workspace-registry-FXZFRSCH.js → workspace-registry-6QJKRCDR.js} +1 -1
- package/chunks/{workspace-runtime-coordinator-LJ5YAT3A.js → workspace-runtime-coordinator-ZXUWDQIB.js} +1 -1
- package/chunks/{workspace-service-U632SUWU.js → workspace-service-YPYTYYUN.js} +1 -1
- package/chunks/{workspace-skills-status-M7YXM3LF.js → workspace-skills-status-VTFHQ6R7.js} +1 -1
- package/chunks/{workspace-trust-reconciler-NLJGGI4K.js → workspace-trust-reconciler-52CZVPKH.js} +1 -1
- package/chunks/{write-file-BJCKSXX7.js → write-file-FDBR76G5.js} +1 -1
- package/chunks/{zoom-image-TLJPD4DB.js → zoom-image-MYKWCCXO.js} +1 -1
- package/cli.js +2 -2
- package/execution-worker.js +1 -1
- package/export-transcript-document.js +1 -1
- package/package.json +4 -4
- package/vendor/landlock-run/arm64-linux/qwen-landlock-run +0 -0
- package/vendor/landlock-run/x64-linux/qwen-landlock-run +0 -0
- package/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/vendor/ripgrep/arm64-linux/rg +0 -0
- package/vendor/ripgrep/x64-darwin/rg +0 -0
- package/vendor/ripgrep/x64-linux/rg +0 -0
- package/vendor/tree-sitter/tree-sitter-bash.wasm +0 -0
- package/vendor/tree-sitter/tree-sitter.wasm +0 -0
- package/web-shell/assets/{PierreFilePreview-D9tbdFw8.js → PierreFilePreview-DGTp45Z4.js} +1 -1
- package/web-shell/assets/{SpreadsheetPreview-CeFAk2s-.js → SpreadsheetPreview-DVC_YVei.js} +1 -1
- package/web-shell/assets/{WorkspaceFileBrowser-iaURw8SR.js → WorkspaceFileBrowser-DaQNpS06.js} +1 -1
- package/web-shell/assets/{abnfDiagram-VCTEODGH-Z4CT1NCF.js → abnfDiagram-VCTEODGH-wJbiOoPK.js} +1 -1
- package/web-shell/assets/{agents-route-B7o2Rq-a.js → agents-route-DUhhA1KI.js} +1 -1
- package/web-shell/assets/{arc-DcHBdUJQ.js → arc-CvpNMy1d.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DRDhEC81.js → architectureDiagram-5GKGNRK7-DIhi3dIz.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-CYRE6WIc.js → blockDiagram-NRAW4CY4-CoeyTlVJ.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-CIM8N_Sj.js → c4Diagram-UCG6FXSJ-BYoK_I9M.js} +1 -1
- package/web-shell/assets/channel-DvtGOCg6.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-Bbfka9Fe.js → chunk-2Q5K7J3B-BeD4GwPg.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-C02zF3RY.js → chunk-5VM5RSS4-BpkJsB_y.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-Dn0wRD2F.js → chunk-F27PBJKO-BROEWQ1J.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Dwpl3l0W.js → chunk-G27WJ6UU-DA8Wtppt.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-sQbzSoTR.js → chunk-JWPE2WC7-GqB-QFh5.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DNlNDtfr.js → chunk-LCL6LL3I-DIPUwYsX.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-BOgf1Dl3.js → chunk-POPQ4Y6H-DbnU-jxX.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DOofWP00.js → chunk-SVP7TREG-DvH7bQ-w.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-Bj9FxhWU.js → chunk-XXDRQBXY-DdVWVo3U.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-9NR5W1rE.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-9NR5W1rE.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CUlPjyww.js → cose-bilkent-JH36ORCC-JgMKxP9H.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-5noArzI7.js → cynefin-OW5HDTMX-BVUpNgVm.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DELvTqmf.js → cynefinDiagram-5FMLGOSQ-CxAdk-iS.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-CAL6Z3hL.js → dagre-3AP2YEHR-CvXWkM86.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DQC2gaIi.js → diagram-S7CK7UJ4-DD_PS4nm.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-CkU6M-3R.js → diagram-UQ7AKVKN-EVZkTODD.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-CvHpHwVx.js → diagram-VSXAHHWV-CGZc1pZU.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-D9l5F9iB.js → diagram-VX7I27RA-DjNql499.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-DW-VFvYx.js → diagram-Z3DM3KII-CCa0WtmR.js} +1 -1
- package/web-shell/assets/{docx-preview-8MQfOGQh.js → docx-preview-DpVElxvj.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-C0Q71wC_.js → ebnfDiagram-PWID7BFC-W2hoOJZF.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-DWDLRh1S.js → erDiagram-SSCWMZ5O-Dz5NxxEb.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CVzJnl1P.js → flowDiagram-A5DVABFB-BTMAn8b5.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-B320pcgR.js → ganttDiagram-EL5Y4UJY-BaFrd5ZY.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Di4uZh-J.js → gitGraphDiagram-WWUBYQGX-IlmdUqRk.js} +1 -1
- package/web-shell/assets/{index-Csr8Hx_O.js → index-C2ez0ZjE.js} +1 -1
- package/web-shell/assets/{index-C9BecA_H.js → index-Cs-XBNmB.js} +101 -101
- package/web-shell/assets/{infoDiagram-RXCK75RN-CbafhxET.js → infoDiagram-RXCK75RN-BHs9kpar.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DrQuIDeR.js → ishikawaDiagram-5VMMS53U-DWCEQ85v.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BschmjBj.js → journeyDiagram-EYS64GPL-RTDAw9yc.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-B7x9BU9N.js → kanban-definition-3QL26DDD-B7Nl9bq6.js} +1 -1
- package/web-shell/assets/{layout-BewPaOyO.js → layout-BabjFEb1.js} +1 -1
- package/web-shell/assets/{linear-CnLILCVp.js → linear-CZuGjuQd.js} +1 -1
- package/web-shell/assets/{mermaid.core-Csj9KPfJ.js → mermaid.core-CK78bIGt.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-CIGTi5gg.js → mindmap-definition-FBJOCRG2-BbcCi_jP.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CuWBRQzb.js → pegDiagram-XKGWAZYB-DpLQ7u8i.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-Co5ukXCE.js → pieDiagram-E7YTZNPT-BpWFVtM0.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-B0hzjh6o.js → quadrantDiagram-AXDQQJYC-CGzYlaN1.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-nhkJB0xD.js → railroadDiagram-O6MQD6OU-BNQYW-Zi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C7NpxjVR.js → requirementDiagram-EFPCY7ZU-C4fCdIDW.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CUWlnhZC.js → sankeyDiagram-P5KCCOFB-BvbbAnMA.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BoykH0_J.js → sequenceDiagram-WJ2MYXX4-DGXNc6E1.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-aF-PkSe5.js → sizeCapture-X5ZJPWSS-C4W45Xf5.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-g5q0b922.js → stateDiagram-HBIQ2CUA-D3q0fen-.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-XKoYIi05.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-BbASszfe.js → swimlanes-XN3QIQJK-D8n-ResR.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C7qJMSzs.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-AXIV0TJJ.js → timeline-definition-24CTP7MA-Cio4y1mM.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-B-E0rj1h.js → vennDiagram-4TSXK5OY-DVlg0xnc.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DiOOYJ2D.js → wardleyDiagram-VM6X3IG4-CgeIsimQ.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-De_z7HkS.js → xychartDiagram-S5SC5T6Z-UXjyTLnU.js} +1 -1
- package/web-shell/index.html +1 -1
- package/web-shell/sw.js +1 -1
- package/web-shell/assets/channel-Bwr9aS_E.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-BmY8Mmyo.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-BmY8Mmyo.js +0 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CTOjUMow.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bz6ia3oL.js +0 -8
package/web-shell/assets/{WorkspaceFileBrowser-iaURw8SR.js → WorkspaceFileBrowser-DaQNpS06.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Ih=Object.defineProperty;var Ja=e=>{throw TypeError(e)};var wh=(e,t,n)=>t in e?Ih(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var yt=(e,t,n)=>wh(e,typeof t!="symbol"?t+"":t,n),fs=(e,t,n)=>t.has(e)||Ja("Cannot "+n);var l=(e,t,n)=>(fs(e,t,"read from private field"),n?n.call(e):t.get(e)),N=(e,t,n)=>t.has(e)?Ja("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),k=(e,t,n,r)=>(fs(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),y=(e,t,n)=>(fs(e,t,"access private method"),n);import{an as Sh,ao as Ch,r as T,j as M,ap as Uc,u as _h,aq as kh,ai as Ph,ar as Eh,as as Dh,a2 as Mh,a3 as Th,a5 as Nh,a6 as yn,at as Ah,au as Rh,av as zh,aw as Lh,z as Fh,A as Vh,H as Bh,I as jh,J as Hh,ax as wo,ay as Oh,N as Qa,Q as $h,B as on,az as qh,aA as Uh,aB as Wh,aC as Kh,aD as Gh,aE as Xh,aF as Yh,aG as Jh,aH as Qh,aI as Zh,aJ as ef,aK as tf,aL as nf,aM as Za,aN as rf,X as el,s as of}from"./index-
|
|
1
|
+
var Ih=Object.defineProperty;var Ja=e=>{throw TypeError(e)};var wh=(e,t,n)=>t in e?Ih(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var yt=(e,t,n)=>wh(e,typeof t!="symbol"?t+"":t,n),fs=(e,t,n)=>t.has(e)||Ja("Cannot "+n);var l=(e,t,n)=>(fs(e,t,"read from private field"),n?n.call(e):t.get(e)),N=(e,t,n)=>t.has(e)?Ja("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),k=(e,t,n,r)=>(fs(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),y=(e,t,n)=>(fs(e,t,"access private method"),n);import{an as Sh,ao as Ch,r as T,j as M,ap as Uc,u as _h,aq as kh,ai as Ph,ar as Eh,as as Dh,a2 as Mh,a3 as Th,a5 as Nh,a6 as yn,at as Ah,au as Rh,av as zh,aw as Lh,z as Fh,A as Vh,H as Bh,I as jh,J as Hh,ax as wo,ay as Oh,N as Qa,Q as $h,B as on,az as qh,aA as Uh,aB as Wh,aC as Kh,aD as Gh,aE as Xh,aF as Yh,aG as Jh,aH as Qh,aI as Zh,aJ as ef,aK as tf,aL as nf,aM as Za,aN as rf,X as el,s as of}from"./index-Cs-XBNmB.js";/**
|
|
2
2
|
* @license lucide-react v1.24.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
package/web-shell/assets/{abnfDiagram-VCTEODGH-Z4CT1NCF.js → abnfDiagram-VCTEODGH-wJbiOoPK.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-DvH7bQ-w.js";import{p as f}from"./chunk-JWPE2WC7-GqB-QFh5.js";import{_ as n,l as o}from"./mermaid.core-CK78bIGt.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-BVUpNgVm.js";import"./index-Cs-XBNmB.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as P,r as i,j as e,z as Ne,A as we,H as ke,I as Se,J as Ce,K as be,L as se,M as ae,N as Y,O as Fe,Q as _e,B as k,U as Re,X as qe,Y as Ae,Z as ie,_ as Ie,$ as Le,a0 as ce,a1 as ye,a2 as He,a3 as $e,a4 as Me,a5 as De,a6 as ee,a7 as Te,a8 as de,a9 as ue,aa as me,ab as xe,ac as he,ad as te,ae as Oe,af as We,ag as Be,ah as Je,ai as Ge,aj as Ke,ak as fe,al as Qe,am as Ve}from"./index-C9BecA_H.js";const Ze=/^[A-Za-z0-9_-]{1,256}$/;function Xe(n){let r;try{r=new URL(n.trim())}catch{return}const u=r.pathname.lastIndexOf("/join/"),[f,...m]=u>=0?r.pathname.slice(u+6).split("/"):[];if(r.protocol!=="http:"&&r.protocol!=="https:"||r.username||r.password||r.search||r.hash||!f||m.some(Boolean)||!Ze.test(f))return;const b=r.pathname.slice(0,u).replace(/\/+$/,"");return{serverUrl:`${r.origin}${b}`,workspaceId:f}}function Ye(n,r,u){return`QWEN_AGENT_HOST_ENROLLMENT_TOKEN=${ne("<token>")} qwen agents join ${ne(n.trim())}${u?" --allow-http":""}`}function es(n,r,u,f){if(!n.some(m=>m.id===u))return n.find(m=>m.kind==="external"&&m.status==="online"&&(f?m.id===f:!r.has(m.id)))}function pe(n){return new Set(n.filter(r=>r.status==="online").map(r=>r.id))}const Ee=new Set(["localhost","127.0.0.1","[::1]","::1"]);function ne(n){return`'${n.replaceAll("'",`'"'"'`)}'`}function ze(n){const r=new URL(n);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash)throw new Error("Invalid coordinator address.");return r}function ss(n,r){const u=ze(n),m=`${`${u.origin}${u.pathname.replace(/\/+$/,"")}`}/join/${encodeURIComponent(r.workspaceId)}`,b=u.protocol==="http:"&&!Ee.has(u.hostname),p=`QWEN_AGENT_HOST_ENROLLMENT_TOKEN=${ne(r.token)}`,j=`serve --no-web --port 0 --join ${ne(m)}${b?" --agent-host-allow-http":""}`;return{qwen:`${p} qwen ${j}`,npx:`${p} npx -y @qwen-code/qwen-code@latest ${j}`,insecure:b}}function re({text:n}){const{t:r}=P(),[u,f]=i.useState(!1);return e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/40 py-1.5 pr-1.5 pl-3",children:[e.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:n}),e.jsxs(k,{size:"sm",variant:"outline",onClick:()=>{qe(n).then(()=>f(!0),m=>Ae(m))},children:[e.jsx(Re,{"aria-hidden":"true"}),r(u?"collab.runtime.copied":"collab.runtime.copy")]})]})}function ts({open:n,onOpenChange:r,serverUrl:u,runtimes:f,onCreateJoinToken:m,onConnectExisting:b,onJoinCoordinator:p,onCreateAgentOn:j,replacementTarget:h}){const{t}=P(),[g,y]=i.useState("command"),[S,q]=i.useState(""),[x,N]=i.useState(""),[H,C]=i.useState(!1),[c,R]=i.useState(),w=i.useMemo(()=>Xe(S),[S]),a=p?["command","existing","join"]:["command","existing"],[A,G]=i.useState(u),[I,K]=i.useState(),[$,F]=i.useState(),[Q,E]=i.useState(),[z,L]=i.useState(!1),[V,X]=i.useState(()=>Date.now()),M=h?.id,s=i.useMemo(()=>{if($)return M?es(f,$.known,M,I?.replacementHostId):f.find(d=>d.kind==="external"&&d.status==="online"&&!$.known.has(d.id))},[M,f,$,I?.replacementHostId]),_=n&&$!==void 0&&!s;i.useEffect(()=>{if(!_)return;const d=setInterval(()=>X(Date.now()),1e3);return()=>clearInterval(d)},[_]);const T=i.useMemo(()=>{if(I)try{return ss(A,I)}catch{return}},[A,I]),U=async()=>{L(!0),E(void 0);try{if(!je(A))throw new Error(t("collab.runtime.badAddress"));K(await m(M)),F({at:Date.now(),known:M?new Set(f.map(d=>d.id)):pe(f)})}catch(d){E(d instanceof Error?d.message:String(d))}finally{L(!1)}},O=async d=>{if(d.preventDefault(),!b)return;const D=new FormData(d.currentTarget);L(!0),E(void 0);const o=pe(f);try{await b({remoteUrl:String(D.get("remoteUrl")),remoteToken:String(D.get("remoteToken")),remoteCwd:String(D.get("remoteCwd")),serverUrl:A,allowHttp:D.get("allowHttp")==="on"})&&F({at:Date.now(),known:o})}finally{L(!1)}},W=async d=>{if(d.preventDefault(),!!p){if(!w){E(t("collab.runtime.joinBadLink"));return}L(!0),E(void 0);try{await p({serverUrl:w.serverUrl,workspaceId:w.workspaceId,enrollmentToken:x.trim(),allowHttp:H})&&(R(w.serverUrl),N(""))}catch(D){E(D instanceof Error?D.message:String(D))}finally{L(!1)}}},B=I?Math.max(0,Math.ceil((I.expiresAt-V)/6e4)):0,Z=I&&B>0?I:void 0,J=d=>{!d&&s&&(K(void 0),F(void 0)),!d&&c&&(R(void 0),q("")),r(d)};return e.jsx(Ne,{open:n,onOpenChange:J,children:e.jsxs(we,{className:"grid-cols-[minmax(0,1fr)] sm:max-w-xl",children:[e.jsxs(ke,{children:[e.jsx(Se,{children:h?t("collab.runtime.replaceTitle",{name:h.label}):t("collab.runtime.addTitle")}),e.jsx(Ce,{children:h?t("collab.runtime.replaceDescription",{name:h.label}):t("collab.runtime.addDescription")})]}),h?e.jsx("p",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-muted-foreground",children:t("collab.runtime.replaceEffects")}):null,!s&&h&&I?.replacementHostId?e.jsx("p",{role:"status",className:"text-sm text-muted-foreground",children:t("collab.runtime.replaceRecovery",{name:h.label,id:h.id})}):null,c?e.jsxs("div",{role:"status",className:"flex items-center gap-3 rounded-md border border-[var(--status-done-fg)]/30 bg-[var(--status-done-bg)] p-3",children:[e.jsx(be,{"aria-hidden":"true",className:"size-5 shrink-0 text-[var(--status-done-fg)]"}),e.jsx("p",{className:"min-w-0 font-medium break-all",children:t("collab.runtime.joinConnected",{server:c})})]}):s?e.jsx("div",{className:"flex flex-col gap-3",children:e.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-[var(--status-done-fg)]/30 bg-[var(--status-done-bg)] p-3",children:[e.jsx(be,{"aria-hidden":"true",className:"size-5 shrink-0 text-[var(--status-done-fg)]"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-medium",children:h?t("collab.runtime.replaced",{oldName:h.label,name:s.label}):t("collab.runtime.connected",{name:s.label})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.offers",{programs:se(s).map(ae).join(", ")})}),h?e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.replaceCompleted")}):null]})]})}):e.jsxs(e.Fragment,{children:[h?null:e.jsx("div",{role:"tablist",className:"flex gap-4 border-b border-border text-sm",children:a.map(d=>e.jsx("button",{type:"button",role:"tab","aria-selected":g===d,onClick:()=>y(d),className:`-mb-px border-b-2 pb-2 ${g===d?"border-foreground font-medium":"border-transparent text-muted-foreground"}`,children:t(d==="command"?"collab.runtime.methodCommand":d==="existing"?"collab.runtime.methodExisting":"collab.runtime.methodJoin")},d))}),g==="join"&&!h?null:e.jsxs("label",{className:"flex flex-col gap-1.5 text-sm",children:[e.jsx("span",{className:"font-medium",children:t("collab.runtime.address")}),e.jsx(Y,{value:A,onChange:d=>G(d.target.value),disabled:I!==void 0}),e.jsx("span",{className:"text-xs text-muted-foreground",children:Ee.has(je(A))?t("collab.runtime.loopbackHint"):t("collab.runtime.addressHint")})]}),h||g==="command"?Z&&T?e.jsxs("div",{className:"flex flex-col gap-3 text-sm",children:[e.jsx("p",{className:"font-medium",children:t("collab.runtime.runThis")}),e.jsx(re,{text:T.qwen}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.noQwen")}),e.jsx(re,{text:T.npx}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[t("collab.runtime.expires",{minutes:B}),T.insecure&&` ${t("collab.runtime.httpHint")}`]}),e.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-dashed border-border p-3",children:[e.jsx(Fe,{"aria-hidden":"true",className:"size-4 shrink-0 animate-spin text-muted-foreground motion-reduce:animate-none"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("collab.runtime.waiting")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.waitingFor",{seconds:Math.max(0,Math.floor((V-($?.at??V))/1e3))})})]})]})]}):null:g==="join"?e.jsxs("form",{id:"join-coordinator",className:"flex flex-col gap-3 text-sm",onSubmit:d=>void W(d),children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.joinDescription")}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.joinLink"),e.jsx(Y,{name:"joinLink",required:!0,value:S,onChange:d=>q(d.target.value),placeholder:"https://coordinator:4170/join/<workspace>","aria-invalid":S.trim()!==""&&!w?!0:void 0})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.joinToken"),e.jsx(Y,{name:"enrollmentToken",type:"password",autoComplete:"off",required:!0,value:x,onChange:d=>N(d.target.value)})]}),e.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("input",{type:"checkbox",name:"allowHttp",checked:H,onChange:d=>C(d.target.checked)}),t("collab.runtime.allowHttp")]}),w?e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.joinCli")}),e.jsx(re,{text:Ye(S,"",H)})]}):null]}):e.jsxs("form",{id:"connect-existing-runtime",className:"flex flex-col gap-3 text-sm",onSubmit:d=>void O(d),children:[e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteUrl"),e.jsx(Y,{name:"remoteUrl",type:"url",required:!0,placeholder:"http://192.168.1.20:4170"})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteToken"),e.jsx(Y,{name:"remoteToken",type:"password",autoComplete:"off",required:!0})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteCwd"),e.jsx(Y,{name:"remoteCwd",required:!0,placeholder:"/home/me/project"})]}),e.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("input",{type:"checkbox",name:"allowHttp"}),t("collab.runtime.allowHttp")]})]})]}),Q&&e.jsx("p",{role:"alert",className:"text-sm text-destructive",children:Q}),e.jsx(_e,{children:c?e.jsx(k,{variant:"outline",onClick:()=>J(!1),children:t("collab.runtime.done")}):s?e.jsxs(e.Fragment,{children:[e.jsx(k,{variant:"outline",onClick:()=>J(!1),children:t("collab.runtime.done")}),j&&e.jsx(k,{onClick:()=>{J(!1),j(s.id)},children:t("collab.runtime.createAgentOn",{name:s.label})})]}):h||g==="command"?Z?e.jsx(k,{variant:"outline",onClick:()=>r(!1),children:t("collab.runtime.closeKeepLink")}):e.jsx(k,{disabled:z,onClick:()=>void U(),children:t(h&&I?"collab.runtime.refreshReplacement":"collab.runtime.generate")}):g==="join"?e.jsx(k,{type:"submit",form:"join-coordinator",disabled:z||!w||!x.trim(),children:t("collab.runtime.connect")}):e.jsx(k,{type:"submit",form:"connect-existing-runtime",disabled:z||!b,children:t("collab.runtime.connect")})})]})})}function je(n){try{return ze(n).hostname}catch{return""}}const as=new Set(["localhost","127.0.0.1","[::1]"]);function ns(n){try{return as.has(new URL(n).hostname)}catch{return!1}}function ls(n){const r=JSON.stringify({jsonrpc:"2.0",id:1,method:"SendMessage",params:{message:{role:"ROLE_USER",messageId:"hello-1",parts:[{text:"Hello! What can you help with?"}]}}});return[`curl -s ${n.endpoint}`,"-H 'A2A-Version: 1.0'",`-H 'Authorization: Bearer ${n.secret}'`,`-H 'x-qwen-workspace-id: ${n.workspaceId}'`,`-H 'x-qwen-caller-id: ${n.callerId}'`,`-H 'x-qwen-agent-id: ${n.agentId}'`,"-H 'content-type: application/json'",`-d '${r}'`].join(" ")}function oe({label:n,text:r}){const{t:u}=P(),[f,m]=i.useState(!1);return e.jsxs("div",{className:"flex flex-col gap-1.5 text-sm",children:[e.jsx("span",{className:"font-medium",children:n}),e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/40 py-1.5 pr-1.5 pl-3",children:[e.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:r}),e.jsxs(k,{size:"sm",variant:"outline",onClick:()=>void qe(r).then(()=>m(!0),b=>Ae(b)),children:[e.jsx(Re,{"aria-hidden":"true"}),u(f?"collab.share.copied":"collab.share.copy")]})]})]})}function rs({agentName:n,open:r,onOpenChange:u,onCreate:f,onList:m,onRevoke:b}){const{t:p}=P(),[j,h]=i.useState(),[t,g]=i.useState([]),[y,S]=i.useState(),[q,x]=i.useState(!1),N=i.useRef(m);N.current=m,i.useEffect(()=>{r&&(h(void 0),S(void 0),N.current().then(g,()=>g([])))},[r]);const H=async C=>{x(!0),S(void 0);try{await C(),g(await N.current())}catch(c){S(c instanceof Error?c.message:String(c))}finally{x(!1)}};return e.jsx(Ne,{open:r,onOpenChange:u,children:e.jsxs(we,{className:"grid-cols-[minmax(0,1fr)] sm:max-w-xl",children:[e.jsxs(ke,{children:[e.jsx(Se,{children:p("collab.share.title",{name:n})}),e.jsx(Ce,{children:p("collab.share.description")})]}),j&&e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(oe,{label:p("collab.share.endpoint"),text:j.endpoint}),e.jsx(oe,{label:p("collab.share.token"),text:j.secret}),e.jsx(oe,{label:p("collab.share.try"),text:ls(j)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j.expiresAt?p("collab.share.onceUntil",{date:new Date(j.expiresAt).toLocaleDateString()}):p("collab.share.once")}),ns(j.endpoint)&&e.jsx("p",{role:"alert",className:"text-xs text-destructive",children:p("collab.share.loopback")})]}),t.length>0&&e.jsxs("div",{className:"flex flex-col gap-1 text-sm",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:p("collab.share.active",{count:t.length})}),t.map(C=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2 py-1 hover:bg-muted",children:[e.jsxs("span",{className:"min-w-0 flex-1 truncate",children:[C.callerId,e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:C.expiresAt?p("collab.share.until",{date:new Date(C.expiresAt).toLocaleDateString()}):""})]}),e.jsx(k,{size:"sm",variant:"ghost",disabled:q,onClick:()=>void H(()=>b(C.callerId)),children:p("collab.share.revoke")})]},C.callerId))]}),y&&e.jsx("p",{role:"alert",className:"text-sm text-destructive",children:y}),e.jsx(_e,{children:j?e.jsx(k,{onClick:()=>u(!1),children:p("collab.share.done")}):e.jsx(k,{disabled:q,onClick:()=>void H(async()=>h(await f())),children:p("collab.share.create")})})]})})}const os="_formActions_1dh4x_4",is="_field_1dh4x_11",cs="_roster_1dh4x_33",ds="_agentCard_1dh4x_39",us="_agentRow_1dh4x_44",ms="_agentRowDisabled_1dh4x_51",xs="_agentMain_1dh4x_55",hs="_agentTitleLine_1dh4x_63",bs="_statusBadge_1dh4x_70",fs="_agentActions_1dh4x_84",ps="_agentConfig_1dh4x_93",js="_configLabel_1dh4x_101",gs="_configNote_1dh4x_108",vs="_runtimeCard_1dh4x_116",Ns="_runtimeHeader_1dh4x_127",ws="_runtimeTitle_1dh4x_131",ks="_runtimeStatus_1dh4x_137",Ss="_runtimeFacts_1dh4x_147",Cs="_fieldHint_1dh4x_182",_s="_squadTile_1dh4x_188",Rs="_squadRoster_1dh4x_208",qs="_squadRosterRow_1dh4x_223",As="_squadRosterWho_1dh4x_231",Is="_squadRosterName_1dh4x_267",Ls="_squadRosterRole_1dh4x_275",ys="_squadMemberPicker_1dh4x_282",Hs="_squadMemberLegend_1dh4x_292",$s="_squadMemberRow_1dh4x_301",Ms="_squadMemberName_1dh4x_309",l={formActions:os,field:is,roster:cs,agentCard:ds,agentRow:us,agentRowDisabled:ms,agentMain:xs,agentTitleLine:hs,statusBadge:bs,agentActions:fs,agentConfig:ps,configLabel:js,configNote:gs,runtimeCard:vs,runtimeHeader:Ns,runtimeTitle:ws,runtimeStatus:ks,runtimeFacts:Ss,fieldHint:Cs,squadTile:_s,squadRoster:Rs,squadRosterRow:qs,squadRosterWho:As,squadRosterName:Is,squadRosterRole:Ls,squadMemberPicker:ys,squadMemberLegend:Hs,squadMemberRow:$s,squadMemberName:Ms};function Ds(n){return n.filter(r=>!r.retiredAt)}function ge({squad:n,agents:r,pending:u,onSubmit:f,onCancel:m}){const{t:b}=P(),p=Ds(r),j=i.useId(),[h,t]=i.useState(n?.name??""),[g,y]=i.useState(n&&!n.leaderIssue?n.leaderAgentId:""),[S,q]=i.useState(()=>new Map((n?.members??[]).map(c=>[c.agentId,c.role??""]))),x=p.filter(c=>c.id!==g),N=c=>{c.preventDefault();const R=new FormData(c.currentTarget),w=a=>{const A=String(R.get(a)??"").trim();return A===""?null:A};f({name:h.trim(),description:w("description"),instructions:w("instructions"),leaderAgentId:g,members:[...S].filter(([a])=>a!==g).map(([a,A])=>({agentId:a,...A.trim()?{role:A.trim()}:{}}))})},H=`${j}-name-hint`,C=h.trim();return e.jsxs("form",{className:l.agentConfig,onSubmit:N,"data-testid":"squad-form",children:[e.jsxs("div",{className:l.configLabel,children:[e.jsx("label",{htmlFor:`${j}-name`,children:b("collab.squad.name")}),e.jsx("input",{id:`${j}-name`,className:l.field,name:"name",required:!0,maxLength:48,"aria-describedby":H,value:h,onChange:c=>t(c.target.value)}),e.jsx("span",{id:H,className:l.fieldHint,children:C?b("collab.squad.calledAs",{name:C}):b("collab.squad.nameHint")})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.leader"),e.jsxs("select",{className:l.field,required:!0,value:g,onChange:c=>{const R=c.target.value;if(y(R),S.has(R)){const w=new Map(S);w.delete(R),q(w)}},children:[e.jsx("option",{value:"",disabled:!0,children:b("collab.squad.leaderPick")}),p.filter(c=>c.enabled).map(c=>e.jsx("option",{value:c.id,children:c.name},c.id))]})]}),e.jsxs("fieldset",{className:l.squadMemberPicker,children:[e.jsx("legend",{className:l.squadMemberLegend,children:b("collab.squad.members")}),x.map(c=>{const R=S.has(c.id);return e.jsxs("div",{className:l.squadMemberRow,children:[e.jsx("input",{id:`${j}-member-${c.id}`,type:"checkbox",checked:R,onChange:w=>{const a=new Map(S);w.target.checked?a.set(c.id,""):a.delete(c.id),q(a)}}),e.jsx(he,{name:c.name,color:c.color}),e.jsx("label",{htmlFor:`${j}-member-${c.id}`,className:l.squadMemberName,children:c.name}),R?e.jsx("input",{className:l.field,"aria-label":`${c.name} ${b("collab.squad.role")}`,placeholder:b("collab.squad.role"),maxLength:200,value:S.get(c.id)??"",onChange:w=>{const a=new Map(S);a.set(c.id,w.target.value),q(a)}}):null]},c.id)})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.instructions"),e.jsx("textarea",{className:l.field,name:"instructions",rows:3,defaultValue:n?.instructions??""})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.description"),e.jsx("input",{className:l.field,name:"description",defaultValue:n?.description??""})]}),e.jsxs("div",{className:l.formActions,children:[e.jsx(k,{type:"button",variant:"ghost",size:"sm",onClick:m,children:b("collab.form.cancel")}),e.jsx(k,{type:"submit",size:"sm",disabled:u||g==="",children:b("collab.squad.save")})]})]})}function Ue(){const{t:n}=P();return e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(Ie,{})}),e.jsx(xe,{children:n("collab.squad.empty")})]})})}function ve({name:n,color:r,role:u,leader:f}){const{t:m}=P(),b=f?m("collab.squad.leads"):u;return e.jsxs("li",{className:l.squadRosterRow,"data-squad-role":f?"leader":"member",children:[e.jsxs("span",{className:l.squadRosterWho,children:[e.jsx(he,{name:n,color:r}),e.jsx("span",{className:l.squadRosterName,children:n})]}),b?e.jsx("span",{className:l.squadRosterRole,children:b}):null]})}function Ts({squads:n,agents:r,pending:u,creating:f,onCreatingChange:m,onCreate:b,onUpdate:p,onRetire:j,onMention:h}){const{t}=P(),[g,y]=i.useState(),S=n.filter(x=>!x.retiredAt),q=x=>r.find(N=>N.id===x)?.color;return e.jsxs("section",{className:l.roster,"data-testid":"squads-section",children:[f?e.jsx(ie,{size:"sm",className:l.agentCard,children:e.jsx(ge,{agents:r,pending:u,onCancel:()=>m(!1),onSubmit:async x=>{await b(x)&&m(!1)}})}):null,S.length===0&&!f?e.jsx(Ue,{}):null,S.map(x=>e.jsxs(ie,{size:"sm",className:x.leaderIssue?`${l.agentCard} ${l.agentRowDisabled}`:l.agentCard,"data-testid":"squad-card",children:[e.jsxs("div",{className:l.agentRow,children:[e.jsx("span",{className:l.squadTile,"aria-hidden":"true",children:e.jsx(Ie,{})}),e.jsxs("div",{className:l.agentMain,children:[e.jsxs("div",{className:l.agentTitleLine,children:[e.jsx(Le,{className:"min-w-0 truncate",children:x.name}),x.leaderIssue?e.jsx(ce,{variant:"secondary",className:l.statusBadge,"data-status":"error",children:x.leaderIssue==="disabled"?t("collab.squad.leaderPaused"):t("collab.squad.needsLeader")}):null]}),x.description?e.jsx(ye,{className:"truncate text-xs",children:x.description}):null,e.jsxs("ul",{className:l.squadRoster,children:[x.leaderName?e.jsx(ve,{name:x.leaderName,color:q(x.leaderAgentId),leader:!0}):null,x.members.map(N=>e.jsx(ve,{name:N.name,color:q(N.agentId),role:N.role},N.agentId))]})]}),e.jsxs("div",{className:l.agentActions,children:[h?e.jsx(k,{variant:"outline",size:"sm",disabled:!!x.leaderIssue||u,onClick:()=>h(x.name),children:t("collab.agent.mentionIt")}):null,e.jsxs(He,{children:[e.jsx($e,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"icon-sm","aria-label":t("collab.agent.more",{name:x.name}),children:e.jsx(Me,{"aria-hidden":"true"})})}),e.jsxs(De,{align:"end",className:"min-w-40",children:[e.jsx(ee,{disabled:u,onSelect:()=>y(x.id),children:t("collab.squad.edit")}),e.jsx(Te,{}),e.jsx(ee,{variant:"destructive",disabled:u,onSelect:()=>{window.confirm(t("collab.squad.retireConfirm",{name:x.name}))&&j(x.id)},children:t("collab.squad.retire")})]})]})]})]}),g===x.id?e.jsx(ge,{squad:x,agents:r,pending:u,onCancel:()=>y(void 0),onSubmit:async N=>{await p(x.id,N)&&y(void 0)}}):null]},x.id))]})}const Es=new Set(["online","idle","working","offline","error"]);function zs({agents:n,runtimes:r,view:u,onViewChange:f,onMentionAgent:m,onDeleteAgent:b,onSetAgentEnabled:p,onUpdateAgent:j,onOpenAgentBuilder:h,onOpenDefinitions:t,onCreateJoinToken:g,onRemoveRuntime:y,onConnectRemoteHost:S,onJoinCoordinator:q,hostServerUrl:x,shares:N,squads:H,pending:C}){const c=r??[],[R,w]=i.useState(),{t:a}=P(),[A,G]=i.useState(!1),[I,K]=i.useState(),[$,F]=i.useState(),[Q,E]=i.useState(!1),z=s=>Es.has(s)?a(`collab.agentStatus.${s}`):s,L=s=>!s||s.kind==="local"?a("collab.agent.thisComputer"):s.label,V=s=>`${ae(s.execution?.provider)} · ${L(s.runtime)}`,X=s=>_=>{if(_.preventDefault(),!j)return;const T=new FormData(_.currentTarget),U=o=>{const v=String(T.get(o)??"").trim();return v===""?null:v},O=String(T.get("maxConcurrentRuns")??"").trim(),W=T.getAll("executionHostId").map(o=>String(o)),B=n.find(o=>o.id===s),Z=B?.execution?.mode==="managed-host"?B.execution.hostIds:[],J=W.length!==Z.length||W.some(o=>!Z.includes(o)),d=B?.execution?.provider,D=c.find(o=>o.kind==="local");j(s,{description:U("description"),model:U("model"),agentType:U("agentType"),instructions:U("instructions"),maxConcurrentRuns:O===""?null:Number(O),...J?{execution:W.length>0?{mode:"managed-host",hostIds:W,...d?{provider:d}:{}}:{mode:"local",...d&&D&&se(D).includes(d)?{provider:d}:{}}}:{}}),w(void 0)},M=s=>{f(s),w(void 0),E(!1)};return e.jsxs("div",{className:"flex w-full flex-col gap-6",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h1",{className:"text-xl font-semibold text-balance",children:a("agents.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:a(`collab.tabs.${u}Hint`)})]}),e.jsxs("div",{className:"flex shrink-0 gap-2",children:[u==="agents"&&t?e.jsx(k,{variant:"outline",onClick:t,children:a("collab.agent.roles")}):null,u==="agents"&&h?e.jsxs(k,{onClick:()=>h(),children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.agent.new")]}):null,u==="squads"&&H?e.jsxs(k,{disabled:C,onClick:()=>E(!0),children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.squad.new")]}):null,u==="runtime"&&g?e.jsxs(k,{variant:"outline",disabled:C,onClick:()=>{K(void 0),G(!0)},children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.runtime.addTitle")]}):null]})]}),e.jsx(Oe,{type:"single",value:u,onValueChange:s=>{s&&M(s)},variant:"outline",size:"sm","aria-label":a("agents.title"),children:["agents","squads","runtime"].map(s=>e.jsx(We,{value:s,children:a(`collab.tabs.${s}`)},s))}),e.jsxs("div",{className:"contents",children:[e.jsx("section",{className:l.roster,hidden:u!=="agents",children:n.length===0?e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(te,{})}),e.jsx(xe,{children:a("collab.agent.empty")})]})}):n.map(s=>e.jsxs(ie,{size:"sm",className:s.enabled&&!s.retiredAt?l.agentCard:`${l.agentCard} ${l.agentRowDisabled}`,children:[e.jsxs("div",{className:l.agentRow,children:[e.jsx(he,{name:s.name,color:s.color,size:"md"}),e.jsxs("div",{className:l.agentMain,children:[e.jsxs("div",{className:l.agentTitleLine,children:[e.jsx(Le,{className:"min-w-0 truncate",children:s.name}),e.jsx(ce,{variant:"secondary",className:l.statusBadge,"data-status":s.retiredAt||!s.enabled?"off":s.status,children:s.retiredAt?a("collab.agentStatus.retired"):s.enabled?z(s.status):a("collab.agentStatus.paused")}),s.waiting?e.jsx(ce,{variant:"outline",className:"text-[10px]",children:a("collab.agent.waiting",{count:s.waiting})}):null]}),e.jsx(ye,{className:"truncate text-xs",children:s.description||"—"}),e.jsx("span",{className:"truncate text-xs text-muted-foreground",children:V(s)})]}),s.retiredAt?null:e.jsxs("div",{className:l.agentActions,children:[m?e.jsx(k,{variant:"outline",size:"sm",disabled:!s.enabled||C,onClick:()=>m(s.name),children:a("collab.agent.mentionIt")}):null,e.jsxs(He,{children:[e.jsx($e,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"icon-sm","aria-label":a("collab.agent.more",{name:s.name}),children:e.jsx(Me,{"aria-hidden":"true"})})}),e.jsxs(De,{align:"end",className:"min-w-40",children:[j?e.jsx(ee,{onSelect:()=>w({id:s.id,hostIds:s.execution?.mode==="managed-host"?[...s.execution.hostIds]:[]}),children:a("collab.agent.configure")}):null,N?e.jsx(ee,{onSelect:()=>F({id:s.id,name:s.name}),children:a("collab.agent.share")}):null,e.jsx(ee,{disabled:C,onSelect:()=>p(s.id,!s.enabled),children:s.enabled?a("collab.agent.pause"):a("collab.agent.resume")}),e.jsx(Te,{}),e.jsx(ee,{variant:"destructive",disabled:s.status==="working"||s.waiting>0,onSelect:()=>{window.confirm(a("collab.agent.retireConfirm",{name:s.name}))&&b(s.id)},children:a("collab.agent.retire")})]})]})]})]}),R?.id===s.id&&j?e.jsxs("form",{className:l.agentConfig,onSubmit:X(s.id),children:[e.jsxs("label",{className:l.configLabel,children:[a("collab.config.description"),e.jsx("input",{className:l.field,name:"description",defaultValue:s.description??"",placeholder:a("collab.config.descriptionHint")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.instructions"),e.jsx("textarea",{className:l.field,name:"instructions",rows:4,defaultValue:s.instructions??"",placeholder:a("collab.config.instructionsHint")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.agentType"),e.jsx("input",{className:l.field,name:"agentType",disabled:R.hostIds.length>0,defaultValue:s.agentType??"",placeholder:a("collab.config.workspaceDefault")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.model"),e.jsx("input",{className:l.field,name:"model",disabled:R.hostIds.length>0,defaultValue:s.model??"",placeholder:a("collab.config.workspaceDefault")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.maxRuns"),e.jsx("input",{className:l.field,name:"maxConcurrentRuns",type:"number",min:1,max:8,defaultValue:s.maxConcurrentRuns??1})]}),c.some(_=>_.kind==="external")?e.jsxs("fieldset",{className:l.configLabel,children:[e.jsx("legend",{children:a("collab.config.runtimes")}),c.filter(_=>_.kind==="external").map(_=>e.jsxs("label",{children:[e.jsx("input",{name:"executionHostId",type:"checkbox",value:_.id,checked:R.hostIds.includes(_.id),disabled:!R.hostIds.includes(_.id)&&!se(_).includes(s.execution?.provider??"qwen"),onChange:T=>{const U=T.target.checked?[...R.hostIds,_.id]:R.hostIds.filter(O=>O!==_.id);w({id:s.id,hostIds:U})}})," ",L(_)," ·"," ",se(_).map(ae).join(", ")," ","· ",z(_.status)]},_.id)),e.jsx("span",{className:l.configNote,children:a(R.hostIds.length>0?"collab.agent.hostPersona":"collab.config.runtimesHint")})]}):null,e.jsx("p",{className:l.configNote,children:a("collab.config.note")}),e.jsxs("div",{className:l.formActions,children:[e.jsx(k,{type:"button",variant:"ghost",size:"sm",onClick:()=>w(void 0),children:a("collab.form.cancel")}),e.jsx(k,{type:"submit",size:"sm",disabled:C,children:a("collab.config.save")})]})]}):null]},s.id))}),u==="squads"?H?e.jsx(Ts,{...H,agents:n,pending:C,creating:Q,onCreatingChange:E,...m?{onMention:m}:{}}):e.jsx(Ue,{}):null,u==="runtime"&&c.length>0?c.map(s=>e.jsxs("section",{className:l.runtimeCard,children:[e.jsxs("div",{className:l.runtimeHeader,children:[e.jsx("h2",{className:l.runtimeTitle,children:L(s)}),e.jsx("p",{className:l.configNote,children:s.kind==="local"?a("collab.runtime.localNote"):a("collab.runtime.remoteNote")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("strong",{className:l.runtimeStatus,"data-runtime-status":s.status,children:z(s.status)}),s.kind==="external"&&(y||g)?e.jsxs(e.Fragment,{children:[g?e.jsx(k,{size:"sm",variant:"outline",disabled:C,onClick:()=>{K(s),G(!0)},children:a("collab.runtime.replace")}):null,y?e.jsx(k,{size:"sm",variant:"ghost",disabled:C,onClick:()=>{window.confirm(a("collab.runtime.removeConfirm",{name:s.label}))&&y(s.id)},children:a("collab.runtime.remove")}):null]}):null]}),e.jsxs("dl",{className:l.runtimeFacts,children:[e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.programs")}),e.jsx("dd",{children:se(s).map(ae).join(", ")})]}),s.workspaceCwd?e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.folder")}),e.jsx("dd",{children:e.jsx("code",{children:s.workspaceCwd})})]}):null,e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.agents")}),e.jsx("dd",{children:s.agentCount??0})]}),e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.running")}),e.jsx("dd",{children:s.runningTaskCount??0})]}),e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.queued")}),e.jsx("dd",{children:s.queuedTaskCount??0})]})]}),e.jsxs("details",{className:"mt-4 text-xs text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer",children:a("collab.runtime.technical")}),e.jsx("p",{children:a("collab.runtime.id",{id:s.id})}),e.jsx("p",{children:a("collab.runtime.sessions",{count:s.sessionCount??0})}),s.lastSeenAt&&e.jsx("p",{children:a("collab.runtime.lastSeen",{time:new Date(s.lastSeenAt).toLocaleTimeString()})})]})]},s.id)):u==="runtime"?e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(Be,{})}),e.jsx(xe,{children:a("collab.runtime.empty")}),e.jsx(Je,{children:a("collab.runtime.emptyHint")})]})}):null]}),g&&e.jsx(ts,{open:A,onOpenChange:s=>{G(s),s||K(void 0)},serverUrl:x??"",runtimes:c,onCreateJoinToken:g,replacementTarget:I,...S?{onConnectExisting:S}:{},...q?{onJoinCoordinator:q}:{},...h?{onCreateAgentOn:s=>{G(!1),h(s)}}:{}},I?.id??"add-host"),N&&$&&e.jsx(rs,{agentName:$.name,open:!0,onOpenChange:s=>{s||F(void 0)},onCreate:()=>N.create($.id),onList:()=>N.list($.id),onRevoke:s=>N.revoke($.id,s)})]})}const Us=2e3;function Fs({initialView:n,workspaceCwd:r,onOpenDefinitions:u,onMentionAgent:f}){const m=Ge(),b=Ke(),p=i.useMemo(()=>(m.capabilities?.workspaces??[]).filter(o=>fe(m.capabilities,o.cwd)),[m.capabilities]),j=r??b.workspaceCwd??p.find(o=>o.primary)?.cwd??p[0]?.cwd,h=fe(m.capabilities,j)?j:r?void 0:p.find(o=>o.primary)?.cwd??p[0]?.cwd,t=i.useMemo(()=>h?Qe(m.baseUrl,m.token,h):void 0,[m.baseUrl,m.token,h]),{t:g}=P(),[y,S]=i.useState([]),[q,x]=i.useState([]),[N,H]=i.useState(),[C,c]=i.useState(n===void 0||n==="new-agent"?"agents":n),[R,w]=i.useState(!1),[a,A]=i.useState(n==="new-agent"?{}:void 0),[G,I]=i.useState(),[K,$]=i.useState(),F=K??G,Q=i.useRef(t);Q.current=t;const E=i.useRef(0),z=i.useRef(0);i.useEffect(()=>{n&&n!=="new-agent"&&c(n)},[n]);const L=i.useCallback(async()=>{if(!t)return;const o=++E.current;try{const[v,le]=await Promise.all([t.listAgents(),t.listSquads?t.listSquads().then(Pe=>({list:Pe}),()=>({failed:!0})):Promise.resolve(void 0)]);if(Q.current!==t||o<z.current)return;z.current=o,S(v.agents),x(v.runtimes??(v.runtime?[v.runtime]:[])),le?"list"in le&&H(le.list?.squads):H(void 0),I(void 0)}catch(v){if(Q.current!==t||o<z.current)return;z.current=o,I(v instanceof Error?v.message:String(v))}},[t]),V=i.useRef(L);V.current=L,i.useEffect(()=>{L()},[L]),i.useEffect(()=>{if(!t)return;const o=setInterval(()=>void V.current(),Us);return()=>clearInterval(o)},[t]);const X=i.useCallback(o=>{const v=o!==null&&typeof o=="object"?o.dispatchError:void 0;typeof v=="string"&&$(g("collab.error.dispatchAfterSave",{error:v}))},[g]),M=i.useCallback(async o=>{w(!0),$(void 0);try{const v=await o();await L(),X(v)}catch(v){return $(v instanceof Error?v.message:String(v)),!1}finally{w(!1)}return!0},[L,X]);if(!t)return e.jsx("p",{role:"alert",children:g("collab.noWorkspace")});const s=q.find(o=>o.kind==="local")?.programs;if(a)return e.jsx(Ve,{initialScope:"workspace",workspaceCwd:h,executionHosts:q.filter(o=>o.kind==="external"),...s?{localPrograms:s}:{},...a.hostId?{initialHostId:a.hostId}:{},onCancel:()=>A(void 0),onCreated:()=>A(void 0),onSaveWorkspaceAgent:async o=>{const v=await t.createAgent(o);await L(),X(v)}});const{createShare:_,listShares:T,revokeShare:U,removeHost:O,connectRemoteHost:W,joinCoordinator:B,createSquad:Z,updateSquad:J,retireSquad:d}=t,D=_&&T&&U?{create:_,list:async o=>(await T(o)).shares,revoke:U}:void 0;return e.jsxs(e.Fragment,{children:[F?e.jsx("p",{role:"alert",className:"mb-3 text-sm text-destructive",children:F}):null,e.jsx(zs,{agents:y,view:C,onViewChange:c,runtimes:q,onConnectRemoteHost:W?o=>M(()=>W(o)):void 0,onJoinCoordinator:B?async o=>(await B(o),!0):void 0,onMentionAgent:f,pending:R,onDeleteAgent:o=>void M(()=>t.deleteAgent(o)),onSetAgentEnabled:(o,v)=>void M(()=>t.setAgentEnabled(o,v)),onUpdateAgent:(o,v)=>void M(()=>t.updateAgent(o,v)),onOpenAgentBuilder:o=>A({hostId:o}),...t.createJoinToken?{onCreateJoinToken:t.createJoinToken}:{},...O?{onRemoveRuntime:o=>void M(()=>O(o))}:{},...D?{shares:D}:{},...N&&Z&&J&&d?{squads:{squads:N,onCreate:o=>M(()=>Z(o)),onUpdate:(o,v)=>M(()=>J(o,v)),onRetire:o=>void M(()=>d(o))}}:{},...u?{onOpenDefinitions:u}:{},hostServerUrl:m.baseUrl})]})}export{Fs as AgentsRoute};
|
|
1
|
+
import{u as P,r as i,j as e,z as Ne,A as we,H as ke,I as Se,J as Ce,K as be,L as se,M as ae,N as Y,O as Fe,Q as _e,B as k,U as Re,X as qe,Y as Ae,Z as ie,_ as Ie,$ as Le,a0 as ce,a1 as ye,a2 as He,a3 as $e,a4 as Me,a5 as De,a6 as ee,a7 as Te,a8 as de,a9 as ue,aa as me,ab as xe,ac as he,ad as te,ae as Oe,af as We,ag as Be,ah as Je,ai as Ge,aj as Ke,ak as fe,al as Qe,am as Ve}from"./index-Cs-XBNmB.js";const Ze=/^[A-Za-z0-9_-]{1,256}$/;function Xe(n){let r;try{r=new URL(n.trim())}catch{return}const u=r.pathname.lastIndexOf("/join/"),[f,...m]=u>=0?r.pathname.slice(u+6).split("/"):[];if(r.protocol!=="http:"&&r.protocol!=="https:"||r.username||r.password||r.search||r.hash||!f||m.some(Boolean)||!Ze.test(f))return;const b=r.pathname.slice(0,u).replace(/\/+$/,"");return{serverUrl:`${r.origin}${b}`,workspaceId:f}}function Ye(n,r,u){return`QWEN_AGENT_HOST_ENROLLMENT_TOKEN=${ne("<token>")} qwen agents join ${ne(n.trim())}${u?" --allow-http":""}`}function es(n,r,u,f){if(!n.some(m=>m.id===u))return n.find(m=>m.kind==="external"&&m.status==="online"&&(f?m.id===f:!r.has(m.id)))}function pe(n){return new Set(n.filter(r=>r.status==="online").map(r=>r.id))}const Ee=new Set(["localhost","127.0.0.1","[::1]","::1"]);function ne(n){return`'${n.replaceAll("'",`'"'"'`)}'`}function ze(n){const r=new URL(n);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash)throw new Error("Invalid coordinator address.");return r}function ss(n,r){const u=ze(n),m=`${`${u.origin}${u.pathname.replace(/\/+$/,"")}`}/join/${encodeURIComponent(r.workspaceId)}`,b=u.protocol==="http:"&&!Ee.has(u.hostname),p=`QWEN_AGENT_HOST_ENROLLMENT_TOKEN=${ne(r.token)}`,j=`serve --no-web --port 0 --join ${ne(m)}${b?" --agent-host-allow-http":""}`;return{qwen:`${p} qwen ${j}`,npx:`${p} npx -y @qwen-code/qwen-code@latest ${j}`,insecure:b}}function re({text:n}){const{t:r}=P(),[u,f]=i.useState(!1);return e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/40 py-1.5 pr-1.5 pl-3",children:[e.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:n}),e.jsxs(k,{size:"sm",variant:"outline",onClick:()=>{qe(n).then(()=>f(!0),m=>Ae(m))},children:[e.jsx(Re,{"aria-hidden":"true"}),r(u?"collab.runtime.copied":"collab.runtime.copy")]})]})}function ts({open:n,onOpenChange:r,serverUrl:u,runtimes:f,onCreateJoinToken:m,onConnectExisting:b,onJoinCoordinator:p,onCreateAgentOn:j,replacementTarget:h}){const{t}=P(),[g,y]=i.useState("command"),[S,q]=i.useState(""),[x,N]=i.useState(""),[H,C]=i.useState(!1),[c,R]=i.useState(),w=i.useMemo(()=>Xe(S),[S]),a=p?["command","existing","join"]:["command","existing"],[A,G]=i.useState(u),[I,K]=i.useState(),[$,F]=i.useState(),[Q,E]=i.useState(),[z,L]=i.useState(!1),[V,X]=i.useState(()=>Date.now()),M=h?.id,s=i.useMemo(()=>{if($)return M?es(f,$.known,M,I?.replacementHostId):f.find(d=>d.kind==="external"&&d.status==="online"&&!$.known.has(d.id))},[M,f,$,I?.replacementHostId]),_=n&&$!==void 0&&!s;i.useEffect(()=>{if(!_)return;const d=setInterval(()=>X(Date.now()),1e3);return()=>clearInterval(d)},[_]);const T=i.useMemo(()=>{if(I)try{return ss(A,I)}catch{return}},[A,I]),U=async()=>{L(!0),E(void 0);try{if(!je(A))throw new Error(t("collab.runtime.badAddress"));K(await m(M)),F({at:Date.now(),known:M?new Set(f.map(d=>d.id)):pe(f)})}catch(d){E(d instanceof Error?d.message:String(d))}finally{L(!1)}},O=async d=>{if(d.preventDefault(),!b)return;const D=new FormData(d.currentTarget);L(!0),E(void 0);const o=pe(f);try{await b({remoteUrl:String(D.get("remoteUrl")),remoteToken:String(D.get("remoteToken")),remoteCwd:String(D.get("remoteCwd")),serverUrl:A,allowHttp:D.get("allowHttp")==="on"})&&F({at:Date.now(),known:o})}finally{L(!1)}},W=async d=>{if(d.preventDefault(),!!p){if(!w){E(t("collab.runtime.joinBadLink"));return}L(!0),E(void 0);try{await p({serverUrl:w.serverUrl,workspaceId:w.workspaceId,enrollmentToken:x.trim(),allowHttp:H})&&(R(w.serverUrl),N(""))}catch(D){E(D instanceof Error?D.message:String(D))}finally{L(!1)}}},B=I?Math.max(0,Math.ceil((I.expiresAt-V)/6e4)):0,Z=I&&B>0?I:void 0,J=d=>{!d&&s&&(K(void 0),F(void 0)),!d&&c&&(R(void 0),q("")),r(d)};return e.jsx(Ne,{open:n,onOpenChange:J,children:e.jsxs(we,{className:"grid-cols-[minmax(0,1fr)] sm:max-w-xl",children:[e.jsxs(ke,{children:[e.jsx(Se,{children:h?t("collab.runtime.replaceTitle",{name:h.label}):t("collab.runtime.addTitle")}),e.jsx(Ce,{children:h?t("collab.runtime.replaceDescription",{name:h.label}):t("collab.runtime.addDescription")})]}),h?e.jsx("p",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-muted-foreground",children:t("collab.runtime.replaceEffects")}):null,!s&&h&&I?.replacementHostId?e.jsx("p",{role:"status",className:"text-sm text-muted-foreground",children:t("collab.runtime.replaceRecovery",{name:h.label,id:h.id})}):null,c?e.jsxs("div",{role:"status",className:"flex items-center gap-3 rounded-md border border-[var(--status-done-fg)]/30 bg-[var(--status-done-bg)] p-3",children:[e.jsx(be,{"aria-hidden":"true",className:"size-5 shrink-0 text-[var(--status-done-fg)]"}),e.jsx("p",{className:"min-w-0 font-medium break-all",children:t("collab.runtime.joinConnected",{server:c})})]}):s?e.jsx("div",{className:"flex flex-col gap-3",children:e.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-[var(--status-done-fg)]/30 bg-[var(--status-done-bg)] p-3",children:[e.jsx(be,{"aria-hidden":"true",className:"size-5 shrink-0 text-[var(--status-done-fg)]"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-medium",children:h?t("collab.runtime.replaced",{oldName:h.label,name:s.label}):t("collab.runtime.connected",{name:s.label})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.offers",{programs:se(s).map(ae).join(", ")})}),h?e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.replaceCompleted")}):null]})]})}):e.jsxs(e.Fragment,{children:[h?null:e.jsx("div",{role:"tablist",className:"flex gap-4 border-b border-border text-sm",children:a.map(d=>e.jsx("button",{type:"button",role:"tab","aria-selected":g===d,onClick:()=>y(d),className:`-mb-px border-b-2 pb-2 ${g===d?"border-foreground font-medium":"border-transparent text-muted-foreground"}`,children:t(d==="command"?"collab.runtime.methodCommand":d==="existing"?"collab.runtime.methodExisting":"collab.runtime.methodJoin")},d))}),g==="join"&&!h?null:e.jsxs("label",{className:"flex flex-col gap-1.5 text-sm",children:[e.jsx("span",{className:"font-medium",children:t("collab.runtime.address")}),e.jsx(Y,{value:A,onChange:d=>G(d.target.value),disabled:I!==void 0}),e.jsx("span",{className:"text-xs text-muted-foreground",children:Ee.has(je(A))?t("collab.runtime.loopbackHint"):t("collab.runtime.addressHint")})]}),h||g==="command"?Z&&T?e.jsxs("div",{className:"flex flex-col gap-3 text-sm",children:[e.jsx("p",{className:"font-medium",children:t("collab.runtime.runThis")}),e.jsx(re,{text:T.qwen}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.noQwen")}),e.jsx(re,{text:T.npx}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[t("collab.runtime.expires",{minutes:B}),T.insecure&&` ${t("collab.runtime.httpHint")}`]}),e.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-dashed border-border p-3",children:[e.jsx(Fe,{"aria-hidden":"true",className:"size-4 shrink-0 animate-spin text-muted-foreground motion-reduce:animate-none"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("collab.runtime.waiting")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.waitingFor",{seconds:Math.max(0,Math.floor((V-($?.at??V))/1e3))})})]})]})]}):null:g==="join"?e.jsxs("form",{id:"join-coordinator",className:"flex flex-col gap-3 text-sm",onSubmit:d=>void W(d),children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.joinDescription")}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.joinLink"),e.jsx(Y,{name:"joinLink",required:!0,value:S,onChange:d=>q(d.target.value),placeholder:"https://coordinator:4170/join/<workspace>","aria-invalid":S.trim()!==""&&!w?!0:void 0})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.joinToken"),e.jsx(Y,{name:"enrollmentToken",type:"password",autoComplete:"off",required:!0,value:x,onChange:d=>N(d.target.value)})]}),e.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("input",{type:"checkbox",name:"allowHttp",checked:H,onChange:d=>C(d.target.checked)}),t("collab.runtime.allowHttp")]}),w?e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:t("collab.runtime.joinCli")}),e.jsx(re,{text:Ye(S,"",H)})]}):null]}):e.jsxs("form",{id:"connect-existing-runtime",className:"flex flex-col gap-3 text-sm",onSubmit:d=>void O(d),children:[e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteUrl"),e.jsx(Y,{name:"remoteUrl",type:"url",required:!0,placeholder:"http://192.168.1.20:4170"})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteToken"),e.jsx(Y,{name:"remoteToken",type:"password",autoComplete:"off",required:!0})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[t("collab.runtime.remoteCwd"),e.jsx(Y,{name:"remoteCwd",required:!0,placeholder:"/home/me/project"})]}),e.jsxs("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("input",{type:"checkbox",name:"allowHttp"}),t("collab.runtime.allowHttp")]})]})]}),Q&&e.jsx("p",{role:"alert",className:"text-sm text-destructive",children:Q}),e.jsx(_e,{children:c?e.jsx(k,{variant:"outline",onClick:()=>J(!1),children:t("collab.runtime.done")}):s?e.jsxs(e.Fragment,{children:[e.jsx(k,{variant:"outline",onClick:()=>J(!1),children:t("collab.runtime.done")}),j&&e.jsx(k,{onClick:()=>{J(!1),j(s.id)},children:t("collab.runtime.createAgentOn",{name:s.label})})]}):h||g==="command"?Z?e.jsx(k,{variant:"outline",onClick:()=>r(!1),children:t("collab.runtime.closeKeepLink")}):e.jsx(k,{disabled:z,onClick:()=>void U(),children:t(h&&I?"collab.runtime.refreshReplacement":"collab.runtime.generate")}):g==="join"?e.jsx(k,{type:"submit",form:"join-coordinator",disabled:z||!w||!x.trim(),children:t("collab.runtime.connect")}):e.jsx(k,{type:"submit",form:"connect-existing-runtime",disabled:z||!b,children:t("collab.runtime.connect")})})]})})}function je(n){try{return ze(n).hostname}catch{return""}}const as=new Set(["localhost","127.0.0.1","[::1]"]);function ns(n){try{return as.has(new URL(n).hostname)}catch{return!1}}function ls(n){const r=JSON.stringify({jsonrpc:"2.0",id:1,method:"SendMessage",params:{message:{role:"ROLE_USER",messageId:"hello-1",parts:[{text:"Hello! What can you help with?"}]}}});return[`curl -s ${n.endpoint}`,"-H 'A2A-Version: 1.0'",`-H 'Authorization: Bearer ${n.secret}'`,`-H 'x-qwen-workspace-id: ${n.workspaceId}'`,`-H 'x-qwen-caller-id: ${n.callerId}'`,`-H 'x-qwen-agent-id: ${n.agentId}'`,"-H 'content-type: application/json'",`-d '${r}'`].join(" ")}function oe({label:n,text:r}){const{t:u}=P(),[f,m]=i.useState(!1);return e.jsxs("div",{className:"flex flex-col gap-1.5 text-sm",children:[e.jsx("span",{className:"font-medium",children:n}),e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/40 py-1.5 pr-1.5 pl-3",children:[e.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:r}),e.jsxs(k,{size:"sm",variant:"outline",onClick:()=>void qe(r).then(()=>m(!0),b=>Ae(b)),children:[e.jsx(Re,{"aria-hidden":"true"}),u(f?"collab.share.copied":"collab.share.copy")]})]})]})}function rs({agentName:n,open:r,onOpenChange:u,onCreate:f,onList:m,onRevoke:b}){const{t:p}=P(),[j,h]=i.useState(),[t,g]=i.useState([]),[y,S]=i.useState(),[q,x]=i.useState(!1),N=i.useRef(m);N.current=m,i.useEffect(()=>{r&&(h(void 0),S(void 0),N.current().then(g,()=>g([])))},[r]);const H=async C=>{x(!0),S(void 0);try{await C(),g(await N.current())}catch(c){S(c instanceof Error?c.message:String(c))}finally{x(!1)}};return e.jsx(Ne,{open:r,onOpenChange:u,children:e.jsxs(we,{className:"grid-cols-[minmax(0,1fr)] sm:max-w-xl",children:[e.jsxs(ke,{children:[e.jsx(Se,{children:p("collab.share.title",{name:n})}),e.jsx(Ce,{children:p("collab.share.description")})]}),j&&e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(oe,{label:p("collab.share.endpoint"),text:j.endpoint}),e.jsx(oe,{label:p("collab.share.token"),text:j.secret}),e.jsx(oe,{label:p("collab.share.try"),text:ls(j)}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j.expiresAt?p("collab.share.onceUntil",{date:new Date(j.expiresAt).toLocaleDateString()}):p("collab.share.once")}),ns(j.endpoint)&&e.jsx("p",{role:"alert",className:"text-xs text-destructive",children:p("collab.share.loopback")})]}),t.length>0&&e.jsxs("div",{className:"flex flex-col gap-1 text-sm",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:p("collab.share.active",{count:t.length})}),t.map(C=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2 py-1 hover:bg-muted",children:[e.jsxs("span",{className:"min-w-0 flex-1 truncate",children:[C.callerId,e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:C.expiresAt?p("collab.share.until",{date:new Date(C.expiresAt).toLocaleDateString()}):""})]}),e.jsx(k,{size:"sm",variant:"ghost",disabled:q,onClick:()=>void H(()=>b(C.callerId)),children:p("collab.share.revoke")})]},C.callerId))]}),y&&e.jsx("p",{role:"alert",className:"text-sm text-destructive",children:y}),e.jsx(_e,{children:j?e.jsx(k,{onClick:()=>u(!1),children:p("collab.share.done")}):e.jsx(k,{disabled:q,onClick:()=>void H(async()=>h(await f())),children:p("collab.share.create")})})]})})}const os="_formActions_1dh4x_4",is="_field_1dh4x_11",cs="_roster_1dh4x_33",ds="_agentCard_1dh4x_39",us="_agentRow_1dh4x_44",ms="_agentRowDisabled_1dh4x_51",xs="_agentMain_1dh4x_55",hs="_agentTitleLine_1dh4x_63",bs="_statusBadge_1dh4x_70",fs="_agentActions_1dh4x_84",ps="_agentConfig_1dh4x_93",js="_configLabel_1dh4x_101",gs="_configNote_1dh4x_108",vs="_runtimeCard_1dh4x_116",Ns="_runtimeHeader_1dh4x_127",ws="_runtimeTitle_1dh4x_131",ks="_runtimeStatus_1dh4x_137",Ss="_runtimeFacts_1dh4x_147",Cs="_fieldHint_1dh4x_182",_s="_squadTile_1dh4x_188",Rs="_squadRoster_1dh4x_208",qs="_squadRosterRow_1dh4x_223",As="_squadRosterWho_1dh4x_231",Is="_squadRosterName_1dh4x_267",Ls="_squadRosterRole_1dh4x_275",ys="_squadMemberPicker_1dh4x_282",Hs="_squadMemberLegend_1dh4x_292",$s="_squadMemberRow_1dh4x_301",Ms="_squadMemberName_1dh4x_309",l={formActions:os,field:is,roster:cs,agentCard:ds,agentRow:us,agentRowDisabled:ms,agentMain:xs,agentTitleLine:hs,statusBadge:bs,agentActions:fs,agentConfig:ps,configLabel:js,configNote:gs,runtimeCard:vs,runtimeHeader:Ns,runtimeTitle:ws,runtimeStatus:ks,runtimeFacts:Ss,fieldHint:Cs,squadTile:_s,squadRoster:Rs,squadRosterRow:qs,squadRosterWho:As,squadRosterName:Is,squadRosterRole:Ls,squadMemberPicker:ys,squadMemberLegend:Hs,squadMemberRow:$s,squadMemberName:Ms};function Ds(n){return n.filter(r=>!r.retiredAt)}function ge({squad:n,agents:r,pending:u,onSubmit:f,onCancel:m}){const{t:b}=P(),p=Ds(r),j=i.useId(),[h,t]=i.useState(n?.name??""),[g,y]=i.useState(n&&!n.leaderIssue?n.leaderAgentId:""),[S,q]=i.useState(()=>new Map((n?.members??[]).map(c=>[c.agentId,c.role??""]))),x=p.filter(c=>c.id!==g),N=c=>{c.preventDefault();const R=new FormData(c.currentTarget),w=a=>{const A=String(R.get(a)??"").trim();return A===""?null:A};f({name:h.trim(),description:w("description"),instructions:w("instructions"),leaderAgentId:g,members:[...S].filter(([a])=>a!==g).map(([a,A])=>({agentId:a,...A.trim()?{role:A.trim()}:{}}))})},H=`${j}-name-hint`,C=h.trim();return e.jsxs("form",{className:l.agentConfig,onSubmit:N,"data-testid":"squad-form",children:[e.jsxs("div",{className:l.configLabel,children:[e.jsx("label",{htmlFor:`${j}-name`,children:b("collab.squad.name")}),e.jsx("input",{id:`${j}-name`,className:l.field,name:"name",required:!0,maxLength:48,"aria-describedby":H,value:h,onChange:c=>t(c.target.value)}),e.jsx("span",{id:H,className:l.fieldHint,children:C?b("collab.squad.calledAs",{name:C}):b("collab.squad.nameHint")})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.leader"),e.jsxs("select",{className:l.field,required:!0,value:g,onChange:c=>{const R=c.target.value;if(y(R),S.has(R)){const w=new Map(S);w.delete(R),q(w)}},children:[e.jsx("option",{value:"",disabled:!0,children:b("collab.squad.leaderPick")}),p.filter(c=>c.enabled).map(c=>e.jsx("option",{value:c.id,children:c.name},c.id))]})]}),e.jsxs("fieldset",{className:l.squadMemberPicker,children:[e.jsx("legend",{className:l.squadMemberLegend,children:b("collab.squad.members")}),x.map(c=>{const R=S.has(c.id);return e.jsxs("div",{className:l.squadMemberRow,children:[e.jsx("input",{id:`${j}-member-${c.id}`,type:"checkbox",checked:R,onChange:w=>{const a=new Map(S);w.target.checked?a.set(c.id,""):a.delete(c.id),q(a)}}),e.jsx(he,{name:c.name,color:c.color}),e.jsx("label",{htmlFor:`${j}-member-${c.id}`,className:l.squadMemberName,children:c.name}),R?e.jsx("input",{className:l.field,"aria-label":`${c.name} ${b("collab.squad.role")}`,placeholder:b("collab.squad.role"),maxLength:200,value:S.get(c.id)??"",onChange:w=>{const a=new Map(S);a.set(c.id,w.target.value),q(a)}}):null]},c.id)})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.instructions"),e.jsx("textarea",{className:l.field,name:"instructions",rows:3,defaultValue:n?.instructions??""})]}),e.jsxs("label",{className:l.configLabel,children:[b("collab.squad.description"),e.jsx("input",{className:l.field,name:"description",defaultValue:n?.description??""})]}),e.jsxs("div",{className:l.formActions,children:[e.jsx(k,{type:"button",variant:"ghost",size:"sm",onClick:m,children:b("collab.form.cancel")}),e.jsx(k,{type:"submit",size:"sm",disabled:u||g==="",children:b("collab.squad.save")})]})]})}function Ue(){const{t:n}=P();return e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(Ie,{})}),e.jsx(xe,{children:n("collab.squad.empty")})]})})}function ve({name:n,color:r,role:u,leader:f}){const{t:m}=P(),b=f?m("collab.squad.leads"):u;return e.jsxs("li",{className:l.squadRosterRow,"data-squad-role":f?"leader":"member",children:[e.jsxs("span",{className:l.squadRosterWho,children:[e.jsx(he,{name:n,color:r}),e.jsx("span",{className:l.squadRosterName,children:n})]}),b?e.jsx("span",{className:l.squadRosterRole,children:b}):null]})}function Ts({squads:n,agents:r,pending:u,creating:f,onCreatingChange:m,onCreate:b,onUpdate:p,onRetire:j,onMention:h}){const{t}=P(),[g,y]=i.useState(),S=n.filter(x=>!x.retiredAt),q=x=>r.find(N=>N.id===x)?.color;return e.jsxs("section",{className:l.roster,"data-testid":"squads-section",children:[f?e.jsx(ie,{size:"sm",className:l.agentCard,children:e.jsx(ge,{agents:r,pending:u,onCancel:()=>m(!1),onSubmit:async x=>{await b(x)&&m(!1)}})}):null,S.length===0&&!f?e.jsx(Ue,{}):null,S.map(x=>e.jsxs(ie,{size:"sm",className:x.leaderIssue?`${l.agentCard} ${l.agentRowDisabled}`:l.agentCard,"data-testid":"squad-card",children:[e.jsxs("div",{className:l.agentRow,children:[e.jsx("span",{className:l.squadTile,"aria-hidden":"true",children:e.jsx(Ie,{})}),e.jsxs("div",{className:l.agentMain,children:[e.jsxs("div",{className:l.agentTitleLine,children:[e.jsx(Le,{className:"min-w-0 truncate",children:x.name}),x.leaderIssue?e.jsx(ce,{variant:"secondary",className:l.statusBadge,"data-status":"error",children:x.leaderIssue==="disabled"?t("collab.squad.leaderPaused"):t("collab.squad.needsLeader")}):null]}),x.description?e.jsx(ye,{className:"truncate text-xs",children:x.description}):null,e.jsxs("ul",{className:l.squadRoster,children:[x.leaderName?e.jsx(ve,{name:x.leaderName,color:q(x.leaderAgentId),leader:!0}):null,x.members.map(N=>e.jsx(ve,{name:N.name,color:q(N.agentId),role:N.role},N.agentId))]})]}),e.jsxs("div",{className:l.agentActions,children:[h?e.jsx(k,{variant:"outline",size:"sm",disabled:!!x.leaderIssue||u,onClick:()=>h(x.name),children:t("collab.agent.mentionIt")}):null,e.jsxs(He,{children:[e.jsx($e,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"icon-sm","aria-label":t("collab.agent.more",{name:x.name}),children:e.jsx(Me,{"aria-hidden":"true"})})}),e.jsxs(De,{align:"end",className:"min-w-40",children:[e.jsx(ee,{disabled:u,onSelect:()=>y(x.id),children:t("collab.squad.edit")}),e.jsx(Te,{}),e.jsx(ee,{variant:"destructive",disabled:u,onSelect:()=>{window.confirm(t("collab.squad.retireConfirm",{name:x.name}))&&j(x.id)},children:t("collab.squad.retire")})]})]})]})]}),g===x.id?e.jsx(ge,{squad:x,agents:r,pending:u,onCancel:()=>y(void 0),onSubmit:async N=>{await p(x.id,N)&&y(void 0)}}):null]},x.id))]})}const Es=new Set(["online","idle","working","offline","error"]);function zs({agents:n,runtimes:r,view:u,onViewChange:f,onMentionAgent:m,onDeleteAgent:b,onSetAgentEnabled:p,onUpdateAgent:j,onOpenAgentBuilder:h,onOpenDefinitions:t,onCreateJoinToken:g,onRemoveRuntime:y,onConnectRemoteHost:S,onJoinCoordinator:q,hostServerUrl:x,shares:N,squads:H,pending:C}){const c=r??[],[R,w]=i.useState(),{t:a}=P(),[A,G]=i.useState(!1),[I,K]=i.useState(),[$,F]=i.useState(),[Q,E]=i.useState(!1),z=s=>Es.has(s)?a(`collab.agentStatus.${s}`):s,L=s=>!s||s.kind==="local"?a("collab.agent.thisComputer"):s.label,V=s=>`${ae(s.execution?.provider)} · ${L(s.runtime)}`,X=s=>_=>{if(_.preventDefault(),!j)return;const T=new FormData(_.currentTarget),U=o=>{const v=String(T.get(o)??"").trim();return v===""?null:v},O=String(T.get("maxConcurrentRuns")??"").trim(),W=T.getAll("executionHostId").map(o=>String(o)),B=n.find(o=>o.id===s),Z=B?.execution?.mode==="managed-host"?B.execution.hostIds:[],J=W.length!==Z.length||W.some(o=>!Z.includes(o)),d=B?.execution?.provider,D=c.find(o=>o.kind==="local");j(s,{description:U("description"),model:U("model"),agentType:U("agentType"),instructions:U("instructions"),maxConcurrentRuns:O===""?null:Number(O),...J?{execution:W.length>0?{mode:"managed-host",hostIds:W,...d?{provider:d}:{}}:{mode:"local",...d&&D&&se(D).includes(d)?{provider:d}:{}}}:{}}),w(void 0)},M=s=>{f(s),w(void 0),E(!1)};return e.jsxs("div",{className:"flex w-full flex-col gap-6",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h1",{className:"text-xl font-semibold text-balance",children:a("agents.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:a(`collab.tabs.${u}Hint`)})]}),e.jsxs("div",{className:"flex shrink-0 gap-2",children:[u==="agents"&&t?e.jsx(k,{variant:"outline",onClick:t,children:a("collab.agent.roles")}):null,u==="agents"&&h?e.jsxs(k,{onClick:()=>h(),children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.agent.new")]}):null,u==="squads"&&H?e.jsxs(k,{disabled:C,onClick:()=>E(!0),children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.squad.new")]}):null,u==="runtime"&&g?e.jsxs(k,{variant:"outline",disabled:C,onClick:()=>{K(void 0),G(!0)},children:[e.jsx(te,{"data-icon":"inline-start"}),a("collab.runtime.addTitle")]}):null]})]}),e.jsx(Oe,{type:"single",value:u,onValueChange:s=>{s&&M(s)},variant:"outline",size:"sm","aria-label":a("agents.title"),children:["agents","squads","runtime"].map(s=>e.jsx(We,{value:s,children:a(`collab.tabs.${s}`)},s))}),e.jsxs("div",{className:"contents",children:[e.jsx("section",{className:l.roster,hidden:u!=="agents",children:n.length===0?e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(te,{})}),e.jsx(xe,{children:a("collab.agent.empty")})]})}):n.map(s=>e.jsxs(ie,{size:"sm",className:s.enabled&&!s.retiredAt?l.agentCard:`${l.agentCard} ${l.agentRowDisabled}`,children:[e.jsxs("div",{className:l.agentRow,children:[e.jsx(he,{name:s.name,color:s.color,size:"md"}),e.jsxs("div",{className:l.agentMain,children:[e.jsxs("div",{className:l.agentTitleLine,children:[e.jsx(Le,{className:"min-w-0 truncate",children:s.name}),e.jsx(ce,{variant:"secondary",className:l.statusBadge,"data-status":s.retiredAt||!s.enabled?"off":s.status,children:s.retiredAt?a("collab.agentStatus.retired"):s.enabled?z(s.status):a("collab.agentStatus.paused")}),s.waiting?e.jsx(ce,{variant:"outline",className:"text-[10px]",children:a("collab.agent.waiting",{count:s.waiting})}):null]}),e.jsx(ye,{className:"truncate text-xs",children:s.description||"—"}),e.jsx("span",{className:"truncate text-xs text-muted-foreground",children:V(s)})]}),s.retiredAt?null:e.jsxs("div",{className:l.agentActions,children:[m?e.jsx(k,{variant:"outline",size:"sm",disabled:!s.enabled||C,onClick:()=>m(s.name),children:a("collab.agent.mentionIt")}):null,e.jsxs(He,{children:[e.jsx($e,{asChild:!0,children:e.jsx(k,{variant:"ghost",size:"icon-sm","aria-label":a("collab.agent.more",{name:s.name}),children:e.jsx(Me,{"aria-hidden":"true"})})}),e.jsxs(De,{align:"end",className:"min-w-40",children:[j?e.jsx(ee,{onSelect:()=>w({id:s.id,hostIds:s.execution?.mode==="managed-host"?[...s.execution.hostIds]:[]}),children:a("collab.agent.configure")}):null,N?e.jsx(ee,{onSelect:()=>F({id:s.id,name:s.name}),children:a("collab.agent.share")}):null,e.jsx(ee,{disabled:C,onSelect:()=>p(s.id,!s.enabled),children:s.enabled?a("collab.agent.pause"):a("collab.agent.resume")}),e.jsx(Te,{}),e.jsx(ee,{variant:"destructive",disabled:s.status==="working"||s.waiting>0,onSelect:()=>{window.confirm(a("collab.agent.retireConfirm",{name:s.name}))&&b(s.id)},children:a("collab.agent.retire")})]})]})]})]}),R?.id===s.id&&j?e.jsxs("form",{className:l.agentConfig,onSubmit:X(s.id),children:[e.jsxs("label",{className:l.configLabel,children:[a("collab.config.description"),e.jsx("input",{className:l.field,name:"description",defaultValue:s.description??"",placeholder:a("collab.config.descriptionHint")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.instructions"),e.jsx("textarea",{className:l.field,name:"instructions",rows:4,defaultValue:s.instructions??"",placeholder:a("collab.config.instructionsHint")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.agentType"),e.jsx("input",{className:l.field,name:"agentType",disabled:R.hostIds.length>0,defaultValue:s.agentType??"",placeholder:a("collab.config.workspaceDefault")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.model"),e.jsx("input",{className:l.field,name:"model",disabled:R.hostIds.length>0,defaultValue:s.model??"",placeholder:a("collab.config.workspaceDefault")})]}),e.jsxs("label",{className:l.configLabel,children:[a("collab.config.maxRuns"),e.jsx("input",{className:l.field,name:"maxConcurrentRuns",type:"number",min:1,max:8,defaultValue:s.maxConcurrentRuns??1})]}),c.some(_=>_.kind==="external")?e.jsxs("fieldset",{className:l.configLabel,children:[e.jsx("legend",{children:a("collab.config.runtimes")}),c.filter(_=>_.kind==="external").map(_=>e.jsxs("label",{children:[e.jsx("input",{name:"executionHostId",type:"checkbox",value:_.id,checked:R.hostIds.includes(_.id),disabled:!R.hostIds.includes(_.id)&&!se(_).includes(s.execution?.provider??"qwen"),onChange:T=>{const U=T.target.checked?[...R.hostIds,_.id]:R.hostIds.filter(O=>O!==_.id);w({id:s.id,hostIds:U})}})," ",L(_)," ·"," ",se(_).map(ae).join(", ")," ","· ",z(_.status)]},_.id)),e.jsx("span",{className:l.configNote,children:a(R.hostIds.length>0?"collab.agent.hostPersona":"collab.config.runtimesHint")})]}):null,e.jsx("p",{className:l.configNote,children:a("collab.config.note")}),e.jsxs("div",{className:l.formActions,children:[e.jsx(k,{type:"button",variant:"ghost",size:"sm",onClick:()=>w(void 0),children:a("collab.form.cancel")}),e.jsx(k,{type:"submit",size:"sm",disabled:C,children:a("collab.config.save")})]})]}):null]},s.id))}),u==="squads"?H?e.jsx(Ts,{...H,agents:n,pending:C,creating:Q,onCreatingChange:E,...m?{onMention:m}:{}}):e.jsx(Ue,{}):null,u==="runtime"&&c.length>0?c.map(s=>e.jsxs("section",{className:l.runtimeCard,children:[e.jsxs("div",{className:l.runtimeHeader,children:[e.jsx("h2",{className:l.runtimeTitle,children:L(s)}),e.jsx("p",{className:l.configNote,children:s.kind==="local"?a("collab.runtime.localNote"):a("collab.runtime.remoteNote")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("strong",{className:l.runtimeStatus,"data-runtime-status":s.status,children:z(s.status)}),s.kind==="external"&&(y||g)?e.jsxs(e.Fragment,{children:[g?e.jsx(k,{size:"sm",variant:"outline",disabled:C,onClick:()=>{K(s),G(!0)},children:a("collab.runtime.replace")}):null,y?e.jsx(k,{size:"sm",variant:"ghost",disabled:C,onClick:()=>{window.confirm(a("collab.runtime.removeConfirm",{name:s.label}))&&y(s.id)},children:a("collab.runtime.remove")}):null]}):null]}),e.jsxs("dl",{className:l.runtimeFacts,children:[e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.programs")}),e.jsx("dd",{children:se(s).map(ae).join(", ")})]}),s.workspaceCwd?e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.folder")}),e.jsx("dd",{children:e.jsx("code",{children:s.workspaceCwd})})]}):null,e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.agents")}),e.jsx("dd",{children:s.agentCount??0})]}),e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.running")}),e.jsx("dd",{children:s.runningTaskCount??0})]}),e.jsxs("div",{children:[e.jsx("dt",{children:a("collab.runtime.queued")}),e.jsx("dd",{children:s.queuedTaskCount??0})]})]}),e.jsxs("details",{className:"mt-4 text-xs text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer",children:a("collab.runtime.technical")}),e.jsx("p",{children:a("collab.runtime.id",{id:s.id})}),e.jsx("p",{children:a("collab.runtime.sessions",{count:s.sessionCount??0})}),s.lastSeenAt&&e.jsx("p",{children:a("collab.runtime.lastSeen",{time:new Date(s.lastSeenAt).toLocaleTimeString()})})]})]},s.id)):u==="runtime"?e.jsx(de,{className:"border",children:e.jsxs(ue,{children:[e.jsx(me,{variant:"icon",children:e.jsx(Be,{})}),e.jsx(xe,{children:a("collab.runtime.empty")}),e.jsx(Je,{children:a("collab.runtime.emptyHint")})]})}):null]}),g&&e.jsx(ts,{open:A,onOpenChange:s=>{G(s),s||K(void 0)},serverUrl:x??"",runtimes:c,onCreateJoinToken:g,replacementTarget:I,...S?{onConnectExisting:S}:{},...q?{onJoinCoordinator:q}:{},...h?{onCreateAgentOn:s=>{G(!1),h(s)}}:{}},I?.id??"add-host"),N&&$&&e.jsx(rs,{agentName:$.name,open:!0,onOpenChange:s=>{s||F(void 0)},onCreate:()=>N.create($.id),onList:()=>N.list($.id),onRevoke:s=>N.revoke($.id,s)})]})}const Us=2e3;function Fs({initialView:n,workspaceCwd:r,onOpenDefinitions:u,onMentionAgent:f}){const m=Ge(),b=Ke(),p=i.useMemo(()=>(m.capabilities?.workspaces??[]).filter(o=>fe(m.capabilities,o.cwd)),[m.capabilities]),j=r??b.workspaceCwd??p.find(o=>o.primary)?.cwd??p[0]?.cwd,h=fe(m.capabilities,j)?j:r?void 0:p.find(o=>o.primary)?.cwd??p[0]?.cwd,t=i.useMemo(()=>h?Qe(m.baseUrl,m.token,h):void 0,[m.baseUrl,m.token,h]),{t:g}=P(),[y,S]=i.useState([]),[q,x]=i.useState([]),[N,H]=i.useState(),[C,c]=i.useState(n===void 0||n==="new-agent"?"agents":n),[R,w]=i.useState(!1),[a,A]=i.useState(n==="new-agent"?{}:void 0),[G,I]=i.useState(),[K,$]=i.useState(),F=K??G,Q=i.useRef(t);Q.current=t;const E=i.useRef(0),z=i.useRef(0);i.useEffect(()=>{n&&n!=="new-agent"&&c(n)},[n]);const L=i.useCallback(async()=>{if(!t)return;const o=++E.current;try{const[v,le]=await Promise.all([t.listAgents(),t.listSquads?t.listSquads().then(Pe=>({list:Pe}),()=>({failed:!0})):Promise.resolve(void 0)]);if(Q.current!==t||o<z.current)return;z.current=o,S(v.agents),x(v.runtimes??(v.runtime?[v.runtime]:[])),le?"list"in le&&H(le.list?.squads):H(void 0),I(void 0)}catch(v){if(Q.current!==t||o<z.current)return;z.current=o,I(v instanceof Error?v.message:String(v))}},[t]),V=i.useRef(L);V.current=L,i.useEffect(()=>{L()},[L]),i.useEffect(()=>{if(!t)return;const o=setInterval(()=>void V.current(),Us);return()=>clearInterval(o)},[t]);const X=i.useCallback(o=>{const v=o!==null&&typeof o=="object"?o.dispatchError:void 0;typeof v=="string"&&$(g("collab.error.dispatchAfterSave",{error:v}))},[g]),M=i.useCallback(async o=>{w(!0),$(void 0);try{const v=await o();await L(),X(v)}catch(v){return $(v instanceof Error?v.message:String(v)),!1}finally{w(!1)}return!0},[L,X]);if(!t)return e.jsx("p",{role:"alert",children:g("collab.noWorkspace")});const s=q.find(o=>o.kind==="local")?.programs;if(a)return e.jsx(Ve,{initialScope:"workspace",workspaceCwd:h,executionHosts:q.filter(o=>o.kind==="external"),...s?{localPrograms:s}:{},...a.hostId?{initialHostId:a.hostId}:{},onCancel:()=>A(void 0),onCreated:()=>A(void 0),onSaveWorkspaceAgent:async o=>{const v=await t.createAgent(o);await L(),X(v)}});const{createShare:_,listShares:T,revokeShare:U,removeHost:O,connectRemoteHost:W,joinCoordinator:B,createSquad:Z,updateSquad:J,retireSquad:d}=t,D=_&&T&&U?{create:_,list:async o=>(await T(o)).shares,revoke:U}:void 0;return e.jsxs(e.Fragment,{children:[F?e.jsx("p",{role:"alert",className:"mb-3 text-sm text-destructive",children:F}):null,e.jsx(zs,{agents:y,view:C,onViewChange:c,runtimes:q,onConnectRemoteHost:W?o=>M(()=>W(o)):void 0,onJoinCoordinator:B?async o=>(await B(o),!0):void 0,onMentionAgent:f,pending:R,onDeleteAgent:o=>void M(()=>t.deleteAgent(o)),onSetAgentEnabled:(o,v)=>void M(()=>t.setAgentEnabled(o,v)),onUpdateAgent:(o,v)=>void M(()=>t.updateAgent(o,v)),onOpenAgentBuilder:o=>A({hostId:o}),...t.createJoinToken?{onCreateJoinToken:t.createJoinToken}:{},...O?{onRemoveRuntime:o=>void M(()=>O(o))}:{},...D?{shares:D}:{},...N&&Z&&J&&d?{squads:{squads:N,onCreate:o=>M(()=>Z(o)),onUpdate:(o,v)=>M(()=>J(o,v)),onRetire:o=>void M(()=>d(o))}}:{},...u?{onOpenDefinitions:u}:{},hostServerUrl:m.baseUrl})]})}export{Fs as AgentsRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as ln,I as un,J as y,K as tn,L as Q,M as I,N as _,O as an,P as rn,Q as j,R as o,S as K,T as sn,V as on,W as fn}from"./mermaid.core-
|
|
1
|
+
import{H as ln,I as un,J as y,K as tn,L as Q,M as I,N as _,O as an,P as rn,Q as j,R as o,S as K,T as sn,V as on,W as fn}from"./mermaid.core-CK78bIGt.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,q,O,v,R,L,u){var D=q-l,i=O-h,n=L-v,d=u-R,a=d*D-n*i;if(!(a*a<y))return a=(n*(h-R)-d*(l-v))/a,[l+a*D,h+a*i]}function U(l,h,q,O,v,R,L){var u=l-q,D=h-O,i=(L?R:-R)/j(u*u+D*D),n=i*D,d=-i*u,a=l+n,s=h+d,f=q+n,c=O+d,M=(a+f)/2,t=(s+c)/2,m=f-a,g=c-s,A=m*m+g*g,T=v-R,P=a*c-f*s,E=(g<0?-1:1)*j(fn(0,T*T*A-P*P)),H=(P*g-m*E)/A,J=(-P*m-g*E)/A,w=(P*g+m*E)/A,p=(-P*m+g*E)/A,x=H-M,e=J-t,r=w-M,N=p-t;return x*x+e*e>r*r+N*N&&(H=w,J=p),{cx:H,cy:J,x01:-n,y01:-d,x11:H*(v/T-1),y11:J*(v/T-1)}}function hn(){var l=cn,h=yn,q=K(0),O=null,v=gn,R=dn,L=mn,u=null,D=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,M=an(c-f),t=c>f;if(u||(u=n=D()),s<a&&(d=s,s=a,a=d),!(s>y))u.moveTo(0,0);else if(M>tn-y)u.moveTo(s*Q(f),s*I(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*Q(c),a*I(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=M,E=M,H=L.apply(this,arguments)/2,J=H>y&&(O?+O.apply(this,arguments):j(a*a+s*s)),w=_(an(s-a)/2,+q.apply(this,arguments)),p=w,x=w,e,r;if(J>y){var N=sn(J/a*I(H)),z=sn(J/s*I(H));(P-=N*2)>y?(N*=t?1:-1,A+=N,T-=N):(P=0,A=T=(f+c)/2),(E-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(E=0,m=g=(f+c)/2)}var V=s*Q(m),W=s*I(m),B=a*Q(T),C=a*I(T);if(w>y){var F=s*Q(g),G=s*I(g),X=a*Q(A),Y=a*I(A),S;if(M<rn)if(S=pn(V,W,X,Y,F,G,B,C)){var Z=V-S[0],$=W-S[1],k=F-S[0],b=G-S[1],nn=1/I(on((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(S[0]*S[0]+S[1]*S[1]);p=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}E>y?x>y?(e=U(X,Y,V,W,s,x,t),r=U(F,G,B,C,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),u.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(u.moveTo(V,W),u.arc(0,0,s,m,g,!t)):u.moveTo(V,W),!(a>y)||!(P>y)?u.lineTo(B,C):p>y?(e=U(B,C,F,G,a,-p,t),r=U(V,W,X,Y,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,a,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),u.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):u.arc(0,0,a,T,A,t)}if(u.closePath(),n)return u=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-rn/2;return[Q(d)*n,I(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:K(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:K(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:K(+n),i):q},i.padRadius=function(n){return arguments.length?(O=n==null?null:typeof n=="function"?n:K(+n),i):O},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:K(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:K(+n),i):R},i.padAngle=function(n){return arguments.length?(L=typeof n=="function"?n:K(+n),i):L},i.context=function(n){return arguments.length?(u=n??null,i):u},i}export{hn as d};
|