@qwen-code/qwen-code 0.21.13 → 0.21.14
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/qc-helper/docs/configuration/settings.md +13 -7
- package/bundled/qc-helper/docs/features/code-review.md +5 -1
- package/bundled/qc-helper/docs/features/commands.md +120 -8
- package/bundled/qc-helper/docs/features/sub-agents.md +2 -2
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +20 -3
- package/bundled/review/SKILL.md +50 -30
- package/chunks/{MaxSizedBox-UQALOVVT.js → MaxSizedBox-67IDQILY.js} +24 -23
- package/chunks/{StandaloneSessionPicker-KEGXNUG6.js → StandaloneSessionPicker-G4QJIRMH.js} +41 -40
- package/chunks/{acp-startup-profiler-NMDXYGDN.js → acp-startup-profiler-HUYGO57H.js} +2 -2
- package/chunks/{acpAgent-XPES32S7.js → acpAgent-BS3YYO33.js} +626 -141
- package/chunks/{agent-DPTOZFEM.js → agent-EHHEXKWN.js} +22 -21
- package/chunks/{agent-headless-GJCQMURW.js → agent-headless-UT2ZF76T.js} +22 -21
- package/chunks/{anthropicContentGenerator-G7BVXTKN.js → anthropicContentGenerator-M7XRJMSK.js} +3 -3
- package/chunks/{bridge-YNQBAA4Z.js → bridge-WQ4IL2RF.js} +26 -25
- package/chunks/{ca-4CQ6MYNQ.js → ca-SLZJD6QH.js} +8 -0
- package/chunks/{channel-management-service-GWY2GAIC.js → channel-management-service-X6LCQUAD.js} +1 -1
- package/chunks/{channel-settings-store-WNWYFHG7.js → channel-settings-store-ZDFXY7VY.js} +30 -29
- package/chunks/{channel-worker-group-7LXCMZ77.js → channel-worker-group-TJ35JDPE.js} +2 -2
- package/chunks/{channel-worker-manager-RYEME4ZZ.js → channel-worker-manager-G5LKWGOG.js} +2 -2
- package/chunks/{chunk-4PKCUT7F.js → chunk-2A6VQJYK.js} +6 -6
- package/chunks/chunk-2C6HJMG3.js +757 -0
- package/chunks/chunk-3PWCMXIR.js +9169 -0
- package/chunks/{chunk-BVJS5BSP.js → chunk-3PWNVF6N.js} +1 -1
- package/chunks/{chunk-X26JYGTD.js → chunk-3SL2P3WX.js} +1 -1
- package/chunks/{chunk-ZYBBISBY.js → chunk-3YRVPHT3.js} +15 -12
- package/chunks/{chunk-AS5IN4GK.js → chunk-47L5MLB5.js} +3 -3
- package/chunks/{chunk-3U3VAL47.js → chunk-4SR45OM4.js} +1 -1
- package/chunks/{chunk-OMLJNPBE.js → chunk-4ZMS3JCR.js} +1 -0
- package/chunks/{chunk-UKMR3CKV.js → chunk-4ZS3BLER.js} +3 -3
- package/chunks/{chunk-5EYKMUUY.js → chunk-544KT7X4.js} +1 -1
- package/chunks/{chunk-TUGSVUJB.js → chunk-55VKMB7X.js} +5 -5
- package/chunks/{chunk-GO7STP6N.js → chunk-5IJSFWQO.js} +4 -4
- package/chunks/{chunk-A4QRWUDE.js → chunk-5IYS4WWR.js} +1 -1
- package/chunks/{chunk-TS6625XH.js → chunk-5MK45KZ3.js} +9 -5
- package/chunks/{chunk-MLPXSYXR.js → chunk-6BJSYAML.js} +25 -16
- package/chunks/{chunk-V57QC6WW.js → chunk-6LAPGPVA.js} +5 -3
- package/chunks/{chunk-NNHNLJ2X.js → chunk-6RDZLBSJ.js} +240 -42
- package/chunks/{chunk-ZZO74WKW.js → chunk-73JUK3ZW.js} +24 -18
- package/chunks/{chunk-N5YPT6PH.js → chunk-7VNHO4MN.js} +7 -4
- package/chunks/{chunk-OVZPVYZB.js → chunk-AKBOLMUF.js} +95 -17
- package/chunks/{chunk-NHDR76JX.js → chunk-BQWNIPTE.js} +1 -1
- package/chunks/{chunk-IWPYVAO2.js → chunk-C3T6M24E.js} +2 -2
- package/chunks/{chunk-NM5V5OVW.js → chunk-CEXU72GE.js} +2 -2
- package/chunks/{chunk-AA2BEKV3.js → chunk-CH5OFRV7.js} +1 -1
- package/chunks/{chunk-MS7GNABG.js → chunk-CXJHQVEK.js} +8 -0
- package/chunks/{chunk-E23IPNGS.js → chunk-CZK622ZK.js} +12 -3
- package/chunks/{chunk-K5IDV3PC.js → chunk-D34RDOLP.js} +12 -2
- package/chunks/{chunk-OXCMMLED.js → chunk-DGJ7O55J.js} +1 -1
- package/chunks/{chunk-DGK6P3BQ.js → chunk-DHUPMYMC.js} +10 -10
- package/chunks/{chunk-O4D7SPJN.js → chunk-DRAONPUW.js} +3 -3
- package/chunks/{chunk-P7MPQI75.js → chunk-DVR7XKO5.js} +1 -1
- package/chunks/{chunk-PP4FUZNV.js → chunk-E5WQMF3K.js} +2 -2
- package/chunks/{chunk-4NFY2S7N.js → chunk-E7REAOTN.js} +15 -0
- package/chunks/{chunk-ZYYTZUI2.js → chunk-EOPBFLA5.js} +3 -3
- package/chunks/{chunk-OOQUVWIG.js → chunk-FN6M5WUL.js} +4 -4
- package/chunks/{chunk-DGZEMW5R.js → chunk-FS5NGKWC.js} +1 -1
- package/chunks/{chunk-MRMJCLIY.js → chunk-G6KI5UOJ.js} +2 -2
- package/chunks/{chunk-6ORZ2EDC.js → chunk-H3SHU2XU.js} +1 -1
- package/chunks/{chunk-GMIEIY3Y.js → chunk-I3N2Z25H.js} +1 -1
- package/chunks/{chunk-BHILXOC3.js → chunk-J63PKMYA.js} +1 -1
- package/chunks/{chunk-KD5BOPLP.js → chunk-J6YS7Z25.js} +98 -4
- package/chunks/chunk-K2Y45XXS.js +3887 -0
- package/chunks/{chunk-RVOJ2FBP.js → chunk-KC4WMLZO.js} +1486 -10574
- package/chunks/{chunk-LJQAUZMR.js → chunk-L3T4V5GZ.js} +925 -92
- package/chunks/{chunk-M6NDLY2T.js → chunk-LD5VIJ7S.js} +1 -1
- package/chunks/{chunk-RIAABG2K.js → chunk-LSO6EL4Y.js} +1 -1
- package/chunks/{chunk-XHRY7BXD.js → chunk-MDIGJH5X.js} +3 -3
- package/chunks/{chunk-MC4TLKEI.js → chunk-MVHJZ3FZ.js} +2 -2
- package/chunks/{chunk-YEYY7TEP.js → chunk-N6RSOOWJ.js} +5 -5
- package/chunks/{chunk-OD2WU5QY.js → chunk-NRPXRNN4.js} +1 -1
- package/chunks/{chunk-CKSJECTU.js → chunk-NVRMCWTP.js} +8 -4
- package/chunks/{chunk-Y3YCSWG5.js → chunk-OBJYN4MX.js} +1 -1
- package/chunks/{chunk-GGDBMYGZ.js → chunk-OEYAK5O6.js} +3 -3
- package/chunks/{chunk-6YKYPVDV.js → chunk-OEZCXK7Y.js} +3 -3
- package/chunks/{chunk-4S5337WV.js → chunk-OFTPCOGR.js} +4312 -2704
- package/chunks/{chunk-7UXUJ5T3.js → chunk-OJB5FYVK.js} +1 -1
- package/chunks/{chunk-WFSTRPRO.js → chunk-OJOP26ET.js} +1 -1
- package/chunks/{chunk-TIGA2IVL.js → chunk-OO4FKHLO.js} +2 -2
- package/chunks/{chunk-BZ263IKX.js → chunk-OVY67CYC.js} +1 -1
- package/chunks/{chunk-PQ36L4F5.js → chunk-P3AA6S7O.js} +1 -1
- package/chunks/{chunk-CU6GJD55.js → chunk-PCETXVVV.js} +1 -1
- package/chunks/{chunk-AFSG32D5.js → chunk-PHN4R2ZV.js} +1 -1
- package/chunks/{chunk-QF2NHSPB.js → chunk-PJSD2FOR.js} +233 -184
- package/chunks/{chunk-NEFOOD54.js → chunk-QAVTWAHL.js} +2 -2
- package/chunks/{chunk-AW4TRXOC.js → chunk-QEHH23OM.js} +1 -1
- package/chunks/{chunk-CZBYX5MY.js → chunk-QEJZUXSK.js} +1 -1
- package/chunks/{chunk-XIT3GURH.js → chunk-QRVHGEVY.js} +3 -3
- package/chunks/{chunk-M732YJPW.js → chunk-RXHBTKMG.js} +2 -2
- package/chunks/{chunk-JOOFMXGF.js → chunk-S7N3HUIB.js} +5 -5
- package/chunks/{chunk-76J3IJ3M.js → chunk-SCZU65AI.js} +3 -3
- package/chunks/{chunk-QIH2HAEN.js → chunk-SFJMFZT5.js} +1 -1
- package/chunks/{chunk-JNDY2MDR.js → chunk-SFTKAX4O.js} +1 -1
- package/chunks/{chunk-WSH6GRKG.js → chunk-SLILKYV2.js} +2 -2
- package/chunks/{chunk-DXIBNLBZ.js → chunk-SNQZZ765.js} +1 -1
- package/chunks/{chunk-V26NVGAU.js → chunk-TSMPNGBC.js} +8 -3
- package/chunks/{chunk-QV5YN5YD.js → chunk-U657UZJN.js} +5 -5
- package/chunks/{chunk-QNQAPSN2.js → chunk-UC67T4SF.js} +3 -1
- package/chunks/{chunk-O565M6A4.js → chunk-UYDGFWIJ.js} +199 -14
- package/chunks/{chunk-OY5RNSV4.js → chunk-V6WEMZPD.js} +3 -3
- package/chunks/{chunk-A267JX7H.js → chunk-VFP5YOHJ.js} +6 -6
- package/chunks/{chunk-HUTNYWBG.js → chunk-VTOLYFWM.js} +18 -10
- package/chunks/{chunk-EZ5RP345.js → chunk-W7EYJGN7.js} +40 -9
- package/chunks/{chunk-BKPPWD33.js → chunk-WAO53ZQF.js} +1 -1
- package/chunks/{chunk-S5DWMTHO.js → chunk-WP4WIUOJ.js} +2 -0
- package/chunks/{chunk-25EYDK42.js → chunk-WPVUOVYX.js} +1 -1
- package/chunks/{chunk-AXN7UPYQ.js → chunk-WSSH2BNO.js} +1 -1
- package/chunks/chunk-WZAD4ZNJ.js +59 -0
- package/chunks/{chunk-JUEPY766.js → chunk-XITLNXLX.js} +2 -2
- package/chunks/{chunk-EL5SXY3T.js → chunk-XT4RKHVE.js} +2 -2
- package/chunks/{chunk-IGGGG5CX.js → chunk-XYRBK56E.js} +4635 -1655
- package/chunks/{chunk-UZPM4XHR.js → chunk-Y4RVDOXV.js} +29 -8
- package/chunks/{chunk-QRCNA3SR.js → chunk-Y7QY6DKW.js} +49 -69
- package/chunks/{chunk-FDGGZIYW.js → chunk-YECDICIO.js} +2 -2
- package/chunks/{chunk-46UV252V.js → chunk-YHC2EYYG.js} +35 -38
- package/chunks/{chunk-U3VNBPUO.js → chunk-YHXQK4SR.js} +2 -2
- package/chunks/{chunk-A4MFR4C5.js → chunk-ZIGC3MUS.js} +2 -4
- package/chunks/{computer-use-77C5FHMW.js → computer-use-YORZJQE5.js} +22 -21
- package/chunks/{config-utils-IVHRSXWI.js → config-utils-NJQA5YLJ.js} +2 -2
- package/chunks/{contextCommand-PJ77GBWL.js → contextCommand-PACHGIF4.js} +24 -23
- package/chunks/{core-runtime-7VMIKUTG.js → core-runtime-6HD5DSPX.js} +22 -21
- package/chunks/{create-sub-session-2L5MQRN4.js → create-sub-session-IQFIPUQA.js} +26 -24
- package/chunks/{cron-create-H7UEPDSN.js → cron-create-NFRZEOQX.js} +2 -2
- package/chunks/{cron-delete-6SZK7YFM.js → cron-delete-GFVSVO7C.js} +2 -2
- package/chunks/{cron-list-H25JIHEZ.js → cron-list-NRW34CLU.js} +2 -2
- package/chunks/{daemon-2KTG7ZBN.js → daemon-XH76IXOC.js} +356 -21
- package/chunks/{daemon-git-worktree-guard-DXYIMWFT.js → daemon-git-worktree-guard-6P27GKSU.js} +24 -23
- package/chunks/{daemon-status-provider-ZDOYJCU6.js → daemon-status-provider-SXS66ZIR.js} +31 -30
- package/chunks/{daemon-trust-policy-E67OYUK2.js → daemon-trust-policy-5QJHAS3N.js} +29 -28
- package/chunks/{daemon-trust-policy-monitor-RYYGCQ3J.js → daemon-trust-policy-monitor-JA2WZRZ3.js} +29 -28
- package/chunks/{de-UBEBKG6V.js → de-AH4LGCF5.js} +8 -0
- package/chunks/{deferred-core-runtime-3SGXFXEQ.js → deferred-core-runtime-R2VWOVG3.js} +22 -21
- package/chunks/{discovery-ORA5J7YP.js → discovery-X2NV535U.js} +1 -1
- package/chunks/{dist-WJ4BHIEW.js → dist-ESS34DHC.js} +72 -0
- package/chunks/{earlyInputCapture-KJMLFVQV.js → earlyInputCapture-PQEEOFKJ.js} +22 -21
- package/chunks/{edit-I4LQFAEC.js → edit-RASZHTU2.js} +25 -23
- package/chunks/{en-X6YV7GME.js → en-MD3GP5YL.js} +8 -0
- package/chunks/{enter-worktree-YNPOJSRH.js → enter-worktree-CH5OMHJE.js} +22 -21
- package/chunks/{enterPlanMode-XCPK62ER.js → enterPlanMode-AQKR3CAH.js} +22 -21
- package/chunks/{environment-S7CTIHMX.js → environment-7QRYIEBA.js} +25 -24
- package/chunks/{errors-7HB2AIDS.js → errors-P2LL5452.js} +24 -23
- package/chunks/{exit-worktree-AIIY7SR6.js → exit-worktree-WUDL26CY.js} +22 -21
- package/chunks/{exitPlanMode-R4JY7V2O.js → exitPlanMode-JM75SAUI.js} +22 -21
- package/chunks/{fast-path-NDJV3ZFJ.js → fast-path-KVNSOHVA.js} +3 -3
- package/chunks/{fast-path-settings-LNOFM2YP.js → fast-path-settings-WHX3J3ZI.js} +2 -2
- package/chunks/{fr-VENTC2BS.js → fr-ZEML2JWS.js} +8 -0
- package/chunks/{gemini-RSUFP5OE.js → gemini-ADMD2EOS.js} +62 -61
- package/chunks/{geminiContentGenerator-SQ5XBPZ7.js → geminiContentGenerator-CS3M7SOS.js} +3 -3
- package/chunks/{glob-J4RUJAHX.js → glob-WIJOGYVV.js} +22 -21
- package/chunks/{goal-tools-VHTNVOKK.js → goal-tools-K5OHOJ6B.js} +1 -1
- package/chunks/{grep-VJWPLFOT.js → grep-CIFRQBR7.js} +22 -21
- package/chunks/{handleAutoUpdate-POCX2MNB.js → handleAutoUpdate-KJ4SN7DM.js} +26 -25
- package/chunks/{i18n-RM5YOICI.js → i18n-36SZUO4C.js} +23 -22
- package/chunks/{image-gen-EXECB5XM.js → image-gen-R4B5VUYB.js} +2 -2
- package/chunks/{initializer-Z2AFGBNR.js → initializer-CW5YCAOL.js} +29 -28
- package/chunks/{installationInfo-4I5FXNMH.js → installationInfo-NMQIOUGY.js} +23 -22
- package/chunks/{ja-QHT4EQTO.js → ja-UM5B2HMD.js} +8 -0
- package/chunks/{list-ZMBFIGZA.js → list-HHGT3S4P.js} +32 -31
- package/chunks/{loadedSettingsAdapter-T6TV4YJ7.js → loadedSettingsAdapter-SJ2MJF35.js} +29 -28
- package/chunks/{loggingContentGenerator-WF4ZOJEZ.js → loggingContentGenerator-GR2QQ2C5.js} +12 -10
- package/chunks/{loop-wakeup-WQS6JYAG.js → loop-wakeup-HWVUU5CF.js} +3 -3
- package/chunks/{managed-npm-update-E7IW6N7V.js → managed-npm-update-ADQJHKTO.js} +23 -22
- package/chunks/{mcp-6UNYX4HG.js → mcp-QW3OTL5W.js} +29 -28
- package/chunks/{monitor-EE2UYMGE.js → monitor-RJKPVERH.js} +22 -21
- package/chunks/{nonInteractiveCli-WAY237O4.js → nonInteractiveCli-MROMHSTL.js} +59 -57
- package/chunks/{notebook-edit-NTDY4QDU.js → notebook-edit-2ENWDBZO.js} +26 -24
- package/chunks/{openaiContentGenerator-YNFVJMRJ.js → openaiContentGenerator-Z3GPWJU4.js} +12 -11
- package/chunks/{pidfile-4XSFLYBZ.js → pidfile-5G42YSTP.js} +22 -21
- package/chunks/{processUtils-WDA2MJFD.js → processUtils-ZDMXYKQY.js} +2 -2
- package/chunks/{pt-VL3I5RNY.js → pt-5BMJ3XYH.js} +8 -0
- package/chunks/{qwenContentGenerator-434M7QKY.js → qwenContentGenerator-NLEMBZVU.js} +25 -24
- package/chunks/{qwenOAuth2-GMYZOO6A.js → qwenOAuth2-EBV52DWJ.js} +3 -3
- package/chunks/{read-file-TAFBKMNI.js → read-file-5BYIF53O.js} +9 -7
- package/chunks/{record-artifact-SEYFJEJF.js → record-artifact-GLU3UWBV.js} +3 -1
- package/chunks/{resumeHistoryUtils-EVG3WYK2.js → resumeHistoryUtils-AFTBRS3G.js} +25 -24
- package/chunks/{ripGrep-WOEK2PXS.js → ripGrep-NN7AOLQY.js} +22 -21
- package/chunks/{ru-4RCKL4PY.js → ru-6GL66ORV.js} +8 -0
- package/chunks/{run-qwen-serve-3QSGRXAN.js → run-qwen-serve-UR3DYDAF.js} +49 -40
- package/chunks/{runtime-5MLLZ7DC.js → runtime-PR5RKGNH.js} +32 -31
- package/chunks/{scheduler-RPBJ63CH.js → scheduler-GPMLVKJM.js} +24 -23
- package/chunks/{sdk-exporters-http-XUVP63H6.js → sdk-exporters-http-NC746HLT.js} +2 -2
- package/chunks/{sdk-impl-YXUEN2Z2.js → sdk-impl-YVL7BP6Y.js} +2 -2
- package/chunks/{send-message-VZENRWRH.js → send-message-TNBG5EVA.js} +1 -1
- package/chunks/{serve-HS3XLPXU.js → serve-E7V2JVA2.js} +29 -30
- package/chunks/{server-TC4A7AAZ.js → server-YXB3DBN7.js} +1267 -165
- package/chunks/{session-UBOFXVMN.js → session-DZEAUT7S.js} +60 -58
- package/chunks/{settings-D5644OM5.js → settings-ESZ3NWAP.js} +28 -27
- package/chunks/{shell-3PZULQQV.js → shell-JMSK5WIL.js} +22 -21
- package/chunks/{skill-PEVVXQ3L.js → skill-5K5CSUJV.js} +11 -9
- package/chunks/{skill-settings-J65JKKES.js → skill-settings-V64NIOTI.js} +28 -27
- package/chunks/{spawnChannel-IYGXRHSQ.js → spawnChannel-S63APBZZ.js} +24 -23
- package/chunks/{standalone-update-IFM53PE7.js → standalone-update-P42HDFXX.js} +24 -23
- package/chunks/{startInteractiveUI-3AVH7L6H.js → startInteractiveUI-LFBLFHJ4.js} +262 -191
- package/chunks/{task-create-FCBDX7UH.js → task-create-EILHJJB7.js} +4 -4
- package/chunks/{task-list-YIYIUFUA.js → task-list-WGJR6YL5.js} +18 -4
- package/chunks/{task-update-MYPFVOVM.js → task-update-XZAHVXJ5.js} +79 -8
- package/chunks/{team-create-ZAIA7KAV.js → team-create-EDNOUM2U.js} +23 -23
- package/chunks/{team-delete-6UMU4XLS.js → team-delete-UEP4QOOT.js} +3 -3
- package/chunks/{team-plan-approval-UNIUS7OD.js → team-plan-approval-QRSNK2DX.js} +22 -21
- package/chunks/{terminal-image-renderer-G343P2RV.js → terminal-image-renderer-6J2NPL32.js} +22 -21
- package/chunks/{theme-manager-Z3RIT7DB.js → theme-manager-WJMLRBXS.js} +22 -21
- package/chunks/{todoWrite-U2R4NVF4.js → todoWrite-ATS62CAP.js} +1 -1
- package/chunks/{tool-search-5R2OE4C7.js → tool-search-MZ6WU7DM.js} +9 -7
- package/chunks/{total-session-admission-4KBHMQQ2.js → total-session-admission-DQVW2LIP.js} +26 -25
- package/chunks/{trustedFolders-LK6T4XC7.js → trustedFolders-QMH25GOX.js} +23 -22
- package/chunks/{update-relaunch-UBKROIC6.js → update-relaunch-EG75LLW5.js} +5 -5
- package/chunks/{updateCheck-W4Y2GFSD.js → updateCheck-MTZIVGT5.js} +25 -24
- package/chunks/{useAutoAcceptIndicator-C7BEICBF.js → useAutoAcceptIndicator-IGCW5EPO.js} +31 -30
- package/chunks/{validateNonInterActiveAuth-LTEI2TB6.js → validateNonInterActiveAuth-D5FPAB2C.js} +56 -54
- package/chunks/{version-G5A5DGVS.js → version-UOLDLLRB.js} +1 -1
- package/chunks/{web-fetch-RTEQTR5Z.js → web-fetch-QKKW6CWH.js} +11 -8
- package/chunks/{web-search-5OXHEZPV.js → web-search-JYRBZMCW.js} +2 -2
- package/chunks/{workflow-ISQJHPG2.js → workflow-SR7SEAU7.js} +139 -37
- package/chunks/{workspace-providers-status-2ZPZPUPZ.js → workspace-providers-status-OXGV4EFF.js} +32 -31
- package/chunks/{workspace-registration-store-CYNY6IP6.js → workspace-registration-store-V5EGKLBH.js} +1 -1
- package/chunks/{workspace-registry-34GTUUHB.js → workspace-registry-KJVIYTF5.js} +26 -25
- package/chunks/{workspace-service-XCDQLE2Y.js → workspace-service-6RLSGUB5.js} +33 -32
- package/chunks/{workspace-skills-status-RS4O7AIJ.js → workspace-skills-status-BHFEPDGH.js} +30 -29
- package/chunks/{workspace-trust-reconciler-AYGXC7A3.js → workspace-trust-reconciler-DB5ERSUN.js} +33 -32
- package/chunks/{write-file-EWXKVVXF.js → write-file-IUP4GTZ4.js} +22 -21
- package/chunks/{zh-TW-SQ4HTSCW.js → zh-TW-LVLBK4KF.js} +8 -0
- package/chunks/{zh-LMSTK4WD.js → zh-UBMWS2BJ.js} +8 -0
- package/chunks/{zoom-image-4BFYJ3HG.js → zoom-image-SRBDTIVA.js} +14 -11
- package/cli.js +13 -13
- package/locales/ca.js +13 -0
- package/locales/de.js +12 -0
- package/locales/en.js +11 -0
- package/locales/fr.js +13 -0
- package/locales/ja.js +13 -0
- package/locales/pt.js +12 -0
- package/locales/ru.js +12 -0
- package/locales/zh-TW.js +11 -0
- package/locales/zh.js +11 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CgOpDKvm.js → arc-DItbX0DI.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-0Ag_m34F.js → architectureDiagram-3BPJPVTR-CmnIlH8y.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-IwTwFau0.js → blockDiagram-GPEHLZMM-pObnB9kw.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DLa5GUv8.js → c4Diagram-AAUBKEIU-BNBmMS0Y.js} +1 -1
- package/web-shell/assets/channel-hZnMfWA9.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DcYP-WFG.js → chunk-2J33WTMH-Dz4JBOO6.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-C8MVPMiQ.js → chunk-4BX2VUAB-Cz2GnvAR.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BUi4Yfv3.js → chunk-55IACEB6-CC6kOQYx.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-Cy3Su2YY.js → chunk-727SXJPM-Z4lY4gbh.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-Dp8Teqv6.js → chunk-AQP2D5EJ-Yz0hZr3D.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BDTDM-4j.js → chunk-FMBD7UC4-nKmTWTv9.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-7HfDt0r2.js → chunk-ND2GUHAM-CjZz0f6Y.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BIBU0uCF.js → chunk-QZHKN3VN-Bab3FpuS.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BRnxm8DX.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BRnxm8DX.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-DRLdcg9p.js → cose-bilkent-S5V4N54A-BuSAGFox.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DCCgDwqW.js → dagre-BM42HDAG-CRZXTg3g.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CsBTBmk3.js → diagram-2AECGRRQ-BFx1Ayrz.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-C9qjH8Lt.js → diagram-5GNKFQAL-B2hMZ3gS.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Brjs_lj2.js → diagram-KO2AKTUF-DKxAQLmc.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DtiWCl_F.js → diagram-LMA3HP47-Bo1xGqVY.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DmfKLkBT.js → diagram-OG6HWLK6-B9NG78d-.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Bve_4deH.js → erDiagram-TEJ5UH35-DltQKiqQ.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-C2_kXCcV.js → flowDiagram-I6XJVG4X-5xXGmS4I.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BSBIjiTF.js → ganttDiagram-6RSMTGT7-bhGL5n0l.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CyebwI55.js → gitGraphDiagram-PVQCEYII-ZYnz9hgh.js} +1 -1
- package/web-shell/assets/{index-d0yfnV1M.js → index-CBBeUArD.js} +1 -1
- package/web-shell/assets/index-CbgU-jUo.css +5 -0
- package/web-shell/assets/index-_nhzXqab.js +1750 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CSDGnWxU.js → infoDiagram-5YYISTIA-Cg-jamQf.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK4jU13p.js → ishikawaDiagram-YF4QCWOH-CcmvKlyq.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-D_W6j-oF.js → journeyDiagram-JHISSGLW-BRsOQZp1.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-C7xf-SdC.js → kanban-definition-UN3LZRKU-xW-dmEHK.js} +1 -1
- package/web-shell/assets/{linear-DQmzxpxd.js → linear-ClBfEZH2.js} +1 -1
- package/web-shell/assets/{mermaid.core-9P7AGOLG.js → mermaid.core-D65NDkzc.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DgcgMyPk.js → mindmap-definition-RKZ34NQL-CyvFslYa.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-3wWGb9eG.js → pieDiagram-4H26LBE5-BwSefMyG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BeCXnQw9.js → quadrantDiagram-W4KKPZXB-GqBJspFS.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-Bi1UOHDz.js → requirementDiagram-4Y6WPE33-B137PlTJ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-lrLUjjbb.js → sankeyDiagram-5OEKKPKP-maHkkt8i.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BFuqKz6Q.js → sequenceDiagram-3UESZ5HK-DJ1mRaG3.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-8DemQLhu.js → stateDiagram-AJRCARHV-aRmP7Q4i.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Db39gvZ_.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-uzEuVQXg.js → timeline-definition-PNZ67QCA-CIQ3BRPA.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BQTeZ_-o.js → vennDiagram-CIIHVFJN-DR9VPd5h.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-B6yM5Im7.js → wardley-L42UT6IY-ZcfIbT4D.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-ChM8bmgn.js → wardleyDiagram-YWT4CUSO-D0jgPi4T.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-oNG6HyB1.js → xychartDiagram-2RQKCTM6-BGWU4s5o.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-MPHPFVKK.js +0 -48
- package/chunks/chunk-RLKC46YT.js +0 -3582
- package/chunks/chunk-UPDOZBWO.js +0 -358
- package/web-shell/assets/channel-BrGVBa2L.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +0 -1
- package/web-shell/assets/index-CIDsgxTe.js +0 -1792
- package/web-shell/assets/index-DiQnWi_E.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +0 -1
- /package/chunks/{chunk-NTTBXH7U.js → chunk-UGK4K2N2.js} +0 -0
package/chunks/{validateNonInterActiveAuth-LTEI2TB6.js → validateNonInterActiveAuth-D5FPAB2C.js}
RENAMED
|
@@ -2,53 +2,54 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
JsonOutputAdapter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TSMPNGBC.js";
|
|
6
6
|
import {
|
|
7
7
|
StreamJsonOutputAdapter
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-Y4RVDOXV.js";
|
|
9
|
+
import "./chunk-6RDZLBSJ.js";
|
|
10
|
+
import "./chunk-7VNHO4MN.js";
|
|
11
11
|
import {
|
|
12
12
|
validateAuthMethod
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-XYRBK56E.js";
|
|
14
|
+
import "./chunk-DRAONPUW.js";
|
|
15
15
|
import "./chunk-4WGODMVR.js";
|
|
16
16
|
import "./chunk-3SH53ANB.js";
|
|
17
17
|
import "./chunk-NYX53SV4.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-SNQZZ765.js";
|
|
19
19
|
import "./chunk-EKTCKZV5.js";
|
|
20
20
|
import "./chunk-2M55OBEB.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-5IJSFWQO.js";
|
|
22
|
+
import "./chunk-XITLNXLX.js";
|
|
23
|
+
import "./chunk-QAVTWAHL.js";
|
|
24
24
|
import "./chunk-YAF2MQZ6.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-Y7QY6DKW.js";
|
|
26
26
|
import "./chunk-6H67XLET.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-K2Y45XXS.js";
|
|
28
|
+
import "./chunk-OVY67CYC.js";
|
|
29
|
+
import "./chunk-E7REAOTN.js";
|
|
30
|
+
import "./chunk-4SR45OM4.js";
|
|
31
31
|
import "./chunk-2MIN6GRR.js";
|
|
32
32
|
import "./chunk-QHTIBUWB.js";
|
|
33
33
|
import "./chunk-3Z43GZUQ.js";
|
|
34
34
|
import "./chunk-TQOF5KBL.js";
|
|
35
35
|
import "./chunk-UXEO7E3V.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-SFJMFZT5.js";
|
|
37
37
|
import "./chunk-WGHHA7ZH.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-MDIGJH5X.js";
|
|
39
39
|
import "./chunk-7U5G6JXI.js";
|
|
40
40
|
import "./chunk-WCCLLK7X.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-EOPBFLA5.js";
|
|
42
42
|
import "./chunk-Z4X5MTRT.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-55VKMB7X.js";
|
|
44
|
+
import "./chunk-U657UZJN.js";
|
|
45
45
|
import "./chunk-57OAHC2Y.js";
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-NRPXRNN4.js";
|
|
47
47
|
import "./chunk-45NQKMYB.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-5IYS4WWR.js";
|
|
49
49
|
import "./chunk-V6WHFGST.js";
|
|
50
50
|
import "./chunk-ZLCT4C5A.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-WAO53ZQF.js";
|
|
52
|
+
import "./chunk-WP4WIUOJ.js";
|
|
52
53
|
import "./chunk-6PLDPT2C.js";
|
|
53
54
|
import "./chunk-FYJ7W2PI.js";
|
|
54
55
|
import "./chunk-YP5KH5Y7.js";
|
|
@@ -60,50 +61,50 @@ import "./chunk-3VUENPWF.js";
|
|
|
60
61
|
import "./chunk-AW27A43Y.js";
|
|
61
62
|
import "./chunk-IW6RQPQB.js";
|
|
62
63
|
import "./chunk-H4A72DE5.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-S7N3HUIB.js";
|
|
65
|
+
import "./chunk-VFP5YOHJ.js";
|
|
65
66
|
import "./chunk-RKUWKYED.js";
|
|
66
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-CZK622ZK.js";
|
|
67
68
|
import "./chunk-GOXKNSDZ.js";
|
|
68
69
|
import "./chunk-IDS7MSUP.js";
|
|
69
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-VTOLYFWM.js";
|
|
70
71
|
import "./chunk-5EJZE3FP.js";
|
|
71
|
-
import "./chunk-
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-MVHJZ3FZ.js";
|
|
73
|
+
import "./chunk-CXJHQVEK.js";
|
|
74
|
+
import "./chunk-PCETXVVV.js";
|
|
74
75
|
import "./chunk-WZMH7II3.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-C3T6M24E.js";
|
|
76
77
|
import "./chunk-NPQ5ZKRP.js";
|
|
77
78
|
import "./chunk-MR3PXB6E.js";
|
|
78
79
|
import "./chunk-XFSFZCM5.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-OFTPCOGR.js";
|
|
80
81
|
import "./chunk-GOFAQQZA.js";
|
|
81
82
|
import "./chunk-5M6IDOMF.js";
|
|
82
83
|
import "./chunk-TWPJO254.js";
|
|
83
84
|
import "./chunk-CQ35AJ4Z.js";
|
|
84
|
-
import "./chunk-
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-FS5NGKWC.js";
|
|
86
|
+
import "./chunk-SLILKYV2.js";
|
|
87
|
+
import "./chunk-NVRMCWTP.js";
|
|
88
|
+
import "./chunk-AKBOLMUF.js";
|
|
88
89
|
import "./chunk-6PVPNMXU.js";
|
|
89
|
-
import "./chunk-
|
|
90
|
+
import "./chunk-544KT7X4.js";
|
|
90
91
|
import "./chunk-IRH27ZC2.js";
|
|
91
92
|
import "./chunk-QHWCP53L.js";
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-OBJYN4MX.js";
|
|
94
|
+
import "./chunk-2C6HJMG3.js";
|
|
94
95
|
import "./chunk-O6GEWCJA.js";
|
|
95
96
|
import "./chunk-T26EAKDL.js";
|
|
96
97
|
import "./chunk-ZPJWUGCS.js";
|
|
97
98
|
import "./chunk-CPBF7KYF.js";
|
|
98
99
|
import "./chunk-RWDNJBWN.js";
|
|
99
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-WPVUOVYX.js";
|
|
100
101
|
import "./chunk-MIPFDQAF.js";
|
|
101
102
|
import "./chunk-MLXTMF7H.js";
|
|
102
103
|
import "./chunk-KV27IEHM.js";
|
|
103
104
|
import "./chunk-E3DYKPYZ.js";
|
|
104
|
-
import "./chunk-
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-4ZMS3JCR.js";
|
|
106
|
+
import "./chunk-DGJ7O55J.js";
|
|
107
|
+
import "./chunk-OO4FKHLO.js";
|
|
107
108
|
import "./chunk-SAH4BD2J.js";
|
|
108
109
|
import "./chunk-XLLKYULU.js";
|
|
109
110
|
import "./chunk-PT4I7NBA.js";
|
|
@@ -113,7 +114,7 @@ import "./chunk-SG7ZP5PG.js";
|
|
|
113
114
|
import "./chunk-K623ENWT.js";
|
|
114
115
|
import "./chunk-AQ37AY7B.js";
|
|
115
116
|
import "./chunk-KBXKR5R2.js";
|
|
116
|
-
import "./chunk-
|
|
117
|
+
import "./chunk-I3N2Z25H.js";
|
|
117
118
|
import "./chunk-NAVJD2PQ.js";
|
|
118
119
|
import "./chunk-ROIYNTHJ.js";
|
|
119
120
|
import "./chunk-2B2BF7P7.js";
|
|
@@ -121,34 +122,35 @@ import "./chunk-P3QQPMQA.js";
|
|
|
121
122
|
import "./chunk-YZHRN3CF.js";
|
|
122
123
|
import "./chunk-FAAUPSY2.js";
|
|
123
124
|
import "./chunk-KM73TBQ4.js";
|
|
124
|
-
import "./chunk-MPHPFVKK.js";
|
|
125
125
|
import "./chunk-AXMWHKXA.js";
|
|
126
126
|
import "./chunk-GLCZKT5V.js";
|
|
127
127
|
import "./chunk-DJ2GSRLV.js";
|
|
128
128
|
import "./chunk-QFJ5JHQR.js";
|
|
129
|
-
import "./chunk-
|
|
129
|
+
import "./chunk-KC4WMLZO.js";
|
|
130
130
|
import "./chunk-YRLW2MSX.js";
|
|
131
131
|
import "./chunk-VGC4I5JJ.js";
|
|
132
|
+
import "./chunk-3PWCMXIR.js";
|
|
132
133
|
import "./chunk-CHHABXPE.js";
|
|
133
134
|
import "./chunk-MA2HEDVP.js";
|
|
134
135
|
import "./chunk-XUJNK7Y6.js";
|
|
135
136
|
import "./chunk-6HY6IF3Z.js";
|
|
136
|
-
import "./chunk-
|
|
137
|
+
import "./chunk-2A6VQJYK.js";
|
|
137
138
|
import "./chunk-F6WFNA7U.js";
|
|
138
|
-
import "./chunk-
|
|
139
|
+
import "./chunk-WZAD4ZNJ.js";
|
|
139
140
|
import "./chunk-FPGTNKCP.js";
|
|
141
|
+
import "./chunk-YHC2EYYG.js";
|
|
140
142
|
import "./chunk-CPHEPGAO.js";
|
|
141
|
-
import "./chunk-
|
|
142
|
-
import "./chunk-
|
|
143
|
-
import "./chunk-
|
|
143
|
+
import "./chunk-DVR7XKO5.js";
|
|
144
|
+
import "./chunk-YECDICIO.js";
|
|
145
|
+
import "./chunk-XT4RKHVE.js";
|
|
144
146
|
import "./chunk-HHJLM3WQ.js";
|
|
145
|
-
import "./chunk-
|
|
147
|
+
import "./chunk-D34RDOLP.js";
|
|
146
148
|
import "./chunk-BUQDLC2G.js";
|
|
147
149
|
import "./chunk-VOQXFAY5.js";
|
|
148
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-QEHH23OM.js";
|
|
149
151
|
import {
|
|
150
152
|
runExitCleanup
|
|
151
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-3SL2P3WX.js";
|
|
152
154
|
import {
|
|
153
155
|
writeStderrLine
|
|
154
156
|
} from "./chunk-KGJGEEVR.js";
|
|
@@ -14,11 +14,13 @@ import "./chunk-YZHRN3CF.js";
|
|
|
14
14
|
import "./chunk-FAAUPSY2.js";
|
|
15
15
|
import {
|
|
16
16
|
MAX_SESSION_BYTES,
|
|
17
|
-
extractPDFText,
|
|
18
17
|
import_lru_cache
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KC4WMLZO.js";
|
|
20
19
|
import "./chunk-YRLW2MSX.js";
|
|
21
20
|
import "./chunk-VGC4I5JJ.js";
|
|
21
|
+
import {
|
|
22
|
+
extractPDFText
|
|
23
|
+
} from "./chunk-3PWCMXIR.js";
|
|
22
24
|
import "./chunk-CHHABXPE.js";
|
|
23
25
|
import {
|
|
24
26
|
runSideQuery
|
|
@@ -30,16 +32,17 @@ import {
|
|
|
30
32
|
ToolDisplayNames,
|
|
31
33
|
ToolNames
|
|
32
34
|
} from "./chunk-6HY6IF3Z.js";
|
|
33
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-2A6VQJYK.js";
|
|
34
36
|
import "./chunk-F6WFNA7U.js";
|
|
35
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-WZAD4ZNJ.js";
|
|
36
38
|
import "./chunk-FPGTNKCP.js";
|
|
39
|
+
import "./chunk-YHC2EYYG.js";
|
|
37
40
|
import "./chunk-CPHEPGAO.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-DVR7XKO5.js";
|
|
42
|
+
import "./chunk-YECDICIO.js";
|
|
43
|
+
import "./chunk-XT4RKHVE.js";
|
|
41
44
|
import "./chunk-HHJLM3WQ.js";
|
|
42
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-D34RDOLP.js";
|
|
43
46
|
import {
|
|
44
47
|
createDebugLogger,
|
|
45
48
|
getErrorMessage
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
buildModelIdContext,
|
|
5
5
|
resolveModelId
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-544KT7X4.js";
|
|
7
7
|
import {
|
|
8
8
|
DASHSCOPE_REGIONAL_HOSTS,
|
|
9
9
|
OpenAI
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
ToolDisplayNames,
|
|
26
26
|
ToolNames
|
|
27
27
|
} from "./chunk-6HY6IF3Z.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-2A6VQJYK.js";
|
|
29
29
|
import "./chunk-F6WFNA7U.js";
|
|
30
30
|
import "./chunk-FPGTNKCP.js";
|
|
31
31
|
import {
|
|
@@ -9,27 +9,28 @@ import {
|
|
|
9
9
|
generateAgentWorktreeSlug,
|
|
10
10
|
isTerminalWorkflowStatus,
|
|
11
11
|
rebuildToolRegistryOnOverride,
|
|
12
|
+
resolveExternalWorktreeDir,
|
|
12
13
|
resolveSavedWorkflowScript,
|
|
13
14
|
toModelVisibleSubagentResult,
|
|
14
15
|
writeWorkflowSnapshot,
|
|
15
16
|
writeWorktreeSessionMarker
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OFTPCOGR.js";
|
|
17
18
|
import "./chunk-GOFAQQZA.js";
|
|
18
19
|
import "./chunk-5M6IDOMF.js";
|
|
19
20
|
import "./chunk-TWPJO254.js";
|
|
20
21
|
import "./chunk-CQ35AJ4Z.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-FS5NGKWC.js";
|
|
23
|
+
import "./chunk-SLILKYV2.js";
|
|
24
|
+
import "./chunk-NVRMCWTP.js";
|
|
25
|
+
import "./chunk-AKBOLMUF.js";
|
|
25
26
|
import {
|
|
26
27
|
parsePositiveIntegerEnv
|
|
27
28
|
} from "./chunk-6PVPNMXU.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-544KT7X4.js";
|
|
29
30
|
import "./chunk-IRH27ZC2.js";
|
|
30
31
|
import "./chunk-QHWCP53L.js";
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-OBJYN4MX.js";
|
|
33
|
+
import "./chunk-2C6HJMG3.js";
|
|
33
34
|
import "./chunk-O6GEWCJA.js";
|
|
34
35
|
import "./chunk-T26EAKDL.js";
|
|
35
36
|
import "./chunk-ZPJWUGCS.js";
|
|
@@ -37,14 +38,14 @@ import "./chunk-CPBF7KYF.js";
|
|
|
37
38
|
import {
|
|
38
39
|
SUBAGENT_PLAN_LIFECYCLE_TOOLS
|
|
39
40
|
} from "./chunk-RWDNJBWN.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-WPVUOVYX.js";
|
|
41
42
|
import "./chunk-MIPFDQAF.js";
|
|
42
43
|
import "./chunk-MLXTMF7H.js";
|
|
43
44
|
import "./chunk-KV27IEHM.js";
|
|
44
45
|
import "./chunk-E3DYKPYZ.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-4ZMS3JCR.js";
|
|
47
|
+
import "./chunk-DGJ7O55J.js";
|
|
48
|
+
import "./chunk-OO4FKHLO.js";
|
|
48
49
|
import "./chunk-SAH4BD2J.js";
|
|
49
50
|
import "./chunk-XLLKYULU.js";
|
|
50
51
|
import {
|
|
@@ -58,7 +59,7 @@ import "./chunk-AQ37AY7B.js";
|
|
|
58
59
|
import {
|
|
59
60
|
WorkspaceContext
|
|
60
61
|
} from "./chunk-KBXKR5R2.js";
|
|
61
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-I3N2Z25H.js";
|
|
62
63
|
import "./chunk-NAVJD2PQ.js";
|
|
63
64
|
import "./chunk-ROIYNTHJ.js";
|
|
64
65
|
import "./chunk-2B2BF7P7.js";
|
|
@@ -66,7 +67,6 @@ import "./chunk-P3QQPMQA.js";
|
|
|
66
67
|
import "./chunk-YZHRN3CF.js";
|
|
67
68
|
import "./chunk-FAAUPSY2.js";
|
|
68
69
|
import "./chunk-KM73TBQ4.js";
|
|
69
|
-
import "./chunk-MPHPFVKK.js";
|
|
70
70
|
import "./chunk-AXMWHKXA.js";
|
|
71
71
|
import "./chunk-GLCZKT5V.js";
|
|
72
72
|
import {
|
|
@@ -79,9 +79,10 @@ import {
|
|
|
79
79
|
logWorkflowRun,
|
|
80
80
|
read,
|
|
81
81
|
writeLine
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-KC4WMLZO.js";
|
|
83
83
|
import "./chunk-YRLW2MSX.js";
|
|
84
84
|
import "./chunk-VGC4I5JJ.js";
|
|
85
|
+
import "./chunk-3PWCMXIR.js";
|
|
85
86
|
import "./chunk-CHHABXPE.js";
|
|
86
87
|
import "./chunk-MA2HEDVP.js";
|
|
87
88
|
import {
|
|
@@ -93,18 +94,19 @@ import {
|
|
|
93
94
|
ToolDisplayNames,
|
|
94
95
|
ToolNames
|
|
95
96
|
} from "./chunk-6HY6IF3Z.js";
|
|
96
|
-
import "./chunk-
|
|
97
|
+
import "./chunk-2A6VQJYK.js";
|
|
97
98
|
import "./chunk-F6WFNA7U.js";
|
|
98
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-WZAD4ZNJ.js";
|
|
99
100
|
import "./chunk-FPGTNKCP.js";
|
|
101
|
+
import "./chunk-YHC2EYYG.js";
|
|
100
102
|
import "./chunk-CPHEPGAO.js";
|
|
101
|
-
import "./chunk-
|
|
102
|
-
import "./chunk-
|
|
103
|
+
import "./chunk-DVR7XKO5.js";
|
|
104
|
+
import "./chunk-YECDICIO.js";
|
|
103
105
|
import {
|
|
104
106
|
stripAnsiAndControl
|
|
105
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-XT4RKHVE.js";
|
|
106
108
|
import "./chunk-HHJLM3WQ.js";
|
|
107
|
-
import "./chunk-
|
|
109
|
+
import "./chunk-D34RDOLP.js";
|
|
108
110
|
import {
|
|
109
111
|
createDebugLogger
|
|
110
112
|
} from "./chunk-BUQDLC2G.js";
|
|
@@ -915,7 +917,7 @@ function createWorkflowSandbox(opts) {
|
|
|
915
917
|
// FIX-Round1-T13: throw on any opts key not in the allowlist \u2014 catches
|
|
916
918
|
// typos like { scema: ... } that previously slipped through the
|
|
917
919
|
// [key:string]: unknown index signature.
|
|
918
|
-
const KNOWN_AGENT_OPTS = ['label', 'phase', 'schema', 'model', 'isolation', 'agentType', 'stallMs'];
|
|
920
|
+
const KNOWN_AGENT_OPTS = ['label', 'phase', 'schema', 'model', 'isolation', 'agentType', 'stallMs', 'workingDir'];
|
|
919
921
|
globalThis.agent = vmAsync(function (prompt, agentOpts) {
|
|
920
922
|
agentOpts = agentOpts || {};
|
|
921
923
|
const keys = Object.keys(agentOpts);
|
|
@@ -945,6 +947,34 @@ function createWorkflowSandbox(opts) {
|
|
|
945
947
|
"Known modes are: 'worktree', 'remote'."
|
|
946
948
|
);
|
|
947
949
|
}
|
|
950
|
+
// NOTE: this init script is a host-side template literal \u2014 no
|
|
951
|
+
// backticks anywhere below, in code or comments.
|
|
952
|
+
//
|
|
953
|
+
// A non-number stallMs is silently dropped downstream and the
|
|
954
|
+
// default watchdog applies, contradicting "0 disables the watchdog"
|
|
955
|
+
// \u2014 refuse it loudly like the other option gates.
|
|
956
|
+
if (agentOpts.stallMs !== undefined && (typeof agentOpts.stallMs !== 'number' || !Number.isFinite(agentOpts.stallMs))) {
|
|
957
|
+
throw new Error("agent({stallMs}): must be a finite number of milliseconds (0 disables the watchdog).");
|
|
958
|
+
}
|
|
959
|
+
// workingDir pins the agent to a worktree the CALLER already owns;
|
|
960
|
+
// isolation creates and reaps one. Asking for both is a contradiction
|
|
961
|
+
// about who owns the directory's lifetime, so name it here rather than
|
|
962
|
+
// silently letting one win.
|
|
963
|
+
if (agentOpts.workingDir !== undefined) {
|
|
964
|
+
if (typeof agentOpts.workingDir !== 'string' || agentOpts.workingDir.trim().length === 0) {
|
|
965
|
+
throw new Error(
|
|
966
|
+
"agent({workingDir}): must be a non-empty string naming an existing " +
|
|
967
|
+
"git worktree of this repository."
|
|
968
|
+
);
|
|
969
|
+
}
|
|
970
|
+
if (agentOpts.isolation !== undefined) {
|
|
971
|
+
throw new Error(
|
|
972
|
+
"agent({workingDir, isolation}): incompatible options. workingDir " +
|
|
973
|
+
"pins the agent to a worktree you already own; isolation creates " +
|
|
974
|
+
"a fresh one and removes it afterwards. Pass one."
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
}
|
|
948
978
|
if (typeof agentOpts.phase === 'string' && agentOpts.phase.length > 0) {
|
|
949
979
|
if (__b.lastPhase() !== agentOpts.phase) {
|
|
950
980
|
__b.pushPhase(agentOpts.phase);
|
|
@@ -1529,7 +1559,13 @@ var debugLogger4 = createDebugLogger("WORKFLOW_JOURNAL");
|
|
|
1529
1559
|
var JOURNAL_KEY_VERSION = "v2";
|
|
1530
1560
|
function canonicalizeAgentOpts(opts) {
|
|
1531
1561
|
const projected = {};
|
|
1532
|
-
for (const k of [
|
|
1562
|
+
for (const k of [
|
|
1563
|
+
"schema",
|
|
1564
|
+
"model",
|
|
1565
|
+
"isolation",
|
|
1566
|
+
"agentType",
|
|
1567
|
+
"workingDir"
|
|
1568
|
+
]) {
|
|
1533
1569
|
const v = opts[k];
|
|
1534
1570
|
if (v === void 0 || typeof v === "function") continue;
|
|
1535
1571
|
projected[k] = v;
|
|
@@ -1783,8 +1819,49 @@ function resolveConcurrencyLimit(env = process.env) {
|
|
|
1783
1819
|
return Math.max(1, Math.min(16, os.cpus().length - 2));
|
|
1784
1820
|
}
|
|
1785
1821
|
__name(resolveConcurrencyLimit, "resolveConcurrencyLimit");
|
|
1786
|
-
var
|
|
1787
|
-
var
|
|
1822
|
+
var DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS = 50;
|
|
1823
|
+
var DEFAULT_WORKFLOW_SUBAGENT_MAX_TIME_MINUTES = 10;
|
|
1824
|
+
var WORKFLOW_SUBAGENT_MAX_TURNS_ENV = "QWEN_CODE_WORKFLOW_AGENT_MAX_TURNS";
|
|
1825
|
+
var WORKFLOW_SUBAGENT_MAX_MINUTES_ENV = "QWEN_CODE_WORKFLOW_AGENT_MAX_MINUTES";
|
|
1826
|
+
var HARD_WORKFLOW_SUBAGENT_MAX_TURNS_CEILING = 500;
|
|
1827
|
+
var HARD_WORKFLOW_SUBAGENT_MAX_MINUTES_CEILING = 100;
|
|
1828
|
+
function resolveSubagentBound(envName, defaultValue, ceiling, env) {
|
|
1829
|
+
const raw = env[envName];
|
|
1830
|
+
if (raw === void 0 || raw.trim() === "") return defaultValue;
|
|
1831
|
+
const parsed = parsePositiveIntegerEnv(raw, 0);
|
|
1832
|
+
if (parsed < 1) {
|
|
1833
|
+
debugLogger.warn(
|
|
1834
|
+
`Invalid ${envName}=${JSON.stringify(raw)}, using default (${defaultValue})`
|
|
1835
|
+
);
|
|
1836
|
+
return defaultValue;
|
|
1837
|
+
}
|
|
1838
|
+
if (parsed > ceiling) {
|
|
1839
|
+
debugLogger.warn(
|
|
1840
|
+
`${envName}=${parsed} exceeds hard ceiling (${ceiling}); clamping.`
|
|
1841
|
+
);
|
|
1842
|
+
return ceiling;
|
|
1843
|
+
}
|
|
1844
|
+
return parsed;
|
|
1845
|
+
}
|
|
1846
|
+
__name(resolveSubagentBound, "resolveSubagentBound");
|
|
1847
|
+
function resolveSubagentMaxTurns(env = process.env) {
|
|
1848
|
+
return resolveSubagentBound(
|
|
1849
|
+
WORKFLOW_SUBAGENT_MAX_TURNS_ENV,
|
|
1850
|
+
DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS,
|
|
1851
|
+
HARD_WORKFLOW_SUBAGENT_MAX_TURNS_CEILING,
|
|
1852
|
+
env
|
|
1853
|
+
);
|
|
1854
|
+
}
|
|
1855
|
+
__name(resolveSubagentMaxTurns, "resolveSubagentMaxTurns");
|
|
1856
|
+
function resolveSubagentMaxTimeMinutes(env = process.env) {
|
|
1857
|
+
return resolveSubagentBound(
|
|
1858
|
+
WORKFLOW_SUBAGENT_MAX_MINUTES_ENV,
|
|
1859
|
+
DEFAULT_WORKFLOW_SUBAGENT_MAX_TIME_MINUTES,
|
|
1860
|
+
HARD_WORKFLOW_SUBAGENT_MAX_MINUTES_CEILING,
|
|
1861
|
+
env
|
|
1862
|
+
);
|
|
1863
|
+
}
|
|
1864
|
+
__name(resolveSubagentMaxTimeMinutes, "resolveSubagentMaxTimeMinutes");
|
|
1788
1865
|
var WORKFLOW_SUBAGENT_DISALLOWED_TOOLS = [
|
|
1789
1866
|
ToolNames.ASK_USER_QUESTION,
|
|
1790
1867
|
ToolNames.SEND_MESSAGE,
|
|
@@ -1907,11 +1984,11 @@ function attachDispatchTranscript(config, agentId, prompt, agentName, emitter, a
|
|
|
1907
1984
|
}
|
|
1908
1985
|
__name(attachDispatchTranscript, "attachDispatchTranscript");
|
|
1909
1986
|
async function runSingleDispatch(config, prompt, opts, attemptSignal, emitter, workflowAgentId, agentIdentity, onTokens) {
|
|
1910
|
-
const { AgentHeadless, ContextState } = await import("./agent-headless-
|
|
1987
|
+
const { AgentHeadless, ContextState } = await import("./agent-headless-UT2ZF76T.js");
|
|
1911
1988
|
const ctx = new ContextState();
|
|
1912
1989
|
ctx.set("task_prompt", prompt);
|
|
1913
1990
|
debugLogger.debug(`[workflow] Dispatch ${workflowAgentId}`);
|
|
1914
|
-
if (opts.agentType === void 0 && opts.model === void 0 && opts.isolation === void 0 && opts.schema === void 0) {
|
|
1991
|
+
if (opts.agentType === void 0 && opts.model === void 0 && opts.isolation === void 0 && opts.schema === void 0 && opts.workingDir === void 0) {
|
|
1915
1992
|
const subagent = await AgentHeadless.create(
|
|
1916
1993
|
agentIdentity.name,
|
|
1917
1994
|
config,
|
|
@@ -1924,8 +2001,8 @@ async function runSingleDispatch(config, prompt, opts, attemptSignal, emitter, w
|
|
|
1924
2001
|
// and the loop guards never tripped — combined with the cancellation
|
|
1925
2002
|
// bug below, workflows were effectively unkillable.
|
|
1926
2003
|
{
|
|
1927
|
-
max_turns:
|
|
1928
|
-
max_time_minutes:
|
|
2004
|
+
max_turns: resolveSubagentMaxTurns(),
|
|
2005
|
+
max_time_minutes: resolveSubagentMaxTimeMinutes()
|
|
1929
2006
|
},
|
|
1930
2007
|
// T11 (PR #4732 R1): disallow SendMessage / ExitPlanMode to align with
|
|
1931
2008
|
// upstream Tg8 — closes the back-channel that would let a subagent
|
|
@@ -2023,12 +2100,34 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
|
|
|
2023
2100
|
};
|
|
2024
2101
|
let worktreeIsolation = null;
|
|
2025
2102
|
let effectiveContext = config;
|
|
2103
|
+
if (opts.isolation !== void 0 && opts.workingDir !== void 0) {
|
|
2104
|
+
throw new Error(
|
|
2105
|
+
"agent({workingDir, isolation}): incompatible options. workingDir pins the agent to a worktree you already own; isolation creates a fresh one and removes it afterwards. Pass one."
|
|
2106
|
+
);
|
|
2107
|
+
}
|
|
2026
2108
|
if (opts.isolation === "worktree") {
|
|
2027
2109
|
worktreeIsolation = await provisionWorkflowWorktree(config);
|
|
2028
|
-
effectiveContext =
|
|
2110
|
+
effectiveContext = createDirScopedConfigOverride(
|
|
2029
2111
|
config,
|
|
2030
2112
|
worktreeIsolation.path
|
|
2031
2113
|
);
|
|
2114
|
+
} else if (opts.workingDir !== void 0) {
|
|
2115
|
+
if (typeof opts.workingDir !== "string" || opts.workingDir.trim().length === 0) {
|
|
2116
|
+
throw new Error(
|
|
2117
|
+
"agent({workingDir}): must be a non-empty string naming an existing git worktree of this repository."
|
|
2118
|
+
);
|
|
2119
|
+
}
|
|
2120
|
+
const resolved = await resolveExternalWorktreeDir(
|
|
2121
|
+
config,
|
|
2122
|
+
opts.workingDir,
|
|
2123
|
+
"workingDir"
|
|
2124
|
+
);
|
|
2125
|
+
if ("error" in resolved) {
|
|
2126
|
+
throw new Error(
|
|
2127
|
+
`agent({workingDir: ${sanitizeForErrorMessage(JSON.stringify(opts.workingDir))}}): ${sanitizeForErrorMessage(resolved.error)}`
|
|
2128
|
+
);
|
|
2129
|
+
}
|
|
2130
|
+
effectiveContext = createDirScopedConfigOverride(config, resolved.path);
|
|
2032
2131
|
}
|
|
2033
2132
|
let onParentAbort;
|
|
2034
2133
|
try {
|
|
@@ -2066,8 +2165,8 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
|
|
|
2066
2165
|
// own runConfig / maxTurns — these are workflow-level safety bounds,
|
|
2067
2166
|
// not subagent-level preferences. P5 will refine via budget.
|
|
2068
2167
|
runConfigOverrides: {
|
|
2069
|
-
max_turns:
|
|
2070
|
-
max_time_minutes:
|
|
2168
|
+
max_turns: resolveSubagentMaxTurns(),
|
|
2169
|
+
max_time_minutes: resolveSubagentMaxTimeMinutes()
|
|
2071
2170
|
},
|
|
2072
2171
|
eventEmitter
|
|
2073
2172
|
}
|
|
@@ -2221,7 +2320,7 @@ async function provisionWorkflowWorktree(config) {
|
|
|
2221
2320
|
};
|
|
2222
2321
|
}
|
|
2223
2322
|
__name(provisionWorkflowWorktree, "provisionWorkflowWorktree");
|
|
2224
|
-
function
|
|
2323
|
+
function createDirScopedConfigOverride(base, wtPath) {
|
|
2225
2324
|
const ov = Object.create(base);
|
|
2226
2325
|
ov.targetDir = wtPath;
|
|
2227
2326
|
ov.cwd = wtPath;
|
|
@@ -2229,7 +2328,10 @@ function createWorktreeConfigOverride(base, wtPath) {
|
|
|
2229
2328
|
ov.getCwd = () => wtPath;
|
|
2230
2329
|
ov.getWorkingDir = () => wtPath;
|
|
2231
2330
|
ov.getProjectRoot = () => wtPath;
|
|
2232
|
-
const wtFileService = new FileDiscoveryService(
|
|
2331
|
+
const wtFileService = new FileDiscoveryService(
|
|
2332
|
+
wtPath,
|
|
2333
|
+
base.getFileFilteringOptions().customIgnoreFiles
|
|
2334
|
+
);
|
|
2233
2335
|
ov.fileDiscoveryService = wtFileService;
|
|
2234
2336
|
ov.getFileService = () => wtFileService;
|
|
2235
2337
|
const wtWorkspace = new WorkspaceContext(wtPath);
|
|
@@ -2237,7 +2339,7 @@ function createWorktreeConfigOverride(base, wtPath) {
|
|
|
2237
2339
|
ov.getWorkspaceContext = () => wtWorkspace;
|
|
2238
2340
|
return ov;
|
|
2239
2341
|
}
|
|
2240
|
-
__name(
|
|
2342
|
+
__name(createDirScopedConfigOverride, "createDirScopedConfigOverride");
|
|
2241
2343
|
async function cleanupWorkflowWorktree(isolation) {
|
|
2242
2344
|
const wtService = new GitWorktreeService(isolation.repoRoot);
|
|
2243
2345
|
const [hasChanges, hasUnmerged] = await Promise.all([
|
|
@@ -2853,7 +2955,7 @@ var WORKFLOW_PARAM_SCHEMA = {
|
|
|
2853
2955
|
properties: {
|
|
2854
2956
|
script: {
|
|
2855
2957
|
type: "string",
|
|
2856
|
-
description: `JavaScript source of the workflow. Wrapped as an async IIFE. May call the injected globals \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, and read \`args\`. agent() opts: \`{ label?, phase?, schema?, model?, agentType?, isolation? }\`. \`schema\` (JSON Schema object): the subagent must deliver its result by calling \`structured_output\` with arguments matching the schema; agent() resolves to the validated object. Two failed attempts produce a terminal error "subagent completed without calling StructuredOutput (after 2 in-conversation nudges)". \`agentType\` (string): resolves against the declarative-agents registry (\`.qwen/agents/<name>.md\`, project then user then built-in). Unresolved names throw "agent({agentType}): agent type 'X' not found". \`model\` (string): per-call model override; routes provider correctly via the subagent runtime view. \`isolation\`: \`'worktree'\` provisions a fresh git worktree under \`<projectRoot>/.qwen/worktrees/agent-<7hex>\`; the worktree is auto-removed if no changes, otherwise the path and branch are returned alongside the result. \`'remote'\` throws "agent({isolation:'remote'}) is not available in this build" (parity with upstream). isolation=worktree refuses to run when the parent working tree has uncommitted changes (the subagent would see a stale HEAD). Workflow subagents always have SendMessage / Monitor / EnterPlanMode / ExitPlanMode in their disallowed-tool floor regardless of agentType. Concurrency: \`parallel([() => agent(...), ...])\` runs thunks through a shared per-run window (default \`max(1, min(16, cpus-2))\` agents in flight; override via \`${MAX_WORKFLOW_CONCURRENCY_ENV}\`) and resolves to a position-aligned array \u2014 a thunk that throws, or resolves to a non-JSON-serializable value, becomes \`null\` at its index (errors-as-data); parallel() itself rejects only on invalid arguments or abort. \`pipeline(items, ...stages)\` runs each item through the stages (staggered, no inter-stage barrier); a stage that throws, returns \`null\`, or returns a non-JSON-serializable value drops that item to \`null\`. Pass THUNKS to parallel, not eager calls: \`parallel([() => agent(...)])\`, not \`parallel([agent(...)])\`. At most ${DEFAULT_MAX_AGENTS_PER_RUN} agent() calls per run (override via \`${MAX_WORKFLOW_AGENTS_ENV}\`). \`Date.now()\` and \`Math.random()\` both throw \u2014 workflow scripts must be deterministic for resume. \`export const meta = {...}\` declarations are stripped before execution.`
|
|
2958
|
+
description: `JavaScript source of the workflow. Wrapped as an async IIFE. May call the injected globals \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, and read \`args\`. agent() opts: \`{ label?, phase?, schema?, model?, agentType?, isolation?, workingDir?, stallMs? }\`. \`schema\` (JSON Schema object): the subagent must deliver its result by calling \`structured_output\` with arguments matching the schema; agent() resolves to the validated object. Two failed attempts produce a terminal error "subagent completed without calling StructuredOutput (after 2 in-conversation nudges)". \`agentType\` (string): resolves against the declarative-agents registry (\`.qwen/agents/<name>.md\`, project then user then built-in). Unresolved names throw "agent({agentType}): agent type 'X' not found". \`model\` (string): per-call model override; routes provider correctly via the subagent runtime view. \`isolation\`: \`'worktree'\` provisions a fresh git worktree under \`<projectRoot>/.qwen/worktrees/agent-<7hex>\`; the worktree is auto-removed if no changes, otherwise the path and branch are returned alongside the result. \`'remote'\` throws "agent({isolation:'remote'}) is not available in this build" (parity with upstream). isolation=worktree refuses to run when the parent working tree has uncommitted changes (the subagent would see a stale HEAD). \`workingDir\` (string): pin the subagent to an EXISTING git worktree of this repository that the caller owns \u2014 nothing is created and nothing is removed. Use it when the directory the agent must work in already exists and its uncommitted state is the point (a review worktree, a checkout a previous step provisioned) \u2014 exactly the case isolation cannot serve. Mutually exclusive with \`isolation\`. The path must be a linked worktree of this repository registered via \`git worktree add\` (it may live anywhere on disk) \u2014 the main checkout is not eligible. \`stallMs\` (number, ms): a no-progress watchdog, not a wall-clock cap. The dispatch is aborted and retried (up to ${MAX_STALL_ATTEMPTS} attempts total) after this many milliseconds with no observable subagent progress once progress has begun (a dispatch that produces no first response is bounded by the subagent time cap, not this watchdog); the timer is suspended while a tool is in flight, so a legitimately slow tool is not a stall. Default ${DEFAULT_STALL_MS} (override via \`${MAX_WORKFLOW_STALL_MS_ENV}\`, whole seconds); \`0\` disables the watchdog. Wall time per attempt is bounded separately. Workflow subagents always have SendMessage / Monitor / EnterPlanMode / ExitPlanMode in their disallowed-tool floor regardless of agentType. Concurrency: \`parallel([() => agent(...), ...])\` runs thunks through a shared per-run window (default \`max(1, min(16, cpus-2))\` agents in flight; override via \`${MAX_WORKFLOW_CONCURRENCY_ENV}\`) and resolves to a position-aligned array \u2014 a thunk that throws, or resolves to a non-JSON-serializable value, becomes \`null\` at its index (errors-as-data); parallel() itself rejects only on invalid arguments or abort. \`pipeline(items, ...stages)\` runs each item through the stages (staggered, no inter-stage barrier); a stage that throws, returns \`null\`, or returns a non-JSON-serializable value drops that item to \`null\`. Pass THUNKS to parallel, not eager calls: \`parallel([() => agent(...)])\`, not \`parallel([agent(...)])\`. At most ${DEFAULT_MAX_AGENTS_PER_RUN} agent() calls per run (override via \`${MAX_WORKFLOW_AGENTS_ENV}\`). \`Date.now()\` and \`Math.random()\` both throw \u2014 workflow scripts must be deterministic for resume. \`export const meta = {...}\` declarations are stripped before execution.`
|
|
2857
2959
|
},
|
|
2858
2960
|
scriptPath: {
|
|
2859
2961
|
type: "string",
|
|
@@ -3090,7 +3192,7 @@ Reach for one to be comprehensive (decompose the work and cover every part in pa
|
|
|
3090
3192
|
|
|
3091
3193
|
**Runtime** \u2014 see the \`script\` parameter for the detailed authoring contract.
|
|
3092
3194
|
|
|
3093
|
-
\`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, \`parallel(thunks)\`, \`pipeline(items, ...stages)\`, \`workflow(nameOrRef, args?)\`, plus the \`args\` and \`budget\` globals. \`workflow()\` runs a saved workflow inline under this run's caps and nests one level only \u2014 a workflow reached through \`workflow()\` cannot call \`workflow()\` itself, and doing so throws. Saved workflows are \`<name>.js\` files under \`<projectRoot>/.qwen/workflows\` (project scope, also surfaced as \`/<name>\` slash commands) or \`~/.qwen/workflows\` (user scope, lower precedence when both define the same name); \`workflow('<name>')\` resolves against those two directories, while \`scriptPath\` takes an absolute path to a script anywhere. Default \`max(1, min(16, cpus-2))\` agents in flight per run (\`${MAX_WORKFLOW_CONCURRENCY_ENV}\`), up to ${DEFAULT_MAX_AGENTS_PER_RUN} agents total (\`${MAX_WORKFLOW_AGENTS_ENV}\`), under a 30-minute wall-clock cap per run (\`QWEN_CODE_MAX_WORKFLOW_SECONDS\`) \u2014 a fan-out near the agent cap will not fit inside the default cap. A per-run output-token cap may also be in effect: read \`budget.total\` (\`null\` = uncapped) before committing to a large fan-out, because once the cap is reached every further \`agent()\` call is refused \u2014 a bare sequential \`await agent()\` sees the rejection, while inside \`parallel()\`/\`pipeline()\` the refused slot becomes \`null\` and the script keeps running on partial results. Per-call \`agent({ schema, agentType, model, isolation: 'worktree' })\` covers structured-output contracts, declarative-agent selection, model override,
|
|
3195
|
+
\`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, \`parallel(thunks)\`, \`pipeline(items, ...stages)\`, \`workflow(nameOrRef, args?)\`, plus the \`args\` and \`budget\` globals. \`workflow()\` runs a saved workflow inline under this run's caps and nests one level only \u2014 a workflow reached through \`workflow()\` cannot call \`workflow()\` itself, and doing so throws. Saved workflows are \`<name>.js\` files under \`<projectRoot>/.qwen/workflows\` (project scope, also surfaced as \`/<name>\` slash commands) or \`~/.qwen/workflows\` (user scope, lower precedence when both define the same name); \`workflow('<name>')\` resolves against those two directories, while \`scriptPath\` takes an absolute path to a script anywhere. Default \`max(1, min(16, cpus-2))\` agents in flight per run (\`${MAX_WORKFLOW_CONCURRENCY_ENV}\`), up to ${DEFAULT_MAX_AGENTS_PER_RUN} agents total (\`${MAX_WORKFLOW_AGENTS_ENV}\`), under a 30-minute wall-clock cap per run (\`QWEN_CODE_MAX_WORKFLOW_SECONDS\`) \u2014 a fan-out near the agent cap will not fit inside the default cap. Each subagent attempt is separately capped at ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS} turns (\`${WORKFLOW_SUBAGENT_MAX_TURNS_ENV}\`) and ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TIME_MINUTES} minutes (\`${WORKFLOW_SUBAGENT_MAX_MINUTES_ENV}\`) \u2014 an attempt that hits either becomes \`null\` in \`parallel()\`/\`pipeline()\`, indistinguishable from a missing agent, so raise them for legitimately long work. A per-run output-token cap may also be in effect: read \`budget.total\` (\`null\` = uncapped) before committing to a large fan-out, because once the cap is reached every further \`agent()\` call is refused \u2014 a bare sequential \`await agent()\` sees the rejection, while inside \`parallel()\`/\`pipeline()\` the refused slot becomes \`null\` and the script keeps running on partial results. Per-call \`agent({ schema, agentType, model, isolation: 'worktree', workingDir, stallMs })\` covers structured-output contracts, declarative-agent selection, model override, git-worktree-isolated subagents, pinning an agent to a caller-owned worktree, and the no-progress stall watchdog (\`stallMs: 0\` disables it). \`resumeFromRunId\` resumes a prior run \u2014 agent() calls whose rolling prefix-hash matches the journal are served from cache for the longest unchanged prefix. Runs appear in the background-tasks view and the \`/workflows\` dialog (live phase tree, token usage, cooperative pause/resume, cancel); \`run_in_background: true\` returns a run handle immediately in the interactive TUI and delivers completion through the conversation. Scripts run in a node:vm sandbox with no filesystem or shell access \u2014 all I/O happens through the spawned agents.
|
|
3094
3196
|
|
|
3095
3197
|
**Scout first, then orchestrate**
|
|
3096
3198
|
|