sema-core 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/README.md +6 -11
  2. package/dist/core/Conversation.d.ts +6 -1
  3. package/dist/core/Conversation.d.ts.map +1 -1
  4. package/dist/core/Conversation.js +72 -28
  5. package/dist/core/Conversation.js.map +1 -1
  6. package/dist/core/RunTools.d.ts.map +1 -1
  7. package/dist/core/RunTools.js +1 -1
  8. package/dist/core/RunTools.js.map +1 -1
  9. package/dist/core/SemaCore.d.ts +16 -0
  10. package/dist/core/SemaCore.d.ts.map +1 -1
  11. package/dist/core/SemaCore.js +30 -3
  12. package/dist/core/SemaCore.js.map +1 -1
  13. package/dist/core/SemaEngine.d.ts +2 -18
  14. package/dist/core/SemaEngine.d.ts.map +1 -1
  15. package/dist/core/SemaEngine.js +101 -131
  16. package/dist/core/SemaEngine.js.map +1 -1
  17. package/dist/events/EventSystem.d.ts.map +1 -1
  18. package/dist/events/EventSystem.js +6 -2
  19. package/dist/events/EventSystem.js.map +1 -1
  20. package/dist/events/types.d.ts +60 -13
  21. package/dist/events/types.d.ts.map +1 -1
  22. package/dist/events/types.js +0 -1
  23. package/dist/events/types.js.map +1 -1
  24. package/dist/manager/ConfManager.d.ts.map +1 -1
  25. package/dist/manager/ConfManager.js +3 -1
  26. package/dist/manager/ConfManager.js.map +1 -1
  27. package/dist/manager/CronManager.d.ts +52 -0
  28. package/dist/manager/CronManager.d.ts.map +1 -0
  29. package/dist/manager/CronManager.js +426 -0
  30. package/dist/manager/CronManager.js.map +1 -0
  31. package/dist/manager/PermissionManager.d.ts +1 -1
  32. package/dist/manager/PermissionManager.d.ts.map +1 -1
  33. package/dist/manager/PermissionManager.js +63 -12
  34. package/dist/manager/PermissionManager.js.map +1 -1
  35. package/dist/manager/StateManager.d.ts +79 -11
  36. package/dist/manager/StateManager.d.ts.map +1 -1
  37. package/dist/manager/StateManager.js +287 -4
  38. package/dist/manager/StateManager.js.map +1 -1
  39. package/dist/manager/TaskManager.d.ts +106 -0
  40. package/dist/manager/TaskManager.d.ts.map +1 -0
  41. package/dist/manager/TaskManager.js +664 -0
  42. package/dist/manager/TaskManager.js.map +1 -0
  43. package/dist/services/agents/defaultBuiltInAgentsConfs.js +3 -3
  44. package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +1 -1
  45. package/dist/services/agents/systemReminder.d.ts.map +1 -1
  46. package/dist/services/agents/systemReminder.js +8 -118
  47. package/dist/services/agents/systemReminder.js.map +1 -1
  48. package/dist/services/api/adapt/anthropic.js +2 -2
  49. package/dist/services/api/adapt/anthropic.js.map +1 -1
  50. package/dist/services/api/adapt/openai.js +2 -2
  51. package/dist/services/api/adapt/openai.js.map +1 -1
  52. package/dist/services/api/adapt/util.d.ts +1 -1
  53. package/dist/services/api/adapt/util.d.ts.map +1 -1
  54. package/dist/services/api/adapt/util.js +2 -2
  55. package/dist/services/api/adapt/util.js.map +1 -1
  56. package/dist/services/api/cache.d.ts.map +1 -1
  57. package/dist/services/api/cache.js +1 -3
  58. package/dist/services/api/cache.js.map +1 -1
  59. package/dist/services/api/queryLLM.d.ts.map +1 -1
  60. package/dist/services/api/queryLLM.js +5 -0
  61. package/dist/services/api/queryLLM.js.map +1 -1
  62. package/dist/services/commands/runCommand.d.ts.map +1 -1
  63. package/dist/services/commands/runCommand.js +12 -0
  64. package/dist/services/commands/runCommand.js.map +1 -1
  65. package/dist/services/mcp/MCPManager.d.ts.map +1 -1
  66. package/dist/services/mcp/MCPManager.js +6 -1
  67. package/dist/services/mcp/MCPManager.js.map +1 -1
  68. package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
  69. package/dist/services/plugins/pluginsManager.js +8 -1
  70. package/dist/services/plugins/pluginsManager.js.map +1 -1
  71. package/dist/services/rules/rulesManager.d.ts +51 -0
  72. package/dist/services/rules/rulesManager.d.ts.map +1 -0
  73. package/dist/services/rules/rulesManager.js +192 -0
  74. package/dist/services/rules/rulesManager.js.map +1 -0
  75. package/dist/tools/Agent/Agent.d.ts +19 -11
  76. package/dist/tools/Agent/Agent.d.ts.map +1 -1
  77. package/dist/tools/Agent/Agent.js +249 -72
  78. package/dist/tools/Agent/Agent.js.map +1 -1
  79. package/dist/tools/Agent/prompt.d.ts.map +1 -1
  80. package/dist/tools/Agent/prompt.js +7 -9
  81. package/dist/tools/Agent/prompt.js.map +1 -1
  82. package/dist/tools/Bash/Bash.d.ts +21 -11
  83. package/dist/tools/Bash/Bash.d.ts.map +1 -1
  84. package/dist/tools/Bash/Bash.js +74 -17
  85. package/dist/tools/Bash/Bash.js.map +1 -1
  86. package/dist/tools/Bash/prompt.d.ts.map +1 -1
  87. package/dist/tools/Bash/prompt.js +53 -70
  88. package/dist/tools/Bash/prompt.js.map +1 -1
  89. package/dist/tools/Bash/utils.d.ts +5 -1
  90. package/dist/tools/Bash/utils.d.ts.map +1 -1
  91. package/dist/tools/Bash/utils.js +24 -4
  92. package/dist/tools/Bash/utils.js.map +1 -1
  93. package/dist/tools/CronCreate/CronCreate.d.ts +68 -0
  94. package/dist/tools/CronCreate/CronCreate.d.ts.map +1 -0
  95. package/dist/tools/CronCreate/CronCreate.js +75 -0
  96. package/dist/tools/CronCreate/CronCreate.js.map +1 -0
  97. package/dist/tools/CronCreate/prompt.d.ts +3 -0
  98. package/dist/tools/CronCreate/prompt.d.ts.map +1 -0
  99. package/dist/tools/CronCreate/prompt.js +41 -0
  100. package/dist/tools/CronCreate/prompt.js.map +1 -0
  101. package/dist/tools/CronDelete/CronDelete.d.ts +45 -0
  102. package/dist/tools/CronDelete/CronDelete.d.ts.map +1 -0
  103. package/dist/tools/CronDelete/CronDelete.js +51 -0
  104. package/dist/tools/CronDelete/CronDelete.js.map +1 -0
  105. package/dist/tools/CronDelete/prompt.d.ts +3 -0
  106. package/dist/tools/CronDelete/prompt.d.ts.map +1 -0
  107. package/dist/tools/CronDelete/prompt.js +6 -0
  108. package/dist/tools/CronDelete/prompt.js.map +1 -0
  109. package/dist/tools/CronList/CronList.d.ts +33 -0
  110. package/dist/tools/CronList/CronList.d.ts.map +1 -0
  111. package/dist/tools/CronList/CronList.js +55 -0
  112. package/dist/tools/CronList/CronList.js.map +1 -0
  113. package/dist/tools/CronList/prompt.d.ts +3 -0
  114. package/dist/tools/CronList/prompt.d.ts.map +1 -0
  115. package/dist/tools/CronList/prompt.js +6 -0
  116. package/dist/tools/CronList/prompt.js.map +1 -0
  117. package/dist/tools/Edit/Edit.d.ts.map +1 -1
  118. package/dist/tools/Edit/Edit.js +7 -3
  119. package/dist/tools/Edit/Edit.js.map +1 -1
  120. package/dist/tools/Edit/utils.d.ts.map +1 -1
  121. package/dist/tools/Edit/utils.js +14 -5
  122. package/dist/tools/Edit/utils.js.map +1 -1
  123. package/dist/tools/Grep/Grep.d.ts +4 -4
  124. package/dist/tools/NotebookEdit/NotebookEdit.js +1 -1
  125. package/dist/tools/NotebookEdit/NotebookEdit.js.map +1 -1
  126. package/dist/tools/Read/Read.d.ts +74 -3
  127. package/dist/tools/Read/Read.d.ts.map +1 -1
  128. package/dist/tools/Read/Read.js +188 -18
  129. package/dist/tools/Read/Read.js.map +1 -1
  130. package/dist/tools/Read/prompt.d.ts +1 -1
  131. package/dist/tools/Read/prompt.d.ts.map +1 -1
  132. package/dist/tools/Read/prompt.js +2 -1
  133. package/dist/tools/Read/prompt.js.map +1 -1
  134. package/dist/tools/Skill/Skill.d.ts +2 -1
  135. package/dist/tools/Skill/Skill.d.ts.map +1 -1
  136. package/dist/tools/Skill/Skill.js +3 -2
  137. package/dist/tools/Skill/Skill.js.map +1 -1
  138. package/dist/tools/TaskCreate/TaskCreate.d.ts +54 -0
  139. package/dist/tools/TaskCreate/TaskCreate.d.ts.map +1 -0
  140. package/dist/tools/TaskCreate/TaskCreate.js +51 -0
  141. package/dist/tools/TaskCreate/TaskCreate.js.map +1 -0
  142. package/dist/tools/TaskCreate/prompt.d.ts +3 -0
  143. package/dist/tools/TaskCreate/prompt.d.ts.map +1 -0
  144. package/dist/tools/TaskCreate/prompt.js +45 -0
  145. package/dist/tools/TaskCreate/prompt.js.map +1 -0
  146. package/dist/tools/TaskGet/TaskGet.d.ts +34 -0
  147. package/dist/tools/TaskGet/TaskGet.d.ts.map +1 -0
  148. package/dist/tools/TaskGet/TaskGet.js +57 -0
  149. package/dist/tools/TaskGet/TaskGet.js.map +1 -0
  150. package/dist/tools/TaskGet/prompt.d.ts +3 -0
  151. package/dist/tools/TaskGet/prompt.d.ts.map +1 -0
  152. package/dist/tools/TaskGet/prompt.js +26 -0
  153. package/dist/tools/TaskGet/prompt.js.map +1 -0
  154. package/dist/tools/TaskList/TaskList.d.ts +27 -0
  155. package/dist/tools/TaskList/TaskList.d.ts.map +1 -0
  156. package/dist/tools/TaskList/TaskList.js +56 -0
  157. package/dist/tools/TaskList/TaskList.js.map +1 -0
  158. package/dist/tools/TaskList/prompt.d.ts +3 -0
  159. package/dist/tools/TaskList/prompt.d.ts.map +1 -0
  160. package/dist/tools/TaskList/prompt.js +25 -0
  161. package/dist/tools/TaskList/prompt.js.map +1 -0
  162. package/dist/tools/TaskOutput/TaskOutput.d.ts +58 -0
  163. package/dist/tools/TaskOutput/TaskOutput.d.ts.map +1 -0
  164. package/dist/tools/TaskOutput/TaskOutput.js +95 -0
  165. package/dist/tools/TaskOutput/TaskOutput.js.map +1 -0
  166. package/dist/tools/TaskStop/TaskStop.d.ts +50 -0
  167. package/dist/tools/TaskStop/TaskStop.d.ts.map +1 -0
  168. package/dist/tools/TaskStop/TaskStop.js +69 -0
  169. package/dist/tools/TaskStop/TaskStop.js.map +1 -0
  170. package/dist/tools/TaskUpdate/TaskUpdate.d.ts +88 -0
  171. package/dist/tools/TaskUpdate/TaskUpdate.d.ts.map +1 -0
  172. package/dist/tools/TaskUpdate/TaskUpdate.js +115 -0
  173. package/dist/tools/TaskUpdate/TaskUpdate.js.map +1 -0
  174. package/dist/tools/TaskUpdate/prompt.d.ts +3 -0
  175. package/dist/tools/TaskUpdate/prompt.d.ts.map +1 -0
  176. package/dist/tools/TaskUpdate/prompt.js +80 -0
  177. package/dist/tools/TaskUpdate/prompt.js.map +1 -0
  178. package/dist/tools/WebFetch/WebFetch.d.ts +62 -0
  179. package/dist/tools/WebFetch/WebFetch.d.ts.map +1 -0
  180. package/dist/tools/WebFetch/WebFetch.js +143 -0
  181. package/dist/tools/WebFetch/WebFetch.js.map +1 -0
  182. package/dist/tools/WebFetch/prompt.d.ts +4 -0
  183. package/dist/tools/WebFetch/prompt.d.ts.map +1 -0
  184. package/dist/tools/WebFetch/prompt.js +38 -0
  185. package/dist/tools/WebFetch/prompt.js.map +1 -0
  186. package/dist/tools/WebFetch/utils.d.ts +20 -0
  187. package/dist/tools/WebFetch/utils.d.ts.map +1 -0
  188. package/dist/tools/WebFetch/utils.js +223 -0
  189. package/dist/tools/WebFetch/utils.js.map +1 -0
  190. package/dist/tools/Write/Write.js +1 -1
  191. package/dist/tools/Write/Write.js.map +1 -1
  192. package/dist/tools/base/Tool.d.ts +1 -0
  193. package/dist/tools/base/Tool.d.ts.map +1 -1
  194. package/dist/tools/base/tools.d.ts +4 -2
  195. package/dist/tools/base/tools.d.ts.map +1 -1
  196. package/dist/tools/base/tools.js +61 -14
  197. package/dist/tools/base/tools.js.map +1 -1
  198. package/dist/types/cron.d.ts +21 -0
  199. package/dist/types/cron.d.ts.map +1 -0
  200. package/dist/types/cron.js +6 -0
  201. package/dist/types/cron.js.map +1 -0
  202. package/dist/types/index.d.ts +9 -1
  203. package/dist/types/index.d.ts.map +1 -1
  204. package/dist/types/index.js +4 -2
  205. package/dist/types/index.js.map +1 -1
  206. package/dist/types/rule.d.ts +8 -0
  207. package/dist/types/rule.d.ts.map +1 -0
  208. package/dist/types/rule.js +3 -0
  209. package/dist/types/rule.js.map +1 -0
  210. package/dist/types/task.d.ts +93 -0
  211. package/dist/types/task.d.ts.map +1 -0
  212. package/dist/types/task.js +3 -0
  213. package/dist/types/task.js.map +1 -0
  214. package/dist/types/todoTask.d.ts +29 -0
  215. package/dist/types/todoTask.d.ts.map +1 -0
  216. package/dist/types/todoTask.js +6 -0
  217. package/dist/types/todoTask.js.map +1 -0
  218. package/dist/util/assembleTools.d.ts +6 -0
  219. package/dist/util/assembleTools.d.ts.map +1 -0
  220. package/dist/util/assembleTools.js +17 -0
  221. package/dist/util/assembleTools.js.map +1 -0
  222. package/dist/util/btw.d.ts +6 -0
  223. package/dist/util/btw.d.ts.map +1 -0
  224. package/dist/util/btw.js +80 -0
  225. package/dist/util/btw.js.map +1 -0
  226. package/dist/util/compact.d.ts +16 -4
  227. package/dist/util/compact.d.ts.map +1 -1
  228. package/dist/util/compact.js +12 -18
  229. package/dist/util/compact.js.map +1 -1
  230. package/dist/util/cron.d.ts +17 -0
  231. package/dist/util/cron.d.ts.map +1 -0
  232. package/dist/util/cron.js +82 -0
  233. package/dist/util/cron.js.map +1 -0
  234. package/dist/util/file.d.ts +16 -0
  235. package/dist/util/file.d.ts.map +1 -1
  236. package/dist/util/file.js +55 -0
  237. package/dist/util/file.js.map +1 -1
  238. package/dist/util/fileReference.d.ts.map +1 -1
  239. package/dist/util/fileReference.js +10 -1
  240. package/dist/util/fileReference.js.map +1 -1
  241. package/dist/util/format.d.ts +6 -0
  242. package/dist/util/format.d.ts.map +1 -1
  243. package/dist/util/format.js +17 -0
  244. package/dist/util/format.js.map +1 -1
  245. package/dist/util/history.d.ts +4 -1
  246. package/dist/util/history.d.ts.map +1 -1
  247. package/dist/util/history.js +9 -5
  248. package/dist/util/history.js.map +1 -1
  249. package/dist/util/inputQueue.d.ts +19 -0
  250. package/dist/util/inputQueue.d.ts.map +1 -0
  251. package/dist/util/inputQueue.js +30 -0
  252. package/dist/util/inputQueue.js.map +1 -0
  253. package/dist/util/message.d.ts +4 -0
  254. package/dist/util/message.d.ts.map +1 -1
  255. package/dist/util/message.js +27 -0
  256. package/dist/util/message.js.map +1 -1
  257. package/dist/util/pdf.d.ts +83 -0
  258. package/dist/util/pdf.d.ts.map +1 -0
  259. package/dist/util/pdf.js +472 -0
  260. package/dist/util/pdf.js.map +1 -0
  261. package/dist/util/process.d.ts +10 -0
  262. package/dist/util/process.d.ts.map +1 -0
  263. package/dist/util/process.js +88 -0
  264. package/dist/util/process.js.map +1 -0
  265. package/dist/util/savePath.d.ts +0 -11
  266. package/dist/util/savePath.d.ts.map +1 -1
  267. package/dist/util/savePath.js +0 -17
  268. package/dist/util/savePath.js.map +1 -1
  269. package/dist/util/shell.d.ts +10 -1
  270. package/dist/util/shell.d.ts.map +1 -1
  271. package/dist/util/shell.js +89 -34
  272. package/dist/util/shell.js.map +1 -1
  273. package/dist/util/topic.d.ts +7 -0
  274. package/dist/util/topic.d.ts.map +1 -1
  275. package/dist/util/topic.js +40 -0
  276. package/dist/util/topic.js.map +1 -1
  277. package/package.json +2 -1
  278. package/dist/services/command/customCommands.d.ts +0 -1
  279. package/dist/services/command/customCommands.d.ts.map +0 -1
  280. package/dist/services/command/customCommands.js +0 -197
  281. package/dist/services/command/customCommands.js.map +0 -1
  282. package/dist/services/command/runCommand.d.ts +0 -18
  283. package/dist/services/command/runCommand.d.ts.map +0 -1
  284. package/dist/services/command/runCommand.js +0 -147
  285. package/dist/services/command/runCommand.js.map +0 -1
  286. package/dist/services/plugins/customCommands.d.ts +0 -29
  287. package/dist/services/plugins/customCommands.d.ts.map +0 -1
  288. package/dist/services/plugins/customCommands.js +0 -227
  289. package/dist/services/plugins/customCommands.js.map +0 -1
  290. package/dist/services/skill/skillLoader.d.ts +0 -17
  291. package/dist/services/skill/skillLoader.d.ts.map +0 -1
  292. package/dist/services/skill/skillLoader.js +0 -122
  293. package/dist/services/skill/skillLoader.js.map +0 -1
  294. package/dist/services/skill/skillParser.d.ts +0 -15
  295. package/dist/services/skill/skillParser.d.ts.map +0 -1
  296. package/dist/services/skill/skillParser.js +0 -66
  297. package/dist/services/skill/skillParser.js.map +0 -1
  298. package/dist/services/skill/skillRegistry.d.ts +0 -34
  299. package/dist/services/skill/skillRegistry.d.ts.map +0 -1
  300. package/dist/services/skill/skillRegistry.js +0 -98
  301. package/dist/services/skill/skillRegistry.js.map +0 -1
  302. package/dist/services/skill/skillsManager.d.ts +0 -79
  303. package/dist/services/skill/skillsManager.d.ts.map +0 -1
  304. package/dist/services/skill/skillsManager.js +0 -289
  305. package/dist/services/skill/skillsManager.js.map +0 -1
  306. package/dist/tools/Task/Task.d.ts +0 -59
  307. package/dist/tools/Task/Task.d.ts.map +0 -1
  308. package/dist/tools/Task/Task.js +0 -212
  309. package/dist/tools/Task/Task.js.map +0 -1
  310. package/dist/tools/Task/prompt.d.ts +0 -6
  311. package/dist/tools/Task/prompt.d.ts.map +0 -1
  312. package/dist/tools/Task/prompt.js +0 -75
  313. package/dist/tools/Task/prompt.js.map +0 -1
  314. package/dist/util/frontmatter.d.ts +0 -35
  315. package/dist/util/frontmatter.d.ts.map +0 -1
  316. package/dist/util/frontmatter.js +0 -119
  317. package/dist/util/frontmatter.js.map +0 -1
  318. package/dist/util/rules.d.ts +0 -6
  319. package/dist/util/rules.d.ts.map +0 -1
  320. package/dist/util/rules.js +0 -162
  321. package/dist/util/rules.js.map +0 -1
  322. package/dist/util/systemReminder.d.ts +0 -10
  323. package/dist/util/systemReminder.d.ts.map +0 -1
  324. package/dist/util/systemReminder.js +0 -177
  325. package/dist/util/systemReminder.js.map +0 -1
