@qwen-code/qwen-code 0.21.7 → 0.21.8-nightly.20260810.55e20db328

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.
Files changed (334) hide show
  1. package/README.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +73 -59
  3. package/bundled/qc-helper/docs/extension/introduction.md +15 -1
  4. package/bundled/qc-helper/docs/features/channels/dingtalk.md +40 -2
  5. package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
  6. package/bundled/qc-helper/docs/features/channels/github.md +13 -11
  7. package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
  8. package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
  9. package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
  10. package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
  11. package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
  12. package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
  13. package/bundled/qc-helper/docs/features/code-review.md +4 -0
  14. package/bundled/qc-helper/docs/features/commands.md +1 -1
  15. package/bundled/qc-helper/docs/features/hooks.md +52 -0
  16. package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
  17. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
  18. package/bundled/qc-helper/docs/qwen-serve.md +10 -5
  19. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
  20. package/bundled/review/SKILL.md +32 -5
  21. package/chunks/{MaxSizedBox-ANWZBPTS.js → MaxSizedBox-A52T4GEU.js} +29 -25
  22. package/chunks/{StandaloneSessionPicker-XKS3VU3A.js → StandaloneSessionPicker-4J654SOB.js} +48 -44
  23. package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
  24. package/chunks/{acpAgent-KUAZ3GCZ.js → acpAgent-65AM4AOR.js} +1833 -843
  25. package/chunks/{agent-T6PTGX5R.js → agent-SVQ7U7NJ.js} +28 -24
  26. package/chunks/{agent-headless-PR7YCB7S.js → agent-headless-XXGY2SQO.js} +28 -24
  27. package/chunks/{artifact-tool-U4VOZIK5.js → artifact-tool-N652YE4L.js} +1 -1
  28. package/chunks/{askUserQuestion-XOBQLPFA.js → askUserQuestion-ONW74PKJ.js} +1 -1
  29. package/chunks/{bridge-NU6YEEHK.js → bridge-Y32B5S3G.js} +34 -30
  30. package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
  31. package/chunks/{channel-management-service-FSQ7SHYI.js → channel-management-service-PHELKOW2.js} +19 -10
  32. package/chunks/{channel-settings-store-35VQVUVV.js → channel-settings-store-OW43U6VB.js} +36 -32
  33. package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-MSHT6CWR.js} +7 -7
  34. package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-XXD3GDSK.js} +7 -7
  35. package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-IVSDIMI4.js} +4 -4
  36. package/chunks/{chunk-HYRDKNUY.js → chunk-2545EHZR.js} +1 -1
  37. package/chunks/{chunk-SPMY6CX6.js → chunk-2ASQDZSJ.js} +3 -3
  38. package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
  39. package/chunks/{chunk-CNIID3TV.js → chunk-2UUMVNYT.js} +1 -1
  40. package/chunks/{chunk-KXSDEOFU.js → chunk-3KJQZEN3.js} +1 -1
  41. package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
  42. package/chunks/{chunk-Y7E5LNLO.js → chunk-47ZUMGGY.js} +2634 -2114
  43. package/chunks/{chunk-LA7YLSR6.js → chunk-4EOURKA4.js} +839 -153
  44. package/chunks/chunk-4JRM2BSM.js +48 -0
  45. package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
  46. package/chunks/{chunk-L4N6TIP7.js → chunk-4TRQPFDP.js} +4 -2
  47. package/chunks/{chunk-6XJMFJ4D.js → chunk-5WZL724W.js} +177 -120
  48. package/chunks/{chunk-23RZCH76.js → chunk-5ZTS3OQ3.js} +3 -3
  49. package/chunks/{chunk-VWOVHOTT.js → chunk-67EWJE77.js} +1 -1
  50. package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
  51. package/chunks/{chunk-CXE7E23H.js → chunk-6Q5ABMTU.js} +45 -17
  52. package/chunks/{chunk-NG2R4N5O.js → chunk-6ZRFAKXK.js} +1 -1
  53. package/chunks/{chunk-RERATVSK.js → chunk-7XX5IBXL.js} +145 -10
  54. package/chunks/{chunk-S7CV4KO6.js → chunk-AKJQSWV4.js} +4 -4
  55. package/chunks/{chunk-5KH532V7.js → chunk-AUWN7BAG.js} +1 -1
  56. package/chunks/{chunk-DBOFL3LQ.js → chunk-BL65MO72.js} +10 -10
  57. package/chunks/{chunk-AKA24BGO.js → chunk-BT6GQIEJ.js} +1 -1
  58. package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
  59. package/chunks/{chunk-2M5N3DHY.js → chunk-CMOBWHWW.js} +1 -1
  60. package/chunks/chunk-COBO5EBO.js +135 -0
  61. package/chunks/chunk-CPG6P4GG.js +82 -0
  62. package/chunks/{chunk-3NB7TSE2.js → chunk-D2D7J3EW.js} +1 -1
  63. package/chunks/{chunk-NLREQJFK.js → chunk-DA4HRSBW.js} +15 -0
  64. package/chunks/{chunk-RNVQB725.js → chunk-DPMJLKUP.js} +2 -2
  65. package/chunks/{chunk-DIEFUBV6.js → chunk-DX3RGJMS.js} +218 -37
  66. package/chunks/{chunk-33ACCIIY.js → chunk-DZUO626D.js} +1 -1
  67. package/chunks/chunk-E2FPSSKP.js +244 -0
  68. package/chunks/{chunk-72LNFGUY.js → chunk-E2N554HK.js} +3 -3
  69. package/chunks/{chunk-6EOI4HOK.js → chunk-E2T7FLDU.js} +12 -17
  70. package/chunks/{chunk-EUQTXRKZ.js → chunk-EISUQQPS.js} +6 -6
  71. package/chunks/{chunk-H2UQ2M5Z.js → chunk-EUVOKP6Y.js} +96 -22
  72. package/chunks/{chunk-RMH5OWLD.js → chunk-F3II4BTZ.js} +1 -1
  73. package/chunks/{chunk-P3LEG54R.js → chunk-F6TUUA2U.js} +3 -3
  74. package/chunks/chunk-F6WFNA7U.js +22 -0
  75. package/chunks/{chunk-RZHU3ILK.js → chunk-FAD7OC7V.js} +4 -4
  76. package/chunks/{chunk-OMKQH5C5.js → chunk-FWWQIFDT.js} +6 -23
  77. package/chunks/{chunk-TLV2IMHR.js → chunk-FYB4GIDW.js} +3 -3
  78. package/chunks/{chunk-ZJ3VGYHK.js → chunk-GY24H6IA.js} +40 -22
  79. package/chunks/{chunk-P2AJ7FTI.js → chunk-H4JC7LZX.js} +1 -1
  80. package/chunks/{chunk-55LYDVPU.js → chunk-HDYQYYWB.js} +1 -1
  81. package/chunks/{chunk-PQBHU2IA.js → chunk-HKI3KHAO.js} +11 -11
  82. package/chunks/{chunk-Y4NGLFGJ.js → chunk-HUWENAHO.js} +1 -1
  83. package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
  84. package/chunks/{chunk-CSZEXZBE.js → chunk-HWXGX534.js} +3 -3
  85. package/chunks/{chunk-E33LOKRA.js → chunk-I5VM3SKY.js} +22 -5
  86. package/chunks/{chunk-LZC3B5N2.js → chunk-IA7TGCN2.js} +2 -2
  87. package/chunks/{chunk-RGSBTHSU.js → chunk-KMS57JDD.js} +137 -7
  88. package/chunks/{chunk-VOARQPTA.js → chunk-KP25NJNM.js} +65 -21
  89. package/chunks/{chunk-6M26GBKX.js → chunk-L2AFWWJE.js} +42 -3
  90. package/chunks/{chunk-ZXU5UHMI.js → chunk-LHEC5V6G.js} +2 -2
  91. package/chunks/{chunk-J26HHFI5.js → chunk-LP2QGNSP.js} +32 -2
  92. package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
  93. package/chunks/{chunk-MKVZE4ZJ.js → chunk-MFDYOYZZ.js} +3 -2
  94. package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
  95. package/chunks/{chunk-YHEEE624.js → chunk-NV3F44FL.js} +7 -3
  96. package/chunks/{chunk-6GONZVLS.js → chunk-NZMXUSKS.js} +1 -1
  97. package/chunks/{chunk-HQB2KUAN.js → chunk-O277O7U6.js} +1 -1
  98. package/chunks/{chunk-Y4EWSQF7.js → chunk-OBP6QWD5.js} +2 -2
  99. package/chunks/{chunk-CYR3HI5X.js → chunk-OQTXYMKW.js} +2 -2
  100. package/chunks/{chunk-TYKC75AX.js → chunk-OR6R3IUW.js} +2 -2
  101. package/chunks/{chunk-TRLYP7OF.js → chunk-OSVH4SMN.js} +16 -141
  102. package/chunks/{chunk-FPM27XN4.js → chunk-OW2BWT2P.js} +4 -4
  103. package/chunks/{chunk-TDXGKHDN.js → chunk-P5ULXPK5.js} +2 -2
  104. package/chunks/{chunk-24ER7UV4.js → chunk-PBRVUF5B.js} +1 -1
  105. package/chunks/{chunk-LKRMNRSN.js → chunk-PDPFQ2FO.js} +2 -0
  106. package/chunks/{chunk-2VSTGY6M.js → chunk-PJRW65JO.js} +1 -1
  107. package/chunks/{chunk-6HVUFDS2.js → chunk-PNVPFARW.js} +22 -13
  108. package/chunks/{chunk-IC4Z6LX6.js → chunk-PYQADEFD.js} +5 -0
  109. package/chunks/chunk-R4ZA6GBK.js +208 -0
  110. package/chunks/{chunk-KR4ZSC7K.js → chunk-RMPLEWF3.js} +3 -3
  111. package/chunks/{chunk-EORNAQDT.js → chunk-RQ6U2JJQ.js} +1 -1
  112. package/chunks/{chunk-AE77C5ZU.js → chunk-RYQMJCUO.js} +1 -1
  113. package/chunks/{chunk-6UWFTUQL.js → chunk-S5CULOHB.js} +75 -31
  114. package/chunks/{chunk-7UFKAV7Y.js → chunk-S6HYI3MF.js} +2 -2
  115. package/chunks/chunk-SAH4BD2J.js +92 -0
  116. package/chunks/chunk-SR7RZ4MS.js +202 -0
  117. package/chunks/{chunk-QETYKPMG.js → chunk-T2O6NIOY.js} +1 -1
  118. package/chunks/chunk-TQOF5KBL.js +71 -0
  119. package/chunks/{chunk-OHJLEW5J.js → chunk-TWFFY5BP.js} +4 -4
  120. package/chunks/{chunk-SCI7K3GM.js → chunk-TXO5BMR2.js} +19 -10
  121. package/chunks/{chunk-YJQCUTT2.js → chunk-UAB6J2IE.js} +4 -4
  122. package/chunks/{chunk-OFI7IGST.js → chunk-UGUKH3SU.js} +10 -10
  123. package/chunks/{chunk-SHZYHGQH.js → chunk-V2226RFW.js} +1 -1
  124. package/chunks/{chunk-KKJJB5X6.js → chunk-V47QNK5W.js} +1526 -833
  125. package/chunks/{chunk-W4B7UBUS.js → chunk-VHXPSL57.js} +6 -6
  126. package/chunks/{chunk-WUC6ZFXO.js → chunk-VKJ4KTPJ.js} +1 -1
  127. package/chunks/{chunk-MAJS7AT4.js → chunk-VNNWAZSI.js} +2 -2
  128. package/chunks/{chunk-BVWVWGLE.js → chunk-WAUGQKUU.js} +4 -64
  129. package/chunks/{chunk-OH2VKQXH.js → chunk-WH6QMLUW.js} +37 -30
  130. package/chunks/{chunk-PJOBIWUG.js → chunk-WQYWK4DG.js} +1 -1
  131. package/chunks/{chunk-LEMXGVEP.js → chunk-YFRFZCIP.js} +3 -3
  132. package/chunks/{chunk-2U3WZGZG.js → chunk-YGT2AUJ7.js} +103 -135
  133. package/chunks/{chunk-6XU3PH66.js → chunk-YR7ZQ4RD.js} +22 -69
  134. package/chunks/{chunk-OA4JVLSA.js → chunk-Z7VOMGDC.js} +22 -1
  135. package/chunks/{chunk-RUL4S3K3.js → chunk-ZCJBCKL5.js} +175 -60
  136. package/chunks/{chunk-GSS34377.js → chunk-ZI5IH2HP.js} +2 -2
  137. package/chunks/{chunk-CB2464BK.js → chunk-ZIKTCMQF.js} +117 -10
  138. package/chunks/chunk-ZLBIFIMV.js +1099 -0
  139. package/chunks/{chunk-D3UEZIQH.js → chunk-ZSNBQXMZ.js} +48 -55
  140. package/chunks/{chunk-FZBZSYKU.js → chunk-ZV7LTLFE.js} +1 -1
  141. package/chunks/{computer-use-KEAPATUY.js → computer-use-SLN7DV2E.js} +28 -24
  142. package/chunks/{config-utils-K7SCOWHD.js → config-utils-ULCSRMWD.js} +4 -4
  143. package/chunks/{contextCommand-ZJA6A5K5.js → contextCommand-EHFYX6FW.js} +30 -26
  144. package/chunks/{core-runtime-QMJPWHCI.js → core-runtime-FBSP5IIG.js} +33 -29
  145. package/chunks/{create-sub-session-E4PBYXV5.js → create-sub-session-QIDZUOPU.js} +1 -1
  146. package/chunks/{create-sub-session-DJE6XICH.js → create-sub-session-WC7YGVSL.js} +29 -25
  147. package/chunks/{cron-create-GRBWYMIJ.js → cron-create-VONA5JYY.js} +1 -1
  148. package/chunks/{cron-delete-4CMKBR2M.js → cron-delete-5JXSP2MI.js} +1 -1
  149. package/chunks/{cron-list-W7K4ASOA.js → cron-list-KE4F2CIR.js} +1 -1
  150. package/chunks/{daemon-SCTQMM7Z.js → daemon-VSX3FHTY.js} +119 -4
  151. package/chunks/{daemon-status-provider-FSWDPE2G.js → daemon-status-provider-WW2AD2T7.js} +39 -35
  152. package/chunks/{daemon-trust-policy-P5L5VFAY.js → daemon-trust-policy-E4MAYWPI.js} +35 -31
  153. package/chunks/{daemon-trust-policy-monitor-73JYN6ET.js → daemon-trust-policy-monitor-XVIDV6T4.js} +35 -31
  154. package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
  155. package/chunks/{deferred-core-runtime-BWRCCFTE.js → deferred-core-runtime-5SVUC6UC.js} +28 -24
  156. package/chunks/{display-image-O2XFPQTC.js → display-image-NQRSIBXM.js} +2 -2
  157. package/chunks/{dist-HVBMEYWK.js → dist-3NTTUAHT.js} +1 -1
  158. package/chunks/{dist-7JGAAQSC.js → dist-6BMOAE3Z.js} +2 -2
  159. package/chunks/{dist-3BMEUGTG.js → dist-B2CGTW6T.js} +1 -1
  160. package/chunks/{dist-C5U4LJKW.js → dist-EWW3J4HQ.js} +5 -4
  161. package/chunks/{dist-K4WWQBHS.js → dist-EZE3V3Q7.js} +55 -15
  162. package/chunks/{dist-DPPHJAVL.js → dist-J47AXBZC.js} +918 -142
  163. package/chunks/{dist-SFQ34F4M.js → dist-OTUO3AS2.js} +8 -1091
  164. package/chunks/{dist-KS4O2NKE.js → dist-Z3CS4OVP.js} +14 -8
  165. package/chunks/{earlyInputCapture-L5ST23A6.js → earlyInputCapture-72FYHYRD.js} +28 -24
  166. package/chunks/{edit-LHHRFNFK.js → edit-SWVVWHXW.js} +28 -24
  167. package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
  168. package/chunks/{enter-worktree-6NXCRZPF.js → enter-worktree-2HF6WQEO.js} +28 -24
  169. package/chunks/{enterPlanMode-ZVQT4U7D.js → enterPlanMode-OW6S7L4P.js} +28 -24
  170. package/chunks/{environment-GJ2HWJOS.js → environment-LRTBTDXH.js} +32 -28
  171. package/chunks/{errors-6RLH3XXC.js → errors-4CO2DME6.js} +30 -26
  172. package/chunks/{exit-worktree-I2YLUHHY.js → exit-worktree-GHJEIRGL.js} +28 -24
  173. package/chunks/{exitPlanMode-7CCWKO7I.js → exitPlanMode-JVP4FNNK.js} +28 -24
  174. package/chunks/{fast-path-DVFD4HQD.js → fast-path-HCCY7GR2.js} +24 -3
  175. package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-MN5QQQET.js} +6 -3
  176. package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
  177. package/chunks/{gemini-7FWGOYD4.js → gemini-V3YVRKXU.js} +85 -72
  178. package/chunks/{geminiContentGenerator-V2WVLIXU.js → geminiContentGenerator-LVPMQUWX.js} +1 -1
  179. package/chunks/{glob-3N6GGI75.js → glob-7HRXHYDR.js} +28 -24
  180. package/chunks/{goal-tools-APOW6UXL.js → goal-tools-PXWN5VK3.js} +4 -2
  181. package/chunks/{grep-V43ILZVX.js → grep-BITQUON5.js} +28 -24
  182. package/chunks/{handleAutoUpdate-A5WFVWIA.js → handleAutoUpdate-DKFY454S.js} +32 -28
  183. package/chunks/{i18n-PLVQ4FBZ.js → i18n-53BQIQSH.js} +29 -25
  184. package/chunks/{image-gen-7C6IK6DC.js → image-gen-H62FLDFB.js} +7 -5
  185. package/chunks/{initializer-CVAIKZYL.js → initializer-Q7NUQRSU.js} +35 -31
  186. package/chunks/{installationInfo-J6QDHNTK.js → installationInfo-BWFHT7WU.js} +29 -25
  187. package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
  188. package/chunks/{list-ZZ4OUUWV.js → list-OWQKR6JK.js} +38 -34
  189. package/chunks/{list-agents-KFFIIS2G.js → list-agents-Z4WABFDZ.js} +1 -1
  190. package/chunks/{loadedSettingsAdapter-QRYRJSWL.js → loadedSettingsAdapter-HNPKQMFA.js} +35 -31
  191. package/chunks/{loggingContentGenerator-OJCO75HM.js → loggingContentGenerator-A5I3VQUC.js} +10 -8
  192. package/chunks/{loop-wakeup-TLMJPMMP.js → loop-wakeup-UZ5RL5Y2.js} +2 -2
  193. package/chunks/{ls-UVVE2XGE.js → ls-TVHDGIES.js} +1 -1
  194. package/chunks/{lsp-QMEA2VLB.js → lsp-CVN6OQPI.js} +1 -1
  195. package/chunks/main-PXAUXNF2.js +8 -0
  196. package/chunks/{managed-npm-update-PCOSCP2N.js → managed-npm-update-CUUJGUTV.js} +29 -25
  197. package/chunks/{mcp-M3WKKWKY.js → mcp-GJSC7ZPO.js} +35 -31
  198. package/chunks/{monitor-GN24FH6C.js → monitor-TZ2II7JM.js} +38 -30
  199. package/chunks/{nonInteractiveCli-KPTU3VSQ.js → nonInteractiveCli-22RS4EVH.js} +72 -66
  200. package/chunks/{notebook-edit-4YM65BBO.js → notebook-edit-YZC3YPY2.js} +36 -24
  201. package/chunks/{openaiContentGenerator-EDQT6GTV.js → openaiContentGenerator-OIGO5XNF.js} +21 -11
  202. package/chunks/{pidfile-JOIIRN2C.js → pidfile-QJQ65RJ2.js} +28 -24
  203. package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
  204. package/chunks/{processUtils-5SV4MX3Q.js → processUtils-V5VSDIKS.js} +2 -2
  205. package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
  206. package/chunks/{qwenContentGenerator-ODRJSUGR.js → qwenContentGenerator-HXM25BGB.js} +35 -30
  207. package/chunks/{qwenOAuth2-NESCMZ47.js → qwenOAuth2-7MTMS2Z5.js} +7 -5
  208. package/chunks/{read-file-HPSODLPK.js → read-file-PMGXB3ZB.js} +8 -6
  209. package/chunks/{read-mcp-resource-2TNSJTC3.js → read-mcp-resource-PZ4ZF6YL.js} +1 -1
  210. package/chunks/{record-artifact-RAON52FC.js → record-artifact-P4HFMS7X.js} +2 -2
  211. package/chunks/{resumeHistoryUtils-TXCOFFMQ.js → resumeHistoryUtils-YUTPLHUH.js} +33 -29
  212. package/chunks/{ripGrep-ZKQGTQAO.js → ripGrep-XUS66YIV.js} +28 -24
  213. package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
  214. package/chunks/{run-qwen-serve-ZPKPKECF.js → run-qwen-serve-4NVSU75L.js} +261 -62
  215. package/chunks/{runtime-2FLNNM36.js → runtime-QLRVP6HM.js} +40 -36
  216. package/chunks/{scheduler-365PJHNR.js → scheduler-PBB2NSOP.js} +28 -24
  217. package/chunks/{sdk-exporters-http-KHAB5JSD.js → sdk-exporters-http-XVTZQRCE.js} +2 -2
  218. package/chunks/{sdk-impl-KD7FSTC3.js → sdk-impl-7W7AKCS4.js} +7 -3
  219. package/chunks/{send-message-ZM7MRUGP.js → send-message-CAMSLG2L.js} +4 -3
  220. package/chunks/{serve-QD2RNLKJ.js → serve-BWKTRX72.js} +37 -31
  221. package/chunks/{server-XLJVLTYM.js → server-E7CH7WPK.js} +1437 -593
  222. package/chunks/{session-3VTUHH4Q.js → session-QEKSJ6YU.js} +166 -105
  223. package/chunks/{settings-KULVPCQC.js → settings-BRAOSJIM.js} +34 -30
  224. package/chunks/{shell-3SWW22MH.js → shell-OF3CK4AT.js} +28 -24
  225. package/chunks/{skill-KDHWYS7W.js → skill-HLH2NO2H.js} +9 -7
  226. package/chunks/{skill-settings-NMY4JEJC.js → skill-settings-DRPU7YI5.js} +34 -30
  227. package/chunks/{spawnChannel-ZKS4Q5OU.js → spawnChannel-4KO7YTFM.js} +31 -27
  228. package/chunks/{standalone-update-7CXPGAQ4.js → standalone-update-DJN2R3YW.js} +30 -26
  229. package/chunks/{startInteractiveUI-2QQLEKM6.js → startInteractiveUI-O3WQQ2WC.js} +384 -173
  230. package/chunks/{syntheticOutput-ZLCUTKO2.js → syntheticOutput-PEBJQYJV.js} +2 -2
  231. package/chunks/{task-create-CQP5UEA3.js → task-create-5NWCQSJF.js} +5 -4
  232. package/chunks/{task-list-XLEZOJXP.js → task-list-53265TRZ.js} +1 -1
  233. package/chunks/{task-stop-7ZQM5CFF.js → task-stop-FPCOIRYX.js} +1 -1
  234. package/chunks/{task-update-JA75U2SN.js → task-update-5HN577LS.js} +5 -4
  235. package/chunks/{team-create-2WTNGAOX.js → team-create-2E4ACBJD.js} +28 -24
  236. package/chunks/{team-delete-MHY3UZGY.js → team-delete-MMQB4OSC.js} +1 -1
  237. package/chunks/{team-plan-approval-LZTYLEG4.js → team-plan-approval-LWIDXYOA.js} +28 -24
  238. package/chunks/{terminal-image-renderer-R5HHAFJN.js → terminal-image-renderer-PJM7663W.js} +30 -26
  239. package/chunks/{theme-manager-PAUCSJFF.js → theme-manager-FDQTM3RP.js} +28 -24
  240. package/chunks/{todoWrite-UPVOHYGD.js → todoWrite-JGV6VLOX.js} +1 -1
  241. package/chunks/{tool-search-2BFCGLI6.js → tool-search-TL5ZXBF4.js} +11 -8
  242. package/chunks/{total-session-admission-MK4SINFK.js → total-session-admission-LS6EY5KT.js} +37 -32
  243. package/chunks/{trustedFolders-TJ5S26N7.js → trustedFolders-5RWP5OB7.js} +32 -26
  244. package/chunks/{types-ML3TRJQ5.js → types-WYCFCEHR.js} +5 -3
  245. package/chunks/{update-relaunch-N7AYLARF.js → update-relaunch-HWQ4USKY.js} +5 -5
  246. package/chunks/{updateCheck-QRZ3DVT5.js → updateCheck-EZMBTEIR.js} +31 -27
  247. package/chunks/{useAutoAcceptIndicator-DBJ7Y5AF.js → useAutoAcceptIndicator-JDMI627A.js} +37 -33
  248. package/chunks/{validateNonInterActiveAuth-6ZQWUDS3.js → validateNonInterActiveAuth-RRUHC5RO.js} +67 -63
  249. package/chunks/{version-AJQGQWXC.js → version-XS4UTKUX.js} +1 -1
  250. package/chunks/{web-fetch-QWJYRXFL.js → web-fetch-2JV7H6OM.js} +14 -10
  251. package/chunks/{web-search-2AOXJGHU.js → web-search-RCTN2GAM.js} +10 -7
  252. package/chunks/{workflow-ERH3SJG2.js → workflow-6MKLKQ6R.js} +909 -273
  253. package/chunks/{workspace-providers-status-HZ474RA4.js → workspace-providers-status-YZ2IJ4DK.js} +38 -34
  254. package/chunks/{workspace-registration-store-6EUP4JXG.js → workspace-registration-store-IYN72LBS.js} +1 -1
  255. package/chunks/{workspace-registry-R4APRRNC.js → workspace-registry-7LFBZQLT.js} +37 -32
  256. package/chunks/{workspace-service-HFIFDMU7.js → workspace-service-2EHSPRJB.js} +45 -39
  257. package/chunks/{workspace-skills-status-HAHEIHGK.js → workspace-skills-status-5VJ2D5HN.js} +36 -32
  258. package/chunks/{workspace-trust-reconciler-65GTAGDK.js → workspace-trust-reconciler-X2LZ6XCI.js} +44 -39
  259. package/chunks/{write-file-B34CDELV.js → write-file-CJK6SCCF.js} +28 -24
  260. package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
  261. package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
  262. package/chunks/{zoom-image-HPRBZHSS.js → zoom-image-BVW4RFYW.js} +8 -6
  263. package/cli.js +13 -13
  264. package/locales/ca.js +10 -0
  265. package/locales/de.js +9 -0
  266. package/locales/en.js +10 -0
  267. package/locales/fr.js +9 -0
  268. package/locales/ja.js +9 -0
  269. package/locales/pt.js +9 -0
  270. package/locales/ru.js +9 -0
  271. package/locales/zh-TW.js +10 -0
  272. package/locales/zh.js +10 -0
  273. package/package.json +3 -3
  274. package/web-shell/assets/{arc-Ip-FFDJ0.js → arc-DDtoJrAW.js} +1 -1
  275. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CChqgwIb.js → architectureDiagram-3BPJPVTR-BAInIW4O.js} +1 -1
  276. package/web-shell/assets/{blockDiagram-GPEHLZMM-BHN-Tfss.js → blockDiagram-GPEHLZMM-ChPDk7fP.js} +1 -1
  277. package/web-shell/assets/{c4Diagram-AAUBKEIU-BhyjzDjN.js → c4Diagram-AAUBKEIU-Cd9BJuUy.js} +1 -1
  278. package/web-shell/assets/channel-0OQklTfP.js +1 -0
  279. package/web-shell/assets/{chunk-2J33WTMH-BB9eyHrx.js → chunk-2J33WTMH-COQkLp56.js} +1 -1
  280. package/web-shell/assets/{chunk-4BX2VUAB-BeV7ce_J.js → chunk-4BX2VUAB-GUJshQ_l.js} +1 -1
  281. package/web-shell/assets/{chunk-55IACEB6-DO7kXDiV.js → chunk-55IACEB6-Boaa7c10.js} +1 -1
  282. package/web-shell/assets/{chunk-727SXJPM-B27MPznD.js → chunk-727SXJPM-CcRXaly2.js} +1 -1
  283. package/web-shell/assets/{chunk-AQP2D5EJ-DHIjqjD_.js → chunk-AQP2D5EJ-BY0OARHh.js} +1 -1
  284. package/web-shell/assets/{chunk-FMBD7UC4-DabMqyN2.js → chunk-FMBD7UC4-DLFQfv0S.js} +1 -1
  285. package/web-shell/assets/{chunk-ND2GUHAM-Dw7Nnnxc.js → chunk-ND2GUHAM-C_S0u-D2.js} +1 -1
  286. package/web-shell/assets/{chunk-QZHKN3VN-DdaZew1Q.js → chunk-QZHKN3VN-DP9m64hw.js} +1 -1
  287. package/web-shell/assets/classDiagram-4FO5ZUOK-CZ4-apsu.js +1 -0
  288. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CZ4-apsu.js +1 -0
  289. package/web-shell/assets/{cose-bilkent-S5V4N54A-CgBpCYH5.js → cose-bilkent-S5V4N54A-CGY6zGE1.js} +1 -1
  290. package/web-shell/assets/{dagre-BM42HDAG-BB4IU8G0.js → dagre-BM42HDAG-yB7whKNn.js} +1 -1
  291. package/web-shell/assets/{diagram-2AECGRRQ-BcUTHU37.js → diagram-2AECGRRQ-Bdlc59La.js} +1 -1
  292. package/web-shell/assets/{diagram-5GNKFQAL-B6Lyihyv.js → diagram-5GNKFQAL-BUClP18L.js} +1 -1
  293. package/web-shell/assets/{diagram-KO2AKTUF-CRIJOjpG.js → diagram-KO2AKTUF-aZm08kjn.js} +1 -1
  294. package/web-shell/assets/{diagram-LMA3HP47-DdNiwWWT.js → diagram-LMA3HP47-7DGwEkxC.js} +1 -1
  295. package/web-shell/assets/{diagram-OG6HWLK6-Dz4b32Do.js → diagram-OG6HWLK6-CAGKayxx.js} +1 -1
  296. package/web-shell/assets/{erDiagram-TEJ5UH35-D-8NGw77.js → erDiagram-TEJ5UH35-CptoHHQi.js} +1 -1
  297. package/web-shell/assets/{flowDiagram-I6XJVG4X-Dun26LyM.js → flowDiagram-I6XJVG4X-CNOH0s7Q.js} +1 -1
  298. package/web-shell/assets/{ganttDiagram-6RSMTGT7-F10Hu1Gc.js → ganttDiagram-6RSMTGT7-CCQuCU3y.js} +1 -1
  299. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js → gitGraphDiagram-PVQCEYII-B7gv9f4E.js} +1 -1
  300. package/web-shell/assets/{index-BXqw-nGq.js → index-BoUPVvpf.js} +1 -1
  301. package/web-shell/assets/index-D1YQXYsB.css +5 -0
  302. package/web-shell/assets/index-J4N7zCmU.js +1768 -0
  303. package/web-shell/assets/{infoDiagram-5YYISTIA-DVgTMLvj.js → infoDiagram-5YYISTIA-Bb3KYEbR.js} +1 -1
  304. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-uT-KepvK.js → ishikawaDiagram-YF4QCWOH-DWEzbAGi.js} +1 -1
  305. package/web-shell/assets/{journeyDiagram-JHISSGLW-Vg_XadQf.js → journeyDiagram-JHISSGLW-CmxwEqeb.js} +1 -1
  306. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dyv1ESBE.js → kanban-definition-UN3LZRKU-Ci0gDD8O.js} +1 -1
  307. package/web-shell/assets/{linear-BMIepYX3.js → linear-BqxZqGhS.js} +1 -1
  308. package/web-shell/assets/{mermaid.core-zA8pJ9ag.js → mermaid.core-BDAFffHv.js} +5 -5
  309. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BCW_BZ_5.js → mindmap-definition-RKZ34NQL-Btvx-xvS.js} +1 -1
  310. package/web-shell/assets/{pieDiagram-4H26LBE5-DseNEGp2.js → pieDiagram-4H26LBE5-CKAg7yG7.js} +1 -1
  311. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js → quadrantDiagram-W4KKPZXB-DIt8E1mC.js} +1 -1
  312. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CVOlCRPf.js → requirementDiagram-4Y6WPE33-BA7mQWQJ.js} +1 -1
  313. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CGhgrUJZ.js → sankeyDiagram-5OEKKPKP-D0JppnVU.js} +1 -1
  314. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-dlqmpLuQ.js → sequenceDiagram-3UESZ5HK-29DIQFjB.js} +1 -1
  315. package/web-shell/assets/{stateDiagram-AJRCARHV-B9EW10Xb.js → stateDiagram-AJRCARHV-iiXMdK--.js} +1 -1
  316. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CEGK3l80.js +1 -0
  317. package/web-shell/assets/{timeline-definition-PNZ67QCA-BBRh0mgZ.js → timeline-definition-PNZ67QCA-CeF7ngSW.js} +1 -1
  318. package/web-shell/assets/{vennDiagram-CIIHVFJN-B8Gs-REP.js → vennDiagram-CIIHVFJN-Beilq8D6.js} +1 -1
  319. package/web-shell/assets/{wardley-L42UT6IY-D_y80Ur7.js → wardley-L42UT6IY-DOYjY4zO.js} +1 -1
  320. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D-CNfHJ-.js → wardleyDiagram-YWT4CUSO-Dtqp8o18.js} +1 -1
  321. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DQ5CvELo.js → xychartDiagram-2RQKCTM6-cdAc0Dfv.js} +1 -1
  322. package/web-shell/index.html +2 -2
  323. package/chunks/chunk-6PEXNQTX.js +0 -68
  324. package/chunks/chunk-IUFV6FYU.js +0 -81
  325. package/chunks/chunk-RXFQM6FQ.js +0 -42
  326. package/web-shell/assets/channel-Cu8qd6OB.js +0 -1
  327. package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +0 -1
  328. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +0 -1
  329. package/web-shell/assets/index-QQlUCJGg.css +0 -5
  330. package/web-shell/assets/index-hcgjV7vS.js +0 -1768
  331. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +0 -1
  332. package/chunks/{anthropicContentGenerator-DTMVEL5M.js → anthropicContentGenerator-SSFE2753.js} +9 -9
  333. /package/chunks/{chunk-VXZBKKQR.js → chunk-NTTBXH7U.js} +0 -0
  334. /package/chunks/{chunk-GRC5HGPI.js → chunk-OIBUG24X.js} +0 -0
