@xgjktech/xg_cwork_im 1.19.43 → 1.19.45

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 (394) hide show
  1. package/README.md +492 -492
  2. package/dist/src/account-connection.d.ts +1 -1
  3. package/dist/src/account-connection.d.ts.map +1 -1
  4. package/dist/src/account-connection.js +136 -25
  5. package/dist/src/account-connection.js.map +1 -1
  6. package/dist/src/account-reconciler.d.ts +17 -8
  7. package/dist/src/account-reconciler.d.ts.map +1 -1
  8. package/dist/src/account-reconciler.js +31 -11
  9. package/dist/src/account-reconciler.js.map +1 -1
  10. package/dist/src/account-reconciler.test.js +19 -1
  11. package/dist/src/account-reconciler.test.js.map +1 -1
  12. package/dist/src/action-store-access.d.ts +2 -0
  13. package/dist/src/action-store-access.d.ts.map +1 -1
  14. package/dist/src/action-store-access.js +7 -0
  15. package/dist/src/action-store-access.js.map +1 -1
  16. package/dist/src/action-store-lifecycle.test.d.ts +2 -0
  17. package/dist/src/action-store-lifecycle.test.d.ts.map +1 -0
  18. package/dist/src/action-store-lifecycle.test.js +195 -0
  19. package/dist/src/action-store-lifecycle.test.js.map +1 -0
  20. package/dist/src/active-cron-context-store.d.ts +20 -0
  21. package/dist/src/active-cron-context-store.d.ts.map +1 -0
  22. package/dist/src/active-cron-context-store.js +73 -0
  23. package/dist/src/active-cron-context-store.js.map +1 -0
  24. package/dist/src/active-round-registry.d.ts +6 -0
  25. package/dist/src/active-round-registry.d.ts.map +1 -1
  26. package/dist/src/active-round-registry.js +27 -2
  27. package/dist/src/active-round-registry.js.map +1 -1
  28. package/dist/src/agent-stream-client-registry.d.ts +2 -0
  29. package/dist/src/agent-stream-client-registry.d.ts.map +1 -1
  30. package/dist/src/agent-stream-client-registry.js +6 -1
  31. package/dist/src/agent-stream-client-registry.js.map +1 -1
  32. package/dist/src/apply-sync-mapping.d.ts +1 -1
  33. package/dist/src/apply-sync-mapping.d.ts.map +1 -1
  34. package/dist/src/assistant-item-delivery.d.ts +27 -0
  35. package/dist/src/assistant-item-delivery.d.ts.map +1 -0
  36. package/dist/src/assistant-item-delivery.js +134 -0
  37. package/dist/src/assistant-item-delivery.js.map +1 -0
  38. package/dist/src/assistant-item-delivery.test.d.ts +2 -0
  39. package/dist/src/assistant-item-delivery.test.d.ts.map +1 -0
  40. package/dist/src/assistant-item-delivery.test.js +116 -0
  41. package/dist/src/assistant-item-delivery.test.js.map +1 -0
  42. package/dist/src/assistant-item-sink.d.ts +17 -0
  43. package/dist/src/assistant-item-sink.d.ts.map +1 -0
  44. package/dist/src/assistant-item-sink.js +34 -0
  45. package/dist/src/assistant-item-sink.js.map +1 -0
  46. package/dist/src/auth.d.ts +2 -0
  47. package/dist/src/auth.d.ts.map +1 -1
  48. package/dist/src/auth.js +4 -0
  49. package/dist/src/auth.js.map +1 -1
  50. package/dist/src/block-streaming-config.test.js +7 -1
  51. package/dist/src/block-streaming-config.test.js.map +1 -1
  52. package/dist/src/build-project-prompt.test.js +18 -18
  53. package/dist/src/channel-config.d.ts +83 -17
  54. package/dist/src/channel-config.d.ts.map +1 -1
  55. package/dist/src/channel-config.js +46 -13
  56. package/dist/src/channel-config.js.map +1 -1
  57. package/dist/src/channel-config.test.js +58 -1
  58. package/dist/src/channel-config.test.js.map +1 -1
  59. package/dist/src/channel.d.ts +4 -3
  60. package/dist/src/channel.d.ts.map +1 -1
  61. package/dist/src/channel.js +127 -4
  62. package/dist/src/channel.js.map +1 -1
  63. package/dist/src/connection-workspace-event.test.d.ts +2 -0
  64. package/dist/src/connection-workspace-event.test.d.ts.map +1 -0
  65. package/dist/src/connection-workspace-event.test.js +74 -0
  66. package/dist/src/connection-workspace-event.test.js.map +1 -0
  67. package/dist/src/connection.d.ts +28 -0
  68. package/dist/src/connection.d.ts.map +1 -1
  69. package/dist/src/connection.js +155 -78
  70. package/dist/src/connection.js.map +1 -1
  71. package/dist/src/connection.test.d.ts +2 -0
  72. package/dist/src/connection.test.d.ts.map +1 -0
  73. package/dist/src/connection.test.js +110 -0
  74. package/dist/src/connection.test.js.map +1 -0
  75. package/dist/src/cron-appkey-binding-store.d.ts +29 -0
  76. package/dist/src/cron-appkey-binding-store.d.ts.map +1 -0
  77. package/dist/src/cron-appkey-binding-store.js +239 -0
  78. package/dist/src/cron-appkey-binding-store.js.map +1 -0
  79. package/dist/src/cron-appkey-binding-store.test.d.ts +2 -0
  80. package/dist/src/cron-appkey-binding-store.test.d.ts.map +1 -0
  81. package/dist/src/cron-appkey-binding-store.test.js +387 -0
  82. package/dist/src/cron-appkey-binding-store.test.js.map +1 -0
  83. package/dist/src/deliver-text.test.js +22 -22
  84. package/dist/src/delivery/ai-task-push.d.ts +16 -0
  85. package/dist/src/delivery/ai-task-push.d.ts.map +1 -0
  86. package/dist/src/delivery/ai-task-push.js +44 -0
  87. package/dist/src/delivery/ai-task-push.js.map +1 -0
  88. package/dist/src/delivery/ai-task-push.test.d.ts +2 -0
  89. package/dist/src/delivery/ai-task-push.test.d.ts.map +1 -0
  90. package/dist/src/delivery/ai-task-push.test.js +44 -0
  91. package/dist/src/delivery/ai-task-push.test.js.map +1 -0
  92. package/dist/src/delivery/deliver-text.test.js +22 -22
  93. package/dist/src/delivery/send-service.d.ts +4 -1
  94. package/dist/src/delivery/send-service.d.ts.map +1 -1
  95. package/dist/src/delivery/send-service.js +3 -5
  96. package/dist/src/delivery/send-service.js.map +1 -1
  97. package/dist/src/delivery/turn-deliver-buffer.test.js +25 -25
  98. package/dist/src/dispatch-mentioned-reply.d.ts +7 -2
  99. package/dist/src/dispatch-mentioned-reply.d.ts.map +1 -1
  100. package/dist/src/dispatch-mentioned-reply.js +243 -68
  101. package/dist/src/dispatch-mentioned-reply.js.map +1 -1
  102. package/dist/src/gateway-session-queue.d.ts +2 -6
  103. package/dist/src/gateway-session-queue.d.ts.map +1 -1
  104. package/dist/src/gateway-session-queue.js +78 -21
  105. package/dist/src/gateway-session-queue.js.map +1 -1
  106. package/dist/src/group-history-tool.d.ts +1 -1
  107. package/dist/src/group-history-tool.d.ts.map +1 -1
  108. package/dist/src/inbound/dispatch-mentioned-reply.d.ts.map +1 -1
  109. package/dist/src/inbound/dispatch-mentioned-reply.js +43 -3
  110. package/dist/src/inbound/dispatch-mentioned-reply.js.map +1 -1
  111. package/dist/src/inbound/inbound-display.d.ts.map +1 -1
  112. package/dist/src/inbound/inbound-display.js +2 -0
  113. package/dist/src/inbound/inbound-display.js.map +1 -1
  114. package/dist/src/inbound/inbound-display.test.js +1 -0
  115. package/dist/src/inbound/inbound-display.test.js.map +1 -1
  116. package/dist/src/inbound-display.d.ts.map +1 -1
  117. package/dist/src/inbound-display.js +2 -1
  118. package/dist/src/inbound-display.js.map +1 -1
  119. package/dist/src/inbound-input-media.d.ts +1 -1
  120. package/dist/src/inbound-input-media.d.ts.map +1 -1
  121. package/dist/src/inbound-media-local.d.ts +1 -1
  122. package/dist/src/inbound-media-local.d.ts.map +1 -1
  123. package/dist/src/inbound-model.d.ts +9 -0
  124. package/dist/src/inbound-model.d.ts.map +1 -1
  125. package/dist/src/inbound-model.js +26 -0
  126. package/dist/src/inbound-model.js.map +1 -1
  127. package/dist/src/inbound-model.test.js +23 -1
  128. package/dist/src/inbound-model.test.js.map +1 -1
  129. package/dist/src/inbound-terminal-state.d.ts +2 -0
  130. package/dist/src/inbound-terminal-state.d.ts.map +1 -1
  131. package/dist/src/inbound-terminal-state.js +7 -2
  132. package/dist/src/inbound-terminal-state.js.map +1 -1
  133. package/dist/src/nas-site.d.ts +16 -0
  134. package/dist/src/nas-site.d.ts.map +1 -0
  135. package/dist/src/nas-site.js +17 -0
  136. package/dist/src/nas-site.js.map +1 -0
  137. package/dist/src/nas-volumes.d.ts +12 -2
  138. package/dist/src/nas-volumes.d.ts.map +1 -1
  139. package/dist/src/nas-volumes.js +147 -37
  140. package/dist/src/nas-volumes.js.map +1 -1
  141. package/dist/src/nas-volumes.test.js +39 -7
  142. package/dist/src/nas-volumes.test.js.map +1 -1
  143. package/dist/src/per-message-model-pending.d.ts +38 -3
  144. package/dist/src/per-message-model-pending.d.ts.map +1 -1
  145. package/dist/src/per-message-model-pending.js +96 -7
  146. package/dist/src/per-message-model-pending.js.map +1 -1
  147. package/dist/src/plan/action-store-lifecycle.test.js +5 -5
  148. package/dist/src/plan/plan-core-db.test.js +9 -9
  149. package/dist/src/plan/plan-core-snapshot.test.js +9 -9
  150. package/dist/src/plan-core-adapter.d.ts +54 -0
  151. package/dist/src/plan-core-adapter.d.ts.map +1 -0
  152. package/dist/src/plan-core-adapter.js +104 -0
  153. package/dist/src/plan-core-adapter.js.map +1 -0
  154. package/dist/src/plan-core-adapter.test.d.ts +2 -0
  155. package/dist/src/plan-core-adapter.test.d.ts.map +1 -0
  156. package/dist/src/plan-core-adapter.test.js +183 -0
  157. package/dist/src/plan-core-adapter.test.js.map +1 -0
  158. package/dist/src/plan-core-db.d.ts +22 -0
  159. package/dist/src/plan-core-db.d.ts.map +1 -0
  160. package/dist/src/plan-core-db.js +91 -0
  161. package/dist/src/plan-core-db.js.map +1 -0
  162. package/dist/src/plan-core-db.test.d.ts +2 -0
  163. package/dist/src/plan-core-db.test.d.ts.map +1 -0
  164. package/dist/src/plan-core-db.test.js +115 -0
  165. package/dist/src/plan-core-db.test.js.map +1 -0
  166. package/dist/src/plan-core-snapshot.d.ts +23 -0
  167. package/dist/src/plan-core-snapshot.d.ts.map +1 -0
  168. package/dist/src/plan-core-snapshot.js +66 -0
  169. package/dist/src/plan-core-snapshot.js.map +1 -0
  170. package/dist/src/plan-core-snapshot.test.d.ts +2 -0
  171. package/dist/src/plan-core-snapshot.test.d.ts.map +1 -0
  172. package/dist/src/plan-core-snapshot.test.js +157 -0
  173. package/dist/src/plan-core-snapshot.test.js.map +1 -0
  174. package/dist/src/plan-event-subscription.d.ts +1 -1
  175. package/dist/src/plan-event-subscription.d.ts.map +1 -1
  176. package/dist/src/plan-stat-event.d.ts +4 -15
  177. package/dist/src/plan-stat-event.d.ts.map +1 -1
  178. package/dist/src/plan-stat-event.js +4 -37
  179. package/dist/src/plan-stat-event.js.map +1 -1
  180. package/dist/src/plan-stat-event.test.js +1 -118
  181. package/dist/src/plan-stat-event.test.js.map +1 -1
  182. package/dist/src/plan-tool-middleware.d.ts +3 -11
  183. package/dist/src/plan-tool-middleware.d.ts.map +1 -1
  184. package/dist/src/plan-tool-middleware.js +11 -60
  185. package/dist/src/plan-tool-middleware.js.map +1 -1
  186. package/dist/src/plan-tool-middleware.test.js +83 -603
  187. package/dist/src/plan-tool-middleware.test.js.map +1 -1
  188. package/dist/src/plan-ws-registry.d.ts +4 -0
  189. package/dist/src/plan-ws-registry.d.ts.map +1 -1
  190. package/dist/src/plan-ws-registry.js +12 -0
  191. package/dist/src/plan-ws-registry.js.map +1 -1
  192. package/dist/src/plan-ws-registry.test.js +19 -1
  193. package/dist/src/plan-ws-registry.test.js.map +1 -1
  194. package/dist/src/plugin/types.d.ts +5 -0
  195. package/dist/src/plugin/types.d.ts.map +1 -1
  196. package/dist/src/plugin-dispose.d.ts +22 -0
  197. package/dist/src/plugin-dispose.d.ts.map +1 -0
  198. package/dist/src/plugin-dispose.js +66 -0
  199. package/dist/src/plugin-dispose.js.map +1 -0
  200. package/dist/src/process-shared-store.d.ts +48 -0
  201. package/dist/src/process-shared-store.d.ts.map +1 -0
  202. package/dist/src/process-shared-store.js +89 -0
  203. package/dist/src/process-shared-store.js.map +1 -0
  204. package/dist/src/process-shared-store.test.d.ts +2 -0
  205. package/dist/src/process-shared-store.test.d.ts.map +1 -0
  206. package/dist/src/process-shared-store.test.js +60 -0
  207. package/dist/src/process-shared-store.test.js.map +1 -0
  208. package/dist/src/register-exec-env-hook.d.ts +44 -0
  209. package/dist/src/register-exec-env-hook.d.ts.map +1 -0
  210. package/dist/src/register-exec-env-hook.js +473 -0
  211. package/dist/src/register-exec-env-hook.js.map +1 -0
  212. package/dist/src/register-exec-env-hook.test.d.ts +2 -0
  213. package/dist/src/register-exec-env-hook.test.d.ts.map +1 -0
  214. package/dist/src/register-exec-env-hook.test.js +189 -0
  215. package/dist/src/register-exec-env-hook.test.js.map +1 -0
  216. package/dist/src/register-group-prompt-hook.d.ts +17 -0
  217. package/dist/src/register-group-prompt-hook.d.ts.map +1 -0
  218. package/dist/src/register-group-prompt-hook.js +45 -0
  219. package/dist/src/register-group-prompt-hook.js.map +1 -0
  220. package/dist/src/register-group-prompt-hook.test.d.ts +2 -0
  221. package/dist/src/register-group-prompt-hook.test.d.ts.map +1 -0
  222. package/dist/src/register-group-prompt-hook.test.js +60 -0
  223. package/dist/src/register-group-prompt-hook.test.js.map +1 -0
  224. package/dist/src/register-per-message-model-hook.d.ts +10 -2
  225. package/dist/src/register-per-message-model-hook.d.ts.map +1 -1
  226. package/dist/src/register-per-message-model-hook.js +32 -6
  227. package/dist/src/register-per-message-model-hook.js.map +1 -1
  228. package/dist/src/register-per-message-model-hook.test.d.ts +2 -0
  229. package/dist/src/register-per-message-model-hook.test.d.ts.map +1 -0
  230. package/dist/src/register-per-message-model-hook.test.js +208 -0
  231. package/dist/src/register-per-message-model-hook.test.js.map +1 -0
  232. package/dist/src/register-run-model-context-hook.d.ts +11 -0
  233. package/dist/src/register-run-model-context-hook.d.ts.map +1 -0
  234. package/dist/src/register-run-model-context-hook.js +23 -0
  235. package/dist/src/register-run-model-context-hook.js.map +1 -0
  236. package/dist/src/reply-dispatch-driver.d.ts +89 -0
  237. package/dist/src/reply-dispatch-driver.d.ts.map +1 -0
  238. package/dist/src/reply-dispatch-driver.js +294 -0
  239. package/dist/src/reply-dispatch-driver.js.map +1 -0
  240. package/dist/src/reply-dispatch-driver.test.d.ts +2 -0
  241. package/dist/src/reply-dispatch-driver.test.d.ts.map +1 -0
  242. package/dist/src/reply-dispatch-driver.test.js +363 -0
  243. package/dist/src/reply-dispatch-driver.test.js.map +1 -0
  244. package/dist/src/resolve-inbound-group-prompt.d.ts +17 -1
  245. package/dist/src/resolve-inbound-group-prompt.d.ts.map +1 -1
  246. package/dist/src/resolve-inbound-group-prompt.js +16 -2
  247. package/dist/src/resolve-inbound-group-prompt.js.map +1 -1
  248. package/dist/src/run-model-context.d.ts +45 -0
  249. package/dist/src/run-model-context.d.ts.map +1 -0
  250. package/dist/src/run-model-context.js +108 -0
  251. package/dist/src/run-model-context.js.map +1 -0
  252. package/dist/src/run-model-context.test.d.ts +2 -0
  253. package/dist/src/run-model-context.test.d.ts.map +1 -0
  254. package/dist/src/run-model-context.test.js +68 -0
  255. package/dist/src/run-model-context.test.js.map +1 -0
  256. package/dist/src/run-usage-session.d.ts +4 -1
  257. package/dist/src/run-usage-session.d.ts.map +1 -1
  258. package/dist/src/run-usage-session.js +13 -1
  259. package/dist/src/run-usage-session.js.map +1 -1
  260. package/dist/src/run-usage.d.ts +15 -0
  261. package/dist/src/run-usage.d.ts.map +1 -1
  262. package/dist/src/run-usage.js +30 -4
  263. package/dist/src/run-usage.js.map +1 -1
  264. package/dist/src/run-usage.test.js +99 -11
  265. package/dist/src/run-usage.test.js.map +1 -1
  266. package/dist/src/send-file-tool.d.ts +1 -1
  267. package/dist/src/send-file-tool.d.ts.map +1 -1
  268. package/dist/src/send-group-message-tool.d.ts +1 -1
  269. package/dist/src/send-group-message-tool.d.ts.map +1 -1
  270. package/dist/src/session/build-project-prompt.test.js +18 -18
  271. package/dist/src/session/session-model-fallback.d.ts.map +1 -1
  272. package/dist/src/session/session-model-fallback.js +6 -3
  273. package/dist/src/session/session-model-fallback.js.map +1 -1
  274. package/dist/src/session-env-store.d.ts +55 -0
  275. package/dist/src/session-env-store.d.ts.map +1 -0
  276. package/dist/src/session-env-store.js +328 -0
  277. package/dist/src/session-env-store.js.map +1 -0
  278. package/dist/src/session-env-store.test.d.ts +2 -0
  279. package/dist/src/session-env-store.test.d.ts.map +1 -0
  280. package/dist/src/session-env-store.test.js +151 -0
  281. package/dist/src/session-env-store.test.js.map +1 -0
  282. package/dist/src/session-group-prompt.d.ts +34 -0
  283. package/dist/src/session-group-prompt.d.ts.map +1 -0
  284. package/dist/src/session-group-prompt.js +101 -0
  285. package/dist/src/session-group-prompt.js.map +1 -0
  286. package/dist/src/session-group-prompt.test.d.ts +2 -0
  287. package/dist/src/session-group-prompt.test.d.ts.map +1 -0
  288. package/dist/src/session-group-prompt.test.js +72 -0
  289. package/dist/src/session-group-prompt.test.js.map +1 -0
  290. package/dist/src/session-im-context.d.ts +2 -0
  291. package/dist/src/session-im-context.d.ts.map +1 -1
  292. package/dist/src/session-im-context.js +11 -2
  293. package/dist/src/session-im-context.js.map +1 -1
  294. package/dist/src/session-model-fallback.d.ts +13 -0
  295. package/dist/src/session-model-fallback.d.ts.map +1 -0
  296. package/dist/src/session-model-fallback.js +24 -0
  297. package/dist/src/session-model-fallback.js.map +1 -0
  298. package/dist/src/subagent-monitor.d.ts +14 -1
  299. package/dist/src/subagent-monitor.d.ts.map +1 -1
  300. package/dist/src/subagent-monitor.js +164 -36
  301. package/dist/src/subagent-monitor.js.map +1 -1
  302. package/dist/src/subagent-monitor.test.js +121 -0
  303. package/dist/src/subagent-monitor.test.js.map +1 -1
  304. package/dist/src/tool-event-adapter.d.ts +31 -0
  305. package/dist/src/tool-event-adapter.d.ts.map +1 -0
  306. package/dist/src/tool-event-adapter.js +83 -0
  307. package/dist/src/tool-event-adapter.js.map +1 -0
  308. package/dist/src/tool-event-adapter.test.d.ts +2 -0
  309. package/dist/src/tool-event-adapter.test.d.ts.map +1 -0
  310. package/dist/src/tool-event-adapter.test.js +93 -0
  311. package/dist/src/tool-event-adapter.test.js.map +1 -0
  312. package/dist/src/tool-json-result.d.ts +1 -1
  313. package/dist/src/tool-json-result.d.ts.map +1 -1
  314. package/dist/src/turn/run-usage-session.d.ts +1 -1
  315. package/dist/src/turn/run-usage-session.d.ts.map +1 -1
  316. package/dist/src/turn/run-usage-session.js +7 -4
  317. package/dist/src/turn/run-usage-session.js.map +1 -1
  318. package/dist/src/turn-agent-event-subscription.d.ts +29 -0
  319. package/dist/src/turn-agent-event-subscription.d.ts.map +1 -0
  320. package/dist/src/turn-agent-event-subscription.js +289 -0
  321. package/dist/src/turn-agent-event-subscription.js.map +1 -0
  322. package/dist/src/turn-agent-event-subscription.test.d.ts +2 -0
  323. package/dist/src/turn-agent-event-subscription.test.d.ts.map +1 -0
  324. package/dist/src/turn-agent-event-subscription.test.js +165 -0
  325. package/dist/src/turn-agent-event-subscription.test.js.map +1 -0
  326. package/dist/src/turn-deliver-buffer.test.js +25 -25
  327. package/dist/src/turn-end-controller.d.ts +61 -0
  328. package/dist/src/turn-end-controller.d.ts.map +1 -0
  329. package/dist/src/turn-end-controller.js +239 -0
  330. package/dist/src/turn-end-controller.js.map +1 -0
  331. package/dist/src/turn-end-controller.test.d.ts +2 -0
  332. package/dist/src/turn-end-controller.test.d.ts.map +1 -0
  333. package/dist/src/turn-end-controller.test.js +97 -0
  334. package/dist/src/turn-end-controller.test.js.map +1 -0
  335. package/dist/src/types.d.ts +48 -1
  336. package/dist/src/types.d.ts.map +1 -1
  337. package/dist/src/types.js.map +1 -1
  338. package/dist/src/workspace-event-protocol.d.ts +3 -0
  339. package/dist/src/workspace-event-protocol.d.ts.map +1 -0
  340. package/dist/src/workspace-event-protocol.js +3 -0
  341. package/dist/src/workspace-event-protocol.js.map +1 -0
  342. package/dist/src/workspace-event-scheduler.d.ts +54 -0
  343. package/dist/src/workspace-event-scheduler.d.ts.map +1 -0
  344. package/dist/src/workspace-event-scheduler.js +131 -0
  345. package/dist/src/workspace-event-scheduler.js.map +1 -0
  346. package/dist/src/workspace-event-scheduler.test.d.ts +2 -0
  347. package/dist/src/workspace-event-scheduler.test.d.ts.map +1 -0
  348. package/dist/src/workspace-event-scheduler.test.js +157 -0
  349. package/dist/src/workspace-event-scheduler.test.js.map +1 -0
  350. package/dist/src/workspace-event.d.ts +28 -0
  351. package/dist/src/workspace-event.d.ts.map +1 -0
  352. package/dist/src/workspace-event.js +674 -0
  353. package/dist/src/workspace-event.js.map +1 -0
  354. package/dist/src/workspace-event.test.d.ts +2 -0
  355. package/dist/src/workspace-event.test.d.ts.map +1 -0
  356. package/dist/src/workspace-event.test.js +265 -0
  357. package/dist/src/workspace-event.test.js.map +1 -0
  358. package/dist/src/ws-inbound-schema.d.ts.map +1 -1
  359. package/dist/src/ws-inbound-schema.js +1 -0
  360. package/dist/src/ws-inbound-schema.js.map +1 -1
  361. package/dist/src/ws-inbound-schema.test.d.ts +2 -0
  362. package/dist/src/ws-inbound-schema.test.d.ts.map +1 -0
  363. package/dist/src/ws-inbound-schema.test.js +58 -0
  364. package/dist/src/ws-inbound-schema.test.js.map +1 -0
  365. package/openclaw.plugin.json +30 -30
  366. package/package.json +83 -83
  367. package/dist/src/modified-file-push-tracker.d.ts +0 -24
  368. package/dist/src/modified-file-push-tracker.d.ts.map +0 -1
  369. package/dist/src/modified-file-push-tracker.js +0 -125
  370. package/dist/src/modified-file-push-tracker.js.map +0 -1
  371. package/dist/src/plan/action-dispatch-event-compat.test.d.ts +0 -2
  372. package/dist/src/plan/action-dispatch-event-compat.test.d.ts.map +0 -1
  373. package/dist/src/plan/action-dispatch-event-compat.test.js +0 -81
  374. package/dist/src/plan/action-dispatch-event-compat.test.js.map +0 -1
  375. package/dist/src/plan-store-access.d.ts +0 -23
  376. package/dist/src/plan-store-access.d.ts.map +0 -1
  377. package/dist/src/plan-store-access.js +0 -96
  378. package/dist/src/plan-store-access.js.map +0 -1
  379. package/dist/src/plan-store-access.test.d.ts +0 -2
  380. package/dist/src/plan-store-access.test.d.ts.map +0 -1
  381. package/dist/src/plan-store-access.test.js +0 -207
  382. package/dist/src/plan-store-access.test.js.map +0 -1
  383. package/dist/src/progress-display.d.ts +0 -77
  384. package/dist/src/progress-display.d.ts.map +0 -1
  385. package/dist/src/progress-display.js +0 -420
  386. package/dist/src/progress-display.js.map +0 -1
  387. package/dist/src/subagent-delivery-phase.d.ts +0 -10
  388. package/dist/src/subagent-delivery-phase.d.ts.map +0 -1
  389. package/dist/src/subagent-delivery-phase.js +0 -4
  390. package/dist/src/subagent-delivery-phase.js.map +0 -1
  391. package/dist/src/subagent-delivery-phase.test.d.ts +0 -2
  392. package/dist/src/subagent-delivery-phase.test.d.ts.map +0 -1
  393. package/dist/src/subagent-delivery-phase.test.js +0 -12
  394. package/dist/src/subagent-delivery-phase.test.js.map +0 -1
