qlogicagent 0.2.0 → 0.3.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 (453) hide show
  1. package/dist/agent.js +1 -0
  2. package/dist/cli.js +9 -0
  3. package/dist/contracts.js +1 -0
  4. package/dist/index.js +5 -16
  5. package/dist/orchestration.js +118 -0
  6. package/dist/{agent → types/agent}/agent.d.ts +0 -1
  7. package/dist/{agent → types/agent}/tool-loop.d.ts +0 -1
  8. package/dist/{agent → types/agent}/types.d.ts +0 -1
  9. package/dist/{cli → types/cli}/main.d.ts +0 -1
  10. package/dist/{cli → types/cli}/stdio-server.d.ts +0 -1
  11. package/dist/{config → types/config}/config.d.ts +0 -1
  12. package/dist/{contracts → types/contracts}/hooks.d.ts +0 -1
  13. package/dist/{contracts/index.js → types/contracts/index.d.ts} +0 -1
  14. package/dist/{contracts → types/contracts}/planner.d.ts +0 -1
  15. package/dist/{contracts → types/contracts}/skill-candidate.d.ts +0 -1
  16. package/dist/{contracts → types/contracts}/todo.d.ts +0 -1
  17. package/dist/{index.d.ts → types/index.d.ts} +0 -1
  18. package/dist/{llm → types/llm}/builtin-providers.d.ts +0 -1
  19. package/dist/{llm → types/llm}/index.d.ts +0 -1
  20. package/dist/{llm → types/llm}/llm-client.d.ts +0 -1
  21. package/dist/{llm → types/llm}/model-catalog.d.ts +0 -1
  22. package/dist/{llm → types/llm}/provider-def.d.ts +0 -1
  23. package/dist/{llm → types/llm}/provider-registry.d.ts +0 -1
  24. package/dist/{llm → types/llm}/transport.d.ts +0 -1
  25. package/dist/{llm → types/llm}/transports/anthropic-messages.d.ts +0 -1
  26. package/dist/{llm → types/llm}/transports/openai-chat.d.ts +0 -1
  27. package/dist/{orchestration → types/orchestration}/agent-registry.d.ts +0 -1
  28. package/dist/{orchestration → types/orchestration}/approval-aware-tool-plan.d.ts +0 -1
  29. package/dist/{orchestration → types/orchestration}/context-compression.d.ts +0 -1
  30. package/dist/{orchestration → types/orchestration}/conversation-repair.d.ts +0 -1
  31. package/dist/{orchestration → types/orchestration}/curator-scheduler.d.ts +0 -1
  32. package/dist/{orchestration → types/orchestration}/embedded-failover-policy.d.ts +0 -1
  33. package/dist/{orchestration → types/orchestration}/error-classification.d.ts +0 -1
  34. package/dist/{orchestration → types/orchestration}/failover-classification.d.ts +0 -1
  35. package/dist/{orchestration → types/orchestration}/failover-error.d.ts +0 -1
  36. package/dist/{orchestration → types/orchestration}/fork-subagent.d.ts +0 -1
  37. package/dist/{orchestration → types/orchestration}/index.d.ts +0 -1
  38. package/dist/{orchestration → types/orchestration}/memory-flush-policy.d.ts +0 -1
  39. package/dist/{orchestration → types/orchestration}/memory-provider.d.ts +0 -1
  40. package/dist/{orchestration → types/orchestration}/parallel-tool-calls.d.ts +0 -1
  41. package/dist/{orchestration → types/orchestration}/prompt-cache-strategy.d.ts +0 -1
  42. package/dist/{orchestration → types/orchestration}/reactive-compact.d.ts +0 -1
  43. package/dist/{orchestration → types/orchestration}/retry-loop.d.ts +0 -1
  44. package/dist/{orchestration → types/orchestration}/skill-candidate.d.ts +0 -1
  45. package/dist/{orchestration → types/orchestration}/skill-consolidation.d.ts +0 -1
  46. package/dist/{orchestration → types/orchestration}/skill-improvement.d.ts +0 -1
  47. package/dist/{orchestration → types/orchestration}/skill-similarity.d.ts +0 -1
  48. package/dist/{orchestration → types/orchestration}/streaming-tool-executor.d.ts +0 -1
  49. package/dist/{orchestration → types/orchestration}/team-orchestration.d.ts +0 -1
  50. package/dist/{orchestration → types/orchestration}/team-tool-loop-wiring.d.ts +0 -1
  51. package/dist/{orchestration → types/orchestration}/tool-choice-policy.d.ts +0 -1
  52. package/dist/{orchestration → types/orchestration}/tool-loop-state.d.ts +0 -1
  53. package/dist/{orchestration → types/orchestration}/tool-schema.d.ts +0 -1
  54. package/dist/{orchestration → types/orchestration}/transcript-repair.d.ts +0 -1
  55. package/dist/{orchestration → types/orchestration}/turn-loop-guard.d.ts +0 -1
  56. package/dist/{orchestration → types/orchestration}/web-browser-policy.d.ts +0 -1
  57. package/dist/{runtime → types/runtime}/context-compression.d.ts +0 -1
  58. package/dist/{runtime → types/runtime}/hook-registry.d.ts +0 -1
  59. package/dist/{runtime → types/runtime}/memory-hooks.d.ts +0 -1
  60. package/dist/{runtime → types/runtime}/tool-eligibility.d.ts +0 -1
  61. package/dist/{skills → types/skills}/index.d.ts +0 -1
  62. package/dist/{skills → types/skills}/memory-extractor.d.ts +0 -1
  63. package/dist/{skills → types/skills}/memory-query-tool.d.ts +0 -1
  64. package/dist/{skills → types/skills}/memory-store.d.ts +0 -1
  65. package/dist/{skills → types/skills}/memory-tool.d.ts +0 -1
  66. package/dist/{skills → types/skills}/portable-tool.d.ts +0 -1
  67. package/dist/{skills → types/skills}/qmemory-adapter.d.ts +0 -1
  68. package/dist/{skills → types/skills}/skill-frontmatter.d.ts +0 -1
  69. package/dist/{skills → types/skills}/skill-guard.d.ts +0 -1
  70. package/dist/{skills → types/skills}/skill-loader.d.ts +0 -1
  71. package/dist/{skills → types/skills}/skill-source.d.ts +0 -1
  72. package/dist/{skills → types/skills}/skill-types.d.ts +0 -1
  73. package/dist/{skills → types/skills}/think-tool.d.ts +0 -1
  74. package/dist/{skills → types/skills}/todo-tool.d.ts +0 -1
  75. package/dist/{skills → types/skills}/tools/agent-tool.d.ts +0 -1
  76. package/dist/{skills → types/skills}/tools/apply-patch-tool.d.ts +0 -1
  77. package/dist/{skills → types/skills}/tools/ask-user-tool.d.ts +0 -1
  78. package/dist/{skills → types/skills}/tools/brief-tool.d.ts +0 -1
  79. package/dist/{skills → types/skills}/tools/browser-tool.d.ts +0 -1
  80. package/dist/{skills → types/skills}/tools/checkpoint-tool.d.ts +0 -1
  81. package/dist/{skills → types/skills}/tools/config-tool.d.ts +0 -1
  82. package/dist/{skills → types/skills}/tools/cron-tool.d.ts +0 -1
  83. package/dist/{skills → types/skills}/tools/edit-tool.d.ts +0 -1
  84. package/dist/{skills → types/skills}/tools/exec-tool.d.ts +0 -1
  85. package/dist/{skills → types/skills}/tools/image-generate-tool.d.ts +0 -1
  86. package/dist/{skills → types/skills}/tools/instructions-tool.d.ts +0 -1
  87. package/dist/{skills → types/skills}/tools/lsp-tool.d.ts +0 -1
  88. package/dist/{skills → types/skills}/tools/mcp-client-types.d.ts +0 -1
  89. package/dist/{skills → types/skills}/tools/mcp-tool.d.ts +0 -1
  90. package/dist/{skills → types/skills}/tools/memory-tool.d.ts +0 -1
  91. package/dist/{skills → types/skills}/tools/monitor-tool.d.ts +0 -1
  92. package/dist/{skills → types/skills}/tools/music-generate-tool.d.ts +0 -1
  93. package/dist/{skills → types/skills}/tools/notify-tool.d.ts +0 -1
  94. package/dist/{skills → types/skills}/tools/patch-tool.d.ts +0 -1
  95. package/dist/{skills → types/skills}/tools/pdf-tool.d.ts +0 -1
  96. package/dist/{skills → types/skills}/tools/plan-mode-tool.d.ts +0 -1
  97. package/dist/{skills → types/skills}/tools/read-tool.d.ts +0 -1
  98. package/dist/{skills → types/skills}/tools/repl-tool.d.ts +0 -1
  99. package/dist/{skills → types/skills}/tools/search-tool.d.ts +0 -1
  100. package/dist/{skills → types/skills}/tools/send-message-tool.d.ts +0 -1
  101. package/dist/{skills → types/skills}/tools/skill-list-tool.d.ts +0 -1
  102. package/dist/{skills → types/skills}/tools/skill-manage-tool.d.ts +0 -1
  103. package/dist/{skills → types/skills}/tools/skill-view-tool.d.ts +0 -1
  104. package/dist/{skills → types/skills}/tools/sleep-tool.d.ts +0 -1
  105. package/dist/{skills → types/skills}/tools/structured-output-tool.d.ts +0 -1
  106. package/dist/{skills → types/skills}/tools/task-tool.d.ts +0 -1
  107. package/dist/{skills → types/skills}/tools/team-tool.d.ts +0 -1
  108. package/dist/{skills → types/skills}/tools/tool-search-tool.d.ts +0 -1
  109. package/dist/{skills → types/skills}/tools/tts-tool.d.ts +0 -1
  110. package/dist/{skills → types/skills}/tools/video-edit-tool.d.ts +0 -1
  111. package/dist/{skills → types/skills}/tools/video-generate-tool.d.ts +0 -1
  112. package/dist/{skills → types/skills}/tools/video-merge-tool.d.ts +0 -1
  113. package/dist/{skills → types/skills}/tools/video-upscale-tool.d.ts +0 -1
  114. package/dist/{skills → types/skills}/tools/web-fetch-tool.d.ts +0 -1
  115. package/dist/{skills → types/skills}/tools/web-search-tool.d.ts +0 -1
  116. package/dist/{skills → types/skills}/tools/worktree-tool.d.ts +0 -1
  117. package/dist/{skills → types/skills}/tools/write-tool.d.ts +0 -1
  118. package/package.json +56 -42
  119. package/dist/agent/agent.d.ts.map +0 -1
  120. package/dist/agent/agent.js +0 -114
  121. package/dist/agent/agent.js.map +0 -1
  122. package/dist/agent/tool-loop.d.ts.map +0 -1
  123. package/dist/agent/tool-loop.js +0 -576
  124. package/dist/agent/tool-loop.js.map +0 -1
  125. package/dist/agent/types.d.ts.map +0 -1
  126. package/dist/agent/types.js +0 -15
  127. package/dist/agent/types.js.map +0 -1
  128. package/dist/cli/main.d.ts.map +0 -1
  129. package/dist/cli/main.js +0 -24
  130. package/dist/cli/main.js.map +0 -1
  131. package/dist/cli/stdio-server.d.ts.map +0 -1
  132. package/dist/cli/stdio-server.js +0 -464
  133. package/dist/cli/stdio-server.js.map +0 -1
  134. package/dist/config/config.d.ts.map +0 -1
  135. package/dist/config/config.js +0 -22
  136. package/dist/config/config.js.map +0 -1
  137. package/dist/contracts/hooks.d.ts.map +0 -1
  138. package/dist/contracts/hooks.js +0 -8
  139. package/dist/contracts/hooks.js.map +0 -1
  140. package/dist/contracts/index.d.ts +0 -11
  141. package/dist/contracts/index.d.ts.map +0 -1
  142. package/dist/contracts/index.js.map +0 -1
  143. package/dist/contracts/planner.d.ts.map +0 -1
  144. package/dist/contracts/planner.js +0 -3
  145. package/dist/contracts/planner.js.map +0 -1
  146. package/dist/contracts/skill-candidate.d.ts.map +0 -1
  147. package/dist/contracts/skill-candidate.js +0 -196
  148. package/dist/contracts/skill-candidate.js.map +0 -1
  149. package/dist/contracts/todo.d.ts.map +0 -1
  150. package/dist/contracts/todo.js +0 -10
  151. package/dist/contracts/todo.js.map +0 -1
  152. package/dist/index.d.ts.map +0 -1
  153. package/dist/index.js.map +0 -1
  154. package/dist/llm/builtin-providers.d.ts.map +0 -1
  155. package/dist/llm/builtin-providers.js +0 -532
  156. package/dist/llm/builtin-providers.js.map +0 -1
  157. package/dist/llm/index.d.ts.map +0 -1
  158. package/dist/llm/index.js +0 -15
  159. package/dist/llm/index.js.map +0 -1
  160. package/dist/llm/llm-client.d.ts.map +0 -1
  161. package/dist/llm/llm-client.js +0 -68
  162. package/dist/llm/llm-client.js.map +0 -1
  163. package/dist/llm/model-catalog.d.ts.map +0 -1
  164. package/dist/llm/model-catalog.js +0 -192
  165. package/dist/llm/model-catalog.js.map +0 -1
  166. package/dist/llm/provider-def.d.ts.map +0 -1
  167. package/dist/llm/provider-def.js +0 -13
  168. package/dist/llm/provider-def.js.map +0 -1
  169. package/dist/llm/provider-registry.d.ts.map +0 -1
  170. package/dist/llm/provider-registry.js +0 -148
  171. package/dist/llm/provider-registry.js.map +0 -1
  172. package/dist/llm/transport.d.ts.map +0 -1
  173. package/dist/llm/transport.js +0 -28
  174. package/dist/llm/transport.js.map +0 -1
  175. package/dist/llm/transports/anthropic-messages.d.ts.map +0 -1
  176. package/dist/llm/transports/anthropic-messages.js +0 -294
  177. package/dist/llm/transports/anthropic-messages.js.map +0 -1
  178. package/dist/llm/transports/openai-chat.d.ts.map +0 -1
  179. package/dist/llm/transports/openai-chat.js +0 -166
  180. package/dist/llm/transports/openai-chat.js.map +0 -1
  181. package/dist/orchestration/agent-registry.d.ts.map +0 -1
  182. package/dist/orchestration/agent-registry.js +0 -117
  183. package/dist/orchestration/agent-registry.js.map +0 -1
  184. package/dist/orchestration/approval-aware-tool-plan.d.ts.map +0 -1
  185. package/dist/orchestration/approval-aware-tool-plan.js +0 -88
  186. package/dist/orchestration/approval-aware-tool-plan.js.map +0 -1
  187. package/dist/orchestration/context-compression.d.ts.map +0 -1
  188. package/dist/orchestration/context-compression.js +0 -584
  189. package/dist/orchestration/context-compression.js.map +0 -1
  190. package/dist/orchestration/conversation-repair.d.ts.map +0 -1
  191. package/dist/orchestration/conversation-repair.js +0 -430
  192. package/dist/orchestration/conversation-repair.js.map +0 -1
  193. package/dist/orchestration/curator-scheduler.d.ts.map +0 -1
  194. package/dist/orchestration/curator-scheduler.js +0 -136
  195. package/dist/orchestration/curator-scheduler.js.map +0 -1
  196. package/dist/orchestration/embedded-failover-policy.d.ts.map +0 -1
  197. package/dist/orchestration/embedded-failover-policy.js +0 -169
  198. package/dist/orchestration/embedded-failover-policy.js.map +0 -1
  199. package/dist/orchestration/error-classification.d.ts.map +0 -1
  200. package/dist/orchestration/error-classification.js +0 -78
  201. package/dist/orchestration/error-classification.js.map +0 -1
  202. package/dist/orchestration/failover-classification.d.ts.map +0 -1
  203. package/dist/orchestration/failover-classification.js +0 -382
  204. package/dist/orchestration/failover-classification.js.map +0 -1
  205. package/dist/orchestration/failover-error.d.ts.map +0 -1
  206. package/dist/orchestration/failover-error.js +0 -199
  207. package/dist/orchestration/failover-error.js.map +0 -1
  208. package/dist/orchestration/fork-subagent.d.ts.map +0 -1
  209. package/dist/orchestration/fork-subagent.js +0 -99
  210. package/dist/orchestration/fork-subagent.js.map +0 -1
  211. package/dist/orchestration/index.d.ts.map +0 -1
  212. package/dist/orchestration/index.js +0 -268
  213. package/dist/orchestration/index.js.map +0 -1
  214. package/dist/orchestration/memory-flush-policy.d.ts.map +0 -1
  215. package/dist/orchestration/memory-flush-policy.js +0 -86
  216. package/dist/orchestration/memory-flush-policy.js.map +0 -1
  217. package/dist/orchestration/memory-provider.d.ts.map +0 -1
  218. package/dist/orchestration/memory-provider.js +0 -3
  219. package/dist/orchestration/memory-provider.js.map +0 -1
  220. package/dist/orchestration/parallel-tool-calls.d.ts.map +0 -1
  221. package/dist/orchestration/parallel-tool-calls.js +0 -60
  222. package/dist/orchestration/parallel-tool-calls.js.map +0 -1
  223. package/dist/orchestration/prompt-cache-strategy.d.ts.map +0 -1
  224. package/dist/orchestration/prompt-cache-strategy.js +0 -229
  225. package/dist/orchestration/prompt-cache-strategy.js.map +0 -1
  226. package/dist/orchestration/reactive-compact.d.ts.map +0 -1
  227. package/dist/orchestration/reactive-compact.js +0 -79
  228. package/dist/orchestration/reactive-compact.js.map +0 -1
  229. package/dist/orchestration/retry-loop.d.ts.map +0 -1
  230. package/dist/orchestration/retry-loop.js +0 -25
  231. package/dist/orchestration/retry-loop.js.map +0 -1
  232. package/dist/orchestration/skill-candidate.d.ts.map +0 -1
  233. package/dist/orchestration/skill-candidate.js +0 -142
  234. package/dist/orchestration/skill-candidate.js.map +0 -1
  235. package/dist/orchestration/skill-consolidation.d.ts.map +0 -1
  236. package/dist/orchestration/skill-consolidation.js +0 -221
  237. package/dist/orchestration/skill-consolidation.js.map +0 -1
  238. package/dist/orchestration/skill-improvement.d.ts.map +0 -1
  239. package/dist/orchestration/skill-improvement.js +0 -67
  240. package/dist/orchestration/skill-improvement.js.map +0 -1
  241. package/dist/orchestration/skill-similarity.d.ts.map +0 -1
  242. package/dist/orchestration/skill-similarity.js +0 -132
  243. package/dist/orchestration/skill-similarity.js.map +0 -1
  244. package/dist/orchestration/streaming-tool-executor.d.ts.map +0 -1
  245. package/dist/orchestration/streaming-tool-executor.js +0 -97
  246. package/dist/orchestration/streaming-tool-executor.js.map +0 -1
  247. package/dist/orchestration/team-orchestration.d.ts.map +0 -1
  248. package/dist/orchestration/team-orchestration.js +0 -370
  249. package/dist/orchestration/team-orchestration.js.map +0 -1
  250. package/dist/orchestration/team-tool-loop-wiring.d.ts.map +0 -1
  251. package/dist/orchestration/team-tool-loop-wiring.js +0 -148
  252. package/dist/orchestration/team-tool-loop-wiring.js.map +0 -1
  253. package/dist/orchestration/tool-choice-policy.d.ts.map +0 -1
  254. package/dist/orchestration/tool-choice-policy.js +0 -165
  255. package/dist/orchestration/tool-choice-policy.js.map +0 -1
  256. package/dist/orchestration/tool-loop-state.d.ts.map +0 -1
  257. package/dist/orchestration/tool-loop-state.js +0 -134
  258. package/dist/orchestration/tool-loop-state.js.map +0 -1
  259. package/dist/orchestration/tool-schema.d.ts.map +0 -1
  260. package/dist/orchestration/tool-schema.js +0 -298
  261. package/dist/orchestration/tool-schema.js.map +0 -1
  262. package/dist/orchestration/transcript-repair.d.ts.map +0 -1
  263. package/dist/orchestration/transcript-repair.js +0 -427
  264. package/dist/orchestration/transcript-repair.js.map +0 -1
  265. package/dist/orchestration/turn-loop-guard.d.ts.map +0 -1
  266. package/dist/orchestration/turn-loop-guard.js +0 -93
  267. package/dist/orchestration/turn-loop-guard.js.map +0 -1
  268. package/dist/orchestration/web-browser-policy.d.ts.map +0 -1
  269. package/dist/orchestration/web-browser-policy.js +0 -40
  270. package/dist/orchestration/web-browser-policy.js.map +0 -1
  271. package/dist/runtime/context-compression.d.ts.map +0 -1
  272. package/dist/runtime/context-compression.js +0 -275
  273. package/dist/runtime/context-compression.js.map +0 -1
  274. package/dist/runtime/hook-registry.d.ts.map +0 -1
  275. package/dist/runtime/hook-registry.js +0 -54
  276. package/dist/runtime/hook-registry.js.map +0 -1
  277. package/dist/runtime/memory-hooks.d.ts.map +0 -1
  278. package/dist/runtime/memory-hooks.js +0 -66
  279. package/dist/runtime/memory-hooks.js.map +0 -1
  280. package/dist/runtime/tool-eligibility.d.ts.map +0 -1
  281. package/dist/runtime/tool-eligibility.js +0 -112
  282. package/dist/runtime/tool-eligibility.js.map +0 -1
  283. package/dist/skills/index.d.ts.map +0 -1
  284. package/dist/skills/index.js +0 -83
  285. package/dist/skills/index.js.map +0 -1
  286. package/dist/skills/memory-extractor.d.ts.map +0 -1
  287. package/dist/skills/memory-extractor.js +0 -174
  288. package/dist/skills/memory-extractor.js.map +0 -1
  289. package/dist/skills/memory-query-tool.d.ts.map +0 -1
  290. package/dist/skills/memory-query-tool.js +0 -128
  291. package/dist/skills/memory-query-tool.js.map +0 -1
  292. package/dist/skills/memory-store.d.ts.map +0 -1
  293. package/dist/skills/memory-store.js +0 -229
  294. package/dist/skills/memory-store.js.map +0 -1
  295. package/dist/skills/memory-tool.d.ts.map +0 -1
  296. package/dist/skills/memory-tool.js +0 -193
  297. package/dist/skills/memory-tool.js.map +0 -1
  298. package/dist/skills/portable-tool.d.ts.map +0 -1
  299. package/dist/skills/portable-tool.js +0 -15
  300. package/dist/skills/portable-tool.js.map +0 -1
  301. package/dist/skills/qmemory-adapter.d.ts.map +0 -1
  302. package/dist/skills/qmemory-adapter.js +0 -166
  303. package/dist/skills/qmemory-adapter.js.map +0 -1
  304. package/dist/skills/skill-frontmatter.d.ts.map +0 -1
  305. package/dist/skills/skill-frontmatter.js +0 -345
  306. package/dist/skills/skill-frontmatter.js.map +0 -1
  307. package/dist/skills/skill-guard.d.ts.map +0 -1
  308. package/dist/skills/skill-guard.js +0 -230
  309. package/dist/skills/skill-guard.js.map +0 -1
  310. package/dist/skills/skill-loader.d.ts.map +0 -1
  311. package/dist/skills/skill-loader.js +0 -304
  312. package/dist/skills/skill-loader.js.map +0 -1
  313. package/dist/skills/skill-source.d.ts.map +0 -1
  314. package/dist/skills/skill-source.js +0 -127
  315. package/dist/skills/skill-source.js.map +0 -1
  316. package/dist/skills/skill-types.d.ts.map +0 -1
  317. package/dist/skills/skill-types.js +0 -7
  318. package/dist/skills/skill-types.js.map +0 -1
  319. package/dist/skills/think-tool.d.ts.map +0 -1
  320. package/dist/skills/think-tool.js +0 -60
  321. package/dist/skills/think-tool.js.map +0 -1
  322. package/dist/skills/todo-tool.d.ts.map +0 -1
  323. package/dist/skills/todo-tool.js +0 -115
  324. package/dist/skills/todo-tool.js.map +0 -1
  325. package/dist/skills/tools/agent-tool.d.ts.map +0 -1
  326. package/dist/skills/tools/agent-tool.js +0 -143
  327. package/dist/skills/tools/agent-tool.js.map +0 -1
  328. package/dist/skills/tools/apply-patch-tool.d.ts.map +0 -1
  329. package/dist/skills/tools/apply-patch-tool.js +0 -185
  330. package/dist/skills/tools/apply-patch-tool.js.map +0 -1
  331. package/dist/skills/tools/ask-user-tool.d.ts.map +0 -1
  332. package/dist/skills/tools/ask-user-tool.js +0 -122
  333. package/dist/skills/tools/ask-user-tool.js.map +0 -1
  334. package/dist/skills/tools/brief-tool.d.ts.map +0 -1
  335. package/dist/skills/tools/brief-tool.js +0 -96
  336. package/dist/skills/tools/brief-tool.js.map +0 -1
  337. package/dist/skills/tools/browser-tool.d.ts.map +0 -1
  338. package/dist/skills/tools/browser-tool.js +0 -156
  339. package/dist/skills/tools/browser-tool.js.map +0 -1
  340. package/dist/skills/tools/checkpoint-tool.d.ts.map +0 -1
  341. package/dist/skills/tools/checkpoint-tool.js +0 -103
  342. package/dist/skills/tools/checkpoint-tool.js.map +0 -1
  343. package/dist/skills/tools/config-tool.d.ts.map +0 -1
  344. package/dist/skills/tools/config-tool.js +0 -144
  345. package/dist/skills/tools/config-tool.js.map +0 -1
  346. package/dist/skills/tools/cron-tool.d.ts.map +0 -1
  347. package/dist/skills/tools/cron-tool.js +0 -176
  348. package/dist/skills/tools/cron-tool.js.map +0 -1
  349. package/dist/skills/tools/edit-tool.d.ts.map +0 -1
  350. package/dist/skills/tools/edit-tool.js +0 -71
  351. package/dist/skills/tools/edit-tool.js.map +0 -1
  352. package/dist/skills/tools/exec-tool.d.ts.map +0 -1
  353. package/dist/skills/tools/exec-tool.js +0 -134
  354. package/dist/skills/tools/exec-tool.js.map +0 -1
  355. package/dist/skills/tools/image-generate-tool.d.ts.map +0 -1
  356. package/dist/skills/tools/image-generate-tool.js +0 -68
  357. package/dist/skills/tools/image-generate-tool.js.map +0 -1
  358. package/dist/skills/tools/instructions-tool.d.ts.map +0 -1
  359. package/dist/skills/tools/instructions-tool.js +0 -188
  360. package/dist/skills/tools/instructions-tool.js.map +0 -1
  361. package/dist/skills/tools/lsp-tool.d.ts.map +0 -1
  362. package/dist/skills/tools/lsp-tool.js +0 -228
  363. package/dist/skills/tools/lsp-tool.js.map +0 -1
  364. package/dist/skills/tools/mcp-client-types.d.ts.map +0 -1
  365. package/dist/skills/tools/mcp-client-types.js +0 -54
  366. package/dist/skills/tools/mcp-client-types.js.map +0 -1
  367. package/dist/skills/tools/mcp-tool.d.ts.map +0 -1
  368. package/dist/skills/tools/mcp-tool.js +0 -504
  369. package/dist/skills/tools/mcp-tool.js.map +0 -1
  370. package/dist/skills/tools/memory-tool.d.ts.map +0 -1
  371. package/dist/skills/tools/memory-tool.js +0 -89
  372. package/dist/skills/tools/memory-tool.js.map +0 -1
  373. package/dist/skills/tools/monitor-tool.d.ts.map +0 -1
  374. package/dist/skills/tools/monitor-tool.js +0 -132
  375. package/dist/skills/tools/monitor-tool.js.map +0 -1
  376. package/dist/skills/tools/music-generate-tool.d.ts.map +0 -1
  377. package/dist/skills/tools/music-generate-tool.js +0 -63
  378. package/dist/skills/tools/music-generate-tool.js.map +0 -1
  379. package/dist/skills/tools/notify-tool.d.ts.map +0 -1
  380. package/dist/skills/tools/notify-tool.js +0 -63
  381. package/dist/skills/tools/notify-tool.js.map +0 -1
  382. package/dist/skills/tools/patch-tool.d.ts.map +0 -1
  383. package/dist/skills/tools/patch-tool.js +0 -506
  384. package/dist/skills/tools/patch-tool.js.map +0 -1
  385. package/dist/skills/tools/pdf-tool.d.ts.map +0 -1
  386. package/dist/skills/tools/pdf-tool.js +0 -89
  387. package/dist/skills/tools/pdf-tool.js.map +0 -1
  388. package/dist/skills/tools/plan-mode-tool.d.ts.map +0 -1
  389. package/dist/skills/tools/plan-mode-tool.js +0 -123
  390. package/dist/skills/tools/plan-mode-tool.js.map +0 -1
  391. package/dist/skills/tools/read-tool.d.ts.map +0 -1
  392. package/dist/skills/tools/read-tool.js +0 -85
  393. package/dist/skills/tools/read-tool.js.map +0 -1
  394. package/dist/skills/tools/repl-tool.d.ts.map +0 -1
  395. package/dist/skills/tools/repl-tool.js +0 -70
  396. package/dist/skills/tools/repl-tool.js.map +0 -1
  397. package/dist/skills/tools/search-tool.d.ts.map +0 -1
  398. package/dist/skills/tools/search-tool.js +0 -226
  399. package/dist/skills/tools/search-tool.js.map +0 -1
  400. package/dist/skills/tools/send-message-tool.d.ts.map +0 -1
  401. package/dist/skills/tools/send-message-tool.js +0 -77
  402. package/dist/skills/tools/send-message-tool.js.map +0 -1
  403. package/dist/skills/tools/skill-list-tool.d.ts.map +0 -1
  404. package/dist/skills/tools/skill-list-tool.js +0 -55
  405. package/dist/skills/tools/skill-list-tool.js.map +0 -1
  406. package/dist/skills/tools/skill-manage-tool.d.ts.map +0 -1
  407. package/dist/skills/tools/skill-manage-tool.js +0 -154
  408. package/dist/skills/tools/skill-manage-tool.js.map +0 -1
  409. package/dist/skills/tools/skill-view-tool.d.ts.map +0 -1
  410. package/dist/skills/tools/skill-view-tool.js +0 -73
  411. package/dist/skills/tools/skill-view-tool.js.map +0 -1
  412. package/dist/skills/tools/sleep-tool.d.ts.map +0 -1
  413. package/dist/skills/tools/sleep-tool.js +0 -82
  414. package/dist/skills/tools/sleep-tool.js.map +0 -1
  415. package/dist/skills/tools/structured-output-tool.d.ts.map +0 -1
  416. package/dist/skills/tools/structured-output-tool.js +0 -177
  417. package/dist/skills/tools/structured-output-tool.js.map +0 -1
  418. package/dist/skills/tools/task-tool.d.ts.map +0 -1
  419. package/dist/skills/tools/task-tool.js +0 -162
  420. package/dist/skills/tools/task-tool.js.map +0 -1
  421. package/dist/skills/tools/team-tool.d.ts.map +0 -1
  422. package/dist/skills/tools/team-tool.js +0 -106
  423. package/dist/skills/tools/team-tool.js.map +0 -1
  424. package/dist/skills/tools/tool-search-tool.d.ts.map +0 -1
  425. package/dist/skills/tools/tool-search-tool.js +0 -111
  426. package/dist/skills/tools/tool-search-tool.js.map +0 -1
  427. package/dist/skills/tools/tts-tool.d.ts.map +0 -1
  428. package/dist/skills/tools/tts-tool.js +0 -46
  429. package/dist/skills/tools/tts-tool.js.map +0 -1
  430. package/dist/skills/tools/video-edit-tool.d.ts.map +0 -1
  431. package/dist/skills/tools/video-edit-tool.js +0 -75
  432. package/dist/skills/tools/video-edit-tool.js.map +0 -1
  433. package/dist/skills/tools/video-generate-tool.d.ts.map +0 -1
  434. package/dist/skills/tools/video-generate-tool.js +0 -67
  435. package/dist/skills/tools/video-generate-tool.js.map +0 -1
  436. package/dist/skills/tools/video-merge-tool.d.ts.map +0 -1
  437. package/dist/skills/tools/video-merge-tool.js +0 -93
  438. package/dist/skills/tools/video-merge-tool.js.map +0 -1
  439. package/dist/skills/tools/video-upscale-tool.d.ts.map +0 -1
  440. package/dist/skills/tools/video-upscale-tool.js +0 -53
  441. package/dist/skills/tools/video-upscale-tool.js.map +0 -1
  442. package/dist/skills/tools/web-fetch-tool.d.ts.map +0 -1
  443. package/dist/skills/tools/web-fetch-tool.js +0 -93
  444. package/dist/skills/tools/web-fetch-tool.js.map +0 -1
  445. package/dist/skills/tools/web-search-tool.d.ts.map +0 -1
  446. package/dist/skills/tools/web-search-tool.js +0 -87
  447. package/dist/skills/tools/web-search-tool.js.map +0 -1
  448. package/dist/skills/tools/worktree-tool.d.ts.map +0 -1
  449. package/dist/skills/tools/worktree-tool.js +0 -148
  450. package/dist/skills/tools/worktree-tool.js.map +0 -1
  451. package/dist/skills/tools/write-tool.d.ts.map +0 -1
  452. package/dist/skills/tools/write-tool.js +0 -82
  453. package/dist/skills/tools/write-tool.js.map +0 -1
