@qwen-code/qwen-code 0.21.7 → 0.21.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +43 -30
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +40 -2
- package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
- package/bundled/qc-helper/docs/features/channels/github.md +13 -11
- package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
- package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
- package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
- package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
- package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
- package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +4 -0
- package/bundled/qc-helper/docs/features/commands.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +52 -0
- package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
- package/bundled/qc-helper/docs/qwen-serve.md +4 -1
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
- package/bundled/review/SKILL.md +28 -5
- package/chunks/{MaxSizedBox-ANWZBPTS.js → MaxSizedBox-7PM6BGJ5.js} +26 -22
- package/chunks/{StandaloneSessionPicker-XKS3VU3A.js → StandaloneSessionPicker-3UQHM7GV.js} +44 -40
- package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
- package/chunks/{acpAgent-KUAZ3GCZ.js → acpAgent-5UWLFV6V.js} +534 -262
- package/chunks/{agent-T6PTGX5R.js → agent-624T2BLO.js} +26 -22
- package/chunks/{agent-headless-PR7YCB7S.js → agent-headless-2EE5J2KX.js} +26 -22
- package/chunks/{artifact-tool-U4VOZIK5.js → artifact-tool-N652YE4L.js} +1 -1
- package/chunks/{askUserQuestion-XOBQLPFA.js → askUserQuestion-ONW74PKJ.js} +1 -1
- package/chunks/{bridge-NU6YEEHK.js → bridge-JENKGFFP.js} +29 -25
- package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
- package/chunks/{channel-management-service-FSQ7SHYI.js → channel-management-service-DDWUPHMU.js} +19 -10
- package/chunks/{channel-settings-store-35VQVUVV.js → channel-settings-store-SA6JZSPH.js} +34 -30
- package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-E67EN3RV.js} +5 -5
- package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-SW4C45CF.js} +5 -5
- package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
- package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
- package/chunks/{chunk-ZJ3VGYHK.js → chunk-2ILAOM2I.js} +34 -17
- package/chunks/{chunk-6XJMFJ4D.js → chunk-2M4K4KYS.js} +177 -120
- package/chunks/{chunk-CNIID3TV.js → chunk-2UUMVNYT.js} +1 -1
- package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
- package/chunks/{chunk-2U3WZGZG.js → chunk-3PY4LPJF.js} +19 -131
- package/chunks/{chunk-SPMY6CX6.js → chunk-3SE7J4DR.js} +3 -3
- package/chunks/{chunk-6UWFTUQL.js → chunk-3WNQOYHQ.js} +66 -22
- package/chunks/{chunk-KXSDEOFU.js → chunk-4ALIARFY.js} +1 -1
- package/chunks/{chunk-D3UEZIQH.js → chunk-4DU3NCHG.js} +48 -55
- package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
- package/chunks/{chunk-H2UQ2M5Z.js → chunk-4WU6NY7F.js} +96 -22
- package/chunks/{chunk-TLV2IMHR.js → chunk-5ZGR6RKJ.js} +3 -3
- package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
- package/chunks/{chunk-EORNAQDT.js → chunk-6TR7CFXH.js} +1 -1
- package/chunks/{chunk-NG2R4N5O.js → chunk-6ZRFAKXK.js} +1 -1
- package/chunks/{chunk-P2AJ7FTI.js → chunk-757GB46F.js} +1 -1
- package/chunks/{chunk-72LNFGUY.js → chunk-77QVBFCU.js} +3 -3
- package/chunks/{chunk-OH2VKQXH.js → chunk-7DVT4LVV.js} +37 -30
- package/chunks/{chunk-KKJJB5X6.js → chunk-7VUERJHS.js} +1503 -815
- package/chunks/{chunk-VOARQPTA.js → chunk-B52AWKBB.js} +65 -21
- package/chunks/{chunk-Y4EWSQF7.js → chunk-BF224XHL.js} +2 -2
- package/chunks/{chunk-PJOBIWUG.js → chunk-BF52U4XJ.js} +1 -1
- package/chunks/{chunk-55LYDVPU.js → chunk-C5VWPTGT.js} +1 -1
- package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
- package/chunks/chunk-COBO5EBO.js +135 -0
- package/chunks/chunk-CPG6P4GG.js +82 -0
- package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
- package/chunks/{chunk-AE77C5ZU.js → chunk-DQSDACD2.js} +1 -1
- package/chunks/{chunk-P3LEG54R.js → chunk-DX5W5AON.js} +2 -2
- package/chunks/{chunk-EUQTXRKZ.js → chunk-E4ZBKMSF.js} +5 -5
- package/chunks/{chunk-FPM27XN4.js → chunk-EIVICVHM.js} +4 -4
- package/chunks/{chunk-YHEEE624.js → chunk-EN2TKTFH.js} +1 -1
- package/chunks/chunk-F6WFNA7U.js +22 -0
- package/chunks/{chunk-FZBZSYKU.js → chunk-FN6YXJOP.js} +1 -1
- package/chunks/{chunk-KR4ZSC7K.js → chunk-FWBXMANW.js} +3 -3
- package/chunks/{chunk-LA7YLSR6.js → chunk-FYAXKJK7.js} +327 -67
- package/chunks/{chunk-CSZEXZBE.js → chunk-GBDINRIL.js} +3 -3
- package/chunks/{chunk-SCI7K3GM.js → chunk-GOEVOFQI.js} +19 -10
- package/chunks/{chunk-LEMXGVEP.js → chunk-GQCEQPYQ.js} +3 -3
- package/chunks/{chunk-Y7E5LNLO.js → chunk-GXSNGY5M.js} +1027 -876
- package/chunks/{chunk-6XU3PH66.js → chunk-HA3SAB64.js} +22 -69
- package/chunks/{chunk-Y4NGLFGJ.js → chunk-HUWENAHO.js} +1 -1
- package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
- package/chunks/{chunk-CB2464BK.js → chunk-HWX5HPUG.js} +14 -4
- package/chunks/{chunk-LZC3B5N2.js → chunk-IA7TGCN2.js} +2 -2
- package/chunks/{chunk-RERATVSK.js → chunk-IBYULW65.js} +6 -6
- package/chunks/{chunk-HYRDKNUY.js → chunk-IUQ52YJK.js} +1 -1
- package/chunks/{chunk-TDXGKHDN.js → chunk-IYES5WOT.js} +2 -2
- package/chunks/{chunk-RGSBTHSU.js → chunk-KAQCJO6Y.js} +131 -4
- package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
- package/chunks/{chunk-6GONZVLS.js → chunk-KKDVZLGL.js} +1 -1
- package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
- package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
- package/chunks/{chunk-6EOI4HOK.js → chunk-M3STHEMM.js} +12 -17
- package/chunks/chunk-NGYI5EF5.js +244 -0
- package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
- package/chunks/{chunk-HQB2KUAN.js → chunk-NPUXXRJI.js} +1 -1
- package/chunks/{chunk-QETYKPMG.js → chunk-NVRDQFCX.js} +1 -1
- package/chunks/{chunk-PQBHU2IA.js → chunk-OHKJVAKG.js} +10 -10
- package/chunks/{chunk-CYR3HI5X.js → chunk-OQTXYMKW.js} +2 -2
- package/chunks/{chunk-DBOFL3LQ.js → chunk-PG62DFWD.js} +10 -10
- package/chunks/{chunk-2VSTGY6M.js → chunk-PJRW65JO.js} +1 -1
- package/chunks/{chunk-33ACCIIY.js → chunk-PLFATELK.js} +1 -1
- package/chunks/{chunk-IC4Z6LX6.js → chunk-PYQADEFD.js} +5 -0
- package/chunks/{chunk-MAJS7AT4.js → chunk-QGHSP65Z.js} +2 -2
- package/chunks/{chunk-OHJLEW5J.js → chunk-QQWD7LZV.js} +4 -4
- package/chunks/{chunk-ZXU5UHMI.js → chunk-QXVSWG66.js} +2 -2
- package/chunks/{chunk-E33LOKRA.js → chunk-RPWVIXDB.js} +18 -1
- package/chunks/{chunk-TYKC75AX.js → chunk-S3Y3GBFD.js} +1 -1
- package/chunks/{chunk-7UFKAV7Y.js → chunk-S6HYI3MF.js} +2 -2
- package/chunks/chunk-SAH4BD2J.js +92 -0
- package/chunks/{chunk-OMKQH5C5.js → chunk-SNRT2TJJ.js} +6 -23
- package/chunks/chunk-SR7RZ4MS.js +202 -0
- package/chunks/{chunk-CXE7E23H.js → chunk-TE3ZAJE7.js} +45 -17
- package/chunks/{chunk-S7CV4KO6.js → chunk-TKSZJ5BV.js} +3 -3
- package/chunks/{chunk-3NB7TSE2.js → chunk-U5SLIG7E.js} +1 -1
- package/chunks/chunk-UA5H3DS2.js +203 -0
- package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
- package/chunks/{chunk-YJQCUTT2.js → chunk-VWMUDKLC.js} +3 -3
- package/chunks/{chunk-RMH5OWLD.js → chunk-VXZ5HAOV.js} +1 -1
- package/chunks/{chunk-BVWVWGLE.js → chunk-WAUGQKUU.js} +4 -64
- package/chunks/{chunk-SHZYHGQH.js → chunk-WG6542MA.js} +1 -1
- package/chunks/{chunk-5KH532V7.js → chunk-WV5J6Q6N.js} +1 -1
- package/chunks/{chunk-RNVQB725.js → chunk-XHD7CRP2.js} +2 -2
- package/chunks/{chunk-W4B7UBUS.js → chunk-XZKQT2B2.js} +5 -5
- package/chunks/{chunk-6HVUFDS2.js → chunk-Y4TETC74.js} +22 -13
- package/chunks/{chunk-RZHU3ILK.js → chunk-YEF7XEO2.js} +4 -4
- package/chunks/{chunk-RUL4S3K3.js → chunk-YHJFF7KH.js} +146 -45
- package/chunks/{chunk-23RZCH76.js → chunk-YOM7DEGB.js} +3 -3
- package/chunks/{chunk-OFI7IGST.js → chunk-ZCLLJARV.js} +9 -9
- package/chunks/{chunk-GSS34377.js → chunk-ZHA242R4.js} +2 -2
- package/chunks/{chunk-TRLYP7OF.js → chunk-ZPLALRXZ.js} +17 -9
- package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
- package/chunks/{computer-use-KEAPATUY.js → computer-use-ESQYJ3JY.js} +26 -22
- package/chunks/{config-utils-K7SCOWHD.js → config-utils-XQHBJP7G.js} +4 -4
- package/chunks/{contextCommand-ZJA6A5K5.js → contextCommand-CX3YF4ZE.js} +28 -24
- package/chunks/{core-runtime-QMJPWHCI.js → core-runtime-DIAU7JMG.js} +30 -26
- package/chunks/{create-sub-session-DJE6XICH.js → create-sub-session-HDPD6HOA.js} +26 -22
- package/chunks/{create-sub-session-E4PBYXV5.js → create-sub-session-QIDZUOPU.js} +1 -1
- package/chunks/{cron-create-GRBWYMIJ.js → cron-create-VONA5JYY.js} +1 -1
- package/chunks/{cron-delete-4CMKBR2M.js → cron-delete-5JXSP2MI.js} +1 -1
- package/chunks/{cron-list-W7K4ASOA.js → cron-list-KE4F2CIR.js} +1 -1
- package/chunks/{daemon-SCTQMM7Z.js → daemon-VZBGJUNL.js} +30 -0
- package/chunks/{daemon-status-provider-FSWDPE2G.js → daemon-status-provider-H6O4UQ4F.js} +33 -29
- package/chunks/{daemon-trust-policy-P5L5VFAY.js → daemon-trust-policy-BNUXG6MT.js} +33 -29
- package/chunks/{daemon-trust-policy-monitor-73JYN6ET.js → daemon-trust-policy-monitor-E4EQ7GF4.js} +33 -29
- package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
- package/chunks/{deferred-core-runtime-BWRCCFTE.js → deferred-core-runtime-CBMSHPAU.js} +26 -22
- package/chunks/{display-image-O2XFPQTC.js → display-image-NQRSIBXM.js} +2 -2
- package/chunks/{dist-DPPHJAVL.js → dist-EEEQGCZA.js} +918 -142
- package/chunks/{dist-K4WWQBHS.js → dist-HIACTZEK.js} +55 -15
- package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
- package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
- package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
- package/chunks/{dist-SFQ34F4M.js → dist-MKX5OSFF.js} +5 -4
- package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
- package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
- package/chunks/{earlyInputCapture-L5ST23A6.js → earlyInputCapture-UIOP7OIN.js} +26 -22
- package/chunks/{edit-LHHRFNFK.js → edit-ITMZYFKA.js} +26 -22
- package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
- package/chunks/{enter-worktree-6NXCRZPF.js → enter-worktree-S4PL5UV6.js} +26 -22
- package/chunks/{enterPlanMode-ZVQT4U7D.js → enterPlanMode-YV52NNJT.js} +26 -22
- package/chunks/{environment-GJ2HWJOS.js → environment-NGOWPRZV.js} +30 -26
- package/chunks/{errors-6RLH3XXC.js → errors-BU26DTDX.js} +28 -24
- package/chunks/{exit-worktree-I2YLUHHY.js → exit-worktree-XRM6LH5F.js} +26 -22
- package/chunks/{exitPlanMode-7CCWKO7I.js → exitPlanMode-ZLI5F7KR.js} +26 -22
- package/chunks/{fast-path-DVFD4HQD.js → fast-path-UJWORIED.js} +23 -3
- package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-37WQD5B2.js} +6 -3
- package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
- package/chunks/{gemini-7FWGOYD4.js → gemini-ZSKNDUMU.js} +77 -65
- package/chunks/{geminiContentGenerator-V2WVLIXU.js → geminiContentGenerator-YGEXOEKD.js} +1 -1
- package/chunks/{glob-3N6GGI75.js → glob-7KZG44BR.js} +26 -22
- package/chunks/{goal-tools-APOW6UXL.js → goal-tools-PXWN5VK3.js} +4 -2
- package/chunks/{grep-V43ILZVX.js → grep-6ZFC7RJ5.js} +26 -22
- package/chunks/{handleAutoUpdate-A5WFVWIA.js → handleAutoUpdate-KSEL3TQS.js} +30 -26
- package/chunks/{i18n-PLVQ4FBZ.js → i18n-ZIUXBW5V.js} +27 -23
- package/chunks/{image-gen-7C6IK6DC.js → image-gen-AUIZJJNK.js} +7 -5
- package/chunks/{initializer-CVAIKZYL.js → initializer-7AHY3N6Q.js} +33 -29
- package/chunks/{installationInfo-J6QDHNTK.js → installationInfo-VGBXMYLY.js} +27 -23
- package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
- package/chunks/{list-ZZ4OUUWV.js → list-PSFKQHLB.js} +36 -32
- package/chunks/{list-agents-KFFIIS2G.js → list-agents-Z4WABFDZ.js} +1 -1
- package/chunks/{loadedSettingsAdapter-QRYRJSWL.js → loadedSettingsAdapter-FTMRCTOF.js} +33 -29
- package/chunks/{loggingContentGenerator-OJCO75HM.js → loggingContentGenerator-MZAN52UV.js} +7 -5
- package/chunks/{loop-wakeup-TLMJPMMP.js → loop-wakeup-UZ5RL5Y2.js} +2 -2
- package/chunks/{ls-UVVE2XGE.js → ls-TVHDGIES.js} +1 -1
- package/chunks/{lsp-QMEA2VLB.js → lsp-CVN6OQPI.js} +1 -1
- package/chunks/{managed-npm-update-PCOSCP2N.js → managed-npm-update-O4NHK45X.js} +27 -23
- package/chunks/{mcp-M3WKKWKY.js → mcp-6CFP2AYQ.js} +33 -29
- package/chunks/{monitor-GN24FH6C.js → monitor-DAKD6OU4.js} +26 -22
- package/chunks/{nonInteractiveCli-KPTU3VSQ.js → nonInteractiveCli-RC7VIUZL.js} +66 -60
- package/chunks/{notebook-edit-4YM65BBO.js → notebook-edit-474DPMRL.js} +34 -22
- package/chunks/{openaiContentGenerator-EDQT6GTV.js → openaiContentGenerator-2NFY2MWO.js} +19 -9
- package/chunks/{pidfile-JOIIRN2C.js → pidfile-KBFVDNQP.js} +26 -22
- package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
- package/chunks/{processUtils-5SV4MX3Q.js → processUtils-6GRYH4Y3.js} +2 -2
- package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
- package/chunks/{qwenContentGenerator-ODRJSUGR.js → qwenContentGenerator-KAHU6IZY.js} +33 -28
- package/chunks/{qwenOAuth2-NESCMZ47.js → qwenOAuth2-RRQTCP4W.js} +7 -5
- package/chunks/{read-file-HPSODLPK.js → read-file-3M6WXDXP.js} +6 -4
- package/chunks/{read-mcp-resource-2TNSJTC3.js → read-mcp-resource-PZ4ZF6YL.js} +1 -1
- package/chunks/{record-artifact-RAON52FC.js → record-artifact-P4HFMS7X.js} +2 -2
- package/chunks/{resumeHistoryUtils-TXCOFFMQ.js → resumeHistoryUtils-D6TAY3HX.js} +30 -26
- package/chunks/{ripGrep-ZKQGTQAO.js → ripGrep-PLPENT3E.js} +26 -22
- package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
- package/chunks/{run-qwen-serve-ZPKPKECF.js → run-qwen-serve-ZAFIJKJC.js} +168 -54
- package/chunks/{runtime-2FLNNM36.js → runtime-ZED7CYOZ.js} +38 -34
- package/chunks/{scheduler-365PJHNR.js → scheduler-MD3AL2W5.js} +26 -22
- package/chunks/{send-message-ZM7MRUGP.js → send-message-CAMSLG2L.js} +4 -3
- package/chunks/{serve-QD2RNLKJ.js → serve-E3VUDRZN.js} +33 -29
- package/chunks/{server-XLJVLTYM.js → server-OWMEMAKR.js} +450 -231
- package/chunks/{session-3VTUHH4Q.js → session-HZ57QK7K.js} +158 -97
- package/chunks/{settings-KULVPCQC.js → settings-V7BR3RKP.js} +32 -28
- package/chunks/{shell-3SWW22MH.js → shell-23OMNMW6.js} +26 -22
- package/chunks/{skill-KDHWYS7W.js → skill-6HBDYZRS.js} +7 -5
- package/chunks/{skill-settings-NMY4JEJC.js → skill-settings-HWJLTU7M.js} +32 -28
- package/chunks/{spawnChannel-ZKS4Q5OU.js → spawnChannel-N6KKUW5B.js} +27 -23
- package/chunks/{standalone-update-7CXPGAQ4.js → standalone-update-QGIKHATD.js} +28 -24
- package/chunks/{startInteractiveUI-2QQLEKM6.js → startInteractiveUI-GX2CRL42.js} +365 -155
- package/chunks/{syntheticOutput-ZLCUTKO2.js → syntheticOutput-PEBJQYJV.js} +2 -2
- package/chunks/{task-create-CQP5UEA3.js → task-create-5NWCQSJF.js} +5 -4
- package/chunks/{task-list-XLEZOJXP.js → task-list-53265TRZ.js} +1 -1
- package/chunks/{task-stop-7ZQM5CFF.js → task-stop-FPCOIRYX.js} +1 -1
- package/chunks/{task-update-JA75U2SN.js → task-update-5HN577LS.js} +5 -4
- package/chunks/{team-create-2WTNGAOX.js → team-create-CFFKU7KL.js} +26 -22
- package/chunks/{team-delete-MHY3UZGY.js → team-delete-MMQB4OSC.js} +1 -1
- package/chunks/{team-plan-approval-LZTYLEG4.js → team-plan-approval-6EFOKR6A.js} +26 -22
- package/chunks/{terminal-image-renderer-R5HHAFJN.js → terminal-image-renderer-TLDNACQY.js} +28 -24
- package/chunks/{theme-manager-PAUCSJFF.js → theme-manager-5LJ3H7VO.js} +26 -22
- package/chunks/{todoWrite-UPVOHYGD.js → todoWrite-JGV6VLOX.js} +1 -1
- package/chunks/{tool-search-2BFCGLI6.js → tool-search-UJV3A24H.js} +9 -6
- package/chunks/{total-session-admission-MK4SINFK.js → total-session-admission-D63QYXGO.js} +29 -25
- package/chunks/{trustedFolders-TJ5S26N7.js → trustedFolders-KZCOB53W.js} +30 -24
- package/chunks/{update-relaunch-N7AYLARF.js → update-relaunch-IFILM3SA.js} +5 -5
- package/chunks/{updateCheck-QRZ3DVT5.js → updateCheck-YZ2CRCFC.js} +29 -25
- package/chunks/{useAutoAcceptIndicator-DBJ7Y5AF.js → useAutoAcceptIndicator-AXEVNA3Q.js} +35 -31
- package/chunks/{validateNonInterActiveAuth-6ZQWUDS3.js → validateNonInterActiveAuth-3WTOJFWA.js} +61 -57
- package/chunks/{version-AJQGQWXC.js → version-GXK7OHZY.js} +1 -1
- package/chunks/{web-fetch-QWJYRXFL.js → web-fetch-ILB4GAVR.js} +12 -8
- package/chunks/{web-search-2AOXJGHU.js → web-search-HKRPGPZZ.js} +8 -6
- package/chunks/{workflow-ERH3SJG2.js → workflow-FXIPRQQA.js} +750 -147
- package/chunks/{workspace-providers-status-HZ474RA4.js → workspace-providers-status-NYHC7HSR.js} +35 -31
- package/chunks/{workspace-registration-store-6EUP4JXG.js → workspace-registration-store-AKEB7OMW.js} +1 -1
- package/chunks/{workspace-registry-R4APRRNC.js → workspace-registry-CDAS5TVZ.js} +29 -25
- package/chunks/{workspace-service-HFIFDMU7.js → workspace-service-PAMUKMAV.js} +36 -32
- package/chunks/{workspace-skills-status-HAHEIHGK.js → workspace-skills-status-YQSHCCMS.js} +33 -29
- package/chunks/{workspace-trust-reconciler-65GTAGDK.js → workspace-trust-reconciler-RPTXOIY2.js} +36 -32
- package/chunks/{write-file-B34CDELV.js → write-file-CGS57TS4.js} +26 -22
- package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
- package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
- package/chunks/{zoom-image-HPRBZHSS.js → zoom-image-E7D72GYV.js} +6 -4
- package/cli.js +13 -13
- package/locales/ca.js +10 -0
- package/locales/de.js +9 -0
- package/locales/en.js +10 -0
- package/locales/fr.js +9 -0
- package/locales/ja.js +9 -0
- package/locales/pt.js +9 -0
- package/locales/ru.js +9 -0
- package/locales/zh-TW.js +10 -0
- package/locales/zh.js +10 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-Ip-FFDJ0.js → arc-DybZaz32.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-CChqgwIb.js → architectureDiagram-3BPJPVTR-jN3qBd19.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BHN-Tfss.js → blockDiagram-GPEHLZMM-Ct5DZPrj.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BhyjzDjN.js → c4Diagram-AAUBKEIU-CUAFMlUG.js} +1 -1
- package/web-shell/assets/channel-BMwLrwLW.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BB9eyHrx.js → chunk-2J33WTMH-CuV8n90B.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BeV7ce_J.js → chunk-4BX2VUAB-BUzl_kls.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DO7kXDiV.js → chunk-55IACEB6-BnDBLX6A.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-B27MPznD.js → chunk-727SXJPM-B83uTOjm.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DHIjqjD_.js → chunk-AQP2D5EJ-DM3HLgpT.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DabMqyN2.js → chunk-FMBD7UC4-CSQ5hgyb.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-Dw7Nnnxc.js → chunk-ND2GUHAM-BWOF4SxX.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DdaZew1Q.js → chunk-QZHKN3VN-BsOH9LMi.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-CgBpCYH5.js → cose-bilkent-S5V4N54A-IENqH2iJ.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BB4IU8G0.js → dagre-BM42HDAG--dyzDTGo.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BcUTHU37.js → diagram-2AECGRRQ-BE7Dcqof.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-B6Lyihyv.js → diagram-5GNKFQAL-Cr8-5OTj.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CRIJOjpG.js → diagram-KO2AKTUF-Bzey3uAY.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DdNiwWWT.js → diagram-LMA3HP47-sErl28Xb.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-Dz4b32Do.js → diagram-OG6HWLK6-Dq30ATIo.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-D-8NGw77.js → erDiagram-TEJ5UH35-BkCoEfVW.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Dun26LyM.js → flowDiagram-I6XJVG4X-DHwO0rrI.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-F10Hu1Gc.js → ganttDiagram-6RSMTGT7-s7vAPxWq.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js → gitGraphDiagram-PVQCEYII-CQxhwPOU.js} +1 -1
- package/web-shell/assets/index-Bckpjr-I.css +5 -0
- package/web-shell/assets/{index-BXqw-nGq.js → index-CF4wApWp.js} +1 -1
- package/web-shell/assets/index-DwEr9HEW.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DVgTMLvj.js → infoDiagram-5YYISTIA-BnFrD0bq.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-uT-KepvK.js → ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Vg_XadQf.js → journeyDiagram-JHISSGLW-CyGAhsxi.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Dyv1ESBE.js → kanban-definition-UN3LZRKU-CbsK5akB.js} +1 -1
- package/web-shell/assets/{linear-BMIepYX3.js → linear-cQsF4P8D.js} +1 -1
- package/web-shell/assets/{mermaid.core-zA8pJ9ag.js → mermaid.core-Z4HVqrKY.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BCW_BZ_5.js → mindmap-definition-RKZ34NQL-CYnrBo_f.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DseNEGp2.js → pieDiagram-4H26LBE5-CBzOfhrs.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js → quadrantDiagram-W4KKPZXB-D4LK1Ebn.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CVOlCRPf.js → requirementDiagram-4Y6WPE33-Bzti2Lcj.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CGhgrUJZ.js → sankeyDiagram-5OEKKPKP-yTBw5Z2s.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-dlqmpLuQ.js → sequenceDiagram-3UESZ5HK-D07UVRiZ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-B9EW10Xb.js → stateDiagram-AJRCARHV-UE_lHsTn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-BBRh0mgZ.js → timeline-definition-PNZ67QCA-DRvYdiTs.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-B8Gs-REP.js → vennDiagram-CIIHVFJN-CQLIXs0u.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-D_y80Ur7.js → wardley-L42UT6IY-JZz_Xqse.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D-CNfHJ-.js → wardleyDiagram-YWT4CUSO--i7BiJwB.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DQ5CvELo.js → xychartDiagram-2RQKCTM6-Bkc-bW0S.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-6PEXNQTX.js +0 -68
- package/chunks/chunk-IUFV6FYU.js +0 -81
- package/web-shell/assets/channel-Cu8qd6OB.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +0 -1
- package/web-shell/assets/index-QQlUCJGg.css +0 -5
- package/web-shell/assets/index-hcgjV7vS.js +0 -1768
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +0 -1
- package/chunks/{anthropicContentGenerator-DTMVEL5M.js → anthropicContentGenerator-SSFE2753.js} +9 -9
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
JsonOutputAdapter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WG6542MA.js";
|
|
6
6
|
import {
|
|
7
7
|
settleChatRecording,
|
|
8
8
|
subscribeToHeadlessChatRecordingFailures
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-U5SLIG7E.js";
|
|
10
10
|
import {
|
|
11
11
|
StreamJsonOutputAdapter
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-77QVBFCU.js";
|
|
13
13
|
import {
|
|
14
14
|
handleAtCommand
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FWBXMANW.js";
|
|
16
16
|
import {
|
|
17
17
|
buildInitialSystemReminders,
|
|
18
18
|
buildSystemMessage,
|
|
@@ -24,11 +24,11 @@ import {
|
|
|
24
24
|
insertAfterFunctionResponses,
|
|
25
25
|
isSlashCommand,
|
|
26
26
|
normalizePartList
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-YHJFF7KH.js";
|
|
28
28
|
import {
|
|
29
29
|
RunBudgetEnforcer,
|
|
30
30
|
cleanupReviewWorktreeLeases
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-7VUERJHS.js";
|
|
32
32
|
import {
|
|
33
33
|
AlreadyReportedError,
|
|
34
34
|
handleBudgetExceededError,
|
|
@@ -36,14 +36,13 @@ import {
|
|
|
36
36
|
handleError,
|
|
37
37
|
handleMaxTurnsExceededError,
|
|
38
38
|
handleToolError
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-IYES5WOT.js";
|
|
40
40
|
import {
|
|
41
41
|
isInlineModelOverrideAllowed
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-GBDINRIL.js";
|
|
43
43
|
import {
|
|
44
44
|
PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
|
|
45
45
|
buildSessionRecoveryPlanFromApiHistory,
|
|
46
|
-
canonicalToolName,
|
|
47
46
|
clampInlineMediaPart,
|
|
48
47
|
createDuplicateProviderToolCallResponse,
|
|
49
48
|
detectAutonomousSentinel,
|
|
@@ -57,7 +56,7 @@ import {
|
|
|
57
56
|
parseAndFormatApiError,
|
|
58
57
|
partitionByConcurrencySafety,
|
|
59
58
|
restoreWorktreeContext
|
|
60
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-GXSNGY5M.js";
|
|
61
60
|
import {
|
|
62
61
|
parsePositiveIntegerEnv
|
|
63
62
|
} from "./chunk-6PVPNMXU.js";
|
|
@@ -66,10 +65,10 @@ import {
|
|
|
66
65
|
} from "./chunk-O6GEWCJA.js";
|
|
67
66
|
import {
|
|
68
67
|
GoalPersistenceUnavailableError
|
|
69
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-67N6HB5H.js";
|
|
70
69
|
import {
|
|
71
70
|
isSystemReminderContent
|
|
72
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-IA7TGCN2.js";
|
|
73
72
|
import {
|
|
74
73
|
formatFullTurnVisionNotice,
|
|
75
74
|
formatVisionBridgeNotice,
|
|
@@ -79,10 +78,11 @@ import {
|
|
|
79
78
|
shouldRunVisionBridge,
|
|
80
79
|
splitImageParts,
|
|
81
80
|
uiTelemetryService
|
|
82
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-3PY4LPJF.js";
|
|
83
82
|
import {
|
|
84
|
-
ToolNames
|
|
85
|
-
|
|
83
|
+
ToolNames,
|
|
84
|
+
canonicalToolName
|
|
85
|
+
} from "./chunk-PYQADEFD.js";
|
|
86
86
|
import {
|
|
87
87
|
isTelemetrySdkInitialized,
|
|
88
88
|
shutdownTelemetry
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
} from "./chunk-OIVKILPI.js";
|
|
94
94
|
import {
|
|
95
95
|
registerCleanup
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-6TR7CFXH.js";
|
|
97
97
|
import {
|
|
98
98
|
init_esbuild_shims
|
|
99
99
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -104,6 +104,15 @@ import {
|
|
|
104
104
|
// packages/cli/src/nonInteractiveCli.ts
|
|
105
105
|
init_esbuild_shims();
|
|
106
106
|
var debugLogger = createDebugLogger("NON_INTERACTIVE_CLI");
|
|
107
|
+
var TurnInterruptedError = class extends Error {
|
|
108
|
+
static {
|
|
109
|
+
__name(this, "TurnInterruptedError");
|
|
110
|
+
}
|
|
111
|
+
constructor() {
|
|
112
|
+
super("Operation cancelled.");
|
|
113
|
+
this.name = "TurnInterruptedError";
|
|
114
|
+
}
|
|
115
|
+
};
|
|
107
116
|
var restoredBackgroundAgentSessions = /* @__PURE__ */ new WeakMap();
|
|
108
117
|
var STRUCTURED_SHUTDOWN_HOLDBACK_MS = 500;
|
|
109
118
|
function isHeadlessLoopSentinel(prompt) {
|
|
@@ -473,6 +482,9 @@ async function runNonInteractive(config, settings, input, prompt_id, options = {
|
|
|
473
482
|
await handleBudgetExceededError(config, exceeded);
|
|
474
483
|
throw new Error(exceeded.message);
|
|
475
484
|
}
|
|
485
|
+
if (options.recoverableCancellation === true && abortController.signal.reason instanceof TurnInterruptedError) {
|
|
486
|
+
throw abortController.signal.reason;
|
|
487
|
+
}
|
|
476
488
|
await handleCancellationError(config);
|
|
477
489
|
throw new Error("Operation cancelled.");
|
|
478
490
|
}, "routeAbort");
|
|
@@ -1836,7 +1848,8 @@ ${text}
|
|
|
1836
1848
|
flushQueuedNotificationsToSdk(localQueue);
|
|
1837
1849
|
finalizeOneShotMonitors();
|
|
1838
1850
|
const budgetExceeded = budgetEnforcer.getExceeded();
|
|
1839
|
-
const
|
|
1851
|
+
const recoverableCancellation = !budgetExceeded && options.recoverableCancellation === true && abortController.signal.reason instanceof TurnInterruptedError;
|
|
1852
|
+
const message = budgetExceeded ? budgetExceeded.message : recoverableCancellation ? abortController.signal.reason.message : error instanceof Error ? error.message : String(error);
|
|
1840
1853
|
const metrics = uiTelemetryService.getMetrics();
|
|
1841
1854
|
const usage = computeUsageFromMetrics(metrics);
|
|
1842
1855
|
const stats = outputFormat === "json" /* JSON */ ? uiTelemetryService.getMetrics() : void 0;
|
|
@@ -1863,6 +1876,9 @@ ${text}
|
|
|
1863
1876
|
if (budgetExceeded) {
|
|
1864
1877
|
await handleBudgetExceededError(config, budgetExceeded);
|
|
1865
1878
|
}
|
|
1879
|
+
if (recoverableCancellation) {
|
|
1880
|
+
return 130;
|
|
1881
|
+
}
|
|
1866
1882
|
await handleError(error, config);
|
|
1867
1883
|
} finally {
|
|
1868
1884
|
await failClosedActiveGoalTurn(
|
|
@@ -1910,6 +1926,7 @@ ${text}
|
|
|
1910
1926
|
__name(runNonInteractive, "runNonInteractive");
|
|
1911
1927
|
|
|
1912
1928
|
export {
|
|
1929
|
+
TurnInterruptedError,
|
|
1913
1930
|
skipHeadlessLoopSentinel,
|
|
1914
1931
|
runNonInteractive
|
|
1915
1932
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
formatHistoryGapNotice
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4ALIARFY.js";
|
|
6
6
|
import {
|
|
7
7
|
sanitizeTerminalText
|
|
8
8
|
} from "./chunk-4NFY2S7N.js";
|
|
@@ -19,15 +19,18 @@ import {
|
|
|
19
19
|
setGoalTerminalObserver,
|
|
20
20
|
setLastGoalTerminal,
|
|
21
21
|
unregisterGoalHook
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-GXSNGY5M.js";
|
|
23
|
+
import {
|
|
24
|
+
projectUserTranscriptForDisplay
|
|
25
|
+
} from "./chunk-67N6HB5H.js";
|
|
23
26
|
import {
|
|
24
27
|
apiActivityTracker,
|
|
25
28
|
formatVisionBridgeNoticeDisplay,
|
|
26
29
|
isVisionBridgeNoticeDisplay
|
|
27
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-3PY4LPJF.js";
|
|
28
31
|
import {
|
|
29
32
|
ToolNames
|
|
30
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-PYQADEFD.js";
|
|
31
34
|
import {
|
|
32
35
|
createDebugLogger
|
|
33
36
|
} from "./chunk-OIVKILPI.js";
|
|
@@ -695,21 +698,42 @@ init_esbuild_shims();
|
|
|
695
698
|
// packages/core/dist/src/goals/goal-protocol.js
|
|
696
699
|
init_esbuild_shims();
|
|
697
700
|
var GOAL_STATE_VERSION = 2;
|
|
701
|
+
var GOAL_CHECKPOINT_CLAIM_LIMIT = 32;
|
|
702
|
+
var GOAL_CHECKPOINT_CLAIM_MAX_CHARACTERS = 2e3;
|
|
703
|
+
var GOAL_CHECKPOINT_CLAIM_MAX_BYTES = 16e3;
|
|
704
|
+
var GOAL_CHECKPOINT_SOURCE_REFERENCE_LIMIT = 32;
|
|
705
|
+
function isGoalEvidenceProofKind(value) {
|
|
706
|
+
return value === "user_input" || value === "delivered_output" || value === "external_fact";
|
|
707
|
+
}
|
|
708
|
+
__name(isGoalEvidenceProofKind, "isGoalEvidenceProofKind");
|
|
698
709
|
|
|
699
710
|
// packages/core/dist/src/goals/goal-reducer.js
|
|
700
711
|
init_esbuild_shims();
|
|
701
712
|
var MAX_BLOCKED_AUDIT_COUNT = 3;
|
|
702
713
|
function parseGoalStateRecordPayloadV2(value) {
|
|
703
|
-
if (!isRecord(value) || !hasOnlyKeys(value, [
|
|
714
|
+
if (!isRecord(value) || !hasOnlyKeys(value, [
|
|
715
|
+
"v",
|
|
716
|
+
"cause",
|
|
717
|
+
"snapshot",
|
|
718
|
+
"checkpointPending",
|
|
719
|
+
"blockedAudit"
|
|
720
|
+
]) || value["v"] !== GOAL_STATE_VERSION || !isGoalStateCause(value["cause"]) || !isCheckpointPending(value["checkpointPending"]) || !isBlockedAudit(value["blockedAudit"])) {
|
|
704
721
|
return void 0;
|
|
705
722
|
}
|
|
706
723
|
const parsedSnapshot = parseGoalSnapshotV2(value["snapshot"]);
|
|
707
|
-
|
|
724
|
+
if (parsedSnapshot?.activity !== "idle")
|
|
725
|
+
return void 0;
|
|
726
|
+
const checkpointPending = value["checkpointPending"];
|
|
727
|
+
if (checkpointPending && (parsedSnapshot.goal?.status !== "active" || checkpointPending.permit.goalId !== parsedSnapshot.goal.goalId || checkpointPending.permit.revision !== parsedSnapshot.goal.revision || checkpointPending.recordUuid === parsedSnapshot.goal.evidenceCursor.recordId || value["cause"] !== "turn_finished" && value["cause"] !== "verifier_reject")) {
|
|
728
|
+
return void 0;
|
|
729
|
+
}
|
|
730
|
+
return {
|
|
708
731
|
v: GOAL_STATE_VERSION,
|
|
709
732
|
cause: value["cause"],
|
|
710
733
|
snapshot: parsedSnapshot,
|
|
734
|
+
...checkpointPending ? { checkpointPending: structuredClone(checkpointPending) } : {},
|
|
711
735
|
...value["blockedAudit"] ? { blockedAudit: structuredClone(value["blockedAudit"]) } : {}
|
|
712
|
-
}
|
|
736
|
+
};
|
|
713
737
|
}
|
|
714
738
|
__name(parseGoalStateRecordPayloadV2, "parseGoalStateRecordPayloadV2");
|
|
715
739
|
function parseGoalSnapshotV2(value) {
|
|
@@ -727,6 +751,10 @@ function parseGoalSnapshotV2(value) {
|
|
|
727
751
|
return goal ? { v: GOAL_STATE_VERSION, goal, activity: value["activity"] } : void 0;
|
|
728
752
|
}
|
|
729
753
|
__name(parseGoalSnapshotV2, "parseGoalSnapshotV2");
|
|
754
|
+
function parseGoalStateCause(value) {
|
|
755
|
+
return isGoalStateCause(value) ? value : void 0;
|
|
756
|
+
}
|
|
757
|
+
__name(parseGoalStateCause, "parseGoalStateCause");
|
|
730
758
|
function copyCursor(cursor) {
|
|
731
759
|
return { recordId: cursor.recordId };
|
|
732
760
|
}
|
|
@@ -742,8 +770,12 @@ function parseGoalRecord(value) {
|
|
|
742
770
|
"activeTimeMs",
|
|
743
771
|
"createdAt",
|
|
744
772
|
"updatedAt",
|
|
773
|
+
"evidenceCheckpoint",
|
|
745
774
|
"lastReason"
|
|
746
|
-
]) || typeof value["goalId"] !== "string" || !value["goalId"] || !isNonNegativeInteger(value["revision"]) || value["revision"] === 0 || typeof value["objective"] !== "string" || !value["objective"].trim() || !isGoalStatus(value["status"]) || !isTranscriptCursor(value["evidenceCursor"]) || !isNonNegativeInteger(value["turnCount"]) || !isNonNegativeNumber(value["activeTimeMs"]) || !isFiniteNumber(value["createdAt"]) || !isFiniteNumber(value["updatedAt"]) || value["lastReason"] !== void 0 && typeof value["lastReason"] !== "string") {
|
|
775
|
+
]) || typeof value["goalId"] !== "string" || !value["goalId"] || !isNonNegativeInteger(value["revision"]) || value["revision"] === 0 || typeof value["objective"] !== "string" || !value["objective"].trim() || !isGoalStatus(value["status"]) || !isTranscriptCursor(value["evidenceCursor"]) || !isNonNegativeInteger(value["turnCount"]) || !isNonNegativeNumber(value["activeTimeMs"]) || !isFiniteNumber(value["createdAt"]) || !isFiniteNumber(value["updatedAt"]) || !isGoalEvidenceCheckpoint(value["evidenceCheckpoint"]) || value["lastReason"] !== void 0 && typeof value["lastReason"] !== "string") {
|
|
776
|
+
return void 0;
|
|
777
|
+
}
|
|
778
|
+
if (value["evidenceCheckpoint"] && value["evidenceCursor"].recordId !== value["evidenceCheckpoint"].checkpointId) {
|
|
747
779
|
return void 0;
|
|
748
780
|
}
|
|
749
781
|
return {
|
|
@@ -756,6 +788,9 @@ function parseGoalRecord(value) {
|
|
|
756
788
|
activeTimeMs: value["activeTimeMs"],
|
|
757
789
|
createdAt: value["createdAt"],
|
|
758
790
|
updatedAt: value["updatedAt"],
|
|
791
|
+
...value["evidenceCheckpoint"] === void 0 ? {} : {
|
|
792
|
+
evidenceCheckpoint: structuredClone(value["evidenceCheckpoint"])
|
|
793
|
+
},
|
|
759
794
|
...value["lastReason"] === void 0 ? {} : { lastReason: value["lastReason"] }
|
|
760
795
|
};
|
|
761
796
|
}
|
|
@@ -773,9 +808,35 @@ function isGoalActivity(value) {
|
|
|
773
808
|
}
|
|
774
809
|
__name(isGoalActivity, "isGoalActivity");
|
|
775
810
|
function isGoalStateCause(value) {
|
|
776
|
-
return value === "create" || value === "replace" || value === "edit" || value === "pause" || value === "resume" || value === "turn_finished" || value === "verifier_accept" || value === "verifier_reject" || value === "complete" || value === "blocked" || value === "usage_limited" || value === "clear" || value === "migrated";
|
|
811
|
+
return value === "create" || value === "replace" || value === "edit" || value === "pause" || value === "resume" || value === "turn_finished" || value === "checkpoint" || value === "verifier_accept" || value === "verifier_reject" || value === "complete" || value === "blocked" || value === "usage_limited" || value === "clear" || value === "migrated";
|
|
777
812
|
}
|
|
778
813
|
__name(isGoalStateCause, "isGoalStateCause");
|
|
814
|
+
function isGoalEvidenceCheckpoint(value) {
|
|
815
|
+
if (value === void 0)
|
|
816
|
+
return true;
|
|
817
|
+
if (!isRecord(value) || !hasOnlyKeys(value, ["checkpointId", "createdAt", "claims"]) || typeof value["checkpointId"] !== "string" || value["checkpointId"].length === 0 || !isFiniteNumber(value["createdAt"]) || !Array.isArray(value["claims"]) || value["claims"].length === 0 || value["claims"].length > GOAL_CHECKPOINT_CLAIM_LIMIT) {
|
|
818
|
+
return false;
|
|
819
|
+
}
|
|
820
|
+
let checkpointBytes = 0;
|
|
821
|
+
for (const [index, claim] of value["claims"].entries()) {
|
|
822
|
+
if (!isRecord(claim) || !hasOnlyKeys(claim, ["id", "proofKind", "claim", "sourceRefs"]) || claim["id"] !== `${value["checkpointId"]}:${index + 1}` || !isGoalEvidenceProofKind(claim["proofKind"]) || typeof claim["claim"] !== "string" || claim["claim"].trim().length === 0 || [...claim["claim"]].length > GOAL_CHECKPOINT_CLAIM_MAX_CHARACTERS || !Array.isArray(claim["sourceRefs"]) || claim["sourceRefs"].length === 0 || claim["sourceRefs"].length > GOAL_CHECKPOINT_SOURCE_REFERENCE_LIMIT || new Set(claim["sourceRefs"]).size !== claim["sourceRefs"].length || claim["sourceRefs"].some((reference) => typeof reference !== "string" || reference.length === 0)) {
|
|
823
|
+
return false;
|
|
824
|
+
}
|
|
825
|
+
checkpointBytes += new TextEncoder().encode(claim["claim"]).byteLength;
|
|
826
|
+
if (checkpointBytes > GOAL_CHECKPOINT_CLAIM_MAX_BYTES)
|
|
827
|
+
return false;
|
|
828
|
+
}
|
|
829
|
+
return true;
|
|
830
|
+
}
|
|
831
|
+
__name(isGoalEvidenceCheckpoint, "isGoalEvidenceCheckpoint");
|
|
832
|
+
function isCheckpointPending(value) {
|
|
833
|
+
return value === void 0 || isRecord(value) && hasOnlyKeys(value, ["permit", "recordUuid"]) && isGoalTurnPermit(value["permit"]) && typeof value["recordUuid"] === "string" && value["recordUuid"].length > 0;
|
|
834
|
+
}
|
|
835
|
+
__name(isCheckpointPending, "isCheckpointPending");
|
|
836
|
+
function isGoalTurnPermit(value) {
|
|
837
|
+
return isRecord(value) && hasOnlyKeys(value, ["goalId", "revision", "turnId"]) && typeof value["goalId"] === "string" && value["goalId"].length > 0 && isNonNegativeInteger(value["revision"]) && value["revision"] > 0 && typeof value["turnId"] === "string" && value["turnId"].length > 0;
|
|
838
|
+
}
|
|
839
|
+
__name(isGoalTurnPermit, "isGoalTurnPermit");
|
|
779
840
|
function isBlockedAudit(value) {
|
|
780
841
|
return value === void 0 || isRecord(value) && hasOnlyKeys(value, ["fingerprint", "count", "turnIds"]) && typeof value["fingerprint"] === "string" && value["fingerprint"].length > 0 && isNonNegativeInteger(value["count"]) && value["count"] > 0 && value["count"] <= MAX_BLOCKED_AUDIT_COUNT && Array.isArray(value["turnIds"]) && value["turnIds"].length === value["count"] && value["turnIds"].every((turnId) => typeof turnId === "string" && turnId.length > 0);
|
|
781
842
|
}
|
|
@@ -835,6 +896,24 @@ function projectGoalStateToLegacy(payload, previousGoal = null) {
|
|
|
835
896
|
};
|
|
836
897
|
}
|
|
837
898
|
__name(projectGoalStateToLegacy, "projectGoalStateToLegacy");
|
|
899
|
+
function isGoalCheckpointBookkeepingTransition(previous, next) {
|
|
900
|
+
const previousGoal = previous?.goal;
|
|
901
|
+
const nextGoal = next.goal;
|
|
902
|
+
if (!previousGoal || !nextGoal)
|
|
903
|
+
return false;
|
|
904
|
+
return previousGoal.goalId === nextGoal.goalId && previousGoal.revision === nextGoal.revision && previousGoal.objective === nextGoal.objective && previousGoal.status === nextGoal.status && previousGoal.turnCount === nextGoal.turnCount && previousGoal.createdAt === nextGoal.createdAt && previousGoal.lastReason === nextGoal.lastReason;
|
|
905
|
+
}
|
|
906
|
+
__name(isGoalCheckpointBookkeepingTransition, "isGoalCheckpointBookkeepingTransition");
|
|
907
|
+
function isGoalCheckpointBookkeepingCause(cause, previousCause) {
|
|
908
|
+
if (cause === "checkpoint")
|
|
909
|
+
return true;
|
|
910
|
+
return cause === "verifier_reject" && (previousCause === "verifier_reject" || previousCause === "checkpoint");
|
|
911
|
+
}
|
|
912
|
+
__name(isGoalCheckpointBookkeepingCause, "isGoalCheckpointBookkeepingCause");
|
|
913
|
+
function isGoalCheckpointBookkeepingRecord(input) {
|
|
914
|
+
return isGoalCheckpointBookkeepingTransition(input.previous, input.next) && isGoalCheckpointBookkeepingCause(input.cause, input.previousCause);
|
|
915
|
+
}
|
|
916
|
+
__name(isGoalCheckpointBookkeepingRecord, "isGoalCheckpointBookkeepingRecord");
|
|
838
917
|
function legacyStatusKind(payload) {
|
|
839
918
|
switch (payload.cause) {
|
|
840
919
|
case "create":
|
|
@@ -853,6 +932,7 @@ function legacyStatusKind(payload) {
|
|
|
853
932
|
case "usage_limited":
|
|
854
933
|
return "aborted";
|
|
855
934
|
case "turn_finished":
|
|
935
|
+
case "checkpoint":
|
|
856
936
|
case "verifier_accept":
|
|
857
937
|
case "verifier_reject":
|
|
858
938
|
return payload.snapshot.goal?.status === "complete" ? "achieved" : payload.snapshot.goal?.status === "blocked" || payload.snapshot.goal?.status === "usage_limited" ? "aborted" : "checking";
|
|
@@ -866,27 +946,6 @@ function assertNever(value) {
|
|
|
866
946
|
}
|
|
867
947
|
__name(assertNever, "assertNever");
|
|
868
948
|
|
|
869
|
-
// packages/core/dist/src/hooks/user-prompt-submit-context.js
|
|
870
|
-
init_esbuild_shims();
|
|
871
|
-
var USER_PROMPT_SUBMIT_CONTEXT_OPEN_TAG = "<qwen:user-prompt-submit-context>";
|
|
872
|
-
var USER_PROMPT_SUBMIT_CONTEXT_CLOSE_TAG = "</qwen:user-prompt-submit-context>";
|
|
873
|
-
function isUserPromptSubmitContextPartText(text) {
|
|
874
|
-
const trimmed = text.trim();
|
|
875
|
-
return trimmed.startsWith(USER_PROMPT_SUBMIT_CONTEXT_OPEN_TAG) && trimmed.endsWith(USER_PROMPT_SUBMIT_CONTEXT_CLOSE_TAG) && trimmed.length >= USER_PROMPT_SUBMIT_CONTEXT_OPEN_TAG.length + USER_PROMPT_SUBMIT_CONTEXT_CLOSE_TAG.length;
|
|
876
|
-
}
|
|
877
|
-
__name(isUserPromptSubmitContextPartText, "isUserPromptSubmitContextPartText");
|
|
878
|
-
function stripTrailingUserPromptSubmitContextPart(parts) {
|
|
879
|
-
if (parts.length <= 1) {
|
|
880
|
-
return parts;
|
|
881
|
-
}
|
|
882
|
-
const last = parts[parts.length - 1];
|
|
883
|
-
if (!last || typeof last.text !== "string" || !isUserPromptSubmitContextPartText(last.text)) {
|
|
884
|
-
return parts;
|
|
885
|
-
}
|
|
886
|
-
return parts.slice(0, -1);
|
|
887
|
-
}
|
|
888
|
-
__name(stripTrailingUserPromptSubmitContextPart, "stripTrailingUserPromptSubmitContextPart");
|
|
889
|
-
|
|
890
949
|
// packages/acp-bridge/src/transcript-replay.ts
|
|
891
950
|
var MISSING_TRANSCRIPT_TOOL_RESULT_MESSAGE = "Tool result missing from saved history; the previous run likely ended before this tool completed.";
|
|
892
951
|
var TRANSCRIPT_GOAL_STATUS_KINDS = /* @__PURE__ */ new Set([
|
|
@@ -901,6 +960,25 @@ function isObjectRecord(value) {
|
|
|
901
960
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
902
961
|
}
|
|
903
962
|
__name(isObjectRecord, "isObjectRecord");
|
|
963
|
+
function replaceTextPartsForDisplay(parts, displayText) {
|
|
964
|
+
const projected = [];
|
|
965
|
+
let replacedText = false;
|
|
966
|
+
for (const part of parts ?? []) {
|
|
967
|
+
if (isObjectRecord(part) && typeof part["text"] === "string") {
|
|
968
|
+
if (!replacedText && displayText.length > 0) {
|
|
969
|
+
projected.push({ text: displayText });
|
|
970
|
+
}
|
|
971
|
+
replacedText = true;
|
|
972
|
+
} else {
|
|
973
|
+
projected.push(part);
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
if (!replacedText && displayText.length > 0) {
|
|
977
|
+
projected.push({ text: displayText });
|
|
978
|
+
}
|
|
979
|
+
return projected;
|
|
980
|
+
}
|
|
981
|
+
__name(replaceTextPartsForDisplay, "replaceTextPartsForDisplay");
|
|
904
982
|
function toTranscriptEpochMs(timestamp) {
|
|
905
983
|
if (typeof timestamp === "number") {
|
|
906
984
|
return Number.isFinite(timestamp) ? timestamp : void 0;
|
|
@@ -1060,6 +1138,7 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1060
1138
|
);
|
|
1061
1139
|
this.usage = { ...initialState.cumulativeUsage };
|
|
1062
1140
|
this.goalState = initialState.goalState;
|
|
1141
|
+
this.goalCause = initialState.goalCause;
|
|
1063
1142
|
for (const pending of initialState.pendingToolCalls) {
|
|
1064
1143
|
this.pendingToolCalls.set(pending.callId, pending);
|
|
1065
1144
|
this.usedToolCallIds.add(pending.callId);
|
|
@@ -1079,6 +1158,7 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1079
1158
|
usage;
|
|
1080
1159
|
finalized = false;
|
|
1081
1160
|
goalState;
|
|
1161
|
+
goalCause;
|
|
1082
1162
|
*project(record) {
|
|
1083
1163
|
if (this.finalized) {
|
|
1084
1164
|
throw new Error(
|
|
@@ -1167,16 +1247,17 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1167
1247
|
...pending
|
|
1168
1248
|
})),
|
|
1169
1249
|
cumulativeUsage: { ...this.usage },
|
|
1170
|
-
...this.goalState ? { goalState: this.goalState } : {}
|
|
1250
|
+
...this.goalState ? { goalState: this.goalState } : {},
|
|
1251
|
+
...this.goalCause ? { goalCause: this.goalCause } : {}
|
|
1171
1252
|
};
|
|
1172
1253
|
}
|
|
1173
1254
|
*projectUserRecord(record, emit, meta) {
|
|
1255
|
+
const payload = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
|
|
1174
1256
|
if (record.subtype === "goal_runtime" || record.subtype === "notification" || record.subtype === "cron" || record.subtype === "mid_turn_user_message") {
|
|
1175
|
-
const payload = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
|
|
1176
1257
|
const displayText = payload && typeof payload["displayText"] === "string" ? payload["displayText"] : void 0;
|
|
1177
|
-
const backgroundTask = payload && isObjectRecord(payload["backgroundTask"]) ? payload["backgroundTask"] : void 0;
|
|
1178
1258
|
if (displayText) {
|
|
1179
1259
|
const isNotification = record.subtype === "notification";
|
|
1260
|
+
const backgroundTask = payload && isObjectRecord(payload["backgroundTask"]) ? payload["backgroundTask"] : void 0;
|
|
1180
1261
|
yield emit(
|
|
1181
1262
|
createTranscriptMessageUpdate({
|
|
1182
1263
|
role: "user",
|
|
@@ -1194,80 +1275,30 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1194
1275
|
return;
|
|
1195
1276
|
}
|
|
1196
1277
|
if (record.subtype !== "mid_turn_user_message") return;
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
|
|
1278
|
+
}
|
|
1279
|
+
const projection = projectUserTranscriptForDisplay(record);
|
|
1280
|
+
if (projection.displayText !== void 0) {
|
|
1200
1281
|
yield* this.projectMessageParts(
|
|
1201
|
-
|
|
1282
|
+
record,
|
|
1202
1283
|
"user",
|
|
1203
1284
|
emit,
|
|
1204
|
-
meta
|
|
1285
|
+
meta,
|
|
1286
|
+
void 0,
|
|
1287
|
+
replaceTextPartsForDisplay(
|
|
1288
|
+
record.message?.parts,
|
|
1289
|
+
projection.displayText
|
|
1290
|
+
)
|
|
1205
1291
|
);
|
|
1206
1292
|
return;
|
|
1207
1293
|
}
|
|
1208
|
-
yield* this.projectMessageParts(
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
const parts = record.message?.parts;
|
|
1217
|
-
if (!Array.isArray(parts)) {
|
|
1218
|
-
return record;
|
|
1219
|
-
}
|
|
1220
|
-
const nextParts = stripTrailingUserPromptSubmitContextPart(parts);
|
|
1221
|
-
if (nextParts === parts) {
|
|
1222
|
-
return record;
|
|
1223
|
-
}
|
|
1224
|
-
return {
|
|
1225
|
-
...record,
|
|
1226
|
-
message: {
|
|
1227
|
-
...record.message,
|
|
1228
|
-
parts: [...nextParts]
|
|
1229
|
-
}
|
|
1230
|
-
};
|
|
1231
|
-
}
|
|
1232
|
-
/**
|
|
1233
|
-
* Rebuilds a plain user record for display: strip trailing tagged hook
|
|
1234
|
-
* context, then replace every text part with a single `displayText` part at
|
|
1235
|
-
* the first text position so images keep their relative order.
|
|
1236
|
-
*/
|
|
1237
|
-
withUserPromptDisplayText(record, displayText) {
|
|
1238
|
-
const stripped = this.withoutTrailingUserPromptSubmitContext(record);
|
|
1239
|
-
const parts = stripped.message?.parts;
|
|
1240
|
-
if (!Array.isArray(parts) || parts.length === 0) {
|
|
1241
|
-
return {
|
|
1242
|
-
...stripped,
|
|
1243
|
-
message: {
|
|
1244
|
-
...stripped.message,
|
|
1245
|
-
parts: [{ text: displayText }]
|
|
1246
|
-
}
|
|
1247
|
-
};
|
|
1248
|
-
}
|
|
1249
|
-
let replaced = false;
|
|
1250
|
-
const nextParts = [];
|
|
1251
|
-
for (const part of parts) {
|
|
1252
|
-
if (isObjectRecord(part) && typeof part["text"] === "string") {
|
|
1253
|
-
if (!replaced) {
|
|
1254
|
-
nextParts.push({ text: displayText });
|
|
1255
|
-
replaced = true;
|
|
1256
|
-
}
|
|
1257
|
-
continue;
|
|
1258
|
-
}
|
|
1259
|
-
nextParts.push(part);
|
|
1260
|
-
}
|
|
1261
|
-
if (!replaced) {
|
|
1262
|
-
nextParts.push({ text: displayText });
|
|
1263
|
-
}
|
|
1264
|
-
return {
|
|
1265
|
-
...stripped,
|
|
1266
|
-
message: {
|
|
1267
|
-
...stripped.message,
|
|
1268
|
-
parts: nextParts
|
|
1269
|
-
}
|
|
1270
|
-
};
|
|
1294
|
+
yield* this.projectMessageParts(
|
|
1295
|
+
record,
|
|
1296
|
+
"user",
|
|
1297
|
+
emit,
|
|
1298
|
+
meta,
|
|
1299
|
+
void 0,
|
|
1300
|
+
projection.parts
|
|
1301
|
+
);
|
|
1271
1302
|
}
|
|
1272
1303
|
*projectAssistantRecord(record, emit, meta) {
|
|
1273
1304
|
const usageMetadata = isObjectRecord(record.usageMetadata) ? record.usageMetadata : void 0;
|
|
@@ -1288,8 +1319,8 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1288
1319
|
const trailingUsage = takeUsageUpdate();
|
|
1289
1320
|
if (trailingUsage) yield emit(trailingUsage);
|
|
1290
1321
|
}
|
|
1291
|
-
*projectMessageParts(record, role, emit, meta, beforeToolCall) {
|
|
1292
|
-
const parts = record.message?.parts;
|
|
1322
|
+
*projectMessageParts(record, role, emit, meta, beforeToolCall, partsOverride) {
|
|
1323
|
+
const parts = partsOverride ?? record.message?.parts;
|
|
1293
1324
|
if (!parts) return;
|
|
1294
1325
|
for (let partIndex = 0; partIndex < parts.length; partIndex += 1) {
|
|
1295
1326
|
const part = parts[partIndex];
|
|
@@ -1443,11 +1474,19 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
1443
1474
|
);
|
|
1444
1475
|
return;
|
|
1445
1476
|
}
|
|
1477
|
+
const bookkeepingOnly = isGoalCheckpointBookkeepingRecord({
|
|
1478
|
+
cause: payload2.cause,
|
|
1479
|
+
previousCause: this.goalCause,
|
|
1480
|
+
previous: this.goalState,
|
|
1481
|
+
next: payload2.snapshot
|
|
1482
|
+
});
|
|
1446
1483
|
const projection = projectGoalStateToLegacy(
|
|
1447
1484
|
payload2,
|
|
1448
1485
|
this.goalState?.goal ?? null
|
|
1449
1486
|
);
|
|
1450
1487
|
this.goalState = payload2.snapshot;
|
|
1488
|
+
this.goalCause = payload2.cause;
|
|
1489
|
+
if (bookkeepingOnly) return;
|
|
1451
1490
|
const { type: _type, ...goalStatus } = projection.goalStatus;
|
|
1452
1491
|
yield emit(
|
|
1453
1492
|
createTranscriptMessageUpdate({
|
|
@@ -1685,6 +1724,16 @@ function parseInitialState(value, onDiagnostic) {
|
|
|
1685
1724
|
affectsCompleteness: true
|
|
1686
1725
|
});
|
|
1687
1726
|
}
|
|
1727
|
+
const rawGoalCause = value["goalCause"];
|
|
1728
|
+
const goalCause = rawGoalCause === void 0 ? void 0 : parseGoalStateCause(rawGoalCause);
|
|
1729
|
+
if (rawGoalCause !== void 0 && !goalCause) {
|
|
1730
|
+
onDiagnostic?.({
|
|
1731
|
+
code: "invalid_replay_state",
|
|
1732
|
+
severity: "warning",
|
|
1733
|
+
message: "Dropped a malformed Goal cause from replay state.",
|
|
1734
|
+
affectsCompleteness: true
|
|
1735
|
+
});
|
|
1736
|
+
}
|
|
1688
1737
|
return {
|
|
1689
1738
|
v: 1,
|
|
1690
1739
|
pendingToolCalls,
|
|
@@ -1694,7 +1743,8 @@ function parseInitialState(value, onDiagnostic) {
|
|
|
1694
1743
|
candidateTokens: usage["candidateTokens"],
|
|
1695
1744
|
apiTimeMs: usage["apiTimeMs"]
|
|
1696
1745
|
} : emptyUsage(),
|
|
1697
|
-
...goalState ? { goalState } : {}
|
|
1746
|
+
...goalState ? { goalState } : {},
|
|
1747
|
+
...goalCause ? { goalCause } : {}
|
|
1698
1748
|
};
|
|
1699
1749
|
}
|
|
1700
1750
|
__name(parseInitialState, "parseInitialState");
|
|
@@ -1894,6 +1944,13 @@ __name(dedupeStrings, "dedupeStrings");
|
|
|
1894
1944
|
// packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts
|
|
1895
1945
|
init_esbuild_shims();
|
|
1896
1946
|
|
|
1947
|
+
// packages/cli/src/acp-integration/session/types.ts
|
|
1948
|
+
init_esbuild_shims();
|
|
1949
|
+
function hasFullSessionContext(context) {
|
|
1950
|
+
return "config" in context;
|
|
1951
|
+
}
|
|
1952
|
+
__name(hasFullSessionContext, "hasFullSessionContext");
|
|
1953
|
+
|
|
1897
1954
|
// packages/cli/src/acp-integration/session/emitters/base-emitter.ts
|
|
1898
1955
|
init_esbuild_shims();
|
|
1899
1956
|
var BaseEmitter = class {
|
|
@@ -2088,6 +2145,19 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
2088
2145
|
}
|
|
2089
2146
|
})
|
|
2090
2147
|
);
|
|
2148
|
+
if (!Number.isFinite(durationMs) || subagentMeta || !hasFullSessionContext(this.ctx)) {
|
|
2149
|
+
return;
|
|
2150
|
+
}
|
|
2151
|
+
const used = usageMetadata.promptTokenCount ?? usageMetadata.totalTokenCount;
|
|
2152
|
+
const size = this.ctx.config.getContentGeneratorConfig()?.contextWindowSize;
|
|
2153
|
+
if (typeof used !== "number" || !Number.isSafeInteger(used) || used < 0 || typeof size !== "number" || !Number.isSafeInteger(size) || size <= 0) {
|
|
2154
|
+
return;
|
|
2155
|
+
}
|
|
2156
|
+
await this.sendUpdate({
|
|
2157
|
+
sessionUpdate: "usage_update",
|
|
2158
|
+
used,
|
|
2159
|
+
size
|
|
2160
|
+
});
|
|
2091
2161
|
}
|
|
2092
2162
|
/**
|
|
2093
2163
|
* Emits a message chunk based on role and thought flag.
|
|
@@ -2154,15 +2224,6 @@ var PlanEmitter = class extends BaseEmitter {
|
|
|
2154
2224
|
|
|
2155
2225
|
// packages/cli/src/acp-integration/session/emitters/tool-call-emitter.ts
|
|
2156
2226
|
init_esbuild_shims();
|
|
2157
|
-
|
|
2158
|
-
// packages/cli/src/acp-integration/session/types.ts
|
|
2159
|
-
init_esbuild_shims();
|
|
2160
|
-
function hasFullSessionContext(context) {
|
|
2161
|
-
return "config" in context;
|
|
2162
|
-
}
|
|
2163
|
-
__name(hasFullSessionContext, "hasFullSessionContext");
|
|
2164
|
-
|
|
2165
|
-
// packages/cli/src/acp-integration/session/emitters/tool-call-emitter.ts
|
|
2166
2227
|
var KIND_MAP = {
|
|
2167
2228
|
["read" /* Read */]: "read",
|
|
2168
2229
|
["edit" /* Edit */]: "edit",
|
|
@@ -2556,7 +2617,8 @@ var HistoryReplayer = class {
|
|
|
2556
2617
|
candidateTokens: 0,
|
|
2557
2618
|
apiTimeMs: 0
|
|
2558
2619
|
},
|
|
2559
|
-
...options.goalState ? { goalState: options.goalState } : {}
|
|
2620
|
+
...options.goalState ? { goalState: options.goalState } : {},
|
|
2621
|
+
...options.goalCause ? { goalCause: options.goalCause } : {}
|
|
2560
2622
|
};
|
|
2561
2623
|
return createTranscriptReplayMachine({
|
|
2562
2624
|
initialState,
|
|
@@ -2869,7 +2931,7 @@ async function extractMetadata(conversation, config) {
|
|
|
2869
2931
|
const gitBranch = firstRecord?.gitBranch;
|
|
2870
2932
|
let gitRepo;
|
|
2871
2933
|
if (cwd) {
|
|
2872
|
-
const { getGitRepoName } = await import("./deferred-core-runtime-
|
|
2934
|
+
const { getGitRepoName } = await import("./deferred-core-runtime-CBMSHPAU.js");
|
|
2873
2935
|
gitRepo = getGitRepoName(cwd);
|
|
2874
2936
|
}
|
|
2875
2937
|
let model;
|
|
@@ -3759,11 +3821,6 @@ export {
|
|
|
3759
3821
|
* Copyright 2025 Qwen Team
|
|
3760
3822
|
* SPDX-License-Identifier: Apache-2.0
|
|
3761
3823
|
*/
|
|
3762
|
-
/**
|
|
3763
|
-
* @license
|
|
3764
|
-
* Copyright 2025 Qwen Code
|
|
3765
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
3766
|
-
*/
|
|
3767
3824
|
/**
|
|
3768
3825
|
* @license
|
|
3769
3826
|
* Copyright 2025 Qwen
|