@qwen-code/qwen-code 0.19.11 → 0.19.12-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/batch/SKILL.md +6 -0
- package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
- package/bundled/qc-helper/docs/configuration/settings.md +11 -10
- package/bundled/qc-helper/docs/features/channels/overview.md +66 -11
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -8
- package/bundled/qc-helper/docs/features/worktree.md +2 -2
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +102 -40
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/SKILL.md +60 -49
- package/bundled/simplify/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-L6TGYDM3.js → MaxSizedBox-3KIWAU6Z.js} +31 -32
- package/chunks/{StandaloneSessionPicker-AKEQHU5P.js → StandaloneSessionPicker-TF626NO7.js} +45 -46
- package/chunks/acp-startup-profiler-N3RHHXJ3.js +25 -0
- package/chunks/{acpAgent-PTNBGJDN.js → acpAgent-JDVJXVBO.js} +1863 -507
- package/chunks/{agent-AJOMOZPJ.js → agent-BONWC4VY.js} +26 -27
- package/chunks/{agent-headless-CYKOMAXS.js → agent-headless-H7HKMGLZ.js} +26 -27
- package/chunks/{anthropicContentGenerator-HBRXJSP4.js → anthropicContentGenerator-ZZRGFEES.js} +35 -12
- package/chunks/{artifact-tool-MIZLXBLF.js → artifact-tool-PHO5XEGZ.js} +5 -5
- package/chunks/{askUserQuestion-XMJVPNWM.js → askUserQuestion-CEPBT47X.js} +2 -47
- package/chunks/{bridge-QKISWPCI.js → bridge-ATN2TLWJ.js} +31 -32
- package/chunks/{ca-CODEN7TD.js → ca-2SL2BXTK.js} +3 -2
- package/chunks/{channel-worker-group-SOUWTFHC.js → channel-worker-group-S3H5QHTI.js} +4 -4
- package/chunks/{channel-worker-manager-LOVSV3WW.js → channel-worker-manager-ZJ4HTMO2.js} +4 -4
- package/chunks/{channel-worker-supervisor-XW6MHJBQ.js → channel-worker-supervisor-JA6VZ5V5.js} +3 -3
- package/chunks/{chunk-ZIXOTAPZ.js → chunk-2DZ7E27L.js} +92 -3
- package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
- package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
- package/chunks/{chunk-4AGTGMCQ.js → chunk-3PE7OY2G.js} +12 -12
- package/chunks/{chunk-QOTQH4CB.js → chunk-4AGBO6RB.js} +27 -10
- package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
- package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
- package/chunks/{chunk-574PTLMU.js → chunk-4OVECYBM.js} +407 -92
- package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
- package/chunks/{chunk-TL4R5TRK.js → chunk-4W55BHOC.js} +2 -2
- package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
- package/chunks/{chunk-3DWIFU7L.js → chunk-53UMEONK.js} +1 -1
- package/chunks/{chunk-AU3MFJPL.js → chunk-54KPEDM2.js} +8 -8
- package/chunks/{chunk-T76DGHGG.js → chunk-66F4IJ4L.js} +5 -5
- package/chunks/{chunk-YLSSEUAM.js → chunk-675SVDMD.js} +354 -278
- package/chunks/{chunk-NVTQZXR7.js → chunk-6QGZVKOO.js} +91 -52
- package/chunks/{chunk-NJOFRXTM.js → chunk-6TDA4EVC.js} +4200 -3450
- package/chunks/{chunk-BYH2JRK3.js → chunk-6WZZHJSZ.js} +5 -5
- package/chunks/{chunk-7X7TEQNX.js → chunk-76BFY7AF.js} +13 -0
- package/chunks/chunk-7KS72E2N.js +883 -0
- package/chunks/{chunk-CF5VJRGC.js → chunk-7LMAKIWE.js} +1 -1
- package/chunks/{chunk-WMNXXRGL.js → chunk-7O7WZH7N.js} +31 -31
- package/chunks/{chunk-7ZYHLN67.js → chunk-7OZGMFHC.js} +26 -75
- package/chunks/{chunk-6WPJRYLZ.js → chunk-7SX6WZNO.js} +3 -3
- package/chunks/{chunk-JGUT3LWZ.js → chunk-ANRANWVE.js} +4 -1
- package/chunks/{chunk-JD44PNGJ.js → chunk-AWOU24F6.js} +10 -5
- package/chunks/{chunk-6WGZDD67.js → chunk-BEFQGC6H.js} +2 -2
- package/chunks/{chunk-KXYJPRT5.js → chunk-BEZPRKD3.js} +28 -6
- package/chunks/{chunk-FYQ22K62.js → chunk-CHVH4DVN.js} +6 -5
- package/chunks/{chunk-LS56TX3M.js → chunk-CMHJEUVB.js} +1 -1
- package/chunks/{chunk-FXKOAEXP.js → chunk-CXWUXRD5.js} +14 -14
- package/chunks/{chunk-CAHY5ABC.js → chunk-DULSE2SH.js} +1 -1
- package/chunks/{chunk-SQ5BK3GO.js → chunk-DYUPBU7H.js} +1 -1
- package/chunks/{chunk-FNX3LGAK.js → chunk-E655RDRL.js} +1 -1
- package/chunks/{chunk-N5VIZTND.js → chunk-EWPLL4OT.js} +1 -1
- package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
- package/chunks/{chunk-S63Z5V42.js → chunk-F2YCCUXI.js} +4 -4
- package/chunks/{chunk-3AYLDB6B.js → chunk-FEZXQXW2.js} +1 -1
- package/chunks/{chunk-OWT2CAEQ.js → chunk-GEHSF7MS.js} +105 -12
- package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
- package/chunks/{chunk-7NMU22Q3.js → chunk-HQ7MDVBO.js} +18 -7
- package/chunks/{chunk-KSZKSE23.js → chunk-HVWPSGDY.js} +1 -1
- package/chunks/{chunk-YFVO2HOR.js → chunk-HZXU6YZW.js} +5 -5
- package/chunks/{chunk-HASK4LMI.js → chunk-IKLWU6YS.js} +13 -6
- package/chunks/{chunk-GNBBAQ6J.js → chunk-ILQ42UG6.js} +111 -40
- package/chunks/{chunk-THXDQSTA.js → chunk-IQRQVPGN.js} +49 -154
- package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
- package/chunks/{chunk-SUARMD4Q.js → chunk-J6NT5YTN.js} +28 -2
- package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
- package/chunks/{chunk-BYB3GF2T.js → chunk-JCYMQU5F.js} +133 -6
- package/chunks/{chunk-6EDDYPI3.js → chunk-JUNVFQVY.js} +4 -4
- package/chunks/{chunk-CH2XVB47.js → chunk-K7P34F2J.js} +3 -3
- package/chunks/{chunk-5VWYKIMW.js → chunk-KANTXY7B.js} +2 -2
- package/chunks/{chunk-K7VD4XLT.js → chunk-LHEQDKAR.js} +1 -1
- package/chunks/{chunk-A2HWMJVO.js → chunk-LKR7QQ63.js} +3 -3
- package/chunks/{chunk-4HUDDSO5.js → chunk-LLIGYAQU.js} +4 -4
- package/chunks/{chunk-5Z452MMD.js → chunk-LODZMRXC.js} +154 -83
- package/chunks/{chunk-FBU7WRZI.js → chunk-LPHGXXZX.js} +6 -1
- package/chunks/{chunk-CPFIQVZJ.js → chunk-LYFDJTXE.js} +1 -1
- package/chunks/{chunk-TIOE2OPE.js → chunk-MCYZTKBV.js} +2 -2
- package/chunks/{chunk-ZQIYGQCG.js → chunk-MHEZV3OY.js} +506 -143
- package/chunks/{chunk-JWICTOXS.js → chunk-NGTQA57Y.js} +2 -2
- package/chunks/{chunk-5CNYZ7TN.js → chunk-NJQPQ4IO.js} +7 -7
- package/chunks/chunk-NSZJQACR.js +45 -0
- package/chunks/{chunk-DOPUYNXO.js → chunk-NUHSLBJZ.js} +7 -7
- package/chunks/{chunk-CITWNIXJ.js → chunk-NVUGS23Y.js} +5 -5
- package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
- package/chunks/{chunk-YUZI3WAC.js → chunk-OWAK7LMW.js} +7 -0
- package/chunks/{chunk-Y3KFTWVX.js → chunk-OZWJAFFE.js} +6 -6
- package/chunks/{chunk-YGYSMY2R.js → chunk-PSISZNIT.js} +1629 -1142
- package/chunks/{chunk-4ROQY23C.js → chunk-PTXVHS2O.js} +7 -7
- package/chunks/{chunk-OKAIGAYW.js → chunk-QGONRHUS.js} +3 -3
- package/chunks/{chunk-PZL23GTM.js → chunk-QR6U5QPP.js} +8 -0
- package/chunks/chunk-QSG4ZFG4.js +257 -0
- package/chunks/{chunk-BXBDC476.js → chunk-R32BTEZY.js} +5 -5
- package/chunks/{chunk-AVEOWVOM.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-RP5R7MB6.js → chunk-R4RIMOJL.js} +12 -12
- package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
- package/chunks/{chunk-3M75MSVA.js → chunk-SMASS3CY.js} +1 -1
- package/chunks/{chunk-4IJMTYCB.js → chunk-SNONG66P.js} +818 -29
- package/chunks/chunk-TDKQP3M6.js +201 -0
- package/chunks/{chunk-VFX7EZIR.js → chunk-TFV3XVAZ.js} +8 -1
- package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
- package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
- package/chunks/{chunk-F333XEAU.js → chunk-UOA2IHRI.js} +4 -3
- package/chunks/{chunk-VRR65QYW.js → chunk-V4PCIS25.js} +5 -1
- package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
- package/chunks/{chunk-GLNHPRZT.js → chunk-W4DFAUAO.js} +1 -1
- package/chunks/{chunk-STZQCNN3.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-6Y6ORE2G.js → chunk-WACI4VES.js} +288 -20
- package/chunks/{chunk-WTNZ6DXB.js → chunk-WEPXQKGP.js} +1 -1
- package/chunks/{chunk-4BJVSIS3.js → chunk-WHQNBBWW.js} +2 -2
- package/chunks/{chunk-QDJ2R4CM.js → chunk-WTHRMVKB.js} +3 -3
- package/chunks/{chunk-L4Y55KIS.js → chunk-X6YQWCIJ.js} +1 -1
- package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
- package/chunks/{chunk-BUAXJVNP.js → chunk-XACBIZJB.js} +3 -3
- package/chunks/{chunk-2OG646IN.js → chunk-XFJU7SVP.js} +4 -4
- package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
- package/chunks/{chunk-V2DXTLUE.js → chunk-Y5UDBQYF.js} +3 -3
- package/chunks/{chunk-MQOVXZAF.js → chunk-YN2I5I42.js} +529 -61
- package/chunks/{chunk-FMNYGWOD.js → chunk-Z4ZCVYJ5.js} +14 -8
- package/chunks/{chunk-SY7NEYX4.js → chunk-ZFHHBRRA.js} +2 -2
- package/chunks/{chunk-QYG4BY6Q.js → chunk-ZPVGEMVC.js} +1 -1
- package/chunks/{computer-use-VZZMJEQ7.js → computer-use-UY4A72X7.js} +26 -27
- package/chunks/{config-utils-IQQT3GCI.js → config-utils-KWTRFP7D.js} +3 -3
- package/chunks/{contextCommand-PORKIZSY.js → contextCommand-3DZ2SVH6.js} +30 -31
- package/chunks/{create-sub-session-EAB2U5XW.js → create-sub-session-DIJOV6HV.js} +2 -2
- package/chunks/{create-sub-session-XVFKHAFW.js → create-sub-session-OT7WXLDO.js} +27 -28
- package/chunks/{cron-create-GMVKSXZT.js → cron-create-X462ERYA.js} +4 -4
- package/chunks/{cron-delete-VDZKUAVK.js → cron-delete-SL5UJUM3.js} +4 -4
- package/chunks/{cron-list-UG7C7RAR.js → cron-list-3MD6SVXI.js} +4 -4
- package/chunks/{daemon-IHR6WSPB.js → daemon-ZW6LHOXT.js} +91 -14
- package/chunks/{daemon-status-provider-ABLBA3UJ.js → daemon-status-provider-GTZOYSBO.js} +35 -36
- package/chunks/{de-NOXPCSYN.js → de-I7ZIYXZC.js} +3 -2
- package/chunks/{dist-PX2ERZ6I.js → dist-HCUUS6IH.js} +2 -2
- package/chunks/{dist-VYWUKURL.js → dist-O2IP3G5D.js} +1 -1
- package/chunks/{dist-GXJVCOS7.js → dist-RZBJT5O2.js} +2 -1
- package/chunks/{dist-V2YVLYOW.js → dist-Y54RURGT.js} +3 -1
- package/chunks/{dist-DOPL5LSQ.js → dist-YTPTCUAD.js} +1 -1
- package/chunks/{dist-4WCQEZIN.js → dist-ZJHKKWUD.js} +1 -1
- package/chunks/{earlyInputCapture-DJCU5SPU.js → earlyInputCapture-GGWVGBZ7.js} +27 -28
- package/chunks/{edit-O4VV5AO6.js → edit-JN467GIR.js} +27 -28
- package/chunks/{en-JFVULHTB.js → en-XE34GKAA.js} +7 -3
- package/chunks/{enter-worktree-XQYDDI2I.js → enter-worktree-MMO4VBQE.js} +26 -27
- package/chunks/{enterPlanMode-CESVMQBV.js → enterPlanMode-BRZOG4DB.js} +27 -30
- package/chunks/{environment-5KXOLZNR.js → environment-LOCDCWMZ.js} +29 -30
- package/chunks/{errors-EBUTCBAQ.js → errors-XXSL5HGG.js} +29 -30
- package/chunks/{exit-worktree-MWGNSPNX.js → exit-worktree-UD7PI5H5.js} +26 -27
- package/chunks/exitPlanMode-EIUETQI6.js +389 -0
- package/chunks/{fast-path-6V73F2T2.js → fast-path-ULGAEUVK.js} +2 -2
- package/chunks/{fr-HVFNU42H.js → fr-X7KDVZIY.js} +3 -2
- package/chunks/{gemini-TEFJZCIZ.js → gemini-KW3APZ4P.js} +133 -80
- package/chunks/{geminiContentGenerator-M56BEXWI.js → geminiContentGenerator-4BQ5QHPR.js} +5 -5
- package/chunks/{glob-DMYFEEAZ.js → glob-FPKAMR6B.js} +32 -28
- package/chunks/{grep-GYE47MD4.js → grep-MOGRCYB4.js} +32 -28
- package/chunks/{handleAutoUpdate-OLUY4L7L.js → handleAutoUpdate-QUMRZZOS.js} +33 -34
- package/chunks/{i18n-462JC7IY.js → i18n-F3W6YUYP.js} +28 -29
- package/chunks/{initializer-Y7WD4D2I.js → initializer-KLU2KAIZ.js} +33 -34
- package/chunks/{installationInfo-I2Z3BKCE.js → installationInfo-P3ZP2SIZ.js} +27 -28
- package/chunks/{ja-PY5AF544.js → ja-2ICT3KXF.js} +3 -2
- package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
- package/chunks/{list-XQ5MSAXP.js → list-4X6D5JD2.js} +35 -36
- package/chunks/{loadedSettingsAdapter-TQOWYE7C.js → loadedSettingsAdapter-446B6WKA.js} +32 -33
- package/chunks/{loop-wakeup-QXWZSCYM.js → loop-wakeup-6H7OENTB.js} +5 -5
- package/chunks/{ls-2OUTG3IZ.js → ls-APTSOOS5.js} +4 -4
- package/chunks/{lsp-4VMNXZW6.js → lsp-HPACPJAN.js} +2 -2
- package/chunks/{mcp-22LLEEVM.js → mcp-JYVOJZOD.js} +32 -33
- package/chunks/{monitor-VKG324X3.js → monitor-KY7YH7TL.js} +26 -27
- package/chunks/nonInteractiveCli-EK35TLVJ.js +129 -0
- package/chunks/{notebook-edit-FJJRBQ3S.js → notebook-edit-IHGW42QK.js} +27 -28
- package/chunks/{openaiContentGenerator-4T2OGTR5.js → openaiContentGenerator-FURUCKQJ.js} +13 -14
- package/chunks/{pidfile-XL3MDCBM.js → pidfile-WKUVXDMR.js} +27 -28
- package/chunks/{processUtils-7UCFN34D.js → processUtils-LHSRN76X.js} +2 -2
- package/chunks/{pt-A3PRQXMU.js → pt-JJ4XPIBP.js} +3 -2
- package/chunks/{qwenContentGenerator-PQUXJDIZ.js → qwenContentGenerator-NRLM7R36.js} +30 -31
- package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-5FNX3AWH.js} +22 -5
- package/chunks/{read-file-3EYQML7E.js → read-file-VLEAEXFP.js} +9 -10
- package/chunks/{read-mcp-resource-JUFHCKSC.js → read-mcp-resource-C6NT52T6.js} +2 -2
- package/chunks/{record-artifact-DWSMBXYY.js → record-artifact-ENCU7QCL.js} +2 -2
- package/chunks/{ripGrep-S6WPGQNA.js → ripGrep-MT23EIDD.js} +26 -27
- package/chunks/{ru-IBCWUTOC.js → ru-STR4KTW7.js} +3 -2
- package/chunks/{run-qwen-serve-NSKBT3HU.js → run-qwen-serve-5HWOQFLI.js} +63 -47
- package/chunks/{runtime-LG5ZZ3VH.js → runtime-6IVKJSLW.js} +38 -37
- package/chunks/{scheduler-PLX3VVTB.js → scheduler-63GJG75U.js} +26 -27
- package/chunks/{send-message-JZ752NWD.js → send-message-5GZ4FX2V.js} +3 -3
- package/chunks/{serve-S2ZLRZZR.js → serve-3LL7RRDP.js} +32 -33
- package/chunks/{server-5ECMV4TM.js → server-AA24QLPA.js} +1672 -615
- package/chunks/{session-ILSONWG4.js → session-LRVCFQQQ.js} +102 -75
- package/chunks/{settings-BOE7WWSA.js → settings-ZX3OKUT4.js} +36 -37
- package/chunks/{shell-VW664JIZ.js → shell-KR3IMYH6.js} +26 -27
- package/chunks/{skill-COHV6625.js → skill-QLM2LSF7.js} +11 -12
- package/chunks/{spawnChannel-5UUR5XOZ.js → spawnChannel-6WFOK3SA.js} +28 -29
- package/chunks/{src-XPKFZ3RN.js → src-ADLNIPHD.js} +101 -72
- package/chunks/{standalone-update-IOOJ2NZQ.js → standalone-update-C54OTJWJ.js} +29 -30
- package/chunks/{startInteractiveUI-3NGJGXXS.js → startInteractiveUI-KFAOS6HC.js} +2342 -1796
- package/chunks/{stdioHelpers-UMY72QRP.js → stdioHelpers-HGIYTWAY.js} +3 -1
- package/chunks/{syntheticOutput-LELY6HAI.js → syntheticOutput-ULOVVLY4.js} +3 -3
- package/chunks/{task-create-QY3BIMNM.js → task-create-DUE2PMNI.js} +7 -7
- package/chunks/{task-list-D2U47WBJ.js → task-list-WVPNX7BZ.js} +5 -5
- package/chunks/{task-stop-N6E5IYLH.js → task-stop-CPEQWOT6.js} +2 -2
- package/chunks/{task-update-HJCQILLB.js → task-update-HY2LNFFB.js} +7 -7
- package/chunks/{team-create-UPLVZQFX.js → team-create-Q5B5M7UD.js} +26 -27
- package/chunks/{team-delete-RCWYDRF4.js → team-delete-JJV6IUOA.js} +5 -5
- package/chunks/{team-plan-approval-F5F432RO.js → team-plan-approval-J55PXNY2.js} +26 -27
- package/chunks/{theme-manager-JJE4BJ67.js → theme-manager-QWTDRPHV.js} +27 -28
- package/chunks/todoWrite-JHHIDOIV.js +358 -0
- package/chunks/{tool-search-LRXI4JLZ.js → tool-search-LSSKWZKH.js} +10 -11
- package/chunks/{total-session-admission-I4DHN6UP.js → total-session-admission-S6ATY5HY.js} +32 -33
- package/chunks/{trustedFolders-SEH7LNX2.js → trustedFolders-CY4TUPDJ.js} +28 -29
- package/chunks/turndown.cjs-FZHGMUTY.js +17670 -0
- package/chunks/{update-relaunch-T6ZKBUA6.js → update-relaunch-IOKOUV3K.js} +6 -6
- package/chunks/{updateCheck-FWLXZPRO.js → updateCheck-YNRFE4V7.js} +30 -31
- package/chunks/{validateNonInterActiveAuth-X6K2VWYT.js → validateNonInterActiveAuth-OXTECS4B.js} +68 -68
- package/chunks/{version-LIFSOGSE.js → version-2CZQQDL5.js} +1 -1
- package/chunks/web-fetch-7QTEGJI5.js +938 -0
- package/chunks/{workflow-NX2DFWGD.js → workflow-G3CZU256.js} +29 -30
- package/chunks/{workspace-providers-status-VYD6M2NE.js → workspace-providers-status-UHQOIPAZ.js} +35 -36
- package/chunks/{workspace-registration-store-2Y6PWOEL.js → workspace-registration-store-5WPCMX4F.js} +1 -1
- package/chunks/{workspace-registry-PKBDBWCA.js → workspace-registry-LAQCRQTH.js} +32 -33
- package/chunks/{workspace-service-HHORUHTS.js → workspace-service-6ZEUJY2Z.js} +38 -39
- package/chunks/{workspace-skills-status-O5Q26LIY.js → workspace-skills-status-YG6OITSM.js} +33 -34
- package/chunks/{write-file-NVAEZ3J2.js → write-file-E7T3PU3B.js} +60 -28
- package/chunks/{zh-PAUNIMHQ.js → zh-6ANG2HTL.js} +7 -3
- package/chunks/{zh-TW-GNEUIUFF.js → zh-TW-4RR3YHNN.js} +7 -3
- package/cli-entry.js +37 -2
- package/cli.js +17 -11
- package/locales/ca.js +3 -2
- package/locales/de.js +3 -2
- package/locales/en.js +10 -5
- package/locales/fr.js +3 -2
- package/locales/ja.js +3 -2
- package/locales/pt.js +3 -2
- package/locales/ru.js +3 -2
- package/locales/zh-TW.js +9 -3
- package/locales/zh.js +9 -3
- package/package.json +3 -3
- package/web-shell/assets/{arc-H74fE8UR.js → arc-_dVIKMdB.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-DN3kEq-I.js → architectureDiagram-3BPJPVTR-MuN3nKpL.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BrqbsFUF.js → blockDiagram-GPEHLZMM-BtmvJjzx.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-ClFhU1P-.js → c4Diagram-AAUBKEIU-Dvi58_BU.js} +1 -1
- package/web-shell/assets/channel-Bi5TehaT.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-jCIcG0_M.js → chunk-2J33WTMH-YqxOVhS1.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DSkGe62-.js → chunk-4BX2VUAB-DoBgbC9z.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BxBHOGTd.js → chunk-55IACEB6-3NEQrBAr.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-v_DS7dH7.js → chunk-727SXJPM-DrCZQxp0.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-1RzEKRPq.js → chunk-AQP2D5EJ-m_g3zjgv.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DyrSbLOX.js → chunk-FMBD7UC4-D1_crABJ.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BCmdsZiy.js → chunk-ND2GUHAM-BdhgVtBx.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CphHGW2D.js → chunk-QZHKN3VN-BlmThhm-.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D5kRC7Fi.js → cose-bilkent-S5V4N54A-Cbjm_00Z.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DIiyJJ0U.js → dagre-BM42HDAG-C39QNVgC.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BOcuB8xU.js → diagram-2AECGRRQ-DNXSAixC.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CMgiZ4d3.js → diagram-5GNKFQAL-BCbGUPEA.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Ctx8pfN0.js → diagram-KO2AKTUF-1eujKSDC.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BT5REAWC.js → diagram-LMA3HP47-DUMKXgql.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CJkUqXcp.js → diagram-OG6HWLK6-BFktU3_u.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DyvNNX6v.js → erDiagram-TEJ5UH35-BvJC7DLk.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-VBf8_My8.js → flowDiagram-I6XJVG4X-Cgu3PlOt.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CviJnR7B.js → ganttDiagram-6RSMTGT7-DLNXN5Xh.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BY66_Oze.js → gitGraphDiagram-PVQCEYII-BQFRDv6R.js} +1 -1
- package/web-shell/assets/index-C_ouplMQ.js +1187 -0
- package/web-shell/assets/{index-DhYuvi3j.js → index-CdC3pjP3.js} +1 -1
- package/web-shell/assets/index-XGDFJE-X.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-D2jaewWZ.js → infoDiagram-5YYISTIA-DT2mOSvp.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BpnNTyi5.js → ishikawaDiagram-YF4QCWOH-9fy_K4bd.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CA55GNZF.js → journeyDiagram-JHISSGLW-CoGSEuhE.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DyiSl_Ts.js → kanban-definition-UN3LZRKU-BP9hHYIj.js} +1 -1
- package/web-shell/assets/{linear-B-sN3dkV.js → linear-uIroDsmp.js} +1 -1
- package/web-shell/assets/{mermaid.core-xf9SXDdb.js → mermaid.core-BUwoStsA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DXhr2kRk.js → mindmap-definition-RKZ34NQL-DZB-FWim.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DUXpbfGQ.js → pieDiagram-4H26LBE5-YPptloKl.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-NeDQYeWw.js → quadrantDiagram-W4KKPZXB-dgk3DSzm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BSbFRL1A.js → requirementDiagram-4Y6WPE33-BH2En2i9.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-gg27cAaN.js → sankeyDiagram-5OEKKPKP-BB98feeI.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bi_1TSs4.js → sequenceDiagram-3UESZ5HK-CunAIGh8.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CboCCRaf.js → stateDiagram-AJRCARHV-DTJs_-I2.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DrGpF_jn.js → timeline-definition-PNZ67QCA-Cd4AN7O0.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DCaJU67x.js → vennDiagram-CIIHVFJN-xIG-rUU9.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-p0QcW1aP.js → wardley-L42UT6IY-D1UyjIcG.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DiEVxj1W.js → wardleyDiagram-YWT4CUSO-BVM0Mb99.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-iQB8nSlA.js → xychartDiagram-2RQKCTM6-BX31JDSz.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2HRYPZT5.js +0 -25
- package/chunks/chunk-QAW7PIHT.js +0 -168
- package/chunks/chunk-RTV5TUYB.js +0 -143
- package/chunks/chunk-ZPAHLFZU.js +0 -172
- package/chunks/exitPlanMode-HYQL4XMB.js +0 -909
- package/chunks/nonInteractiveCli-UMYUT643.js +0 -129
- package/chunks/todoWrite-FKCGATPJ.js +0 -531
- package/chunks/web-fetch-CFCWTCAP.js +0 -5673
- package/web-shell/assets/channel-NFC5ADAa.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DHgwjz3X.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHgwjz3X.js +0 -1
- package/web-shell/assets/index-8xIBbHV3.js +0 -1143
- package/web-shell/assets/index-DLyhlZZO.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CXRqms6P.js +0 -1
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
getRateLimitErrorDetails,
|
|
9
9
|
logProtocolTagSanitized,
|
|
10
10
|
openaiRequestCaptureContext
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YN2I5I42.js";
|
|
12
12
|
import {
|
|
13
13
|
RequestTokenizer
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WHQNBBWW.js";
|
|
15
15
|
import {
|
|
16
16
|
DASHSCOPE_PROXY_BASE_URL,
|
|
17
17
|
DEFAULT_DASHSCOPE_BASE_URL,
|
|
@@ -21,6 +21,13 @@ import {
|
|
|
21
21
|
QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
|
|
22
22
|
resolveRequestTimeout
|
|
23
23
|
} from "./chunk-FEOZBUMT.js";
|
|
24
|
+
import {
|
|
25
|
+
createChildAbortController
|
|
26
|
+
} from "./chunk-DJ2GSRLV.js";
|
|
27
|
+
import {
|
|
28
|
+
buildRuntimeFetchOptions,
|
|
29
|
+
redactProxyError
|
|
30
|
+
} from "./chunk-4CHDYDG3.js";
|
|
24
31
|
import {
|
|
25
32
|
defaultOutputCeiling,
|
|
26
33
|
getToolCallPreparations,
|
|
@@ -30,23 +37,16 @@ import {
|
|
|
30
37
|
runtimeDiagnostics,
|
|
31
38
|
safeJsonParse,
|
|
32
39
|
tokenLimit
|
|
33
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-V4PCIS25.js";
|
|
34
41
|
import {
|
|
35
42
|
GenerateContentResponse
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import {
|
|
38
|
-
createChildAbortController
|
|
39
|
-
} from "./chunk-DJ2GSRLV.js";
|
|
40
|
-
import {
|
|
41
|
-
buildRuntimeFetchOptions,
|
|
42
|
-
redactProxyError
|
|
43
|
-
} from "./chunk-LQIDP6K5.js";
|
|
43
|
+
} from "./chunk-TYQMGACW.js";
|
|
44
44
|
import {
|
|
45
45
|
createDebugLogger,
|
|
46
46
|
getErrorStatus,
|
|
47
47
|
getErrorType,
|
|
48
48
|
isAbortError
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-UE5TZ55T.js";
|
|
50
50
|
import {
|
|
51
51
|
init_esbuild_shims
|
|
52
52
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -7096,6 +7096,9 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7096
7096
|
constructor(contentGeneratorConfig, cliConfig) {
|
|
7097
7097
|
super(contentGeneratorConfig, cliConfig);
|
|
7098
7098
|
}
|
|
7099
|
+
getResponseParsingOptions() {
|
|
7100
|
+
return { contentOnlyThinkingTagLeaks: true };
|
|
7101
|
+
}
|
|
7099
7102
|
/**
|
|
7100
7103
|
* Determines whether to use the DashScope-compatible provider.
|
|
7101
7104
|
* Covers dashscope.aliyuncs.com, dashscope-intl.aliyuncs.com,
|
|
@@ -8509,11 +8512,9 @@ var ContentGenerationPipeline = class {
|
|
|
8509
8512
|
* 1. Convert OpenAI chunks to Gemini format while preserving original chunks
|
|
8510
8513
|
* 2. Filter empty responses
|
|
8511
8514
|
* 3. Handle chunk merging for providers that send finishReason and usageMetadata separately
|
|
8512
|
-
* 4.
|
|
8513
|
-
* 5. Handle success/error logging
|
|
8515
|
+
* 4. Handle success/error logging
|
|
8514
8516
|
*/
|
|
8515
8517
|
async *processStreamWithLogging(stream, context, request, userPromptId) {
|
|
8516
|
-
const collectedGeminiResponses = [];
|
|
8517
8518
|
let pendingFinishResponse = null;
|
|
8518
8519
|
let finishYielded = false;
|
|
8519
8520
|
let pendingFinishProtocolTagSanitized;
|
|
@@ -8568,7 +8569,6 @@ var ContentGenerationPipeline = class {
|
|
|
8568
8569
|
pending.usageMetadata = response.usageMetadata;
|
|
8569
8570
|
}
|
|
8570
8571
|
}
|
|
8571
|
-
collectedGeminiResponses.push(response);
|
|
8572
8572
|
continue;
|
|
8573
8573
|
}
|
|
8574
8574
|
if (!pendingFinishResponse && response.candidates?.[0]?.finishReason && sanitization) {
|
|
@@ -8576,7 +8576,7 @@ var ContentGenerationPipeline = class {
|
|
|
8576
8576
|
}
|
|
8577
8577
|
const shouldYield = this.handleChunkMerging(
|
|
8578
8578
|
response,
|
|
8579
|
-
|
|
8579
|
+
pendingFinishResponse,
|
|
8580
8580
|
(mergedResponse) => {
|
|
8581
8581
|
pendingFinishResponse = mergedResponse;
|
|
8582
8582
|
}
|
|
@@ -8656,43 +8656,37 @@ var ContentGenerationPipeline = class {
|
|
|
8656
8656
|
* finishReason and the most up-to-date usage information from any provider pattern.
|
|
8657
8657
|
*
|
|
8658
8658
|
* @param response Current Gemini response
|
|
8659
|
-
* @param
|
|
8659
|
+
* @param pendingFinishResponse Finish response currently held for merging
|
|
8660
8660
|
* @param setPendingFinish Callback to set pending finish response
|
|
8661
8661
|
* @returns true if the response should be yielded, false if it should be held for merging
|
|
8662
8662
|
*/
|
|
8663
|
-
handleChunkMerging(response,
|
|
8663
|
+
handleChunkMerging(response, pendingFinishResponse, setPendingFinish) {
|
|
8664
8664
|
const isFinishChunk = response.candidates?.[0]?.finishReason;
|
|
8665
|
-
const hasPendingFinish = collectedGeminiResponses.length > 0 && collectedGeminiResponses[collectedGeminiResponses.length - 1].candidates?.[0]?.finishReason;
|
|
8666
8665
|
if (isFinishChunk) {
|
|
8667
|
-
if (
|
|
8668
|
-
const lastResponse = collectedGeminiResponses[collectedGeminiResponses.length - 1];
|
|
8666
|
+
if (pendingFinishResponse) {
|
|
8669
8667
|
if (response.usageMetadata) {
|
|
8670
|
-
|
|
8668
|
+
pendingFinishResponse.usageMetadata = response.usageMetadata;
|
|
8671
8669
|
}
|
|
8672
|
-
setPendingFinish(
|
|
8670
|
+
setPendingFinish(pendingFinishResponse);
|
|
8673
8671
|
} else {
|
|
8674
|
-
collectedGeminiResponses.push(response);
|
|
8675
8672
|
setPendingFinish(response);
|
|
8676
8673
|
}
|
|
8677
8674
|
return false;
|
|
8678
|
-
} else if (
|
|
8679
|
-
const lastResponse = collectedGeminiResponses[collectedGeminiResponses.length - 1];
|
|
8675
|
+
} else if (pendingFinishResponse) {
|
|
8680
8676
|
const mergedResponse = new GenerateContentResponse();
|
|
8681
|
-
mergedResponse.candidates =
|
|
8677
|
+
mergedResponse.candidates = pendingFinishResponse.candidates;
|
|
8682
8678
|
if (response.usageMetadata) {
|
|
8683
8679
|
mergedResponse.usageMetadata = response.usageMetadata;
|
|
8684
8680
|
} else {
|
|
8685
|
-
mergedResponse.usageMetadata =
|
|
8681
|
+
mergedResponse.usageMetadata = pendingFinishResponse.usageMetadata;
|
|
8686
8682
|
}
|
|
8687
8683
|
mergedResponse.responseId = response.responseId;
|
|
8688
8684
|
mergedResponse.createTime = response.createTime;
|
|
8689
8685
|
mergedResponse.modelVersion = response.modelVersion;
|
|
8690
8686
|
mergedResponse.promptFeedback = response.promptFeedback;
|
|
8691
|
-
collectedGeminiResponses[collectedGeminiResponses.length - 1] = mergedResponse;
|
|
8692
8687
|
setPendingFinish(mergedResponse);
|
|
8693
8688
|
return true;
|
|
8694
8689
|
}
|
|
8695
|
-
collectedGeminiResponses.push(response);
|
|
8696
8690
|
return true;
|
|
8697
8691
|
}
|
|
8698
8692
|
async buildRequest(request, userPromptId, context, isStreaming) {
|
|
@@ -8716,6 +8710,12 @@ var ContentGenerationPipeline = class {
|
|
|
8716
8710
|
request.config.tools,
|
|
8717
8711
|
this.contentGeneratorConfig.schemaCompliance ?? "auto"
|
|
8718
8712
|
);
|
|
8713
|
+
const fcMode = request.config?.toolConfig?.functionCallingConfig?.mode;
|
|
8714
|
+
if (fcMode === "ANY") {
|
|
8715
|
+
baseRequest["tool_choice"] = "required";
|
|
8716
|
+
} else if (fcMode === "NONE") {
|
|
8717
|
+
baseRequest["tool_choice"] = "none";
|
|
8718
|
+
}
|
|
8719
8719
|
}
|
|
8720
8720
|
const providerRequest = this.config.provider.buildRequest(
|
|
8721
8721
|
baseRequest,
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
buildAcpModelOptions,
|
|
5
5
|
getAuthTypeFromEnv,
|
|
6
|
+
getCurrentAcpModelId,
|
|
6
7
|
parseAcpBaseModelId,
|
|
7
8
|
resolveCliGenerationConfig,
|
|
8
9
|
sanitizeProviderBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2DZ7E27L.js";
|
|
10
11
|
import {
|
|
11
12
|
snapshotProcessEnv
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZFHHBRRA.js";
|
|
13
14
|
import {
|
|
14
15
|
STATUS_SCHEMA_VERSION
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TFV3XVAZ.js";
|
|
16
17
|
import {
|
|
17
18
|
loadSettings
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ILQ42UG6.js";
|
|
19
20
|
import {
|
|
20
|
-
ModelsConfig
|
|
21
|
-
|
|
22
|
-
} from "./chunk-NJOFRXTM.js";
|
|
21
|
+
ModelsConfig
|
|
22
|
+
} from "./chunk-6TDA4EVC.js";
|
|
23
23
|
import {
|
|
24
24
|
APPROVAL_MODES
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-UOA2IHRI.js";
|
|
26
26
|
import {
|
|
27
27
|
tokenLimit
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-V4PCIS25.js";
|
|
29
29
|
import {
|
|
30
30
|
createDebugLogger
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-UE5TZ55T.js";
|
|
32
32
|
import {
|
|
33
33
|
init_esbuild_shims
|
|
34
34
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -75,17 +75,24 @@ function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
|
|
|
75
75
|
const currentAuth = selectedAuthType;
|
|
76
76
|
const currentModelId = (resolvedCliConfig.model || modelsConfig.getModel() || "").trim();
|
|
77
77
|
const hasCurrentModel = currentModelId.length > 0;
|
|
78
|
-
const
|
|
79
|
-
const currentBaseUrl = resolvedCliConfig.sources["baseUrl"] ? resolvedCliConfig.baseUrl || void 0 : void 0;
|
|
78
|
+
const modelCameFromSettings = !argv.model && settings.model?.name?.trim() === currentModelId;
|
|
79
|
+
const currentBaseUrl = modelCameFromSettings && settings.model?.baseUrl !== void 0 ? settings.model.baseUrl || void 0 : resolvedCliConfig.sources["baseUrl"] ? resolvedCliConfig.baseUrl || void 0 : void 0;
|
|
80
|
+
const currentRegistryBaseUrl = modelCameFromSettings && currentAuth ? settings.model?.baseUrl !== void 0 ? settings.model.baseUrl || null : modelsConfig.getResolvedModel(currentAuth, currentModelId)?.registryBaseUrl ?? null : void 0;
|
|
81
|
+
const modelOptions = buildAcpModelOptions(
|
|
82
|
+
modelsConfig.getAllConfiguredModels()
|
|
83
|
+
);
|
|
84
|
+
const currentAcpModelId = hasCurrentModel ? getCurrentAcpModelId(
|
|
85
|
+
modelOptions,
|
|
86
|
+
currentModelId,
|
|
87
|
+
currentAuth,
|
|
88
|
+
currentRegistryBaseUrl
|
|
89
|
+
) : void 0;
|
|
80
90
|
const fastModelId = typeof settings.fastModel === "string" && settings.fastModel.length > 0 ? settings.fastModel : void 0;
|
|
81
91
|
const visionModelId = typeof settings.visionModel === "string" && settings.visionModel.length > 0 ? settings.visionModel : void 0;
|
|
82
92
|
const approvalMode = resolveApprovalMode(settings);
|
|
83
93
|
const providers = /* @__PURE__ */ new Map();
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
settings.providerProtocol
|
|
87
|
-
);
|
|
88
|
-
for (const model of modelsConfig.getAllConfiguredModels().filter(isMainSelectableModel)) {
|
|
94
|
+
for (const option of modelOptions) {
|
|
95
|
+
const { model, effectiveModelId, modelId } = option;
|
|
89
96
|
if (model.isRuntimeModel) continue;
|
|
90
97
|
const authType = String(model.authType);
|
|
91
98
|
let provider = providers.get(authType);
|
|
@@ -99,15 +106,7 @@ function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
|
|
|
99
106
|
};
|
|
100
107
|
providers.set(authType, provider);
|
|
101
108
|
}
|
|
102
|
-
const
|
|
103
|
-
const modelId = formatAcpModelId(effectiveModelId, model.authType);
|
|
104
|
-
const isCurrent = currentAuth === model.authType && hasCurrentModel && matchesCurrentModel(currentModelId, effectiveModelId, modelId) && matchesCurrentBaseUrl(
|
|
105
|
-
currentBaseUrl,
|
|
106
|
-
model.baseUrl,
|
|
107
|
-
model.baseUrl !== void 0 && explicitModelBaseUrls.has(
|
|
108
|
-
modelBaseUrlKey(authType, effectiveModelId, model.baseUrl)
|
|
109
|
-
)
|
|
110
|
-
);
|
|
109
|
+
const isCurrent = currentAuth === model.authType && currentAcpModelId === modelId;
|
|
111
110
|
const providerModel = {
|
|
112
111
|
modelId,
|
|
113
112
|
baseModelId: parseAcpBaseModelId(effectiveModelId),
|
|
@@ -182,54 +181,6 @@ function resolveApprovalMode(settings) {
|
|
|
182
181
|
return "auto" /* AUTO */;
|
|
183
182
|
}
|
|
184
183
|
__name(resolveApprovalMode, "resolveApprovalMode");
|
|
185
|
-
function isMainSelectableModel(model) {
|
|
186
|
-
return model.fastOnly !== true && model.voiceOnly !== true;
|
|
187
|
-
}
|
|
188
|
-
__name(isMainSelectableModel, "isMainSelectableModel");
|
|
189
|
-
function matchesCurrentModel(currentModelId, baseModelId, acpModelId) {
|
|
190
|
-
return currentModelId === baseModelId || currentModelId === acpModelId;
|
|
191
|
-
}
|
|
192
|
-
__name(matchesCurrentModel, "matchesCurrentModel");
|
|
193
|
-
function matchesCurrentBaseUrl(currentBaseUrl, modelBaseUrl, modelHasExplicitBaseUrl) {
|
|
194
|
-
if (!currentBaseUrl) return !modelHasExplicitBaseUrl;
|
|
195
|
-
return currentBaseUrl === modelBaseUrl;
|
|
196
|
-
}
|
|
197
|
-
__name(matchesCurrentBaseUrl, "matchesCurrentBaseUrl");
|
|
198
|
-
function buildExplicitModelBaseUrls(modelProviders, providerProtocol) {
|
|
199
|
-
const baseUrls = /* @__PURE__ */ new Set();
|
|
200
|
-
if (!modelProviders) return baseUrls;
|
|
201
|
-
for (const [providerId, providerConfig] of Object.entries(modelProviders)) {
|
|
202
|
-
const authType = resolveProviderProtocol(providerId, providerProtocol);
|
|
203
|
-
if (!authType) continue;
|
|
204
|
-
const models = readProviderModels(providerConfig);
|
|
205
|
-
for (const model of models) {
|
|
206
|
-
if (typeof model.id === "string" && typeof model.baseUrl === "string" && model.baseUrl.length > 0) {
|
|
207
|
-
baseUrls.add(modelBaseUrlKey(authType, model.id, model.baseUrl));
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return baseUrls;
|
|
212
|
-
}
|
|
213
|
-
__name(buildExplicitModelBaseUrls, "buildExplicitModelBaseUrls");
|
|
214
|
-
function readProviderModels(providerConfig) {
|
|
215
|
-
if (Array.isArray(providerConfig)) {
|
|
216
|
-
return providerConfig.filter(isProviderModelBaseUrlConfig);
|
|
217
|
-
}
|
|
218
|
-
if (typeof providerConfig !== "object" || providerConfig === null) {
|
|
219
|
-
return [];
|
|
220
|
-
}
|
|
221
|
-
const { models } = providerConfig;
|
|
222
|
-
return Array.isArray(models) ? models.filter(isProviderModelBaseUrlConfig) : [];
|
|
223
|
-
}
|
|
224
|
-
__name(readProviderModels, "readProviderModels");
|
|
225
|
-
function isProviderModelBaseUrlConfig(value) {
|
|
226
|
-
return typeof value === "object" && value !== null;
|
|
227
|
-
}
|
|
228
|
-
__name(isProviderModelBaseUrlConfig, "isProviderModelBaseUrlConfig");
|
|
229
|
-
function modelBaseUrlKey(authType, modelId, baseUrl) {
|
|
230
|
-
return `${authType}\0${modelId}\0${baseUrl}`;
|
|
231
|
-
}
|
|
232
|
-
__name(modelBaseUrlKey, "modelBaseUrlKey");
|
|
233
184
|
var URL_LIKE_PATTERN = /\b[A-Za-z][A-Za-z\d+.-]*:\/\/[^\s'"`<>]+/g;
|
|
234
185
|
var URL_START_PATTERN = /\b[A-Za-z][A-Za-z\d+.-]*:\/\//g;
|
|
235
186
|
function sanitizeProviderWarning(warning) {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createTask
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XSPFQQRE.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlanRequiredTeammatePreApprovalMessage,
|
|
8
8
|
isPlanRequiredTeammateAwaitingApproval
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UOA2IHRI.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-ANRANWVE.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createDebugLogger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UE5TZ55T.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -15313,6 +15313,9 @@ var BaseToolInvocation = class {
|
|
|
15313
15313
|
getDefaultPermission() {
|
|
15314
15314
|
return Promise.resolve("allow");
|
|
15315
15315
|
}
|
|
15316
|
+
requiresUserInteraction() {
|
|
15317
|
+
return false;
|
|
15318
|
+
}
|
|
15316
15319
|
/**
|
|
15317
15320
|
* Default fallback: returns a generic 'info' confirmation dialog using the
|
|
15318
15321
|
* tool's getDescription(). This ensures that even tools whose
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
} from "./chunk-2W3OOD4W.js";
|
|
6
6
|
import {
|
|
7
7
|
STATUS_SCHEMA_VERSION
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TFV3XVAZ.js";
|
|
9
9
|
import {
|
|
10
10
|
loadSettings
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ILQ42UG6.js";
|
|
12
12
|
import {
|
|
13
13
|
writeStderrLine
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-OWAK7LMW.js";
|
|
15
15
|
import {
|
|
16
16
|
SkillManager,
|
|
17
17
|
isSafeModeEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-6TDA4EVC.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -27,7 +27,12 @@ import {
|
|
|
27
27
|
init_esbuild_shims();
|
|
28
28
|
function createWorkspaceSkillsStatusProvider() {
|
|
29
29
|
const managers = /* @__PURE__ */ new Map();
|
|
30
|
-
|
|
30
|
+
const provider = /* @__PURE__ */ __name((workspaceCwd) => buildWorkspaceSkillsStatus(
|
|
31
|
+
workspaceCwd,
|
|
32
|
+
managers
|
|
33
|
+
), "provider");
|
|
34
|
+
provider.invalidate = (workspaceCwd) => managers.delete(workspaceCwd);
|
|
35
|
+
return provider;
|
|
31
36
|
}
|
|
32
37
|
__name(createWorkspaceSkillsStatusProvider, "createWorkspaceSkillsStatusProvider");
|
|
33
38
|
async function buildWorkspaceSkillsStatus(workspaceCwd, managers) {
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
isChannelWebhookTaskResultMessage,
|
|
22
22
|
normalizeWorkerDiagnostic,
|
|
23
23
|
sanitizeWorkerDiagnostic
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-HVWPSGDY.js";
|
|
25
25
|
import {
|
|
26
26
|
channelSelectionNames
|
|
27
27
|
} from "./chunk-TJTKSVIV.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
} from "./chunk-5HBA2Z7V.js";
|
|
33
33
|
import {
|
|
34
34
|
sanitizeLogText
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-MHEZV3OY.js";
|
|
36
36
|
import {
|
|
37
37
|
init_esbuild_shims
|
|
38
38
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-RXFQM6FQ.js";
|
|
6
6
|
import {
|
|
7
7
|
CLIENT_MCP_OVER_WS_CONFIG_FLAG
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-QR6U5QPP.js";
|
|
9
9
|
import {
|
|
10
10
|
require_lib
|
|
11
11
|
} from "./chunk-WBL3FJEU.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-T2NCM2ET.js";
|
|
18
18
|
import {
|
|
19
19
|
writeStderrLine
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-OWAK7LMW.js";
|
|
21
21
|
import {
|
|
22
22
|
require_safer
|
|
23
23
|
} from "./chunk-XWRJCPHC.js";
|
|
@@ -16535,6 +16535,13 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16535
16535
|
// the underlying ACP method from unstable_resumeSession to resumeSession.
|
|
16536
16536
|
unstable_session_resume: { since: "v1" },
|
|
16537
16537
|
session_list: { since: "v1" },
|
|
16538
|
+
// Aggregate persisted session counts via
|
|
16539
|
+
// `GET /workspace/:id/session-info` (and the plural
|
|
16540
|
+
// `/workspaces/:workspace/session-info` twin). Performs a disk scan of
|
|
16541
|
+
// local JSONL files — advertised so clients can discover it, but the
|
|
16542
|
+
// response itself marks `expensive: true` / `cost: "disk_scan"` and
|
|
16543
|
+
// must not be polled in a tight loop.
|
|
16544
|
+
session_info: { since: "v1" },
|
|
16538
16545
|
session_source_metadata: { since: "v1" },
|
|
16539
16546
|
session_prompt: { since: "v1" },
|
|
16540
16547
|
session_cancel: { since: "v1" },
|
|
@@ -16592,6 +16599,7 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16592
16599
|
session_organization: { since: "v1" },
|
|
16593
16600
|
session_export: { since: "v1" },
|
|
16594
16601
|
session_transcript: { since: "v1" },
|
|
16602
|
+
session_transcript_pagination: { since: "v1" },
|
|
16595
16603
|
// Daemon supports the MCP client guardrail surface: an in-process
|
|
16596
16604
|
// counter exposed on `GET /workspace/mcp`, a `--mcp-client-budget=N`
|
|
16597
16605
|
// flag with `--mcp-budget-mode={enforce, warn, off}`, and a
|
|
@@ -16639,6 +16647,7 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16639
16647
|
// (`tools.disabled` is consulted at `Config` construction time).
|
|
16640
16648
|
workspace_tool_toggle: { since: "v1" },
|
|
16641
16649
|
workspace_skill_toggle: { since: "v1" },
|
|
16650
|
+
workspace_skill_manage: { since: "v1" },
|
|
16642
16651
|
workspace_settings: { since: "v1" },
|
|
16643
16652
|
// `GET /workspace/permissions` is always available when this tag is
|
|
16644
16653
|
// advertised. `POST /workspace/permissions` updates the active ACP
|
|
@@ -16769,8 +16778,10 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
16769
16778
|
// Runtime GET/PUT/DELETE control for daemon-managed channel selection.
|
|
16770
16779
|
// The route exists even when no selection was supplied at daemon boot.
|
|
16771
16780
|
channel_control: { since: "v1" },
|
|
16772
|
-
//
|
|
16773
|
-
|
|
16781
|
+
// Read-only workspace graph of recently observed channel contacts.
|
|
16782
|
+
workspace_channel_observed_contacts: { since: "v1" },
|
|
16783
|
+
// Multi-workspace session routing. Advertised only when one daemon hosts
|
|
16784
|
+
// more than one registered workspace runtime.
|
|
16774
16785
|
multi_workspace_sessions: { since: "v1" },
|
|
16775
16786
|
// Singular session rewind routes resolve the owning live workspace runtime.
|
|
16776
16787
|
multi_workspace_session_rewind: { since: "v1" },
|
|
@@ -16987,10 +16998,20 @@ var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set([
|
|
|
16987
16998
|
var CLIENT_ID_HEADER = "x-qwen-client-id";
|
|
16988
16999
|
var MAX_CLIENT_ID_LENGTH = 128;
|
|
16989
17000
|
var MAX_TOOL_NAME_LENGTH = 256;
|
|
16990
|
-
var MAX_SKILL_NAME_LENGTH = 256;
|
|
16991
17001
|
var MAX_SERVER_NAME_LENGTH = 256;
|
|
16992
17002
|
var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
|
|
16993
17003
|
var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
|
|
17004
|
+
var deferredRuntimeTimingKey = Symbol(
|
|
17005
|
+
"deferredRuntimeRequestTiming"
|
|
17006
|
+
);
|
|
17007
|
+
function setDeferredRuntimeRequestTiming(req, timing) {
|
|
17008
|
+
req[deferredRuntimeTimingKey] = timing;
|
|
17009
|
+
}
|
|
17010
|
+
__name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
|
|
17011
|
+
function getDeferredRuntimeRequestTiming(req) {
|
|
17012
|
+
return req[deferredRuntimeTimingKey];
|
|
17013
|
+
}
|
|
17014
|
+
__name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
|
|
16994
17015
|
function safeBody(req) {
|
|
16995
17016
|
const raw = req.body;
|
|
16996
17017
|
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
@@ -18259,9 +18280,10 @@ export {
|
|
|
18259
18280
|
CLIENT_ID_HEADER,
|
|
18260
18281
|
MAX_CLIENT_ID_LENGTH,
|
|
18261
18282
|
MAX_TOOL_NAME_LENGTH,
|
|
18262
|
-
MAX_SKILL_NAME_LENGTH,
|
|
18263
18283
|
MAX_SERVER_NAME_LENGTH,
|
|
18264
18284
|
CLIENT_ID_RE,
|
|
18285
|
+
setDeferredRuntimeRequestTiming,
|
|
18286
|
+
getDeferredRuntimeRequestTiming,
|
|
18265
18287
|
safeBody,
|
|
18266
18288
|
parseOptionalWorkspaceCwd,
|
|
18267
18289
|
requireSessionId,
|
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
disableMouseEvents,
|
|
5
5
|
enableMouseEvents,
|
|
6
6
|
useKeypressContext
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6QGZVKOO.js";
|
|
8
8
|
import {
|
|
9
9
|
use_stdin_default,
|
|
10
10
|
use_stdout_default
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GEHSF7MS.js";
|
|
12
|
+
import {
|
|
13
|
+
themeManager
|
|
14
|
+
} from "./chunk-XAAEDML2.js";
|
|
12
15
|
import {
|
|
13
16
|
require_react
|
|
14
17
|
} from "./chunk-HTHUX2T5.js";
|
|
15
|
-
import {
|
|
16
|
-
themeManager
|
|
17
|
-
} from "./chunk-Q6TUALBE.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -322,6 +322,7 @@ export {
|
|
|
322
322
|
useTerminalSize,
|
|
323
323
|
Colors,
|
|
324
324
|
useMouseEvents,
|
|
325
|
+
frameAnchor,
|
|
325
326
|
measureElementPosition,
|
|
326
327
|
layoutRowForEvent,
|
|
327
328
|
RowMouseController
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
settleChatRecording,
|
|
5
5
|
subscribeToHeadlessChatRecordingFailures
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-K7P34F2J.js";
|
|
7
7
|
import {
|
|
8
8
|
handleAtCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IKLWU6YS.js";
|
|
10
10
|
import {
|
|
11
11
|
JsonOutputAdapter
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LYFDJTXE.js";
|
|
13
13
|
import {
|
|
14
14
|
StreamJsonOutputAdapter
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-WTHRMVKB.js";
|
|
16
16
|
import {
|
|
17
17
|
buildInitialSystemReminders,
|
|
18
18
|
buildSystemMessage,
|
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
insertAfterFunctionResponses,
|
|
25
25
|
isSlashCommand,
|
|
26
26
|
normalizePartList
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-IQRQVPGN.js";
|
|
28
28
|
import {
|
|
29
29
|
RunBudgetEnforcer
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-PSISZNIT.js";
|
|
31
31
|
import {
|
|
32
32
|
AlreadyReportedError,
|
|
33
33
|
handleBudgetExceededError,
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
handleError,
|
|
36
36
|
handleMaxTurnsExceededError,
|
|
37
37
|
handleToolError
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-LLIGYAQU.js";
|
|
39
39
|
import {
|
|
40
40
|
isInlineModelOverrideAllowed
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-2DZ7E27L.js";
|
|
42
42
|
import {
|
|
43
43
|
buildSessionRecoveryPlanFromApiHistory,
|
|
44
44
|
canonicalToolName,
|
|
@@ -55,19 +55,19 @@ import {
|
|
|
55
55
|
partitionByConcurrencySafety,
|
|
56
56
|
promptIdContext,
|
|
57
57
|
restoreWorktreeContext
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-6TDA4EVC.js";
|
|
59
59
|
import {
|
|
60
60
|
isTelemetrySdkInitialized,
|
|
61
61
|
shutdownTelemetry,
|
|
62
62
|
uiTelemetryService
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-YN2I5I42.js";
|
|
64
64
|
import {
|
|
65
65
|
ToolNames
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-ANRANWVE.js";
|
|
67
67
|
import {
|
|
68
68
|
FatalInputError,
|
|
69
69
|
createDebugLogger
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-UE5TZ55T.js";
|
|
71
71
|
import {
|
|
72
72
|
init_esbuild_shims
|
|
73
73
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -98,14 +98,14 @@ var LOOP_TYPE_LABELS = {
|
|
|
98
98
|
["shell_command_stagnation" /* SHELL_COMMAND_STAGNATION */]: "the model repeated similar shell inspection commands without making progress",
|
|
99
99
|
["global_tool_call_duplicate" /* GLOBAL_TOOL_CALL_DUPLICATE */]: "the model repeated the same tool call across the turn, even when not back-to-back",
|
|
100
100
|
["alternating_tool_call_pattern" /* ALTERNATING_TOOL_CALL_PATTERN */]: "the model alternated between the same two tool calls in a repeating pattern",
|
|
101
|
-
["turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */]: "the
|
|
101
|
+
["turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */]: "the turn reached the per-turn tool-call limit",
|
|
102
102
|
["invalid_tool_params_stagnation" /* INVALID_TOOL_PARAMS_STAGNATION */]: "the model repeatedly sent invalid tool parameters without correcting them"
|
|
103
103
|
};
|
|
104
104
|
function formatLoopDetectedMessage(loopType) {
|
|
105
105
|
const reason = loopType ? LOOP_TYPE_LABELS[loopType] : void 0;
|
|
106
106
|
const detail = reason ? ` (${loopType}: ${reason})` : "";
|
|
107
107
|
const isAlwaysOn = loopType === "consecutive_identical_tool_calls" /* CONSECUTIVE_IDENTICAL_TOOL_CALLS */ || loopType === "shell_command_stagnation" /* SHELL_COMMAND_STAGNATION */ || loopType === "global_tool_call_duplicate" /* GLOBAL_TOOL_CALL_DUPLICATE */ || loopType === "invalid_tool_params_stagnation" /* INVALID_TOOL_PARAMS_STAGNATION */;
|
|
108
|
-
const hint = loopType === "turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */ ? "
|
|
108
|
+
const hint = loopType === "turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */ ? " A per-turn tool-call cap was reached. The default is adaptive (allows up to 1000 diverse calls, halting only on repeated calls); an explicitly set `model.maxToolCallsPerTurn` is a hard cap. If the model was repeating the same call, investigate the repetition; otherwise unset the value to use the adaptive default, or raise it (set 0 to disable)." : isAlwaysOn ? " This is an always-on guard and cannot be disabled via `model.skipLoopDetection`." : " Set the `model.skipLoopDetection` setting to true to disable.";
|
|
109
109
|
return `Loop detection halted the run${detail}.${hint}`;
|
|
110
110
|
}
|
|
111
111
|
__name(formatLoopDetectedMessage, "formatLoopDetectedMessage");
|
|
@@ -60,7 +60,7 @@ async function runExitCleanup(options = {}) {
|
|
|
60
60
|
}
|
|
61
61
|
__name(runExitCleanup, "runExitCleanup");
|
|
62
62
|
async function cleanupCheckpoints() {
|
|
63
|
-
const { Storage } = await import("./src-
|
|
63
|
+
const { Storage } = await import("./src-ADLNIPHD.js");
|
|
64
64
|
const storage = new Storage(process.cwd());
|
|
65
65
|
const tempDir = storage.getProjectTempDir();
|
|
66
66
|
const checkpointsDir = join(tempDir, "checkpoints");
|