@@ -7,22 +7,22 @@ import {
7
7
  parseAcpBaseModelId,
8
8
  resolveCliGenerationConfig,
9
9
  sanitizeProviderBaseUrl
10
- } from "./chunk-CSZEXZBE.js";
10
+ } from "./chunk-HWXGX534.js";
11
11
  import {
12
12
  snapshotProcessEnv
13
- } from "./chunk-TYKC75AX.js";
13
+ } from "./chunk-OR6R3IUW.js";
14
14
  import {
15
15
  STATUS_SCHEMA_VERSION
16
- } from "./chunk-NLREQJFK.js";
16
+ } from "./chunk-DA4HRSBW.js";
17
17
  import {
18
18
  loadSettings
19
- } from "./chunk-PQBHU2IA.js";
19
+ } from "./chunk-HKI3KHAO.js";
20
20
  import {
21
21
  ModelsConfig
22
- } from "./chunk-Y7E5LNLO.js";
22
+ } from "./chunk-47ZUMGGY.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
- } from "./chunk-BVWVWGLE.js";
25
+ } from "./chunk-WAUGQKUU.js";
26
26
  import {
27
27
  tokenLimit
28
28
  } from "./chunk-ZBVS26BY.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getGlobalQwenDir
5
- } from "./chunk-DIEFUBV6.js";
5
+ } from "./chunk-DX3RGJMS.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -16,7 +16,7 @@ import {
16
16
  MODIFIER_SHIFT_BIT,