@@ -9,18 +9,26 @@ import { shouldSuppressFallbackNoticeForIm } from "./per-message-fallback-notice
9
9
  import { resolveThinkingWsDisplayUpdate, THINKING_WS_SUMMARY_HINT, ThinkingWsBuffer, WS_THINKING_DISPLAY_MAX, } from "./thinking-ws-progress.js";
10
10
  import { resolveItemEventGuard } from "./item-event-guard.js";
11
11
  import { clearPendingPerMessageModel, setPendingPerMessageModel, splitModelRef, } from "./per-message-model-pending.js";
12
- import { IM_BLOCK_STREAMING_COALESCE_DEFAULT, isDeliverPartialSnapshotEnabled, isDeliverSegmentBufferEnabled, isInboundBlockStreamingEnabled, resolveBlockStreamingReplyOptions, resolveDispatchOpenClawCfg, } from "./channel-config.js";
12
+ import { resolveSessionModelFallbackContext } from "./session-model-fallback.js";
13
+ import { IM_BLOCK_STREAMING_COALESCE_DEFAULT, isDeliverAssistantItemsEnabled, isDeliverPartialSnapshotEnabled, isDeliverSegmentBufferEnabled, isInboundBlockStreamingEnabled, resolveBlockStreamingReplyOptions, resolveDispatchOpenClawCfg, } from "./channel-config.js";
14
+ import { clearAssistantItemSink, setAssistantItemSink } from "./assistant-item-sink.js";
15
+ import { flushAssistantItem, resetAssistantItem } from "./assistant-item-delivery.js";
13
16
  import { sendReplyDeliverBlock, sendTextMessage } from "./send-service.js";
