@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,85 +0,0 @@
1
- import { getSharedMap } from "./process-shared-store.js";
2
- const ACTIVE_ROUND_TTL_MS = 30 * 60 * 1000;
3
- const rounds = getSharedMap("active-rounds");
4
- const generations = getSharedMap("active-round-generations");
5
- export const buildRoundKey = (accountId, groupId) => `${String(accountId || "").trim()}:${String(groupId || "").trim()}`;
6
- function pruneExpired(now = Date.now()) {
7
- for (const [roundKey, round] of rounds) {
8
- if (round.expiresAt <= now)
9
- rounds.delete(roundKey);
10
- }
11
- }
12
- export function registerActiveRound(params) {
13
- const now = params.now ?? Date.now();
14
- pruneExpired(now);
15
- const roundKey = buildRoundKey(params.accountId, params.groupId);
16
- const generation = (generations.get(roundKey) ?? 0) + 1;
17
- generations.set(roundKey, generation);
18
- const round = {
19
- roundKey,
20
- accountId: params.accountId,
21
- groupId: params.groupId,
22
- agentId: params.agentId,
23
- sessionKey: params.sessionKey,
24
- replyToMsgId: params.replyToMsgId,
25
- generation,
26
- streamClient: params.streamClient,
27
- startedAt: now,
28
- expiresAt: now + ACTIVE_ROUND_TTL_MS,
29
- interrupted: false,
30
- };
31
- rounds.set(roundKey, round);
32
- return round;
33
- }
34
- export function findActiveRoundForSubagent(groupId, now = Date.now()) {
35
- pruneExpired(now);
36
- const matches = Array.from(rounds.values()).filter((round) => !round.interrupted && round.groupId === groupId);
37
- if (matches.length > 1) {
38
- console.warn(`[xg_cwork_im] [subagent] ambiguous active round groupId=${groupId}; monitoring rejected`);
39
- }
40
- return matches.length === 1 ? matches[0] : undefined;
41
- }
42
- /** 按整轮父会话 sessionKey 定位活跃轮次(lifecycle/thinking 等事件路由用)。 */
43
- export function findActiveRoundForSession(sessionKey, now = Date.now()) {
44
- if (!sessionKey)
45
- return undefined;
46
- pruneExpired(now);
47
- const matches = Array.from(rounds.values()).filter((round) => !round.interrupted && round.sessionKey === sessionKey);
48
- if (matches.length > 1) {
49
- console.warn(`[xg_cwork_im] [turn] ambiguous active round sessionKey=${sessionKey}; lifecycle routing rejected`);
50
- }
51
- return matches.length === 1 ? matches[0] : undefined;
52
- }
53
- export function getActiveRound(roundKey, generation) {
54
- const round = rounds.get(roundKey);
55
- if (!round || round.generation !== generation)
56
- return undefined;
57
- return round;
58
- }
59
- export function roundExists(roundKey, generation) {
60
- return getActiveRound(roundKey, generation) !== undefined;
61
- }
62
- export function prepareActiveRoundInterrupt(accountId, groupId, now = Date.now()) {
63
- pruneExpired(now);
64
- const round = rounds.get(buildRoundKey(accountId, groupId));
65
- if (!round || round.interrupted)
66
- return undefined;
67
- round.interrupted = true;
68
- return round;
69
- }
70
- export function completeActiveRound(roundKey, generation) {
71
- const current = rounds.get(roundKey);
72
- if (!current || current.generation !== generation)
73
- return false;
74
- rounds.delete(roundKey);
75
- return true;
76
- }
77
- export function __resetActiveRoundRegistryForTests() {
78
- disposeActiveRoundRegistry();
79
- }
80
- /** 插件卸载/重载时清空活跃轮次登记。 */
81
- export function disposeActiveRoundRegistry() {
82
- rounds.clear();
83
- generations.clear();
84
- }
85
- //# sourceMappingURL=active-round-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"active-round-registry.js","sourceRoot":"","sources":["../../src/active-round-registry.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=active-round-registry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"active-round-registry.test.d.ts","sourceRoot":"","sources":["../../src/active-round-registry.test.ts"],"names":[],"mappings":""}
@@ -1,62 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { afterEach, describe, it } from "node:test";
3
- import { __resetActiveRoundRegistryForTests, completeActiveRound, findActiveRoundForSubagent, prepareActiveRoundInterrupt, registerActiveRound, } from "./active-round-registry.js";
4
- const client = {};
5
- afterEach(() => __resetActiveRoundRegistryForTests());
6
- describe("active round registry", () => {
7
- it("按 accountId:groupId 隔离,并用 generation 防止旧轮次误删新轮次", () => {
8
- const first = registerActiveRound({
9
- accountId: "account-a",
10
- groupId: "group-1",
11
- agentId: "main",
12
- sessionKey: "session-a1",
13
- replyToMsgId: "reply-a1",
14
- streamClient: client,
15
- });
16
- const otherAccount = registerActiveRound({
17
- accountId: "account-b",
18
- groupId: "group-1",
19
- agentId: "main",
20
- sessionKey: "session-b1",
21
- replyToMsgId: "reply-b1",
22
- streamClient: client,
23
- });
24
- assert.equal(findActiveRoundForSubagent("group-1"), undefined);
25
- assert.equal(prepareActiveRoundInterrupt("account-a", "group-1"), first);
26
- assert.equal(prepareActiveRoundInterrupt("account-b", "group-1"), otherAccount);
27
- const next = registerActiveRound({
28
- accountId: "account-a",
29
- groupId: "group-1",
30
- agentId: "main",
31
- sessionKey: "session-a2",
32
- replyToMsgId: "reply-a2",
33
- streamClient: client,
34
- });
35
- assert.equal(completeActiveRound(first.roundKey, first.generation), false);
36
- assert.equal(prepareActiveRoundInterrupt("account-a", "group-1"), next);
37
- });
38
- it("超过 30 分钟的活动轮次不会再被 stop 命中", () => {
39
- registerActiveRound({
40
- accountId: "account-a",
41
- groupId: "group-1",
42
- agentId: "main",
43
- sessionKey: "session-a1",
44
- replyToMsgId: "reply-a1",
45
- streamClient: client,
46
- now: 1,
47
- });
48
- assert.equal(prepareActiveRoundInterrupt("account-a", "group-1", 30 * 60_000 + 2), undefined);
49
- });
50
- it("subagent 的目标 agentId 不影响按 groupId 命中唯一主轮次", () => {
51
- const round = registerActiveRound({
52
- accountId: "account-a",
53
- groupId: "group-1",
54
- agentId: "main",
55
- sessionKey: "session-a1",
56
- replyToMsgId: "reply-a1",
57
- streamClient: client,
58
- });
59
- assert.equal(findActiveRoundForSubagent("group-1"), round);
60
- });
61
- });
62
- //# sourceMappingURL=active-round-registry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"active-round-registry.test.js","sourceRoot":"","sources":["../../src/active-round-registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EACH,kCAAkC,EAClC,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,GAAG,EAAoB,CAAC;AAEpC,SAAS,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC;AAEtD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAC9B,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,mBAAmB,CAAC;YACrC,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;QAEhF,MAAM,IAAI,GAAG,mBAAmB,CAAC;YAC7B,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,mBAAmB,CAAC;YAChB,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,MAAM;YACpB,GAAG,EAAE,CAAC;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAC9B,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,205 +0,0 @@
1
- /**
2
- * robotMention.params.agentContext — 可选项目工作区 / NAS 挂载 + 知识库绑定 + 项目背景
3
- */
4
- import { z } from "zod";
5
- export declare const nasVolumeSchema: z.ZodObject<{
6
- realDir: z.ZodString;
7
- dockerDir: z.ZodString;
8
- mode: z.ZodEnum<["ro", "rw"]>;
9
- }, "strip", z.ZodTypeAny, {
10
- realDir: string;
11
- dockerDir: string;
12
- mode: "ro" | "rw";
13
- }, {
14
- realDir: string;
15
- dockerDir: string;
16
- mode: "ro" | "rw";
17
- }>;
18
- export type NasVolume = z.infer<typeof nasVolumeSchema>;
19
- /** 知识库空间 ID + 逻辑目录路径 */
20
- declare const knowledgeBaseByPathSchema: z.ZodObject<{
21
- projectId: z.ZodString;
22
- folderPath: z.ZodString;
23
- }, "strip", z.ZodTypeAny, {
24
- projectId: string;
25
- folderPath: string;
26
- }, {
27
- projectId: string;
28
- folderPath: string;
29
- }>;
30
- /** IM 常见:仅传知识库空间 ID(无 folderPath) */
31
- declare const knowledgeBaseByProjectIdOnlySchema: z.ZodObject<{
32
- projectId: z.ZodString;
33
- }, "strip", z.ZodTypeAny, {
34
- projectId: string;
35
- }, {
36
- projectId: string;
37
- }>;
38
- export declare const agentContextKnowledgeBaseSchema: z.ZodUnion<[z.ZodObject<{
39
- rootFileId: z.ZodString;
40
- }, "strip", z.ZodTypeAny, {
41
- rootFileId: string;
42
- }, {
43
- rootFileId: string;
44
- }>, z.ZodObject<{
45
- projectId: z.ZodString;
46
- folderPath: z.ZodString;
47
- }, "strip", z.ZodTypeAny, {
48
- projectId: string;
49
- folderPath: string;
50
- }, {
51
- projectId: string;
52
- folderPath: string;
53
- }>, z.ZodObject<{
54
- projectId: z.ZodString;
55
- }, "strip", z.ZodTypeAny, {
56
- projectId: string;
57
- }, {
58
- projectId: string;
59
- }>]>;
60
- export type AgentContextKnowledgeBase = z.infer<typeof agentContextKnowledgeBaseSchema>;
61
- /** 与 IM 后台约定的 `params.agentContext` 结构 */
62
- export declare const robotMentionAgentContextSchema: z.ZodEffects<z.ZodObject<{
63
- localRoot: z.ZodOptional<z.ZodObject<{
64
- kind: z.ZodEnum<["workspace_relative", "host_absolute"]>;
65
- path: z.ZodString;
66
- }, "strip", z.ZodTypeAny, {
67
- kind: "workspace_relative" | "host_absolute";
68
- path: string;
69
- }, {
70
- kind: "workspace_relative" | "host_absolute";
71
- path: string;
72
- }>>;
73
- nasVolumes: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
- realDir: z.ZodString;
75
- dockerDir: z.ZodString;
76
- mode: z.ZodEnum<["ro", "rw"]>;
77
- }, "strip", z.ZodTypeAny, {
78
- realDir: string;
79
- dockerDir: string;
80
- mode: "ro" | "rw";
81
- }, {
82
- realDir: string;
83
- dockerDir: string;
84
- mode: "ro" | "rw";
85
- }>, "many">>;
86
- knowledgeBase: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
87
- rootFileId: z.ZodString;
88
- }, "strip", z.ZodTypeAny, {
89
- rootFileId: string;
90
- }, {
91
- rootFileId: string;
92
- }>, z.ZodObject<{
93
- projectId: z.ZodString;
94
- folderPath: z.ZodString;
95
- }, "strip", z.ZodTypeAny, {
96
- projectId: string;
97
- folderPath: string;
98
- }, {
99
- projectId: string;
100
- folderPath: string;
101
- }>, z.ZodObject<{
102
- projectId: z.ZodString;
103
- }, "strip", z.ZodTypeAny, {
104
- projectId: string;
105
- }, {
106
- projectId: string;
107
- }>]>>;
108
- background: z.ZodOptional<z.ZodString>;
109
- }, "strip", z.ZodTypeAny, {
110
- localRoot?: {
111
- kind: "workspace_relative" | "host_absolute";
112
- path: string;
113
- } | undefined;
114
- nasVolumes?: {
115
- realDir: string;
116
- dockerDir: string;
117
- mode: "ro" | "rw";
118
- }[] | undefined;
119
- knowledgeBase?: {
120
- rootFileId: string;
121
- } | {
122
- projectId: string;
123
- folderPath: string;
124
- } | {
125
- projectId: string;
126
- } | undefined;
127
- background?: string | undefined;
128
- }, {
129
- localRoot?: {
130
- kind: "workspace_relative" | "host_absolute";
131
- path: string;
132
- } | undefined;
133
- nasVolumes?: {
134
- realDir: string;
135
- dockerDir: string;
136
- mode: "ro" | "rw";
137
- }[] | undefined;
138
- knowledgeBase?: {
139
- rootFileId: string;
140
- } | {
141
- projectId: string;
142
- folderPath: string;
143
- } | {
144
- projectId: string;
145
- } | undefined;
146
- background?: string | undefined;
147
- }>, {
148
- localRoot?: {
149
- kind: "workspace_relative" | "host_absolute";
150
- path: string;
151
- } | undefined;
152
- nasVolumes?: {
153
- realDir: string;
154
- dockerDir: string;
155
- mode: "ro" | "rw";
156
- }[] | undefined;
157
- knowledgeBase?: {
158
- rootFileId: string;
159
- } | {
160
- projectId: string;
161
- folderPath: string;
162
- } | {
163
- projectId: string;
164
- } | undefined;
165
- background?: string | undefined;
166
- }, {
167
- localRoot?: {
168
- kind: "workspace_relative" | "host_absolute";
169
- path: string;
170
- } | undefined;
171
- nasVolumes?: {
172
- realDir: string;
173
- dockerDir: string;
174
- mode: "ro" | "rw";
175
- }[] | undefined;
176
- knowledgeBase?: {
177
- rootFileId: string;
178
- } | {
179
- projectId: string;
180
- folderPath: string;
181
- } | {
182
- projectId: string;
183
- } | undefined;
184
- background?: string | undefined;
185
- }>;
186
- export type RobotMentionAgentContext = z.infer<typeof robotMentionAgentContextSchema>;
187
- export type ParseRobotMentionAgentContextResult = {
188
- agentContext?: RobotMentionAgentContext;
189
- /** 被忽略的非法字段;仅用于日志诊断,不得阻断消息处理。 */
190
- fatalError?: string;
191
- /** knowledgeBase 存在但无法解析时被丢弃 */
192
- knowledgeBaseDropped?: boolean;
193
- knowledgeBaseDropReason?: string;
194
- };
195
- /**
196
- * 解析 agentContext;knowledgeBase 非法时丢弃该字段,仍保留工作区上下文与 background。
197
- */
198
- export declare function parseRobotMentionAgentContextDetailed(params: unknown): ParseRobotMentionAgentContextResult;
199
- export declare function parseRobotMentionAgentContext(params: unknown): RobotMentionAgentContext | undefined;
200
- /** 判断 knowledgeBase 是否为 projectId + folderPath 形式 */
201
- export declare function isKnowledgeBaseByPath(kb: AgentContextKnowledgeBase): kb is z.infer<typeof knowledgeBaseByPathSchema>;
202
- /** 判断 knowledgeBase 是否仅有 projectId(无 folderPath / rootFileId) */
203
- export declare function isKnowledgeBaseByProjectIdOnly(kb: AgentContextKnowledgeBase): kb is z.infer<typeof knowledgeBaseByProjectIdOnlySchema>;
204
- export {};
205
- //# sourceMappingURL=agent-context-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-context-types.d.ts","sourceRoot":"","sources":["../../src/agent-context-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAOxD,wBAAwB;AACxB,QAAA,MAAM,yBAAyB;;;;;;;;;EAG7B,CAAC;AAEH,qCAAqC;AACrC,QAAA,MAAM,kCAAkC;;;;;;EAEtC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;IAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,0CAA0C;AAC1C,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAazC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,MAAM,MAAM,mCAAmC,GAAG;IAC9C,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAQF;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,OAAO,GAAG,mCAAmC,CAoE1G;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAEnG;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,yBAAyB,GAC9B,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAEjD;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,CAC1C,EAAE,EAAE,yBAAyB,GAC9B,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAE1D"}
@@ -1,132 +0,0 @@
1
- /**
2
- * robotMention.params.agentContext — 可选项目工作区 / NAS 挂载 + 知识库绑定 + 项目背景
3
- */
4
- import { z } from "zod";
5
- import { LOCAL_ROOT_KINDS } from "./project-path-normalize.js";
6
- const localRootSchema = z.object({
7
- kind: z.enum(LOCAL_ROOT_KINDS),
8
- path: z.string().min(1),
9
- });
10
- export const nasVolumeSchema = z.object({
11
- realDir: z.string().min(1).max(1024),
12
- dockerDir: z.string().min(1).max(1024),
13
- mode: z.enum(["ro", "rw"]),
14
- });
15
- /** 知识库目录 fileId(与 projectId 形式二选一) */
16
- const knowledgeBaseByFileIdSchema = z.object({
17
- rootFileId: z.string().min(1),
18
- });
19
- /** 知识库空间 ID + 逻辑目录路径 */
20
- const knowledgeBaseByPathSchema = z.object({
21
- projectId: z.string().min(1),
22
- folderPath: z.string().min(1),
23
- });
24
- /** IM 常见:仅传知识库空间 ID(无 folderPath) */
25
- const knowledgeBaseByProjectIdOnlySchema = z.object({
26
- projectId: z.string().min(1),
27
- });
28
- export const agentContextKnowledgeBaseSchema = z.union([
29
- knowledgeBaseByFileIdSchema,
30
- knowledgeBaseByPathSchema,
31
- knowledgeBaseByProjectIdOnlySchema,
32
- ]);
33
- /** 与 IM 后台约定的 `params.agentContext` 结构 */
34
- export const robotMentionAgentContextSchema = z.object({
35
- localRoot: localRootSchema.optional(),
36
- nasVolumes: z.array(nasVolumeSchema).max(16).optional(),
37
- knowledgeBase: agentContextKnowledgeBaseSchema.optional(),
38
- background: z.string().optional(),
39
- }).superRefine((value, ctx) => {
40
- if (!value.localRoot && !value.nasVolumes?.length) {
41
- ctx.addIssue({
42
- code: z.ZodIssueCode.custom,
43
- path: ["localRoot"],
44
- message: "localRoot 与 nasVolumes 至少需要提供一个",
45
- });
46
- }
47
- });
48
- function formatZodIssue(err) {
49
- const issue = err.issues[0];
50
- const path = issue?.path?.length ? issue.path.join(".") : "agentContext";
51
- return `${path}: ${issue?.message ?? err.message}`;
52
- }
53
- /**
54
- * 解析 agentContext;knowledgeBase 非法时丢弃该字段,仍保留工作区上下文与 background。
55
- */
56
- export function parseRobotMentionAgentContextDetailed(params) {
57
- if (params == null || typeof params !== "object") {
58
- return {};
59
- }
60
- const raw = params.agentContext;
61
- if (raw == null || typeof raw !== "object") {
62
- return {};
63
- }
64
- const record = raw;
65
- const droppedReasons = [];
66
- const localRootParsed = record.localRoot == null ? undefined : localRootSchema.safeParse(record.localRoot);
67
- if (localRootParsed && !localRootParsed.success) {
68
- droppedReasons.push(formatZodIssue(localRootParsed.error));
69
- }
70
- const nasVolumes = [];
71
- if (record.nasVolumes != null) {
72
- if (!Array.isArray(record.nasVolumes)) {
73
- droppedReasons.push("nasVolumes: Expected array");
74
- }
75
- else {
76
- for (const [index, rawVolume] of record.nasVolumes.slice(0, 16).entries()) {
77
- const parsed = nasVolumeSchema.safeParse(rawVolume);
78
- if (parsed.success) {
79
- nasVolumes.push(parsed.data);
80
- }
81
- else {
82
- droppedReasons.push(`nasVolumes.${index}: ${formatZodIssue(parsed.error)}`);
83
- }
84
- }
85
- if (record.nasVolumes.length > 16) {
86
- droppedReasons.push("nasVolumes: 超过 16 项的部分已忽略");
87
- }
88
- }
89
- }
90
- // 保持旧逻辑:没有有效工作区来源时忽略整个 agentContext,但绝不阻断消息。
91
- if (!localRootParsed?.success && nasVolumes.length === 0) {
92
- return {
93
- ...(droppedReasons.length > 0 ? { fatalError: droppedReasons.join("; ") } : {}),
94
- };
95
- }
96
- let knowledgeBase;
97
- let knowledgeBaseDropped = false;
98
- let knowledgeBaseDropReason;
99
- if (record.knowledgeBase != null) {
100
- const kbParsed = agentContextKnowledgeBaseSchema.safeParse(record.knowledgeBase);
101
- if (kbParsed.success) {
102
- knowledgeBase = kbParsed.data;
103
- }
104
- else {
105
- knowledgeBaseDropped = true;
106
- knowledgeBaseDropReason = formatZodIssue(kbParsed.error);
107
- }
108
- }
109
- const background = typeof record.background === "string" ? record.background : undefined;
110
- return {
111
- agentContext: {
112
- ...(localRootParsed?.success ? { localRoot: localRootParsed.data } : {}),
113
- ...(nasVolumes.length > 0 ? { nasVolumes } : {}),
114
- ...(knowledgeBase ? { knowledgeBase } : {}),
115
- ...(background !== undefined ? { background } : {}),
116
- },
117
- ...(droppedReasons.length > 0 ? { fatalError: droppedReasons.join("; ") } : {}),
118
- ...(knowledgeBaseDropped ? { knowledgeBaseDropped, knowledgeBaseDropReason } : {}),
119
- };
120
- }
121
- export function parseRobotMentionAgentContext(params) {
122
- return parseRobotMentionAgentContextDetailed(params).agentContext;
123
- }
124
- /** 判断 knowledgeBase 是否为 projectId + folderPath 形式 */
125
- export function isKnowledgeBaseByPath(kb) {
126
- return "projectId" in kb && "folderPath" in kb;
127
- }
128
- /** 判断 knowledgeBase 是否仅有 projectId(无 folderPath / rootFileId) */
129
- export function isKnowledgeBaseByProjectIdOnly(kb) {
130
- return "projectId" in kb && !("folderPath" in kb) && !("rootFileId" in kb);
131
- }
132
- //# sourceMappingURL=agent-context-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-context-types.js","sourceRoot":"","sources":["../../src/agent-context-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC7B,CAAC,CAAC;AAIH,sCAAsC;AACtC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC;IACnD,2BAA2B;IAC3B,yBAAyB;IACzB,kCAAkC;CACrC,CAAC,CAAC;AAIH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,aAAa,EAAE,+BAA+B,CAAC,QAAQ,EAAE;IACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAChD,GAAG,CAAC,QAAQ,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,iCAAiC;SAC7C,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,CAAC;AAaH,SAAS,cAAc,CAAC,GAAe;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACzE,OAAO,GAAG,IAAI,KAAK,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CAAC,MAAe;IACjE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAI,MAAkC,CAAC,YAAY,CAAC;IAC7D,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAE9C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3G,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC9C,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACJ,cAAc,CAAC,IAAI,CAAC,cAAc,KAAK,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAChC,cAAc,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO;YACH,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;IACN,CAAC;IAED,IAAI,aAAoD,CAAC;IACzD,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,uBAA2C,CAAC;IAEhD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,oBAAoB,GAAG,IAAI,CAAC;YAC5B,uBAAuB,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,OAAO;QACH,YAAY,EAAE;YACV,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;QACD,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAe;IACzD,OAAO,qCAAqC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AACtE,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,qBAAqB,CACjC,EAA6B;IAE7B,OAAO,WAAW,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,8BAA8B,CAC1C,EAA6B;IAE7B,OAAO,WAAW,IAAI,EAAE,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agent-context-types.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-context-types.test.d.ts","sourceRoot":"","sources":["../../src/agent-context-types.test.ts"],"names":[],"mappings":""}
@@ -1,123 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it } from "node:test";
3
- import { parseRobotMentionAgentContext, parseRobotMentionAgentContextDetailed, } from "./agent-context-types.js";
4
- const USER_PAYLOAD = {
5
- agentContext: {
6
- background: "- 项目名称:Sitavig\n\n该项目对应的知识库根目录id为:2072258063360479234\n\n### 会话背景信息:\n待办内容:BD初审修订任务",
7
- knowledgeBase: { projectId: "1660820549716893698" },
8
- localRoot: { kind: "workspace_relative", path: "project/202607/2074431529933336577" },
9
- },
10
- };
11
- describe("parseRobotMentionAgentContext", () => {
12
- it("accepts knowledgeBase with projectId only (IM 常见形态)", () => {
13
- const ctx = parseRobotMentionAgentContext(USER_PAYLOAD);
14
- assert.ok(ctx);
15
- assert.equal(ctx.localRoot.path, "project/202607/2074431529933336577");
16
- assert.deepEqual(ctx.knowledgeBase, { projectId: "1660820549716893698" });
17
- assert.ok(ctx.background?.includes("Sitavig"));
18
- });
19
- it("accepts knowledgeBase with projectId and folderPath", () => {
20
- const ctx = parseRobotMentionAgentContext({
21
- agentContext: {
22
- localRoot: { kind: "workspace_relative", path: "data/a" },
23
- knowledgeBase: { projectId: "p1", folderPath: "团队文档/项目A" },
24
- },
25
- });
26
- assert.deepEqual(ctx.knowledgeBase, {
27
- projectId: "p1",
28
- folderPath: "团队文档/项目A",
29
- });
30
- });
31
- it("accepts knowledgeBase with rootFileId", () => {
32
- const ctx = parseRobotMentionAgentContext({
33
- agentContext: {
34
- localRoot: { kind: "workspace_relative", path: "data/a" },
35
- knowledgeBase: { rootFileId: "2072258063360479234" },
36
- },
37
- });
38
- assert.deepEqual(ctx.knowledgeBase, { rootFileId: "2072258063360479234" });
39
- });
40
- it("ignores a context with no valid workspace source without making it fatal", () => {
41
- const result = parseRobotMentionAgentContextDetailed({
42
- agentContext: { background: "x" },
43
- });
44
- assert.equal(result.agentContext, undefined);
45
- assert.equal(result.fatalError, undefined);
46
- });
47
- it("accepts nasVolumes without localRoot", () => {
48
- const ctx = parseRobotMentionAgentContext({
49
- agentContext: {
50
- nasVolumes: [
51
- {
52
- realDir: "/data/touqian/CP202205250005/sequences/0000",
53
- dockerDir: "touqian/2026/08/biz-1/CP202205250005/sequences/0000",
54
- mode: "ro",
55
- },
56
- ],
57
- background: "案件资料处理",
58
- },
59
- });
60
- assert.ok(ctx);
61
- assert.equal(ctx.localRoot, undefined);
62
- assert.equal(ctx.nasVolumes?.[0]?.mode, "ro");
63
- });
64
- it("treats an empty nasVolumes array exactly like an omitted field when localRoot exists", () => {
65
- const withoutNas = parseRobotMentionAgentContext({
66
- agentContext: { localRoot: { kind: "workspace_relative", path: "data/a" } },
67
- });
68
- const emptyNas = parseRobotMentionAgentContext({
69
- agentContext: {
70
- localRoot: { kind: "workspace_relative", path: "data/a" },
71
- nasVolumes: [],
72
- },
73
- });
74
- assert.deepEqual(emptyNas, withoutNas);
75
- assert.equal(emptyNas?.nasVolumes, undefined);
76
- });
77
- it("ignores an invalid nasVolumes item without blocking valid items", () => {
78
- const result = parseRobotMentionAgentContextDetailed({
79
- agentContext: {
80
- nasVolumes: [
81
- { realDir: "/data/touqian/a", dockerDir: "case/a", mode: "write" },
82
- { realDir: "/data/touqian/b", dockerDir: "case/b", mode: "rw" },
83
- ],
84
- },
85
- });
86
- assert.equal(result.agentContext?.nasVolumes?.length, 1);
87
- assert.equal(result.agentContext?.nasVolumes?.[0]?.dockerDir, "case/b");
88
- assert.ok(result.fatalError?.includes("mode"));
89
- });
90
- it("ignores an entirely invalid nasVolumes declaration and leaves the message unblocked", () => {
91
- const result = parseRobotMentionAgentContextDetailed({
92
- agentContext: {
93
- nasVolumes: [{ realDir: "/data/touqian/a", dockerDir: "case/a", mode: "write" }],
94
- background: "must not make the context fatal",
95
- },
96
- });
97
- assert.equal(result.agentContext, undefined);
98
- assert.ok(result.fatalError?.includes("mode"));
99
- });
100
- it("ignores oversized NAS paths so cached strings have a fixed upper bound", () => {
101
- const result = parseRobotMentionAgentContextDetailed({
102
- agentContext: {
103
- nasVolumes: [{ realDir: `/${"a".repeat(1024)}`, dockerDir: "case/a", mode: "ro" }],
104
- },
105
- });
106
- assert.equal(result.agentContext, undefined);
107
- assert.ok(result.fatalError?.includes("realDir"));
108
- });
109
- it("drops invalid knowledgeBase but keeps localRoot and background", () => {
110
- const result = parseRobotMentionAgentContextDetailed({
111
- agentContext: {
112
- localRoot: { kind: "workspace_relative", path: "data/a" },
113
- knowledgeBase: { rootFileId: "" },
114
- background: "项目说明",
115
- },
116
- });
117
- assert.ok(result.agentContext);
118
- assert.equal(result.agentContext.background, "项目说明");
119
- assert.equal(result.agentContext.knowledgeBase, undefined);
120
- assert.equal(result.knowledgeBaseDropped, true);
121
- });
122
- });
123
- //# sourceMappingURL=agent-context-types.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-context-types.test.js","sourceRoot":"","sources":["../../src/agent-context-types.test.ts"],"names":[],"mappings":"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"}