17
17
  MODIFIER_SUPER_BIT,
18
18
  clipboardHasImage
19
- } from "./chunk-YHEEE624.js";
19
+ } from "./chunk-NV3F44FL.js";
20
20
  import {
21
21
  noteInteraction
22
22
  } from "./chunk-KW7NOTN6.js";
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  KittySequenceOverflowEvent,
35
35
  logKittySequenceOverflow
36
- } from "./chunk-2U3WZGZG.js";
36
+ } from "./chunk-YGT2AUJ7.js";
37
37
  import {
38
38
  createDebugLogger
39
39
  } from "./chunk-OIVKILPI.js";
@@ -1,15 +1,15 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ getCurrentAgentId
5
+ } from "./chunk-CPG6P4GG.js";
3
6
  import {
4
7
  getTeammateContext,
5
8
  isTeammate
6
9
  } from "./chunk-S6LOFUVP.js";
7
- import {
8
- isInForkExecution
9
- } from "./chunk-LZC3B5N2.js";
10
10
  import {
11
11
  ToolNames
12
- } from "./chunk-IC4Z6LX6.js";
12
+ } from "./chunk-PYQADEFD.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";
@@ -29,57 +29,6 @@ var ApprovalMode = /* @__PURE__ */ ((ApprovalMode2) => {
29
29
  })(ApprovalMode || {});
