sema-core 1.0.13 → 2.0.0

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 (680) hide show
  1. package/README.md +22 -9
  2. package/dist/{constants → conf}/config.d.ts +0 -1
  3. package/dist/conf/config.d.ts.map +1 -0
  4. package/dist/{constants → conf}/config.js +1 -3
  5. package/dist/conf/config.js.map +1 -0
  6. package/dist/core/Conversation.d.ts +3 -14
  7. package/dist/core/Conversation.d.ts.map +1 -1
  8. package/dist/core/Conversation.js +53 -89
  9. package/dist/core/Conversation.js.map +1 -1
  10. package/dist/core/RunTools.d.ts +5 -5
  11. package/dist/core/RunTools.d.ts.map +1 -1
  12. package/dist/core/RunTools.js +22 -31
  13. package/dist/core/RunTools.js.map +1 -1
  14. package/dist/core/SemaCore.d.ts +21 -22
  15. package/dist/core/SemaCore.d.ts.map +1 -1
  16. package/dist/core/SemaCore.js +16 -24
  17. package/dist/core/SemaCore.js.map +1 -1
  18. package/dist/core/SemaEngine.d.ts +2 -2
  19. package/dist/core/SemaEngine.d.ts.map +1 -1
  20. package/dist/core/SemaEngine.js +30 -33
  21. package/dist/core/SemaEngine.js.map +1 -1
  22. package/dist/events/EventSystem.d.ts.map +1 -1
  23. package/dist/events/EventSystem.js +3 -2
  24. package/dist/events/EventSystem.js.map +1 -1
  25. package/dist/events/types.d.ts +75 -41
  26. package/dist/events/types.d.ts.map +1 -1
  27. package/dist/manager/ConfManager.d.ts +10 -3
  28. package/dist/manager/ConfManager.d.ts.map +1 -1
  29. package/dist/manager/ConfManager.js +30 -13
  30. package/dist/manager/ConfManager.js.map +1 -1
  31. package/dist/manager/CronManager.d.ts +3 -6
  32. package/dist/manager/CronManager.d.ts.map +1 -1
  33. package/dist/manager/CronManager.js +62 -74
  34. package/dist/manager/CronManager.js.map +1 -1
  35. package/dist/manager/ModelManager.d.ts +0 -3
  36. package/dist/manager/ModelManager.d.ts.map +1 -1
  37. package/dist/manager/ModelManager.js +2 -4
  38. package/dist/manager/ModelManager.js.map +1 -1
  39. package/dist/manager/PermissionManager.d.ts +4 -6
  40. package/dist/manager/PermissionManager.d.ts.map +1 -1
  41. package/dist/manager/PermissionManager.js +70 -65
  42. package/dist/manager/PermissionManager.js.map +1 -1
  43. package/dist/manager/StateManager.d.ts +40 -7
  44. package/dist/manager/StateManager.d.ts.map +1 -1
  45. package/dist/manager/StateManager.js +79 -22
  46. package/dist/manager/StateManager.js.map +1 -1
  47. package/dist/manager/TaskManager.d.ts +2 -9
  48. package/dist/manager/TaskManager.d.ts.map +1 -1
  49. package/dist/manager/TaskManager.js +64 -66
  50. package/dist/manager/TaskManager.js.map +1 -1
  51. package/dist/prompt/agents.d.ts +3 -0
  52. package/dist/prompt/agents.d.ts.map +1 -0
  53. package/dist/prompt/agents.js +52 -0
  54. package/dist/prompt/agents.js.map +1 -0
  55. package/dist/prompt/commands.d.ts +3 -0
  56. package/dist/prompt/commands.d.ts.map +1 -0
  57. package/dist/prompt/commands.js +19 -0
  58. package/dist/prompt/commands.js.map +1 -0
  59. package/dist/prompt/compact.d.ts +2 -0
  60. package/dist/prompt/compact.d.ts.map +1 -0
  61. package/dist/prompt/compact.js +22 -0
  62. package/dist/prompt/compact.js.map +1 -0
  63. package/dist/prompt/define.d.ts +5 -0
  64. package/dist/prompt/define.d.ts.map +1 -0
  65. package/dist/prompt/define.js +8 -0
  66. package/dist/prompt/define.js.map +1 -0
  67. package/dist/prompt/design/design.d.ts +47 -0
  68. package/dist/prompt/design/design.d.ts.map +1 -0
  69. package/dist/prompt/design/design.js +224 -0
  70. package/dist/prompt/design/design.js.map +1 -0
  71. package/dist/prompt/design/designPhilosophy.d.ts +2 -0
  72. package/dist/prompt/design/designPhilosophy.d.ts.map +1 -0
  73. package/dist/prompt/design/designPhilosophy.js +79 -0
  74. package/dist/prompt/design/designPhilosophy.js.map +1 -0
  75. package/dist/prompt/design/designSystemSpec.d.ts +2 -0
  76. package/dist/prompt/design/designSystemSpec.d.ts.map +1 -0
  77. package/dist/prompt/design/designSystemSpec.js +44 -0
  78. package/dist/prompt/design/designSystemSpec.js.map +1 -0
  79. package/dist/prompt/design/imgPlaceholder.d.ts +2 -0
  80. package/dist/prompt/design/imgPlaceholder.d.ts.map +1 -0
  81. package/dist/prompt/design/imgPlaceholder.js +56 -0
  82. package/dist/prompt/design/imgPlaceholder.js.map +1 -0
  83. package/dist/prompt/memory.d.ts +2 -0
  84. package/dist/prompt/memory.d.ts.map +1 -0
  85. package/dist/prompt/memory.js +23 -0
  86. package/dist/prompt/memory.js.map +1 -0
  87. package/dist/prompt/plan.d.ts +2 -0
  88. package/dist/prompt/plan.d.ts.map +1 -0
  89. package/dist/prompt/plan.js +30 -0
  90. package/dist/prompt/plan.js.map +1 -0
  91. package/dist/prompt/quickchat.d.ts +2 -0
  92. package/dist/prompt/quickchat.d.ts.map +1 -0
  93. package/dist/prompt/quickchat.js +16 -0
  94. package/dist/prompt/quickchat.js.map +1 -0
  95. package/dist/prompt/system.d.ts +3 -0
  96. package/dist/prompt/system.d.ts.map +1 -0
  97. package/dist/prompt/system.js +76 -0
  98. package/dist/prompt/system.js.map +1 -0
  99. package/dist/prompt/tool.d.ts +22 -0
  100. package/dist/prompt/tool.d.ts.map +1 -0
  101. package/dist/prompt/tool.js +25 -0
  102. package/dist/prompt/tool.js.map +1 -0
  103. package/dist/prompt/toolAliases.d.ts +16 -0
  104. package/dist/prompt/toolAliases.d.ts.map +1 -0
  105. package/dist/prompt/toolAliases.js +46 -0
  106. package/dist/prompt/toolAliases.js.map +1 -0
  107. package/dist/prompt/tools/createCron.d.ts +2 -0
  108. package/dist/prompt/tools/createCron.d.ts.map +1 -0
  109. package/dist/prompt/tools/createCron.js +29 -0
  110. package/dist/prompt/tools/createCron.js.map +1 -0
  111. package/dist/prompt/tools/createTodo.d.ts +2 -0
  112. package/dist/prompt/tools/createTodo.d.ts.map +1 -0
  113. package/dist/prompt/tools/createTodo.js +23 -0
  114. package/dist/prompt/tools/createTodo.js.map +1 -0
  115. package/dist/prompt/tools/fetchUrl.d.ts +3 -0
  116. package/dist/prompt/tools/fetchUrl.d.ts.map +1 -0
  117. package/dist/prompt/tools/fetchUrl.js +27 -0
  118. package/dist/prompt/tools/fetchUrl.js.map +1 -0
  119. package/dist/prompt/tools/planToAgent.d.ts +2 -0
  120. package/dist/prompt/tools/planToAgent.d.ts.map +1 -0
  121. package/dist/prompt/tools/planToAgent.js +24 -0
  122. package/dist/prompt/tools/planToAgent.js.map +1 -0
  123. package/dist/prompt/tools/runShell.d.ts +2 -0
  124. package/dist/prompt/tools/runShell.d.ts.map +1 -0
  125. package/dist/prompt/tools/runShell.js +31 -0
  126. package/dist/prompt/tools/runShell.js.map +1 -0
  127. package/dist/prompt/tools/searchContent.d.ts +2 -0
  128. package/dist/prompt/tools/searchContent.d.ts.map +1 -0
  129. package/dist/prompt/tools/searchContent.js +18 -0
  130. package/dist/prompt/tools/searchContent.js.map +1 -0
  131. package/dist/prompt/tools/skill.d.ts +2 -0
  132. package/dist/prompt/tools/skill.d.ts.map +1 -0
  133. package/dist/prompt/tools/skill.js +14 -0
  134. package/dist/prompt/tools/skill.js.map +1 -0
  135. package/dist/prompt/tools/subAgent.d.ts +2 -0
  136. package/dist/prompt/tools/subAgent.d.ts.map +1 -0
  137. package/dist/prompt/tools/subAgent.js +45 -0
  138. package/dist/prompt/tools/subAgent.js.map +1 -0
  139. package/dist/prompt/tools/viewFile.d.ts +4 -0
  140. package/dist/prompt/tools/viewFile.d.ts.map +1 -0
  141. package/dist/prompt/tools/viewFile.js +26 -0
  142. package/dist/prompt/tools/viewFile.js.map +1 -0
  143. package/dist/services/agents/agentsManager.d.ts +12 -15
  144. package/dist/services/agents/agentsManager.d.ts.map +1 -1
  145. package/dist/services/agents/agentsManager.js +67 -65
  146. package/dist/services/agents/agentsManager.js.map +1 -1
  147. package/dist/services/agents/genDesignSystemReminder.d.ts +3 -0
  148. package/dist/services/agents/genDesignSystemReminder.d.ts.map +1 -0
  149. package/dist/services/agents/genDesignSystemReminder.js +149 -0
  150. package/dist/services/agents/genDesignSystemReminder.js.map +1 -0
  151. package/dist/services/agents/genSystemPrompt.d.ts +11 -11
  152. package/dist/services/agents/genSystemPrompt.d.ts.map +1 -1
  153. package/dist/services/agents/genSystemPrompt.js +58 -121
  154. package/dist/services/agents/genSystemPrompt.js.map +1 -1
  155. package/dist/services/agents/{systemReminder.d.ts → genSystemReminder.d.ts} +2 -7
  156. package/dist/services/agents/genSystemReminder.d.ts.map +1 -0
  157. package/dist/services/agents/genSystemReminder.js +86 -0
  158. package/dist/services/agents/genSystemReminder.js.map +1 -0
  159. package/dist/services/api/adapt/anthropic.d.ts +3 -5
  160. package/dist/services/api/adapt/anthropic.d.ts.map +1 -1
  161. package/dist/services/api/adapt/anthropic.js +32 -18
  162. package/dist/services/api/adapt/anthropic.js.map +1 -1
  163. package/dist/services/api/adapt/openai.d.ts +3 -3
  164. package/dist/services/api/adapt/openai.d.ts.map +1 -1
  165. package/dist/services/api/adapt/openai.js +20 -23
  166. package/dist/services/api/adapt/openai.js.map +1 -1
  167. package/dist/services/api/adapt/util.d.ts +0 -1
  168. package/dist/services/api/adapt/util.d.ts.map +1 -1
  169. package/dist/services/api/adapt/util.js +3 -5
  170. package/dist/services/api/adapt/util.js.map +1 -1
  171. package/dist/services/api/apiUtil.d.ts +3 -0
  172. package/dist/services/api/apiUtil.d.ts.map +1 -1
  173. package/dist/services/api/apiUtil.js +32 -28
  174. package/dist/services/api/apiUtil.js.map +1 -1
  175. package/dist/services/api/cache.d.ts +5 -5
  176. package/dist/services/api/cache.d.ts.map +1 -1
  177. package/dist/services/api/cache.js +16 -20
  178. package/dist/services/api/cache.js.map +1 -1
  179. package/dist/services/api/queryLLM.d.ts +4 -5
  180. package/dist/services/api/queryLLM.d.ts.map +1 -1
  181. package/dist/services/api/queryLLM.js +2 -6
  182. package/dist/services/api/queryLLM.js.map +1 -1
  183. package/dist/services/commands/commandsManager.d.ts +11 -14
  184. package/dist/services/commands/commandsManager.d.ts.map +1 -1
  185. package/dist/services/commands/commandsManager.js +54 -64
  186. package/dist/services/commands/commandsManager.js.map +1 -1
  187. package/dist/services/commands/runCommand.d.ts.map +1 -1
  188. package/dist/services/commands/runCommand.js +3 -27
  189. package/dist/services/commands/runCommand.js.map +1 -1
  190. package/dist/services/design/designManager.d.ts +29 -0
  191. package/dist/services/design/designManager.d.ts.map +1 -0
  192. package/dist/services/design/designManager.js +365 -0
  193. package/dist/services/design/designManager.js.map +1 -0
  194. package/dist/services/mcp/MCPClient.d.ts.map +1 -1
  195. package/dist/services/mcp/MCPClient.js +9 -1
  196. package/dist/services/mcp/MCPClient.js.map +1 -1
  197. package/dist/services/mcp/MCPManager.d.ts +9 -29
  198. package/dist/services/mcp/MCPManager.d.ts.map +1 -1
  199. package/dist/services/mcp/MCPManager.js +53 -147
  200. package/dist/services/mcp/MCPManager.js.map +1 -1
  201. package/dist/services/mcp/MCPToolAdapter.js +4 -4
  202. package/dist/services/mcp/MCPToolAdapter.js.map +1 -1
  203. package/dist/services/memory/memManager.d.ts +6 -9
  204. package/dist/services/memory/memManager.d.ts.map +1 -1
  205. package/dist/services/memory/memManager.js +22 -42
  206. package/dist/services/memory/memManager.js.map +1 -1
  207. package/dist/services/plugins/pluginsManager.d.ts +9 -17
  208. package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
  209. package/dist/services/plugins/pluginsManager.js +33 -104
  210. package/dist/services/plugins/pluginsManager.js.map +1 -1
  211. package/dist/services/rules/rulesManager.d.ts +7 -9
  212. package/dist/services/rules/rulesManager.d.ts.map +1 -1
  213. package/dist/services/rules/rulesManager.js +19 -39
  214. package/dist/services/rules/rulesManager.js.map +1 -1
  215. package/dist/services/skills/skillsManager.d.ts +10 -13
  216. package/dist/services/skills/skillsManager.d.ts.map +1 -1
  217. package/dist/services/skills/skillsManager.js +41 -54
  218. package/dist/services/skills/skillsManager.js.map +1 -1
  219. package/dist/tools/CreateCron.d.ts +68 -0
  220. package/dist/tools/CreateCron.d.ts.map +1 -0
  221. package/dist/tools/CreateCron.js +76 -0
  222. package/dist/tools/CreateCron.js.map +1 -0
  223. package/dist/tools/CreateTodo.d.ts +48 -0
  224. package/dist/tools/CreateTodo.d.ts.map +1 -0
  225. package/dist/tools/CreateTodo.js +50 -0
  226. package/dist/tools/CreateTodo.js.map +1 -0
  227. package/dist/tools/{CronDelete/CronDelete.d.ts → DelCron.d.ts} +11 -11
  228. package/dist/tools/DelCron.d.ts.map +1 -0
  229. package/dist/tools/{CronDelete/CronDelete.js → DelCron.js} +12 -12
  230. package/dist/tools/DelCron.js.map +1 -0
  231. package/dist/tools/{NotebookEdit/NotebookEdit.d.ts → EditNotebook.d.ts} +37 -37
  232. package/dist/tools/EditNotebook.d.ts.map +1 -0
  233. package/dist/tools/EditNotebook.js +220 -0
  234. package/dist/tools/EditNotebook.js.map +1 -0
  235. package/dist/tools/{WebFetch/WebFetch.d.ts → FetchUrl.d.ts} +8 -8
  236. package/dist/tools/FetchUrl.d.ts.map +1 -0
  237. package/dist/tools/{WebFetch/WebFetch.js → FetchUrl.js} +30 -34
  238. package/dist/tools/FetchUrl.js.map +1 -0
  239. package/dist/tools/GetTodo.d.ts +34 -0
  240. package/dist/tools/GetTodo.d.ts.map +1 -0
  241. package/dist/tools/{TaskGet/TaskGet.js → GetTodo.js} +21 -20
  242. package/dist/tools/GetTodo.js.map +1 -0
  243. package/dist/tools/{CronList/CronList.d.ts → ListCrons.d.ts} +12 -13
  244. package/dist/tools/ListCrons.d.ts.map +1 -0
  245. package/dist/tools/{CronList/CronList.js → ListCrons.js} +20 -20
  246. package/dist/tools/ListCrons.js.map +1 -0
  247. package/dist/tools/ListTodos.d.ts +27 -0
  248. package/dist/tools/ListTodos.d.ts.map +1 -0
  249. package/dist/tools/{TaskList/TaskList.js → ListTodos.js} +20 -19
  250. package/dist/tools/ListTodos.js.map +1 -0
  251. package/dist/tools/{Edit/Edit.d.ts → PatchFile.d.ts} +39 -43
  252. package/dist/tools/PatchFile.d.ts.map +1 -0
  253. package/dist/tools/PatchFile.js +214 -0
  254. package/dist/tools/PatchFile.js.map +1 -0
  255. package/dist/tools/PeekBgJob.d.ts +58 -0
  256. package/dist/tools/PeekBgJob.d.ts.map +1 -0
  257. package/dist/tools/PeekBgJob.js +92 -0
  258. package/dist/tools/PeekBgJob.js.map +1 -0
  259. package/dist/tools/PickOption.d.ts +463 -0
  260. package/dist/tools/PickOption.d.ts.map +1 -0
  261. package/dist/tools/PickOption.js +226 -0
  262. package/dist/tools/PickOption.js.map +1 -0
  263. package/dist/tools/PlanToAgent.d.ts +42 -0
  264. package/dist/tools/PlanToAgent.d.ts.map +1 -0
  265. package/dist/tools/{ExitPlanMode/ExitPlanMode.js → PlanToAgent.js} +47 -43
  266. package/dist/tools/PlanToAgent.js.map +1 -0
  267. package/dist/tools/{Bash/Bash.d.ts → RunShell.d.ts} +23 -21
  268. package/dist/tools/RunShell.d.ts.map +1 -0
  269. package/dist/tools/{Bash/Bash.js → RunShell.js} +55 -58
  270. package/dist/tools/RunShell.js.map +1 -0
  271. package/dist/tools/SearchContent.d.ts +86 -0
  272. package/dist/tools/SearchContent.d.ts.map +1 -0
  273. package/dist/tools/SearchContent.js +237 -0
  274. package/dist/tools/SearchContent.js.map +1 -0
  275. package/dist/tools/{Glob/Glob.d.ts → SearchFiles.d.ts} +8 -8
  276. package/dist/tools/SearchFiles.d.ts.map +1 -0
  277. package/dist/tools/{Glob/Glob.js → SearchFiles.js} +24 -31
  278. package/dist/tools/SearchFiles.js.map +1 -0
  279. package/dist/tools/{Skill/Skill.d.ts → Skill.d.ts} +11 -11
  280. package/dist/tools/Skill.d.ts.map +1 -0
  281. package/dist/tools/{Skill/Skill.js → Skill.js} +21 -19
  282. package/dist/tools/Skill.js.map +1 -0
  283. package/dist/tools/{TaskStop/TaskStop.d.ts → StopBgJob.d.ts} +17 -17
  284. package/dist/tools/StopBgJob.d.ts.map +1 -0
  285. package/dist/tools/StopBgJob.js +69 -0
  286. package/dist/tools/StopBgJob.js.map +1 -0
  287. package/dist/tools/SubAgent.d.ts +67 -0
  288. package/dist/tools/SubAgent.d.ts.map +1 -0
  289. package/dist/tools/{Agent/Agent.js → SubAgent.js} +60 -58
  290. package/dist/tools/SubAgent.js.map +1 -0
  291. package/dist/tools/UpdateTodo.d.ts +76 -0
  292. package/dist/tools/UpdateTodo.d.ts.map +1 -0
  293. package/dist/tools/UpdateTodo.js +111 -0
  294. package/dist/tools/UpdateTodo.js.map +1 -0
  295. package/dist/tools/{Read/Read.d.ts → ViewFile.d.ts} +26 -64
  296. package/dist/tools/ViewFile.d.ts.map +1 -0
  297. package/dist/tools/ViewFile.js +365 -0
  298. package/dist/tools/ViewFile.js.map +1 -0
  299. package/dist/tools/{Write/Write.d.ts → WriteFile.d.ts} +12 -12
  300. package/dist/tools/WriteFile.d.ts.map +1 -0
  301. package/dist/tools/WriteFile.js +150 -0
  302. package/dist/tools/WriteFile.js.map +1 -0
  303. package/dist/tools/base/Tool.d.ts +2 -2
  304. package/dist/tools/base/Tool.d.ts.map +1 -1
  305. package/dist/tools/base/tools.d.ts +1 -0
  306. package/dist/tools/base/tools.d.ts.map +1 -1
  307. package/dist/tools/base/tools.js +56 -50
  308. package/dist/tools/base/tools.js.map +1 -1
  309. package/dist/types/agent.d.ts +0 -1
  310. package/dist/types/agent.d.ts.map +1 -1
  311. package/dist/types/command.d.ts +0 -2
  312. package/dist/types/command.d.ts.map +1 -1
  313. package/dist/types/cron.d.ts +6 -6
  314. package/dist/types/cron.d.ts.map +1 -1
  315. package/dist/types/design.d.ts +24 -0
  316. package/dist/types/design.d.ts.map +1 -0
  317. package/dist/types/design.js +6 -0
  318. package/dist/types/design.js.map +1 -0
  319. package/dist/types/errors.d.ts +0 -2
  320. package/dist/types/errors.d.ts.map +1 -1
  321. package/dist/types/errors.js +0 -2
  322. package/dist/types/errors.js.map +1 -1
  323. package/dist/types/index.d.ts +16 -12
  324. package/dist/types/index.d.ts.map +1 -1
  325. package/dist/types/index.js +28 -5
  326. package/dist/types/index.js.map +1 -1
  327. package/dist/types/mcp.d.ts +1 -3
  328. package/dist/types/mcp.d.ts.map +1 -1
  329. package/dist/types/message.d.ts +5 -4
  330. package/dist/types/message.d.ts.map +1 -1
  331. package/dist/types/model.d.ts +1 -1
  332. package/dist/types/model.d.ts.map +1 -1
  333. package/dist/types/plugin.d.ts +8 -11
  334. package/dist/types/plugin.d.ts.map +1 -1
  335. package/dist/types/skill.d.ts +0 -3
  336. package/dist/types/skill.d.ts.map +1 -1
  337. package/dist/types/skill.js +0 -2
  338. package/dist/types/skill.js.map +1 -1
  339. package/dist/types/task.d.ts +10 -10
  340. package/dist/types/task.d.ts.map +1 -1
  341. package/dist/types/todoTask.d.ts +4 -5
  342. package/dist/types/todoTask.d.ts.map +1 -1
  343. package/dist/util/adapter.d.ts +8 -3
  344. package/dist/util/adapter.d.ts.map +1 -1
  345. package/dist/util/adapter.js +22 -49
  346. package/dist/util/adapter.js.map +1 -1
  347. package/dist/util/agentStats.d.ts +1 -1
  348. package/dist/util/agentStats.d.ts.map +1 -1
  349. package/dist/util/agentStats.js +16 -24
  350. package/dist/util/agentStats.js.map +1 -1
  351. package/dist/util/cacheLLM.d.ts +5 -5
  352. package/dist/util/cacheLLM.d.ts.map +1 -1
  353. package/dist/util/cacheLLM.js.map +1 -1
  354. package/dist/util/color.d.ts +44 -0
  355. package/dist/util/color.d.ts.map +1 -0
  356. package/dist/util/color.js +247 -0
  357. package/dist/util/color.js.map +1 -0
  358. package/dist/util/commands.d.ts +4 -5
  359. package/dist/util/commands.d.ts.map +1 -1
  360. package/dist/util/commands.js +22 -112
  361. package/dist/util/commands.js.map +1 -1
  362. package/dist/util/compact.d.ts +6 -3
  363. package/dist/util/compact.d.ts.map +1 -1
  364. package/dist/util/compact.js +20 -149
  365. package/dist/util/compact.js.map +1 -1
  366. package/dist/util/cron.d.ts +1 -9
  367. package/dist/util/cron.d.ts.map +1 -1
  368. package/dist/util/cron.js +2 -29
  369. package/dist/util/cron.js.map +1 -1
  370. package/dist/util/cwd.d.ts +2 -35
  371. package/dist/util/cwd.d.ts.map +1 -1
  372. package/dist/util/cwd.js +7 -57
  373. package/dist/util/cwd.js.map +1 -1
  374. package/dist/util/diff.d.ts +6 -4
  375. package/dist/util/diff.d.ts.map +1 -1
  376. package/dist/util/diff.js +63 -104
  377. package/dist/util/diff.js.map +1 -1
  378. package/dist/{tools/Edit/utils.d.ts → util/edit.d.ts} +2 -5
  379. package/dist/util/edit.d.ts.map +1 -0
  380. package/dist/util/edit.js +44 -0
  381. package/dist/util/edit.js.map +1 -0
  382. package/dist/util/env.d.ts +1 -4
  383. package/dist/util/env.d.ts.map +1 -1
  384. package/dist/util/env.js +22 -15
  385. package/dist/util/env.js.map +1 -1
  386. package/dist/util/fetchUrl.d.ts +18 -0
  387. package/dist/util/fetchUrl.d.ts.map +1 -0
  388. package/dist/util/fetchUrl.js +101 -0
  389. package/dist/util/fetchUrl.js.map +1 -0
  390. package/dist/util/file.d.ts +32 -45
  391. package/dist/util/file.d.ts.map +1 -1
  392. package/dist/util/file.js +153 -236
  393. package/dist/util/file.js.map +1 -1
  394. package/dist/util/fileReference.d.ts +1 -9
  395. package/dist/util/fileReference.d.ts.map +1 -1
  396. package/dist/util/fileReference.js +45 -58
  397. package/dist/util/fileReference.js.map +1 -1
  398. package/dist/util/format.d.ts +1 -9
  399. package/dist/util/format.d.ts.map +1 -1
  400. package/dist/util/format.js +5 -46
  401. package/dist/util/format.js.map +1 -1
  402. package/dist/util/formatter.d.ts +5 -8
  403. package/dist/util/formatter.d.ts.map +1 -1
  404. package/dist/util/formatter.js +5 -15
  405. package/dist/util/formatter.js.map +1 -1
  406. package/dist/util/git.d.ts +2 -3
  407. package/dist/util/git.d.ts.map +1 -1
  408. package/dist/util/git.js +34 -39
  409. package/dist/util/git.js.map +1 -1
  410. package/dist/util/history.d.ts +0 -7
  411. package/dist/util/history.d.ts.map +1 -1
  412. package/dist/util/history.js +3 -50
  413. package/dist/util/history.js.map +1 -1
  414. package/dist/util/log.d.ts +0 -1
  415. package/dist/util/log.d.ts.map +1 -1
  416. package/dist/util/log.js +2 -7
  417. package/dist/util/log.js.map +1 -1
  418. package/dist/util/logLLM.d.ts +0 -4
  419. package/dist/util/logLLM.d.ts.map +1 -1
  420. package/dist/util/logLLM.js +6 -16
  421. package/dist/util/logLLM.js.map +1 -1
  422. package/dist/util/message.d.ts +12 -11
  423. package/dist/util/message.d.ts.map +1 -1
  424. package/dist/util/message.js +68 -89
  425. package/dist/util/message.js.map +1 -1
  426. package/dist/util/model.d.ts +0 -3
  427. package/dist/util/model.d.ts.map +1 -1
  428. package/dist/util/model.js +1 -5
  429. package/dist/util/model.js.map +1 -1
  430. package/dist/util/notebook.d.ts +1 -8
  431. package/dist/util/notebook.d.ts.map +1 -1
  432. package/dist/util/notebook.js +36 -63
  433. package/dist/util/notebook.js.map +1 -1
  434. package/dist/util/pdf.d.ts +14 -72
  435. package/dist/util/pdf.d.ts.map +1 -1
  436. package/dist/util/pdf.js +51 -460
  437. package/dist/util/pdf.js.map +1 -1
  438. package/dist/util/process.d.ts +1 -1
  439. package/dist/util/process.d.ts.map +1 -1
  440. package/dist/util/process.js +7 -11
  441. package/dist/util/process.js.map +1 -1
  442. package/dist/util/quickchat.d.ts +6 -0
  443. package/dist/util/quickchat.d.ts.map +1 -0
  444. package/dist/util/{btw.js → quickchat.js} +14 -32
  445. package/dist/util/quickchat.js.map +1 -0
  446. package/dist/util/ripgrep.d.ts +4 -2
  447. package/dist/util/ripgrep.d.ts.map +1 -1
  448. package/dist/util/ripgrep.js +40 -116
  449. package/dist/util/ripgrep.js.map +1 -1
  450. package/dist/util/savePath.d.ts +2 -18
  451. package/dist/util/savePath.d.ts.map +1 -1
  452. package/dist/util/savePath.js +7 -47
  453. package/dist/util/savePath.js.map +1 -1
  454. package/dist/util/secureFile.d.ts +13 -135
  455. package/dist/util/secureFile.d.ts.map +1 -1
  456. package/dist/util/secureFile.js +74 -478
  457. package/dist/util/secureFile.js.map +1 -1
  458. package/dist/util/session.d.ts +0 -21
  459. package/dist/util/session.d.ts.map +1 -1
  460. package/dist/util/session.js +0 -49
  461. package/dist/util/session.js.map +1 -1
  462. package/dist/util/shell.d.ts +23 -3
  463. package/dist/util/shell.d.ts.map +1 -1
  464. package/dist/util/shell.js +199 -290
  465. package/dist/util/shell.js.map +1 -1
  466. package/dist/util/time.d.ts +6 -5
  467. package/dist/util/time.d.ts.map +1 -1
  468. package/dist/util/time.js +10 -6
  469. package/dist/util/time.js.map +1 -1
  470. package/dist/util/tokens.d.ts +0 -1
  471. package/dist/util/tokens.d.ts.map +1 -1
  472. package/dist/util/tokens.js +12 -23
  473. package/dist/util/tokens.js.map +1 -1
  474. package/dist/util/topic.d.ts +1 -4
  475. package/dist/util/topic.d.ts.map +1 -1
  476. package/dist/util/topic.js +12 -11
  477. package/dist/util/topic.js.map +1 -1
  478. package/dist/util/writeFile.d.ts +12 -0
  479. package/dist/util/writeFile.d.ts.map +1 -0
  480. package/dist/util/writeFile.js +69 -0
  481. package/dist/util/writeFile.js.map +1 -0
  482. package/package.json +1 -1
  483. package/dist/constants/config.d.ts.map +0 -1
  484. package/dist/constants/config.js.map +0 -1
  485. package/dist/constants/message.d.ts +0 -10
  486. package/dist/constants/message.d.ts.map +0 -1
  487. package/dist/constants/message.js +0 -25
  488. package/dist/constants/message.js.map +0 -1
  489. package/dist/constants/product.d.ts +0 -4
  490. package/dist/constants/product.d.ts.map +0 -1
  491. package/dist/constants/product.js +0 -7
  492. package/dist/constants/product.js.map +0 -1
  493. package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts +0 -3
  494. package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts.map +0 -1
  495. package/dist/services/agents/defaultBuiltInAgentsConfs.js +0 -125
  496. package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +0 -1
  497. package/dist/services/agents/prompt.d.ts +0 -10
  498. package/dist/services/agents/prompt.d.ts.map +0 -1
  499. package/dist/services/agents/prompt.js +0 -144
  500. package/dist/services/agents/prompt.js.map +0 -1
  501. package/dist/services/agents/systemReminder.d.ts.map +0 -1
  502. package/dist/services/agents/systemReminder.js +0 -68
  503. package/dist/services/agents/systemReminder.js.map +0 -1
  504. package/dist/tools/Agent/Agent.d.ts +0 -67
  505. package/dist/tools/Agent/Agent.d.ts.map +0 -1
  506. package/dist/tools/Agent/Agent.js.map +0 -1
  507. package/dist/tools/Agent/prompt.d.ts +0 -6
  508. package/dist/tools/Agent/prompt.d.ts.map +0 -1
  509. package/dist/tools/Agent/prompt.js +0 -73
  510. package/dist/tools/Agent/prompt.js.map +0 -1
  511. package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts +0 -179
  512. package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts.map +0 -1
  513. package/dist/tools/AskUserQuestion/AskUserQuestion.js +0 -165
  514. package/dist/tools/AskUserQuestion/AskUserQuestion.js.map +0 -1
  515. package/dist/tools/AskUserQuestion/prompt.d.ts +0 -3
  516. package/dist/tools/AskUserQuestion/prompt.d.ts.map +0 -1
  517. package/dist/tools/AskUserQuestion/prompt.js +0 -17
  518. package/dist/tools/AskUserQuestion/prompt.js.map +0 -1
  519. package/dist/tools/Bash/Bash.d.ts.map +0 -1
  520. package/dist/tools/Bash/Bash.js.map +0 -1
  521. package/dist/tools/Bash/prompt.d.ts +0 -5
  522. package/dist/tools/Bash/prompt.d.ts.map +0 -1
  523. package/dist/tools/Bash/prompt.js +0 -130
  524. package/dist/tools/Bash/prompt.js.map +0 -1
  525. package/dist/tools/Bash/utils.d.ts +0 -9
  526. package/dist/tools/Bash/utils.d.ts.map +0 -1
  527. package/dist/tools/Bash/utils.js +0 -41
  528. package/dist/tools/Bash/utils.js.map +0 -1
  529. package/dist/tools/CronCreate/CronCreate.d.ts +0 -68
  530. package/dist/tools/CronCreate/CronCreate.d.ts.map +0 -1
  531. package/dist/tools/CronCreate/CronCreate.js +0 -75
  532. package/dist/tools/CronCreate/CronCreate.js.map +0 -1
  533. package/dist/tools/CronCreate/prompt.d.ts +0 -3
  534. package/dist/tools/CronCreate/prompt.d.ts.map +0 -1
  535. package/dist/tools/CronCreate/prompt.js +0 -41
  536. package/dist/tools/CronCreate/prompt.js.map +0 -1
  537. package/dist/tools/CronDelete/CronDelete.d.ts.map +0 -1
  538. package/dist/tools/CronDelete/CronDelete.js.map +0 -1
  539. package/dist/tools/CronDelete/prompt.d.ts +0 -3
  540. package/dist/tools/CronDelete/prompt.d.ts.map +0 -1
  541. package/dist/tools/CronDelete/prompt.js +0 -6
  542. package/dist/tools/CronDelete/prompt.js.map +0 -1
  543. package/dist/tools/CronList/CronList.d.ts.map +0 -1
  544. package/dist/tools/CronList/CronList.js.map +0 -1
  545. package/dist/tools/CronList/prompt.d.ts +0 -3
  546. package/dist/tools/CronList/prompt.d.ts.map +0 -1
  547. package/dist/tools/CronList/prompt.js +0 -6
  548. package/dist/tools/CronList/prompt.js.map +0 -1
  549. package/dist/tools/Edit/Edit.d.ts.map +0 -1
  550. package/dist/tools/Edit/Edit.js +0 -225
  551. package/dist/tools/Edit/Edit.js.map +0 -1
  552. package/dist/tools/Edit/prompt.d.ts +0 -3
  553. package/dist/tools/Edit/prompt.d.ts.map +0 -1
  554. package/dist/tools/Edit/prompt.js +0 -15
  555. package/dist/tools/Edit/prompt.js.map +0 -1
  556. package/dist/tools/Edit/utils.d.ts.map +0 -1
  557. package/dist/tools/Edit/utils.js +0 -60
  558. package/dist/tools/Edit/utils.js.map +0 -1
  559. package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts +0 -42
  560. package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts.map +0 -1
  561. package/dist/tools/ExitPlanMode/ExitPlanMode.js.map +0 -1
  562. package/dist/tools/ExitPlanMode/prompt.d.ts +0 -3
  563. package/dist/tools/ExitPlanMode/prompt.d.ts.map +0 -1
  564. package/dist/tools/ExitPlanMode/prompt.js +0 -28
  565. package/dist/tools/ExitPlanMode/prompt.js.map +0 -1
  566. package/dist/tools/Glob/Glob.d.ts.map +0 -1
  567. package/dist/tools/Glob/Glob.js.map +0 -1
  568. package/dist/tools/Glob/prompt.d.ts +0 -3
  569. package/dist/tools/Glob/prompt.d.ts.map +0 -1
  570. package/dist/tools/Glob/prompt.js +0 -11
  571. package/dist/tools/Glob/prompt.js.map +0 -1
  572. package/dist/tools/Grep/Grep.d.ts +0 -106
  573. package/dist/tools/Grep/Grep.d.ts.map +0 -1
  574. package/dist/tools/Grep/Grep.js +0 -301
  575. package/dist/tools/Grep/Grep.js.map +0 -1
  576. package/dist/tools/Grep/prompt.d.ts +0 -3
  577. package/dist/tools/Grep/prompt.d.ts.map +0 -1
  578. package/dist/tools/Grep/prompt.js +0 -17
  579. package/dist/tools/Grep/prompt.js.map +0 -1
  580. package/dist/tools/NotebookEdit/NotebookEdit.d.ts.map +0 -1
  581. package/dist/tools/NotebookEdit/NotebookEdit.js +0 -312
  582. package/dist/tools/NotebookEdit/NotebookEdit.js.map +0 -1
  583. package/dist/tools/NotebookEdit/prompt.d.ts +0 -3
  584. package/dist/tools/NotebookEdit/prompt.d.ts.map +0 -1
  585. package/dist/tools/NotebookEdit/prompt.js +0 -6
  586. package/dist/tools/NotebookEdit/prompt.js.map +0 -1
  587. package/dist/tools/Read/Read.d.ts.map +0 -1
  588. package/dist/tools/Read/Read.js +0 -472
  589. package/dist/tools/Read/Read.js.map +0 -1
  590. package/dist/tools/Read/prompt.d.ts +0 -4
  591. package/dist/tools/Read/prompt.d.ts.map +0 -1
  592. package/dist/tools/Read/prompt.js +0 -23
  593. package/dist/tools/Read/prompt.js.map +0 -1
  594. package/dist/tools/Skill/Skill.d.ts.map +0 -1
  595. package/dist/tools/Skill/Skill.js.map +0 -1
  596. package/dist/tools/Skill/prompt.d.ts +0 -3
  597. package/dist/tools/Skill/prompt.d.ts.map +0 -1
  598. package/dist/tools/Skill/prompt.js +0 -27
  599. package/dist/tools/Skill/prompt.js.map +0 -1
  600. package/dist/tools/TaskCreate/TaskCreate.d.ts +0 -54
  601. package/dist/tools/TaskCreate/TaskCreate.d.ts.map +0 -1
  602. package/dist/tools/TaskCreate/TaskCreate.js +0 -51
  603. package/dist/tools/TaskCreate/TaskCreate.js.map +0 -1
  604. package/dist/tools/TaskCreate/prompt.d.ts +0 -3
  605. package/dist/tools/TaskCreate/prompt.d.ts.map +0 -1
  606. package/dist/tools/TaskCreate/prompt.js +0 -45
  607. package/dist/tools/TaskCreate/prompt.js.map +0 -1
  608. package/dist/tools/TaskGet/TaskGet.d.ts +0 -34
  609. package/dist/tools/TaskGet/TaskGet.d.ts.map +0 -1
  610. package/dist/tools/TaskGet/TaskGet.js.map +0 -1
  611. package/dist/tools/TaskGet/prompt.d.ts +0 -3
  612. package/dist/tools/TaskGet/prompt.d.ts.map +0 -1
  613. package/dist/tools/TaskGet/prompt.js +0 -26
  614. package/dist/tools/TaskGet/prompt.js.map +0 -1
  615. package/dist/tools/TaskList/TaskList.d.ts +0 -27
  616. package/dist/tools/TaskList/TaskList.d.ts.map +0 -1
  617. package/dist/tools/TaskList/TaskList.js.map +0 -1
  618. package/dist/tools/TaskList/prompt.d.ts +0 -3
  619. package/dist/tools/TaskList/prompt.d.ts.map +0 -1
  620. package/dist/tools/TaskList/prompt.js +0 -25
  621. package/dist/tools/TaskList/prompt.js.map +0 -1
  622. package/dist/tools/TaskOutput/TaskOutput.d.ts +0 -58
  623. package/dist/tools/TaskOutput/TaskOutput.d.ts.map +0 -1
  624. package/dist/tools/TaskOutput/TaskOutput.js +0 -95
  625. package/dist/tools/TaskOutput/TaskOutput.js.map +0 -1
  626. package/dist/tools/TaskStop/TaskStop.d.ts.map +0 -1
  627. package/dist/tools/TaskStop/TaskStop.js +0 -69
  628. package/dist/tools/TaskStop/TaskStop.js.map +0 -1
  629. package/dist/tools/TaskUpdate/TaskUpdate.d.ts +0 -88
  630. package/dist/tools/TaskUpdate/TaskUpdate.d.ts.map +0 -1
  631. package/dist/tools/TaskUpdate/TaskUpdate.js +0 -115
  632. package/dist/tools/TaskUpdate/TaskUpdate.js.map +0 -1
  633. package/dist/tools/TaskUpdate/prompt.d.ts +0 -3
  634. package/dist/tools/TaskUpdate/prompt.d.ts.map +0 -1
  635. package/dist/tools/TaskUpdate/prompt.js +0 -80
  636. package/dist/tools/TaskUpdate/prompt.js.map +0 -1
  637. package/dist/tools/TodoWrite/TodoWrite.d.ts +0 -92
  638. package/dist/tools/TodoWrite/TodoWrite.d.ts.map +0 -1
  639. package/dist/tools/TodoWrite/TodoWrite.js +0 -101
  640. package/dist/tools/TodoWrite/TodoWrite.js.map +0 -1
  641. package/dist/tools/TodoWrite/prompt.d.ts +0 -3
  642. package/dist/tools/TodoWrite/prompt.d.ts.map +0 -1
  643. package/dist/tools/TodoWrite/prompt.js +0 -187
  644. package/dist/tools/TodoWrite/prompt.js.map +0 -1
  645. package/dist/tools/WebFetch/WebFetch.d.ts.map +0 -1
  646. package/dist/tools/WebFetch/WebFetch.js.map +0 -1
  647. package/dist/tools/WebFetch/prompt.d.ts +0 -4
  648. package/dist/tools/WebFetch/prompt.d.ts.map +0 -1
  649. package/dist/tools/WebFetch/prompt.js +0 -38
  650. package/dist/tools/WebFetch/prompt.js.map +0 -1
  651. package/dist/tools/WebFetch/utils.d.ts +0 -20
  652. package/dist/tools/WebFetch/utils.d.ts.map +0 -1
  653. package/dist/tools/WebFetch/utils.js +0 -223
  654. package/dist/tools/WebFetch/utils.js.map +0 -1
  655. package/dist/tools/Write/Write.d.ts.map +0 -1
  656. package/dist/tools/Write/Write.js +0 -197
  657. package/dist/tools/Write/Write.js.map +0 -1
  658. package/dist/tools/Write/prompt.d.ts +0 -3
  659. package/dist/tools/Write/prompt.d.ts.map +0 -1
  660. package/dist/tools/Write/prompt.js +0 -13
  661. package/dist/tools/Write/prompt.js.map +0 -1
  662. package/dist/util/assembleTools.d.ts +0 -6
  663. package/dist/util/assembleTools.d.ts.map +0 -1
  664. package/dist/util/assembleTools.js +0 -17
  665. package/dist/util/assembleTools.js.map +0 -1
  666. package/dist/util/btw.d.ts +0 -6
  667. package/dist/util/btw.d.ts.map +0 -1
  668. package/dist/util/btw.js.map +0 -1
  669. package/dist/util/directory.d.ts +0 -37
  670. package/dist/util/directory.d.ts.map +0 -1
  671. package/dist/util/directory.js +0 -137
  672. package/dist/util/directory.js.map +0 -1
  673. package/dist/util/exec.d.ts +0 -6
  674. package/dist/util/exec.d.ts.map +0 -1
  675. package/dist/util/exec.js +0 -43
  676. package/dist/util/exec.js.map +0 -1
  677. package/dist/util/filePermission.d.ts +0 -14
  678. package/dist/util/filePermission.d.ts.map +0 -1
  679. package/dist/util/filePermission.js +0 -47
  680. package/dist/util/filePermission.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleBtw = handleBtw;
