sema-core 1.0.11 → 1.0.13

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 (325) hide show
  1. package/README.md +6 -11
  2. package/dist/core/Conversation.d.ts +6 -1
  3. package/dist/core/Conversation.d.ts.map +1 -1
  4. package/dist/core/Conversation.js +72 -28
  5. package/dist/core/Conversation.js.map +1 -1
  6. package/dist/core/RunTools.d.ts.map +1 -1
  7. package/dist/core/RunTools.js +1 -1
  8. package/dist/core/RunTools.js.map +1 -1
  9. package/dist/core/SemaCore.d.ts +16 -0
  10. package/dist/core/SemaCore.d.ts.map +1 -1
  11. package/dist/core/SemaCore.js +30 -3
  12. package/dist/core/SemaCore.js.map +1 -1
  13. package/dist/core/SemaEngine.d.ts +2 -18
  14. package/dist/core/SemaEngine.d.ts.map +1 -1
  15. package/dist/core/SemaEngine.js +101 -131
  16. package/dist/core/SemaEngine.js.map +1 -1
  17. package/dist/events/EventSystem.d.ts.map +1 -1
  18. package/dist/events/EventSystem.js +6 -2
  19. package/dist/events/EventSystem.js.map +1 -1
  20. package/dist/events/types.d.ts +60 -13
  21. package/dist/events/types.d.ts.map +1 -1
  22. package/dist/events/types.js +0 -1
  23. package/dist/events/types.js.map +1 -1
  24. package/dist/manager/ConfManager.d.ts.map +1 -1
  25. package/dist/manager/ConfManager.js +3 -1
  26. package/dist/manager/ConfManager.js.map +1 -1
  27. package/dist/manager/CronManager.d.ts +52 -0
  28. package/dist/manager/CronManager.d.ts.map +1 -0
  29. package/dist/manager/CronManager.js +426 -0
  30. package/dist/manager/CronManager.js.map +1 -0
  31. package/dist/manager/PermissionManager.d.ts +1 -1
  32. package/dist/manager/PermissionManager.d.ts.map +1 -1
  33. package/dist/manager/PermissionManager.js +63 -12
  34. package/dist/manager/PermissionManager.js.map +1 -1
  35. package/dist/manager/StateManager.d.ts +79 -11
  36. package/dist/manager/StateManager.d.ts.map +1 -1
  37. package/dist/manager/StateManager.js +287 -4
  38. package/dist/manager/StateManager.js.map +1 -1
  39. package/dist/manager/TaskManager.d.ts +106 -0
  40. package/dist/manager/TaskManager.d.ts.map +1 -0
  41. package/dist/manager/TaskManager.js +664 -0
  42. package/dist/manager/TaskManager.js.map +1 -0
  43. package/dist/services/agents/defaultBuiltInAgentsConfs.js +3 -3
  44. package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +1 -1
  45. package/dist/services/agents/systemReminder.d.ts.map +1 -1
  46. package/dist/services/agents/systemReminder.js +8 -118
  47. package/dist/services/agents/systemReminder.js.map +1 -1
  48. package/dist/services/api/adapt/anthropic.js +2 -2
  49. package/dist/services/api/adapt/anthropic.js.map +1 -1
  50. package/dist/services/api/adapt/openai.js +2 -2
  51. package/dist/services/api/adapt/openai.js.map +1 -1
  52. package/dist/services/api/adapt/util.d.ts +1 -1
  53. package/dist/services/api/adapt/util.d.ts.map +1 -1
  54. package/dist/services/api/adapt/util.js +2 -2
  55. package/dist/services/api/adapt/util.js.map +1 -1
  56. package/dist/services/api/cache.d.ts.map +1 -1
  57. package/dist/services/api/cache.js +1 -3
  58. package/dist/services/api/cache.js.map +1 -1
  59. package/dist/services/api/queryLLM.d.ts.map +1 -1
  60. package/dist/services/api/queryLLM.js +5 -0
  61. package/dist/services/api/queryLLM.js.map +1 -1
  62. package/dist/services/commands/runCommand.d.ts.map +1 -1
  63. package/dist/services/commands/runCommand.js +12 -0
  64. package/dist/services/commands/runCommand.js.map +1 -1
  65. package/dist/services/mcp/MCPManager.d.ts.map +1 -1
  66. package/dist/services/mcp/MCPManager.js +6 -1
  67. package/dist/services/mcp/MCPManager.js.map +1 -1
  68. package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
  69. package/dist/services/plugins/pluginsManager.js +8 -1
  70. package/dist/services/plugins/pluginsManager.js.map +1 -1
  71. package/dist/services/rules/rulesManager.d.ts +51 -0
  72. package/dist/services/rules/rulesManager.d.ts.map +1 -0
  73. package/dist/services/rules/rulesManager.js +192 -0
  74. package/dist/services/rules/rulesManager.js.map +1 -0
  75. package/dist/tools/Agent/Agent.d.ts +19 -11
  76. package/dist/tools/Agent/Agent.d.ts.map +1 -1
  77. package/dist/tools/Agent/Agent.js +249 -72
  78. package/dist/tools/Agent/Agent.js.map +1 -1
  79. package/dist/tools/Agent/prompt.d.ts.map +1 -1
  80. package/dist/tools/Agent/prompt.js +7 -9
  81. package/dist/tools/Agent/prompt.js.map +1 -1
  82. package/dist/tools/Bash/Bash.d.ts +21 -11
  83. package/dist/tools/Bash/Bash.d.ts.map +1 -1
  84. package/dist/tools/Bash/Bash.js +74 -17
  85. package/dist/tools/Bash/Bash.js.map +1 -1
  86. package/dist/tools/Bash/prompt.d.ts.map +1 -1
  87. package/dist/tools/Bash/prompt.js +53 -70
  88. package/dist/tools/Bash/prompt.js.map +1 -1
  89. package/dist/tools/Bash/utils.d.ts +5 -1
  90. package/dist/tools/Bash/utils.d.ts.map +1 -1
  91. package/dist/tools/Bash/utils.js +24 -4
  92. package/dist/tools/Bash/utils.js.map +1 -1
  93. package/dist/tools/CronCreate/CronCreate.d.ts +68 -0
  94. package/dist/tools/CronCreate/CronCreate.d.ts.map +1 -0
  95. package/dist/tools/CronCreate/CronCreate.js +75 -0
  96. package/dist/tools/CronCreate/CronCreate.js.map +1 -0
  97. package/dist/tools/CronCreate/prompt.d.ts +3 -0
  98. package/dist/tools/CronCreate/prompt.d.ts.map +1 -0
  99. package/dist/tools/CronCreate/prompt.js +41 -0
  100. package/dist/tools/CronCreate/prompt.js.map +1 -0
  101. package/dist/tools/CronDelete/CronDelete.d.ts +45 -0
  102. package/dist/tools/CronDelete/CronDelete.d.ts.map +1 -0
  103. package/dist/tools/CronDelete/CronDelete.js +51 -0
  104. package/dist/tools/CronDelete/CronDelete.js.map +1 -0
  105. package/dist/tools/CronDelete/prompt.d.ts +3 -0
  106. package/dist/tools/CronDelete/prompt.d.ts.map +1 -0
  107. package/dist/tools/CronDelete/prompt.js +6 -0
  108. package/dist/tools/CronDelete/prompt.js.map +1 -0
  109. package/dist/tools/CronList/CronList.d.ts +33 -0
  110. package/dist/tools/CronList/CronList.d.ts.map +1 -0
  111. package/dist/tools/CronList/CronList.js +55 -0
  112. package/dist/tools/CronList/CronList.js.map +1 -0
  113. package/dist/tools/CronList/prompt.d.ts +3 -0
  114. package/dist/tools/CronList/prompt.d.ts.map +1 -0
  115. package/dist/tools/CronList/prompt.js +6 -0
  116. package/dist/tools/CronList/prompt.js.map +1 -0
  117. package/dist/tools/Edit/Edit.d.ts.map +1 -1
  118. package/dist/tools/Edit/Edit.js +7 -3
  119. package/dist/tools/Edit/Edit.js.map +1 -1
  120. package/dist/tools/Edit/utils.d.ts.map +1 -1
  121. package/dist/tools/Edit/utils.js +14 -5
  122. package/dist/tools/Edit/utils.js.map +1 -1
  123. package/dist/tools/Grep/Grep.d.ts +4 -4
  124. package/dist/tools/NotebookEdit/NotebookEdit.js +1 -1
  125. package/dist/tools/NotebookEdit/NotebookEdit.js.map +1 -1
  126. package/dist/tools/Read/Read.d.ts +74 -3
  127. package/dist/tools/Read/Read.d.ts.map +1 -1
  128. package/dist/tools/Read/Read.js +188 -18
  129. package/dist/tools/Read/Read.js.map +1 -1
  130. package/dist/tools/Read/prompt.d.ts +1 -1
  131. package/dist/tools/Read/prompt.d.ts.map +1 -1
  132. package/dist/tools/Read/prompt.js +2 -1
  133. package/dist/tools/Read/prompt.js.map +1 -1
  134. package/dist/tools/Skill/Skill.d.ts +2 -1
  135. package/dist/tools/Skill/Skill.d.ts.map +1 -1
  136. package/dist/tools/Skill/Skill.js +3 -2
  137. package/dist/tools/Skill/Skill.js.map +1 -1
  138. package/dist/tools/TaskCreate/TaskCreate.d.ts +54 -0
  139. package/dist/tools/TaskCreate/TaskCreate.d.ts.map +1 -0
  140. package/dist/tools/TaskCreate/TaskCreate.js +51 -0
  141. package/dist/tools/TaskCreate/TaskCreate.js.map +1 -0
  142. package/dist/tools/TaskCreate/prompt.d.ts +3 -0
  143. package/dist/tools/TaskCreate/prompt.d.ts.map +1 -0
  144. package/dist/tools/TaskCreate/prompt.js +45 -0
  145. package/dist/tools/TaskCreate/prompt.js.map +1 -0
  146. package/dist/tools/TaskGet/TaskGet.d.ts +34 -0
  147. package/dist/tools/TaskGet/TaskGet.d.ts.map +1 -0
  148. package/dist/tools/TaskGet/TaskGet.js +57 -0
  149. package/dist/tools/TaskGet/TaskGet.js.map +1 -0
  150. package/dist/tools/TaskGet/prompt.d.ts +3 -0
  151. package/dist/tools/TaskGet/prompt.d.ts.map +1 -0
  152. package/dist/tools/TaskGet/prompt.js +26 -0
  153. package/dist/tools/TaskGet/prompt.js.map +1 -0
  154. package/dist/tools/TaskList/TaskList.d.ts +27 -0
  155. package/dist/tools/TaskList/TaskList.d.ts.map +1 -0
  156. package/dist/tools/TaskList/TaskList.js +56 -0
  157. package/dist/tools/TaskList/TaskList.js.map +1 -0
  158. package/dist/tools/TaskList/prompt.d.ts +3 -0
  159. package/dist/tools/TaskList/prompt.d.ts.map +1 -0
  160. package/dist/tools/TaskList/prompt.js +25 -0
  161. package/dist/tools/TaskList/prompt.js.map +1 -0
  162. package/dist/tools/TaskOutput/TaskOutput.d.ts +58 -0
  163. package/dist/tools/TaskOutput/TaskOutput.d.ts.map +1 -0
  164. package/dist/tools/TaskOutput/TaskOutput.js +95 -0
  165. package/dist/tools/TaskOutput/TaskOutput.js.map +1 -0
  166. package/dist/tools/TaskStop/TaskStop.d.ts +50 -0
  167. package/dist/tools/TaskStop/TaskStop.d.ts.map +1 -0
  168. package/dist/tools/TaskStop/TaskStop.js +69 -0
  169. package/dist/tools/TaskStop/TaskStop.js.map +1 -0
  170. package/dist/tools/TaskUpdate/TaskUpdate.d.ts +88 -0
  171. package/dist/tools/TaskUpdate/TaskUpdate.d.ts.map +1 -0
  172. package/dist/tools/TaskUpdate/TaskUpdate.js +115 -0
  173. package/dist/tools/TaskUpdate/TaskUpdate.js.map +1 -0
  174. package/dist/tools/TaskUpdate/prompt.d.ts +3 -0
  175. package/dist/tools/TaskUpdate/prompt.d.ts.map +1 -0
  176. package/dist/tools/TaskUpdate/prompt.js +80 -0
  177. package/dist/tools/TaskUpdate/prompt.js.map +1 -0
  178. package/dist/tools/WebFetch/WebFetch.d.ts +62 -0
  179. package/dist/tools/WebFetch/WebFetch.d.ts.map +1 -0
  180. package/dist/tools/WebFetch/WebFetch.js +143 -0
  181. package/dist/tools/WebFetch/WebFetch.js.map +1 -0
  182. package/dist/tools/WebFetch/prompt.d.ts +4 -0
  183. package/dist/tools/WebFetch/prompt.d.ts.map +1 -0
  184. package/dist/tools/WebFetch/prompt.js +38 -0
  185. package/dist/tools/WebFetch/prompt.js.map +1 -0
  186. package/dist/tools/WebFetch/utils.d.ts +20 -0
  187. package/dist/tools/WebFetch/utils.d.ts.map +1 -0
  188. package/dist/tools/WebFetch/utils.js +223 -0
  189. package/dist/tools/WebFetch/utils.js.map +1 -0
  190. package/dist/tools/Write/Write.js +1 -1
  191. package/dist/tools/Write/Write.js.map +1 -1
  192. package/dist/tools/base/Tool.d.ts +1 -0
  193. package/dist/tools/base/Tool.d.ts.map +1 -1
  194. package/dist/tools/base/tools.d.ts +4 -2
  195. package/dist/tools/base/tools.d.ts.map +1 -1
  196. package/dist/tools/base/tools.js +61 -14
  197. package/dist/tools/base/tools.js.map +1 -1
  198. package/dist/types/cron.d.ts +21 -0
  199. package/dist/types/cron.d.ts.map +1 -0
  200. package/dist/types/cron.js +6 -0
  201. package/dist/types/cron.js.map +1 -0
  202. package/dist/types/index.d.ts +9 -1
  203. package/dist/types/index.d.ts.map +1 -1
  204. package/dist/types/index.js +4 -2
  205. package/dist/types/index.js.map +1 -1
  206. package/dist/types/rule.d.ts +8 -0
  207. package/dist/types/rule.d.ts.map +1 -0
  208. package/dist/types/rule.js +3 -0
  209. package/dist/types/rule.js.map +1 -0
  210. package/dist/types/task.d.ts +93 -0
  211. package/dist/types/task.d.ts.map +1 -0
  212. package/dist/types/task.js +3 -0
  213. package/dist/types/task.js.map +1 -0
  214. package/dist/types/todoTask.d.ts +29 -0
  215. package/dist/types/todoTask.d.ts.map +1 -0
  216. package/dist/types/todoTask.js +6 -0
  217. package/dist/types/todoTask.js.map +1 -0
  218. package/dist/util/assembleTools.d.ts +6 -0
  219. package/dist/util/assembleTools.d.ts.map +1 -0
  220. package/dist/util/assembleTools.js +17 -0
  221. package/dist/util/assembleTools.js.map +1 -0
  222. package/dist/util/btw.d.ts +6 -0
  223. package/dist/util/btw.d.ts.map +1 -0
  224. package/dist/util/btw.js +80 -0
  225. package/dist/util/btw.js.map +1 -0
  226. package/dist/util/compact.d.ts +16 -4
  227. package/dist/util/compact.d.ts.map +1 -1
  228. package/dist/util/compact.js +12 -18
  229. package/dist/util/compact.js.map +1 -1
  230. package/dist/util/cron.d.ts +17 -0
  231. package/dist/util/cron.d.ts.map +1 -0
  232. package/dist/util/cron.js +82 -0
  233. package/dist/util/cron.js.map +1 -0
  234. package/dist/util/file.d.ts +16 -0
  235. package/dist/util/file.d.ts.map +1 -1
  236. package/dist/util/file.js +55 -0
  237. package/dist/util/file.js.map +1 -1
  238. package/dist/util/fileReference.d.ts.map +1 -1
  239. package/dist/util/fileReference.js +10 -1
  240. package/dist/util/fileReference.js.map +1 -1
  241. package/dist/util/format.d.ts +6 -0
  242. package/dist/util/format.d.ts.map +1 -1
  243. package/dist/util/format.js +17 -0
  244. package/dist/util/format.js.map +1 -1
  245. package/dist/util/history.d.ts +4 -1
  246. package/dist/util/history.d.ts.map +1 -1
  247. package/dist/util/history.js +9 -5
  248. package/dist/util/history.js.map +1 -1
  249. package/dist/util/inputQueue.d.ts +19 -0
  250. package/dist/util/inputQueue.d.ts.map +1 -0
  251. package/dist/util/inputQueue.js +30 -0
  252. package/dist/util/inputQueue.js.map +1 -0
  253. package/dist/util/message.d.ts +4 -0
  254. package/dist/util/message.d.ts.map +1 -1
  255. package/dist/util/message.js +27 -0
  256. package/dist/util/message.js.map +1 -1
  257. package/dist/util/pdf.d.ts +83 -0
  258. package/dist/util/pdf.d.ts.map +1 -0
  259. package/dist/util/pdf.js +472 -0
  260. package/dist/util/pdf.js.map +1 -0
  261. package/dist/util/process.d.ts +10 -0
  262. package/dist/util/process.d.ts.map +1 -0
  263. package/dist/util/process.js +88 -0
  264. package/dist/util/process.js.map +1 -0
  265. package/dist/util/savePath.d.ts +0 -11
  266. package/dist/util/savePath.d.ts.map +1 -1
  267. package/dist/util/savePath.js +0 -17
  268. package/dist/util/savePath.js.map +1 -1
  269. package/dist/util/shell.d.ts +10 -1
  270. package/dist/util/shell.d.ts.map +1 -1
  271. package/dist/util/shell.js +89 -34
  272. package/dist/util/shell.js.map +1 -1
  273. package/dist/util/topic.d.ts +7 -0
  274. package/dist/util/topic.d.ts.map +1 -1
  275. package/dist/util/topic.js +40 -0
  276. package/dist/util/topic.js.map +1 -1
  277. package/package.json +2 -1
  278. package/dist/services/command/customCommands.d.ts +0 -1
  279. package/dist/services/command/customCommands.d.ts.map +0 -1
  280. package/dist/services/command/customCommands.js +0 -197
  281. package/dist/services/command/customCommands.js.map +0 -1
  282. package/dist/services/command/runCommand.d.ts +0 -18
  283. package/dist/services/command/runCommand.d.ts.map +0 -1
  284. package/dist/services/command/runCommand.js +0 -147
  285. package/dist/services/command/runCommand.js.map +0 -1
  286. package/dist/services/plugins/customCommands.d.ts +0 -29
  287. package/dist/services/plugins/customCommands.d.ts.map +0 -1
  288. package/dist/services/plugins/customCommands.js +0 -227
  289. package/dist/services/plugins/customCommands.js.map +0 -1
  290. package/dist/services/skill/skillLoader.d.ts +0 -17
  291. package/dist/services/skill/skillLoader.d.ts.map +0 -1
  292. package/dist/services/skill/skillLoader.js +0 -122
  293. package/dist/services/skill/skillLoader.js.map +0 -1
  294. package/dist/services/skill/skillParser.d.ts +0 -15
  295. package/dist/services/skill/skillParser.d.ts.map +0 -1
  296. package/dist/services/skill/skillParser.js +0 -66
  297. package/dist/services/skill/skillParser.js.map +0 -1
  298. package/dist/services/skill/skillRegistry.d.ts +0 -34
  299. package/dist/services/skill/skillRegistry.d.ts.map +0 -1
  300. package/dist/services/skill/skillRegistry.js +0 -98
  301. package/dist/services/skill/skillRegistry.js.map +0 -1
  302. package/dist/services/skill/skillsManager.d.ts +0 -79
  303. package/dist/services/skill/skillsManager.d.ts.map +0 -1
  304. package/dist/services/skill/skillsManager.js +0 -289
  305. package/dist/services/skill/skillsManager.js.map +0 -1
  306. package/dist/tools/Task/Task.d.ts +0 -59
  307. package/dist/tools/Task/Task.d.ts.map +0 -1
  308. package/dist/tools/Task/Task.js +0 -212
  309. package/dist/tools/Task/Task.js.map +0 -1
  310. package/dist/tools/Task/prompt.d.ts +0 -6
  311. package/dist/tools/Task/prompt.d.ts.map +0 -1
  312. package/dist/tools/Task/prompt.js +0 -75
  313. package/dist/tools/Task/prompt.js.map +0 -1
  314. package/dist/util/frontmatter.d.ts +0 -35
  315. package/dist/util/frontmatter.d.ts.map +0 -1
  316. package/dist/util/frontmatter.js +0 -119
  317. package/dist/util/frontmatter.js.map +0 -1
  318. package/dist/util/rules.d.ts +0 -6
  319. package/dist/util/rules.d.ts.map +0 -1
  320. package/dist/util/rules.js +0 -162
  321. package/dist/util/rules.js.map +0 -1
  322. package/dist/util/systemReminder.d.ts +0 -10
  323. package/dist/util/systemReminder.d.ts.map +0 -1
  324. package/dist/util/systemReminder.js +0 -177
  325. package/dist/util/systemReminder.js.map +0 -1