14
17
  import { isDeliverPayloadSendable, snapshotSupersedesBufferText, TurnDeliverBuffer } from "./turn-deliver-buffer.js";
15
18
  import { buildRunUsageFromSessionEntry, hasReportableUsage, toImStreamRunUsageData } from "./run-usage.js";
16
19
  import { readSessionUsageFields } from "./run-usage-session.js";
17
- import { hasActiveSubagents, deferFinished } from "./subagent-monitor.js";
18
- import { registerPlanWsClientAndSnapshot } from "./plan-stat-event.js";
20
+ import { finalizeRoundMonitoring } from "./subagent-monitor.js";
21
+ import { registerCorePlanSnapshotClient } from "./plan-core-snapshot.js";
19
22
  import { setSessionImContext } from "./session-im-context.js";
20
- import { completeActiveRound, registerActiveRound, } from "./active-round-registry.js";
23
+ import { completeActiveRound, registerActiveRound, roundExists, } from "./active-round-registry.js";
24
+ import { turnEnsureRound, turnForget, turnIsEligible, turnIsSawSubagent, turnOnDispatchReturned, } from "./turn-end-controller.js";
25
+ import { noteWrappedRunId } from "./turn-agent-event-subscription.js";
21
26
  import { resolveNasVolumeDispatchConfig } from "./nas-volumes.js";
