@xgjktech/xg_cwork_im 1.19.24 → 1.19.26

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 (615) hide show
  1. package/README.md +490 -489
  2. package/dist/index.js +1 -1
  3. package/dist/src/connection/account-connection.d.ts.map +1 -1
  4. package/dist/src/connection/account-connection.js +3 -0
  5. package/dist/src/connection/account-connection.js.map +1 -1
  6. package/dist/src/connection/connection.d.ts +0 -6
  7. package/dist/src/connection/connection.d.ts.map +1 -1
  8. package/dist/src/connection/connection.js +0 -6
  9. package/dist/src/connection/connection.js.map +1 -1
  10. package/dist/src/connection/connection.test.js +1 -17
  11. package/dist/src/connection/connection.test.js.map +1 -1
  12. package/dist/src/inbound/inbound-url-rewrite.d.ts +32 -0
  13. package/dist/src/inbound/inbound-url-rewrite.d.ts.map +1 -0
  14. package/dist/src/inbound/inbound-url-rewrite.js +94 -0
  15. package/dist/src/inbound/inbound-url-rewrite.js.map +1 -0
  16. package/dist/src/inbound/inbound-url-rewrite.test.d.ts +2 -0
  17. package/dist/src/inbound/inbound-url-rewrite.test.d.ts.map +1 -0
  18. package/dist/src/inbound/inbound-url-rewrite.test.js +90 -0
  19. package/dist/src/inbound/inbound-url-rewrite.test.js.map +1 -0
  20. package/dist/src/plan/plan-core-adapter.d.ts +1 -12
  21. package/dist/src/plan/plan-core-adapter.d.ts.map +1 -1
  22. package/dist/src/plan/plan-core-adapter.js +3 -15
  23. package/dist/src/plan/plan-core-adapter.js.map +1 -1
  24. package/dist/src/plan/plan-core-adapter.test.js +0 -50
  25. package/dist/src/plan/plan-core-adapter.test.js.map +1 -1
  26. package/dist/src/plan/plan-stat-event.d.ts.map +1 -1
  27. package/dist/src/plan/plan-stat-event.js +0 -6
  28. package/dist/src/plan/plan-stat-event.js.map +1 -1
  29. package/dist/src/plugin/channel-config.d.ts +32 -0
  30. package/dist/src/plugin/channel-config.d.ts.map +1 -1
  31. package/dist/src/plugin/channel-config.js +12 -0
  32. package/dist/src/plugin/channel-config.js.map +1 -1
  33. package/dist/src/plugin/channel-config.test.js +15 -0
  34. package/dist/src/plugin/channel-config.test.js.map +1 -1
  35. package/dist/src/plugin/types.d.ts +15 -0
  36. package/dist/src/plugin/types.d.ts.map +1 -1
  37. package/dist/src/plugin/types.js.map +1 -1
  38. package/dist/src/turn/turn-agent-event-subscription.d.ts.map +1 -1
  39. package/dist/src/turn/turn-agent-event-subscription.js +2 -66
  40. package/dist/src/turn/turn-agent-event-subscription.js.map +1 -1
  41. package/dist/src/turn/turn-agent-event-subscription.test.js +0 -92
  42. package/dist/src/turn/turn-agent-event-subscription.test.js.map +1 -1
  43. package/package.json +82 -82
  44. package/dist/src/account-connection.d.ts +0 -37
  45. package/dist/src/account-connection.d.ts.map +0 -1
  46. package/dist/src/account-connection.js +0 -548
  47. package/dist/src/account-connection.js.map +0 -1
  48. package/dist/src/account-reconciler.d.ts +0 -64
  49. package/dist/src/account-reconciler.d.ts.map +0 -1
  50. package/dist/src/account-reconciler.js +0 -314
  51. package/dist/src/account-reconciler.js.map +0 -1
  52. package/dist/src/account-reconciler.test.d.ts +0 -2
  53. package/dist/src/account-reconciler.test.d.ts.map +0 -1
  54. package/dist/src/account-reconciler.test.js +0 -166
  55. package/dist/src/account-reconciler.test.js.map +0 -1
  56. package/dist/src/action-run-event.d.ts +0 -20
  57. package/dist/src/action-run-event.d.ts.map +0 -1
  58. package/dist/src/action-run-event.js +0 -62
  59. package/dist/src/action-run-event.js.map +0 -1
  60. package/dist/src/action-run-event.test.d.ts +0 -2
  61. package/dist/src/action-run-event.test.d.ts.map +0 -1
  62. package/dist/src/action-run-event.test.js +0 -83
  63. package/dist/src/action-run-event.test.js.map +0 -1
  64. package/dist/src/action-store-access.d.ts +0 -29
  65. package/dist/src/action-store-access.d.ts.map +0 -1
  66. package/dist/src/action-store-access.js +0 -81
  67. package/dist/src/action-store-access.js.map +0 -1
  68. package/dist/src/action-store-lifecycle.test.d.ts +0 -2
  69. package/dist/src/action-store-lifecycle.test.d.ts.map +0 -1
  70. package/dist/src/action-store-lifecycle.test.js +0 -195
  71. package/dist/src/action-store-lifecycle.test.js.map +0 -1
  72. package/dist/src/active-cron-context-store.d.ts +0 -20
  73. package/dist/src/active-cron-context-store.d.ts.map +0 -1
  74. package/dist/src/active-cron-context-store.js +0 -73
  75. package/dist/src/active-cron-context-store.js.map +0 -1
  76. package/dist/src/active-round-registry.d.ts +0 -35
  77. package/dist/src/active-round-registry.d.ts.map +0 -1
  78. package/dist/src/active-round-registry.js +0 -85
  79. package/dist/src/active-round-registry.js.map +0 -1
  80. package/dist/src/active-round-registry.test.d.ts +0 -2
  81. package/dist/src/active-round-registry.test.d.ts.map +0 -1
  82. package/dist/src/active-round-registry.test.js +0 -62
  83. package/dist/src/active-round-registry.test.js.map +0 -1
  84. package/dist/src/agent-context-types.d.ts +0 -205
  85. package/dist/src/agent-context-types.d.ts.map +0 -1
  86. package/dist/src/agent-context-types.js +0 -132
  87. package/dist/src/agent-context-types.js.map +0 -1
  88. package/dist/src/agent-context-types.test.d.ts +0 -2
  89. package/dist/src/agent-context-types.test.d.ts.map +0 -1
  90. package/dist/src/agent-context-types.test.js +0 -123
  91. package/dist/src/agent-context-types.test.js.map +0 -1
  92. package/dist/src/agent-stream-client-registry.d.ts +0 -8
  93. package/dist/src/agent-stream-client-registry.d.ts.map +0 -1
  94. package/dist/src/agent-stream-client-registry.js +0 -19
  95. package/dist/src/agent-stream-client-registry.js.map +0 -1
  96. package/dist/src/apply-sync-mapping.d.ts +0 -15
  97. package/dist/src/apply-sync-mapping.d.ts.map +0 -1
  98. package/dist/src/apply-sync-mapping.js +0 -98
  99. package/dist/src/apply-sync-mapping.js.map +0 -1
  100. package/dist/src/assistant-item-delivery.d.ts +0 -27
  101. package/dist/src/assistant-item-delivery.d.ts.map +0 -1
  102. package/dist/src/assistant-item-delivery.js +0 -134
  103. package/dist/src/assistant-item-delivery.js.map +0 -1
  104. package/dist/src/assistant-item-delivery.test.d.ts +0 -2
  105. package/dist/src/assistant-item-delivery.test.d.ts.map +0 -1
  106. package/dist/src/assistant-item-delivery.test.js +0 -116
  107. package/dist/src/assistant-item-delivery.test.js.map +0 -1
  108. package/dist/src/assistant-item-sink.d.ts +0 -17
  109. package/dist/src/assistant-item-sink.d.ts.map +0 -1
  110. package/dist/src/assistant-item-sink.js +0 -34
  111. package/dist/src/assistant-item-sink.js.map +0 -1
  112. package/dist/src/auth.d.ts +0 -32
  113. package/dist/src/auth.d.ts.map +0 -1
  114. package/dist/src/auth.js +0 -70
  115. package/dist/src/auth.js.map +0 -1
  116. package/dist/src/auto-model-router.d.ts +0 -36
  117. package/dist/src/auto-model-router.d.ts.map +0 -1
  118. package/dist/src/auto-model-router.js +0 -60
  119. package/dist/src/auto-model-router.js.map +0 -1
  120. package/dist/src/auto-model-router.test.d.ts +0 -2
  121. package/dist/src/auto-model-router.test.d.ts.map +0 -1
  122. package/dist/src/auto-model-router.test.js +0 -99
  123. package/dist/src/auto-model-router.test.js.map +0 -1
  124. package/dist/src/block-streaming-config.test.d.ts +0 -2
  125. package/dist/src/block-streaming-config.test.d.ts.map +0 -1
  126. package/dist/src/block-streaming-config.test.js +0 -91
  127. package/dist/src/block-streaming-config.test.js.map +0 -1
  128. package/dist/src/build-project-prompt.d.ts +0 -40
  129. package/dist/src/build-project-prompt.d.ts.map +0 -1
  130. package/dist/src/build-project-prompt.js +0 -183
  131. package/dist/src/build-project-prompt.js.map +0 -1
  132. package/dist/src/build-project-prompt.test.d.ts +0 -2
  133. package/dist/src/build-project-prompt.test.d.ts.map +0 -1
  134. package/dist/src/build-project-prompt.test.js +0 -100
  135. package/dist/src/build-project-prompt.test.js.map +0 -1
  136. package/dist/src/channel-config.d.ts +0 -716
  137. package/dist/src/channel-config.d.ts.map +0 -1
  138. package/dist/src/channel-config.js +0 -405
  139. package/dist/src/channel-config.js.map +0 -1
  140. package/dist/src/channel-config.test.d.ts +0 -2
  141. package/dist/src/channel-config.test.d.ts.map +0 -1
  142. package/dist/src/channel-config.test.js +0 -113
  143. package/dist/src/channel-config.test.js.map +0 -1
  144. package/dist/src/channel-disabled-account.test.d.ts +0 -2
  145. package/dist/src/channel-disabled-account.test.d.ts.map +0 -1
  146. package/dist/src/channel-disabled-account.test.js +0 -44
  147. package/dist/src/channel-disabled-account.test.js.map +0 -1
  148. package/dist/src/channel-log.d.ts +0 -17
  149. package/dist/src/channel-log.d.ts.map +0 -1
  150. package/dist/src/channel-log.js +0 -45
  151. package/dist/src/channel-log.js.map +0 -1
  152. package/dist/src/channel.d.ts +0 -17
  153. package/dist/src/channel.d.ts.map +0 -1
  154. package/dist/src/channel.js +0 -272
  155. package/dist/src/channel.js.map +0 -1
  156. package/dist/src/connection-workspace-event.test.d.ts +0 -2
  157. package/dist/src/connection-workspace-event.test.d.ts.map +0 -1
  158. package/dist/src/connection-workspace-event.test.js +0 -74
  159. package/dist/src/connection-workspace-event.test.js.map +0 -1
  160. package/dist/src/connection.d.ts +0 -110
  161. package/dist/src/connection.d.ts.map +0 -1
  162. package/dist/src/connection.js +0 -463
  163. package/dist/src/connection.js.map +0 -1
  164. package/dist/src/connection.test.d.ts +0 -2
  165. package/dist/src/connection.test.d.ts.map +0 -1
  166. package/dist/src/connection.test.js +0 -110
  167. package/dist/src/connection.test.js.map +0 -1
  168. package/dist/src/cron-appkey-binding-store.d.ts +0 -29
  169. package/dist/src/cron-appkey-binding-store.d.ts.map +0 -1
  170. package/dist/src/cron-appkey-binding-store.js +0 -239
  171. package/dist/src/cron-appkey-binding-store.js.map +0 -1
  172. package/dist/src/cron-appkey-binding-store.test.d.ts +0 -2
  173. package/dist/src/cron-appkey-binding-store.test.d.ts.map +0 -1
  174. package/dist/src/cron-appkey-binding-store.test.js +0 -387
  175. package/dist/src/cron-appkey-binding-store.test.js.map +0 -1
  176. package/dist/src/deliver-text.d.ts +0 -30
  177. package/dist/src/deliver-text.d.ts.map +0 -1
  178. package/dist/src/deliver-text.js +0 -88
  179. package/dist/src/deliver-text.js.map +0 -1
  180. package/dist/src/deliver-text.test.d.ts +0 -2
  181. package/dist/src/deliver-text.test.d.ts.map +0 -1
  182. package/dist/src/deliver-text.test.js +0 -117
  183. package/dist/src/deliver-text.test.js.map +0 -1
  184. package/dist/src/dispatch-mentioned-reply.d.ts +0 -47
  185. package/dist/src/dispatch-mentioned-reply.d.ts.map +0 -1
  186. package/dist/src/dispatch-mentioned-reply.js +0 -997
  187. package/dist/src/dispatch-mentioned-reply.js.map +0 -1
  188. package/dist/src/gateway-session-queue.d.ts +0 -37
  189. package/dist/src/gateway-session-queue.d.ts.map +0 -1
  190. package/dist/src/gateway-session-queue.js +0 -86
  191. package/dist/src/gateway-session-queue.js.map +0 -1
  192. package/dist/src/group-history-tool.d.ts +0 -31
  193. package/dist/src/group-history-tool.d.ts.map +0 -1
  194. package/dist/src/group-history-tool.js +0 -177
  195. package/dist/src/group-history-tool.js.map +0 -1
  196. package/dist/src/im-tool-progress.d.ts +0 -4
  197. package/dist/src/im-tool-progress.d.ts.map +0 -1
  198. package/dist/src/im-tool-progress.js +0 -87
  199. package/dist/src/im-tool-progress.js.map +0 -1
  200. package/dist/src/inbound-archive.d.ts +0 -4
  201. package/dist/src/inbound-archive.d.ts.map +0 -1
  202. package/dist/src/inbound-archive.js +0 -105
  203. package/dist/src/inbound-archive.js.map +0 -1
  204. package/dist/src/inbound-attachment-meta.d.ts +0 -13
  205. package/dist/src/inbound-attachment-meta.d.ts.map +0 -1
  206. package/dist/src/inbound-attachment-meta.js +0 -39
  207. package/dist/src/inbound-attachment-meta.js.map +0 -1
  208. package/dist/src/inbound-chat-type.d.ts +0 -33
  209. package/dist/src/inbound-chat-type.d.ts.map +0 -1
  210. package/dist/src/inbound-chat-type.js +0 -52
  211. package/dist/src/inbound-chat-type.js.map +0 -1
  212. package/dist/src/inbound-display.d.ts +0 -41
  213. package/dist/src/inbound-display.d.ts.map +0 -1
  214. package/dist/src/inbound-display.js +0 -170
  215. package/dist/src/inbound-display.js.map +0 -1
  216. package/dist/src/inbound-file-download.d.ts +0 -15
  217. package/dist/src/inbound-file-download.d.ts.map +0 -1
  218. package/dist/src/inbound-file-download.js +0 -48
  219. package/dist/src/inbound-file-download.js.map +0 -1
  220. package/dist/src/inbound-input-media.d.ts +0 -43
  221. package/dist/src/inbound-input-media.d.ts.map +0 -1
  222. package/dist/src/inbound-input-media.js +0 -230
  223. package/dist/src/inbound-input-media.js.map +0 -1
  224. package/dist/src/inbound-media-local.d.ts +0 -49
  225. package/dist/src/inbound-media-local.d.ts.map +0 -1
  226. package/dist/src/inbound-media-local.js +0 -194
  227. package/dist/src/inbound-media-local.js.map +0 -1
  228. package/dist/src/inbound-model.d.ts +0 -39
  229. package/dist/src/inbound-model.d.ts.map +0 -1
  230. package/dist/src/inbound-model.js +0 -66
  231. package/dist/src/inbound-model.js.map +0 -1
  232. package/dist/src/inbound-model.test.d.ts +0 -2
  233. package/dist/src/inbound-model.test.d.ts.map +0 -1
  234. package/dist/src/inbound-model.test.js +0 -88
  235. package/dist/src/inbound-model.test.js.map +0 -1
  236. package/dist/src/inbound-terminal-delivery.d.ts +0 -77
  237. package/dist/src/inbound-terminal-delivery.d.ts.map +0 -1
  238. package/dist/src/inbound-terminal-delivery.js +0 -251
  239. package/dist/src/inbound-terminal-delivery.js.map +0 -1
  240. package/dist/src/inbound-terminal-state.d.ts +0 -68
  241. package/dist/src/inbound-terminal-state.d.ts.map +0 -1
  242. package/dist/src/inbound-terminal-state.js +0 -185
  243. package/dist/src/inbound-terminal-state.js.map +0 -1
  244. package/dist/src/inbound-terminal-state.test.d.ts +0 -2
  245. package/dist/src/inbound-terminal-state.test.d.ts.map +0 -1
  246. package/dist/src/inbound-terminal-state.test.js +0 -224
  247. package/dist/src/inbound-terminal-state.test.js.map +0 -1
  248. package/dist/src/interrupt-round.d.ts +0 -9
  249. package/dist/src/interrupt-round.d.ts.map +0 -1
  250. package/dist/src/interrupt-round.js +0 -44
  251. package/dist/src/interrupt-round.js.map +0 -1
  252. package/dist/src/interrupt-round.test.d.ts +0 -2
  253. package/dist/src/interrupt-round.test.d.ts.map +0 -1
  254. package/dist/src/interrupt-round.test.js +0 -133
  255. package/dist/src/interrupt-round.test.js.map +0 -1
  256. package/dist/src/item-event-guard.d.ts +0 -28
  257. package/dist/src/item-event-guard.d.ts.map +0 -1
  258. package/dist/src/item-event-guard.js +0 -22
  259. package/dist/src/item-event-guard.js.map +0 -1
  260. package/dist/src/item-event-guard.test.d.ts +0 -2
  261. package/dist/src/item-event-guard.test.d.ts.map +0 -1
  262. package/dist/src/item-event-guard.test.js +0 -55
  263. package/dist/src/item-event-guard.test.js.map +0 -1
  264. package/dist/src/nas-site.d.ts +0 -16
  265. package/dist/src/nas-site.d.ts.map +0 -1
  266. package/dist/src/nas-site.js +0 -17
  267. package/dist/src/nas-site.js.map +0 -1
  268. package/dist/src/nas-volumes.d.ts +0 -53
  269. package/dist/src/nas-volumes.d.ts.map +0 -1
  270. package/dist/src/nas-volumes.js +0 -417
  271. package/dist/src/nas-volumes.js.map +0 -1
  272. package/dist/src/nas-volumes.test.d.ts +0 -2
  273. package/dist/src/nas-volumes.test.d.ts.map +0 -1
  274. package/dist/src/nas-volumes.test.js +0 -261
  275. package/dist/src/nas-volumes.test.js.map +0 -1
  276. package/dist/src/per-message-fallback-notice.d.ts +0 -43
  277. package/dist/src/per-message-fallback-notice.d.ts.map +0 -1
  278. package/dist/src/per-message-fallback-notice.js +0 -93
  279. package/dist/src/per-message-fallback-notice.js.map +0 -1
  280. package/dist/src/per-message-fallback-notice.test.d.ts +0 -2
  281. package/dist/src/per-message-fallback-notice.test.d.ts.map +0 -1
  282. package/dist/src/per-message-fallback-notice.test.js +0 -47
  283. package/dist/src/per-message-fallback-notice.test.js.map +0 -1
  284. package/dist/src/per-message-model-pending.d.ts +0 -52
  285. package/dist/src/per-message-model-pending.d.ts.map +0 -1
  286. package/dist/src/per-message-model-pending.js +0 -134
  287. package/dist/src/per-message-model-pending.js.map +0 -1
  288. package/dist/src/plan-blocked-notice.d.ts +0 -14
  289. package/dist/src/plan-blocked-notice.d.ts.map +0 -1
  290. package/dist/src/plan-blocked-notice.js +0 -41
  291. package/dist/src/plan-blocked-notice.js.map +0 -1
  292. package/dist/src/plan-blocked-notice.test.d.ts +0 -2
  293. package/dist/src/plan-blocked-notice.test.d.ts.map +0 -1
  294. package/dist/src/plan-blocked-notice.test.js +0 -96
  295. package/dist/src/plan-blocked-notice.test.js.map +0 -1
  296. package/dist/src/plan-core-adapter.d.ts +0 -54
  297. package/dist/src/plan-core-adapter.d.ts.map +0 -1
  298. package/dist/src/plan-core-adapter.js +0 -104
  299. package/dist/src/plan-core-adapter.js.map +0 -1
  300. package/dist/src/plan-core-adapter.test.d.ts +0 -2
  301. package/dist/src/plan-core-adapter.test.d.ts.map +0 -1
  302. package/dist/src/plan-core-adapter.test.js +0 -183
  303. package/dist/src/plan-core-adapter.test.js.map +0 -1
  304. package/dist/src/plan-core-db.d.ts +0 -22
  305. package/dist/src/plan-core-db.d.ts.map +0 -1
  306. package/dist/src/plan-core-db.js +0 -91
  307. package/dist/src/plan-core-db.js.map +0 -1
  308. package/dist/src/plan-core-db.test.d.ts +0 -2
  309. package/dist/src/plan-core-db.test.d.ts.map +0 -1
  310. package/dist/src/plan-core-db.test.js +0 -115
  311. package/dist/src/plan-core-db.test.js.map +0 -1
  312. package/dist/src/plan-core-snapshot.d.ts +0 -23
  313. package/dist/src/plan-core-snapshot.d.ts.map +0 -1
  314. package/dist/src/plan-core-snapshot.js +0 -66
  315. package/dist/src/plan-core-snapshot.js.map +0 -1
  316. package/dist/src/plan-core-snapshot.test.d.ts +0 -2
  317. package/dist/src/plan-core-snapshot.test.d.ts.map +0 -1
  318. package/dist/src/plan-core-snapshot.test.js +0 -157
  319. package/dist/src/plan-core-snapshot.test.js.map +0 -1
  320. package/dist/src/plan-event-subscription.d.ts +0 -36
  321. package/dist/src/plan-event-subscription.d.ts.map +0 -1
  322. package/dist/src/plan-event-subscription.js +0 -57
  323. package/dist/src/plan-event-subscription.js.map +0 -1
  324. package/dist/src/plan-event-subscription.test.d.ts +0 -2
  325. package/dist/src/plan-event-subscription.test.d.ts.map +0 -1
  326. package/dist/src/plan-event-subscription.test.js +0 -167
  327. package/dist/src/plan-event-subscription.test.js.map +0 -1
  328. package/dist/src/plan-stat-event.d.ts +0 -17
  329. package/dist/src/plan-stat-event.d.ts.map +0 -1
  330. package/dist/src/plan-stat-event.js +0 -41
  331. package/dist/src/plan-stat-event.js.map +0 -1
  332. package/dist/src/plan-stat-event.test.d.ts +0 -2
  333. package/dist/src/plan-stat-event.test.d.ts.map +0 -1
  334. package/dist/src/plan-stat-event.test.js +0 -131
  335. package/dist/src/plan-stat-event.test.js.map +0 -1
  336. package/dist/src/plan-store-access.d.ts +0 -25
  337. package/dist/src/plan-store-access.d.ts.map +0 -1
  338. package/dist/src/plan-store-access.js +0 -100
  339. package/dist/src/plan-store-access.js.map +0 -1
  340. package/dist/src/plan-store-access.test.d.ts +0 -2
  341. package/dist/src/plan-store-access.test.d.ts.map +0 -1
  342. package/dist/src/plan-store-access.test.js +0 -207
  343. package/dist/src/plan-store-access.test.js.map +0 -1
  344. package/dist/src/plan-tool-middleware.d.ts +0 -19
  345. package/dist/src/plan-tool-middleware.d.ts.map +0 -1
  346. package/dist/src/plan-tool-middleware.js +0 -63
  347. package/dist/src/plan-tool-middleware.js.map +0 -1
  348. package/dist/src/plan-tool-middleware.test.d.ts +0 -2
  349. package/dist/src/plan-tool-middleware.test.d.ts.map +0 -1
  350. package/dist/src/plan-tool-middleware.test.js +0 -103
  351. package/dist/src/plan-tool-middleware.test.js.map +0 -1
  352. package/dist/src/plan-tool-result.d.ts +0 -18
  353. package/dist/src/plan-tool-result.d.ts.map +0 -1
  354. package/dist/src/plan-tool-result.js +0 -77
  355. package/dist/src/plan-tool-result.js.map +0 -1
  356. package/dist/src/plan-tool-result.test.d.ts +0 -2
  357. package/dist/src/plan-tool-result.test.d.ts.map +0 -1
  358. package/dist/src/plan-tool-result.test.js +0 -129
  359. package/dist/src/plan-tool-result.test.js.map +0 -1
  360. package/dist/src/plan-ws-registry.d.ts +0 -15
  361. package/dist/src/plan-ws-registry.d.ts.map +0 -1
  362. package/dist/src/plan-ws-registry.js +0 -39
  363. package/dist/src/plan-ws-registry.js.map +0 -1
  364. package/dist/src/plan-ws-registry.test.d.ts +0 -2
  365. package/dist/src/plan-ws-registry.test.d.ts.map +0 -1
  366. package/dist/src/plan-ws-registry.test.js +0 -61
  367. package/dist/src/plan-ws-registry.test.js.map +0 -1
  368. package/dist/src/plugin-dispose.d.ts +0 -22
  369. package/dist/src/plugin-dispose.d.ts.map +0 -1
  370. package/dist/src/plugin-dispose.js +0 -66
  371. package/dist/src/plugin-dispose.js.map +0 -1
  372. package/dist/src/process-shared-store.d.ts +0 -48
  373. package/dist/src/process-shared-store.d.ts.map +0 -1
  374. package/dist/src/process-shared-store.js +0 -89
  375. package/dist/src/process-shared-store.js.map +0 -1
  376. package/dist/src/process-shared-store.test.d.ts +0 -2
  377. package/dist/src/process-shared-store.test.d.ts.map +0 -1
  378. package/dist/src/process-shared-store.test.js +0 -60
  379. package/dist/src/process-shared-store.test.js.map +0 -1
  380. package/dist/src/project-path-normalize.d.ts +0 -30
  381. package/dist/src/project-path-normalize.d.ts.map +0 -1
  382. package/dist/src/project-path-normalize.js +0 -101
  383. package/dist/src/project-path-normalize.js.map +0 -1
  384. package/dist/src/recommended-system-prompt.d.ts +0 -3
  385. package/dist/src/recommended-system-prompt.d.ts.map +0 -1
  386. package/dist/src/recommended-system-prompt.js +0 -8
  387. package/dist/src/recommended-system-prompt.js.map +0 -1
  388. package/dist/src/register-exec-env-hook.d.ts +0 -44
  389. package/dist/src/register-exec-env-hook.d.ts.map +0 -1
  390. package/dist/src/register-exec-env-hook.js +0 -473
  391. package/dist/src/register-exec-env-hook.js.map +0 -1
  392. package/dist/src/register-exec-env-hook.test.d.ts +0 -2
  393. package/dist/src/register-exec-env-hook.test.d.ts.map +0 -1
  394. package/dist/src/register-exec-env-hook.test.js +0 -189
  395. package/dist/src/register-exec-env-hook.test.js.map +0 -1
  396. package/dist/src/register-group-prompt-hook.d.ts +0 -17
  397. package/dist/src/register-group-prompt-hook.d.ts.map +0 -1
  398. package/dist/src/register-group-prompt-hook.js +0 -45
  399. package/dist/src/register-group-prompt-hook.js.map +0 -1
  400. package/dist/src/register-group-prompt-hook.test.d.ts +0 -2
  401. package/dist/src/register-group-prompt-hook.test.d.ts.map +0 -1
  402. package/dist/src/register-group-prompt-hook.test.js +0 -60
  403. package/dist/src/register-group-prompt-hook.test.js.map +0 -1
  404. package/dist/src/register-per-message-model-hook.d.ts +0 -14
  405. package/dist/src/register-per-message-model-hook.d.ts.map +0 -1
  406. package/dist/src/register-per-message-model-hook.js +0 -48
  407. package/dist/src/register-per-message-model-hook.js.map +0 -1
  408. package/dist/src/register-per-message-model-hook.test.d.ts +0 -2
  409. package/dist/src/register-per-message-model-hook.test.d.ts.map +0 -1
  410. package/dist/src/register-per-message-model-hook.test.js +0 -208
  411. package/dist/src/register-per-message-model-hook.test.js.map +0 -1
  412. package/dist/src/register-run-model-context-hook.d.ts +0 -11
  413. package/dist/src/register-run-model-context-hook.d.ts.map +0 -1
  414. package/dist/src/register-run-model-context-hook.js +0 -23
  415. package/dist/src/register-run-model-context-hook.js.map +0 -1
  416. package/dist/src/reply-dispatch-driver.d.ts +0 -89
  417. package/dist/src/reply-dispatch-driver.d.ts.map +0 -1
  418. package/dist/src/reply-dispatch-driver.js +0 -294
  419. package/dist/src/reply-dispatch-driver.js.map +0 -1
  420. package/dist/src/reply-dispatch-driver.test.d.ts +0 -2
  421. package/dist/src/reply-dispatch-driver.test.d.ts.map +0 -1
  422. package/dist/src/reply-dispatch-driver.test.js +0 -363
  423. package/dist/src/reply-dispatch-driver.test.js.map +0 -1
  424. package/dist/src/resolve-inbound-group-prompt.d.ts +0 -37
  425. package/dist/src/resolve-inbound-group-prompt.d.ts.map +0 -1
  426. package/dist/src/resolve-inbound-group-prompt.js +0 -57
  427. package/dist/src/resolve-inbound-group-prompt.js.map +0 -1
  428. package/dist/src/resource-file.d.ts +0 -119
  429. package/dist/src/resource-file.d.ts.map +0 -1
  430. package/dist/src/resource-file.js +0 -533
  431. package/dist/src/resource-file.js.map +0 -1
  432. package/dist/src/resource-file.test.d.ts +0 -2
  433. package/dist/src/resource-file.test.d.ts.map +0 -1
  434. package/dist/src/resource-file.test.js +0 -64
  435. package/dist/src/resource-file.test.js.map +0 -1
  436. package/dist/src/run-model-context.d.ts +0 -45
  437. package/dist/src/run-model-context.d.ts.map +0 -1
  438. package/dist/src/run-model-context.js +0 -108
  439. package/dist/src/run-model-context.js.map +0 -1
  440. package/dist/src/run-model-context.test.d.ts +0 -2
  441. package/dist/src/run-model-context.test.d.ts.map +0 -1
  442. package/dist/src/run-model-context.test.js +0 -68
  443. package/dist/src/run-model-context.test.js.map +0 -1
  444. package/dist/src/run-usage-session.d.ts +0 -13
  445. package/dist/src/run-usage-session.d.ts.map +0 -1
  446. package/dist/src/run-usage-session.js +0 -41
  447. package/dist/src/run-usage-session.js.map +0 -1
  448. package/dist/src/run-usage.d.ts +0 -67
  449. package/dist/src/run-usage.d.ts.map +0 -1
  450. package/dist/src/run-usage.js +0 -119
  451. package/dist/src/run-usage.js.map +0 -1
  452. package/dist/src/run-usage.test.d.ts +0 -2
  453. package/dist/src/run-usage.test.d.ts.map +0 -1
  454. package/dist/src/run-usage.test.js +0 -178
  455. package/dist/src/run-usage.test.js.map +0 -1
  456. package/dist/src/send-file-event.d.ts +0 -26
  457. package/dist/src/send-file-event.d.ts.map +0 -1
  458. package/dist/src/send-file-event.js +0 -33
  459. package/dist/src/send-file-event.js.map +0 -1
  460. package/dist/src/send-file-event.test.d.ts +0 -2
  461. package/dist/src/send-file-event.test.d.ts.map +0 -1
  462. package/dist/src/send-file-event.test.js +0 -86
  463. package/dist/src/send-file-event.test.js.map +0 -1
  464. package/dist/src/send-file-tool.d.ts +0 -81
  465. package/dist/src/send-file-tool.d.ts.map +0 -1
  466. package/dist/src/send-file-tool.js +0 -363
  467. package/dist/src/send-file-tool.js.map +0 -1
  468. package/dist/src/send-file-tool.test.d.ts +0 -2
  469. package/dist/src/send-file-tool.test.d.ts.map +0 -1
  470. package/dist/src/send-file-tool.test.js +0 -176
  471. package/dist/src/send-file-tool.test.js.map +0 -1
  472. package/dist/src/send-group-message-tool.d.ts +0 -17
  473. package/dist/src/send-group-message-tool.d.ts.map +0 -1
  474. package/dist/src/send-group-message-tool.js +0 -82
  475. package/dist/src/send-group-message-tool.js.map +0 -1
  476. package/dist/src/send-service.d.ts +0 -83
  477. package/dist/src/send-service.d.ts.map +0 -1
  478. package/dist/src/send-service.js +0 -324
  479. package/dist/src/send-service.js.map +0 -1
  480. package/dist/src/send-service.test.d.ts +0 -2
  481. package/dist/src/send-service.test.d.ts.map +0 -1
  482. package/dist/src/send-service.test.js +0 -40
  483. package/dist/src/send-service.test.js.map +0 -1
  484. package/dist/src/session-env-store.d.ts +0 -55
  485. package/dist/src/session-env-store.d.ts.map +0 -1
  486. package/dist/src/session-env-store.js +0 -328
  487. package/dist/src/session-env-store.js.map +0 -1
  488. package/dist/src/session-env-store.test.d.ts +0 -2
  489. package/dist/src/session-env-store.test.d.ts.map +0 -1
  490. package/dist/src/session-env-store.test.js +0 -151
  491. package/dist/src/session-env-store.test.js.map +0 -1
  492. package/dist/src/session-group-prompt.d.ts +0 -34
  493. package/dist/src/session-group-prompt.d.ts.map +0 -1
  494. package/dist/src/session-group-prompt.js +0 -101
  495. package/dist/src/session-group-prompt.js.map +0 -1
  496. package/dist/src/session-group-prompt.test.d.ts +0 -2
  497. package/dist/src/session-group-prompt.test.d.ts.map +0 -1
  498. package/dist/src/session-group-prompt.test.js +0 -72
  499. package/dist/src/session-group-prompt.test.js.map +0 -1
  500. package/dist/src/session-im-context.d.ts +0 -15
  501. package/dist/src/session-im-context.d.ts.map +0 -1
  502. package/dist/src/session-im-context.js +0 -54
  503. package/dist/src/session-im-context.js.map +0 -1
  504. package/dist/src/session-model-fallback.d.ts +0 -13
  505. package/dist/src/session-model-fallback.d.ts.map +0 -1
  506. package/dist/src/session-model-fallback.js +0 -24
  507. package/dist/src/session-model-fallback.js.map +0 -1
  508. package/dist/src/subagent-monitor.d.ts +0 -45
  509. package/dist/src/subagent-monitor.d.ts.map +0 -1
  510. package/dist/src/subagent-monitor.js +0 -498
  511. package/dist/src/subagent-monitor.js.map +0 -1
  512. package/dist/src/subagent-monitor.test.d.ts +0 -2
  513. package/dist/src/subagent-monitor.test.d.ts.map +0 -1
  514. package/dist/src/subagent-monitor.test.js +0 -335
  515. package/dist/src/subagent-monitor.test.js.map +0 -1
  516. package/dist/src/sync-mapping-types.d.ts +0 -220
  517. package/dist/src/sync-mapping-types.d.ts.map +0 -1
  518. package/dist/src/sync-mapping-types.js +0 -55
  519. package/dist/src/sync-mapping-types.js.map +0 -1
  520. package/dist/src/sync-service-client.d.ts +0 -29
  521. package/dist/src/sync-service-client.d.ts.map +0 -1
  522. package/dist/src/sync-service-client.js +0 -72
  523. package/dist/src/sync-service-client.js.map +0 -1
  524. package/dist/src/thinking-ws-progress.d.ts +0 -24
  525. package/dist/src/thinking-ws-progress.d.ts.map +0 -1
  526. package/dist/src/thinking-ws-progress.js +0 -45
  527. package/dist/src/thinking-ws-progress.js.map +0 -1
  528. package/dist/src/thinking-ws-progress.test.d.ts +0 -2
  529. package/dist/src/thinking-ws-progress.test.d.ts.map +0 -1
  530. package/dist/src/thinking-ws-progress.test.js +0 -38
  531. package/dist/src/thinking-ws-progress.test.js.map +0 -1
  532. package/dist/src/tool-event-adapter.d.ts +0 -31
  533. package/dist/src/tool-event-adapter.d.ts.map +0 -1
  534. package/dist/src/tool-event-adapter.js +0 -83
  535. package/dist/src/tool-event-adapter.js.map +0 -1
  536. package/dist/src/tool-event-adapter.test.d.ts +0 -2
  537. package/dist/src/tool-event-adapter.test.d.ts.map +0 -1
  538. package/dist/src/tool-event-adapter.test.js +0 -93
  539. package/dist/src/tool-event-adapter.test.js.map +0 -1
  540. package/dist/src/tool-json-result.d.ts +0 -14
  541. package/dist/src/tool-json-result.d.ts.map +0 -1
  542. package/dist/src/tool-json-result.js +0 -20
  543. package/dist/src/tool-json-result.js.map +0 -1
  544. package/dist/src/turn-agent-event-subscription.d.ts +0 -29
  545. package/dist/src/turn-agent-event-subscription.d.ts.map +0 -1
  546. package/dist/src/turn-agent-event-subscription.js +0 -289
  547. package/dist/src/turn-agent-event-subscription.js.map +0 -1
  548. package/dist/src/turn-agent-event-subscription.test.d.ts +0 -2
  549. package/dist/src/turn-agent-event-subscription.test.d.ts.map +0 -1
  550. package/dist/src/turn-agent-event-subscription.test.js +0 -165
  551. package/dist/src/turn-agent-event-subscription.test.js.map +0 -1
  552. package/dist/src/turn-deliver-buffer.d.ts +0 -60
  553. package/dist/src/turn-deliver-buffer.d.ts.map +0 -1
  554. package/dist/src/turn-deliver-buffer.js +0 -133
  555. package/dist/src/turn-deliver-buffer.js.map +0 -1
  556. package/dist/src/turn-deliver-buffer.test.d.ts +0 -2
  557. package/dist/src/turn-deliver-buffer.test.d.ts.map +0 -1
  558. package/dist/src/turn-deliver-buffer.test.js +0 -184
  559. package/dist/src/turn-deliver-buffer.test.js.map +0 -1
  560. package/dist/src/turn-end-controller.d.ts +0 -61
  561. package/dist/src/turn-end-controller.d.ts.map +0 -1
  562. package/dist/src/turn-end-controller.js +0 -239
  563. package/dist/src/turn-end-controller.js.map +0 -1
  564. package/dist/src/turn-end-controller.test.d.ts +0 -2
  565. package/dist/src/turn-end-controller.test.d.ts.map +0 -1
  566. package/dist/src/turn-end-controller.test.js +0 -97
  567. package/dist/src/turn-end-controller.test.js.map +0 -1
  568. package/dist/src/types.d.ts +0 -433
  569. package/dist/src/types.d.ts.map +0 -1
  570. package/dist/src/types.js +0 -32
  571. package/dist/src/types.js.map +0 -1
  572. package/dist/src/user-facing-errors.d.ts +0 -32
  573. package/dist/src/user-facing-errors.d.ts.map +0 -1
  574. package/dist/src/user-facing-errors.js +0 -120
  575. package/dist/src/user-facing-errors.js.map +0 -1
  576. package/dist/src/user-facing-errors.test.d.ts +0 -2
  577. package/dist/src/user-facing-errors.test.d.ts.map +0 -1
  578. package/dist/src/user-facing-errors.test.js +0 -102
  579. package/dist/src/user-facing-errors.test.js.map +0 -1
  580. package/dist/src/workspace-event-protocol.d.ts +0 -3
  581. package/dist/src/workspace-event-protocol.d.ts.map +0 -1
  582. package/dist/src/workspace-event-protocol.js +0 -3
  583. package/dist/src/workspace-event-protocol.js.map +0 -1
  584. package/dist/src/workspace-event-scheduler.d.ts +0 -54
  585. package/dist/src/workspace-event-scheduler.d.ts.map +0 -1
  586. package/dist/src/workspace-event-scheduler.js +0 -131
  587. package/dist/src/workspace-event-scheduler.js.map +0 -1
  588. package/dist/src/workspace-event-scheduler.test.d.ts +0 -2
  589. package/dist/src/workspace-event-scheduler.test.d.ts.map +0 -1
  590. package/dist/src/workspace-event-scheduler.test.js +0 -157
  591. package/dist/src/workspace-event-scheduler.test.js.map +0 -1
  592. package/dist/src/workspace-event.d.ts +0 -28
  593. package/dist/src/workspace-event.d.ts.map +0 -1
  594. package/dist/src/workspace-event.js +0 -674
  595. package/dist/src/workspace-event.js.map +0 -1
  596. package/dist/src/workspace-event.test.d.ts +0 -2
  597. package/dist/src/workspace-event.test.d.ts.map +0 -1
  598. package/dist/src/workspace-event.test.js +0 -265
  599. package/dist/src/workspace-event.test.js.map +0 -1
  600. package/dist/src/ws-inbound-schema.d.ts +0 -14
  601. package/dist/src/ws-inbound-schema.d.ts.map +0 -1
  602. package/dist/src/ws-inbound-schema.js +0 -68
  603. package/dist/src/ws-inbound-schema.js.map +0 -1
  604. package/dist/src/ws-inbound-schema.test.d.ts +0 -2
  605. package/dist/src/ws-inbound-schema.test.d.ts.map +0 -1
  606. package/dist/src/ws-inbound-schema.test.js +0 -58
  607. package/dist/src/ws-inbound-schema.test.js.map +0 -1
  608. package/dist/src/ws-run-event-unmapped.d.ts +0 -10
  609. package/dist/src/ws-run-event-unmapped.d.ts.map +0 -1
  610. package/dist/src/ws-run-event-unmapped.js +0 -16
  611. package/dist/src/ws-run-event-unmapped.js.map +0 -1
  612. package/dist/src/ws-run-event-unmapped.test.d.ts +0 -2
  613. package/dist/src/ws-run-event-unmapped.test.d.ts.map +0 -1
  614. package/dist/src/ws-run-event-unmapped.test.js +0 -15
  615. package/dist/src/ws-run-event-unmapped.test.js.map +0 -1
