@qwen-code/qwen-code 0.21.12 → 0.21.13
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 +7 -5
- package/bundled/qc-helper/docs/features/code-review.md +13 -12
- package/bundled/review/SKILL.md +96 -68
- package/chunks/{MaxSizedBox-ZSJJ2D5S.js → MaxSizedBox-UQALOVVT.js} +41 -41
- package/chunks/{StandaloneSessionPicker-WHUHQXSA.js → StandaloneSessionPicker-KEGXNUG6.js} +62 -62
- package/chunks/{acp-startup-profiler-SVPUHLXV.js → acp-startup-profiler-NMDXYGDN.js} +2 -2
- package/chunks/{acpAgent-7JOAESF5.js → acpAgent-XPES32S7.js} +533 -286
- package/chunks/{agent-E6V3VXQR.js → agent-DPTOZFEM.js} +38 -38
- package/chunks/{agent-headless-OEQNFOMH.js → agent-headless-GJCQMURW.js} +38 -38
- package/chunks/{anthropicContentGenerator-YDT4EOKO.js → anthropicContentGenerator-G7BVXTKN.js} +6 -6
- package/chunks/{artifact-tool-4GCQQDZI.js → artifact-tool-GEXTOPVO.js} +2 -2
- package/chunks/{askUserQuestion-HZJJLR3Z.js → askUserQuestion-B33XRSB7.js} +2 -2
- package/chunks/{bridge-NPBV53UA.js → bridge-YNQBAA4Z.js} +42 -42
- package/chunks/{channel-management-service-OADNGQM3.js → channel-management-service-GWY2GAIC.js} +1 -1
- package/chunks/{channel-settings-store-4ODLJ4X2.js → channel-settings-store-WNWYFHG7.js} +45 -45
- package/chunks/{channel-worker-group-IHBIHQ45.js → channel-worker-group-7LXCMZ77.js} +4 -4
- package/chunks/{channel-worker-manager-GEHYJ5AE.js → channel-worker-manager-RYEME4ZZ.js} +4 -4
- package/chunks/{channel-worker-supervisor-ZJIIWM4I.js → channel-worker-supervisor-OEVWBHGT.js} +2 -2
- package/chunks/{chunk-5RUCD4ED.js → chunk-25EYDK42.js} +3 -3
- package/chunks/{chunk-2ZWH53I4.js → chunk-2B2BF7P7.js} +3 -3
- package/chunks/{chunk-OYWVIXHT.js → chunk-2M55OBEB.js} +1 -1
- package/chunks/{chunk-GZDWTBT3.js → chunk-3EZLLVDF.js} +2 -2
- package/chunks/{chunk-V6OBVAST.js → chunk-3U3VAL47.js} +1 -1
- package/chunks/{chunk-KWX56CHZ.js → chunk-4PKCUT7F.js} +7 -7
- package/chunks/{chunk-EBPLKY6U.js → chunk-4S5337WV.js} +1229 -522
- package/chunks/{chunk-QLTATTPS.js → chunk-5CVO7YES.js} +1 -1
- package/chunks/{chunk-I7BT2MME.js → chunk-5EYKMUUY.js} +1 -1
- package/chunks/{chunk-YIGGWOJE.js → chunk-6HY6IF3Z.js} +1 -1
- package/chunks/{chunk-LCX5B364.js → chunk-6ORZ2EDC.js} +3 -3
- package/chunks/{chunk-OWGRUU7F.js → chunk-6QFDQMQX.js} +1 -1
- package/chunks/{chunk-5AFGJNY6.js → chunk-6YKYPVDV.js} +4 -4
- package/chunks/{chunk-X5SLJOMF.js → chunk-76J3IJ3M.js} +4 -4
- package/chunks/{chunk-YX2RDGAL.js → chunk-7UXUJ5T3.js} +1 -1
- package/chunks/{chunk-3GDBZJD6.js → chunk-A267JX7H.js} +6 -6
- package/chunks/{chunk-DD6O3ZRD.js → chunk-A4MFR4C5.js} +1 -1
- package/chunks/{chunk-LUISTZXI.js → chunk-AA2BEKV3.js} +2 -2
- package/chunks/{chunk-4XA4QIUA.js → chunk-AFSG32D5.js} +1 -1
- package/chunks/{chunk-B4VN3VDH.js → chunk-AS5IN4GK.js} +5 -5
- package/chunks/{chunk-MELQSJOU.js → chunk-AW4TRXOC.js} +1 -1
- package/chunks/{chunk-EJOGLSNJ.js → chunk-AXN7UPYQ.js} +1 -1
- package/chunks/{chunk-CGM3E75C.js → chunk-BHILXOC3.js} +2 -2
- package/chunks/{chunk-7KJPO7YH.js → chunk-BKPPWD33.js} +2 -2
- package/chunks/{chunk-HOSVOUDK.js → chunk-BUQDLC2G.js} +3 -0
- package/chunks/{chunk-2IVYL3IF.js → chunk-BVJS5BSP.js} +1 -1
- package/chunks/{chunk-TMFWI4RC.js → chunk-BZ263IKX.js} +1 -1
- package/chunks/{chunk-G6MUFRNI.js → chunk-CHHABXPE.js} +1 -1
- package/chunks/{chunk-YILJKX2T.js → chunk-CKSJECTU.js} +4 -4
- package/chunks/{chunk-4AOVQPJU.js → chunk-CPHEPGAO.js} +1 -1
- package/chunks/{chunk-OWXFBIB6.js → chunk-CU6GJD55.js} +1 -1
- package/chunks/{chunk-FMIH5KMQ.js → chunk-CZBYX5MY.js} +1 -1
- package/chunks/{chunk-S6TCTH4Z.js → chunk-DGK6P3BQ.js} +12 -12
- package/chunks/{chunk-QPBFRWCP.js → chunk-DGZEMW5R.js} +3 -3
- package/chunks/{chunk-NW2GIPG3.js → chunk-DXIBNLBZ.js} +2 -2
- package/chunks/{chunk-FA5K6YI2.js → chunk-E23IPNGS.js} +25 -2
- package/chunks/{chunk-ULNWG62W.js → chunk-E3DYKPYZ.js} +3 -3
- package/chunks/{chunk-N4SVADAV.js → chunk-EL5SXY3T.js} +4 -3
- package/chunks/{chunk-YCHNAKC5.js → chunk-EZ5RP345.js} +11 -11
- package/chunks/{chunk-D7QGE3RT.js → chunk-FAAUPSY2.js} +1 -1
- package/chunks/{chunk-YBHUXEC6.js → chunk-FDGGZIYW.js} +1 -1
- package/chunks/{chunk-CIDQISGM.js → chunk-GGDBMYGZ.js} +5 -5
- package/chunks/{chunk-DG4IQ6JG.js → chunk-GMIEIY3Y.js} +3 -3
- package/chunks/{chunk-ZQUY3ZJU.js → chunk-GO7STP6N.js} +4 -4
- package/chunks/{chunk-3AEKDXKT.js → chunk-H4A72DE5.js} +1 -1
- package/chunks/{chunk-IRSLAS4M.js → chunk-HUTNYWBG.js} +2 -2
- package/chunks/{chunk-ZBB5EZZV.js → chunk-IA2K2HJE.js} +2 -2
- package/chunks/{chunk-IX4PWUDU.js → chunk-IGGGG5CX.js} +4329 -1586
- package/chunks/{chunk-ZMY2P4L3.js → chunk-IWPYVAO2.js} +4 -4
- package/chunks/{chunk-WCEI6J56.js → chunk-JNDY2MDR.js} +2 -2
- package/chunks/{chunk-3LDGOQXZ.js → chunk-JOOFMXGF.js} +6 -6
- package/chunks/{chunk-RDVNSJQU.js → chunk-JUEPY766.js} +3 -3
- package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
- package/chunks/{chunk-FRHQQC2Z.js → chunk-KBXKR5R2.js} +1 -1
- package/chunks/{chunk-PTSEETCO.js → chunk-KD5BOPLP.js} +12 -12
- package/chunks/{chunk-CPFFU46D.js → chunk-KV27IEHM.js} +1 -1
- package/chunks/{chunk-6P5EXEBL.js → chunk-LJQAUZMR.js} +207 -146
- package/chunks/{chunk-56HVDG3M.js → chunk-M732YJPW.js} +6 -6
- package/chunks/{chunk-LSRI3ND3.js → chunk-MA2HEDVP.js} +1 -1
- package/chunks/{chunk-XH3KAV2G.js → chunk-MC4TLKEI.js} +2 -2
- package/chunks/{chunk-YBVVOSOH.js → chunk-MIPFDQAF.js} +1 -1
- package/chunks/{chunk-47BGDLJG.js → chunk-MLPXSYXR.js} +31 -18
- package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
- package/chunks/{chunk-CQ6IPDQW.js → chunk-MRMJCLIY.js} +3 -3
- package/chunks/{chunk-62X3CM7Q.js → chunk-N5YPT6PH.js} +4 -4
- package/chunks/{chunk-OPVF453Q.js → chunk-NEFOOD54.js} +3 -3
- package/chunks/{chunk-DAV4QFD5.js → chunk-NHDR76JX.js} +44 -3
- package/chunks/{chunk-36XKGB7E.js → chunk-NM5V5OVW.js} +3 -3
- package/chunks/{chunk-QSD4UH74.js → chunk-NNHNLJ2X.js} +42 -42
- package/chunks/chunk-NYWWQ437.js +24 -0
- package/chunks/{chunk-MDNUCDKZ.js → chunk-O4D7SPJN.js} +2 -2
- package/chunks/{chunk-HG3UBTJ4.js → chunk-O565M6A4.js} +411 -10
- package/chunks/{chunk-BSR5AXZR.js → chunk-OD2WU5QY.js} +1 -1
- package/chunks/{chunk-DPTMKFIH.js → chunk-OMLJNPBE.js} +42 -12
- package/chunks/{chunk-Q4ZPYNIZ.js → chunk-OOQUVWIG.js} +4 -4
- package/chunks/{chunk-D2RNVVH6.js → chunk-OVZPVYZB.js} +2 -2
- package/chunks/{chunk-3GM5DLBI.js → chunk-OXCMMLED.js} +3 -3
- package/chunks/{chunk-BSSLSQEW.js → chunk-OY5RNSV4.js} +3 -3
- package/chunks/{chunk-PZW46OTB.js → chunk-P7MPQI75.js} +2 -2
- package/chunks/{chunk-6JEIRPLN.js → chunk-PP4FUZNV.js} +2 -2
- package/chunks/{chunk-DFVXU5YM.js → chunk-PQ36L4F5.js} +1 -1
- package/chunks/{chunk-VPV7WBVT.js → chunk-PT4I7NBA.js} +1 -1
- package/chunks/{chunk-VLHR7F4E.js → chunk-QF2NHSPB.js} +28 -28
- package/chunks/{chunk-NLFLYSS4.js → chunk-QFJ5JHQR.js} +1 -1
- package/chunks/{chunk-VIFA5VJD.js → chunk-QIH2HAEN.js} +1 -1
- package/chunks/{chunk-HTYND72J.js → chunk-QNQAPSN2.js} +1 -1
- package/chunks/{chunk-TDESMS7M.js → chunk-QRCNA3SR.js} +4 -4
- package/chunks/{chunk-IH4Z54RJ.js → chunk-QV5YN5YD.js} +5 -5
- package/chunks/{chunk-WI6GIM2M.js → chunk-RIAABG2K.js} +2 -2
- package/chunks/{chunk-UI5UGEF4.js → chunk-RLKC46YT.js} +16 -10
- package/chunks/{chunk-KEC5FHLM.js → chunk-ROIYNTHJ.js} +3 -3
- package/chunks/{chunk-4KM2SYK5.js → chunk-RVOJ2FBP.js} +8 -8
- package/chunks/{chunk-63FNZTWG.js → chunk-RWDNJBWN.js} +2 -2
- package/chunks/{chunk-FQDCO3CJ.js → chunk-S5DWMTHO.js} +5 -0
- package/chunks/{chunk-TTRH3RTQ.js → chunk-SG7ZP5PG.js} +4 -4
- package/chunks/{chunk-TXP5NGG3.js → chunk-SXCOEJO4.js} +1 -1
- package/chunks/{chunk-K34GJQOZ.js → chunk-TIGA2IVL.js} +3 -3
- package/chunks/chunk-TS6625XH.js +488 -0
- package/chunks/{chunk-WM3LUQLO.js → chunk-TUGSVUJB.js} +6 -6
- package/chunks/{chunk-XAFIL4BD.js → chunk-U3VNBPUO.js} +5 -5
- package/chunks/{chunk-WDVDVWJ3.js → chunk-UKMR3CKV.js} +6 -6
- package/chunks/{chunk-DEDESZDL.js → chunk-UPDOZBWO.js} +1 -1
- package/chunks/{chunk-MUNA4QDC.js → chunk-UZPM4XHR.js} +4 -4
- package/chunks/{chunk-6SPD4Z7F.js → chunk-V26NVGAU.js} +1 -1
- package/chunks/{chunk-XDRXOSAD.js → chunk-V57QC6WW.js} +2 -2
- package/chunks/{chunk-NX4A23LY.js → chunk-WFSTRPRO.js} +3 -3
- package/chunks/{chunk-H7TMVHKE.js → chunk-WGHHA7ZH.js} +1 -1
- package/chunks/{chunk-JRIVMPD2.js → chunk-WSH6GRKG.js} +4 -4
- package/chunks/{chunk-OR64CU46.js → chunk-X26JYGTD.js} +1 -1
- package/chunks/{chunk-RQJA2YYO.js → chunk-XHRY7BXD.js} +4 -4
- package/chunks/{chunk-MAKIANMX.js → chunk-XIT3GURH.js} +3 -3
- package/chunks/{chunk-KLOMACIR.js → chunk-XLLKYULU.js} +2 -2
- package/chunks/{chunk-PVXEJB66.js → chunk-XUJNK7Y6.js} +1 -1
- package/chunks/{chunk-AKBFSOC5.js → chunk-Y3YCSWG5.js} +2 -2
- package/chunks/{chunk-6ZKSO6K7.js → chunk-YEYY7TEP.js} +7 -7
- package/chunks/{chunk-TB4YFWXG.js → chunk-YZHRN3CF.js} +2 -2
- package/chunks/{chunk-TQDFSQQF.js → chunk-YZOSNW4R.js} +1 -1
- package/chunks/{chunk-GXTMEATA.js → chunk-ZYBBISBY.js} +7 -7
- package/chunks/{chunk-ROIJYS5K.js → chunk-ZYYTZUI2.js} +3 -3
- package/chunks/{chunk-CZ4OWGQQ.js → chunk-ZZO74WKW.js} +43 -5
- package/chunks/{computer-use-F4URV4TU.js → computer-use-77C5FHMW.js} +38 -38
- package/chunks/{config-utils-Z3OW3IQG.js → config-utils-IVHRSXWI.js} +2 -2
- package/chunks/{contextCommand-IGSS2U5J.js → contextCommand-PJ77GBWL.js} +40 -40
- package/chunks/{core-runtime-H5CZDN3A.js → core-runtime-7VMIKUTG.js} +38 -38
- package/chunks/{create-sub-session-PA7MFTHK.js → create-sub-session-2L5MQRN4.js} +38 -38
- package/chunks/{create-sub-session-XT6DLYOE.js → create-sub-session-KRQULJE6.js} +2 -2
- package/chunks/{cron-create-2JZ2TWTF.js → cron-create-H7UEPDSN.js} +4 -4
- package/chunks/{cron-delete-CTPD2P26.js → cron-delete-6SZK7YFM.js} +4 -4
- package/chunks/{cron-list-V44KHAF6.js → cron-list-H25JIHEZ.js} +4 -4
- package/chunks/{daemon-GED37WOX.js → daemon-2KTG7ZBN.js} +80 -8
- package/chunks/{daemon-git-worktree-guard-LZDCNJGV.js → daemon-git-worktree-guard-DXYIMWFT.js} +38 -38
- package/chunks/{daemon-status-provider-QYM57Z44.js → daemon-status-provider-ZDOYJCU6.js} +46 -46
- package/chunks/{daemon-trust-policy-TSRVEYZR.js → daemon-trust-policy-E67OYUK2.js} +44 -44
- package/chunks/{daemon-trust-policy-monitor-2K2YETMT.js → daemon-trust-policy-monitor-RYYGCQ3J.js} +44 -44
- package/chunks/{deferred-core-runtime-FKJ3OYE7.js → deferred-core-runtime-3SGXFXEQ.js} +38 -38
- package/chunks/discovery-ORA5J7YP.js +27 -0
- package/chunks/{display-image-M2ELAVN4.js → display-image-ON3EYFRD.js} +4 -4
- package/chunks/{earlyInputCapture-WJBSJQUF.js → earlyInputCapture-KJMLFVQV.js} +39 -39
- package/chunks/{edit-X73LA4YO.js → edit-I4LQFAEC.js} +38 -38
- package/chunks/{enter-worktree-CLRQTIVN.js → enter-worktree-YNPOJSRH.js} +38 -38
- package/chunks/{enterPlanMode-6BDYUQ5T.js → enterPlanMode-XCPK62ER.js} +38 -38
- package/chunks/{environment-WOAJXJDJ.js → environment-S7CTIHMX.js} +40 -40
- package/chunks/{errors-7OY5MXYY.js → errors-7HB2AIDS.js} +40 -40
- package/chunks/{exit-worktree-TFFJXCRT.js → exit-worktree-AIIY7SR6.js} +38 -38
- package/chunks/{exitPlanMode-WDURQMIU.js → exitPlanMode-R4JY7V2O.js} +38 -38
- package/chunks/{fast-path-QQLGC37M.js → fast-path-NDJV3ZFJ.js} +2 -2
- package/chunks/{gemini-VHE62IJL.js → gemini-RSUFP5OE.js} +86 -86
- package/chunks/{geminiContentGenerator-VSHIEGAQ.js → geminiContentGenerator-SQ5XBPZ7.js} +6 -6
- package/chunks/{glob-VMEEDDLO.js → glob-J4RUJAHX.js} +38 -38
- package/chunks/{goal-tools-M4UDAZXP.js → goal-tools-VHTNVOKK.js} +56 -12
- package/chunks/{grep-F4UAR7KX.js → grep-VJWPLFOT.js} +38 -38
- package/chunks/{handleAutoUpdate-GN7Z6QAC.js → handleAutoUpdate-POCX2MNB.js} +42 -42
- package/chunks/{i18n-ETW24DHW.js → i18n-RM5YOICI.js} +39 -39
- package/chunks/{image-gen-YPK2AZT4.js → image-gen-EXECB5XM.js} +10 -10
- package/chunks/{initializer-UA6KQ7MS.js → initializer-Z2AFGBNR.js} +45 -45
- package/chunks/{installationInfo-P7OTIR4P.js → installationInfo-4I5FXNMH.js} +39 -39
- package/chunks/{keychain-token-storage-NKKCUHI2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
- package/chunks/{list-GRAMIQOT.js → list-ZMBFIGZA.js} +47 -47
- package/chunks/{list-agents-O6WSY4CT.js → list-agents-OSVDFI6S.js} +2 -2
- package/chunks/{loadedSettingsAdapter-5O2TDS3I.js → loadedSettingsAdapter-T6TV4YJ7.js} +44 -44
- package/chunks/{loggingContentGenerator-J2J2AANS.js → loggingContentGenerator-WF4ZOJEZ.js} +63 -39
- package/chunks/{loop-wakeup-GVQRMUKS.js → loop-wakeup-WQS6JYAG.js} +5 -5
- package/chunks/{ls-6W2D7TKU.js → ls-D3HUFHDP.js} +4 -4
- package/chunks/{lsp-NJ4KFBI2.js → lsp-3QDDJTCS.js} +2 -2
- package/chunks/{managed-npm-update-WMV5ITKU.js → managed-npm-update-E7IW6N7V.js} +39 -39
- package/chunks/{mcp-XLP33CAI.js → mcp-6UNYX4HG.js} +44 -44
- package/chunks/{monitor-2MM23VDV.js → monitor-EE2UYMGE.js} +38 -38
- package/chunks/{nonInteractiveCli-KTA5K6FS.js → nonInteractiveCli-WAY237O4.js} +79 -79
- package/chunks/{notebook-edit-QD4TRKLY.js → notebook-edit-NTDY4QDU.js} +38 -38
- package/chunks/{openaiContentGenerator-KLHSPVN2.js → openaiContentGenerator-YNFVJMRJ.js} +23 -23
- package/chunks/{pidfile-RQGZBNXT.js → pidfile-4XSFLYBZ.js} +39 -39
- package/chunks/{processUtils-HZZDA2VV.js → processUtils-WDA2MJFD.js} +2 -2
- package/chunks/proper-lockfile-3LHWIM44.js +8 -0
- package/chunks/{qwenContentGenerator-T75M2Z3B.js → qwenContentGenerator-434M7QKY.js} +43 -43
- package/chunks/{qwenOAuth2-5QZU444W.js → qwenOAuth2-GMYZOO6A.js} +9 -9
- package/chunks/{read-file-LOVUSBJC.js → read-file-TAFBKMNI.js} +11 -11
- package/chunks/{read-mcp-resource-GWCP23WG.js → read-mcp-resource-XD54ZQMC.js} +2 -2
- package/chunks/{record-artifact-IYQDEYMV.js → record-artifact-SEYFJEJF.js} +3 -3
- package/chunks/{resumeHistoryUtils-LVKSSQII.js → resumeHistoryUtils-EVG3WYK2.js} +45 -45
- package/chunks/{ripGrep-ZJSHKB6H.js → ripGrep-WOEK2PXS.js} +38 -38
- package/chunks/{run-qwen-serve-GZW7B4WK.js → run-qwen-serve-3QSGRXAN.js} +411 -209
- package/chunks/{runtime-MYRXEO2E.js → runtime-5MLLZ7DC.js} +47 -47
- package/chunks/{scheduler-DPTPI6FW.js → scheduler-RPBJ63CH.js} +40 -40
- package/chunks/{sdk-exporters-http-NHBYB5FZ.js → sdk-exporters-http-XUVP63H6.js} +2 -2
- package/chunks/{sdk-impl-SK4P5WON.js → sdk-impl-YXUEN2Z2.js} +2 -2
- package/chunks/{send-message-O7FO63UK.js → send-message-VZENRWRH.js} +6 -6
- package/chunks/{serve-XCG4XCDA.js → serve-HS3XLPXU.js} +44 -44
- package/chunks/{server-AWQHKXLG.js → server-TC4A7AAZ.js} +3833 -1618
- package/chunks/{session-P5FKNCNR.js → session-UBOFXVMN.js} +80 -80
- package/chunks/{settings-CSYVIP2R.js → settings-D5644OM5.js} +43 -43
- package/chunks/{shell-EGTSUO2P.js → shell-3PZULQQV.js} +38 -38
- package/chunks/{skill-IFUD72GF.js → skill-PEVVXQ3L.js} +16 -16
- package/chunks/{skill-settings-YOE7LBHE.js → skill-settings-J65JKKES.js} +43 -43
- package/chunks/{spawnChannel-PQSZIOLY.js → spawnChannel-IYGXRHSQ.js} +40 -40
- package/chunks/{standalone-update-RB2EGUSF.js → standalone-update-IFM53PE7.js} +40 -40
- package/chunks/{startInteractiveUI-KMYUJ2MU.js → startInteractiveUI-3AVH7L6H.js} +417 -168
- package/chunks/{syntheticOutput-DVHJMUGV.js → syntheticOutput-7GWFIDXT.js} +3 -3
- package/chunks/{task-create-4NC7PDI4.js → task-create-FCBDX7UH.js} +11 -11
- package/chunks/{task-list-LBSRMOC7.js → task-list-YIYIUFUA.js} +6 -6
- package/chunks/{task-stop-YFNATTIM.js → task-stop-X37KYTKB.js} +2 -2
- package/chunks/{task-update-BPLM52GD.js → task-update-MYPFVOVM.js} +11 -11
- package/chunks/{team-create-B6A6MJBT.js → team-create-ZAIA7KAV.js} +38 -38
- package/chunks/{team-delete-MKYMYBFM.js → team-delete-6UMU4XLS.js} +6 -6
- package/chunks/{team-plan-approval-5WO3CXXU.js → team-plan-approval-UNIUS7OD.js} +38 -38
- package/chunks/{terminal-image-renderer-BTRE2GEU.js → terminal-image-renderer-G343P2RV.js} +40 -40
- package/chunks/{theme-manager-XL2N5SBY.js → theme-manager-Z3RIT7DB.js} +39 -39
- package/chunks/{todoWrite-K5K7NRE5.js → todoWrite-U2R4NVF4.js} +4 -4
- package/chunks/{tool-search-QNBLXUGR.js → tool-search-5R2OE4C7.js} +15 -15
- package/chunks/{total-session-admission-N4E5SFBO.js → total-session-admission-4KBHMQQ2.js} +42 -42
- package/chunks/{trustedFolders-MQS46LIU.js → trustedFolders-LK6T4XC7.js} +39 -39
- package/chunks/{update-relaunch-536KRL33.js → update-relaunch-UBKROIC6.js} +5 -5
- package/chunks/{updateCheck-QJI2SYWF.js → updateCheck-W4Y2GFSD.js} +42 -42
- package/chunks/{useAutoAcceptIndicator-7QASHD46.js → useAutoAcceptIndicator-C7BEICBF.js} +47 -47
- package/chunks/{validateNonInterActiveAuth-ZNRGWBLV.js → validateNonInterActiveAuth-LTEI2TB6.js} +76 -76
- package/chunks/{version-DBEQAFRW.js → version-G5A5DGVS.js} +1 -1
- package/chunks/{web-fetch-MBIVXKPE.js → web-fetch-RTEQTR5Z.js} +15 -15
- package/chunks/{web-search-4LBIN6VF.js → web-search-5OXHEZPV.js} +9 -9
- package/chunks/{workflow-LNMA55HY.js → workflow-ISQJHPG2.js} +39 -39
- package/chunks/{workspace-providers-status-PDDMI6ST.js → workspace-providers-status-2ZPZPUPZ.js} +47 -47
- package/chunks/{workspace-registration-store-BGRKKIYR.js → workspace-registration-store-CYNY6IP6.js} +2 -2
- package/chunks/{workspace-registry-L4NCJ34K.js → workspace-registry-34GTUUHB.js} +44 -43
- package/chunks/{workspace-service-LOXYKYTR.js → workspace-service-XCDQLE2Y.js} +50 -50
- package/chunks/{workspace-skills-status-IJ5FOQI6.js → workspace-skills-status-RS4O7AIJ.js} +45 -45
- package/chunks/{workspace-trust-reconciler-H36TCR2S.js → workspace-trust-reconciler-AYGXC7A3.js} +53 -52
- package/chunks/{write-file-JJAY7JSP.js → write-file-EWXKVVXF.js} +38 -38
- package/chunks/{zoom-image-4MVVVM7E.js → zoom-image-4BFYJ3HG.js} +11 -11
- package/cli.js +13 -13
- package/package.json +3 -3
- package/web-shell/assets/{arc-B-89zHN4.js → arc-CgOpDKvm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BkcOncHk.js → architectureDiagram-3BPJPVTR-0Ag_m34F.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-DQ4yboaF.js → blockDiagram-GPEHLZMM-IwTwFau0.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-C_8ZjPDI.js → c4Diagram-AAUBKEIU-DLa5GUv8.js} +1 -1
- package/web-shell/assets/channel-BrGVBa2L.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-naKVe1Bm.js → chunk-2J33WTMH-DcYP-WFG.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DdoViKT2.js → chunk-4BX2VUAB-C8MVPMiQ.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DUDQZEwU.js → chunk-55IACEB6-BUi4Yfv3.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-BqpDTR5s.js → chunk-727SXJPM-Cy3Su2YY.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CdmEknkT.js → chunk-AQP2D5EJ-Dp8Teqv6.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CH7fFTLB.js → chunk-FMBD7UC4-BDTDM-4j.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-ObgSuFKF.js → chunk-ND2GUHAM-7HfDt0r2.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-D9fKdv_s.js → chunk-QZHKN3VN-BIBU0uCF.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-CvzATMx9.js → cose-bilkent-S5V4N54A-DRLdcg9p.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-M_xU21QW.js → dagre-BM42HDAG-DCCgDwqW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CNrl9sW1.js → diagram-2AECGRRQ-CsBTBmk3.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CUweVT6T.js → diagram-5GNKFQAL-C9qjH8Lt.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-D3n6Lxjo.js → diagram-KO2AKTUF-Brjs_lj2.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-0SeFPK4t.js → diagram-LMA3HP47-DtiWCl_F.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DAgyEwge.js → diagram-OG6HWLK6-DmfKLkBT.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CzxBBDIK.js → erDiagram-TEJ5UH35-Bve_4deH.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-B0uj0jyo.js → flowDiagram-I6XJVG4X-C2_kXCcV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFzcj5km.js → ganttDiagram-6RSMTGT7-BSBIjiTF.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DylJ_Fc9.js → gitGraphDiagram-PVQCEYII-CyebwI55.js} +1 -1
- package/web-shell/assets/index-CIDsgxTe.js +1792 -0
- package/web-shell/assets/{index-BIGQygTL.css → index-DiQnWi_E.css} +1 -1
- package/web-shell/assets/{index-BKSAnXU9.js → index-d0yfnV1M.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-BYMcJVMI.js → infoDiagram-5YYISTIA-CSDGnWxU.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-t1quI1S3.js → ishikawaDiagram-YF4QCWOH-BK4jU13p.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-YM_QVUJm.js → journeyDiagram-JHISSGLW-D_W6j-oF.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-jw8OddK1.js → kanban-definition-UN3LZRKU-C7xf-SdC.js} +1 -1
- package/web-shell/assets/{linear-Dlr3RVuP.js → linear-DQmzxpxd.js} +1 -1
- package/web-shell/assets/{mermaid.core-CqGKzNzd.js → mermaid.core-9P7AGOLG.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BqureoOS.js → mindmap-definition-RKZ34NQL-DgcgMyPk.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Da20HkK1.js → pieDiagram-4H26LBE5-3wWGb9eG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BsNlMvJy.js → quadrantDiagram-W4KKPZXB-BeCXnQw9.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DzVCQCse.js → requirementDiagram-4Y6WPE33-Bi1UOHDz.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BMo16voT.js → sankeyDiagram-5OEKKPKP-lrLUjjbb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bgi-pdHk.js → sequenceDiagram-3UESZ5HK-BFuqKz6Q.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-xaPQXwGk.js → stateDiagram-AJRCARHV-8DemQLhu.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-C_9RuvKG.js → timeline-definition-PNZ67QCA-uzEuVQXg.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-Bgu6vdla.js → vennDiagram-CIIHVFJN-BQTeZ_-o.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CFTZ8IrX.js → wardley-L42UT6IY-B6yM5Im7.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BASW9Vmt.js → wardleyDiagram-YWT4CUSO-ChM8bmgn.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6--Nh-CD3F.js → xychartDiagram-2RQKCTM6-oNG6HyB1.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/discovery-XLHITE74.js +0 -220
- package/web-shell/assets/channel-Du2WFns8.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Zw0HafH6.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Zw0HafH6.js +0 -1
- package/web-shell/assets/index-J7OMTqAN.js +0 -1789
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D5RqimXD.js +0 -1
- package/chunks/{chunk-SYHXR6WM.js → chunk-4W5U2TUT.js} +3 -3
- /package/chunks/{chunk-OK47XBYH.js → chunk-A4QRWUDE.js} +0 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
TUI_CHAT_RECORDING_FAILURE_MESSAGE,
|
|
12
12
|
reportChatRecordingFailureToAdapter
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-RIAABG2K.js";
|
|
14
14
|
import {
|
|
15
15
|
MAX_SUGGESTIONS_TO_SHOW,
|
|
16
16
|
SESSION_MENTION_PREFIX,
|
|
@@ -22,10 +22,10 @@ import {
|
|
|
22
22
|
matchMcpServerPrefix,
|
|
23
23
|
resolveAtCommandQuery,
|
|
24
24
|
sanitizeDisplayText
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-76J3IJ3M.js";
|
|
26
26
|
import {
|
|
27
27
|
StreamJsonOutputAdapter
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-UZPM4XHR.js";
|
|
29
29
|
import {
|
|
30
30
|
BuiltinCommandLoader,
|
|
31
31
|
BundledSkillLoader,
|
|
@@ -69,17 +69,18 @@ import {
|
|
|
69
69
|
resetBackgroundStateForSessionSwitch,
|
|
70
70
|
serializeUserPromptExpansionPrompt,
|
|
71
71
|
supportsMatchers
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-NNHNLJ2X.js";
|
|
73
|
+
import "./chunk-N5YPT6PH.js";
|
|
73
74
|
import {
|
|
74
75
|
startPostRenderPrefetches
|
|
75
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-DGK6P3BQ.js";
|
|
76
77
|
import {
|
|
77
78
|
EXTENSION_RELOAD_FAILED_REASON,
|
|
78
79
|
ExtensionRefreshState,
|
|
79
80
|
appEvents,
|
|
80
81
|
cleanupReviewWorktreeLeases,
|
|
81
82
|
loadHierarchicalGeminiMemory
|
|
82
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-IGGGG5CX.js";
|
|
83
84
|
import {
|
|
84
85
|
AboutBox,
|
|
85
86
|
BaseSelectionList,
|
|
@@ -157,20 +158,21 @@ import {
|
|
|
157
158
|
useUIActions,
|
|
158
159
|
useUIState,
|
|
159
160
|
useVirtualViewport
|
|
160
|
-
} from "./chunk-
|
|
161
|
+
} from "./chunk-QF2NHSPB.js";
|
|
161
162
|
import {
|
|
162
163
|
getCommandDisplayName,
|
|
163
164
|
getCommandSourceBadge
|
|
164
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-AFSG32D5.js";
|
|
165
166
|
import {
|
|
166
167
|
computeSessionStats,
|
|
167
168
|
levelLabel
|
|
168
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-O4D7SPJN.js";
|
|
170
|
+
import "./chunk-4WGODMVR.js";
|
|
169
171
|
import {
|
|
170
172
|
MaxSizedBox,
|
|
171
173
|
OverflowProvider,
|
|
172
174
|
useOverflowState
|
|
173
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-BHILXOC3.js";
|
|
174
176
|
import {
|
|
175
177
|
GeminiRespondingSpinner,
|
|
176
178
|
GeminiSpinner,
|
|
@@ -187,7 +189,7 @@ import {
|
|
|
187
189
|
useStreamingContext,
|
|
188
190
|
waitForGoalRuntime,
|
|
189
191
|
wrapAnsi
|
|
190
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-ZYBBISBY.js";
|
|
191
193
|
import {
|
|
192
194
|
formatDuration,
|
|
193
195
|
formatRelativeTime,
|
|
@@ -195,10 +197,10 @@ import {
|
|
|
195
197
|
} from "./chunk-3SH53ANB.js";
|
|
196
198
|
import {
|
|
197
199
|
theme
|
|
198
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-6QFDQMQX.js";
|
|
199
201
|
import {
|
|
200
202
|
stopAndGetCapturedInput
|
|
201
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-YZOSNW4R.js";
|
|
202
204
|
import {
|
|
203
205
|
disableKittyProtocol,
|
|
204
206
|
isKittyProtocolEnabled,
|
|
@@ -207,13 +209,13 @@ import {
|
|
|
207
209
|
} from "./chunk-NYX53SV4.js";
|
|
208
210
|
import {
|
|
209
211
|
useAutoAcceptIndicator
|
|
210
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-MRMJCLIY.js";
|
|
211
213
|
import {
|
|
212
214
|
KeypressProvider,
|
|
213
215
|
useFocus,
|
|
214
216
|
useKeypress,
|
|
215
217
|
useKeypressContext
|
|
216
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-M732YJPW.js";
|
|
217
219
|
import {
|
|
218
220
|
BEL,
|
|
219
221
|
OSC_PREFIX,
|
|
@@ -226,25 +228,10 @@ import {
|
|
|
226
228
|
oscKittyNotify,
|
|
227
229
|
saveClipboardImage,
|
|
228
230
|
writeOsc52
|
|
229
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-DXIBNLBZ.js";
|
|
230
232
|
import {
|
|
231
233
|
require_jsx_runtime
|
|
232
234
|
} from "./chunk-SV5PQVQE.js";
|
|
233
|
-
import "./chunk-62X3CM7Q.js";
|
|
234
|
-
import "./chunk-4WGODMVR.js";
|
|
235
|
-
import {
|
|
236
|
-
setUpdateHandler
|
|
237
|
-
} from "./chunk-WDVDVWJ3.js";
|
|
238
|
-
import {
|
|
239
|
-
isHistoryItemVisibleAfterRestore
|
|
240
|
-
} from "./chunk-EKTCKZV5.js";
|
|
241
|
-
import "./chunk-B4VN3VDH.js";
|
|
242
|
-
import {
|
|
243
|
-
AUTO_THEME_NAME,
|
|
244
|
-
DEFAULT_THEME,
|
|
245
|
-
themeManager
|
|
246
|
-
} from "./chunk-OYWVIXHT.js";
|
|
247
|
-
import "./chunk-KW7NOTN6.js";
|
|
248
235
|
import {
|
|
249
236
|
Box_default,
|
|
250
237
|
Static,
|
|
@@ -259,34 +246,47 @@ import {
|
|
|
259
246
|
use_stdin_default,
|
|
260
247
|
use_stdout_default
|
|
261
248
|
} from "./chunk-2IIJTXYF.js";
|
|
249
|
+
import {
|
|
250
|
+
relaunchApp
|
|
251
|
+
} from "./chunk-PQ36L4F5.js";
|
|
252
|
+
import {
|
|
253
|
+
setUpdateHandler
|
|
254
|
+
} from "./chunk-UKMR3CKV.js";
|
|
255
|
+
import {
|
|
256
|
+
isHistoryItemVisibleAfterRestore
|
|
257
|
+
} from "./chunk-EKTCKZV5.js";
|
|
258
|
+
import "./chunk-AS5IN4GK.js";
|
|
259
|
+
import {
|
|
260
|
+
AUTO_THEME_NAME,
|
|
261
|
+
DEFAULT_THEME,
|
|
262
|
+
themeManager
|
|
263
|
+
} from "./chunk-2M55OBEB.js";
|
|
264
|
+
import "./chunk-KW7NOTN6.js";
|
|
262
265
|
import {
|
|
263
266
|
require_react
|
|
264
267
|
} from "./chunk-5QWWOFGG.js";
|
|
265
|
-
import "./chunk-
|
|
268
|
+
import "./chunk-GO7STP6N.js";
|
|
266
269
|
import {
|
|
267
270
|
getErrorMessage as getErrorMessage2
|
|
268
|
-
} from "./chunk-
|
|
269
|
-
import "./chunk-
|
|
270
|
-
import "./chunk-
|
|
271
|
+
} from "./chunk-JUEPY766.js";
|
|
272
|
+
import "./chunk-U3VNBPUO.js";
|
|
273
|
+
import "./chunk-NEFOOD54.js";
|
|
271
274
|
import "./chunk-YAF2MQZ6.js";
|
|
272
|
-
import "./chunk-
|
|
275
|
+
import "./chunk-IA2K2HJE.js";
|
|
273
276
|
import {
|
|
274
277
|
MAX_INLINE_IMAGES_PER_ITEM,
|
|
275
278
|
collectInlineImages,
|
|
276
279
|
getInlineImageData
|
|
277
|
-
} from "./chunk-
|
|
278
|
-
import
|
|
279
|
-
relaunchApp
|
|
280
|
-
} from "./chunk-DFVXU5YM.js";
|
|
281
|
-
import "./chunk-TDESMS7M.js";
|
|
280
|
+
} from "./chunk-SXCOEJO4.js";
|
|
281
|
+
import "./chunk-QRCNA3SR.js";
|
|
282
282
|
import "./chunk-6H67XLET.js";
|
|
283
283
|
import {
|
|
284
284
|
openQwenAsrRealtimeStream,
|
|
285
285
|
openVoiceStream,
|
|
286
286
|
openVoiceStreamWithRetry
|
|
287
|
-
} from "./chunk-
|
|
288
|
-
import "./chunk-
|
|
289
|
-
import "./chunk-
|
|
287
|
+
} from "./chunk-AXN7UPYQ.js";
|
|
288
|
+
import "./chunk-RLKC46YT.js";
|
|
289
|
+
import "./chunk-BZ263IKX.js";
|
|
290
290
|
import {
|
|
291
291
|
cpLen,
|
|
292
292
|
cpSlice,
|
|
@@ -299,7 +299,7 @@ import {
|
|
|
299
299
|
stripUnsafeCharacters,
|
|
300
300
|
toCodePoints
|
|
301
301
|
} from "./chunk-4NFY2S7N.js";
|
|
302
|
-
import "./chunk-
|
|
302
|
+
import "./chunk-3U3VAL47.js";
|
|
303
303
|
import {
|
|
304
304
|
stringWidth
|
|
305
305
|
} from "./chunk-2MIN6GRR.js";
|
|
@@ -315,40 +315,41 @@ import {
|
|
|
315
315
|
isStreamingVoiceModel,
|
|
316
316
|
resolveVoiceStreamConfig,
|
|
317
317
|
transcribeVoiceAudio
|
|
318
|
-
} from "./chunk-
|
|
318
|
+
} from "./chunk-6ORZ2EDC.js";
|
|
319
319
|
import {
|
|
320
320
|
formatUnsupportedVoiceModelMessage,
|
|
321
321
|
isSelectableVoiceModel
|
|
322
|
-
} from "./chunk-
|
|
323
|
-
import "./chunk-
|
|
322
|
+
} from "./chunk-QIH2HAEN.js";
|
|
323
|
+
import "./chunk-WGHHA7ZH.js";
|
|
324
324
|
import {
|
|
325
325
|
getExtendedSystemInfo
|
|
326
|
-
} from "./chunk-
|
|
326
|
+
} from "./chunk-XHRY7BXD.js";
|
|
327
|
+
import "./chunk-7U5G6JXI.js";
|
|
328
|
+
import "./chunk-WCCLLK7X.js";
|
|
327
329
|
import {
|
|
328
330
|
isInlineModelOverrideAllowed
|
|
329
|
-
} from "./chunk-
|
|
331
|
+
} from "./chunk-ZYYTZUI2.js";
|
|
330
332
|
import {
|
|
331
333
|
computeWorkspaceSkillListUpdates,
|
|
332
334
|
resolveSkillSettings,
|
|
333
335
|
skillSettingStrings
|
|
334
336
|
} from "./chunk-Z4X5MTRT.js";
|
|
335
|
-
import "./chunk-
|
|
337
|
+
import "./chunk-TUGSVUJB.js";
|
|
336
338
|
import {
|
|
337
339
|
requestConsentInteractive,
|
|
338
340
|
requestConsentOrFail
|
|
339
|
-
} from "./chunk-
|
|
341
|
+
} from "./chunk-QV5YN5YD.js";
|
|
340
342
|
import "./chunk-57OAHC2Y.js";
|
|
341
|
-
import "./chunk-
|
|
343
|
+
import "./chunk-OD2WU5QY.js";
|
|
342
344
|
import "./chunk-45NQKMYB.js";
|
|
343
|
-
import "./chunk-
|
|
345
|
+
import "./chunk-A4QRWUDE.js";
|
|
346
|
+
import "./chunk-V6WHFGST.js";
|
|
344
347
|
import {
|
|
345
348
|
createLoadedSettingsAdapter
|
|
346
|
-
} from "./chunk-
|
|
347
|
-
import "./chunk-7U5G6JXI.js";
|
|
348
|
-
import "./chunk-WCCLLK7X.js";
|
|
349
|
+
} from "./chunk-BVJS5BSP.js";
|
|
349
350
|
import "./chunk-ZLCT4C5A.js";
|
|
350
|
-
import "./chunk-V6WHFGST.js";
|
|
351
351
|
import "./chunk-2AUM35J5.js";
|
|
352
|
+
import "./chunk-BKPPWD33.js";
|
|
352
353
|
import "./chunk-6PLDPT2C.js";
|
|
353
354
|
import "./chunk-FYJ7W2PI.js";
|
|
354
355
|
import "./chunk-YP5KH5Y7.js";
|
|
@@ -357,12 +358,12 @@ import "./chunk-ALMR3E6Q.js";
|
|
|
357
358
|
import "./chunk-HIBNSEJE.js";
|
|
358
359
|
import "./chunk-M5GB774H.js";
|
|
359
360
|
import "./chunk-3VUENPWF.js";
|
|
360
|
-
import "./chunk-3AEKDXKT.js";
|
|
361
361
|
import "./chunk-AW27A43Y.js";
|
|
362
362
|
import "./chunk-IW6RQPQB.js";
|
|
363
|
+
import "./chunk-H4A72DE5.js";
|
|
363
364
|
import {
|
|
364
365
|
loadMcpApprovals
|
|
365
|
-
} from "./chunk-
|
|
366
|
+
} from "./chunk-JOOFMXGF.js";
|
|
366
367
|
import {
|
|
367
368
|
CORRUPTED_SUFFIX,
|
|
368
369
|
SettingScope,
|
|
@@ -384,11 +385,11 @@ import {
|
|
|
384
385
|
settingExistsInScope,
|
|
385
386
|
validateSettingValue,
|
|
386
387
|
writeOutputLanguageAndRegisterPath
|
|
387
|
-
} from "./chunk-
|
|
388
|
+
} from "./chunk-A267JX7H.js";
|
|
388
389
|
import "./chunk-RKUWKYED.js";
|
|
389
390
|
import {
|
|
390
391
|
TOGGLE_TYPES
|
|
391
|
-
} from "./chunk-
|
|
392
|
+
} from "./chunk-E23IPNGS.js";
|
|
392
393
|
import "./chunk-GOXKNSDZ.js";
|
|
393
394
|
import "./chunk-IDS7MSUP.js";
|
|
394
395
|
import {
|
|
@@ -396,25 +397,24 @@ import {
|
|
|
396
397
|
localizeToolDisplayName,
|
|
397
398
|
t,
|
|
398
399
|
ta
|
|
399
|
-
} from "./chunk-
|
|
400
|
+
} from "./chunk-HUTNYWBG.js";
|
|
400
401
|
import "./chunk-5EJZE3FP.js";
|
|
401
|
-
import "./chunk-
|
|
402
|
+
import "./chunk-MC4TLKEI.js";
|
|
402
403
|
import "./chunk-MS7GNABG.js";
|
|
403
|
-
import "./chunk-
|
|
404
|
+
import "./chunk-NF5J2WFA.js";
|
|
404
405
|
import {
|
|
405
406
|
getCliVersion
|
|
406
|
-
} from "./chunk-
|
|
407
|
+
} from "./chunk-CU6GJD55.js";
|
|
407
408
|
import "./chunk-WZMH7II3.js";
|
|
408
409
|
import {
|
|
409
410
|
isWorkspaceTrusted,
|
|
410
411
|
loadTrustedFolders
|
|
411
|
-
} from "./chunk-
|
|
412
|
+
} from "./chunk-IWPYVAO2.js";
|
|
412
413
|
import {
|
|
413
414
|
require_strip_json_comments
|
|
414
415
|
} from "./chunk-NPQ5ZKRP.js";
|
|
415
416
|
import "./chunk-MR3PXB6E.js";
|
|
416
417
|
import "./chunk-XFSFZCM5.js";
|
|
417
|
-
import "./chunk-NF5J2WFA.js";
|
|
418
418
|
import {
|
|
419
419
|
ALIBABA_PROVIDERS,
|
|
420
420
|
AsyncFzf,
|
|
@@ -520,76 +520,76 @@ import {
|
|
|
520
520
|
validateWorkflowName,
|
|
521
521
|
watchRepoBranch,
|
|
522
522
|
writeRuntimeStatus
|
|
523
|
-
} from "./chunk-
|
|
523
|
+
} from "./chunk-4S5337WV.js";
|
|
524
524
|
import "./chunk-GOFAQQZA.js";
|
|
525
525
|
import "./chunk-5M6IDOMF.js";
|
|
526
526
|
import {
|
|
527
527
|
stripAnsi
|
|
528
528
|
} from "./chunk-TWPJO254.js";
|
|
529
529
|
import "./chunk-CQ35AJ4Z.js";
|
|
530
|
-
import "./chunk-
|
|
531
|
-
import "./chunk-
|
|
532
|
-
import "./chunk-
|
|
533
|
-
import "./chunk-
|
|
530
|
+
import "./chunk-DGZEMW5R.js";
|
|
531
|
+
import "./chunk-WSH6GRKG.js";
|
|
532
|
+
import "./chunk-CKSJECTU.js";
|
|
533
|
+
import "./chunk-OVZPVYZB.js";
|
|
534
534
|
import "./chunk-6PVPNMXU.js";
|
|
535
535
|
import {
|
|
536
536
|
resolveModelId
|
|
537
|
-
} from "./chunk-
|
|
537
|
+
} from "./chunk-5EYKMUUY.js";
|
|
538
538
|
import "./chunk-IRH27ZC2.js";
|
|
539
539
|
import "./chunk-QHWCP53L.js";
|
|
540
|
-
import "./chunk-
|
|
541
|
-
import "./chunk-
|
|
540
|
+
import "./chunk-Y3YCSWG5.js";
|
|
541
|
+
import "./chunk-UPDOZBWO.js";
|
|
542
542
|
import {
|
|
543
543
|
promptIdContext
|
|
544
544
|
} from "./chunk-O6GEWCJA.js";
|
|
545
545
|
import "./chunk-T26EAKDL.js";
|
|
546
546
|
import "./chunk-ZPJWUGCS.js";
|
|
547
547
|
import "./chunk-CPBF7KYF.js";
|
|
548
|
-
import
|
|
549
|
-
|
|
548
|
+
import {
|
|
549
|
+
APPROVAL_MODES
|
|
550
|
+
} from "./chunk-RWDNJBWN.js";
|
|
551
|
+
import "./chunk-25EYDK42.js";
|
|
550
552
|
import {
|
|
551
553
|
HOOKS_CONFIG_FIELDS
|
|
552
|
-
} from "./chunk-
|
|
553
|
-
import "./chunk-
|
|
554
|
-
import "./chunk-
|
|
554
|
+
} from "./chunk-MIPFDQAF.js";
|
|
555
|
+
import "./chunk-MLXTMF7H.js";
|
|
556
|
+
import "./chunk-KV27IEHM.js";
|
|
557
|
+
import "./chunk-E3DYKPYZ.js";
|
|
555
558
|
import {
|
|
556
559
|
elapsedActiveTime,
|
|
557
560
|
goalRequiresExactPermit
|
|
558
|
-
} from "./chunk-
|
|
559
|
-
import
|
|
560
|
-
|
|
561
|
-
} from "./chunk-63FNZTWG.js";
|
|
562
|
-
import "./chunk-3GM5DLBI.js";
|
|
563
|
-
import "./chunk-K34GJQOZ.js";
|
|
561
|
+
} from "./chunk-OMLJNPBE.js";
|
|
562
|
+
import "./chunk-OXCMMLED.js";
|
|
563
|
+
import "./chunk-TIGA2IVL.js";
|
|
564
564
|
import "./chunk-SAH4BD2J.js";
|
|
565
|
-
import "./chunk-
|
|
565
|
+
import "./chunk-XLLKYULU.js";
|
|
566
566
|
import {
|
|
567
567
|
runOutsideAgentContext
|
|
568
|
-
} from "./chunk-
|
|
568
|
+
} from "./chunk-PT4I7NBA.js";
|
|
569
569
|
import "./chunk-S6LOFUVP.js";
|
|
570
570
|
import "./chunk-2J3OJGTL.js";
|
|
571
571
|
import {
|
|
572
572
|
getStartupContextLength,
|
|
573
573
|
isSystemReminderContent
|
|
574
|
-
} from "./chunk-
|
|
574
|
+
} from "./chunk-SG7ZP5PG.js";
|
|
575
575
|
import "./chunk-K623ENWT.js";
|
|
576
576
|
import "./chunk-AQ37AY7B.js";
|
|
577
577
|
import {
|
|
578
578
|
isPathWithinRoot
|
|
579
|
-
} from "./chunk-
|
|
579
|
+
} from "./chunk-KBXKR5R2.js";
|
|
580
580
|
import {
|
|
581
581
|
osc8Hyperlink,
|
|
582
582
|
qwenOAuth2Events,
|
|
583
583
|
sanitizeForOsc,
|
|
584
584
|
supportsHyperlinks,
|
|
585
585
|
wrapForMultiplexer
|
|
586
|
-
} from "./chunk-
|
|
586
|
+
} from "./chunk-GMIEIY3Y.js";
|
|
587
587
|
import "./chunk-NAVJD2PQ.js";
|
|
588
|
-
import "./chunk-
|
|
589
|
-
import "./chunk-
|
|
588
|
+
import "./chunk-ROIYNTHJ.js";
|
|
589
|
+
import "./chunk-2B2BF7P7.js";
|
|
590
590
|
import "./chunk-P3QQPMQA.js";
|
|
591
|
-
import "./chunk-
|
|
592
|
-
import "./chunk-
|
|
591
|
+
import "./chunk-YZHRN3CF.js";
|
|
592
|
+
import "./chunk-FAAUPSY2.js";
|
|
593
593
|
import {
|
|
594
594
|
REASONING_EFFORT_TIERS,
|
|
595
595
|
applyReasoningEffort
|
|
@@ -601,7 +601,7 @@ import {
|
|
|
601
601
|
import "./chunk-AXMWHKXA.js";
|
|
602
602
|
import "./chunk-GLCZKT5V.js";
|
|
603
603
|
import "./chunk-DJ2GSRLV.js";
|
|
604
|
-
import "./chunk-
|
|
604
|
+
import "./chunk-QFJ5JHQR.js";
|
|
605
605
|
import {
|
|
606
606
|
ApiCancelEvent,
|
|
607
607
|
AuthEvent,
|
|
@@ -641,7 +641,7 @@ import {
|
|
|
641
641
|
runVisionBridge,
|
|
642
642
|
shouldRunVisionBridge,
|
|
643
643
|
splitImageParts
|
|
644
|
-
} from "./chunk-
|
|
644
|
+
} from "./chunk-RVOJ2FBP.js";
|
|
645
645
|
import "./chunk-YRLW2MSX.js";
|
|
646
646
|
import "./chunk-VGC4I5JJ.js";
|
|
647
647
|
import {
|
|
@@ -650,16 +650,16 @@ import {
|
|
|
650
650
|
getAutoMemoryRoot,
|
|
651
651
|
getUserAutoMemoryRoot,
|
|
652
652
|
isAnyAutoMemPath
|
|
653
|
-
} from "./chunk-
|
|
653
|
+
} from "./chunk-CHHABXPE.js";
|
|
654
654
|
import {
|
|
655
655
|
runSideQuery
|
|
656
|
-
} from "./chunk-
|
|
657
|
-
import "./chunk-
|
|
656
|
+
} from "./chunk-MA2HEDVP.js";
|
|
657
|
+
import "./chunk-XUJNK7Y6.js";
|
|
658
658
|
import {
|
|
659
659
|
ToolNames,
|
|
660
660
|
isShellProgressData
|
|
661
|
-
} from "./chunk-
|
|
662
|
-
import "./chunk-
|
|
661
|
+
} from "./chunk-6HY6IF3Z.js";
|
|
662
|
+
import "./chunk-4PKCUT7F.js";
|
|
663
663
|
import {
|
|
664
664
|
MAINLINE_CODER_MODEL
|
|
665
665
|
} from "./chunk-F6WFNA7U.js";
|
|
@@ -667,17 +667,17 @@ import "./chunk-46UV252V.js";
|
|
|
667
667
|
import {
|
|
668
668
|
DEFAULT_TOKEN_LIMIT
|
|
669
669
|
} from "./chunk-FPGTNKCP.js";
|
|
670
|
-
import "./chunk-
|
|
671
|
-
import "./chunk-
|
|
670
|
+
import "./chunk-CPHEPGAO.js";
|
|
671
|
+
import "./chunk-P7MPQI75.js";
|
|
672
672
|
import {
|
|
673
673
|
atomicWriteFileSync
|
|
674
|
-
} from "./chunk-
|
|
674
|
+
} from "./chunk-FDGGZIYW.js";
|
|
675
675
|
import {
|
|
676
676
|
endInteractionSpan,
|
|
677
677
|
getActiveInteractionSpan,
|
|
678
678
|
isBinary,
|
|
679
679
|
redactUrlCredentials
|
|
680
|
-
} from "./chunk-
|
|
680
|
+
} from "./chunk-EL5SXY3T.js";
|
|
681
681
|
import "./chunk-HHJLM3WQ.js";
|
|
682
682
|
import "./chunk-K5IDV3PC.js";
|
|
683
683
|
import {
|
|
@@ -691,13 +691,13 @@ import {
|
|
|
691
691
|
isNodeError,
|
|
692
692
|
shortenPath,
|
|
693
693
|
tildeifyPath
|
|
694
|
-
} from "./chunk-
|
|
694
|
+
} from "./chunk-BUQDLC2G.js";
|
|
695
695
|
import "./chunk-VOQXFAY5.js";
|
|
696
|
-
import "./chunk-
|
|
696
|
+
import "./chunk-AW4TRXOC.js";
|
|
697
697
|
import {
|
|
698
698
|
registerCleanup,
|
|
699
699
|
runExitCleanup
|
|
700
|
-
} from "./chunk-
|
|
700
|
+
} from "./chunk-X26JYGTD.js";
|
|
701
701
|
import {
|
|
702
702
|
finalizeStartupProfile,
|
|
703
703
|
profileCheckpoint
|
|
@@ -36834,7 +36834,12 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
|
|
|
36834
36834
|
const schedule = (0, import_react134.useCallback)(
|
|
36835
36835
|
(request, signal, modelOverride) => {
|
|
36836
36836
|
if (!modelOverride?.endsWith("\0")) {
|
|
36837
|
-
void scheduler.schedule(request, signal)
|
|
36837
|
+
void scheduler.schedule(request, signal).catch((error) => {
|
|
36838
|
+
if (signal.aborted) return;
|
|
36839
|
+
debugLogger36.error(
|
|
36840
|
+
`Tool scheduling failed: ${error instanceof Error ? error.message : String(error)}`
|
|
36841
|
+
);
|
|
36842
|
+
});
|
|
36838
36843
|
return;
|
|
36839
36844
|
}
|
|
36840
36845
|
void (async () => {
|
|
@@ -37542,6 +37547,38 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37542
37547
|
const dualOutput = useDualOutput();
|
|
37543
37548
|
const [isResponding, setIsResponding] = (0, import_react136.useState)(false);
|
|
37544
37549
|
const activeModelStreamsRef = (0, import_react136.useRef)(0);
|
|
37550
|
+
const submissionActivitiesByGenerationRef = (0, import_react136.useRef)(/* @__PURE__ */ new Map());
|
|
37551
|
+
const settleSubmissionStateIfIdle = (0, import_react136.useCallback)(() => {
|
|
37552
|
+
const currentGeneration = submissionLeaseGenerationRef.current;
|
|
37553
|
+
if ((submissionActivitiesByGenerationRef.current.get(currentGeneration) ?? 0) === 0 && activeModelStreamsRef.current === 0) {
|
|
37554
|
+
setIsResponding(false);
|
|
37555
|
+
setSubmissionInFlight(false);
|
|
37556
|
+
}
|
|
37557
|
+
}, [setSubmissionInFlight]);
|
|
37558
|
+
const retainSubmissionActivity = (0, import_react136.useCallback)(
|
|
37559
|
+
(generation) => {
|
|
37560
|
+
submissionActivitiesByGenerationRef.current.set(
|
|
37561
|
+
generation,
|
|
37562
|
+
(submissionActivitiesByGenerationRef.current.get(generation) ?? 0) + 1
|
|
37563
|
+
);
|
|
37564
|
+
return () => {
|
|
37565
|
+
const remainingActivities = Math.max(
|
|
37566
|
+
0,
|
|
37567
|
+
(submissionActivitiesByGenerationRef.current.get(generation) ?? 1) - 1
|
|
37568
|
+
);
|
|
37569
|
+
if (remainingActivities === 0) {
|
|
37570
|
+
submissionActivitiesByGenerationRef.current.delete(generation);
|
|
37571
|
+
} else {
|
|
37572
|
+
submissionActivitiesByGenerationRef.current.set(
|
|
37573
|
+
generation,
|
|
37574
|
+
remainingActivities
|
|
37575
|
+
);
|
|
37576
|
+
}
|
|
37577
|
+
settleSubmissionStateIfIdle();
|
|
37578
|
+
};
|
|
37579
|
+
},
|
|
37580
|
+
[settleSubmissionStateIfIdle]
|
|
37581
|
+
);
|
|
37545
37582
|
const [thought, setThought] = (0, import_react136.useState)(null);
|
|
37546
37583
|
const historyRef = (0, import_react136.useRef)(history);
|
|
37547
37584
|
(0, import_react136.useLayoutEffect)(() => {
|
|
@@ -37624,6 +37661,15 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37624
37661
|
const interactionOwnersByToolCallIdRef = (0, import_react136.useRef)(
|
|
37625
37662
|
/* @__PURE__ */ new Map()
|
|
37626
37663
|
);
|
|
37664
|
+
const continuationOwnersByToolCallIdRef = (0, import_react136.useRef)(
|
|
37665
|
+
/* @__PURE__ */ new Map()
|
|
37666
|
+
);
|
|
37667
|
+
const detachedToolContinuationAbortControllersRef = (0, import_react136.useRef)(
|
|
37668
|
+
/* @__PURE__ */ new Set()
|
|
37669
|
+
);
|
|
37670
|
+
const pendingCompletedToolBatchesRef = (0, import_react136.useRef)([]);
|
|
37671
|
+
const handleCompletedToolsRef = (0, import_react136.useRef)(async () => {
|
|
37672
|
+
});
|
|
37627
37673
|
const immediateDuplicateToolResponsesRef = (0, import_react136.useRef)(null);
|
|
37628
37674
|
const streamingResponseLengthRef = (0, import_react136.useRef)(0);
|
|
37629
37675
|
const [isReceivingContent, setIsReceivingContent] = (0, import_react136.useState)(false);
|
|
@@ -37636,15 +37682,20 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37636
37682
|
const [toolCalls, scheduleToolCalls, markToolsAsSubmitted] = useReactToolScheduler(
|
|
37637
37683
|
async (completedToolCallsFromScheduler) => {
|
|
37638
37684
|
if (completedToolCallsFromScheduler.length > 0) {
|
|
37639
|
-
const
|
|
37640
|
-
|
|
37641
|
-
|
|
37642
|
-
|
|
37643
|
-
|
|
37644
|
-
|
|
37645
|
-
|
|
37646
|
-
|
|
37647
|
-
|
|
37685
|
+
const releaseToolCompletionActivity = isSubmittingQueryRef.current ? retainSubmissionActivity(submissionLeaseGenerationRef.current) : void 0;
|
|
37686
|
+
try {
|
|
37687
|
+
const projectRoot = config.getProjectRoot();
|
|
37688
|
+
const toolGroupDisplay = mapToDisplay(
|
|
37689
|
+
completedToolCallsFromScheduler,
|
|
37690
|
+
projectRoot
|
|
37691
|
+
);
|
|
37692
|
+
addItem(toolGroupDisplay, Date.now());
|
|
37693
|
+
await handleCompletedTools(
|
|
37694
|
+
completedToolCallsFromScheduler
|
|
37695
|
+
);
|
|
37696
|
+
} finally {
|
|
37697
|
+
releaseToolCompletionActivity?.();
|
|
37698
|
+
}
|
|
37648
37699
|
}
|
|
37649
37700
|
},
|
|
37650
37701
|
config,
|
|
@@ -37782,10 +37833,14 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37782
37833
|
}
|
|
37783
37834
|
}, [streamingState, config, history]);
|
|
37784
37835
|
const cancelOngoingRequest = (0, import_react136.useCallback)(() => {
|
|
37785
|
-
if (
|
|
37836
|
+
if (turnCancelledRef.current) {
|
|
37837
|
+
for (const controller of detachedToolContinuationAbortControllersRef.current) {
|
|
37838
|
+
controller.abort();
|
|
37839
|
+
}
|
|
37840
|
+
detachedToolContinuationAbortControllersRef.current.clear();
|
|
37786
37841
|
return;
|
|
37787
37842
|
}
|
|
37788
|
-
if (
|
|
37843
|
+
if (streamingState !== "responding" /* Responding */) {
|
|
37789
37844
|
return;
|
|
37790
37845
|
}
|
|
37791
37846
|
for (const flushBufferedStreamEvents of flushBufferedStreamEventsRef.current) {
|
|
@@ -37795,7 +37850,15 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37795
37850
|
turnCancelledRef.current = true;
|
|
37796
37851
|
submissionLeaseGenerationRef.current += 1;
|
|
37797
37852
|
setSubmissionInFlight(false);
|
|
37798
|
-
abortControllerRef.current
|
|
37853
|
+
const foregroundAbortController = abortControllerRef.current;
|
|
37854
|
+
if (foregroundAbortController && !foregroundAbortController.signal.aborted) {
|
|
37855
|
+
foregroundAbortController.abort();
|
|
37856
|
+
} else {
|
|
37857
|
+
for (const controller of detachedToolContinuationAbortControllersRef.current) {
|
|
37858
|
+
controller.abort();
|
|
37859
|
+
}
|
|
37860
|
+
detachedToolContinuationAbortControllersRef.current.clear();
|
|
37861
|
+
}
|
|
37799
37862
|
const activeInteractionPromptId = activeInteractionPromptIdRef.current;
|
|
37800
37863
|
const activeInteractionOwner = activeInteractionOwnerRef.current;
|
|
37801
37864
|
if (activeInteractionPromptId && activeInteractionOwner && getActiveInteractionSpan(activeInteractionPromptId) === activeInteractionOwner) {
|
|
@@ -37931,7 +37994,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37931
37994
|
);
|
|
37932
37995
|
const prepareQueryForGemini = (0, import_react136.useCallback)(
|
|
37933
37996
|
async (query, userMessageTimestamp, abortSignal, prompt_id, submitType, submittedPrompt, preserveTurnOwnership) => {
|
|
37934
|
-
if (turnCancelledRef.current) {
|
|
37997
|
+
if (turnCancelledRef.current && !preserveTurnOwnership) {
|
|
37935
37998
|
return { queryToSend: null, shouldProceed: false };
|
|
37936
37999
|
}
|
|
37937
38000
|
if (typeof query === "string" && query.trim().length === 0) {
|
|
@@ -37971,7 +38034,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
37971
38034
|
prompt_id
|
|
37972
38035
|
};
|
|
37973
38036
|
scheduleToolCalls([toolCallRequest], abortSignal);
|
|
37974
|
-
return {
|
|
38037
|
+
return {
|
|
38038
|
+
queryToSend: null,
|
|
38039
|
+
shouldProceed: false,
|
|
38040
|
+
scheduledToolCallId: toolCallRequest.callId
|
|
38041
|
+
};
|
|
37975
38042
|
}
|
|
37976
38043
|
case "submit_prompt": {
|
|
37977
38044
|
localQueryToSendToGemini = slashCommandResult.content;
|
|
@@ -38596,7 +38663,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
38596
38663
|
[addItem, commitItemInOrder, pendingHistoryItemRef, setPendingHistoryItem]
|
|
38597
38664
|
);
|
|
38598
38665
|
const processGeminiStreamEvents = (0, import_react136.useCallback)(
|
|
38599
|
-
async (stream, userMessageTimestamp, signal, submitType, turnAdmission, promptId, trackInteractionOwner = true) => {
|
|
38666
|
+
async (stream, userMessageTimestamp, signal, submitType, turnAdmission, promptId, trackInteractionOwner = true, toolContinuationOwner) => {
|
|
38600
38667
|
let geminiMessageBuffer = "";
|
|
38601
38668
|
let thoughtBuffer = "";
|
|
38602
38669
|
let scheduledToolContinuation = false;
|
|
@@ -38609,6 +38676,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
38609
38676
|
0
|
|
38610
38677
|
);
|
|
38611
38678
|
const toolCallRequests = [];
|
|
38679
|
+
let streamInteractionOwner = trackInteractionOwner ? activeInteractionOwnerRef.current : void 0;
|
|
38612
38680
|
const bufferedEvents = [];
|
|
38613
38681
|
let flushTimer = null;
|
|
38614
38682
|
const discardBufferedStreamEvents = /* @__PURE__ */ __name(() => {
|
|
@@ -38732,8 +38800,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
38732
38800
|
dualOutput?.startAssistantMessage();
|
|
38733
38801
|
try {
|
|
38734
38802
|
for await (const event of stream) {
|
|
38735
|
-
if (
|
|
38736
|
-
|
|
38803
|
+
if (!streamInteractionOwner && promptId) {
|
|
38804
|
+
streamInteractionOwner = getActiveInteractionSpan(promptId);
|
|
38805
|
+
if (trackInteractionOwner && streamInteractionOwner) {
|
|
38806
|
+
activeInteractionOwnerRef.current ??= streamInteractionOwner;
|
|
38807
|
+
}
|
|
38737
38808
|
}
|
|
38738
38809
|
dualOutput?.processEvent(event);
|
|
38739
38810
|
switch (event.type) {
|
|
@@ -39056,12 +39127,19 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39056
39127
|
}
|
|
39057
39128
|
}
|
|
39058
39129
|
if (executableToolCallRequests.length > 0) {
|
|
39059
|
-
|
|
39060
|
-
|
|
39130
|
+
if (toolContinuationOwner) {
|
|
39131
|
+
for (const request of executableToolCallRequests) {
|
|
39132
|
+
continuationOwnersByToolCallIdRef.current.set(
|
|
39133
|
+
request.callId,
|
|
39134
|
+
toolContinuationOwner
|
|
39135
|
+
);
|
|
39136
|
+
}
|
|
39137
|
+
}
|
|
39138
|
+
if (streamInteractionOwner) {
|
|
39061
39139
|
for (const request of executableToolCallRequests) {
|
|
39062
39140
|
interactionOwnersByToolCallIdRef.current.set(
|
|
39063
39141
|
request.callId,
|
|
39064
|
-
|
|
39142
|
+
streamInteractionOwner
|
|
39065
39143
|
);
|
|
39066
39144
|
}
|
|
39067
39145
|
}
|
|
@@ -39319,7 +39397,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39319
39397
|
);
|
|
39320
39398
|
const submitQuery = (0, import_react136.useCallback)(
|
|
39321
39399
|
async (query, submitType = "userQuery" /* UserQuery */, prompt_id, metadata) => {
|
|
39322
|
-
const allowConcurrentBtwDuringResponse = submitType === "userQuery" /* UserQuery */ && streamingState === "responding" /* Responding */ && typeof query === "string" && isBtwCommand(query) && !activeGoalAdmissionRef.current;
|
|
39400
|
+
const allowConcurrentBtwDuringResponse = submitType === "userQuery" /* UserQuery */ && streamingState === "responding" /* Responding */ && activeModelStreamsRef.current > 0 && typeof query === "string" && isBtwCommand(query) && !activeGoalAdmissionRef.current;
|
|
39323
39401
|
let ownsSubmissionLease = false;
|
|
39324
39402
|
let submissionLeaseGeneration;
|
|
39325
39403
|
const acquireSubmissionLease = /* @__PURE__ */ __name(() => {
|
|
@@ -39352,6 +39430,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39352
39430
|
return;
|
|
39353
39431
|
}
|
|
39354
39432
|
acquireSubmissionLease();
|
|
39433
|
+
const submissionGeneration = submissionLeaseGenerationRef.current;
|
|
39355
39434
|
loopDetectedRef.current = false;
|
|
39356
39435
|
if (!isTurnContinuation && !allowConcurrentBtwDuringResponse) {
|
|
39357
39436
|
lastTurnUserItemRef.current = null;
|
|
@@ -39407,7 +39486,17 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39407
39486
|
}
|
|
39408
39487
|
const abortController = new AbortController();
|
|
39409
39488
|
const abortSignal = abortController.signal;
|
|
39410
|
-
|
|
39489
|
+
const inheritedToolContinuationOwner = metadata?.toolContinuationOwner;
|
|
39490
|
+
const isDetachedToolContinuation = inheritedToolContinuationOwner?.survivesGenerationChange === true;
|
|
39491
|
+
const detachedAbortController = inheritedToolContinuationOwner?.detachedAbortController ?? (allowConcurrentBtwDuringResponse ? abortController : void 0);
|
|
39492
|
+
const foregroundAbortController = allowConcurrentBtwDuringResponse || isDetachedToolContinuation ? void 0 : abortController;
|
|
39493
|
+
let keepToolContinuationAbortController = false;
|
|
39494
|
+
if (detachedAbortController) {
|
|
39495
|
+
detachedToolContinuationAbortControllersRef.current.add(
|
|
39496
|
+
detachedAbortController
|
|
39497
|
+
);
|
|
39498
|
+
}
|
|
39499
|
+
if (!allowConcurrentBtwDuringResponse && !isDetachedToolContinuation) {
|
|
39411
39500
|
abortControllerRef.current = abortController;
|
|
39412
39501
|
turnCancelledRef.current = false;
|
|
39413
39502
|
}
|
|
@@ -39420,7 +39509,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39420
39509
|
activeInteractionOwnerRef.current = void 0;
|
|
39421
39510
|
}
|
|
39422
39511
|
}
|
|
39423
|
-
|
|
39512
|
+
const releaseSubmissionActivity = retainSubmissionActivity(submissionGeneration);
|
|
39513
|
+
const submission = promptIdContext.run(prompt_id, async () => {
|
|
39424
39514
|
let queuedGoal = metadata?.goal;
|
|
39425
39515
|
let preparedQuery;
|
|
39426
39516
|
try {
|
|
@@ -39442,7 +39532,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39442
39532
|
prompt_id,
|
|
39443
39533
|
submitType,
|
|
39444
39534
|
submittedPrompt,
|
|
39445
|
-
allowConcurrentBtwDuringResponse
|
|
39535
|
+
allowConcurrentBtwDuringResponse || isDetachedToolContinuation
|
|
39446
39536
|
);
|
|
39447
39537
|
} catch (error) {
|
|
39448
39538
|
await releaseUndeliveredGoalTurn(metadata?.userAdmission?.turnKey);
|
|
@@ -39450,7 +39540,16 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39450
39540
|
metadata?.onAdmissionFailed?.();
|
|
39451
39541
|
throw error;
|
|
39452
39542
|
}
|
|
39453
|
-
const { queryToSend, shouldProceed } = preparedQuery;
|
|
39543
|
+
const { queryToSend, shouldProceed, scheduledToolCallId } = preparedQuery;
|
|
39544
|
+
if (scheduledToolCallId && foregroundAbortController) {
|
|
39545
|
+
keepToolContinuationAbortController = true;
|
|
39546
|
+
continuationOwnersByToolCallIdRef.current.set(scheduledToolCallId, {
|
|
39547
|
+
promptId: prompt_id,
|
|
39548
|
+
signal: abortSignal,
|
|
39549
|
+
survivesGenerationChange: false,
|
|
39550
|
+
foregroundAbortController
|
|
39551
|
+
});
|
|
39552
|
+
}
|
|
39454
39553
|
if (!shouldProceed || queryToSend === null) {
|
|
39455
39554
|
await releaseUndeliveredGoalTurn(metadata?.userAdmission?.turnKey);
|
|
39456
39555
|
releaseSubmissionLease();
|
|
@@ -39488,7 +39587,21 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39488
39587
|
) : void 0);
|
|
39489
39588
|
const turnKey = goalBinding?.turnKey ?? userAdmission?.turnKey;
|
|
39490
39589
|
const turnController = goalBinding?.controller ?? (turnKey ? new AbortController() : void 0);
|
|
39491
|
-
const
|
|
39590
|
+
const processingSignals = [abortSignal];
|
|
39591
|
+
if (turnController) {
|
|
39592
|
+
processingSignals.push(turnController.signal);
|
|
39593
|
+
}
|
|
39594
|
+
if (inheritedToolContinuationOwner) {
|
|
39595
|
+
processingSignals.push(inheritedToolContinuationOwner.signal);
|
|
39596
|
+
}
|
|
39597
|
+
const processingSignal = processingSignals.length > 1 ? AbortSignal.any(processingSignals) : abortSignal;
|
|
39598
|
+
const toolContinuationOwner = {
|
|
39599
|
+
promptId: prompt_id,
|
|
39600
|
+
signal: processingSignal,
|
|
39601
|
+
survivesGenerationChange: allowConcurrentBtwDuringResponse || inheritedToolContinuationOwner?.survivesGenerationChange === true,
|
|
39602
|
+
detachedAbortController,
|
|
39603
|
+
foregroundAbortController
|
|
39604
|
+
};
|
|
39492
39605
|
const turnAdmission = turnKey && turnController ? {
|
|
39493
39606
|
turnKey,
|
|
39494
39607
|
controller: turnController,
|
|
@@ -39564,11 +39677,12 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39564
39677
|
modelOverride: modelOverrideRef.current,
|
|
39565
39678
|
steerInput: metadata?.steerInput,
|
|
39566
39679
|
...submittedPrompt !== void 0 ? { submittedPrompt } : {},
|
|
39567
|
-
...!allowConcurrentBtwDuringResponse && midTurnDrainRef ? { getSteerInput: drainSteerAtBoundary } : {}
|
|
39680
|
+
...!allowConcurrentBtwDuringResponse && !isDetachedToolContinuation && midTurnDrainRef ? { getSteerInput: drainSteerAtBoundary } : {}
|
|
39568
39681
|
};
|
|
39682
|
+
const providerSignal = inheritedToolContinuationOwner ? processingSignal : abortSignal;
|
|
39569
39683
|
const stream = geminiClient.sendMessageStream(
|
|
39570
39684
|
finalQueryToSend,
|
|
39571
|
-
|
|
39685
|
+
providerSignal,
|
|
39572
39686
|
prompt_id,
|
|
39573
39687
|
{
|
|
39574
39688
|
...sendOptions,
|
|
@@ -39593,12 +39707,14 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39593
39707
|
submitType,
|
|
39594
39708
|
turnAdmission,
|
|
39595
39709
|
prompt_id,
|
|
39596
|
-
!allowConcurrentBtwDuringResponse
|
|
39710
|
+
!allowConcurrentBtwDuringResponse,
|
|
39711
|
+
toolContinuationOwner
|
|
39597
39712
|
);
|
|
39598
39713
|
if (!goalBinding && turnAdmission && activeGoalTurnRef.current?.controller === turnAdmission.controller && activeGoalTurnRef.current.turnKey === turnAdmission.turnKey) {
|
|
39599
39714
|
goalBinding = activeGoalTurnRef.current;
|
|
39600
39715
|
}
|
|
39601
39716
|
keepGoalBinding = processingResult.scheduledToolContinuation;
|
|
39717
|
+
keepToolContinuationAbortController = processingResult.scheduledToolContinuation;
|
|
39602
39718
|
if (processingResult.status === 1 /* UserCancelled */) {
|
|
39603
39719
|
cleanupReviewLease = true;
|
|
39604
39720
|
submitPromptOnCompleteRef.current = null;
|
|
@@ -39731,9 +39847,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39731
39847
|
0,
|
|
39732
39848
|
activeModelStreamsRef.current - 1
|
|
39733
39849
|
);
|
|
39734
|
-
|
|
39735
|
-
setIsResponding(false);
|
|
39736
|
-
}
|
|
39850
|
+
const shouldDrainCompletedToolBatches = activeModelStreamsRef.current === 0;
|
|
39737
39851
|
if (goalBinding) {
|
|
39738
39852
|
let retainGoalBinding = keepGoalBinding && !goalBinding.controller.signal.aborted;
|
|
39739
39853
|
if (retainGoalBinding) {
|
|
@@ -39753,7 +39867,31 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39753
39867
|
if (turnAdmission && !goalBinding && activeGoalAdmissionRef.current?.controller === turnAdmission.controller && activeGoalAdmissionRef.current.turnKey === turnAdmission.turnKey) {
|
|
39754
39868
|
activeGoalAdmissionRef.current = null;
|
|
39755
39869
|
}
|
|
39756
|
-
|
|
39870
|
+
if (shouldDrainCompletedToolBatches) {
|
|
39871
|
+
const pendingCompletedToolBatches = pendingCompletedToolBatchesRef.current.splice(0);
|
|
39872
|
+
const pendingCompletedTools = /* @__PURE__ */ new Map();
|
|
39873
|
+
for (const pendingBatch of pendingCompletedToolBatches) {
|
|
39874
|
+
for (const toolCall of pendingBatch) {
|
|
39875
|
+
pendingCompletedTools.set(toolCall.request.callId, toolCall);
|
|
39876
|
+
}
|
|
39877
|
+
}
|
|
39878
|
+
if (pendingCompletedTools.size > 0) {
|
|
39879
|
+
await handleCompletedToolsRef.current([
|
|
39880
|
+
...pendingCompletedTools.values()
|
|
39881
|
+
]);
|
|
39882
|
+
}
|
|
39883
|
+
}
|
|
39884
|
+
}
|
|
39885
|
+
});
|
|
39886
|
+
return submission.finally(() => {
|
|
39887
|
+
releaseSubmissionActivity();
|
|
39888
|
+
if (detachedAbortController && !keepToolContinuationAbortController) {
|
|
39889
|
+
detachedToolContinuationAbortControllersRef.current.delete(
|
|
39890
|
+
detachedAbortController
|
|
39891
|
+
);
|
|
39892
|
+
}
|
|
39893
|
+
if (foregroundAbortController && !keepToolContinuationAbortController && abortControllerRef.current === foregroundAbortController) {
|
|
39894
|
+
abortControllerRef.current = null;
|
|
39757
39895
|
}
|
|
39758
39896
|
});
|
|
39759
39897
|
},
|
|
@@ -39787,6 +39925,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39787
39925
|
bindGoalTurn,
|
|
39788
39926
|
failClosedGoalTurn,
|
|
39789
39927
|
releaseUndeliveredGoalTurn,
|
|
39928
|
+
retainSubmissionActivity,
|
|
39790
39929
|
setSubmissionInFlight
|
|
39791
39930
|
]
|
|
39792
39931
|
);
|
|
@@ -39884,10 +40023,59 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39884
40023
|
);
|
|
39885
40024
|
}
|
|
39886
40025
|
markToolsAsSubmitted(dedupedCallIds);
|
|
40026
|
+
const detachedAbortControllers = /* @__PURE__ */ new Set();
|
|
40027
|
+
const foregroundAbortControllers = /* @__PURE__ */ new Set();
|
|
40028
|
+
for (const callId of dedupedCallIds) {
|
|
40029
|
+
const continuationOwner2 = continuationOwnersByToolCallIdRef.current.get(callId);
|
|
40030
|
+
if (continuationOwner2?.detachedAbortController) {
|
|
40031
|
+
detachedAbortControllers.add(
|
|
40032
|
+
continuationOwner2.detachedAbortController
|
|
40033
|
+
);
|
|
40034
|
+
}
|
|
40035
|
+
if (continuationOwner2?.foregroundAbortController) {
|
|
40036
|
+
foregroundAbortControllers.add(
|
|
40037
|
+
continuationOwner2.foregroundAbortController
|
|
40038
|
+
);
|
|
40039
|
+
}
|
|
40040
|
+
interactionOwnersByToolCallIdRef.current.delete(callId);
|
|
40041
|
+
continuationOwnersByToolCallIdRef.current.delete(callId);
|
|
40042
|
+
}
|
|
40043
|
+
for (const controller of detachedAbortControllers) {
|
|
40044
|
+
const isStillOwned = [
|
|
40045
|
+
...continuationOwnersByToolCallIdRef.current.values()
|
|
40046
|
+
].some((owner) => owner.detachedAbortController === controller);
|
|
40047
|
+
if (!isStillOwned) {
|
|
40048
|
+
detachedToolContinuationAbortControllersRef.current.delete(
|
|
40049
|
+
controller
|
|
40050
|
+
);
|
|
40051
|
+
}
|
|
40052
|
+
}
|
|
40053
|
+
for (const controller of foregroundAbortControllers) {
|
|
40054
|
+
const isStillOwned = [
|
|
40055
|
+
...continuationOwnersByToolCallIdRef.current.values()
|
|
40056
|
+
].some((owner) => owner.foregroundAbortController === controller);
|
|
40057
|
+
if (!isStillOwned && abortControllerRef.current === controller) {
|
|
40058
|
+
abortControllerRef.current = null;
|
|
40059
|
+
}
|
|
40060
|
+
}
|
|
39887
40061
|
}
|
|
39888
40062
|
if (activeModelStreamsRef.current > 0) {
|
|
40063
|
+
const deferredTools = completedAndReadyToSubmitTools.filter(
|
|
40064
|
+
(toolCall) => !historyCallIdsWithResponse.has(toolCall.request.callId)
|
|
40065
|
+
);
|
|
40066
|
+
if (deferredTools.length > 0) {
|
|
40067
|
+
pendingCompletedToolBatchesRef.current.push(deferredTools);
|
|
40068
|
+
}
|
|
39889
40069
|
return;
|
|
39890
40070
|
}
|
|
40071
|
+
const continuationOwner = completedAndReadyToSubmitTools.filter(
|
|
40072
|
+
(toolCall) => !historyCallIdsWithResponse.has(toolCall.request.callId)
|
|
40073
|
+
).map(
|
|
40074
|
+
(toolCall) => continuationOwnersByToolCallIdRef.current.get(
|
|
40075
|
+
toolCall.request.callId
|
|
40076
|
+
)
|
|
40077
|
+
).find((owner) => owner !== void 0);
|
|
40078
|
+
const continuationWasCancelled = /* @__PURE__ */ __name(() => continuationOwner ? continuationOwner.signal.aborted : turnCancelledRef.current || abortControllerRef.current?.signal.aborted === true, "continuationWasCancelled");
|
|
39891
40079
|
const clientTools = completedAndReadyToSubmitTools.filter(
|
|
39892
40080
|
(t2) => t2.request.isClientInitiated && !historyCallIdsWithResponse.has(t2.request.callId)
|
|
39893
40081
|
);
|
|
@@ -39897,25 +40085,77 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
39897
40085
|
const newSuccessfulMemorySaves = completedAndReadyToSubmitTools.filter(
|
|
39898
40086
|
(t2) => t2.request.name === "save_memory" && t2.status === "success" && !processedMemoryToolsRef.current.has(t2.request.callId)
|
|
39899
40087
|
);
|
|
39900
|
-
|
|
40088
|
+
let geminiTools = completedAndReadyToSubmitTools.filter(
|
|
39901
40089
|
(t2) => !t2.request.isClientInitiated && !historyCallIdsWithResponse.has(t2.request.callId)
|
|
39902
40090
|
);
|
|
39903
40091
|
const terminalPromptId = completedAndReadyToSubmitTools.find(
|
|
39904
40092
|
(toolCall) => !toolCall.request.isClientInitiated
|
|
39905
40093
|
)?.request.prompt_id;
|
|
39906
|
-
const
|
|
40094
|
+
const ownerForToolCall = /* @__PURE__ */ __name((toolCall) => interactionOwnersByToolCallIdRef.current.get(toolCall.request.callId) ?? (activeInteractionPromptIdRef.current === toolCall.request.prompt_id ? activeInteractionOwnerRef.current : void 0), "ownerForToolCall");
|
|
40095
|
+
const liveOwnerForToolCall = /* @__PURE__ */ __name((toolCall) => {
|
|
40096
|
+
const owner = ownerForToolCall(toolCall);
|
|
40097
|
+
const ownerPromptId = toolCall.request.prompt_id;
|
|
40098
|
+
return owner && ownerPromptId && getActiveInteractionSpan(ownerPromptId) === owner ? owner : void 0;
|
|
40099
|
+
}, "liveOwnerForToolCall");
|
|
40100
|
+
const liveActiveInteractionOwner = activeInteractionPromptIdRef.current && activeInteractionOwnerRef.current && getActiveInteractionSpan(activeInteractionPromptIdRef.current) === activeInteractionOwnerRef.current ? activeInteractionOwnerRef.current : void 0;
|
|
40101
|
+
const ownerToolCall = (liveActiveInteractionOwner ? geminiTools.find(
|
|
40102
|
+
(toolCall) => liveOwnerForToolCall(toolCall) === liveActiveInteractionOwner
|
|
40103
|
+
) : void 0) ?? geminiTools.find((toolCall) => liveOwnerForToolCall(toolCall)) ?? geminiTools[0] ?? completedAndReadyToSubmitTools.find(
|
|
39907
40104
|
(toolCall) => !toolCall.request.isClientInitiated
|
|
39908
40105
|
);
|
|
39909
|
-
const interactionOwner = ownerToolCall ?
|
|
39910
|
-
|
|
39911
|
-
|
|
40106
|
+
const interactionOwner = ownerToolCall ? liveOwnerForToolCall(ownerToolCall) : void 0;
|
|
40107
|
+
const secondaryInteractionOwners = /* @__PURE__ */ new Map();
|
|
40108
|
+
const secondaryTools = interactionOwner ? geminiTools.filter(
|
|
40109
|
+
(toolCall) => ownerForToolCall(toolCall) !== interactionOwner
|
|
40110
|
+
) : [];
|
|
40111
|
+
for (const toolCall of secondaryTools) {
|
|
40112
|
+
const secondaryOwner = ownerForToolCall(toolCall);
|
|
40113
|
+
if (secondaryOwner && toolCall.request.prompt_id) {
|
|
40114
|
+
secondaryInteractionOwners.set(
|
|
40115
|
+
secondaryOwner,
|
|
40116
|
+
toolCall.request.prompt_id
|
|
40117
|
+
);
|
|
40118
|
+
}
|
|
40119
|
+
if (toolCall.status !== "cancelled") {
|
|
40120
|
+
geminiClient?.recordCompletedToolCall(
|
|
40121
|
+
toolCall.request.name,
|
|
40122
|
+
toolCall.request.args
|
|
40123
|
+
);
|
|
40124
|
+
}
|
|
40125
|
+
dualOutput?.emitToolResult(toolCall.request, toolCall.response);
|
|
40126
|
+
}
|
|
40127
|
+
if (secondaryTools.length > 0) {
|
|
40128
|
+
const secondaryCallIds2 = new Set(
|
|
40129
|
+
secondaryTools.map((toolCall) => toolCall.request.callId)
|
|
40130
|
+
);
|
|
40131
|
+
markToolsAsSubmitted([...secondaryCallIds2]);
|
|
40132
|
+
geminiTools = geminiTools.filter(
|
|
40133
|
+
(toolCall) => !secondaryCallIds2.has(toolCall.request.callId)
|
|
40134
|
+
);
|
|
40135
|
+
}
|
|
39912
40136
|
for (const toolCall of completedAndReadyToSubmitTools) {
|
|
39913
40137
|
interactionOwnersByToolCallIdRef.current.delete(
|
|
39914
40138
|
toolCall.request.callId
|
|
39915
40139
|
);
|
|
40140
|
+
continuationOwnersByToolCallIdRef.current.delete(
|
|
40141
|
+
toolCall.request.callId
|
|
40142
|
+
);
|
|
39916
40143
|
}
|
|
39917
|
-
|
|
40144
|
+
for (const [owner, ownerPromptId] of secondaryInteractionOwners) {
|
|
40145
|
+
if (getActiveInteractionSpan(ownerPromptId) === owner) {
|
|
40146
|
+
endInteractionSpan("cancelled", { promptId: ownerPromptId });
|
|
40147
|
+
}
|
|
40148
|
+
}
|
|
40149
|
+
let promptId = ownerToolCall?.request.prompt_id ?? continuationOwner?.promptId;
|
|
39918
40150
|
const endToolInteraction = /* @__PURE__ */ __name((status, errorMessage, errorType) => {
|
|
40151
|
+
if (continuationOwner?.detachedAbortController) {
|
|
40152
|
+
detachedToolContinuationAbortControllersRef.current.delete(
|
|
40153
|
+
continuationOwner.detachedAbortController
|
|
40154
|
+
);
|
|
40155
|
+
}
|
|
40156
|
+
if (continuationOwner?.foregroundAbortController && abortControllerRef.current === continuationOwner.foregroundAbortController) {
|
|
40157
|
+
abortControllerRef.current = null;
|
|
40158
|
+
}
|
|
39919
40159
|
if (!promptId || !interactionOwner || getActiveInteractionSpan(promptId) !== interactionOwner) {
|
|
39920
40160
|
return;
|
|
39921
40161
|
}
|
|
@@ -40072,9 +40312,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40072
40312
|
);
|
|
40073
40313
|
}
|
|
40074
40314
|
const completedCallIds = new Set(
|
|
40075
|
-
|
|
40076
|
-
|
|
40077
|
-
|
|
40315
|
+
geminiTools.map((toolCall) => toolCall.request.callId)
|
|
40316
|
+
);
|
|
40317
|
+
const secondaryCallIds = new Set(
|
|
40318
|
+
secondaryTools.map((toolCall) => toolCall.request.callId)
|
|
40078
40319
|
);
|
|
40079
40320
|
const readyDuplicateBatches = [];
|
|
40080
40321
|
pendingDuplicateToolResponsesRef.current = pendingDuplicateToolResponsesRef.current.filter((batch) => {
|
|
@@ -40084,10 +40325,13 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40084
40325
|
if (isReady) {
|
|
40085
40326
|
readyDuplicateBatches.push(batch);
|
|
40086
40327
|
}
|
|
40087
|
-
|
|
40328
|
+
const belongsToSecondaryOwner = [...batch.executableCallIds].some(
|
|
40329
|
+
(callId) => secondaryCallIds.has(callId)
|
|
40330
|
+
);
|
|
40331
|
+
return !isReady && !belongsToSecondaryOwner;
|
|
40088
40332
|
});
|
|
40089
|
-
const pendingDuplicateResponses = readyDuplicateBatches.flatMap(
|
|
40090
|
-
(
|
|
40333
|
+
const pendingDuplicateResponses = readyDuplicateBatches.flatMap((batch) => batch.duplicateResponses).filter(
|
|
40334
|
+
({ request }) => !interactionOwner || !request.prompt_id || request.prompt_id === promptId
|
|
40091
40335
|
);
|
|
40092
40336
|
const pendingDuplicatePromptId = readyDuplicateBatches[0]?.promptId;
|
|
40093
40337
|
if (!promptId && pendingDuplicatePromptId) {
|
|
@@ -40193,7 +40437,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40193
40437
|
} : { goalContext: { ...goalContext } } : void 0
|
|
40194
40438
|
);
|
|
40195
40439
|
});
|
|
40196
|
-
if (
|
|
40440
|
+
if (continuationWasCancelled()) {
|
|
40197
40441
|
markToolsAsSubmitted(
|
|
40198
40442
|
geminiTools.map((toolCall) => toolCall.request.callId)
|
|
40199
40443
|
);
|
|
@@ -40283,10 +40527,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40283
40527
|
}
|
|
40284
40528
|
}
|
|
40285
40529
|
} catch (error) {
|
|
40530
|
+
const errorMessage = getErrorMessage(error);
|
|
40286
40531
|
goalFinishFailed = true;
|
|
40287
40532
|
await failClosedGoalTurn(
|
|
40288
40533
|
toolGoalBinding,
|
|
40289
|
-
`Goal turn could not finish: ${
|
|
40534
|
+
`Goal turn could not finish: ${errorMessage}`
|
|
40290
40535
|
);
|
|
40291
40536
|
} finally {
|
|
40292
40537
|
releaseGoalTurn(toolGoalBinding);
|
|
@@ -40380,7 +40625,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40380
40625
|
);
|
|
40381
40626
|
return;
|
|
40382
40627
|
}
|
|
40383
|
-
const drained =
|
|
40628
|
+
const drained = continuationOwner?.survivesGenerationChange || continuationWasCancelled() ? [] : midTurnDrainRef?.current?.(
|
|
40384
40629
|
false,
|
|
40385
40630
|
Boolean(activeGoalAdmissionRef.current)
|
|
40386
40631
|
) ?? [];
|
|
@@ -40406,7 +40651,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40406
40651
|
}
|
|
40407
40652
|
}
|
|
40408
40653
|
}
|
|
40409
|
-
if (
|
|
40654
|
+
if (continuationWasCancelled()) {
|
|
40410
40655
|
drainedSteer?.restore();
|
|
40411
40656
|
if (toolGoalBinding) {
|
|
40412
40657
|
await failClosedGoalTurn(
|
|
@@ -40426,7 +40671,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40426
40671
|
endToolInteraction("cancelled");
|
|
40427
40672
|
return;
|
|
40428
40673
|
}
|
|
40429
|
-
|
|
40674
|
+
await submitQuery(responsesToSend, "toolResult" /* ToolResult */, promptId, {
|
|
40430
40675
|
steerInput: drainedSteer,
|
|
40431
40676
|
onDelivered: drainedSteer?.accept,
|
|
40432
40677
|
onAdmissionFailed: /* @__PURE__ */ __name(() => {
|
|
@@ -40444,7 +40689,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40444
40689
|
"continuation_delivery_failed"
|
|
40445
40690
|
);
|
|
40446
40691
|
}, "onDeliveryFailed"),
|
|
40447
|
-
goalBinding: toolGoalBinding
|
|
40692
|
+
goalBinding: toolGoalBinding,
|
|
40693
|
+
toolContinuationOwner: continuationOwner
|
|
40448
40694
|
});
|
|
40449
40695
|
},
|
|
40450
40696
|
[
|
|
@@ -40463,6 +40709,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
|
|
|
40463
40709
|
releaseGoalTurn
|
|
40464
40710
|
]
|
|
40465
40711
|
);
|
|
40712
|
+
(0, import_react136.useLayoutEffect)(() => {
|
|
40713
|
+
handleCompletedToolsRef.current = handleCompletedTools;
|
|
40714
|
+
}, [handleCompletedTools]);
|
|
40466
40715
|
const pendingHistoryItems = (0, import_react136.useMemo)(
|
|
40467
40716
|
() => [
|
|
40468
40717
|
// Reasoning renders above the streaming answer.
|
|
@@ -45704,12 +45953,12 @@ ${buildWorkflowSteeringNotice()}
|
|
|
45704
45953
|
}
|
|
45705
45954
|
if (streamingState === "responding" /* Responding */ && isBtwCommand(submittedValue)) {
|
|
45706
45955
|
void Promise.resolve(
|
|
45707
|
-
submitQuery(
|
|
45708
|
-
|
|
45709
|
-
|
|
45710
|
-
|
|
45711
|
-
|
|
45712
|
-
)
|
|
45956
|
+
submitQuery(submittedValue, "userQuery" /* UserQuery */, void 0, {
|
|
45957
|
+
...submittedPrompt === void 0 ? {} : { submittedPrompt },
|
|
45958
|
+
onAdmissionFailed: /* @__PURE__ */ __name(() => {
|
|
45959
|
+
addMessage(submittedValue, true, submittedPrompt);
|
|
45960
|
+
}, "onAdmissionFailed")
|
|
45961
|
+
})
|
|
45713
45962
|
).catch((error) => {
|
|
45714
45963
|
debugLogger40.warn("Failed to admit /btw submission", error);
|
|
45715
45964
|
});
|