@@ -1,289 +0,0 @@
1
- "use strict";
2
- /**
3
- * Skills 管理器
4
- *
5
- * 管理自定义 Skill 的全局注册和查找
6
- * 实现优先级:用户级(Claude) < 项目级(Claude) < 插件 < 用户级(Sema) < 项目级(Sema)
7
- * 兼容 Claude Code 和 Sema 两套路径(Claude 只读)
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.SkillsManager = void 0;
44
- exports.getSkillsManager = getSkillsManager;
45
- exports.getSkillTypesDescription = getSkillTypesDescription;
46
- const fs = __importStar(require("fs"));
47
- const fs_1 = require("fs");
48
- const path = __importStar(require("path"));
49
- const log_1 = require("../../util/log");
50
- const savePath_1 = require("../../util/savePath");
51
- const cwd_1 = require("../../util/cwd");
52
- const formatter_1 = require("../../util/formatter");
53
- const pluginsManager_1 = require("../plugins/pluginsManager");
54
- const SKILL_FILE_NAME = 'SKILL.md';
55
- /**
56
- * Skills 管理器类 - 单例模式
57
- */
58
- class SkillsManager {
59
- constructor() {
60
- this.skillConfigs = new Map();
61
- // Skills 信息缓存
62
- this.skillInfoCache = null;
63
- // 后台加载 Promise
64
- this.loadingPromise = null;
65
- const semaRootDir = (0, savePath_1.getSemaRootDir)();
66
- this.semaUserSkillsDir = path.join(semaRootDir, 'skills');
67
- const claudeRootDir = (0, savePath_1.getClaudeRootDir)();
68
- this.claudeUserSkillsDir = path.join(claudeRootDir, 'skills');
69
- const cwd = (0, cwd_1.getOriginalCwd)();
70
- this.semaProjectSkillsDir = path.join(cwd, '.sema', 'skills');
71
- this.claudeProjectSkillsDir = path.join(cwd, '.claude', 'skills');
72
- // 后台静默加载 skills 信息
73
- this.loadingPromise = this.refreshSkillsInfo()
74
- .catch(err => {
75
- (0, log_1.logError)(`后台加载 Skills 信息失败: ${err}`);
76
- return [];
77
- })
78
- .finally(() => { this.loadingPromise = null; });
79
- }
80
- /**
81
- * 清空缓存
82
- */
83
- invalidateCache() {
84
- this.skillInfoCache = null;
85
- }
86
- /**
87
- * 加载 Skills 配置(内部方法)
88
- * 按优先级加载:用户级(Claude) -> 项目级(Claude) -> 插件 -> 用户级(Sema) -> 项目级(Sema)
89
- * 后加载的覆盖先加载的,优先级从高到低:项目级(Sema) > 用户级(Sema) > 插件 > 项目级(Claude) > 用户级(Claude)
90
- */
91
- async loadSkills() {
92
- // 清空现有配置
93
- this.skillConfigs.clear();
94
- // 1. 用户级(Claude) - 最低优先级
95
- await this.loadSkillsFromDir(this.claudeUserSkillsDir, 'user', 'claude');
96
- // 2. 项目级(Claude)
97
- await this.loadSkillsFromDir(this.claudeProjectSkillsDir, 'project', 'claude');
98
- // 3. 插件 skills
99
- await this.loadSkillsFromPlugins();
100
- // 4. 用户级(Sema)
101
- await this.loadSkillsFromDir(this.semaUserSkillsDir, 'user', 'sema');
102
- // 5. 项目级(Sema) - 最高优先级
103
- await this.loadSkillsFromDir(this.semaProjectSkillsDir, 'project', 'sema');
104
- const skillNames = Array.from(this.skillConfigs.keys()).join(', ');
105
- (0, log_1.logInfo)(`加载 Skills 配置: ${skillNames}`);
106
- }
107
- /**
108
- * 从已安装且启用的插件中加载 skills
109
- * skill 名格式:插件名:skill名,locate 为 'plugin'
110
- */
111
- async loadSkillsFromPlugins() {
112
- try {
113
- const pluginsInfo = await (0, pluginsManager_1.getPluginsManager)().getMarketplacePluginsInfo();
114
- const enabledPlugins = pluginsInfo.plugins.filter(p => p.status);
115
- let loadedCount = 0;
116
- for (const plugin of enabledPlugins) {
117
- const skillComponents = plugin.components.skills;
118
- if (!Array.isArray(skillComponents))
119
- continue;
120
- for (const skillEntry of skillComponents) {
121
- const skillConfig = await this.parseSkillFile(skillEntry.filePath);
122
- if (skillConfig) {
123
- const pluginSkillName = `${plugin.name}:${skillConfig.name}`;
124
- if (this.skillConfigs.has(pluginSkillName)) {
125
- (0, log_1.logDebug)(`Skill [${pluginSkillName}] 被插件配置覆盖`);
126
- }
127
- this.skillConfigs.set(pluginSkillName, {
128
- ...skillConfig,
129
- name: pluginSkillName,
130
- locate: 'plugin',
131
- from: plugin.from
132
- });
133
- loadedCount++;
134
- }
135
- }
136
- }
137
- if (loadedCount > 0) {
138
- (0, log_1.logDebug)(`加载插件 Skills: ${loadedCount} 个`);
139
- }
140
- }
141
- catch (error) {
142
- (0, log_1.logError)(`加载插件 Skills 失败: ${error}`);
143
- }
144
- }
145
- /**
146
- * 从指定目录加载 skill 配置
147
- * 每个 skill 存放于子目录中,子目录下有 SKILL.md 文件
148
- * Claude 来源为只读
149
- */
150
- async loadSkillsFromDir(dirPath, scope, from) {
151
- try {
152
- if (!fs.existsSync(dirPath)) {
153
- (0, log_1.logDebug)(`Skills 目录不存在: ${dirPath}`);
154
- return;
155
- }
156
- const entries = await fs_1.promises.readdir(dirPath, { withFileTypes: true });
157
- const skillDirs = entries.filter(e => e.isDirectory());
158
- const parsePromises = skillDirs.map(dir => {
159
- const skillFilePath = path.join(dirPath, dir.name, SKILL_FILE_NAME);
160
- return this.parseSkillFile(skillFilePath);
161
- });
162
- const skillConfigs = await Promise.all(parsePromises);
163
- let loadedCount = 0;
164
- for (const skillConfig of skillConfigs) {
165
- if (skillConfig) {
166
- if (this.skillConfigs.has(skillConfig.name)) {
167
- (0, log_1.logDebug)(`Skill [${skillConfig.name}] 被 ${from} ${scope} 级配置覆盖`);
168
- }
169
- this.skillConfigs.set(skillConfig.name, { ...skillConfig, locate: scope, from });
170
- loadedCount++;
171
- }
172
- }
173
- if (loadedCount > 0) {
174
- (0, log_1.logDebug)(`加载 ${from} ${scope} 级 Skills: ${loadedCount} 个`);
175
- }
176
- }
177
- catch (error) {
178
- (0, log_1.logError)(`加载 ${from} ${scope} 级 Skills 失败 [${dirPath}]: ${error}`);
179
- }
180
- }
181
- /**
182
- * 解析 Skill Markdown 文件(SKILL.md)
183
- */
184
- async parseSkillFile(filePath) {
185
- try {
186
- if (!fs.existsSync(filePath)) {
187
- return null;
188
- }
189
- const { metadata, prompt } = (0, formatter_1.parseFile)(filePath);
190
- const name = typeof metadata.name === 'string' ? metadata.name.trim() : '';
191
- const description = typeof metadata.description === 'string' ? metadata.description.trim() : '';
192
- const promptStr = prompt.trim();
193
- if (!name || !description || !promptStr) {
194
- (0, log_1.logWarn)(`Skill 文件格式错误 [${filePath}]: name/description/prompt 必须为非空字符串`);
195
- return null;
196
- }
197
- return {
198
- name,
199
- description,
200
- prompt: promptStr,
201
- filePath
202
- };
203
- }
204
- catch (error) {
205
- (0, log_1.logError)(`解析 Skill 文件失败 [${filePath}]: ${error}`);
206
- return null;
207
- }
208
- }
209
- /**
210
- * 获取所有 Skill 配置
211
- */
212
- getSkillsConfs() {
213
- return Array.from(this.skillConfigs.values());
214
- }
215
- /**
216
- * 获取所有 Skill 信息(有缓存则直接返回,否则等待后台加载或重新加载)
217
- */
218
- async getSkillsInfo() {
219
- if (this.skillInfoCache) {
220
- return this.skillInfoCache;
221
- }
222
- if (this.loadingPromise) {
223
- return this.loadingPromise;
224
- }
225
- return this.refreshSkillsInfo();
226
- }
227
- /**
228
- * 刷新 Skills 信息
229
- * 重新加载所有配置,更新缓存
230
- */
231
- async refreshSkillsInfo() {
232
- (0, log_1.logDebug)('刷新 Skills 信息...');
233
- this.invalidateCache();
234
- await this.loadSkills();
235
- const skillInfos = this.getSkillsConfs().map(config => ({
236
- name: config.name,
237
- description: config.description,
238
- prompt: config.prompt,
239
- locate: config.locate,
240
- from: config.from,
241
- filePath: config.filePath
242
- }));
243
- this.skillInfoCache = skillInfos;
244
- (0, log_1.logInfo)(`Skills 信息刷新完成: ${skillInfos.length} 个 Skill`);
245
- return skillInfos;
246
- }
247
- /**
248
- * 根据名称获取 Skill 配置
249
- */
250
- getSkillConfig(name) {
251
- return this.skillConfigs.get(name);
252
- }
253
- /**
254
- * 获取所有 Skill 的类型描述
255
- * 格式: "- SkillName: description"
256
- */
257
- getSkillTypesDescription() {
258
- const skillsConfs = this.getSkillsConfs();
259
- if (skillsConfs.length === 0) {
260
- return '';
261
- }
262
- return skillsConfs
263
- .map(skill => `- ${skill.name}: ${skill.description}`)
264
- .join('\n');
265
- }
266
- /**
267
- * 清理资源
268
- */
269
- dispose() {
270
- this.skillConfigs.clear();
271
- this.invalidateCache();
272
- }
273
- }
274
- exports.SkillsManager = SkillsManager;
275
- // ===================== 全局 Skills 管理器 =====================
276
- let skillsManagerInstance = null;
277
- /**
278
- * 获取 Skills Manager 实例(单例模式)
279
- */
280
- function getSkillsManager() {
281
- if (!skillsManagerInstance) {
282
- skillsManagerInstance = new SkillsManager();
283
- }
284
- return skillsManagerInstance;
285
- }
286
- function getSkillTypesDescription() {
287
- return getSkillsManager().getSkillTypesDescription();
288
- }
289
- //# sourceMappingURL=skillsManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skillsManager.js","sourceRoot":"","sources":["../../../src/services/skill/skillsManager.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import { z } from 'zod';
2
- declare const inputSchema: z.ZodObject<{
3
- description: z.ZodString;
4
- prompt: z.ZodString;
5
- subagent_type: z.ZodString;
6
- }, "strict", z.ZodTypeAny, {
7
- prompt: string;
8
- description: string;
9
- subagent_type: string;
10
- }, {
11
- prompt: string;
12
- description: string;
13
- subagent_type: string;
14
- }>;
15
- type Output = {
16
- agentType: string;
17
- result: string;
18
- durationMs: number;
19
- };
20
- export declare const TaskTool: {
21
- name: string;
22
- description(): string;
23
- inputSchema: z.ZodObject<{
24
- description: z.ZodString;
25
- prompt: z.ZodString;
26
- subagent_type: z.ZodString;
27
- }, "strict", z.ZodTypeAny, {
28
- prompt: string;
29
- description: string;
30
- subagent_type: string;
31
- }, {
32
- prompt: string;
33
- description: string;
34
- subagent_type: string;
35
- }>;
36
- isReadOnly(): false;
37
- genToolResultMessage({ agentType, result }: Output): {
38
- title: string;
39
- summary: string;
40
- content: string;
41
- };
42
- getDisplayTitle(input: {
43
- prompt: string;
44
- description: string;
45
- subagent_type: string;
46
- } | undefined): string;
47
- call({ description, prompt, subagent_type }: z.infer<typeof inputSchema>): AsyncGenerator<{
48
- type: "result";
49
- data: {
50
- agentType: string;
51
- result: string;
52
- durationMs: number;
53
- };
54
- resultForAssistant: string;
55
- }, void, unknown>;
56
- genResultForAssistant(output: Output): string;
57
- };
58
- export {};
59
- //# sourceMappingURL=Task.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/tools/Task/Task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoBvB,QAAA,MAAM,WAAW;;;;;;;;;;;;EAIf,CAAA;AAEF,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAoBiC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;;;;;kCAmMjD,MAAM;CAGM,CAAA"}
@@ -1,212 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskTool = void 0;
4
- const zod_1 = require("zod");
5
- const nanoid_1 = require("nanoid");
6
- const prompt_1 = require("./prompt");
7
- const defaultBuiltInAgentsConfs_1 = require("../../services/agents/defaultBuiltInAgentsConfs");
8
- const tools_1 = require("../base/tools");
9
- const Conversation_1 = require("../../core/Conversation");
10
- const message_1 = require("../../util/message");
11
- const agentsManager_1 = require("../../services/agents/agentsManager");
12
- const StateManager_1 = require("../../manager/StateManager");
13
- const EventSystem_1 = require("../../events/EventSystem");
14
- const log_1 = require("../../util/log");
15
- const errors_1 = require("../../types/errors");
16
- const agentStats_1 = require("../../util/agentStats");
17
- const genSystemPrompt_1 = require("../../services/agents/genSystemPrompt");
18
- const systemReminder_1 = require("../../services/agents/systemReminder");
19
- const inputSchema = zod_1.z.strictObject({
20
- description: zod_1.z.string().describe('A short (3-5 word) description of the task'),
21
- prompt: zod_1.z.string().describe('The task for the agent to perform'),
22
- subagent_type: zod_1.z.string().describe('The type of specialized agent to use for this task'),
23
- });
24
- exports.TaskTool = {
25
- name: prompt_1.TOOL_NAME_FOR_PROMPT,
26
- description() {
27
- return (0, prompt_1.getDescription)();
28
- },
29
- inputSchema,
30
- isReadOnly() {
31
- // 子代理可能会执行写操作,所以标记为非只读
32
- return false;
33
- },
34
- genToolResultMessage({ agentType, result }) {
35
- return {
36
- title: `${agentType} agent`,
37
- summary: `${agentType} agent completed`,
38
- content: result
39
- };
40
- },
41
- getDisplayTitle(input) {
42
- return input?.description || prompt_1.TOOL_NAME_FOR_PROMPT;
43
- },
44
- async *call({ description, prompt, subagent_type }) {
45
- const start = Date.now();
46
- const taskId = (0, nanoid_1.nanoid)();
47
- const eventBus = (0, EventSystem_1.getEventBus)();
48
- const stateManager = (0, StateManager_1.getStateManager)();
49
- try {
50
- // 1. 查找对应的 AgentConfig
51
- const AgentsConfs = await (0, agentsManager_1.getAgentsManager)().getAgentsInfo();
52
- const agentConfig = AgentsConfs.find(agent => agent.name.toLowerCase() === subagent_type.toLowerCase());
53
- if (!agentConfig) {
54
- const errorMsg = `Unknown agent type: ${subagent_type}. Available types: ${defaultBuiltInAgentsConfs_1.defaultBuiltInAgentsConfs.map(a => a.name).join(', ')}`;
55
- yield {
56
- type: 'result',
57
- data: { agentType: subagent_type, result: errorMsg, durationMs: Date.now() - start },
58
- resultForAssistant: errorMsg,
59
- };
60
- return;
61
- }
62
- (0, log_1.logDebug)(`Starting ${agentConfig.name} agent with prompt: ${prompt}`);
63
- // 2. 发送 task:agent:start 事件
64
- const startEventData = {
65
- taskId,
66
- subagent_type: agentConfig.name,
67
- description,
68
- prompt,
69
- };
70
- eventBus.emit('task:agent:start', startEventData);
71
- // 3. 准备子代理的系统提示(包含 agentConfig.prompt + notes + env + gitStatus)
72
- const systemPromptContent = await (0, genSystemPrompt_1.buildAgentSystemPrompt)(agentConfig.prompt);
73
- // 4. 获取子代理允许使用的工具(排除 Task 工具,防止嵌套)
74
- let subagentTools;
75
- if (!agentConfig.tools || agentConfig.tools === '*') {
76
- subagentTools = (0, tools_1.getTools)().filter(t => t.name !== prompt_1.TOOL_NAME_FOR_PROMPT);
77
- }
78
- else {
79
- subagentTools = (0, tools_1.getTools)(agentConfig.tools).filter(t => t.name !== prompt_1.TOOL_NAME_FOR_PROMPT);
80
- }
81
- (0, log_1.logDebug)(`Subagent ${agentConfig.name} has ${subagentTools.length} tools available`);
82
- // 5. 创建用户消息(包含 skills 和 rules 信息)
83
- const additionalReminders = [];
84
- // 添加 skills 信息(仅当子代理包含 Skill 工具时)
85
- if (subagentTools.some(t => t.name === 'Skill')) {
86
- const skillsReminders = (0, systemReminder_1.generateSkillsReminder)();
87
- additionalReminders.push(...skillsReminders);
88
- }
89
- // 添加 rules 信息
90
- const rulesReminders = (0, systemReminder_1.generateRulesReminders)();
91
- additionalReminders.push(...rulesReminders);
92
- const userMessage = (0, message_1.createUserMessage)([
93
- ...additionalReminders,
94
- { type: 'text', text: prompt }
95
- ]);
96
- // 6. 获取共享的 AbortController(子代理与主代理共用,中断时一起中断)
97
- const sharedAbortController = stateManager.currentAbortController;
98
- if (!sharedAbortController) {
99
- const errorMsg = 'No active AbortController found. Cannot start subagent.';
100
- yield {
101
- type: 'result',
102
- data: { agentType: subagent_type, result: errorMsg, durationMs: Date.now() - start },
103
- resultForAssistant: errorMsg,
104
- };
105
- return;
106
- }
107
- // 7. 构建子代理上下文
108
- const subagentContext = {
109
- agentId: taskId,
110
- abortController: sharedAbortController,
111
- tools: subagentTools,
112
- model: (agentConfig.model === 'quick' || agentConfig.model === 'haiku') ? 'quick' : 'main'
113
- };
114
- // 8. 执行子代理查询
115
- const messages = [userMessage];
116
- let resultText = '';
117
- const resultMessages = [];
118
- try {
119
- for await (const message of (0, Conversation_1.query)(messages, systemPromptContent, subagentContext)) {
120
- // 将每个消息添加到结果列表中
121
- resultMessages.push(message);
122
- }
123
- // 从收集的消息中提取最后一次 assistant 响应的文本内容
124
- resultText = (0, agentStats_1.extractResultText)(resultMessages);
125
- (0, log_1.logDebug)(`${agentConfig.name} agent completed. Result length: ${resultText.length}`);
126
- // 统计 tokens 和工具使用(检查是否被中断,query() 在中断时通过 return 正常结束)
127
- const isInterrupted = sharedAbortController.signal.aborted;
128
- const stats = (0, agentStats_1.calculateStats)(resultMessages, start);
129
- const summary = (0, agentStats_1.formatSummary)(stats, isInterrupted ? 'interrupted' : 'completed');
130
- // 清理子代理所有隔离状态
131
- const subagentState = stateManager.forAgent(taskId);
132
- subagentState.clearAllState();
133
- // 发送 task:agent:end 事件
134
- const endEventData = {
135
- taskId,
136
- status: isInterrupted ? 'interrupted' : 'completed',
137
- content: summary,
138
- };
139
- eventBus.emit('task:agent:end', endEventData);
140
- const output = {
141
- agentType: agentConfig.name,
142
- result: resultText,
143
- durationMs: Date.now() - start
144
- };
145
- yield {
146
- type: 'result',
147
- data: output,
148
- resultForAssistant: resultText,
149
- };
150
- }
151
- catch (error) {
152
- // 统计 tokens 和工具使用
153
- const stats = (0, agentStats_1.calculateStats)(resultMessages, start);
154
- // 清理子代理所有隔离状态(失败/中断时也要清理)
155
- const subagentState = stateManager.forAgent(taskId);
156
- subagentState.clearAllState();
157
- // 发送 task:agent:end 失败事件
158
- const isInterrupted = (0, errors_1.isInterruptedException)(error);
159
- const summary = isInterrupted
160
- ? (0, agentStats_1.formatSummary)(stats, 'interrupted')
161
- : `Error: ${error instanceof Error ? error.message : String(error)}`;
162
- const endEventData = {
163
- taskId,
164
- status: 'failed',
165
- content: summary,
166
- };
167
- eventBus.emit('task:agent:end', endEventData);
168
- if (isInterrupted) {
169
- (0, log_1.logDebug)(`Subagent ${agentConfig.name} was interrupted`);
170
- yield {
171
- type: 'result',
172
- data: { agentType: agentConfig.name, result: summary, durationMs: Date.now() - start },
173
- resultForAssistant: summary,
174
- };
175
- }
176
- else {
177
- const errorMsg = `Subagent execution failed: ${error instanceof Error ? error.message : String(error)}`;
178
- (0, log_1.logError)(errorMsg);
179
- yield {
180
- type: 'result',
181
- data: { agentType: agentConfig.name, result: errorMsg, durationMs: Date.now() - start },
182
- resultForAssistant: errorMsg,
183
- };
184
- }
185
- }
186
- }
187
- catch (error) {
188
- // 外层错误(配置错误等)
189
- const errorMsg = `TaskTool error: ${error instanceof Error ? error.message : String(error)}`;
190
- (0, log_1.logError)(errorMsg);
191
- // 清理子代理状态(防止内存泄漏)
192
- const subagentState = stateManager.forAgent(taskId);
193
- subagentState.clearAllState();
194
- // 发送失败事件
195
- const endEventData = {
196
- taskId,
197
- status: 'failed',
198
- content: errorMsg,
199
- };
200
- eventBus.emit('task:agent:end', endEventData);
201
- yield {
202
- type: 'result',
203
- data: { agentType: subagent_type, result: errorMsg, durationMs: Date.now() - start },
204
- resultForAssistant: errorMsg,
205
- };
206
- }
207
- },
208
- genResultForAssistant(output) {
209
- return output.result;
210
- },
211
- };
212
- //# sourceMappingURL=Task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../src/tools/Task/Task.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare const TOOL_NAME_FOR_PROMPT = "Task";
2
- /**
3
- * 获取 Task 工具的完整描述
4
- */
5
- export declare function getDescription(): string;
6
- //# sourceMappingURL=prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/tools/Task/prompt.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,SAAS,CAAA;AAE1C;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAkEvC"}