3
+ exports.handlequickchat = handlequickchat;
4
4
  const queryLLM_1 = require("../services/api/queryLLM");
5
5
  const message_1 = require("./message");
6
6
  const StateManager_1 = require("../manager/StateManager");
@@ -8,40 +8,22 @@ const EventSystem_1 = require("../events/EventSystem");
8
8
  const log_1 = require("./log");
9
9
  const errors_1 = require("../types/errors");
10
10
  const compact_1 = require("./compact");
11
- const BTW_SYSTEM_REMINDER = `<system-reminder>
12
- This is a side question from the user. You must answer this question directly in a single response.
13
-
14
- IMPORTANT CONTEXT:
15
- - You are a separate, lightweight agent spawned to answer this one question
16
- - The main agent is NOT interrupted - it continues working independently in the background
17
- - You share the conversation context but are a completely separate instance
18
- - Do NOT reference being interrupted or what you were "previously doing" - that framing is incorrect
19
-
20
- CRITICAL CONSTRAINTS:
21
- - You have NO tools available - you cannot read files, run commands, search, or take any actions
22
- - This is a one-off response - there will be no follow-up turns
23
- - You can ONLY provide information based on what you already know from the conversation context
24
- - NEVER say things like "Let me try...", "I'll now...", "Let me check...", or promise to take any action
25
- - If you don't know the answer, say so - do not offer to look it up or investigate
26
-
27
- Simply answer the question with the information you have.
28
- </system-reminder>`;
11
+ const quickchat_1 = require("../prompt/quickchat");
29
12
  /**
30
- * 处理 btw 旁路问题
13
+ * 处理 quickchat 旁路问题
31
14
  * 读取现有消息历史,使用快速模型回答,不影响主流程状态
32
15
  */
