@qwen-code/qwen-code 0.23.5-dev.codemode-responses.20260915.f024b37689 → 0.23.5-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/computer-use/SKILL.md +24 -3
- package/bundled/qc-helper/docs/configuration/model-providers.md +43 -0
- package/bundled/qc-helper/docs/configuration/settings.md +10 -9
- package/bundled/qc-helper/docs/extension/agent-plugins.md +1 -0
- package/bundled/qc-helper/docs/extension/introduction.md +49 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +39 -4
- package/bundled/qc-helper/docs/features/channels/overview.md +12 -0
- package/bundled/qc-helper/docs/features/commands.md +57 -52
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/goals.md +8 -0
- package/bundled/qc-helper/docs/features/hooks.md +16 -0
- package/bundled/qc-helper/docs/qwen-serve.md +3 -1
- package/bundled/workflow-authoring/SKILL.md +48 -22
- package/chunks/{MaxSizedBox-BFMIFJWT.js → MaxSizedBox-FCF6M53W.js} +40 -43
- package/chunks/{StandaloneSessionPicker-4ZH7MOVG.js → StandaloneSessionPicker-V635V72I.js} +60 -63
- package/chunks/{acp-startup-profiler-RUQNTNU5.js → acp-startup-profiler-MOOU37VM.js} +2 -2
- package/chunks/{acp-subagent-executor-AHMVA4P3.js → acp-subagent-executor-TND6W2O5.js} +46 -47
- package/chunks/{acpAgent-UMAJ3XR3.js → acpAgent-3DPWZTNC.js} +954 -322
- package/chunks/{agent-CXB2CCQN.js → agent-KIHGINKN.js} +27 -30
- package/chunks/{agent-headless-7D5ZC736.js → agent-headless-EJ4QOUSM.js} +27 -30
- package/chunks/{anthropicContentGenerator-H5YPXIDE.js → anthropicContentGenerator-4FGOM5LK.js} +46 -64
- package/chunks/{artifact-tool-MFGORTWZ.js → artifact-tool-MUTNH4NI.js} +1 -1
- package/chunks/{askUserQuestion-WS4GUT7C.js → askUserQuestion-AKIRLVB5.js} +1 -1
- package/chunks/bareMode-QWKZPLPX.js +14 -0
- package/chunks/{bridge-A2WKX6IK.js → bridge-MUX5YJZT.js} +46 -49
- package/chunks/{ca-GZ4FDJU2.js → ca-WC3A5B3Q.js} +12 -1
- package/chunks/{channel-management-service-AFVIT4VH.js → channel-management-service-RRILWSXX.js} +4 -4
- package/chunks/{channel-settings-store-AXJIN7HG.js → channel-settings-store-7CBIRZER.js} +51 -54
- package/chunks/{channel-worker-group-JR6JOELM.js → channel-worker-group-3DUJFZJR.js} +8 -8
- package/chunks/{channel-worker-manager-AVKJEZFL.js → channel-worker-manager-E5UW2VLA.js} +8 -8
- package/chunks/{channel-worker-supervisor-OOYY7BAQ.js → channel-worker-supervisor-VN33GSEC.js} +5 -5
- package/chunks/{chunk-2YMRRI2C.js → chunk-2C5TR6HN.js} +82 -9
- package/chunks/{chunk-YDFOHRS5.js → chunk-2GP6BQ2J.js} +1 -1
- package/chunks/{chunk-RN6BU77T.js → chunk-347O2YZJ.js} +158 -290
- package/chunks/{chunk-LTINUI3O.js → chunk-36NRLIR6.js} +10 -8
- package/chunks/{chunk-AXZMWAJV.js → chunk-36SDZ2Q4.js} +8 -0
- package/chunks/{chunk-QR4Q425T.js → chunk-3BZI5GDP.js} +1 -1
- package/chunks/{chunk-C3YMBSLR.js → chunk-3HTUE6ZR.js} +3 -3
- package/chunks/{chunk-QS5Q5F42.js → chunk-3LLEB5CU.js} +2 -2
- package/chunks/{chunk-FPPG5Y3W.js → chunk-3UGMLA4V.js} +10 -8
- package/chunks/{chunk-66N6C4EH.js → chunk-3WILPKTJ.js} +2 -2
- package/chunks/{chunk-SROLVJFY.js → chunk-3WWPEFMX.js} +1 -1
- package/chunks/{chunk-ZKIAGIGH.js → chunk-3XBUCOWS.js} +1 -1
- package/chunks/{chunk-6RQFMGN2.js → chunk-43Y26NPF.js} +3 -3
- package/chunks/{chunk-INGBUYL6.js → chunk-4FLUQWJ4.js} +1 -1
- package/chunks/{chunk-S77FFY67.js → chunk-4JFLRHNE.js} +1 -1
- package/chunks/{chunk-MJHLKWGJ.js → chunk-4QPVZA5J.js} +70 -23
- package/chunks/{chunk-XX5HQLCZ.js → chunk-6OTF7TTE.js} +32 -1
- package/chunks/{chunk-4Y2I3CI3.js → chunk-6USYH3EU.js} +99 -6
- package/chunks/{chunk-Q3TFRP5G.js → chunk-7D4CV7JH.js} +102 -9
- package/chunks/{chunk-EWJTAP3Y.js → chunk-7O5PYQ3M.js} +20 -1
- package/chunks/chunk-ADN5KESB.js +28 -0
- package/chunks/chunk-AKRSSKUT.js +229 -0
- package/chunks/{chunk-54YUXX7X.js → chunk-AQP3H22J.js} +1 -1
- package/chunks/{chunk-EQWKIA72.js → chunk-AUX2FL5T.js} +24 -7
- package/chunks/{chunk-YGFJ6BRT.js → chunk-AZCTY64Z.js} +1 -1
- package/chunks/{chunk-QLX4D55R.js → chunk-B5TJK7B3.js} +1 -1
- package/chunks/{chunk-HXMDDII6.js → chunk-B6RMK4ED.js} +4 -4
- package/chunks/{chunk-UCKM6KCJ.js → chunk-BHG3H6OZ.js} +1 -1
- package/chunks/{chunk-JLF2AQAL.js → chunk-BHVF3R6B.js} +7 -5
- package/chunks/{chunk-HFJSQ4GL.js → chunk-BTICBRPL.js} +1 -1
- package/chunks/{chunk-KZCK5JUN.js → chunk-C3T6HPNM.js} +1 -1
- package/chunks/{chunk-FCLMJS6N.js → chunk-CDDP4ONL.js} +164 -27
- package/chunks/{chunk-Y3ZXDBUL.js → chunk-CQPM66MG.js} +4 -4
- package/chunks/{chunk-WKVZES7O.js → chunk-CXONOVBN.js} +1 -1
- package/chunks/{chunk-TYBRGFYL.js → chunk-CXY6BICQ.js} +501 -479
- package/chunks/{chunk-W23HOFDK.js → chunk-D3KVGQUV.js} +1 -1
- package/chunks/{chunk-LMJSPC55.js → chunk-D7JMO2GP.js} +3 -7
- package/chunks/{chunk-CXXAZ2LZ.js → chunk-DC4ZNGH4.js} +1 -1
- package/chunks/{chunk-FMLBBXHB.js → chunk-DRAX5YAI.js} +2 -2
- package/chunks/{chunk-DOTF2PF2.js → chunk-DRD6VBNH.js} +1 -1
- package/chunks/chunk-DX6JTDMR.js +105 -0
- package/chunks/{chunk-MNRK6MIH.js → chunk-E2VSBAFA.js} +53 -11
- package/chunks/{chunk-QJKR2P2K.js → chunk-EIBECN2J.js} +3 -3
- package/chunks/{chunk-LWWRJRCD.js → chunk-ESBYWATJ.js} +1 -1
- package/chunks/{chunk-3544ZEGZ.js → chunk-FASYATAZ.js} +5 -7
- package/chunks/{chunk-6YUS5JCV.js → chunk-FBY32737.js} +4 -4
- package/chunks/{chunk-LBWIJ5T7.js → chunk-FCPJXKDG.js} +10 -7
- package/chunks/{chunk-FX6GJIPZ.js → chunk-FEDFZBGR.js} +3 -3
- package/chunks/{chunk-DQ4LBRZN.js → chunk-FIJODK52.js} +3 -3
- package/chunks/{chunk-HVSRWLOW.js → chunk-FX6PZBOV.js} +3 -3
- package/chunks/{chunk-L6DIANLD.js → chunk-G45B3INR.js} +1 -1
- package/chunks/{chunk-EYLUKEYW.js → chunk-GI7SLDOI.js} +2 -2
- package/chunks/chunk-GJKP6XOB.js +1092 -0
- package/chunks/{chunk-I6YJZGHS.js → chunk-GSAOVDTH.js} +9 -9
- package/chunks/{chunk-XK4UQSIR.js → chunk-H6L4NEAT.js} +1 -1
- package/chunks/{chunk-GMCEFKNR.js → chunk-HNFKYKHH.js} +103 -22
- package/chunks/{chunk-6XDB3FR4.js → chunk-HX4WXX3H.js} +301 -138
- package/chunks/{chunk-HG46TTAG.js → chunk-HXUI5D4H.js} +1 -1
- package/chunks/{chunk-QI4WBHPF.js → chunk-HYHSMTRA.js} +4 -4
- package/chunks/{chunk-ZUKC5J6Q.js → chunk-IKBEIDOH.js} +14 -14
- package/chunks/{chunk-LCAJ63TF.js → chunk-INN5ORKX.js} +1 -1
- package/chunks/{chunk-GNV2SFO7.js → chunk-IVFTLUZD.js} +26 -1
- package/chunks/{chunk-GNKSR3FU.js → chunk-IXO2OCIP.js} +2 -2
- package/chunks/{chunk-SNT634Q6.js → chunk-K4XMAIRX.js} +30 -33
- package/chunks/{chunk-WBP64MZR.js → chunk-KAYC5FBN.js} +5269 -2785
- package/chunks/chunk-KEM7MWS7.js +3541 -0
- package/chunks/{chunk-ADQUK6WA.js → chunk-KVC7HZWK.js} +1 -1
- package/chunks/{chunk-UQXURNLM.js → chunk-KVQ3QL4K.js} +3 -3
- package/chunks/{chunk-7U5G6JXI.js → chunk-KWYTSSTJ.js} +105 -6
- package/chunks/{chunk-Q4G2YPI4.js → chunk-L2A5VBDL.js} +3019 -2352
- package/chunks/{chunk-WD6YQI5M.js → chunk-L3SNMEDW.js} +1 -1
- package/chunks/{chunk-BYUAT5OC.js → chunk-L7TJUPNR.js} +19 -3
- package/chunks/{chunk-ABNX6E6K.js → chunk-LFKXIOGC.js} +1 -1
- package/chunks/{chunk-GFAK6DYU.js → chunk-LO2UWNO5.js} +2 -2
- package/chunks/{chunk-67ZDP7UX.js → chunk-M22WLKLI.js} +5 -5
- package/chunks/{chunk-54B2LTKP.js → chunk-M23GFJ5B.js} +24 -5
- package/chunks/{chunk-VGY2RGXL.js → chunk-M4U2LTD2.js} +1 -1
- package/chunks/{chunk-ZNI3YJHS.js → chunk-MFDKHGTD.js} +1 -1
- package/chunks/{chunk-R7OO56VZ.js → chunk-MMRGG6R4.js} +1 -1
- package/chunks/{chunk-E6IR653O.js → chunk-MO4XID7S.js} +1 -1
- package/chunks/{chunk-NJ4ZNDVP.js → chunk-NKTMUPHJ.js} +3 -6
- package/chunks/{chunk-4DTFTPTU.js → chunk-NQ272MQG.js} +1 -1
- package/chunks/{chunk-DWKFTUGI.js → chunk-OALXNGUA.js} +6 -6
- package/chunks/{chunk-FBDHP23D.js → chunk-OSG23MR3.js} +1 -1
- package/chunks/{chunk-NJ2OFVUX.js → chunk-P42KMMU6.js} +860 -1
- package/chunks/{chunk-5KJ54DY3.js → chunk-PF7GAP6K.js} +60 -58
- package/chunks/{chunk-MQRLLBMQ.js → chunk-PPJSG2PU.js} +2 -2
- package/chunks/{chunk-EPVEPTI3.js → chunk-PZRXWQUA.js} +753 -18
- package/chunks/{chunk-VI5UVPOB.js → chunk-Q54O3EIA.js} +30 -28
- package/chunks/{chunk-QTUQV33C.js → chunk-QGEISOJ2.js} +4 -4
- package/chunks/{chunk-XKRYQOHS.js → chunk-QHSOINX6.js} +2 -2
- package/chunks/{chunk-Z6Q7I37O.js → chunk-QIPLWW6Q.js} +1 -1
- package/chunks/chunk-QMENOK5T.js +1246 -0
- package/chunks/chunk-QT6Z2IBF.js +347 -0
- package/chunks/{chunk-TBSCTWKF.js → chunk-RN6A53UJ.js} +25 -0
- package/chunks/{chunk-E7ZTAOJZ.js → chunk-RRI764F7.js} +21 -19
- package/chunks/{chunk-YI2YCNSP.js → chunk-SENYKRII.js} +1 -1
- package/chunks/chunk-SFHX5G2S.js +2796 -0
- package/chunks/chunk-SK3RZOPS.js +34 -0
- package/chunks/{chunk-SKYOAH4Z.js → chunk-SOLRBF7L.js} +13 -9
- package/chunks/{chunk-5WLF44DS.js → chunk-SSWTA7CH.js} +12 -12
- package/chunks/{chunk-IAS753HG.js → chunk-SYMXYRM5.js} +11 -2
- package/chunks/{chunk-FGROOEKM.js → chunk-TDKUXSJO.js} +34 -6
- package/chunks/{chunk-ZJ7JQUGY.js → chunk-TKF4JINY.js} +1 -1
- package/chunks/{chunk-ZOQ6HC7U.js → chunk-TPY6HW55.js} +4 -4
- package/chunks/{chunk-EDB556X7.js → chunk-TRZ22SG5.js} +1 -1
- package/chunks/{chunk-FHSOZSBO.js → chunk-TXTCM3TC.js} +4 -4
- package/chunks/{chunk-5ODRE7E5.js → chunk-U4AASWUQ.js} +28 -12
- package/chunks/{chunk-PPE7VUMD.js → chunk-UQGRJTDK.js} +2 -2
- package/chunks/{chunk-JO67LVXW.js → chunk-UZSB57EV.js} +6 -8
- package/chunks/{chunk-UY4OCBX4.js → chunk-V4JJAVHQ.js} +2 -2
- package/chunks/chunk-VEXUA6DX.js +1026 -0
- package/chunks/{chunk-ME4JBHSB.js → chunk-VQDWCQOE.js} +2 -0
- package/chunks/{chunk-ZC75SULX.js → chunk-VU3XMZ5I.js} +23 -4
- package/chunks/{chunk-A2UYI473.js → chunk-WL36KHUQ.js} +6 -6
- package/chunks/{chunk-IWOJ2FHG.js → chunk-WNQIJTOP.js} +8 -8
- package/chunks/{chunk-IANIY25T.js → chunk-WSJI6ODG.js} +99 -30
- package/chunks/{chunk-3CKAOJ4L.js → chunk-WZWTY7SG.js} +6 -6
- package/chunks/{chunk-EKMJR7M3.js → chunk-X7AYIXC7.js} +1 -1
- package/chunks/{chunk-IBRQG2MP.js → chunk-XAJZFGD2.js} +11 -11
- package/chunks/{chunk-VRQZESKP.js → chunk-XICCGDWF.js} +2 -2
- package/chunks/{chunk-L5R4D5T4.js → chunk-Y2KJC55Y.js} +12 -7
- package/chunks/{chunk-2S2WIGCM.js → chunk-Y4NNIGYO.js} +1 -1
- package/chunks/{chunk-J7LBAKDH.js → chunk-YL3UJML3.js} +7 -7
- package/chunks/{chunk-GSS4SZNG.js → chunk-YP2K3WOS.js} +40 -56
- package/chunks/{chunk-ZZUXUBEB.js → chunk-YQQ2U7AS.js} +8 -5
- package/chunks/{chunk-FAWTMDX7.js → chunk-YXHY6BKS.js} +15 -0
- package/chunks/{chunk-FIP5QS2U.js → chunk-YZXSDPOQ.js} +140 -39
- package/chunks/{chunk-WATHOB6X.js → chunk-ZFHKUQZ4.js} +3 -3
- package/chunks/{chunk-R5OA3ONY.js → chunk-ZMYKNKET.js} +6 -6
- package/chunks/{codex-subagent-executor-LANZAZPH.js → codex-subagent-executor-AEAIQZDC.js} +48 -49
- package/chunks/{config-utils-CRK2LQPA.js → config-utils-KX2YS725.js} +43 -46
- package/chunks/{contextCommand-GY5X3LIY.js → contextCommand-RV6Y5LNJ.js} +41 -44
- package/chunks/{core-runtime-IJIV2LHP.js → core-runtime-ZI4RTOJQ.js} +45 -48
- package/chunks/{create-sub-session-MNIVRHGB.js → create-sub-session-BBWFQARJ.js} +46 -48
- package/chunks/{daemon-NJB4PWZ7.js → daemon-INCM4VBX.js} +3 -1
- package/chunks/{daemon-git-worktree-guard-W6Z2BGDH.js → daemon-git-worktree-guard-KECEMV6A.js} +39 -42
- package/chunks/{daemon-status-provider-TJF3APU3.js → daemon-status-provider-NULJNAEV.js} +53 -56
- package/chunks/{daemon-trust-policy-6INCISDU.js → daemon-trust-policy-S4KWGPV3.js} +47 -50
- package/chunks/{daemon-trust-policy-monitor-JRTAQG54.js → daemon-trust-policy-monitor-546N5ZVL.js} +47 -50
- package/chunks/{de-VGY3VNBU.js → de-6AVKPTXQ.js} +11 -0
- package/chunks/{deferred-core-runtime-2JRTPTNM.js → deferred-core-runtime-T23ZT443.js} +39 -42
- package/chunks/{dist-NIOJXMGY.js → dist-4P3ZJYGI.js} +1 -1
- package/chunks/{dist-VDLSBCLM.js → dist-7MGRENQ5.js} +1 -1
- package/chunks/{dist-SE4J6Z4O.js → dist-BNW423XT.js} +326 -77
- package/chunks/{dist-TFGETXFN.js → dist-CESMUYGN.js} +4 -4
- package/chunks/{dist-MPUZZOG5.js → dist-DBBOFWSC.js} +1 -1
- package/chunks/{dist-T6DDPDLQ.js → dist-G5UMXIGF.js} +1 -1
- package/chunks/{dist-PA7WPFVE.js → dist-UXVNLQHG.js} +3 -3
- package/chunks/{dist-GUB7QRYA.js → dist-VA4LREAQ.js} +2 -2
- package/chunks/{dist-2QYIVNS6.js → dist-XDRTR4QP.js} +1 -1
- package/chunks/{edit-JDIXXCYB.js → edit-CMSQB7NP.js} +27 -30
- package/chunks/{en-E5ZO5TZW.js → en-56QLKXS2.js} +23 -1
- package/chunks/{enter-worktree-CAARFWBI.js → enter-worktree-DA6A4XC5.js} +3 -3
- package/chunks/{enterPlanMode-YTNTBZBN.js → enterPlanMode-UDPMNESD.js} +27 -30
- package/chunks/{environment-UAI5L52V.js → environment-TSQJUTPV.js} +42 -45
- package/chunks/{errors-J4UCDCW5.js → errors-RIVYJS6T.js} +41 -44
- package/chunks/{exit-worktree-JXGGUOBP.js → exit-worktree-4H6Z2VQI.js} +3 -3
- package/chunks/{exitPlanMode-YMWJ2EO7.js → exitPlanMode-BYBBFN2T.js} +27 -30
- package/chunks/{fast-path-MBAN7TK3.js → fast-path-F2CYDDZ4.js} +4 -4
- package/chunks/{fast-path-settings-XDYX7X5Z.js → fast-path-settings-N2VGRGDJ.js} +2 -2
- package/chunks/{fr-UAZJJH5N.js → fr-EBUDHJL3.js} +11 -0
- package/chunks/{glob-YEM24E3Z.js → glob-Z2JMJKKN.js} +27 -30
- package/chunks/{goal-tools-LJIVH5T6.js → goal-tools-HXVVLGCV.js} +27 -30
- package/chunks/{handleAutoUpdate-DYCSYDYL.js → handleAutoUpdate-FZP45KOR.js} +43 -46
- package/chunks/{i18n-PTAV7SN3.js → i18n-OTB62AKW.js} +40 -43
- package/chunks/{image-gen-5G2TQ3DY.js → image-gen-HIAZCB5T.js} +6 -7
- package/chunks/{initializer-MPXTKQA4.js → initializer-4JXZEC4B.js} +47 -50
- package/chunks/{installationInfo-U5EFA3OL.js → installationInfo-2IJV5QKC.js} +39 -42
- package/chunks/{ja-2RITCMAJ.js → ja-NCDT4CGV.js} +11 -0
- package/chunks/{list-YOE25QUI.js → list-KQSQ4A5G.js} +50 -53
- package/chunks/{llm-ZZ2WNQMC.js → llm-LSUBOJAR.js} +154 -974
- package/chunks/{llm-content-generator-CG2HRJZC.js → llm-content-generator-MLIONRXE.js} +17 -12
- package/chunks/{loadedSettingsAdapter-NPGWGURF.js → loadedSettingsAdapter-TZTTNRHI.js} +47 -50
- package/chunks/{loggingContentGenerator-TUL6SJVL.js → loggingContentGenerator-TUPEXFMM.js} +31 -34
- package/chunks/{loop-wakeup-VG6CGBQA.js → loop-wakeup-ZBVRI6VH.js} +1 -1
- package/chunks/{managed-npm-update-YUDSCJP3.js → managed-npm-update-WEA5XMFZ.js} +40 -43
- package/chunks/{mcp-EX3GDQVO.js → mcp-TFDTUPIA.js} +47 -50
- package/chunks/{model-configuration-6DEKTXJI.js → model-configuration-ZCAKKIOF.js} +48 -51
- package/chunks/{modelConfigUtils-4NA2MHEE.js → modelConfigUtils-J3ZPW7ZK.js} +41 -44
- package/chunks/{monitor-PPUGNAWR.js → monitor-CI7YE7MT.js} +29 -32
- package/chunks/{nonInteractiveCli-6TW2XYP5.js → nonInteractiveCli-GPT3TVOK.js} +96 -98
- package/chunks/{notebook-edit-4MUXHZHT.js → notebook-edit-3WCVRNGL.js} +27 -30
- package/chunks/{openaiContentGenerator-5J73W5XZ.js → openaiContentGenerator-OGILGUZE.js} +12 -17
- package/chunks/{openaiResponsesContentGenerator-AWRYZLJU.js → openaiResponsesContentGenerator-NXOXUPFM.js} +45 -13
- package/chunks/{pidfile-M7WELKBB.js → pidfile-GBTBIGHF.js} +39 -42
- package/chunks/{process-registry-X6ZCASEN.js → process-registry-7LAPI3ZB.js} +1 -1
- package/chunks/{processUtils-SPRINFNY.js → processUtils-O4II3RYH.js} +2 -2
- package/chunks/{prompt-terminal-ledger-25BRD7FX.js → prompt-terminal-ledger-ILIXZI3E.js} +40 -43
- package/chunks/{pt-5ZF7ZQUV.js → pt-FYYFWYUC.js} +11 -0
- package/chunks/{qwenContentGenerator-H5AAKXPC.js → qwenContentGenerator-I4LRYADV.js} +33 -36
- package/chunks/{qwenOAuth2-WIEUEFEY.js → qwenOAuth2-3J66TOT5.js} +6 -7
- package/chunks/{read-file-ILGEFPB3.js → read-file-G4XKW2CS.js} +5 -9
- package/chunks/{record-artifact-PXMNP7GZ.js → record-artifact-L3CFJOMA.js} +2 -2
- package/chunks/{report-findings-W6GR7SYZ.js → report-findings-LY5HQY4K.js} +3 -3
- package/chunks/{resumeHistoryUtils-RB52QOCH.js → resumeHistoryUtils-YPJU4XFE.js} +44 -47
- package/chunks/{ripGrep-O6QAFHQK.js → ripGrep-AAKMALLM.js} +7 -11
- package/chunks/{ru-7BNZFQKG.js → ru-RHEB3RNS.js} +11 -0
- package/chunks/{run-qwen-serve-5NO3TKUL.js → run-qwen-serve-ZVEKGS7Y.js} +177 -98
- package/chunks/{runtime-G2YUYMSZ.js → runtime-SJCRYNPA.js} +52 -55
- package/chunks/safe-mode-KLGUG54M.js +11 -0
- package/chunks/sandbox-UIXL423Z.js +146 -0
- package/chunks/sandboxConfig-CY343YNJ.js +114 -0
- package/chunks/{scheduled-tasks-HDHV3URA.js → scheduled-tasks-5UGBEVNZ.js} +50 -53
- package/chunks/{scheduler-6MDJX2ZK.js → scheduler-GCZYLZ2P.js} +41 -44
- package/chunks/{sdk-exporters-http-3R2TRQHE.js → sdk-exporters-http-DR4G663K.js} +1 -1
- package/chunks/{sdk-impl-4WF3VZ2F.js → sdk-impl-SJR26MQF.js} +3 -3
- package/chunks/{send-message-UMJKN27Q.js → send-message-DN76MXDX.js} +6 -6
- package/chunks/{serve-Z2EJQYKB.js → serve-2XXQLVK2.js} +48 -51
- package/chunks/{server-JTNBK3LH.js → server-UHMKPCAZ.js} +408 -211
- package/chunks/{session-5YK2BXH4.js → session-ZLUK7E4P.js} +108 -108
- package/chunks/{session-attachments-root-QO3VFJS6.js → session-attachments-root-DHQM5IEZ.js} +39 -42
- package/chunks/{session-pr-refresh-OTK3HCJZ.js → session-pr-refresh-3OMTQWCZ.js} +48 -51
- package/chunks/{settings-2VKLACYV.js → settings-P4DHIIUP.js} +50 -53
- package/chunks/{shell-64NAVGMS.js → shell-IMFUVQQ5.js} +27 -30
- package/chunks/{skill-R3ALMLLM.js → skill-NB5RJGZW.js} +7 -11
- package/chunks/{skill-settings-HZ34TUMP.js → skill-settings-IXG5CTQO.js} +47 -50
- package/chunks/{spawnChannel-XGFWHEIK.js → spawnChannel-Q3YALTCJ.js} +44 -45
- package/chunks/{standalone-update-R32Y3XRR.js → standalone-update-H5OJ7MM7.js} +41 -44
- package/chunks/{start-opentui-ui-YGJOUE2H.js → start-opentui-ui-JKAIWGF7.js} +733 -386
- package/chunks/{startInteractiveUI-5ZEVKSFF.js → startInteractiveUI-YRPOT6GH.js} +370 -337
- package/chunks/task-create-75HVPEAH.js +1 -1
- package/chunks/{team-create-GCVUXJLE.js → team-create-2XTBYRJF.js} +31 -34
- package/chunks/{team-plan-approval-NOL62FJD.js → team-plan-approval-CFNWW7ZQ.js} +27 -30
- package/chunks/{terminal-image-renderer-WG5TLPGC.js → terminal-image-renderer-UDPJPGPQ.js} +39 -42
- package/chunks/{theme-manager-HDS4YFPW.js → theme-manager-SK57EKMO.js} +39 -42
- package/chunks/{tool-search-HMT5GYUR.js → tool-search-ZHTJU2MV.js} +5 -9
- package/chunks/{total-session-admission-Y5RCHEXO.js → total-session-admission-UUZBDQCG.js} +47 -50
- package/chunks/{tree-sitter-LSORDVZ3.js → tree-sitter-4D7QS7F6.js} +1 -1
- package/chunks/{tree-sitter-bash-UARELQ6C.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
- package/chunks/{trustedFolders-3Y2WCXMR.js → trustedFolders-4LDBLNTS.js} +40 -43
- package/chunks/{update-relaunch-MTJ32SLF.js → update-relaunch-LI7GRP36.js} +5 -5
- package/chunks/{updateCheck-YFX3VY6O.js → updateCheck-PKSSORPO.js} +43 -46
- package/chunks/{useAutoAcceptIndicator-FCHNQPMD.js → useAutoAcceptIndicator-I32UEQPI.js} +50 -53
- package/chunks/{validateNonInterActiveAuth-HUFQKCGG.js → validateNonInterActiveAuth-YFPCYYNL.js} +93 -95
- package/chunks/{version-S5TGWCA3.js → version-4MTL4JVU.js} +1 -1
- package/chunks/{web-fetch-23M7BYHB.js → web-fetch-O6RG6ISB.js} +9 -13
- package/chunks/{web-search-F5PNIQUA.js → web-search-JHAXVEMD.js} +9 -14
- package/chunks/{web-shell-static-T7UGLVE4.js → web-shell-static-FFWCUUZS.js} +8 -4
- package/chunks/{workflow-BLJLID2C.js → workflow-O7L6VDYU.js} +396 -113
- package/chunks/{workspace-providers-status-UH7KLZDT.js → workspace-providers-status-WRX6CJM4.js} +53 -56
- package/chunks/{workspace-registration-store-3SA3V7BA.js → workspace-registration-store-7G4E7YPY.js} +1 -1
- package/chunks/{workspace-registry-C6C6EKQ5.js → workspace-registry-SXIMGT4D.js} +47 -50
- package/chunks/{workspace-runtime-coordinator-RAI6XDJB.js → workspace-runtime-coordinator-7DOEHXYT.js} +47 -50
- package/chunks/{workspace-service-H7UTJYJU.js → workspace-service-HDXOZMYC.js} +53 -56
- package/chunks/{workspace-skills-status-FPVC7XXK.js → workspace-skills-status-VN4L37CA.js} +50 -53
- package/chunks/{workspace-trust-reconciler-JS7A6UIF.js → workspace-trust-reconciler-XEBW5FUL.js} +57 -60
- package/chunks/{write-file-GQGG7NBQ.js → write-file-LKX4ETIO.js} +29 -32
- package/chunks/{zh-V2EYTYJP.js → zh-F76MZTL3.js} +23 -1
- package/chunks/{zh-TW-7PRVUGLW.js → zh-TW-S3YTQ4DS.js} +23 -1
- package/chunks/{zoom-image-EC43KL4H.js → zoom-image-RDPRTP4B.js} +5 -9
- package/cli.js +19 -15
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +151 -150
- package/locales/ca.js +19 -2
- package/locales/de.js +18 -0
- package/locales/en.js +33 -2
- package/locales/fr.js +18 -0
- package/locales/ja.js +18 -0
- package/locales/pt.js +18 -0
- package/locales/ru.js +18 -0
- package/locales/zh-TW.js +33 -2
- package/locales/zh.js +33 -2
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-BtpzKw3A.js → abnfDiagram-VCTEODGH-RxykUDmi.js} +1 -1
- package/web-shell/assets/{arc-CQiVKZJP.js → arc-CZpgGCJC.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-ekIPBb2d.js → architectureDiagram-5GKGNRK7-BHSMzNDT.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-BrRWkWri.js → blockDiagram-NRAW4CY4-Bn4mF9SZ.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-qYS8CYZ3.js → c4Diagram-UCG6FXSJ-CBM-Bj6t.js} +1 -1
- package/web-shell/assets/channel-DFYs_LlK.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-ZasyyEZm.js → chunk-2Q5K7J3B-D5Fin58O.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-C_IzCGeA.js → chunk-5VM5RSS4-CY05weF7.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-C25NZOyD.js → chunk-F27PBJKO-3neZnj5Y.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-XPOHNSGX.js → chunk-G27WJ6UU-Cd7EU4BE.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-BQBh0Xni.js → chunk-JWPE2WC7-DwK1mqFw.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-CoShjpX7.js → chunk-LCL6LL3I-Sl7vY22C.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-BwRmCDSz.js → chunk-POPQ4Y6H-BXNzpbVg.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DSzE5-Mw.js → chunk-SVP7TREG-DjjButcp.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BQSQv30h.js → chunk-XXDRQBXY-DNOiCjOJ.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DnGrKXoM.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DnGrKXoM.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-XVUVTHVo.js → cose-bilkent-JH36ORCC-BUnker7a.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-CrsKx4lQ.js → cynefin-OW5HDTMX-DcUgdWE5.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BPeZEuHw.js → cynefinDiagram-5FMLGOSQ-CvDKsZsL.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-D31cQ2Qs.js → dagre-3AP2YEHR-jpCmUbr1.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-zyiG097Q.js → diagram-S7CK7UJ4-DBe_bKE5.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-Br3vtfsy.js → diagram-UQ7AKVKN-oXvPpDgs.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-Bxkhjx4u.js → diagram-VSXAHHWV-BD7-_SGh.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BQH8QiDk.js → diagram-VX7I27RA-DOJL0wub.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-B_aQ1cw0.js → diagram-Z3DM3KII-DRIiodDD.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-B9N7BRQE.js → ebnfDiagram-PWID7BFC-Db31Ulmb.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-Cx6Hb1Re.js → erDiagram-SSCWMZ5O-CVHhwI2_.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-DTuLP7GU.js → flowDiagram-A5DVABFB-DWOFy1FK.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DYS3d-sL.js → ganttDiagram-EL5Y4UJY-C0sxQtPd.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Cp0EGx04.js → gitGraphDiagram-WWUBYQGX-CNituBYC.js} +1 -1
- package/web-shell/assets/index-B15NlwB8.js +2213 -0
- package/web-shell/assets/index-BSrS0tQ6.css +36 -0
- package/web-shell/assets/{index-45-LkPDB.js → index-gm9tLk7h.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-9--kukiT.js → infoDiagram-RXCK75RN-CxhJYtIR.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CGBdsDLD.js → ishikawaDiagram-5VMMS53U-By2mchUy.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-DeXhcscd.js → journeyDiagram-EYS64GPL-CVH-OweI.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-CFdvsU3b.js → kanban-definition-3QL26DDD-Cc9dQXLy.js} +1 -1
- package/web-shell/assets/knowledge-Dg9788h4.svg +1 -0
- package/web-shell/assets/{layout-DAnwQ3KB.js → layout-C_60ysHw.js} +1 -1
- package/web-shell/assets/{linear-CTo7v7Nh.js → linear-BvAVfqwu.js} +1 -1
- package/web-shell/assets/{mermaid.core-jggSxF1i.js → mermaid.core-C3CoBKAc.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DzIepvlJ.js → mindmap-definition-FBJOCRG2-Cuu8Q8LM.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BFGS9GJv.js → pegDiagram-XKGWAZYB-DmAeyDO2.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-B2UUcNIT.js → pieDiagram-E7YTZNPT-B7vbB_xv.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BgM6htrX.js → quadrantDiagram-AXDQQJYC-BqOBkRR7.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-Dk9cS7N-.js → railroadDiagram-O6MQD6OU-sI06lZIu.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C9oRg7xi.js → requirementDiagram-EFPCY7ZU-Bg13d10S.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-B-_c7GzI.js → sankeyDiagram-P5KCCOFB-WFOzZHrR.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-R0M-347u.js → sequenceDiagram-WJ2MYXX4-CCdRbA4E.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-Df0f8UAW.js → sizeCapture-X5ZJPWSS-BH5F3bGg.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-CsUEfAA-.js → stateDiagram-HBIQ2CUA-NwS2X3QB.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1aU2JZXO.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-9OGHVSrx.js → swimlanes-XN3QIQJK-Bm38pM28.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dp-u6kQG.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-DAfGqS2B.js → timeline-definition-24CTP7MA-Do-agLSo.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-CKATpwHi.js → vennDiagram-4TSXK5OY-aggLfZzl.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CQHdhTrm.js → wardleyDiagram-VM6X3IG4-D5JR3mXX.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-5k9NLqlY.js → xychartDiagram-S5SC5T6Z-DhtLDuXs.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-4OQSG35W.js +0 -1416
- package/chunks/chunk-7MIBD3LG.js +0 -137
- package/chunks/chunk-ARDHE6MM.js +0 -235
- package/chunks/chunk-C75BXMPM.js +0 -169
- package/chunks/chunk-ERU3SDXT.js +0 -27
- package/chunks/chunk-FPGTNKCP.js +0 -251
- package/chunks/chunk-JIJ65YKA.js +0 -2812
- package/chunks/chunk-JL6APGBX.js +0 -43
- package/chunks/chunk-SGXJQP5Q.js +0 -4172
- package/chunks/chunk-TPEV2QHG.js +0 -514
- package/chunks/chunk-YVWS4SLL.js +0 -137
- package/web-shell/assets/channel-DSQQnOZj.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-V94ta08R.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-V94ta08R.js +0 -1
- package/web-shell/assets/index-H8um-iEl.js +0 -2207
- package/web-shell/assets/index-n6N-2a3v.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CnSuTPJ2.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bb7TcWQw.js +0 -8
- package/chunks/{chunk-QZW6WRB7.js → chunk-5NUKK2DT.js} +2 -2
- package/chunks/{chunk-JS73NNWF.js → chunk-FUSEMYFX.js} +0 -0
- package/chunks/{chunk-SVWWF5TZ.js → chunk-WVURIAEE.js} +3 -3
- package/chunks/{task-update-RI7QNVDP.js → task-update-3LSYQDRW.js} +4 -4
|
@@ -604,6 +604,17 @@ function requireWorkspaceCwd(caps) {
|
|
|
604
604
|
return caps.workspaceCwd;
|
|
605
605
|
}
|
|
606
606
|
__name(requireWorkspaceCwd, "requireWorkspaceCwd");
|
|
607
|
+
function parseDaemonBackgroundTurn(value) {
|
|
608
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
609
|
+
return void 0;
|
|
610
|
+
const record = value;
|
|
611
|
+
if (typeof record["turnId"] !== "string" || !record["turnId"] || typeof record["taskId"] !== "string" || !record["taskId"] || record["kind"] !== "agent" && record["kind"] !== "monitor" && record["kind"] !== "shell" && record["kind"] !== "workflow" || typeof record["startedAt"] !== "number" || !Number.isFinite(record["startedAt"]) || record["startedAt"] < 0 || ["toolUseId", "sourceTurnId", "label"].some(
|
|
612
|
+
(key) => record[key] !== void 0 && typeof record[key] !== "string"
|
|
613
|
+
))
|
|
614
|
+
return void 0;
|
|
615
|
+
return value;
|
|
616
|
+
}
|
|
617
|
+
__name(parseDaemonBackgroundTurn, "parseDaemonBackgroundTurn");
|
|
607
618
|
var DAEMON_ERROR_KINDS = [
|
|
608
619
|
"missing_binary",
|
|
609
620
|
"blocked_egress",
|
|
@@ -1060,6 +1071,8 @@ var CLIENT_ID_HEADER = "X-Qwen-Client-Id";
|
|
|
1060
1071
|
var urlEncode = encodeURIComponent;
|
|
1061
1072
|
function transcriptPageSuffix(opts) {
|
|
1062
1073
|
const query = new URLSearchParams();
|
|
1074
|
+
if (opts.compactedReplayMode !== void 0)
|
|
1075
|
+
query.set("compactedReplayMode", opts.compactedReplayMode);
|
|
1063
1076
|
if (opts.cursor !== void 0) query.set("cursor", opts.cursor);
|
|
1064
1077
|
if (opts.direction !== void 0) query.set("direction", opts.direction);
|
|
1065
1078
|
if (opts.atRecordId !== void 0) query.set("atRecordId", opts.atRecordId);
|
|
@@ -3360,8 +3373,27 @@ var DaemonClient = class {
|
|
|
3360
3373
|
clientId
|
|
3361
3374
|
);
|
|
3362
3375
|
}
|
|
3363
|
-
|
|
3364
|
-
|
|
3376
|
+
/**
|
|
3377
|
+
* Control a workflow run, or start a new one. `taskId` is the run id for the
|
|
3378
|
+
* control actions, the definition name for `run-saved`, and the caller's own
|
|
3379
|
+
* start key for `run-script` — two concurrent starts under one key start one
|
|
3380
|
+
* run. `input` is read by the two start actions only.
|
|
3381
|
+
*/
|
|
3382
|
+
async sessionWorkflowTaskAction(sessionId, taskId, action, clientId, input) {
|
|
3383
|
+
return await this.sessionTaskMutation(
|
|
3384
|
+
sessionId,
|
|
3385
|
+
taskId,
|
|
3386
|
+
"workflow-action",
|
|
3387
|
+
{
|
|
3388
|
+
action,
|
|
3389
|
+
// Sent only when supplied, so a control action's body is what it was
|
|
3390
|
+
// before start input existed.
|
|
3391
|
+
...input?.args !== void 0 ? { args: input.args } : {},
|
|
3392
|
+
...input?.sourceRef !== void 0 ? { sourceRef: input.sourceRef } : {},
|
|
3393
|
+
...input?.script !== void 0 ? { script: input.script } : {}
|
|
3394
|
+
},
|
|
3395
|
+
clientId
|
|
3396
|
+
);
|
|
3365
3397
|
}
|
|
3366
3398
|
async sessionTaskMutation(sessionId, taskId, route, body, clientId) {
|
|
3367
3399
|
return await this.fetchWithTimeout(
|
|
@@ -3446,6 +3478,7 @@ var DaemonClient = class {
|
|
|
3446
3478
|
cwd: req.workspaceCwd,
|
|
3447
3479
|
...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
|
|
3448
3480
|
...action === "load" && req.historyPageSize !== void 0 ? { historyPageSize: req.historyPageSize } : {},
|
|
3481
|
+
...action === "load" && req.compactedReplayMode !== void 0 ? { compactedReplayMode: req.compactedReplayMode } : {},
|
|
3449
3482
|
...action === "load" && req.liveReplayMode !== void 0 ? { liveReplayMode: req.liveReplayMode } : {},
|
|
3450
3483
|
...sourceType !== void 0 ? { sourceType } : {},
|
|
3451
3484
|
...sourceId !== void 0 ? { sourceId } : {}
|
|
@@ -3744,6 +3777,7 @@ var DaemonClient = class {
|
|
|
3744
3777
|
body: JSON.stringify({
|
|
3745
3778
|
message,
|
|
3746
3779
|
messageId: opts?.messageId,
|
|
3780
|
+
...opts?.eventDetailMode !== void 0 ? { eventDetailMode: opts.eventDetailMode } : {},
|
|
3747
3781
|
...opts?.content && opts.content.length > 0 ? { content: opts.content } : {}
|
|
3748
3782
|
}),
|
|
3749
3783
|
signal: opts?.signal
|
|
@@ -6512,6 +6546,8 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
6512
6546
|
replayPartial;
|
|
6513
6547
|
replayError;
|
|
6514
6548
|
hasActivePrompt;
|
|
6549
|
+
backgroundTurn;
|
|
6550
|
+
hasRunningBackgroundTasks;
|
|
6515
6551
|
historyHasMore;
|
|
6516
6552
|
/**
|
|
6517
6553
|
* Fallback pagination anchor from the daemon load response (see
|
|
@@ -6551,6 +6587,10 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
6551
6587
|
this.restoreStrategy = opts.session.sourceType === "standalone" && context?.kind === "standalone" ? { kind: "standalone" } : { kind: "workspace", workspaceCwd: opts.session.workspaceCwd };
|
|
6552
6588
|
this.state = { ...opts.state ?? {} };
|
|
6553
6589
|
this.hasActivePrompt = opts.hasActivePrompt ?? false;
|
|
6590
|
+
this.backgroundTurn = parseDaemonBackgroundTurn(
|
|
6591
|
+
opts.session.backgroundTurn
|
|
6592
|
+
);
|
|
6593
|
+
this.hasRunningBackgroundTasks = opts.session.hasRunningBackgroundTasks;
|
|
6554
6594
|
this.historyHasMore = opts.historyHasMore ?? false;
|
|
6555
6595
|
this.historyAnchorRecordId = opts.historyAnchorRecordId;
|
|
6556
6596
|
this.replayDegraded = opts.replayDegraded ?? false;
|
|
@@ -7062,6 +7102,7 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
7062
7102
|
enqueueMidTurnMessage(message, opts) {
|
|
7063
7103
|
return this.client.enqueueMidTurnMessage(this.sessionId, message, {
|
|
7064
7104
|
...opts?.signal ? { signal: opts.signal } : {},
|
|
7105
|
+
...opts?.eventDetailMode !== void 0 ? { eventDetailMode: opts.eventDetailMode } : {},
|
|
7065
7106
|
...opts?.messageId ? { messageId: opts.messageId } : {},
|
|
7066
7107
|
...opts?.content && opts.content.length > 0 ? { content: opts.content } : {},
|
|
7067
7108
|
...this.clientId ? { clientId: this.clientId } : {}
|
|
@@ -7190,12 +7231,13 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
7190
7231
|
this.clientId
|
|
7191
7232
|
);
|
|
7192
7233
|
}
|
|
7193
|
-
controlWorkflowTask(taskId, action) {
|
|
7234
|
+
controlWorkflowTask(taskId, action, input) {
|
|
7194
7235
|
return this.client.sessionWorkflowTaskAction(
|
|
7195
7236
|
this.sessionId,
|
|
7196
7237
|
taskId,
|
|
7197
7238
|
action,
|
|
7198
|
-
this.clientId
|
|
7239
|
+
this.clientId,
|
|
7240
|
+
input
|
|
7199
7241
|
);
|
|
7200
7242
|
}
|
|
7201
7243
|
clearGoal() {
|
|
@@ -9990,12 +10032,18 @@ function createBase(event, opts) {
|
|
|
9990
10032
|
const sourceRecordIds = extractSourceRecordIds(event);
|
|
9991
10033
|
const segmentId = extractTranscriptSegmentId(event);
|
|
9992
10034
|
const branchRecordId = extractBranchRecordId(event);
|
|
10035
|
+
const update = getSessionUpdatePayload(event.data);
|
|
10036
|
+
const backgroundTurn = parseDaemonBackgroundTurn(
|
|
10037
|
+
(update && isRecord2(update["_meta"]) ? update["_meta"]["backgroundTurn"] : void 0) ?? (isRecord2(event.data) ? event.data["backgroundTurn"] : void 0)
|
|
10038
|
+
);
|
|
10039
|
+
const promptId = event.promptId ?? backgroundTurn?.turnId;
|
|
9993
10040
|
return {
|
|
9994
10041
|
...event.id !== void 0 ? { eventId: event.id } : {},
|
|
9995
10042
|
...serverTimestamp !== void 0 ? { serverTimestamp } : {},
|
|
9996
10043
|
...sourceRecordIds ? { sourceRecordIds } : {},
|
|
9997
10044
|
...segmentId ? { segmentId } : {},
|
|
9998
|
-
...
|
|
10045
|
+
...promptId ? { promptId } : {},
|
|
10046
|
+
...backgroundTurn ? { backgroundTurn } : {},
|
|
9999
10047
|
...branchRecordId ? { branchRecordId } : {},
|
|
10000
10048
|
...event.originatorClientId ? { originatorClientId: event.originatorClientId } : {},
|
|
10001
10049
|
...opts.includeRawEvent ? { rawEvent: { ...event, data: redactSensitiveFields(event.data) } } : {}
|
|
@@ -10169,6 +10217,17 @@ function normalizeSessionUpdate(event, base, opts) {
|
|
|
10169
10217
|
const text = getTextContent(update["content"]);
|
|
10170
10218
|
const parentToolCallId = extractParentToolCallId(update);
|
|
10171
10219
|
const meta = extractUpdateMeta(update);
|
|
10220
|
+
if (meta?.["source"] === "background_task_completed" || meta?.["source"] === "background_notification_turn_started") {
|
|
10221
|
+
return [
|
|
10222
|
+
{
|
|
10223
|
+
...base,
|
|
10224
|
+
type: "status",
|
|
10225
|
+
source: meta["source"],
|
|
10226
|
+
text: text ?? "",
|
|
10227
|
+
data: meta["source"] === "background_task_completed" ? meta["backgroundTask"] : meta["backgroundTurn"]
|
|
10228
|
+
}
|
|
10229
|
+
];
|
|
10230
|
+
}
|
|
10172
10231
|
const events = [];
|
|
10173
10232
|
if (!parentToolCallId && meta?.["promptCancelled"] !== void 0) {
|
|
10174
10233
|
return normalizePromptCancellation(meta["promptCancelled"], base);
|
|
@@ -11318,6 +11377,7 @@ function applyDaemonTranscriptEvent(next, event) {
|
|
|
11318
11377
|
}
|
|
11319
11378
|
break;
|
|
11320
11379
|
case "assistant.usage":
|
|
11380
|
+
if (isSubagentUsageDuplicate(next, event)) break;
|
|
11321
11381
|
if (event.parentToolCallId && !next.retainSubagentBlocks) {
|
|
11322
11382
|
applySubagentUsageToParentTool(next, event);
|
|
11323
11383
|
} else {
|
|
@@ -11492,7 +11552,6 @@ function clearActiveAssistant(state, event) {
|
|
|
11492
11552
|
}
|
|
11493
11553
|
__name(clearActiveAssistant, "clearActiveAssistant");
|
|
11494
11554
|
function applyAssistantUsage(state, event) {
|
|
11495
|
-
if (isLegacySubagentUsageDuplicate(state, event)) return;
|
|
11496
11555
|
const activeBlockId = state.activeAssistantBlockId ?? (event.parentToolCallId ? void 0 : latestTopLevelAssistantBlockIdInCurrentTurn(state));
|
|
11497
11556
|
const block = getWritableBlockById(state, activeBlockId);
|
|
11498
11557
|
if (!block || block.kind !== "assistant") return;
|
|
@@ -11505,8 +11564,8 @@ function applyAssistantUsage(state, event) {
|
|
|
11505
11564
|
block.updatedAt = state.now;
|
|
11506
11565
|
}
|
|
11507
11566
|
__name(applyAssistantUsage, "applyAssistantUsage");
|
|
11508
|
-
function
|
|
11509
|
-
if (
|
|
11567
|
+
function isSubagentUsageDuplicate(state, event) {
|
|
11568
|
+
if (!event.sourceRecordIds?.length) return false;
|
|
11510
11569
|
const sourceRecordIds = new Set(event.sourceRecordIds);
|
|
11511
11570
|
for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
|
|
11512
11571
|
const block = state.blocks[i];
|
|
@@ -11516,11 +11575,12 @@ function isLegacySubagentUsageDuplicate(state, event) {
|
|
|
11516
11575
|
}
|
|
11517
11576
|
const rawOutput = isRecord2(block.rawOutput) ? block.rawOutput : void 0;
|
|
11518
11577
|
const summary = rawOutput && isRecord2(rawOutput["executionSummary"]) ? rawOutput["executionSummary"] : void 0;
|
|
11578
|
+
if (summary && event.parentToolCallId === block.toolCallId) return true;
|
|
11519
11579
|
return summary?.["inputTokens"] === event.usage.inputTokens && summary["outputTokens"] === event.usage.outputTokens && (summary["cachedTokens"] ?? 0) === (event.usage.cachedTokens ?? 0);
|
|
11520
11580
|
}
|
|
11521
11581
|
return false;
|
|
11522
11582
|
}
|
|
11523
|
-
__name(
|
|
11583
|
+
__name(isSubagentUsageDuplicate, "isSubagentUsageDuplicate");
|
|
11524
11584
|
function latestTopLevelAssistantBlockIdInCurrentTurn(state) {
|
|
11525
11585
|
for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
|
|
11526
11586
|
const block = state.blocks[i];
|
|
@@ -11839,6 +11899,10 @@ function upsertToolBlock(state, event) {
|
|
|
11839
11899
|
createdAt: state.now,
|
|
11840
11900
|
updatedAt: state.now,
|
|
11841
11901
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
11902
|
+
...event.backgroundTurn ? {
|
|
11903
|
+
backgroundTurn: event.backgroundTurn,
|
|
11904
|
+
promptId: event.backgroundTurn.turnId
|
|
11905
|
+
} : {},
|
|
11842
11906
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
11843
11907
|
...event.sourceRecordIds ? { sourceRecordIds: [...event.sourceRecordIds] } : {},
|
|
11844
11908
|
...event.segmentId ? { segmentId: event.segmentId } : {},
|
|
@@ -11976,6 +12040,10 @@ function appendShellBlock(state, event) {
|
|
|
11976
12040
|
createdAt: state.now,
|
|
11977
12041
|
updatedAt: state.now,
|
|
11978
12042
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12043
|
+
...event.backgroundTurn ? {
|
|
12044
|
+
backgroundTurn: event.backgroundTurn,
|
|
12045
|
+
promptId: event.backgroundTurn.turnId
|
|
12046
|
+
} : {},
|
|
11979
12047
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
11980
12048
|
...event.segmentId ? { segmentId: event.segmentId } : {},
|
|
11981
12049
|
...event.stream ? { stream: event.stream } : {}
|
|
@@ -12009,6 +12077,10 @@ function appendUserShellBlock(state, event) {
|
|
|
12009
12077
|
createdAt: state.now,
|
|
12010
12078
|
updatedAt: state.now,
|
|
12011
12079
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12080
|
+
...event.backgroundTurn ? {
|
|
12081
|
+
backgroundTurn: event.backgroundTurn,
|
|
12082
|
+
promptId: event.backgroundTurn.turnId
|
|
12083
|
+
} : {},
|
|
12012
12084
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
12013
12085
|
...event.segmentId ? { segmentId: event.segmentId } : {},
|
|
12014
12086
|
...event.stream ? { stream: event.stream } : {}
|
|
@@ -12050,6 +12122,10 @@ function upsertPermissionBlock(state, event) {
|
|
|
12050
12122
|
createdAt: state.now,
|
|
12051
12123
|
updatedAt: state.now,
|
|
12052
12124
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12125
|
+
...event.backgroundTurn ? {
|
|
12126
|
+
backgroundTurn: event.backgroundTurn,
|
|
12127
|
+
promptId: event.backgroundTurn.turnId
|
|
12128
|
+
} : {},
|
|
12053
12129
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
12054
12130
|
...event.segmentId ? { segmentId: event.segmentId } : {},
|
|
12055
12131
|
...event.sessionId ? { sessionId: event.sessionId } : {},
|
|
@@ -12084,6 +12160,10 @@ function resolvePermissionBlock(state, event) {
|
|
|
12084
12160
|
createdAt: state.now,
|
|
12085
12161
|
updatedAt: state.now,
|
|
12086
12162
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12163
|
+
...event.backgroundTurn ? {
|
|
12164
|
+
backgroundTurn: event.backgroundTurn,
|
|
12165
|
+
promptId: event.backgroundTurn.turnId
|
|
12166
|
+
} : {},
|
|
12087
12167
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
12088
12168
|
...event.segmentId ? { segmentId: event.segmentId } : {}
|
|
12089
12169
|
};
|
|
@@ -12107,6 +12187,10 @@ function appendUnrecognizedDiagnostic(state, event) {
|
|
|
12107
12187
|
...event.branchRecordId !== void 0 ? { branchRecordId: event.branchRecordId } : {},
|
|
12108
12188
|
...event.originatorClientId !== void 0 ? { originatorClientId: event.originatorClientId } : {},
|
|
12109
12189
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12190
|
+
...event.backgroundTurn ? {
|
|
12191
|
+
backgroundTurn: event.backgroundTurn,
|
|
12192
|
+
promptId: event.backgroundTurn.turnId
|
|
12193
|
+
} : {},
|
|
12110
12194
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {}
|
|
12111
12195
|
};
|
|
12112
12196
|
const diagnostics = [...state.unrecognizedDiagnostics, diagnostic];
|
|
@@ -12123,6 +12207,10 @@ function appendStatusBlock(state, kind, text, event, opts = {}) {
|
|
|
12123
12207
|
createdAt: state.now,
|
|
12124
12208
|
updatedAt: state.now,
|
|
12125
12209
|
...event?.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12210
|
+
...event?.backgroundTurn ? {
|
|
12211
|
+
backgroundTurn: event.backgroundTurn,
|
|
12212
|
+
promptId: event.backgroundTurn.turnId
|
|
12213
|
+
} : {},
|
|
12126
12214
|
...event?.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
12127
12215
|
...event?.segmentId ? { segmentId: event.segmentId } : {},
|
|
12128
12216
|
...event?.type === "error" && event.code ? { code: event.code } : {},
|
|
@@ -12175,6 +12263,10 @@ function appendPromptCancelledBlock(state, event) {
|
|
|
12175
12263
|
...event.sourceRecordIds ? { sourceRecordIds: event.sourceRecordIds } : {},
|
|
12176
12264
|
...event.reason ? { reason: event.reason } : {},
|
|
12177
12265
|
...event.eventId !== void 0 ? { eventId: event.eventId } : {},
|
|
12266
|
+
...event.backgroundTurn ? {
|
|
12267
|
+
backgroundTurn: event.backgroundTurn,
|
|
12268
|
+
promptId: event.backgroundTurn.turnId
|
|
12269
|
+
} : {},
|
|
12178
12270
|
...event.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
12179
12271
|
...event.segmentId ? { segmentId: event.segmentId } : {}
|
|
12180
12272
|
};
|
|
@@ -14171,6 +14263,7 @@ export {
|
|
|
14171
14263
|
GOAL_CHECKPOINT_STALL_LIMIT,
|
|
14172
14264
|
DaemonCapabilityMissingError,
|
|
14173
14265
|
requireWorkspaceCwd,
|
|
14266
|
+
parseDaemonBackgroundTurn,
|
|
14174
14267
|
DAEMON_ERROR_KINDS,
|
|
14175
14268
|
isDaemonContentHash,
|
|
14176
14269
|
DAEMON_APPROVAL_MODES,
|
|
@@ -426,6 +426,18 @@ function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
|
|
|
426
426
|
}
|
|
427
427
|
__name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
|
|
428
428
|
|
|
429
|
+
// packages/core/src/utils/auth-type.ts
|
|
430
|
+
init_esbuild_shims();
|
|
431
|
+
var AuthType = /* @__PURE__ */ ((AuthType2) => {
|
|
432
|
+
AuthType2["USE_OPENAI"] = "openai";
|
|
433
|
+
AuthType2["USE_OPENAI_RESPONSES"] = "openai-responses";
|
|
434
|
+
AuthType2["QWEN_OAUTH"] = "qwen-oauth";
|
|
435
|
+
AuthType2["USE_GEMINI"] = "gemini";
|
|
436
|
+
AuthType2["USE_VERTEX_AI"] = "vertex-ai";
|
|
437
|
+
AuthType2["USE_ANTHROPIC"] = "anthropic";
|
|
438
|
+
return AuthType2;
|
|
439
|
+
})(AuthType || {});
|
|
440
|
+
|
|
429
441
|
export {
|
|
430
442
|
loadUndici,
|
|
431
443
|
preloadRuntimeFetchModule,
|
|
@@ -436,10 +448,17 @@ export {
|
|
|
436
448
|
setResolvedProxyUrlForRuntimeFetch,
|
|
437
449
|
getOrCreateMcpDispatcher,
|
|
438
450
|
redactProxyCredentials,
|
|
439
|
-
redactProxyError
|
|
451
|
+
redactProxyError,
|
|
452
|
+
AuthType
|
|
440
453
|
};
|
|
441
454
|
/**
|
|
442
455
|
* @license
|
|
443
456
|
* Copyright 2025 Qwen Team
|
|
444
457
|
* SPDX-License-Identifier: Apache-2.0
|
|
445
458
|
*/
|
|
459
|
+
/**
|
|
460
|
+
* @license
|
|
461
|
+
* Copyright 2025 Google LLC
|
|
462
|
+
* Copyright 2026 Qwen Team
|
|
463
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
464
|
+
*/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
isTruthy
|
|
5
|
+
} from "./chunk-SK3RZOPS.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-5O2XNYP6.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/core/src/utils/safe-mode.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
var SAFE_MODE_ENV_VAR = "QWEN_CODE_SAFE_MODE";
|
|
16
|
+
function isSafeModeEnv() {
|
|
17
|
+
return isTruthy(process.env[SAFE_MODE_ENV_VAR]);
|
|
18
|
+
}
|
|
19
|
+
__name(isSafeModeEnv, "isSafeModeEnv");
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
isSafeModeEnv
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* @license
|
|
26
|
+
* Copyright 2026 Qwen Team
|
|
27
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
28
|
+
*/
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
mapSkillConfigToStatus
|
|
5
|
+
} from "./chunk-TKF4JINY.js";
|
|
6
|
+
import {
|
|
7
|
+
resolveSkillSettings
|
|
8
|
+
} from "./chunk-D7JMO2GP.js";
|
|
9
|
+
import {
|
|
10
|
+
STATUS_SCHEMA_VERSION
|
|
11
|
+
} from "./chunk-M23GFJ5B.js";
|
|
12
|
+
import {
|
|
13
|
+
loadSettings
|
|
14
|
+
} from "./chunk-RRI764F7.js";
|
|
15
|
+
import {
|
|
16
|
+
resolveLanguage,
|
|
17
|
+
resolveLanguageSetting
|
|
18
|
+
} from "./chunk-GSAOVDTH.js";
|
|
19
|
+
import {
|
|
20
|
+
ExtensionManager,
|
|
21
|
+
ExtensionStore,
|
|
22
|
+
SkillManager,
|
|
23
|
+
getExtensionDisplayName
|
|
24
|
+
} from "./chunk-KAYC5FBN.js";
|
|
25
|
+
import {
|
|
26
|
+
authoredSkillName,
|
|
27
|
+
qualifySkillName
|
|
28
|
+
} from "./chunk-P42KMMU6.js";
|
|
29
|
+
import {
|
|
30
|
+
isSafeModeEnv
|
|
31
|
+
} from "./chunk-ADN5KESB.js";
|
|
32
|
+
import {
|
|
33
|
+
Storage
|
|
34
|
+
} from "./chunk-ZAFYHRVY.js";
|
|
35
|
+
import {
|
|
36
|
+
writeStderrLine
|
|
37
|
+
} from "./chunk-7FA2II6K.js";
|
|
38
|
+
import {
|
|
39
|
+
init_esbuild_shims
|
|
40
|
+
} from "./chunk-5O2XNYP6.js";
|
|
41
|
+
import {
|
|
42
|
+
__name
|
|
43
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
44
|
+
|
|
45
|
+
// packages/cli/src/serve/workspace-skills-status.ts
|
|
46
|
+
init_esbuild_shims();
|
|
47
|
+
import * as fs from "node:fs/promises";
|
|
48
|
+
var VALID_SKILL_LEVELS = /* @__PURE__ */ new Set([
|
|
49
|
+
"project",
|
|
50
|
+
"user",
|
|
51
|
+
"extension",
|
|
52
|
+
"bundled"
|
|
53
|
+
]);
|
|
54
|
+
function createWorkspaceSkillsStatusProvider(options = {}) {
|
|
55
|
+
const managers = /* @__PURE__ */ new Map();
|
|
56
|
+
const provider = /* @__PURE__ */ __name((workspaceCwd) => buildWorkspaceSkillsStatus(
|
|
57
|
+
workspaceCwd,
|
|
58
|
+
managers,
|
|
59
|
+
options.workspaceTrusted ?? true,
|
|
60
|
+
options.includeUntrustedSkills ?? false
|
|
61
|
+
), "provider");
|
|
62
|
+
provider.invalidate = (workspaceCwd) => managers.delete(workspaceCwd);
|
|
63
|
+
return provider;
|
|
64
|
+
}
|
|
65
|
+
__name(createWorkspaceSkillsStatusProvider, "createWorkspaceSkillsStatusProvider");
|
|
66
|
+
async function buildWorkspaceSkillsStatus(workspaceCwd, managers, workspaceTrusted, includeUntrustedSkills) {
|
|
67
|
+
try {
|
|
68
|
+
const settings = loadSettings(workspaceCwd, {
|
|
69
|
+
consumeCorruptionEnvVars: false,
|
|
70
|
+
skipLoadEnvironment: true,
|
|
71
|
+
skipWorkspaceSettings: !workspaceTrusted,
|
|
72
|
+
workspaceTrusted
|
|
73
|
+
});
|
|
74
|
+
const rawLanguage = settings.merged.general?.language;
|
|
75
|
+
const locale = resolveLanguage(
|
|
76
|
+
resolveLanguageSetting(
|
|
77
|
+
typeof rawLanguage === "string" ? rawLanguage : void 0
|
|
78
|
+
)
|
|
79
|
+
);
|
|
80
|
+
let cached = managers.get(workspaceCwd);
|
|
81
|
+
if (!cached) {
|
|
82
|
+
const rawLevels = !workspaceTrusted || isSafeModeEnv() ? void 0 : settings.merged.skills?.disabledLevels;
|
|
83
|
+
const disabledLevels = new Set(
|
|
84
|
+
Array.isArray(rawLevels) ? rawLevels.filter(
|
|
85
|
+
(v) => typeof v === "string" && VALID_SKILL_LEVELS.has(v)
|
|
86
|
+
) : []
|
|
87
|
+
);
|
|
88
|
+
const safeMode = !workspaceTrusted && !includeUntrustedSkills || isSafeModeEnv();
|
|
89
|
+
let extensionManager2;
|
|
90
|
+
const extensionSkillStates2 = /* @__PURE__ */ new Map();
|
|
91
|
+
if (workspaceTrusted && !safeMode) {
|
|
92
|
+
const directory = Storage.getUserExtensionsDir();
|
|
93
|
+
const entry = await fs.lstat(directory).catch((error) => {
|
|
94
|
+
if (error.code === "ENOENT") return void 0;
|
|
95
|
+
throw error;
|
|
96
|
+
});
|
|
97
|
+
if (entry) {
|
|
98
|
+
await fs.readdir(directory);
|
|
99
|
+
const extensionStore = new ExtensionStore();
|
|
100
|
+
extensionManager2 = new ExtensionManager({
|
|
101
|
+
extensionStore,
|
|
102
|
+
workspaceDir: workspaceCwd,
|
|
103
|
+
isWorkspaceTrusted: workspaceTrusted,
|
|
104
|
+
locale
|
|
105
|
+
});
|
|
106
|
+
const snapshot = await extensionManager2.refreshCacheWithSnapshot();
|
|
107
|
+
for (const extension of extensionManager2.getLoadedExtensions()) {
|
|
108
|
+
const states = /* @__PURE__ */ new Map();
|
|
109
|
+
for (const skill of extension.skills ?? []) {
|
|
110
|
+
const name = skill.name.trim().toLowerCase();
|
|
111
|
+
const defaults = extension.config.skillStates;
|
|
112
|
+
const defaultEnabled = defaults && Object.hasOwn(defaults, name) ? defaults[name] : true;
|
|
113
|
+
states.set(
|
|
114
|
+
name,
|
|
115
|
+
extensionStore.getSkillWorkspaceOverride(
|
|
116
|
+
snapshot,
|
|
117
|
+
extension.id,
|
|
118
|
+
workspaceCwd,
|
|
119
|
+
name
|
|
120
|
+
) ?? defaultEnabled
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
extensionSkillStates2.set(extension, states);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const shim = {
|
|
128
|
+
// Honor the safe-mode env the same way `Config` does when no explicit
|
|
129
|
+
// flag is passed, so an operator running in safe mode gets the same
|
|
130
|
+
// bundled-only listing the child would produce.
|
|
131
|
+
isSafeMode: /* @__PURE__ */ __name(() => safeMode, "isSafeMode"),
|
|
132
|
+
// Bare mode is the interactive `--bare` CLI flag; the daemon never runs
|
|
133
|
+
// bare, so it is always off here.
|
|
134
|
+
getBareMode: /* @__PURE__ */ __name(() => false, "getBareMode"),
|
|
135
|
+
getProjectRoot: /* @__PURE__ */ __name(() => workspaceCwd, "getProjectRoot"),
|
|
136
|
+
getActiveExtensions: /* @__PURE__ */ __name(() => extensionManager2?.getLoadedExtensions().filter((e) => e.isActive) ?? [], "getActiveExtensions"),
|
|
137
|
+
getDisabledSkillLevels: /* @__PURE__ */ __name(() => disabledLevels, "getDisabledSkillLevels")
|
|
138
|
+
};
|
|
139
|
+
const skillManager2 = new SkillManager(shim);
|
|
140
|
+
if (!safeMode) {
|
|
141
|
+
for (const level of ["project", "user"]) {
|
|
142
|
+
if (disabledLevels.has(level)) continue;
|
|
143
|
+
for (const directory of skillManager2.getSkillsBaseDirs(level)) {
|
|
144
|
+
try {
|
|
145
|
+
await fs.readdir(directory);
|
|
146
|
+
} catch (error) {
|
|
147
|
+
if (error.code !== "ENOENT") {
|
|
148
|
+
throw error;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
cached = { skillManager: skillManager2, extensionManager: extensionManager2, extensionSkillStates: extensionSkillStates2 };
|
|
155
|
+
managers.set(workspaceCwd, cached);
|
|
156
|
+
}
|
|
157
|
+
const { disablements, enabledNames } = resolveSkillSettings(settings);
|
|
158
|
+
const { skillManager, extensionManager, extensionSkillStates } = cached;
|
|
159
|
+
const extensions = extensionManager?.getLoadedExtensions() ?? [];
|
|
160
|
+
const skills = await skillManager.listSkills();
|
|
161
|
+
const statuses = skills.map((skill) => {
|
|
162
|
+
const extension = skill.level === "extension" ? extensions.find((e) => e.name === skill.extensionName) : void 0;
|
|
163
|
+
const enabled = extension ? extensionSkillStates.get(extension)?.get(authoredSkillName(skill).trim().toLowerCase()) : void 0;
|
|
164
|
+
const localizedSkill = extension?.displayName !== void 0 ? {
|
|
165
|
+
...skill,
|
|
166
|
+
extensionDisplayName: getExtensionDisplayName(extension, locale)
|
|
167
|
+
} : skill;
|
|
168
|
+
return mapSkillConfigToStatus(localizedSkill, disablements, {
|
|
169
|
+
enabled: enabledNames.has(skill.name.trim().toLowerCase()) || enabled !== false
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
for (const extension of extensions) {
|
|
173
|
+
if (extension.isActive) continue;
|
|
174
|
+
const seenNames = /* @__PURE__ */ new Set();
|
|
175
|
+
for (const skill of extension.skills ?? []) {
|
|
176
|
+
if (seenNames.has(skill.name)) continue;
|
|
177
|
+
seenNames.add(skill.name);
|
|
178
|
+
statuses.push(
|
|
179
|
+
mapSkillConfigToStatus(
|
|
180
|
+
{
|
|
181
|
+
...skill,
|
|
182
|
+
name: qualifySkillName(extension.name, skill.name),
|
|
183
|
+
authoredName: skill.name,
|
|
184
|
+
level: "extension",
|
|
185
|
+
extensionName: extension.name,
|
|
186
|
+
extensionDisplayName: extension.displayName === void 0 ? void 0 : getExtensionDisplayName(extension, locale)
|
|
187
|
+
},
|
|
188
|
+
disablements,
|
|
189
|
+
{ disabled: true }
|
|
190
|
+
)
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
v: STATUS_SCHEMA_VERSION,
|
|
196
|
+
workspaceCwd,
|
|
197
|
+
initialized: true,
|
|
198
|
+
skills: statuses.sort((a, b) => a.name.localeCompare(b.name))
|
|
199
|
+
};
|
|
200
|
+
} catch (error) {
|
|
201
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
202
|
+
writeStderrLine(
|
|
203
|
+
`qwen serve: daemon-local skills enumeration failed for ${workspaceCwd}: ${message}`
|
|
204
|
+
);
|
|
205
|
+
return {
|
|
206
|
+
v: STATUS_SCHEMA_VERSION,
|
|
207
|
+
workspaceCwd,
|
|
208
|
+
initialized: false,
|
|
209
|
+
skills: [],
|
|
210
|
+
errors: [
|
|
211
|
+
{
|
|
212
|
+
kind: "skills",
|
|
213
|
+
status: "error",
|
|
214
|
+
error: message
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
__name(buildWorkspaceSkillsStatus, "buildWorkspaceSkillsStatus");
|
|
221
|
+
|
|
222
|
+
export {
|
|
223
|
+
createWorkspaceSkillsStatusProvider
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* @license
|
|
227
|
+
* Copyright 2025 Qwen Team
|
|
228
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
229
|
+
*/
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
init_esbuild_shims();
|
|
15
15
|
async function getCliVersion() {
|
|
16
16
|
const pkgJson = await getPackageJson();
|
|
17
|
-
return "0.23.5-
|
|
17
|
+
return "0.23.5-preview.0";
|
|
18
18
|
}
|
|
19
19
|
__name(getCliVersion, "getCliVersion");
|
|
20
20
|
function formatVersionLabel(version) {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
DEFAULT_WEB_SEARCH_TIMEOUT_MS,
|
|
9
9
|
MAX_WEB_SEARCH_MAX_PER_SESSION,
|
|
10
10
|
MAX_WEB_SEARCH_TIMEOUT_MS
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-VEXUA6DX.js";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_MAX_SUBAGENT_DEPTH,
|
|
14
14
|
DEFAULT_MAX_TOOL_CALLS_PER_TURN,
|
|
@@ -20,17 +20,17 @@ import {
|
|
|
20
20
|
GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
|
|
21
21
|
GOAL_MAX_ACTIVE_MINUTES_CAP,
|
|
22
22
|
GOAL_MAX_TURNS_CAP
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-KAYC5FBN.js";
|
|
24
24
|
import {
|
|
25
25
|
DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
|
|
26
26
|
} from "./chunk-IZ2U57NY.js";
|
|
27
27
|
import {
|
|
28
28
|
REASONING_EFFORT_TIERS
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-GJKP6XOB.js";
|
|
30
30
|
import {
|
|
31
31
|
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
32
32
|
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-6USYH3EU.js";
|
|
34
34
|
import {
|
|
35
35
|
init_esbuild_shims
|
|
36
36
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1565,7 +1565,7 @@ var SETTINGS_SCHEMA = {
|
|
|
1565
1565
|
category: "Model",
|
|
1566
1566
|
requiresRestart: false,
|
|
1567
1567
|
default: DEFAULT_MAX_TOOL_CALLS_PER_TURN,
|
|
1568
|
-
description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations
|
|
1568
|
+
description: "Per-turn tool-call cap (one model turn plus its tool-result continuations; blocking Stop-hook continuations and runtime-scheduled Goal turns each start a fresh budget). When set explicitly, this value is a hard cap: the turn halts on the next tool call after it is reached (the released behavior). When left unset (default 100), the cap is adaptive: once the turn exceeds 100 it halts only when the model keeps repeating the same call (a stuck loop); a productive turn (diverse calls) continues up to a hard backstop of 1000, which always halts. The adaptive default applies to the interactive TUI, non-interactive (-p / JSON / stream-JSON) core-client runs, and daemon/ACP sessions alike. Daemon/ACP sessions evaluate the cap once per tool batch, before execution: a batch that would cross an explicit cap or the hard backstop is skipped whole, so a turn never executes past either (it can halt up to one batch short), while the adaptive soft cap is exceeded by design, up to the backstop. They also have no in-session disable. An always-on circuit breaker against runaway turns, independent of model.skipLoopDetection. Set to 0 or a negative value to disable the cap.",
|
|
1569
1569
|
showInDialog: false
|
|
1570
1570
|
},
|
|
1571
1571
|
skipStartupContext: {
|
|
@@ -2700,6 +2700,23 @@ var SETTINGS_SCHEMA = {
|
|
|
2700
2700
|
description: 'Enable the Workflow tool, which lets the model author and run a script that orchestrates subagents in parallel. Off by default; a run can dispatch many subagents and spend tokens accordingly. The QWEN_CODE_ENABLE_WORKFLOWS=1 and QWEN_CODE_DISABLE_WORKFLOWS=1 environment variables override this setting (disable wins). Unrelated to the Session Workflow plan-and-review view; to stop the "workflow" keyword from steering a turn, see Disable Workflow Keyword Trigger.',
|
|
2701
2701
|
showInDialog: true
|
|
2702
2702
|
},
|
|
2703
|
+
workflowSizeGuideline: {
|
|
2704
|
+
type: "enum",
|
|
2705
|
+
label: "Dynamic Workflow Size",
|
|
2706
|
+
category: "Tools",
|
|
2707
|
+
// Read on the next prompt: the change is announced to the model then,
|
|
2708
|
+
// and runs started afterwards use the new agent threshold.
|
|
2709
|
+
requiresRestart: false,
|
|
2710
|
+
default: "medium",
|
|
2711
|
+
description: 'Advisory size guideline for the dynamic workflows the model writes: "small" aims for fewer than 5 agents, "medium" (the default) fewer than 15, "large" fewer than 50, and "unrestricted" sends no guideline. It is a guideline, not an enforced limit. It also sets the agent count at which a running workflow is flagged as large (QWEN_CODE_WORKFLOW_SIZE_WARNING_AGENTS overrides that threshold). A change takes effect from your next message.',
|
|
2712
|
+
showInDialog: true,
|
|
2713
|
+
options: [
|
|
2714
|
+
{ value: "small", label: "Small (under 5 agents)" },
|
|
2715
|
+
{ value: "medium", label: "Medium (under 15 agents)" },
|
|
2716
|
+
{ value: "large", label: "Large (under 50 agents)" },
|
|
2717
|
+
{ value: "unrestricted", label: "Unrestricted (no guideline)" }
|
|
2718
|
+
]
|
|
2719
|
+
},
|
|
2703
2720
|
truncateToolOutputThreshold: {
|
|
2704
2721
|
type: "number",
|
|
2705
2722
|
label: "Tool Output Truncation Threshold",
|
|
@@ -3072,8 +3089,8 @@ var SETTINGS_SCHEMA = {
|
|
|
3072
3089
|
label: "Cross-Session Messaging",
|
|
3073
3090
|
category: "Advanced",
|
|
3074
3091
|
requiresRestart: true,
|
|
3075
|
-
default:
|
|
3076
|
-
description:
|
|
3092
|
+
default: true,
|
|
3093
|
+
description: `Let Qwen Code sessions on this machine send each other messages over a per-session local socket. On by default: this session is discoverable by the others, takes peer messages under the review rules of agents.crossSessionInbound, and its model can address them from send_message. Two senders are delivered without review unless agents.crossSessionInbound is "hold" or "refuse": processes this session starts, which inherit its child token, and a same-user process that claims this session's own review class, which nothing authenticates. Set to false to keep this session invisible and unreachable.`,
|
|
3077
3094
|
showInDialog: false
|
|
3078
3095
|
},
|
|
3079
3096
|
crossSessionInbound: {
|