@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/features/channels/github.md +31 -19
- package/bundled/qc-helper/docs/features/code-review.md +3 -1
- package/bundled/review/SKILL.md +16 -11
- package/chunks/{MaxSizedBox-A3UYJS6B.js → MaxSizedBox-2HFKP4LI.js} +8 -8
- package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-RBV72M5N.js} +23 -23
- package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
- package/chunks/{acpAgent-V54T2EEL.js → acpAgent-WO6JFCVQ.js} +1059 -118
- package/chunks/{agent-2P53VL2L.js → agent-AHGLYNZ4.js} +8 -8
- package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-NTXKKGRO.js} +8 -8
- package/chunks/{bridge-TCFMLKHR.js → bridge-RPAU64CA.js} +13 -13
- package/chunks/{channel-management-service-5XPPTWUQ.js → channel-management-service-IGEUOVRT.js} +1 -1
- package/chunks/{channel-settings-store-B4HNMNQV.js → channel-settings-store-ON64MF7G.js} +15 -15
- package/chunks/{channel-worker-group-SVGPDH2C.js → channel-worker-group-JWQK224X.js} +5 -5
- package/chunks/{channel-worker-manager-72ZK2GTS.js → channel-worker-manager-77E3OXRQ.js} +5 -5
- package/chunks/{channel-worker-supervisor-NUEDVHX4.js → channel-worker-supervisor-62YWUGP2.js} +3 -3
- package/chunks/{chunk-AFZTZLFB.js → chunk-2POQWYM6.js} +2 -2
- package/chunks/{chunk-RTWF7FF7.js → chunk-3LZKY4V4.js} +3 -3
- package/chunks/{chunk-T4XY5CT4.js → chunk-3UOLYNTF.js} +5 -5
- package/chunks/{chunk-WAOLM6SQ.js → chunk-4JH77A2U.js} +1 -1
- package/chunks/{chunk-MISUEWB4.js → chunk-4S4OEQ6U.js} +10 -6
- package/chunks/{chunk-URJHXOSO.js → chunk-4WTAQEHV.js} +1 -1
- package/chunks/{chunk-BU4BRCPX.js → chunk-536SWZTA.js} +5 -5
- package/chunks/{chunk-6KEN3RIC.js → chunk-5MJGUQU5.js} +3 -3
- package/chunks/{chunk-Z5S6KH2B.js → chunk-75QMRMO7.js} +4 -4
- package/chunks/{chunk-DOA7MCDY.js → chunk-A4VTILZT.js} +898 -847
- package/chunks/{chunk-72DZPDH4.js → chunk-ACZRB7AD.js} +8 -3
- package/chunks/{chunk-P7LKADIT.js → chunk-BOGOR4HB.js} +5 -5
- package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
- package/chunks/{chunk-7FUVSN4D.js → chunk-C4CBJQKY.js} +1 -1
- package/chunks/{chunk-X6DV3WKN.js → chunk-CA4UIDFU.js} +1 -1
- package/chunks/{chunk-MVLM6PJK.js → chunk-CJ5WLD5Y.js} +6 -2
- package/chunks/{chunk-6D6V55ZQ.js → chunk-DIT4V3XH.js} +1 -1
- package/chunks/{chunk-DOICUTPO.js → chunk-DVBEGGLG.js} +8 -8
- package/chunks/{chunk-DTAPI453.js → chunk-EMYZIABH.js} +1 -1
- package/chunks/{chunk-4E5PO6R7.js → chunk-EXCEQD22.js} +3 -3
- package/chunks/{chunk-EHMN6SEG.js → chunk-FZFP7RZI.js} +3 -3
- package/chunks/{chunk-C4GRKMUL.js → chunk-G5NNWEYE.js} +5 -5
- package/chunks/{chunk-QWUYFMAR.js → chunk-GESMMPAK.js} +33 -33
- package/chunks/{chunk-WPKIU4PA.js → chunk-GK2H5GRC.js} +4 -4
- package/chunks/{chunk-SQ3ZJOYL.js → chunk-GWRHVJY2.js} +11 -11
- package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
- package/chunks/{chunk-5CDI4UOY.js → chunk-HY25ULVN.js} +1 -1
- package/chunks/{chunk-IISDPZ5X.js → chunk-IMOQO6YL.js} +1 -1
- package/chunks/{chunk-ZQL73PPE.js → chunk-JE44IPH6.js} +1 -1
- package/chunks/{chunk-NYZAL2W2.js → chunk-K2B3X3E7.js} +3 -3
- package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
- package/chunks/{chunk-546CDN6D.js → chunk-KHUA3NQV.js} +2 -2
- package/chunks/{chunk-7GYP5COR.js → chunk-LAAFLUQV.js} +1 -1
- package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
- package/chunks/{chunk-N47ZM2KI.js → chunk-N2GJU6KI.js} +9 -9
- package/chunks/{chunk-WIPQR44Y.js → chunk-NGJOAKJY.js} +3 -3
- package/chunks/chunk-NKLP3DCK.js +22 -0
- package/chunks/{chunk-3ZRS2XNY.js → chunk-NKSF7HYF.js} +1 -1
- package/chunks/{chunk-HKNSU4WX.js → chunk-O7V7N4G7.js} +1 -1
- package/chunks/{chunk-CJBRIJ7W.js → chunk-ODPXHGLL.js} +2 -2
- package/chunks/{chunk-4T6QMNX2.js → chunk-OP2OHZ7K.js} +183 -10
- package/chunks/{chunk-CDHNGCJI.js → chunk-OWSW7EYP.js} +5 -5
- package/chunks/{chunk-FDV3CXTD.js → chunk-OXX3FG2N.js} +2 -2
- package/chunks/{chunk-YUVTZ4UH.js → chunk-PPUOYL77.js} +70 -5
- package/chunks/{chunk-O656RSMC.js → chunk-PX5DNLSA.js} +1 -1
- package/chunks/{chunk-6KZP75GT.js → chunk-Q5RM32DR.js} +1 -1
- package/chunks/{chunk-AU3XNTMV.js → chunk-QZKYZCN3.js} +1 -1
- package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
- package/chunks/{chunk-XKTCA6BW.js → chunk-R5RBXLNC.js} +3 -3
- package/chunks/{chunk-NAYPZ72V.js → chunk-RFUHDCNF.js} +1 -1
- package/chunks/{chunk-QG2ACINA.js → chunk-RHTTKJTP.js} +1 -1
- package/chunks/{chunk-IKXE3AAC.js → chunk-RK2EE3T7.js} +1 -1
- package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
- package/chunks/{chunk-ZH7G3A4U.js → chunk-SKNE3KQC.js} +3 -3
- package/chunks/{chunk-PQTK2FVO.js → chunk-SLSWFHDF.js} +3 -3
- package/chunks/{chunk-2U7GPHA6.js → chunk-SQC6K5HI.js} +1 -1
- package/chunks/{chunk-Y5HIDFKZ.js → chunk-SQOMTWQT.js} +4 -4
- package/chunks/{chunk-CXYBX4AL.js → chunk-SUKEUUAA.js} +1 -1
- package/chunks/{chunk-WXS647W5.js → chunk-T4JSA7KU.js} +2 -2
- package/chunks/{chunk-I7JDGNG6.js → chunk-T5U6IM4C.js} +6 -2
- package/chunks/{chunk-TVFC3XF5.js → chunk-TGGEZINK.js} +5 -5
- package/chunks/{chunk-AVDEBBMI.js → chunk-TOGZTG4X.js} +2 -2
- package/chunks/{chunk-A6SX5TAH.js → chunk-TSERKWCX.js} +6 -2
- package/chunks/{chunk-XSGQKR37.js → chunk-U4AF3QLU.js} +355 -17
- package/chunks/{chunk-WIRAPZ62.js → chunk-UGTWD35F.js} +7 -1
- package/chunks/{chunk-DG563ZCS.js → chunk-ULPQQSDN.js} +2 -2
- package/chunks/{chunk-DBIEZC7T.js → chunk-VGFPFM4U.js} +3 -3
- package/chunks/{chunk-VDLXPEI5.js → chunk-VNQCPBC2.js} +3 -3
- package/chunks/{chunk-WVRJKSIG.js → chunk-VSALQLT7.js} +1 -1
- package/chunks/{chunk-EKWNNQQD.js → chunk-W5DXUTXD.js} +12 -6
- package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
- package/chunks/{chunk-MFBUJMQ3.js → chunk-WNU7TZTO.js} +4 -4
- package/chunks/{chunk-GTM6IHBB.js → chunk-WO2B5E5B.js} +1 -0
- package/chunks/{chunk-SPUDIAHX.js → chunk-XA4TMLFN.js} +11 -11
- package/chunks/{chunk-XOZ2R6XI.js → chunk-XM2O73NC.js} +1245 -295
- package/chunks/{chunk-NKST54XA.js → chunk-YMBOEAF4.js} +1 -1
- package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
- package/chunks/{chunk-XZCMQUOF.js → chunk-YZQTA3ID.js} +20 -11
- package/chunks/{computer-use-GTOP2CVH.js → computer-use-5HXJ2P4X.js} +8 -8
- package/chunks/{config-utils-LIRO7NSU.js → config-utils-VXD4SPVR.js} +2 -2
- package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-7BEHRX2H.js} +11 -11
- package/chunks/{core-runtime-D2626QQU.js → core-runtime-U4VJ5TIV.js} +8 -8
- package/chunks/create-sub-session-QZNQY332.js +772 -0
- package/chunks/{daemon-CCIX4BMG.js → daemon-YI5RY62O.js} +115 -3
- package/chunks/{daemon-status-provider-2EHRZZVF.js → daemon-status-provider-UJUGTDTL.js} +17 -17
- package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-ZHDD5VYQ.js} +14 -14
- package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-5SHYBDGA.js} +14 -14
- package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-QWAEBTR5.js} +8 -8
- package/chunks/discovery-XLHITE74.js +220 -0
- package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
- package/chunks/{earlyInputCapture-WUNYYFOS.js → earlyInputCapture-5BMSGKOI.js} +8 -8
- package/chunks/{edit-DMFCBP2D.js → edit-IVQQVYYK.js} +8 -8
- package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-P3DF2N6O.js} +8 -8
- package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-KKTDVLAD.js} +8 -8
- package/chunks/{environment-U6QP23VJ.js → environment-W5TRDM3G.js} +11 -11
- package/chunks/{errors-GZWFA6ON.js → errors-GJJB36IG.js} +11 -11
- package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-LV5RLOCU.js} +8 -8
- package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-TUGOB2LL.js} +8 -8
- package/chunks/{fast-path-JHQJSIMZ.js → fast-path-2FU23PAQ.js} +2 -2
- package/chunks/{gemini-O44ETOKT.js → gemini-KDULDQPP.js} +47 -47
- package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-LOCFHNVA.js} +1 -1
- package/chunks/{glob-YECOWTRW.js → glob-Z4NQFKWS.js} +8 -8
- package/chunks/{grep-BZO4LOTA.js → grep-Z67Z7EN6.js} +8 -8
- package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-DFUZE6I6.js} +13 -13
- package/chunks/{i18n-ARJYXZQ5.js → i18n-R4FMZ7N2.js} +10 -10
- package/chunks/{image-gen-J6Q2YBEU.js → image-gen-4CQJPQP5.js} +1 -1
- package/chunks/{initializer-CEZ4RPQV.js → initializer-DK672ZVE.js} +14 -14
- package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-PO4Z3ES7.js} +9 -9
- package/chunks/{list-7XLPV5GC.js → list-QXQF6C53.js} +17 -17
- package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-4D7GUGW6.js} +14 -14
- package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-2P3MNACM.js} +3 -3
- package/chunks/{managed-npm-update-YSL7PA7G.js → managed-npm-update-LWVJQTWO.js} +21 -12
- package/chunks/{mcp-RKFQZXP6.js → mcp-GHETAR6V.js} +14 -14
- package/chunks/{monitor-QHHJIKGL.js → monitor-4T7W4M6Q.js} +8 -8
- package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-P4UKCJFM.js} +42 -42
- package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-OC2V7U5D.js} +8 -8
- package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-RAJUFWQY.js} +3 -3
- package/chunks/{pidfile-I3CXJGQD.js → pidfile-HVPYVRLS.js} +8 -8
- package/chunks/{processUtils-LJ3DSANX.js → processUtils-VIQ4JHVX.js} +2 -2
- package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-2QLCUFNZ.js} +9 -9
- package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-J2X3EN43.js} +1 -1
- package/chunks/{read-file-PGTXF25I.js → read-file-ZNAN2B26.js} +2 -2
- package/chunks/{resumeHistoryUtils-FB2NFVZ2.js → resumeHistoryUtils-RCY7AL5Y.js} +12 -12
- package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-C3KMLZM5.js} +8 -8
- package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-3JN75CIQ.js} +481 -74
- package/chunks/{runtime-CG3BKRFE.js → runtime-VUA4WQYD.js} +17 -17
- package/chunks/{scheduler-VFUVGDE5.js → scheduler-Z4IBXCOY.js} +8 -8
- package/chunks/{serve-ZCCQ2G2L.js → serve-67T3P7XI.js} +14 -14
- package/chunks/{server-WS7LWXPP.js → server-46ZO2CLV.js} +7648 -596
- package/chunks/{session-IQLCT32T.js → session-B4IFAFC4.js} +45 -45
- package/chunks/{settings-NX4EUIE6.js → settings-AI2BTBOZ.js} +13 -13
- package/chunks/{shell-THDYM4CS.js → shell-BKII3B6E.js} +8 -8
- package/chunks/{skill-OXXZBNQB.js → skill-6CFOWVGA.js} +3 -3
- package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-6BFQWMW4.js} +13 -13
- package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-FJXW35U7.js} +10 -10
- package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-WVINHRNS.js} +11 -11
- package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-YE57CJ57.js} +132 -132
- package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
- package/chunks/{task-create-2X4UP4F3.js → task-create-Q727MXHJ.js} +2 -2
- package/chunks/{task-list-WOLJPZ64.js → task-list-G6KPQ5JT.js} +1 -1
- package/chunks/{task-update-VDUSN36E.js → task-update-YB7PXO4R.js} +2 -2
- package/chunks/{team-create-BCSMDK4Z.js → team-create-GNC7NFY6.js} +8 -8
- package/chunks/{team-delete-D2VMSDOT.js → team-delete-GDO7H2T4.js} +1 -1
- package/chunks/{team-plan-approval-B5YRLJFV.js → team-plan-approval-ECALJLIO.js} +8 -8
- package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-II74TFVW.js} +8 -8
- package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-2MGEDD22.js} +8 -8
- package/chunks/{tool-search-SQTUSG6P.js → tool-search-S6LRRACA.js} +2 -2
- package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-7WVAWQPU.js} +13 -13
- package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-NFS4KHO4.js} +10 -10
- package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-Q5HLZ6UW.js} +6 -6
- package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-UOVZSTP7.js} +12 -12
- package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-PC6MOJCO.js} +16 -16
- package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-YMQP3ZM7.js} +39 -39
- package/chunks/{version-C7MPCGWD.js → version-T4AQFZJH.js} +1 -1
- package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-JQCJHEEX.js} +2 -2
- package/chunks/{web-search-IDOYUOWX.js → web-search-QGZ2KY4G.js} +2 -2
- package/chunks/{workflow-HXURUJB5.js → workflow-YIT27YWZ.js} +9 -9
- package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-FIDZQ2PL.js} +17 -17
- package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-RCSPE4DU.js} +1 -1
- package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-5PEUCY6E.js} +13 -13
- package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-LANDVPL7.js} +18 -18
- package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-2IQVJNIN.js} +15 -15
- package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-CZPZZCZC.js} +22 -22
- package/chunks/{write-file-H2QOF25K.js → write-file-G5VNGCOG.js} +8 -8
- package/chunks/{zoom-image-JTUSS43N.js → zoom-image-6RBLD7X6.js} +2 -2
- package/cli.js +15 -15
- package/package.json +3 -3
- package/web-shell/assets/{arc-DtI1rZcQ.js → arc-B-Vtkp1W.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BPZwSVct.js → architectureDiagram-3BPJPVTR-qmTXIj64.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BIQ03j4C.js → blockDiagram-GPEHLZMM-ZlnXEtdP.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CB0RyFGm.js → c4Diagram-AAUBKEIU-Wyoirf6Z.js} +1 -1
- package/web-shell/assets/channel-DXaHnfjS.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-B3WoS-4H.js → chunk-2J33WTMH-WQwbq9d8.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-C98xYZ1X.js → chunk-4BX2VUAB-DQKnAXC4.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CbTIWRwQ.js → chunk-55IACEB6-DIdgXNcO.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWGnKTPu.js → chunk-727SXJPM-CUwGOLEd.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-4__QyCEX.js → chunk-AQP2D5EJ-CCBGZFZ4.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DFtG1YCW.js → chunk-FMBD7UC4-DMGXProk.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-rvAhW51N.js → chunk-ND2GUHAM-yejcFqsh.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DfiU9pwZ.js → chunk-QZHKN3VN-DxCyqTf7.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-Cc4EIdxu.js → cose-bilkent-S5V4N54A-DOrF3cg_.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-CZNj4dGW.js → dagre-BM42HDAG-Be6CdYQ_.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-D5tiqQCr.js → diagram-2AECGRRQ-B_Rjsft2.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-pwzw0jVO.js → diagram-5GNKFQAL-BvQbKSm1.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-4CWiM00x.js → diagram-KO2AKTUF-BsdmMdpS.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dd7rc7Qf.js → diagram-LMA3HP47-CrQlBaNr.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-_vzV52ml.js → diagram-OG6HWLK6-aB1MD_DL.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CqbE2bx_.js → erDiagram-TEJ5UH35-F-eUUn9n.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CaxNr7w4.js → flowDiagram-I6XJVG4X-DY_d8lUK.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-AGjrtfUA.js → ganttDiagram-6RSMTGT7-Dqu7KBPg.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-ADG2zSkc.js → gitGraphDiagram-PVQCEYII-2IkU_VEj.js} +1 -1
- package/web-shell/assets/{index-BOryKCqt.js → index-BuSbqggh.js} +1 -1
- package/web-shell/assets/index-DrfC2e9s.js +1768 -0
- package/web-shell/assets/index-QQlUCJGg.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CE3B_IoZ.js → infoDiagram-5YYISTIA-C4orwzPw.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CN-Frhoi.js → ishikawaDiagram-YF4QCWOH-fXUEfef_.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CGgezS93.js → journeyDiagram-JHISSGLW-Bs0I1_J5.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BqWijky5.js → kanban-definition-UN3LZRKU-BPRj1dw_.js} +1 -1
- package/web-shell/assets/{linear-D8sfpZf6.js → linear-DFS6ZDpW.js} +1 -1
- package/web-shell/assets/{mermaid.core-3PA4QrzM.js → mermaid.core-CZxjWMaO.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D9QxwiCY.js → mindmap-definition-RKZ34NQL-Dsr3PmNs.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Bioaf6uE.js → pieDiagram-4H26LBE5-D5Ngpz5Y.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DBb2AS73.js → quadrantDiagram-W4KKPZXB-WJK9I25z.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DXOvZ3KB.js → requirementDiagram-4Y6WPE33-CmrYcwOH.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D9qg09Dm.js → sankeyDiagram-5OEKKPKP-7SjCc4Mv.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DSAUIfpw.js → sequenceDiagram-3UESZ5HK-Dl9E0IRM.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-BPZkzfQ3.js → stateDiagram-AJRCARHV-CRRio7yV.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-UDaQp9sP.js → timeline-definition-PNZ67QCA-DVyXjjfq.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-2ouhAnHO.js → vennDiagram-CIIHVFJN-Nb2Lckzq.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-Cq_WEvTK.js → wardley-L42UT6IY-DuL_otIP.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dt24aXOM.js → wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-A5Xk2WCH.js → xychartDiagram-2RQKCTM6-BNjAm7KD.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/create-sub-session-MWUWNBM6.js +0 -401
- package/web-shell/assets/channel-vfbVFuM1.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +0 -1
- package/web-shell/assets/index-Cb1LjsCv.css +0 -5
- package/web-shell/assets/index-CvJDaIy8.js +0 -1756
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +0 -1
|
@@ -17,6 +17,12 @@ var writeStderrLine = /* @__PURE__ */ __name((message) => {
|
|
|
17
17
|
process.stderr.write(message.endsWith("\n") ? message : `${message}
|
|
18
18
|
`);
|
|
19
19
|
}, "writeStderrLine");
|
|
20
|
+
var writeStdoutLineSafe = /* @__PURE__ */ __name((message) => {
|
|
21
|
+
try {
|
|
22
|
+
writeStdoutLine(message);
|
|
23
|
+
} catch {
|
|
24
|
+
}
|
|
25
|
+
}, "writeStdoutLineSafe");
|
|
20
26
|
var writeStderrLineSafe = /* @__PURE__ */ __name((message) => {
|
|
21
27
|
try {
|
|
22
28
|
writeStderrLine(message);
|
|
@@ -30,6 +36,7 @@ var clearScreen = /* @__PURE__ */ __name(() => {
|
|
|
30
36
|
export {
|
|
31
37
|
writeStdoutLine,
|
|
32
38
|
writeStderrLine,
|
|
39
|
+
writeStdoutLineSafe,
|
|
33
40
|
writeStderrLineSafe,
|
|
34
41
|
clearScreen
|
|
35
42
|
};
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveBundleDir
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-A4VTILZT.js";
|
|
6
6
|
import {
|
|
7
7
|
Storage
|
|
8
8
|
} from "./chunk-3RXUYQJI.js";
|
|
9
9
|
import {
|
|
10
10
|
writeStderrLine
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KGJGEEVR.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XM2O73NC.js";
|
|
6
6
|
import {
|
|
7
7
|
CUSTOM_SANDBOX_IMAGE_ENV_VAR,
|
|
8
8
|
HOST_UPDATE_RELAUNCH_ENV_VAR,
|
|
9
9
|
SKIP_UPDATE_CHECK_ENV_VAR,
|
|
10
10
|
requestUpdateOnExit
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-SUKEUUAA.js";
|
|
12
12
|
import {
|
|
13
13
|
loadUndici
|
|
14
14
|
} from "./chunk-3Z43GZUQ.js";
|
|
15
15
|
import {
|
|
16
16
|
IdeClient,
|
|
17
17
|
getAllProviderBaseUrls
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-A4VTILZT.js";
|
|
19
19
|
import {
|
|
20
20
|
detectRuntime,
|
|
21
21
|
getOrCreateSharedDispatcher,
|
|
@@ -231,11 +231,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
|
|
|
231
231
|
{ updateEventEmitter },
|
|
232
232
|
{ t }
|
|
233
233
|
] = await Promise.all([
|
|
234
|
-
import("./updateCheck-
|
|
235
|
-
import("./handleAutoUpdate-
|
|
236
|
-
import("./installationInfo-
|
|
234
|
+
import("./updateCheck-UOVZSTP7.js"),
|
|
235
|
+
import("./handleAutoUpdate-DFUZE6I6.js"),
|
|
236
|
+
import("./installationInfo-PO4Z3ES7.js"),
|
|
237
237
|
import("./updateEventEmitter-5MKC7BLQ.js"),
|
|
238
|
-
import("./i18n-
|
|
238
|
+
import("./i18n-R4FMZ7N2.js")
|
|
239
239
|
]);
|
|
240
240
|
const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
|
|
241
241
|
reason: describeUpdateCheckFailure(error)
|
|
@@ -308,7 +308,7 @@ ${t(
|
|
|
308
308
|
state: "connecting"
|
|
309
309
|
});
|
|
310
310
|
try {
|
|
311
|
-
const { connectIdeForStartup } = await import("./initializer-
|
|
311
|
+
const { connectIdeForStartup } = await import("./initializer-DK672ZVE.js");
|
|
312
312
|
await withTimeout(
|
|
313
313
|
connectIdeForStartup(config),
|
|
314
314
|
"ide_connect",
|
|
@@ -332,7 +332,7 @@ ${t(
|
|
|
332
332
|
}
|
|
333
333
|
if (config.isInteractive()) {
|
|
334
334
|
runDeferredTask("background_housekeeping", async () => {
|
|
335
|
-
const { startBackgroundHousekeeping } = await import("./scheduler-
|
|
335
|
+
const { startBackgroundHousekeeping } = await import("./scheduler-Z4IBXCOY.js");
|
|
336
336
|
startBackgroundHousekeeping(config, settings);
|
|
337
337
|
});
|
|
338
338
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
functionResponsePartsToString
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GESMMPAK.js";
|
|
6
6
|
import {
|
|
7
7
|
parseAndFormatApiError
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-A4VTILZT.js";
|
|
9
9
|
import {
|
|
10
10
|
formatVisionBridgeNoticeDisplay,
|
|
11
11
|
isVisionBridgeNoticeDisplay
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PX5DNLSA.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esbuild_shims
|
|
15
15
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
|
|
7
|
+
// packages/cli/src/serve/live/types.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
var LIVE_HOST_PROTOCOL_VERSION = 6;
|
|
10
|
+
var LIVE_HOST_BUNDLE_ID = "com.alibaba.qwen-code.live-host";
|
|
11
|
+
var LIVE_INPUT_AUDIO_EPOCH_BYTES = 8;
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
LIVE_HOST_PROTOCOL_VERSION,
|
|
15
|
+
LIVE_HOST_BUNDLE_ID,
|
|
16
|
+
LIVE_INPUT_AUDIO_EPOCH_BYTES
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @license
|
|
20
|
+
* Copyright 2026 Qwen Team
|
|
21
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
22
|
+
*/
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KHUA3NQV.js";
|
|
6
6
|
import {
|
|
7
7
|
createDebugLogger
|
|
8
8
|
} from "./chunk-3RXUYQJI.js";
|
|
9
9
|
import {
|
|
10
10
|
writeStderrLine
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KGJGEEVR.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-OCPBI7J5.js";
|
|
18
18
|
import {
|
|
19
19
|
defaultSpawnChannelFactory
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SQC6K5HI.js";
|
|
21
21
|
import {
|
|
22
22
|
BridgeChannelClosedError,
|
|
23
23
|
BridgeTimeoutError,
|
|
@@ -26,11 +26,12 @@ import {
|
|
|
26
26
|
STATUS_SCHEMA_VERSION,
|
|
27
27
|
createIdleWorkspaceExtensionsStatus,
|
|
28
28
|
createIdleWorkspaceHooksStatus
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-UGTWD35F.js";
|
|
30
30
|
import {
|
|
31
31
|
CHANNEL_STARTUP_PROFILE_META_KEY,
|
|
32
32
|
CHANNEL_STARTUP_PROFILE_VERSION,
|
|
33
33
|
DAEMON_CHANNEL_DELIVERY_META_KEY,
|
|
34
|
+
DAEMON_MODEL_PROMPT_META_KEY,
|
|
34
35
|
LOAD_REPLAY_BULK_MODE,
|
|
35
36
|
LOAD_REPLAY_HIDE_INHERITED_META_KEY,
|
|
36
37
|
LOAD_REPLAY_META_KEY,
|
|
@@ -42,8 +43,9 @@ import {
|
|
|
42
43
|
REQUESTED_SESSION_ID_META_KEY,
|
|
43
44
|
TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
|
|
44
45
|
TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
|
|
45
|
-
WORKTREE_MCP_DEFER_META_KEY
|
|
46
|
-
|
|
46
|
+
WORKTREE_MCP_DEFER_META_KEY,
|
|
47
|
+
isValidTrustedModelPrompt
|
|
48
|
+
} from "./chunk-R574ATRM.js";
|
|
47
49
|
import {
|
|
48
50
|
BranchWhilePromptActiveError,
|
|
49
51
|
CancelSentinelCollisionError,
|
|
@@ -71,9 +73,12 @@ import {
|
|
|
71
73
|
} from "./chunk-6PLDPT2C.js";
|
|
72
74
|
import {
|
|
73
75
|
CHANNEL_DELIVERY_ERROR_CODES,
|
|
76
|
+
LIVE_TASK_TOOL_NAMES,
|
|
77
|
+
MAX_LIVE_SCREEN_CONTEXT_TEXT_CHARS,
|
|
78
|
+
MAX_LIVE_SPEAK_TO_USER_MESSAGE_CHARS,
|
|
74
79
|
MAX_SUB_SESSION_NAME_CHARS,
|
|
75
80
|
MAX_SUB_SESSION_PROMPT_CHARS
|
|
76
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-HIBNSEJE.js";
|
|
77
82
|
import {
|
|
78
83
|
EXTERNAL_TOOL_GUARD_READY_META_KEY,
|
|
79
84
|
EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
|
|
@@ -95,7 +100,7 @@ import {
|
|
|
95
100
|
metadataBudgetBytes,
|
|
96
101
|
normalizeSnapshotPayload,
|
|
97
102
|
stableSessionArtifactId
|
|
98
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-A4VTILZT.js";
|
|
99
104
|
import {
|
|
100
105
|
DAEMON_TRACEPARENT_META_KEY,
|
|
101
106
|
DAEMON_TRACESTATE_META_KEY
|
|
@@ -104,7 +109,7 @@ import {
|
|
|
104
109
|
INVOCATION_CONTEXT_META_KEY,
|
|
105
110
|
PRIVATE_ACP_CAPABILITY_ENV,
|
|
106
111
|
PRIVATE_PARENT_CAPABILITY_META_KEY
|
|
107
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-PX5DNLSA.js";
|
|
108
113
|
import {
|
|
109
114
|
init_esbuild_shims
|
|
110
115
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1835,7 +1840,7 @@ function sliceLineRange(content, startLine, endLine) {
|
|
|
1835
1840
|
}
|
|
1836
1841
|
__name(sliceLineRange, "sliceLineRange");
|
|
1837
1842
|
var BridgeClient = class {
|
|
1838
|
-
constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false, externalToolGuard) {
|
|
1843
|
+
constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false, getLiveScreenContextCaptureHandler = () => void 0, getLiveTaskToolRequestHandler = () => void 0, getLiveSpeakToUserHandler = () => void 0, externalToolGuard) {
|
|
1839
1844
|
this.resolveEntry = resolveEntry;
|
|
1840
1845
|
this.resolvePendingRestoreEvents = resolvePendingRestoreEvents;
|
|
1841
1846
|
this.mediator = mediator;
|
|
@@ -1852,6 +1857,9 @@ var BridgeClient = class {
|
|
|
1852
1857
|
this.onWorkspaceGenerationEvent = onWorkspaceGenerationEvent;
|
|
1853
1858
|
this.onChannelDelivery = onChannelDelivery;
|
|
1854
1859
|
this.hasSessionSpawnInFlight = hasSessionSpawnInFlight;
|
|
1860
|
+
this.getLiveScreenContextCaptureHandler = getLiveScreenContextCaptureHandler;
|
|
1861
|
+
this.getLiveTaskToolRequestHandler = getLiveTaskToolRequestHandler;
|
|
1862
|
+
this.getLiveSpeakToUserHandler = getLiveSpeakToUserHandler;
|
|
1855
1863
|
this.externalToolGuard = externalToolGuard;
|
|
1856
1864
|
}
|
|
1857
1865
|
static {
|
|
@@ -2130,6 +2138,15 @@ var BridgeClient = class {
|
|
|
2130
2138
|
if (method === SERVE_CONTROL_EXT_METHODS.createSubSession) {
|
|
2131
2139
|
return this.handleCreateSubSession(params);
|
|
2132
2140
|
}
|
|
2141
|
+
if (method === SERVE_CONTROL_EXT_METHODS.liveCaptureScreenContext) {
|
|
2142
|
+
return this.handleLiveScreenContextCapture(params);
|
|
2143
|
+
}
|
|
2144
|
+
if (method === SERVE_CONTROL_EXT_METHODS.liveTaskTool) {
|
|
2145
|
+
return this.handleLiveTaskTool(params);
|
|
2146
|
+
}
|
|
2147
|
+
if (method === SERVE_CONTROL_EXT_METHODS.liveSpeakToUser) {
|
|
2148
|
+
return this.handleLiveSpeakToUser(params);
|
|
2149
|
+
}
|
|
2133
2150
|
if (method === SERVE_CONTROL_EXT_METHODS.channelDelivery) {
|
|
2134
2151
|
return this.handleChannelDelivery(params);
|
|
2135
2152
|
}
|
|
@@ -2484,6 +2501,71 @@ var BridgeClient = class {
|
|
|
2484
2501
|
...result.parentSessionPersisted !== void 0 ? { parentSessionPersisted: result.parentSessionPersisted } : {}
|
|
2485
2502
|
};
|
|
2486
2503
|
}
|
|
2504
|
+
async handleLiveScreenContextCapture(params) {
|
|
2505
|
+
const handler = this.getLiveScreenContextCaptureHandler();
|
|
2506
|
+
if (!handler) {
|
|
2507
|
+
throw RequestError.methodNotFound(
|
|
2508
|
+
SERVE_CONTROL_EXT_METHODS.liveCaptureScreenContext
|
|
2509
|
+
);
|
|
2510
|
+
}
|
|
2511
|
+
const callerSessionId = params["callerSessionId"];
|
|
2512
|
+
if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId)) {
|
|
2513
|
+
throw RequestError.invalidParams(
|
|
2514
|
+
void 0,
|
|
2515
|
+
"`callerSessionId` is required and must name a session owned by this connection"
|
|
2516
|
+
);
|
|
2517
|
+
}
|
|
2518
|
+
const result = await handler({ callerSessionId });
|
|
2519
|
+
if (result.appName.length === 0 || result.appName.length > 512 || result.windowTitle !== void 0 && result.windowTitle.length > 2048 || result.accessibilityText.length > MAX_LIVE_SCREEN_CONTEXT_TEXT_CHARS || result.screenshotPath.length === 0 || result.screenshotPath.length > 4096) {
|
|
2520
|
+
throw RequestError.internalError(void 0, "Invalid Appshot result.");
|
|
2521
|
+
}
|
|
2522
|
+
return {
|
|
2523
|
+
appName: result.appName,
|
|
2524
|
+
...result.windowTitle ? { windowTitle: result.windowTitle } : {},
|
|
2525
|
+
accessibilityText: result.accessibilityText,
|
|
2526
|
+
screenshotPath: result.screenshotPath
|
|
2527
|
+
};
|
|
2528
|
+
}
|
|
2529
|
+
async handleLiveTaskTool(params) {
|
|
2530
|
+
const handler = this.getLiveTaskToolRequestHandler();
|
|
2531
|
+
if (!handler) {
|
|
2532
|
+
throw RequestError.methodNotFound(SERVE_CONTROL_EXT_METHODS.liveTaskTool);
|
|
2533
|
+
}
|
|
2534
|
+
const callerSessionId = params["callerSessionId"];
|
|
2535
|
+
const name = params["name"];
|
|
2536
|
+
const args = params["arguments"];
|
|
2537
|
+
if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId) || typeof name !== "string" || !LIVE_TASK_TOOL_NAMES.includes(
|
|
2538
|
+
name
|
|
2539
|
+
) || typeof args !== "object" || args === null || Array.isArray(args)) {
|
|
2540
|
+
throw RequestError.invalidParams(
|
|
2541
|
+
void 0,
|
|
2542
|
+
"Invalid Live task-tool request."
|
|
2543
|
+
);
|
|
2544
|
+
}
|
|
2545
|
+
return handler({
|
|
2546
|
+
callerSessionId,
|
|
2547
|
+
name,
|
|
2548
|
+
arguments: args
|
|
2549
|
+
});
|
|
2550
|
+
}
|
|
2551
|
+
async handleLiveSpeakToUser(params) {
|
|
2552
|
+
const handler = this.getLiveSpeakToUserHandler();
|
|
2553
|
+
if (!handler) {
|
|
2554
|
+
throw RequestError.methodNotFound(
|
|
2555
|
+
SERVE_CONTROL_EXT_METHODS.liveSpeakToUser
|
|
2556
|
+
);
|
|
2557
|
+
}
|
|
2558
|
+
const callerSessionId = params["callerSessionId"];
|
|
2559
|
+
const message = params["message"];
|
|
2560
|
+
if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId) || typeof message !== "string" || message.trim().length === 0 || message.length > MAX_LIVE_SPEAK_TO_USER_MESSAGE_CHARS) {
|
|
2561
|
+
throw RequestError.invalidParams(
|
|
2562
|
+
void 0,
|
|
2563
|
+
"Invalid Live speak-to-user request."
|
|
2564
|
+
);
|
|
2565
|
+
}
|
|
2566
|
+
await handler({ callerSessionId, message });
|
|
2567
|
+
return { accepted: true };
|
|
2568
|
+
}
|
|
2487
2569
|
/**
|
|
2488
2570
|
* Handle child->bridge ACP `extNotification` calls. Recognized methods are
|
|
2489
2571
|
* `qwen/notify/session/model-update`,
|
|
@@ -2493,11 +2575,26 @@ var BridgeClient = class {
|
|
|
2493
2575
|
* `qwen/notify/session/prompt-suggestion` (followup assist),
|
|
2494
2576
|
* `qwen/notify/session/artifact-event` (hook artifacts),
|
|
2495
2577
|
* `qwen/notify/session/terminal-sequence`, and
|
|
2578
|
+
* `_qwencode/end_turn` (background-notification turns), and
|
|
2496
2579
|
* `qwen/notify/session/mcp-budget-event` — each translated into a
|
|
2497
2580
|
* session-scoped SSE frame. Unknown methods are dropped silently for
|
|
2498
2581
|
* forward-compat.
|
|
2499
2582
|
*/
|
|
2500
2583
|
async extNotification(method, params) {
|
|
2584
|
+
if (method === "_qwencode/end_turn") {
|
|
2585
|
+
const sessionId2 = params["sessionId"];
|
|
2586
|
+
const reason = params["reason"];
|
|
2587
|
+
if (typeof sessionId2 !== "string" || sessionId2.length === 0 || typeof reason !== "string" || reason.length === 0 || reason.length > 128 || params["source"] !== "background_notification") {
|
|
2588
|
+
return;
|
|
2589
|
+
}
|
|
2590
|
+
const entry = this.resolveEntry(sessionId2);
|
|
2591
|
+
if (!entry || !this.ownsSession(sessionId2)) return;
|
|
2592
|
+
entry.events.publish({
|
|
2593
|
+
type: "background_notification_turn_complete",
|
|
2594
|
+
data: { sessionId: sessionId2, reason }
|
|
2595
|
+
});
|
|
2596
|
+
return;
|
|
2597
|
+
}
|
|
2501
2598
|
if (method === "qwen/notify/session/generation/event") {
|
|
2502
2599
|
const sessionId2 = params["sessionId"];
|
|
2503
2600
|
const requestId = params["requestId"];
|
|
@@ -5993,6 +6090,9 @@ var DEFAULT_MAX_PENDING_PER_SESSION = 64;
|
|
|
5993
6090
|
var DEFAULT_SESSION_REAP_INTERVAL_MS = 6e4;
|
|
5994
6091
|
var DEFAULT_SESSION_IDLE_TIMEOUT_MS = 30 * 6e4;
|
|
5995
6092
|
function createAcpSessionBridge(opts) {
|
|
6093
|
+
let liveScreenContextCaptureHandler;
|
|
6094
|
+
let liveTaskToolRequestHandler;
|
|
6095
|
+
let liveSpeakToUserHandler;
|
|
5996
6096
|
const defaultSessionScope = opts.sessionScope ?? "single";
|
|
5997
6097
|
let maxSessions;
|
|
5998
6098
|
if (opts.maxSessions === void 0) {
|
|
@@ -6560,6 +6660,9 @@ function createAcpSessionBridge(opts) {
|
|
|
6560
6660
|
},
|
|
6561
6661
|
opts.onChannelDelivery,
|
|
6562
6662
|
() => channelInfo?.sessionIds === sessionIds && channelInfo.sessionSpawnsInFlight > 0,
|
|
6663
|
+
() => liveScreenContextCaptureHandler,
|
|
6664
|
+
() => liveTaskToolRequestHandler,
|
|
6665
|
+
() => liveSpeakToUserHandler,
|
|
6563
6666
|
opts.externalToolGuard
|
|
6564
6667
|
);
|
|
6565
6668
|
connection = new ClientSideConnection(() => client, channel.stream);
|
|
@@ -7750,9 +7853,15 @@ function createAcpSessionBridge(opts) {
|
|
|
7750
7853
|
};
|
|
7751
7854
|
}
|
|
7752
7855
|
if (action === "load") {
|
|
7856
|
+
const liveJournal = snapshot.liveJournal.map((event) => {
|
|
7857
|
+
if (!entry.activePromptId || event.type !== "history_truncated" || !event.data || typeof event.data !== "object" || event.data.scope !== "live_journal") {
|
|
7858
|
+
return event;
|
|
7859
|
+
}
|
|
7860
|
+
return { ...event, promptId: entry.activePromptId };
|
|
7861
|
+
});
|
|
7753
7862
|
return {
|
|
7754
7863
|
compactedReplay: snapshot.compactedTurns,
|
|
7755
|
-
liveJournal
|
|
7864
|
+
liveJournal,
|
|
7756
7865
|
lastEventId: snapshot.lastEventId,
|
|
7757
7866
|
eventEpoch,
|
|
7758
7867
|
...replayStatus,
|
|
@@ -7923,6 +8032,7 @@ function createAcpSessionBridge(opts) {
|
|
|
7923
8032
|
return {
|
|
7924
8033
|
sessionId: existing.sessionId,
|
|
7925
8034
|
workspaceCwd: existing.workspaceCwd,
|
|
8035
|
+
...existing.effectiveCwd !== existing.workspaceCwd ? { currentCwd: existing.effectiveCwd } : {},
|
|
7926
8036
|
attached: true,
|
|
7927
8037
|
clientId,
|
|
7928
8038
|
createdAt: existing.createdAt,
|
|
@@ -8120,6 +8230,7 @@ function createAcpSessionBridge(opts) {
|
|
|
8120
8230
|
return {
|
|
8121
8231
|
sessionId: racedEntry.sessionId,
|
|
8122
8232
|
workspaceCwd: racedEntry.workspaceCwd,
|
|
8233
|
+
...racedEntry.effectiveCwd !== racedEntry.workspaceCwd ? { currentCwd: racedEntry.effectiveCwd } : {},
|
|
8123
8234
|
attached: true,
|
|
8124
8235
|
clientId: clientId2,
|
|
8125
8236
|
createdAt: racedEntry.createdAt,
|
|
@@ -8355,6 +8466,15 @@ function createAcpSessionBridge(opts) {
|
|
|
8355
8466
|
__name(closeSessionImpl, "closeSessionImpl");
|
|
8356
8467
|
startSessionReaper();
|
|
8357
8468
|
const bridgeApi = {
|
|
8469
|
+
setLiveScreenContextCaptureHandler(handler) {
|
|
8470
|
+
liveScreenContextCaptureHandler = handler;
|
|
8471
|
+
},
|
|
8472
|
+
setLiveTaskToolRequestHandler(handler) {
|
|
8473
|
+
liveTaskToolRequestHandler = handler;
|
|
8474
|
+
},
|
|
8475
|
+
setLiveSpeakToUserHandler(handler) {
|
|
8476
|
+
liveSpeakToUserHandler = handler;
|
|
8477
|
+
},
|
|
8358
8478
|
getDaemonStatusSnapshot() {
|
|
8359
8479
|
return {
|
|
8360
8480
|
limits: {
|
|
@@ -8478,6 +8598,7 @@ function createAcpSessionBridge(opts) {
|
|
|
8478
8598
|
return {
|
|
8479
8599
|
sessionId: existing.sessionId,
|
|
8480
8600
|
workspaceCwd: existing.workspaceCwd,
|
|
8601
|
+
...existing.effectiveCwd !== existing.workspaceCwd ? { currentCwd: existing.effectiveCwd } : {},
|
|
8481
8602
|
attached: true,
|
|
8482
8603
|
clientId,
|
|
8483
8604
|
createdAt: existing.createdAt,
|
|
@@ -8581,6 +8702,12 @@ function createAcpSessionBridge(opts) {
|
|
|
8581
8702
|
entry,
|
|
8582
8703
|
context?.clientId
|
|
8583
8704
|
);
|
|
8705
|
+
const modelPrompt = context?.modelPrompt;
|
|
8706
|
+
if (modelPrompt !== void 0 && !isValidTrustedModelPrompt(modelPrompt)) {
|
|
8707
|
+
throw new TypeError(
|
|
8708
|
+
"Bridge modelPrompt must be a non-empty bounded string."
|
|
8709
|
+
);
|
|
8710
|
+
}
|
|
8584
8711
|
if (signal?.aborted) {
|
|
8585
8712
|
throw new DOMException("Prompt aborted", "AbortError");
|
|
8586
8713
|
}
|
|
@@ -8627,6 +8754,14 @@ function createAcpSessionBridge(opts) {
|
|
|
8627
8754
|
state: isQueued ? "queued" : "running"
|
|
8628
8755
|
};
|
|
8629
8756
|
entry.pendingPromptList.push(pendingEntry);
|
|
8757
|
+
try {
|
|
8758
|
+
context?.onPromptAdmitted?.();
|
|
8759
|
+
} catch (error) {
|
|
8760
|
+
opts.onDiagnosticLine?.(
|
|
8761
|
+
`qwen serve: prompt admission observer failed for session=${sessionId}: ${error instanceof Error ? error.message : String(error)}`,
|
|
8762
|
+
"warn"
|
|
8763
|
+
);
|
|
8764
|
+
}
|
|
8630
8765
|
const deadlineMs = context?.deadlineMs;
|
|
8631
8766
|
const hasDeadline = typeof deadlineMs === "number" && Number.isFinite(deadlineMs) && deadlineMs > 0;
|
|
8632
8767
|
let deadlineReject;
|
|
@@ -8755,6 +8890,7 @@ function createAcpSessionBridge(opts) {
|
|
|
8755
8890
|
delete meta[PRIVATE_PARENT_CAPABILITY_META_KEY];
|
|
8756
8891
|
delete meta[DAEMON_CONTINUE_META_KEY];
|
|
8757
8892
|
delete meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
|
|
8893
|
+
delete meta[DAEMON_MODEL_PROMPT_META_KEY];
|
|
8758
8894
|
if (isRetry) {
|
|
8759
8895
|
meta[DAEMON_RETRY_META_KEY] = true;
|
|
8760
8896
|
}
|
|
@@ -8764,6 +8900,9 @@ function createAcpSessionBridge(opts) {
|
|
|
8764
8900
|
if (context?.channelDelivery) {
|
|
8765
8901
|
meta[DAEMON_CHANNEL_DELIVERY_META_KEY] = context.channelDelivery;
|
|
8766
8902
|
}
|
|
8903
|
+
if (modelPrompt !== void 0) {
|
|
8904
|
+
meta[DAEMON_MODEL_PROMPT_META_KEY] = modelPrompt;
|
|
8905
|
+
}
|
|
8767
8906
|
meta[INVOCATION_CONTEXT_META_KEY] = invocationContext;
|
|
8768
8907
|
if (Object.keys(meta).length > 0) {
|
|
8769
8908
|
copy._meta = meta;
|
|
@@ -9292,7 +9431,8 @@ function createAcpSessionBridge(opts) {
|
|
|
9292
9431
|
{
|
|
9293
9432
|
sessionId,
|
|
9294
9433
|
path: req.path,
|
|
9295
|
-
...req.allowedRoots ? { allowedRoots: req.allowedRoots } : {}
|
|
9434
|
+
...req.allowedRoots ? { allowedRoots: req.allowedRoots } : {},
|
|
9435
|
+
...req.managedRelocation ? { managedRelocation: req.managedRelocation } : {}
|
|
9296
9436
|
}
|
|
9297
9437
|
);
|
|
9298
9438
|
const extResult = raw;
|
|
@@ -10030,6 +10170,20 @@ function createAcpSessionBridge(opts) {
|
|
|
10030
10170
|
refreshed: result.refreshed ?? false
|
|
10031
10171
|
};
|
|
10032
10172
|
},
|
|
10173
|
+
async setSessionLiveConversationActive(sessionId, active) {
|
|
10174
|
+
await requestSessionStatus(
|
|
10175
|
+
sessionId,
|
|
10176
|
+
SERVE_CONTROL_EXT_METHODS.sessionLiveConversation,
|
|
10177
|
+
{ active }
|
|
10178
|
+
);
|
|
10179
|
+
},
|
|
10180
|
+
async appendSessionLiveTranscript(sessionId, entries, model) {
|
|
10181
|
+
await requestSessionStatus(
|
|
10182
|
+
sessionId,
|
|
10183
|
+
SERVE_CONTROL_EXT_METHODS.sessionLiveTranscript,
|
|
10184
|
+
{ entries, model }
|
|
10185
|
+
);
|
|
10186
|
+
},
|
|
10033
10187
|
async setSessionApprovalMode(sessionId, mode, opts2, context) {
|
|
10034
10188
|
const entry = byId.get(sessionId);
|
|
10035
10189
|
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
@@ -10237,6 +10391,24 @@ function createAcpSessionBridge(opts) {
|
|
|
10237
10391
|
entry.midTurnMessageQueue.splice(index, 1);
|
|
10238
10392
|
return { removed: true };
|
|
10239
10393
|
},
|
|
10394
|
+
async enqueueBackgroundNotification(sessionId, notification) {
|
|
10395
|
+
const entry = byId.get(sessionId);
|
|
10396
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
10397
|
+
const info = channelInfoForEntry(entry);
|
|
10398
|
+
if (!info || info.isDying) throw new SessionNotFoundError(sessionId);
|
|
10399
|
+
const response = await Promise.race([
|
|
10400
|
+
withTimeout(
|
|
10401
|
+
entry.connection.extMethod(
|
|
10402
|
+
SERVE_CONTROL_EXT_METHODS.sessionBackgroundNotification,
|
|
10403
|
+
{ sessionId, ...notification }
|
|
10404
|
+
),
|
|
10405
|
+
initTimeoutMs,
|
|
10406
|
+
SERVE_CONTROL_EXT_METHODS.sessionBackgroundNotification
|
|
10407
|
+
),
|
|
10408
|
+
getTransportClosedReject(entry)
|
|
10409
|
+
]);
|
|
10410
|
+
return { sessionId, accepted: response["accepted"] === true };
|
|
10411
|
+
},
|
|
10240
10412
|
async generateSessionBtw(sessionId, question, signal, _context) {
|
|
10241
10413
|
const entry = byId.get(sessionId);
|
|
10242
10414
|
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
@@ -11119,6 +11291,7 @@ export {
|
|
|
11119
11291
|
SessionArtifactAuthorizationError,
|
|
11120
11292
|
SESSION_SOURCE_META_KEY,
|
|
11121
11293
|
parseSessionSource,
|
|
11294
|
+
isA2uiToolMeta,
|
|
11122
11295
|
extractErrorMessage,
|
|
11123
11296
|
extractErrorCode,
|
|
11124
11297
|
classifyTurnErrorKind,
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getExtensionManager
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-G5NNWEYE.js";
|
|
6
6
|
import {
|
|
7
7
|
parseChannelConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LAAFLUQV.js";
|
|
9
9
|
import {
|
|
10
10
|
getPlugin,
|
|
11
11
|
registerPlugin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EMYZIABH.js";
|
|
13
13
|
import {
|
|
14
14
|
sanitizeLogText
|
|
15
15
|
} from "./chunk-DIEFUBV6.js";
|
|
16
16
|
import {
|
|
17
17
|
loadSettings
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PPUOYL77.js";
|
|
19
19
|
import {
|
|
20
20
|
hashDaemonWorkspace
|
|
21
21
|
} from "./chunk-MGSSJT27.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
writeStderrLine,
|
|
27
27
|
writeStdoutLine
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-KGJGEEVR.js";
|
|
29
29
|
import {
|
|
30
30
|
init_esbuild_shims
|
|
31
31
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-DP3IHZGG.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KHUA3NQV.js";
|
|
9
9
|
import {
|
|
10
10
|
getNpmCliPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JE44IPH6.js";
|
|
12
12
|
import {
|
|
13
13
|
getPackageJson
|
|
14
14
|
} from "./chunk-VJNBRRZG.js";
|