kemdicode-mcp 1.15.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 (872) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +486 -0
  3. package/dist/ai/agents.d.ts +40 -0
  4. package/dist/ai/agents.d.ts.map +1 -0
  5. package/dist/ai/agents.js +164 -0
  6. package/dist/ai/agents.js.map +1 -0
  7. package/dist/ai/client.d.ts +73 -0
  8. package/dist/ai/client.d.ts.map +1 -0
  9. package/dist/ai/client.js +235 -0
  10. package/dist/ai/client.js.map +1 -0
  11. package/dist/ai/execute.d.ts +61 -0
  12. package/dist/ai/execute.d.ts.map +1 -0
  13. package/dist/ai/execute.js +98 -0
  14. package/dist/ai/execute.js.map +1 -0
  15. package/dist/ai/file-context.d.ts +44 -0
  16. package/dist/ai/file-context.d.ts.map +1 -0
  17. package/dist/ai/file-context.js +220 -0
  18. package/dist/ai/file-context.js.map +1 -0
  19. package/dist/ai/index.d.ts +14 -0
  20. package/dist/ai/index.d.ts.map +1 -0
  21. package/dist/ai/index.js +21 -0
  22. package/dist/ai/index.js.map +1 -0
  23. package/dist/ai/model-spec.d.ts +33 -0
  24. package/dist/ai/model-spec.d.ts.map +1 -0
  25. package/dist/ai/model-spec.js +106 -0
  26. package/dist/ai/model-spec.js.map +1 -0
  27. package/dist/ai/providers/anthropic.provider.d.ts +23 -0
  28. package/dist/ai/providers/anthropic.provider.d.ts.map +1 -0
  29. package/dist/ai/providers/anthropic.provider.js +135 -0
  30. package/dist/ai/providers/anthropic.provider.js.map +1 -0
  31. package/dist/ai/providers/gemini.provider.d.ts +20 -0
  32. package/dist/ai/providers/gemini.provider.d.ts.map +1 -0
  33. package/dist/ai/providers/gemini.provider.js +113 -0
  34. package/dist/ai/providers/gemini.provider.js.map +1 -0
  35. package/dist/ai/providers/index.d.ts +13 -0
  36. package/dist/ai/providers/index.d.ts.map +1 -0
  37. package/dist/ai/providers/index.js +12 -0
  38. package/dist/ai/providers/index.js.map +1 -0
  39. package/dist/ai/providers/openai-compat.provider.d.ts +13 -0
  40. package/dist/ai/providers/openai-compat.provider.d.ts.map +1 -0
  41. package/dist/ai/providers/openai-compat.provider.js +68 -0
  42. package/dist/ai/providers/openai-compat.provider.js.map +1 -0
  43. package/dist/ai/providers/openai-shared.d.ts +41 -0
  44. package/dist/ai/providers/openai-shared.d.ts.map +1 -0
  45. package/dist/ai/providers/openai-shared.js +67 -0
  46. package/dist/ai/providers/openai-shared.js.map +1 -0
  47. package/dist/ai/providers/openai.provider.d.ts +22 -0
  48. package/dist/ai/providers/openai.provider.d.ts.map +1 -0
  49. package/dist/ai/providers/openai.provider.js +74 -0
  50. package/dist/ai/providers/openai.provider.js.map +1 -0
  51. package/dist/ai/providers/registry.d.ts +33 -0
  52. package/dist/ai/providers/registry.d.ts.map +1 -0
  53. package/dist/ai/providers/registry.js +137 -0
  54. package/dist/ai/providers/registry.js.map +1 -0
  55. package/dist/ai/providers/types.d.ts +59 -0
  56. package/dist/ai/providers/types.d.ts.map +1 -0
  57. package/dist/ai/providers/types.js +58 -0
  58. package/dist/ai/providers/types.js.map +1 -0
  59. package/dist/ai/workspace-editor.d.ts +59 -0
  60. package/dist/ai/workspace-editor.d.ts.map +1 -0
  61. package/dist/ai/workspace-editor.js +155 -0
  62. package/dist/ai/workspace-editor.js.map +1 -0
  63. package/dist/config/defaults.d.ts +31 -0
  64. package/dist/config/defaults.d.ts.map +1 -0
  65. package/dist/config/defaults.js +100 -0
  66. package/dist/config/defaults.js.map +1 -0
  67. package/dist/config/index.d.ts +45 -0
  68. package/dist/config/index.d.ts.map +1 -0
  69. package/dist/config/index.js +44 -0
  70. package/dist/config/index.js.map +1 -0
  71. package/dist/config/manager.d.ts +101 -0
  72. package/dist/config/manager.d.ts.map +1 -0
  73. package/dist/config/manager.js +338 -0
  74. package/dist/config/manager.js.map +1 -0
  75. package/dist/config/schema.d.ts +382 -0
  76. package/dist/config/schema.d.ts.map +1 -0
  77. package/dist/config/schema.js +150 -0
  78. package/dist/config/schema.js.map +1 -0
  79. package/dist/config/types.d.ts +189 -0
  80. package/dist/config/types.d.ts.map +1 -0
  81. package/dist/config/types.js +32 -0
  82. package/dist/config/types.js.map +1 -0
  83. package/dist/constants.d.ts +92 -0
  84. package/dist/constants.d.ts.map +1 -0
  85. package/dist/constants.js +100 -0
  86. package/dist/constants.js.map +1 -0
  87. package/dist/context/agent-monitor.d.ts +173 -0
  88. package/dist/context/agent-monitor.d.ts.map +1 -0
  89. package/dist/context/agent-monitor.js +958 -0
  90. package/dist/context/agent-monitor.js.map +1 -0
  91. package/dist/context/feedback-loop.d.ts +73 -0
  92. package/dist/context/feedback-loop.d.ts.map +1 -0
  93. package/dist/context/feedback-loop.js +303 -0
  94. package/dist/context/feedback-loop.js.map +1 -0
  95. package/dist/context/index.d.ts +29 -0
  96. package/dist/context/index.d.ts.map +1 -0
  97. package/dist/context/index.js +29 -0
  98. package/dist/context/index.js.map +1 -0
  99. package/dist/context/integration.d.ts +83 -0
  100. package/dist/context/integration.d.ts.map +1 -0
  101. package/dist/context/integration.js +276 -0
  102. package/dist/context/integration.js.map +1 -0
  103. package/dist/context/iteration-tracker.d.ts +87 -0
  104. package/dist/context/iteration-tracker.d.ts.map +1 -0
  105. package/dist/context/iteration-tracker.js +333 -0
  106. package/dist/context/iteration-tracker.js.map +1 -0
  107. package/dist/context/storage.d.ts +234 -0
  108. package/dist/context/storage.d.ts.map +1 -0
  109. package/dist/context/storage.js +513 -0
  110. package/dist/context/storage.js.map +1 -0
  111. package/dist/context/types.d.ts +396 -0
  112. package/dist/context/types.d.ts.map +1 -0
  113. package/dist/context/types.js +125 -0
  114. package/dist/context/types.js.map +1 -0
  115. package/dist/index.d.ts +70 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +207 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/infrastructure/redis/connection.d.ts +111 -0
  120. package/dist/infrastructure/redis/connection.d.ts.map +1 -0
  121. package/dist/infrastructure/redis/connection.js +242 -0
  122. package/dist/infrastructure/redis/connection.js.map +1 -0
  123. package/dist/infrastructure/redis/index.d.ts +2 -0
  124. package/dist/infrastructure/redis/index.d.ts.map +1 -0
  125. package/dist/infrastructure/redis/index.js +2 -0
  126. package/dist/infrastructure/redis/index.js.map +1 -0
  127. package/dist/infrastructure/redis/redis-backed-service.d.ts +35 -0
  128. package/dist/infrastructure/redis/redis-backed-service.d.ts.map +1 -0
  129. package/dist/infrastructure/redis/redis-backed-service.js +55 -0
  130. package/dist/infrastructure/redis/redis-backed-service.js.map +1 -0
  131. package/dist/kanban/board-store.d.ts +222 -0
  132. package/dist/kanban/board-store.d.ts.map +1 -0
  133. package/dist/kanban/board-store.js +486 -0
  134. package/dist/kanban/board-store.js.map +1 -0
  135. package/dist/kanban/index.d.ts +33 -0
  136. package/dist/kanban/index.d.ts.map +1 -0
  137. package/dist/kanban/index.js +37 -0
  138. package/dist/kanban/index.js.map +1 -0
  139. package/dist/kanban/kanban-store.d.ts +236 -0
  140. package/dist/kanban/kanban-store.d.ts.map +1 -0
  141. package/dist/kanban/kanban-store.js +854 -0
  142. package/dist/kanban/kanban-store.js.map +1 -0
  143. package/dist/kanban/membership-store.d.ts +230 -0
  144. package/dist/kanban/membership-store.d.ts.map +1 -0
  145. package/dist/kanban/membership-store.js +384 -0
  146. package/dist/kanban/membership-store.js.map +1 -0
  147. package/dist/kanban/migration.d.ts +131 -0
  148. package/dist/kanban/migration.d.ts.map +1 -0
  149. package/dist/kanban/migration.js +275 -0
  150. package/dist/kanban/migration.js.map +1 -0
  151. package/dist/kanban/types.d.ts +314 -0
  152. package/dist/kanban/types.d.ts.map +1 -0
  153. package/dist/kanban/types.js +126 -0
  154. package/dist/kanban/types.js.map +1 -0
  155. package/dist/kanban/workspace-store.d.ts +193 -0
  156. package/dist/kanban/workspace-store.d.ts.map +1 -0
  157. package/dist/kanban/workspace-store.js +386 -0
  158. package/dist/kanban/workspace-store.js.map +1 -0
  159. package/dist/loci/graph-storage.d.ts +120 -0
  160. package/dist/loci/graph-storage.d.ts.map +1 -0
  161. package/dist/loci/graph-storage.js +489 -0
  162. package/dist/loci/graph-storage.js.map +1 -0
  163. package/dist/loci/graph-traversal.d.ts +56 -0
  164. package/dist/loci/graph-traversal.d.ts.map +1 -0
  165. package/dist/loci/graph-traversal.js +291 -0
  166. package/dist/loci/graph-traversal.js.map +1 -0
  167. package/dist/loci/index.d.ts +30 -0
  168. package/dist/loci/index.d.ts.map +1 -0
  169. package/dist/loci/index.js +27 -0
  170. package/dist/loci/index.js.map +1 -0
  171. package/dist/loci/loci-manager.d.ts +119 -0
  172. package/dist/loci/loci-manager.d.ts.map +1 -0
  173. package/dist/loci/loci-manager.js +435 -0
  174. package/dist/loci/loci-manager.js.map +1 -0
  175. package/dist/loci/sequence-tracker.d.ts +89 -0
  176. package/dist/loci/sequence-tracker.d.ts.map +1 -0
  177. package/dist/loci/sequence-tracker.js +311 -0
  178. package/dist/loci/sequence-tracker.js.map +1 -0
  179. package/dist/loci/types.d.ts +306 -0
  180. package/dist/loci/types.d.ts.map +1 -0
  181. package/dist/loci/types.js +143 -0
  182. package/dist/loci/types.js.map +1 -0
  183. package/dist/mpc/auth.d.ts +67 -0
  184. package/dist/mpc/auth.d.ts.map +1 -0
  185. package/dist/mpc/auth.js +173 -0
  186. package/dist/mpc/auth.js.map +1 -0
  187. package/dist/mpc/crypto.d.ts +139 -0
  188. package/dist/mpc/crypto.d.ts.map +1 -0
  189. package/dist/mpc/crypto.js +287 -0
  190. package/dist/mpc/crypto.js.map +1 -0
  191. package/dist/mpc/index.d.ts +30 -0
  192. package/dist/mpc/index.d.ts.map +1 -0
  193. package/dist/mpc/index.js +27 -0
  194. package/dist/mpc/index.js.map +1 -0
  195. package/dist/mpc/redis-store.d.ts +88 -0
  196. package/dist/mpc/redis-store.d.ts.map +1 -0
  197. package/dist/mpc/redis-store.js +337 -0
  198. package/dist/mpc/redis-store.js.map +1 -0
  199. package/dist/mpc/share-manager.d.ts +59 -0
  200. package/dist/mpc/share-manager.d.ts.map +1 -0
  201. package/dist/mpc/share-manager.js +254 -0
  202. package/dist/mpc/share-manager.js.map +1 -0
  203. package/dist/mpc/types.d.ts +213 -0
  204. package/dist/mpc/types.d.ts.map +1 -0
  205. package/dist/mpc/types.js +42 -0
  206. package/dist/mpc/types.js.map +1 -0
  207. package/dist/recursive/index.d.ts +27 -0
  208. package/dist/recursive/index.d.ts.map +1 -0
  209. package/dist/recursive/index.js +27 -0
  210. package/dist/recursive/index.js.map +1 -0
  211. package/dist/recursive/tool-invoker.d.ts +51 -0
  212. package/dist/recursive/tool-invoker.d.ts.map +1 -0
  213. package/dist/recursive/tool-invoker.js +293 -0
  214. package/dist/recursive/tool-invoker.js.map +1 -0
  215. package/dist/recursive/types.d.ts +110 -0
  216. package/dist/recursive/types.d.ts.map +1 -0
  217. package/dist/recursive/types.js +52 -0
  218. package/dist/recursive/types.js.map +1 -0
  219. package/dist/rl/dopamine.d.ts +96 -0
  220. package/dist/rl/dopamine.d.ts.map +1 -0
  221. package/dist/rl/dopamine.js +242 -0
  222. package/dist/rl/dopamine.js.map +1 -0
  223. package/dist/rl/index.d.ts +30 -0
  224. package/dist/rl/index.d.ts.map +1 -0
  225. package/dist/rl/index.js +27 -0
  226. package/dist/rl/index.js.map +1 -0
  227. package/dist/rl/potential.d.ts +78 -0
  228. package/dist/rl/potential.d.ts.map +1 -0
  229. package/dist/rl/potential.js +152 -0
  230. package/dist/rl/potential.js.map +1 -0
  231. package/dist/rl/rewards.d.ts +92 -0
  232. package/dist/rl/rewards.d.ts.map +1 -0
  233. package/dist/rl/rewards.js +278 -0
  234. package/dist/rl/rewards.js.map +1 -0
  235. package/dist/rl/state-tracker.d.ts +107 -0
  236. package/dist/rl/state-tracker.d.ts.map +1 -0
  237. package/dist/rl/state-tracker.js +285 -0
  238. package/dist/rl/state-tracker.js.map +1 -0
  239. package/dist/rl/types.d.ts +274 -0
  240. package/dist/rl/types.d.ts.map +1 -0
  241. package/dist/rl/types.js +145 -0
  242. package/dist/rl/types.js.map +1 -0
  243. package/dist/runtime/crypto.d.ts +87 -0
  244. package/dist/runtime/crypto.d.ts.map +1 -0
  245. package/dist/runtime/crypto.js +226 -0
  246. package/dist/runtime/crypto.js.map +1 -0
  247. package/dist/runtime/http.d.ts +111 -0
  248. package/dist/runtime/http.d.ts.map +1 -0
  249. package/dist/runtime/http.js +350 -0
  250. package/dist/runtime/http.js.map +1 -0
  251. package/dist/runtime/index.d.ts +48 -0
  252. package/dist/runtime/index.d.ts.map +1 -0
  253. package/dist/runtime/index.js +43 -0
  254. package/dist/runtime/index.js.map +1 -0
  255. package/dist/runtime/net.d.ts +42 -0
  256. package/dist/runtime/net.d.ts.map +1 -0
  257. package/dist/runtime/net.js +108 -0
  258. package/dist/runtime/net.js.map +1 -0
  259. package/dist/runtime/process.d.ts +54 -0
  260. package/dist/runtime/process.d.ts.map +1 -0
  261. package/dist/runtime/process.js +247 -0
  262. package/dist/runtime/process.js.map +1 -0
  263. package/dist/runtime/types.d.ts +143 -0
  264. package/dist/runtime/types.d.ts.map +1 -0
  265. package/dist/runtime/types.js +19 -0
  266. package/dist/runtime/types.js.map +1 -0
  267. package/dist/server/http-server.d.ts +26 -0
  268. package/dist/server/http-server.d.ts.map +1 -0
  269. package/dist/server/http-server.js +290 -0
  270. package/dist/server/http-server.js.map +1 -0
  271. package/dist/server/index.d.ts +22 -0
  272. package/dist/server/index.d.ts.map +1 -0
  273. package/dist/server/index.js +25 -0
  274. package/dist/server/index.js.map +1 -0
  275. package/dist/server/progress.d.ts +74 -0
  276. package/dist/server/progress.d.ts.map +1 -0
  277. package/dist/server/progress.js +174 -0
  278. package/dist/server/progress.js.map +1 -0
  279. package/dist/server/session-server.d.ts +76 -0
  280. package/dist/server/session-server.d.ts.map +1 -0
  281. package/dist/server/session-server.js +186 -0
  282. package/dist/server/session-server.js.map +1 -0
  283. package/dist/server/types.d.ts +82 -0
  284. package/dist/server/types.d.ts.map +1 -0
  285. package/dist/server/types.js +25 -0
  286. package/dist/server/types.js.map +1 -0
  287. package/dist/session/cwd-resolver.d.ts +136 -0
  288. package/dist/session/cwd-resolver.d.ts.map +1 -0
  289. package/dist/session/cwd-resolver.js +715 -0
  290. package/dist/session/cwd-resolver.js.map +1 -0
  291. package/dist/session/index.d.ts +27 -0
  292. package/dist/session/index.d.ts.map +1 -0
  293. package/dist/session/index.js +27 -0
  294. package/dist/session/index.js.map +1 -0
  295. package/dist/session/manager.d.ts +296 -0
  296. package/dist/session/manager.d.ts.map +1 -0
  297. package/dist/session/manager.js +605 -0
  298. package/dist/session/manager.js.map +1 -0
  299. package/dist/session/types.d.ts +152 -0
  300. package/dist/session/types.d.ts.map +1 -0
  301. package/dist/session/types.js +60 -0
  302. package/dist/session/types.js.map +1 -0
  303. package/dist/tools/agents/agent-alert.tool.d.ts +20 -0
  304. package/dist/tools/agents/agent-alert.tool.d.ts.map +1 -0
  305. package/dist/tools/agents/agent-alert.tool.js +103 -0
  306. package/dist/tools/agents/agent-alert.tool.js.map +1 -0
  307. package/dist/tools/agents/agent-history.tool.d.ts +20 -0
  308. package/dist/tools/agents/agent-history.tool.d.ts.map +1 -0
  309. package/dist/tools/agents/agent-history.tool.js +133 -0
  310. package/dist/tools/agents/agent-history.tool.js.map +1 -0
  311. package/dist/tools/agents/agent-inject.tool.d.ts +39 -0
  312. package/dist/tools/agents/agent-inject.tool.d.ts.map +1 -0
  313. package/dist/tools/agents/agent-inject.tool.js +121 -0
  314. package/dist/tools/agents/agent-inject.tool.js.map +1 -0
  315. package/dist/tools/agents/agent-list.tool.d.ts +20 -0
  316. package/dist/tools/agents/agent-list.tool.d.ts.map +1 -0
  317. package/dist/tools/agents/agent-list.tool.js +86 -0
  318. package/dist/tools/agents/agent-list.tool.js.map +1 -0
  319. package/dist/tools/agents/agent-register.tool.d.ts +20 -0
  320. package/dist/tools/agents/agent-register.tool.d.ts.map +1 -0
  321. package/dist/tools/agents/agent-register.tool.js +114 -0
  322. package/dist/tools/agents/agent-register.tool.js.map +1 -0
  323. package/dist/tools/agents/agent-summary.tool.d.ts +20 -0
  324. package/dist/tools/agents/agent-summary.tool.d.ts.map +1 -0
  325. package/dist/tools/agents/agent-summary.tool.js +99 -0
  326. package/dist/tools/agents/agent-summary.tool.js.map +1 -0
  327. package/dist/tools/agents/agent-watch.tool.d.ts +20 -0
  328. package/dist/tools/agents/agent-watch.tool.d.ts.map +1 -0
  329. package/dist/tools/agents/agent-watch.tool.js +56 -0
  330. package/dist/tools/agents/agent-watch.tool.js.map +1 -0
  331. package/dist/tools/agents/index.d.ts +41 -0
  332. package/dist/tools/agents/index.d.ts.map +1 -0
  333. package/dist/tools/agents/index.js +41 -0
  334. package/dist/tools/agents/index.js.map +1 -0
  335. package/dist/tools/agents/monitor.tool.d.ts +20 -0
  336. package/dist/tools/agents/monitor.tool.d.ts.map +1 -0
  337. package/dist/tools/agents/monitor.tool.js +314 -0
  338. package/dist/tools/agents/monitor.tool.js.map +1 -0
  339. package/dist/tools/agents/queue-message.tool.d.ts +20 -0
  340. package/dist/tools/agents/queue-message.tool.d.ts.map +1 -0
  341. package/dist/tools/agents/queue-message.tool.js +176 -0
  342. package/dist/tools/agents/queue-message.tool.js.map +1 -0
  343. package/dist/tools/ask-ai.tool.d.ts +20 -0
  344. package/dist/tools/ask-ai.tool.d.ts.map +1 -0
  345. package/dist/tools/ask-ai.tool.js +49 -0
  346. package/dist/tools/ask-ai.tool.js.map +1 -0
  347. package/dist/tools/batch.tool.d.ts +42 -0
  348. package/dist/tools/batch.tool.d.ts.map +1 -0
  349. package/dist/tools/batch.tool.js +146 -0
  350. package/dist/tools/batch.tool.js.map +1 -0
  351. package/dist/tools/brainstorm.tool.d.ts +20 -0
  352. package/dist/tools/brainstorm.tool.d.ts.map +1 -0
  353. package/dist/tools/brainstorm.tool.js +86 -0
  354. package/dist/tools/brainstorm.tool.js.map +1 -0
  355. package/dist/tools/code/code-outline.tool.d.ts +20 -0
  356. package/dist/tools/code/code-outline.tool.d.ts.map +1 -0
  357. package/dist/tools/code/code-outline.tool.js +803 -0
  358. package/dist/tools/code/code-outline.tool.js.map +1 -0
  359. package/dist/tools/code/find-definition.tool.d.ts +20 -0
  360. package/dist/tools/code/find-definition.tool.d.ts.map +1 -0
  361. package/dist/tools/code/find-definition.tool.js +218 -0
  362. package/dist/tools/code/find-definition.tool.js.map +1 -0
  363. package/dist/tools/code/find-references.tool.d.ts +20 -0
  364. package/dist/tools/code/find-references.tool.d.ts.map +1 -0
  365. package/dist/tools/code/find-references.tool.js +207 -0
  366. package/dist/tools/code/find-references.tool.js.map +1 -0
  367. package/dist/tools/code/find-symbols.tool.d.ts +20 -0
  368. package/dist/tools/code/find-symbols.tool.d.ts.map +1 -0
  369. package/dist/tools/code/find-symbols.tool.js +367 -0
  370. package/dist/tools/code/find-symbols.tool.js.map +1 -0
  371. package/dist/tools/code/index.d.ts +34 -0
  372. package/dist/tools/code/index.d.ts.map +1 -0
  373. package/dist/tools/code/index.js +35 -0
  374. package/dist/tools/code/index.js.map +1 -0
  375. package/dist/tools/code/insert-after-symbol.tool.d.ts +20 -0
  376. package/dist/tools/code/insert-after-symbol.tool.d.ts.map +1 -0
  377. package/dist/tools/code/insert-after-symbol.tool.js +224 -0
  378. package/dist/tools/code/insert-after-symbol.tool.js.map +1 -0
  379. package/dist/tools/code/insert-before-symbol.tool.d.ts +20 -0
  380. package/dist/tools/code/insert-before-symbol.tool.d.ts.map +1 -0
  381. package/dist/tools/code/insert-before-symbol.tool.js +136 -0
  382. package/dist/tools/code/insert-before-symbol.tool.js.map +1 -0
  383. package/dist/tools/code/rename-symbol.tool.d.ts +20 -0
  384. package/dist/tools/code/rename-symbol.tool.d.ts.map +1 -0
  385. package/dist/tools/code/rename-symbol.tool.js +255 -0
  386. package/dist/tools/code/rename-symbol.tool.js.map +1 -0
  387. package/dist/tools/code/semantic-search.tool.d.ts +20 -0
  388. package/dist/tools/code/semantic-search.tool.d.ts.map +1 -0
  389. package/dist/tools/code/semantic-search.tool.js +172 -0
  390. package/dist/tools/code/semantic-search.tool.js.map +1 -0
  391. package/dist/tools/code/symbol-search.d.ts +39 -0
  392. package/dist/tools/code/symbol-search.d.ts.map +1 -0
  393. package/dist/tools/code/symbol-search.js +118 -0
  394. package/dist/tools/code/symbol-search.js.map +1 -0
  395. package/dist/tools/context/feedback.tool.d.ts +20 -0
  396. package/dist/tools/context/feedback.tool.d.ts.map +1 -0
  397. package/dist/tools/context/feedback.tool.js +176 -0
  398. package/dist/tools/context/feedback.tool.js.map +1 -0
  399. package/dist/tools/context/get-shared-context.tool.d.ts +20 -0
  400. package/dist/tools/context/get-shared-context.tool.d.ts.map +1 -0
  401. package/dist/tools/context/get-shared-context.tool.js +83 -0
  402. package/dist/tools/context/get-shared-context.tool.js.map +1 -0
  403. package/dist/tools/context/index.d.ts +26 -0
  404. package/dist/tools/context/index.d.ts.map +1 -0
  405. package/dist/tools/context/index.js +26 -0
  406. package/dist/tools/context/index.js.map +1 -0
  407. package/dist/tools/context/shared-thoughts.tool.d.ts +20 -0
  408. package/dist/tools/context/shared-thoughts.tool.d.ts.map +1 -0
  409. package/dist/tools/context/shared-thoughts.tool.js +199 -0
  410. package/dist/tools/context/shared-thoughts.tool.js.map +1 -0
  411. package/dist/tools/edit/delete-lines.tool.d.ts +20 -0
  412. package/dist/tools/edit/delete-lines.tool.d.ts.map +1 -0
  413. package/dist/tools/edit/delete-lines.tool.js +88 -0
  414. package/dist/tools/edit/delete-lines.tool.js.map +1 -0
  415. package/dist/tools/edit/edit-shared.d.ts +55 -0
  416. package/dist/tools/edit/edit-shared.d.ts.map +1 -0
  417. package/dist/tools/edit/edit-shared.js +122 -0
  418. package/dist/tools/edit/edit-shared.js.map +1 -0
  419. package/dist/tools/edit/index.d.ts +29 -0
  420. package/dist/tools/edit/index.d.ts.map +1 -0
  421. package/dist/tools/edit/index.js +29 -0
  422. package/dist/tools/edit/index.js.map +1 -0
  423. package/dist/tools/edit/insert-at-line.tool.d.ts +20 -0
  424. package/dist/tools/edit/insert-at-line.tool.d.ts.map +1 -0
  425. package/dist/tools/edit/insert-at-line.tool.js +92 -0
  426. package/dist/tools/edit/insert-at-line.tool.js.map +1 -0
  427. package/dist/tools/edit/replace-content.tool.d.ts +20 -0
  428. package/dist/tools/edit/replace-content.tool.d.ts.map +1 -0
  429. package/dist/tools/edit/replace-content.tool.js +214 -0
  430. package/dist/tools/edit/replace-content.tool.js.map +1 -0
  431. package/dist/tools/edit/replace-lines.tool.d.ts +20 -0
  432. package/dist/tools/edit/replace-lines.tool.d.ts.map +1 -0
  433. package/dist/tools/edit/replace-lines.tool.js +97 -0
  434. package/dist/tools/edit/replace-lines.tool.js.map +1 -0
  435. package/dist/tools/file/file-diff.tool.d.ts +20 -0
  436. package/dist/tools/file/file-diff.tool.d.ts.map +1 -0
  437. package/dist/tools/file/file-diff.tool.js +359 -0
  438. package/dist/tools/file/file-diff.tool.js.map +1 -0
  439. package/dist/tools/file/file-read.tool.d.ts +20 -0
  440. package/dist/tools/file/file-read.tool.d.ts.map +1 -0
  441. package/dist/tools/file/file-read.tool.js +270 -0
  442. package/dist/tools/file/file-read.tool.js.map +1 -0
  443. package/dist/tools/file/file-search.tool.d.ts +20 -0
  444. package/dist/tools/file/file-search.tool.d.ts.map +1 -0
  445. package/dist/tools/file/file-search.tool.js +339 -0
  446. package/dist/tools/file/file-search.tool.js.map +1 -0
  447. package/dist/tools/file/file-tree.tool.d.ts +49 -0
  448. package/dist/tools/file/file-tree.tool.d.ts.map +1 -0
  449. package/dist/tools/file/file-tree.tool.js +398 -0
  450. package/dist/tools/file/file-tree.tool.js.map +1 -0
  451. package/dist/tools/file/file-write.tool.d.ts +20 -0
  452. package/dist/tools/file/file-write.tool.d.ts.map +1 -0
  453. package/dist/tools/file/file-write.tool.js +204 -0
  454. package/dist/tools/file/file-write.tool.js.map +1 -0
  455. package/dist/tools/file/index.d.ts +31 -0
  456. package/dist/tools/file/index.d.ts.map +1 -0
  457. package/dist/tools/file/index.js +31 -0
  458. package/dist/tools/file/index.js.map +1 -0
  459. package/dist/tools/git/git-blame.tool.d.ts +20 -0
  460. package/dist/tools/git/git-blame.tool.d.ts.map +1 -0
  461. package/dist/tools/git/git-blame.tool.js +138 -0
  462. package/dist/tools/git/git-blame.tool.js.map +1 -0
  463. package/dist/tools/git/git-branch.tool.d.ts +20 -0
  464. package/dist/tools/git/git-branch.tool.d.ts.map +1 -0
  465. package/dist/tools/git/git-branch.tool.js +158 -0
  466. package/dist/tools/git/git-branch.tool.js.map +1 -0
  467. package/dist/tools/git/git-diff.tool.d.ts +20 -0
  468. package/dist/tools/git/git-diff.tool.d.ts.map +1 -0
  469. package/dist/tools/git/git-diff.tool.js +117 -0
  470. package/dist/tools/git/git-diff.tool.js.map +1 -0
  471. package/dist/tools/git/git-log.tool.d.ts +20 -0
  472. package/dist/tools/git/git-log.tool.d.ts.map +1 -0
  473. package/dist/tools/git/git-log.tool.js +150 -0
  474. package/dist/tools/git/git-log.tool.js.map +1 -0
  475. package/dist/tools/git/git-status.tool.d.ts +20 -0
  476. package/dist/tools/git/git-status.tool.d.ts.map +1 -0
  477. package/dist/tools/git/git-status.tool.js +81 -0
  478. package/dist/tools/git/git-status.tool.js.map +1 -0
  479. package/dist/tools/git/index.d.ts +31 -0
  480. package/dist/tools/git/index.d.ts.map +1 -0
  481. package/dist/tools/git/index.js +32 -0
  482. package/dist/tools/git/index.js.map +1 -0
  483. package/dist/tools/index.d.ts +19 -0
  484. package/dist/tools/index.d.ts.map +1 -0
  485. package/dist/tools/index.js +170 -0
  486. package/dist/tools/index.js.map +1 -0
  487. package/dist/tools/kanban/board-create.tool.d.ts +20 -0
  488. package/dist/tools/kanban/board-create.tool.d.ts.map +1 -0
  489. package/dist/tools/kanban/board-create.tool.js +92 -0
  490. package/dist/tools/kanban/board-create.tool.js.map +1 -0
  491. package/dist/tools/kanban/board-invite.tool.d.ts +20 -0
  492. package/dist/tools/kanban/board-invite.tool.d.ts.map +1 -0
  493. package/dist/tools/kanban/board-invite.tool.js +96 -0
  494. package/dist/tools/kanban/board-invite.tool.js.map +1 -0
  495. package/dist/tools/kanban/board-list.tool.d.ts +20 -0
  496. package/dist/tools/kanban/board-list.tool.d.ts.map +1 -0
  497. package/dist/tools/kanban/board-list.tool.js +94 -0
  498. package/dist/tools/kanban/board-list.tool.js.map +1 -0
  499. package/dist/tools/kanban/board-members.tool.d.ts +20 -0
  500. package/dist/tools/kanban/board-members.tool.d.ts.map +1 -0
  501. package/dist/tools/kanban/board-members.tool.js +153 -0
  502. package/dist/tools/kanban/board-members.tool.js.map +1 -0
  503. package/dist/tools/kanban/board-share.tool.d.ts +20 -0
  504. package/dist/tools/kanban/board-share.tool.d.ts.map +1 -0
  505. package/dist/tools/kanban/board-share.tool.js +91 -0
  506. package/dist/tools/kanban/board-share.tool.js.map +1 -0
  507. package/dist/tools/kanban/board-status.tool.d.ts +20 -0
  508. package/dist/tools/kanban/board-status.tool.d.ts.map +1 -0
  509. package/dist/tools/kanban/board-status.tool.js +79 -0
  510. package/dist/tools/kanban/board-status.tool.js.map +1 -0
  511. package/dist/tools/kanban/index.d.ts +42 -0
  512. package/dist/tools/kanban/index.d.ts.map +1 -0
  513. package/dist/tools/kanban/index.js +46 -0
  514. package/dist/tools/kanban/index.js.map +1 -0
  515. package/dist/tools/kanban/task-assign.tool.d.ts +20 -0
  516. package/dist/tools/kanban/task-assign.tool.d.ts.map +1 -0
  517. package/dist/tools/kanban/task-assign.tool.js +103 -0
  518. package/dist/tools/kanban/task-assign.tool.js.map +1 -0
  519. package/dist/tools/kanban/task-claim.tool.d.ts +20 -0
  520. package/dist/tools/kanban/task-claim.tool.d.ts.map +1 -0
  521. package/dist/tools/kanban/task-claim.tool.js +107 -0
  522. package/dist/tools/kanban/task-claim.tool.js.map +1 -0
  523. package/dist/tools/kanban/task-create.tool.d.ts +20 -0
  524. package/dist/tools/kanban/task-create.tool.d.ts.map +1 -0
  525. package/dist/tools/kanban/task-create.tool.js +123 -0
  526. package/dist/tools/kanban/task-create.tool.js.map +1 -0
  527. package/dist/tools/kanban/task-list.tool.d.ts +20 -0
  528. package/dist/tools/kanban/task-list.tool.d.ts.map +1 -0
  529. package/dist/tools/kanban/task-list.tool.js +95 -0
  530. package/dist/tools/kanban/task-list.tool.js.map +1 -0
  531. package/dist/tools/kanban/task-push-multi.tool.d.ts +20 -0
  532. package/dist/tools/kanban/task-push-multi.tool.d.ts.map +1 -0
  533. package/dist/tools/kanban/task-push-multi.tool.js +273 -0
  534. package/dist/tools/kanban/task-push-multi.tool.js.map +1 -0
  535. package/dist/tools/kanban/task-update.tool.d.ts +20 -0
  536. package/dist/tools/kanban/task-update.tool.d.ts.map +1 -0
  537. package/dist/tools/kanban/task-update.tool.js +173 -0
  538. package/dist/tools/kanban/task-update.tool.js.map +1 -0
  539. package/dist/tools/kanban/workspace-create.tool.d.ts +20 -0
  540. package/dist/tools/kanban/workspace-create.tool.d.ts.map +1 -0
  541. package/dist/tools/kanban/workspace-create.tool.js +84 -0
  542. package/dist/tools/kanban/workspace-create.tool.js.map +1 -0
  543. package/dist/tools/kanban/workspace-join.tool.d.ts +20 -0
  544. package/dist/tools/kanban/workspace-join.tool.d.ts.map +1 -0
  545. package/dist/tools/kanban/workspace-join.tool.js +76 -0
  546. package/dist/tools/kanban/workspace-join.tool.js.map +1 -0
  547. package/dist/tools/kanban/workspace-leave.tool.d.ts +20 -0
  548. package/dist/tools/kanban/workspace-leave.tool.d.ts.map +1 -0
  549. package/dist/tools/kanban/workspace-leave.tool.js +74 -0
  550. package/dist/tools/kanban/workspace-leave.tool.js.map +1 -0
  551. package/dist/tools/kanban/workspace-list.tool.d.ts +20 -0
  552. package/dist/tools/kanban/workspace-list.tool.d.ts.map +1 -0
  553. package/dist/tools/kanban/workspace-list.tool.js +75 -0
  554. package/dist/tools/kanban/workspace-list.tool.js.map +1 -0
  555. package/dist/tools/loci/graph-find-path.tool.d.ts +38 -0
  556. package/dist/tools/loci/graph-find-path.tool.d.ts.map +1 -0
  557. package/dist/tools/loci/graph-find-path.tool.js +133 -0
  558. package/dist/tools/loci/graph-find-path.tool.js.map +1 -0
  559. package/dist/tools/loci/graph-query.tool.d.ts +55 -0
  560. package/dist/tools/loci/graph-query.tool.d.ts.map +1 -0
  561. package/dist/tools/loci/graph-query.tool.js +98 -0
  562. package/dist/tools/loci/graph-query.tool.js.map +1 -0
  563. package/dist/tools/loci/index.d.ts +27 -0
  564. package/dist/tools/loci/index.d.ts.map +1 -0
  565. package/dist/tools/loci/index.js +27 -0
  566. package/dist/tools/loci/index.js.map +1 -0
  567. package/dist/tools/loci/loci-recall.tool.d.ts +33 -0
  568. package/dist/tools/loci/loci-recall.tool.d.ts.map +1 -0
  569. package/dist/tools/loci/loci-recall.tool.js +156 -0
  570. package/dist/tools/loci/loci-recall.tool.js.map +1 -0
  571. package/dist/tools/loci/sequence-recommend.tool.d.ts +33 -0
  572. package/dist/tools/loci/sequence-recommend.tool.d.ts.map +1 -0
  573. package/dist/tools/loci/sequence-recommend.tool.js +114 -0
  574. package/dist/tools/loci/sequence-recommend.tool.js.map +1 -0
  575. package/dist/tools/memory/delete-memory.tool.d.ts +20 -0
  576. package/dist/tools/memory/delete-memory.tool.d.ts.map +1 -0
  577. package/dist/tools/memory/delete-memory.tool.js +96 -0
  578. package/dist/tools/memory/delete-memory.tool.js.map +1 -0
  579. package/dist/tools/memory/edit-memory.tool.d.ts +20 -0
  580. package/dist/tools/memory/edit-memory.tool.d.ts.map +1 -0
  581. package/dist/tools/memory/edit-memory.tool.js +172 -0
  582. package/dist/tools/memory/edit-memory.tool.js.map +1 -0
  583. package/dist/tools/memory/index.d.ts +31 -0
  584. package/dist/tools/memory/index.d.ts.map +1 -0
  585. package/dist/tools/memory/index.js +31 -0
  586. package/dist/tools/memory/index.js.map +1 -0
  587. package/dist/tools/memory/list-memories.tool.d.ts +20 -0
  588. package/dist/tools/memory/list-memories.tool.d.ts.map +1 -0
  589. package/dist/tools/memory/list-memories.tool.js +142 -0
  590. package/dist/tools/memory/list-memories.tool.js.map +1 -0
  591. package/dist/tools/memory/read-memory.tool.d.ts +20 -0
  592. package/dist/tools/memory/read-memory.tool.d.ts.map +1 -0
  593. package/dist/tools/memory/read-memory.tool.js +98 -0
  594. package/dist/tools/memory/read-memory.tool.js.map +1 -0
  595. package/dist/tools/memory/write-memory.tool.d.ts +20 -0
  596. package/dist/tools/memory/write-memory.tool.d.ts.map +1 -0
  597. package/dist/tools/memory/write-memory.tool.js +162 -0
  598. package/dist/tools/memory/write-memory.tool.js.map +1 -0
  599. package/dist/tools/mpc/index.d.ts +27 -0
  600. package/dist/tools/mpc/index.d.ts.map +1 -0
  601. package/dist/tools/mpc/index.js +27 -0
  602. package/dist/tools/mpc/index.js.map +1 -0
  603. package/dist/tools/mpc/mpc-distribute.tool.d.ts +36 -0
  604. package/dist/tools/mpc/mpc-distribute.tool.d.ts.map +1 -0
  605. package/dist/tools/mpc/mpc-distribute.tool.js +129 -0
  606. package/dist/tools/mpc/mpc-distribute.tool.js.map +1 -0
  607. package/dist/tools/mpc/mpc-reconstruct.tool.d.ts +28 -0
  608. package/dist/tools/mpc/mpc-reconstruct.tool.d.ts.map +1 -0
  609. package/dist/tools/mpc/mpc-reconstruct.tool.js +125 -0
  610. package/dist/tools/mpc/mpc-reconstruct.tool.js.map +1 -0
  611. package/dist/tools/mpc/mpc-split.tool.d.ts +43 -0
  612. package/dist/tools/mpc/mpc-split.tool.d.ts.map +1 -0
  613. package/dist/tools/mpc/mpc-split.tool.js +120 -0
  614. package/dist/tools/mpc/mpc-split.tool.js.map +1 -0
  615. package/dist/tools/mpc/mpc-status.tool.d.ts +33 -0
  616. package/dist/tools/mpc/mpc-status.tool.d.ts.map +1 -0
  617. package/dist/tools/mpc/mpc-status.tool.js +129 -0
  618. package/dist/tools/mpc/mpc-status.tool.js.map +1 -0
  619. package/dist/tools/multi-llm/consensus-prompt.tool.d.ts +9 -0
  620. package/dist/tools/multi-llm/consensus-prompt.tool.d.ts.map +1 -0
  621. package/dist/tools/multi-llm/consensus-prompt.tool.js +165 -0
  622. package/dist/tools/multi-llm/consensus-prompt.tool.js.map +1 -0
  623. package/dist/tools/multi-llm/index.d.ts +8 -0
  624. package/dist/tools/multi-llm/index.d.ts.map +1 -0
  625. package/dist/tools/multi-llm/index.js +8 -0
  626. package/dist/tools/multi-llm/index.js.map +1 -0
  627. package/dist/tools/multi-llm/multi-prompt.tool.d.ts +9 -0
  628. package/dist/tools/multi-llm/multi-prompt.tool.d.ts.map +1 -0
  629. package/dist/tools/multi-llm/multi-prompt.tool.js +90 -0
  630. package/dist/tools/multi-llm/multi-prompt.tool.js.map +1 -0
  631. package/dist/tools/project/check-types.tool.d.ts +20 -0
  632. package/dist/tools/project/check-types.tool.d.ts.map +1 -0
  633. package/dist/tools/project/check-types.tool.js +254 -0
  634. package/dist/tools/project/check-types.tool.js.map +1 -0
  635. package/dist/tools/project/index.d.ts +35 -0
  636. package/dist/tools/project/index.d.ts.map +1 -0
  637. package/dist/tools/project/index.js +35 -0
  638. package/dist/tools/project/index.js.map +1 -0
  639. package/dist/tools/project/project-info.tool.d.ts +20 -0
  640. package/dist/tools/project/project-info.tool.d.ts.map +1 -0
  641. package/dist/tools/project/project-info.tool.js +364 -0
  642. package/dist/tools/project/project-info.tool.js.map +1 -0
  643. package/dist/tools/project/run-lint.tool.d.ts +20 -0
  644. package/dist/tools/project/run-lint.tool.d.ts.map +1 -0
  645. package/dist/tools/project/run-lint.tool.js +279 -0
  646. package/dist/tools/project/run-lint.tool.js.map +1 -0
  647. package/dist/tools/project/run-script.tool.d.ts +20 -0
  648. package/dist/tools/project/run-script.tool.d.ts.map +1 -0
  649. package/dist/tools/project/run-script.tool.js +141 -0
  650. package/dist/tools/project/run-script.tool.js.map +1 -0
  651. package/dist/tools/project/run-tests.tool.d.ts +20 -0
  652. package/dist/tools/project/run-tests.tool.d.ts.map +1 -0
  653. package/dist/tools/project/run-tests.tool.js +357 -0
  654. package/dist/tools/project/run-tests.tool.js.map +1 -0
  655. package/dist/tools/recursive/index.d.ts +28 -0
  656. package/dist/tools/recursive/index.d.ts.map +1 -0
  657. package/dist/tools/recursive/index.js +28 -0
  658. package/dist/tools/recursive/index.js.map +1 -0
  659. package/dist/tools/recursive/invocation-log.tool.d.ts +20 -0
  660. package/dist/tools/recursive/invocation-log.tool.d.ts.map +1 -0
  661. package/dist/tools/recursive/invocation-log.tool.js +110 -0
  662. package/dist/tools/recursive/invocation-log.tool.js.map +1 -0
  663. package/dist/tools/recursive/invoke-batch.tool.d.ts +20 -0
  664. package/dist/tools/recursive/invoke-batch.tool.d.ts.map +1 -0
  665. package/dist/tools/recursive/invoke-batch.tool.js +99 -0
  666. package/dist/tools/recursive/invoke-batch.tool.js.map +1 -0
  667. package/dist/tools/recursive/invoke-tool.tool.d.ts +20 -0
  668. package/dist/tools/recursive/invoke-tool.tool.d.ts.map +1 -0
  669. package/dist/tools/recursive/invoke-tool.tool.js +100 -0
  670. package/dist/tools/recursive/invoke-tool.tool.js.map +1 -0
  671. package/dist/tools/registry.d.ts +261 -0
  672. package/dist/tools/registry.d.ts.map +1 -0
  673. package/dist/tools/registry.js +462 -0
  674. package/dist/tools/registry.js.map +1 -0
  675. package/dist/tools/rl/index.d.ts +25 -0
  676. package/dist/tools/rl/index.d.ts.map +1 -0
  677. package/dist/tools/rl/index.js +25 -0
  678. package/dist/tools/rl/index.js.map +1 -0
  679. package/dist/tools/rl/rl-dopamine-log.tool.d.ts +32 -0
  680. package/dist/tools/rl/rl-dopamine-log.tool.d.ts.map +1 -0
  681. package/dist/tools/rl/rl-dopamine-log.tool.js +112 -0
  682. package/dist/tools/rl/rl-dopamine-log.tool.js.map +1 -0
  683. package/dist/tools/rl/rl-reward-stats.tool.d.ts +33 -0
  684. package/dist/tools/rl/rl-reward-stats.tool.d.ts.map +1 -0
  685. package/dist/tools/rl/rl-reward-stats.tool.js +100 -0
  686. package/dist/tools/rl/rl-reward-stats.tool.js.map +1 -0
  687. package/dist/tools/session/index.d.ts +28 -0
  688. package/dist/tools/session/index.d.ts.map +1 -0
  689. package/dist/tools/session/index.js +28 -0
  690. package/dist/tools/session/index.js.map +1 -0
  691. package/dist/tools/session/session-create.tool.d.ts +35 -0
  692. package/dist/tools/session/session-create.tool.d.ts.map +1 -0
  693. package/dist/tools/session/session-create.tool.js +74 -0
  694. package/dist/tools/session/session-create.tool.js.map +1 -0
  695. package/dist/tools/session/session-delete.tool.d.ts +32 -0
  696. package/dist/tools/session/session-delete.tool.d.ts.map +1 -0
  697. package/dist/tools/session/session-delete.tool.js +94 -0
  698. package/dist/tools/session/session-delete.tool.js.map +1 -0
  699. package/dist/tools/session/session-info.tool.d.ts +30 -0
  700. package/dist/tools/session/session-info.tool.d.ts.map +1 -0
  701. package/dist/tools/session/session-info.tool.js +89 -0
  702. package/dist/tools/session/session-info.tool.js.map +1 -0
  703. package/dist/tools/session/session-list.tool.d.ts +43 -0
  704. package/dist/tools/session/session-list.tool.d.ts.map +1 -0
  705. package/dist/tools/session/session-list.tool.js +85 -0
  706. package/dist/tools/session/session-list.tool.js.map +1 -0
  707. package/dist/tools/session/session-switch.tool.d.ts +32 -0
  708. package/dist/tools/session/session-switch.tool.d.ts.map +1 -0
  709. package/dist/tools/session/session-switch.tool.js +75 -0
  710. package/dist/tools/session/session-switch.tool.js.map +1 -0
  711. package/dist/tools/simple-tools.d.ts +23 -0
  712. package/dist/tools/simple-tools.d.ts.map +1 -0
  713. package/dist/tools/simple-tools.js +73 -0
  714. package/dist/tools/simple-tools.js.map +1 -0
  715. package/dist/tools/specialized/analyze-deps.tool.d.ts +20 -0
  716. package/dist/tools/specialized/analyze-deps.tool.d.ts.map +1 -0
  717. package/dist/tools/specialized/analyze-deps.tool.js +102 -0
  718. package/dist/tools/specialized/analyze-deps.tool.js.map +1 -0
  719. package/dist/tools/specialized/auto-fix-agent.tool.d.ts +12 -0
  720. package/dist/tools/specialized/auto-fix-agent.tool.d.ts.map +1 -0
  721. package/dist/tools/specialized/auto-fix-agent.tool.js +154 -0
  722. package/dist/tools/specialized/auto-fix-agent.tool.js.map +1 -0
  723. package/dist/tools/specialized/auto-fix.tool.d.ts +20 -0
  724. package/dist/tools/specialized/auto-fix.tool.d.ts.map +1 -0
  725. package/dist/tools/specialized/auto-fix.tool.js +264 -0
  726. package/dist/tools/specialized/auto-fix.tool.js.map +1 -0
  727. package/dist/tools/specialized/code-review.tool.d.ts +20 -0
  728. package/dist/tools/specialized/code-review.tool.d.ts.map +1 -0
  729. package/dist/tools/specialized/code-review.tool.js +140 -0
  730. package/dist/tools/specialized/code-review.tool.js.map +1 -0
  731. package/dist/tools/specialized/explain-code.tool.d.ts +20 -0
  732. package/dist/tools/specialized/explain-code.tool.d.ts.map +1 -0
  733. package/dist/tools/specialized/explain-code.tool.js +90 -0
  734. package/dist/tools/specialized/explain-code.tool.js.map +1 -0
  735. package/dist/tools/specialized/fix-bug.tool.d.ts +20 -0
  736. package/dist/tools/specialized/fix-bug.tool.d.ts.map +1 -0
  737. package/dist/tools/specialized/fix-bug.tool.js +107 -0
  738. package/dist/tools/specialized/fix-bug.tool.js.map +1 -0
  739. package/dist/tools/specialized/index.d.ts +26 -0
  740. package/dist/tools/specialized/index.d.ts.map +1 -0
  741. package/dist/tools/specialized/index.js +26 -0
  742. package/dist/tools/specialized/index.js.map +1 -0
  743. package/dist/tools/specialized/refactor.tool.d.ts +20 -0
  744. package/dist/tools/specialized/refactor.tool.d.ts.map +1 -0
  745. package/dist/tools/specialized/refactor.tool.js +115 -0
  746. package/dist/tools/specialized/refactor.tool.js.map +1 -0
  747. package/dist/tools/specialized/write-tests.tool.d.ts +20 -0
  748. package/dist/tools/specialized/write-tests.tool.d.ts.map +1 -0
  749. package/dist/tools/specialized/write-tests.tool.js +115 -0
  750. package/dist/tools/specialized/write-tests.tool.js.map +1 -0
  751. package/dist/tools/system/ai-config.tool.d.ts +13 -0
  752. package/dist/tools/system/ai-config.tool.d.ts.map +1 -0
  753. package/dist/tools/system/ai-config.tool.js +252 -0
  754. package/dist/tools/system/ai-config.tool.js.map +1 -0
  755. package/dist/tools/system/ai-models.tool.d.ts +45 -0
  756. package/dist/tools/system/ai-models.tool.d.ts.map +1 -0
  757. package/dist/tools/system/ai-models.tool.js +194 -0
  758. package/dist/tools/system/ai-models.tool.js.map +1 -0
  759. package/dist/tools/system/config.tool.d.ts +57 -0
  760. package/dist/tools/system/config.tool.d.ts.map +1 -0
  761. package/dist/tools/system/config.tool.js +320 -0
  762. package/dist/tools/system/config.tool.js.map +1 -0
  763. package/dist/tools/system/env-info.tool.d.ts +20 -0
  764. package/dist/tools/system/env-info.tool.d.ts.map +1 -0
  765. package/dist/tools/system/env-info.tool.js +228 -0
  766. package/dist/tools/system/env-info.tool.js.map +1 -0
  767. package/dist/tools/system/index.d.ts +37 -0
  768. package/dist/tools/system/index.d.ts.map +1 -0
  769. package/dist/tools/system/index.js +37 -0
  770. package/dist/tools/system/index.js.map +1 -0
  771. package/dist/tools/system/memory-usage.tool.d.ts +20 -0
  772. package/dist/tools/system/memory-usage.tool.d.ts.map +1 -0
  773. package/dist/tools/system/memory-usage.tool.js +223 -0
  774. package/dist/tools/system/memory-usage.tool.js.map +1 -0
  775. package/dist/tools/system/process-list.tool.d.ts +20 -0
  776. package/dist/tools/system/process-list.tool.d.ts.map +1 -0
  777. package/dist/tools/system/process-list.tool.js +202 -0
  778. package/dist/tools/system/process-list.tool.js.map +1 -0
  779. package/dist/tools/system/shell-exec.tool.d.ts +20 -0
  780. package/dist/tools/system/shell-exec.tool.d.ts.map +1 -0
  781. package/dist/tools/system/shell-exec.tool.js +293 -0
  782. package/dist/tools/system/shell-exec.tool.js.map +1 -0
  783. package/dist/tools/timeout-test.tool.d.ts +20 -0
  784. package/dist/tools/timeout-test.tool.d.ts.map +1 -0
  785. package/dist/tools/timeout-test.tool.js +46 -0
  786. package/dist/tools/timeout-test.tool.js.map +1 -0
  787. package/dist/tree-sitter/index.d.ts +27 -0
  788. package/dist/tree-sitter/index.d.ts.map +1 -0
  789. package/dist/tree-sitter/index.js +27 -0
  790. package/dist/tree-sitter/index.js.map +1 -0
  791. package/dist/tree-sitter/parser-manager.d.ts +83 -0
  792. package/dist/tree-sitter/parser-manager.d.ts.map +1 -0
  793. package/dist/tree-sitter/parser-manager.js +430 -0
  794. package/dist/tree-sitter/parser-manager.js.map +1 -0
  795. package/dist/tree-sitter/types.d.ts +117 -0
  796. package/dist/tree-sitter/types.d.ts.map +1 -0
  797. package/dist/tree-sitter/types.js +375 -0
  798. package/dist/tree-sitter/types.js.map +1 -0
  799. package/dist/types/file-types.d.ts +277 -0
  800. package/dist/types/file-types.d.ts.map +1 -0
  801. package/dist/types/file-types.js +75 -0
  802. package/dist/types/file-types.js.map +1 -0
  803. package/dist/types/git-types.d.ts +270 -0
  804. package/dist/types/git-types.d.ts.map +1 -0
  805. package/dist/types/git-types.js +26 -0
  806. package/dist/types/git-types.js.map +1 -0
  807. package/dist/types/index.d.ts +28 -0
  808. package/dist/types/index.d.ts.map +1 -0
  809. package/dist/types/index.js +31 -0
  810. package/dist/types/index.js.map +1 -0
  811. package/dist/types/tool-types.d.ts +231 -0
  812. package/dist/types/tool-types.d.ts.map +1 -0
  813. package/dist/types/tool-types.js +30 -0
  814. package/dist/types/tool-types.js.map +1 -0
  815. package/dist/utils/bun-file.d.ts +99 -0
  816. package/dist/utils/bun-file.d.ts.map +1 -0
  817. package/dist/utils/bun-file.js +393 -0
  818. package/dist/utils/bun-file.js.map +1 -0
  819. package/dist/utils/cache.d.ts +124 -0
  820. package/dist/utils/cache.d.ts.map +1 -0
  821. package/dist/utils/cache.js +228 -0
  822. package/dist/utils/cache.js.map +1 -0
  823. package/dist/utils/commandExecutor.d.ts +54 -0
  824. package/dist/utils/commandExecutor.d.ts.map +1 -0
  825. package/dist/utils/commandExecutor.js +165 -0
  826. package/dist/utils/commandExecutor.js.map +1 -0
  827. package/dist/utils/edit-utils.d.ts +72 -0
  828. package/dist/utils/edit-utils.d.ts.map +1 -0
  829. package/dist/utils/edit-utils.js +129 -0
  830. package/dist/utils/edit-utils.js.map +1 -0
  831. package/dist/utils/errors.d.ts +170 -0
  832. package/dist/utils/errors.d.ts.map +1 -0
  833. package/dist/utils/errors.js +304 -0
  834. package/dist/utils/errors.js.map +1 -0
  835. package/dist/utils/file-utils.d.ts +195 -0
  836. package/dist/utils/file-utils.d.ts.map +1 -0
  837. package/dist/utils/file-utils.js +401 -0
  838. package/dist/utils/file-utils.js.map +1 -0
  839. package/dist/utils/git-utils.d.ts +204 -0
  840. package/dist/utils/git-utils.d.ts.map +1 -0
  841. package/dist/utils/git-utils.js +352 -0
  842. package/dist/utils/git-utils.js.map +1 -0
  843. package/dist/utils/languageDetection.d.ts +54 -0
  844. package/dist/utils/languageDetection.d.ts.map +1 -0
  845. package/dist/utils/languageDetection.js +340 -0
  846. package/dist/utils/languageDetection.js.map +1 -0
  847. package/dist/utils/logger.d.ts +207 -0
  848. package/dist/utils/logger.d.ts.map +1 -0
  849. package/dist/utils/logger.js +484 -0
  850. package/dist/utils/logger.js.map +1 -0
  851. package/dist/utils/process-utils.d.ts +196 -0
  852. package/dist/utils/process-utils.d.ts.map +1 -0
  853. package/dist/utils/process-utils.js +302 -0
  854. package/dist/utils/process-utils.js.map +1 -0
  855. package/dist/utils/projectContext.enhanced.d.ts +71 -0
  856. package/dist/utils/projectContext.enhanced.d.ts.map +1 -0
  857. package/dist/utils/projectContext.enhanced.js +816 -0
  858. package/dist/utils/projectContext.enhanced.js.map +1 -0
  859. package/dist/utils/security.d.ts +123 -0
  860. package/dist/utils/security.d.ts.map +1 -0
  861. package/dist/utils/security.js +337 -0
  862. package/dist/utils/security.js.map +1 -0
  863. package/dist/utils/validation.d.ts +163 -0
  864. package/dist/utils/validation.d.ts.map +1 -0
  865. package/dist/utils/validation.js +558 -0
  866. package/dist/utils/validation.js.map +1 -0
  867. package/dist/version.d.ts +17 -0
  868. package/dist/version.d.ts.map +1 -0
  869. package/dist/version.js +17 -0
  870. package/dist/version.js.map +1 -0
  871. package/kemdi-code-mcp-logo.png +0 -0
  872. package/package.json +136 -0
