@qwen-code/qwen-code 0.20.0 → 0.20.1-nightly.20260724.7d17c44a3
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 +7 -5
- package/chunks/MaxSizedBox-LGRTXB47.js +84 -0
- package/chunks/{StandaloneSessionPicker-CEGO2AZX.js → StandaloneSessionPicker-H3TBU3C3.js} +68 -56
- package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
- package/chunks/{acpAgent-YUR43TLG.js → acpAgent-5D7P4BB5.js} +2061 -556
- package/chunks/agent-W7UAHCCI.js +80 -0
- package/chunks/agent-headless-KTBMPRSC.js +74 -0
- package/chunks/{anthropicContentGenerator-HVKLXOOU.js → anthropicContentGenerator-ZLQ3X2HI.js} +112 -45
- package/chunks/{artifact-tool-WBCAMD3O.js → artifact-tool-OKMWONT6.js} +3 -3
- package/chunks/{askUserQuestion-6DZC4UV5.js → askUserQuestion-V6FUS23G.js} +3 -3
- package/chunks/bridge-FFC4C6VD.js +89 -0
- package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
- package/chunks/{ca-2SL2BXTK.js → ca-GKRQZ7AM.js} +612 -201
- package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-MA3WXWYX.js} +7 -6
- package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-TIYYYBCT.js} +189 -29
- package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-CXRCDA4Y.js} +6 -5
- package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
- package/chunks/{chunk-4EP2PYYL.js → chunk-2G6QIHYL.js} +5 -5
- package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
- package/chunks/chunk-2RFKHEXL.js +74 -0
- package/chunks/{chunk-7SXZC7ID.js → chunk-2WTVWAKT.js} +7 -6
- package/chunks/{chunk-TIH2ZTOC.js → chunk-32A4PI3E.js} +2 -2
- package/chunks/chunk-36HSVBBU.js +469 -0
- package/chunks/{chunk-IR46U7RB.js → chunk-3FB2Y2OE.js} +3 -3
- package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
- package/chunks/chunk-3Z43GZUQ.js +32 -0
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/chunk-46UV252V.js +128 -0
- 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-OWCALFEG.js → chunk-54R2CV2G.js} +1 -1
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/chunk-5BS3KLRP.js +6194 -0
- package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
- package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
- package/chunks/chunk-6PVPNMXU.js +29 -0
- package/chunks/chunk-6QHAUJUE.js +293 -0
- package/chunks/chunk-6VK3IRTX.js +10017 -0
- package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-FSL5W5TI.js → chunk-AFFGGOF6.js} +4 -4
- package/chunks/chunk-AMDSOFFV.js +10860 -0
- package/chunks/chunk-AXUW635Q.js +934 -0
- package/chunks/{chunk-A5LYNIW7.js → chunk-BJBUDCM3.js} +8 -8
- package/chunks/chunk-BK2UNYWD.js +29 -0
- package/chunks/{chunk-6RLROE6G.js → chunk-BLFVGB7D.js} +30 -4
- package/chunks/chunk-BPJSQIJX.js +100 -0
- package/chunks/{chunk-FLSVD6BS.js → chunk-BRTR7S7O.js} +3 -3
- package/chunks/{chunk-KG3XV6FH.js → chunk-BSNWBC33.js} +32 -2
- package/chunks/chunk-BULDBTYC.js +153 -0
- package/chunks/{chunk-PBWEWI4N.js → chunk-BW5Z5NOG.js} +83 -74
- package/chunks/{chunk-EIAK6Q2B.js → chunk-C3VHAXP2.js} +20 -3
- package/chunks/{chunk-6AFUCL3D.js → chunk-CEZB3XFD.js} +1 -1
- package/chunks/chunk-CHMENNJV.js +1832 -0
- package/chunks/{chunk-TMQ6XQCX.js → chunk-CK3IEEHR.js} +416 -291
- package/chunks/{chunk-OYZWQNWG.js → chunk-CK6UABV2.js} +2 -2
- package/chunks/{chunk-VZQUV7VK.js → chunk-CKTMY3EP.js} +1 -1
- package/chunks/{chunk-VDWBQ5AW.js → chunk-CUPAVLRY.js} +5 -2
- package/chunks/{chunk-I2PYAYFM.js → chunk-CXUFILV3.js} +3 -3
- package/chunks/chunk-DP3IHZGG.js +1498 -0
- package/chunks/{chunk-BMWMT5Y2.js → chunk-DP5GT2MW.js} +7 -375
- package/chunks/{chunk-D22SX43D.js → chunk-DWNZ6PVQ.js} +1 -1
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-DP5GXXNZ.js → chunk-EL2IQ2S5.js} +5 -1
- package/chunks/{chunk-EZVDJFZ7.js → chunk-ERLGR7GI.js} +1 -1
- package/chunks/{chunk-IVPSS6EL.js → chunk-F5MBYZSU.js} +4 -4
- package/chunks/{chunk-AQIEINAY.js → chunk-F6IYL66A.js} +28 -1766
- package/chunks/{chunk-FEOZBUMT.js → chunk-FODK6UMO.js} +0 -27
- package/chunks/{chunk-PGEPSDJI.js → chunk-FWNZ7CVN.js} +24 -20
- package/chunks/{chunk-5JBR5XIK.js → chunk-G7EFBBVF.js} +220 -141
- package/chunks/chunk-GLNBDYUX.js +38 -0
- package/chunks/{chunk-ANPINBOF.js → chunk-H4YKEV2X.js} +5 -5
- package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
- package/chunks/{chunk-FQD7GFSV.js → chunk-HJJDKFL5.js} +3 -3
- package/chunks/{chunk-4N3KMAIL.js → chunk-HPWHDJID.js} +152 -35
- package/chunks/{chunk-KQNM4EO7.js → chunk-HQCSRJ3P.js} +138 -6
- package/chunks/chunk-HTR4WV6U.js +327 -0
- package/chunks/{chunk-YWEW33JY.js → chunk-HVO55LUD.js} +7 -7
- package/chunks/{chunk-MJ6S23WZ.js → chunk-HZEWYOVI.js} +5 -5
- package/chunks/chunk-IFG6TYJ2.js +16577 -0
- package/chunks/{chunk-B3KGZCQN.js → chunk-IJTOWOD7.js} +322 -202
- package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
- package/chunks/{chunk-4ILMYHEI.js → chunk-IRDZJSCL.js} +3 -3
- package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
- package/chunks/{chunk-33XUAINQ.js → chunk-J5UKQEFG.js} +69 -9
- package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
- package/chunks/{chunk-S2XVRHDN.js → chunk-JDFBBGRD.js} +1 -1
- package/chunks/{chunk-4XNLIGVA.js → chunk-JKCALGYN.js} +1023 -383
- package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
- package/chunks/{chunk-VEXFOTEO.js → chunk-JYUSL2V4.js} +3 -3
- package/chunks/{chunk-S2PD3EZD.js → chunk-KJEMJWNH.js} +1 -1
- package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
- package/chunks/{chunk-CZF3E5GF.js → chunk-LA5H3LM5.js} +1 -1
- package/chunks/{chunk-NDMQLV4Y.js → chunk-LBAO2XRA.js} +4 -4
- package/chunks/{chunk-7RMOXZTC.js → chunk-LDPP5VTZ.js} +4 -4
- package/chunks/{chunk-KDC6GNQR.js → chunk-LEEWLFHW.js} +4 -4
- package/chunks/{chunk-KX6UK4VJ.js → chunk-LI4I37W4.js} +22152 -18007
- package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
- package/chunks/{chunk-AJSJ5TTU.js → chunk-LP2E4MQG.js} +1 -1
- package/chunks/chunk-LS77BEZP.js +405 -0
- package/chunks/{chunk-BRRF37CO.js → chunk-LYTBLSSW.js} +5 -5
- package/chunks/{chunk-DBE4QFZS.js → chunk-MB7ENXPR.js} +39 -37
- package/chunks/{chunk-GKY2OJ7R.js → chunk-MOHAWVLH.js} +4 -4
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/chunk-NBQDBANR.js +411 -0
- package/chunks/{chunk-EAUYY7SS.js → chunk-NOAAFNTJ.js} +43 -10
- package/chunks/chunk-NXS53EA7.js +1462 -0
- package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
- package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
- package/chunks/{chunk-OP4MOGXF.js → chunk-P5RRUHL7.js} +23 -1
- package/chunks/{chunk-KOR3XKCA.js → chunk-PBII2NFX.js} +12 -6
- package/chunks/{chunk-O3OCNYY5.js → chunk-PDYB7HG2.js} +2 -2
- package/chunks/{chunk-2HOVDT7W.js → chunk-PFSUKTZH.js} +1 -1
- package/chunks/chunk-PKL3HGNZ.js +2299 -0
- package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
- package/chunks/{chunk-OLMETXLX.js → chunk-PXHK5ONM.js} +41 -9
- package/chunks/{chunk-PF4CHQOJ.js → chunk-Q6GU6TKM.js} +11 -10
- package/chunks/{chunk-4ODB7WIB.js → chunk-QAFKR7WR.js} +1 -1
- package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.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-333CXMNJ.js → chunk-QXZTZJLX.js} +5 -5
- package/chunks/chunk-R6D2CTQR.js +289 -0
- package/chunks/{chunk-7PZ2ATFZ.js → chunk-R6SKHK3T.js} +54 -29
- package/chunks/{chunk-OONJNQ42.js → chunk-RGG6M2WF.js} +4 -4
- package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
- package/chunks/{chunk-O3Z73NBP.js → chunk-RW2NEXYJ.js} +15 -11
- package/chunks/{chunk-HZPN55E5.js → chunk-SJEDL7DI.js} +1 -1
- package/chunks/{chunk-AKX4WPPP.js → chunk-SWBJRDYC.js} +866 -183
- package/chunks/{chunk-NBMIC7DR.js → chunk-SX4PK3FC.js} +145 -5
- package/chunks/chunk-T3452DP5.js +246 -0
- package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
- package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
- package/chunks/chunk-U7ZFW55U.js +2098 -0
- package/chunks/{chunk-JNWZQ27S.js → chunk-UCOJC6EB.js} +72 -23
- package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
- package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
- package/chunks/{chunk-2LL7TXB4.js → chunk-UH7242DI.js} +3 -3
- package/chunks/{chunk-CB2HFGRV.js → chunk-UJV643E2.js} +31 -6
- package/chunks/chunk-UO7DCGEV.js +121 -0
- package/chunks/{chunk-Y2ENGUD6.js → chunk-UPF7PTBI.js} +79 -2
- package/chunks/chunk-UW5EOVUN.js +249 -0
- package/chunks/{chunk-SJMV7ZBK.js → chunk-VLVO52KC.js} +8 -8
- package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
- package/chunks/{chunk-S2W2LVDU.js → chunk-WHFK6G6U.js} +8 -9
- package/chunks/chunk-WI3KCKZ5.js +391 -0
- package/chunks/{chunk-NGFEPAE6.js → chunk-WLEFWSSC.js} +8 -6
- package/chunks/{chunk-XVVH63JG.js → chunk-WUJXJ34P.js} +3 -3
- package/chunks/{chunk-MAQQGNQ5.js → chunk-WYLPWQHJ.js} +56 -717
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/chunk-XAWJ2526.js +1049 -0
- package/chunks/{chunk-CV63PP6U.js → chunk-YCIM6O3I.js} +1 -1
- package/chunks/{chunk-OEO2ERWK.js → chunk-Z44CVEUF.js} +54 -33
- package/chunks/{chunk-TKLLK6XQ.js → chunk-ZT4POVWC.js} +11 -11
- package/chunks/{chunk-NIJEXGV6.js → chunk-ZXYUQXY5.js} +148 -10
- package/chunks/{computer-use-NIWQNUZF.js → computer-use-UJ5T34TE.js} +50 -37
- package/chunks/{config-utils-AHQ6YZ66.js → config-utils-XQRXHAN3.js} +3 -3
- package/chunks/contextCommand-CSCB4E5M.js +79 -0
- package/chunks/{create-sub-session-MGNX52P3.js → create-sub-session-55F3GOLK.js} +46 -33
- package/chunks/{create-sub-session-P26FE5GG.js → create-sub-session-JPCSYZAJ.js} +3 -3
- package/chunks/{cron-create-JWFHBDRQ.js → cron-create-CUMELMPL.js} +6 -6
- package/chunks/{cron-delete-GDX4E26G.js → cron-delete-QZFV6U3P.js} +5 -5
- package/chunks/{cron-list-USMAIWPT.js → cron-list-IDKO7ZO2.js} +5 -5
- package/chunks/{daemon-RG2MAI6T.js → daemon-7LP7R6IU.js} +500 -133
- package/chunks/daemon-status-provider-6YNZ3UAE.js +88 -0
- package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
- package/chunks/{dist-WGTQO7F2.js → dist-376652EZ.js} +114 -28
- package/chunks/{dist-53PZYC5B.js → dist-3YCTE6HD.js} +2 -2
- package/chunks/{dist-2BHAYBKP.js → dist-D7Z3HOO7.js} +14 -2
- package/chunks/{dist-FUTEXY6A.js → dist-MEGJFGAI.js} +40 -9
- package/chunks/{dist-2MIU4UUH.js → dist-NQ436QEX.js} +1 -1
- package/chunks/{dist-AU7NQQRP.js → dist-NQNTOIEN.js} +26 -2
- package/chunks/earlyInputCapture-HPUVJ2KH.js +81 -0
- package/chunks/{edit-3QV3JZJL.js → edit-7CMAN3F4.js} +50 -39
- package/chunks/{en-XE34GKAA.js → en-SALLIJS7.js} +6 -1
- package/chunks/{enter-worktree-4GMMF7EG.js → enter-worktree-3PH4YTY2.js} +49 -36
- package/chunks/{enterPlanMode-L5UWBAUC.js → enterPlanMode-MSXLSWLI.js} +55 -37
- package/chunks/{environment-3OV7UQOT.js → environment-KS36ZHBE.js} +48 -35
- package/chunks/errors-LCPFS62A.js +87 -0
- package/chunks/{exit-worktree-DDP57JLV.js → exit-worktree-ARA4C3CK.js} +49 -36
- package/chunks/{exitPlanMode-CJBLGPIP.js → exitPlanMode-GCDIQPB7.js} +49 -36
- package/chunks/{fast-path-M6RP2ING.js → fast-path-IDHBVIT6.js} +3 -2
- package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
- package/chunks/{gemini-H4PHBJTL.js → gemini-2AFQJMX5.js} +141 -105
- package/chunks/{geminiContentGenerator-VURJYPWP.js → geminiContentGenerator-UDIH3YI6.js} +9 -8
- 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-2KUSRAVQ.js → glob-HCL7HZ67.js} +49 -36
- package/chunks/{grep-B5RXVESV.js → grep-CJLBSCTV.js} +49 -36
- package/chunks/handleAutoUpdate-Q572P3FL.js +80 -0
- package/chunks/i18n-OBB4R7SR.js +96 -0
- package/chunks/initializer-LXEY6V3C.js +85 -0
- package/chunks/installationInfo-XUAOVMEE.js +79 -0
- 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/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
- package/chunks/list-WAXY7QOU.js +88 -0
- package/chunks/list-agents-AH3P5NB7.js +80 -0
- package/chunks/loadedSettingsAdapter-OZFNBRHE.js +82 -0
- package/chunks/loggingContentGenerator-7WDTTE6G.js +1068 -0
- package/chunks/{loop-wakeup-5GLTUBHA.js → loop-wakeup-IHRW6TNB.js} +7 -7
- package/chunks/{ls-FHBY3Y7I.js → ls-ZAXZ2G2W.js} +5 -5
- package/chunks/{lsp-B6VMEW6Y.js → lsp-R4ZG3UGQ.js} +3 -3
- package/chunks/managed-npm-update-N42DO5QW.js +339 -0
- package/chunks/mcp-6SOORKTY.js +82 -0
- package/chunks/{monitor-GLJZDNPS.js → monitor-4PSVNVU4.js} +51 -37
- package/chunks/node-UUDY34IG.js +305 -0
- package/chunks/nonInteractiveCli-FBR5S7IZ.js +140 -0
- package/chunks/{notebook-edit-AVCIWS4F.js → notebook-edit-QK26632S.js} +50 -39
- package/chunks/{openaiContentGenerator-B7W24G3D.js → openaiContentGenerator-IXJS6C2U.js} +33 -20
- package/chunks/pidfile-UCFCJOAP.js +85 -0
- package/chunks/{processUtils-XZPY2PBB.js → processUtils-YL2LXON2.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-6GUTWJIC.js → qwenContentGenerator-H6WZPJKC.js} +56 -36
- package/chunks/{qwenOAuth2-GASEEWGU.js → qwenOAuth2-HTROHKXO.js} +10 -23
- package/chunks/read-file-FOYTMUNL.js +31 -0
- package/chunks/{read-mcp-resource-AKCL7I43.js → read-mcp-resource-65BWNF3F.js} +3 -3
- package/chunks/{record-artifact-PEUB7727.js → record-artifact-2RLSOP6U.js} +3 -3
- package/chunks/resumeHistoryUtils-ZNHTWBXS.js +90 -0
- package/chunks/ripGrep-K4K4QLNJ.js +72 -0
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-OZGR3FQA.js → run-qwen-serve-XI4MCAFV.js} +343 -88
- package/chunks/runtime-4CTBU5WX.js +115 -0
- package/chunks/{scheduler-Z7QLMUWA.js → scheduler-TTEITHBF.js} +46 -33
- package/chunks/sdk-exporters-grpc-N3OLDF63.js +23214 -0
- package/chunks/sdk-exporters-http-AOHAEOMC.js +563 -0
- package/chunks/sdk-impl-TLQOC7P4.js +9193 -0
- package/chunks/{send-message-3RHE7HSM.js → send-message-GEY4CNPS.js} +47 -8
- package/chunks/serve-W7UKJTQT.js +88 -0
- package/chunks/{server-SO64U3X5.js → server-JD5PIE7A.js} +3069 -517
- package/chunks/{session-2KL2WQAH.js → session-R4BDHLYR.js} +112 -177
- package/chunks/{settings-KITVOUSV.js → settings-BXZHA6TZ.js} +50 -37
- package/chunks/shell-XYMFCGN5.js +82 -0
- package/chunks/{skill-SOQHY455.js → skill-YKXYEPOF.js} +25 -20
- package/chunks/spawnChannel-IO4HQLFS.js +81 -0
- package/chunks/{src-43LM7JLB.js → src-LKKTJ4NG.js} +382 -235
- package/chunks/standalone-update-76JG7DVN.js +91 -0
- package/chunks/{startInteractiveUI-3RGTGEX5.js → startInteractiveUI-BXWQUXAS.js} +1314 -958
- package/chunks/{syntheticOutput-FG5PQKIR.js → syntheticOutput-2WNMXEU5.js} +4 -4
- package/chunks/task-create-R5H74Y76.js +25 -0
- package/chunks/{task-list-QWSY4ZIU.js → task-list-WXAFDSRY.js} +7 -7
- package/chunks/{task-stop-GWC6UWAL.js → task-stop-CHFZP23W.js} +4 -4
- package/chunks/{task-update-NCTAB73Q.js → task-update-Z44A4GAR.js} +11 -9
- package/chunks/{team-create-FXN3PEBP.js → team-create-5Y3MCAIM.js} +49 -36
- package/chunks/{team-delete-KK37HTOG.js → team-delete-YDCMRSI4.js} +7 -7
- package/chunks/{team-plan-approval-GEIZ356Q.js → team-plan-approval-HYJJZ76T.js} +49 -36
- package/chunks/theme-manager-3YF2SUZL.js +76 -0
- package/chunks/{todoWrite-ERCAMLFS.js → todoWrite-ED2IVZJL.js} +5 -5
- package/chunks/{tool-search-XKK7DNOK.js → tool-search-3ZO2XMEP.js} +21 -17
- package/chunks/total-session-admission-NDF7EVG7.js +83 -0
- package/chunks/trustedFolders-Q7RALK4T.js +92 -0
- package/chunks/{chunk-6EFTQYW7.js → undici-3FJYTMOF.js} +24 -399
- package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
- package/chunks/{update-relaunch-FMVZK6XF.js → update-relaunch-BTW5XGVT.js} +17 -17
- package/chunks/updateCheck-MXIU6DWQ.js +91 -0
- package/chunks/useAutoAcceptIndicator-BJXHJW77.js +92 -0
- package/chunks/{validateNonInterActiveAuth-PRVEB6GG.js → validateNonInterActiveAuth-FLEPF3QQ.js} +90 -76
- package/chunks/{version-AZMG6KWL.js → version-75VRONIL.js} +1 -1
- package/chunks/{web-fetch-EPGJ5OQQ.js → web-fetch-5X27LYHB.js} +101 -41
- package/chunks/web-search-IDMTBJUP.js +718 -0
- package/chunks/{workflow-UTNVPW22.js → workflow-JOD2OPFQ.js} +54 -40
- package/chunks/workspace-providers-status-WDLBDLPG.js +85 -0
- package/chunks/{workspace-registration-store-F3ZX3YHT.js → workspace-registration-store-26Z6J6P5.js} +9 -3
- package/chunks/workspace-registry-IABDATX3.js +87 -0
- package/chunks/workspace-service-BI4KDYPD.js +97 -0
- package/chunks/workspace-skills-status-OVB4LPHA.js +84 -0
- package/chunks/write-file-276AJ7KE.js +72 -0
- package/chunks/{zh-6ANG2HTL.js → zh-Q54GA5SV.js} +6 -1
- package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-VOBNFOPU.js} +6 -1
- package/cli-entry.js +164 -12
- package/cli.js +19 -12
- package/locales/ca.js +773 -203
- package/locales/de.js +8 -2
- package/locales/en.js +9 -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 +9 -2
- package/locales/zh.js +9 -2
- package/package.json +3 -3
- package/web-shell/assets/{arc-Buk1besA.js → arc-CMb7lr2P.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-D6KQ5Kwm.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-Ce7YYSf8.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-DaStHfor.js} +1 -1
- package/web-shell/assets/channel-Dg4f-Kry.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-CPaqadg9.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-Veh9ZGKg.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-BPTX5n4q.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-CtXsE_ca.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-D8DDCJ8h.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-cjMDGzHz.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-BaZ1hNhV.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-C7w-9w5-.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CT7Fo2aW.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CT7Fo2aW.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-DqvBEEIe.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-RkPyoMAk.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-D9b6nNyg.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-CiiNKUIy.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-CP1qizXd.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-BGe30TWx.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-CvoEPARH.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-DWfLzVkV.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-D-dTQmo6.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-CYPHKaGY.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-DA7_aQYD.js} +1 -1
- package/web-shell/assets/index-B0i-TOYM.css +5 -0
- package/web-shell/assets/index-CgCHD46L.js +1225 -0
- package/web-shell/assets/{index-wFXp7W68.js → index-DqHNAB8C.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-B87ljDPa.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-CYSpyjaN.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-DAL6Js6f.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-_zufKGJv.js} +1 -1
- package/web-shell/assets/{linear-0ZVQFVKf.js → linear-DidhMgku.js} +1 -1
- package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-DAkX3h3a.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-DbZxUBEH.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-Du9uoqrf.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-DwjELuKm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-BAqfVtBL.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP--hm2VpmK.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-R5MUQaIt.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-VsX032xQ.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-uPWLcSfy.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-BqjVRXzg.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-i2tkvlkg.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-Ch8G49EM.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-bYpWeQNy.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-C9NhuBqB.js} +1 -1
- package/web-shell/index.html +17 -13
- package/chunks/MaxSizedBox-B5YGZSYE.js +0 -72
- package/chunks/agent-H4JIDL7S.js +0 -67
- package/chunks/agent-headless-TTBEREQV.js +0 -61
- package/chunks/bridge-VL7ITBU5.js +0 -75
- package/chunks/chunk-542SK7KV.js +0 -8293
- package/chunks/chunk-CPCVCKKF.js +0 -358
- package/chunks/chunk-SEKHYHMS.js +0 -45
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/chunk-ZFKNWQGQ.js +0 -74639
- package/chunks/contextCommand-L2COEUHS.js +0 -66
- package/chunks/daemon-status-provider-NL4IAG7B.js +0 -74
- package/chunks/earlyInputCapture-L6I2A22T.js +0 -68
- package/chunks/errors-LEOF5QG4.js +0 -74
- package/chunks/handleAutoUpdate-QQVIWXKT.js +0 -67
- package/chunks/i18n-N6OBDORT.js +0 -83
- package/chunks/initializer-6WCFNDLL.js +0 -72
- package/chunks/installationInfo-6J3WPXNS.js +0 -64
- package/chunks/list-HOWQSWP6.js +0 -75
- package/chunks/loadedSettingsAdapter-AO4YBRXZ.js +0 -69
- package/chunks/mcp-QH7QNXOH.js +0 -69
- package/chunks/nonInteractiveCli-TI7EMPXD.js +0 -126
- package/chunks/pidfile-UEHAT6DH.js +0 -72
- package/chunks/read-file-SQJONF6A.js +0 -29
- package/chunks/resumeHistoryUtils-PFQ2A23X.js +0 -78
- package/chunks/ripGrep-QCK22GDU.js +0 -59
- package/chunks/runtime-SNVAP6EH.js +0 -100
- package/chunks/serve-BT7KS6SC.js +0 -75
- package/chunks/shell-BITUVH2R.js +0 -69
- package/chunks/spawnChannel-2BU3AULL.js +0 -68
- package/chunks/standalone-update-YG5JUYCM.js +0 -78
- package/chunks/task-create-HX32YXO7.js +0 -23
- package/chunks/theme-manager-IAETOI25.js +0 -63
- package/chunks/total-session-admission-BJLDHKJN.js +0 -69
- package/chunks/trustedFolders-5XCVNEUU.js +0 -79
- package/chunks/updateCheck-YZZB7YBU.js +0 -70
- package/chunks/useAutoAcceptIndicator-ZSQX4I2H.js +0 -80
- package/chunks/workspace-providers-status-EADV364W.js +0 -72
- package/chunks/workspace-registry-W6VMFYZU.js +0 -73
- package/chunks/workspace-service-F3KIN2UN.js +0 -84
- package/chunks/workspace-skills-status-YVICUR5Y.js +0 -71
- package/chunks/write-file-CVGF2OKV.js +0 -596
- 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
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
delay
|
|
5
|
+
} from "./chunk-DP5GT2MW.js";
|
|
6
|
+
import {
|
|
7
|
+
isTlsVerificationDisabled
|
|
8
|
+
} from "./chunk-NBQDBANR.js";
|
|
9
|
+
import {
|
|
10
|
+
getErrorMessage
|
|
11
|
+
} from "./chunk-OQB4EXO4.js";
|
|
12
|
+
import {
|
|
13
|
+
init_esbuild_shims
|
|
14
|
+
} from "./chunk-5O2XNYP6.js";
|
|
15
|
+
import {
|
|
16
|
+
__name
|
|
17
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
18
|
+
|
|
19
|
+
// packages/core/src/utils/fetch.ts
|
|
20
|
+
init_esbuild_shims();
|
|
21
|
+
import { URL } from "node:url";
|
|
22
|
+
var PRIVATE_IP_RANGES = [
|
|
23
|
+
/^10\./,
|
|
24
|
+
/^127\./,
|
|
25
|
+
/^172\.(1[6-9]|2[0-9]|3[0-1])\./,
|
|
26
|
+
/^192\.168\./,
|
|
27
|
+
// IPv4 link-local (incl. cloud metadata endpoints) and CGNAT 100.64.0.0/10.
|
|
28
|
+
/^169\.254\./,
|
|
29
|
+
/^100\.(6[4-9]|[7-9][0-9]|1[01][0-9]|12[0-7])\./,
|
|
30
|
+
/^0\.0\.0\.0$/,
|
|
31
|
+
/^::1$/,
|
|
32
|
+
/^::$/,
|
|
33
|
+
// ULA fc00::/7 covers fc00: through fdff: (fd00: is the common prefix in
|
|
34
|
+
// practice); link-local fe80::/10 covers fe80: through febf:.
|
|
35
|
+
/^f[cd][0-9a-f]{2}:/i,
|
|
36
|
+
/^fe[89ab][0-9a-f]:/i
|
|
37
|
+
];
|
|
38
|
+
var TLS_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
39
|
+
"UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
|
|
40
|
+
"UNABLE_TO_VERIFY_LEAF_SIGNATURE",
|
|
41
|
+
"SELF_SIGNED_CERT_IN_CHAIN",
|
|
42
|
+
"DEPTH_ZERO_SELF_SIGNED_CERT",
|
|
43
|
+
"CERT_HAS_EXPIRED",
|
|
44
|
+
"ERR_TLS_CERT_ALTNAME_INVALID"
|
|
45
|
+
]);
|
|
46
|
+
var FETCH_TROUBLESHOOTING_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
47
|
+
...TLS_ERROR_CODES,
|
|
48
|
+
"ECONNRESET",
|
|
49
|
+
"ETIMEDOUT",
|
|
50
|
+
"ECONNREFUSED",
|
|
51
|
+
"ENOTFOUND",
|
|
52
|
+
"EAI_AGAIN",
|
|
53
|
+
"EHOSTUNREACH",
|
|
54
|
+
"ENETUNREACH"
|
|
55
|
+
]);
|
|
56
|
+
var FetchError = class extends Error {
|
|
57
|
+
constructor(message, code) {
|
|
58
|
+
super(message);
|
|
59
|
+
this.code = code;
|
|
60
|
+
this.name = "FetchError";
|
|
61
|
+
}
|
|
62
|
+
static {
|
|
63
|
+
__name(this, "FetchError");
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var CONNECTION_LEVEL_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
67
|
+
...TLS_ERROR_CODES,
|
|
68
|
+
"ECONNREFUSED",
|
|
69
|
+
"EPROTO",
|
|
70
|
+
"ERR_SSL_WRONG_VERSION_NUMBER",
|
|
71
|
+
// Servers that don't speak TLS on 443 often reset during the handshake
|
|
72
|
+
// rather than refusing the connection. Safe to include: the http fallback
|
|
73
|
+
// only ever fires for URLs the caller requested as http.
|
|
74
|
+
"ECONNRESET",
|
|
75
|
+
"UND_ERR_SOCKET",
|
|
76
|
+
// Filtered port 443 (silent drop): undici's own bounded connect timeout.
|
|
77
|
+
// Deliberately NOT the full-budget ETIMEDOUT — that can fire mid-body on
|
|
78
|
+
// a healthy https server, and a fallback there would double a worst-case
|
|
79
|
+
// 60s wait for an ambiguous gain.
|
|
80
|
+
"UND_ERR_CONNECT_TIMEOUT"
|
|
81
|
+
]);
|
|
82
|
+
function isConnectionLevelError(error) {
|
|
83
|
+
return error instanceof FetchError && error.code !== void 0 && CONNECTION_LEVEL_ERROR_CODES.has(error.code);
|
|
84
|
+
}
|
|
85
|
+
__name(isConnectionLevelError, "isConnectionLevelError");
|
|
86
|
+
function mappedIpv4(hostname) {
|
|
87
|
+
const match = /^::ffff:(.+)$/i.exec(hostname);
|
|
88
|
+
if (!match) return void 0;
|
|
89
|
+
const tail = match[1];
|
|
90
|
+
if (tail.includes(".")) return tail;
|
|
91
|
+
const groups = tail.split(":");
|
|
92
|
+
if (groups.length !== 2) return void 0;
|
|
93
|
+
const hi = Number.parseInt(groups[0], 16);
|
|
94
|
+
const lo = Number.parseInt(groups[1], 16);
|
|
95
|
+
if (Number.isNaN(hi) || Number.isNaN(lo)) return void 0;
|
|
96
|
+
return `${hi >> 8}.${hi & 255}.${lo >> 8}.${lo & 255}`;
|
|
97
|
+
}
|
|
98
|
+
__name(mappedIpv4, "mappedIpv4");
|
|
99
|
+
function isPrivateIp(url) {
|
|
100
|
+
try {
|
|
101
|
+
const hostname = new URL(url).hostname.replace(/^\[|\]$/g, "");
|
|
102
|
+
const target = mappedIpv4(hostname) ?? hostname;
|
|
103
|
+
return PRIVATE_IP_RANGES.some((range) => range.test(target));
|
|
104
|
+
} catch (_e) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
__name(isPrivateIp, "isPrivateIp");
|
|
109
|
+
var INTERNAL_HOST_SUFFIXES = [".local", ".internal", ".lan", ".home.arpa"];
|
|
110
|
+
function isPrivateHost(url) {
|
|
111
|
+
try {
|
|
112
|
+
const hostname = new URL(url).hostname.toLowerCase();
|
|
113
|
+
return hostname === "localhost" || hostname.endsWith(".localhost") || hostname === "host.docker.internal" || // Single-label hostnames (intranet, ci, printserver) are never public.
|
|
114
|
+
// IPv6 literals are bracketed and dot-free but CAN be public — they
|
|
115
|
+
// are classified by isPrivateIp below, not by this heuristic.
|
|
116
|
+
!hostname.includes(".") && !hostname.startsWith("[") || INTERNAL_HOST_SUFFIXES.some((suffix) => hostname.endsWith(suffix)) || isPrivateIp(url);
|
|
117
|
+
} catch {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
__name(isPrivateHost, "isPrivateHost");
|
|
122
|
+
var REDIRECT_STATUSES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
123
|
+
function isPermittedRedirect(originalUrl, redirectUrl) {
|
|
124
|
+
try {
|
|
125
|
+
const original = new URL(originalUrl);
|
|
126
|
+
const redirect = new URL(redirectUrl);
|
|
127
|
+
if (redirect.protocol !== original.protocol) return false;
|
|
128
|
+
if (redirect.port !== original.port) return false;
|
|
129
|
+
if (redirect.username || redirect.password) return false;
|
|
130
|
+
const stripWww = /* @__PURE__ */ __name((hostname) => hostname.replace(/^www\./, ""), "stripWww");
|
|
131
|
+
return stripWww(original.hostname) === stripWww(redirect.hostname);
|
|
132
|
+
} catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
__name(isPermittedRedirect, "isPermittedRedirect");
|
|
137
|
+
var RETRYABLE_STATUSES = /* @__PURE__ */ new Set([403, 429]);
|
|
138
|
+
var RETRYABLE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
139
|
+
"ECONNRESET",
|
|
140
|
+
"EAI_AGAIN",
|
|
141
|
+
"UND_ERR_SOCKET"
|
|
142
|
+
]);
|
|
143
|
+
var RETRY_DELAY_MS = 500;
|
|
144
|
+
async function fetchWithPolicy(url, options) {
|
|
145
|
+
const timeoutSignal = AbortSignal.timeout(options.timeoutMs);
|
|
146
|
+
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
147
|
+
const abortError = /* @__PURE__ */ __name(() => {
|
|
148
|
+
if (options.signal?.aborted) {
|
|
149
|
+
return options.signal.reason instanceof Error ? options.signal.reason : new FetchError("Request aborted", "ABORT_ERR");
|
|
150
|
+
}
|
|
151
|
+
if (timeoutSignal.aborted) {
|
|
152
|
+
return new FetchError(
|
|
153
|
+
`Request timed out after ${options.timeoutMs}ms`,
|
|
154
|
+
"ETIMEDOUT"
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
return void 0;
|
|
158
|
+
}, "abortError");
|
|
159
|
+
let first;
|
|
160
|
+
try {
|
|
161
|
+
first = await fetchPolicyAttempt(url, options, signal, timeoutSignal);
|
|
162
|
+
} catch (error) {
|
|
163
|
+
if (error instanceof FetchError && error.code !== void 0 && RETRYABLE_ERROR_CODES.has(error.code) && !signal.aborted) {
|
|
164
|
+
try {
|
|
165
|
+
await delay(RETRY_DELAY_MS, signal);
|
|
166
|
+
} catch {
|
|
167
|
+
throw abortError() ?? error;
|
|
168
|
+
}
|
|
169
|
+
return fetchPolicyAttempt(url, options, signal, timeoutSignal);
|
|
170
|
+
}
|
|
171
|
+
throw error;
|
|
172
|
+
}
|
|
173
|
+
if (first.kind === "response" && RETRYABLE_STATUSES.has(first.status) && !signal.aborted) {
|
|
174
|
+
try {
|
|
175
|
+
await delay(RETRY_DELAY_MS, signal);
|
|
176
|
+
return await fetchPolicyAttempt(url, options, signal, timeoutSignal);
|
|
177
|
+
} catch {
|
|
178
|
+
const aborted = abortError();
|
|
179
|
+
if (aborted) throw aborted;
|
|
180
|
+
return first;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return first;
|
|
184
|
+
}
|
|
185
|
+
__name(fetchWithPolicy, "fetchWithPolicy");
|
|
186
|
+
async function fetchPolicyAttempt(url, options, signal, timeoutSignal) {
|
|
187
|
+
const wrapAbort = /* @__PURE__ */ __name((error) => {
|
|
188
|
+
if (options.signal?.aborted) {
|
|
189
|
+
throw options.signal.reason instanceof Error ? options.signal.reason : new FetchError("Request aborted", "ABORT_ERR");
|
|
190
|
+
}
|
|
191
|
+
if (timeoutSignal.aborted) {
|
|
192
|
+
throw new FetchError(
|
|
193
|
+
`Request timed out after ${options.timeoutMs}ms`,
|
|
194
|
+
"ETIMEDOUT"
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
if (error instanceof FetchError) throw error;
|
|
198
|
+
const code = getErrorCode(error) ?? (error instanceof Error ? getErrorCode(error.cause) : void 0);
|
|
199
|
+
throw new FetchError(getErrorMessage(error), code);
|
|
200
|
+
}, "wrapAbort");
|
|
201
|
+
let currentUrl = url;
|
|
202
|
+
for (let hop = 0; hop <= options.maxRedirects; hop++) {
|
|
203
|
+
let response;
|
|
204
|
+
try {
|
|
205
|
+
response = await fetch(currentUrl, {
|
|
206
|
+
signal,
|
|
207
|
+
headers: options.headers,
|
|
208
|
+
redirect: "manual"
|
|
209
|
+
});
|
|
210
|
+
} catch (error) {
|
|
211
|
+
return wrapAbort(error);
|
|
212
|
+
}
|
|
213
|
+
if (REDIRECT_STATUSES.has(response.status)) {
|
|
214
|
+
const location = response.headers.get("location");
|
|
215
|
+
await response.body?.cancel().catch(() => {
|
|
216
|
+
});
|
|
217
|
+
if (!location) {
|
|
218
|
+
throw new FetchError("Redirect response missing Location header");
|
|
219
|
+
}
|
|
220
|
+
let redirectUrl;
|
|
221
|
+
try {
|
|
222
|
+
redirectUrl = new URL(location, currentUrl).toString();
|
|
223
|
+
} catch {
|
|
224
|
+
throw new FetchError(
|
|
225
|
+
`Redirect response has a malformed Location header: ${location}`
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
if (!isPermittedRedirect(currentUrl, redirectUrl)) {
|
|
229
|
+
return {
|
|
230
|
+
kind: "cross-host-redirect",
|
|
231
|
+
originalUrl: currentUrl,
|
|
232
|
+
redirectUrl,
|
|
233
|
+
status: response.status
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
currentUrl = redirectUrl;
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (response.status < 200 || response.status >= 300) {
|
|
240
|
+
await response.body?.cancel().catch(() => {
|
|
241
|
+
});
|
|
242
|
+
return {
|
|
243
|
+
kind: "response",
|
|
244
|
+
status: response.status,
|
|
245
|
+
statusText: response.statusText,
|
|
246
|
+
contentType: response.headers.get("content-type") ?? "",
|
|
247
|
+
contentDisposition: response.headers.get("content-disposition") ?? "",
|
|
248
|
+
body: Buffer.alloc(0),
|
|
249
|
+
finalUrl: currentUrl
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
const contentLength = Number(response.headers.get("content-length"));
|
|
253
|
+
if (Number.isFinite(contentLength) && contentLength > options.maxBytes) {
|
|
254
|
+
await response.body?.cancel().catch(() => {
|
|
255
|
+
});
|
|
256
|
+
throw new FetchError(
|
|
257
|
+
`Response too large: ${contentLength} bytes exceeds the ${options.maxBytes}-byte limit`,
|
|
258
|
+
"EMSGSIZE"
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
const chunks = [];
|
|
262
|
+
let total = 0;
|
|
263
|
+
if (response.body) {
|
|
264
|
+
const reader = response.body.getReader();
|
|
265
|
+
try {
|
|
266
|
+
for (; ; ) {
|
|
267
|
+
const { done, value } = await reader.read();
|
|
268
|
+
if (done) break;
|
|
269
|
+
total += value.byteLength;
|
|
270
|
+
if (total > options.maxBytes) {
|
|
271
|
+
throw new FetchError(
|
|
272
|
+
`Response too large: exceeded the ${options.maxBytes}-byte limit while streaming`,
|
|
273
|
+
"EMSGSIZE"
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
chunks.push(value);
|
|
277
|
+
}
|
|
278
|
+
} catch (error) {
|
|
279
|
+
await reader.cancel().catch(() => {
|
|
280
|
+
});
|
|
281
|
+
if (error instanceof FetchError) throw error;
|
|
282
|
+
return wrapAbort(error);
|
|
283
|
+
} finally {
|
|
284
|
+
reader.releaseLock();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return {
|
|
288
|
+
kind: "response",
|
|
289
|
+
status: response.status,
|
|
290
|
+
statusText: response.statusText,
|
|
291
|
+
contentType: response.headers.get("content-type") ?? "",
|
|
292
|
+
contentDisposition: response.headers.get("content-disposition") ?? "",
|
|
293
|
+
body: Buffer.concat(chunks, total),
|
|
294
|
+
finalUrl: currentUrl
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
throw new FetchError(
|
|
298
|
+
`Too many redirects (exceeded ${options.maxRedirects})`,
|
|
299
|
+
"EMAXREDIRECTS"
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
__name(fetchPolicyAttempt, "fetchPolicyAttempt");
|
|
303
|
+
function getErrorCode(error) {
|
|
304
|
+
if (!error || typeof error !== "object") {
|
|
305
|
+
return void 0;
|
|
306
|
+
}
|
|
307
|
+
if ("code" in error && typeof error["code"] === "string") {
|
|
308
|
+
return error["code"];
|
|
309
|
+
}
|
|
310
|
+
return void 0;
|
|
311
|
+
}
|
|
312
|
+
__name(getErrorCode, "getErrorCode");
|
|
313
|
+
function formatUnknownErrorMessage(error) {
|
|
314
|
+
if (typeof error === "string") {
|
|
315
|
+
return error;
|
|
316
|
+
}
|
|
317
|
+
if (typeof error === "number" || typeof error === "boolean" || typeof error === "bigint") {
|
|
318
|
+
return String(error);
|
|
319
|
+
}
|
|
320
|
+
if (error instanceof Error) {
|
|
321
|
+
return error.message;
|
|
322
|
+
}
|
|
323
|
+
if (!error || typeof error !== "object") {
|
|
324
|
+
return void 0;
|
|
325
|
+
}
|
|
326
|
+
const message = error["message"];
|
|
327
|
+
if (typeof message === "string") {
|
|
328
|
+
return message;
|
|
329
|
+
}
|
|
330
|
+
return void 0;
|
|
331
|
+
}
|
|
332
|
+
__name(formatUnknownErrorMessage, "formatUnknownErrorMessage");
|
|
333
|
+
function formatErrorCause(error) {
|
|
334
|
+
if (!(error instanceof Error)) {
|
|
335
|
+
return void 0;
|
|
336
|
+
}
|
|
337
|
+
const cause = error.cause;
|
|
338
|
+
if (!cause) {
|
|
339
|
+
return void 0;
|
|
340
|
+
}
|
|
341
|
+
const causeCode = getErrorCode(cause);
|
|
342
|
+
const causeMessage = formatUnknownErrorMessage(cause);
|
|
343
|
+
if (!causeCode && !causeMessage) {
|
|
344
|
+
return void 0;
|
|
345
|
+
}
|
|
346
|
+
if (causeCode && causeMessage && !causeMessage.includes(causeCode)) {
|
|
347
|
+
return `${causeCode}: ${causeMessage}`;
|
|
348
|
+
}
|
|
349
|
+
return causeMessage ?? causeCode;
|
|
350
|
+
}
|
|
351
|
+
__name(formatErrorCause, "formatErrorCause");
|
|
352
|
+
function formatFetchErrorForUser(error, options = {}) {
|
|
353
|
+
const errorMessage = getErrorMessage(error);
|
|
354
|
+
const code = error instanceof Error ? getErrorCode(error.cause) ?? getErrorCode(error) : getErrorCode(error);
|
|
355
|
+
const cause = formatErrorCause(error);
|
|
356
|
+
const fullErrorMessage = [
|
|
357
|
+
errorMessage,
|
|
358
|
+
cause ? `(cause: ${cause})` : void 0
|
|
359
|
+
].filter(Boolean).join(" ");
|
|
360
|
+
const shouldShowFetchHints = errorMessage.toLowerCase().includes("fetch failed") || code != null && FETCH_TROUBLESHOOTING_ERROR_CODES.has(code);
|
|
361
|
+
const shouldShowTlsHint = code != null && TLS_ERROR_CODES.has(code);
|
|
362
|
+
if (!shouldShowFetchHints) {
|
|
363
|
+
return fullErrorMessage;
|
|
364
|
+
}
|
|
365
|
+
const hintLines = [
|
|
366
|
+
"",
|
|
367
|
+
"Troubleshooting:",
|
|
368
|
+
...options.url ? [`- Confirm you can reach ${options.url} from this machine.`] : [],
|
|
369
|
+
"- If you are behind a proxy, pass `--proxy <url>` (or set `proxy` in settings).",
|
|
370
|
+
...shouldShowTlsHint ? isTlsVerificationDisabled() ? [
|
|
371
|
+
"- TLS verification is already disabled (`--insecure` / `QWEN_TLS_INSECURE`), so this is likely a network or protocol issue rather than a certificate trust problem."
|
|
372
|
+
] : [
|
|
373
|
+
"- If your network uses a corporate TLS inspection CA, set `NODE_EXTRA_CA_CERTS` to your CA bundle.",
|
|
374
|
+
"- For a trusted self-signed endpoint, pass `--insecure` (or set `QWEN_TLS_INSECURE=1`) to skip certificate verification."
|
|
375
|
+
] : []
|
|
376
|
+
];
|
|
377
|
+
return `${fullErrorMessage}${hintLines.join("\n")}`;
|
|
378
|
+
}
|
|
379
|
+
__name(formatFetchErrorForUser, "formatFetchErrorForUser");
|
|
380
|
+
|
|
381
|
+
export {
|
|
382
|
+
isConnectionLevelError,
|
|
383
|
+
isPrivateHost,
|
|
384
|
+
fetchWithPolicy,
|
|
385
|
+
formatFetchErrorForUser
|
|
386
|
+
};
|
|
387
|
+
/**
|
|
388
|
+
* @license
|
|
389
|
+
* Copyright 2025 Google LLC
|
|
390
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
391
|
+
*/
|
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveModelConfig,
|
|
5
|
-
resolveProviderProtocol
|
|
6
|
-
|
|
7
|
-
} from "./chunk-KX6UK4VJ.js";
|
|
5
|
+
resolveProviderProtocol
|
|
6
|
+
} from "./chunk-LI4I37W4.js";
|
|
8
7
|
import {
|
|
9
8
|
external_exports
|
|
10
9
|
} from "./chunk-H6XPXXMH.js";
|
|
11
10
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} from "./chunk-ZFKNWQGQ.js";
|
|
11
|
+
stripRuntimeSnapshotPrefix
|
|
12
|
+
} from "./chunk-UO7DCGEV.js";
|
|
15
13
|
import {
|
|
16
14
|
REASONING_EFFORT_TIERS,
|
|
17
15
|
normalizeReasoningEffort
|
|
18
16
|
} from "./chunk-XVNQMZ2I.js";
|
|
17
|
+
import {
|
|
18
|
+
AuthType,
|
|
19
|
+
MODEL_GENERATION_CONFIG_FIELDS
|
|
20
|
+
} from "./chunk-36HSVBBU.js";
|
|
19
21
|
import {
|
|
20
22
|
init_esbuild_shims
|
|
21
23
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createTask
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RGG6M2WF.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlanRequiredTeammatePreApprovalMessage,
|
|
8
8
|
isPlanRequiredTeammateAwaitingApproval
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XAWJ2526.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveActiveTeamName
|
|
12
12
|
} from "./chunk-6AM5D4ME.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
BaseToolInvocation,
|
|
16
16
|
ToolDisplayNames,
|
|
17
17
|
ToolNames
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-P5RRUHL7.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|