30
30
  var APPROVAL_MODES = Object.values(ApprovalMode);
31
31
 
32
- // packages/core/src/agents/runtime/agent-context.ts
33
- init_esbuild_shims();
34
- import { AsyncLocalStorage } from "node:async_hooks";
35
- var storage = new AsyncLocalStorage();
36
- function runWithAgentContext(agentId, fn, depthOverride) {
37
- const current = storage.getStore() ?? {};
38
- const depth = depthOverride ?? (current.depth ?? -1) + 1;
39
- return storage.run({ ...current, agentId, depth }, fn);
40
- }
41
- __name(runWithAgentContext, "runWithAgentContext");
42
- function runWithRuntimeContentGenerator(view, fn) {
43
- const current = storage.getStore() ?? {};
44
- return storage.run({ ...current, runtimeView: view }, fn);
45
- }
46
- __name(runWithRuntimeContentGenerator, "runWithRuntimeContentGenerator");
47
- function getCurrentAgentId() {
48
- return storage.getStore()?.agentId ?? null;
49
- }
50
- __name(getCurrentAgentId, "getCurrentAgentId");
51
- function getCurrentAgentDepth() {
52
- return storage.getStore()?.depth ?? 0;
53
- }
54
- __name(getCurrentAgentDepth, "getCurrentAgentDepth");
55
- function getRuntimeContentGenerator() {
56
- return storage.getStore()?.runtimeView;
57
- }
58
- __name(getRuntimeContentGenerator, "getRuntimeContentGenerator");
59
- function runOutsideAgentContext(fn) {
60
- return storage.exit(fn);
61
- }
62
- __name(runOutsideAgentContext, "runOutsideAgentContext");
63
- function isTopLevelSession() {
64
- return getCurrentAgentId() === null;
65
- }
66
- __name(isTopLevelSession, "isTopLevelSession");
67
- function childLaunchDepth() {
68
- return getCurrentAgentId() !== null ? getCurrentAgentDepth() + 1 : 0;
69
- }
70
- __name(childLaunchDepth, "childLaunchDepth");
71
- function canSpawnNestedAgent(maxDepth) {
72
- return childLaunchDepth() + 1 <= maxDepth;
73
- }
74
- __name(canSpawnNestedAgent, "canSpawnNestedAgent");
75
- function spawnBlockReason(maxDepth) {
76
- if (!canSpawnNestedAgent(maxDepth)) return "depth";
77
- if (isTeammate()) return "teammate";
78
- if (isInForkExecution()) return "fork";
79
- return null;
80
- }
81
- __name(spawnBlockReason, "spawnBlockReason");
82
-
83
32
  // packages/core/src/agents/runtime/subagent-plan-tool-policy.ts
