sema-core 1.0.2

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 (411) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +150 -0
  3. package/dist/constants/config.d.ts +20 -0
  4. package/dist/constants/config.d.ts.map +1 -0
  5. package/dist/constants/config.js +31 -0
  6. package/dist/constants/config.js.map +1 -0
  7. package/dist/constants/message.d.ts +10 -0
  8. package/dist/constants/message.d.ts.map +1 -0
  9. package/dist/constants/message.js +25 -0
  10. package/dist/constants/message.js.map +1 -0
  11. package/dist/constants/product.d.ts +5 -0
  12. package/dist/constants/product.d.ts.map +1 -0
  13. package/dist/constants/product.js +8 -0
  14. package/dist/constants/product.js.map +1 -0
  15. package/dist/core/Conversation.d.ts +16 -0
  16. package/dist/core/Conversation.d.ts.map +1 -0
  17. package/dist/core/Conversation.js +226 -0
  18. package/dist/core/Conversation.js.map +1 -0
  19. package/dist/core/RunTools.d.ts +11 -0
  20. package/dist/core/RunTools.d.ts.map +1 -0
  21. package/dist/core/RunTools.js +244 -0
  22. package/dist/core/RunTools.js.map +1 -0
  23. package/dist/core/SemaCore.d.ts +49 -0
  24. package/dist/core/SemaCore.d.ts.map +1 -0
  25. package/dist/core/SemaCore.js +94 -0
  26. package/dist/core/SemaCore.js.map +1 -0
  27. package/dist/core/SemaEngine.d.ts +54 -0
  28. package/dist/core/SemaEngine.d.ts.map +1 -0
  29. package/dist/core/SemaEngine.js +335 -0
  30. package/dist/core/SemaEngine.js.map +1 -0
  31. package/dist/events/EventSystem.d.ts +42 -0
  32. package/dist/events/EventSystem.d.ts.map +1 -0
  33. package/dist/events/EventSystem.js +134 -0
  34. package/dist/events/EventSystem.js.map +1 -0
  35. package/dist/events/types.d.ts +300 -0
  36. package/dist/events/types.d.ts.map +1 -0
  37. package/dist/events/types.js +4 -0
  38. package/dist/events/types.js.map +1 -0
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +6 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/manager/ConfManager.d.ts +76 -0
  44. package/dist/manager/ConfManager.d.ts.map +1 -0
  45. package/dist/manager/ConfManager.js +329 -0
  46. package/dist/manager/ConfManager.js.map +1 -0
  47. package/dist/manager/ModelManager.d.ts +51 -0
  48. package/dist/manager/ModelManager.d.ts.map +1 -0
  49. package/dist/manager/ModelManager.js +291 -0
  50. package/dist/manager/ModelManager.js.map +1 -0
  51. package/dist/manager/PermissionManager.d.ts +16 -0
  52. package/dist/manager/PermissionManager.d.ts.map +1 -0
  53. package/dist/manager/PermissionManager.js +308 -0
  54. package/dist/manager/PermissionManager.js.map +1 -0
  55. package/dist/manager/StateManager.d.ts +164 -0
  56. package/dist/manager/StateManager.d.ts.map +1 -0
  57. package/dist/manager/StateManager.js +357 -0
  58. package/dist/manager/StateManager.js.map +1 -0
  59. package/dist/services/agents/agentsManager.d.ts +112 -0
  60. package/dist/services/agents/agentsManager.d.ts.map +1 -0
  61. package/dist/services/agents/agentsManager.js +394 -0
  62. package/dist/services/agents/agentsManager.js.map +1 -0
  63. package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts +3 -0
  64. package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts.map +1 -0
  65. package/dist/services/agents/defaultBuiltInAgentsConfs.js +102 -0
  66. package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +1 -0
  67. package/dist/services/agents/genSystemPrompt.d.ts +23 -0
  68. package/dist/services/agents/genSystemPrompt.d.ts.map +1 -0
  69. package/dist/services/agents/genSystemPrompt.js +189 -0
  70. package/dist/services/agents/genSystemPrompt.js.map +1 -0
  71. package/dist/services/agents/prompt.d.ts +12 -0
  72. package/dist/services/agents/prompt.d.ts.map +1 -0
  73. package/dist/services/agents/prompt.js +162 -0
  74. package/dist/services/agents/prompt.js.map +1 -0
  75. package/dist/services/api/adapt/anthropic.d.ts +10 -0
  76. package/dist/services/api/adapt/anthropic.d.ts.map +1 -0
  77. package/dist/services/api/adapt/anthropic.js +233 -0
  78. package/dist/services/api/adapt/anthropic.js.map +1 -0
  79. package/dist/services/api/adapt/openai.d.ts +8 -0
  80. package/dist/services/api/adapt/openai.d.ts.map +1 -0
  81. package/dist/services/api/adapt/openai.js +412 -0
  82. package/dist/services/api/adapt/openai.js.map +1 -0
  83. package/dist/services/api/adapt/util.d.ts +7 -0
  84. package/dist/services/api/adapt/util.d.ts.map +1 -0
  85. package/dist/services/api/adapt/util.js +24 -0
  86. package/dist/services/api/adapt/util.js.map +1 -0
  87. package/dist/services/api/apiUtil.d.ts +10 -0
  88. package/dist/services/api/apiUtil.d.ts.map +1 -0
  89. package/dist/services/api/apiUtil.js +256 -0
  90. package/dist/services/api/apiUtil.js.map +1 -0
  91. package/dist/services/api/cache.d.ts +11 -0
  92. package/dist/services/api/cache.d.ts.map +1 -0
  93. package/dist/services/api/cache.js +128 -0
  94. package/dist/services/api/cache.js.map +1 -0
  95. package/dist/services/api/queryLLM.d.ts +18 -0
  96. package/dist/services/api/queryLLM.d.ts.map +1 -0
  97. package/dist/services/api/queryLLM.js +147 -0
  98. package/dist/services/api/queryLLM.js.map +1 -0
  99. package/dist/services/command/runCommand.d.ts +18 -0
  100. package/dist/services/command/runCommand.d.ts.map +1 -0
  101. package/dist/services/command/runCommand.js +149 -0
  102. package/dist/services/command/runCommand.js.map +1 -0
  103. package/dist/services/mcp/MCPClient.d.ts +35 -0
  104. package/dist/services/mcp/MCPClient.d.ts.map +1 -0
  105. package/dist/services/mcp/MCPClient.js +166 -0
  106. package/dist/services/mcp/MCPClient.js.map +1 -0
  107. package/dist/services/mcp/MCPManager.d.ts +140 -0
  108. package/dist/services/mcp/MCPManager.d.ts.map +1 -0
  109. package/dist/services/mcp/MCPManager.js +650 -0
  110. package/dist/services/mcp/MCPManager.js.map +1 -0
  111. package/dist/services/mcp/MCPToolAdapter.d.ts +22 -0
  112. package/dist/services/mcp/MCPToolAdapter.d.ts.map +1 -0
  113. package/dist/services/mcp/MCPToolAdapter.js +177 -0
  114. package/dist/services/mcp/MCPToolAdapter.js.map +1 -0
  115. package/dist/services/plugins/customCommands.d.ts +29 -0
  116. package/dist/services/plugins/customCommands.d.ts.map +1 -0
  117. package/dist/services/plugins/customCommands.js +227 -0
  118. package/dist/services/plugins/customCommands.js.map +1 -0
  119. package/dist/services/skill/skillLoader.d.ts +17 -0
  120. package/dist/services/skill/skillLoader.d.ts.map +1 -0
  121. package/dist/services/skill/skillLoader.js +122 -0
  122. package/dist/services/skill/skillLoader.js.map +1 -0
  123. package/dist/services/skill/skillParser.d.ts +15 -0
  124. package/dist/services/skill/skillParser.d.ts.map +1 -0
  125. package/dist/services/skill/skillParser.js +66 -0
  126. package/dist/services/skill/skillParser.js.map +1 -0
  127. package/dist/services/skill/skillRegistry.d.ts +34 -0
  128. package/dist/services/skill/skillRegistry.d.ts.map +1 -0
  129. package/dist/services/skill/skillRegistry.js +98 -0
  130. package/dist/services/skill/skillRegistry.js.map +1 -0
  131. package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts +179 -0
  132. package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts.map +1 -0
  133. package/dist/tools/AskUserQuestion/AskUserQuestion.js +165 -0
  134. package/dist/tools/AskUserQuestion/AskUserQuestion.js.map +1 -0
  135. package/dist/tools/AskUserQuestion/prompt.d.ts +3 -0
  136. package/dist/tools/AskUserQuestion/prompt.d.ts.map +1 -0
  137. package/dist/tools/AskUserQuestion/prompt.js +17 -0
  138. package/dist/tools/AskUserQuestion/prompt.js.map +1 -0
  139. package/dist/tools/Bash/Bash.d.ts +75 -0
  140. package/dist/tools/Bash/Bash.d.ts.map +1 -0
  141. package/dist/tools/Bash/Bash.js +200 -0
  142. package/dist/tools/Bash/Bash.js.map +1 -0
  143. package/dist/tools/Bash/prompt.d.ts +8 -0
  144. package/dist/tools/Bash/prompt.d.ts.map +1 -0
  145. package/dist/tools/Bash/prompt.js +167 -0
  146. package/dist/tools/Bash/prompt.js.map +1 -0
  147. package/dist/tools/Bash/utils.d.ts +5 -0
  148. package/dist/tools/Bash/utils.d.ts.map +1 -0
  149. package/dist/tools/Bash/utils.js +21 -0
  150. package/dist/tools/Bash/utils.js.map +1 -0
  151. package/dist/tools/Edit/Edit.d.ts +110 -0
  152. package/dist/tools/Edit/Edit.d.ts.map +1 -0
  153. package/dist/tools/Edit/Edit.js +213 -0
  154. package/dist/tools/Edit/Edit.js.map +1 -0
  155. package/dist/tools/Edit/prompt.d.ts +3 -0
  156. package/dist/tools/Edit/prompt.d.ts.map +1 -0
  157. package/dist/tools/Edit/prompt.js +15 -0
  158. package/dist/tools/Edit/prompt.js.map +1 -0
  159. package/dist/tools/Edit/utils.d.ts +10 -0
  160. package/dist/tools/Edit/utils.d.ts.map +1 -0
  161. package/dist/tools/Edit/utils.js +51 -0
  162. package/dist/tools/Edit/utils.js.map +1 -0
  163. package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts +42 -0
  164. package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts.map +1 -0
  165. package/dist/tools/ExitPlanMode/ExitPlanMode.js +157 -0
  166. package/dist/tools/ExitPlanMode/ExitPlanMode.js.map +1 -0
  167. package/dist/tools/ExitPlanMode/prompt.d.ts +3 -0
  168. package/dist/tools/ExitPlanMode/prompt.d.ts.map +1 -0
  169. package/dist/tools/ExitPlanMode/prompt.js +28 -0
  170. package/dist/tools/ExitPlanMode/prompt.js.map +1 -0
  171. package/dist/tools/Glob/Glob.d.ts +44 -0
  172. package/dist/tools/Glob/Glob.d.ts.map +1 -0
  173. package/dist/tools/Glob/Glob.js +113 -0
  174. package/dist/tools/Glob/Glob.js.map +1 -0
  175. package/dist/tools/Glob/prompt.d.ts +3 -0
  176. package/dist/tools/Glob/prompt.d.ts.map +1 -0
  177. package/dist/tools/Glob/prompt.js +11 -0
  178. package/dist/tools/Glob/prompt.js.map +1 -0
  179. package/dist/tools/Grep/Grep.d.ts +106 -0
  180. package/dist/tools/Grep/Grep.d.ts.map +1 -0
  181. package/dist/tools/Grep/Grep.js +301 -0
  182. package/dist/tools/Grep/Grep.js.map +1 -0
  183. package/dist/tools/Grep/prompt.d.ts +3 -0
  184. package/dist/tools/Grep/prompt.d.ts.map +1 -0
  185. package/dist/tools/Grep/prompt.js +17 -0
  186. package/dist/tools/Grep/prompt.js.map +1 -0
  187. package/dist/tools/NotebookEdit/NotebookEdit.d.ts +98 -0
  188. package/dist/tools/NotebookEdit/NotebookEdit.d.ts.map +1 -0
  189. package/dist/tools/NotebookEdit/NotebookEdit.js +228 -0
  190. package/dist/tools/NotebookEdit/NotebookEdit.js.map +1 -0
  191. package/dist/tools/NotebookEdit/prompt.d.ts +3 -0
  192. package/dist/tools/NotebookEdit/prompt.d.ts.map +1 -0
  193. package/dist/tools/NotebookEdit/prompt.js +6 -0
  194. package/dist/tools/NotebookEdit/prompt.js.map +1 -0
  195. package/dist/tools/Read/Read.d.ts +107 -0
  196. package/dist/tools/Read/Read.d.ts.map +1 -0
  197. package/dist/tools/Read/Read.js +175 -0
  198. package/dist/tools/Read/Read.js.map +1 -0
  199. package/dist/tools/Read/prompt.d.ts +4 -0
  200. package/dist/tools/Read/prompt.d.ts.map +1 -0
  201. package/dist/tools/Read/prompt.js +21 -0
  202. package/dist/tools/Read/prompt.js.map +1 -0
  203. package/dist/tools/Skill/Skill.d.ts +62 -0
  204. package/dist/tools/Skill/Skill.d.ts.map +1 -0
  205. package/dist/tools/Skill/Skill.js +142 -0
  206. package/dist/tools/Skill/Skill.js.map +1 -0
  207. package/dist/tools/Skill/prompt.d.ts +3 -0
  208. package/dist/tools/Skill/prompt.d.ts.map +1 -0
  209. package/dist/tools/Skill/prompt.js +58 -0
  210. package/dist/tools/Skill/prompt.js.map +1 -0
  211. package/dist/tools/Task/Task.d.ts +59 -0
  212. package/dist/tools/Task/Task.d.ts.map +1 -0
  213. package/dist/tools/Task/Task.js +213 -0
  214. package/dist/tools/Task/Task.js.map +1 -0
  215. package/dist/tools/Task/prompt.d.ts +6 -0
  216. package/dist/tools/Task/prompt.d.ts.map +1 -0
  217. package/dist/tools/Task/prompt.js +75 -0
  218. package/dist/tools/Task/prompt.js.map +1 -0
  219. package/dist/tools/TodoWrite/TodoWrite.d.ts +92 -0
  220. package/dist/tools/TodoWrite/TodoWrite.d.ts.map +1 -0
  221. package/dist/tools/TodoWrite/TodoWrite.js +101 -0
  222. package/dist/tools/TodoWrite/TodoWrite.js.map +1 -0
  223. package/dist/tools/TodoWrite/prompt.d.ts +3 -0
  224. package/dist/tools/TodoWrite/prompt.d.ts.map +1 -0
  225. package/dist/tools/TodoWrite/prompt.js +187 -0
  226. package/dist/tools/TodoWrite/prompt.js.map +1 -0
  227. package/dist/tools/Write/Write.d.ts +77 -0
  228. package/dist/tools/Write/Write.d.ts.map +1 -0
  229. package/dist/tools/Write/Write.js +189 -0
  230. package/dist/tools/Write/Write.js.map +1 -0
  231. package/dist/tools/Write/prompt.d.ts +3 -0
  232. package/dist/tools/Write/prompt.d.ts.map +1 -0
  233. package/dist/tools/Write/prompt.js +13 -0
  234. package/dist/tools/Write/prompt.js.map +1 -0
  235. package/dist/tools/base/Tool.d.ts +36 -0
  236. package/dist/tools/base/Tool.d.ts.map +1 -0
  237. package/dist/tools/base/Tool.js +3 -0
  238. package/dist/tools/base/Tool.js.map +1 -0
  239. package/dist/tools/base/tools.d.ts +9 -0
  240. package/dist/tools/base/tools.d.ts.map +1 -0
  241. package/dist/tools/base/tools.js +105 -0
  242. package/dist/tools/base/tools.js.map +1 -0
  243. package/dist/types/agent.d.ts +30 -0
  244. package/dist/types/agent.d.ts.map +1 -0
  245. package/dist/types/agent.js +3 -0
  246. package/dist/types/agent.js.map +1 -0
  247. package/dist/types/command.d.ts +44 -0
  248. package/dist/types/command.d.ts.map +1 -0
  249. package/dist/types/command.js +6 -0
  250. package/dist/types/command.js.map +1 -0
  251. package/dist/types/config.d.ts +14 -0
  252. package/dist/types/config.d.ts.map +1 -0
  253. package/dist/types/config.js +3 -0
  254. package/dist/types/config.js.map +1 -0
  255. package/dist/types/errors.d.ts +18 -0
  256. package/dist/types/errors.d.ts.map +1 -0
  257. package/dist/types/errors.js +33 -0
  258. package/dist/types/errors.js.map +1 -0
  259. package/dist/types/index.d.ts +91 -0
  260. package/dist/types/index.d.ts.map +1 -0
  261. package/dist/types/index.js +18 -0
  262. package/dist/types/index.js.map +1 -0
  263. package/dist/types/mcp.d.ts +127 -0
  264. package/dist/types/mcp.d.ts.map +1 -0
  265. package/dist/types/mcp.js +6 -0
  266. package/dist/types/mcp.js.map +1 -0
  267. package/dist/types/message.d.ts +31 -0
  268. package/dist/types/message.d.ts.map +1 -0
  269. package/dist/types/message.js +3 -0
  270. package/dist/types/message.js.map +1 -0
  271. package/dist/types/model.d.ts +21 -0
  272. package/dist/types/model.d.ts.map +1 -0
  273. package/dist/types/model.js +3 -0
  274. package/dist/types/model.js.map +1 -0
  275. package/dist/types/notebook.d.ts +57 -0
  276. package/dist/types/notebook.d.ts.map +1 -0
  277. package/dist/types/notebook.js +3 -0
  278. package/dist/types/notebook.js.map +1 -0
  279. package/dist/types/skill.d.ts +34 -0
  280. package/dist/types/skill.d.ts.map +1 -0
  281. package/dist/types/skill.js +8 -0
  282. package/dist/types/skill.js.map +1 -0
  283. package/dist/types/uuid.d.ts +2 -0
  284. package/dist/types/uuid.d.ts.map +1 -0
  285. package/dist/types/uuid.js +3 -0
  286. package/dist/types/uuid.js.map +1 -0
  287. package/dist/util/adapter.d.ts +11 -0
  288. package/dist/util/adapter.d.ts.map +1 -0
  289. package/dist/util/adapter.js +75 -0
  290. package/dist/util/adapter.js.map +1 -0
  291. package/dist/util/agentStats.d.ts +11 -0
  292. package/dist/util/agentStats.d.ts.map +1 -0
  293. package/dist/util/agentStats.js +60 -0
  294. package/dist/util/agentStats.js.map +1 -0
  295. package/dist/util/cacheLLM.d.ts +47 -0
  296. package/dist/util/cacheLLM.d.ts.map +1 -0
  297. package/dist/util/cacheLLM.js +154 -0
  298. package/dist/util/cacheLLM.js.map +1 -0
  299. package/dist/util/commands.d.ts +16 -0
  300. package/dist/util/commands.d.ts.map +1 -0
  301. package/dist/util/commands.js +216 -0
  302. package/dist/util/commands.js.map +1 -0
  303. package/dist/util/compact.d.ts +25 -0
  304. package/dist/util/compact.d.ts.map +1 -0
  305. package/dist/util/compact.js +451 -0
  306. package/dist/util/compact.js.map +1 -0
  307. package/dist/util/cwd.d.ts +44 -0
  308. package/dist/util/cwd.d.ts.map +1 -0
  309. package/dist/util/cwd.js +84 -0
  310. package/dist/util/cwd.js.map +1 -0
  311. package/dist/util/diff.d.ts +10 -0
  312. package/dist/util/diff.d.ts.map +1 -0
  313. package/dist/util/diff.js +127 -0
  314. package/dist/util/diff.js.map +1 -0
  315. package/dist/util/directory.d.ts +37 -0
  316. package/dist/util/directory.d.ts.map +1 -0
  317. package/dist/util/directory.js +137 -0
  318. package/dist/util/directory.js.map +1 -0
  319. package/dist/util/env.d.ts +5 -0
  320. package/dist/util/env.d.ts.map +1 -0
  321. package/dist/util/env.js +39 -0
  322. package/dist/util/env.js.map +1 -0
  323. package/dist/util/exec.d.ts +6 -0
  324. package/dist/util/exec.d.ts.map +1 -0
  325. package/dist/util/exec.js +43 -0
  326. package/dist/util/exec.js.map +1 -0
  327. package/dist/util/file.d.ts +61 -0
  328. package/dist/util/file.d.ts.map +1 -0
  329. package/dist/util/file.js +365 -0
  330. package/dist/util/file.js.map +1 -0
  331. package/dist/util/filePermission.d.ts +14 -0
  332. package/dist/util/filePermission.d.ts.map +1 -0
  333. package/dist/util/filePermission.js +45 -0
  334. package/dist/util/filePermission.js.map +1 -0
  335. package/dist/util/fileReference.d.ts +40 -0
  336. package/dist/util/fileReference.d.ts.map +1 -0
  337. package/dist/util/fileReference.js +343 -0
  338. package/dist/util/fileReference.js.map +1 -0
  339. package/dist/util/format.d.ts +9 -0
  340. package/dist/util/format.d.ts.map +1 -0
  341. package/dist/util/format.js +61 -0
  342. package/dist/util/format.js.map +1 -0
  343. package/dist/util/frontmatter.d.ts +35 -0
  344. package/dist/util/frontmatter.d.ts.map +1 -0
  345. package/dist/util/frontmatter.js +119 -0
  346. package/dist/util/frontmatter.js.map +1 -0
  347. package/dist/util/git.d.ts +4 -0
  348. package/dist/util/git.d.ts.map +1 -0
  349. package/dist/util/git.js +55 -0
  350. package/dist/util/git.js.map +1 -0
  351. package/dist/util/history.d.ts +27 -0
  352. package/dist/util/history.d.ts.map +1 -0
  353. package/dist/util/history.js +248 -0
  354. package/dist/util/history.js.map +1 -0
  355. package/dist/util/log.d.ts +23 -0
  356. package/dist/util/log.d.ts.map +1 -0
  357. package/dist/util/log.js +246 -0
  358. package/dist/util/log.js.map +1 -0
  359. package/dist/util/logLLM.d.ts +20 -0
  360. package/dist/util/logLLM.d.ts.map +1 -0
  361. package/dist/util/logLLM.js +414 -0
  362. package/dist/util/logLLM.js.map +1 -0
  363. package/dist/util/message.d.ts +12 -0
  364. package/dist/util/message.d.ts.map +1 -0
  365. package/dist/util/message.js +156 -0
  366. package/dist/util/message.js.map +1 -0
  367. package/dist/util/model.d.ts +22 -0
  368. package/dist/util/model.d.ts.map +1 -0
  369. package/dist/util/model.js +61 -0
  370. package/dist/util/model.js.map +1 -0
  371. package/dist/util/notebook.d.ts +14 -0
  372. package/dist/util/notebook.d.ts.map +1 -0
  373. package/dist/util/notebook.js +104 -0
  374. package/dist/util/notebook.js.map +1 -0
  375. package/dist/util/ripgrep.d.ts +3 -0
  376. package/dist/util/ripgrep.d.ts.map +1 -0
  377. package/dist/util/ripgrep.js +187 -0
  378. package/dist/util/ripgrep.js.map +1 -0
  379. package/dist/util/rules.d.ts +6 -0
  380. package/dist/util/rules.d.ts.map +1 -0
  381. package/dist/util/rules.js +111 -0
  382. package/dist/util/rules.js.map +1 -0
  383. package/dist/util/savePath.d.ts +73 -0
  384. package/dist/util/savePath.d.ts.map +1 -0
  385. package/dist/util/savePath.js +189 -0
  386. package/dist/util/savePath.js.map +1 -0
  387. package/dist/util/secureFile.d.ts +136 -0
  388. package/dist/util/secureFile.d.ts.map +1 -0
  389. package/dist/util/secureFile.js +496 -0
  390. package/dist/util/secureFile.js.map +1 -0
  391. package/dist/util/session.d.ts +37 -0
  392. package/dist/util/session.d.ts.map +1 -0
  393. package/dist/util/session.js +120 -0
  394. package/dist/util/session.js.map +1 -0
  395. package/dist/util/shell.d.ts +40 -0
  396. package/dist/util/shell.d.ts.map +1 -0
  397. package/dist/util/shell.js +876 -0
  398. package/dist/util/shell.js.map +1 -0
  399. package/dist/util/time.d.ts +24 -0
  400. package/dist/util/time.d.ts.map +1 -0
  401. package/dist/util/time.js +53 -0
  402. package/dist/util/time.js.map +1 -0
  403. package/dist/util/tokens.d.ts +9 -0
  404. package/dist/util/tokens.d.ts.map +1 -0
  405. package/dist/util/tokens.js +79 -0
  406. package/dist/util/tokens.js.map +1 -0
  407. package/dist/util/topic.d.ts +9 -0
  408. package/dist/util/topic.d.ts.map +1 -0
  409. package/dist/util/topic.js +52 -0
  410. package/dist/util/topic.js.map +1 -0
  411. package/package.json +83 -0
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileWriteTool = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const zod_1 = require("zod");
7
+ const file_1 = require("../../util/file");
8
+ const cwd_1 = require("../../util/cwd");
9
+ const prompt_1 = require("./prompt");
10
+ const StateManager_1 = require("../../manager/StateManager");
11
+ const diff_1 = require("../../util/diff");
12
+ const MAX_LINES_TO_RENDER = 5;
13
+ const MAX_LINES_TO_RENDER_FOR_ASSISTANT = 16000;
14
+ const TRUNCATED_MESSAGE = '<response clipped><NOTE>To save on context only part of this file has been shown to you. You should retry this tool after you have searched inside the file with Grep in order to find the line numbers of what you are looking for.</NOTE>';
15
+ // 辅助函数:生成显示标题
16
+ function getTitle(input) {
17
+ if (input?.file_path) {
18
+ const relativePath = (0, path_1.relative)((0, cwd_1.getCwd)(), input.file_path);
19
+ return `${relativePath}`;
20
+ }
21
+ return prompt_1.TOOL_NAME_FOR_PROMPT;
22
+ }
23
+ const inputSchema = zod_1.z.strictObject({
24
+ file_path: zod_1.z
25
+ .string()
26
+ .describe('The absolute path to the file to write (must be absolute, not relative)'),
27
+ content: zod_1.z.string().describe('The content to write to the file'),
28
+ });
29
+ exports.FileWriteTool = {
30
+ name: prompt_1.TOOL_NAME_FOR_PROMPT,
31
+ description() {
32
+ return prompt_1.DESCRIPTION;
33
+ },
34
+ inputSchema,
35
+ isReadOnly() {
36
+ return false;
37
+ },
38
+ genToolPermission(input) {
39
+ let title = getTitle(input);
40
+ const fullFilePath = (0, file_1.normalizeFilePath)(input.file_path);
41
+ const fileExists = (0, fs_1.existsSync)(fullFilePath);
42
+ let contentPreview = '';
43
+ const oldContent = fileExists ? (0, fs_1.readFileSync)(fullFilePath, (0, file_1.detectFileEncoding)(fullFilePath)) : '';
44
+ const patch = (0, diff_1.getPatch)({
45
+ filePath: fullFilePath,
46
+ fileContents: oldContent,
47
+ oldStr: oldContent,
48
+ newStr: input.content,
49
+ });
50
+ contentPreview = {
51
+ type: fileExists ? 'diff' : 'new',
52
+ patch: patch,
53
+ diffText: ''
54
+ };
55
+ return { title, content: contentPreview };
56
+ },
57
+ genToolResultMessage({ filePath, content, structuredPatch, type }) {
58
+ const title = getTitle({ file_path: filePath });
59
+ const displayPath = (0, path_1.relative)((0, cwd_1.getCwd)(), filePath);
60
+ let summary;
61
+ let contentPreview = '';
62
+ switch (type) {
63
+ case 'create': {
64
+ const allLines = content.split(/\r?\n/);
65
+ const numLines = allLines.length;
66
+ summary = `Created ${displayPath} with ${numLines} lines`;
67
+ const previewLines = allLines.slice(0, MAX_LINES_TO_RENDER).map(l => `+${l}`);
68
+ const diffText = numLines > MAX_LINES_TO_RENDER ? `... (+${numLines - MAX_LINES_TO_RENDER} lines)` : '';
69
+ contentPreview = {
70
+ type: 'new',
71
+ patch: [
72
+ {
73
+ oldStart: 1,
74
+ oldLines: 0,
75
+ newStart: 1,
76
+ newLines: numLines,
77
+ lines: previewLines,
78
+ }
79
+ ],
80
+ diffText,
81
+ };
82
+ break;
83
+ }
84
+ case 'update': {
85
+ summary = (0, diff_1.getUpdateSummary)(filePath, structuredPatch);
86
+ contentPreview = {
87
+ type: 'diff',
88
+ patch: structuredPatch,
89
+ diffText: ''
90
+ };
91
+ break;
92
+ }
93
+ }
94
+ return { title, summary, content: contentPreview };
95
+ },
96
+ getDisplayTitle(input) {
97
+ return getTitle(input);
98
+ },
99
+ async validateInput({ file_path }, agentContext) {
100
+ const stateManager = (0, StateManager_1.getStateManager)();
101
+ const agentState = stateManager.forAgent(agentContext.agentId);
102
+ const fullFilePath = (0, file_1.normalizeFilePath)(file_path);
103
+ if (!(0, fs_1.existsSync)(fullFilePath)) {
104
+ return { result: true };
105
+ }
106
+ const readTimestamp = agentState.getReadFileTimestamp(fullFilePath);
107
+ if (!readTimestamp) {
108
+ return {
109
+ result: false,
110
+ message: 'File has not been read yet. Read it first before writing to it.',
111
+ };
112
+ }
113
+ // Check if file exists and get its last modified time
114
+ const stats = (0, fs_1.statSync)(fullFilePath);
115
+ const lastWriteTime = stats.mtimeMs;
116
+ if (lastWriteTime > readTimestamp) {
117
+ return {
118
+ result: false,
119
+ message: 'File has been modified since read, either by the user or by a linter. Read it again before attempting to write it.',
120
+ };
121
+ }
122
+ return { result: true };
123
+ },
124
+ async *call({ file_path, content }, agentContext) {
125
+ const stateManager = (0, StateManager_1.getStateManager)();
126
+ const agentState = stateManager.forAgent(agentContext.agentId);
127
+ const fullFilePath = (0, file_1.normalizeFilePath)(file_path);
128
+ const dir = (0, path_1.dirname)(fullFilePath);
129
+ const oldFileExists = (0, fs_1.existsSync)(fullFilePath);
130
+ const enc = oldFileExists ? (0, file_1.detectFileEncoding)(fullFilePath) : 'utf-8';
131
+ const oldContent = oldFileExists ? (0, fs_1.readFileSync)(fullFilePath, enc) : null;
132
+ const endings = oldFileExists
133
+ ? (0, file_1.detectLineEndings)(fullFilePath)
134
+ : await (0, file_1.detectRepoLineEndings)((0, cwd_1.getCwd)());
135
+ (0, fs_1.mkdirSync)(dir, { recursive: true });
136
+ (0, file_1.writeTextContent)(fullFilePath, content, enc, endings);
137
+ // Update read timestamp, to invalidate stale writes
138
+ agentState.setReadFileTimestamp(fullFilePath, (0, fs_1.statSync)(fullFilePath).mtimeMs);
139
+ if (oldContent) {
140
+ const patch = (0, diff_1.getPatch)({
141
+ filePath: fullFilePath,
142
+ fileContents: oldContent,
143
+ oldStr: oldContent,
144
+ newStr: content,
145
+ });
146
+ const data = {
147
+ type: 'update',
148
+ filePath: file_path,
149
+ content,
150
+ structuredPatch: patch,
151
+ };
152
+ yield {
153
+ type: 'result',
154
+ data,
155
+ resultForAssistant: this.genResultForAssistant(data),
156
+ };
157
+ return;
158
+ }
159
+ const data = {
160
+ type: 'create',
161
+ filePath: file_path,
162
+ content,
163
+ structuredPatch: [],
164
+ };
165
+ yield {
166
+ type: 'result',
167
+ data,
168
+ resultForAssistant: this.genResultForAssistant(data),
169
+ };
170
+ },
171
+ genResultForAssistant({ filePath, content, type }) {
172
+ switch (type) {
173
+ case 'create':
174
+ return `File created successfully at: ${filePath}`;
175
+ case 'update':
176
+ return `The file ${filePath} has been updated. Here's the result of running \`cat -n\` on a snippet of the edited file:
177
+ ${(0, file_1.addLineNumbers)({
178
+ content: content.split(/\r?\n/).length > MAX_LINES_TO_RENDER_FOR_ASSISTANT
179
+ ? content
180
+ .split(/\r?\n/)
181
+ .slice(0, MAX_LINES_TO_RENDER_FOR_ASSISTANT)
182
+ .join('\n') + TRUNCATED_MESSAGE
183
+ : content,
184
+ startLine: 1,
185
+ })}`;
186
+ }
187
+ },
188
+ };
189
+ //# sourceMappingURL=Write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Write.js","sourceRoot":"","sources":["../../../src/tools/Write/Write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const TOOL_NAME_FOR_PROMPT = "Write";
2
+ export declare const DESCRIPTION = "Writes a file to the local filesystem.\n\nUsage:\n- This tool will overwrite the existing file if there is one at the provided path.\n- If this is an existing file, you MUST use the Read tool first to read the file's contents. This tool will fail if you did not read the file first.\n- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.\n- NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.\n- Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.";
3
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/tools/Write/prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAE3C,eAAO,MAAM,WAAW,0nBAO0E,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DESCRIPTION = exports.TOOL_NAME_FOR_PROMPT = void 0;
4
+ exports.TOOL_NAME_FOR_PROMPT = 'Write';
5
+ exports.DESCRIPTION = `Writes a file to the local filesystem.
6
+
7
+ Usage:
8
+ - This tool will overwrite the existing file if there is one at the provided path.
9
+ - If this is an existing file, you MUST use the Read tool first to read the file's contents. This tool will fail if you did not read the file first.
10
+ - ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.
11
+ - NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.
12
+ - Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.`;
13
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/tools/Write/prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,OAAO,CAAA;AAE9B,QAAA,WAAW,GAAG;;;;;;;kGAOuE,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Sema 可扩展工具系统的核心工具接口
4
+ * 为所有工具实现提供标准化契约
5
+ */
6
+ export interface ValidationResult {
7
+ result: boolean;
8
+ message?: string;
9
+ errorCode?: number;
10
+ meta?: any;
11
+ }
12
+ export interface Tool<TInput extends z.ZodObject<any> = z.ZodObject<any>, TOutput = any> {
13
+ name: string;
14
+ description?: string | (() => string);
15
+ inputSchema: TInput;
16
+ isReadOnly: () => boolean;
17
+ validateInput?: (input: z.infer<TInput>, agentContext: any) => Promise<ValidationResult>;
18
+ genResultForAssistant: (output: TOutput) => string;
19
+ genToolPermission?: (input: z.infer<TInput>) => {
20
+ title: string;
21
+ summary?: string;
22
+ content: string | Record<string, any>;
23
+ };
24
+ genToolResultMessage?: (output: TOutput, input?: z.infer<TInput>) => {
25
+ title: string;
26
+ summary: string;
27
+ content: string | Record<string, any>;
28
+ };
29
+ getDisplayTitle?: (input?: z.infer<TInput>) => string;
30
+ call: (input: z.infer<TInput>, agentContext: any) => AsyncGenerator<{
31
+ type: 'result';
32
+ data: TOutput;
33
+ resultForAssistant?: string;
34
+ }, void, unknown>;
35
+ }
36
+ //# sourceMappingURL=Tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../../src/tools/base/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AAGD,MAAM,WAAW,IAAI,CACnB,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAClD,OAAO,GAAG,GAAG;IAEb,IAAI,EAAE,MAAM,CAAA;IAEZ,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAErC,WAAW,EAAE,MAAM,CAAA;IAGnB,UAAU,EAAE,MAAM,OAAO,CAAA;IAEzB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,YAAY,EAAE,GAAG,KACd,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE9B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;IAElD,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KACnB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE/E,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE9I,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;IAGrD,IAAI,EAAE,CACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,YAAY,EAAE,GAAG,KACd,cAAc,CACjB;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9D,IAAI,EACJ,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../src/tools/base/Tool.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import { Tool } from './Tool';
3
+ import { ToolInfo } from '../../types/index';
4
+ export declare const getToolInfos: () => ToolInfo[];
5
+ export declare const getBuiltinTools: () => Tool[];
6
+ export declare const getTools: ((useTools?: string[] | null) => Tool[]) & import("lodash").MemoizedFunction;
7
+ export declare const buildTools: ((tools: Tool[]) => Anthropic.Tool[]) & import("lodash").MemoizedFunction;
8
+ export declare function getToolDescription(tool: Tool): string;
9
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAgB7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAI5C,eAAO,MAAM,YAAY,QAAO,QAAQ,EAOvC,CAAA;AAGD,eAAO,MAAM,eAAe,QAAO,IAAI,EAetC,CAAA;AAGD,eAAO,MAAM,QAAQ,eACP,MAAM,EAAE,GAAG,IAAI,KAAG,IAAI,EAAE,qCAerC,CAAA;AAwBD,eAAO,MAAM,UAAU,WACb,IAAI,EAAE,KAAG,SAAS,CAAC,IAAI,EAAE,qCAsBlC,CAAA;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKrD"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildTools = exports.getTools = exports.getBuiltinTools = exports.getToolInfos = void 0;
4
+ exports.getToolDescription = getToolDescription;
5
+ const Bash_1 = require("../Bash/Bash");
6
+ const Edit_1 = require("../Edit/Edit");
7
+ const Read_1 = require("../Read/Read");
8
+ const Write_1 = require("../Write/Write");
9
+ const Glob_1 = require("../Glob/Glob");
10
+ const Grep_1 = require("../Grep/Grep");
11
+ const NotebookEdit_1 = require("../NotebookEdit/NotebookEdit");
12
+ const TodoWrite_1 = require("../TodoWrite/TodoWrite");
13
+ const Skill_1 = require("../Skill/Skill");
14
+ const Task_1 = require("../Task/Task");
15
+ const AskUserQuestion_1 = require("../AskUserQuestion/AskUserQuestion");
16
+ const ExitPlanMode_1 = require("../ExitPlanMode/ExitPlanMode");
17
+ const ConfManager_1 = require("../../manager/ConfManager");
18
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
19
+ const lodash_es_1 = require("lodash-es");
20
+ // 获取所有工具信息(内置工具)
21
+ const getToolInfos = () => {
22
+ const useTools = (0, ConfManager_1.getConfManager)().getCoreConfig()?.useTools;
23
+ return (0, exports.getBuiltinTools)().map(tool => ({
24
+ name: tool.name,
25
+ description: getToolDescription(tool),
26
+ status: (!useTools || useTools.includes(tool.name)) ? 'enable' : 'disable'
27
+ }));
28
+ };
29
+ exports.getToolInfos = getToolInfos;
30
+ // 获取内置工具
31
+ const getBuiltinTools = () => {
32
+ return [
33
+ Bash_1.BashTool,
34
+ Glob_1.GlobTool,
35
+ Grep_1.GrepTool,
36
+ Read_1.FileReadTool,
37
+ Write_1.FileWriteTool,
38
+ Edit_1.FileEditTool,
39
+ TodoWrite_1.TodoWriteTool,
40
+ Skill_1.SkillTool,
41
+ Task_1.TaskTool,
42
+ NotebookEdit_1.NotebookEditTool,
43
+ AskUserQuestion_1.AskUserQuestionTool,
44
+ ExitPlanMode_1.ExitPlanModeTool,
45
+ ];
46
+ };
47
+ exports.getBuiltinTools = getBuiltinTools;
48
+ // 所有可用工具
49
+ exports.getTools = (0, lodash_es_1.memoize)((useTools) => {
50
+ const allTools = (0, exports.getBuiltinTools)();
51
+ if (!useTools) {
52
+ return allTools;
53
+ }
54
+ return allTools.filter(tool => useTools.includes(tool.name));
55
+ }, (useTools) => {
56
+ if (!useTools) {
57
+ return 'all-tools';
58
+ }
59
+ return useTools.sort().join(',');
60
+ });
61
+ // 从 zod schema 中提取 required 字段
62
+ function extractRequiredFields(schema) {
63
+ if (!schema || typeof schema !== 'object')
64
+ return [];
65
+ if (schema._def && schema._def.shape) {
66
+ const shape = schema._def.shape();
67
+ return Object.entries(shape)
68
+ .filter(([_, fieldSchema]) => {
69
+ return !fieldSchema.isOptional();
70
+ })
71
+ .map(([fieldName]) => fieldName);
72
+ }
73
+ if (schema.properties) {
74
+ return schema.required || [];
75
+ }
76
+ return [];
77
+ }
78
+ // 使用 memoize 优化的 buildTools 函数
79
+ exports.buildTools = (0, lodash_es_1.memoize)((tools) => {
80
+ return tools.map(tool => {
81
+ const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(tool.inputSchema);
82
+ const requiredFields = extractRequiredFields(tool.inputSchema);
83
+ // 安全地获取 properties
84
+ const properties = (jsonSchema && typeof jsonSchema === 'object' && 'properties' in jsonSchema)
85
+ ? jsonSchema.properties
86
+ : jsonSchema;
87
+ return {
88
+ name: tool.name,
89
+ description: getToolDescription(tool),
90
+ input_schema: {
91
+ type: 'object',
92
+ properties: properties,
93
+ required: requiredFields
94
+ }
95
+ };
96
+ });
97
+ }, (tools) => tools.map(tool => tool.name).sort().join(','));
98
+ // 辅助函数:获取工具描述
99
+ function getToolDescription(tool) {
100
+ if (typeof tool.description === 'function') {
101
+ return tool.description();
102
+ }
103
+ return tool.description || '';
104
+ }
105
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Tool } from '../tools/base/Tool';
2
+ export type AgentLocate = 'user' | 'project' | 'builtin';
3
+ export interface AgentConfig {
4
+ name: string;
5
+ description: string;
6
+ tools?: string[] | '*';
7
+ prompt: string;
8
+ model?: string;
9
+ locate?: AgentLocate;
10
+ }
11
+ export interface AgentInfo {
12
+ name: string;
13
+ description: string;
14
+ tools?: string[] | '*';
15
+ model?: string;
16
+ locate: AgentLocate;
17
+ }
18
+ /**
19
+ * 代理上下文
20
+ * 包含代理执行所需的所有上下文信息
21
+ */
22
+ export interface AgentContext {
23
+ /** 代理 ID(主代理为 MAIN_AGENT_ID,子代理为 taskId) */
24
+ agentId: string;
25
+ abortController: AbortController;
26
+ tools: Tool[];
27
+ /** 模型类型 */
28
+ model?: 'main' | 'quick';
29
+ }
30
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;AAExD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 自定义命令类型定义
3
+ */
4
+ /**
5
+ * 自定义命令的 Frontmatter 配置
6
+ */
7
+ export interface CustomCommandFrontmatter {
8
+ /** 命令描述 */
9
+ description?: string;
10
+ /** 参数提示文本(如 "<file-path>" 或 "<environment> <version>") */
11
+ 'argument-hint'?: string;
12
+ }
13
+ /**
14
+ * 自定义命令对象
15
+ */
16
+ export interface CustomCommand {
17
+ /** 命令名(如 "optimize" 或 "frontend:test") */
18
+ name: string;
19
+ /** 显示名(如 "/optimize" 或 "/frontend:test") */
20
+ displayName: string;
21
+ /** 命令描述 */
22
+ description: string;
23
+ /** 参数提示 */
24
+ argumentHint?: string;
25
+ /** 源 .md 文件路径 */
26
+ filePath: string;
27
+ /** 作用域:用户级别或项目级别 */
28
+ scope: 'user' | 'project';
29
+ /** Markdown 内容(不含 frontmatter) */
30
+ content: string;
31
+ }
32
+ /**
33
+ * 加载自定义命令的结果
34
+ */
35
+ export interface LoadCustomCommandsResult {
36
+ /** 成功加载的命令列表 */
37
+ commands: CustomCommand[];
38
+ /** 加载过程中的错误列表 */
39
+ errors: Array<{
40
+ file: string;
41
+ error: string;
42
+ }>;
43
+ }
44
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAM1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,gBAAgB;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,iBAAiB;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * 自定义命令类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 项目配置接口
3
+ */
4
+ export interface ProjectConfig {
5
+ allowedTools: string[];
6
+ history: string[];
7
+ lastEditTime: string;
8
+ rules: string[];
9
+ }
10
+ /**
11
+ * 全局配置文件接口
12
+ */
13
+ export type GlobalProjectConfig = Record<string, ProjectConfig>;
14
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 用户中断操作异常
3
+ * 当用户主动中断操作时抛出此异常,区别于系统错误
4
+ */
5
+ export declare class InterruptedException extends Error {
6
+ constructor(message?: string);
7
+ }
8
+ /**
9
+ * 检查中断信号并抛出中断异常
10
+ * @param abortController 中断控制器
11
+ */
12
+ export declare function checkAbortSignal(abortController: AbortController): void;
13
+ /**
14
+ * 判断是否为中断异常
15
+ * @param error 错误对象
16
+ */
17
+ export declare function isInterruptedException(error: unknown): error is InterruptedException;
18
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,SAAsC;CAI1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAIvE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InterruptedException = void 0;
4
+ exports.checkAbortSignal = checkAbortSignal;
5
+ exports.isInterruptedException = isInterruptedException;
6
+ /**
7
+ * 用户中断操作异常
8
+ * 当用户主动中断操作时抛出此异常,区别于系统错误
9
+ */
10
+ class InterruptedException extends Error {
11
+ constructor(message = 'Operation was interrupted by user') {
12
+ super(message);
13
+ this.name = 'InterruptedException';
14
+ }
15
+ }
16
+ exports.InterruptedException = InterruptedException;
17
+ /**
18
+ * 检查中断信号并抛出中断异常
19
+ * @param abortController 中断控制器
20
+ */
21
+ function checkAbortSignal(abortController) {
22
+ if (abortController.signal.aborted) {
23
+ throw new InterruptedException();
24
+ }
25
+ }
26
+ /**
27
+ * 判断是否为中断异常
28
+ * @param error 错误对象
29
+ */
30
+ function isInterruptedException(error) {
31
+ return error instanceof InterruptedException;
32
+ }
33
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":";;;AAeA,4CAIC;AAMD,wDAEC;AA3BD;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,GAAG,mCAAmC;QACvD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AALD,oDAKC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,eAAgC;IAC/D,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,KAAc;IACnD,OAAO,KAAK,YAAY,oBAAoB,CAAA;AAC9C,CAAC"}