@@ -1,103 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it } from "node:test";
3
- import { createPlanToolResultMiddleware, } from "./plan-tool-middleware.js";
4
- function makeAction(eventId, overrides = {}) {
5
- return {
6
- eventId,
7
- event: "action_dispatch",
8
- action: "form_fill",
9
- target: "page://order-detail",
10
- version: 1,
11
- status: "completed",
12
- scopeControl: { activeSessionOnly: true },
13
- payload: { data: { id: eventId } },
14
- timestamp: "2026-09-07T17:00:00.000+08:00",
15
- origin: { channel: "xg_cwork_im", to: "g-1" },
16
- ...overrides,
17
- };
18
- }
19
- function makeToolEvent(toolName, overrides = {}) {
20
- return {
21
- toolCallId: "call-1",
22
- toolName,
23
- args: {},
24
- result: { details: undefined, content: [] },
25
- ...overrides,
26
- };
27
- }
28
- class Probe {
29
- sent = [];
30
- actionById = new Map();
31
- deps;
32
- handler;
33
- constructor() {
34
- this.deps = {
35
- getActionById: (eventId) => this.actionById.get(eventId),
36
- sendActionRunEvent: (action) => {
37
- this.sent.push(action);
38
- },
39
- };
40
- this.handler = createPlanToolResultMiddleware(this.deps);
41
- }
42
- }
43
- describe("createPlanToolResultMiddleware: 仅 xg_action_dispatch 分支(plan 已移除)", () => {
44
- it("非 action 工具直接放行:不反查、不发", () => {
45
- const probe = new Probe();
46
- const event = makeToolEvent("xg_plan_write", {
47
- result: { details: { ok: true, planId: "p-1" }, content: [] },
48
- });
49
- assert.equal(probe.handler(event, undefined), undefined);
50
- assert.equal(probe.actionById.size, 0);
51
- assert.deepEqual(probe.sent, []);
52
- });
53
- it("details 命中 eventId → 反查并发送", () => {
54
- const probe = new Probe();
55
- const action = makeAction("e-1");
56
- probe.actionById.set("e-1", action);
57
- probe.handler(makeToolEvent("xg_action_dispatch", {
58
- result: { details: { ok: true, eventId: "e-1" }, content: [] },
59
- }), undefined);
60
- assert.deepEqual(probe.sent, [action]);
61
- });
62
- it("回退解析 content[0].text JSON 里的 eventId", () => {
63
- const probe = new Probe();
64
- const action = makeAction("e-2");
65
- probe.actionById.set("e-2", action);
66
- probe.handler(makeToolEvent("xg_action_dispatch", {
67
- result: { details: undefined, content: [{ type: "text", text: '{"ok":true,"eventId":"e-2"}' }] },
68
- }), undefined);
69
- assert.deepEqual(probe.sent, [action]);
70
- });
71
- it("解析不到 eventId → 跳过,不抛", () => {
72
- const probe = new Probe();
73
- assert.equal(probe.handler(makeToolEvent("xg_action_dispatch", { result: { details: { ok: false }, content: [] } }), undefined), undefined);
74
- assert.deepEqual(probe.sent, []);
75
- });
76
- it("反查不到 action → 跳过,不抛", () => {
77
- const probe = new Probe();
78
- assert.equal(probe.handler(makeToolEvent("xg_action_dispatch", {
79
- result: { details: { ok: true, eventId: "missing" }, content: [] },
80
- }), undefined), undefined);
81
- assert.deepEqual(probe.sent, []);
82
- });
83
- it("getActionById 抛异常 → handler 不外抛", () => {
84
- const probe = new Probe();
85
- probe.deps.getActionById = () => {
86
- throw new Error("boom");
87
- };
88
- assert.equal(probe.handler(makeToolEvent("xg_action_dispatch", {
89
- result: { details: { ok: true, eventId: "e-1" }, content: [] },
90
- }), undefined), undefined);
91
- });
92
- it("sendActionRunEvent 抛异常 → handler 不外抛", () => {
93
- const probe = new Probe();
94
- probe.actionById.set("e-1", makeAction("e-1"));
95
- probe.deps.sendActionRunEvent = () => {
96
- throw new Error("boom");
97
- };
98
- assert.equal(probe.handler(makeToolEvent("xg_action_dispatch", {
99
- result: { details: { ok: true, eventId: "e-1" }, content: [] },
100
- }), undefined), undefined);
101
- });
102
- });
103
- //# sourceMappingURL=plan-tool-middleware.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-tool-middleware.test.js","sourceRoot":"","sources":["../../src/plan-tool-middleware.test.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { Plan } from "@xgjktech/xg-openclaw-shared";
2
- export interface ParsedPlanToolResult {
3
- planId: string;
4
- plan?: Plan;
5
- }
6
- /**
7
- * 从已解析的值(如 JSON.parse 结果、middleware 的 `event.result.details`)中
8
- * 结构校验并提取计划工具的成功返回。不是计划工具返回、ok:false 一律返回 undefined。
9
- * 供 `parsePlanToolResult`(字符串输入)与 middleware(对象输入)共用同一份判定,
10
- * 避免两份校验漂移。
11
- */
12
- export declare function parsePlanToolResultFromValue(value: unknown): ParsedPlanToolResult | undefined;
13
- /**
14
- * 从工具返回 JSON 文本中解析计划工具的成功返回。
15
- * 不是计划工具返回、解析失败、ok:false 一律返回 undefined(绝不抛异常)。
16
- */
17
- export declare function parsePlanToolResult(rawBody: string): ParsedPlanToolResult | undefined;
18
- //# sourceMappingURL=plan-tool-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-tool-result.d.ts","sourceRoot":"","sources":["../../src/plan-tool-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACf;AA4CD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAkB7F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CASrF"}
@@ -1,77 +0,0 @@
1
- const TASK_STATUSES = [
2
- "pending",
3
- "in_progress",
4
- "completed",
5
- "blocked",
6
- ];
7
- function isTaskStatus(value) {
8
- return typeof value === "string" && TASK_STATUSES.includes(value);
9
- }
10
- function isPlainObject(value) {
11
- return typeof value === "object" && value !== null && !Array.isArray(value);
12
- }
13
- function isValidPlan(value) {
14
- if (!isPlainObject(value)) {
15
- return false;
16
- }
17
- if (typeof value.planId !== "string" || value.planId === "") {
18
- return false;
19
- }
20
- if (typeof value.goal !== "string") {
21
- return false;
22
- }
23
- if (!Array.isArray(value.tasks)) {
24
- return false;
25
- }
26
- for (const task of value.tasks) {
27
- if (!isPlainObject(task)) {
28
- return false;
29
- }
30
- if (typeof task.title !== "string") {
31
- return false;
32
- }
33
- if (!isTaskStatus(task.status)) {
34
- return false;
35
- }
36
- }
37
- return true;
38
- }
39
- /**
40
- * 从已解析的值(如 JSON.parse 结果、middleware 的 `event.result.details`)中
41
- * 结构校验并提取计划工具的成功返回。不是计划工具返回、ok:false 一律返回 undefined。
42
- * 供 `parsePlanToolResult`(字符串输入)与 middleware(对象输入)共用同一份判定,
43
- * 避免两份校验漂移。
44
- */
45
- export function parsePlanToolResultFromValue(value) {
46
- if (!isPlainObject(value)) {
47
- return undefined;
48
- }
49
- if (value.ok !== true) {
50
- return undefined;
51
- }
52
- if (typeof value.planId !== "string" || value.planId.trim() === "") {
53
- return undefined;
54
- }
55
- if ("plan" in value && !isValidPlan(value.plan)) {
56
- return undefined;
57
- }
58
- return {
59
- planId: value.planId,
60
- ...(value.plan !== undefined ? { plan: value.plan } : {}),
61
- };
62
- }
63
- /**
64
- * 从工具返回 JSON 文本中解析计划工具的成功返回。
65
- * 不是计划工具返回、解析失败、ok:false 一律返回 undefined(绝不抛异常)。
66
- */
67
- export function parsePlanToolResult(rawBody) {
68
- let parsed;
69
- try {
70
- parsed = JSON.parse(rawBody);
71
- }
72
- catch {
73
- return undefined;
74
- }
75
- return parsePlanToolResultFromValue(parsed);
76
- }
77
- //# sourceMappingURL=plan-tool-result.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-tool-result.js","sourceRoot":"","sources":["../../src/plan-tool-result.ts"],"names":[],"mappings":"AAOA,MAAM,aAAa,GAA0B;IACzC,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;CACZ,CAAC;AAEF,SAAS,YAAY,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAC/C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plan-tool-result.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-tool-result.test.d.ts","sourceRoot":"","sources":["../../src/plan-tool-result.test.ts"],"names":[],"mappings":""}
@@ -1,129 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it } from "node:test";
3
- import { parsePlanToolResult } from "./plan-tool-result.js";
4
- const PLAN_WRITE_SUCCESS = JSON.stringify({
5
- ok: true,
6
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000001",
7
- plan: {
8
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000001",
9
- goal: "迁移配置到新版本",
10
- createdAt: "2026-07-27T00:00:00.000Z",
11
- updatedAt: "2026-07-27T00:00:00.000Z",
12
- tasks: [
13
- {
14
- title: "备份旧配置",
15
- status: "blocked",
16
- note: "阻塞原因",
17
- steps: [{ text: "导出 json", status: "pending" }],
18
- },
19
- ],
20
- },
21
- }, null, 2);
22
- const PLAN_EXECUTE_SUCCESS = JSON.stringify({
23
- ok: true,
24
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000002",
25
- plan: {
26
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000002",
27
- goal: "迁移配置到新版本",
28
- createdAt: "2026-07-27T00:00:00.000Z",
29
- updatedAt: "2026-07-27T00:01:00.000Z",
30
- tasks: [
31
- {
32
- title: "备份旧配置",
33
- status: "completed",
34
- steps: [{ text: "导出 json", status: "completed" }],
35
- },
36
- ],
37
- },
38
- event: { emitted: false, reason: "no runId" },
39
- }, null, 2);
40
- const PLAN_WRITE_030_SUCCESS = JSON.stringify({
41
- ok: true,
42
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000003",
43
- view: "goal: 迁移配置到新版本\nT0 [>] 备份旧配置",
44
- });
45
- describe("parsePlanToolResult", () => {
46
- it("parses a real plan_write success body", () => {
47
- const result = parsePlanToolResult(PLAN_WRITE_SUCCESS);
48
- assert.ok(result);
49
- assert.equal(result.planId, "db3b57e4-aaaa-bbbb-cccc-000000000001");
50
- assert.ok(result.plan);
51
- assert.equal(result.plan.goal, "迁移配置到新版本");
52
- });
53
- it("continues to parse a legacy plan_execute success body with plan/event fields", () => {
54
- const result = parsePlanToolResult(PLAN_EXECUTE_SUCCESS);
55
- assert.ok(result);
56
- assert.equal(result.planId, "db3b57e4-aaaa-bbbb-cccc-000000000002");
57
- assert.ok(result.plan);
58
- assert.equal(result.plan.tasks[0]?.status, "completed");
59
- });
60
- it("parses the 0.3.0 plan_write success body without a plan field", () => {
61
- const result = parsePlanToolResult(PLAN_WRITE_030_SUCCESS);
62
- assert.deepEqual(result, {
63
- planId: "db3b57e4-aaaa-bbbb-cccc-000000000003",
64
- });
65
- });
66
- for (const code of [
67
- "PLAN_NOT_FOUND",
68
- "INDEX_OUT_OF_RANGE",
69
- "NOTE_REQUIRED",
70
- "STEP_INDEX_REQUIRED",
71
- "INVARIANT_VIOLATION",
72
- "STORE_ERROR",
73
- ]) {
74
- it(`returns undefined for ok:false with code ${code}`, () => {
75
- const body = JSON.stringify({ ok: false, error: { code, detail: "可选" } }, null, 2);
76
- assert.equal(parsePlanToolResult(body), undefined);
77
- });
78
- }
79
- it("returns undefined for empty string / non-json / non-object json", () => {
80
- assert.equal(parsePlanToolResult(""), undefined);
81
- assert.equal(parsePlanToolResult("not json"), undefined);
82
- assert.equal(parsePlanToolResult("[]"), undefined);
83
- assert.equal(parsePlanToolResult("123"), undefined);
84
- assert.equal(parsePlanToolResult("null"), undefined);
85
- });
86
- it("does not misfire on an unrelated tool's ok:true body", () => {
87
- const body = JSON.stringify({ ok: true, data: 123 }, null, 2);
88
- assert.equal(parsePlanToolResult(body), undefined);
89
- });
90
- it("returns undefined when plan.tasks contains an invalid status", () => {
91
- const body = JSON.stringify({
92
- ok: true,
93
- planId: "p1",
94
- plan: {
95
- planId: "p1",
96
- goal: "g",
97
- createdAt: "t",
98
- updatedAt: "t",
99
- tasks: [{ title: "x", status: "unknown_status" }],
100
- },
101
- }, null, 2);
102
- assert.equal(parsePlanToolResult(body), undefined);
103
- });
104
- it("returns undefined when an optional plan field is present but malformed", () => {
105
- const body = JSON.stringify({
106
- ok: true,
107
- planId: "p1",
108
- view: "goal: g",
109
- plan: { planId: "p1", goal: "g", tasks: "not-an-array" },
110
- });
111
- assert.equal(parsePlanToolResult(body), undefined);
112
- });
113
- it("returns undefined when planId is missing or empty", () => {
114
- const body = JSON.stringify({
115
- ok: true,
116
- planId: "",
117
- plan: {
118
- planId: "p1",
119
- goal: "g",
120
- createdAt: "t",
121
- updatedAt: "t",
122
- tasks: [],
123
- },
124
- }, null, 2);
125
- assert.equal(parsePlanToolResult(body), undefined);
126
- assert.equal(parsePlanToolResult(JSON.stringify({ ok: true, planId: " " })), undefined);
127
- });
128
- });
129
- //# sourceMappingURL=plan-tool-result.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-tool-result.test.js","sourceRoot":"","sources":["../../src/plan-tool-result.test.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { ImStreamClient } from "./connection.js";
2
- export interface PlanWsTarget {
3
- client: ImStreamClient;
4
- replyToMsgId: string;
5
- }
6
- /** 按 groupId 覆盖登记(新一轮会话的 client 取代旧的)。 */
7
- export declare function setPlanWsClient(groupId: string, client: ImStreamClient, replyToMsgId: string): void;
8
- export declare function getPlanWsClient(groupId: string): PlanWsTarget | undefined;
9
- /** 账号真正停止时,移除指向该物理 client 的全部群组路由;其他账号路由不受影响。 */
10
- export declare function removePlanWsClientsByClient(client: ImStreamClient): void;
11
- /** 测试用:重置模块级缓存 */
12
- export declare function resetPlanWsRegistryForTest(): void;
13
- /** 插件卸载/重载时清空计划 WS 登记表。 */
14
- export declare function disposePlanWsRegistry(): void;
15
- //# sourceMappingURL=plan-ws-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-ws-registry.d.ts","sourceRoot":"","sources":["../../src/plan-ws-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAiBD,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAKnG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE;AAED,iDAAiD;AACjD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAMxE;AAED,kBAAkB;AAClB,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,2BAA2B;AAC3B,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1,39 +0,0 @@
1
- /** groupId → WS client 登记表容量上限:超出时逐出最旧(插入序)。 */
2
- const PLAN_WS_REGISTRY_CAPACITY = 200;
3
- const planWsClients = new Map();
4
- function evictOldestOverCapacity() {
5
- while (planWsClients.size > PLAN_WS_REGISTRY_CAPACITY) {
6
- const oldestKey = planWsClients.keys().next().value;
7
- if (oldestKey === undefined) {
8
- break;
9
- }
10
- planWsClients.delete(oldestKey);
11
- }
12
- }
13
- /** 按 groupId 覆盖登记(新一轮会话的 client 取代旧的)。 */
14
- export function setPlanWsClient(groupId, client, replyToMsgId) {
15
- // 重新登记同一 id 应刷新插入序(视为新条目),先删再插
16
- planWsClients.delete(groupId);
17
- planWsClients.set(groupId, { client, replyToMsgId });
18
- evictOldestOverCapacity();
19
- }
20
- export function getPlanWsClient(groupId) {
21
- return planWsClients.get(groupId);
22
- }
23
- /** 账号真正停止时,移除指向该物理 client 的全部群组路由;其他账号路由不受影响。 */
24
- export function removePlanWsClientsByClient(client) {
25
- for (const [groupId, target] of planWsClients) {
26
- if (target.client === client) {
27
- planWsClients.delete(groupId);
28
- }
29
- }
30
- }
31
- /** 测试用:重置模块级缓存 */
32
- export function resetPlanWsRegistryForTest() {
33
- disposePlanWsRegistry();
34
- }
35
- /** 插件卸载/重载时清空计划 WS 登记表。 */
36
- export function disposePlanWsRegistry() {
37
- planWsClients.clear();
38
- }
39
- //# sourceMappingURL=plan-ws-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-ws-registry.js","sourceRoot":"","sources":["../../src/plan-ws-registry.ts"],"names":[],"mappings":"AAOA,gDAAgD;AAChD,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;AAEtD,SAAS,uBAAuB;IAC5B,OAAO,aAAa,CAAC,IAAI,GAAG,yBAAyB,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM;QACV,CAAC;QACD,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,MAAsB,EAAE,YAAoB;IACzF,+BAA+B;IAC/B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACrD,uBAAuB,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,2BAA2B,CAAC,MAAsB;IAC9D,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;AACL,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,0BAA0B;IACtC,qBAAqB,EAAE,CAAC;AAC5B,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,qBAAqB;IACjC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=plan-ws-registry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-ws-registry.test.d.ts","sourceRoot":"","sources":["../../src/plan-ws-registry.test.ts"],"names":[],"mappings":""}
@@ -1,61 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it, beforeEach } from "node:test";
3
- import { getPlanWsClient, removePlanWsClientsByClient, resetPlanWsRegistryForTest, setPlanWsClient, } from "./plan-ws-registry.js";
4
- import { disposePluginModule } from "./plugin-dispose.js";
5
- function makeClient() {
6
- return {
7
- start: async () => { },
8
- streamProgress: async () => { },
9
- streamUsage: async () => { },
10
- sendEvent: async () => { },
11
- end: async () => { },
12
- };
13
- }
14
- beforeEach(() => {
15
- resetPlanWsRegistryForTest();
16
- });
17
- describe("plan-ws-registry", () => {
18
- it("登记后能取回;同 groupId 重复登记后者覆盖", () => {
19
- const clientA = makeClient();
20
- const clientB = makeClient();
21
- setPlanWsClient("g-1", clientA, "msg-1");
22
- assert.equal(getPlanWsClient("g-1")?.client, clientA);
23
- assert.equal(getPlanWsClient("g-1")?.replyToMsgId, "msg-1");
24
- setPlanWsClient("g-1", clientB, "msg-2");
25
- assert.equal(getPlanWsClient("g-1")?.client, clientB);
26
- assert.equal(getPlanWsClient("g-1")?.replyToMsgId, "msg-2");
27
- });
28
- it("超容量 → 逐出最旧(插入序),新条目仍在", () => {
29
- const CAPACITY = 200;
30
- for (let i = 0; i < CAPACITY; i += 1) {
31
- setPlanWsClient(`g-${i}`, makeClient(), `msg-${i}`);
32
- }
33
- assert.ok(getPlanWsClient("g-0") !== undefined, "容量恰好占满时最旧条目应仍在");
34
- // 再插入一条,触发超容量逐出
35
- setPlanWsClient("g-overflow", makeClient(), "msg-overflow");
36
- assert.equal(getPlanWsClient("g-0"), undefined, "最旧条目(插入序)应被逐出");
37
- assert.ok(getPlanWsClient("g-overflow") !== undefined, "新条目应仍在");
38
- assert.ok(getPlanWsClient(`g-${CAPACITY - 1}`) !== undefined, "次旧条目应仍在");
39
- });
40
- it("未登记的 groupId → undefined", () => {
41
- assert.equal(getPlanWsClient("g-never-registered"), undefined);
42
- });
43
- it("按物理 client 定向移除路由时不影响其他 client", () => {
44
- const clientA = makeClient();
45
- const clientB = makeClient();
46
- setPlanWsClient("g-a1", clientA, "msg-a1");
47
- setPlanWsClient("g-a2", clientA, "msg-a2");
48
- setPlanWsClient("g-b1", clientB, "msg-b1");
49
- removePlanWsClientsByClient(clientA);
50
- assert.equal(getPlanWsClient("g-a1"), undefined);
51
- assert.equal(getPlanWsClient("g-a2"), undefined);
52
- assert.equal(getPlanWsClient("g-b1")?.client, clientB);
53
- });
54
- it("registry cleanup 跳过计划资源时保留 WS 路由", async () => {
55
- const client = makeClient();
56
- setPlanWsClient("g-keep", client, "msg-keep");
57
- await disposePluginModule({ skipConnections: true, skipPlanResources: true });
58
- assert.equal(getPlanWsClient("g-keep")?.client, client);
59
- });
60
- });
61
- //# sourceMappingURL=plan-ws-registry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-ws-registry.test.js","sourceRoot":"","sources":["../../src/plan-ws-registry.test.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * 插件卸载/重载时的统一拆解入口。
3
- *
4
- * 语义(跨模块共享改造后):
5
- * - 真卸载 / gateway_stop:`disposePluginModule()`(skipConnections=false)——连同进程级共享的
6
- * account-reconciler 一起 stopAll,并清空全部共享内存态(连接/流客户端/会话上下文/轮次/去重/env/
7
- * subagent 监控)。由 index.ts 的 gateway_stop 钩子触发,且用 once 闸门保证只执行一次。
8
- * - 插件热重载 / registry 代际交替:cleanup 以 `disposePluginModule({ skipConnections: true,
9
- * skipPlanResources: true })` 调用——只收尾可安全代际清理的句柄,保留动作读库与 plan-ws 路由,
10
- * **绝不 stopAll、绝不清理共享连接/内存态**。连接只在 AccountReconciler(配置 diff,账号级)
11
- * 与 gateway_stop(进程停机)处拆解,避免 OpenClaw runtime 代际交替误拆全部 WebSocket。
12
- */
13
- export interface DisposePluginModuleOptions {
14
- /** 注册表代际交替(热重载)场景:只收尾独占句柄,跳过共享连接与共享内存态。 */
15
- skipConnections?: boolean;
16
- /** 注册表代际交替时保留计划读库、动作读库句柄与计划 WS 路由——这些资源仍被代际交替后
17
- * 可能继续调用的旧中间件读取路径使用,清空会令反查在打开数据库前即失败;gateway_stop 使用默认 false 完整清理。 */
18
- skipPlanResources?: boolean;
19
- }
20
- /** skipConnections=false(gateway_stop)时停连接+清共享态;true(cleanup)只收尾独占句柄。 */
21
- export declare function disposePluginModule(options?: DisposePluginModuleOptions): Promise<void>;
22
- //# sourceMappingURL=plugin-dispose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-dispose.d.ts","sourceRoot":"","sources":["../../src/plugin-dispose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH,MAAM,WAAW,0BAA0B;IACvC,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2EACuE;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,0BAA+B,GACzC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -1,66 +0,0 @@
1
- /**
2
- * 插件卸载/重载时的统一拆解入口。
3
- *
4
- * 语义(跨模块共享改造后):
5
- * - 真卸载 / gateway_stop:`disposePluginModule()`(skipConnections=false)——连同进程级共享的
6
- * account-reconciler 一起 stopAll,并清空全部共享内存态(连接/流客户端/会话上下文/轮次/去重/env/
7
- * subagent 监控)。由 index.ts 的 gateway_stop 钩子触发,且用 once 闸门保证只执行一次。
8
- * - 插件热重载 / registry 代际交替:cleanup 以 `disposePluginModule({ skipConnections: true,
9
- * skipPlanResources: true })` 调用——只收尾可安全代际清理的句柄,保留动作读库与 plan-ws 路由,
10
- * **绝不 stopAll、绝不清理共享连接/内存态**。连接只在 AccountReconciler(配置 diff,账号级)
11
- * 与 gateway_stop(进程停机)处拆解,避免 OpenClaw runtime 代际交替误拆全部 WebSocket。
12
- */
13
- import { accountReconciler } from "./account-reconciler.js";
14
- import { disposeAssistantItemSinks } from "./assistant-item-sink.js";
15
- import { disposeActiveCronContextStore } from "./active-cron-context-store.js";
16
- import { clearStreamClients } from "./agent-stream-client-registry.js";
17
- import { disposeActiveRoundRegistry } from "./active-round-registry.js";
18
- import { disposeActionStore } from "./action-store-access.js";
19
- import { clearAllTokenCache } from "./auth.js";
20
- import { disposeCronAppKeyBindingStore } from "./cron-appkey-binding-store.js";
21
- import { disposeGlobalTerminalSent } from "./inbound-terminal-state.js";
22
- import { clearSessionNasVolumeStates } from "./nas-volumes.js";
23
- import { clearAllPendingPerMessageModel } from "./per-message-model-pending.js";
24
- import { disposeSessionEnvStore } from "./session-env-store.js";
25
- import { disposePlanWsRegistry } from "./plan-ws-registry.js";
26
- import { disposeSessionImContext } from "./session-im-context.js";
27
- import { clearAllSessionGroupPrompts } from "./session-group-prompt.js";
28
- import { disposeSubagentMonitor } from "./subagent-monitor.js";
29
- import { disposeTurnAgentEvents } from "./turn-agent-event-subscription.js";
30
- import { disposeTurnEndController } from "./turn-end-controller.js";
31
- /** skipConnections=false(gateway_stop)时停连接+清共享态;true(cleanup)只收尾独占句柄。 */
32
- export async function disposePluginModule(options = {}) {
33
- const { skipConnections = false } = options;
34
- const { skipPlanResources = false } = options;
35
- if (skipConnections) {
36
- console.log(`[xg_cwork_im] [reload] disposePluginModule skipConnections=true ` +
37
- `skipPlanResources=${skipPlanResources} (registry cycle)`);
38
- }
39
- else {
40
- // gateway_stop:停共享连接 + 清空共享热路径内存态(含 subagent 监控 maps/ticker)。
41
- await accountReconciler.stopAll("gateway-stop");
42
- disposeSubagentMonitor();
43
- disposeTurnAgentEvents();
44
- disposeAssistantItemSinks();
45
- disposeTurnEndController();
46
- clearStreamClients();
47
- disposeSessionImContext();
48
- clearAllSessionGroupPrompts();
49
- disposeActiveRoundRegistry();
50
- disposeGlobalTerminalSent();
51
- clearAllPendingPerMessageModel();
52
- clearSessionNasVolumeStates();
53
- disposeSessionEnvStore();
54
- disposeActiveCronContextStore();
55
- disposeCronAppKeyBindingStore();
56
- }
57
- // 动作读库与 plan-ws 路由可能被代际交替后仍在调用的旧中间件/旧发送路径继续使用:旧 cleanup 绝不能清空
58
- // 它们的配置/句柄——action 若被清空,getActionById 会在打开数据库之前就因 stateDir 缺失而失败,
59
- // 表现为「反查不到 action,跳过 ACTION_DISPATCH 发送」;gateway_stop(skipPlanResources=false)仍完整释放。
60
- if (!skipPlanResources) {
61
- disposeActionStore();
62
- disposePlanWsRegistry();
63
- }
64
- clearAllTokenCache();
65
- }
66
- //# sourceMappingURL=plugin-dispose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-dispose.js","sourceRoot":"","sources":["../../src/plugin-dispose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAUpE,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,UAAsC,EAAE;IAExC,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,kEAAkE;YAC9D,qBAAqB,iBAAiB,mBAAmB,CAChE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,8DAA8D;QAC9D,MAAM,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,sBAAsB,EAAE,CAAC;QACzB,sBAAsB,EAAE,CAAC;QACzB,yBAAyB,EAAE,CAAC;QAC5B,wBAAwB,EAAE,CAAC;QAC3B,kBAAkB,EAAE,CAAC;QACrB,uBAAuB,EAAE,CAAC;QAC1B,2BAA2B,EAAE,CAAC;QAC9B,0BAA0B,EAAE,CAAC;QAC7B,yBAAyB,EAAE,CAAC;QAC5B,8BAA8B,EAAE,CAAC;QACjC,2BAA2B,EAAE,CAAC;QAC9B,sBAAsB,EAAE,CAAC;QACzB,6BAA6B,EAAE,CAAC;QAChC,6BAA6B,EAAE,CAAC;IACpC,CAAC;IACD,8DAA8D;IAC9D,kEAAkE;IAClE,qFAAqF;IACrF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,kBAAkB,EAAE,CAAC;QACrB,qBAAqB,EAAE,CAAC;IAC5B,CAAC;IACD,kBAAkB,EAAE,CAAC;AACzB,CAAC"}