27
+ import { resolveDispatchDriver, dispatchXgImInboundReply } from "./reply-dispatch-driver.js";
22
28
  /** WS `displayText` 过长封顶(避免网关/客户端溢出) */
23
29
  const WS_DISPLAY_TEXT_MAX = 200;
30
+ /** 子任务轮次等整轮结束(等父会话非 yield 终态 / 静默兜底)的最长等待时间;超时强制收尾,避免悬挂。 */
31
+ const TURN_END_WAIT_MAX_MS = 30 * 60_000;
24
32
  /** 进度 `summary` 封顶(与网关约定一致) */
25
33
  const WS_PROGRESS_SUMMARY_MAX = 200;
26
34
  /** 流式正文预览(onPartialReply 快照)经 WS 展示的封顶长度 */
@@ -47,7 +55,7 @@ function clipWsProgressSummary(text, max = WS_PROGRESS_SUMMARY_MAX) {
47
55
  }
48
56
  /** 流式 BEGIN → dispatch → 可选 RUN_USAGE → 必发 FINISHED;首包超时仅日志(不对 IM 发超时话术) */
49
57
  export async function dispatchMentionedReply(args) {
50
- const { accountId, rt, cfg, config, log, logPrefix, route, inboundCtx, params, currentIdentity, streamClient, agentWorkspaceDir, nasVolumes, modelOverride, thinkingLevelOverride, autoRouteMeta, inboundTrigger, isStopControl = false } = args;
58
+ const { accountId, rt, cfg, config, log, logPrefix, route, inboundCtx, params, currentIdentity, streamClient, agentWorkspaceDir, nasVolumes, modelOverride, thinkingLevelOverride, autoRouteMeta, inboundTrigger, isStopControl = false, driver: explicitDriver, inboundRecord } = args;
51
59
  const terminal = new InboundTerminalController({
52
60
  messageId: params.msgId,
53
61
  groupId: params.groupId,
@@ -135,14 +143,22 @@ export async function dispatchMentionedReply(args) {
135
143
  let deliverInvokeCount = 0;
136
144
  let deliverCallCount = 0;
137
145
  let deliverSkippedCount = 0;
146
+ let compactionNoticeDelivered = 0;
138
147
  let lastDeliveredText = "";
139
148
  let lastDeliveredHadMedia = false;
140
149
  let agentRunId;
141
150
  let dispatchError = undefined;
142
151
  let lastDeliverError = undefined;
143
152
  let dispatchResult;
153
+ let assistantItemSink;
154
+ // assistant-item 模式下的兜底:核心命令(如 /status)不跑 agent、无 assistant 流,
155
+ // assistant-item 订阅不会触发。这里记录被跳过的正文,收尾若确认本轮无任何投递则补发。
156
+ let assistantItemDelivered = false;
157
+ let assistantItemFallback;
144
158
  const blockStreamingEnabled = isInboundBlockStreamingEnabled(config);
145
- const segmentBufferEnabled = blockStreamingEnabled && isDeliverSegmentBufferEnabled(config);
159
+ // assistant item 投递:订阅 assistant 流按每条 assistant 消息逐条发;开启时 block reply 正文不再发。
160
+ const assistantItemDeliveryEnabled = isDeliverAssistantItemsEnabled(config);
161
+ const segmentBufferEnabled = blockStreamingEnabled && isDeliverSegmentBufferEnabled(config) && !assistantItemDeliveryEnabled;
146
162
  const segmentBuffer = segmentBufferEnabled ? new TurnDeliverBuffer() : undefined;
147
163
  let hasBufferedSendable = false;
148
164
  let flushSegmentBuffer = async () => { };
@@ -218,6 +234,27 @@ export async function dispatchMentionedReply(args) {
218
234
  replyToMsgId: params.msgId,
219
235
  agentId: config.agentId || "main",
220
236
  });
237
+ if (assistantItemDeliveryEnabled) {
238
+ // assistant 流订阅按 item 逐条把完整正文交到这里;复用本 dispatch 的发送链路
239
+ // (config/token/reply/终态/去重),因此 block reply 正文不再重复发送。
240
+ assistantItemSink = (itemId, text) => {
241
+ const label = deliverCallCount === 0 ? "First reply (assistant item)" : "Assistant item";
242
+ return postHttpDeliver({
243
+ payloadForSend: { text },
244
+ textPart: text,
245
+ sendLabel: label,
246
+ invokeNum: deliverInvokeCount,
247
+ hasMedia: false,
248
+ omitDuplicateFileCaption: false,
249
+ }).then(() => {
250
+ assistantItemDelivered = true;
251
+ }).catch((err) => {
252
+ lastDeliverError = err;
253
+ log.error(`${logPrefix} [assistant-item] send failed itemId=${itemId}: ${String(err)}`);
254
+ });
255
+ };
256
+ setAssistantItemSink(route.sessionKey, assistantItemSink);
257
+ }
221
258
  await streamClient.start({
222
259
  groupId: params.groupId,
223
260
  replyToMsgId: params.msgId,
@@ -230,12 +267,31 @@ export async function dispatchMentionedReply(args) {
230
267
  replyToMsgId: params.msgId,
231
268
  streamClient,
232
269
  });
233
- registerPlanWsClientAndSnapshot(params.groupId, streamClient, params.msgId);
270
+ turnEnsureRound(activeRound.roundKey, activeRound.generation);
271
+ registerCorePlanSnapshotClient({
272
+ groupId: params.groupId,
273
+ client: streamClient,
274
+ replyToMsgId: params.msgId,
275
+ agentId: config.agentId || "main",
276
+ sessionKey: route.sessionKey,
277
+ });
234
278
  }
235
279
  if (modelOverride) {
236
280
  const parsed = splitModelRef(modelOverride);
237
281
  if (parsed) {
238
- setPendingPerMessageModel(route.sessionKey, modelOverride);
282
+ const fallbackContext = resolveSessionModelFallbackContext({
283
+ storePath: inboundRecord?.storePath?.trim() ||
284
+ rt.channel.session.resolveStorePath(cfg.session?.store, {
285
+ agentId: route.agentId,
286
+ }),
287
+ sessionKey: route.sessionKey,
288
+ });
289
+ if (fallbackContext.sessionInAutoFallback) {
290
+ log.info(`${logPrefix} [model] session in auto-fallback ` +
291
+ `origin=${fallbackContext.fallbackOrigin?.provider ?? ""}/` +
292
+ `${fallbackContext.fallbackOrigin?.model ?? ""}`);
293
+ }
294
+ setPendingPerMessageModel(route.sessionKey, modelOverride, fallbackContext);
239
295
  }
240
296
  else {
241
297
  log.warn(`${logPrefix} [model] invalid per-message model ref, ignoring: ${modelOverride}`);
@@ -270,9 +326,11 @@ export async function dispatchMentionedReply(args) {
270
326
  }
271
327
  }
272
328
  const dispatchCfg = nasDispatch.cfg;
329
+ const nasConfigOverride = nasDispatch.configOverride;
273
330
  if (nasDispatch.specHash) {
274
331
  log.info(`${logPrefix} [nas-volumes] session=${route.sessionKey} volumes=${nasVolumes?.length ?? "cached"} ` +
275
- `spec=${nasDispatch.specHash.slice(0, 12)} reused=${nasDispatch.reused}`);
332
+ `spec=${nasDispatch.specHash.slice(0, 12)} reused=${nasDispatch.reused}` +
333
+ ` configOverride=${Boolean(nasConfigOverride)}`);
276
334
  }
277
335
  if (blockStreamingEnabled && baseDispatchCfg !== cfg) {
278
336
  log.info(`${logPrefix} [dispatch] IM blockStreamingCoalesce override ` +
@@ -361,19 +419,22 @@ export async function dispatchMentionedReply(args) {
361
419
  });
362
420
  };
363
421
  dispatchInFlight = true;
364
- dispatchResult = await rt.channel.reply.dispatchReplyWithBufferedBlockDispatcher({
422
+ const dispatchRequest = {
365
423
  ctx: inboundCtx,
366
424
  cfg: dispatchCfg,
367
425
  replyOptions: {
368
426
  ...resolveBlockStreamingReplyOptions(config),
369
427
  sourceReplyDeliveryMode: "automatic",
370
428
  suppressDefaultToolProgressMessages: true,
371
- ...(modelOverride ? { modelOverride } : {}),
429
+ allowProgressCallbacksWhenSourceDeliverySuppressed: true,
430
+ // 单轮模型覆盖不走 replyOptions(OpenClaw 不消费 modelOverride 字段),
431
+ // 改由 dispatch 前登记的 pending + before_model_resolve hook 生效。
372
432
  ...(thinkingLevelOverride ? { thinkingLevelOverride } : {}),
373
433
  onAgentRunStart: (runId) => {
374
434
  agentRunStarted = true;
375
435
  agentRunId = runId.trim() || undefined;
376
436
  terminal.setRunId(runId);
437
+ noteWrappedRunId(route.sessionKey, runId.trim());
377
438
  log.info(`${logPrefix} [dispatch] agent run started runId=${runId}`);
378
439
  },
379
440
  onModelSelected: (m) => {
@@ -464,20 +525,6 @@ export async function dispatchMentionedReply(args) {
464
525
  log.debug?.(`${logPrefix} [stream] ignored unmapped onItemEvent ` +
465
526
  `kind=${guard.kind || "unknown"} title=${guard.title || "unknown"}`);
466
527
  },
467
- onPlanUpdate: async (p) => {
468
- const title = typeof p.title === "string" ? p.title.trim() : "";
469
- if (title.length > 0) {
470
- await notifyStreamProgress("PLAN_UPDATE", clipWsDisplayText(`正在更新计划:${title}`, 160), typeof p.explanation === "string" && p.explanation.trim()
471
- ? clipWsProgressSummary(p.explanation.trim())
472
- : undefined);
473
- }
474
- else if (typeof p.explanation === "string" && p.explanation.trim().length > 0) {
475
- await notifyStreamProgress("PLAN_UPDATE", clipWsDisplayText(`计划更新:${p.explanation.trim()}`, 160));
476
- }
477
- else {
478
- await notifyStreamProgress("PLAN_UPDATE", "正在更新执行计划…");
479
- }
480
- },
481
528
  onCompactionStart: async () => {
482
529
  terminal.noteCompactionWsEvent("start");
483
530
  await notifyStreamProgress("RUN_EVENT", "正在整理上下文…");
@@ -580,10 +627,26 @@ export async function dispatchMentionedReply(args) {
580
627
  return;
581
628
  }
582
629
  if (payload.isCompactionNotice === true) {
583
- deliverSkippedCount++;
584
630
  terminal.noteCompactionNotice(textPart || "Compacting context...");
585
- log.info(`${logPrefix} [deliver] Compaction notice suppressed from HTTP (WS progress only): ` +
586
- `${JSON.stringify((textPart || "").slice(0, 80))}`);
631
+ if (textPart) {
632
+ // 放开 HTTP 屏蔽:compaction notice 不再丢弃,作为群消息真实发出,
633
+ // 让用户能看到“会话正在整理/已整理”而不是莫名等待。
634
+ // 故意不走 postHttpDeliver:不标记业务回复、不进入 lastDelivered 去重链,
635
+ // 避免把“整理上下文”误当首条正式答复而破坏 first-reply 计时与终态兜底判定。
636
+ try {
637
+ await terminalSend(textPart);
638
+ compactionNoticeDelivered += 1;
639
+ log.info(`${logPrefix} [deliver] Compaction notice sent via HTTP: ` +
640
+ `${JSON.stringify(textPart.slice(0, 80))}`);
641
+ }
642
+ catch (err) {
643
+ log.warn(`${logPrefix} [deliver] Compaction notice HTTP send failed: ${String(err)}`);
644
+ }
645
+ }
646
+ else {
647
+ deliverSkippedCount++;
648
+ log.info(`${logPrefix} [deliver] Compaction notice empty; skipped`);
649
+ }
587
650
  return;
588
651
  }
589
652
  if (payload.isReasoning === true) {
@@ -643,6 +706,20 @@ export async function dispatchMentionedReply(args) {
643
706
  ` (isThinking=${payload.isThinking ?? false} hasMedia=${hasMedia})`);
644
707
  return;
645
708
  }
709
+ // assistant item 投递开启时:正文由 assistant 流订阅按 item 发送,
710
+ // block reply 不再发纯文本;媒体照发但清空 caption,避免正文重复。
711
+ if (assistantItemDeliveryEnabled && !hasMedia) {
712
+ deliverSkippedCount++;
713
+ // 记录兜底正文:核心命令/无 agent run 的轮次不会有 assistant 流,
714
+ // assistant-item 订阅不会投递,收尾时用它补发避免用户看不到回复。
715
+ assistantItemFallback = {
716
+ payloadForSend: { ...payload, text: textPart, markdown: textPart },
717
+ textPart,
718
+ };
719
+ log.info(`${logPrefix} [deliver] assistant-item mode: text handled by assistant subscription; ` +
720
+ `skipping deliver text (textLen=${textPart.length})`);
721
+ return;
722
+ }
646
723
  let payloadForSend = textPart !== trimmedForSend
647
724
  ? {
648
725
  ...payload,
@@ -651,7 +728,7 @@ export async function dispatchMentionedReply(args) {
651
728
  : { text: textPart }),
652
729
  }
653
730
  : payload;
654
- if (omitDuplicateFileCaption) {
731
+ if (omitDuplicateFileCaption || (assistantItemDeliveryEnabled && hasMedia)) {
655
732
  payloadForSend = { ...payloadForSend, text: "", markdown: "" };
656
733
  }
657
734
  if (segmentBufferEnabled && segmentBuffer) {
@@ -694,11 +771,35 @@ export async function dispatchMentionedReply(args) {
694
771
  }
695
772
  },
696
773
  },
774
+ };
775
+ const effectiveDriver = explicitDriver ?? resolveDispatchDriver(rt, config.dispatchDriver ?? "auto").driver;
776
+ log.info(`${logPrefix} [dispatch] driver=${effectiveDriver} recordInCore=${Boolean(inboundRecord)}`);
777
+ const storePath = inboundRecord?.storePath?.trim() ||
778
+ rt.channel.session.resolveStorePath(cfg.session?.store, {
779
+ agentId: config.agentId || "main",
780
+ });
781
+ dispatchResult = await dispatchXgImInboundReply({
782
+ rt,
783
+ ctx: dispatchRequest.ctx,
784
+ cfg: dispatchRequest.cfg,
785
+ channel: "xg_cwork_im",
786
+ accountId,
787
+ agentId: config.agentId || "main",
788
+ routeSessionKey: route.sessionKey,
789
+ storePath,
790
+ replyOptions: dispatchRequest.replyOptions,
791
+ dispatcherOptions: dispatchRequest.dispatcherOptions,
792
+ driver: effectiveDriver,
793
+ inboundRecord,
794
+ logPrefix,
795
+ warn: (message) => log.warn(message),
796
+ ...(nasConfigOverride ? { configOverride: nasConfigOverride } : {}),
697
797
  });
698
798
  dispatchInFlight = false;
699
799
  const bufStats = segmentBuffer?.getStats();
700
800
  log.info(`${logPrefix} [dispatch] Dispatch completed for sessionKey=${route.sessionKey}` +
701
801
  ` (invoke=${deliverInvokeCount} delivered=${deliverCallCount} skipped=${deliverSkippedCount}` +
802
+ ` compaction_http=${compactionNoticeDelivered}` +
702
803
  (bufStats
703
804
  ? ` buffer_writes=${bufStats.writeCount}` +
704
805
  ` revision_overwrite=${bufStats.revisionOverwriteCount}` +
@@ -718,7 +819,7 @@ export async function dispatchMentionedReply(args) {
718
819
  log.warn(`${logPrefix} [dispatch] OpenClaw never invoked channel deliver() for this turn — ` +
719
820
  `this plugin will not POST /im/message/send; IM「收到消息」若存在,多半来自占位/END 或其它通道,而非本插件 HTTP 合并`);
720
821
  }
721
- else if (deliverCallCount === 0 && !segmentBuffer?.hasContent()) {
822
+ else if (deliverCallCount === 0 && compactionNoticeDelivered === 0 && !segmentBuffer?.hasContent()) {
722
823
  log.warn(`${logPrefix} [dispatch] deliver() invoked ${deliverInvokeCount} time(s) but none had sendable text/media — ` +
723
824
  `check model output (thinking-only / empty blocks) or OpenClaw normalizer`);
724
825
  }
@@ -730,6 +831,38 @@ export async function dispatchMentionedReply(args) {
730
831
  finally {
731
832
  dispatchInFlight = false;
732
833
  clearPendingPerMessageModel(route.sessionKey);
834
+ if (assistantItemDeliveryEnabled) {
835
+ // 收尾前把当前 item 的完整正文交给 sink 发完,再摘除 sink(避免终态判定漏掉最后一条)。
836
+ try {
837
+ await flushAssistantItem(route.sessionKey);
838
+ }
839
+ catch (itemErr) {
840
+ lastDeliverError = itemErr;
841
+ log.error(`${logPrefix} [assistant-item] flush_final failed: ${String(itemErr)}`);
842
+ }
843
+ clearAssistantItemSink(route.sessionKey, assistantItemSink);
844
+ resetAssistantItem(route.sessionKey);
845
+ // 兜底:assistant-item 订阅整轮没投出任何东西(核心命令/无 agent run 的轮次,
846
+ // 或 assistant 流缺失),但 deliver() 收到了正文——补发一次,避免 no_reply 静默。
847
+ if (!assistantItemDelivered && assistantItemFallback && deliverCallCount === 0) {
848
+ try {
849
+ await postHttpDeliver({
850
+ payloadForSend: assistantItemFallback.payloadForSend,
851
+ textPart: assistantItemFallback.textPart,
852
+ sendLabel: "Fallback reply (assistant item not delivered)",
853
+ invokeNum: deliverInvokeCount,
854
+ hasMedia: false,
855
+ omitDuplicateFileCaption: false,
856
+ });
857
+ log.info(`${logPrefix} [assistant-item] fallback HTTP send: assistant subscription produced ` +
858
+ `no item this turn; sent textLen=${assistantItemFallback.textPart.length}`);
859
+ }
860
+ catch (fbErr) {
861
+ lastDeliverError = fbErr;
862
+ log.error(`${logPrefix} [assistant-item] fallback send failed: ${String(fbErr)}`);
863
+ }
864
+ }
865
+ }
733
866
  try {
734
867
  await flushSegmentBuffer("final");
735
868
  }
@@ -763,48 +896,49 @@ export async function dispatchMentionedReply(args) {
763
896
  log.info(`${logPrefix} [stream] round interrupted; skip late RUN_USAGE/FINISHED`);
764
897
  return;
765
898
  }
766
- try {
767
- const storePath = rt.channel.session.resolveStorePath(cfg.session?.store, {
768
- agentId: config.agentId || "main",
769
- });
770
- const sessionFields = readSessionUsageFields({
771
- storePath,
772
- sessionKey: route.sessionKey,
773
- });
774
- const usage = buildRunUsageFromSessionEntry(sessionFields, {
775
- runId: agentRunId ?? terminal.getRunId(),
776
- });
777
- if (hasReportableUsage(usage) && usage) {
778
- await streamClient.streamUsage(toImStreamRunUsageData(usage, {
779
- groupId: params.groupId,
780
- replyToMsgId: params.msgId,
781
- }));
899
+ // —— 整轮收尾(OpenClaw 7.1+/8.x):子任务流程中 dispatch 返回只是「一段 run 结束」,
900
+ // FINISHED/RUN_USAGE 必须等主会话出现非 yield 段终态(或静默兜底)后才发出,
901
+ // 否则会在主会话 resume 继续派发更多子任务时提前结束本轮。——
902
+ const finishWsRound = async (reason) => {
903
+ const roundKey = activeRound?.roundKey;
904
+ const generation = activeRound?.generation;
905
+ const hasRound = roundKey !== undefined && generation !== undefined;
906
+ if (hasRound && !roundExists(roundKey, generation)) {
907
+ log.info(`${logPrefix} [stream] round already completed/interrupted; skip late RUN_USAGE/FINISHED`);
908
+ turnForget(roundKey, generation);
909
+ return;
782
910
  }
783
- else {
784
- log.info(`${logPrefix} [stream] RUN_USAGE skipped (session store has no model/token; ` +
785
- `sessionKey=${route.sessionKey} deliver_call=${deliverCallCount})`);
911
+ try {
912
+ const storePath = rt.channel.session.resolveStorePath(cfg.session?.store, {
913
+ agentId: config.agentId || "main",
914
+ });
915
+ const sessionFields = readSessionUsageFields({
916
+ storePath,
917
+ sessionKey: route.sessionKey,
918
+ });
919
+ const usage = buildRunUsageFromSessionEntry(sessionFields, {
920
+ runId: agentRunId ?? terminal.getRunId(),
921
+ });
922
+ if (hasReportableUsage(usage) && usage) {
923
+ await streamClient.streamUsage(toImStreamRunUsageData(usage, {
924
+ groupId: params.groupId,
925
+ replyToMsgId: params.msgId,
926
+ }));
927
+ }
928
+ else {
929
+ log.info(`${logPrefix} [stream] RUN_USAGE skipped (session store has no model/token; ` +
930
+ `sessionKey=${route.sessionKey} deliver_call=${deliverCallCount})`);
931
+ }
932
+ }
933
+ catch (usageErr) {
934
+ log.warn(`${logPrefix} [stream] RUN_USAGE failed: ${String(usageErr)}`);
786
935
  }
787
- }
788
- catch (usageErr) {
789
- log.warn(`${logPrefix} [stream] RUN_USAGE failed: ${String(usageErr)}`);
790
- }
791
- // ✅ 检查是否有活跃的 subagent,如果有则延迟 FINISHED
792
- if (activeRound &&
793
- hasActiveSubagents(activeRound.roundKey, activeRound.generation)) {
794
- log.info(`${logPrefix} [stream] FINISHED deferred: has active subagents, ` +
795
- `will be sent by monitor when all complete. reason=${endReason} ` +
796
- `terminal_state=${terminalState} deliver_invoke=${deliverInvokeCount}`);
797
- // 记录延迟的 FINISHED,由 subagent-monitor 在所有完成后发送
798
- deferFinished(activeRound.roundKey, activeRound.generation, endReason);
799
- }
800
- else {
801
- // 没有活跃 subagent,正常发送 FINISHED
802
936
  try {
803
- await streamClient.end(endReason, {
937
+ await streamClient.end(reason, {
804
938
  groupId: params.groupId,
805
939
  replyToMsgId: params.msgId,
806
940
  });
807
- log.info(`${logPrefix} [stream] FINISHED sent: reason=${endReason} terminal_state=${terminalState} ` +
941
+ log.info(`${logPrefix} [stream] FINISHED sent: reason=${reason} terminal_state=${terminalState} ` +
808
942
  `has_first_reply=${hasFirstReply} deliver_invoke=${deliverInvokeCount} ` +
809
943
  `deliver_call=${deliverCallCount} skipped=${deliverSkippedCount}`);
810
944
  }
@@ -812,10 +946,51 @@ export async function dispatchMentionedReply(args) {
812
946
  log.error(`${logPrefix} [stream] FINISHED failed: ${String(endErr)}`);
813
947
  }
814
948
  finally {
815
- if (activeRound) {
816
- completeActiveRound(activeRound.roundKey, activeRound.generation);
949
+ if (hasRound) {
950
+ finalizeRoundMonitoring(roundKey, generation);
951
+ completeActiveRound(roundKey, generation);
952
+ turnForget(roundKey, generation);
817
953
  }
818
954
  }
955
+ };
956
+ const roundKey = activeRound?.roundKey;
957
+ const generation = activeRound?.generation;
958
+ const sawSubagent = subagentNotificationSent ||
959
+ (roundKey !== undefined && generation !== undefined &&
960
+ turnIsSawSubagent(roundKey, generation));
961
+ if (sawSubagent) {
962
+ turnEnsureRound(roundKey, generation);
963
+ turnOnDispatchReturned(roundKey, generation);
964
+ const deadline = Date.now() + TURN_END_WAIT_MAX_MS;
965
+ log.info(`${logPrefix} [stream] FINISHED deferred: subagent turn, waiting for lifecycle ` +
966
+ `final segment (no premature finish on resume). reason=${endReason} ` +
967
+ `terminal_state=${terminalState} deliver_invoke=${deliverInvokeCount}`);
968
+ const waitStartedAt = Date.now();
969
+ // 等待整轮结束信号(lifecycle 非 yield 终态 / 子任务完成后的静默兜底);/
970
+ // 若轮次被 `/stop` 或其它收口移除,则由该路径发送过 aborted,这里直接退出。
971
+ while (!turnIsEligible(roundKey, generation)) {
972
+ if (!roundExists(roundKey, generation) || activeRound?.interrupted) {
973
+ log.info(`${logPrefix} [stream] round interrupted while waiting; skip late RUN_USAGE/FINISHED`);
974
+ turnForget(roundKey, generation);
975
+ return;
976
+ }
977
+ if (Date.now() > deadline) {
978
+ log.warn(`${logPrefix} [stream] turn-end wait exceeded ${TURN_END_WAIT_MAX_MS}ms; force finishing`);
979
+ break;
980
+ }
981
+ await new Promise((resolve) => setTimeout(resolve, 250));
982
+ }
983
+ log.info(`${logPrefix} [stream] turn-end released round=${roundKey}#${generation} ` +
984
+ `eligible=${turnIsEligible(roundKey, generation)} waitMs=${Date.now() - waitStartedAt}`);
985
+ await finishWsRound(endReason);
986
+ }
987
+ else {
988
+ // 无子任务的普通轮次:dispatch 返回即整轮结束,立即收尾(保持既有行为)。
989
+ if (roundKey !== undefined && generation !== undefined) {
990
+ turnEnsureRound(roundKey, generation);
991
+ turnOnDispatchReturned(roundKey, generation);
992
+ }
993
+ await finishWsRound(endReason);
819
994
  }
820
995
  }
821
996
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-mentioned-reply.js","sourceRoot":"","sources":["../../src/dispatch-mentioned-reply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-mentioned-reply.js","sourceRoot":"","sources":["../../src/dispatch-mentioned-reply.ts"],"names":[],"mappings":"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"}