@@ -42,24 +42,24 @@ const history_1 = require("../util/history");
42
42
  const topic_1 = require("../util/topic");
43
43
  const fileReference_1 = require("../util/fileReference");
44
44
  const message_1 = require("../util/message");
45
- const systemReminder_1 = require("../services/agents/systemReminder");
45
+ const tools_1 = require("../tools/base/tools");
46
+ const inputQueue_1 = require("../util/inputQueue");
46
47
  const genSystemPrompt_1 = require("../services/agents/genSystemPrompt");
47
48
  const ConfManager_1 = require("../manager/ConfManager");
48
49
  const ModelManager_1 = require("../manager/ModelManager");
49
- const tools_1 = require("../tools/base/tools");
50
50
  const EventSystem_1 = require("../events/EventSystem");
51
51
  const errors_1 = require("../types/errors");
52
52
  const Conversation_1 = require("./Conversation");
53
- const MCPManager_1 = require("../services/mcp/MCPManager");
54
53
  const StateManager_1 = require("../manager/StateManager");
55
54
  const runCommand_1 = require("../services/commands/runCommand");
55
+ const TaskManager_1 = require("../manager/TaskManager");
56
+ const CronManager_1 = require("../manager/CronManager");
57
+ const btw_1 = require("../util/btw");
56
58
  /**
57
59
  * Sema 引擎 - 处理核心业务逻辑
58
60
  */