84
33
  init_esbuild_shims();
85
34
  var SUBAGENT_PLAN_LIFECYCLE_TOOLS = /* @__PURE__ */ new Set([
@@ -188,15 +137,6 @@ __name(buildSubagentPlanToolBlockedResult, "buildSubagentPlanToolBlockedResult")
188
137
 
189
138
  export {
190
139
  APPROVAL_MODES,
191
- runWithAgentContext,
192
- runWithRuntimeContentGenerator,
193
- getCurrentAgentId,
194
- getCurrentAgentDepth,
195
- getRuntimeContentGenerator,
196
- runOutsideAgentContext,
197
- isTopLevelSession,
198
- childLaunchDepth,
199
- spawnBlockReason,
200
140
  SUBAGENT_PLAN_LIFECYCLE_TOOLS,
201
141
  isSubagentLikeExecutionContext,
202
142
  isPlanRequiredTeammateContext,
@@ -17,11 +17,11 @@ import {
17
17
  import {
18
18
  collectInlineImages,
19
19
  extractInlineContentRuns
20
- } from "./chunk-2VSTGY6M.js";
20
+ } from "./chunk-PJRW65JO.js";
21
21
  import {
22
22
  formatHistoryGapNotice,
23
23
  indexGapsByChild
24
- } from "./chunk-KXSDEOFU.js";
24
+ } from "./chunk-3KJQZEN3.js";
25
25
  import {
26
26
  stringWidth
27
27
  } from "./chunk-2MIN6GRR.js";
@@ -33,21 +33,22 @@ import {
33
33
  } from "./chunk-3SH53ANB.js";
34
34
  import {
35
35
  t
36
- } from "./chunk-DBOFL3LQ.js";
36
+ } from "./chunk-BL65MO72.js";
37
37
  import {
38
38
  getToolResponseDisplayText,
39
- stripTrailingUserPromptSubmitContextPart
40
- } from "./chunk-Y7E5LNLO.js";
39
+ isGoalCheckpointBookkeepingRecord
40
+ } from "./chunk-47ZUMGGY.js";
41
41
  import {
42
42
  stripAnsi
43
43
  } from "./chunk-TWPJO254.js";
