@qwen-code/qwen-code 0.21.7-nightly.20260808.4ec0371e6 → 0.21.8
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/README.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +12 -8
- package/bundled/qc-helper/docs/features/commands.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +50 -0
- package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
- package/bundled/review/SKILL.md +24 -5
- package/chunks/{MaxSizedBox-COZBVNCI.js → MaxSizedBox-7PM6BGJ5.js} +13 -10
- package/chunks/{StandaloneSessionPicker-3OF2FS6S.js → StandaloneSessionPicker-3UQHM7GV.js} +29 -26
- package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
- package/chunks/{acpAgent-3JCJ6KWG.js → acpAgent-5UWLFV6V.js} +369 -148
- package/chunks/{agent-DBSC47CD.js → agent-624T2BLO.js} +13 -10
- package/chunks/{agent-headless-ZJHZ7I3S.js → agent-headless-2EE5J2KX.js} +13 -10
- package/chunks/{bridge-NFBYT4ZI.js → bridge-JENKGFFP.js} +15 -12
- package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
- package/chunks/{channel-management-service-LXSJXQGM.js → channel-management-service-DDWUPHMU.js} +1 -1
- package/chunks/{channel-settings-store-LABKDKSI.js → channel-settings-store-SA6JZSPH.js} +21 -18
- package/chunks/{channel-worker-group-MTW2AGT3.js → channel-worker-group-E67EN3RV.js} +2 -2
- package/chunks/{channel-worker-manager-UU6PTQSI.js → channel-worker-manager-SW4C45CF.js} +2 -2
- package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
- package/chunks/{chunk-HKCYGZZ4.js → chunk-2ILAOM2I.js} +30 -13
- package/chunks/{chunk-LDY4J4G6.js → chunk-2M4K4KYS.js} +176 -119
- package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
- package/chunks/{chunk-XCG76UE6.js → chunk-3PY4LPJF.js} +17 -129
- package/chunks/{chunk-26ISE5EG.js → chunk-3SE7J4DR.js} +3 -3
- package/chunks/{chunk-APMRLB2H.js → chunk-3WNQOYHQ.js} +12 -12
- package/chunks/{chunk-O7VQ3F22.js → chunk-4ALIARFY.js} +1 -1
- package/chunks/{chunk-FJ6YHWHZ.js → chunk-4DU3NCHG.js} +47 -54
- package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
- package/chunks/{chunk-3HS6Y4UA.js → chunk-4WU6NY7F.js} +2 -2
- package/chunks/{chunk-JRIJOZXO.js → chunk-5ZGR6RKJ.js} +3 -3
- package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
- package/chunks/{chunk-ZQGHESAS.js → chunk-6TR7CFXH.js} +1 -1
- package/chunks/{chunk-EZ53KMUN.js → chunk-757GB46F.js} +1 -1
- package/chunks/{chunk-5YT3Y33M.js → chunk-77QVBFCU.js} +3 -3
- package/chunks/{chunk-5PGKKSO6.js → chunk-7DVT4LVV.js} +35 -28
- package/chunks/{chunk-IMK3SJ43.js → chunk-7VUERJHS.js} +1066 -597
- package/chunks/{chunk-KPMB4JEZ.js → chunk-B52AWKBB.js} +64 -20
- package/chunks/{chunk-R2KZWK5Z.js → chunk-BF224XHL.js} +2 -2
- package/chunks/{chunk-TSYIQDG7.js → chunk-BF52U4XJ.js} +1 -1
- package/chunks/{chunk-LDUGDB5H.js → chunk-C5VWPTGT.js} +1 -1
- package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
- package/chunks/chunk-COBO5EBO.js +135 -0
- package/chunks/{chunk-ACHMWGC5.js → chunk-DQSDACD2.js} +1 -1
- package/chunks/{chunk-VT3VNFVW.js → chunk-DX5W5AON.js} +2 -2
- package/chunks/{chunk-JACAHYEN.js → chunk-E4ZBKMSF.js} +4 -4
- package/chunks/{chunk-MV7VUCIG.js → chunk-EIVICVHM.js} +4 -4
- package/chunks/{chunk-YHEEE624.js → chunk-EN2TKTFH.js} +1 -1
- package/chunks/chunk-F6WFNA7U.js +22 -0
- package/chunks/{chunk-Z6W3XDLN.js → chunk-FN6YXJOP.js} +1 -1
- package/chunks/{chunk-BJKFFPX2.js → chunk-FWBXMANW.js} +3 -3
- package/chunks/{chunk-764F335K.js → chunk-FYAXKJK7.js} +314 -63
- package/chunks/{chunk-XIDHBXUI.js → chunk-GBDINRIL.js} +3 -3
- package/chunks/{chunk-Z5ZAWED3.js → chunk-GOEVOFQI.js} +3 -3
- package/chunks/{chunk-ZKUJ4AO7.js → chunk-GQCEQPYQ.js} +3 -3
- package/chunks/{chunk-BFSQBXHV.js → chunk-GXSNGY5M.js} +399 -534
- package/chunks/{chunk-3ARO4N5G.js → chunk-HA3SAB64.js} +22 -69
- package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
- package/chunks/{chunk-LMEIS6WW.js → chunk-HWX5HPUG.js} +3 -3
- package/chunks/{chunk-VLFX3L3X.js → chunk-IBYULW65.js} +6 -6
- package/chunks/{chunk-SDUDZNF4.js → chunk-IUQ52YJK.js} +1 -1
- package/chunks/{chunk-H2352CX2.js → chunk-IYES5WOT.js} +2 -2
- package/chunks/{chunk-CE5UCTKO.js → chunk-KAQCJO6Y.js} +1 -1
- package/chunks/{chunk-DPH3MUAP.js → chunk-KKDVZLGL.js} +1 -1
- package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
- package/chunks/{chunk-P7HUJDBZ.js → chunk-M3STHEMM.js} +11 -16
- package/chunks/{chunk-VDS2WYM5.js → chunk-NGYI5EF5.js} +2 -2
- package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
- package/chunks/{chunk-GUFY6D3E.js → chunk-NPUXXRJI.js} +1 -1
- package/chunks/{chunk-4Q6N3SNL.js → chunk-NVRDQFCX.js} +1 -1
- package/chunks/{chunk-77WOUGCA.js → chunk-OHKJVAKG.js} +7 -7
- package/chunks/{chunk-TAOSTUHI.js → chunk-PG62DFWD.js} +10 -10
- package/chunks/{chunk-REHWPCG2.js → chunk-PLFATELK.js} +1 -1
- package/chunks/{chunk-APNNM3JC.js → chunk-QGHSP65Z.js} +2 -2
- package/chunks/{chunk-HY2INPTA.js → chunk-QQWD7LZV.js} +4 -4
- package/chunks/{chunk-P74TZRXD.js → chunk-QXVSWG66.js} +1 -1
- package/chunks/{chunk-TX3KSSDN.js → chunk-S3Y3GBFD.js} +1 -1
- package/chunks/{chunk-B23P3YWE.js → chunk-SNRT2TJJ.js} +6 -23
- package/chunks/chunk-SR7RZ4MS.js +202 -0
- package/chunks/{chunk-F3LPXDJP.js → chunk-TE3ZAJE7.js} +13 -3
- package/chunks/{chunk-AB4A73VL.js → chunk-TKSZJ5BV.js} +1 -1
- package/chunks/{chunk-RZMGG3HP.js → chunk-U5SLIG7E.js} +1 -1
- package/chunks/chunk-UA5H3DS2.js +203 -0
- package/chunks/{chunk-JSJTZ6GO.js → chunk-VWMUDKLC.js} +3 -3
- package/chunks/{chunk-RGTB44BO.js → chunk-VXZ5HAOV.js} +1 -1
- package/chunks/{chunk-BCMJPTXV.js → chunk-WG6542MA.js} +1 -1
- package/chunks/{chunk-AG3P2RES.js → chunk-WV5J6Q6N.js} +1 -1
- package/chunks/{chunk-MIA37QO3.js → chunk-XHD7CRP2.js} +2 -2
- package/chunks/{chunk-KKRGVSHC.js → chunk-XZKQT2B2.js} +4 -4
- package/chunks/{chunk-4QJJHIZ5.js → chunk-Y4TETC74.js} +5 -5
- package/chunks/{chunk-QKJT5K4Q.js → chunk-YEF7XEO2.js} +3 -3
- package/chunks/{chunk-UKAYEQDU.js → chunk-YHJFF7KH.js} +131 -38
- package/chunks/{chunk-64YLXLMY.js → chunk-YOM7DEGB.js} +2 -2
- package/chunks/{chunk-BN3OROB3.js → chunk-ZCLLJARV.js} +9 -9
- package/chunks/{chunk-RFA6VDCR.js → chunk-ZHA242R4.js} +2 -2
- package/chunks/{chunk-L4OW63GW.js → chunk-ZPLALRXZ.js} +17 -9
- package/chunks/{computer-use-QLJ27OCZ.js → computer-use-ESQYJ3JY.js} +13 -10
- package/chunks/{config-utils-KIEXWA4F.js → config-utils-XQHBJP7G.js} +2 -2
- package/chunks/{contextCommand-JDTOJRBO.js → contextCommand-CX3YF4ZE.js} +15 -12
- package/chunks/{core-runtime-MZIAVYQC.js → core-runtime-DIAU7JMG.js} +13 -10
- package/chunks/{create-sub-session-YBBCNSHE.js → create-sub-session-HDPD6HOA.js} +13 -10
- package/chunks/{daemon-SCTQMM7Z.js → daemon-VZBGJUNL.js} +30 -0
- package/chunks/{daemon-status-provider-BZ7RD4ZJ.js → daemon-status-provider-H6O4UQ4F.js} +19 -16
- package/chunks/{daemon-trust-policy-2E4C3M7S.js → daemon-trust-policy-BNUXG6MT.js} +20 -17
- package/chunks/{daemon-trust-policy-monitor-UYLFH6RW.js → daemon-trust-policy-monitor-E4EQ7GF4.js} +20 -17
- package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
- package/chunks/{deferred-core-runtime-6XZYMJZB.js → deferred-core-runtime-CBMSHPAU.js} +13 -10
- package/chunks/{dist-BATY7GI4.js → dist-EEEQGCZA.js} +731 -136
- package/chunks/{dist-26RK5XZO.js → dist-MKX5OSFF.js} +4 -3
- package/chunks/{earlyInputCapture-LATQCGDC.js → earlyInputCapture-UIOP7OIN.js} +13 -10
- package/chunks/{edit-72DP57CD.js → edit-ITMZYFKA.js} +13 -10
- package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
- package/chunks/{enter-worktree-B4FY2ZPP.js → enter-worktree-S4PL5UV6.js} +13 -10
- package/chunks/{enterPlanMode-TQBWGCPL.js → enterPlanMode-YV52NNJT.js} +13 -10
- package/chunks/{environment-MOGZGZDS.js → environment-NGOWPRZV.js} +17 -14
- package/chunks/{errors-PGON5GH7.js → errors-BU26DTDX.js} +15 -12
- package/chunks/{exit-worktree-EYUD4YP2.js → exit-worktree-XRM6LH5F.js} +13 -10
- package/chunks/{exitPlanMode-4Q7BSQXR.js → exitPlanMode-ZLI5F7KR.js} +13 -10
- package/chunks/{fast-path-WI7D5MER.js → fast-path-UJWORIED.js} +3 -3
- package/chunks/{fast-path-settings-YBRL24DB.js → fast-path-settings-37WQD5B2.js} +6 -3
- package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
- package/chunks/{gemini-ZXURGM6Y.js → gemini-ZSKNDUMU.js} +55 -48
- package/chunks/{geminiContentGenerator-EOODO75Y.js → geminiContentGenerator-YGEXOEKD.js} +1 -1
- package/chunks/{glob-QNRIUOS6.js → glob-7KZG44BR.js} +13 -10
- package/chunks/{goal-tools-QSYW65HV.js → goal-tools-PXWN5VK3.js} +3 -1
- package/chunks/{grep-56MTW67B.js → grep-6ZFC7RJ5.js} +13 -10
- package/chunks/{handleAutoUpdate-XGFIPVT4.js → handleAutoUpdate-KSEL3TQS.js} +17 -14
- package/chunks/{i18n-RZB35L4B.js → i18n-ZIUXBW5V.js} +14 -11
- package/chunks/{image-gen-OE2EEKN3.js → image-gen-AUIZJJNK.js} +6 -4
- package/chunks/{initializer-YPVMTMKD.js → initializer-7AHY3N6Q.js} +20 -17
- package/chunks/{installationInfo-ZTMTMYNW.js → installationInfo-VGBXMYLY.js} +14 -11
- package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
- package/chunks/{list-NIW3WID5.js → list-PSFKQHLB.js} +23 -20
- package/chunks/{loadedSettingsAdapter-VSLILTOZ.js → loadedSettingsAdapter-FTMRCTOF.js} +20 -17
- package/chunks/{loggingContentGenerator-KFZYVAGV.js → loggingContentGenerator-MZAN52UV.js} +5 -3
- package/chunks/{managed-npm-update-WHTA2K5V.js → managed-npm-update-O4NHK45X.js} +14 -11
- package/chunks/{mcp-7KGK3CS3.js → mcp-6CFP2AYQ.js} +20 -17
- package/chunks/{monitor-FDWEJQWP.js → monitor-DAKD6OU4.js} +13 -10
- package/chunks/{nonInteractiveCli-2MVJ6TCS.js → nonInteractiveCli-RC7VIUZL.js} +49 -44
- package/chunks/{notebook-edit-ZUVK2XWE.js → notebook-edit-474DPMRL.js} +13 -10
- package/chunks/{openaiContentGenerator-TNLWOPH5.js → openaiContentGenerator-2NFY2MWO.js} +6 -3
- package/chunks/{pidfile-BB6SKPH2.js → pidfile-KBFVDNQP.js} +13 -10
- package/chunks/{processUtils-WKHJOPDH.js → processUtils-6GRYH4Y3.js} +2 -2
- package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
- package/chunks/{qwenContentGenerator-FZS2DYF7.js → qwenContentGenerator-KAHU6IZY.js} +14 -11
- package/chunks/{qwenOAuth2-UYMYRXBB.js → qwenOAuth2-RRQTCP4W.js} +6 -4
- package/chunks/{read-file-FMTE6LPA.js → read-file-3M6WXDXP.js} +4 -2
- package/chunks/{resumeHistoryUtils-Z34RCZFF.js → resumeHistoryUtils-D6TAY3HX.js} +16 -13
- package/chunks/{ripGrep-DUIYUZGM.js → ripGrep-PLPENT3E.js} +13 -10
- package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
- package/chunks/{run-qwen-serve-KOHHR3F4.js → run-qwen-serve-ZAFIJKJC.js} +93 -40
- package/chunks/{runtime-K4NTZSAU.js → runtime-ZED7CYOZ.js} +23 -20
- package/chunks/{scheduler-6G6AMURS.js → scheduler-MD3AL2W5.js} +13 -10
- package/chunks/{serve-NMG2TM5K.js → serve-E3VUDRZN.js} +20 -17
- package/chunks/{server-FS7KDELS.js → server-OWMEMAKR.js} +381 -192
- package/chunks/{session-XZADUVKJ.js → session-HZ57QK7K.js} +141 -81
- package/chunks/{settings-G75R6FOA.js → settings-V7BR3RKP.js} +19 -16
- package/chunks/{shell-3D3PMQHE.js → shell-23OMNMW6.js} +13 -10
- package/chunks/{skill-TSEYMVQ2.js → skill-6HBDYZRS.js} +4 -2
- package/chunks/{skill-settings-HJC2CPBJ.js → skill-settings-HWJLTU7M.js} +19 -16
- package/chunks/{spawnChannel-YWCN74G5.js → spawnChannel-N6KKUW5B.js} +13 -10
- package/chunks/{standalone-update-HLYOLX6V.js → standalone-update-QGIKHATD.js} +15 -12
- package/chunks/{startInteractiveUI-ROUIQ5KU.js → startInteractiveUI-GX2CRL42.js} +269 -118
- package/chunks/{team-create-OTP5SSB2.js → team-create-CFFKU7KL.js} +13 -10
- package/chunks/{team-plan-approval-TQX5TMXU.js → team-plan-approval-6EFOKR6A.js} +13 -10
- package/chunks/{terminal-image-renderer-KF3GKNWW.js → terminal-image-renderer-TLDNACQY.js} +13 -10
- package/chunks/{theme-manager-XVWAAGAM.js → theme-manager-5LJ3H7VO.js} +13 -10
- package/chunks/{tool-search-7N4D4O56.js → tool-search-UJV3A24H.js} +4 -2
- package/chunks/{total-session-admission-ZQ4VKIRW.js → total-session-admission-D63QYXGO.js} +15 -12
- package/chunks/{trustedFolders-4XYFPWVV.js → trustedFolders-KZCOB53W.js} +17 -12
- package/chunks/{update-relaunch-L4GSBLUU.js → update-relaunch-IFILM3SA.js} +5 -5
- package/chunks/{updateCheck-PCUTVRFE.js → updateCheck-YZ2CRCFC.js} +16 -13
- package/chunks/{useAutoAcceptIndicator-WMXY7MND.js → useAutoAcceptIndicator-AXEVNA3Q.js} +22 -19
- package/chunks/{validateNonInterActiveAuth-5S3U2D56.js → validateNonInterActiveAuth-3WTOJFWA.js} +44 -41
- package/chunks/{version-P57IQU2T.js → version-GXK7OHZY.js} +1 -1
- package/chunks/{web-fetch-5ZLLLCDD.js → web-fetch-ILB4GAVR.js} +10 -6
- package/chunks/{web-search-NELKANTW.js → web-search-HKRPGPZZ.js} +5 -3
- package/chunks/{workflow-RXKBF3LO.js → workflow-FXIPRQQA.js} +735 -134
- package/chunks/{workspace-providers-status-HAEMNAWC.js → workspace-providers-status-NYHC7HSR.js} +22 -19
- package/chunks/{workspace-registration-store-U3U3YM6V.js → workspace-registration-store-AKEB7OMW.js} +1 -1
- package/chunks/{workspace-registry-ZFP33GVB.js → workspace-registry-CDAS5TVZ.js} +15 -12
- package/chunks/{workspace-service-QMISJBMA.js → workspace-service-PAMUKMAV.js} +23 -20
- package/chunks/{workspace-skills-status-K7EOUGXL.js → workspace-skills-status-YQSHCCMS.js} +20 -17
- package/chunks/{workspace-trust-reconciler-BFPKULDZ.js → workspace-trust-reconciler-RPTXOIY2.js} +22 -19
- package/chunks/{write-file-2F76RRFE.js → write-file-CGS57TS4.js} +13 -10
- package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
- package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
- package/chunks/{zoom-image-DPR22XWY.js → zoom-image-E7D72GYV.js} +4 -2
- package/cli.js +13 -13
- package/locales/ca.js +10 -0
- package/locales/de.js +9 -0
- package/locales/en.js +10 -0
- package/locales/fr.js +9 -0
- package/locales/ja.js +9 -0
- package/locales/pt.js +9 -0
- package/locales/ru.js +9 -0
- package/locales/zh-TW.js +10 -0
- package/locales/zh.js +10 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CunFPPcQ.js → arc-DybZaz32.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-D3SqCgeM.js → architectureDiagram-3BPJPVTR-jN3qBd19.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CPRx90S_.js → blockDiagram-GPEHLZMM-Ct5DZPrj.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CahP9Ue4.js → c4Diagram-AAUBKEIU-CUAFMlUG.js} +1 -1
- package/web-shell/assets/channel-BMwLrwLW.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DckIWZ12.js → chunk-2J33WTMH-CuV8n90B.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-D2Kfctyn.js → chunk-4BX2VUAB-BUzl_kls.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DkI11FTX.js → chunk-55IACEB6-BnDBLX6A.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-rR-TSCIi.js → chunk-727SXJPM-B83uTOjm.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DFGKcGRO.js → chunk-AQP2D5EJ-DM3HLgpT.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CjWqcTPE.js → chunk-FMBD7UC4-CSQ5hgyb.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-RXe-87UV.js → chunk-ND2GUHAM-BWOF4SxX.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-Dz0c_Yrn.js → chunk-QZHKN3VN-BsOH9LMi.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-ZHF0-jvV.js → cose-bilkent-S5V4N54A-IENqH2iJ.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-7Umz_ygJ.js → dagre-BM42HDAG--dyzDTGo.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-DomN8nxq.js → diagram-2AECGRRQ-BE7Dcqof.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-eebvj2OL.js → diagram-5GNKFQAL-Cr8-5OTj.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-IR1mmn9d.js → diagram-KO2AKTUF-Bzey3uAY.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-CKysx5KF.js → diagram-LMA3HP47-sErl28Xb.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-cBy5puHn.js → diagram-OG6HWLK6-Dq30ATIo.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-B5RJagPG.js → erDiagram-TEJ5UH35-BkCoEfVW.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CfHgDmPg.js → flowDiagram-I6XJVG4X-DHwO0rrI.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DUfFF5nb.js → ganttDiagram-6RSMTGT7-s7vAPxWq.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-M9dt57k5.js → gitGraphDiagram-PVQCEYII-CQxhwPOU.js} +1 -1
- package/web-shell/assets/{index-B8e-CkuC.css → index-Bckpjr-I.css} +1 -1
- package/web-shell/assets/{index-CKjO4myk.js → index-CF4wApWp.js} +1 -1
- package/web-shell/assets/{index-Dc-fTO0V.js → index-DwEr9HEW.js} +316 -316
- package/web-shell/assets/{infoDiagram-5YYISTIA-CTKMmIro.js → infoDiagram-5YYISTIA-BnFrD0bq.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DJIJDP4s.js → ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DgRnvn6S.js → journeyDiagram-JHISSGLW-CyGAhsxi.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-VUwO8yrg.js → kanban-definition-UN3LZRKU-CbsK5akB.js} +1 -1
- package/web-shell/assets/{linear-BCvgV5I_.js → linear-cQsF4P8D.js} +1 -1
- package/web-shell/assets/{mermaid.core-mv_kVV6q.js → mermaid.core-Z4HVqrKY.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-sfnjMlOd.js → mindmap-definition-RKZ34NQL-CYnrBo_f.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BlhICse4.js → pieDiagram-4H26LBE5-CBzOfhrs.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BgTQzwen.js → quadrantDiagram-W4KKPZXB-D4LK1Ebn.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CZ-FTrrN.js → requirementDiagram-4Y6WPE33-Bzti2Lcj.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-G5Wp_jn3.js → sankeyDiagram-5OEKKPKP-yTBw5Z2s.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-C8MKZ3i1.js → sequenceDiagram-3UESZ5HK-D07UVRiZ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-Bo0ZDm7y.js → stateDiagram-AJRCARHV-UE_lHsTn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-M3L9E01f.js → timeline-definition-PNZ67QCA-DRvYdiTs.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DD4eHCrm.js → vennDiagram-CIIHVFJN-CQLIXs0u.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-DNEL_3g4.js → wardley-L42UT6IY-JZz_Xqse.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-q484OoqI.js → wardleyDiagram-YWT4CUSO--i7BiJwB.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-4mcNt1Yg.js → xychartDiagram-2RQKCTM6-Bkc-bW0S.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-ALFTV7GA.js +0 -92
- package/web-shell/assets/channel-zbv7GWAw.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DSjLkJJZ.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DSjLkJJZ.js +0 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-31TSCPcH.js +0 -1
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
+
TurnInterruptedError,
|
|
4
5
|
runNonInteractive
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-2ILAOM2I.js";
|
|
7
|
+
import "./chunk-WG6542MA.js";
|
|
7
8
|
import {
|
|
8
9
|
buildPermissionSuggestions
|
|
9
10
|
} from "./chunk-43T5WDQ7.js";
|
|
10
11
|
import {
|
|
11
12
|
settleChatRecording,
|
|
12
13
|
subscribeToHeadlessChatRecordingFailures
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-U5SLIG7E.js";
|
|
14
15
|
import {
|
|
15
16
|
StreamJsonOutputAdapter
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-77QVBFCU.js";
|
|
18
|
+
import "./chunk-FWBXMANW.js";
|
|
18
19
|
import {
|
|
19
20
|
getAvailableCommands
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-YHJFF7KH.js";
|
|
22
|
+
import "./chunk-7VUERJHS.js";
|
|
23
|
+
import "./chunk-XHD7CRP2.js";
|
|
23
24
|
import "./chunk-NYX53SV4.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-EN2TKTFH.js";
|
|
26
|
+
import "./chunk-GOEVOFQI.js";
|
|
26
27
|
import "./chunk-4WGODMVR.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-ZHA242R4.js";
|
|
28
29
|
import "./chunk-YAF2MQZ6.js";
|
|
29
30
|
import "./chunk-CTJLZLB5.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-HWX5HPUG.js";
|
|
31
32
|
import "./chunk-6H67XLET.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-EIVICVHM.js";
|
|
34
|
+
import "./chunk-IYES5WOT.js";
|
|
35
|
+
import "./chunk-2M4K4KYS.js";
|
|
35
36
|
import "./chunk-OWMAZHIX.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-4ALIARFY.js";
|
|
37
38
|
import "./chunk-4NFY2S7N.js";
|
|
38
39
|
import "./chunk-2MIN6GRR.js";
|
|
39
40
|
import "./chunk-QHTIBUWB.js";
|
|
@@ -41,20 +42,20 @@ import "./chunk-EKTCKZV5.js";
|
|
|
41
42
|
import "./chunk-3Z43GZUQ.js";
|
|
42
43
|
import "./chunk-RXFQM6FQ.js";
|
|
43
44
|
import "./chunk-HGCQ5SE7.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-GBDINRIL.js";
|
|
46
|
+
import "./chunk-C5VWPTGT.js";
|
|
46
47
|
import "./chunk-AOHJKPKL.js";
|
|
47
48
|
import "./chunk-Z4X5MTRT.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-E4ZBKMSF.js";
|
|
50
|
+
import "./chunk-QQWD7LZV.js";
|
|
50
51
|
import "./chunk-57OAHC2Y.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-3SE7J4DR.js";
|
|
52
53
|
import "./chunk-3SH53ANB.js";
|
|
53
54
|
import "./chunk-MZSJ43WV.js";
|
|
54
55
|
import "./chunk-XCGIMOLN.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-QXVSWG66.js";
|
|
56
57
|
import "./chunk-KJZ26VBX.js";
|
|
57
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-NGYI5EF5.js";
|
|
58
59
|
import "./chunk-V6WHFGST.js";
|
|
59
60
|
import "./chunk-6PLDPT2C.js";
|
|
60
61
|
import "./chunk-FYJ7W2PI.js";
|
|
@@ -68,21 +69,21 @@ import "./chunk-UVX4Y6IN.js";
|
|
|
68
69
|
import "./chunk-ZWBUH5UP.js";
|
|
69
70
|
import "./chunk-DIWZNWZT.js";
|
|
70
71
|
import "./chunk-UDXSXLER.js";
|
|
71
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-Y4TETC74.js";
|
|
72
73
|
import {
|
|
73
74
|
createMinimalSettings
|
|
74
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-OHKJVAKG.js";
|
|
75
76
|
import "./chunk-RKUWKYED.js";
|
|
76
77
|
import "./chunk-GOXKNSDZ.js";
|
|
77
78
|
import "./chunk-IDS7MSUP.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-
|
|
82
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-PG62DFWD.js";
|
|
80
|
+
import "./chunk-B52AWKBB.js";
|
|
81
|
+
import "./chunk-UA5H3DS2.js";
|
|
82
|
+
import "./chunk-IUQ52YJK.js";
|
|
83
|
+
import "./chunk-FN6YXJOP.js";
|
|
83
84
|
import "./chunk-VJNBRRZG.js";
|
|
84
|
-
import "./chunk-
|
|
85
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-HA3SAB64.js";
|
|
86
|
+
import "./chunk-NPQ5ZKRP.js";
|
|
86
87
|
import "./chunk-MR3PXB6E.js";
|
|
87
88
|
import "./chunk-XFSFZCM5.js";
|
|
88
89
|
import {
|
|
@@ -90,7 +91,7 @@ import {
|
|
|
90
91
|
TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
|
|
91
92
|
buildSessionRecoveryPlanFromApiHistory,
|
|
92
93
|
loadUsageDashboard
|
|
93
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-GXSNGY5M.js";
|
|
94
95
|
import "./chunk-GOFAQQZA.js";
|
|
95
96
|
import "./chunk-5M6IDOMF.js";
|
|
96
97
|
import "./chunk-TWPJO254.js";
|
|
@@ -100,7 +101,7 @@ import "./chunk-MVUQRLOH.js";
|
|
|
100
101
|
import "./chunk-XCWO3SMQ.js";
|
|
101
102
|
import "./chunk-7MH4J33A.js";
|
|
102
103
|
import "./chunk-6PVPNMXU.js";
|
|
103
|
-
import "./chunk-
|
|
104
|
+
import "./chunk-VXZ5HAOV.js";
|
|
104
105
|
import "./chunk-IRH27ZC2.js";
|
|
105
106
|
import "./chunk-QHWCP53L.js";
|
|
106
107
|
import "./chunk-GNPNYXJB.js";
|
|
@@ -113,10 +114,10 @@ import "./chunk-J6SZID63.js";
|
|
|
113
114
|
import "./chunk-KRXPRVGL.js";
|
|
114
115
|
import "./chunk-GM463R2B.js";
|
|
115
116
|
import "./chunk-SEZ556DZ.js";
|
|
116
|
-
import "./chunk-
|
|
117
|
-
import "./chunk-
|
|
117
|
+
import "./chunk-2FRY5CRX.js";
|
|
118
|
+
import "./chunk-67N6HB5H.js";
|
|
118
119
|
import "./chunk-WAUGQKUU.js";
|
|
119
|
-
import "./chunk-
|
|
120
|
+
import "./chunk-PLFATELK.js";
|
|
120
121
|
import "./chunk-L4N6TIP7.js";
|
|
121
122
|
import "./chunk-SAH4BD2J.js";
|
|
122
123
|
import "./chunk-CPG6P4GG.js";
|
|
@@ -126,11 +127,12 @@ import "./chunk-IA7TGCN2.js";
|
|
|
126
127
|
import "./chunk-K623ENWT.js";
|
|
127
128
|
import "./chunk-AQ37AY7B.js";
|
|
128
129
|
import "./chunk-EQL65XGA.js";
|
|
129
|
-
import "./chunk-
|
|
130
|
+
import "./chunk-3P2LV43B.js";
|
|
130
131
|
import "./chunk-NAVJD2PQ.js";
|
|
131
|
-
import "./chunk-
|
|
132
|
-
import "./chunk-
|
|
132
|
+
import "./chunk-HV76SFIA.js";
|
|
133
|
+
import "./chunk-4PYCZH2V.js";
|
|
133
134
|
import "./chunk-P3QQPMQA.js";
|
|
135
|
+
import "./chunk-SR7RZ4MS.js";
|
|
134
136
|
import "./chunk-M6HMMKVG.js";
|
|
135
137
|
import {
|
|
136
138
|
normalizeReasoningEffort
|
|
@@ -140,15 +142,17 @@ import "./chunk-AXMWHKXA.js";
|
|
|
140
142
|
import "./chunk-GLCZKT5V.js";
|
|
141
143
|
import "./chunk-DJ2GSRLV.js";
|
|
142
144
|
import "./chunk-EI3HZX6C.js";
|
|
143
|
-
import "./chunk-
|
|
145
|
+
import "./chunk-3PY4LPJF.js";
|
|
144
146
|
import "./chunk-WOJZWRAZ.js";
|
|
145
147
|
import "./chunk-VGC4I5JJ.js";
|
|
146
148
|
import "./chunk-FVKHVJZQ.js";
|
|
149
|
+
import "./chunk-COBO5EBO.js";
|
|
147
150
|
import "./chunk-6ZRFAKXK.js";
|
|
148
151
|
import {
|
|
149
152
|
ToolNames
|
|
150
153
|
} from "./chunk-PYQADEFD.js";
|
|
151
|
-
import "./chunk-
|
|
154
|
+
import "./chunk-M3STHEMM.js";
|
|
155
|
+
import "./chunk-F6WFNA7U.js";
|
|
152
156
|
import "./chunk-46UV252V.js";
|
|
153
157
|
import "./chunk-ZBVS26BY.js";
|
|
154
158
|
import "./chunk-KKBPOU75.js";
|
|
@@ -161,13 +165,13 @@ import {
|
|
|
161
165
|
createDebugLogger
|
|
162
166
|
} from "./chunk-OIVKILPI.js";
|
|
163
167
|
import "./chunk-VOQXFAY5.js";
|
|
164
|
-
import "./chunk-
|
|
168
|
+
import "./chunk-BF52U4XJ.js";
|
|
165
169
|
import {
|
|
166
170
|
finalizeStartupProfile,
|
|
167
171
|
profileCheckpoint
|
|
168
172
|
} from "./chunk-QSWDGAIC.js";
|
|
169
173
|
import "./chunk-Q7YDKOGY.js";
|
|
170
|
-
import "./chunk-
|
|
174
|
+
import "./chunk-6TR7CFXH.js";
|
|
171
175
|
import "./chunk-KGJGEEVR.js";
|
|
172
176
|
import "./chunk-75DOP5OR.js";
|
|
173
177
|
import "./chunk-DMTGGOSA.js";
|
|
@@ -251,6 +255,7 @@ var ControlContext = class {
|
|
|
251
255
|
streamJson;
|
|
252
256
|
sessionId;
|
|
253
257
|
abortSignal;
|
|
258
|
+
getActiveTurnAbortSignal;
|
|
254
259
|
debugMode;
|
|
255
260
|
settings;
|
|
256
261
|
permissionMode;
|
|
@@ -265,6 +270,7 @@ var ControlContext = class {
|
|
|
265
270
|
this.streamJson = options.streamJson;
|
|
266
271
|
this.sessionId = options.sessionId;
|
|
267
272
|
this.abortSignal = options.abortSignal;
|
|
273
|
+
this.getActiveTurnAbortSignal = options.getActiveTurnAbortSignal;
|
|
268
274
|
this.debugMode = options.config.getDebugMode();
|
|
269
275
|
this.settings = options.settings;
|
|
270
276
|
this.permissionMode = options.permissionMode || "default";
|
|
@@ -300,6 +306,16 @@ var BaseController = class {
|
|
|
300
306
|
this.controllerName = controllerName;
|
|
301
307
|
this.debugLogger = createDebugLogger();
|
|
302
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Capture cancellation for a request owned by the current turn. Session
|
|
311
|
+
* cancellation always applies; when a turn is active, interrupting that
|
|
312
|
+
* turn also cancels the request. Call this when creating each request so a
|
|
313
|
+
* later active turn cannot take ownership of work already in flight.
|
|
314
|
+
*/
|
|
315
|
+
getTurnRequestAbortSignal() {
|
|
316
|
+
const activeTurnSignal = this.context.getActiveTurnAbortSignal?.();
|
|
317
|
+
return activeTurnSignal ? AbortSignal.any([this.context.abortSignal, activeTurnSignal]) : this.context.abortSignal;
|
|
318
|
+
}
|
|
303
319
|
/**
|
|
304
320
|
* Handle an incoming control request
|
|
305
321
|
*
|
|
@@ -466,7 +482,7 @@ var SystemController = class extends BaseController {
|
|
|
466
482
|
throw new Error("Request aborted");
|
|
467
483
|
}
|
|
468
484
|
try {
|
|
469
|
-
const mod = await import("./contextCommand-
|
|
485
|
+
const mod = await import("./contextCommand-CX3YF4ZE.js");
|
|
470
486
|
if (signal.aborted) {
|
|
471
487
|
throw new Error("Request aborted");
|
|
472
488
|
}
|
|
@@ -1103,13 +1119,14 @@ var PermissionController = class extends BaseController {
|
|
|
1103
1119
|
* This is passed to executeToolCall to hook into CoreToolScheduler updates
|
|
1104
1120
|
*/
|
|
1105
1121
|
getToolCallUpdateCallback() {
|
|
1122
|
+
const turnSignal = this.getTurnRequestAbortSignal();
|
|
1106
1123
|
return (toolCalls) => {
|
|
1107
1124
|
for (const call of toolCalls) {
|
|
1108
1125
|
if (call && typeof call === "object" && call.status === "awaiting_approval") {
|
|
1109
1126
|
const awaiting = call;
|
|
1110
1127
|
if (typeof awaiting.confirmationDetails?.onConfirm === "function" && !this.pendingOutgoingRequests.has(awaiting.request.callId)) {
|
|
1111
1128
|
this.pendingOutgoingRequests.add(awaiting.request.callId);
|
|
1112
|
-
void this.handleOutgoingPermissionRequest(awaiting);
|
|
1129
|
+
void this.handleOutgoingPermissionRequest(awaiting, turnSignal);
|
|
1113
1130
|
}
|
|
1114
1131
|
}
|
|
1115
1132
|
}
|
|
@@ -1152,7 +1169,7 @@ var PermissionController = class extends BaseController {
|
|
|
1152
1169
|
*/
|
|
1153
1170
|
async handleTeammateApproval(event) {
|
|
1154
1171
|
try {
|
|
1155
|
-
if (this.context.abortSignal
|
|
1172
|
+
if (this.context.abortSignal.aborted) {
|
|
1156
1173
|
await event.respond("cancel" /* Cancel */);
|
|
1157
1174
|
return;
|
|
1158
1175
|
}
|
|
@@ -1279,11 +1296,11 @@ var PermissionController = class extends BaseController {
|
|
|
1279
1296
|
* - stream-json mode: Send can_use_tool to SDK and await response
|
|
1280
1297
|
* - Other modes: Check local approval mode and decide immediately
|
|
1281
1298
|
*/
|
|
1282
|
-
async handleOutgoingPermissionRequest(toolCall) {
|
|
1299
|
+
async handleOutgoingPermissionRequest(toolCall, signal) {
|
|
1283
1300
|
const requiresUserInteraction = toolCall.invocation?.requiresUserInteraction?.() === true;
|
|
1284
1301
|
const interactionUnavailableMessage = toolCall.request.name === ToolNames.EXIT_PLAN_MODE ? "The host could not present plan-exit approval. Use the host mode selector or /plan exit to leave plan mode." : `The host could not present the required approval for "${toolCall.request.name}".`;
|
|
1285
1302
|
try {
|
|
1286
|
-
if (
|
|
1303
|
+
if (signal.aborted) {
|
|
1287
1304
|
await toolCall.confirmationDetails.onConfirm(
|
|
1288
1305
|
"cancel" /* Cancel */
|
|
1289
1306
|
);
|
|
@@ -1319,7 +1336,7 @@ var PermissionController = class extends BaseController {
|
|
|
1319
1336
|
blocked_path: null
|
|
1320
1337
|
},
|
|
1321
1338
|
this.context.sdkCanUseToolTimeoutMs ?? DEFAULT_CAN_USE_TOOL_TIMEOUT_MS,
|
|
1322
|
-
|
|
1339
|
+
signal
|
|
1323
1340
|
);
|
|
1324
1341
|
if (response.subtype !== "success") {
|
|
1325
1342
|
await toolCall.confirmationDetails.onConfirm(
|
|
@@ -1447,6 +1464,7 @@ var SdkMcpController = class extends BaseController {
|
|
|
1447
1464
|
`[SdkMcpController] Sending MCP message to SDK server '${serverName}':`,
|
|
1448
1465
|
JSON.stringify(message)
|
|
1449
1466
|
);
|
|
1467
|
+
const signal = this.getTurnRequestAbortSignal();
|
|
1450
1468
|
const response = await this.sendControlRequest(
|
|
1451
1469
|
{
|
|
1452
1470
|
subtype: "mcp_message",
|
|
@@ -1454,7 +1472,7 @@ var SdkMcpController = class extends BaseController {
|
|
|
1454
1472
|
message
|
|
1455
1473
|
},
|
|
1456
1474
|
MCP_REQUEST_TIMEOUT,
|
|
1457
|
-
|
|
1475
|
+
signal
|
|
1458
1476
|
);
|
|
1459
1477
|
const responsePayload = response.response;
|
|
1460
1478
|
const mcpResponse = responsePayload?.["mcp_response"];
|
|
@@ -1497,6 +1515,7 @@ var ControlDispatcher = class {
|
|
|
1497
1515
|
pendingIncomingRequests = /* @__PURE__ */ new Map();
|
|
1498
1516
|
pendingOutgoingRequests = /* @__PURE__ */ new Map();
|
|
1499
1517
|
abortHandler = null;
|
|
1518
|
+
isShutdown = false;
|
|
1500
1519
|
constructor(context) {
|
|
1501
1520
|
this.context = context;
|
|
1502
1521
|
this.systemController = new SystemController(
|
|
@@ -1617,6 +1636,10 @@ var ControlDispatcher = class {
|
|
|
1617
1636
|
* Stops all pending requests and cleans up all controllers
|
|
1618
1637
|
*/
|
|
1619
1638
|
shutdown() {
|
|
1639
|
+
if (this.isShutdown) {
|
|
1640
|
+
return;
|
|
1641
|
+
}
|
|
1642
|
+
this.isShutdown = true;
|
|
1620
1643
|
debugLogger2.debug("[ControlDispatcher] Shutting down");
|
|
1621
1644
|
if (this.abortHandler) {
|
|
1622
1645
|
this.context.abortSignal.removeEventListener("abort", this.abortHandler);
|
|
@@ -1951,7 +1974,8 @@ var Session = class {
|
|
|
1951
1974
|
monitorQueue = [];
|
|
1952
1975
|
pendingContinueTurn = false;
|
|
1953
1976
|
continueTurnInProgress = false;
|
|
1954
|
-
|
|
1977
|
+
sessionAbortController;
|
|
1978
|
+
activeTurnAbortController = null;
|
|
1955
1979
|
config;
|
|
1956
1980
|
sessionId;
|
|
1957
1981
|
promptIdCounter = 0;
|
|
@@ -1979,7 +2003,7 @@ var Session = class {
|
|
|
1979
2003
|
this.config = config;
|
|
1980
2004
|
this.settings = settings;
|
|
1981
2005
|
this.sessionId = config.getSessionId();
|
|
1982
|
-
this.
|
|
2006
|
+
this.sessionAbortController = new AbortController();
|
|
1983
2007
|
this.initialPrompt = initialPrompt ?? null;
|
|
1984
2008
|
this.inputReader = new StreamJsonInputReader();
|
|
1985
2009
|
this.outputAdapter = new StreamJsonOutputAdapter(
|
|
@@ -2052,7 +2076,7 @@ var Session = class {
|
|
|
2052
2076
|
}
|
|
2053
2077
|
const registry = this.config.getMonitorRegistry();
|
|
2054
2078
|
registry.setNotificationCallback((displayText, modelText, meta) => {
|
|
2055
|
-
if (this.isShuttingDown || this.
|
|
2079
|
+
if (this.isShuttingDown || this.sessionAbortController.signal.aborted) {
|
|
2056
2080
|
return;
|
|
2057
2081
|
}
|
|
2058
2082
|
if (meta.status === "running" && typeof registry.get === "function") {
|
|
@@ -2077,7 +2101,7 @@ var Session = class {
|
|
|
2077
2101
|
}
|
|
2078
2102
|
const registry = this.config.getMonitorRegistry();
|
|
2079
2103
|
registry.setRegisterCallback((entry) => {
|
|
2080
|
-
if (this.isShuttingDown || this.
|
|
2104
|
+
if (this.isShuttingDown || this.sessionAbortController.signal.aborted) {
|
|
2081
2105
|
return;
|
|
2082
2106
|
}
|
|
2083
2107
|
this.enqueueMonitorStarted({
|
|
@@ -2127,7 +2151,8 @@ var Session = class {
|
|
|
2127
2151
|
config: this.config,
|
|
2128
2152
|
streamJson: this.outputAdapter,
|
|
2129
2153
|
sessionId: this.sessionId,
|
|
2130
|
-
abortSignal: this.
|
|
2154
|
+
abortSignal: this.sessionAbortController.signal,
|
|
2155
|
+
getActiveTurnAbortSignal: /* @__PURE__ */ __name(() => this.activeTurnAbortController?.signal, "getActiveTurnAbortSignal"),
|
|
2131
2156
|
settings: this.settings,
|
|
2132
2157
|
permissionMode: this.config.getApprovalMode(),
|
|
2133
2158
|
onInterrupt: /* @__PURE__ */ __name(() => this.handleInterrupt(), "onInterrupt"),
|
|
@@ -2252,16 +2277,20 @@ var Session = class {
|
|
|
2252
2277
|
}
|
|
2253
2278
|
await this.waitForInitialization();
|
|
2254
2279
|
const promptId = this.getNextPromptId();
|
|
2280
|
+
const turnAbortController = this.startTurn();
|
|
2255
2281
|
try {
|
|
2256
2282
|
await runNonInteractive(this.config, this.settings, input, promptId, {
|
|
2257
|
-
abortController:
|
|
2283
|
+
abortController: turnAbortController,
|
|
2258
2284
|
adapter: this.outputAdapter,
|
|
2259
2285
|
controlService: this.controlService ?? void 0,
|
|
2260
2286
|
captureMonitorNotifications: false,
|
|
2261
|
-
captureMonitorRegistrations: false
|
|
2287
|
+
captureMonitorRegistrations: false,
|
|
2288
|
+
recoverableCancellation: true
|
|
2262
2289
|
});
|
|
2263
2290
|
} catch (error) {
|
|
2264
2291
|
debugLogger3.error("[Session] Query execution error:", error);
|
|
2292
|
+
} finally {
|
|
2293
|
+
this.finishTurn(turnAbortController);
|
|
2265
2294
|
}
|
|
2266
2295
|
}
|
|
2267
2296
|
/**
|
|
@@ -2272,7 +2301,7 @@ var Session = class {
|
|
|
2272
2301
|
*/
|
|
2273
2302
|
async requestContinueLastTurn() {
|
|
2274
2303
|
await this.waitForInitialization();
|
|
2275
|
-
if (this.isShuttingDown || this.
|
|
2304
|
+
if (this.isShuttingDown || this.sessionAbortController.signal.aborted) {
|
|
2276
2305
|
debugLogger3.debug(
|
|
2277
2306
|
"[Session] continue_last_turn rejected: session is shutting down"
|
|
2278
2307
|
);
|
|
@@ -2326,16 +2355,19 @@ var Session = class {
|
|
|
2326
2355
|
async processContinueTurn() {
|
|
2327
2356
|
this.continueTurnInProgress = true;
|
|
2328
2357
|
let resultAlreadyEmitted = false;
|
|
2358
|
+
let turnAbortController = null;
|
|
2329
2359
|
try {
|
|
2330
2360
|
await this.waitForInitialization();
|
|
2331
2361
|
const promptId = this.getNextPromptId();
|
|
2362
|
+
turnAbortController = this.startTurn();
|
|
2332
2363
|
await runNonInteractive(this.config, this.settings, "", promptId, {
|
|
2333
|
-
abortController:
|
|
2364
|
+
abortController: turnAbortController,
|
|
2334
2365
|
adapter: this.outputAdapter,
|
|
2335
2366
|
controlService: this.controlService ?? void 0,
|
|
2336
2367
|
continueInterrupted: true,
|
|
2337
2368
|
captureMonitorNotifications: false,
|
|
2338
2369
|
captureMonitorRegistrations: false,
|
|
2370
|
+
recoverableCancellation: true,
|
|
2339
2371
|
onResultEmitted: /* @__PURE__ */ __name(() => {
|
|
2340
2372
|
resultAlreadyEmitted = true;
|
|
2341
2373
|
}, "onResultEmitted")
|
|
@@ -2351,6 +2383,9 @@ var Session = class {
|
|
|
2351
2383
|
}
|
|
2352
2384
|
throw new Error(`Continue turn failed: ${message}`, { cause: error });
|
|
2353
2385
|
} finally {
|
|
2386
|
+
if (turnAbortController) {
|
|
2387
|
+
this.finishTurn(turnAbortController);
|
|
2388
|
+
}
|
|
2354
2389
|
this.continueTurnInProgress = false;
|
|
2355
2390
|
}
|
|
2356
2391
|
}
|
|
@@ -2375,27 +2410,33 @@ var Session = class {
|
|
|
2375
2410
|
const combinedModelText = batch.map((n) => n.modelText).join("\n\n");
|
|
2376
2411
|
const combinedDisplayText = batch.map((n) => n.displayText).join("; ");
|
|
2377
2412
|
const promptId = this.getNextPromptId();
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2413
|
+
const turnAbortController = this.startTurn();
|
|
2414
|
+
try {
|
|
2415
|
+
await runNonInteractive(
|
|
2416
|
+
this.config,
|
|
2417
|
+
this.settings,
|
|
2418
|
+
combinedModelText,
|
|
2419
|
+
promptId,
|
|
2420
|
+
{
|
|
2421
|
+
abortController: turnAbortController,
|
|
2422
|
+
adapter: this.outputAdapter,
|
|
2423
|
+
controlService: this.controlService ?? void 0,
|
|
2424
|
+
sendMessageType: "notification" /* Notification */,
|
|
2425
|
+
notificationDisplayText: combinedDisplayText,
|
|
2426
|
+
captureMonitorNotifications: false,
|
|
2427
|
+
captureMonitorRegistrations: false,
|
|
2428
|
+
recoverableCancellation: true
|
|
2429
|
+
}
|
|
2430
|
+
);
|
|
2431
|
+
} finally {
|
|
2432
|
+
this.finishTurn(turnAbortController);
|
|
2433
|
+
}
|
|
2393
2434
|
}
|
|
2394
2435
|
async processPendingWork() {
|
|
2395
|
-
if (this.isShuttingDown || this.
|
|
2436
|
+
if (this.isShuttingDown || this.sessionAbortController.signal.aborted) {
|
|
2396
2437
|
return;
|
|
2397
2438
|
}
|
|
2398
|
-
while ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.
|
|
2439
|
+
while ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.sessionAbortController.signal.aborted) {
|
|
2399
2440
|
if (this.pendingContinueTurn) {
|
|
2400
2441
|
this.pendingContinueTurn = false;
|
|
2401
2442
|
try {
|
|
@@ -2454,7 +2495,7 @@ var Session = class {
|
|
|
2454
2495
|
}
|
|
2455
2496
|
this.processingPromise = this.processPendingWork().finally(() => {
|
|
2456
2497
|
this.processingPromise = null;
|
|
2457
|
-
if ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.
|
|
2498
|
+
if ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.sessionAbortController.signal.aborted) {
|
|
2458
2499
|
this.ensureProcessingStarted();
|
|
2459
2500
|
}
|
|
2460
2501
|
});
|
|
@@ -2473,13 +2514,30 @@ var Session = class {
|
|
|
2473
2514
|
}
|
|
2474
2515
|
handleInterrupt() {
|
|
2475
2516
|
debugLogger3.info("[Session] Interrupt requested");
|
|
2476
|
-
this.
|
|
2517
|
+
this.activeTurnAbortController?.abort(new TurnInterruptedError());
|
|
2518
|
+
}
|
|
2519
|
+
startTurn() {
|
|
2520
|
+
const controller = new AbortController();
|
|
2521
|
+
if (this.sessionAbortController.signal.aborted) {
|
|
2522
|
+
controller.abort(this.sessionAbortController.signal.reason);
|
|
2523
|
+
}
|
|
2524
|
+
this.activeTurnAbortController = controller;
|
|
2525
|
+
return controller;
|
|
2526
|
+
}
|
|
2527
|
+
finishTurn(controller) {
|
|
2528
|
+
if (this.activeTurnAbortController === controller) {
|
|
2529
|
+
this.activeTurnAbortController = null;
|
|
2530
|
+
}
|
|
2531
|
+
}
|
|
2532
|
+
abortSession() {
|
|
2533
|
+
this.activeTurnAbortController?.abort();
|
|
2534
|
+
this.sessionAbortController.abort();
|
|
2477
2535
|
}
|
|
2478
2536
|
setupSignalHandlers() {
|
|
2479
2537
|
this.shutdownHandler = () => {
|
|
2480
2538
|
debugLogger3.info("[Session] Shutdown signal received");
|
|
2481
2539
|
this.isShuttingDown = true;
|
|
2482
|
-
this.
|
|
2540
|
+
this.abortSession();
|
|
2483
2541
|
};
|
|
2484
2542
|
process.on("SIGINT", this.shutdownHandler);
|
|
2485
2543
|
process.on("SIGTERM", this.shutdownHandler);
|
|
@@ -2523,6 +2581,7 @@ var Session = class {
|
|
|
2523
2581
|
async shutdown() {
|
|
2524
2582
|
debugLogger3.debug("[Session] Shutting down");
|
|
2525
2583
|
this.isShuttingDown = true;
|
|
2584
|
+
this.abortSession();
|
|
2526
2585
|
this.abortTaskRegistries();
|
|
2527
2586
|
this.stopMonitorCallbacks();
|
|
2528
2587
|
await this.waitForAllPendingWork();
|
|
@@ -2543,6 +2602,7 @@ var Session = class {
|
|
|
2543
2602
|
this.config.getBackgroundTaskRegistry().abortAll();
|
|
2544
2603
|
}
|
|
2545
2604
|
finishShutdown() {
|
|
2605
|
+
this.abortSession();
|
|
2546
2606
|
this.dispatcher?.shutdown();
|
|
2547
2607
|
this.cleanupSignalHandlers();
|
|
2548
2608
|
}
|
|
@@ -2593,7 +2653,7 @@ var Session = class {
|
|
|
2593
2653
|
}
|
|
2594
2654
|
try {
|
|
2595
2655
|
for await (const message of this.inputReader.read()) {
|
|
2596
|
-
if (this.
|
|
2656
|
+
if (this.sessionAbortController.signal.aborted) {
|
|
2597
2657
|
break;
|
|
2598
2658
|
}
|
|
2599
2659
|
if (isControlResponse(message)) {
|
|
@@ -13,14 +13,14 @@ import {
|
|
|
13
13
|
loadSettings,
|
|
14
14
|
migrateLegacyPermissions,
|
|
15
15
|
saveSettings
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OHKJVAKG.js";
|
|
17
17
|
import "./chunk-RKUWKYED.js";
|
|
18
18
|
import "./chunk-GOXKNSDZ.js";
|
|
19
19
|
import {
|
|
20
20
|
getSystemDefaultsPath,
|
|
21
21
|
getSystemSettingsPath
|
|
22
22
|
} from "./chunk-IDS7MSUP.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-PG62DFWD.js";
|
|
24
24
|
import {
|
|
25
25
|
SETTINGS_DIRECTORY_NAME,
|
|
26
26
|
getHomeEnvFallbackVars,
|
|
@@ -30,16 +30,16 @@ import {
|
|
|
30
30
|
resetEnvironmentTrackingForTesting,
|
|
31
31
|
resetHomeEnvBootstrapForTesting,
|
|
32
32
|
setUpCloudShellEnvironment
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-B52AWKBB.js";
|
|
34
34
|
import {
|
|
35
35
|
DEFAULT_EXCLUDED_ENV_VARS,
|
|
36
36
|
ENV_CORRUPTED_PATH,
|
|
37
37
|
ENV_WAS_RECOVERED
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-UA5H3DS2.js";
|
|
39
|
+
import "./chunk-HA3SAB64.js";
|
|
40
|
+
import "./chunk-NPQ5ZKRP.js";
|
|
41
41
|
import "./chunk-MR3PXB6E.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-GXSNGY5M.js";
|
|
43
43
|
import "./chunk-GOFAQQZA.js";
|
|
44
44
|
import "./chunk-5M6IDOMF.js";
|
|
45
45
|
import "./chunk-TWPJO254.js";
|
|
@@ -49,7 +49,7 @@ import "./chunk-MVUQRLOH.js";
|
|
|
49
49
|
import "./chunk-XCWO3SMQ.js";
|
|
50
50
|
import "./chunk-7MH4J33A.js";
|
|
51
51
|
import "./chunk-6PVPNMXU.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-VXZ5HAOV.js";
|
|
53
53
|
import "./chunk-IRH27ZC2.js";
|
|
54
54
|
import "./chunk-QHWCP53L.js";
|
|
55
55
|
import "./chunk-GNPNYXJB.js";
|
|
@@ -62,10 +62,10 @@ import "./chunk-J6SZID63.js";
|
|
|
62
62
|
import "./chunk-KRXPRVGL.js";
|
|
63
63
|
import "./chunk-GM463R2B.js";
|
|
64
64
|
import "./chunk-SEZ556DZ.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-2FRY5CRX.js";
|
|
66
|
+
import "./chunk-67N6HB5H.js";
|
|
67
67
|
import "./chunk-WAUGQKUU.js";
|
|
68
|
-
import "./chunk-
|
|
68
|
+
import "./chunk-PLFATELK.js";
|
|
69
69
|
import "./chunk-L4N6TIP7.js";
|
|
70
70
|
import "./chunk-SAH4BD2J.js";
|
|
71
71
|
import "./chunk-CPG6P4GG.js";
|
|
@@ -75,11 +75,12 @@ import "./chunk-IA7TGCN2.js";
|
|
|
75
75
|
import "./chunk-K623ENWT.js";
|
|
76
76
|
import "./chunk-AQ37AY7B.js";
|
|
77
77
|
import "./chunk-EQL65XGA.js";
|
|
78
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-3P2LV43B.js";
|
|
79
79
|
import "./chunk-NAVJD2PQ.js";
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-HV76SFIA.js";
|
|
81
|
+
import "./chunk-4PYCZH2V.js";
|
|
82
82
|
import "./chunk-P3QQPMQA.js";
|
|
83
|
+
import "./chunk-SR7RZ4MS.js";
|
|
83
84
|
import "./chunk-M6HMMKVG.js";
|
|
84
85
|
import "./chunk-DGEIYUC3.js";
|
|
85
86
|
import "./chunk-MPHPFVKK.js";
|
|
@@ -87,13 +88,15 @@ import "./chunk-AXMWHKXA.js";
|
|
|
87
88
|
import "./chunk-GLCZKT5V.js";
|
|
88
89
|
import "./chunk-DJ2GSRLV.js";
|
|
89
90
|
import "./chunk-EI3HZX6C.js";
|
|
90
|
-
import "./chunk-
|
|
91
|
+
import "./chunk-3PY4LPJF.js";
|
|
91
92
|
import "./chunk-WOJZWRAZ.js";
|
|
92
93
|
import "./chunk-VGC4I5JJ.js";
|
|
93
94
|
import "./chunk-FVKHVJZQ.js";
|
|
95
|
+
import "./chunk-COBO5EBO.js";
|
|
94
96
|
import "./chunk-6ZRFAKXK.js";
|
|
95
97
|
import "./chunk-PYQADEFD.js";
|
|
96
|
-
import "./chunk-
|
|
98
|
+
import "./chunk-M3STHEMM.js";
|
|
99
|
+
import "./chunk-F6WFNA7U.js";
|
|
97
100
|
import "./chunk-46UV252V.js";
|
|
98
101
|
import "./chunk-ZBVS26BY.js";
|
|
99
102
|
import "./chunk-KKBPOU75.js";
|