59
61
  class SemaEngine {
60
62
  constructor() {
61
- // 待处理的用户输入队列
62
- this.pendingInputs = [];
63
63
  // 待处理的会话ID(只保留最新的一个)
64
64
  this.pendingSession = null;
65
65
  // 当前正在执行的 processQuery Promise(用于等待旧会话结束)
@@ -70,6 +70,14 @@ class SemaEngine {
70
70
  this.on = (event, listener) => this.eventBus.on(event, listener);
71
71
  this.once = (event, listener) => this.eventBus.once(event, listener);
72
72
  this.off = (event, listener) => this.eventBus.off(event, listener);
73
+ // 注入后台任务通知回调:任务完成后将通知注入用户输入队列
74
+ (0, TaskManager_1.getTaskManager)().setNotifyCallback((msg) => {
75
+ this.processUserInput(msg, undefined, true);
76
+ });
77
+ // 注入 Cron 定时任务通知回调
78
+ (0, CronManager_1.getCronManager)().setNotifyCallback((msg) => {
79
+ this.processUserInput(msg, undefined, true);
80
+ });
73
81
  }
74
82
  /**
75
83
  * 创建会话
@@ -110,31 +118,50 @@ class SemaEngine {
110
118
  }
111
119
  // 直接创建新会话,清空所有待处理状态
112
120
  this.abortCurrentRequest();
113
- this.pendingInputs = []; // 清空输入队列,因为这些输入属于旧会话
121
+ stateManager.clearPendingUserInputs(); // 清空输入队列,因为这些输入属于旧会话
114
122
  this.pendingSession = null;
123
+ // 关闭所有后台进程
124
+ (0, TaskManager_1.getTaskManager)().dispose();
115
125
  // 清空所有状态
116
126
  stateManager.clearAllState();
117
127
  // 初始化新会话
118
128
  await this.initialize(finalSessionId);
129
+ // 清空非持久化的定时任务,持久化任务保留
130
+ (0, CronManager_1.getCronManager)().clearNonDurableTasks();
119
131
  const coreConfig = (0, ConfManager_1.getConfManager)().getCoreConfig();
120
132
  const workingDir = coreConfig?.workingDir;
121
133
  (0, log_1.logInfo)(`[DEBUG] loadHistory - workingDir: ${workingDir}, coreConfig: ${JSON.stringify(coreConfig)}`);
122
134
  const historyData = await (0, history_1.loadHistory)(sessionId, workingDir);
123
135
  (0, log_1.logInfo)(`会话CoreConfig: ${JSON.stringify(coreConfig, null, 2)}`);
124
- // 将加载的消息历史和 todos 设置到主代理状态
125
- mainAgentState.setMessageHistory(historyData.messages);
136
+ // 将加载的消息历史、todos 和 readFileTimestamps 设置到主代理状态
137
+ // 初始化时跳过自动保存,避免把刚读取的数据重复写回文件
138
+ mainAgentState.setMessageHistory(historyData.messages, true);
126
139
  mainAgentState.setTodos(historyData.todos);
140
+ if (historyData.todoTasks && historyData.todoTasks.length > 0) {
141
+ // 新格式:直接恢复完整 TodoTask 数据
142
+ stateManager.restoreTodoTasks(historyData.todoTasks);
143
+ }
144
+ else if (historyData.todos && historyData.todos.length > 0) {
145
+ // 旧格式兼容:将 TodoItem 转换为 TodoTask
146
+ stateManager.restoreTodoTasksFromLegacy(historyData.todos);
147
+ }
148
+ if (historyData.readFileTimestamps) {
149
+ mainAgentState.setReadFileTimestamps(historyData.readFileTimestamps);
150
+ }
127
151
  // 使用全局配置获取工作路径
128
152
  const projectConfig = (0, ConfManager_1.getConfManager)().getProjectConfig();
129
153
  const projectInputHistory = projectConfig?.history || [];
130
154
  // 获取tokens
131
155
  const usage = (0, tokens_1.getTokens)(mainAgentState.getMessageHistory());
132
156
  const sessionData = {
157
+ pid: process.pid,
133
158
  workingDir: coreConfig?.workingDir,
134
159
  sessionId: stateManager.getSessionId(),
135
160
  historyLoaded: !!sessionId,
136
161
  projectInputHistory: projectInputHistory,
137
- usage: usage
162
+ usage: usage,
163
+ todos: mainAgentState.getTodos(),
164
+ readFileTimestamps: historyData.readFileTimestamps || {}
138
165
  };
139
166
  (0, log_1.logInfo)(`新会话创建完成,sessionId: ${stateManager.getSessionId()}`);
140
167
  this.emit('session:ready', sessionData);
@@ -144,29 +171,50 @@ class SemaEngine {
144
171
  * 处理用户输入
145
172
  * 如果当前正在处理中,将输入加入队列等待
146
173
  */
147
- processUserInput(input, originalInput) {
148
- const mainAgentState = (0, StateManager_1.getStateManager)().forAgent(StateManager_1.MAIN_AGENT_ID);
174
+ processUserInput(input, originalInput, silent) {
175
+ const stateManager = (0, StateManager_1.getStateManager)();
176
+ const mainAgentState = stateManager.forAgent(StateManager_1.MAIN_AGENT_ID);
149
177
  const inputId = crypto.randomUUID().replace(/-/g, '').substring(0, 8);
178
+ const trimmedInput = input.trim();
179
+ // BTW 旁路:不影响状态和队列,异步处理后直接返回
180
+ if (trimmedInput === '/btw' || trimmedInput.startsWith('/btw ')) {
181
+ const question = trimmedInput.startsWith('/btw ') ? trimmedInput.slice(5).trim() : '';
182
+ (0, ConfManager_1.getConfManager)().saveUserInputToHistory(originalInput || trimmedInput);
183
+ if (question) {
184
+ (0, btw_1.handleBtw)(question).catch(err => (0, log_1.logWarn)(`[btw] 未捕获异常: ${err instanceof Error ? err.message : String(err)}`));
185
+ }
186
+ else {
187
+ this.emit('btw:response', { question: '', content: '' });
188
+ }
189
+ return;
190
+ }
150
191
  if (mainAgentState.getCurrentState() === 'processing') {
151
- this.pendingInputs.push({ inputId, input: input.trim(), originalInput });
152
- (0, log_1.logInfo)(`输入已入队,队列长度: ${this.pendingInputs.length}`);
192
+ const type = trimmedInput.startsWith('/') ? 'command' : 'inject';
193
+ stateManager.addPendingUserInput({ inputId, input: trimmedInput, originalInput, silent, type });
194
+ (0, log_1.logInfo)(`输入已入队(${type}),队列长度: ${stateManager.getPendingUserInputsLength()}`);
195
+ if (!silent) {
196
+ this.emit('input:received', {
197
+ inputId,
198
+ input: trimmedInput,
199
+ originalInput,
200
+ queued: true,
201
+ inject: type === 'inject',
202
+ queueLength: stateManager.getPendingUserInputsLength(),
203
+ });
204
+ }
205
+ return;
206
+ }
207
+ if (!silent) {
153
208
  this.emit('input:received', {
154
209
  inputId,
155
- input: input.trim(),
210
+ input: trimmedInput,
156
211
  originalInput,
157
- queued: true,
158
- queueLength: this.pendingInputs.length,
212
+ queued: false,
213
+ inject: false,
214
+ queueLength: 0,
159
215
  });
160
- return;
161
216
  }
162
- this.emit('input:received', {
163
- inputId,
164
- input: input.trim(),
165
- originalInput,
166
- queued: false,
167
- queueLength: 0,
168
- });
169
- this.startQuery([{ inputId, input: input.trim(), originalInput }]);
217
+ this.startQuery([{ inputId, input: trimmedInput, originalInput, silent }]);
170
218
  }
171
219
  /**
172
220
  * 启动一次查询(构建上下文并调用 processQuery)
@@ -180,17 +228,9 @@ class SemaEngine {
180
228
  stateManager.currentAbortController = new AbortController();
181
229
  // 获取核心配置
182
230
  const coreConfig = (0, ConfManager_1.getConfManager)().getCoreConfig();
183
- // 获取工具集
184
- let tools;
185
- const builtinTools = (0, tools_1.getTools)(coreConfig?.useTools);
186
- const mcpTools = (0, MCPManager_1.getMCPManager)().getMCPTools();
187
- tools = [...builtinTools, ...mcpTools];
188
- // 若 Plan 模式,去掉 TodoWrite 工具
189
231
  const agentMode = coreConfig?.agentMode || 'Agent';
190
- if (agentMode === 'Plan') {
191
- tools = tools.filter(tool => tool.name !== 'TodoWrite');
192
- }
193
- (0, log_1.logInfo)(`tools len: ${tools.length} (builtin: ${builtinTools.length}, mcp: ${mcpTools.length})`);
232
+ // 获取工具集
233
+ const tools = (0, tools_1.getAvailableTools)();
194
234
  // 构建主代理上下文
195
235
  const agentContext = {
196
236
  agentId: StateManager_1.MAIN_AGENT_ID,
@@ -221,14 +261,18 @@ class SemaEngine {
221
261
  // 获取状态管理器和主代理状态
222
262
  const stateManager = (0, StateManager_1.getStateManager)();
223
263
  const mainAgentState = stateManager.forAgent(StateManager_1.MAIN_AGENT_ID);
224
- // 为每条输入发送独立的 input:processing 事件
264
+ // 为每条输入发送独立的 input:processing 事件(静默输入跳过)
225
265
  for (const item of inputs) {
226
- this.emit('input:processing', { inputId: item.inputId, input: item.input, originalInput: item.originalInput });
266
+ if (!item.silent) {
267
+ this.emit('input:processing', { inputId: item.inputId, input: item.input, originalInput: item.originalInput });
268
+ }
227
269
  }
228
270
  try {
229
- // 将每条用户输入保存到项目配置的 history
271
+ // 将每条用户输入保存到项目配置的 history(静默输入跳过)
230
272
  for (const item of inputs) {
231
- (0, ConfManager_1.getConfManager)().saveUserInputToHistory(item.originalInput || item.input);
273
+ if (!item.silent) {
274
+ (0, ConfManager_1.getConfManager)().saveUserInputToHistory(item.originalInput || item.input);
275
+ }
232
276
  }
233
277
  // 处理命令,收集所有 blocks
234
278
  const allBlocks = [];
@@ -259,7 +303,7 @@ class SemaEngine {
259
303
  // 后台异步执行话题检测,不阻塞主流程(使用所有输入拼接)
260
304
  const allOriginalTexts = inputs.map(i => i.originalInput || i.input).join('\n');
261
305
  if (!(0, ConfManager_1.getConfManager)().getCoreConfig()?.disableTopicDetection) {
262
- this.detectTopicInBackground(allOriginalTexts);
306
+ (0, topic_1.detectTopicInBackground)(allOriginalTexts, stateManager.currentAbortController, (result) => this.emit('topic:update', result));
263
307
  }
264
308
  // 处理文件引用以获取补充信息(使用处理后的文本)
265
309
  const fileReferencesResult = await (0, fileReference_1.processFileReferences)(combinedProcessedText, agentContext);
@@ -282,7 +326,7 @@ class SemaEngine {
282
326
  const messageHistory = mainAgentState.getMessageHistory();
283
327
  // 2.2 当前用户输入
284
328
  // 构建reminder信息 文件引用 每次输入均添加,首次查询添加 todos\rules,Plan 模式添加 Plan 信息
285
- const additionalReminders = this.buildAdditionalReminders(fileReferencesResult.systemReminders, messageHistory, agentMode, hasSkillTool);
329
+ const additionalReminders = (0, message_1.buildAdditionalReminders)(fileReferencesResult.systemReminders, messageHistory, agentMode, hasSkillTool);
286
330
  const userMessage = (0, message_1.createUserMessage)([
287
331
  ...additionalReminders,
288
332
  ...allBlocks
@@ -315,7 +359,7 @@ class SemaEngine {
315
359
  if (this.pendingSession) {
316
360
  const sessionId = this.pendingSession;
317
361
  this.pendingSession = null;
318
- this.pendingInputs = []; // 清空输入队列,因为这些输入属于旧会话
362
+ stateManager.clearPendingUserInputs(); // 清空输入队列,因为这些输入属于旧会话
319
363
  (0, log_1.logInfo)(`检测到待处理会话,开始创建: ${sessionId}`);
320
364
  this.createSession(sessionId).catch(error => {
321
365
  (0, log_1.logWarn)(`创建待处理会话失败: ${error instanceof Error ? error.message : String(error)}`);
@@ -324,12 +368,22 @@ class SemaEngine {
324
368
  return;
325
369
  }
326
370
  // 处理同一会话中的待处理输入队列
327
- if (this.pendingInputs.length > 0) {
328
- const pending = this.pendingInputs.splice(0);
329
- const batch = this.takeNextBatch(pending);
371
+ const remaining = stateManager.consumeAllPendingInputs();
372
+ if (remaining.length > 0) {
373
+ // 转换为 takeNextBatch 所需格式
374
+ const pending = remaining.map(item => ({
375
+ inputId: item.inputId,
376
+ input: item.input,
377
+ originalInput: item.originalInput,
378
+ silent: item.silent,
379
+ }));
380
+ const batch = (0, inputQueue_1.takeNextBatch)(pending);
330
381
  // 剩余的放回队列
331
382
  if (pending.length > 0) {
332
- this.pendingInputs = [...pending, ...this.pendingInputs];
383
+ for (const item of pending) {
384
+ const type = item.input.startsWith('/') ? 'command' : 'inject';
385
+ stateManager.addPendingUserInput({ ...item, type });
386
+ }
333
387
  }
334
388
  (0, log_1.logInfo)(`处理队列中 ${batch.length} 条待处理输入`);
335
389
  this.startQuery(batch);
@@ -339,52 +393,6 @@ class SemaEngine {
339
393
  }
340
394
  }
341
395
  }
342
- /**
343
- * 从待处理队列中取出下一批输入
344
- * 规则:
345
- * - 如果第一条是命令(/开头),单独取出作为一批
346
- * - 否则取出所有连续的非命令输入,直到遇到命令为止
347
- * 取出的元素从 pending 数组中移除(splice)
348
- */
349
- takeNextBatch(pending) {
350
- if (pending.length === 0)
351
- return [];
352
- // 第一条是命令,单独处理
353
- if (pending[0].input.startsWith('/')) {
354
- return pending.splice(0, 1);
355
- }
356
- // 找到下一个命令的位置
357
- const nextCommandIdx = pending.findIndex(p => p.input.startsWith('/'));
358
- if (nextCommandIdx === -1) {
359
- // 没有命令,全部取出
360
- return pending.splice(0);
361
- }
362
- // 取出命令之前的所有普通输入
363
- return pending.splice(0, nextCommandIdx);
364
- }
365
- /**
366
- * 构建 additionalReminders:文件引用、首次查询、Plan 模式信息、skill信息
367
- */
368
- buildAdditionalReminders(systemReminders, messageHistory, agentMode, hasSkillTool = false) {
369
- // 文件引用 每次输入均添加
370
- const reminders = [...systemReminders];
371
- // 判断是否为首次查询(消息历史为空),添加首次查询的额外信息 skills\rules
372
- if (messageHistory.length === 0) {
373
- // 添加 skills 信息(仅当工具集中包含 Skill 工具时)
374
- if (hasSkillTool) {
375
- reminders.push(...(0, systemReminder_1.generateSkillsReminder)());
376
- }
377
- // 添加 rules 信息
378
- reminders.push(...(0, systemReminder_1.generateRulesReminders)());
379
- }
380
- // 判断是否为首次 Plan 模式查询,添加 Plan 模式信息
381
- const stateManager = (0, StateManager_1.getStateManager)();
382
- if (agentMode === 'Plan' && !stateManager.isPlanModeInfoSent()) {
383
- reminders.push(...(0, genSystemPrompt_1.generatePlanReminders)());
384
- stateManager.markPlanModeInfoSent();
385
- }
386
- return reminders;
387
- }
388
396
  /**
389
397
  * 中止当前正在进行的请求(仅处理 AbortController)
390
398
  * 不更新状态,用于内部调用
@@ -424,44 +432,6 @@ class SemaEngine {
424
432
  (0, StateManager_1.getStateManager)().resetPlanModeInfoSent();
425
433
  }
426
434
  }
427
- /**
428
- * 后台异步检测话题,不阻塞主流程
429
- */
430
- async detectTopicInBackground(userInput) {
431
- // 创建独立的 AbortController 用于话题检测
432
- const topicAbortController = new AbortController();
433
- // 如果主会话被中断,也中断话题检测
434
- const stateManager = (0, StateManager_1.getStateManager)();
435
- const mainAbortController = stateManager.currentAbortController;
436
- // 保存监听器引用,确保能够清理
437
- let abortListener = null;
438
- if (mainAbortController) {
439
- abortListener = () => {
440
- topicAbortController.abort();
441
- };
442
- mainAbortController.signal.addEventListener('abort', abortListener, { once: true });
443
- }
444
- try {
445
- const topicResult = await (0, topic_1.getTopicFromUserInput)(userInput, topicAbortController.signal);
446
- if (topicResult) {
447
- (0, log_1.logDebug)(`话题检测结果: ${JSON.stringify(topicResult)}`);
448
- // 发送话题更新事件
449
- this.emit('topic:update', topicResult);
450
- }
451
- }
452
- catch (error) {
453
- // 话题检测失败不影响主流程,只记录调试日志
454
- if (!(0, errors_1.isInterruptedException)(error)) {
455
- (0, log_1.logDebug)(`话题检测失败: ${error}`);
456
- }
457
- }
458
- finally {
459
- // 清理监听器(防止内存泄漏)
460
- if (abortListener && mainAbortController) {
461
- mainAbortController.signal.removeEventListener('abort', abortListener);
462
- }
463
- }
464
- }
465
435
  // 初始化系统
466
436
  async initialize(sessionId) {
467
437
  const coreConfig = (0, ConfManager_1.getConfManager)().getCoreConfig();
@@ -505,7 +475,7 @@ class SemaEngine {
505
475
  (0, log_1.logInfo)('开始清理 SemaEngine 资源...');
506
476
  // 1. 中止当前正在进行的请求并清空队列
507
477
  this.abortCurrentRequest();
508
- this.pendingInputs = [];
478
+ (0, StateManager_1.getStateManager)().clearPendingUserInputs();
509
479
  this.pendingSession = null;
510
480
  // 2. 清空所有状态数据
511
481
  const stateManager = (0, StateManager_1.getStateManager)();
@@ -1 +1 @@
1
- {"version":3,"file":"SemaEngine.js","sourceRoot":"","sources":["../../src/core/SemaEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SemaEngine.js","sourceRoot":"","sources":["../../src/core/SemaEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventSystem.d.ts","sourceRoot":"","sources":["../../src/events/EventSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI3D;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAiC;IAE/C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ3C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAW5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAgB5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ7C,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IASxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED;;;GAGG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,QAAQ;IAO9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAIlC;IAEH,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO;IAOxC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKtD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKvD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKxD,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAKxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,gBAA+B,CAAC"}
1
+ {"version":3,"file":"EventSystem.d.ts","sourceRoot":"","sources":["../../src/events/EventSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI3D;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAiC;IAE/C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ3C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAW5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAgB5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ7C,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IASxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED;;;GAGG;AACH,qBAAa,QAAS,YAAW,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,QAAQ;IAO9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAGlC;IAEH,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO;IAYxC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKtD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKvD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKxD,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAKxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,gBAA+B,CAAC"}
@@ -90,7 +90,12 @@ class EventBus {
90
90
  }
91
91
  emit(event, data) {
92
92
  if (!EventBus.SILENT_EVENTS.has(event)) {
93
- (0, logLLM_1.logEvent)(event, data);
93
+ // tool:execution:chunk 只打印 WebFetch 的,其他工具不打印
94
+ const shouldLog = event !== 'tool:execution:chunk'
95
+ || data?.toolName === 'WebFetch';
96
+ if (shouldLog) {
97
+ (0, logLLM_1.logEvent)(event, data);
98
+ }
94
99
  }
95
100
  return this.emitter.emit(event, data);
96
101
  }
@@ -125,7 +130,6 @@ EventBus.instance = null;
125
130
  EventBus.SILENT_EVENTS = new Set([
126
131
  'message:thinking:chunk',
127
132
  'message:text:chunk',
128
- 'tool:execution:chunk'
129
133
  ]);
130
134
  /**
131
135
  * 导出单例实例的便捷访问方法
@@ -1 +1 @@
1
- {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../src/events/EventSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../src/events/EventSystem.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { TodoItem } from '../types/todoTask';
1
2
  /**
2
3
  * 事件监听器函数类型
3
4
  * @template T 事件数据类型
@@ -32,11 +33,14 @@ export interface EventBusInterface {
32
33
  * 事件: `session:ready`
33
34
  */
34
35
  export interface SessionReadyData {
36
+ pid: number;
35
37
  workingDir: string;
36
38
  sessionId: string;
37
39
  historyLoaded: boolean;
38
40
  usage: Usage;
39
41
  projectInputHistory: string[];
42
+ todos: TodoItem[];
43
+ readFileTimestamps: Record<string, number>;
40
44
  }
41
45
  /**
42
46
  * 会话被中断事件数据
@@ -110,7 +114,6 @@ export interface InputProcessingData {
110
114
  */
111
115
  export interface ThinkingChunkData {
112
116
  id: string;
113
- content: string;
114
117
  delta: string;
115
118
  }
116
119
  /**
@@ -119,7 +122,6 @@ export interface ThinkingChunkData {
119
122
  */
120
123
  export interface TextChunkData {
121
124
  id: string;
122
- content: string;
123
125
  delta: string;
124
126
  }
125
127
  /**
@@ -135,7 +137,6 @@ export interface MessageCompleteData {
135
137
  /** 工具调用列表(hasToolCalls为true时存在) */
136
138
  toolCalls?: Array<{
137
139
  name: string;
138
- args: Record<string, any>;
139
140
  }>;
140
141
  }
141
142
  /**
@@ -144,6 +145,7 @@ export interface MessageCompleteData {
144
145
  */
145
146
  export interface ToolPermissionRequestData {
146
147
  agentId: string;
148
+ toolId: string;
147
149
  toolName: string;
148
150
  title: string;
149
151
  content: string | Record<string, any>;
@@ -164,7 +166,7 @@ export interface ToolExecutionCompleteData {
164
166
  /**
165
167
  * 工具执行中间态事件数据
166
168
  * 事件: `tool:execution:chunk`
167
- * 说明: 命令执行期间,工具结果的中间态(结构与 ToolExecutionCompleteData 相同)
169
+ * 说明: 命令执行期间,工具结果的中间态(结构与 ToolExecutionCompleteData 相同, content只传delta)
168
170
  */
169
171
  export type ToolExecutionChunkData = ToolExecutionCompleteData;
170
172
  /**
@@ -184,21 +186,15 @@ export interface ToolExecutionErrorData {
184
186
  * 用于向Core返回用户的权限选择
185
187
  */
186
188
  export interface ToolPermissionResponse {
189
+ toolId: string;
187
190
  toolName: string;
188
191
  selected: string;
189
192
  }
190
- /**
191
- * 待办事项项类型定义
192
- */
193
- export interface TodoItem {
194
- content: string;
195
- status: 'pending' | 'in_progress' | 'completed';
196
- activeForm: string;
197
- }
193
+ export type { TodoItem } from '../types/todoTask';
198
194
  /**
199
195
  * 待办事项更新事件数据
200
196
  * 事件: `todos:update`
201
- * 说明: TodoWriteTool工具执行后触发,todos状态发生变化
197
+ * 说明: Task工具执行后触发,todos状态发生变化
202
198
  */
203
199
  export type TodosUpdateData = TodoItem[];
204
200
  /**
@@ -321,6 +317,7 @@ export interface TaskAgentStartData {
321
317
  subagent_type: string;
322
318
  description: string;
323
319
  prompt: string;
320
+ run_in_background: boolean;
324
321
  }
325
322
  /**
326
323
  * 子代理结束事件数据
@@ -331,6 +328,56 @@ export interface TaskAgentEndData {
331
328
  status: 'completed' | 'failed' | 'interrupted';
332
329
  content: string;
333
330
  }
331
+ /** 后台任务状态 */
332
+ export type TaskStatus = 'running' | 'completed' | 'failed' | 'killed';
333
+ /**
334
+ * 后台任务启动事件数据
335
+ * 事件: `task:start`
336
+ */
337
+ export interface TaskStartData {
338
+ taskId: string;
339
+ pid?: number;
340
+ command: string;
341
+ filepath: string;
342
+ status: TaskStatus;
343
+ type: 'Bash' | 'Agent';
344
+ agentType?: string;
345
+ }
346
+ /**
347
+ * 后台任务结束事件数据
348
+ * 事件: `task:end`
349
+ */
350
+ export interface TaskEndData {
351
+ taskId: string;
352
+ status: 'completed' | 'failed' | 'killed';
353
+ summary: string;
354
+ }
355
+ /**
356
+ * 前台任务转后台事件数据
357
+ * 事件: `task:transfer`
358
+ * 说明: 前台 Agent 通过 transferToBackground() 转为后台运行时触发
359
+ */
360
+ export interface TaskTransferData {
361
+ taskId: string;
362
+ from: 'foreground';
363
+ to: 'background';
364
+ }
365
+ /**
366
+ * BTW 旁路回答事件数据
367
+ * 事件: `btw:response`
368
+ * 说明: 用户通过 /btw 命令发起的旁路问题,不影响主对话状态
369
+ */
370
+ export interface BtwResponseData {
371
+ question: string;
372
+ content: string;
373
+ }
374
+ /**
375
+ * 定时任务更新事件
376
+ * 事件: `cron:update`
377
+ * 说明: 定时任务列表发生变化时触发,UI层收到后重新加载任务列表
378
+ */
379
+ export interface CronUpdateData {
380
+ }
334
381
  import type { MCPServerInfo } from '../types/mcp';
335
382
  /**
336
383
  * mcp状态变更事件数据