44
44
  import {
45
45
  GoalPersistenceUnavailableError,
46
- parseGoalStateRecordPayloadV2
47
- } from "./chunk-3K7FH2KQ.js";
46
+ parseGoalStateRecordPayloadV2,
47
+ projectUserTranscriptForDisplay
48
+ } from "./chunk-67N6HB5H.js";
48
49
  import {
49
50
  ToolDisplayNames
50
- } from "./chunk-IC4Z6LX6.js";
51
+ } from "./chunk-PYQADEFD.js";
51
52
  import {
52
53
  init_esbuild_shims
53
54
  } from "./chunk-5O2XNYP6.js";
@@ -2895,6 +2896,7 @@ init_esbuild_shims();
2895
2896
  function shouldDisplayGoalStateCause(cause) {
2896
2897
  switch (cause) {
2897
2898
  case "turn_finished":
2899
+ case "checkpoint":
2898
2900
  case "verifier_accept":
2899
2901
  return false;
2900
2902
  case "verifier_reject":
@@ -2926,17 +2928,6 @@ async function waitForGoalRuntime(config) {
2926
2928
  __name(waitForGoalRuntime, "waitForGoalRuntime");
2927
2929
 
2928
2930
  // packages/cli/src/ui/utils/resumeHistoryUtils.ts
2929
- function extractUserRecordDisplayText(record) {
2930
- const payload = record.systemPayload;
2931
- if (payload?.displayText) {
2932
- return payload.displayText;
2933
- }
2934
- const parts = record.message?.parts ?? [];
2935
- return extractTextFromParts([
2936
- ...stripTrailingUserPromptSubmitContextPart(parts)
2937
- ]);
2938
- }
2939
- __name(extractUserRecordDisplayText, "extractUserRecordDisplayText");
2940
2931
  function extractTextFromParts(parts) {
2941
2932
  if (!parts) return "";
2942
2933
  const textParts = [];
@@ -3024,6 +3015,8 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3024
3015
  const gapByChildUuid = indexGapsByChild(historyGaps);
3025
3016
  const pendingAtCommands = [];
3026
3017
  let atCommandCounter = 0;
3018
+ let lastGoalStateSnapshot;
3019
+ let lastGoalStateCause;
3027
3020
  const pendingToolCalls = /* @__PURE__ */ new Map();
3028
3021
  let currentToolGroup = [];
3029
3022
  const buildAtCommandDisplays = /* @__PURE__ */ __name((payload) => {
@@ -3075,21 +3068,33 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3075
3068
  currentToolGroup = [];
3076
3069
  }
3077
3070
  pendingAtCommands.length = 0;
3071
+ lastGoalStateSnapshot = void 0;
3072
+ lastGoalStateCause = void 0;
3078
3073
  items.push(createHistoryGapItem(gap));
3079
3074
  }
3080
3075
  if (record.type === "system") {
3081
3076
  if (record.subtype === "goal_state") {
3082
3077
  const payload = parseGoalStateRecordPayloadV2(record.systemPayload);
3083
- if (payload && shouldDisplayGoalStateCause(payload.cause)) {
3084
- if (currentToolGroup.length > 0) {
3085
- items.push({ type: "tool_group", tools: [...currentToolGroup] });
3086
- currentToolGroup = [];
3087
- }
3088
- items.push({
3089
- type: "goal_state",
3090
- snapshot: payload.snapshot,
3091
- cause: payload.cause
3078
+ if (payload) {
3079
+ const bookkeepingOnly = isGoalCheckpointBookkeepingRecord({
3080
+ cause: payload.cause,
3081
+ previousCause: lastGoalStateCause,
3082
+ previous: lastGoalStateSnapshot,
3083
+ next: payload.snapshot
3092
3084
  });
3085
+ lastGoalStateCause = payload.cause;
3086
+ lastGoalStateSnapshot = payload.snapshot;
3087
+ if (shouldDisplayGoalStateCause(payload.cause) && !bookkeepingOnly) {
3088
+ if (currentToolGroup.length > 0) {
3089
+ items.push({ type: "tool_group", tools: [...currentToolGroup] });
3090
+ currentToolGroup = [];
3091
+ }
3092
+ items.push({
3093
+ type: "goal_state",
3094
+ snapshot: payload.snapshot,
3095
+ cause: payload.cause
3096
+ });
3097
+ }
3093
3098
  }
3094
3099
  continue;
3095
3100
  }
@@ -3158,7 +3163,8 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3158
3163
  currentToolGroup = [];
3159
3164
  }
3160
3165
  const payload = pendingAtCommands.shift();
3161
- const text2 = payload.userText || extractUserRecordDisplayText(record);
3166
+ const projection2 = projectUserTranscriptForDisplay(record);
3167
+ const text2 = payload.userText || (projection2.displayText ?? extractTextFromParts(projection2.parts));
3162
3168
  if (text2) {
3163
3169
  items.push({ type: "user", text: text2 });
3164
3170
  }
@@ -3178,7 +3184,8 @@ function convertToHistoryItems(conversation, config, historyGaps) {
3178
3184
  });
3179
3185
  currentToolGroup = [];
3180
3186
  }
3181
- const text = extractUserRecordDisplayText(record);
3187
+ const projection = projectUserTranscriptForDisplay(record);
3188
+ const text = projection.displayText ?? extractTextFromParts(projection.parts);
3182
3189
  if (text) {
3183
3190
  items.push({ type: "user", text });
3184
3191
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-EORNAQDT.js";
5
+ } from "./chunk-RQ6U2JJQ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,17 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-GSS34377.js";
5
+ } from "./chunk-ZI5IH2HP.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-DBOFL3LQ.js";
11
+ } from "./chunk-BL65MO72.js";
12
12
  import {
13
13
  getInstallationInfo,
14
14
  resolveUpdateCommand
15
- } from "./chunk-HYRDKNUY.js";
15
+ } from "./chunk-2545EHZR.js";
16
16
  import {
17
17
  createDebugLogger
18
18
  } from "./chunk-OIVKILPI.js";
@@ -9,20 +9,19 @@ import {
9
9
  import {
10
10
  isAnyAutoMemPath
11
11
  } from "./chunk-FVKHVJZQ.js";
12
+ import {
13
+ runSideQuery
14
+ } from "./chunk-COBO5EBO.js";
12
15
  import {
13
16
  STRUCTURED_OUTPUT_REDACTED_ARGS
14
- } from "./chunk-NG2R4N5O.js";
17
+ } from "./chunk-6ZRFAKXK.js";
15
18
  import {
16
19
  BaseDeclarativeTool,
17
20
  BaseToolInvocation,
18
- SchemaValidator,
19
21
  StructuredToolError,
20
22
  ToolDisplayNames,
21
23
  ToolNames
22
- } from "./chunk-IC4Z6LX6.js";
23
- import {
24
- DEFAULT_QWEN_MODEL
25
- } from "./chunk-6EOI4HOK.js";
24
+ } from "./chunk-PYQADEFD.js";
26
25
  import {
27
26
  estimateTextTokens,
28
27
  generateLegacyMcpToolName,
@@ -51,11 +50,12 @@ import {
51
50
  recordMemoryRecallDeliveryMetrics,
52
51
  recordMemoryRecallMetrics,
53
52
  recordModelSlashCommand,
53
+ recordRepeatedToolFailureGuardMetrics,
54
54
  recordSubagentExecutionMetrics,
55
55
  recordTokenUsageMetrics,
56
56
  recordToolCallMetrics,
57
57
  recordToolExecutionMetrics
58
- } from "./chunk-6M26GBKX.js";
58
+ } from "./chunk-L2AFWWJE.js";
59
59
  import {
60
60
  require_src,
61
61
  safeJsonStringify
@@ -90,6 +90,7 @@ import {
90
90
  EVENT_NEXT_SPEAKER_CHECK,
91
91
  EVENT_PROMPT_SUGGESTION,
92
92
  EVENT_PROTOCOL_TAG_SANITIZED,
93
+ EVENT_REPEATED_TOOL_FAILURE_GUARD,
93
94
  EVENT_RIPGREP_FALLBACK,
94
95
  EVENT_RIPGREP_RUNTIME_RECOVERY,
95
96
  EVENT_SKILL_LAUNCH,
@@ -104,7 +105,7 @@ import {
104
105
  EVENT_WORKFLOW_KEYWORD,
105
106
  EVENT_WORKFLOW_RUN,
106
107
  SERVICE_NAME
107
- } from "./chunk-LKRMNRSN.js";
108
+ } from "./chunk-PDPFQ2FO.js";
108
109
  import {
109
110
  Storage,
110
111
  createDebugLogger,
@@ -13123,8 +13124,10 @@ function logApiResponse(config, event) {
13123
13124
  });
13124
13125
  }
13125
13126
  __name(logApiResponse, "logApiResponse");
13126
- function logLoopDetected(config, event) {
13127
- QwenLogger.getInstance(config)?.logLoopDetectedEvent(event);
13127
+ function logLoopDetected(config, event, options = {}) {
13128
+ if (options.recordToQwenLogger !== false) {
13129
+ QwenLogger.getInstance(config)?.logLoopDetectedEvent(event);
13130
+ }
13128
13131
  if (!isTelemetrySdkInitialized()) return;
13129
13132
  const attributes = {
13130
13133
  ...getCommonAttributes(config),
@@ -13138,6 +13141,36 @@ function logLoopDetected(config, event) {
13138
13141
  logger.emit(logRecord);
13139
13142
  }
13140
13143
  __name(logLoopDetected, "logLoopDetected");
13144
+ function logRepeatedToolFailureGuard(event) {
13145
+ runToolTelemetrySink(() => {
13146
+ if (isTelemetrySdkInitialized()) {
13147
+ const logger = import_api_logs.logs.getLogger(SERVICE_NAME);
13148
+ logger.emit({
13149
+ body: `Repeated tool failure guard decision: ${event.decision}.`,
13150
+ attributes: {
13151
+ ...event,
13152
+ "event.name": EVENT_REPEATED_TOOL_FAILURE_GUARD
13153
+ }
13154
+ });
13155
+ }
13156
+ });
13157
+ runToolTelemetrySink(() => {
13158
+ recordRepeatedToolFailureGuardMetrics({
13159
+ route: event.route,
13160
+ mode: event.mode,
13161
+ phase_before: event.phase_before,
13162
+ phase_after: event.phase_after,
13163
+ decision: event.decision,
13164
+ failure_count_bucket: event.failure_count_bucket,
13165
+ batch_count_bucket: event.batch_count_bucket,
13166
+ ...event.reset_reason !== void 0 ? { reset_reason: event.reset_reason } : {},
13167
+ ...event.terminal_status !== void 0 ? { terminal_status: event.terminal_status } : {},
13168
+ ...event.execution_status !== void 0 ? { execution_status: event.execution_status } : {},
13169
+ ...event.tool_type !== void 0 ? { tool_type: event.tool_type } : {}
13170
+ });
13171
+ });
13172
+ }
13173
+ __name(logRepeatedToolFailureGuard, "logRepeatedToolFailureGuard");
13141
13174
  function logLoopDetectionDisabled(config, _event) {
13142
13175
  QwenLogger.getInstance(config)?.logLoopDetectionDisabledEvent();
13143
13176
  }
@@ -14791,17 +14824,21 @@ var DiscoveredMCPTool = class _DiscoveredMCPTool extends BaseDeclarativeTool {
14791
14824
  * keeping every other field (including the shared underlying
14792
14825
  * `CallableTool` / MCP transport) identical.
14793
14826
  *
14794
- * pool path: a single shared pool entry produces one
14795
- * `DiscoveredMCPTool` snapshot; each `SessionMcpView` clones with
14796
- * its own per-session trust before registering into its session's
14797
- * `ToolRegistry`. Without this clone, mutating `trust` on the shared
14798
- * instance would cross-contaminate sessions.
14799
- *
14800
- * Trust is the only field that legitimately varies per session;
14801
- * everything else (transport, schema, name) is transport-level.
14827
+ * Kept as the trust-only convenience used by non-pool callers. Pooled
14828
+ * session views use `withSessionConfig` because eager loading can differ
14829
+ * between sessions too.
14802
14830
  */
14803
14831
  withTrust(trust) {
14804
- if (trust === this.trust) return this;
14832
+ return this.withSessionConfig(trust, this.alwaysLoad);
14833
+ }
14834
+ /**
14835
+ * Return a per-session projection of metadata that does not belong to the
14836
+ * shared MCP transport snapshot. Pool entries can be shared by sessions
14837
+ * whose trust and eager-loading settings differ, so neither field may be
14838
+ * mutated on the canonical tool instance.
14839
+ */
14840
+ withSessionConfig(trust, alwaysLoad) {
14841
+ if (trust === this.trust && alwaysLoad === this.alwaysLoad) return this;
14805
14842
  return new _DiscoveredMCPTool(
14806
14843
  this.mcpTool,
14807
14844
  this.serverName,
@@ -14819,7 +14856,7 @@ var DiscoveredMCPTool = class _DiscoveredMCPTool extends BaseDeclarativeTool {
14819
14856
  this.mcpTimeout,
14820
14857
  this.mcpToolIdleTimeoutMs,
14821
14858
  this.annotations,
14822
- this.alwaysLoad,
14859
+ alwaysLoad,
14823
14860
  this.allowInvocationContext
14824
14861
  );
14825
14862
  }
@@ -15311,6 +15348,50 @@ var LoopDetectedEvent = class {
15311
15348
  this.prompt_id = prompt_id;
15312
15349
  }
15313
15350
  };
15351
+ var RepeatedToolFailureGuardEvent = class {
15352
+ static {
15353
+ __name(this, "RepeatedToolFailureGuardEvent");
15354
+ }
15355
+ "event.name";
15356
+ "event.timestamp";
15357
+ prompt_id;
15358
+ route;
15359
+ mode;
15360
+ phase_before;
15361
+ phase_after;
15362
+ decision;
15363
+ failure_count_bucket;
15364
+ batch_count_bucket;
15365
+ candidate_ordinal;
15366
+ constructor(params) {
15367
+ this["event.name"] = "repeated_tool_failure_guard";
15368
+ this["event.timestamp"] = (/* @__PURE__ */ new Date()).toISOString();
15369
+ this.prompt_id = params.prompt_id;
15370
+ this.route = params.route;
15371
+ this.mode = params.mode;
15372
+ this.phase_before = params.phase_before;
15373
+ this.phase_after = params.phase_after;
15374
+ this.decision = params.decision;
15375
+ this.failure_count_bucket = params.failure_count_bucket;
15376
+ this.batch_count_bucket = params.batch_count_bucket;
15377
+ this.candidate_ordinal = params.candidate_ordinal;
15378
+ if (params.reset_reason !== void 0) {
15379
+ this.reset_reason = params.reset_reason;
15380
+ }
15381
+ if (params.terminal_status !== void 0) {
15382
+ this.terminal_status = params.terminal_status;
15383
+ }
15384
+ if (params.execution_status !== void 0) {
15385
+ this.execution_status = params.execution_status;
15386
+ }
15387
+ if (params.execution_error_type !== void 0) {
15388
+ this.execution_error_type = params.execution_error_type;
15389
+ }
15390
+ if (params.tool_type !== void 0) {
15391
+ this.tool_type = params.tool_type;
15392
+ }
15393
+ }
15394
+ };
15314
15395
  var LoopDetectionDisabledEvent = class {
15315
15396
  static {
15316
15397
  __name(this, "LoopDetectionDisabledEvent");
@@ -16107,120 +16188,6 @@ __name(getFileReadDefaultPermission, "getFileReadDefaultPermission");
16107
16188
 
16108
16189
  // packages/core/src/services/visionBridge/vision-bridge-service.ts
16109
16190
  init_esbuild_shims();
16110
-
16111
- // packages/core/src/utils/sideQuery.ts
16112
- init_esbuild_shims();
16113
- import { readFile as readFile2 } from "node:fs/promises";
16114
- function buildDefaultPromptId(purpose) {
16115
- return purpose ? `side-query:${purpose}` : "side-query";
16116
- }
16117
- __name(buildDefaultPromptId, "buildDefaultPromptId");
16118
- function resolveDefaultModel(config, override) {
16119
- return override ?? config.getFastModel?.() ?? config.getModel() ?? DEFAULT_QWEN_MODEL;
16120
- }
16121
- __name(resolveDefaultModel, "resolveDefaultModel");
16122
- function applyThinkingDefault(callerConfig) {
16123
- const thinkingOverride = callerConfig?.thinkingConfig;
16124
- return {
16125
- ...callerConfig ?? {},
16126
- thinkingConfig: thinkingOverride ? { includeThoughts: false, ...thinkingOverride } : { includeThoughts: false }
16127
- };
16128
- }
16129
- __name(applyThinkingDefault, "applyThinkingDefault");
16130
- async function getOutputLanguageInstruction(config) {
16131
- const outputLanguageFilePath = config.getOutputLanguageFilePath?.();
16132
- if (!outputLanguageFilePath) return void 0;
16133
- try {
16134
- const preference = (await readFile2(outputLanguageFilePath, "utf8")).trim();
16135
- if (!preference) return void 0;
16136
- return [
16137
- "Follow the user-visible output language preference below for this side query.",
16138
- "This preference overrides any earlier language-selection rule in this system instruction.",
16139
- preference
16140
- ].join("\n\n");
16141
- } catch {
16142
- return void 0;
16143
- }
16144
- }
16145
- __name(getOutputLanguageInstruction, "getOutputLanguageInstruction");
16146
- function appendSystemInstruction(systemInstruction, outputLanguageInstruction) {
16147
- if (!outputLanguageInstruction) return systemInstruction;
16148
- if (systemInstruction === void 0) return outputLanguageInstruction;
16149
- if (typeof systemInstruction === "string") {
16150
- return `${systemInstruction}
16151
-
16152
- ${outputLanguageInstruction}`;
16153
- }
16154
- if (Array.isArray(systemInstruction)) {
16155
- return [...systemInstruction, { text: outputLanguageInstruction }];
16156
- }
16157
- if (typeof systemInstruction === "object" && "parts" in systemInstruction && Array.isArray(systemInstruction.parts)) {
16158
- return {
16159
- ...systemInstruction,
16160
- parts: [...systemInstruction.parts, { text: outputLanguageInstruction }]
16161
- };
16162
- }
16163
- return [systemInstruction, { text: outputLanguageInstruction }];
16164
- }
16165
- __name(appendSystemInstruction, "appendSystemInstruction");
16166
- function isJsonOptions(options) {
16167
- return options.schema !== void 0 && options.schema !== null;
16168
- }
16169
- __name(isJsonOptions, "isJsonOptions");
16170
- async function runSideQuery(config, options) {
16171
- const model = resolveDefaultModel(config, options.model);
16172
- const promptId = options.promptId ?? buildDefaultPromptId(options.purpose);
16173
- const requestConfig = applyThinkingDefault(options.config);
16174
- const outputLanguageInstruction = options.skipOutputLanguagePreference ? void 0 : await getOutputLanguageInstruction(config);
16175
- const systemInstruction = appendSystemInstruction(
16176
- options.systemInstruction,
16177
- outputLanguageInstruction
16178
- );
16179
- if (isJsonOptions(options)) {
16180
- const response = await config.getBaseLlmClient().generateJson({
16181
- contents: options.contents,
16182
- schema: options.schema,
16183
- abortSignal: options.abortSignal,
16184
- model,
16185
- systemInstruction,
16186
- promptId,
16187
- config: requestConfig,
16188
- ...options.maxAttempts !== void 0 && {
16189
- maxAttempts: options.maxAttempts
16190
- }
16191
- });
16192
- const schemaError = SchemaValidator.validate(options.schema, response);
16193
- if (schemaError) {
16194
- throw new Error(`Invalid side query response: ${schemaError}`);
16195
- }
16196
- const customError2 = options.validate?.(response);
16197
- if (customError2) {
16198
- throw new Error(customError2);
16199
- }
16200
- return response;
16201
- }
16202
- const result = await config.getBaseLlmClient().generateText({
16203
- contents: options.contents,
16204
- model,
16205
- systemInstruction,
16206
- abortSignal: options.abortSignal,
16207
- promptId,
16208
- config: requestConfig,
16209
- ...options.maxAttempts !== void 0 && {
16210
- maxAttempts: options.maxAttempts
16211
- },
16212
- ...options.stream !== void 0 && { stream: options.stream },
16213
- ...options.failClosed !== void 0 && { failClosed: options.failClosed }
16214
- });
16215
- const customError = options.validate?.(result.text);
16216
- if (customError) {
16217
- throw new Error(customError);
16218
- }
16219
- return result;
16220
- }
16221
- __name(runSideQuery, "runSideQuery");
16222
-
16223
- // packages/core/src/services/visionBridge/vision-bridge-service.ts
16224
16191
  var debugLogger8 = createDebugLogger("VISION_BRIDGE");
16225
16192
  var turnImageCounts = /* @__PURE__ */ new WeakMap();
16226
16193
  var BRIDGE_MAX_OUTPUT_TOKENS = 2048;
@@ -16961,7 +16928,6 @@ var ReadFileTool = class _ReadFileTool extends BaseDeclarativeTool {
16961
16928
  };
16962
16929
 
16963
16930
  export {
16964
- runSideQuery,
16965
16931
  VISION_BRIDGE_MAX_IMAGES,
16966
16932
  VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES,
16967
16933
  normalizeParts,
@@ -17010,6 +16976,7 @@ export {
17010
16976
  logApiCancel,
17011
16977
  logApiResponse,
17012
16978
  logLoopDetected,
16979
+ logRepeatedToolFailureGuard,
17013
16980
  logLoopDetectionDisabled,
17014
16981
  logNextSpeakerCheck,
17015
16982
  logSlashCommand,
@@ -17119,6 +17086,7 @@ export {
17119
17086
  RipgrepFallbackEvent,
17120
17087
  RipgrepRuntimeRecoveryEvent,
17121
17088
  LoopDetectedEvent,
17089
+ RepeatedToolFailureGuardEvent,
17122
17090
  LoopDetectionDisabledEvent,
17123
17091
  NextSpeakerCheckEvent,
17124
17092
  makeSlashCommandEvent,