@qwen-code/qwen-code 0.21.10 → 0.21.11-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/qc-helper/docs/extension/_meta.ts +1 -0
- package/bundled/qc-helper/docs/extension/agent-plugins.md +50 -0
- package/bundled/qc-helper/docs/extension/extension-releasing.md +3 -3
- package/bundled/qc-helper/docs/extension/introduction.md +17 -3
- package/chunks/{MaxSizedBox-FKXYULMW.js → MaxSizedBox-FVSXOMKP.js} +3 -3
- package/chunks/{StandaloneSessionPicker-OQS3M7AY.js → StandaloneSessionPicker-Q27UAQ3X.js} +17 -17
- package/chunks/{acpAgent-AGS6HLQQ.js → acpAgent-C6TV2BIU.js} +39 -39
- package/chunks/{agent-4NCVO27U.js → agent-IPODFZTU.js} +3 -3
- package/chunks/{agent-headless-HYEHZFH6.js → agent-headless-JOL3STCJ.js} +3 -3
- package/chunks/{bridge-FHINXZMN.js → bridge-YX2R6VVM.js} +5 -5
- package/chunks/{channel-settings-store-OXYG5S5X.js → channel-settings-store-CDUEUDYS.js} +9 -9
- package/chunks/{chunk-ZRBMO3C7.js → chunk-2Z6PYTOK.js} +1 -1
- package/chunks/{chunk-Y4R47ZUH.js → chunk-3WOZVMGJ.js} +5 -5
- package/chunks/{chunk-A7XMDZRI.js → chunk-4P66JPNV.js} +2 -2
- package/chunks/{chunk-OONWZLFK.js → chunk-5BRSWOSC.js} +3 -3
- package/chunks/{chunk-5MZCSWI4.js → chunk-5C7FDVHB.js} +3 -3
- package/chunks/{chunk-NV65ZUVM.js → chunk-6CONQTS2.js} +1 -1
- package/chunks/{chunk-VWKER4ZH.js → chunk-6S4NCX23.js} +2 -2
- package/chunks/{chunk-AAE6SR4Q.js → chunk-6WIKTX4C.js} +1 -1
- package/chunks/{chunk-NDU63YLI.js → chunk-7C7RTJPC.js} +2 -2
- package/chunks/{chunk-KONVMRK7.js → chunk-7OFX3YZW.js} +1 -1
- package/chunks/{chunk-D27I6YJT.js → chunk-7S4DYMFG.js} +10 -10
- package/chunks/{chunk-NRLFZWCT.js → chunk-7WUUNAJP.js} +1 -1
- package/chunks/{chunk-F6WDTQ3M.js → chunk-A6PSUNCY.js} +2 -2
- package/chunks/{chunk-AQAJJMRR.js → chunk-AJ6LQ5A6.js} +1 -1
- package/chunks/{chunk-VSFKIRRW.js → chunk-B7SQOICP.js} +3 -3
- package/chunks/{chunk-Y3OVRWRY.js → chunk-BCZ2TTSH.js} +1 -1
- package/chunks/{chunk-YF5MALI4.js → chunk-BO2VRKY2.js} +3 -3
- package/chunks/{chunk-QG3FFJYU.js → chunk-CQGGDOR5.js} +1 -1
- package/chunks/{chunk-4MKXUHXY.js → chunk-DCGYLIYO.js} +2 -2
- package/chunks/{chunk-IBUGFUXC.js → chunk-DVQECPGW.js} +9 -9
- package/chunks/{chunk-F24A2JBM.js → chunk-E2XBEWAK.js} +42 -24
- package/chunks/{chunk-I5VM3SKY.js → chunk-EV3LZGGK.js} +332 -34
- package/chunks/{chunk-LLCWZQCU.js → chunk-F32C6V5B.js} +1 -1
- package/chunks/{chunk-DCZEPFB4.js → chunk-FTO3P6PZ.js} +2 -2
- package/chunks/{chunk-26CXSA6V.js → chunk-FYTHSJDQ.js} +1 -1
- package/chunks/{chunk-YWPSGJFI.js → chunk-HDHLWOG5.js} +2 -2
- package/chunks/{chunk-UBX6NL47.js → chunk-HGBUHVFO.js} +1 -1
- package/chunks/{chunk-KID7K6H2.js → chunk-HOUK5CR2.js} +4 -4
- package/chunks/{chunk-2PLNY5TN.js → chunk-I7XTOGIS.js} +3 -3
- package/chunks/{chunk-Z4JX4NSH.js → chunk-K4QON4BH.js} +10 -10
- package/chunks/{chunk-UEOKWYGY.js → chunk-KHLBIO6M.js} +1 -1
- package/chunks/{chunk-QJMOAMXT.js → chunk-LU7RJB2W.js} +4 -4
- package/chunks/{chunk-P3BJLFSZ.js → chunk-MTE6R5HF.js} +1 -1
- package/chunks/{chunk-EI3NWELG.js → chunk-O3VWAZLP.js} +3816 -3033
- package/chunks/{chunk-GWVUR3QZ.js → chunk-P6RBCBBE.js} +1 -1
- package/chunks/{chunk-NEOXOWYH.js → chunk-PDUIXSYP.js} +2 -2
- package/chunks/{chunk-47PEPJO7.js → chunk-PFWPBYL2.js} +3 -3
- package/chunks/{chunk-IWTMYQ32.js → chunk-PIA35YOG.js} +3 -3
- package/chunks/{chunk-QGNOFE5E.js → chunk-PWYEWOZM.js} +1 -1
- package/chunks/{chunk-AEL7KN2O.js → chunk-RKCPPZV6.js} +1 -1
- package/chunks/{chunk-URKIBIFC.js → chunk-SKSOLRPK.js} +2 -2
- package/chunks/{chunk-ABVRJU3D.js → chunk-SVY7G3WS.js} +5 -5
- package/chunks/{chunk-4WL6SY4F.js → chunk-T3FNRMFJ.js} +1 -1
- package/chunks/{chunk-TRRF5BSP.js → chunk-TCRQD7F6.js} +1 -1
- package/chunks/{chunk-UMD7WQTR.js → chunk-TG3IUQ6M.js} +10 -8
- package/chunks/{chunk-OJUQF2PL.js → chunk-TZ3FN4B2.js} +2 -2
- package/chunks/{chunk-OCSFNUU4.js → chunk-UHJ5S7DF.js} +6 -6
- package/chunks/{chunk-IRZ2ZH72.js → chunk-UMEB4DHF.js} +4 -4
- package/chunks/{chunk-O3EU6GMH.js → chunk-UO2N5QWP.js} +2 -2
- package/chunks/{chunk-EBZ6BJTF.js → chunk-UXV3DYVT.js} +1 -1
- package/chunks/{chunk-ZJ4W6SUY.js → chunk-V3KCCRKA.js} +1 -1
- package/chunks/{chunk-MIKXJYZB.js → chunk-VBU76UYP.js} +25 -23
- package/chunks/{chunk-6LP743KE.js → chunk-VVSMEI6C.js} +3 -3
- package/chunks/{chunk-ECWR5LQR.js → chunk-X76PVMPQ.js} +1 -1
- package/chunks/{chunk-Q3AL4JQ3.js → chunk-X7XXP7CN.js} +1 -1
- package/chunks/{chunk-KZ22NXBY.js → chunk-XGLVQQ6F.js} +2 -2
- package/chunks/{chunk-XVHYA33G.js → chunk-Y3NNBNGM.js} +3 -3
- package/chunks/{chunk-7GTMV7UE.js → chunk-ZUIOLZ4V.js} +18 -18
- package/chunks/{computer-use-WQFK33Z3.js → computer-use-5LGM2YO5.js} +3 -3
- package/chunks/{contextCommand-7EOZND7C.js → contextCommand-JT44ADUD.js} +5 -5
- package/chunks/{core-runtime-FGMQRM6E.js → core-runtime-XHEJM2VB.js} +3 -3
- package/chunks/{create-sub-session-QM2K5HLZ.js → create-sub-session-UQBDJF5G.js} +3 -3
- package/chunks/{daemon-status-provider-L3J6GKCT.js → daemon-status-provider-67M3LFIJ.js} +9 -9
- package/chunks/{daemon-trust-policy-4PHPY23S.js → daemon-trust-policy-3XCIBLLT.js} +9 -9
- package/chunks/{daemon-trust-policy-monitor-6UKEABN5.js → daemon-trust-policy-monitor-LUMB46CL.js} +9 -9
- package/chunks/{deferred-core-runtime-67GJXHXS.js → deferred-core-runtime-BFB6YRTZ.js} +3 -3
- package/chunks/{earlyInputCapture-IWMYR6OB.js → earlyInputCapture-GPULMO2H.js} +3 -3
- package/chunks/{edit-ZFGROCAF.js → edit-XYMQNMWU.js} +3 -3
- package/chunks/{enter-worktree-TZZZCDM5.js → enter-worktree-TIASENJP.js} +3 -3
- package/chunks/{enterPlanMode-U77BI3R6.js → enterPlanMode-K6LTIGWM.js} +3 -3
- package/chunks/{environment-HC37DS2I.js → environment-3XX7LUMG.js} +5 -5
- package/chunks/{errors-6AG54JPD.js → errors-VTFZ6M4W.js} +5 -5
- package/chunks/{exit-worktree-UYYWFPNK.js → exit-worktree-IBKPEHUJ.js} +3 -3
- package/chunks/{exitPlanMode-RWJR2KGB.js → exitPlanMode-2U23CG2U.js} +3 -3
- package/chunks/{fast-path-F5FSZ3O7.js → fast-path-QOBSDLA6.js} +2 -2
- package/chunks/{gemini-NKQHYM36.js → gemini-OCRXJUWF.js} +36 -36
- package/chunks/{geminiContentGenerator-HCWZOUX3.js → geminiContentGenerator-VHSPCS6F.js} +1 -1
- package/chunks/{glob-3PDXKBAO.js → glob-BVX4L3CM.js} +3 -3
- package/chunks/{grep-5HZKZYVD.js → grep-CJSUX5NJ.js} +3 -3
- package/chunks/{handleAutoUpdate-NHFSGYTF.js → handleAutoUpdate-2F3RWBIT.js} +7 -7
- package/chunks/{i18n-Q27KKNDL.js → i18n-BPEDXABF.js} +4 -4
- package/chunks/{image-gen-2Z2RJ6W7.js → image-gen-DEEXNNA2.js} +1 -1
- package/chunks/{initializer-Y5DJLT43.js → initializer-QRD7X25L.js} +9 -9
- package/chunks/{installationInfo-XXB75T7O.js → installationInfo-JCUKPGDB.js} +4 -4
- package/chunks/{list-YHNQ32CS.js → list-G6SHYRHQ.js} +12 -12
- package/chunks/{loadedSettingsAdapter-GHUQK7H4.js → loadedSettingsAdapter-S4EPYP35.js} +9 -9
- package/chunks/{loggingContentGenerator-6NTFBM7Q.js → loggingContentGenerator-MOOIBKKR.js} +1 -1
- package/chunks/{managed-npm-update-SPHYQUWZ.js → managed-npm-update-7K2LDL7V.js} +4 -4
- package/chunks/{mcp-EA3KO6FS.js → mcp-R2Z6IKPN.js} +9 -9
- package/chunks/{monitor-ZBBPAA54.js → monitor-EXI73A5P.js} +3 -3
- package/chunks/{nonInteractiveCli-NNOR56HU.js → nonInteractiveCli-E6CEE6IG.js} +33 -33
- package/chunks/{notebook-edit-5W3FW7Z2.js → notebook-edit-GKKQJQQU.js} +3 -3
- package/chunks/{openaiContentGenerator-TQANPEVZ.js → openaiContentGenerator-NSPCP4FY.js} +1 -1
- package/chunks/{pidfile-EQOBLH4E.js → pidfile-IU4ETBRE.js} +3 -3
- package/chunks/{processUtils-7XQG7EHS.js → processUtils-GZOVMFK4.js} +2 -2
- package/chunks/{qwenContentGenerator-BKCPHHXU.js → qwenContentGenerator-BBTNTOMB.js} +3 -3
- package/chunks/{qwenOAuth2-BJ6PQKE6.js → qwenOAuth2-D6L2W25Z.js} +1 -1
- package/chunks/{read-file-KKTXGIZD.js → read-file-S2BROE4F.js} +1 -1
- package/chunks/{resumeHistoryUtils-6N6XGJJW.js → resumeHistoryUtils-VUY4B6BO.js} +6 -6
- package/chunks/{ripGrep-SJVAAYDV.js → ripGrep-V4EX6SLA.js} +3 -3
- package/chunks/{run-qwen-serve-BCKBCAMX.js → run-qwen-serve-7BDTKCFP.js} +32 -28
- package/chunks/{runtime-E2437YKL.js → runtime-VMWGIAX7.js} +10 -10
- package/chunks/{scheduler-K3D5Z655.js → scheduler-MUKPARY5.js} +5 -5
- package/chunks/{serve-IH4XR5IL.js → serve-7G5R52HX.js} +9 -9
- package/chunks/{server-UD6INW7J.js → server-FTSWAHXF.js} +41 -35
- package/chunks/{session-GR4ZEVW4.js → session-FLUDUMZJ.js} +34 -34
- package/chunks/{settings-5O24D3OJ.js → settings-CJVTBEW7.js} +8 -8
- package/chunks/{shell-UTLWLG5G.js → shell-2DOQIYEE.js} +3 -3
- package/chunks/{skill-QQAZL4VO.js → skill-2GOEKN34.js} +1 -1
- package/chunks/{skill-settings-P3YHJVBZ.js → skill-settings-5FEOMZQS.js} +8 -8
- package/chunks/{spawnChannel-UAQMH6Y6.js → spawnChannel-VJRIO75F.js} +6 -4
- package/chunks/{standalone-update-QP742MGP.js → standalone-update-OC5IKJGY.js} +5 -5
- package/chunks/{startInteractiveUI-YCS6AEPN.js → startInteractiveUI-HFHFI2ZR.js} +43 -42
- package/chunks/{team-create-WFH7OCDQ.js → team-create-ZWAXZR75.js} +3 -3
- package/chunks/{team-plan-approval-EGTT53MV.js → team-plan-approval-LH23GCUV.js} +3 -3
- package/chunks/{terminal-image-renderer-BWRESAQ7.js → terminal-image-renderer-7L3GCHD5.js} +3 -3
- package/chunks/{theme-manager-ZNDGAHJN.js → theme-manager-7WO6DXIT.js} +3 -3
- package/chunks/{tool-search-TI5PTIBF.js → tool-search-BZOZHGKI.js} +1 -1
- package/chunks/{total-session-admission-66UDSOHO.js → total-session-admission-KP4CJTSB.js} +5 -5
- package/chunks/{trustedFolders-4KYHA4IG.js → trustedFolders-57QEHV67.js} +4 -4
- package/chunks/{update-relaunch-WB6LGIF2.js → update-relaunch-53MODFE4.js} +5 -5
- package/chunks/{updateCheck-LOS5GYFC.js → updateCheck-4QDI7CUZ.js} +6 -6
- package/chunks/{useAutoAcceptIndicator-MHAPY52L.js → useAutoAcceptIndicator-VVQUPTM5.js} +9 -9
- package/chunks/{validateNonInterActiveAuth-QV22HNQU.js → validateNonInterActiveAuth-KKVD5E43.js} +30 -30
- package/chunks/{version-DALWZHKQ.js → version-IB5ASN63.js} +1 -1
- package/chunks/{web-fetch-JMJVMYFE.js → web-fetch-APSFQMIH.js} +1 -1
- package/chunks/{web-search-DNDUIPU5.js → web-search-EWEHMFIW.js} +2 -2
- package/chunks/{workflow-JGNN64PM.js → workflow-LA4ACRO4.js} +4 -4
- package/chunks/{workspace-providers-status-K22B3Z6B.js → workspace-providers-status-5C3HGWHF.js} +11 -11
- package/chunks/{workspace-registration-store-LRJG7QA4.js → workspace-registration-store-WSLHN7HA.js} +1 -1
- package/chunks/{workspace-registry-KVXIFM36.js → workspace-registry-5HXRV7L4.js} +5 -5
- package/chunks/{workspace-service-PO4AAKKT.js → workspace-service-SSP4PLBC.js} +12 -12
- package/chunks/{workspace-skills-status-DDYCBVSH.js → workspace-skills-status-DX7CA34S.js} +9 -9
- package/chunks/{workspace-trust-reconciler-DOZPCVHG.js → workspace-trust-reconciler-PASUNEKQ.js} +11 -11
- package/chunks/{write-file-TT6MWIKC.js → write-file-3N2WAE3F.js} +3 -3
- package/chunks/{zoom-image-CNC77ZMA.js → zoom-image-NAVVM4R2.js} +1 -1
- package/cli.js +12 -12
- package/package.json +3 -3
- package/web-shell/assets/{arc-CDk0d60K.js → arc-BGiARkbG.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-h-W3I2lP.js → architectureDiagram-3BPJPVTR-3QBZDeqg.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-D1pvSmZg.js → blockDiagram-GPEHLZMM-CbJI0j0o.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-ByAm5ZNf.js → c4Diagram-AAUBKEIU-pita1IYy.js} +1 -1
- package/web-shell/assets/channel-3vYOf77E.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-VrGPPOGV.js → chunk-2J33WTMH-WzTFww1i.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-B7hTowgG.js → chunk-4BX2VUAB-8TIRo9bL.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-j1Fq8DpE.js → chunk-55IACEB6-CuCr34qf.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-UjABYpF2.js → chunk-727SXJPM-Bb_xWEAx.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-D4uBItrs.js → chunk-AQP2D5EJ-C8T1b2Qw.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DeFbKlb8.js → chunk-FMBD7UC4-kjpyMkNM.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-rQJ8TIgT.js → chunk-ND2GUHAM-Dm35jDmi.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DAGcRxvq.js → chunk-QZHKN3VN-BPVKwuby.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Dr2aqxvr.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Dr2aqxvr.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-MaE7MJSt.js → cose-bilkent-S5V4N54A-M-7J9Xyz.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DzijYGSb.js → dagre-BM42HDAG-u6rmS689.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-WdbG7WnX.js → diagram-2AECGRRQ-nAisfOUB.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-NYutsBnw.js → diagram-5GNKFQAL-CpobRd3l.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Dqg0eBY0.js → diagram-KO2AKTUF-B82W_wPq.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-C7vRP2Lb.js → diagram-LMA3HP47-ClTkmPW6.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-B2sEPpPt.js → diagram-OG6HWLK6-42fbxGPW.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-a4zIbzm8.js → erDiagram-TEJ5UH35-8_zQfzlQ.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BK9y89ya.js → flowDiagram-I6XJVG4X-DQDoN_oV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-wUQTSNvV.js → ganttDiagram-6RSMTGT7-Cqd646fB.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Dnzt4SAi.js → gitGraphDiagram-PVQCEYII-B6qWs_tS.js} +1 -1
- package/web-shell/assets/{index-BA3wUcKL.js → index-BCeQB_tk.js} +1 -1
- package/web-shell/assets/{index-QzFq6w7o.js → index-Dv9zBWC9.js} +341 -341
- package/web-shell/assets/{index-BjC3yjjL.css → index-eYjX7fQg.css} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-DcaoToij.js → infoDiagram-5YYISTIA-BVyDAHuu.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DzduqhP2.js → ishikawaDiagram-YF4QCWOH-BBHM904I.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-BvviZR_O.js → journeyDiagram-JHISSGLW-B5Bv5Z_0.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Efm2JxY3.js → kanban-definition-UN3LZRKU-BwSTb0YF.js} +1 -1
- package/web-shell/assets/{linear-DtY3IbOs.js → linear-CHtTm36c.js} +1 -1
- package/web-shell/assets/{mermaid.core-PzpFqoMe.js → mermaid.core-vBCuAUkf.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BLlTkHS0.js → mindmap-definition-RKZ34NQL-CNfKHJrA.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-D-mKF-jE.js → pieDiagram-4H26LBE5-DT6QMLhc.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DYCzslGm.js → quadrantDiagram-W4KKPZXB-Rb2Dar4i.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-Dfpxlk7R.js → requirementDiagram-4Y6WPE33-CA9YzPUY.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5cRaaxh.js → sankeyDiagram-5OEKKPKP-CJ5SkhJw.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-s04DReiS.js → sequenceDiagram-3UESZ5HK-T31AiuVM.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-01UNFgnb.js → stateDiagram-AJRCARHV-f7Xpd_Xh.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-wucbNzkr.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DX8_wZBC.js → timeline-definition-PNZ67QCA-dCwsTscr.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BK0FlBme.js → vennDiagram-CIIHVFJN-SQtBFYkQ.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-DkPc9UlD.js → wardley-L42UT6IY-Dfh4eW0B.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DNKkpDAo.js → wardleyDiagram-YWT4CUSO-BWBKXBsC.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-CiPwg8QG.js → xychartDiagram-2RQKCTM6-DVqzcaxh.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/assets/channel-DPFUV4oi.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CLm0hVvw.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CLm0hVvw.js +0 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DXb5olqv.js +0 -1
|
@@ -25,31 +25,69 @@ import { getHeapStatistics } from "node:v8";
|
|
|
25
25
|
|
|
26
26
|
// packages/acp-bridge/src/ndJsonStream.ts
|
|
27
27
|
init_esbuild_shims();
|
|
28
|
-
|
|
28
|
+
import { createHash } from "node:crypto";
|
|
29
|
+
var NdJsonFrameTooLargeError = class extends Error {
|
|
30
|
+
constructor(direction, limitBytes, observedBytes) {
|
|
31
|
+
super(
|
|
32
|
+
`NDJSON ${direction} frame exceeds ${limitBytes} bytes (observed ${observedBytes} bytes)`
|
|
33
|
+
);
|
|
34
|
+
this.direction = direction;
|
|
35
|
+
this.limitBytes = limitBytes;
|
|
36
|
+
this.observedBytes = observedBytes;
|
|
37
|
+
this.name = "NdJsonFrameTooLargeError";
|
|
38
|
+
}
|
|
39
|
+
static {
|
|
40
|
+
__name(this, "NdJsonFrameTooLargeError");
|
|
41
|
+
}
|
|
42
|
+
code = "ndjson_frame_too_large";
|
|
43
|
+
};
|
|
44
|
+
var NdJsonQueueLimitError = class extends Error {
|
|
45
|
+
constructor(maxQueuedMessages, maxQueuedBytes, requiredBytes, availableBytes) {
|
|
46
|
+
super(
|
|
47
|
+
`NDJSON decoded queue is full (required ${requiredBytes} bytes, available ${availableBytes} bytes)`
|
|
48
|
+
);
|
|
49
|
+
this.maxQueuedMessages = maxQueuedMessages;
|
|
50
|
+
this.maxQueuedBytes = maxQueuedBytes;
|
|
51
|
+
this.requiredBytes = requiredBytes;
|
|
52
|
+
this.availableBytes = availableBytes;
|
|
53
|
+
this.name = "NdJsonQueueLimitError";
|
|
54
|
+
}
|
|
55
|
+
static {
|
|
56
|
+
__name(this, "NdJsonQueueLimitError");
|
|
57
|
+
}
|
|
58
|
+
code = "ndjson_queue_limit_exceeded";
|
|
59
|
+
};
|
|
60
|
+
var NdJsonIncompleteFrameError = class extends Error {
|
|
61
|
+
constructor(observedBytes) {
|
|
62
|
+
super(`NDJSON input ended with an incomplete ${observedBytes}-byte frame`);
|
|
63
|
+
this.observedBytes = observedBytes;
|
|
64
|
+
this.name = "NdJsonIncompleteFrameError";
|
|
65
|
+
}
|
|
66
|
+
static {
|
|
67
|
+
__name(this, "NdJsonIncompleteFrameError");
|
|
68
|
+
}
|
|
69
|
+
code = "ndjson_incomplete_frame";
|
|
70
|
+
};
|
|
71
|
+
function ndJsonStream(output, input, hooks, limits) {
|
|
29
72
|
const textEncoder = new TextEncoder();
|
|
30
73
|
const textDecoder = new TextDecoder();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const pending = [];
|
|
34
|
-
const reader = input.getReader();
|
|
35
|
-
try {
|
|
36
|
-
while (true) {
|
|
37
|
-
const { value, done } = await reader.read();
|
|
38
|
-
if (done) break;
|
|
39
|
-
if (!value) continue;
|
|
40
|
-
readChunk(value, pending, controller, textDecoder, hooks);
|
|
41
|
-
}
|
|
42
|
-
} finally {
|
|
43
|
-
reader.releaseLock();
|
|
44
|
-
controller.close();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
74
|
+
if (limits) validateNdJsonStreamLimits(limits);
|
|
75
|
+
const readable = limits ? createBoundedReadable(input, textDecoder, hooks, limits) : createLegacyReadable(input, textDecoder, hooks);
|
|
48
76
|
const writable = new WritableStream({
|
|
49
77
|
async write(message) {
|
|
50
78
|
const content = JSON.stringify(message);
|
|
51
79
|
const payload = textEncoder.encode(content);
|
|
52
|
-
const
|
|
80
|
+
const frameBytes = payload.byteLength + 1;
|
|
81
|
+
if (limits && frameBytes > limits.maxFrameBytes) {
|
|
82
|
+
const error = new NdJsonFrameTooLargeError(
|
|
83
|
+
"sent",
|
|
84
|
+
limits.maxFrameBytes,
|
|
85
|
+
frameBytes
|
|
86
|
+
);
|
|
87
|
+
callHook(hooks?.onTransportError, error);
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
const frame = new Uint8Array(frameBytes);
|
|
53
91
|
frame.set(payload);
|
|
54
92
|
frame[payload.byteLength] = 10;
|
|
55
93
|
const writer = output.getWriter();
|
|
@@ -61,6 +99,9 @@ function ndJsonStream(output, input, hooks) {
|
|
|
61
99
|
bytes: payload.byteLength,
|
|
62
100
|
message
|
|
63
101
|
});
|
|
102
|
+
} catch (error) {
|
|
103
|
+
if (limits) callHook(hooks?.onTransportError, error);
|
|
104
|
+
throw error;
|
|
64
105
|
} finally {
|
|
65
106
|
writer.releaseLock();
|
|
66
107
|
}
|
|
@@ -69,12 +110,110 @@ function ndJsonStream(output, input, hooks) {
|
|
|
69
110
|
return { readable, writable };
|
|
70
111
|
}
|
|
71
112
|
__name(ndJsonStream, "ndJsonStream");
|
|
72
|
-
function
|
|
113
|
+
function createLegacyReadable(input, textDecoder, hooks) {
|
|
114
|
+
return new ReadableStream({
|
|
115
|
+
async start(controller) {
|
|
116
|
+
const pending = [];
|
|
117
|
+
const reader = input.getReader();
|
|
118
|
+
try {
|
|
119
|
+
while (true) {
|
|
120
|
+
const { value, done } = await reader.read();
|
|
121
|
+
if (done) break;
|
|
122
|
+
if (!value) continue;
|
|
123
|
+
readLegacyChunk(value, pending, controller, textDecoder, hooks);
|
|
124
|
+
}
|
|
125
|
+
} finally {
|
|
126
|
+
reader.releaseLock();
|
|
127
|
+
controller.close();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
__name(createLegacyReadable, "createLegacyReadable");
|
|
133
|
+
function createBoundedReadable(input, textDecoder, hooks, limits) {
|
|
134
|
+
const pending = new BoundedFrameBuffer(limits.maxFrameBytes);
|
|
135
|
+
const minimumQueueCharge = Math.ceil(
|
|
136
|
+
limits.maxQueuedBytes / limits.maxQueuedMessages
|
|
137
|
+
);
|
|
138
|
+
let nextQueueCharge = minimumQueueCharge;
|
|
139
|
+
let reader;
|
|
140
|
+
let canceled = false;
|
|
141
|
+
return new ReadableStream(
|
|
142
|
+
{
|
|
143
|
+
start(controller) {
|
|
144
|
+
reader = input.getReader();
|
|
145
|
+
void pumpBoundedInput(
|
|
146
|
+
reader,
|
|
147
|
+
pending,
|
|
148
|
+
controller,
|
|
149
|
+
textDecoder,
|
|
150
|
+
hooks,
|
|
151
|
+
limits,
|
|
152
|
+
minimumQueueCharge,
|
|
153
|
+
(charge) => {
|
|
154
|
+
nextQueueCharge = charge;
|
|
155
|
+
},
|
|
156
|
+
() => canceled
|
|
157
|
+
);
|
|
158
|
+
},
|
|
159
|
+
async cancel(reason) {
|
|
160
|
+
canceled = true;
|
|
161
|
+
pending.clear();
|
|
162
|
+
if (reader) await cancelReader(reader, reason);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
highWaterMark: limits.maxQueuedBytes,
|
|
167
|
+
size: /* @__PURE__ */ __name(() => nextQueueCharge, "size")
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
__name(createBoundedReadable, "createBoundedReadable");
|
|
172
|
+
async function pumpBoundedInput(reader, pending, controller, textDecoder, hooks, limits, minimumQueueCharge, setNextQueueCharge, isCanceled) {
|
|
173
|
+
try {
|
|
174
|
+
while (true) {
|
|
175
|
+
const result = await reader.read();
|
|
176
|
+
if (result.done) {
|
|
177
|
+
if (isCanceled()) return;
|
|
178
|
+
if (pending.byteLength > 0) {
|
|
179
|
+
throw new NdJsonIncompleteFrameError(pending.byteLength);
|
|
180
|
+
}
|
|
181
|
+
controller.close();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (!result.value) continue;
|
|
185
|
+
readBoundedChunk(
|
|
186
|
+
result.value,
|
|
187
|
+
pending,
|
|
188
|
+
controller,
|
|
189
|
+
textDecoder,
|
|
190
|
+
hooks,
|
|
191
|
+
limits,
|
|
192
|
+
minimumQueueCharge,
|
|
193
|
+
setNextQueueCharge
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
} catch (error) {
|
|
197
|
+
if (isCanceled()) return;
|
|
198
|
+
pending.clear();
|
|
199
|
+
callHook(hooks?.onTransportError, error);
|
|
200
|
+
await cancelReader(reader, error);
|
|
201
|
+
if (!isCanceled()) controller.close();
|
|
202
|
+
} finally {
|
|
203
|
+
pending.clear();
|
|
204
|
+
reader.releaseLock();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
__name(pumpBoundedInput, "pumpBoundedInput");
|
|
208
|
+
function readLegacyChunk(chunk, pending, controller, textDecoder, hooks) {
|
|
73
209
|
let start = 0;
|
|
74
210
|
let newline = chunk.indexOf(10, start);
|
|
75
211
|
while (newline !== -1) {
|
|
76
|
-
const lineBytes =
|
|
77
|
-
|
|
212
|
+
const lineBytes = takeLegacyLineBytes(
|
|
213
|
+
pending,
|
|
214
|
+
chunk.subarray(start, newline)
|
|
215
|
+
);
|
|
216
|
+
handleLegacyLine(lineBytes, controller, textDecoder, hooks);
|
|
78
217
|
start = newline + 1;
|
|
79
218
|
newline = chunk.indexOf(10, start);
|
|
80
219
|
}
|
|
@@ -82,8 +221,39 @@ function readChunk(chunk, pending, controller, textDecoder, hooks) {
|
|
|
82
221
|
pending.push(chunk.subarray(start));
|
|
83
222
|
}
|
|
84
223
|
}
|
|
85
|
-
__name(
|
|
86
|
-
function
|
|
224
|
+
__name(readLegacyChunk, "readLegacyChunk");
|
|
225
|
+
function readBoundedChunk(chunk, pending, controller, textDecoder, hooks, limits, minimumQueueCharge, setNextQueueCharge) {
|
|
226
|
+
let start = 0;
|
|
227
|
+
let newline = chunk.indexOf(10, start);
|
|
228
|
+
while (newline !== -1) {
|
|
229
|
+
const current = chunk.subarray(start, newline);
|
|
230
|
+
const frameBytes = pending.byteLength + current.byteLength + 1;
|
|
231
|
+
assertFrameSize("received", limits.maxFrameBytes, frameBytes);
|
|
232
|
+
if (pending.isJsonWhitespaceLine(current)) {
|
|
233
|
+
pending.clear();
|
|
234
|
+
start = newline + 1;
|
|
235
|
+
newline = chunk.indexOf(10, start);
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
const queueCharge = Math.max(frameBytes, minimumQueueCharge);
|
|
239
|
+
const availableBytes = controller.desiredSize;
|
|
240
|
+
if (availableBytes === null || queueCharge > availableBytes) {
|
|
241
|
+
throw new NdJsonQueueLimitError(
|
|
242
|
+
limits.maxQueuedMessages,
|
|
243
|
+
limits.maxQueuedBytes,
|
|
244
|
+
queueCharge,
|
|
245
|
+
Math.max(0, availableBytes ?? 0)
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
setNextQueueCharge(queueCharge);
|
|
249
|
+
handleBoundedLine(pending.take(current), controller, textDecoder, hooks);
|
|
250
|
+
start = newline + 1;
|
|
251
|
+
newline = chunk.indexOf(10, start);
|
|
252
|
+
}
|
|
253
|
+
if (start < chunk.length) pending.append(chunk.subarray(start));
|
|
254
|
+
}
|
|
255
|
+
__name(readBoundedChunk, "readBoundedChunk");
|
|
256
|
+
function takeLegacyLineBytes(pending, current) {
|
|
87
257
|
if (pending.length === 0) return current;
|
|
88
258
|
const totalLength = pending.reduce((sum, part) => sum + part.byteLength, 0) + current.byteLength;
|
|
89
259
|
const line = new Uint8Array(totalLength);
|
|
@@ -96,30 +266,82 @@ function takeLineBytes(pending, current) {
|
|
|
96
266
|
pending.length = 0;
|
|
97
267
|
return line;
|
|
98
268
|
}
|
|
99
|
-
__name(
|
|
100
|
-
function
|
|
269
|
+
__name(takeLegacyLineBytes, "takeLegacyLineBytes");
|
|
270
|
+
function handleLegacyLine(lineBytes, controller, textDecoder, hooks) {
|
|
101
271
|
const line = textDecoder.decode(lineBytes);
|
|
102
272
|
const trimmedLine = line.trim();
|
|
103
273
|
if (!trimmedLine) return;
|
|
104
274
|
try {
|
|
105
275
|
const message = JSON.parse(trimmedLine);
|
|
106
276
|
controller.enqueue(message);
|
|
277
|
+
reportReceivedMessage(lineBytes, message, hooks);
|
|
278
|
+
} catch (err) {
|
|
279
|
+
console.error("Failed to parse JSON message:", trimmedLine, err);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
__name(handleLegacyLine, "handleLegacyLine");
|
|
283
|
+
function handleBoundedLine(lineBytes, controller, textDecoder, hooks) {
|
|
284
|
+
const line = textDecoder.decode(lineBytes);
|
|
285
|
+
const trimmedLine = line.trim();
|
|
286
|
+
if (!trimmedLine) return;
|
|
287
|
+
let message;
|
|
288
|
+
try {
|
|
289
|
+
message = JSON.parse(trimmedLine);
|
|
290
|
+
} catch {
|
|
107
291
|
const bytes = jsonPayloadByteLength(lineBytes);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
292
|
+
const digest = createHash("sha256").update(lineBytes.subarray(0, bytes)).digest("hex");
|
|
293
|
+
console.error("Failed to parse JSON message:", {
|
|
294
|
+
errorKind: "ndjson_parse_error",
|
|
111
295
|
bytes,
|
|
112
|
-
|
|
296
|
+
sha256: digest,
|
|
297
|
+
payloadOmitted: true
|
|
113
298
|
});
|
|
114
|
-
|
|
115
|
-
console.error("Failed to parse JSON message:", trimmedLine, err);
|
|
299
|
+
return;
|
|
116
300
|
}
|
|
301
|
+
controller.enqueue(message);
|
|
302
|
+
reportReceivedMessage(lineBytes, message, hooks);
|
|
303
|
+
}
|
|
304
|
+
__name(handleBoundedLine, "handleBoundedLine");
|
|
305
|
+
function reportReceivedMessage(lineBytes, message, hooks) {
|
|
306
|
+
const bytes = jsonPayloadByteLength(lineBytes);
|
|
307
|
+
callHook(hooks?.onMessageReceived, bytes);
|
|
308
|
+
callHook(hooks?.onMessageObserved, {
|
|
309
|
+
direction: "received",
|
|
310
|
+
bytes,
|
|
311
|
+
message
|
|
312
|
+
});
|
|
117
313
|
}
|
|
118
|
-
__name(
|
|
314
|
+
__name(reportReceivedMessage, "reportReceivedMessage");
|
|
119
315
|
function jsonPayloadByteLength(lineBytes) {
|
|
120
316
|
return lineBytes[lineBytes.byteLength - 1] === 13 ? lineBytes.byteLength - 1 : lineBytes.byteLength;
|
|
121
317
|
}
|
|
122
318
|
__name(jsonPayloadByteLength, "jsonPayloadByteLength");
|
|
319
|
+
function validateNdJsonStreamLimits(limits) {
|
|
320
|
+
const values = [
|
|
321
|
+
["maxFrameBytes", limits.maxFrameBytes],
|
|
322
|
+
["maxQueuedMessages", limits.maxQueuedMessages],
|
|
323
|
+
["maxQueuedBytes", limits.maxQueuedBytes]
|
|
324
|
+
];
|
|
325
|
+
for (const [name, value] of values) {
|
|
326
|
+
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
327
|
+
throw new RangeError(`${name} must be a positive safe integer`);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
__name(validateNdJsonStreamLimits, "validateNdJsonStreamLimits");
|
|
332
|
+
function assertFrameSize(direction, limitBytes, observedBytes) {
|
|
333
|
+
if (observedBytes > limitBytes) {
|
|
334
|
+
throw new NdJsonFrameTooLargeError(direction, limitBytes, observedBytes);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
__name(assertFrameSize, "assertFrameSize");
|
|
338
|
+
async function cancelReader(reader, reason) {
|
|
339
|
+
try {
|
|
340
|
+
await reader.cancel(reason);
|
|
341
|
+
} catch {
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
__name(cancelReader, "cancelReader");
|
|
123
345
|
function callHook(hook, value) {
|
|
124
346
|
try {
|
|
125
347
|
hook?.(value);
|
|
@@ -127,6 +349,62 @@ function callHook(hook, value) {
|
|
|
127
349
|
}
|
|
128
350
|
}
|
|
129
351
|
__name(callHook, "callHook");
|
|
352
|
+
var BoundedFrameBuffer = class {
|
|
353
|
+
constructor(maxFrameBytes) {
|
|
354
|
+
this.maxFrameBytes = maxFrameBytes;
|
|
355
|
+
}
|
|
356
|
+
static {
|
|
357
|
+
__name(this, "BoundedFrameBuffer");
|
|
358
|
+
}
|
|
359
|
+
buffer;
|
|
360
|
+
length = 0;
|
|
361
|
+
get byteLength() {
|
|
362
|
+
return this.length;
|
|
363
|
+
}
|
|
364
|
+
append(bytes) {
|
|
365
|
+
const requiredBytes = this.length + bytes.byteLength;
|
|
366
|
+
assertFrameSize("received", this.maxFrameBytes, requiredBytes);
|
|
367
|
+
if (requiredBytes === 0) return;
|
|
368
|
+
if (!this.buffer || this.buffer.byteLength < requiredBytes) {
|
|
369
|
+
const doubledCapacity = Math.min(
|
|
370
|
+
this.maxFrameBytes,
|
|
371
|
+
Math.max(1024, (this.buffer?.byteLength ?? 0) * 2)
|
|
372
|
+
);
|
|
373
|
+
const next = new Uint8Array(Math.max(requiredBytes, doubledCapacity));
|
|
374
|
+
if (this.buffer) next.set(this.buffer.subarray(0, this.length));
|
|
375
|
+
this.buffer = next;
|
|
376
|
+
}
|
|
377
|
+
this.buffer.set(bytes, this.length);
|
|
378
|
+
this.length = requiredBytes;
|
|
379
|
+
}
|
|
380
|
+
take(current) {
|
|
381
|
+
if (this.length === 0) return current;
|
|
382
|
+
const line = new Uint8Array(this.length + current.byteLength);
|
|
383
|
+
line.set(this.buffer.subarray(0, this.length));
|
|
384
|
+
line.set(current, this.length);
|
|
385
|
+
this.clear();
|
|
386
|
+
return line;
|
|
387
|
+
}
|
|
388
|
+
isJsonWhitespaceLine(current) {
|
|
389
|
+
if (this.buffer) {
|
|
390
|
+
for (let index = 0; index < this.length; index++) {
|
|
391
|
+
if (!isJsonWhitespaceByte(this.buffer[index])) return false;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
for (const byte of current) {
|
|
395
|
+
if (!isJsonWhitespaceByte(byte)) return false;
|
|
396
|
+
}
|
|
397
|
+
return true;
|
|
398
|
+
}
|
|
399
|
+
clear() {
|
|
400
|
+
this.buffer = void 0;
|
|
401
|
+
this.length = 0;
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
function isJsonWhitespaceByte(byte) {
|
|
405
|
+
return byte === 32 || byte === 9 || byte === 13;
|
|
406
|
+
}
|
|
407
|
+
__name(isJsonWhitespaceByte, "isJsonWhitespaceByte");
|
|
130
408
|
|
|
131
409
|
// packages/acp-bridge/src/process-registry.ts
|
|
132
410
|
init_esbuild_shims();
|
|
@@ -283,6 +561,11 @@ var TrackedChild = class {
|
|
|
283
561
|
|
|
284
562
|
// packages/acp-bridge/src/spawnChannel.ts
|
|
285
563
|
var cachedMemoryArgs;
|
|
564
|
+
var DAEMON_ACP_NDJSON_LIMITS = Object.freeze({
|
|
565
|
+
maxFrameBytes: 64 * 1024 * 1024,
|
|
566
|
+
maxQueuedMessages: 256,
|
|
567
|
+
maxQueuedBytes: 64 * 1024 * 1024
|
|
568
|
+
});
|
|
286
569
|
function getAcpMemoryArgs() {
|
|
287
570
|
if (cachedMemoryArgs) return cachedMemoryArgs;
|
|
288
571
|
const constrainedMemory = process.constrainedMemory;
|
|
@@ -334,6 +617,7 @@ function createStderrForwarder(opts) {
|
|
|
334
617
|
}
|
|
335
618
|
__name(createStderrForwarder, "createStderrForwarder");
|
|
336
619
|
function createSpawnChannelFactory(options = {}) {
|
|
620
|
+
if (options.pipeLimits) validateNdJsonStreamLimits(options.pipeLimits);
|
|
337
621
|
const processRegistry = options.processRegistry ?? new ProcessRegistry();
|
|
338
622
|
return async (workspaceCwd, childEnvOverrides) => {
|
|
339
623
|
const sourceEnv = options.sourceEnv ?? process.env;
|
|
@@ -396,7 +680,20 @@ function createSpawnChannelFactory(options = {}) {
|
|
|
396
680
|
}
|
|
397
681
|
const writable = Writable.toWeb(child.stdin);
|
|
398
682
|
const readable = Readable.toWeb(child.stdout);
|
|
399
|
-
const
|
|
683
|
+
const pipeHooks = options.pipeLimits ? {
|
|
684
|
+
...options.pipeHooks,
|
|
685
|
+
onTransportError: /* @__PURE__ */ __name((error) => {
|
|
686
|
+
void trackedChild.terminate().catch(() => {
|
|
687
|
+
});
|
|
688
|
+
options.pipeHooks?.onTransportError?.(error);
|
|
689
|
+
}, "onTransportError")
|
|
690
|
+
} : options.pipeHooks;
|
|
691
|
+
const stream = ndJsonStream(
|
|
692
|
+
writable,
|
|
693
|
+
readable,
|
|
694
|
+
pipeHooks,
|
|
695
|
+
options.pipeLimits
|
|
696
|
+
);
|
|
400
697
|
return {
|
|
401
698
|
stream,
|
|
402
699
|
kill: /* @__PURE__ */ __name(() => trackedChild.terminate(), "kill"),
|
|
@@ -433,6 +730,7 @@ __name(scrubChildEnv, "scrubChildEnv");
|
|
|
433
730
|
|
|
434
731
|
export {
|
|
435
732
|
ndJsonStream,
|
|
733
|
+
DAEMON_ACP_NDJSON_LIMITS,
|
|
436
734
|
getAcpMemoryArgs,
|
|
437
735
|
createStderrForwarder,
|
|
438
736
|
createSpawnChannelFactory,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
JsonFormatter,
|
|
5
5
|
parseAndFormatApiError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-O3VWAZLP.js";
|
|
7
7
|
import {
|
|
8
8
|
FatalBudgetExceededError,
|
|
9
9
|
FatalCancellationError,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-OIVKILPI.js";
|
|
13
13
|
import {
|
|
14
14
|
runExitCleanup
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6WIKTX4C.js";
|
|
16
16
|
import {
|
|
17
17
|
writeStderrLine
|
|
18
18
|
} from "./chunk-KGJGEEVR.js";
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "./chunk-4NFY2S7N.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KHLBIO6M.js";
|
|
9
9
|
import {
|
|
10
10
|
fetchGitDiff,
|
|
11
11
|
findProviderByCredentials,
|
|
12
12
|
resolveMetadataKey
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-O3VWAZLP.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esbuild_shims
|
|
16
16
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
|
|
12
12
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
|
|
13
13
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-O3VWAZLP.js";
|
|
15
15
|
import {
|
|
16
16
|
DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
|
|
17
17
|
} from "./chunk-EQL65XGA.js";
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
loadSettings
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SVY7G3WS.js";
|
|
6
6
|
import {
|
|
7
7
|
getCurrentLanguage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KHLBIO6M.js";
|
|
9
9
|
import {
|
|
10
10
|
isWorkspaceTrusted
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-P6RBCBBE.js";
|
|
12
12
|
import {
|
|
13
13
|
require_strip_json_comments
|
|
14
14
|
} from "./chunk-NPQ5ZKRP.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
isGatedMcpScope,
|
|
24
24
|
normalizeClaudeMcpServer,
|
|
25
25
|
runWithTimeout
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-O3VWAZLP.js";
|
|
27
27
|
import {
|
|
28
28
|
atomicWriteFile
|
|
29
29
|
} from "./chunk-FOGU3LJX.js";
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
import {
|
|
4
4
|
resolveModelConfig,
|
|
5
5
|
resolveProviderProtocol
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-O3VWAZLP.js";
|
|
7
7
|
import {
|
|
8
8
|
external_exports
|
|
9
9
|
} from "./chunk-H6XPXXMH.js";
|
|
10
10
|
import {
|
|
11
11
|
stripRuntimeSnapshotPrefix
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TCRQD7F6.js";
|
|
13
13
|
import {
|
|
14
14
|
REASONING_EFFORT_TIERS,
|
|
15
15
|
normalizeReasoningEffort
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
AuthType,
|
|
19
19
|
MODEL_GENERATION_CONFIG_FIELDS
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-3WOZVMGJ.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esbuild_shims
|
|
23
23
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
estimateCompactToolGroupHeight,
|
|
16
16
|
isCollapsibleTool,
|
|
17
17
|
wrapAnsi
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PIA35YOG.js";
|
|
19
19
|
import {
|
|
20
20
|
disableMouseEvents,
|
|
21
21
|
enableMouseEvents,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
getCommandSourceBadge,
|
|
29
29
|
getCommandSourceGroup,
|
|
30
30
|
getCommandSubcommandNames
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-CQGGDOR5.js";
|
|
32
32
|
import {
|
|
33
33
|
INLINE_CODE_SPAN_PATTERN_SOURCE,
|
|
34
34
|
calculateAverageLatency,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
readInlineMathSpanAt,
|
|
44
44
|
unescapeMarkdownBeforeMath,
|
|
45
45
|
unescapeMarkdownDollars
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-HDHLWOG5.js";
|
|
47
47
|
import {
|
|
48
48
|
MINIMUM_MAX_HEIGHT,
|
|
49
49
|
MaxSizedBox
|
|
@@ -82,10 +82,10 @@ import {
|
|
|
82
82
|
} from "./chunk-PJRW65JO.js";
|
|
83
83
|
import {
|
|
84
84
|
relaunchApp
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-7OFX3YZW.js";
|
|
86
86
|
import {
|
|
87
87
|
getErrorMessage
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-FTO3P6PZ.js";
|
|
89
89
|
import {
|
|
90
90
|
cpLen,
|
|
91
91
|
cpSlice,
|
|
@@ -116,18 +116,18 @@ import {
|
|
|
116
116
|
} from "./chunk-57OAHC2Y.js";
|
|
117
117
|
import {
|
|
118
118
|
createLoadedSettingsAdapter
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-T3FNRMFJ.js";
|
|
120
120
|
import {
|
|
121
121
|
getPersistScopeForModelSelection
|
|
122
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-SVY7G3WS.js";
|
|
123
123
|
import {
|
|
124
124
|
getCurrentLanguage,
|
|
125
125
|
localizeToolDisplayName,
|
|
126
126
|
t
|
|
127
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-KHLBIO6M.js";
|
|
128
128
|
import {
|
|
129
129
|
isWorkspaceTrusted
|
|
130
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-P6RBCBBE.js";
|
|
131
131
|
import {
|
|
132
132
|
ALL_PROVIDERS,
|
|
133
133
|
IdeClient,
|
|
@@ -150,7 +150,7 @@ import {
|
|
|
150
150
|
resolveBaseUrl,
|
|
151
151
|
resolveMetadataKey,
|
|
152
152
|
resolveOwnsModel
|
|
153
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-O3VWAZLP.js";
|
|
154
154
|
import {
|
|
155
155
|
stripAnsi
|
|
156
156
|
} from "./chunk-TWPJO254.js";
|
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
parseAcpBaseModelId,
|
|
8
8
|
resolveCliGenerationConfig,
|
|
9
9
|
sanitizeProviderBaseUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-I7XTOGIS.js";
|
|
11
11
|
import {
|
|
12
12
|
snapshotProcessEnv
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MTE6R5HF.js";
|
|
14
14
|
import {
|
|
15
15
|
STATUS_SCHEMA_VERSION
|
|
16
16
|
} from "./chunk-DA4HRSBW.js";
|
|
17
17
|
import {
|
|
18
18
|
loadSettings
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-SVY7G3WS.js";
|
|
20
20
|
import {
|
|
21
21
|
ModelsConfig
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-O3VWAZLP.js";
|
|
23
23
|
import {
|
|
24
24
|
APPROVAL_MODES
|
|
25
25
|
} from "./chunk-WAUGQKUU.js";
|