33
- async function handleBtw(question) {
16
+ async function handlequickchat(question) {
34
17
  const stateManager = (0, StateManager_1.getStateManager)();
35
18
  const mainAgentState = stateManager.forAgent(StateManager_1.MAIN_AGENT_ID);
36
19
  // 读取现有消息历史
37
20
  const history = mainAgentState.getMessageHistory();
38
- // 构建带 system-reminder 的用户消息
39
- const btwMessage = (0, message_1.createUserMessage)([{
21
+ const quickchatMessage = (0, message_1.buildUserMsg)([{
40
22
  type: 'text',
41
- text: `${BTW_SYSTEM_REMINDER}\n\n${question}`,
23
+ text: (0, quickchat_1.QUICKCHAT_SYSTEM_REMINDER_PROMPT)(question),
42
24
  }]);
43
- // 拼接消息:先规范化历史(清洗空消息、合并连续user等),再追加 btw 问题
44
- const messages = [...(0, message_1.normalizeMessagesForAPI)(history), btwMessage];
25
+ // 拼接消息:先规范化历史(清洗空消息、合并连续user等),再追加 quickchat 问题
26
+ const messages = [...(0, message_1.prepareMessagesForApi)(history), quickchatMessage];
45
27
  // 创建独立的 AbortController,联动主会话中断
46
28
  const abortController = new AbortController();
47
29
  const mainAbort = stateManager.currentAbortController;
@@ -50,9 +32,9 @@ async function handleBtw(question) {
50
32
  abortListener = () => abortController.abort();
51
33
  mainAbort.signal.addEventListener('abort', abortListener, { once: true });
52
34
  }
53
- (0, log_1.logInfo)(`[btw] 开始处理旁路问题: ${question.slice(0, 50)}...`);
35
+ (0, log_1.logInfo)(`[quickchat] 开始处理旁路问题: ${question.slice(0, 50)}...`);
54
36
  try {
55
- const response = await (0, queryLLM_1.queryLLM)(messages, [], // 无独立系统提示(靠 system-reminder 注入在消息中)
37
+ const response = await (0, queryLLM_1.queryLLM)(messages, [], // 无独立系统提示
56
38
  abortController.signal, [compact_1.NULL_TOOL], // 占位工具,避免历史含 tool 块时部分 provider 报错
57
39
  'quick', // 快速模型
58
40
  true, // 禁用 chunk 事件
@@ -63,12 +45,12 @@ async function handleBtw(question) {
63
45
  .filter(b => b.type === 'text')
64
46
  .map(b => b.text)
65
47
  .join('\n');
66
- (0, log_1.logDebug)(`[btw] 回答完成,长度: ${content.length}`);
67
- (0, EventSystem_1.getEventBus)().emit('btw:response', { question, content });
48
+ (0, log_1.logDebug)(`[quickchat] 回答完成,长度: ${content.length}`);
49
+ (0, EventSystem_1.getEventBus)().emit('quickchat:response', { question, content });
68
50
  }
69
51
  catch (error) {
70
52
  if (!(0, errors_1.isInterruptedException)(error)) {
71
- (0, log_1.logDebug)(`[btw] 处理失败: ${error}`);
53
+ (0, log_1.logDebug)(`[quickchat] 处理失败: ${error}`);
72
54
  }
73
55
  }
74
56
  finally {
@@ -77,4 +59,4 @@ async function handleBtw(question) {
77
59
  }
78
60
  }
79
61
  }
80
- //# sourceMappingURL=btw.js.map
62
+ //# sourceMappingURL=quickchat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickchat.js","sourceRoot":"","sources":["../../src/util/quickchat.ts"],"names":[],"mappings":";;AAaA,0CAsDC;AAnED,uDAAmD;AACnD,uCAA+D;AAC/D,0DAAwE;AACxE,uDAAmD;AACnD,+BAAyC;AACzC,4CAAwD;AACxD,uCAAqC;AACrC,mDAAsE;AAEtE;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,MAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAA;IACtC,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAAa,CAAC,CAAA;IAE3D,WAAW;IACX,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAA;IAElD,MAAM,gBAAgB,GAAG,IAAA,sBAAY,EAAC,CAAC;YACrC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAA,4CAAgC,EAAC,QAAQ,CAAC;SACjD,CAAC,CAAC,CAAA;IAEH,gDAAgD;IAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAEtE,gCAAgC;IAChC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,sBAAsB,CAAA;IACrD,IAAI,aAAa,GAAwB,IAAI,CAAA;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,aAAa,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC7C,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,IAAA,aAAO,EAAC,yBAAyB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IAE5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAC7B,QAAQ,EACR,EAAE,EAAM,UAAU;QAClB,eAAe,CAAC,MAAM,EACtB,CAAC,mBAAS,CAAC,EAAE,mCAAmC;QAChD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAI,cAAc;QACtB,IAAI,EAAI,SAAS;QACjB,IAAI,CAAI,cAAc;SACvB,CAAA;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAoC,CAAC,IAAI,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,IAAA,cAAQ,EAAC,wBAAwB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAClD,IAAA,yBAAW,GAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,IAAA,+BAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAA,cAAQ,EAAC,qBAAqB,KAAK,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,5 @@
1
- export declare function ripGrep(args: string[], target: string, abortSignal: AbortSignal): Promise<string[]>;
2
- export declare function listAllContentFiles(path: string, abortSignal: AbortSignal, limit: number): Promise<string[]>;
1
+ /**
2
+ * 使用 ripgrep 执行文件内容搜索
3
+ */
4
+ export declare function searchWithRipgrep(searchArgs: string[], searchPath: string, abortSignal?: AbortSignal): Promise<string[]>;
3
5
  //# sourceMappingURL=ripgrep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ripgrep.d.ts","sourceRoot":"","sources":["../../src/util/ripgrep.ts"],"names":[],"mappings":"AAWA,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCnB;AAiHD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
1
+ {"version":3,"file":"ripgrep.d.ts","sourceRoot":"","sources":["../../src/util/ripgrep.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB"}
@@ -33,145 +33,69 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ripGrep = ripGrep;
37
- exports.listAllContentFiles = listAllContentFiles;
36
+ exports.searchWithRipgrep = searchWithRipgrep;
38
37
  const spawn_rx_1 = require("spawn-rx");
39
38
  const lodash_es_1 = require("lodash-es");
40
39
  const log_1 = require("./log");
41
- const exec_1 = require("./exec");
42
40
  const child_process_1 = require("child_process");
43
41
  const path = __importStar(require("path"));
44
42
  const fs = __importStar(require("fs"));
45
43
  const platform_1 = require("./platform");
46
- const useBuiltinRipgrep = !!process.env.USE_BUILTIN_RIPGREP;
47
- async function ripGrep(args, target, abortSignal) {
48
- await codesignRipgrepIfNecessary();
49
- const rg = ripgrepPath();
50
- const processedTarget = (0, platform_1.unixDriveToNative)(target);
51
- // NB: When running interactively, ripgrep does not require a path as its last
52
- // argument, but when run non-interactively, it will hang unless a path or file
53
- // pattern is provided
54
- return new Promise((resolve, reject) => {
55
- (0, child_process_1.execFile)(rg, [...args, processedTarget], {
56
- maxBuffer: 1_000_000,
57
- signal: abortSignal,
58
- timeout: 10_000,
44
+ /**
45
+ * 使用 ripgrep 执行文件内容搜索
46
+ */
47
+ async function searchWithRipgrep(searchArgs, searchPath, abortSignal) {
48
+ const ripgrepExecutable = getRipgrepPath();
49
+ const nativeSearchPath = (0, platform_1.unixDriveToNative)(searchPath);
50
+ return new Promise((resolve) => {
51
+ (0, child_process_1.execFile)(ripgrepExecutable, [...searchArgs, nativeSearchPath], {
52
+ maxBuffer: 512_000,
53
+ ...(abortSignal && { signal: abortSignal }),
54
+ timeout: 8_000,
59
55
  }, (error, stdout) => {
60
56
  if (error) {
61
- // Exit code 1 from ripgrep means "no matches found" - this is normal
62
- const exitCode = typeof error.code === 'number' ? error.code :
63
- typeof error.code === 'string' ? parseInt(error.code, 10) :
64
- undefined;
65
- if (exitCode === 1) {
66
- // No matches found is normal, return empty array
67
- resolve([]);
68
- }
69
- else {
70
- // Log other errors for debugging
71
- (0, log_1.logError)(`ripgrep error (code: ${exitCode}): ${error.message}`);
72
- resolve([]); // Still resolve with empty array to avoid breaking the flow
57
+ // 退出码 1 表示未找到匹配,属于正常情况;其他错误记录日志
58
+ const code = error.code;
59
+ const exitCode = typeof code === 'number' ? code : typeof code === 'string' ? parseInt(code, 10) : undefined;
60
+ if (exitCode !== 1) {
61
+ (0, log_1.logError)(`ripgrep error (exit code: ${exitCode}): ${error.message}`);
73
62
  }
63
+ resolve([]);
74
64
  }
75
65
  else {
76
- resolve(stdout.trim().split('\n').filter(Boolean));
66
+ resolve(stdout.trim().split('\n').filter(line => line.length > 0));
77
67
  }
78
68
  });
79
69
  });
80
70
  }
81
- let alreadyDoneSignCheck = false;
82
- async function codesignRipgrepIfNecessary() {
83
- if (!platform_1.IS_MAC || alreadyDoneSignCheck) {
84
- return;
85
- }
86
- alreadyDoneSignCheck = true;
87
- // First, check to see if ripgrep is already signed
88
- const lines = (await (0, exec_1.execFileNoThrow)('codesign', ['-vv', '-d', ripgrepPath()], undefined, undefined, false)).stdout.split('\n');
89
- // If we find "linker-signed", it means it's only linker-signed and needs proper signing
90
- const needsSigned = lines.find(line => line.includes('linker-signed'));
91
- if (!needsSigned) {
92
- // Already properly signed or no signing info found
93
- return;
94
- }
95
- try {
96
- const signResult = await (0, exec_1.execFileNoThrow)('codesign', [
97
- '--sign',
98
- '-',
99
- '--force',
100
- '--preserve-metadata=entitlements,requirements,flags,runtime',
101
- ripgrepPath(),
102
- ]);
103
- if (signResult.code !== 0) {
104
- (0, log_1.logError)(`Failed to sign ripgrep: ${signResult.stdout} ${signResult.stderr}`);
105
- }
106
- const quarantineResult = await (0, exec_1.execFileNoThrow)('xattr', [
107
- '-d',
108
- 'com.apple.quarantine',
109
- ripgrepPath(),
110
- ]);
111
- if (quarantineResult.code !== 0) {
112
- (0, log_1.logError)(`Failed to remove quarantine: ${quarantineResult.stdout} ${quarantineResult.stderr}`);
113
- }
114
- }
115
- catch (e) {
116
- (0, log_1.logError)(e);
71
+ /**
72
+ * 获取 ripgrep 可执行文件路径(带缓存)
73
+ * 优先使用系统 PATH,否则使用 @vscode/ripgrep 内置版本
74
+ */
75
+ const getRipgrepPath = (0, lodash_es_1.memoize)(() => {
76
+ const { cmd } = (0, spawn_rx_1.findActualExecutable)('rg', []);
77
+ if (cmd !== 'rg') {
78
+ return cmd;
117
79
  }
118
- }
119
- // 运行时动态获取 @vscode/ripgrep 的路径,避免打包时路径被固化
120
- function getVscodeRipgrepPath() {
121
- const rgName = (0, platform_1.exeName)('rg');
80
+ const binaryName = (0, platform_1.exeName)('rg');
81
+ // 通过 require.resolve 定位模块路径
122
82
  try {
123
- // 方法1:通过 require.resolve 找到模块位置
124
- const ripgrepModulePath = require.resolve('@vscode/ripgrep');
125
- const moduleBinPath = path.join(path.dirname(ripgrepModulePath), '..', 'bin', rgName);
126
- if (fs.existsSync(moduleBinPath)) {
127
- return moduleBinPath;
83
+ const modulePath = require.resolve('@vscode/ripgrep');
84
+ const binaryPath = path.join(path.dirname(modulePath), '..', 'bin', binaryName);
85
+ if (fs.existsSync(binaryPath)) {
86
+ return binaryPath;
128
87
  }
129
88
  }
130
89
  catch {
131
- // require.resolve 失败,尝试其他方法
132
- }
133
- // 方法2:相对于当前模块的路径
134
- const relativePath = path.resolve(__dirname, '../node_modules/@vscode/ripgrep/bin', rgName);
135
- if (fs.existsSync(relativePath)) {
136
- return relativePath;
90
+ // require.resolve 失败,继续尝试其他方法
137
91
  }
138
- // 方法3:相对于 __dirname 向上查找
139
- const parentPath = path.resolve(__dirname, '../../node_modules/@vscode/ripgrep/bin', rgName);
140
- if (fs.existsSync(parentPath)) {
141
- return parentPath;
142
- }
143
- throw new Error(`@vscode/ripgrep binary not found: tried multiple paths for ${rgName}`);
144
- }
145
- const ripgrepPath = (0, lodash_es_1.memoize)(() => {
146
- const { cmd } = (0, spawn_rx_1.findActualExecutable)('rg', []);
147
- if (cmd !== 'rg' && !useBuiltinRipgrep) {
148
- // NB: If we're able to find ripgrep in $PATH, cmd will be an absolute
149
- // path rather than just returning 'rg'
150
- return cmd;
151
- }
152
- else {
153
- // Use @vscode/ripgrep which auto-downloads platform-specific binary
154
- // 运行时动态计算路径,避免打包时路径被固化的问题
155
- try {
156
- const rgPath = getVscodeRipgrepPath();
157
- return rgPath;
158
- }
159
- catch (error) {
160
- (0, log_1.logError)(`Error finding ripgrep: ${error}`);
161
- throw error;
92
+ // 从当前文件向上查找 node_modules
93
+ for (const rel of ['../node_modules', '../../node_modules']) {
94
+ const candidate = path.resolve(__dirname, rel, '@vscode/ripgrep/bin', binaryName);
95
+ if (fs.existsSync(candidate)) {
96
+ return candidate;
162
97
  }
163
98
  }
99
+ throw new Error(`@vscode/ripgrep binary not found: ${binaryName}`);
164
100
  });
165
- // NB: We do something tricky here. We know that ripgrep processes common
166
- // ignore files for us, so we just ripgrep for any character, which matches
167
- // all non-empty files
168
- async function listAllContentFiles(path, abortSignal, limit) {
169
- try {
170
- return (await ripGrep(['-l', '.'], path, abortSignal)).slice(0, limit);
171
- }
172
- catch (e) {
173
- (0, log_1.logError)(e);
174
- return [];
175
- }
176
- }
177
101
  //# sourceMappingURL=ripgrep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ripgrep.js","sourceRoot":"","sources":["../../src/util/ripgrep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ripgrep.js","sourceRoot":"","sources":["../../src/util/ripgrep.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,6 @@
4
4
  * 跨平台兼容:Windows、macOS、Linux
5
5
  */
6
6
  export declare function getSemaRootDir(): string;
7
- /**
8
- * 获取 Claude 根目录路径
9
- * 默认为 ~/.claude,可通过环境变量 CLAUDE_ROOT 自定义
10
- * 跨平台兼容:Windows、macOS、Linux
11
- */
12
- export declare function getClaudeRootDir(): string;
13
7
  /**
14
8
  * 获取模型配置文件路径
15
9
  */
@@ -22,24 +16,14 @@ export declare function getProjectConfigFilePath(): string;
22
16
  * 获取历史记录根目录路径
23
17
  */
24
18
  export declare function getHistoryDir(): string;
25
- /**
26
- * 将项目绝对路径转换为目录名
27
- * 规则:路径分隔符替换为 -,开头加 -,Windows盘符的冒号去掉
28
- * 例如:
29
- * /Users/xxx/project -> -Users-xxx-project
30
- * C:\Users\xxx\project -> -C-Users-xxx-project
31
- * @param projectPath 项目绝对路径
32
- */
33
- export declare function projectPathToDirName(projectPath: string): string;
34
19
  /**
35
20
  * 获取项目的历史记录目录路径
36
- * @param projectPath 项目绝对路径
21
+ * 将项目绝对路径转换为目录名:路径分隔符替换为 -,开头加 -,Windows盘符的冒号去掉
22
+ * 例如:/Users/xxx/project -> -Users-xxx-project
37
23
  */
38
24
  export declare function getProjectHistoryDir(projectPath: string): string;
39
25
  /**
40
26
  * 获取历史记录文件路径
41
- * @param sessionId 会话ID
42
- * @param projectPath 项目绝对路径(可选,如果不提供则使用旧的平铺存储方式)
43
27
  */
44
28
  export declare function getHistoryFilePath(sessionId: string, projectPath?: string): string;
45
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"savePath.d.ts","sourceRoot":"","sources":["../../src/util/savePath.ts"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
1
+ {"version":3,"file":"savePath.d.ts","sourceRoot":"","sources":["../../src/util/savePath.ts"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -34,11 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.getSemaRootDir = getSemaRootDir;
37
- exports.getClaudeRootDir = getClaudeRootDir;
38
37
  exports.getModelConfigFilePath = getModelConfigFilePath;
39
38
  exports.getProjectConfigFilePath = getProjectConfigFilePath;
40
39
  exports.getHistoryDir = getHistoryDir;
41
- exports.projectPathToDirName = projectPathToDirName;
42
40
  exports.getProjectHistoryDir = getProjectHistoryDir;
43
41
  exports.getHistoryFilePath = getHistoryFilePath;
44
42
  exports.getLogsDir = getLogsDir;
@@ -48,11 +46,10 @@ exports.getCacheDir = getCacheDir;
48
46
  exports.getLLMCacheFilePath = getLLMCacheFilePath;
49
47
  exports.getEventDir = getEventDir;
50
48
  const path = __importStar(require("path"));
51
- const time_1 = require("../util/time");
49
+ const time_1 = require("./time");
52
50
  const platform_1 = require("./platform");
53
- const config_1 = require("../constants/config");
51
+ const config_1 = require("../conf/config");
54
52
  let _semaRootDir;
55
- let _claudeRootDir;
56
53
  /**
57
54
  * 获取 Sema 根目录路径
58
55
  * 默认为 ~/.sema,可通过环境变量 SEMA_ROOT 自定义
@@ -68,21 +65,6 @@ function getSemaRootDir() {
68
65
  }
69
66
  return _semaRootDir;
70
67
  }
71
- /**
72
- * 获取 Claude 根目录路径
73
- * 默认为 ~/.claude,可通过环境变量 CLAUDE_ROOT 自定义
74
- * 跨平台兼容:Windows、macOS、Linux
75
- */
76
- function getClaudeRootDir() {
77
- if (!_claudeRootDir) {
78
- const customRoot = process.env.CLAUDE_ROOT;
79
- _claudeRootDir = customRoot
80
- ? path.resolve((0, platform_1.unixDriveToNative)(customRoot))
81
- : (0, platform_1.expandHome)(config_1.CLAUDE_ROOT);
82
- console.log('[getClaudeRootDir]', _claudeRootDir);
83
- }
84
- return _claudeRootDir;
85
- }
86
68
  /**
87
69
  * 获取模型配置文件路径
88
70
  */
@@ -102,40 +84,18 @@ function getHistoryDir() {
102
84
  return path.join(getSemaRootDir(), config_1.HISTORY_DIR_PATH);
103
85
  }
104
86
  /**
105
- * 将项目绝对路径转换为目录名
106
- * 规则:路径分隔符替换为 -,开头加 -,Windows盘符的冒号去掉
107
- * 例如:
108
- * /Users/xxx/project -> -Users-xxx-project
109
- * C:\Users\xxx\project -> -C-Users-xxx-project
110
- * @param projectPath 项目绝对路径
87
+ * 获取项目的历史记录目录路径
88
+ * 将项目绝对路径转换为目录名:路径分隔符替换为 -,开头加 -,Windows盘符的冒号去掉
89
+ * 例如:/Users/xxx/project -> -Users-xxx-project
111
90
  */
112
- function projectPathToDirName(projectPath) {
113
- // 标准化路径
91
+ function getProjectHistoryDir(projectPath) {
114
92
  let normalized = path.normalize(projectPath);
115
- // Windows 路径处理:去掉盘符后的冒号 (C: -> C)
116
93
  normalized = normalized.replace(/^([A-Za-z]):/, '$1');
117
- // 将路径分隔符(/ 或 \)替换为 -
118
- // 使用正则同时匹配正斜杠和反斜杠
119
94
  const dirName = normalized.replace(/[/\\]+/g, '-');
120
- // 确保开头有 -(如果原路径以分隔符开头,替换后已经有 -)
121
- // 如果是 Windows 路径(如 C-Users-xxx),需要在开头加 -
122
- if (!dirName.startsWith('-')) {
123
- return '-' + dirName;
124
- }
125
- return dirName;
126
- }
127
- /**
128
- * 获取项目的历史记录目录路径
129
- * @param projectPath 项目绝对路径
130
- */
131
- function getProjectHistoryDir(projectPath) {
132
- const dirName = projectPathToDirName(projectPath);
133
- return path.join(getHistoryDir(), dirName);
95
+ return path.join(getHistoryDir(), dirName.startsWith('-') ? dirName : '-' + dirName);
134
96
  }
135
97
  /**
136
98
  * 获取历史记录文件路径
137
- * @param sessionId 会话ID
138
- * @param projectPath 项目绝对路径(可选,如果不提供则使用旧的平铺存储方式)
139
99
  */
140
100
  function getHistoryFilePath(sessionId, projectPath) {
141
101
  const dateStr = (0, time_1.getDayTimeString)();
@@ -1 +1 @@
1
- {"version":3,"file":"savePath.js","sourceRoot":"","sources":["../../src/util/savePath.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,wCASC;AAOD,4CASC;AAKD,wDAEC;AAKD,4DAEC;AAKD,sCAEC;AAUD,oDAkBC;AAMD,oDAGC;AAOD,gDAUC;AAKD,gCAEC;AAKD,sCAEC;AAKD,oCAEC;AAKD,kCAEC;AAKD,kDAEC;AAKD,kCAEC;AArKD,2CAA6B;AAC7B,uCAAgD;AAChD,yCAA2D;AAC3D,gDAU6B;AAE7B,IAAI,YAAgC,CAAC;AACrC,IAAI,cAAkC,CAAC;AAEvC;;;;GAIG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACzC,YAAY,GAAG,UAAU;YACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAA,4BAAiB,EAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAA,qBAAU,EAAC,kBAAS,CAAC,CAAC;QAC1B,iDAAiD;IACnD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,cAAc,GAAG,UAAU;YACzB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAA,4BAAiB,EAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAA,qBAAU,EAAC,oBAAW,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,6BAAoB,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,+BAAsB,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,yBAAgB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,WAAmB;IACtD,QAAQ;IACR,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE7C,kCAAkC;IAClC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEtD,qBAAqB;IACrB,kBAAkB;IAClB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAEnD,gCAAgC;IAChC,yCAAyC;IACzC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,WAAmB;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,WAAoB;IACxE,MAAM,OAAO,GAAG,IAAA,uBAAgB,GAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,SAAS,OAAO,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ;IACR,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,qBAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,yBAAgB,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,wBAAe,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,uBAAc,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"savePath.js","sourceRoot":"","sources":["../../src/util/savePath.ts"],"names":[],"mappings":"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"}
@@ -1,136 +1,14 @@
1
- /**
2
- * 安全文件系统操作服务
3
- * 解决文件系统操作中缺少适当验证和错误处理的问题
4
- */
5
- export declare class SecureFileService {
6
- private static instance;
7
- private allowedBasePaths;
8
- private maxFileSize;
9
- private allowedExtensions;
10
- private constructor();
11
- static getInstance(): SecureFileService;
12
- /**
13
- * 验证文件路径是否安全
14
- * @param filePath 文件路径
15
- * @returns 验证结果
16
- */
17
- validateFilePath(filePath: string): {
18
- isValid: boolean;
19
- normalizedPath: string;
20
- error?: string;
21
- };
22
- /**
23
- * 安全地检查文件是否存在
24
- * @param filePath 文件路径
25
- * @returns 文件是否存在
26
- */
27
- safeExists(filePath: string): boolean;
28
- /**
29
- * 安全地读取文件
30
- * @param filePath 文件路径
31
- * @param options 读取选项
32
- * @returns 读取结果
33
- */
34
- safeReadFile(filePath: string, options?: {
35
- encoding?: BufferEncoding;
36
- maxFileSize?: number;
37
- allowedExtensions?: string[];
38
- checkFileExtension?: boolean;
39
- }): {
40
- success: boolean;
41
- content?: string | Buffer;
42
- error?: string;
43
- stats?: any;
44
- };
45
- /**
46
- * 安全地写入文件
47
- * @param filePath 文件路径
48
- * @param content 文件内容
49
- * @param options 写入选项
50
- * @returns 写入结果
51
- */
52
- safeWriteFile(filePath: string, content: string | Buffer, options?: {
53
- encoding?: BufferEncoding;
54
- createDirectory?: boolean;
55
- atomic?: boolean;
56
- mode?: number;
57
- allowedExtensions?: string[];
58
- checkFileExtension?: boolean;
59
- maxSize?: number;
60
- }): {
61
- success: boolean;
62
- error?: string;
63
- };
64
- /**
65
- * 安全地删除文件
66
- * @param filePath 文件路径
67
- * @returns 删除结果
68
- */
69
- safeDeleteFile(filePath: string): {
70
- success: boolean;
71
- error?: string;
72
- };
73
- /**
74
- * 安全地创建目录
75
- * @param dirPath 目录路径
76
- * @param mode 目录权限
77
- * @returns 创建结果
78
- */
79
- safeCreateDirectory(dirPath: string, mode?: number): {
80
- success: boolean;
81
- error?: string;
82
- };
83
- /**
84
- * 安全地获取文件信息
85
- * @param filePath 文件路径
86
- * @returns 文件信息
87
- */
88
- safeGetFileInfo(filePath: string): {
89
- success: boolean;
90
- stats?: {
91
- size: number;
92
- isFile: boolean;
93
- isDirectory: boolean;
94
- mode: number;
95
- atime: Date;
96
- mtime: Date;
97
- ctime: Date;
98
- };
99
- error?: string;
100
- };
101
- /**
102
- * 添加允许的基础路径
103
- * @param basePath 基础路径
104
- */
105
- addAllowedBasePath(basePath: string): {
106
- success: boolean;
107
- error?: string;
108
- };
109
- /**
110
- * 设置最大文件大小
111
- * @param maxSize 最大文件大小(字节)
112
- */
113
- setMaxFileSize(maxSize: number): void;
114
- /**
115
- * 添加允许的文件扩展名
116
- * @param extensions 文件扩展名数组
117
- */
118
- addAllowedExtensions(extensions: string[]): void;
119
- /**
120
- * 检查文件是否在允许的基础路径中
121
- * @param filePath 文件路径
122
- * @returns 是否允许
123
- */
124
- isPathAllowed(filePath: string): boolean;
125
- /**
126
- * 验证文件名安全性
127
- * @param filename 文件名
128
- * @returns 验证结果
129
- */
130
- validateFileName(filename: string): {
131
- isValid: boolean;
132
- error?: string;
133
- };
134
- }
135
- export declare const secureFileService: SecureFileService;
1
+ export declare function safeGetFileInfo(filePath: string): {
2
+ success: boolean;
3
+ stats?: {
4
+ size: number;
5
+ isFile: boolean;
6
+ isDirectory: boolean;
7
+ mode: number;
8
+ atime: Date;
9
+ mtime: Date;
10
+ ctime: Date;
11
+ };
12
+ error?: string;
13
+ };
136
14
  //# sourceMappingURL=secureFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secureFile.d.ts","sourceRoot":"","sources":["../../src/util/secureFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secureFile.d.ts","sourceRoot":"","sources":["../../src/util/secureFile.ts"],"names":[],"mappings":"AAkEA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,WAAW,EAAE,OAAO,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,IAAI,CAAA;QACX,KAAK,EAAE,IAAI,CAAA;QACX,KAAK,EAAE,IAAI,CAAA;KACZ,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAiCA"}