@qwen-code/qwen-code 0.20.1-preview.7215 → 0.20.2-gdpval-vl-agent.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/qc-helper/docs/configuration/settings.md +1 -1
- package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
- package/bundled/qc-helper/docs/features/commands.md +54 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
- package/bundled/qc-helper/docs/integration-github-action.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +2 -1
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +4 -4
- package/chunks/{MaxSizedBox-EH6G5AEH.js → MaxSizedBox-KYNG7EN7.js} +38 -35
- package/chunks/{StandaloneSessionPicker-264A3TEA.js → StandaloneSessionPicker-7XN4WVVG.js} +55 -52
- package/chunks/{acpAgent-6RBIJFDI.js → acpAgent-FTFFYP5G.js} +1536 -512
- package/chunks/{agent-QURXGAA3.js → agent-Y76LTTOT.js} +34 -31
- package/chunks/{agent-headless-CRGX4ICQ.js → agent-headless-IVAEQPK6.js} +34 -31
- package/chunks/{anthropicContentGenerator-BWBAZGTW.js → anthropicContentGenerator-HGWAHO24.js} +11 -13
- package/chunks/{artifact-tool-IUJ7QWCX.js → artifact-tool-56T5IMBP.js} +3 -3
- package/chunks/{askUserQuestion-IUMUUTDQ.js → askUserQuestion-E25OBIC2.js} +3 -3
- package/chunks/{bridge-MNFVKPMI.js → bridge-4M77KUEV.js} +39 -36
- package/chunks/{build-SSCNEHZZ.js → build-GHIZ4MSZ.js} +1 -1
- package/chunks/{ca-2SL2BXTK.js → ca-N6VVUFVB.js} +611 -201
- package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-QZV2SP5U.js} +4 -4
- package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-3GMAU45H.js} +4 -4
- package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-QCXSXCRY.js} +3 -3
- package/chunks/{chunk-UQES76OO.js → chunk-2HGTVAOW.js} +6 -6
- package/chunks/{chunk-2HOVDT7W.js → chunk-2LI23QA6.js} +1 -1
- package/chunks/{chunk-ANHT55MR.js → chunk-2P6CNEHB.js} +1 -1
- package/chunks/chunk-2RFKHEXL.js +74 -0
- package/chunks/{chunk-BF32GYSY.js → chunk-3IABAQR6.js} +1 -1
- package/chunks/chunk-3Z43GZUQ.js +32 -0
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/{chunk-DA7OOKVN.js → chunk-4CTP6VR6.js} +29 -2
- package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
- package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
- package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/{chunk-7YBZGNEC.js → chunk-5G3ZVADU.js} +308 -199
- package/chunks/{chunk-X4CGDBKA.js → chunk-6GEJX3LE.js} +3 -3
- package/chunks/{chunk-6GUTHAN7.js → chunk-6HOCJNO5.js} +1 -1
- package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
- package/chunks/chunk-6PVPNMXU.js +29 -0
- package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
- package/chunks/{chunk-4ODB7WIB.js → chunk-6ZBPS62S.js} +1 -1
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-WAX3ITOA.js → chunk-A3TAEAHX.js} +1 -1
- package/chunks/{chunk-OLMETXLX.js → chunk-ACW3VNUE.js} +2 -2
- package/chunks/{chunk-IB35C3IL.js → chunk-AVQ6EX4J.js} +1 -1
- package/chunks/{chunk-TTSKHF43.js → chunk-BK6UOUJ2.js} +2 -2
- package/chunks/{chunk-6OH6A5EX.js → chunk-BLAEKN6K.js} +20603 -17709
- package/chunks/chunk-BULDBTYC.js +153 -0
- package/chunks/{chunk-XNP57UDV.js → chunk-C3EXYVFX.js} +2 -2
- package/chunks/{chunk-FVS747N7.js → chunk-C54UTDOC.js} +23 -19
- package/chunks/{chunk-MAQQGNQ5.js → chunk-CBOQ3HY7.js} +466 -10
- package/chunks/{chunk-VFAE4AGH.js → chunk-CGZ5SV23.js} +72 -67
- package/chunks/{chunk-WKRXIHD6.js → chunk-COAARUPK.js} +8 -8
- package/chunks/{chunk-GA7VRJVN.js → chunk-E2ZK5M4P.js} +5 -5
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-E5GIFWE3.js → chunk-EEFRJ5CT.js} +54 -33
- package/chunks/{chunk-WXAXH7IJ.js → chunk-ESQHGKPJ.js} +1 -1
- package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
- package/chunks/{chunk-Z5R4JMOL.js → chunk-FJ2IUWNQ.js} +4 -4
- package/chunks/{chunk-JVTCARQ6.js → chunk-FQI7LT7T.js} +4 -4
- package/chunks/{chunk-BRXIO5WY.js → chunk-FTNI3D7D.js} +7 -7
- package/chunks/{chunk-OMH3276Y.js → chunk-GHRSKGHF.js} +7 -7
- package/chunks/{chunk-OONJNQ42.js → chunk-GPSKDNEE.js} +3 -3
- package/chunks/{chunk-KPZNOZPC.js → chunk-GWM4PDYK.js} +19 -19
- package/chunks/{chunk-NBMIC7DR.js → chunk-H24SOJIQ.js} +2 -2
- package/chunks/{chunk-FNGK2Z5B.js → chunk-H4AR2JQF.js} +3 -3
- package/chunks/{chunk-WOT64EP2.js → chunk-HCJQORKC.js} +2 -2
- package/chunks/{chunk-7KDI2IB2.js → chunk-HDATOR4J.js} +4 -4
- package/chunks/{chunk-IE4JSQ5L.js → chunk-HIYP7IR4.js} +39 -37
- package/chunks/{chunk-N6YTEVLV.js → chunk-HL6AKUGD.js} +10 -4
- package/chunks/{chunk-BAIEQKR5.js → chunk-HPQFGWOD.js} +5 -5
- package/chunks/chunk-HTR4WV6U.js +327 -0
- package/chunks/{chunk-SDXIH6OA.js → chunk-IFUNDCQ6.js} +137 -5
- package/chunks/{chunk-Z6UEAQTP.js → chunk-IFVECEIK.js} +178 -61
- package/chunks/{chunk-QOK6RMIP.js → chunk-IKP54WUL.js} +4 -4
- package/chunks/{chunk-IUSNI6IX.js → chunk-ISMD2AB3.js} +1 -1
- package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
- package/chunks/{chunk-LZYWWWCZ.js → chunk-KF6CTNTJ.js} +8 -9
- package/chunks/{chunk-EIAK6Q2B.js → chunk-KHOVYUHX.js} +2 -2
- package/chunks/chunk-KWK7UE6L.js +6194 -0
- package/chunks/{chunk-WBTZGWQ6.js → chunk-L5F3T6TQ.js} +1 -1
- package/chunks/{chunk-RELYEO3R.js → chunk-L7ASZD66.js} +244 -1607
- package/chunks/{chunk-UJEZQ562.js → chunk-LESHKUWF.js} +3 -5
- package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
- package/chunks/{chunk-Q3ZBFXK4.js → chunk-LKB5YL5T.js} +143 -36
- package/chunks/{chunk-MKLKHZAK.js → chunk-LU3RXCM7.js} +1 -1
- package/chunks/{chunk-B453NMZJ.js → chunk-M3EQ3GZC.js} +3 -3
- package/chunks/{chunk-TCKTNY66.js → chunk-M4VFMLQK.js} +6 -6
- package/chunks/{chunk-26LLB6FM.js → chunk-MDZTPSXO.js} +2 -2
- package/chunks/{chunk-4SLLEAQP.js → chunk-MJPBB2GK.js} +591 -316
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/{chunk-T7DDD7CZ.js → chunk-NAXEEGJU.js} +4 -4
- package/chunks/{chunk-467G3SV5.js → chunk-NPQDJGKU.js} +1 -1
- package/chunks/{chunk-FLTN6NRU.js → chunk-O4OT3DM3.js} +5 -1
- package/chunks/{chunk-3EUZWNWA.js → chunk-OPDZT2VG.js} +1 -1
- package/chunks/chunk-OQ5SYCPE.js +10017 -0
- package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
- package/chunks/{chunk-V25Z5UUB.js → chunk-P6PBZL3N.js} +7 -6
- package/chunks/{chunk-5NWV4NFB.js → chunk-PRAUGUNM.js} +3 -3
- package/chunks/{chunk-MC2DOZS7.js → chunk-PVT6E3ZI.js} +3 -3
- package/chunks/{chunk-KXEGCGUG.js → chunk-Q22WWVR6.js} +31 -6
- package/chunks/{chunk-JDI67JFB.js → chunk-Q2YKNMLS.js} +3 -3
- package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
- package/chunks/{chunk-Y2ENGUD6.js → chunk-QKTHJXCS.js} +1 -1
- package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
- package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
- package/chunks/{chunk-OKWRU4NO.js → chunk-RC7A7SSL.js} +3 -3
- package/chunks/chunk-RCUEYZDE.js +2290 -0
- package/chunks/{chunk-EVSTCA7S.js → chunk-RMY5SX7S.js} +368 -113
- package/chunks/{chunk-4WUAQ2DO.js → chunk-RTQSXHS7.js} +2 -2
- package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
- package/chunks/{chunk-NIJEXGV6.js → chunk-RVLZCXEE.js} +79 -10
- package/chunks/{chunk-Q4RBU7WX.js → chunk-S333CBIA.js} +6 -6
- package/chunks/{chunk-JNWZQ27S.js → chunk-SP5WRGVG.js} +3 -3
- package/chunks/{chunk-FSL5W5TI.js → chunk-T2L47JJK.js} +3 -3
- package/chunks/{chunk-PWVTCGBP.js → chunk-TA4S377U.js} +30 -20
- package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
- package/chunks/chunk-U6TQGUNB.js +20687 -0
- package/chunks/chunk-U7ZFW55U.js +2098 -0
- package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
- package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
- package/chunks/{chunk-P2YAOGJD.js → chunk-UKU3NGW6.js} +3 -3
- package/chunks/{chunk-NOWTNYC7.js → chunk-UVFCANV5.js} +8 -8
- package/chunks/{chunk-CVDW42JT.js → chunk-V4AKJQ26.js} +1 -1
- package/chunks/{chunk-Z5Q65RVH.js → chunk-VJPRLNLR.js} +1 -1
- package/chunks/{chunk-Y4CRUWFZ.js → chunk-VTXX72XS.js} +60 -35
- package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
- package/chunks/chunk-WHGVTP7Q.js +1049 -0
- package/chunks/{chunk-IKP5DXZY.js → chunk-WOWQQGGN.js} +5 -5
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/chunk-XHATNRQA.js +1500 -0
- package/chunks/{chunk-2DXOIVUI.js → chunk-YLSB23Y2.js} +11 -11
- package/chunks/{chunk-S35ZDXOS.js → chunk-YM3SZTH4.js} +2 -1
- package/chunks/{chunk-OF2BBLYQ.js → chunk-YNWJAOPL.js} +2 -2
- package/chunks/{chunk-GKY2OJ7R.js → chunk-ZHERRXZJ.js} +1 -1
- package/chunks/{chunk-AR27OPIU.js → chunk-ZKFJKN23.js} +2 -2
- package/chunks/{computer-use-R7KA6UJ6.js → computer-use-UKQBH7UM.js} +39 -36
- package/chunks/{config-utils-6FXFJUYB.js → config-utils-FYTBZLCJ.js} +3 -3
- package/chunks/{contextCommand-KAQQPHZ4.js → contextCommand-ESHGAVWX.js} +36 -33
- package/chunks/{create-sub-session-TDPDBU4K.js → create-sub-session-574EPZUU.js} +34 -31
- package/chunks/{create-sub-session-X5RVIHCK.js → create-sub-session-AZ77LBL3.js} +3 -3
- package/chunks/{cron-create-AC5FFLN7.js → cron-create-KTWJM7QT.js} +5 -5
- package/chunks/{cron-delete-JEB3FAHA.js → cron-delete-2P3I5ULL.js} +5 -5
- package/chunks/{cron-list-NBYPCNIB.js → cron-list-PXDPGEDQ.js} +5 -5
- package/chunks/{daemon-RG2MAI6T.js → daemon-GJRFILYS.js} +323 -99
- package/chunks/daemon-status-provider-GZXZP3NU.js +80 -0
- package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
- package/chunks/{dist-AU7NQQRP.js → dist-OAV7LJGJ.js} +1 -1
- package/chunks/{dist-FUTEXY6A.js → dist-OMW6WDEO.js} +1 -1
- package/chunks/{dist-2MIU4UUH.js → dist-PJLG2XYX.js} +1 -1
- package/chunks/{dist-53PZYC5B.js → dist-UIFWIFRO.js} +2 -2
- package/chunks/{dist-2BHAYBKP.js → dist-XBJVSWS2.js} +1 -1
- package/chunks/{dist-WGTQO7F2.js → dist-XRYV6TJP.js} +65 -25
- package/chunks/{earlyInputCapture-WC7RI5HV.js → earlyInputCapture-GI3HGQIT.js} +35 -32
- package/chunks/{edit-6MHKCJCM.js → edit-EBJK74B3.js} +42 -41
- package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
- package/chunks/{enter-worktree-O7VJ2E7A.js → enter-worktree-2ETY5CSV.js} +39 -36
- package/chunks/{enterPlanMode-5XYAALIO.js → enterPlanMode-NY4U2727.js} +45 -37
- package/chunks/{environment-LSKFNLBU.js → environment-33IR3NOU.js} +36 -33
- package/chunks/{errors-ZFVCY6HG.js → errors-2OCY23IC.js} +36 -33
- package/chunks/{exit-worktree-MYIK66T7.js → exit-worktree-Y4ULJ45U.js} +39 -36
- package/chunks/{exitPlanMode-7MBNU76O.js → exitPlanMode-SECI2EQ6.js} +39 -36
- package/chunks/{fast-path-RNLIB64C.js → fast-path-6Z7RW5J5.js} +3 -2
- package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
- package/chunks/{gemini-WK5ISEAQ.js → gemini-XLGLUGSU.js} +93 -89
- package/chunks/{geminiContentGenerator-NUJQBZBW.js → geminiContentGenerator-NNZZDH24.js} +5 -5
- package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
- package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
- package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
- package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
- package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
- package/chunks/{glob-7P6RYY4L.js → glob-KZA64SSV.js} +41 -38
- package/chunks/{grep-V3QHNP2J.js → grep-ONHQMY3V.js} +41 -38
- package/chunks/handleAutoUpdate-PRTJISXQ.js +73 -0
- package/chunks/{i18n-B7IO7WQT.js → i18n-ZTKKG5R5.js} +35 -32
- package/chunks/{initializer-E5TIC3CW.js → initializer-FPPZGBYN.js} +40 -37
- package/chunks/{installationInfo-XLPNAISK.js → installationInfo-DV2C27HT.js} +37 -32
- package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
- package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
- package/chunks/{list-3CZR5I42.js → list-KEHCNUAK.js} +42 -39
- package/chunks/{loadedSettingsAdapter-X5BSC6CE.js → loadedSettingsAdapter-7RZ6M3WH.js} +39 -36
- package/chunks/{loop-wakeup-HMHCT5GU.js → loop-wakeup-RNMRVA66.js} +6 -6
- package/chunks/{ls-IW5HYDG4.js → ls-J2ZI5XYK.js} +5 -5
- package/chunks/{lsp-4RL52YIZ.js → lsp-UMS3NUB5.js} +3 -3
- package/chunks/managed-npm-update-EBKNOG37.js +332 -0
- package/chunks/{mcp-4C4HWXAR.js → mcp-NHXKZRRP.js} +39 -36
- package/chunks/{monitor-3CJDNZB2.js → monitor-FMUAIFFH.js} +39 -36
- package/chunks/nonInteractiveCli-I2GPZNTP.js +132 -0
- package/chunks/{notebook-edit-MX366HCT.js → notebook-edit-V7RNXKVL.js} +43 -42
- package/chunks/{openaiContentGenerator-KRPNNJGZ.js → openaiContentGenerator-IBVUUZDH.js} +19 -18
- package/chunks/{pidfile-K7T2JLUJ.js → pidfile-AMTGL2H2.js} +35 -32
- package/chunks/{processUtils-YXL3VIBR.js → processUtils-3ZT2JF6D.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-GJVXFZ3U.js → qwenContentGenerator-E72VVWS3.js} +41 -38
- package/chunks/{qwenOAuth2-UZTIBQLY.js → qwenOAuth2-YCC3HP24.js} +17 -16
- package/chunks/{read-file-S5XQSYOW.js → read-file-5EWNGUXN.js} +13 -11
- package/chunks/{read-mcp-resource-OIBCNIX7.js → read-mcp-resource-F6HYMDUY.js} +3 -3
- package/chunks/{record-artifact-HDMK4LHG.js → record-artifact-7GCFLDD7.js} +3 -3
- package/chunks/{resumeHistoryUtils-IKR6XD2S.js → resumeHistoryUtils-IH4RNB76.js} +41 -38
- package/chunks/{ripGrep-H65GRSQX.js → ripGrep-B6A6N7GI.js} +34 -31
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-7SKAQOAA.js → run-qwen-serve-6PKSMF6Z.js} +115 -74
- package/chunks/{runtime-I2STBGPR.js → runtime-ASRANXO6.js} +45 -40
- package/chunks/{scheduler-6F7HETNO.js → scheduler-IABM76UZ.js} +34 -31
- package/chunks/sdk-exporters-grpc-ETLH47EP.js +23214 -0
- package/chunks/sdk-exporters-http-6MCQH335.js +563 -0
- package/chunks/sdk-impl-HOLWAXC6.js +9193 -0
- package/chunks/{send-message-WXVVK4DB.js → send-message-KBO6X4ZS.js} +7 -5
- package/chunks/{serve-4ATEWSEA.js → serve-A4DT5D32.js} +39 -36
- package/chunks/{server-YPUPFV2O.js → server-DZ5ZSVRE.js} +2317 -472
- package/chunks/{session-AZFIERIY.js → session-G2R3CYU6.js} +87 -172
- package/chunks/{settings-EFQHLTM3.js → settings-7TNSXUTO.js} +43 -40
- package/chunks/{shell-FWXWBJ4Q.js → shell-5BRFGEMK.js} +34 -31
- package/chunks/{skill-A634MNCD.js → skill-3SWYEK7M.js} +24 -20
- package/chunks/{spawnChannel-KKBGGR47.js → spawnChannel-GGN2WVWW.js} +36 -33
- package/chunks/{src-BVROLD6N.js → src-5BPBNQ5S.js} +314 -236
- package/chunks/{standalone-update-ERLA3BDC.js → standalone-update-AHOZ56LS.js} +37 -34
- package/chunks/{startInteractiveUI-3VZ23WAY.js → startInteractiveUI-TLGOQVV7.js} +1105 -906
- package/chunks/{syntheticOutput-HCUFXSIA.js → syntheticOutput-H7RTI5KL.js} +4 -4
- package/chunks/{task-create-RIY5JTFC.js → task-create-7474AJJD.js} +10 -8
- package/chunks/{task-list-XBUCV3CO.js → task-list-633HGOIB.js} +6 -6
- package/chunks/{task-stop-QDFCCYR5.js → task-stop-MNUGHPIA.js} +3 -3
- package/chunks/{task-update-7PXKJQOI.js → task-update-66GQB5LI.js} +10 -8
- package/chunks/{team-create-ZZO7QFQ7.js → team-create-XHDF7UKM.js} +42 -39
- package/chunks/{team-delete-TNSSE2S5.js → team-delete-BB3CG3QF.js} +6 -6
- package/chunks/{team-plan-approval-3BZBJ46K.js → team-plan-approval-XKSBXWMH.js} +39 -36
- package/chunks/{theme-manager-FSFWNXFJ.js → theme-manager-6ZKLBFAN.js} +35 -32
- package/chunks/{todoWrite-OMAIGB6V.js → todoWrite-KRAUN54W.js} +5 -5
- package/chunks/{tool-search-VYXAAIDW.js → tool-search-UDNJCXYS.js} +21 -17
- package/chunks/{total-session-admission-PSMLQICS.js → total-session-admission-VWRCCDYM.js} +40 -37
- package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-L5BFT64K.js} +1 -1
- package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-ZKDNQGID.js} +1 -1
- package/chunks/{trustedFolders-QA3RK2NV.js → trustedFolders-TJI6OLAN.js} +35 -32
- package/chunks/{chunk-6EFTQYW7.js → undici-3FJYTMOF.js} +24 -399
- package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
- package/chunks/{update-relaunch-LNLZFX3J.js → update-relaunch-RS5GB74A.js} +17 -17
- package/chunks/updateCheck-T4EEA5YR.js +88 -0
- package/chunks/{useAutoAcceptIndicator-DIWN27LT.js → useAutoAcceptIndicator-LLWMXC7F.js} +44 -41
- package/chunks/{validateNonInterActiveAuth-LOEOFCAF.js → validateNonInterActiveAuth-OJ3KYXAR.js} +74 -71
- package/chunks/{version-HBF2VBLE.js → version-ZCEUV5DO.js} +1 -1
- package/chunks/{web-fetch-BWGSD2BD.js → web-fetch-KQF4YFCI.js} +99 -42
- package/chunks/{web-search-OOHTCVR3.js → web-search-QDDGFGKI.js} +113 -61
- package/chunks/{workflow-LJAJBOR4.js → workflow-GIRKCX4P.js} +47 -43
- package/chunks/{workspace-providers-status-FYV7TTHA.js → workspace-providers-status-UTMAVTNE.js} +42 -39
- package/chunks/{workspace-registration-store-4EHGQW4Y.js → workspace-registration-store-EYJMJFZU.js} +8 -2
- package/chunks/{workspace-registry-BKD7VC4Y.js → workspace-registry-4W4UW6MY.js} +40 -37
- package/chunks/{workspace-service-75RHX6KR.js → workspace-service-DJCPY6ZN.js} +46 -43
- package/chunks/{workspace-skills-status-WBZBZI6A.js → workspace-skills-status-VQ2LKXXX.js} +40 -37
- package/chunks/write-file-PLK6RQ7M.js +65 -0
- package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-BM47YBFH.js} +5 -1
- package/chunks/{zh-6ANG2HTL.js → zh-WY5DWYZD.js} +5 -1
- package/cli-entry.js +164 -12
- package/cli.js +18 -11
- package/locales/ca.js +772 -203
- package/locales/de.js +8 -2
- package/locales/en.js +8 -2
- package/locales/fr.js +8 -2
- package/locales/ja.js +8 -2
- package/locales/pt.js +8 -2
- package/locales/ru.js +8 -2
- package/locales/zh-TW.js +8 -2
- package/locales/zh.js +8 -2
- package/package.json +3 -3
- package/web-shell/assets/{arc-Buk1besA.js → arc-DIQrcXXh.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-CbPd-DSw.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-yzBIVhMX.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-B88Swcsu.js} +1 -1
- package/web-shell/assets/channel-BaTMUesZ.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-BbOLo6NX.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-Bg6in0r0.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-Bv9QRyLI.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-CFokiv61.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-DS2Oxf6L.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-D2NkHD3B.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-BsT_UC5B.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-tnJo3zln.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CyBPzWud.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CyBPzWud.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-BTMa6DAZ.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-ujGX7Owg.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-fU4-dbPa.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-Bdm-TYSA.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-Bkhz85Z9.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-Bzu3q26p.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-CZrXbG5Q.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-BjozEAYu.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-B3a2I8c-.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-CIMn9fNm.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-DlFy9KRx.js} +1 -1
- package/web-shell/assets/{index-wFXp7W68.js → index-BODUAzQA.js} +1 -1
- package/web-shell/assets/index-C54DNMF7.js +1209 -0
- package/web-shell/assets/index-lWqBfc78.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-BmKjQgCy.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-BrQEMZz2.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-D-2r7Xrt.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-CndsFHCX.js} +1 -1
- package/web-shell/assets/{linear-0ZVQFVKf.js → linear-D-IwNnKx.js} +1 -1
- package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-4ll09sri.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-maMRIxjo.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-aunUDhrJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-D3K0P1NZ.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-CX2X9HRc.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP-CDroWk7l.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-DTk-2b16.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-Cud64hQr.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-g-uUpecT.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-DfD5okf_.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-BYl8ay25.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-BZFAt10J.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-BIWn0GA7.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-1_H4xblT.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-ETD6K42I.js +0 -358
- package/chunks/chunk-I5NLVPZJ.js +0 -45
- package/chunks/chunk-ONWW74X6.js +0 -74639
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/daemon-status-provider-LVTVJGAD.js +0 -77
- package/chunks/handleAutoUpdate-AAQ6PL3E.js +0 -70
- package/chunks/nonInteractiveCli-QTEHDDFH.js +0 -129
- package/chunks/updateCheck-JJEUQ54U.js +0 -73
- package/chunks/write-file-M2DTFILF.js +0 -599
- package/web-shell/assets/channel-04R0vLbG.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
- package/web-shell/assets/index-DgkKrjw3.js +0 -1187
- package/web-shell/assets/index-Rv6mOAN9.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createDebugLogger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OQB4EXO4.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -237,6 +237,7 @@ __name(reconcileMaxTokens, "reconcileMaxTokens");
|
|
|
237
237
|
// packages/core/src/utils/request-tokenizer/textTokenizer.ts
|
|
238
238
|
init_esbuild_shims();
|
|
239
239
|
var NON_ASCII_RE = /[\u0080-\uffff]/;
|
|
240
|
+
var TOKEN_ESTIMATE_UNITS_PER_TOKEN = 20;
|
|
240
241
|
function estimateTextTokens(text) {
|
|
241
242
|
if (!text || text.length === 0) {
|
|
242
243
|
return 0;
|
|
@@ -244,17 +245,33 @@ function estimateTextTokens(text) {
|
|
|
244
245
|
if (!NON_ASCII_RE.test(text)) {
|
|
245
246
|
return Math.ceil(text.length / 4);
|
|
246
247
|
}
|
|
247
|
-
|
|
248
|
+
const nonAsciiChars = countNonAsciiChars(text);
|
|
249
|
+
const asciiChars = text.length - nonAsciiChars;
|
|
250
|
+
return Math.ceil(asciiChars / 4 + nonAsciiChars * 1.1);
|
|
251
|
+
}
|
|
252
|
+
__name(estimateTextTokens, "estimateTextTokens");
|
|
253
|
+
function estimateTextTokenUnits(text) {
|
|
254
|
+
if (!text || text.length === 0) {
|
|
255
|
+
return 0;
|
|
256
|
+
}
|
|
257
|
+
if (!NON_ASCII_RE.test(text)) {
|
|
258
|
+
return text.length * 5;
|
|
259
|
+
}
|
|
260
|
+
const nonAsciiChars = countNonAsciiChars(text);
|
|
261
|
+
const asciiChars = text.length - nonAsciiChars;
|
|
262
|
+
return asciiChars * 5 + nonAsciiChars * 22;
|
|
263
|
+
}
|
|
264
|
+
__name(estimateTextTokenUnits, "estimateTextTokenUnits");
|
|
265
|
+
function countNonAsciiChars(text) {
|
|
266
|
+
let count = 0;
|
|
248
267
|
for (let i = 0; i < text.length; i++) {
|
|
249
268
|
if (text.charCodeAt(i) >= 128) {
|
|
250
|
-
|
|
269
|
+
count++;
|
|
251
270
|
}
|
|
252
271
|
}
|
|
253
|
-
|
|
254
|
-
const tokens = asciiChars / 4 + nonAsciiChars * 1.1;
|
|
255
|
-
return Math.ceil(tokens);
|
|
272
|
+
return count;
|
|
256
273
|
}
|
|
257
|
-
__name(
|
|
274
|
+
__name(countNonAsciiChars, "countNonAsciiChars");
|
|
258
275
|
var TextTokenizer = class {
|
|
259
276
|
static {
|
|
260
277
|
__name(this, "TextTokenizer");
|
|
@@ -659,6 +676,390 @@ function asOptionalRecord(value) {
|
|
|
659
676
|
}
|
|
660
677
|
__name(asOptionalRecord, "asOptionalRecord");
|
|
661
678
|
|
|
679
|
+
// packages/core/src/utils/runtimeFetchOptions.ts
|
|
680
|
+
init_esbuild_shims();
|
|
681
|
+
var debugLogger = createDebugLogger("RUNTIME_FETCH");
|
|
682
|
+
var undiciModule;
|
|
683
|
+
var undiciModulePromise;
|
|
684
|
+
async function loadUndici() {
|
|
685
|
+
undiciModulePromise ??= import("./undici-3FJYTMOF.js").then((mod) => {
|
|
686
|
+
const keys = Object.keys(mod);
|
|
687
|
+
if (keys.length === 1 && keys[0] === "default") {
|
|
688
|
+
return mod.default;
|
|
689
|
+
}
|
|
690
|
+
return mod;
|
|
691
|
+
});
|
|
692
|
+
return undiciModulePromise;
|
|
693
|
+
}
|
|
694
|
+
__name(loadUndici, "loadUndici");
|
|
695
|
+
async function preloadRuntimeFetchModule() {
|
|
696
|
+
if (undiciModule) return;
|
|
697
|
+
undiciModule = await loadUndici();
|
|
698
|
+
}
|
|
699
|
+
__name(preloadRuntimeFetchModule, "preloadRuntimeFetchModule");
|
|
700
|
+
function requireUndici() {
|
|
701
|
+
if (!undiciModule) {
|
|
702
|
+
throw new Error(
|
|
703
|
+
"undici is not loaded yet; await preloadRuntimeFetchModule() before building runtime fetch options or dispatchers"
|
|
704
|
+
);
|
|
705
|
+
}
|
|
706
|
+
return undiciModule;
|
|
707
|
+
}
|
|
708
|
+
__name(requireUndici, "requireUndici");
|
|
709
|
+
function isTlsVerificationDisabled() {
|
|
710
|
+
const flag = process.env["QWEN_TLS_INSECURE"];
|
|
711
|
+
if (flag !== void 0 && /^(1|true|yes|on)$/i.test(flag.trim())) {
|
|
712
|
+
return true;
|
|
713
|
+
}
|
|
714
|
+
return process.env["NODE_TLS_REJECT_UNAUTHORIZED"] === "0";
|
|
715
|
+
}
|
|
716
|
+
__name(isTlsVerificationDisabled, "isTlsVerificationDisabled");
|
|
717
|
+
function detectRuntime() {
|
|
718
|
+
if (typeof process !== "undefined" && process.versions?.["bun"]) {
|
|
719
|
+
return "bun";
|
|
720
|
+
}
|
|
721
|
+
if (typeof process !== "undefined" && process.versions?.node) {
|
|
722
|
+
return "node";
|
|
723
|
+
}
|
|
724
|
+
return "unknown";
|
|
725
|
+
}
|
|
726
|
+
__name(detectRuntime, "detectRuntime");
|
|
727
|
+
function buildRuntimeFetchOptions(sdkType, proxyUrl) {
|
|
728
|
+
const runtime = detectRuntime();
|
|
729
|
+
switch (runtime) {
|
|
730
|
+
case "bun": {
|
|
731
|
+
if (sdkType === "openai") {
|
|
732
|
+
return {
|
|
733
|
+
fetchOptions: {
|
|
734
|
+
timeout: false
|
|
735
|
+
}
|
|
736
|
+
};
|
|
737
|
+
} else {
|
|
738
|
+
const bunFetch = /* @__PURE__ */ __name(async (input, init) => {
|
|
739
|
+
const bunFetchOptions = {
|
|
740
|
+
...init,
|
|
741
|
+
// @ts-expect-error - Bun-specific timeout option
|
|
742
|
+
timeout: false
|
|
743
|
+
};
|
|
744
|
+
return fetch(input, bunFetchOptions);
|
|
745
|
+
}, "bunFetch");
|
|
746
|
+
return {
|
|
747
|
+
fetch: bunFetch
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
case "node": {
|
|
752
|
+
return buildFetchOptionsWithDispatcher(sdkType, proxyUrl);
|
|
753
|
+
}
|
|
754
|
+
default: {
|
|
755
|
+
return buildFetchOptionsWithDispatcher(sdkType, proxyUrl);
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
__name(buildRuntimeFetchOptions, "buildRuntimeFetchOptions");
|
|
760
|
+
var dispatcherCache = /* @__PURE__ */ new Map();
|
|
761
|
+
var proxyFailureCounts = /* @__PURE__ */ new Map();
|
|
762
|
+
var NO_DISPATCHER_FALLBACK = {
|
|
763
|
+
openai: void 0,
|
|
764
|
+
anthropic: {}
|
|
765
|
+
};
|
|
766
|
+
function getOrCreateSharedDispatcher(proxyUrl, insecure = isTlsVerificationDisabled()) {
|
|
767
|
+
const cacheKey = insecure ? `${proxyUrl}#insecure` : proxyUrl;
|
|
768
|
+
const cached = dispatcherCache.get(cacheKey);
|
|
769
|
+
if (cached) {
|
|
770
|
+
return cached;
|
|
771
|
+
}
|
|
772
|
+
const { EnvHttpProxyAgent } = requireUndici();
|
|
773
|
+
const dispatcher = new EnvHttpProxyAgent({
|
|
774
|
+
httpProxy: proxyUrl,
|
|
775
|
+
httpsProxy: proxyUrl,
|
|
776
|
+
headersTimeout: 0,
|
|
777
|
+
bodyTimeout: 0,
|
|
778
|
+
keepAliveTimeout: 6e4,
|
|
779
|
+
// EnvHttpProxyAgent can dispatch either directly or through a proxy.
|
|
780
|
+
// `connect` covers a direct NO_PROXY connection, `requestTls` covers the
|
|
781
|
+
// origin through a proxy, and `proxyTls` covers an HTTPS proxy itself.
|
|
782
|
+
...insecure ? {
|
|
783
|
+
connect: { rejectUnauthorized: false },
|
|
784
|
+
requestTls: { rejectUnauthorized: false },
|
|
785
|
+
proxyTls: { rejectUnauthorized: false }
|
|
786
|
+
} : {}
|
|
787
|
+
});
|
|
788
|
+
dispatcherCache.set(cacheKey, dispatcher);
|
|
789
|
+
return dispatcher;
|
|
790
|
+
}
|
|
791
|
+
__name(getOrCreateSharedDispatcher, "getOrCreateSharedDispatcher");
|
|
792
|
+
function extractHostnameFromProxyUrl(proxyUrl) {
|
|
793
|
+
try {
|
|
794
|
+
const url = new URL(proxyUrl);
|
|
795
|
+
if (url.hostname) {
|
|
796
|
+
return url.port ? `${url.hostname}:${url.port}` : url.hostname;
|
|
797
|
+
}
|
|
798
|
+
} catch {
|
|
799
|
+
}
|
|
800
|
+
const match = proxyUrl.match(/@([^:/\s]+)(:\d+)?/);
|
|
801
|
+
return match ? match[1] + (match[2] ?? "") : redactProxyCredentials(proxyUrl);
|
|
802
|
+
}
|
|
803
|
+
__name(extractHostnameFromProxyUrl, "extractHostnameFromProxyUrl");
|
|
804
|
+
function hasPlausibleProxyPort(host) {
|
|
805
|
+
const portMatch = host.match(/:(\d{1,5})$/);
|
|
806
|
+
if (!portMatch) {
|
|
807
|
+
return false;
|
|
808
|
+
}
|
|
809
|
+
const port = Number(portMatch[1]);
|
|
810
|
+
return port >= 80 && port <= 65535;
|
|
811
|
+
}
|
|
812
|
+
__name(hasPlausibleProxyPort, "hasPlausibleProxyPort");
|
|
813
|
+
function hasLocalOrProxyLikeHost(host) {
|
|
814
|
+
const hostWithoutPort = host.replace(/:\d{1,5}$/, "").toLowerCase();
|
|
815
|
+
if (hostWithoutPort === "localhost") {
|
|
816
|
+
return true;
|
|
817
|
+
}
|
|
818
|
+
if (/^\d{1,3}(\.\d{1,3}){3}$/.test(hostWithoutPort)) {
|
|
819
|
+
return true;
|
|
820
|
+
}
|
|
821
|
+
return hostWithoutPort.split(/[.-]/).some((label) => /^(proxy|gateway|gw|squid)\d*$/.test(label));
|
|
822
|
+
}
|
|
823
|
+
__name(hasLocalOrProxyLikeHost, "hasLocalOrProxyLikeHost");
|
|
824
|
+
function hasNetworkErrorContext(message, offset) {
|
|
825
|
+
const context = message.slice(Math.max(0, offset - 80), offset).toLowerCase();
|
|
826
|
+
return /\b(connect|dispatcher|econnrefused|econnreset|enotfound|etimedout|proxy|tunnel)\b/.test(
|
|
827
|
+
context
|
|
828
|
+
);
|
|
829
|
+
}
|
|
830
|
+
__name(hasNetworkErrorContext, "hasNetworkErrorContext");
|
|
831
|
+
function shouldRedactTokenOnlyCredential(host, message, offset) {
|
|
832
|
+
return hasPlausibleProxyPort(host) && (hasLocalOrProxyLikeHost(host) || hasNetworkErrorContext(message, offset));
|
|
833
|
+
}
|
|
834
|
+
__name(shouldRedactTokenOnlyCredential, "shouldRedactTokenOnlyCredential");
|
|
835
|
+
function redactProxyCredentials(message) {
|
|
836
|
+
let result = message.replace(/\/\/[^/\s]*@/g, "//<redacted>@");
|
|
837
|
+
result = result.replace(
|
|
838
|
+
/(^|[\s([=:])([^\s/@()[\]=]+@[^@\s/()[\]=]+)/g,
|
|
839
|
+
(match, prefix, candidate, offset, message2) => {
|
|
840
|
+
const atIndex = candidate.indexOf("@");
|
|
841
|
+
const userInfo = candidate.slice(0, atIndex);
|
|
842
|
+
const host = candidate.slice(atIndex + 1);
|
|
843
|
+
if (!userInfo.includes(":") && !shouldRedactTokenOnlyCredential(host, message2, offset)) {
|
|
844
|
+
return match;
|
|
845
|
+
}
|
|
846
|
+
return `${prefix}<redacted>@${host}`;
|
|
847
|
+
}
|
|
848
|
+
);
|
|
849
|
+
return result;
|
|
850
|
+
}
|
|
851
|
+
__name(redactProxyCredentials, "redactProxyCredentials");
|
|
852
|
+
function redactProxyError(error) {
|
|
853
|
+
return redactProxyErrorValue(error, /* @__PURE__ */ new WeakMap());
|
|
854
|
+
}
|
|
855
|
+
__name(redactProxyError, "redactProxyError");
|
|
856
|
+
function redactProxyErrorValue(error, seen) {
|
|
857
|
+
if (typeof error === "string") {
|
|
858
|
+
return redactProxyCredentials(error);
|
|
859
|
+
}
|
|
860
|
+
if (!error || typeof error !== "object") {
|
|
861
|
+
return error;
|
|
862
|
+
}
|
|
863
|
+
if (seen.has(error)) {
|
|
864
|
+
return seen.get(error);
|
|
865
|
+
}
|
|
866
|
+
const errorRecord = error;
|
|
867
|
+
const needsClone = shouldCloneForRedaction(error, errorRecord);
|
|
868
|
+
const redactedMessage = typeof errorRecord.message === "string" ? redactProxyCredentials(errorRecord.message) : void 0;
|
|
869
|
+
const redactedStack = typeof errorRecord.stack === "string" ? redactProxyCredentials(errorRecord.stack) : void 0;
|
|
870
|
+
let redactedCause = errorRecord.cause;
|
|
871
|
+
let redactedErrors = errorRecord.errors;
|
|
872
|
+
if (needsClone) {
|
|
873
|
+
const clone = Object.create(Object.getPrototypeOf(error));
|
|
874
|
+
seen.set(error, clone);
|
|
875
|
+
if (errorRecord.cause !== void 0) {
|
|
876
|
+
redactedCause = redactProxyErrorValue(errorRecord.cause, seen);
|
|
877
|
+
}
|
|
878
|
+
if (errorRecord.errors !== void 0) {
|
|
879
|
+
redactedErrors = redactProxyErrorCollection(errorRecord.errors, seen);
|
|
880
|
+
}
|
|
881
|
+
cloneErrorWithRedactedFields(
|
|
882
|
+
error,
|
|
883
|
+
clone,
|
|
884
|
+
redactedMessage,
|
|
885
|
+
redactedStack,
|
|
886
|
+
redactedCause,
|
|
887
|
+
redactedErrors
|
|
888
|
+
);
|
|
889
|
+
return clone;
|
|
890
|
+
}
|
|
891
|
+
seen.set(error, error);
|
|
892
|
+
try {
|
|
893
|
+
if (redactedMessage !== void 0) {
|
|
894
|
+
errorRecord.message = redactedMessage;
|
|
895
|
+
}
|
|
896
|
+
if (redactedStack !== void 0) {
|
|
897
|
+
errorRecord.stack = redactedStack;
|
|
898
|
+
}
|
|
899
|
+
if (errorRecord.cause !== void 0) {
|
|
900
|
+
redactedCause = redactProxyErrorValue(errorRecord.cause, seen);
|
|
901
|
+
errorRecord.cause = redactedCause;
|
|
902
|
+
}
|
|
903
|
+
if (errorRecord.errors !== void 0) {
|
|
904
|
+
redactedErrors = redactProxyErrorCollection(errorRecord.errors, seen);
|
|
905
|
+
errorRecord.errors = redactedErrors;
|
|
906
|
+
}
|
|
907
|
+
return error;
|
|
908
|
+
} catch {
|
|
909
|
+
const clone = Object.create(Object.getPrototypeOf(error));
|
|
910
|
+
seen.set(error, clone);
|
|
911
|
+
if (errorRecord.cause !== void 0) {
|
|
912
|
+
redactedCause = redactProxyErrorValue(errorRecord.cause, seen);
|
|
913
|
+
}
|
|
914
|
+
if (errorRecord.errors !== void 0) {
|
|
915
|
+
redactedErrors = redactProxyErrorCollection(errorRecord.errors, seen);
|
|
916
|
+
}
|
|
917
|
+
cloneErrorWithRedactedFields(
|
|
918
|
+
error,
|
|
919
|
+
clone,
|
|
920
|
+
redactedMessage,
|
|
921
|
+
redactedStack,
|
|
922
|
+
redactedCause,
|
|
923
|
+
redactedErrors
|
|
924
|
+
);
|
|
925
|
+
return clone;
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
__name(redactProxyErrorValue, "redactProxyErrorValue");
|
|
929
|
+
function redactProxyErrorCollection(errors, seen) {
|
|
930
|
+
if (!Array.isArray(errors)) {
|
|
931
|
+
return redactProxyErrorValue(errors, seen);
|
|
932
|
+
}
|
|
933
|
+
if (seen.has(errors)) {
|
|
934
|
+
return seen.get(errors);
|
|
935
|
+
}
|
|
936
|
+
const redactedErrors = [];
|
|
937
|
+
seen.set(errors, redactedErrors);
|
|
938
|
+
for (const error of errors) {
|
|
939
|
+
redactedErrors.push(redactProxyErrorValue(error, seen));
|
|
940
|
+
}
|
|
941
|
+
return redactedErrors;
|
|
942
|
+
}
|
|
943
|
+
__name(redactProxyErrorCollection, "redactProxyErrorCollection");
|
|
944
|
+
function shouldCloneForRedaction(error, errorRecord) {
|
|
945
|
+
return typeof errorRecord.message === "string" && !canAssignProperty(error, "message") || typeof errorRecord.stack === "string" && !canAssignProperty(error, "stack") || errorRecord.cause !== void 0 && !canAssignProperty(error, "cause") || errorRecord.errors !== void 0 && !canAssignProperty(error, "errors");
|
|
946
|
+
}
|
|
947
|
+
__name(shouldCloneForRedaction, "shouldCloneForRedaction");
|
|
948
|
+
function canAssignProperty(target, key) {
|
|
949
|
+
let current = target;
|
|
950
|
+
while (current) {
|
|
951
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, key);
|
|
952
|
+
if (descriptor) {
|
|
953
|
+
if ("writable" in descriptor) {
|
|
954
|
+
return descriptor.writable === true;
|
|
955
|
+
}
|
|
956
|
+
return typeof descriptor.set === "function";
|
|
957
|
+
}
|
|
958
|
+
current = Object.getPrototypeOf(current);
|
|
959
|
+
}
|
|
960
|
+
return Object.isExtensible(target);
|
|
961
|
+
}
|
|
962
|
+
__name(canAssignProperty, "canAssignProperty");
|
|
963
|
+
function cloneErrorWithRedactedFields(error, clone, redactedMessage, redactedStack, redactedCause, redactedErrors) {
|
|
964
|
+
const copiedKeys = /* @__PURE__ */ new Set();
|
|
965
|
+
for (const key of Reflect.ownKeys(error)) {
|
|
966
|
+
const descriptor = Object.getOwnPropertyDescriptor(error, key);
|
|
967
|
+
if (!descriptor) {
|
|
968
|
+
continue;
|
|
969
|
+
}
|
|
970
|
+
copiedKeys.add(key);
|
|
971
|
+
const updatedDescriptor = getRedactedPropertyDescriptor(
|
|
972
|
+
key,
|
|
973
|
+
descriptor,
|
|
974
|
+
redactedMessage,
|
|
975
|
+
redactedStack,
|
|
976
|
+
redactedCause,
|
|
977
|
+
redactedErrors
|
|
978
|
+
);
|
|
979
|
+
try {
|
|
980
|
+
Object.defineProperty(clone, key, updatedDescriptor);
|
|
981
|
+
} catch {
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
defineMissingRedactedValue(clone, copiedKeys, "message", redactedMessage);
|
|
985
|
+
defineMissingRedactedValue(clone, copiedKeys, "stack", redactedStack);
|
|
986
|
+
defineMissingRedactedValue(clone, copiedKeys, "cause", redactedCause);
|
|
987
|
+
defineMissingRedactedValue(clone, copiedKeys, "errors", redactedErrors);
|
|
988
|
+
}
|
|
989
|
+
__name(cloneErrorWithRedactedFields, "cloneErrorWithRedactedFields");
|
|
990
|
+
function getRedactedPropertyDescriptor(key, descriptor, redactedMessage, redactedStack, redactedCause, redactedErrors) {
|
|
991
|
+
const redactedValue = key === "message" ? redactedMessage : key === "stack" ? redactedStack : key === "cause" ? redactedCause : key === "errors" ? redactedErrors : void 0;
|
|
992
|
+
if (redactedValue === void 0) {
|
|
993
|
+
return { ...descriptor };
|
|
994
|
+
}
|
|
995
|
+
if ("value" in descriptor) {
|
|
996
|
+
return { ...descriptor, value: redactedValue };
|
|
997
|
+
}
|
|
998
|
+
return {
|
|
999
|
+
configurable: descriptor.configurable,
|
|
1000
|
+
enumerable: descriptor.enumerable,
|
|
1001
|
+
value: redactedValue,
|
|
1002
|
+
writable: true
|
|
1003
|
+
};
|
|
1004
|
+
}
|
|
1005
|
+
__name(getRedactedPropertyDescriptor, "getRedactedPropertyDescriptor");
|
|
1006
|
+
function defineMissingRedactedValue(target, copiedKeys, key, value) {
|
|
1007
|
+
if (value === void 0 || copiedKeys.has(key)) {
|
|
1008
|
+
return;
|
|
1009
|
+
}
|
|
1010
|
+
try {
|
|
1011
|
+
Object.defineProperty(target, key, {
|
|
1012
|
+
configurable: true,
|
|
1013
|
+
enumerable: false,
|
|
1014
|
+
value,
|
|
1015
|
+
writable: true
|
|
1016
|
+
});
|
|
1017
|
+
} catch {
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
__name(defineMissingRedactedValue, "defineMissingRedactedValue");
|
|
1021
|
+
function recordProxyFailure(hostname) {
|
|
1022
|
+
const failureCount = (proxyFailureCounts.get(hostname) ?? 0) + 1;
|
|
1023
|
+
proxyFailureCounts.set(hostname, failureCount);
|
|
1024
|
+
return failureCount;
|
|
1025
|
+
}
|
|
1026
|
+
__name(recordProxyFailure, "recordProxyFailure");
|
|
1027
|
+
function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
|
|
1028
|
+
const insecure = isTlsVerificationDisabled();
|
|
1029
|
+
const { Agent, fetch: undiciFetch } = requireUndici();
|
|
1030
|
+
if (!proxyUrl) {
|
|
1031
|
+
const NO_PROXY_KEY = insecure ? "__no_proxy__#insecure" : "__no_proxy__";
|
|
1032
|
+
let dispatcher = dispatcherCache.get(NO_PROXY_KEY);
|
|
1033
|
+
if (!dispatcher) {
|
|
1034
|
+
dispatcher = new Agent({
|
|
1035
|
+
headersTimeout: 0,
|
|
1036
|
+
bodyTimeout: 0,
|
|
1037
|
+
keepAliveTimeout: 6e4,
|
|
1038
|
+
// For a direct (non-proxy) Agent, `connect` options flow straight to
|
|
1039
|
+
// the TLS connector, so this disables upstream cert verification.
|
|
1040
|
+
...insecure ? { connect: { rejectUnauthorized: false } } : {}
|
|
1041
|
+
});
|
|
1042
|
+
dispatcherCache.set(NO_PROXY_KEY, dispatcher);
|
|
1043
|
+
}
|
|
1044
|
+
return { fetchOptions: { dispatcher }, fetch: undiciFetch };
|
|
1045
|
+
}
|
|
1046
|
+
try {
|
|
1047
|
+
const dispatcher = getOrCreateSharedDispatcher(proxyUrl, insecure);
|
|
1048
|
+
return { fetchOptions: { dispatcher }, fetch: undiciFetch };
|
|
1049
|
+
} catch (error) {
|
|
1050
|
+
const hostname = extractHostnameFromProxyUrl(proxyUrl);
|
|
1051
|
+
const failureCount = recordProxyFailure(hostname);
|
|
1052
|
+
const failureLabel = failureCount === 1 ? "first failure" : `failure #${failureCount}`;
|
|
1053
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1054
|
+
const redactedMessage = redactProxyCredentials(errorMessage);
|
|
1055
|
+
const logMessage = `Failed to create proxy dispatcher for ${hostname} (${failureLabel}), falling back to direct connection: ${redactedMessage}`;
|
|
1056
|
+
debugLogger.warn(logMessage);
|
|
1057
|
+
console.error(`[RUNTIME_FETCH] ${logMessage}`);
|
|
1058
|
+
return NO_DISPATCHER_FALLBACK[sdkType];
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
__name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
|
|
1062
|
+
|
|
662
1063
|
// packages/core/src/utils/tool-name-utils.ts
|
|
663
1064
|
init_esbuild_shims();
|
|
664
1065
|
var MAX_TOOL_NAME_LENGTH = 63;
|
|
@@ -1426,7 +1827,7 @@ function atEndOfBlockComment(text, i) {
|
|
|
1426
1827
|
__name(atEndOfBlockComment, "atEndOfBlockComment");
|
|
1427
1828
|
|
|
1428
1829
|
// packages/core/src/utils/safeJsonParse.ts
|
|
1429
|
-
var
|
|
1830
|
+
var debugLogger2 = createDebugLogger("JSON_PARSE");
|
|
1430
1831
|
function safeJsonParse(jsonString, fallbackValue = {}) {
|
|
1431
1832
|
if (!jsonString || typeof jsonString !== "string") {
|
|
1432
1833
|
return fallbackValue;
|
|
@@ -1438,7 +1839,7 @@ function safeJsonParse(jsonString, fallbackValue = {}) {
|
|
|
1438
1839
|
const repairedJson = jsonrepair(jsonString);
|
|
1439
1840
|
return JSON.parse(repairedJson);
|
|
1440
1841
|
} catch (repairError) {
|
|
1441
|
-
|
|
1842
|
+
debugLogger2.error("Failed to parse JSON even with jsonrepair:", {
|
|
1442
1843
|
originalError: error,
|
|
1443
1844
|
repairError,
|
|
1444
1845
|
jsonString
|
|
@@ -1514,6 +1915,45 @@ function toOpenAPI30(schema) {
|
|
|
1514
1915
|
return convert(schema);
|
|
1515
1916
|
}
|
|
1516
1917
|
__name(toOpenAPI30, "toOpenAPI30");
|
|
1918
|
+
function relaxSchemaForFunctionCalling(schema) {
|
|
1919
|
+
const relax = /* @__PURE__ */ __name((obj) => {
|
|
1920
|
+
if (typeof obj !== "object" || obj === null) {
|
|
1921
|
+
return obj;
|
|
1922
|
+
}
|
|
1923
|
+
if (Array.isArray(obj)) {
|
|
1924
|
+
return obj.map(relax);
|
|
1925
|
+
}
|
|
1926
|
+
const source = obj;
|
|
1927
|
+
const target = {};
|
|
1928
|
+
const properties = source["properties"];
|
|
1929
|
+
const required = Array.isArray(source["required"]) ? source["required"].filter(
|
|
1930
|
+
(r) => typeof r === "string"
|
|
1931
|
+
) : [];
|
|
1932
|
+
const hasOptionalProperties = typeof properties === "object" && properties !== null && !Array.isArray(properties) && Object.keys(properties).some((key) => !required.includes(key));
|
|
1933
|
+
for (const [key, value] of Object.entries(source)) {
|
|
1934
|
+
if (key === "$schema" || key === "$id") {
|
|
1935
|
+
continue;
|
|
1936
|
+
}
|
|
1937
|
+
if (key === "additionalProperties" && value === false && hasOptionalProperties) {
|
|
1938
|
+
continue;
|
|
1939
|
+
}
|
|
1940
|
+
if ((key === "properties" || key === "$defs" || key === "definitions") && typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
1941
|
+
const map = {};
|
|
1942
|
+
for (const [mapKey, mapValue] of Object.entries(
|
|
1943
|
+
value
|
|
1944
|
+
)) {
|
|
1945
|
+
map[mapKey] = relax(mapValue);
|
|
1946
|
+
}
|
|
1947
|
+
target[key] = map;
|
|
1948
|
+
continue;
|
|
1949
|
+
}
|
|
1950
|
+
target[key] = relax(value);
|
|
1951
|
+
}
|
|
1952
|
+
return target;
|
|
1953
|
+
}, "relax");
|
|
1954
|
+
return relax(schema);
|
|
1955
|
+
}
|
|
1956
|
+
__name(relaxSchemaForFunctionCalling, "relaxSchemaForFunctionCalling");
|
|
1517
1957
|
|
|
1518
1958
|
export {
|
|
1519
1959
|
DEFAULT_TOKEN_LIMIT,
|
|
@@ -1530,7 +1970,9 @@ export {
|
|
|
1530
1970
|
tokenLimit,
|
|
1531
1971
|
defaultOutputCeiling,
|
|
1532
1972
|
reconcileMaxTokens,
|
|
1973
|
+
TOKEN_ESTIMATE_UNITS_PER_TOKEN,
|
|
1533
1974
|
estimateTextTokens,
|
|
1975
|
+
estimateTextTokenUnits,
|
|
1534
1976
|
TextTokenizer,
|
|
1535
1977
|
normalizeToolNameForProvider,
|
|
1536
1978
|
sanitizeToolNameForProvider,
|
|
@@ -1538,13 +1980,22 @@ export {
|
|
|
1538
1980
|
generateLegacyMcpToolName,
|
|
1539
1981
|
safeJsonParse,
|
|
1540
1982
|
convertSchema,
|
|
1983
|
+
relaxSchemaForFunctionCalling,
|
|
1541
1984
|
setToolCallPreparations,
|
|
1542
1985
|
getToolCallPreparations,
|
|
1543
1986
|
isRuntimeDiagnosticsEnabled,
|
|
1544
1987
|
RuntimeDiagnosticsCollector,
|
|
1545
1988
|
runtimeDiagnostics,
|
|
1546
1989
|
summarizeOpenAIWireRequest,
|
|
1547
|
-
summarizeAnthropicWireRequest
|
|
1990
|
+
summarizeAnthropicWireRequest,
|
|
1991
|
+
loadUndici,
|
|
1992
|
+
preloadRuntimeFetchModule,
|
|
1993
|
+
isTlsVerificationDisabled,
|
|
1994
|
+
detectRuntime,
|
|
1995
|
+
buildRuntimeFetchOptions,
|
|
1996
|
+
getOrCreateSharedDispatcher,
|
|
1997
|
+
redactProxyCredentials,
|
|
1998
|
+
redactProxyError
|
|
1548
1999
|
};
|
|
1549
2000
|
/**
|
|
1550
2001
|
* @license
|
|
@@ -1561,3 +2012,8 @@ export {
|
|
|
1561
2012
|
* Copyright 2026 Qwen
|
|
1562
2013
|
* SPDX-License-Identifier: Apache-2.0
|
|
1563
2014
|
*/
|
|
2015
|
+
/**
|
|
2016
|
+
* @license
|
|
2017
|
+
* Copyright 2025 Qwen Team
|
|
2018
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
2019
|
+
*/
|