@qwen-code/qwen-code 0.24.4 → 0.24.5-nightly.20260924.ffea2d024e
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/agent-delegation/SKILL.md +56 -0
- package/bundled/browser-use/SKILL.md +11 -10
- package/bundled/browser-use/runtime/index.js +70 -31
- package/bundled/browser-use/runtime/native-host.js +1 -0
- package/bundled/browser-use/runtime/scripts/native-host-setup.js +1 -0
- package/bundled/computer-use/SKILL.md +182 -224
- package/bundled/qc-helper/docs/configuration/model-providers.md +13 -2
- package/bundled/qc-helper/docs/conversations-recovery.md +10 -0
- package/bundled/qc-helper/docs/features/browser-use.md +22 -12
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -7
- package/bundled/qc-helper/docs/features/channels/feishu.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +13 -9
- package/bundled/qc-helper/docs/features/channels/gitlab.md +12 -5
- package/bundled/qc-helper/docs/features/channels/overview.md +121 -46
- package/bundled/qc-helper/docs/features/channels/plugins.md +12 -12
- package/bundled/qc-helper/docs/features/channels/qqbot.md +5 -5
- package/bundled/qc-helper/docs/features/channels/telegram.md +5 -5
- package/bundled/qc-helper/docs/features/channels/wecom.md +5 -4
- package/bundled/qc-helper/docs/features/channels/weixin.md +3 -3
- package/bundled/qc-helper/docs/features/code-review.md +4 -0
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/context-cost.md +7 -5
- package/bundled/qc-helper/docs/quickstart.md +14 -14
- package/bundled/qc-helper/docs/qwen-serve.md +10 -4
- package/bundled/review/SKILL.md +44 -9
- package/bundled/review/references/persistence.md +3 -4
- package/chunks/{MaxSizedBox-YRUOD55W.js → MaxSizedBox-P2GHN5YV.js} +33 -31
- package/chunks/{StandaloneSessionPicker-IIVDYLNQ.js → StandaloneSessionPicker-PEMEEZ3Z.js} +50 -48
- package/chunks/{acp-subagent-executor-5U2LT2ZS.js → acp-subagent-executor-OGMA6OLJ.js} +35 -33
- package/chunks/{acpAgent-GQCJ4KZY.js → acpAgent-A53IIIQE.js} +123 -97
- package/chunks/{agent-ZD5N6BSU.js → agent-JMMW45UJ.js} +18 -16
- package/chunks/{agent-headless-ZYDEB4YW.js → agent-headless-KPCHNPFD.js} +18 -16
- package/chunks/{anthropicContentGenerator-JOZNOMSX.js → anthropicContentGenerator-RDVBAABV.js} +3 -3
- package/chunks/{askUserQuestion-2NU6CXK2.js → askUserQuestion-V4OFZD5D.js} +1 -1
- package/chunks/{bridge-6BVTQBUK.js → bridge-TQHMDUPJ.js} +35 -33
- package/chunks/{channel-management-service-YN4A3BJ6.js → channel-management-service-Q2B7WUPL.js} +27 -10
- package/chunks/{channel-settings-store-GKXGAWDF.js → channel-settings-store-FKBBCMS2.js} +42 -40
- package/chunks/{channel-worker-group-AKPVHRUO.js → channel-worker-group-QNX4OIMZ.js} +5 -5
- package/chunks/{channel-worker-manager-TDAQSKWX.js → channel-worker-manager-IJCPV4WY.js} +24 -5
- package/chunks/{channel-worker-supervisor-PUMSN4J2.js → channel-worker-supervisor-ENJ2AE2N.js} +4 -4
- package/chunks/{chunk-GHJRFVPF.js → chunk-22JENOQB.js} +5 -4
- package/chunks/{chunk-4EQCVDVE.js → chunk-2FS4T477.js} +8 -8
- package/chunks/{chunk-CN6WQ2RW.js → chunk-2J2ZQVLC.js} +64 -2
- package/chunks/{chunk-ADPNUPK3.js → chunk-2JY2LCUU.js} +1 -1
- package/chunks/{chunk-CDPBJGOO.js → chunk-2SUKF4JL.js} +6 -6
- package/chunks/{chunk-KYFJLESB.js → chunk-3KDV7ZQJ.js} +38 -38
- package/chunks/{chunk-TOKDUK22.js → chunk-3S7UTGDX.js} +4 -4
- package/chunks/{chunk-2B2U26TT.js → chunk-3VJVCB2E.js} +4 -4
- package/chunks/{chunk-N4VKU36J.js → chunk-465XOJLQ.js} +1 -1
- package/chunks/{chunk-U2BS2NNZ.js → chunk-4UGMA2PY.js} +11 -89
- package/chunks/{chunk-MVC4XLNM.js → chunk-53IRNMPU.js} +118 -5
- package/chunks/{chunk-VGLXXHTF.js → chunk-5BLOZPTW.js} +1 -1
- package/chunks/{chunk-32MV4KJS.js → chunk-5Q7BILXI.js} +32 -9
- package/chunks/{chunk-DPEB6S2R.js → chunk-5QEJKW7V.js} +3522 -3070
- package/chunks/{chunk-NBWGGZY2.js → chunk-6MYJD4ZS.js} +13 -19
- package/chunks/{chunk-TBJBJDC3.js → chunk-75AREKQ5.js} +1 -1
- package/chunks/{chunk-P5OXAI4R.js → chunk-7ELTXG6G.js} +6 -6
- package/chunks/{chunk-GGUOO2XC.js → chunk-7RCAMBLN.js} +1 -1
- package/chunks/{chunk-72PBMHN5.js → chunk-ACUMQNP3.js} +35 -18
- package/chunks/{chunk-I46MJUYS.js → chunk-AT4FRIF6.js} +1 -1
- package/chunks/{chunk-CK5HUN74.js → chunk-BAV7Z5KE.js} +527 -135
- package/chunks/{chunk-LYEINKJD.js → chunk-BCW42UYG.js} +16 -12
- package/chunks/{chunk-N3HID7XO.js → chunk-BN3JSE4B.js} +7 -7
- package/chunks/{chunk-6VYKKLTW.js → chunk-BUMI6PRL.js} +5 -5
- package/chunks/{chunk-DKXSLDQN.js → chunk-C6TGSAYO.js} +4 -4
- package/chunks/{chunk-42HJVUP3.js → chunk-CD7AASGR.js} +1 -1
- package/chunks/{chunk-TS4Y2MHO.js → chunk-CGREZDGO.js} +1 -1
- package/chunks/chunk-CLNDQINM.js +523 -0
- package/chunks/{chunk-LNUQA3OE.js → chunk-CVRZNFXO.js} +1 -1
- package/chunks/{chunk-YWZOEHBT.js → chunk-DE2WI7RU.js} +192 -62
- package/chunks/{chunk-OD6ZS4US.js → chunk-DN7TVNHS.js} +1 -1
- package/chunks/{chunk-SAP35BR2.js → chunk-DNUSU3MC.js} +1 -1
- package/chunks/{chunk-WXCSKU3W.js → chunk-DV3DHBN6.js} +3 -3
- package/chunks/{chunk-RIQQLEYE.js → chunk-DVQCM4OJ.js} +1 -1
- package/chunks/{chunk-UNN4M5Z7.js → chunk-DY44AVOC.js} +1 -1
- package/chunks/{chunk-QZGPSTNK.js → chunk-EB3IUZV4.js} +3 -3
- package/chunks/{chunk-TZOI5TKT.js → chunk-EEXUIATI.js} +2 -2
- package/chunks/chunk-EMGHODF7.js +56 -0
- package/chunks/{chunk-3KD5I3G5.js → chunk-EMMJKUYQ.js} +3 -3
- package/chunks/{chunk-LW7WW3Z5.js → chunk-ERGQUKZ2.js} +1 -1
- package/chunks/{chunk-N25B6FZN.js → chunk-EYCDA5MN.js} +2 -0
- package/chunks/{chunk-H5I6FURC.js → chunk-F3ADPR3A.js} +20 -20
- package/chunks/{chunk-GNTHJTS2.js → chunk-F4WSLDSL.js} +1 -1
- package/chunks/{chunk-TX5DMDUG.js → chunk-FAXPWBVN.js} +1 -1
- package/chunks/{chunk-X2R47SFR.js → chunk-FLVPNMCS.js} +1 -1
- package/chunks/{chunk-2WXS6WNU.js → chunk-FQT6ZHKU.js} +17 -11
- package/chunks/{chunk-DXXCNZW4.js → chunk-GDOTFZKX.js} +7 -7
- package/chunks/{chunk-GZKSQ222.js → chunk-GI3G24M2.js} +6 -6
- package/chunks/{chunk-KY4HZXLV.js → chunk-GLPNIOEV.js} +33 -2
- package/chunks/{chunk-UBBHH6V4.js → chunk-GOIJGGKX.js} +7 -7
- package/chunks/{chunk-6PRSQUPJ.js → chunk-GQZZGEMS.js} +1 -1
- package/chunks/{chunk-5SLIP7KC.js → chunk-GSR2VAE6.js} +10 -10
- package/chunks/{chunk-4QYFUIEV.js → chunk-GT3ISCLZ.js} +45 -31
- package/chunks/{chunk-HH7R6RLK.js → chunk-GTQ35GRO.js} +1 -1
- package/chunks/{chunk-6IGW6HIV.js → chunk-GXLCL2SC.js} +1 -1
- package/chunks/{chunk-5OEY6RVW.js → chunk-HIX5TSC5.js} +4 -4
- package/chunks/{chunk-QROZDIMB.js → chunk-HJUAP436.js} +2 -2
- package/chunks/{chunk-K22NDLL4.js → chunk-HQTMH3GI.js} +3 -3
- package/chunks/{chunk-62DRQAZM.js → chunk-HXNXTDZQ.js} +1 -1
- package/chunks/{chunk-5A5VS7QC.js → chunk-I2TYEHKM.js} +2 -2
- package/chunks/{chunk-4VSTV4C2.js → chunk-IH22ZGZI.js} +53 -2
- package/chunks/{chunk-F7ZEBIEN.js → chunk-IJYQAXUO.js} +4 -4
- package/chunks/{chunk-2QLTKHIH.js → chunk-IS43JHQK.js} +1 -1
- package/chunks/{chunk-HS5OZTQF.js → chunk-J2FLXQJM.js} +1 -1
- package/chunks/{chunk-L4N5IWLI.js → chunk-J4DEZKGQ.js} +1 -1
- package/chunks/{chunk-TYMHGPN6.js → chunk-JIT2CBTI.js} +1 -1
- package/chunks/{chunk-D2H63VR2.js → chunk-JYOYZTGR.js} +4 -4
- package/chunks/{chunk-DBEN5QEB.js → chunk-K3NURH33.js} +3 -3
- package/chunks/{chunk-VTNSZQOF.js → chunk-K7WPYXOF.js} +2 -2
- package/chunks/{chunk-JE3J5HFM.js → chunk-KAOHUUM7.js} +62 -251
- package/chunks/{chunk-5NZED4YR.js → chunk-KC7DLSY7.js} +1 -1
- package/chunks/{chunk-U6BUJ2ZJ.js → chunk-KMBELEHL.js} +1 -1
- package/chunks/{chunk-BNPJT34T.js → chunk-KXKRYU57.js} +4 -4
- package/chunks/{chunk-MAY3R2RG.js → chunk-KZD6ZVFD.js} +1 -1
- package/chunks/{chunk-QKXZOHHQ.js → chunk-LDURD6EP.js} +15 -62
- package/chunks/{chunk-4JCRSCRO.js → chunk-LJ6YZBD6.js} +1 -1
- package/chunks/{chunk-VOHPPFJI.js → chunk-MHAVM3RF.js} +1 -1
- package/chunks/{chunk-MVLIEY6W.js → chunk-NFRX3HKQ.js} +3 -3
- package/chunks/{chunk-47C3HPMW.js → chunk-O5YL6KSX.js} +47 -18
- package/chunks/{chunk-K5NFICAO.js → chunk-ONIJYCSH.js} +3 -3
- package/chunks/{chunk-CIS4SY3R.js → chunk-PPBZHGEQ.js} +3 -3
- package/chunks/{chunk-PB7JBAHF.js → chunk-PVBIEIVZ.js} +0 -1
- package/chunks/{chunk-6N2PJAZG.js → chunk-PX2ZOOGQ.js} +1 -1
- package/chunks/{chunk-NNN2PKPV.js → chunk-PYYPSK6Q.js} +36 -495
- package/chunks/chunk-Q4FJVWI4.js +78 -0
- package/chunks/{chunk-PA4HU5IQ.js → chunk-QATPE3SN.js} +13 -7
- package/chunks/{chunk-HS2VQRHZ.js → chunk-QOBSJV7J.js} +3 -3
- package/chunks/{chunk-6NA357SF.js → chunk-QTNSMJKU.js} +1 -1
- package/chunks/{chunk-H4ET3HHT.js → chunk-QXCBFLYD.js} +1 -1
- package/chunks/{chunk-ZLGYH2QW.js → chunk-QZG34NFD.js} +3 -3
- package/chunks/{chunk-ZX6EZ7EH.js → chunk-RBE3WRSN.js} +3 -3
- package/chunks/{chunk-H4W6TJFJ.js → chunk-RONRTFAQ.js} +1 -1
- package/chunks/{chunk-STUJ7IMZ.js → chunk-SI7XKACY.js} +56 -56
- package/chunks/{chunk-WH7PDTZL.js → chunk-SJ2JVXQY.js} +8830 -7908
- package/chunks/{chunk-RFD37KE2.js → chunk-SMEUKYCR.js} +1 -1
- package/chunks/{chunk-OQMLQJEX.js → chunk-TENLV7C6.js} +5 -5
- package/chunks/{chunk-SNMYJZZG.js → chunk-TKEDWZ44.js} +5 -5
- package/chunks/{chunk-NXZD3VNX.js → chunk-TL7DSR47.js} +1 -1
- package/chunks/{chunk-J5C5SQQJ.js → chunk-TTHRVIPY.js} +62 -7
- package/chunks/{chunk-YIHOHHJL.js → chunk-TZHXHWEW.js} +1 -1
- package/chunks/{chunk-BTEPFM7T.js → chunk-UBL3PRRZ.js} +3 -3
- package/chunks/{chunk-XWCLIEJ2.js → chunk-UDXFQTUI.js} +2 -2
- package/chunks/{chunk-Z4RLAAF3.js → chunk-UO7RMX3D.js} +3 -3
- package/chunks/{chunk-A5QPMBRL.js → chunk-USEHQ5O2.js} +1 -1
- package/chunks/{chunk-NIB5MPTB.js → chunk-UYCJVDPK.js} +1 -1
- package/chunks/{chunk-52YR7XBE.js → chunk-VFE7QIOE.js} +20 -20
- package/chunks/{chunk-7WVZQVYU.js → chunk-VFYAQLSV.js} +2 -2
- package/chunks/{chunk-VPALWDQL.js → chunk-VUIH3BQL.js} +31 -12
- package/chunks/{chunk-LCTSR5TZ.js → chunk-W7TLK2JE.js} +2 -2
- package/chunks/{chunk-2VS5EEXU.js → chunk-WFHS3WCK.js} +136 -9
- package/chunks/{chunk-REFGAEP6.js → chunk-WNBI4ZWD.js} +2 -2
- package/chunks/{chunk-5NFAKADR.js → chunk-WZCVB2ER.js} +1 -36
- package/chunks/{chunk-B3BOQ562.js → chunk-XBIOF5ZN.js} +5 -5
- package/chunks/{chunk-E2FFBBLC.js → chunk-XQ4ALB6S.js} +2 -2
- package/chunks/{chunk-7I63HEBQ.js → chunk-YCWU2MD3.js} +3 -3
- package/chunks/{chunk-ODAWVZRE.js → chunk-YHGIEYIF.js} +25 -23
- package/chunks/{chunk-DYLGEL4Y.js → chunk-YID5BOAE.js} +6 -1
- package/chunks/{chunk-ILXHAHOV.js → chunk-YPY4FZDT.js} +5 -5
- package/chunks/{chunk-JVKG7KDB.js → chunk-YQYJ2SGK.js} +3 -3
- package/chunks/{chunk-73BAOEMB.js → chunk-ZG7MLW6R.js} +1 -1
- package/chunks/{chunk-IFWXQC7B.js → chunk-ZKZTUR7U.js} +1 -1
- package/chunks/{codex-subagent-executor-VSB4XPDB.js → codex-subagent-executor-3DP5XYNE.js} +35 -33
- package/chunks/{config-utils-DDUKVYVI.js → config-utils-GLX7SJ6O.js} +38 -34
- package/chunks/{contextCommand-GOW5PPVJ.js → contextCommand-DGFYOWR5.js} +33 -31
- package/chunks/{core-runtime-RP5WAAAJ.js → core-runtime-2LYDGU5V.js} +32 -30
- package/chunks/{create-sub-session-JTEIPMTJ.js → create-sub-session-35UOGHD7.js} +33 -31
- package/chunks/{daemon-Y6AOK7LF.js → daemon-D4OAVQKB.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-W5I6GKLX.js → daemon-git-worktree-guard-3ITNVX66.js} +32 -30
- package/chunks/{daemon-status-provider-PJDKC6U5.js → daemon-status-provider-LBY4YRSJ.js} +40 -38
- package/chunks/{daemon-trust-policy-VXNR5PJS.js → daemon-trust-policy-ZNFE2I42.js} +38 -36
- package/chunks/{daemon-trust-policy-monitor-VKUSL32L.js → daemon-trust-policy-monitor-IUMXEDZO.js} +38 -36
- package/chunks/{deferred-core-runtime-PCWM2NAR.js → deferred-core-runtime-DJBM4M2A.js} +32 -30
- package/chunks/{dist-54LGNLWW.js → dist-3M75XY4G.js} +1 -1
- package/chunks/{dist-YZBMQPNS.js → dist-6U5NQYA7.js} +5 -5
- package/chunks/{dist-FVMLRUVM.js → dist-AS2RPYOB.js} +1 -1
- package/chunks/{dist-HANHY2MK.js → dist-GFT4GU72.js} +2 -2
- package/chunks/{dist-Y5GP7SWL.js → dist-J7JK3GPY.js} +10 -9
- package/chunks/{dist-O723VE2K.js → dist-JTPRKF5H.js} +30 -27
- package/chunks/{dist-MGZKUISU.js → dist-MOO5VOC5.js} +7 -20
- package/chunks/{dist-IZ66D5A3.js → dist-NJ2L5QKL.js} +1 -1
- package/chunks/{dist-EI2XAB4W.js → dist-YC6LDCKH.js} +22 -28
- package/chunks/{edit-NZLWHALE.js → edit-XOPO64IC.js} +20 -18
- package/chunks/{enter-worktree-J46XVFRS.js → enter-worktree-55OWD4LT.js} +4 -3
- package/chunks/{enterPlanMode-I4IZ27WH.js → enterPlanMode-T3GKYG47.js} +18 -16
- package/chunks/{environment-RF7WL5VP.js → environment-DLKZ42JH.js} +36 -32
- package/chunks/{errors-5F35O3KE.js → errors-UBNSHKPT.js} +34 -32
- package/chunks/{execution-sandbox-settings-HIYVUBII.js → execution-sandbox-settings-3WJ67GX3.js} +3 -1
- package/chunks/{execution-tool-EWS25O7E.js → execution-tool-J6W5JVU2.js} +21 -19
- package/chunks/{execution-worker-UAASM5HN.js → execution-worker-NB7VOXHE.js} +24 -22
- package/chunks/{exit-worktree-BC4SDZCC.js → exit-worktree-MI6N4OUP.js} +4 -3
- package/chunks/{exitPlanMode-HEBWGYVF.js → exitPlanMode-5SU4CL6O.js} +18 -16
- package/chunks/{fast-path-O2LJG7DE.js → fast-path-PMBHIP4A.js} +4 -4
- package/chunks/{fast-path-settings-TQAYWLXR.js → fast-path-settings-VIYSH3SD.js} +2 -2
- package/chunks/{glob-YKXRLC3S.js → glob-PFM2ZX2Q.js} +18 -16
- package/chunks/{goal-tools-QSX7V2QH.js → goal-tools-BFXHBNL3.js} +18 -16
- package/chunks/{handleAutoUpdate-JVVDCWPS.js → handleAutoUpdate-NS4L5IPQ.js} +34 -32
- package/chunks/{i18n-TA4BNBF7.js → i18n-MG7AUI3C.js} +32 -30
- package/chunks/{initializer-ZHOONLTG.js → initializer-2EHWDIL7.js} +38 -36
- package/chunks/{installationInfo-22Q7JVZC.js → installationInfo-IUK6GWUL.js} +32 -30
- package/chunks/{list-5DY27M3G.js → list-FVYHW6UK.js} +41 -39
- package/chunks/{llm-T6YVOAHI.js → llm-CIEL5EA7.js} +85 -74
- package/chunks/{llm-content-generator-7ZKU73HA.js → llm-content-generator-QWJIQRUP.js} +3 -3
- package/chunks/{loadedSettingsAdapter-JFIYHT25.js → loadedSettingsAdapter-GDD23BZ4.js} +38 -36
- package/chunks/{local-execution-environment-6VWOEJYW.js → local-execution-environment-7M6SPJXO.js} +24 -22
- package/chunks/{loggingContentGenerator-DIC5SOXG.js → loggingContentGenerator-MGVME2MV.js} +20 -18
- package/chunks/{managed-npm-update-5TDNQ2XJ.js → managed-npm-update-F3EMYFJE.js} +32 -30
- package/chunks/managed-runtime-attestation-worker-G23AEEMF.js +367 -0
- package/chunks/{mcp-7ZE6BR36.js → mcp-2LXAQFBW.js} +38 -36
- package/chunks/{model-call-collection-W2WDYVH7.js → model-call-collection-JLUMVNCT.js} +1 -1
- package/chunks/{model-configuration-WUA7G4GY.js → model-configuration-GUR32M76.js} +38 -36
- package/chunks/{modelConfigUtils-CSAC36WP.js → modelConfigUtils-Y3UZ7DR5.js} +33 -31
- package/chunks/{monitor-XCEGKLFN.js → monitor-DOSUZV4I.js} +18 -16
- package/chunks/{nonInteractiveCli-L7ON6MBN.js → nonInteractiveCli-F7YPIV3H.js} +74 -73
- package/chunks/{nonInteractiveToolExecutor-KLKO6IKA.js → nonInteractiveToolExecutor-WO2RE5HY.js} +19 -17
- package/chunks/{notebook-edit-QCYO2MGD.js → notebook-edit-CUHNYHP5.js} +19 -17
- package/chunks/{omni-QWKKNBSE.js → omni-PYA4ZCID.js} +10 -7
- package/chunks/{openaiContentGenerator-PFU4NAXB.js → openaiContentGenerator-GS2ORQMQ.js} +12 -10
- package/chunks/{openaiResponsesContentGenerator-MBZKLYFV.js → openaiResponsesContentGenerator-62YOYDIA.js} +5 -5
- package/chunks/{pidfile-Y6JFLZSG.js → pidfile-DEYAILAH.js} +32 -30
- package/chunks/{processUtils-WGMBDDAF.js → processUtils-E3CERUVZ.js} +2 -2
- package/chunks/{prompt-terminal-ledger-DKFZL5ZJ.js → prompt-terminal-ledger-YRZHHREO.js} +33 -31
- package/chunks/{qwenContentGenerator-Q6QY4LGK.js → qwenContentGenerator-2C3J7HYV.js} +21 -19
- package/chunks/{reactive-degrade-V2VC7H7O.js → reactive-degrade-GDNBQBBY.js} +6 -6
- package/chunks/{read-file-NFZY7N2C.js → read-file-ITAQTQHJ.js} +6 -3
- package/chunks/{record-artifact-K4XSMW4X.js → record-artifact-XP3X7RE5.js} +3 -2
- package/chunks/{record-source-XZCI3IGU.js → record-source-2VBLKVIE.js} +2 -2
- package/chunks/{report-findings-MCGXBQFX.js → report-findings-D2QUYUOG.js} +4 -3
- package/chunks/{request-shutdown-TT62PREA.js → request-shutdown-R5SA5GE3.js} +1 -1
- package/chunks/{resumeHistoryUtils-HPFUAULU.js → resumeHistoryUtils-L2UNUBSP.js} +35 -33
- package/chunks/{ripGrep-PNFY7H5A.js → ripGrep-EAASDYG3.js} +8 -5
- package/chunks/{run-qwen-serve-LHARMZ7C.js → run-qwen-serve-LN76E4VH.js} +278 -79
- package/chunks/{runtime-R3ECTRPN.js → runtime-UL6DZYHW.js} +43 -41
- package/chunks/{sandboxConfig-LQ2JAICC.js → sandboxConfig-2N3BXDJA.js} +34 -32
- package/chunks/{scheduled-tasks-SHRO5IGN.js → scheduled-tasks-DGIGRBYW.js} +38 -36
- package/chunks/{scheduler-SDVHFPG4.js → scheduler-BCHAOQWV.js} +34 -32
- package/chunks/{send-message-3UM7XRTB.js → send-message-FBU6WDID.js} +1 -1
- package/chunks/{serve-ZIDUQEXD.js → serve-CZZHMYCY.js} +38 -36
- package/chunks/{server-5R5R5J4B.js → server-DV6PIMPW.js} +1789 -375
- package/chunks/{session-JP4CDING.js → session-PFPIIM3N.js} +75 -74
- package/chunks/{session-attachments-root-UMG3UM6R.js → session-attachments-root-ALF36B7T.js} +32 -30
- package/chunks/{session-pr-refresh-VCZDCDQF.js → session-pr-refresh-E4DAPHGT.js} +37 -35
- package/chunks/{settings-ARQIF4FZ.js → settings-YRMNIP6J.js} +37 -35
- package/chunks/{shell-EM2EW5GF.js → shell-UMZ5J6UJ.js} +18 -16
- package/chunks/{skill-ARBE3YO6.js → skill-WQBDICQA.js} +52 -13
- package/chunks/{skill-settings-XUKYH6QL.js → skill-settings-W4OLDKUA.js} +38 -36
- package/chunks/{spawnChannel-OUG6AG5B.js → spawnChannel-EAFCNPOA.js} +34 -32
- package/chunks/{standalone-update-ITTOS33Q.js → standalone-update-D7JQ27GQ.js} +33 -31
- package/chunks/{start-opentui-ui-HPBFC62Q.js → start-opentui-ui-43ATEBO2.js} +87 -86
- package/chunks/{startInteractiveUI-PJDI6SSE.js → startInteractiveUI-HJLPYP6N.js} +1040 -969
- package/chunks/{task-create-PEI7AJLE.js → task-create-PVF66J3R.js} +2 -2
- package/chunks/{task-update-MQZRWBGK.js → task-update-RSIITTOK.js} +2 -2
- package/chunks/{team-create-TBFNDDRY.js → team-create-QKZREJRV.js} +18 -16
- package/chunks/{team-plan-approval-57CJ2K3A.js → team-plan-approval-BU4HTFUI.js} +18 -16
- package/chunks/{terminal-image-renderer-QQ4343Q3.js → terminal-image-renderer-7KWVCSJU.js} +32 -30
- package/chunks/{theme-manager-CNGZ6T4K.js → theme-manager-I4S4TGZV.js} +32 -30
- package/chunks/{tool-call-PLSQ34VE.js → tool-call-DUHP6UXC.js} +2 -2
- package/chunks/{tool-result-media-R2EWIHTZ.js → tool-result-media-R2JNWHDG.js} +10 -7
- package/chunks/{tool-search-WPQALMLE.js → tool-search-4LU3SWMU.js} +7 -4
- package/chunks/{total-session-admission-MXIAY76R.js → total-session-admission-AIC2VP5H.js} +35 -33
- package/chunks/{trustedFolders-ZQQ2ETMA.js → trustedFolders-WVBPJOAW.js} +33 -31
- package/chunks/{update-relaunch-XVIHEJCH.js → update-relaunch-SON2QA6T.js} +5 -5
- package/chunks/{updateCheck-YQBGCMNZ.js → updateCheck-THHMK6IX.js} +32 -30
- package/chunks/{upload-config-UW6QN3CL.js → upload-config-VPUAXWRX.js} +4 -4
- package/chunks/{useAutoAcceptIndicator-GKQRK7OB.js → useAutoAcceptIndicator-LTUZXFZC.js} +41 -39
- package/chunks/{validateNonInterActiveAuth-JJTHAV5P.js → validateNonInterActiveAuth-KUNH2FOL.js} +72 -71
- package/chunks/{version-MZOCP6O7.js → version-GMDVWXUG.js} +1 -1
- package/chunks/{web-fetch-NX5NKVE3.js → web-fetch-MM4TA6NJ.js} +13 -9
- package/chunks/{web-search-VLFIKS3K.js → web-search-IAWACMBT.js} +4 -4
- package/chunks/{web-shell-static-GI6FVIMI.js → web-shell-static-E3O6NW7Y.js} +4 -3
- package/chunks/{workflow-EGMC2K5T.js → workflow-5MTBNIH6.js} +22 -20
- package/chunks/{workspace-providers-status-KPBNO6UE.js → workspace-providers-status-5M3UOWCJ.js} +43 -41
- package/chunks/{workspace-registration-store-WWCOY7D7.js → workspace-registration-store-MXY4VBW4.js} +1 -1
- package/chunks/{workspace-registry-LAS7KJOK.js → workspace-registry-KTTGYUOC.js} +35 -33
- package/chunks/{workspace-runtime-coordinator-7VEYHXEU.js → workspace-runtime-coordinator-V6MBZQVT.js} +36 -34
- package/chunks/{workspace-service-OUE5MDOT.js → workspace-service-UMQUHB32.js} +40 -38
- package/chunks/{workspace-skills-status-OHGY3ENO.js → workspace-skills-status-F7IWMYNU.js} +41 -39
- package/chunks/{workspace-trust-reconciler-E766QSRS.js → workspace-trust-reconciler-MDLI73QF.js} +41 -39
- package/chunks/{write-file-ZLRRA4ZT.js → write-file-LHOV3BL3.js} +21 -19
- package/chunks/{zoom-image-EX3C2PMJ.js → zoom-image-VTPGT3GB.js} +10 -6
- package/cli-entry.js +13 -0
- package/cli.js +24 -12
- package/execution-worker.js +1 -1
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +104 -104
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-Dbkc1x4g.js → abnfDiagram-VCTEODGH-BIzY5prP.js} +1 -1
- package/web-shell/assets/{arc-BCuaHw2a.js → arc-DTPoYgqM.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-CYnlVHx4.js → architectureDiagram-5GKGNRK7-DMRFm81i.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-fvsmUmR-.js → blockDiagram-NRAW4CY4-TcNGiiEi.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BAjnpe2_.js → c4Diagram-UCG6FXSJ-CsSMrmkn.js} +1 -1
- package/web-shell/assets/channel-CX6nRLY5.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-B92_XH72.js → chunk-2Q5K7J3B-DLUS2OKz.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-nFcltF2f.js → chunk-5VM5RSS4-Dj3neojq.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DuQ75APu.js → chunk-F27PBJKO-DKTGRC_7.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-CmXIQ06U.js → chunk-G27WJ6UU-Bhhhl7xI.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-pplos71B.js → chunk-JWPE2WC7-7AfyvpFL.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-BHK6p5jT.js → chunk-LCL6LL3I-C50Eay3L.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Bw6egCVb.js → chunk-POPQ4Y6H-CRBPbOWe.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BKSUyFl-.js → chunk-SVP7TREG-Ctr7vVt3.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DBK4vu_O.js → chunk-XXDRQBXY-B4ExJpUK.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DvX73GRE.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DvX73GRE.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-D8AjDuhC.js → cose-bilkent-JH36ORCC-Cllr81g5.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-F6ziGG13.js → cynefin-OW5HDTMX-dbFc7Jqn.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-1GrUeu9I.js → cynefinDiagram-5FMLGOSQ-CHqViWsG.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-CUMduMoA.js → dagre-3AP2YEHR-DVHuD-Ma.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-B0LbPx0Y.js → diagram-S7CK7UJ4-B6P5dSD8.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-Vl7zFXEJ.js → diagram-UQ7AKVKN-BPdvjv7b.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-C4khzWQM.js → diagram-VSXAHHWV-Cf3wqtZb.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-PqprIzeP.js → diagram-VX7I27RA-iT7vh4BN.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-CbGTxGOI.js → diagram-Z3DM3KII-CBq-pKMo.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-CigwMsaO.js → ebnfDiagram-PWID7BFC-CWo8D0_l.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-L4s33GGv.js → erDiagram-SSCWMZ5O-BdcX9VXM.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-D7mgIH88.js → flowDiagram-A5DVABFB-D2uR47D0.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-D0YhclTy.js → ganttDiagram-EL5Y4UJY-Du1Q-imH.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Bwf59IHb.js → gitGraphDiagram-WWUBYQGX-ZytI2J6R.js} +1 -1
- package/web-shell/assets/{index-CJ63h8ay.js → index-B5zIMd3G.js} +1 -1
- package/web-shell/assets/index-DuwfO01z.css +36 -0
- package/web-shell/assets/index-t2okSTsk.js +2407 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-T0Ewe5gl.js → infoDiagram-RXCK75RN-DeZwQFlp.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-BIdQGz1A.js → ishikawaDiagram-5VMMS53U-pDgu1jeK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BNxIYRys.js → journeyDiagram-EYS64GPL-ZCvpl8hA.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-DCSrG78S.js → kanban-definition-3QL26DDD-C9qY0GRv.js} +1 -1
- package/web-shell/assets/{layout-Br6mhJlI.js → layout-BixptjLn.js} +1 -1
- package/web-shell/assets/{linear-DCb_qQM9.js → linear-DjkqGiAW.js} +1 -1
- package/web-shell/assets/{mermaid.core-U7MUxrwT.js → mermaid.core-BSX0Vr31.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-B-E16G7A.js → mindmap-definition-FBJOCRG2-CBrjZekm.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DprVaT2C.js → pegDiagram-XKGWAZYB-DQIDACM3.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BpWhdw8B.js → pieDiagram-E7YTZNPT-CjeBecJ1.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-B_rgquel.js → quadrantDiagram-AXDQQJYC-s_fyH42A.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-tn5q9Df1.js → railroadDiagram-O6MQD6OU-CruAGcMa.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-DcXXYQ7a.js → requirementDiagram-EFPCY7ZU-CTBv3FSX.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-XFCBKj8s.js → sankeyDiagram-P5KCCOFB-CjFlz0KT.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-C9HOvsOz.js → sequenceDiagram-WJ2MYXX4-DRNDmQQw.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BF4RFDcQ.js → sizeCapture-X5ZJPWSS-BvBdgQsw.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-CFvvXZXi.js → stateDiagram-HBIQ2CUA-D1dJtfN0.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DXVOtEux.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-BeHFLDui.js → swimlanes-XN3QIQJK-QylCxvYC.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BqCkfjdF.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D563SQiU.js → timeline-definition-24CTP7MA-Cw56FtZw.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-BmVC7Jer.js → vennDiagram-4TSXK5OY-DyA0dekR.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-Dlzz2LC2.js → wardleyDiagram-VM6X3IG4-CoAgxg4O.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CiOybQQL.js → xychartDiagram-S5SC5T6Z-kH3Md0xm.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/sw.js +1 -1
- package/bundled/computer-use/references/macos.md +0 -208
- package/bundled/computer-use/references/windows-linux.md +0 -247
- package/web-shell/assets/channel-BzQAUXQG.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-D8E4B_In.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-D8E4B_In.js +0 -1
- package/web-shell/assets/index-C0YFCwlu.js +0 -2337
- package/web-shell/assets/index-mr0Sw0G-.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1C9qvD3x.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-H_KJGVAj.js +0 -8
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-delegation
|
|
3
|
+
description: Reference for briefing a subagent or a fork — what to put in the prompt, what not to delegate, and a worked example. Load before writing a delegation prompt; the Agent tool's own description carries the launch rules and the background-agent rules.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Delegation prompt reference
|
|
7
|
+
|
|
8
|
+
Everything below is about _writing_ the prompt. Whether to delegate at all, how
|
|
9
|
+
a background agent reports back, and the rules for running agents concurrently
|
|
10
|
+
stay in the Agent tool's description — this reference does not repeat them.
|
|
11
|
+
|
|
12
|
+
## Writing the prompt
|
|
13
|
+
|
|
14
|
+
Brief the agent like a smart colleague: make the delegated task, boundaries, and expected output explicit. Regular subagents have not seen this conversation; forks inherit all or the selected recent window.
|
|
15
|
+
|
|
16
|
+
- Explain what you're trying to accomplish and why.
|
|
17
|
+
- Describe what you've already learned or ruled out.
|
|
18
|
+
- Give enough context about the surrounding problem that the agent can make judgment calls rather than just following a narrow instruction.
|
|
19
|
+
- If you need a short response, say so explicitly.
|
|
20
|
+
- For lookups, provide the exact target. For investigations, provide the actual question rather than an over-prescribed sequence of steps.
|
|
21
|
+
- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.
|
|
22
|
+
- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent.
|
|
23
|
+
|
|
24
|
+
Terse command-style prompts produce shallow, generic work.
|
|
25
|
+
|
|
26
|
+
**Never delegate understanding.** Do not write prompts like "based on your findings, fix the bug" or "based on the research, implement it." Those phrases push synthesis onto the agent instead of doing it yourself. Write prompts that prove you understood the task: include relevant file paths, constraints, what specifically needs to be learned or changed, and what is out of scope.
|
|
27
|
+
|
|
28
|
+
**A custom subagent's own definition outranks your prompt.** When `subagent_type` names a subagent someone defined, that definition already fixes its scope, its tools and its output contract; your prompt adds task context, not a new contract. Asking one confined to a single file to search the repository does not widen it — the dispatch simply cannot succeed. If the contract is too narrow for what you need, the definition is what has to change, not the prompt.
|
|
29
|
+
|
|
30
|
+
## Writing a fork prompt
|
|
31
|
+
|
|
32
|
+
With the default full history, the prompt is a _directive_ — what to do, not what the situation is. When `fork_turns` limits history, include any older context the fork still needs. Be specific about scope: what's in, what's out, what another agent is handling.
|
|
33
|
+
|
|
34
|
+
## Worked example
|
|
35
|
+
|
|
36
|
+
<example_agent_descriptions>
|
|
37
|
+
"test-runner": use this agent after you are done writing code to run tests
|
|
38
|
+
</example_agent_descriptions>
|
|
39
|
+
|
|
40
|
+
<example>
|
|
41
|
+
user: "Please write a function that checks if a number is prime"
|
|
42
|
+
assistant: I'm going to use the Write tool to write the following code:
|
|
43
|
+
<code>
|
|
44
|
+
function isPrime(n) {
|
|
45
|
+
if (n <= 1) return false
|
|
46
|
+
for (let i = 2; i * i <= n; i++) {
|
|
47
|
+
if (n % i === 0) return false
|
|
48
|
+
}
|
|
49
|
+
return true
|
|
50
|
+
}
|
|
51
|
+
</code>
|
|
52
|
+
<commentary>
|
|
53
|
+
Since a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests
|
|
54
|
+
</commentary>
|
|
55
|
+
assistant: Uses the agent tool to launch the test-runner agent
|
|
56
|
+
</example>
|
|
@@ -19,8 +19,11 @@ The SDK checks the actual connection and protocol instead of reading Chrome's
|
|
|
19
19
|
extension preferences.
|
|
20
20
|
|
|
21
21
|
If the extension does not connect, ask the user to open Chrome and check the
|
|
22
|
-
extension in the intended profile.
|
|
23
|
-
|
|
22
|
+
extension in the intended profile. It installs from the Chrome Web Store:
|
|
23
|
+
https://chromewebstore.google.com/detail/qwen-code/hdhmmjclhibojdddmancfgbkleahfaph
|
|
24
|
+
|
|
25
|
+
If the store reports it is not available in the user's region, they can build
|
|
26
|
+
it from `packages/chrome-extension` in the Qwen Code repository (its
|
|
24
27
|
README) and load `dist/extension` through `chrome://extensions` (Developer mode
|
|
25
28
|
→ Load unpacked). After installation or enabling it, retry the connection.
|
|
26
29
|
|
|
@@ -53,14 +56,12 @@ Browser Use MCP server. Screenshot metadata requires `@qwen-code/node-repl-mcp`
|
|
|
53
56
|
0.1.6 or later, so keep this exact pin.
|
|
54
57
|
|
|
55
58
|
Qwen reports the absolute `Base directory for this skill` when loading this
|
|
56
|
-
file. Use that directory as `<skill-base>`.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
`<skill-base>/runtime/node_modules` path. Import the bundled SDK, replacing the
|
|
63
|
-
example skill base below with that absolute path:
|
|
59
|
+
file. Use that directory as `<skill-base>`. The bundled SDK ships with its
|
|
60
|
+
dependencies: import it directly, without installing packages or registering
|
|
61
|
+
module directories, replacing the example skill base below with that absolute
|
|
62
|
+
path. If the import reports a missing file or an incomplete runtime, stop and
|
|
63
|
+
report an incomplete Browser Use runtime instead of installing dependencies
|
|
64
|
+
into the workspace:
|
|
64
65
|
|
|
65
66
|
```js
|
|
66
67
|
globalThis.browserAgent ??= await (
|
|
@@ -971,6 +971,7 @@ var CHROME_NATIVE_HOST_NAME = "com.qwen.browser_use";
|
|
|
971
971
|
var CHROME_NATIVE_HOST_REVISION = 2;
|
|
972
972
|
var CHROME_EXTENSION_ID = "idkijaaipeeinemigojbjkmfmabokbdk";
|
|
973
973
|
var CHROME_WEB_STORE_EXTENSION_ID = "hdhmmjclhibojdddmancfgbkleahfaph";
|
|
974
|
+
var CHROME_WEB_STORE_URL = "https://chromewebstore.google.com/detail/qwen-code/" + CHROME_WEB_STORE_EXTENSION_ID;
|
|
974
975
|
var CHROME_EXTENSION_IDS = [
|
|
975
976
|
CHROME_EXTENSION_ID,
|
|
976
977
|
CHROME_WEB_STORE_EXTENSION_ID
|
|
@@ -997,9 +998,9 @@ function defaultChromeBridgeSocketDirectory(uid, platform3 = process.platform, s
|
|
|
997
998
|
const base = platform3 === "darwin" ? "/private/tmp" : "/tmp";
|
|
998
999
|
return posix.join(base, `qwen-browser-use-${uid}`);
|
|
999
1000
|
}
|
|
1000
|
-
function statDirectory(
|
|
1001
|
+
function statDirectory(path2) {
|
|
1001
1002
|
try {
|
|
1002
|
-
return statSync(
|
|
1003
|
+
return statSync(path2);
|
|
1003
1004
|
} catch {
|
|
1004
1005
|
return void 0;
|
|
1005
1006
|
}
|
|
@@ -1133,9 +1134,9 @@ async function removeDeadHost(record3, socketPath) {
|
|
|
1133
1134
|
if (info?.isSocket() && info.uid === process.getuid())
|
|
1134
1135
|
await unlink(socketPath).catch(() => void 0);
|
|
1135
1136
|
}
|
|
1136
|
-
async function socketIsLive(
|
|
1137
|
+
async function socketIsLive(path2) {
|
|
1137
1138
|
return await new Promise((resolve3) => {
|
|
1138
|
-
const socket = connect(
|
|
1139
|
+
const socket = connect(path2);
|
|
1139
1140
|
const timer = setTimeout(() => finish(false), 200);
|
|
1140
1141
|
const finish = (live) => {
|
|
1141
1142
|
clearTimeout(timer);
|
|
@@ -1380,7 +1381,7 @@ var ChromeExtensionTransport = class {
|
|
|
1380
1381
|
} while (Date.now() < deadline);
|
|
1381
1382
|
if (mismatch !== void 0) throw mismatch;
|
|
1382
1383
|
throw disconnectedError(
|
|
1383
|
-
`Qwen Chrome extension is not connected. Open Chrome and
|
|
1384
|
+
`Qwen Chrome extension is not connected. Open Chrome and, in the profile you want to use, install the extension from ${CHROME_WEB_STORE_URL} or enable it at chrome://extensions, then retry. ${errorMessage(lastError)}`
|
|
1384
1385
|
);
|
|
1385
1386
|
}
|
|
1386
1387
|
/**
|
|
@@ -1627,7 +1628,7 @@ function invalidArguments(method, error) {
|
|
|
1627
1628
|
message: issue.message
|
|
1628
1629
|
}));
|
|
1629
1630
|
const summary = issues.slice(0, 3).map(
|
|
1630
|
-
({ path, message }) => `${
|
|
1631
|
+
({ path: path2, message }) => `${path2 || "options"}: ${message}`.slice(0, 200)
|
|
1631
1632
|
).join("; ");
|
|
1632
1633
|
const hint = method === "cua.keypress" || method === "dom_cua.keypress" ? ` Use ${method}({ keys: ["Enter"] }); a chord uses an array such as ["Control", "a"].` : method === "dom_cua.type" ? " Use dom_cua.click({ node_id }) followed by dom_cua.type({ text }) to type at the current focus." : "";
|
|
1633
1634
|
return new BrowserRuntimeError(
|
|
@@ -1673,7 +1674,7 @@ function operationErrorMessage(error) {
|
|
|
1673
1674
|
}
|
|
1674
1675
|
|
|
1675
1676
|
// src/runtime.ts
|
|
1676
|
-
import { fileURLToPath } from "node:url";
|
|
1677
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
1677
1678
|
|
|
1678
1679
|
// src/core/chrome-runtime-documentation.ts
|
|
1679
1680
|
var DEFAULT_CHROME_DOCUMENTATION = `# Qwen Browser Use
|
|
@@ -1882,11 +1883,11 @@ async function describeChromeProfiles(options, instanceIds) {
|
|
|
1882
1883
|
for (const file of await readdir2(storage).catch(() => []))
|
|
1883
1884
|
files.push(join2(storage, file));
|
|
1884
1885
|
}
|
|
1885
|
-
for (const
|
|
1886
|
-
if (!/\.(log|ldb)$/.test(
|
|
1887
|
-
const info = await stat2(
|
|
1886
|
+
for (const path2 of files) {
|
|
1887
|
+
if (!/\.(log|ldb)$/.test(path2)) continue;
|
|
1888
|
+
const info = await stat2(path2).catch(() => void 0);
|
|
1888
1889
|
if (!info?.isFile() || info.size > MAX_STORAGE_FILE_BYTES) continue;
|
|
1889
|
-
const bytes = await readFile2(
|
|
1890
|
+
const bytes = await readFile2(path2).catch(() => void 0);
|
|
1890
1891
|
if (bytes === void 0) continue;
|
|
1891
1892
|
for (const id2 of instanceIds) {
|
|
1892
1893
|
if (described.has(id2) || !bytes.includes(id2)) continue;
|
|
@@ -1979,9 +1980,9 @@ function isOwnedManifest(contents, launcherPath) {
|
|
|
1979
1980
|
function isOwnedLauncher(contents) {
|
|
1980
1981
|
return contents.startsWith("#!/bin/sh\n" + LAUNCHER_MARKER + "\n");
|
|
1981
1982
|
}
|
|
1982
|
-
async function readExistingFile(
|
|
1983
|
+
async function readExistingFile(path2) {
|
|
1983
1984
|
try {
|
|
1984
|
-
return await readFile2(
|
|
1985
|
+
return await readFile2(path2, "utf8");
|
|
1985
1986
|
} catch (error) {
|
|
1986
1987
|
if (error.code === "ENOENT") return null;
|
|
1987
1988
|
throw error;
|
|
@@ -2003,8 +2004,8 @@ async function atomicWrite(target, contents, mode, existingContents) {
|
|
|
2003
2004
|
await rm(temporary, { force: true });
|
|
2004
2005
|
}
|
|
2005
2006
|
}
|
|
2006
|
-
async function pathExists(
|
|
2007
|
-
return await access(
|
|
2007
|
+
async function pathExists(path2, mode = constants.F_OK) {
|
|
2008
|
+
return await access(path2, mode).then(
|
|
2008
2009
|
() => true,
|
|
2009
2010
|
() => false
|
|
2010
2011
|
);
|
|
@@ -2497,8 +2498,8 @@ function getErrorMap() {
|
|
|
2497
2498
|
|
|
2498
2499
|
// ../../node_modules/zod/v3/helpers/parseUtil.js
|
|
2499
2500
|
var makeIssue = (params) => {
|
|
2500
|
-
const { data, path, errorMaps, issueData } = params;
|
|
2501
|
-
const fullPath = [...
|
|
2501
|
+
const { data, path: path2, errorMaps, issueData } = params;
|
|
2502
|
+
const fullPath = [...path2, ...issueData.path || []];
|
|
2502
2503
|
const fullIssue = {
|
|
2503
2504
|
...issueData,
|
|
2504
2505
|
path: fullPath
|
|
@@ -2614,11 +2615,11 @@ var errorUtil;
|
|
|
2614
2615
|
|
|
2615
2616
|
// ../../node_modules/zod/v3/types.js
|
|
2616
2617
|
var ParseInputLazyPath = class {
|
|
2617
|
-
constructor(parent, value,
|
|
2618
|
+
constructor(parent, value, path2, key) {
|
|
2618
2619
|
this._cachedPath = [];
|
|
2619
2620
|
this.parent = parent;
|
|
2620
2621
|
this.data = value;
|
|
2621
|
-
this._path =
|
|
2622
|
+
this._path = path2;
|
|
2622
2623
|
this._key = key;
|
|
2623
2624
|
}
|
|
2624
2625
|
get path() {
|
|
@@ -6864,12 +6865,12 @@ async function executeCuaOperation(method, args, tab) {
|
|
|
6864
6865
|
});
|
|
6865
6866
|
return null;
|
|
6866
6867
|
case "cua.drag": {
|
|
6867
|
-
const
|
|
6868
|
+
const path2 = args.path;
|
|
6868
6869
|
await withModifiers(page, args.keys, async () => {
|
|
6869
|
-
await page.mouse.move(
|
|
6870
|
+
await page.mouse.move(path2[0]?.x ?? 0, path2[0]?.y ?? 0);
|
|
6870
6871
|
await page.mouse.down();
|
|
6871
6872
|
try {
|
|
6872
|
-
for (const point of
|
|
6873
|
+
for (const point of path2.slice(1))
|
|
6873
6874
|
await page.mouse.move(point.x, point.y);
|
|
6874
6875
|
} finally {
|
|
6875
6876
|
await page.mouse.up().catch(() => void 0);
|
|
@@ -7609,9 +7610,47 @@ function regionMismatch(actual, width, height) {
|
|
|
7609
7610
|
|
|
7610
7611
|
// src/playwright/playwright-session.ts
|
|
7611
7612
|
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
} from "
|
|
7613
|
+
|
|
7614
|
+
// src/playwright/playwright-core-loader.ts
|
|
7615
|
+
import { createRequire } from "node:module";
|
|
7616
|
+
import path from "node:path";
|
|
7617
|
+
import { fileURLToPath } from "node:url";
|
|
7618
|
+
function incompleteRuntime(detail) {
|
|
7619
|
+
const runtimeDir = path.dirname(fileURLToPath(import.meta.url));
|
|
7620
|
+
return new BrowserRuntimeError(
|
|
7621
|
+
"OPERATION_FAILED",
|
|
7622
|
+
`The Browser Use runtime in ${runtimeDir} is incomplete: ${detail}. Reinstall Qwen Code instead of installing packages into the workspace.`,
|
|
7623
|
+
{ runtimeDir }
|
|
7624
|
+
);
|
|
7625
|
+
}
|
|
7626
|
+
function orIncomplete(step) {
|
|
7627
|
+
try {
|
|
7628
|
+
return step();
|
|
7629
|
+
} catch (error) {
|
|
7630
|
+
const reason = operationErrorMessage(error).split("\n", 1)[0];
|
|
7631
|
+
throw incompleteRuntime(
|
|
7632
|
+
`its bundled playwright-core could not be loaded (${reason})`
|
|
7633
|
+
);
|
|
7634
|
+
}
|
|
7635
|
+
}
|
|
7636
|
+
function loadPlaywrightCore() {
|
|
7637
|
+
const manifestPath = orIncomplete(
|
|
7638
|
+
() => createRequire(import.meta.url).resolve("playwright-core/package.json")
|
|
7639
|
+
);
|
|
7640
|
+
const packageRequire = createRequire(manifestPath);
|
|
7641
|
+
const { version } = orIncomplete(
|
|
7642
|
+
() => packageRequire(manifestPath)
|
|
7643
|
+
);
|
|
7644
|
+
if (version !== "1.62.1") {
|
|
7645
|
+
throw incompleteRuntime(
|
|
7646
|
+
`it resolved playwright-core ${String(version)} at ${path.dirname(manifestPath)} instead of its bundled 1.62.1`
|
|
7647
|
+
);
|
|
7648
|
+
}
|
|
7649
|
+
return orIncomplete(
|
|
7650
|
+
() => packageRequire("playwright-core")
|
|
7651
|
+
);
|
|
7652
|
+
}
|
|
7653
|
+
var { chromium } = loadPlaywrightCore();
|
|
7615
7654
|
|
|
7616
7655
|
// src/playwright/qwen-playwright-transport.ts
|
|
7617
7656
|
import { platform as platform2 } from "node:os";
|
|
@@ -9126,23 +9165,23 @@ var PlaywrightRuntime = class {
|
|
|
9126
9165
|
const paths = stringArray(value);
|
|
9127
9166
|
let totalBytes = 0;
|
|
9128
9167
|
const files = [];
|
|
9129
|
-
for (const
|
|
9130
|
-
if (!isAbsolute2(
|
|
9168
|
+
for (const path2 of paths) {
|
|
9169
|
+
if (!isAbsolute2(path2))
|
|
9131
9170
|
throw new BrowserRuntimeError(
|
|
9132
9171
|
"INVALID_ARGUMENT",
|
|
9133
9172
|
"Upload paths must be absolute"
|
|
9134
9173
|
);
|
|
9135
|
-
const resolved = await realpath2(
|
|
9174
|
+
const resolved = await realpath2(path2).catch(() => void 0);
|
|
9136
9175
|
if (resolved === void 0)
|
|
9137
9176
|
throw new BrowserRuntimeError(
|
|
9138
9177
|
"INVALID_ARGUMENT",
|
|
9139
|
-
`Upload path does not exist: ${
|
|
9178
|
+
`Upload path does not exist: ${path2}`
|
|
9140
9179
|
);
|
|
9141
9180
|
const info = await stat3(resolved);
|
|
9142
9181
|
if (!info.isFile())
|
|
9143
9182
|
throw new BrowserRuntimeError(
|
|
9144
9183
|
"INVALID_ARGUMENT",
|
|
9145
|
-
`Upload path is not a file: ${
|
|
9184
|
+
`Upload path is not a file: ${path2}`
|
|
9146
9185
|
);
|
|
9147
9186
|
totalBytes += info.size;
|
|
9148
9187
|
if (totalBytes > MAX_UPLOAD_BYTES)
|
|
@@ -9205,7 +9244,7 @@ async function createBrowserBackend() {
|
|
|
9205
9244
|
if (!process.env["QWEN_BROWSER_USE_SOCKET_PATH"]?.trim() && !process.env["QWEN_BROWSER_USE_DISCOVERY_DIR"]?.trim() && (process.platform === "darwin" || process.platform === "linux")) {
|
|
9206
9245
|
const options = {
|
|
9207
9246
|
homeDir: nativeHostInstallHome(),
|
|
9208
|
-
nativeHostPath:
|
|
9247
|
+
nativeHostPath: fileURLToPath2(
|
|
9209
9248
|
new URL("./native-host.js", import.meta.url)
|
|
9210
9249
|
)
|
|
9211
9250
|
};
|
|
@@ -13,6 +13,7 @@ import { posix } from "node:path";
|
|
|
13
13
|
var CHROME_BRIDGE_PROTOCOL_VERSION = 3;
|
|
14
14
|
var CHROME_EXTENSION_ID = "idkijaaipeeinemigojbjkmfmabokbdk";
|
|
15
15
|
var CHROME_WEB_STORE_EXTENSION_ID = "hdhmmjclhibojdddmancfgbkleahfaph";
|
|
16
|
+
var CHROME_WEB_STORE_URL = "https://chromewebstore.google.com/detail/qwen-code/" + CHROME_WEB_STORE_EXTENSION_ID;
|
|
16
17
|
var CHROME_EXTENSION_IDS = [
|
|
17
18
|
CHROME_EXTENSION_ID,
|
|
18
19
|
CHROME_WEB_STORE_EXTENSION_ID
|
|
@@ -27,6 +27,7 @@ var CHROME_NATIVE_HOST_NAME = "com.qwen.browser_use";
|
|
|
27
27
|
var CHROME_NATIVE_HOST_REVISION = 2;
|
|
28
28
|
var CHROME_EXTENSION_ID = "idkijaaipeeinemigojbjkmfmabokbdk";
|
|
29
29
|
var CHROME_WEB_STORE_EXTENSION_ID = "hdhmmjclhibojdddmancfgbkleahfaph";
|
|
30
|
+
var CHROME_WEB_STORE_URL = "https://chromewebstore.google.com/detail/qwen-code/" + CHROME_WEB_STORE_EXTENSION_ID;
|
|
30
31
|
var CHROME_EXTENSION_IDS = [
|
|
31
32
|
CHROME_EXTENSION_ID,
|
|
32
33
|
CHROME_WEB_STORE_EXTENSION_ID
|