@@ -0,0 +1,333 @@
1
+ /**
2
+ * KemdiCode MCP Server
3
+ * Copyright (C) 2025-2026 Kemdi Sp. z o.o.
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ /**
19
+ * Iteration Tracker
20
+ *
21
+ * Enables iterative improvements by tracking:
22
+ * - Previous attempts at solving problems
23
+ * - Error patterns and corrections
24
+ * - Successful strategies to reuse
25
+ */
26
+ import { Logger } from '../utils/logger.js';
27
+ import { getContextStorage } from './storage.js';
28
+ const ITERATIONS_KEY = 'kemdicode:iterations';
29
+ const PATTERNS_KEY = 'kemdicode:error_patterns';
30
+ const STRATEGIES_KEY = 'kemdicode:strategies';
31
+ const MAX_ITERATIONS = 50;
32
+ const MAX_PATTERNS = 30;
33
+ /**
34
+ * Start a new iteration for a task
35
+ */
36
+ export async function startIteration(_taskDescription) {
37
+ const storage = getContextStorage();
38
+ if (!storage)
39
+ return '';
40
+ const iteration = {
41
+ id: `iter_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
42
+ taskId: `task_${Date.now()}`,
43
+ startedAt: Date.now(),
44
+ attempts: [],
45
+ status: 'in_progress',
46
+ };
47
+ try {
48
+ const existing = await storage.get(ITERATIONS_KEY);
49
+ const iterations = existing ? JSON.parse(existing) : [];
50
+ iterations.unshift(iteration);
51
+ if (iterations.length > MAX_ITERATIONS) {
52
+ iterations.length = MAX_ITERATIONS;
53
+ }
54
+ await storage.set(ITERATIONS_KEY, JSON.stringify(iterations));
55
+ Logger.debug(`Started iteration: ${iteration.id}`);
56
+ return iteration.id;
57
+ }
58
+ catch (error) {
59
+ Logger.error('Failed to start iteration:', error);
60
+ return '';
61
+ }
62
+ }
63
+ /**
64
+ * Record an attempt within an iteration
65
+ */
66
+ export async function recordAttempt(iterationId, toolName, approach, result, options) {
67
+ const storage = getContextStorage();
68
+ if (!storage)
69
+ return;
70
+ try {
71
+ const existing = await storage.get(ITERATIONS_KEY);
72
+ if (!existing)
73
+ return;
74
+ const iterations = JSON.parse(existing);
75
+ const iteration = iterations.find((i) => i.id === iterationId);
76
+ if (!iteration) {
77
+ Logger.warn(`Iteration not found: ${iterationId}`);
78
+ return;
79
+ }
80
+ const attempt = {
81
+ id: `att_${Date.now()}_${Math.random().toString(36).slice(2, 6)}`,
82
+ timestamp: Date.now(),
83
+ toolName,
84
+ taskDescription: iteration.taskId,
85
+ approach,
86
+ result,
87
+ ...options,
88
+ };
89
+ iteration.attempts.push(attempt);
90
+ // Track error pattern if failure
91
+ if (result === 'failure' && options.errorMessage) {
92
+ await trackErrorPattern(options.errorMessage, options.corrections || []);
93
+ }
94
+ // Track successful strategy
95
+ if (result === 'success') {
96
+ await trackSuccessfulStrategy(toolName, approach);
97
+ }
98
+ await storage.set(ITERATIONS_KEY, JSON.stringify(iterations));
99
+ Logger.debug(`Recorded attempt ${attempt.id} for iteration ${iterationId}: ${result}`);
100
+ }
101
+ catch (error) {
102
+ Logger.error('Failed to record attempt:', error);
103
+ }
104
+ }
105
+ /**
106
+ * Complete an iteration with final result
107
+ */
108
+ export async function completeIteration(iterationId, finalResult, lessonsLearned) {
109
+ const storage = getContextStorage();
110
+ if (!storage)
111
+ return;
112
+ try {
113
+ const existing = await storage.get(ITERATIONS_KEY);
114
+ if (!existing)
115
+ return;
116
+ const iterations = JSON.parse(existing);
117
+ const iteration = iterations.find((i) => i.id === iterationId);
118
+ if (iteration) {
119
+ iteration.status = 'completed';
120
+ iteration.finalResult = finalResult;
121
+ iteration.lessonsLearned = lessonsLearned;
122
+ await storage.set(ITERATIONS_KEY, JSON.stringify(iterations));
123
+ Logger.debug(`Completed iteration: ${iterationId}`);
124
+ }
125
+ }
126
+ catch (error) {
127
+ Logger.error('Failed to complete iteration:', error);
128
+ }
129
+ }
130
+ /**
131
+ * Track an error pattern for learning
132
+ */
133
+ async function trackErrorPattern(errorMessage, fixes) {
134
+ const storage = getContextStorage();
135
+ if (!storage)
136
+ return;
137
+ try {
138
+ // Extract pattern from error (normalize)
139
+ const pattern = normalizeErrorPattern(errorMessage);
140
+ const existing = await storage.get(PATTERNS_KEY);
141
+ const patterns = existing ? JSON.parse(existing) : [];
142
+ const existingPattern = patterns.find((p) => p.pattern === pattern);
143
+ if (existingPattern) {
144
+ existingPattern.occurrences++;
145
+ existingPattern.lastSeen = Date.now();
146
+ // Add new fixes if not already present
147
+ for (const fix of fixes) {
148
+ if (!existingPattern.commonFixes.includes(fix)) {
149
+ existingPattern.commonFixes.push(fix);
150
+ }
151
+ }
152
+ // Keep only top 5 fixes
153
+ if (existingPattern.commonFixes.length > 5) {
154
+ existingPattern.commonFixes = existingPattern.commonFixes.slice(-5);
155
+ }
156
+ }
157
+ else {
158
+ patterns.unshift({
159
+ pattern,
160
+ occurrences: 1,
161
+ lastSeen: Date.now(),
162
+ commonFixes: fixes,
163
+ });
164
+ }
165
+ if (patterns.length > MAX_PATTERNS) {
166
+ patterns.length = MAX_PATTERNS;
167
+ }
168
+ await storage.set(PATTERNS_KEY, JSON.stringify(patterns));
169
+ }
170
+ catch (error) {
171
+ Logger.error('Failed to track error pattern:', error);
172
+ }
173
+ }
174
+ /**
175
+ * Track a successful strategy
176
+ */
177
+ async function trackSuccessfulStrategy(toolName, approach) {
178
+ const storage = getContextStorage();
179
+ if (!storage)
180
+ return;
181
+ try {
182
+ const existing = await storage.get(STRATEGIES_KEY);
183
+ const strategies = existing ? JSON.parse(existing) : [];
184
+ const existingStrategy = strategies.find((s) => s.toolName === toolName && s.description === approach);
185
+ if (existingStrategy) {
186
+ existingStrategy.uses++;
187
+ existingStrategy.successRate = Math.min(100, existingStrategy.successRate + 5 // Increase confidence
188
+ );
189
+ existingStrategy.lastUsed = Date.now();
190
+ }
191
+ else {
192
+ strategies.unshift({
193
+ description: approach,
194
+ toolName,
195
+ successRate: 70, // Initial confidence
196
+ uses: 1,
197
+ lastUsed: Date.now(),
198
+ });
199
+ }
200
+ // Sort by success rate
201
+ strategies.sort((a, b) => b.successRate - a.successRate);
202
+ if (strategies.length > MAX_PATTERNS) {
203
+ strategies.length = MAX_PATTERNS;
204
+ }
205
+ await storage.set(STRATEGIES_KEY, JSON.stringify(strategies));
206
+ }
207
+ catch (error) {
208
+ Logger.error('Failed to track strategy:', error);
209
+ }
210
+ }
211
+ /**
212
+ * Normalize error message to extract pattern
213
+ */
214
+ function normalizeErrorPattern(error) {
215
+ return (error
216
+ // Remove file paths
217
+ .replace(/\/[\w\-./]+\.(ts|js|php|py|go)/g, '[FILE]')
218
+ // Remove line numbers
219
+ .replace(/:\d+:\d+/g, ':[LINE]')
220
+ .replace(/line \d+/gi, 'line [N]')
221
+ // Remove specific variable names
222
+ .replace(/'[\w$]+'/g, "'[VAR]'")
223
+ // Remove numbers
224
+ .replace(/\b\d+\b/g, '[N]')
225
+ // Trim and limit length
226
+ .trim()
227
+ .slice(0, 200));
228
+ }
229
+ /**
230
+ * Get context for current iteration
231
+ */
232
+ export async function getIterationContext() {
233
+ const storage = getContextStorage();
234
+ if (!storage) {
235
+ return {
236
+ recentIterations: [],
237
+ errorPatterns: [],
238
+ successfulStrategies: [],
239
+ };
240
+ }
241
+ try {
242
+ const [iterationsRaw, patternsRaw, strategiesRaw] = await Promise.all([
243
+ storage.get(ITERATIONS_KEY),
244
+ storage.get(PATTERNS_KEY),
245
+ storage.get(STRATEGIES_KEY),
246
+ ]);
247
+ const iterations = iterationsRaw ? JSON.parse(iterationsRaw) : [];
248
+ const patterns = patternsRaw ? JSON.parse(patternsRaw) : [];
249
+ const strategies = strategiesRaw ? JSON.parse(strategiesRaw) : [];
250
+ const currentIteration = iterations.find((i) => i.status === 'in_progress');
251
+ return {
252
+ currentIteration,
253
+ recentIterations: iterations.slice(0, 10),
254
+ errorPatterns: patterns.slice(0, 10),
255
+ successfulStrategies: strategies.slice(0, 10),
256
+ };
257
+ }
258
+ catch (error) {
259
+ Logger.error('Failed to get iteration context:', error);
260
+ return {
261
+ recentIterations: [],
262
+ errorPatterns: [],
263
+ successfulStrategies: [],
264
+ };
265
+ }
266
+ }
267
+ /**
268
+ * Get suggestions for an error based on history
269
+ */
270
+ export async function getSuggestionsForError(errorMessage) {
271
+ const storage = getContextStorage();
272
+ if (!storage)
273
+ return [];
274
+ try {
275
+ const pattern = normalizeErrorPattern(errorMessage);
276
+ const patternsRaw = await storage.get(PATTERNS_KEY);
277
+ if (!patternsRaw)
278
+ return [];
279
+ const patterns = JSON.parse(patternsRaw);
280
+ // Find matching or similar patterns
281
+ const matches = patterns.filter((p) => p.pattern === pattern ||
282
+ p.pattern.includes(pattern.slice(0, 50)) ||
283
+ pattern.includes(p.pattern.slice(0, 50)));
284
+ if (matches.length === 0)
285
+ return [];
286
+ // Collect all fixes from matching patterns
287
+ const fixes = new Set();
288
+ for (const match of matches) {
289
+ for (const fix of match.commonFixes) {
290
+ fixes.add(fix);
291
+ }
292
+ }
293
+ return Array.from(fixes).slice(0, 5);
294
+ }
295
+ catch {
296
+ return [];
297
+ }
298
+ }
299
+ /**
300
+ * Get iteration summary for display
301
+ */
302
+ export async function getIterationSummary() {
303
+ const context = await getIterationContext();
304
+ const lines = [];
305
+ if (context.currentIteration) {
306
+ const iter = context.currentIteration;
307
+ lines.push('📍 **Current Iteration**');
308
+ lines.push(` Task: ${iter.taskId}`);
309
+ lines.push(` Attempts: ${iter.attempts.length}`);
310
+ const successes = iter.attempts.filter((a) => a.result === 'success').length;
311
+ const failures = iter.attempts.filter((a) => a.result === 'failure').length;
312
+ lines.push(` Results: ${successes} ✓ | ${failures} ✗`);
313
+ lines.push('');
314
+ }
315
+ if (context.successfulStrategies.length > 0) {
316
+ lines.push('🏆 **Top Strategies**');
317
+ for (const strategy of context.successfulStrategies.slice(0, 3)) {
318
+ lines.push(` • ${strategy.toolName}: ${strategy.description} (${strategy.successRate}%)`);
319
+ }
320
+ lines.push('');
321
+ }
322
+ if (context.errorPatterns.length > 0) {
323
+ lines.push('⚠️ **Common Error Patterns**');
324
+ for (const pattern of context.errorPatterns.slice(0, 3)) {
325
+ lines.push(` • ${pattern.pattern.slice(0, 60)}... (${pattern.occurrences}x)`);
326
+ if (pattern.commonFixes.length > 0) {
327
+ lines.push(` Fix: ${pattern.commonFixes[0]}`);
328
+ }
329
+ }
330
+ }
331
+ return lines.length > 0 ? lines.join('\n') : 'No iteration data yet.';
332
+ }
333
+ //# sourceMappingURL=iteration-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iteration-tracker.js","sourceRoot":"","sources":["../../src/context/iteration-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * KemdiCode MCP Server
3
+ * Copyright (C) 2025-2026 Kemdi Sp. z o.o.
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { McpContextEntry, McpSession, ContextQuery, RedisConfig, ServerIdentifier } from './types.js';
19
+ /**
20
+ * Context Storage Class
21
+ *
22
+ * Manages Redis-based storage for MCP context entries. Provides indexing by
23
+ * server, tool, tag, and session for efficient querying. Supports TTL-based
24
+ * automatic expiration.
25
+ *
26
+ * @class ContextStorage
27
+ * @example
28
+ * ```typescript
29
+ * const storage = await initContextStorage({ host: '127.0.0.1' });
30
+ * await storage.saveContext(entry);
31
+ * const entries = await storage.queryContext({ sessionId: 'sess_123' });
32
+ * ```
33
+ */
34
+ export declare class ContextStorage {
35
+ private readonly config;
36
+ /** Redis client instance */
37
+ private redis;
38
+ /** Key prefix for all Redis keys */
39
+ private readonly prefix;
40
+ /** Connection status flag */
41
+ private connected;
42
+ /**
43
+ * Create a new ContextStorage instance
44
+ *
45
+ * @param {RedisConfig} config - Redis connection configuration
46
+ */
47
+ constructor(config?: RedisConfig);
48
+ /**
49
+ * Initialize Redis connection
50
+ *
51
+ * @description Establishes connection to Redis with retry strategy. Uses
52
+ * environment variables as fallback for connection settings.
53
+ * @returns {Promise<boolean>} True if connection succeeded, false otherwise
54
+ * @throws {Error} Does not throw - returns false on failure
55
+ * @example
56
+ * ```typescript
57
+ * const storage = new ContextStorage({ host: 'redis.local' });
58
+ * const connected = await storage.connect();
59
+ * ```
60
+ */
61
+ connect(): Promise<boolean>;
62
+ /**
63
+ * Check if storage is available
64
+ *
65
+ * @description Returns the current connection status
66
+ * @returns {boolean} True if Redis is connected and operational
67
+ */
68
+ isConnected(): boolean;
69
+ /**
70
+ * Gracefully disconnect from Redis
71
+ *
72
+ * @description Closes the Redis connection cleanly. Should be called during
73
+ * server shutdown to avoid connection leaks.
74
+ * @returns {Promise<void>}
75
+ */
76
+ disconnect(): Promise<void>;
77
+ /**
78
+ * Save a context entry to Redis with indexes
79
+ *
80
+ * @description Persists a context entry and updates multiple indexes:
81
+ * - Server index: entries by server ID
82
+ * - Tool index: entries by tool name
83
+ * - Tag indexes: entries by each tag
84
+ * - Session index: sorted set by timestamp
85
+ * @param {McpContextEntry} entry - The context entry to save
86
+ * @returns {Promise<boolean>} True if save succeeded, false otherwise
87
+ * @example
88
+ * ```typescript
89
+ * await storage.saveContext({
90
+ * id: 'entry_123',
91
+ * sessionId: 'sess_abc',
92
+ * serverId: 'kemdicode-mcp',
93
+ * toolName: 'code-review',
94
+ * args: { files: '@src/index.ts' },
95
+ * output: 'Review completed...',
96
+ * timestamp: Date.now(),
97
+ * tags: ['review', 'security']
98
+ * });
99
+ * ```
100
+ */
101
+ saveContext(entry: McpContextEntry): Promise<boolean>;
102
+ /**
103
+ * Get a specific context entry
104
+ *
105
+ * @description Retrieves a single context entry by session and entry ID
106
+ * @param {string} sessionId - The session ID
107
+ * @param {string} entryId - The entry ID
108
+ * @returns {Promise<McpContextEntry | null>} The entry if found, null otherwise
109
+ */
110
+ getContext(sessionId: string, entryId: string): Promise<McpContextEntry | null>;
111
+ /**
112
+ * Query context entries with filters
113
+ *
114
+ * @description Retrieves context entries matching the query criteria. Supports
115
+ * filtering by server, tool, tags, and time range. Results are
116
+ * ordered by timestamp.
117
+ * @param {ContextQuery} query - Query parameters including sessionId, serverId, toolName, tags, limit, since
118
+ * @returns {Promise<McpContextEntry[]>} Array of matching entries
119
+ * @example
120
+ * ```typescript
121
+ * const entries = await storage.queryContext({
122
+ * sessionId: 'sess_abc',
123
+ * toolName: 'code-review',
124
+ * limit: 10,
125
+ * since: Date.now() - 3600000 // Last hour
126
+ * });
127
+ * ```
128
+ */
129
+ queryContext(query: ContextQuery): Promise<McpContextEntry[]>;
130
+ /**
131
+ * Get latest entries from a specific server
132
+ *
133
+ * @description Convenience method to get recent entries from a specific MCP server
134
+ * @param {string} sessionId - The session ID
135
+ * @param {ServerIdentifier} serverId - Server identifier (e.g., 'kemdicode-mcp', 'my-server')
136
+ * @param {number} [limit=5] - Maximum entries to return
137
+ * @returns {Promise<McpContextEntry[]>} Array of entries from the server
138
+ */
139
+ getLatestFromServer(sessionId: string, serverId: ServerIdentifier, limit?: number): Promise<McpContextEntry[]>;
140
+ /**
141
+ * Get all entries from current session
142
+ *
143
+ * @description Retrieves the most recent entries from a session in reverse
144
+ * chronological order (newest first).
145
+ * @param {string} sessionId - The session ID
146
+ * @param {number} [limit=50] - Maximum entries to return
147
+ * @returns {Promise<McpContextEntry[]>} Array of entries, newest first
148
+ */
149
+ getSessionHistory(sessionId: string, limit?: number): Promise<McpContextEntry[]>;
150
+ /**
151
+ * Get session metadata
152
+ *
153
+ * @description Retrieves session metadata (not to be confused with SessionConfig
154
+ * from session/manager). This is for context sharing sessions.
155
+ * @param {string} sessionId - The session ID
156
+ * @returns {Promise<McpSession | null>} Session metadata or null if not found
157
+ */
158
+ getSession(sessionId: string): Promise<McpSession | null>;
159
+ /**
160
+ * Update session metadata
161
+ *
162
+ * @description Updates session metadata and refreshes the lastAccessedAt timestamp.
163
+ * Also resets the session TTL.
164
+ * @param {McpSession} session - Session object to update
165
+ * @returns {Promise<boolean>} True if update succeeded, false otherwise
166
+ */
167
+ updateSession(session: McpSession): Promise<boolean>;
168
+ /**
169
+ * Clear all context for a session
170
+ *
171
+ * @description Deletes all context entries and indexes for a session.
172
+ * Uses a Redis pipeline for atomic deletion.
173
+ * @param {string} sessionId - The session ID to clear
174
+ * @returns {Promise<boolean>} True if clear succeeded, false otherwise
175
+ */
176
+ clearSession(sessionId: string): Promise<boolean>;
177
+ /**
178
+ * Simple key-value get
179
+ *
180
+ * @description Low-level key-value retrieval for internal modules (e.g., feedback-loop).
181
+ * Note: key prefix is automatically applied.
182
+ * @param {string} key - Redis key (without prefix)
183
+ * @returns {Promise<string | null>} Value or null if not found
184
+ */
185
+ get(key: string): Promise<string | null>;
186
+ /**
187
+ * Simple key-value set with optional TTL
188
+ *
189
+ * @description Low-level key-value storage for internal modules.
190
+ * Note: key prefix is automatically applied.
191
+ * @param {string} key - Redis key (without prefix)
192
+ * @param {string} value - Value to store
193
+ * @param {number} [ttlSeconds] - Optional TTL in seconds
194
+ * @returns {Promise<boolean>} True if set succeeded, false otherwise
195
+ */
196
+ set(key: string, value: string, ttlSeconds?: number): Promise<boolean>;
197
+ /**
198
+ * Get statistics about current storage
199
+ *
200
+ * @description Returns basic statistics about the Redis database including
201
+ * total key count and connection status.
202
+ * @returns {Promise<Record<string, number>>} Stats object with totalKeys and connected
203
+ */
204
+ getStats(): Promise<Record<string, number>>;
205
+ }
206
+ /**
207
+ * Get or create the storage singleton
208
+ *
209
+ * @description Returns the singleton ContextStorage instance, creating it with
210
+ * the provided config if it doesn't exist. Note: config is only
211
+ * used on first call.
212
+ * @param {RedisConfig} [config] - Redis connection configuration (used only on first call)
213
+ * @returns {ContextStorage} The singleton storage instance
214
+ * @example
215
+ * ```typescript
216
+ * const storage = getContextStorage({ host: 'redis.local' });
217
+ * ```
218
+ */
219
+ export declare function getContextStorage(config?: RedisConfig): ContextStorage;
220
+ /**
221
+ * Initialize storage and connect
222
+ *
223
+ * @description Convenience function that gets the singleton storage and connects it.
224
+ * Combines getContextStorage() and connect() in one call.
225
+ * @param {RedisConfig} [config] - Redis connection configuration
226
+ * @returns {Promise<ContextStorage>} Connected storage instance
227
+ * @example
228
+ * ```typescript
229
+ * const storage = await initContextStorage({ host: '127.0.0.1', port: 6379 });
230
+ * await storage.saveContext(entry);
231
+ * ```
232
+ */
233
+ export declare function initContextStorage(config?: RedisConfig): Promise<ContextStorage>;
234
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/context/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAcH,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc;IAab,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZnC,4BAA4B;IAC5B,OAAO,CAAC,KAAK,CAAsB;IACnC,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;gBAC0B,MAAM,GAAE,WAAgB;IAIrD;;;;;;;;;;;;OAYG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAoCjC;;;;;OAKG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IA+C3D;;;;;;;OAOG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBrF;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmDnE;;;;;;;;OAQG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,SAAI,GACR,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B;;;;;;;;OAQG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAwBlF;;;;;;;OAOG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAa/D;;;;;;;OAOG;IACG,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAc1D;;;;;;;OAOG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDvD;;;;;;;OAOG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS9C;;;;;;;;;OASG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5E;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAgBlD;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,CAKtE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAItF"}