@qwen-code/qwen-code 0.24.1-preview.2 → 0.24.1-test.notes-compaction.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/chunks/{MaxSizedBox-SUYPYRBN.js → MaxSizedBox-4BFFL7ST.js} +42 -42
- package/chunks/{StandaloneSessionPicker-BCKO4L6S.js → StandaloneSessionPicker-FK3J2NB6.js} +61 -61
- package/chunks/{acp-subagent-executor-5LXVJNPU.js → acp-subagent-executor-HSTCGP7M.js} +47 -47
- package/chunks/{acpAgent-Z7ZNFWDZ.js → acpAgent-UDBIT6QH.js} +150 -218
- package/chunks/{agent-6SYYNHSZ.js → agent-LDTN25VW.js} +25 -25
- package/chunks/{agent-headless-Q2YFS6PA.js → agent-headless-KCGNSGAN.js} +25 -25
- package/chunks/{anthropicContentGenerator-AJCHMLEF.js → anthropicContentGenerator-6YWUBLU4.js} +3 -3
- package/chunks/{artifact-tool-ZNYOGV2B.js → artifact-tool-MIP3IJZ2.js} +2 -2
- package/chunks/{askUserQuestion-RYGNEYFC.js → askUserQuestion-GZGGQM2V.js} +2 -2
- package/chunks/{bridge-ZRMHGUUN.js → bridge-CPTCNR3W.js} +46 -46
- package/chunks/{caption-audio-WJTT7JNK.js → caption-audio-L3HOMTUY.js} +3 -3
- package/chunks/{caption-image-VEPFLHPM.js → caption-image-GY23BCP2.js} +3 -3
- package/chunks/{channel-management-service-3WOOQ4XM.js → channel-management-service-3N7PWPPX.js} +1 -1
- package/chunks/{channel-settings-store-RRFC7WBW.js → channel-settings-store-FKNZKDL2.js} +50 -50
- package/chunks/{channel-worker-group-JQVH6YXZ.js → channel-worker-group-2GQEYLPK.js} +5 -5
- package/chunks/{channel-worker-manager-6GRAAS5P.js → channel-worker-manager-632CIIWM.js} +5 -5
- package/chunks/{channel-worker-supervisor-MGI34IDQ.js → channel-worker-supervisor-3IT7AZBG.js} +3 -3
- package/chunks/{chunk-QNSERHKY.js → chunk-25ZX5TBU.js} +1 -1
- package/chunks/{chunk-JYY3FCLA.js → chunk-2EL6C4IG.js} +8 -8
- package/chunks/{chunk-HG7BSAAQ.js → chunk-2G4SSHDU.js} +1 -1
- package/chunks/{chunk-J2BN4URJ.js → chunk-2IHBVVI7.js} +1 -1
- package/chunks/{chunk-75GB4FOU.js → chunk-2JFVAZJ4.js} +3 -3
- package/chunks/{chunk-CPDZQCLH.js → chunk-2PHWLN26.js} +1 -1
- package/chunks/{chunk-3YRZQZQW.js → chunk-2QKJVJRS.js} +1 -1
- package/chunks/{chunk-RFO537EW.js → chunk-2SRDM56L.js} +2 -2
- package/chunks/{chunk-DHQZXQ4K.js → chunk-2T7GOMLD.js} +10 -10
- package/chunks/{chunk-CJGSGMXL.js → chunk-2UNLHJDT.js} +1 -1
- package/chunks/{chunk-6GEPBMZ2.js → chunk-2ZTO4GE2.js} +4 -4
- package/chunks/{chunk-UQ4WDEGV.js → chunk-3NRZNPWL.js} +6 -6
- package/chunks/{chunk-PLJ6YSQX.js → chunk-4D3IKEOE.js} +1 -1
- package/chunks/{chunk-PUWHPTYG.js → chunk-4IGG3G7R.js} +22 -19
- package/chunks/{chunk-YUFDLWK7.js → chunk-4IMTKRDR.js} +1 -1
- package/chunks/{chunk-S4XNJ5FH.js → chunk-4OBZCRKM.js} +2 -2
- package/chunks/{chunk-GOVIASFS.js → chunk-557JLJHM.js} +3 -3
- package/chunks/{chunk-MJPA5NKS.js → chunk-5ONGZ3PR.js} +2 -2
- package/chunks/{chunk-5ULLRZQ5.js → chunk-5VLGVOYA.js} +7 -7
- package/chunks/{chunk-ANKISCKU.js → chunk-5WQQOM5K.js} +1 -0
- package/chunks/{chunk-XDRKURPF.js → chunk-62CUWTLF.js} +4 -4
- package/chunks/{chunk-3WTPIIX3.js → chunk-63BQSGLY.js} +2 -2
- package/chunks/{chunk-BB27YK6O.js → chunk-63TI6ZAD.js} +1 -1
- package/chunks/{chunk-K3MDKK3H.js → chunk-67PJ6OOD.js} +1 -1
- package/chunks/{chunk-MW4O5XZQ.js → chunk-6EX5DGFK.js} +1 -1
- package/chunks/{chunk-OCOPMZMJ.js → chunk-6K6KYSKV.js} +3 -3
- package/chunks/{chunk-DDFUMJDY.js → chunk-6LS4JDDC.js} +3 -3
- package/chunks/{chunk-UVINHQWX.js → chunk-7JRVPWT3.js} +11 -11
- package/chunks/{chunk-RRUAHBYV.js → chunk-7KXHS2EQ.js} +4 -4
- package/chunks/{chunk-R6IES4JL.js → chunk-7SVSNLW3.js} +1 -1
- package/chunks/{chunk-L7TJUPNR.js → chunk-A4MRRFBI.js} +5 -0
- package/chunks/{chunk-JMBSWY6V.js → chunk-ABROGGJJ.js} +1 -1
- package/chunks/{chunk-7LG2FNVG.js → chunk-AMPZWMAB.js} +3 -3
- package/chunks/{chunk-QTGYWDIB.js → chunk-BELFFOZG.js} +7 -7
- package/chunks/{chunk-AYE2T7RX.js → chunk-BHAGKBV5.js} +212 -23
- package/chunks/{chunk-2CZQ57EU.js → chunk-BJEZBTUO.js} +9 -2
- package/chunks/{chunk-F3XBI3C5.js → chunk-BNTEKVYN.js} +1 -1
- package/chunks/{chunk-3YIPZRXZ.js → chunk-BZJAS2DW.js} +1 -1
- package/chunks/{chunk-NO4M2IFY.js → chunk-CFDQMDEK.js} +16 -16
- package/chunks/{chunk-R5F4XPOL.js → chunk-CJ4ELLG6.js} +4 -4
- package/chunks/{chunk-B56HYOUO.js → chunk-D55VRMZY.js} +2 -2
- package/chunks/{chunk-BKODW5LP.js → chunk-DDYLVTHB.js} +1 -1
- package/chunks/{chunk-PJBHT5HP.js → chunk-ETL4YO5F.js} +94 -88
- package/chunks/{chunk-LN4WZAX6.js → chunk-EW6NXQ4Y.js} +1 -1
- package/chunks/{chunk-VFPYR2QH.js → chunk-FEJKOREW.js} +9 -4
- package/chunks/{chunk-ABA6SVGG.js → chunk-FL5HFUET.js} +1 -1
- package/chunks/{chunk-YG2QHKNQ.js → chunk-FLXLRVM2.js} +2 -2
- package/chunks/{chunk-YFARICYJ.js → chunk-FPQF7XED.js} +1 -1
- package/chunks/{chunk-OS2B6VJ3.js → chunk-FQ2BQKJO.js} +2 -2
- package/chunks/{chunk-H36V5QMB.js → chunk-FST2R4CI.js} +41 -16
- package/chunks/{chunk-63TM3IYQ.js → chunk-GDMIPTWI.js} +4 -4
- package/chunks/{chunk-YQS35MQS.js → chunk-GGAP4YAL.js} +7 -7
- package/chunks/{chunk-ABWRIA3H.js → chunk-GJE25C44.js} +2 -2
- package/chunks/{chunk-BC5SRSMK.js → chunk-GZCIMJ4P.js} +2 -2
- package/chunks/{chunk-MMRGG6R4.js → chunk-H32AKV4B.js} +1 -1
- package/chunks/{chunk-HZYLXNG7.js → chunk-HB6ZJYKX.js} +1 -1
- package/chunks/{chunk-7WGWBWL7.js → chunk-HIFCCFIX.js} +1 -1
- package/chunks/{chunk-OZ5Z45DG.js → chunk-HXP4WF7E.js} +1 -1
- package/chunks/{chunk-7S2BGPWN.js → chunk-IWZZOD6J.js} +3180 -1844
- package/chunks/{chunk-KQW7W6WZ.js → chunk-J2WKPAFA.js} +9 -9
- package/chunks/{chunk-O7LUZE4E.js → chunk-J4I37FUS.js} +3 -3
- package/chunks/{chunk-GPSDZNPN.js → chunk-JBGXQP4F.js} +1 -1
- package/chunks/{chunk-FIGVLM7P.js → chunk-JDS6RRHY.js} +37 -2
- package/chunks/{chunk-ZPLLLCRC.js → chunk-JDWE2L76.js} +1 -1
- package/chunks/{chunk-LHI3FFDO.js → chunk-JGTA5HF2.js} +2 -2
- package/chunks/{chunk-4BSQW4CG.js → chunk-JHXDPLZV.js} +10 -10
- package/chunks/{chunk-7M3FEMY6.js → chunk-JJ7DTMUY.js} +3 -3
- package/chunks/{chunk-B77LIFIP.js → chunk-JL7NMSOU.js} +0 -14
- package/chunks/{chunk-N7FGOVMP.js → chunk-JYAUFSSC.js} +2 -2
- package/chunks/{chunk-RPGUFXRL.js → chunk-KT72MHEH.js} +2 -2
- package/chunks/{chunk-R7MRLQZT.js → chunk-KTEF2ERM.js} +1 -1
- package/chunks/{chunk-GI4KLI5I.js → chunk-KZE3BRBA.js} +1 -1
- package/chunks/{chunk-OW5IVLET.js → chunk-LYA76B7V.js} +20 -20
- package/chunks/{chunk-KWBROJVD.js → chunk-LYG2IAYP.js} +1 -1
- package/chunks/{chunk-PHNKFEX3.js → chunk-M43OIUEX.js} +11 -11
- package/chunks/{chunk-AWS3EGSN.js → chunk-MBV4C6W4.js} +2 -2
- package/chunks/{chunk-ITY5NM7C.js → chunk-MVNKMBFZ.js} +2 -2
- package/chunks/{chunk-FCN22GWX.js → chunk-NBFMRK3I.js} +6 -6
- package/chunks/{chunk-IVE5Z4RU.js → chunk-NC25XA5T.js} +22 -30
- package/chunks/{chunk-75TGCLYE.js → chunk-NHG3WFXH.js} +1 -1
- package/chunks/{chunk-ZUTZ3PSU.js → chunk-O7EYG73H.js} +3 -3
- package/chunks/{chunk-FYBXHBWA.js → chunk-OEYDEBC2.js} +1 -1
- package/chunks/{chunk-KJMYVDYW.js → chunk-OGONUWCZ.js} +3 -3
- package/chunks/{chunk-4E6SGS3A.js → chunk-OQVJWZ54.js} +4 -4
- package/chunks/{chunk-I4EFTUMC.js → chunk-OXOBUKJJ.js} +77 -9
- package/chunks/{chunk-YXHY6BKS.js → chunk-OY4DP3XV.js} +14 -1
- package/chunks/{chunk-WD54GZTM.js → chunk-PKLFEF3W.js} +5 -3
- package/chunks/{chunk-OL2AT23B.js → chunk-PRNIHA6W.js} +6 -5
- package/chunks/{chunk-JCFZTTXZ.js → chunk-QS6K2J5T.js} +3 -3
- package/chunks/{chunk-MCJVUCX2.js → chunk-RCVCG5D6.js} +1 -1
- package/chunks/{chunk-PJELH5NF.js → chunk-RD3MKHNH.js} +4 -4
- package/chunks/{chunk-EKAYSP2Z.js → chunk-REC2C2PJ.js} +1 -1
- package/chunks/{chunk-Z7ECDVYK.js → chunk-RRY73GCA.js} +2 -2
- package/chunks/{chunk-AC4FUDXK.js → chunk-S2IUMCP4.js} +1 -1
- package/chunks/{chunk-GIHJK4FJ.js → chunk-SHZIQMXV.js} +1 -1
- package/chunks/{chunk-KWALNYOO.js → chunk-SV24PR2T.js} +1 -1
- package/chunks/{chunk-7W72PCKP.js → chunk-T25GIJ7Q.js} +6 -6
- package/chunks/{chunk-DVP56LAM.js → chunk-T6LELOWQ.js} +12 -12
- package/chunks/{chunk-YKMY5UTC.js → chunk-TAPJEWAP.js} +3 -3
- package/chunks/{chunk-2EUGBE47.js → chunk-TBBZWESZ.js} +11 -11
- package/chunks/{chunk-CYRXE53T.js → chunk-TDNFYX3D.js} +3 -3
- package/chunks/{chunk-KLL4GCCM.js → chunk-TENR27NT.js} +12 -6
- package/chunks/{chunk-7MUWTUOX.js → chunk-U6E3DZJ2.js} +17 -16
- package/chunks/{chunk-JSRFFUXK.js → chunk-UHMNQV4F.js} +1 -1
- package/chunks/{chunk-SENYKRII.js → chunk-UM4V7562.js} +1 -1
- package/chunks/{chunk-SASDWMJO.js → chunk-USVK4SPX.js} +27 -27
- package/chunks/{chunk-DSJQYGJZ.js → chunk-UUQP6E3M.js} +8 -0
- package/chunks/{chunk-EGFLRBZ6.js → chunk-V5AAWDR5.js} +1 -1
- package/chunks/{chunk-RQHXUQ5M.js → chunk-VAWSNTZ5.js} +8 -8
- package/chunks/{chunk-EUEDQORS.js → chunk-VG2OBPC5.js} +1 -1
- package/chunks/{chunk-YVLRK2WW.js → chunk-VJBXXK6Y.js} +3 -3
- package/chunks/{chunk-YM7MHAIC.js → chunk-VMZPWKDO.js} +1 -1
- package/chunks/{chunk-6KR42S7N.js → chunk-VSE6CR6A.js} +1 -1
- package/chunks/{chunk-HBZQIGAR.js → chunk-VWRRG6WB.js} +2 -2
- package/chunks/{chunk-BINMG6CG.js → chunk-W3RTZ56Y.js} +2 -2
- package/chunks/{chunk-4KJK3FGR.js → chunk-WAKXHYR7.js} +1 -1
- package/chunks/{chunk-5X4EQBIA.js → chunk-WMZHEEA4.js} +1 -1
- package/chunks/{chunk-5LWMGZUU.js → chunk-WTEDVQBQ.js} +1 -1
- package/chunks/{chunk-YVXI3U3W.js → chunk-WYB7KMO4.js} +6 -6
- package/chunks/{chunk-EJKIUYN6.js → chunk-WYOXEOH2.js} +67 -4
- package/chunks/{chunk-XO32NLJ5.js → chunk-X2D5TGMY.js} +4 -4
- package/chunks/{chunk-PBCCDC5C.js → chunk-X4JS3V6Z.js} +3 -3
- package/chunks/{chunk-B2V6P65V.js → chunk-X7FOYU7O.js} +1 -1
- package/chunks/{chunk-CQKBWZ5E.js → chunk-YGZ635BF.js} +37 -57
- package/chunks/{chunk-FRDYCOU2.js → chunk-YKW6NONW.js} +4 -4
- package/chunks/{chunk-KT7ZUSTE.js → chunk-YRZWDTZE.js} +2 -2
- package/chunks/{chunk-DAIWLFBL.js → chunk-ZLMZ4T2V.js} +4 -4
- package/chunks/{chunk-6GNUSS3I.js → chunk-ZME4D5II.js} +20 -18
- package/chunks/{chunk-XGU276ID.js → chunk-ZP4BQFDJ.js} +4 -4
- package/chunks/{chunk-2EDB3IUV.js → chunk-ZUPFQZ75.js} +49 -48
- package/chunks/{clip-audio-ALB7NSX7.js → clip-audio-QME6TMCF.js} +1 -1
- package/chunks/{clip-image-Y3MKBSNQ.js → clip-image-SRBYL65N.js} +1 -1
- package/chunks/{clip-video-544D65CN.js → clip-video-NJY3YQCO.js} +1 -1
- package/chunks/{codex-subagent-executor-UN4TVQLG.js → codex-subagent-executor-PIWS5KTC.js} +49 -49
- package/chunks/{config-IMU5NWJA.js → config-PDKMLX5L.js} +2 -2
- package/chunks/{config-utils-DWN5B6HN.js → config-utils-M4KPYAJT.js} +43 -43
- package/chunks/{container-execution-environment-2BGRRHWG.js → container-execution-environment-3TLVYGYP.js} +2 -2
- package/chunks/{contextCommand-25BGZY4S.js → contextCommand-GCYMSLJZ.js} +44 -44
- package/chunks/{convert-image-4LKO3QSE.js → convert-image-LMVDXS5X.js} +1 -1
- package/chunks/{core-runtime-E7GY7FQL.js → core-runtime-PK25YBIM.js} +41 -41
- package/chunks/{create-sub-session-BAIKTJZ4.js → create-sub-session-MTARGYFJ.js} +43 -43
- package/chunks/{create-sub-session-4TDRAOML.js → create-sub-session-VZR6N5V4.js} +2 -2
- package/chunks/{cron-create-RE3BU3FZ.js → cron-create-OFXWICWD.js} +1 -1
- package/chunks/{cron-delete-2VRPQ42H.js → cron-delete-ZX5S7W5H.js} +1 -1
- package/chunks/{cron-list-NUXGPC4H.js → cron-list-PUG7FCB6.js} +1 -1
- package/chunks/{daemon-E4MVZ7AP.js → daemon-LKIZ3HNV.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-ZTAV4HQB.js → daemon-git-worktree-guard-JDRPXPJR.js} +45 -45
- package/chunks/{daemon-status-provider-VLRPWZZH.js → daemon-status-provider-5TQUY752.js} +52 -52
- package/chunks/{daemon-trust-policy-OTUBDFHQ.js → daemon-trust-policy-EG5ZTZSE.js} +48 -48
- package/chunks/{daemon-trust-policy-monitor-W52NWLO5.js → daemon-trust-policy-monitor-TL35QBDA.js} +48 -48
- package/chunks/{deferred-core-runtime-P4EIIL7M.js → deferred-core-runtime-TV537Q5K.js} +41 -41
- package/chunks/{display-image-LJNYI4RV.js → display-image-Z3G5SPL3.js} +3 -3
- package/chunks/{downsample-audio-RQFPZFPG.js → downsample-audio-H4NUFCDZ.js} +1 -1
- package/chunks/{downsample-image-4D3H2UWY.js → downsample-image-U5OUCLD2.js} +4 -4
- package/chunks/{downscale-video-N6LYF3X6.js → downscale-video-CVDYIIHX.js} +1 -1
- package/chunks/{edit-FJFHUIY4.js → edit-5VEQK2KV.js} +26 -26
- package/chunks/{en-TOD7T4QQ.js → en-W6CBO4YQ.js} +9 -0
- package/chunks/{enter-worktree-5FI25CNL.js → enter-worktree-VSFZPIBK.js} +1 -1
- package/chunks/{enterPlanMode-WGDUBIGO.js → enterPlanMode-JJZCLBLY.js} +25 -25
- package/chunks/{environment-DNHGPK7Q.js → environment-QM4XGSIK.js} +43 -43
- package/chunks/{errors-3FKGIKNN.js → errors-UCTBZYTW.js} +43 -43
- package/chunks/{exec-UXNA4CU5.js → exec-MCLYNTF5.js} +1 -1
- package/chunks/{execution-tool-GSOYRE7M.js → execution-tool-T3PNV6WX.js} +27 -27
- package/chunks/{execution-worker-TWQ2YF42.js → execution-worker-RAZPKO3I.js} +34 -34
- package/chunks/{exit-worktree-DUIRWKPA.js → exit-worktree-2JDM2TP3.js} +1 -1
- package/chunks/{exitPlanMode-3GA5VWWB.js → exitPlanMode-RO6MTCR3.js} +25 -25
- package/chunks/{extract-audio-FSYM3VVM.js → extract-audio-L24INWVN.js} +1 -1
- package/chunks/{extract-keyframes-NCE7XTZB.js → extract-keyframes-CUMPTHA5.js} +1 -1
- package/chunks/{fast-path-XF5YGYNO.js → fast-path-IX6DB7PM.js} +3 -3
- package/chunks/{fast-path-settings-BW2THCUD.js → fast-path-settings-TLOSL5ML.js} +1 -1
- package/chunks/{glob-M2TXMH5Q.js → glob-UODXHR6W.js} +26 -26
- package/chunks/{goal-tools-D523PJR5.js → goal-tools-RRHHAHVS.js} +25 -25
- package/chunks/{grep-2AHWRRW7.js → grep-LTJKIQCZ.js} +2 -2
- package/chunks/{handleAutoUpdate-RRYCWRZ2.js → handleAutoUpdate-IAXZTMAE.js} +46 -46
- package/chunks/{i18n-TUYCRMFW.js → i18n-KFZWMFK2.js} +42 -42
- package/chunks/{image-gen-AGURDL2F.js → image-gen-WANZMVCS.js} +1 -1
- package/chunks/{initializer-6BJ7YAF5.js → initializer-2ZOOBI6A.js} +48 -48
- package/chunks/{installationInfo-KD366W45.js → installationInfo-5BYXCQAQ.js} +41 -41
- package/chunks/{list-L7MZF2AZ.js → list-W5JFDCEH.js} +51 -51
- package/chunks/{list-agents-OC2WSRMI.js → list-agents-UIFCI4ER.js} +1 -1
- package/chunks/{llm-HDLU6CTT.js → llm-QSFDYHD7.js} +106 -106
- package/chunks/{llm-content-generator-MYYFDSFV.js → llm-content-generator-VKT6UJQD.js} +3 -3
- package/chunks/{loadedSettingsAdapter-H6GUNXJ2.js → loadedSettingsAdapter-4EP6C36I.js} +48 -48
- package/chunks/{local-execution-environment-JLIO4YKC.js → local-execution-environment-EWAZCW4G.js} +34 -34
- package/chunks/{loggingContentGenerator-5AUS3FRD.js → loggingContentGenerator-Y246INXF.js} +26 -26
- package/chunks/{loop-wakeup-AKQ5VA4R.js → loop-wakeup-TOJSDAX4.js} +2 -2
- package/chunks/{ls-SN3NRT3I.js → ls-72SDBQ2K.js} +2 -2
- package/chunks/{lsp-V3LC5RY3.js → lsp-OXDLQX2P.js} +1 -1
- package/chunks/{managed-npm-update-SXZ2U3AX.js → managed-npm-update-26X7BVHF.js} +42 -42
- package/chunks/{mcp-6CD76FID.js → mcp-YZHEB4AJ.js} +48 -48
- package/chunks/{memory-side-query-FCFRCOFG.js → memory-side-query-XA52PDYS.js} +2 -2
- package/chunks/{model-call-collection-TON6MSCF.js → model-call-collection-4CLBXCD2.js} +3 -3
- package/chunks/{model-configuration-4Z25DEWC.js → model-configuration-QA2OWKB4.js} +48 -48
- package/chunks/{modelConfigUtils-RLZ47FPZ.js → modelConfigUtils-UXMZ35D3.js} +42 -42
- package/chunks/{monitor-VXQ7KYEJ.js → monitor-4GCE6SBI.js} +27 -27
- package/chunks/{nonInteractiveCli-ZXWKMKWC.js → nonInteractiveCli-YMI7QAKU.js} +92 -92
- package/chunks/{nonInteractiveToolExecutor-KBUF3BTR.js → nonInteractiveToolExecutor-X47HCPEO.js} +26 -26
- package/chunks/{notebook-edit-QH7FXG4T.js → notebook-edit-TDGILTTI.js} +26 -26
- package/chunks/{ocr-image-Y44EWIB6.js → ocr-image-P6YEH6V6.js} +3 -3
- package/chunks/{omni-32DW7DAU.js → omni-IOVPBQ2W.js} +10 -10
- package/chunks/{openaiContentGenerator-53HJMYFV.js → openaiContentGenerator-MLHGAHPT.js} +12 -12
- package/chunks/{openaiResponsesContentGenerator-2SLR5YSO.js → openaiResponsesContentGenerator-CWGHD5YK.js} +2 -2
- package/chunks/{pidfile-HFMNLERX.js → pidfile-JSIHOGRR.js} +41 -41
- package/chunks/{process-registry-7LAPI3ZB.js → process-registry-MDKO6QY2.js} +1 -1
- package/chunks/{processUtils-G4YV5PUL.js → processUtils-BU2G7I54.js} +2 -2
- package/chunks/{prompt-terminal-ledger-7SM2SBVV.js → prompt-terminal-ledger-VU63A7T3.js} +42 -42
- package/chunks/{qwenContentGenerator-JYZK4UZJ.js → qwenContentGenerator-YCBMJ7FT.js} +27 -27
- package/chunks/{reactive-degrade-SJQJUSWE.js → reactive-degrade-UAVWGU46.js} +10 -10
- package/chunks/{read-file-FSGLCFTS.js → read-file-QNN37J7X.js} +5 -5
- package/chunks/{read-mcp-resource-F7Y7TG2M.js → read-mcp-resource-VXVH5WXY.js} +1 -1
- package/chunks/{recall-media-memory-tool-BQTS26HR.js → recall-media-memory-tool-GCEE2PFQ.js} +2 -2
- package/chunks/{record-artifact-XDRCIWCW.js → record-artifact-O7JYB52H.js} +2 -2
- package/chunks/{record-source-S6UBE2VH.js → record-source-QBKXPY2B.js} +6 -6
- package/chunks/{report-findings-F4QERRFR.js → report-findings-JOY5T6BE.js} +3 -3
- package/chunks/{request-shutdown-XNRH6MV3.js → request-shutdown-RRZ7CPMZ.js} +5 -5
- package/chunks/{resumeHistoryUtils-VSPCHBW6.js → resumeHistoryUtils-FHKTP6X2.js} +47 -47
- package/chunks/{ripGrep-YVM3DMMW.js → ripGrep-YDYZVYLZ.js} +6 -6
- package/chunks/{run-qwen-serve-ZQJ3SE3I.js → run-qwen-serve-Y2QUOAFI.js} +77 -77
- package/chunks/{runtime-GW2XGK5X.js → runtime-24EOMPRT.js} +51 -51
- package/chunks/{sandbox-5RKHRAFD.js → sandbox-M4ZFC7UK.js} +50 -50
- package/chunks/{sandboxConfig-F6ZRJB5C.js → sandboxConfig-ZLZIBECD.js} +42 -42
- package/chunks/{scheduled-tasks-YOGLJMWV.js → scheduled-tasks-37BGGKFE.js} +49 -49
- package/chunks/{scheduler-JCT6ARET.js → scheduler-MPGAWEJ7.js} +43 -43
- package/chunks/{send-message-DQYG7UA7.js → send-message-HKSMSFSD.js} +5 -5
- package/chunks/{serve-ATWHQIZC.js → serve-M7KIBFXK.js} +48 -48
- package/chunks/{server-BL7NBKQO.js → server-4LWLWOEM.js} +462 -180
- package/chunks/{session-SKCALDL6.js → session-3SHGMIXY.js} +97 -97
- package/chunks/{session-attachments-root-I2DLMEGC.js → session-attachments-root-KU3OTCBA.js} +41 -41
- package/chunks/session-context-6W5KFEVI.js +206 -0
- package/chunks/{session-pr-refresh-J5O3ECBZ.js → session-pr-refresh-2CTKAXKW.js} +48 -48
- package/chunks/session-transcript-reader-5EZUBY5D.js +158 -0
- package/chunks/{settings-4APYRYEP.js → settings-3NK6PJY6.js} +51 -51
- package/chunks/{shell-BRLSIRIJ.js → shell-ZCE2Z7HM.js} +25 -25
- package/chunks/{skill-ANJV3QCO.js → skill-J2S7USOF.js} +7 -7
- package/chunks/{skill-settings-5OEAPNUN.js → skill-settings-CE7PRMQZ.js} +48 -48
- package/chunks/{spawnChannel-L22VQQG6.js → spawnChannel-CWM64UIU.js} +45 -45
- package/chunks/{standalone-update-JCDSJXRD.js → standalone-update-R24FLSSW.js} +43 -43
- package/chunks/{start-opentui-ui-UZZMEAMN.js → start-opentui-ui-E6BBHWV3.js} +164 -143
- package/chunks/{startInteractiveUI-76WHKIMU.js → startInteractiveUI-WM4FKTPT.js} +162 -151
- package/chunks/{syntheticOutput-M7K42KRP.js → syntheticOutput-35OLCA42.js} +2 -2
- package/chunks/{task-create-M43C4SBX.js → task-create-MMWCUSLH.js} +6 -6
- package/chunks/{task-list-ESK3U5S5.js → task-list-ZXFVRRNB.js} +1 -1
- package/chunks/{task-stop-4I6RM5K2.js → task-stop-LZYDKQSC.js} +2 -2
- package/chunks/{task-update-PW6XM3S6.js → task-update-DAYAIPJV.js} +6 -6
- package/chunks/{team-create-KWEJO6TE.js → team-create-YW7LALMB.js} +30 -30
- package/chunks/{team-delete-QYOE7HXP.js → team-delete-NDZK3XKJ.js} +1 -1
- package/chunks/{team-plan-approval-VXHTSKHR.js → team-plan-approval-CQBPU5QC.js} +25 -25
- package/chunks/{terminal-image-renderer-TOK5UHDG.js → terminal-image-renderer-CQ6VMEUP.js} +41 -41
- package/chunks/{theme-manager-ZV4RR26I.js → theme-manager-HWH6G76G.js} +41 -41
- package/chunks/{todoWrite-4U5OPUBT.js → todoWrite-AHVPEMQH.js} +1 -1
- package/chunks/{tool-result-media-GQOZVVL2.js → tool-result-media-KAY3CLAU.js} +10 -10
- package/chunks/{tool-search-ZF4TSSBS.js → tool-search-K46APLYA.js} +9 -9
- package/chunks/{total-session-admission-TU776YQY.js → total-session-admission-NTOL22LW.js} +47 -47
- package/chunks/{transcribe-audio-R5C26LIX.js → transcribe-audio-MGPBAEQO.js} +2 -2
- package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-BKGVCBHX.js} +1 -1
- package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-TPHDBRZ5.js} +1 -1
- package/chunks/{trustedFolders-SBXCVRQG.js → trustedFolders-E7VWOFL6.js} +42 -42
- package/chunks/{understand-video-segments-ZHHAKJSD.js → understand-video-segments-YNHXX3ZO.js} +3 -3
- package/chunks/{update-relaunch-QQBSIE5C.js → update-relaunch-DPDJ2FKY.js} +5 -5
- package/chunks/{updateCheck-L5W4XUFI.js → updateCheck-S2WV5RTW.js} +45 -45
- package/chunks/{upload-config-JNZAPCF6.js → upload-config-4GCFSZIX.js} +4 -4
- package/chunks/{useAutoAcceptIndicator-5JQS2R2M.js → useAutoAcceptIndicator-ULE5KJWZ.js} +51 -51
- package/chunks/{validateNonInterActiveAuth-QQGBHCWE.js → validateNonInterActiveAuth-3ROBFNXB.js} +89 -89
- package/chunks/{version-5MCFLBNP.js → version-VYRYIPWR.js} +1 -1
- package/chunks/{web-fetch-6IQOTXM2.js → web-fetch-XLS7HVSR.js} +7 -7
- package/chunks/{web-search-TY4ODCXK.js → web-search-KK63ARBF.js} +5 -5
- package/chunks/{web-shell-static-7D6SWOB2.js → web-shell-static-IMYZZXVX.js} +5 -5
- package/chunks/{workflow-ZLOBJFVU.js → workflow-R7D3TPE3.js} +28 -28
- package/chunks/{workspace-providers-status-DO45VCTP.js → workspace-providers-status-SXJTY7CC.js} +53 -53
- package/chunks/{workspace-registration-store-BTQLDHIJ.js → workspace-registration-store-MZV7JUZG.js} +1 -1
- package/chunks/{workspace-registry-U5TYWDJX.js → workspace-registry-TPZSBDG5.js} +47 -47
- package/chunks/{workspace-runtime-coordinator-PSL3IYT5.js → workspace-runtime-coordinator-CBAB6RRX.js} +47 -47
- package/chunks/{workspace-service-HCPAODRG.js → workspace-service-EY4SCO5B.js} +54 -54
- package/chunks/{workspace-skills-status-KD2JXJUU.js → workspace-skills-status-TK55VYIL.js} +51 -51
- package/chunks/{workspace-trust-reconciler-WAIHZHDY.js → workspace-trust-reconciler-2WV7DYBU.js} +54 -54
- package/chunks/{write-file-Z35R7HTD.js → write-file-AHORYCLH.js} +27 -27
- package/chunks/{zh-TW-Q7UZ46DB.js → zh-TW-SAFJ66GA.js} +9 -0
- package/chunks/{zh-W7CTRI6H.js → zh-YMBHFIUS.js} +9 -0
- package/chunks/{zoom-image-MRU6WPE6.js → zoom-image-WZ7Z3TTU.js} +7 -7
- package/cli.js +12 -12
- package/execution-worker.js +1 -1
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +68 -68
- package/locales/en.js +11 -0
- package/locales/zh-TW.js +11 -0
- package/locales/zh.js +11 -0
- package/package.json +5 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-DM0yb8lz.js → abnfDiagram-VCTEODGH-CyPW3MyE.js} +1 -1
- package/web-shell/assets/{arc-Cw2773LR.js → arc-BIwRbyQO.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-D4uzC2Js.js → architectureDiagram-5GKGNRK7-mQwWErF1.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-D4itI8GP.js → blockDiagram-NRAW4CY4-v_xwoAq4.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-DyJzA_Bk.js → c4Diagram-UCG6FXSJ-wTEi-I6R.js} +1 -1
- package/web-shell/assets/channel-CHPzhNuZ.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-CldzFLZi.js → chunk-2Q5K7J3B-C4NQrYtx.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-Cq0Kj0gV.js → chunk-5VM5RSS4-BkloTrH2.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DZ7ToIX3.js → chunk-F27PBJKO-CyEy2yU9.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-DVdybDaB.js → chunk-G27WJ6UU-Bq-siHqt.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DJJV9ycO.js → chunk-JWPE2WC7-D7YoL3pe.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-UvX8t_CL.js → chunk-LCL6LL3I-BMo2pJJE.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-BtIY5nH0.js → chunk-POPQ4Y6H-CkARqfRz.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-D2s5PV-v.js → chunk-SVP7TREG-CH7OUIgi.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BrmMihIw.js → chunk-XXDRQBXY-BI_0zShB.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-_s9FjDFZ.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-_s9FjDFZ.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CIZPu3iQ.js → cose-bilkent-JH36ORCC-Ce7yl466.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-B5CmaWVW.js → cynefin-OW5HDTMX-CS8PMOPz.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CTmnEsXe.js → cynefinDiagram-5FMLGOSQ-BSm01ZjN.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-CRoxYPJt.js → dagre-3AP2YEHR-BRlLEtOw.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DuCtZhZh.js → diagram-S7CK7UJ4-CJFxQAqp.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-D1boncaV.js → diagram-UQ7AKVKN-RHiBfgDk.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-MCS6BnZC.js → diagram-VSXAHHWV-CrXXg8i7.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-D0jCmhgd.js → diagram-VX7I27RA-B_m_nSwH.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BbyNb0kV.js → diagram-Z3DM3KII-C_WYs1jN.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-CuuKfOpk.js → ebnfDiagram-PWID7BFC-nvRLE8NU.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-COET38hE.js → erDiagram-SSCWMZ5O-yUCbTkac.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-IkjK_VjX.js → flowDiagram-A5DVABFB-BE0BOSOz.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DpQN5T1N.js → ganttDiagram-EL5Y4UJY-Dg6A0SVT.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-D-3mZZJY.js → gitGraphDiagram-WWUBYQGX-DLk7NsGH.js} +1 -1
- package/web-shell/assets/index-33OvMW07.css +36 -0
- package/web-shell/assets/{index-CbEDnx9Y.js → index-C3mDaHR8.js} +1 -1
- package/web-shell/assets/{index-C6ChX65S.js → index-DvLDby56.js} +517 -481
- package/web-shell/assets/{infoDiagram-RXCK75RN-BZr1NPqN.js → infoDiagram-RXCK75RN-Dk9fr_59.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-BVOIXK6O.js → ishikawaDiagram-5VMMS53U-B_8qV5Cd.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-CSSCt0VS.js → journeyDiagram-EYS64GPL-ByRAiDNU.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D8184eaV.js → kanban-definition-3QL26DDD-CO3Z9yCT.js} +1 -1
- package/web-shell/assets/{layout-D6Y-BU4T.js → layout-LfcQeqsn.js} +1 -1
- package/web-shell/assets/{linear-BqHctGnD.js → linear-CYm0x8F3.js} +1 -1
- package/web-shell/assets/{mermaid.core-RZhKRR9u.js → mermaid.core-BYAYV3_v.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BYy6nzI2.js → mindmap-definition-FBJOCRG2-rVKNrftS.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BCXU9jS6.js → pegDiagram-XKGWAZYB-DnCJjarQ.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-C7x0HkCZ.js → pieDiagram-E7YTZNPT-C5FcOi6B.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CTt2Pns5.js → quadrantDiagram-AXDQQJYC-CmB5URZk.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BnfVnVX1.js → railroadDiagram-O6MQD6OU-QsrySXiN.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CrvMFYqe.js → requirementDiagram-EFPCY7ZU-DaTFk3dk.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-DryWc6Dy.js → sankeyDiagram-P5KCCOFB-CjNEuldX.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-Bi6HpYxU.js → sequenceDiagram-WJ2MYXX4-C1NUbZb3.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BvMmSrhI.js → sizeCapture-X5ZJPWSS-BSjxXAC8.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-D1AsHfqC.js → stateDiagram-HBIQ2CUA-9FdxfbvP.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BldXkxBD.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-DA1zkU-G.js → swimlanes-XN3QIQJK-DH4m4WvK.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-CqQ_CSPT.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-EJFf20Qm.js → timeline-definition-24CTP7MA-Ds2cOZ77.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-BxC8R6yI.js → vennDiagram-4TSXK5OY-CbrGmElv.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CBdJFwR_.js → wardleyDiagram-VM6X3IG4-BGd9_UJZ.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CebGvlJK.js → xychartDiagram-S5SC5T6Z-BVXJ_UVa.js} +1 -1
- package/web-shell/index.html +2 -2
- package/web-shell/sw.js +1 -1
- package/web-shell/assets/channel-C-4jYruO.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DmEJKKvg.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DmEJKKvg.js +0 -1
- package/web-shell/assets/index-Cdqf5uSF.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DIDerJcb.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-h2E4ETv7.js +0 -8
- package/chunks/{chunk-UYMCEBEE.js → chunk-6LPV2AL7.js} +5 -5
- package/chunks/{dist-7FCM7M5G.js → dist-CESMUYGN.js} +3 -3
- package/chunks/{dist-BTLSFHSL.js → dist-UXVNLQHG.js} +2 -2
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
import {
|
|
24
24
|
channelFactoryForwardsChildEnv,
|
|
25
25
|
defaultSpawnChannelFactory
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-TENR27NT.js";
|
|
27
27
|
import {
|
|
28
28
|
BridgeChannelClosedError,
|
|
29
29
|
BridgeTimeoutError,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
SessionRestoreTimeoutError,
|
|
34
34
|
createIdleWorkspaceExtensionsStatus,
|
|
35
35
|
createIdleWorkspaceHooksStatus
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-KZE3BRBA.js";
|
|
37
37
|
import {
|
|
38
38
|
ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
|
|
39
39
|
ACTIVE_WORK_CLOSE_TIMEOUT_MS,
|
|
@@ -106,9 +106,11 @@ import {
|
|
|
106
106
|
SessionShellClientRequiredError,
|
|
107
107
|
SessionShellDisabledError,
|
|
108
108
|
StandaloneSessionSpawnError,
|
|
109
|
+
WorkspaceDrainingError,
|
|
109
110
|
WorkspaceMismatchError,
|
|
111
|
+
WorkspaceRuntimeStopError,
|
|
110
112
|
isNotCurrentlyGeneratingCancelError
|
|
111
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-OY4DP3XV.js";
|
|
112
114
|
import {
|
|
113
115
|
canonicalizeWorkspace,
|
|
114
116
|
translateAndCheckAbsoluteWorkspacePath
|
|
@@ -144,7 +146,7 @@ import {
|
|
|
144
146
|
isOfficeDocumentExtension,
|
|
145
147
|
isRecordableDerivedChild,
|
|
146
148
|
pathHasSkippedDirectoryComponent
|
|
147
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-VSE6CR6A.js";
|
|
148
150
|
import {
|
|
149
151
|
SESSION_PR_LIST_LIMIT,
|
|
150
152
|
SESSION_PR_URL_MAX_LENGTH,
|
|
@@ -156,7 +158,7 @@ import {
|
|
|
156
158
|
canonicalSessionPrUrl,
|
|
157
159
|
normalizeTurnResultError,
|
|
158
160
|
toSessionPrInfo
|
|
159
|
-
} from "./chunk-
|
|
161
|
+
} from "./chunk-IWZZOD6J.js";
|
|
160
162
|
import {
|
|
161
163
|
isUnverifiableIdentityError,
|
|
162
164
|
openNoFollow
|
|
@@ -176,7 +178,7 @@ import {
|
|
|
176
178
|
normalizeSnapshotPayload,
|
|
177
179
|
retainArtifactSnapshot,
|
|
178
180
|
stableSessionArtifactId
|
|
179
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-5WQQOM5K.js";
|
|
180
182
|
import {
|
|
181
183
|
MAX_CRON_TASK_ROUTING_ID_LENGTH,
|
|
182
184
|
isValidCronTaskRoutingId
|
|
@@ -1254,7 +1256,8 @@ function createChannelHarness(options) {
|
|
|
1254
1256
|
}
|
|
1255
1257
|
__name(resolvedChannelIdleTimeoutMs, "resolvedChannelIdleTimeoutMs");
|
|
1256
1258
|
async function startIdleTimer(ci, context) {
|
|
1257
|
-
if (ci.isDying || liveHarnessChannel() !== ci)
|
|
1259
|
+
if (options.isRuntimeStopping() || ci.isDying || liveHarnessChannel() !== ci)
|
|
1260
|
+
return;
|
|
1258
1261
|
const timeoutMs = resolvedChannelIdleTimeoutMs();
|
|
1259
1262
|
if (timeoutMs <= 0) {
|
|
1260
1263
|
await killChannelWithLog(ci, context);
|
|
@@ -1273,6 +1276,14 @@ function createChannelHarness(options) {
|
|
|
1273
1276
|
idleTimer.unref();
|
|
1274
1277
|
}
|
|
1275
1278
|
__name(startIdleTimer, "startIdleTimer");
|
|
1279
|
+
function retireChannel(info, context) {
|
|
1280
|
+
info.isDying = true;
|
|
1281
|
+
cancelIdleTimer();
|
|
1282
|
+
keepAliveUntil = 0;
|
|
1283
|
+
info.channelLiveness?.stop();
|
|
1284
|
+
return terminateChannel(info.channel, initTimeoutMs, context);
|
|
1285
|
+
}
|
|
1286
|
+
__name(retireChannel, "retireChannel");
|
|
1276
1287
|
async function reapPendingEmptyChannel(ci, opts) {
|
|
1277
1288
|
if (!channelShouldReapWhenIdle(ci) || !hasNoChannelWork(ci, opts)) return;
|
|
1278
1289
|
ci.emptyReapPending = false;
|
|
@@ -1287,6 +1298,8 @@ function createChannelHarness(options) {
|
|
|
1287
1298
|
}
|
|
1288
1299
|
__name(reapPendingEmptyChannel, "reapPendingEmptyChannel");
|
|
1289
1300
|
async function withWorkspaceControl(ci, fn, recordUse = true) {
|
|
1301
|
+
if (options.isRuntimeStopping())
|
|
1302
|
+
throw new WorkspaceDrainingError(options.boundWorkspace ?? "");
|
|
1290
1303
|
if (liveHarnessChannel() === ci) cancelIdleTimer();
|
|
1291
1304
|
if (recordUse) ci.lastUsedAt = Date.now();
|
|
1292
1305
|
ci.workspaceControlInFlight++;
|
|
@@ -1328,6 +1341,8 @@ function createChannelHarness(options) {
|
|
|
1328
1341
|
}
|
|
1329
1342
|
__name(releaseRuntimeOperationReservation, "releaseRuntimeOperationReservation");
|
|
1330
1343
|
async function ensureChannel() {
|
|
1344
|
+
if (options.isRuntimeStopping())
|
|
1345
|
+
throw new WorkspaceDrainingError(options.boundWorkspace ?? "");
|
|
1331
1346
|
if (isShuttingDown()) {
|
|
1332
1347
|
throw new Error("AcpSessionBridge is shutting down");
|
|
1333
1348
|
}
|
|
@@ -1463,16 +1478,11 @@ function createChannelHarness(options) {
|
|
|
1463
1478
|
settleReleasedRuntimeWork,
|
|
1464
1479
|
preheat,
|
|
1465
1480
|
reclaimIdleChannel(info) {
|
|
1466
|
-
info.isDying = true;
|
|
1467
|
-
cancelIdleTimer();
|
|
1468
|
-
keepAliveUntil = 0;
|
|
1469
|
-
info.channelLiveness?.stop();
|
|
1470
1481
|
writeStderrLine(`qwen serve: reclaiming idle ACP channel ${info.id}`);
|
|
1471
|
-
return
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
);
|
|
1482
|
+
return retireChannel(info, "capacity reclamation");
|
|
1483
|
+
},
|
|
1484
|
+
stopChannel(info) {
|
|
1485
|
+
return retireChannel(info, "user-confirmed workspace stop");
|
|
1476
1486
|
},
|
|
1477
1487
|
markDying(channels) {
|
|
1478
1488
|
for (const ci of channels) {
|
|
@@ -10043,6 +10053,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
10043
10053
|
return void 0;
|
|
10044
10054
|
}, "freshSessionBlocker");
|
|
10045
10055
|
const assertFreshSessionsAvailable = /* @__PURE__ */ __name(() => {
|
|
10056
|
+
assertRuntimeNotStopping();
|
|
10046
10057
|
const blocker = freshSessionBlocker();
|
|
10047
10058
|
if (blocker) {
|
|
10048
10059
|
throw new BridgeChannelQuarantinedError(
|
|
@@ -10345,6 +10356,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
10345
10356
|
}
|
|
10346
10357
|
__name(maybeCloseIdleSession, "maybeCloseIdleSession");
|
|
10347
10358
|
async function closeIfChildUnheld(entry, opts2) {
|
|
10359
|
+
if (runtimeStop) return;
|
|
10348
10360
|
entry.activeWorkCloseInFlight = true;
|
|
10349
10361
|
try {
|
|
10350
10362
|
if (!await confirmChildUnheld(entry)) return;
|
|
@@ -10623,7 +10635,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
10623
10635
|
`qwen serve: session reaper started (interval ${sessionReapIntervalMs}ms, idle threshold ${sessionIdleTimeoutMs}ms)`
|
|
10624
10636
|
);
|
|
10625
10637
|
sessionReaper = setInterval(() => {
|
|
10626
|
-
if (shuttingDown) return;
|
|
10638
|
+
if (shuttingDown || runtimeStop) return;
|
|
10627
10639
|
const now = Date.now();
|
|
10628
10640
|
for (const [id, entry] of byId) {
|
|
10629
10641
|
if (sessionIdleTimeoutMs <= 0) break;
|
|
@@ -10768,6 +10780,13 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
10768
10780
|
}
|
|
10769
10781
|
);
|
|
10770
10782
|
let shuttingDown = false;
|
|
10783
|
+
let runtimeStopToken = randomUUID3();
|
|
10784
|
+
let lastRuntimeStop;
|
|
10785
|
+
let runtimeStop;
|
|
10786
|
+
function assertRuntimeNotStopping() {
|
|
10787
|
+
if (runtimeStop) throw new WorkspaceDrainingError(boundWorkspace ?? "");
|
|
10788
|
+
}
|
|
10789
|
+
__name(assertRuntimeNotStopping, "assertRuntimeNotStopping");
|
|
10771
10790
|
let shutdownPromise;
|
|
10772
10791
|
const teeServeDebugLine = /* @__PURE__ */ __name((message) => {
|
|
10773
10792
|
writeServeDebugLine(message);
|
|
@@ -10782,6 +10801,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
10782
10801
|
const inFlightRestores = /* @__PURE__ */ new Map();
|
|
10783
10802
|
const resetPendingSessions = /* @__PURE__ */ new Set();
|
|
10784
10803
|
function assertSessionResetNotPending(sessionId) {
|
|
10804
|
+
assertRuntimeNotStopping();
|
|
10785
10805
|
if (resetPendingSessions.has(sessionId)) {
|
|
10786
10806
|
throw new SessionResetPendingError(sessionId);
|
|
10787
10807
|
}
|
|
@@ -11092,10 +11112,14 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
11092
11112
|
);
|
|
11093
11113
|
try {
|
|
11094
11114
|
sessEntry.events.publish({
|
|
11095
|
-
type: "session_died",
|
|
11115
|
+
type: runtimeStop?.channel === info ? "session_closed" : "session_died",
|
|
11096
11116
|
data: {
|
|
11097
11117
|
sessionId: sid,
|
|
11098
|
-
reason: "channel_closed",
|
|
11118
|
+
reason: runtimeStop?.channel === info ? "client_close" : "channel_closed",
|
|
11119
|
+
...runtimeStop?.channel === info ? {
|
|
11120
|
+
cause: "workspace_runtime_stop",
|
|
11121
|
+
persistenceUnconfirmed: true
|
|
11122
|
+
} : {},
|
|
11099
11123
|
// BX9_P: thread exitCode/signalCode through.
|
|
11100
11124
|
exitCode: exitInfo?.exitCode ?? null,
|
|
11101
11125
|
signalCode: exitInfo?.signalCode ?? null
|
|
@@ -11142,6 +11166,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
11142
11166
|
delegateReadTextFileToClient,
|
|
11143
11167
|
isExternalToolGuardRequired: /* @__PURE__ */ __name(() => !!opts.externalToolGuard, "isExternalToolGuardRequired"),
|
|
11144
11168
|
isShuttingDown: /* @__PURE__ */ __name(() => shuttingDown, "isShuttingDown"),
|
|
11169
|
+
isRuntimeStopping: /* @__PURE__ */ __name(() => runtimeStop !== void 0, "isRuntimeStopping"),
|
|
11145
11170
|
constructHarnessChannel: constructChannelInfo,
|
|
11146
11171
|
handleChannelTransportUnavailable: /* @__PURE__ */ __name((channel) => handleChannelTransportUnavailable(getChannelInfo(channel)), "handleChannelTransportUnavailable"),
|
|
11147
11172
|
beforeChannelExit: /* @__PURE__ */ __name((channel) => beforeChannelExit(getChannelInfo(channel)), "beforeChannelExit"),
|
|
@@ -11854,6 +11879,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
11854
11879
|
return void 0;
|
|
11855
11880
|
}, "channelInfoForEntry");
|
|
11856
11881
|
const assertAttachableSessionEntry = /* @__PURE__ */ __name((sessionId, entry) => {
|
|
11882
|
+
assertRuntimeNotStopping();
|
|
11857
11883
|
if (byId.get(sessionId) !== entry) {
|
|
11858
11884
|
throw new SessionNotFoundError(
|
|
11859
11885
|
sessionId,
|
|
@@ -11876,6 +11902,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
11876
11902
|
}
|
|
11877
11903
|
}, "assertAttachableSessionEntry");
|
|
11878
11904
|
const assertLivePromptEntry = /* @__PURE__ */ __name((sessionId, entry) => {
|
|
11905
|
+
assertRuntimeNotStopping();
|
|
11879
11906
|
const info = channelInfoForEntry(entry);
|
|
11880
11907
|
if (byId.get(sessionId) !== entry || !info || info.harness.isDying) {
|
|
11881
11908
|
throw new SessionNotFoundError(sessionId);
|
|
@@ -13865,6 +13892,8 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
13865
13892
|
}
|
|
13866
13893
|
__name(restoreSessionWithReplay, "restoreSessionWithReplay");
|
|
13867
13894
|
async function closeSessionImpl(sessionId, context, closeOpts) {
|
|
13895
|
+
if (closeOpts?.cause !== "workspace_runtime_stop")
|
|
13896
|
+
assertRuntimeNotStopping();
|
|
13868
13897
|
const entry = byId.get(sessionId);
|
|
13869
13898
|
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
13870
13899
|
if (entry.closing) {
|
|
@@ -13911,6 +13940,12 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
13911
13940
|
...closeOpts?.agentCloseTimeoutMs !== void 0 ? { timeoutMs: closeOpts.agentCloseTimeoutMs } : {}
|
|
13912
13941
|
}
|
|
13913
13942
|
);
|
|
13943
|
+
if (closeOpts?.cause === "workspace_runtime_stop" && !agentSessionClosed) {
|
|
13944
|
+
throw new RequestError(
|
|
13945
|
+
-32603,
|
|
13946
|
+
"Agent did not acknowledge session close"
|
|
13947
|
+
);
|
|
13948
|
+
}
|
|
13914
13949
|
} catch (error) {
|
|
13915
13950
|
if (isDefinitiveAcpRequestError(error)) {
|
|
13916
13951
|
entry.closing = false;
|
|
@@ -13956,6 +13991,7 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
13956
13991
|
data: {
|
|
13957
13992
|
sessionId,
|
|
13958
13993
|
reason,
|
|
13994
|
+
...closeOpts?.cause ? { cause: closeOpts.cause } : {},
|
|
13959
13995
|
// `data.closedBy` is kept for back-compat with existing
|
|
13960
13996
|
// wire consumers; new code should read envelope-level
|
|
13961
13997
|
// `originatorClientId` (matches `session_metadata_updated`,
|
|
@@ -14002,6 +14038,152 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
14002
14038
|
}
|
|
14003
14039
|
}
|
|
14004
14040
|
__name(closeSessionImpl, "closeSessionImpl");
|
|
14041
|
+
function copyRuntimeStop(result) {
|
|
14042
|
+
return {
|
|
14043
|
+
...result,
|
|
14044
|
+
affectedSessionIds: [...result.affectedSessionIds],
|
|
14045
|
+
closedSessionIds: [...result.closedSessionIds],
|
|
14046
|
+
interruptedSessionIds: [...result.interruptedSessionIds],
|
|
14047
|
+
remainingSessionIds: [...result.remainingSessionIds]
|
|
14048
|
+
};
|
|
14049
|
+
}
|
|
14050
|
+
__name(copyRuntimeStop, "copyRuntimeStop");
|
|
14051
|
+
function runtimeStopSnapshot() {
|
|
14052
|
+
const ci = liveChannelInfo();
|
|
14053
|
+
const blockedReasons = [];
|
|
14054
|
+
if (shuttingDown || runtimeStop || [...harness.values()].some((c) => c.isDying))
|
|
14055
|
+
blockedReasons.push("stopping");
|
|
14056
|
+
if (!ci) blockedReasons.push("not_live");
|
|
14057
|
+
else if (!ci.channel.registryReleased)
|
|
14058
|
+
blockedReasons.push("release_unavailable");
|
|
14059
|
+
if (harness.starting || inFlightSpawns.size || inFlightRestores.size || abandonedNewSessionSettlements.size || harness.runtimeOperationReservations || harness.pendingKeepAliveCount || inFlightSessionIdReservations.size || abandonedSessionIdReservations.size || ci && (ci.sessionSpawnsInFlight || ci.pendingRestoreIds.size))
|
|
14060
|
+
blockedReasons.push("session_start_pending");
|
|
14061
|
+
if (ci && (ci.harness.workspaceControlInFlight || ci.workspaceMcpDiscoveryInFlight || ci.workspaceMcpAuthenticationServerNames.size))
|
|
14062
|
+
blockedReasons.push("workspace_control_pending");
|
|
14063
|
+
if ([...byId.values()].some(
|
|
14064
|
+
(e) => isClosingOrAuthorizingClose(e) || resetPendingSessions.has(e.sessionId)
|
|
14065
|
+
))
|
|
14066
|
+
blockedReasons.push("session_closing");
|
|
14067
|
+
return {
|
|
14068
|
+
...ci ? { channelId: ci.id } : {},
|
|
14069
|
+
runtimeEpoch: harness.epoch,
|
|
14070
|
+
stopToken: runtimeStopToken,
|
|
14071
|
+
blockedReasons,
|
|
14072
|
+
sessions: [...byId.values()].map((entry) => {
|
|
14073
|
+
const summary = toSessionSummary(entry);
|
|
14074
|
+
return {
|
|
14075
|
+
sessionId: entry.sessionId,
|
|
14076
|
+
displayName: summary.displayName,
|
|
14077
|
+
hasActivePrompt: summary.hasActivePrompt,
|
|
14078
|
+
queuedPrompts: entry.pendingPromptList.filter((p) => p.state === "queued").length + entry.midTurnMessageQueue.length,
|
|
14079
|
+
isWaitingForPermission: summary.isWaitingForPermission === true,
|
|
14080
|
+
isWaitingForUserQuestion: summary.isWaitingForUserQuestion === true,
|
|
14081
|
+
...summary.hasRunningBackgroundTasks !== void 0 ? { hasRunningBackgroundTasks: summary.hasRunningBackgroundTasks } : {}
|
|
14082
|
+
};
|
|
14083
|
+
}),
|
|
14084
|
+
...lastRuntimeStop ? { lastStop: copyRuntimeStop(lastRuntimeStop) } : {}
|
|
14085
|
+
};
|
|
14086
|
+
}
|
|
14087
|
+
__name(runtimeStopSnapshot, "runtimeStopSnapshot");
|
|
14088
|
+
function stopWorkspaceRuntime(request, timeoutMs = 6e4) {
|
|
14089
|
+
if (lastRuntimeStop?.stopToken === request.expectedStopToken && lastRuntimeStop.channelId === request.expectedChannelId && lastRuntimeStop.runtimeEpoch === request.expectedRuntimeEpoch) {
|
|
14090
|
+
return runtimeStop?.promise ?? Promise.resolve(copyRuntimeStop(lastRuntimeStop));
|
|
14091
|
+
}
|
|
14092
|
+
const snapshot = runtimeStopSnapshot();
|
|
14093
|
+
const ids = snapshot.sessions.map((session) => session.sessionId).sort();
|
|
14094
|
+
if (request.confirmInterruptions !== true || snapshot.stopToken !== request.expectedStopToken || snapshot.channelId !== request.expectedChannelId || snapshot.runtimeEpoch !== request.expectedRuntimeEpoch || JSON.stringify(ids) !== JSON.stringify([...request.expectedSessionIds].sort())) {
|
|
14095
|
+
throw new WorkspaceRuntimeStopError("workspace_runtime_stop_stale");
|
|
14096
|
+
}
|
|
14097
|
+
if (snapshot.blockedReasons.length || !Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
14098
|
+
throw new WorkspaceRuntimeStopError("workspace_runtime_stop_blocked");
|
|
14099
|
+
}
|
|
14100
|
+
const ci = liveChannelInfo();
|
|
14101
|
+
const released = ci.channel.registryReleased;
|
|
14102
|
+
const receipt = {
|
|
14103
|
+
channelId: ci.id,
|
|
14104
|
+
runtimeEpoch: harness.epoch,
|
|
14105
|
+
stopToken: runtimeStopToken,
|
|
14106
|
+
state: "stopping",
|
|
14107
|
+
stopped: false,
|
|
14108
|
+
released: false,
|
|
14109
|
+
affectedSessionIds: ids,
|
|
14110
|
+
closedSessionIds: [],
|
|
14111
|
+
interruptedSessionIds: [],
|
|
14112
|
+
remainingSessionIds: [...ids]
|
|
14113
|
+
};
|
|
14114
|
+
lastRuntimeStop = receipt;
|
|
14115
|
+
runtimeStopToken = randomUUID3();
|
|
14116
|
+
harness.cancelIdleTimer();
|
|
14117
|
+
const deadline = Date.now() + timeoutMs;
|
|
14118
|
+
const operation = {
|
|
14119
|
+
channel: ci,
|
|
14120
|
+
promise: Promise.resolve(receipt),
|
|
14121
|
+
completion: Promise.resolve(receipt)
|
|
14122
|
+
};
|
|
14123
|
+
runtimeStop = operation;
|
|
14124
|
+
void released.then(() => {
|
|
14125
|
+
receipt.released = true;
|
|
14126
|
+
});
|
|
14127
|
+
operation.completion = Promise.resolve().then(async () => {
|
|
14128
|
+
try {
|
|
14129
|
+
for (const sessionId of ids) {
|
|
14130
|
+
const remainingMs = deadline - Date.now();
|
|
14131
|
+
if (remainingMs <= 0) {
|
|
14132
|
+
receipt.state = "incomplete";
|
|
14133
|
+
receipt.error = "Session close budget exhausted; remaining sessions were not closed.";
|
|
14134
|
+
return copyRuntimeStop(receipt);
|
|
14135
|
+
}
|
|
14136
|
+
receipt.interruptedSessionIds.push(sessionId);
|
|
14137
|
+
try {
|
|
14138
|
+
await closeSessionImpl(sessionId, void 0, {
|
|
14139
|
+
cause: "workspace_runtime_stop",
|
|
14140
|
+
requireAgentClose: true,
|
|
14141
|
+
agentCloseTimeoutMs: Math.min(initTimeoutMs, remainingMs)
|
|
14142
|
+
});
|
|
14143
|
+
receipt.closedSessionIds.push(sessionId);
|
|
14144
|
+
receipt.remainingSessionIds = receipt.remainingSessionIds.filter(
|
|
14145
|
+
(id) => id !== sessionId
|
|
14146
|
+
);
|
|
14147
|
+
} catch (error) {
|
|
14148
|
+
receipt.error = error instanceof Error ? error.message : String(error);
|
|
14149
|
+
if (ci.harness.isDying || !harness.has(ci.harness)) {
|
|
14150
|
+
receipt.interruptedSessionIds = [...ids];
|
|
14151
|
+
await released;
|
|
14152
|
+
receipt.remainingSessionIds = ids.filter((id) => byId.has(id));
|
|
14153
|
+
}
|
|
14154
|
+
receipt.state = "incomplete";
|
|
14155
|
+
return copyRuntimeStop(receipt);
|
|
14156
|
+
}
|
|
14157
|
+
}
|
|
14158
|
+
try {
|
|
14159
|
+
await harness.stopChannel(ci.harness);
|
|
14160
|
+
} catch (error) {
|
|
14161
|
+
receipt.state = "failed";
|
|
14162
|
+
receipt.error = error instanceof Error ? error.message : String(error);
|
|
14163
|
+
}
|
|
14164
|
+
await released;
|
|
14165
|
+
receipt.state = "stopped";
|
|
14166
|
+
receipt.stopped = true;
|
|
14167
|
+
return copyRuntimeStop(receipt);
|
|
14168
|
+
} finally {
|
|
14169
|
+
if (runtimeStop === operation) runtimeStop = void 0;
|
|
14170
|
+
}
|
|
14171
|
+
});
|
|
14172
|
+
let timer;
|
|
14173
|
+
operation.promise = Promise.race([
|
|
14174
|
+
operation.completion,
|
|
14175
|
+
new Promise((resolve2) => {
|
|
14176
|
+
timer = setTimeout(() => {
|
|
14177
|
+
receipt.state = "failed";
|
|
14178
|
+
receipt.error ??= "Workspace stop timed out before cleanup completed.";
|
|
14179
|
+
resolve2(copyRuntimeStop(receipt));
|
|
14180
|
+
}, timeoutMs);
|
|
14181
|
+
timer.unref?.();
|
|
14182
|
+
})
|
|
14183
|
+
]).finally(() => clearTimeout(timer));
|
|
14184
|
+
return operation.promise;
|
|
14185
|
+
}
|
|
14186
|
+
__name(stopWorkspaceRuntime, "stopWorkspaceRuntime");
|
|
14005
14187
|
startSessionReaper();
|
|
14006
14188
|
const rememberMidTurnId = /* @__PURE__ */ __name((ring, messageId) => {
|
|
14007
14189
|
ring.push(messageId);
|
|
@@ -14248,18 +14430,21 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
14248
14430
|
);
|
|
14249
14431
|
}
|
|
14250
14432
|
const starting = harness.starting !== void 0;
|
|
14251
|
-
const stopping = Array.from(channelInfos()).some(
|
|
14433
|
+
const stopping = runtimeStop !== void 0 || Array.from(channelInfos()).some(
|
|
14252
14434
|
(candidate) => candidate.harness.isDying
|
|
14253
14435
|
);
|
|
14254
14436
|
const reservedWork = harness.runtimeOperationReservations > 0 || inFlightSpawns.size > 0 || inFlightRestores.size > 0 || abandonedNewSessionSettlements.size > 0 || harness.pendingKeepAliveCount > 0;
|
|
14255
14437
|
const activeWork = starting || stopping || reservedWork || info !== void 0 && !harness.hasNoChannelWork(info.harness);
|
|
14256
14438
|
return {
|
|
14257
|
-
state: !runtimeLive ? stopping ? "stopping" : starting ? "starting" : "cold" : activeWork ? "active" : "idle",
|
|
14439
|
+
state: runtimeStop ? "stopping" : !runtimeLive ? stopping ? "stopping" : starting ? "starting" : "cold" : activeWork ? "active" : "idle",
|
|
14258
14440
|
runtimeLive,
|
|
14259
14441
|
runtimeEpoch: runtimeLive ? harness.epoch : sourceRuntimeEpoch,
|
|
14260
14442
|
activeWork
|
|
14261
14443
|
};
|
|
14262
14444
|
},
|
|
14445
|
+
getRuntimeStopSnapshot: runtimeStopSnapshot,
|
|
14446
|
+
getRuntimeStopCompletion: /* @__PURE__ */ __name(() => runtimeStop?.completion, "getRuntimeStopCompletion"),
|
|
14447
|
+
stopWorkspaceRuntime,
|
|
14263
14448
|
getIdleChannelCandidate() {
|
|
14264
14449
|
const info = liveChannelInfo();
|
|
14265
14450
|
if (shuttingDown || !info || byId.size > 0 || channelShouldReapWhenIdle(info) || bridgeApi.getWorkspaceRuntimeLifecycleSnapshot().activeWork) {
|
|
@@ -18001,6 +18186,10 @@ function createSessionControlPlane(opts, createHarness) {
|
|
|
18001
18186
|
entry.spawnOwnerWantedKill = true;
|
|
18002
18187
|
return false;
|
|
18003
18188
|
}
|
|
18189
|
+
if (runtimeStop) {
|
|
18190
|
+
entry.spawnOwnerWantedKill = true;
|
|
18191
|
+
return false;
|
|
18192
|
+
}
|
|
18004
18193
|
if (entry.closing) {
|
|
18005
18194
|
const closingChannel = channelInfoForEntry(entry);
|
|
18006
18195
|
if (!closingChannel) return false;
|
|
@@ -18226,12 +18415,12 @@ __name(createAcpSessionBridge, "createAcpSessionBridge");
|
|
|
18226
18415
|
var createHttpAcpBridge = createAcpSessionBridge;
|
|
18227
18416
|
|
|
18228
18417
|
export {
|
|
18229
|
-
SessionArtifactValidationError,
|
|
18230
|
-
SessionArtifactAuthorizationError,
|
|
18231
18418
|
SCHEDULED_TASK_RUN_SOURCE_TYPE,
|
|
18232
18419
|
SCHEDULED_TASK_RUN_SOURCE_ID_PREFIX,
|
|
18233
18420
|
parseSessionSource,
|
|
18234
18421
|
isA2uiToolMeta,
|
|
18422
|
+
SessionArtifactValidationError,
|
|
18423
|
+
SessionArtifactAuthorizationError,
|
|
18235
18424
|
extractErrorMessage,
|
|
18236
18425
|
extractErrorCode,
|
|
18237
18426
|
classifyTurnErrorKind,
|
|
@@ -140,11 +140,14 @@ function findEnvFilesFastPath(settings, startDir, userLevelPaths = getUserLevelE
|
|
|
140
140
|
const hasCustomConfigDir = path.normalize(globalQwenDir) !== legacyQwenDir;
|
|
141
141
|
const found = [];
|
|
142
142
|
const seen = /* @__PURE__ */ new Set();
|
|
143
|
+
const workspaceIsTrusted = isWorkspaceTrustedFastPath(settings, realStartDir) === true;
|
|
143
144
|
const canUseEnvFile = /* @__PURE__ */ __name((filePath) => {
|
|
144
145
|
const normalized = path.normalize(filePath);
|
|
145
146
|
if (userLevelPaths.has(normalized)) return true;
|
|
147
|
+
if (!workspaceIsTrusted) return false;
|
|
146
148
|
const dirPath = path.dirname(normalized);
|
|
147
149
|
const workspaceDir = path.basename(dirPath) === SETTINGS_DIRECTORY_NAME ? path.dirname(dirPath) : dirPath;
|
|
150
|
+
if (workspaceDir === realStartDir) return true;
|
|
148
151
|
return isWorkspaceTrustedFastPath(settings, workspaceDir) !== false;
|
|
149
152
|
}, "canUseEnvFile");
|
|
150
153
|
const pushCandidate = /* @__PURE__ */ __name((filePath) => {
|
|
@@ -600,12 +603,16 @@ function loadServeFastPathSettings(workspaceDir) {
|
|
|
600
603
|
const user = readSettingsSummary(
|
|
601
604
|
path.join(getGlobalQwenDirLite(), "settings.json")
|
|
602
605
|
);
|
|
603
|
-
const initialTrustCheckSettings = mergeFastPathSettings(
|
|
606
|
+
const initialTrustCheckSettings = mergeFastPathSettings(
|
|
607
|
+
systemDefaults,
|
|
608
|
+
user,
|
|
609
|
+
system
|
|
610
|
+
);
|
|
604
611
|
const trustDecision = isWorkspaceTrustedFastPath(
|
|
605
612
|
initialTrustCheckSettings,
|
|
606
613
|
realWorkspaceDir
|
|
607
614
|
);
|
|
608
|
-
const isTrusted = trustDecision ??
|
|
615
|
+
const isTrusted = trustDecision ?? false;
|
|
609
616
|
const startupChannelsTrusted = isWorkspaceTrustedFastPath(
|
|
610
617
|
mergeFastPathSettings(systemDefaults, user, system),
|
|
611
618
|
realWorkspaceDir
|
|
@@ -75,7 +75,7 @@ async function runExitCleanupPass(options) {
|
|
|
75
75
|
}
|
|
76
76
|
__name(runExitCleanupPass, "runExitCleanupPass");
|
|
77
77
|
async function cleanupCheckpoints() {
|
|
78
|
-
const { Storage } = await import("./deferred-core-runtime-
|
|
78
|
+
const { Storage } = await import("./deferred-core-runtime-TV537Q5K.js");
|
|
79
79
|
const storage = new Storage(process.cwd());
|
|
80
80
|
const tempDir = storage.getProjectTempDir();
|
|
81
81
|
const checkpointsDir = join(tempDir, "checkpoints");
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
reportChatRecordingFailureToAdapter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EW6NXQ4Y.js";
|
|
6
6
|
import {
|
|
7
7
|
StreamJsonOutputAdapter
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OQVJWZ54.js";
|
|
9
9
|
import {
|
|
10
10
|
getTranslatedSourceDisplayMap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZUPFQZ75.js";
|
|
12
12
|
import {
|
|
13
13
|
appEvents
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ETL4YO5F.js";
|
|
15
15
|
import {
|
|
16
16
|
ICON,
|
|
17
17
|
SHELL_COMMAND_NAME
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-2EL6C4IG.js";
|
|
19
19
|
import {
|
|
20
20
|
theme
|
|
21
21
|
} from "./chunk-3NHJLWOD.js";
|
|
@@ -26,37 +26,37 @@ import {
|
|
|
26
26
|
Box_default,
|
|
27
27
|
Text
|
|
28
28
|
} from "./chunk-ZTBP4SFC.js";
|
|
29
|
-
import {
|
|
30
|
-
themeManager
|
|
31
|
-
} from "./chunk-S7BE3FMA.js";
|
|
32
29
|
import {
|
|
33
30
|
require_react
|
|
34
31
|
} from "./chunk-5QWWOFGG.js";
|
|
32
|
+
import {
|
|
33
|
+
themeManager
|
|
34
|
+
} from "./chunk-S7BE3FMA.js";
|
|
35
35
|
import {
|
|
36
36
|
getCachedStringWidth,
|
|
37
37
|
toCodePoints
|
|
38
38
|
} from "./chunk-47ECGEJC.js";
|
|
39
39
|
import {
|
|
40
40
|
createLoadedSettingsAdapter
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-X2D5TGMY.js";
|
|
42
42
|
import {
|
|
43
43
|
loadMcpApprovals
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-T25GIJ7Q.js";
|
|
45
45
|
import {
|
|
46
46
|
SettingScope,
|
|
47
47
|
settingExistsInScope
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-ZME4D5II.js";
|
|
49
49
|
import {
|
|
50
50
|
getCurrentLanguage,
|
|
51
51
|
t,
|
|
52
52
|
ta
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-557JLJHM.js";
|
|
54
54
|
import {
|
|
55
55
|
INITIAL_FOLLOWUP_STATE,
|
|
56
56
|
Logger,
|
|
57
57
|
createFollowupController,
|
|
58
58
|
preserveModelProviderPlaceholders
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-YGZ635BF.js";
|
|
60
60
|
import {
|
|
61
61
|
ShellExecutionService,
|
|
62
62
|
TERMINAL_CSI_REGEX,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
resolveBranchName,
|
|
71
71
|
stripTerminalControlSequences,
|
|
72
72
|
watchRepoBranch
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-IWZZOD6J.js";
|
|
74
74
|
import {
|
|
75
75
|
formatMemoryUsage
|
|
76
76
|
} from "./chunk-CHEIIBT3.js";
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
getModelsForProviderProtocol,
|
|
83
83
|
resolveBaseUrl,
|
|
84
84
|
shouldShowStep
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-VG2OBPC5.js";
|
|
86
86
|
import {
|
|
87
87
|
qwenOAuth2Events,
|
|
88
88
|
sanitizeForOsc
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
PromptSuggestionEvent,
|
|
93
93
|
logAuth,
|
|
94
94
|
logPromptSuggestion
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-J2WKPAFA.js";
|
|
96
96
|
import {
|
|
97
97
|
isBinary
|
|
98
98
|
} from "./chunk-PJQVFPOF.js";
|
|
@@ -14,23 +14,23 @@ import {
|
|
|
14
14
|
estimateRawResourceTokens,
|
|
15
15
|
runFixedPolicies,
|
|
16
16
|
runOmniGcOnce
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-YRZWDTZE.js";
|
|
18
18
|
import {
|
|
19
19
|
MEDIA_DETECTOR_VERSION,
|
|
20
20
|
MediaMemoryService
|
|
21
21
|
} from "./chunk-B4BGUUBA.js";
|
|
22
22
|
import {
|
|
23
23
|
runStartupRecoveryOnce
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-2G4SSHDU.js";
|
|
25
25
|
import {
|
|
26
26
|
resolveNetworkTarget
|
|
27
27
|
} from "./chunk-6C3D7BKK.js";
|
|
28
28
|
import {
|
|
29
29
|
isOmniDeliveryActive
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-VMZPWKDO.js";
|
|
31
31
|
import {
|
|
32
32
|
requireEffectiveOmniUploadConfig
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-HIFCCFIX.js";
|
|
34
34
|
import {
|
|
35
35
|
DEFAULT_UPLOAD_CACHE_TTL_HOURS,
|
|
36
36
|
OmniUploadCache
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getPlanRequiredTeammatePreApprovalMessage,
|
|
8
8
|
isPlanRequiredTeammateAwaitingApproval
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GZCIMJ4P.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveActiveTeamName
|
|
12
12
|
} from "./chunk-S6LOFUVP.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
ToolDisplayNames,
|
|
19
19
|
ToolNames
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UUQP6E3M.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esbuild_shims
|
|
23
23
|
} from "./chunk-5O2XNYP6.js";
|