@@ -1,504 +0,0 @@
1
- // ============================================================
2
- // MCP Tool — Full Model Context Protocol integration.
3
- //
4
- // Matches Claude Code MCP depth:
5
- // - Complete transport abstraction (stdio/SSE/HTTP/WS/in-process)
6
- // - Full OAuth flow with PKCE + token lifecycle + step-up auth
7
- // - Dynamic tool injection/removal (tools/list_changed protocol)
8
- // - Resource discovery + binary blob persistence
9
- // - Prompt support (list + get)
10
- // - Server lifecycle management (add/remove/restart/healthCheck)
11
- // - Elicitation support (server→user consent requests)
12
- //
13
- // Reference: claude-code-haha/src/services/mcp/ (full client SDK)
14
- // claude-code-haha/src/tools/MCPTool/MCPTool.ts
15
- // claude-code-haha/src/tools/McpAuthTool/McpAuthTool.ts
16
- // claude-code-haha/src/tools/ListMcpResourcesTool/
17
- // claude-code-haha/src/tools/ReadMcpResourceTool/
18
- // ============================================================
19
- import { normalizeNameForMcp } from "./mcp-client-types.js";
20
- // Re-export name utilities
21
- export { normalizeNameForMcp, buildMcpToolName, getMcpServerPrefix, parseMcpToolName, isMcpToolName, MCP_CONNECTION_TIMEOUT_MS, MCP_REQUEST_TIMEOUT_MS, MCP_TOOL_CALL_TIMEOUT_MS, MCP_MAX_RECONNECT_ATTEMPTS, MCP_MAX_DESCRIPTION_LENGTH, } from "./mcp-client-types.js";
22
- // ── Tool Name & Schema ──────────────────────────────────────
23
- export const MCP_TOOL_NAME = "mcp";
24
- export const MCP_TOOL_SCHEMA = {
25
- type: "object",
26
- properties: {
27
- action: {
28
- type: "string",
29
- enum: [
30
- "list_servers", "list_tools", "call_tool",
31
- "list_resources", "read_resource",
32
- "list_prompts", "get_prompt",
33
- "authenticate", "manage_server",
34
- ],
35
- description: "MCP action:\n" +
36
- "- list_servers: List configured MCP servers, their status and capabilities\n" +
37
- "- list_tools: List tools provided by a specific server\n" +
38
- "- call_tool: Execute a tool on an MCP server\n" +
39
- "- list_resources: List resources from a server (or all servers)\n" +
40
- "- read_resource: Read a specific resource by URI\n" +
41
- "- list_prompts: List prompts available from a server\n" +
42
- "- get_prompt: Get a specific prompt with arguments\n" +
43
- "- authenticate: Initiate OAuth authentication with a server\n" +
44
- "- manage_server: Add, remove, restart, or check server status",
45
- },
46
- server: {
47
- type: "string",
48
- description: "MCP server name. Required for all actions except list_servers.",
49
- },
50
- toolName: {
51
- type: "string",
52
- description: "Tool name on the MCP server. Required for call_tool.",
53
- },
54
- arguments: {
55
- type: "object",
56
- description: "Arguments for the tool call or prompt. Used with call_tool and get_prompt.",
57
- },
58
- uri: {
59
- type: "string",
60
- description: "Resource URI. Required for read_resource.",
61
- },
62
- promptName: {
63
- type: "string",
64
- description: "Prompt name. Required for get_prompt.",
65
- },
66
- manageAction: {
67
- type: "string",
68
- enum: ["add", "remove", "restart", "health_check", "enable", "disable"],
69
- description: "Sub-action for manage_server.",
70
- },
71
- config: {
72
- type: "object",
73
- description: "Server configuration. Required for manage_server add.",
74
- },
75
- },
76
- required: ["action"],
77
- };
78
- // ── Tool Factory ────────────────────────────────────────────
79
- export function createMcpTool(deps) {
80
- return {
81
- name: MCP_TOOL_NAME,
82
- label: "MCP",
83
- description: "Interact with external MCP (Model Context Protocol) servers. " +
84
- "Discover and call tools, read resources, get prompts, manage servers, " +
85
- "and handle authentication. MCP servers extend agent capabilities with " +
86
- "external integrations (databases, APIs, code analysis, custom tools).\n\n" +
87
- "Dynamic tools: When MCP servers are connected, their tools also appear " +
88
- "as individual entries in the tool list (prefixed mcp__server__tool) for " +
89
- "direct invocation without going through this management tool.",
90
- parameters: MCP_TOOL_SCHEMA,
91
- shouldDefer: true,
92
- execute: async (_toolCallId, params, signal) => {
93
- switch (params.action) {
94
- // ─── list_servers ─────────────────────────────────
95
- case "list_servers": {
96
- const servers = await deps.listServers();
97
- if (servers.length === 0) {
98
- return {
99
- content: [{ type: "text", text: "No MCP servers configured. Use manage_server action to add one." }],
100
- details: { type: "mcp", action: "list_servers", count: 0 },
101
- };
102
- }
103
- const lines = [`MCP Servers (${servers.length}):`, ""];
104
- for (const s of servers) {
105
- const icon = statusIcon(s.status);
106
- lines.push(`${icon} **${s.name}** [${s.transport}] — ${s.status}`);
107
- lines.push(` Tools: ${s.toolCount} | Resources: ${s.resourceCount} | Prompts: ${s.promptCount}`);
108
- if (s.capabilities) {
109
- const caps = [];
110
- if (s.capabilities.tools?.listChanged)
111
- caps.push("tools/listChanged");
112
- if (s.capabilities.resources?.subscribe)
113
- caps.push("resources/subscribe");
114
- if (s.capabilities.prompts?.listChanged)
115
- caps.push("prompts/listChanged");
116
- if (caps.length > 0)
117
- lines.push(` Capabilities: ${caps.join(", ")}`);
118
- }
119
- if (s.serverVersion)
120
- lines.push(` Version: ${s.serverVersion}`);
121
- if (s.error)
122
- lines.push(` ⚠ Error: ${s.error}`);
123
- lines.push("");
124
- }
125
- return {
126
- content: [{ type: "text", text: lines.join("\n") }],
127
- details: { type: "mcp", action: "list_servers", count: servers.length },
128
- };
129
- }
130
- // ─── list_tools ───────────────────────────────────
131
- case "list_tools": {
132
- if (!params.server) {
133
- return errResult("server is required for list_tools.");
134
- }
135
- const tools = await deps.listTools(params.server);
136
- if (tools.length === 0) {
137
- return {
138
- content: [{ type: "text", text: `No tools available from server "${params.server}".` }],
139
- details: { type: "mcp", action: "list_tools", server: params.server, count: 0 },
140
- };
141
- }
142
- const lines = [`Tools from "${params.server}" (${tools.length}):`, ""];
143
- for (const t of tools) {
144
- const annBadges = formatAnnotations(t.annotations);
145
- lines.push(`- **${t.name}**${annBadges}${t.description ? `: ${t.description}` : ""}`);
146
- if (t.prefixedName)
147
- lines.push(` Direct call: \`${t.prefixedName}\``);
148
- }
149
- return {
150
- content: [{ type: "text", text: lines.join("\n") }],
151
- details: { type: "mcp", action: "list_tools", server: params.server, count: tools.length },
152
- };
153
- }
154
- // ─── call_tool ────────────────────────────────────
155
- case "call_tool": {
156
- if (!params.server)
157
- return errResult("server is required for call_tool.");
158
- if (!params.toolName)
159
- return errResult("toolName is required for call_tool.");
160
- const result = await deps.callTool(params.server, params.toolName, params.arguments, signal);
161
- if (!result.success || result.isError) {
162
- return {
163
- content: [{ type: "text", text: `MCP tool error (${params.server}/${params.toolName}): ${result.error || result.content || "unknown error"}` }],
164
- details: { type: "mcp", action: "call_tool", server: params.server, toolName: params.toolName, success: false },
165
- };
166
- }
167
- // Handle structured content blocks (images, etc.)
168
- if (result.contentBlocks && result.contentBlocks.length > 0) {
169
- const content = result.contentBlocks.map(block => {
170
- if (block.type === "image" && block.data) {
171
- return { type: "image", data: block.data, mimeType: block.mimeType };
172
- }
173
- return { type: "text", text: block.text || "" };
174
- });
175
- return {
176
- content,
177
- details: { type: "mcp", action: "call_tool", server: params.server, toolName: params.toolName, success: true },
178
- };
179
- }
180
- return {
181
- content: [{ type: "text", text: result.content || "(no output)" }],
182
- details: { type: "mcp", action: "call_tool", server: params.server, toolName: params.toolName, success: true },
183
- };
184
- }
185
- // ─── list_resources ───────────────────────────────
186
- case "list_resources": {
187
- const resources = await deps.listResources(params.server);
188
- if (resources.length === 0) {
189
- return {
190
- content: [{ type: "text", text: params.server ? `No resources from "${params.server}".` : "No MCP resources available." }],
191
- details: { type: "mcp", action: "list_resources", count: 0 },
192
- };
193
- }
194
- const lines = [`MCP Resources (${resources.length}):`, ""];
195
- for (const r of resources) {
196
- lines.push(`- **${r.name}** \`${r.uri}\`${r.mimeType ? ` [${r.mimeType}]` : ""}`);
197
- if (r.description)
198
- lines.push(` ${r.description}`);
199
- if (r.server)
200
- lines.push(` Server: ${r.server}`);
201
- }
202
- return {
203
- content: [{ type: "text", text: lines.join("\n") }],
204
- details: { type: "mcp", action: "list_resources", count: resources.length, server: params.server },
205
- };
206
- }
207
- // ─── read_resource ────────────────────────────────
208
- case "read_resource": {
209
- if (!params.server)
210
- return errResult("server is required for read_resource.");
211
- if (!params.uri)
212
- return errResult("uri is required for read_resource.");
213
- const contents = await deps.readResource(params.server, params.uri);
214
- if (contents.length === 0) {
215
- return {
216
- content: [{ type: "text", text: "Resource returned no content." }],
217
- details: { type: "mcp", action: "read_resource", server: params.server, uri: params.uri },
218
- };
219
- }
220
- const resultContent = [];
221
- for (const c of contents) {
222
- if (c.blobSavedTo) {
223
- resultContent.push({ type: "text", text: `[Binary content saved to: ${c.blobSavedTo}${c.blobSize ? ` (${formatBytes(c.blobSize)})` : ""}]` });
224
- }
225
- else if (c.text) {
226
- resultContent.push({ type: "text", text: c.text });
227
- }
228
- }
229
- if (resultContent.length === 0) {
230
- resultContent.push({ type: "text", text: "(empty content)" });
231
- }
232
- return {
233
- content: resultContent,
234
- details: { type: "mcp", action: "read_resource", server: params.server, uri: params.uri },
235
- };
236
- }
237
- // ─── list_prompts ─────────────────────────────────
238
- case "list_prompts": {
239
- if (!params.server)
240
- return errResult("server is required for list_prompts.");
241
- if (!deps.listPrompts) {
242
- return errResult("Prompt listing not supported by the current MCP host.");
243
- }
244
- const prompts = await deps.listPrompts(params.server);
245
- if (prompts.length === 0) {
246
- return {
247
- content: [{ type: "text", text: `No prompts available from "${params.server}".` }],
248
- details: { type: "mcp", action: "list_prompts", server: params.server, count: 0 },
249
- };
250
- }
251
- const lines = [`Prompts from "${params.server}" (${prompts.length}):`, ""];
252
- for (const p of prompts) {
253
- lines.push(`- **${p.name}**${p.description ? `: ${p.description}` : ""}`);
254
- if (p.arguments && p.arguments.length > 0) {
255
- const argDescs = p.arguments.map(a => `${a.name}${a.required ? " (required)" : ""}${a.description ? `: ${a.description}` : ""}`);
256
- lines.push(` Arguments: ${argDescs.join(", ")}`);
257
- }
258
- }
259
- return {
260
- content: [{ type: "text", text: lines.join("\n") }],
261
- details: { type: "mcp", action: "list_prompts", server: params.server, count: prompts.length },
262
- };
263
- }
264
- // ─── get_prompt ───────────────────────────────────
265
- case "get_prompt": {
266
- if (!params.server)
267
- return errResult("server is required for get_prompt.");
268
- if (!params.promptName)
269
- return errResult("promptName is required for get_prompt.");
270
- if (!deps.getPrompt) {
271
- return errResult("Prompt retrieval not supported by the current MCP host.");
272
- }
273
- const stringArgs = params.arguments
274
- ? Object.fromEntries(Object.entries(params.arguments).map(([k, v]) => [k, String(v)]))
275
- : undefined;
276
- const result = await deps.getPrompt(params.server, params.promptName, stringArgs);
277
- const lines = [];
278
- if (result.description)
279
- lines.push(`> ${result.description}`, "");
280
- for (const msg of result.messages) {
281
- lines.push(`**[${msg.role}]:**`);
282
- if (msg.content.type === "text") {
283
- lines.push(msg.content.text);
284
- }
285
- else if (msg.content.type === "resource") {
286
- lines.push(`[Resource: ${msg.content.resource.uri}]`);
287
- if (msg.content.resource.text)
288
- lines.push(msg.content.resource.text);
289
- }
290
- else if (msg.content.type === "image") {
291
- lines.push("[Image content]");
292
- }
293
- lines.push("");
294
- }
295
- return {
296
- content: [{ type: "text", text: lines.join("\n") || "(empty prompt)" }],
297
- details: { type: "mcp", action: "get_prompt", server: params.server, promptName: params.promptName },
298
- };
299
- }
300
- // ─── authenticate ─────────────────────────────────
301
- case "authenticate": {
302
- if (!params.server)
303
- return errResult("server is required for authenticate.");
304
- const result = await deps.authenticate(params.server);
305
- switch (result.status) {
306
- case "auth_url":
307
- return {
308
- content: [{
309
- type: "text",
310
- text: `Authentication required for "${params.server}".\n\n` +
311
- `Please open this URL in your browser:\n${result.authUrl}\n\n` +
312
- `${result.message || "Once you complete authentication, the server's tools will become available automatically."}`,
313
- }],
314
- details: { type: "mcp", action: "authenticate", server: params.server, status: "auth_url" },
315
- };
316
- case "already_authenticated":
317
- return {
318
- content: [{ type: "text", text: `Server "${params.server}" is already authenticated.` }],
319
- details: { type: "mcp", action: "authenticate", server: params.server, status: "already_authenticated" },
320
- };
321
- case "step_up_required":
322
- return {
323
- content: [{
324
- type: "text",
325
- text: `Server "${params.server}" requires elevated permissions.\n` +
326
- `Required scopes: ${result.requiredScopes?.join(", ") || "unknown"}\n\n` +
327
- (result.authUrl ? `Re-authorize at: ${result.authUrl}` : "Please re-authenticate with elevated permissions."),
328
- }],
329
- details: { type: "mcp", action: "authenticate", server: params.server, status: "step_up_required" },
330
- };
331
- case "unsupported":
332
- return {
333
- content: [{ type: "text", text: `Authentication not supported for "${params.server}" (${result.message || "uses local transport"}).` }],
334
- details: { type: "mcp", action: "authenticate", server: params.server, status: "unsupported" },
335
- };
336
- default:
337
- return {
338
- content: [{ type: "text", text: `Authentication error for "${params.server}": ${result.message || "unknown error"}` }],
339
- details: { type: "mcp", action: "authenticate", server: params.server, status: "error" },
340
- };
341
- }
342
- }
343
- // ─── manage_server ────────────────────────────────
344
- case "manage_server": {
345
- if (!params.server)
346
- return errResult("server is required for manage_server.");
347
- if (!params.manageAction)
348
- return errResult("manageAction is required for manage_server.");
349
- switch (params.manageAction) {
350
- case "add": {
351
- if (!deps.addServer)
352
- return errResult("Server addition not supported by the current MCP host.");
353
- if (!params.config)
354
- return errResult("config is required for manage_server add.");
355
- const result = await deps.addServer(params.server, params.config);
356
- return manageResultToOutput("add", params.server, result);
357
- }
358
- case "remove": {
359
- if (!deps.removeServer)
360
- return errResult("Server removal not supported by the current MCP host.");
361
- const result = await deps.removeServer(params.server);
362
- return manageResultToOutput("remove", params.server, result);
363
- }
364
- case "restart": {
365
- if (!deps.restartServer)
366
- return errResult("Server restart not supported by the current MCP host.");
367
- const result = await deps.restartServer(params.server);
368
- return manageResultToOutput("restart", params.server, result);
369
- }
370
- case "health_check": {
371
- if (!deps.healthCheck)
372
- return errResult("Health check not supported by the current MCP host.");
373
- const result = await deps.healthCheck(params.server);
374
- return manageResultToOutput("health_check", params.server, result);
375
- }
376
- case "enable":
377
- case "disable": {
378
- if (!deps.setServerEnabled)
379
- return errResult("Server enable/disable not supported by the current MCP host.");
380
- const result = await deps.setServerEnabled(params.server, params.manageAction === "enable");
381
- return manageResultToOutput(params.manageAction, params.server, result);
382
- }
383
- default:
384
- return errResult(`Unknown manageAction: ${params.manageAction}`);
385
- }
386
- }
387
- default:
388
- return errResult(`Unknown action: "${params.action}".`);
389
- }
390
- },
391
- };
392
- }
393
- // ── Helpers ─────────────────────────────────────────────────
394
- function errResult(message) {
395
- return {
396
- content: [{ type: "text", text: `Error: ${message}` }],
397
- details: { type: "mcp", error: message },
398
- };
399
- }
400
- function statusIcon(status) {
401
- switch (status) {
402
- case "connected": return "✅";
403
- case "connecting": return "⏳";
404
- case "needs-auth": return "🔑";
405
- case "failed": return "❌";
406
- case "disconnected": return "⚪";
407
- case "disabled": return "🚫";
408
- default: return "❓";
409
- }
410
- }
411
- function formatAnnotations(annotations) {
412
- if (!annotations)
413
- return "";
414
- const badges = [];
415
- if (annotations.readOnlyHint)
416
- badges.push("📖");
417
- if (annotations.destructiveHint)
418
- badges.push("⚠️");
419
- if (annotations.idempotentHint)
420
- badges.push("♻️");
421
- return badges.length > 0 ? ` ${badges.join("")}` : "";
422
- }
423
- function formatBytes(bytes) {
424
- if (bytes < 1024)
425
- return `${bytes}B`;
426
- if (bytes < 1024 * 1024)
427
- return `${(bytes / 1024).toFixed(1)}KB`;
428
- return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
429
- }
430
- function manageResultToOutput(action, server, result) {
431
- const lines = [];
432
- lines.push(`${result.success ? "✅" : "❌"} ${action} "${server}": ${result.message}`);
433
- if (result.serverState) {
434
- lines.push("");
435
- lines.push(` Status: ${result.serverState.status}`);
436
- lines.push(` Tools: ${result.serverState.toolCount} | Resources: ${result.serverState.resourceCount}`);
437
- }
438
- return {
439
- content: [{ type: "text", text: lines.join("\n") }],
440
- details: { type: "mcp", action: "manage_server", manageAction: action, server, success: result.success },
441
- };
442
- }
443
- /**
444
- * Create a dynamic per-server authentication proxy tool.
445
- * One instance per unauthenticated MCP server.
446
- *
447
- * Tool name follows CC convention: `mcp__<normalizedServer>__authenticate`
448
- */
449
- export function createMcpAuthProxy(serverName, deps) {
450
- const normalizedName = normalizeNameForMcp(serverName);
451
- const toolName = `mcp__${normalizedName}__authenticate`;
452
- return {
453
- name: toolName,
454
- label: `Authenticate ${serverName}`,
455
- description: `Initiate OAuth authentication with the "${serverName}" MCP server. ` +
456
- `Call this when the server requires authentication before its tools can be used.`,
457
- parameters: {
458
- type: "object",
459
- properties: {},
460
- },
461
- isReadOnly: true,
462
- searchHint: `mcp auth oauth ${serverName} authenticate login`,
463
- execute: async (_toolCallId) => {
464
- const result = await deps.authenticate(serverName);
465
- switch (result.status) {
466
- case "auth_url":
467
- // Trigger background reconnect after auth
468
- if (deps.onAuthComplete) {
469
- // Fire-and-forget: host will reconnect in background
470
- deps.onAuthComplete(serverName).catch(() => { });
471
- }
472
- return {
473
- content: [{ type: "text", text: `Please authenticate with "${serverName}" at:\n${result.authUrl}` }],
474
- details: { type: "mcp_auth_proxy", server: serverName, status: "auth_url" },
475
- };
476
- case "already_authenticated":
477
- return {
478
- content: [{ type: "text", text: `Server "${serverName}" is already authenticated.` }],
479
- details: { type: "mcp_auth_proxy", server: serverName, status: "already_authenticated" },
480
- };
481
- case "step_up_required":
482
- return {
483
- content: [{
484
- type: "text",
485
- text: `Server "${serverName}" requires elevated permissions.\n` +
486
- (result.authUrl ? `Re-authorize at: ${result.authUrl}` : "Please re-authenticate with elevated permissions."),
487
- }],
488
- details: { type: "mcp_auth_proxy", server: serverName, status: "step_up_required" },
489
- };
490
- case "unsupported":
491
- return {
492
- content: [{ type: "text", text: `Server "${serverName}" does not support authentication (local transport).` }],
493
- details: { type: "mcp_auth_proxy", server: serverName, status: "unsupported" },
494
- };
495
- default:
496
- return {
497
- content: [{ type: "text", text: `Authentication failed for "${serverName}": ${result.message || "unknown"}` }],
498
- details: { type: "mcp_auth_proxy", server: serverName, status: "error", error: result.message },
499
- };
500
- }
501
- },
502
- };
503
- }
504
- //# sourceMappingURL=mcp-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../../src/skills/tools/mcp-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-tool.d.ts","sourceRoot":"","sources":["../../../src/skills/tools/memory-tool.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAE5E,eAAO,MAAM,uBAAuB,EAAG,eAAwB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B5B,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChC;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAyDvG"}
@@ -1,89 +0,0 @@
1
- // ============================================================
2
- // Memory Tool — enhanced memory query with multi-source search.
3
- // Reference: hermes-agent-main/tools/memory_tool.py
4
- // hermes-agent-main/tools/session_search_tool.py
5
- // Category: system
6
- // ============================================================
7
- export const MEMORY_SEARCH_TOOL_NAME = "memory_search";
8
- export const MEMORY_SEARCH_TOOL_SCHEMA = {
9
- type: "object",
10
- properties: {
11
- query: {
12
- type: "string",
13
- description: "Search query. Supports natural language and keywords.",
14
- },
15
- source: {
16
- type: "string",
17
- enum: ["memory", "sessions", "all"],
18
- description: "Where to search:\n" +
19
- '- "memory": curated long-term memory (QMemory vector store)\n' +
20
- '- "sessions": past conversation history (full-text search)\n' +
21
- '- "all": both sources merged (default)',
22
- },
23
- maxResults: {
24
- type: "number",
25
- description: "Maximum results to return (default: 5).",
26
- },
27
- after: {
28
- type: "string",
29
- description: "Only return sessions after this date (ISO format). Sessions source only.",
30
- },
31
- before: {
32
- type: "string",
33
- description: "Only return sessions before this date (ISO format). Sessions source only.",
34
- },
35
- },
36
- required: ["query"],
37
- };
38
- const DEFAULT_MAX_RESULTS = 5;
39
- export function createMemorySearchTool(deps) {
40
- return {
41
- name: MEMORY_SEARCH_TOOL_NAME,
42
- label: "Memory Query",
43
- description: "Search your long-term memory and past conversations. " +
44
- "Sources: 'memory' (curated knowledge), 'sessions' (conversation history), 'all' (both). " +
45
- "Use for recalling previous decisions, finding past code/scripts, or checking what was discussed.",
46
- parameters: MEMORY_SEARCH_TOOL_SCHEMA,
47
- execute: async (_toolCallId, params) => {
48
- if (!params.query || params.query.trim().length < 2) {
49
- return {
50
- content: [{ type: "text", text: "Error: query must be at least 2 characters." }],
51
- details: { type: "memory_query", error: "invalid_query" },
52
- };
53
- }
54
- const source = params.source || "all";
55
- const maxResults = Math.min(params.maxResults ?? DEFAULT_MAX_RESULTS, 20);
56
- const output = await deps.searchMemory({
57
- query: params.query.trim(),
58
- source,
59
- maxResults,
60
- after: params.after,
61
- before: params.before,
62
- });
63
- if (output.results.length === 0) {
64
- return {
65
- content: [{ type: "text", text: `No results found for "${params.query}" in ${source} source(s).` }],
66
- details: { type: "memory_query", query: params.query, source, resultCount: 0 },
67
- };
68
- }
69
- const lines = [`Found ${output.results.length} result(s) for "${params.query}":\n`];
70
- for (let i = 0; i < output.results.length; i++) {
71
- const entry = output.results[i];
72
- const srcLabel = entry.source === "memory" ? "📝 Memory" : "💬 Session";
73
- const meta = entry.metadata;
74
- const timestamp = meta?.timestamp ? ` (${meta.timestamp})` : "";
75
- lines.push(`${i + 1}. [${srcLabel}]${timestamp}`);
76
- if (meta?.summary) {
77
- lines.push(` Summary: ${meta.summary}`);
78
- }
79
- lines.push(` ${entry.content.slice(0, 300)}${entry.content.length > 300 ? "..." : ""}`);
80
- lines.push("");
81
- }
82
- return {
83
- content: [{ type: "text", text: lines.join("\n") }],
84
- details: { type: "memory_query", query: params.query, source, resultCount: output.results.length },
85
- };
86
- },
87
- };
88
- }
89
- //# sourceMappingURL=memory-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-tool.js","sourceRoot":"","sources":["../../../src/skills/tools/memory-tool.ts"],"names":[],"mappings":"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"}