@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.7
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/configuration/settings.md +19 -9
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +31 -19
- package/bundled/qc-helper/docs/features/code-review.md +30 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +59 -22
- package/chunks/{MaxSizedBox-A3UYJS6B.js → MaxSizedBox-ANWZBPTS.js} +38 -38
- package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-XKS3VU3A.js} +56 -55
- package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
- package/chunks/{acpAgent-V54T2EEL.js → acpAgent-KUAZ3GCZ.js} +1091 -150
- package/chunks/{agent-2P53VL2L.js → agent-T6PTGX5R.js} +35 -35
- package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-PR7YCB7S.js} +35 -35
- package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-DTMVEL5M.js} +7 -7
- package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-U4VOZIK5.js} +2 -2
- package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-XOBQLPFA.js} +2 -2
- package/chunks/{bridge-TCFMLKHR.js → bridge-NU6YEEHK.js} +41 -41
- package/chunks/{channel-management-service-5XPPTWUQ.js → channel-management-service-FSQ7SHYI.js} +1 -1
- package/chunks/{channel-settings-store-B4HNMNQV.js → channel-settings-store-35VQVUVV.js} +42 -42
- 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-XC656O42.js → chunk-22NBYCPD.js} +3 -3
- package/chunks/{chunk-WXS647W5.js → chunk-23RZCH76.js} +3 -3
- package/chunks/{chunk-O656RSMC.js → chunk-2U3WZGZG.js} +18 -10
- package/chunks/chunk-2VSTGY6M.js +107 -0
- package/chunks/{chunk-AU3XNTMV.js → chunk-33ACCIIY.js} +3 -3
- package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
- package/chunks/{chunk-CJBRIJ7W.js → chunk-3NB7TSE2.js} +3 -3
- package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
- package/chunks/{chunk-7FUVSN4D.js → chunk-55LYDVPU.js} +1 -1
- package/chunks/{chunk-3ZRS2XNY.js → chunk-5KH532V7.js} +1 -1
- package/chunks/{chunk-P7LKADIT.js → chunk-6EOI4HOK.js} +7 -7
- package/chunks/{chunk-X6DV3WKN.js → chunk-6GONZVLS.js} +1 -1
- package/chunks/{chunk-T4XY5CT4.js → chunk-6HVUFDS2.js} +7 -7
- package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
- package/chunks/{chunk-SPUDIAHX.js → chunk-6UWFTUQL.js} +530 -388
- package/chunks/{chunk-EKWNNQQD.js → chunk-6XJMFJ4D.js} +16 -10
- package/chunks/{chunk-72DZPDH4.js → chunk-6XU3PH66.js} +10 -5
- package/chunks/{chunk-WIPQR44Y.js → chunk-72LNFGUY.js} +3 -3
- package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
- package/chunks/{chunk-2AGOQ7QO.js → chunk-7UFKAV7Y.js} +118 -6
- package/chunks/{chunk-HKNSU4WX.js → chunk-AE77C5ZU.js} +198 -35
- package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
- package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
- package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
- package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
- package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
- package/chunks/{chunk-6WBWIPBF.js → chunk-BVWVWGLE.js} +2 -2
- package/chunks/{chunk-WPKIU4PA.js → chunk-CB2464BK.js} +6 -6
- package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
- package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
- package/chunks/{chunk-Z7JILXGX.js → chunk-CNIID3TV.js} +3 -3
- package/chunks/{chunk-6KEN3RIC.js → chunk-CSZEXZBE.js} +3 -3
- package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
- package/chunks/{chunk-5CDI4UOY.js → chunk-CXE7E23H.js} +131 -48
- package/chunks/{chunk-URJHXOSO.js → chunk-CYR3HI5X.js} +3 -3
- package/chunks/{chunk-546CDN6D.js → chunk-DBOFL3LQ.js} +3 -3
- package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
- package/chunks/{chunk-2U7GPHA6.js → chunk-E33LOKRA.js} +1 -1
- package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
- package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
- package/chunks/{chunk-QG2ACINA.js → chunk-EORNAQDT.js} +1 -1
- package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
- package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
- package/chunks/{chunk-CDHNGCJI.js → chunk-EUQTXRKZ.js} +7 -7
- package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
- package/chunks/{chunk-BU4BRCPX.js → chunk-FPM27XN4.js} +5 -5
- package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
- package/chunks/{chunk-NKST54XA.js → chunk-FZBZSYKU.js} +1 -1
- package/chunks/{chunk-XZCMQUOF.js → chunk-GDXET5XU.js} +31 -3387
- package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
- package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
- package/chunks/{chunk-AFZTZLFB.js → chunk-GSS34377.js} +3 -3
- package/chunks/{chunk-MVLM6PJK.js → chunk-H2UQ2M5Z.js} +6 -2
- package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
- package/chunks/{chunk-CXYBX4AL.js → chunk-HQB2KUAN.js} +1 -1
- package/chunks/{chunk-ZQL73PPE.js → chunk-HYRDKNUY.js} +2 -2
- package/chunks/{chunk-D7D7RXIJ.js → chunk-IC4Z6LX6.js} +1 -1
- package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
- package/chunks/{chunk-DTAPI453.js → chunk-IUFV6FYU.js} +2 -2
- package/chunks/{chunk-MISUEWB4.js → chunk-J6SZID63.js} +12 -8
- package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
- package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
- package/chunks/{chunk-XOZ2R6XI.js → chunk-KKJJB5X6.js} +3578 -1487
- package/chunks/{chunk-PQTK2FVO.js → chunk-KR4ZSC7K.js} +4 -4
- package/chunks/{chunk-NAYPZ72V.js → chunk-KXSDEOFU.js} +1 -1
- package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
- package/chunks/{chunk-4T6QMNX2.js → chunk-LA7YLSR6.js} +185 -12
- package/chunks/{chunk-4E5PO6R7.js → chunk-LEMXGVEP.js} +4 -4
- package/chunks/{chunk-WVAESIM6.js → chunk-LZC3B5N2.js} +4 -4
- package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
- package/chunks/{chunk-Z5S6KH2B.js → chunk-MAJS7AT4.js} +6 -6
- package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
- package/chunks/{chunk-I7JDGNG6.js → chunk-MVUQRLOH.js} +9 -5
- package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
- package/chunks/{chunk-ZPPP6VCL.js → chunk-NG2R4N5O.js} +1 -1
- package/chunks/chunk-NKLP3DCK.js +22 -0
- package/chunks/{chunk-WIRAPZ62.js → chunk-NLREQJFK.js} +7 -1
- package/chunks/{chunk-N47ZM2KI.js → chunk-OFI7IGST.js} +12 -12
- package/chunks/{chunk-DBIEZC7T.js → chunk-OH2VKQXH.js} +42 -16
- package/chunks/{chunk-C4GRKMUL.js → chunk-OHJLEW5J.js} +5 -5
- package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
- package/chunks/{chunk-VDLXPEI5.js → chunk-OMKQH5C5.js} +3 -3
- package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
- package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
- package/chunks/{chunk-WAOLM6SQ.js → chunk-P2AJ7FTI.js} +1 -1
- package/chunks/{chunk-MFBUJMQ3.js → chunk-P3LEG54R.js} +4 -4
- package/chunks/{chunk-WVRJKSIG.js → chunk-PJOBIWUG.js} +1 -1
- package/chunks/{chunk-YUVTZ4UH.js → chunk-PQBHU2IA.js} +114 -18
- package/chunks/{chunk-GTM6IHBB.js → chunk-Q3JQ7OSU.js} +2 -1
- package/chunks/{chunk-IISDPZ5X.js → chunk-QETYKPMG.js} +1 -1
- package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
- package/chunks/{chunk-DOICUTPO.js → chunk-RERATVSK.js} +11 -10
- package/chunks/chunk-RGSBTHSU.js +3381 -0
- package/chunks/{chunk-6D6V55ZQ.js → chunk-RMH5OWLD.js} +1 -1
- package/chunks/{chunk-AVDEBBMI.js → chunk-RNVQB725.js} +2 -2
- package/chunks/{chunk-QWUYFMAR.js → chunk-RUL4S3K3.js} +87 -67
- package/chunks/{chunk-RTWF7FF7.js → chunk-RZHU3ILK.js} +5 -5
- package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
- package/chunks/{chunk-ZH7G3A4U.js → chunk-SCI7K3GM.js} +4 -4
- package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
- package/chunks/{chunk-6KZP75GT.js → chunk-SHZYHGQH.js} +1 -1
- package/chunks/chunk-SOORFWKY.js +155 -0
- package/chunks/{chunk-NYZAL2W2.js → chunk-SPMY6CX6.js} +4 -4
- package/chunks/{chunk-EHMN6SEG.js → chunk-TDXGKHDN.js} +4 -4
- package/chunks/{chunk-XKTCA6BW.js → chunk-TLV2IMHR.js} +5 -5
- package/chunks/{chunk-XSGQKR37.js → chunk-TRLYP7OF.js} +358 -20
- package/chunks/{chunk-DG563ZCS.js → chunk-TYKC75AX.js} +3 -3
- package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
- package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
- package/chunks/{chunk-IKXE3AAC.js → chunk-VOARQPTA.js} +2 -2
- package/chunks/{chunk-TVFC3XF5.js → chunk-W4B7UBUS.js} +7 -7
- package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
- package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
- package/chunks/{chunk-A6SX5TAH.js → chunk-XCWO3SMQ.js} +9 -5
- package/chunks/{chunk-FDV3CXTD.js → chunk-Y4EWSQF7.js} +3 -3
- package/chunks/{chunk-3PRJYMXC.js → chunk-Y4NGLFGJ.js} +1 -1
- package/chunks/{chunk-DOA7MCDY.js → chunk-Y7E5LNLO.js} +973 -892
- package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
- package/chunks/{chunk-Y5HIDFKZ.js → chunk-YJQCUTT2.js} +4 -4
- package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
- package/chunks/{chunk-SQ3ZJOYL.js → chunk-ZJ3VGYHK.js} +20 -20
- package/chunks/{chunk-7GYP5COR.js → chunk-ZXU5UHMI.js} +1 -1
- package/chunks/{computer-use-GTOP2CVH.js → computer-use-KEAPATUY.js} +35 -35
- package/chunks/{config-utils-LIRO7NSU.js → config-utils-K7SCOWHD.js} +2 -2
- package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-ZJA6A5K5.js} +38 -38
- package/chunks/{core-runtime-D2626QQU.js → core-runtime-QMJPWHCI.js} +35 -35
- package/chunks/create-sub-session-DJE6XICH.js +772 -0
- package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-E4PBYXV5.js} +2 -2
- package/chunks/{cron-create-CCRIULJE.js → cron-create-GRBWYMIJ.js} +4 -4
- package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-4CMKBR2M.js} +4 -4
- package/chunks/{cron-list-QDBVCHRF.js → cron-list-W7K4ASOA.js} +4 -4
- package/chunks/{daemon-CCIX4BMG.js → daemon-SCTQMM7Z.js} +165 -5
- package/chunks/{daemon-status-provider-2EHRZZVF.js → daemon-status-provider-FSWDPE2G.js} +45 -45
- package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-P5L5VFAY.js} +41 -41
- package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-73JYN6ET.js} +41 -41
- package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-BWRCCFTE.js} +35 -35
- package/chunks/discovery-XLHITE74.js +220 -0
- package/chunks/{display-image-GUJA352B.js → display-image-O2XFPQTC.js} +4 -4
- package/chunks/{dist-A7H2KKUC.js → dist-K4WWQBHS.js} +277 -98
- package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
- package/chunks/{earlyInputCapture-WUNYYFOS.js → earlyInputCapture-L5ST23A6.js} +36 -36
- package/chunks/{edit-DMFCBP2D.js → edit-LHHRFNFK.js} +35 -35
- package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-6NXCRZPF.js} +35 -35
- package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-ZVQT4U7D.js} +35 -35
- package/chunks/{environment-U6QP23VJ.js → environment-GJ2HWJOS.js} +38 -38
- package/chunks/{errors-GZWFA6ON.js → errors-6RLH3XXC.js} +38 -38
- package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-I2YLUHHY.js} +35 -35
- package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-7CCWKO7I.js} +35 -35
- package/chunks/{fast-path-JHQJSIMZ.js → fast-path-DVFD4HQD.js} +2 -2
- package/chunks/{gemini-O44ETOKT.js → gemini-7FWGOYD4.js} +78 -78
- package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-V2WVLIXU.js} +6 -6
- package/chunks/{glob-YECOWTRW.js → glob-3N6GGI75.js} +35 -35
- package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-APOW6UXL.js} +3 -3
- package/chunks/{grep-BZO4LOTA.js → grep-V43ILZVX.js} +35 -35
- package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-A5WFVWIA.js} +40 -40
- package/chunks/{i18n-ARJYXZQ5.js → i18n-PLVQ4FBZ.js} +37 -37
- package/chunks/{image-gen-J6Q2YBEU.js → image-gen-7C6IK6DC.js} +9 -9
- package/chunks/{initializer-CEZ4RPQV.js → initializer-CVAIKZYL.js} +42 -42
- package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-J6QDHNTK.js} +36 -36
- package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
- package/chunks/{list-7XLPV5GC.js → list-ZZ4OUUWV.js} +44 -44
- package/chunks/{list-agents-GC4BRET7.js → list-agents-KFFIIS2G.js} +2 -2
- package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-QRYRJSWL.js} +41 -41
- package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-OJCO75HM.js} +17 -17
- package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-TLMJPMMP.js} +5 -5
- package/chunks/{ls-63CC3NNX.js → ls-UVVE2XGE.js} +4 -4
- package/chunks/{lsp-P6NVJVNT.js → lsp-QMEA2VLB.js} +2 -2
- package/chunks/{managed-npm-update-YSL7PA7G.js → managed-npm-update-PCOSCP2N.js} +48 -39
- package/chunks/{mcp-RKFQZXP6.js → mcp-M3WKKWKY.js} +41 -41
- package/chunks/{monitor-QHHJIKGL.js → monitor-GN24FH6C.js} +35 -35
- package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-KPTU3VSQ.js} +75 -75
- package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-4YM65BBO.js} +35 -35
- package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-EDQT6GTV.js} +19 -19
- package/chunks/{pidfile-I3CXJGQD.js → pidfile-JOIIRN2C.js} +36 -36
- package/chunks/{processUtils-LJ3DSANX.js → processUtils-5SV4MX3Q.js} +2 -2
- package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-ODRJSUGR.js} +40 -40
- package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-NESCMZ47.js} +8 -8
- package/chunks/{read-file-PGTXF25I.js → read-file-HPSODLPK.js} +10 -10
- package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-2TNSJTC3.js} +2 -2
- package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-RAON52FC.js} +3 -3
- package/chunks/{resumeHistoryUtils-FB2NFVZ2.js → resumeHistoryUtils-TXCOFFMQ.js} +42 -41
- package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-ZKQGTQAO.js} +35 -35
- package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-ZPKPKECF.js} +516 -87
- package/chunks/{runtime-CG3BKRFE.js → runtime-2FLNNM36.js} +44 -44
- package/chunks/{scheduler-VFUVGDE5.js → scheduler-365PJHNR.js} +35 -35
- package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
- package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
- package/chunks/{send-message-TL6FIMMN.js → send-message-ZM7MRUGP.js} +5 -5
- package/chunks/{serve-ZCCQ2G2L.js → serve-QD2RNLKJ.js} +42 -42
- package/chunks/{server-WS7LWXPP.js → server-XLJVLTYM.js} +7952 -611
- package/chunks/{session-IQLCT32T.js → session-3VTUHH4Q.js} +78 -78
- package/chunks/{settings-NX4EUIE6.js → settings-KULVPCQC.js} +40 -40
- package/chunks/{shell-THDYM4CS.js → shell-3SWW22MH.js} +35 -35
- package/chunks/{skill-OXXZBNQB.js → skill-KDHWYS7W.js} +14 -14
- package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-NMY4JEJC.js} +40 -40
- package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-ZKS4Q5OU.js} +37 -37
- package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-7CXPGAQ4.js} +38 -38
- package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-2QQLEKM6.js} +473 -233
- package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
- package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-ZLCUTKO2.js} +3 -3
- package/chunks/{task-create-2X4UP4F3.js → task-create-CQP5UEA3.js} +9 -9
- package/chunks/{task-list-WOLJPZ64.js → task-list-XLEZOJXP.js} +5 -5
- package/chunks/{task-stop-TNXRNAL2.js → task-stop-7ZQM5CFF.js} +2 -2
- package/chunks/{task-update-VDUSN36E.js → task-update-JA75U2SN.js} +9 -9
- package/chunks/{team-create-BCSMDK4Z.js → team-create-2WTNGAOX.js} +35 -35
- package/chunks/{team-delete-D2VMSDOT.js → team-delete-MHY3UZGY.js} +5 -5
- package/chunks/{team-plan-approval-B5YRLJFV.js → team-plan-approval-LZTYLEG4.js} +35 -35
- package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-R5HHAFJN.js} +41 -36
- package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-PAUCSJFF.js} +36 -36
- package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-UPVOHYGD.js} +4 -4
- package/chunks/{tool-search-SQTUSG6P.js → tool-search-2BFCGLI6.js} +13 -13
- package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-MK4SINFK.js} +41 -41
- package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-TJ5S26N7.js} +37 -37
- package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-N7AYLARF.js} +6 -6
- package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-QRZ3DVT5.js} +39 -39
- package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-DBJ7Y5AF.js} +44 -44
- package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-6ZQWUDS3.js} +72 -72
- package/chunks/{version-C7MPCGWD.js → version-AJQGQWXC.js} +1 -1
- package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-QWJYRXFL.js} +13 -13
- package/chunks/{web-search-IDOYUOWX.js → web-search-2AOXJGHU.js} +9 -9
- package/chunks/web-shell-static-O73YPVVC.js +33 -0
- package/chunks/{workflow-HXURUJB5.js → workflow-ERH3SJG2.js} +36 -36
- package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-HZ474RA4.js} +44 -44
- package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-6EUP4JXG.js} +1 -1
- package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-R4APRRNC.js} +41 -41
- package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-HFIFDMU7.js} +46 -46
- package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-HAHEIHGK.js} +42 -42
- package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-65GTAGDK.js} +50 -50
- package/chunks/{write-file-H2QOF25K.js → write-file-B34CDELV.js} +35 -35
- package/chunks/{zoom-image-JTUSS43N.js → zoom-image-HPRBZHSS.js} +10 -10
- package/cli.js +15 -15
- package/package.json +3 -3
- package/web-shell/assets/{arc-DtI1rZcQ.js → arc-Ip-FFDJ0.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BPZwSVct.js → architectureDiagram-3BPJPVTR-CChqgwIb.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BIQ03j4C.js → blockDiagram-GPEHLZMM-BHN-Tfss.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CB0RyFGm.js → c4Diagram-AAUBKEIU-BhyjzDjN.js} +1 -1
- package/web-shell/assets/channel-Cu8qd6OB.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-B3WoS-4H.js → chunk-2J33WTMH-BB9eyHrx.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-C98xYZ1X.js → chunk-4BX2VUAB-BeV7ce_J.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CbTIWRwQ.js → chunk-55IACEB6-DO7kXDiV.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWGnKTPu.js → chunk-727SXJPM-B27MPznD.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-4__QyCEX.js → chunk-AQP2D5EJ-DHIjqjD_.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DFtG1YCW.js → chunk-FMBD7UC4-DabMqyN2.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-rvAhW51N.js → chunk-ND2GUHAM-Dw7Nnnxc.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DfiU9pwZ.js → chunk-QZHKN3VN-DdaZew1Q.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-Cc4EIdxu.js → cose-bilkent-S5V4N54A-CgBpCYH5.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-CZNj4dGW.js → dagre-BM42HDAG-BB4IU8G0.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-D5tiqQCr.js → diagram-2AECGRRQ-BcUTHU37.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-pwzw0jVO.js → diagram-5GNKFQAL-B6Lyihyv.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-4CWiM00x.js → diagram-KO2AKTUF-CRIJOjpG.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dd7rc7Qf.js → diagram-LMA3HP47-DdNiwWWT.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-_vzV52ml.js → diagram-OG6HWLK6-Dz4b32Do.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CqbE2bx_.js → erDiagram-TEJ5UH35-D-8NGw77.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CaxNr7w4.js → flowDiagram-I6XJVG4X-Dun26LyM.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-AGjrtfUA.js → ganttDiagram-6RSMTGT7-F10Hu1Gc.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-ADG2zSkc.js → gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js} +1 -1
- package/web-shell/assets/{index-BOryKCqt.js → index-BXqw-nGq.js} +1 -1
- package/web-shell/assets/index-QQlUCJGg.css +5 -0
- package/web-shell/assets/index-hcgjV7vS.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CE3B_IoZ.js → infoDiagram-5YYISTIA-DVgTMLvj.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CN-Frhoi.js → ishikawaDiagram-YF4QCWOH-uT-KepvK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CGgezS93.js → journeyDiagram-JHISSGLW-Vg_XadQf.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BqWijky5.js → kanban-definition-UN3LZRKU-Dyv1ESBE.js} +1 -1
- package/web-shell/assets/{linear-D8sfpZf6.js → linear-BMIepYX3.js} +1 -1
- package/web-shell/assets/{mermaid.core-3PA4QrzM.js → mermaid.core-zA8pJ9ag.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D9QxwiCY.js → mindmap-definition-RKZ34NQL-BCW_BZ_5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Bioaf6uE.js → pieDiagram-4H26LBE5-DseNEGp2.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DBb2AS73.js → quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DXOvZ3KB.js → requirementDiagram-4Y6WPE33-CVOlCRPf.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D9qg09Dm.js → sankeyDiagram-5OEKKPKP-CGhgrUJZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DSAUIfpw.js → sequenceDiagram-3UESZ5HK-dlqmpLuQ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-BPZkzfQ3.js → stateDiagram-AJRCARHV-B9EW10Xb.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-UDaQp9sP.js → timeline-definition-PNZ67QCA-BBRh0mgZ.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-2ouhAnHO.js → vennDiagram-CIIHVFJN-B8Gs-REP.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-Cq_WEvTK.js → wardley-L42UT6IY-D_y80Ur7.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dt24aXOM.js → wardleyDiagram-YWT4CUSO-D-CNfHJ-.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-A5Xk2WCH.js → xychartDiagram-2RQKCTM6-DQ5CvELo.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
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
// Force strict mode and setup for ESM
|
|
2
|
-
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
stripTerminalControlSequences
|
|
5
|
-
} from "./chunk-DOA7MCDY.js";
|
|
6
|
-
import "./chunk-GOFAQQZA.js";
|
|
7
|
-
import "./chunk-5M6IDOMF.js";
|
|
8
|
-
import "./chunk-TWPJO254.js";
|
|
9
|
-
import "./chunk-H6XPXXMH.js";
|
|
10
|
-
import "./chunk-Z7JILXGX.js";
|
|
11
|
-
import "./chunk-I7JDGNG6.js";
|
|
12
|
-
import "./chunk-A6SX5TAH.js";
|
|
13
|
-
import "./chunk-33FNCQSY.js";
|
|
14
|
-
import "./chunk-6PVPNMXU.js";
|
|
15
|
-
import "./chunk-6D6V55ZQ.js";
|
|
16
|
-
import "./chunk-IRH27ZC2.js";
|
|
17
|
-
import "./chunk-QHWCP53L.js";
|
|
18
|
-
import "./chunk-MOHAWIAW.js";
|
|
19
|
-
import "./chunk-3PRJYMXC.js";
|
|
20
|
-
import "./chunk-O6GEWCJA.js";
|
|
21
|
-
import "./chunk-T26EAKDL.js";
|
|
22
|
-
import "./chunk-ZPJWUGCS.js";
|
|
23
|
-
import "./chunk-CPBF7KYF.js";
|
|
24
|
-
import "./chunk-MISUEWB4.js";
|
|
25
|
-
import "./chunk-KRXPRVGL.js";
|
|
26
|
-
import "./chunk-A5YZ3FA2.js";
|
|
27
|
-
import "./chunk-YAVY33G4.js";
|
|
28
|
-
import "./chunk-2UISUFHQ.js";
|
|
29
|
-
import "./chunk-MBEMTXQT.js";
|
|
30
|
-
import "./chunk-6WBWIPBF.js";
|
|
31
|
-
import "./chunk-S6LOFUVP.js";
|
|
32
|
-
import "./chunk-WVAESIM6.js";
|
|
33
|
-
import "./chunk-K623ENWT.js";
|
|
34
|
-
import "./chunk-AQ37AY7B.js";
|
|
35
|
-
import "./chunk-432XCUHF.js";
|
|
36
|
-
import "./chunk-HU5TUALO.js";
|
|
37
|
-
import "./chunk-XC656O42.js";
|
|
38
|
-
import "./chunk-NAVJD2PQ.js";
|
|
39
|
-
import "./chunk-QYPT3QUD.js";
|
|
40
|
-
import "./chunk-QMBEW7EW.js";
|
|
41
|
-
import "./chunk-DGEIYUC3.js";
|
|
42
|
-
import "./chunk-MPHPFVKK.js";
|
|
43
|
-
import "./chunk-GLNBDYUX.js";
|
|
44
|
-
import "./chunk-DJ2GSRLV.js";
|
|
45
|
-
import "./chunk-AU3XNTMV.js";
|
|
46
|
-
import "./chunk-MGSSJT27.js";
|
|
47
|
-
import "./chunk-2J3OJGTL.js";
|
|
48
|
-
import "./chunk-P3QQPMQA.js";
|
|
49
|
-
import "./chunk-6O5DVH27.js";
|
|
50
|
-
import "./chunk-GLCZKT5V.js";
|
|
51
|
-
import "./chunk-2DNKEBXY.js";
|
|
52
|
-
import "./chunk-O656RSMC.js";
|
|
53
|
-
import "./chunk-WOJZWRAZ.js";
|
|
54
|
-
import "./chunk-VGC4I5JJ.js";
|
|
55
|
-
import "./chunk-E4WHKETF.js";
|
|
56
|
-
import "./chunk-ZPPP6VCL.js";
|
|
57
|
-
import "./chunk-D7D7RXIJ.js";
|
|
58
|
-
import "./chunk-P7LKADIT.js";
|
|
59
|
-
import "./chunk-46UV252V.js";
|
|
60
|
-
import "./chunk-ZBVS26BY.js";
|
|
61
|
-
import "./chunk-BFHXDAR7.js";
|
|
62
|
-
import "./chunk-TYERNYH4.js";
|
|
63
|
-
import "./chunk-UH7Z7Y45.js";
|
|
64
|
-
import "./chunk-5L6CQ4ZU.js";
|
|
65
|
-
import "./chunk-W4RQUHY3.js";
|
|
66
|
-
import "./chunk-LKRMNRSN.js";
|
|
67
|
-
import {
|
|
68
|
-
createDebugLogger
|
|
69
|
-
} from "./chunk-3RXUYQJI.js";
|
|
70
|
-
import "./chunk-VOQXFAY5.js";
|
|
71
|
-
import {
|
|
72
|
-
writeStderrLine
|
|
73
|
-
} from "./chunk-OWAK7LMW.js";
|
|
74
|
-
import "./chunk-75DOP5OR.js";
|
|
75
|
-
import "./chunk-DMTGGOSA.js";
|
|
76
|
-
import "./chunk-YQ3U5MUC.js";
|
|
77
|
-
import "./chunk-AMDSOFFV.js";
|
|
78
|
-
import "./chunk-QUGAUQGJ.js";
|
|
79
|
-
import {
|
|
80
|
-
init_esbuild_shims
|
|
81
|
-
} from "./chunk-5O2XNYP6.js";
|
|
82
|
-
import {
|
|
83
|
-
__name
|
|
84
|
-
} from "./chunk-J2S4EL5Y.js";
|
|
85
|
-
|
|
86
|
-
// packages/cli/src/serve/create-sub-session.ts
|
|
87
|
-
init_esbuild_shims();
|
|
88
|
-
import { randomUUID } from "node:crypto";
|
|
89
|
-
var log = createDebugLogger("SUB_SESSION");
|
|
90
|
-
var MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER = 16;
|
|
91
|
-
var MAX_CONCURRENT_SUB_SESSIONS_TOTAL = 24;
|
|
92
|
-
var FIRST_TURN_TIMEOUT_MS = 5 * 6e4;
|
|
93
|
-
var SENT_MODE_DRAIN_TIMEOUT_MS = 30 * 6e4;
|
|
94
|
-
var MAX_RESULT_CHARS = 32e3;
|
|
95
|
-
var MAX_NAME_LENGTH = 60;
|
|
96
|
-
var MAX_TRACKED_SPAWNED_SESSIONS = 1024;
|
|
97
|
-
var BIDI_CONTROL_MARKS = new RegExp(
|
|
98
|
-
"[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]",
|
|
99
|
-
"g"
|
|
100
|
-
);
|
|
101
|
-
function subSessionName(label) {
|
|
102
|
-
const cleaned = stripTerminalControlSequences(label).replace(BIDI_CONTROL_MARKS, "").trim().replace(/\s+/g, " ");
|
|
103
|
-
let short = cleaned;
|
|
104
|
-
if (cleaned.length > MAX_NAME_LENGTH) {
|
|
105
|
-
let cut = MAX_NAME_LENGTH - 1;
|
|
106
|
-
const boundary = cleaned.charCodeAt(cut - 1);
|
|
107
|
-
if (boundary >= 55296 && boundary <= 56319) cut -= 1;
|
|
108
|
-
short = `${cleaned.slice(0, cut)}\u2026`;
|
|
109
|
-
}
|
|
110
|
-
return `\u{1F9F5} ${short}`;
|
|
111
|
-
}
|
|
112
|
-
__name(subSessionName, "subSessionName");
|
|
113
|
-
async function awaitFirstTurn(bridge, sessionId, promptId, lastEventId, timeoutMs, stopSignal) {
|
|
114
|
-
const ac = new AbortController();
|
|
115
|
-
let timedOut = false;
|
|
116
|
-
const timer = setTimeout(() => {
|
|
117
|
-
timedOut = true;
|
|
118
|
-
ac.abort();
|
|
119
|
-
}, timeoutMs);
|
|
120
|
-
if (typeof timer.unref === "function") timer.unref();
|
|
121
|
-
const composed = stopSignal ? AbortSignal.any([ac.signal, stopSignal]) : ac.signal;
|
|
122
|
-
let acc = "";
|
|
123
|
-
let truncated = false;
|
|
124
|
-
let stopReason;
|
|
125
|
-
const appendChunk = /* @__PURE__ */ __name((text) => {
|
|
126
|
-
if (truncated) return;
|
|
127
|
-
if (acc.length + text.length > MAX_RESULT_CHARS) {
|
|
128
|
-
let cut = Math.max(0, MAX_RESULT_CHARS - acc.length);
|
|
129
|
-
if (cut > 0) {
|
|
130
|
-
const code = text.charCodeAt(cut - 1);
|
|
131
|
-
if (code >= 55296 && code <= 56319) cut -= 1;
|
|
132
|
-
}
|
|
133
|
-
acc += text.slice(0, cut);
|
|
134
|
-
truncated = true;
|
|
135
|
-
} else {
|
|
136
|
-
acc += text;
|
|
137
|
-
}
|
|
138
|
-
}, "appendChunk");
|
|
139
|
-
try {
|
|
140
|
-
for await (const e of bridge.subscribeEvents(sessionId, {
|
|
141
|
-
lastEventId,
|
|
142
|
-
signal: composed
|
|
143
|
-
})) {
|
|
144
|
-
if (e.type === "session_update") {
|
|
145
|
-
const d = e.data;
|
|
146
|
-
if (d?.update?.sessionUpdate === "agent_message_chunk" && typeof d.update.content?.text === "string") {
|
|
147
|
-
appendChunk(d.update.content.text);
|
|
148
|
-
}
|
|
149
|
-
} else if (e.type === "turn_complete") {
|
|
150
|
-
const d = e.data;
|
|
151
|
-
if (d?.promptId === promptId) {
|
|
152
|
-
stopReason = d.stopReason ?? "end_turn";
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
} else if (e.type === "turn_error") {
|
|
156
|
-
const d = e.data;
|
|
157
|
-
if (d?.promptId === promptId) {
|
|
158
|
-
stopReason = "error";
|
|
159
|
-
if (d.message && !truncated) {
|
|
160
|
-
const suffix = `${acc ? "\n" : ""}[turn error] ${d.message}`;
|
|
161
|
-
if (acc.length + suffix.length <= MAX_RESULT_CHARS) {
|
|
162
|
-
acc += suffix;
|
|
163
|
-
} else {
|
|
164
|
-
truncated = true;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
break;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
} finally {
|
|
172
|
-
clearTimeout(timer);
|
|
173
|
-
ac.abort();
|
|
174
|
-
}
|
|
175
|
-
if (stopReason === void 0) {
|
|
176
|
-
stopReason = stopSignal?.aborted ? "shutdown" : timedOut ? "timeout" : "incomplete";
|
|
177
|
-
}
|
|
178
|
-
if (truncated) acc += "\n[\u2026output truncated]";
|
|
179
|
-
return { result: acc, stopReason };
|
|
180
|
-
}
|
|
181
|
-
__name(awaitFirstTurn, "awaitFirstTurn");
|
|
182
|
-
function createSubSessionLauncher(opts) {
|
|
183
|
-
const { getBridge, boundWorkspace } = opts;
|
|
184
|
-
const firstTurnTimeoutMs = opts.firstTurnTimeoutMs ?? FIRST_TURN_TIMEOUT_MS;
|
|
185
|
-
const sentModeDrainTimeoutMs = opts.sentModeDrainTimeoutMs ?? SENT_MODE_DRAIN_TIMEOUT_MS;
|
|
186
|
-
const maxConcurrentPerCaller = opts.maxConcurrentPerCaller ?? MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER;
|
|
187
|
-
const maxConcurrentTotal = Math.min(
|
|
188
|
-
opts.maxConcurrentTotal ?? MAX_CONCURRENT_SUB_SESSIONS_TOTAL,
|
|
189
|
-
MAX_TRACKED_SPAWNED_SESSIONS
|
|
190
|
-
);
|
|
191
|
-
const inflight = /* @__PURE__ */ new Map();
|
|
192
|
-
const spawnedSessionIds = /* @__PURE__ */ new Set();
|
|
193
|
-
const stopAc = new AbortController();
|
|
194
|
-
let inflightTotal = 0;
|
|
195
|
-
const release = /* @__PURE__ */ __name((key) => {
|
|
196
|
-
const n = (inflight.get(key) ?? 1) - 1;
|
|
197
|
-
if (n <= 0) inflight.delete(key);
|
|
198
|
-
else inflight.set(key, n);
|
|
199
|
-
inflightTotal = Math.max(0, inflightTotal - 1);
|
|
200
|
-
}, "release");
|
|
201
|
-
const rememberSpawned = /* @__PURE__ */ __name((sessionId) => {
|
|
202
|
-
spawnedSessionIds.add(sessionId);
|
|
203
|
-
while (spawnedSessionIds.size > MAX_TRACKED_SPAWNED_SESSIONS) {
|
|
204
|
-
const oldest = spawnedSessionIds.values().next().value;
|
|
205
|
-
if (oldest === void 0) break;
|
|
206
|
-
spawnedSessionIds.delete(oldest);
|
|
207
|
-
}
|
|
208
|
-
}, "rememberSpawned");
|
|
209
|
-
const launch = /* @__PURE__ */ __name(async (info) => {
|
|
210
|
-
if (stopAc.signal.aborted) {
|
|
211
|
-
throw new Error(
|
|
212
|
-
"The daemon is shutting down; cannot create a sub-session."
|
|
213
|
-
);
|
|
214
|
-
}
|
|
215
|
-
const bridge = getBridge();
|
|
216
|
-
if (!bridge) {
|
|
217
|
-
throw new Error("Session bridge is not available.");
|
|
218
|
-
}
|
|
219
|
-
if (spawnedSessionIds.has(info.callerSessionId)) {
|
|
220
|
-
throw new Error(
|
|
221
|
-
"A sub-session cannot create further sub-sessions (nesting is capped at one level)."
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
const key = info.callerSessionId;
|
|
225
|
-
const current = inflight.get(key) ?? 0;
|
|
226
|
-
if (current >= maxConcurrentPerCaller) {
|
|
227
|
-
throw new Error(
|
|
228
|
-
`Too many concurrent sub-sessions for this session (cap ${maxConcurrentPerCaller}); wait for one to finish.`
|
|
229
|
-
);
|
|
230
|
-
}
|
|
231
|
-
if (inflightTotal >= maxConcurrentTotal) {
|
|
232
|
-
throw new Error(
|
|
233
|
-
`Too many concurrent sub-sessions in this workspace (cap ${maxConcurrentTotal}); wait for one to finish.`
|
|
234
|
-
);
|
|
235
|
-
}
|
|
236
|
-
inflight.set(key, current + 1);
|
|
237
|
-
inflightTotal += 1;
|
|
238
|
-
let released = false;
|
|
239
|
-
const releaseOnce = /* @__PURE__ */ __name(() => {
|
|
240
|
-
if (released) return;
|
|
241
|
-
released = true;
|
|
242
|
-
release(key);
|
|
243
|
-
}, "releaseOnce");
|
|
244
|
-
let spawnedSessionId;
|
|
245
|
-
try {
|
|
246
|
-
const sub = await bridge.spawnOrAttach({
|
|
247
|
-
workspaceCwd: boundWorkspace,
|
|
248
|
-
sessionScope: "thread",
|
|
249
|
-
// force a fresh top-level session, never attach
|
|
250
|
-
// Record the caller as the sub-session's parent so the UI can link it
|
|
251
|
-
// back. Persisted into the sub-session's transcript at spawn time.
|
|
252
|
-
parentSessionId: info.callerSessionId,
|
|
253
|
-
...info.model ? { modelServiceId: info.model } : {}
|
|
254
|
-
});
|
|
255
|
-
spawnedSessionId = sub.sessionId;
|
|
256
|
-
const sessionId = sub.sessionId;
|
|
257
|
-
rememberSpawned(sessionId);
|
|
258
|
-
try {
|
|
259
|
-
bridge.updateSessionMetadata(sessionId, {
|
|
260
|
-
displayName: subSessionName(info.name ?? info.prompt)
|
|
261
|
-
});
|
|
262
|
-
} catch (err) {
|
|
263
|
-
log.debug("sub-session: updateSessionMetadata failed", sessionId, err);
|
|
264
|
-
}
|
|
265
|
-
const lastEventId = bridge.getSessionLastEventId(sessionId);
|
|
266
|
-
const promptId = randomUUID();
|
|
267
|
-
const turn = bridge.sendPrompt(
|
|
268
|
-
sessionId,
|
|
269
|
-
{
|
|
270
|
-
sessionId,
|
|
271
|
-
prompt: [{ type: "text", text: info.prompt }]
|
|
272
|
-
},
|
|
273
|
-
void 0,
|
|
274
|
-
{ promptId }
|
|
275
|
-
);
|
|
276
|
-
void turn.catch((err) => {
|
|
277
|
-
log.debug("sub-session: sendPrompt rejected", sessionId, String(err));
|
|
278
|
-
});
|
|
279
|
-
if (info.completion === "sent") {
|
|
280
|
-
const drainAc = new AbortController();
|
|
281
|
-
let drainTimedOut = false;
|
|
282
|
-
const drainTimer = setTimeout(() => {
|
|
283
|
-
drainTimedOut = true;
|
|
284
|
-
drainAc.abort();
|
|
285
|
-
}, sentModeDrainTimeoutMs);
|
|
286
|
-
if (typeof drainTimer.unref === "function") drainTimer.unref();
|
|
287
|
-
const drainSignal = AbortSignal.any([stopAc.signal, drainAc.signal]);
|
|
288
|
-
void (async () => {
|
|
289
|
-
try {
|
|
290
|
-
const turnSettled = turn.then(
|
|
291
|
-
() => "ok",
|
|
292
|
-
() => "rejected"
|
|
293
|
-
);
|
|
294
|
-
const drainDone = (async () => {
|
|
295
|
-
for await (const e of bridge.subscribeEvents(sessionId, {
|
|
296
|
-
lastEventId,
|
|
297
|
-
signal: drainSignal
|
|
298
|
-
})) {
|
|
299
|
-
if (e.type === "turn_complete" || e.type === "turn_error") {
|
|
300
|
-
const d = e.data;
|
|
301
|
-
if (d?.promptId === promptId) break;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
return "drained";
|
|
305
|
-
})();
|
|
306
|
-
await Promise.race([turnSettled, drainDone]);
|
|
307
|
-
} catch (err) {
|
|
308
|
-
if (!(err instanceof Error && err.name === "AbortError") && !(stopAc.signal.aborted || drainAc.signal.aborted)) {
|
|
309
|
-
log.debug(
|
|
310
|
-
"sub-session: sent-mode drain error",
|
|
311
|
-
sessionId,
|
|
312
|
-
String(err)
|
|
313
|
-
);
|
|
314
|
-
}
|
|
315
|
-
} finally {
|
|
316
|
-
clearTimeout(drainTimer);
|
|
317
|
-
if (drainTimedOut) {
|
|
318
|
-
writeStderrLine(
|
|
319
|
-
`qwen serve: sub-session ${sessionId} drain timed out after ${Math.round(sentModeDrainTimeoutMs / 6e4)}min; releasing its concurrency slot (the sub-session may still be running)`
|
|
320
|
-
);
|
|
321
|
-
}
|
|
322
|
-
drainAc.abort();
|
|
323
|
-
releaseOnce();
|
|
324
|
-
}
|
|
325
|
-
})();
|
|
326
|
-
return {
|
|
327
|
-
sessionId,
|
|
328
|
-
...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
try {
|
|
332
|
-
const turnError = turn.then(
|
|
333
|
-
() => new Promise(() => {
|
|
334
|
-
}),
|
|
335
|
-
// never resolves on success
|
|
336
|
-
(err) => Promise.reject(
|
|
337
|
-
new Error(
|
|
338
|
-
`sub-session dispatch failed: ${err instanceof Error ? err.message : String(err)}`
|
|
339
|
-
)
|
|
340
|
-
)
|
|
341
|
-
);
|
|
342
|
-
const firstTurn = awaitFirstTurn(
|
|
343
|
-
bridge,
|
|
344
|
-
sessionId,
|
|
345
|
-
promptId,
|
|
346
|
-
lastEventId,
|
|
347
|
-
firstTurnTimeoutMs,
|
|
348
|
-
stopAc.signal
|
|
349
|
-
);
|
|
350
|
-
const { result, stopReason } = await Promise.race([
|
|
351
|
-
firstTurn,
|
|
352
|
-
turnError
|
|
353
|
-
]);
|
|
354
|
-
return {
|
|
355
|
-
sessionId,
|
|
356
|
-
result,
|
|
357
|
-
stopReason,
|
|
358
|
-
...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
|
|
359
|
-
};
|
|
360
|
-
} finally {
|
|
361
|
-
releaseOnce();
|
|
362
|
-
}
|
|
363
|
-
} catch (err) {
|
|
364
|
-
releaseOnce();
|
|
365
|
-
if (spawnedSessionId !== void 0) {
|
|
366
|
-
try {
|
|
367
|
-
void bridge.closeSession(spawnedSessionId).catch(() => {
|
|
368
|
-
});
|
|
369
|
-
} catch (closeErr) {
|
|
370
|
-
log.debug(
|
|
371
|
-
"sub-session: closeSession threw",
|
|
372
|
-
spawnedSessionId,
|
|
373
|
-
closeErr
|
|
374
|
-
);
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
writeStderrLine(
|
|
378
|
-
`qwen serve: create_sub_session failed: ${err instanceof Error ? err.message : String(err)}`
|
|
379
|
-
);
|
|
380
|
-
throw err instanceof Error ? err : new Error(String(err));
|
|
381
|
-
}
|
|
382
|
-
}, "launch");
|
|
383
|
-
return {
|
|
384
|
-
launch,
|
|
385
|
-
stop: /* @__PURE__ */ __name(() => {
|
|
386
|
-
stopAc.abort();
|
|
387
|
-
}, "stop")
|
|
388
|
-
};
|
|
389
|
-
}
|
|
390
|
-
__name(createSubSessionLauncher, "createSubSessionLauncher");
|
|
391
|
-
export {
|
|
392
|
-
MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER,
|
|
393
|
-
MAX_CONCURRENT_SUB_SESSIONS_TOTAL,
|
|
394
|
-
MAX_TRACKED_SPAWNED_SESSIONS,
|
|
395
|
-
createSubSessionLauncher
|
|
396
|
-
};
|
|
397
|
-
/**
|
|
398
|
-
* @license
|
|
399
|
-
* Copyright 2025 Qwen Team
|
|
400
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
401
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,D as n}from"./mermaid.core-3PA4QrzM.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-DWGnKTPu.js";import{_ as i}from"./mermaid.core-3PA4QrzM.js";import"./chunk-FMBD7UC4-DFtG1YCW.js";import"./chunk-ND2GUHAM-rvAhW51N.js";import"./chunk-55IACEB6-CbTIWRwQ.js";import"./chunk-2J33WTMH-B3WoS-4H.js";import"./index-CvJDaIy8.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-DWGnKTPu.js";import{_ as i}from"./mermaid.core-3PA4QrzM.js";import"./chunk-FMBD7UC4-DFtG1YCW.js";import"./chunk-ND2GUHAM-rvAhW51N.js";import"./chunk-55IACEB6-CbTIWRwQ.js";import"./chunk-2J33WTMH-B3WoS-4H.js";import"./index-CvJDaIy8.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|