codemate-ai 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +314 -0
  3. package/dist/src/agents/base/Agent.d.ts +13 -0
  4. package/dist/src/agents/base/Agent.d.ts.map +1 -0
  5. package/dist/src/agents/base/Agent.js +10 -0
  6. package/dist/src/agents/base/Agent.js.map +1 -0
  7. package/dist/src/agents/builtin/ExploreAgent.d.ts +13 -0
  8. package/dist/src/agents/builtin/ExploreAgent.d.ts.map +1 -0
  9. package/dist/src/agents/builtin/ExploreAgent.js +71 -0
  10. package/dist/src/agents/builtin/ExploreAgent.js.map +1 -0
  11. package/dist/src/agents/builtin/GeneralAgent.d.ts +13 -0
  12. package/dist/src/agents/builtin/GeneralAgent.d.ts.map +1 -0
  13. package/dist/src/agents/builtin/GeneralAgent.js +80 -0
  14. package/dist/src/agents/builtin/GeneralAgent.js.map +1 -0
  15. package/dist/src/agents/builtin/PlanAgent.d.ts +15 -0
  16. package/dist/src/agents/builtin/PlanAgent.d.ts.map +1 -0
  17. package/dist/src/agents/builtin/PlanAgent.js +85 -0
  18. package/dist/src/agents/builtin/PlanAgent.js.map +1 -0
  19. package/dist/src/application/Application.d.ts +28 -0
  20. package/dist/src/application/Application.d.ts.map +1 -0
  21. package/dist/src/application/Application.js +209 -0
  22. package/dist/src/application/Application.js.map +1 -0
  23. package/dist/src/application/Container.d.ts +14 -0
  24. package/dist/src/application/Container.d.ts.map +1 -0
  25. package/dist/src/application/Container.js +47 -0
  26. package/dist/src/application/Container.js.map +1 -0
  27. package/dist/src/cli.d.ts +3 -0
  28. package/dist/src/cli.d.ts.map +1 -0
  29. package/dist/src/cli.js +54 -0
  30. package/dist/src/cli.js.map +1 -0
  31. package/dist/src/code/CodeEditor.d.ts +9 -0
  32. package/dist/src/code/CodeEditor.d.ts.map +1 -0
  33. package/dist/src/code/CodeEditor.js +61 -0
  34. package/dist/src/code/CodeEditor.js.map +1 -0
  35. package/dist/src/code/CodeLocator.d.ts +8 -0
  36. package/dist/src/code/CodeLocator.d.ts.map +1 -0
  37. package/dist/src/code/CodeLocator.js +111 -0
  38. package/dist/src/code/CodeLocator.js.map +1 -0
  39. package/dist/src/code/CodeParser.d.ts +6 -0
  40. package/dist/src/code/CodeParser.d.ts.map +1 -0
  41. package/dist/src/code/CodeParser.js +32 -0
  42. package/dist/src/code/CodeParser.js.map +1 -0
  43. package/dist/src/code/types.d.ts +21 -0
  44. package/dist/src/code/types.d.ts.map +1 -0
  45. package/dist/src/code/types.js +2 -0
  46. package/dist/src/code/types.js.map +1 -0
  47. package/dist/src/commands/base/SlashCommand.d.ts +14 -0
  48. package/dist/src/commands/base/SlashCommand.d.ts.map +1 -0
  49. package/dist/src/commands/base/SlashCommand.js +14 -0
  50. package/dist/src/commands/base/SlashCommand.js.map +1 -0
  51. package/dist/src/commands/model/ModelCommand.d.ts +10 -0
  52. package/dist/src/commands/model/ModelCommand.d.ts.map +1 -0
  53. package/dist/src/commands/model/ModelCommand.js +20 -0
  54. package/dist/src/commands/model/ModelCommand.js.map +1 -0
  55. package/dist/src/commands/performance/PerformanceCommand.d.ts +12 -0
  56. package/dist/src/commands/performance/PerformanceCommand.d.ts.map +1 -0
  57. package/dist/src/commands/performance/PerformanceCommand.js +22 -0
  58. package/dist/src/commands/performance/PerformanceCommand.js.map +1 -0
  59. package/dist/src/commands/session/ClearCommand.d.ts +9 -0
  60. package/dist/src/commands/session/ClearCommand.d.ts.map +1 -0
  61. package/dist/src/commands/session/ClearCommand.js +19 -0
  62. package/dist/src/commands/session/ClearCommand.js.map +1 -0
  63. package/dist/src/commands/session/ExitCommand.d.ts +9 -0
  64. package/dist/src/commands/session/ExitCommand.d.ts.map +1 -0
  65. package/dist/src/commands/session/ExitCommand.js +12 -0
  66. package/dist/src/commands/session/ExitCommand.js.map +1 -0
  67. package/dist/src/commands/session/HelpCommand.d.ts +9 -0
  68. package/dist/src/commands/session/HelpCommand.d.ts.map +1 -0
  69. package/dist/src/commands/session/HelpCommand.js +44 -0
  70. package/dist/src/commands/session/HelpCommand.js.map +1 -0
  71. package/dist/src/commands/session/SessionsCommand.d.ts +9 -0
  72. package/dist/src/commands/session/SessionsCommand.d.ts.map +1 -0
  73. package/dist/src/commands/session/SessionsCommand.js +26 -0
  74. package/dist/src/commands/session/SessionsCommand.js.map +1 -0
  75. package/dist/src/commands/snapshot/RewindCommand.d.ts +9 -0
  76. package/dist/src/commands/snapshot/RewindCommand.d.ts.map +1 -0
  77. package/dist/src/commands/snapshot/RewindCommand.js +43 -0
  78. package/dist/src/commands/snapshot/RewindCommand.js.map +1 -0
  79. package/dist/src/commands/snapshot/SnapshotsCommand.d.ts +9 -0
  80. package/dist/src/commands/snapshot/SnapshotsCommand.d.ts.map +1 -0
  81. package/dist/src/commands/snapshot/SnapshotsCommand.js +25 -0
  82. package/dist/src/commands/snapshot/SnapshotsCommand.js.map +1 -0
  83. package/dist/src/commands/spec/SpecCreateCommand.d.ts +9 -0
  84. package/dist/src/commands/spec/SpecCreateCommand.d.ts.map +1 -0
  85. package/dist/src/commands/spec/SpecCreateCommand.js +22 -0
  86. package/dist/src/commands/spec/SpecCreateCommand.js.map +1 -0
  87. package/dist/src/commands/spec/SpecListCommand.d.ts +9 -0
  88. package/dist/src/commands/spec/SpecListCommand.d.ts.map +1 -0
  89. package/dist/src/commands/spec/SpecListCommand.js +15 -0
  90. package/dist/src/commands/spec/SpecListCommand.js.map +1 -0
  91. package/dist/src/commands/spec/SpecShowCommand.d.ts +9 -0
  92. package/dist/src/commands/spec/SpecShowCommand.d.ts.map +1 -0
  93. package/dist/src/commands/spec/SpecShowCommand.js +21 -0
  94. package/dist/src/commands/spec/SpecShowCommand.js.map +1 -0
  95. package/dist/src/managers/AgentManager.d.ts +19 -0
  96. package/dist/src/managers/AgentManager.d.ts.map +1 -0
  97. package/dist/src/managers/AgentManager.js +47 -0
  98. package/dist/src/managers/AgentManager.js.map +1 -0
  99. package/dist/src/managers/PluginManager.d.ts +23 -0
  100. package/dist/src/managers/PluginManager.d.ts.map +1 -0
  101. package/dist/src/managers/PluginManager.js +80 -0
  102. package/dist/src/managers/PluginManager.js.map +1 -0
  103. package/dist/src/managers/SlashCommandManager.d.ts +19 -0
  104. package/dist/src/managers/SlashCommandManager.d.ts.map +1 -0
  105. package/dist/src/managers/SlashCommandManager.js +80 -0
  106. package/dist/src/managers/SlashCommandManager.js.map +1 -0
  107. package/dist/src/managers/SpecManager.d.ts +26 -0
  108. package/dist/src/managers/SpecManager.d.ts.map +1 -0
  109. package/dist/src/managers/SpecManager.js +134 -0
  110. package/dist/src/managers/SpecManager.js.map +1 -0
  111. package/dist/src/managers/ToolManager.d.ts +24 -0
  112. package/dist/src/managers/ToolManager.d.ts.map +1 -0
  113. package/dist/src/managers/ToolManager.js +97 -0
  114. package/dist/src/managers/ToolManager.js.map +1 -0
  115. package/dist/src/mcp/MCPClient.d.ts +17 -0
  116. package/dist/src/mcp/MCPClient.d.ts.map +1 -0
  117. package/dist/src/mcp/MCPClient.js +117 -0
  118. package/dist/src/mcp/MCPClient.js.map +1 -0
  119. package/dist/src/mcp/MCPManager.d.ts +12 -0
  120. package/dist/src/mcp/MCPManager.d.ts.map +1 -0
  121. package/dist/src/mcp/MCPManager.js +63 -0
  122. package/dist/src/mcp/MCPManager.js.map +1 -0
  123. package/dist/src/mcp/MCPTool.d.ts +15 -0
  124. package/dist/src/mcp/MCPTool.d.ts.map +1 -0
  125. package/dist/src/mcp/MCPTool.js +73 -0
  126. package/dist/src/mcp/MCPTool.js.map +1 -0
  127. package/dist/src/mcp/types.d.ts +42 -0
  128. package/dist/src/mcp/types.d.ts.map +1 -0
  129. package/dist/src/mcp/types.js +2 -0
  130. package/dist/src/mcp/types.js.map +1 -0
  131. package/dist/src/optimization/CompactionService.d.ts +10 -0
  132. package/dist/src/optimization/CompactionService.d.ts.map +1 -0
  133. package/dist/src/optimization/CompactionService.js +82 -0
  134. package/dist/src/optimization/CompactionService.js.map +1 -0
  135. package/dist/src/optimization/CompressionService.d.ts +18 -0
  136. package/dist/src/optimization/CompressionService.d.ts.map +1 -0
  137. package/dist/src/optimization/CompressionService.js +95 -0
  138. package/dist/src/optimization/CompressionService.js.map +1 -0
  139. package/dist/src/optimization/PerformanceMonitor.d.ts +22 -0
  140. package/dist/src/optimization/PerformanceMonitor.d.ts.map +1 -0
  141. package/dist/src/optimization/PerformanceMonitor.js +90 -0
  142. package/dist/src/optimization/PerformanceMonitor.js.map +1 -0
  143. package/dist/src/optimization/PruningService.d.ts +5 -0
  144. package/dist/src/optimization/PruningService.d.ts.map +1 -0
  145. package/dist/src/optimization/PruningService.js +59 -0
  146. package/dist/src/optimization/PruningService.js.map +1 -0
  147. package/dist/src/optimization/types.d.ts +49 -0
  148. package/dist/src/optimization/types.d.ts.map +1 -0
  149. package/dist/src/optimization/types.js +2 -0
  150. package/dist/src/optimization/types.js.map +1 -0
  151. package/dist/src/plugins/base/Plugin.d.ts +17 -0
  152. package/dist/src/plugins/base/Plugin.d.ts.map +1 -0
  153. package/dist/src/plugins/base/Plugin.js +19 -0
  154. package/dist/src/plugins/base/Plugin.js.map +1 -0
  155. package/dist/src/plugins/builtin/LoggerPlugin.d.ts +13 -0
  156. package/dist/src/plugins/builtin/LoggerPlugin.d.ts.map +1 -0
  157. package/dist/src/plugins/builtin/LoggerPlugin.js +19 -0
  158. package/dist/src/plugins/builtin/LoggerPlugin.js.map +1 -0
  159. package/dist/src/plugins/builtin/PerformancePlugin.d.ts +16 -0
  160. package/dist/src/plugins/builtin/PerformancePlugin.d.ts.map +1 -0
  161. package/dist/src/plugins/builtin/PerformancePlugin.js +50 -0
  162. package/dist/src/plugins/builtin/PerformancePlugin.js.map +1 -0
  163. package/dist/src/plugins/builtin/SecurityPlugin.d.ts +18 -0
  164. package/dist/src/plugins/builtin/SecurityPlugin.d.ts.map +1 -0
  165. package/dist/src/plugins/builtin/SecurityPlugin.js +42 -0
  166. package/dist/src/plugins/builtin/SecurityPlugin.js.map +1 -0
  167. package/dist/src/server/HTTPServer.d.ts +25 -0
  168. package/dist/src/server/HTTPServer.d.ts.map +1 -0
  169. package/dist/src/server/HTTPServer.js +231 -0
  170. package/dist/src/server/HTTPServer.js.map +1 -0
  171. package/dist/src/server/WebSocketServer.d.ts +16 -0
  172. package/dist/src/server/WebSocketServer.d.ts.map +1 -0
  173. package/dist/src/server/WebSocketServer.js +118 -0
  174. package/dist/src/server/WebSocketServer.js.map +1 -0
  175. package/dist/src/services/ConfigService.d.ts +23 -0
  176. package/dist/src/services/ConfigService.d.ts.map +1 -0
  177. package/dist/src/services/ConfigService.js +169 -0
  178. package/dist/src/services/ConfigService.js.map +1 -0
  179. package/dist/src/services/EventBus.d.ts +12 -0
  180. package/dist/src/services/EventBus.d.ts.map +1 -0
  181. package/dist/src/services/EventBus.js +63 -0
  182. package/dist/src/services/EventBus.js.map +1 -0
  183. package/dist/src/services/ModelService.d.ts +24 -0
  184. package/dist/src/services/ModelService.d.ts.map +1 -0
  185. package/dist/src/services/ModelService.js +188 -0
  186. package/dist/src/services/ModelService.js.map +1 -0
  187. package/dist/src/services/Paths.d.ts +17 -0
  188. package/dist/src/services/Paths.d.ts.map +1 -0
  189. package/dist/src/services/Paths.js +125 -0
  190. package/dist/src/services/Paths.js.map +1 -0
  191. package/dist/src/services/SessionService.d.ts +19 -0
  192. package/dist/src/services/SessionService.d.ts.map +1 -0
  193. package/dist/src/services/SessionService.js +137 -0
  194. package/dist/src/services/SessionService.js.map +1 -0
  195. package/dist/src/snapshot/FileHistory.d.ts +18 -0
  196. package/dist/src/snapshot/FileHistory.d.ts.map +1 -0
  197. package/dist/src/snapshot/FileHistory.js +118 -0
  198. package/dist/src/snapshot/FileHistory.js.map +1 -0
  199. package/dist/src/snapshot/types.d.ts +19 -0
  200. package/dist/src/snapshot/types.d.ts.map +1 -0
  201. package/dist/src/snapshot/types.js +2 -0
  202. package/dist/src/snapshot/types.js.map +1 -0
  203. package/dist/src/specs/types.d.ts +54 -0
  204. package/dist/src/specs/types.d.ts.map +1 -0
  205. package/dist/src/specs/types.js +8 -0
  206. package/dist/src/specs/types.js.map +1 -0
  207. package/dist/src/specs/utils/generator.d.ts +4 -0
  208. package/dist/src/specs/utils/generator.d.ts.map +1 -0
  209. package/dist/src/specs/utils/generator.js +106 -0
  210. package/dist/src/specs/utils/generator.js.map +1 -0
  211. package/dist/src/specs/utils/parser.d.ts +3 -0
  212. package/dist/src/specs/utils/parser.d.ts.map +1 -0
  213. package/dist/src/specs/utils/parser.js +152 -0
  214. package/dist/src/specs/utils/parser.js.map +1 -0
  215. package/dist/src/styles/base/OutputStyle.d.ts +15 -0
  216. package/dist/src/styles/base/OutputStyle.d.ts.map +1 -0
  217. package/dist/src/styles/base/OutputStyle.js +16 -0
  218. package/dist/src/styles/base/OutputStyle.js.map +1 -0
  219. package/dist/src/styles/builtin/index.d.ts +8 -0
  220. package/dist/src/styles/builtin/index.d.ts.map +1 -0
  221. package/dist/src/styles/builtin/index.js +61 -0
  222. package/dist/src/styles/builtin/index.js.map +1 -0
  223. package/dist/src/styles/managers/OutputStyleManager.d.ts +20 -0
  224. package/dist/src/styles/managers/OutputStyleManager.d.ts.map +1 -0
  225. package/dist/src/styles/managers/OutputStyleManager.js +110 -0
  226. package/dist/src/styles/managers/OutputStyleManager.js.map +1 -0
  227. package/dist/src/styles/utils/markdown.d.ts +18 -0
  228. package/dist/src/styles/utils/markdown.d.ts.map +1 -0
  229. package/dist/src/styles/utils/markdown.js +107 -0
  230. package/dist/src/styles/utils/markdown.js.map +1 -0
  231. package/dist/src/tools/base/Tool.d.ts +17 -0
  232. package/dist/src/tools/base/Tool.d.ts.map +1 -0
  233. package/dist/src/tools/base/Tool.js +31 -0
  234. package/dist/src/tools/base/Tool.js.map +1 -0
  235. package/dist/src/tools/code/EditCodeTool.d.ts +50 -0
  236. package/dist/src/tools/code/EditCodeTool.d.ts.map +1 -0
  237. package/dist/src/tools/code/EditCodeTool.js +38 -0
  238. package/dist/src/tools/code/EditCodeTool.js.map +1 -0
  239. package/dist/src/tools/file/DeleteFileTool.d.ts +18 -0
  240. package/dist/src/tools/file/DeleteFileTool.d.ts.map +1 -0
  241. package/dist/src/tools/file/DeleteFileTool.js +45 -0
  242. package/dist/src/tools/file/DeleteFileTool.js.map +1 -0
  243. package/dist/src/tools/file/EditFileTool.d.ts +24 -0
  244. package/dist/src/tools/file/EditFileTool.d.ts.map +1 -0
  245. package/dist/src/tools/file/EditFileTool.js +53 -0
  246. package/dist/src/tools/file/EditFileTool.js.map +1 -0
  247. package/dist/src/tools/file/ListFilesTool.d.ts +29 -0
  248. package/dist/src/tools/file/ListFilesTool.d.ts.map +1 -0
  249. package/dist/src/tools/file/ListFilesTool.js +34 -0
  250. package/dist/src/tools/file/ListFilesTool.js.map +1 -0
  251. package/dist/src/tools/file/ReadFileTool.d.ts +25 -0
  252. package/dist/src/tools/file/ReadFileTool.d.ts.map +1 -0
  253. package/dist/src/tools/file/ReadFileTool.js +38 -0
  254. package/dist/src/tools/file/ReadFileTool.js.map +1 -0
  255. package/dist/src/tools/file/WriteFileTool.d.ts +30 -0
  256. package/dist/src/tools/file/WriteFileTool.d.ts.map +1 -0
  257. package/dist/src/tools/file/WriteFileTool.js +39 -0
  258. package/dist/src/tools/file/WriteFileTool.js.map +1 -0
  259. package/dist/src/tools/interactive/AskUserTool.d.ts +18 -0
  260. package/dist/src/tools/interactive/AskUserTool.d.ts.map +1 -0
  261. package/dist/src/tools/interactive/AskUserTool.js +43 -0
  262. package/dist/src/tools/interactive/AskUserTool.js.map +1 -0
  263. package/dist/src/tools/interactive/ConfirmTool.d.ts +18 -0
  264. package/dist/src/tools/interactive/ConfirmTool.d.ts.map +1 -0
  265. package/dist/src/tools/interactive/ConfirmTool.js +53 -0
  266. package/dist/src/tools/interactive/ConfirmTool.js.map +1 -0
  267. package/dist/src/tools/network/FetchTool.d.ts +24 -0
  268. package/dist/src/tools/network/FetchTool.d.ts.map +1 -0
  269. package/dist/src/tools/network/FetchTool.js +56 -0
  270. package/dist/src/tools/network/FetchTool.js.map +1 -0
  271. package/dist/src/tools/network/WebSearchTool.d.ts +20 -0
  272. package/dist/src/tools/network/WebSearchTool.d.ts.map +1 -0
  273. package/dist/src/tools/network/WebSearchTool.js +69 -0
  274. package/dist/src/tools/network/WebSearchTool.js.map +1 -0
  275. package/dist/src/tools/search/GlobTool.d.ts +20 -0
  276. package/dist/src/tools/search/GlobTool.d.ts.map +1 -0
  277. package/dist/src/tools/search/GlobTool.js +62 -0
  278. package/dist/src/tools/search/GlobTool.js.map +1 -0
  279. package/dist/src/tools/search/GrepTool.d.ts +26 -0
  280. package/dist/src/tools/search/GrepTool.d.ts.map +1 -0
  281. package/dist/src/tools/search/GrepTool.js +97 -0
  282. package/dist/src/tools/search/GrepTool.js.map +1 -0
  283. package/dist/src/tools/spec/SpecReadTool.d.ts +16 -0
  284. package/dist/src/tools/spec/SpecReadTool.d.ts.map +1 -0
  285. package/dist/src/tools/spec/SpecReadTool.js +79 -0
  286. package/dist/src/tools/spec/SpecReadTool.js.map +1 -0
  287. package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts +23 -0
  288. package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts.map +1 -0
  289. package/dist/src/tools/spec/SpecUpdateTaskTool.js +42 -0
  290. package/dist/src/tools/spec/SpecUpdateTaskTool.js.map +1 -0
  291. package/dist/src/tools/special/ExitPlanTool.d.ts +15 -0
  292. package/dist/src/tools/special/ExitPlanTool.d.ts.map +1 -0
  293. package/dist/src/tools/special/ExitPlanTool.js +32 -0
  294. package/dist/src/tools/special/ExitPlanTool.js.map +1 -0
  295. package/dist/src/tools/special/SkillTool.d.ts +19 -0
  296. package/dist/src/tools/special/SkillTool.d.ts.map +1 -0
  297. package/dist/src/tools/special/SkillTool.js +45 -0
  298. package/dist/src/tools/special/SkillTool.js.map +1 -0
  299. package/dist/src/tools/system/BashTool.d.ts +18 -0
  300. package/dist/src/tools/system/BashTool.d.ts.map +1 -0
  301. package/dist/src/tools/system/BashTool.js +29 -0
  302. package/dist/src/tools/system/BashTool.js.map +1 -0
  303. package/dist/src/tools/system/EnvTool.d.ts +15 -0
  304. package/dist/src/tools/system/EnvTool.d.ts.map +1 -0
  305. package/dist/src/tools/system/EnvTool.js +47 -0
  306. package/dist/src/tools/system/EnvTool.js.map +1 -0
  307. package/dist/src/tools/system/ExecTool.d.ts +21 -0
  308. package/dist/src/tools/system/ExecTool.d.ts.map +1 -0
  309. package/dist/src/tools/system/ExecTool.js +41 -0
  310. package/dist/src/tools/system/ExecTool.js.map +1 -0
  311. package/dist/src/tools/task/TaskTool.d.ts +34 -0
  312. package/dist/src/tools/task/TaskTool.d.ts.map +1 -0
  313. package/dist/src/tools/task/TaskTool.js +105 -0
  314. package/dist/src/tools/task/TaskTool.js.map +1 -0
  315. package/dist/src/tools/task/TodoReadTool.d.ts +16 -0
  316. package/dist/src/tools/task/TodoReadTool.d.ts.map +1 -0
  317. package/dist/src/tools/task/TodoReadTool.js +43 -0
  318. package/dist/src/tools/task/TodoReadTool.js.map +1 -0
  319. package/dist/src/tools/task/TodoWriteTool.d.ts +25 -0
  320. package/dist/src/tools/task/TodoWriteTool.d.ts.map +1 -0
  321. package/dist/src/tools/task/TodoWriteTool.js +82 -0
  322. package/dist/src/tools/task/TodoWriteTool.js.map +1 -0
  323. package/dist/src/types/index.d.ts +175 -0
  324. package/dist/src/types/index.d.ts.map +1 -0
  325. package/dist/src/types/index.js +31 -0
  326. package/dist/src/types/index.js.map +1 -0
  327. package/dist/src/ui/App.d.ts +8 -0
  328. package/dist/src/ui/App.d.ts.map +1 -0
  329. package/dist/src/ui/App.js +100 -0
  330. package/dist/src/ui/App.js.map +1 -0
  331. package/dist/src/ui/components/MessageList.d.ts +8 -0
  332. package/dist/src/ui/components/MessageList.d.ts.map +1 -0
  333. package/dist/src/ui/components/MessageList.js +13 -0
  334. package/dist/src/ui/components/MessageList.js.map +1 -0
  335. package/dist/src/ui/components/SessionList.d.ts +10 -0
  336. package/dist/src/ui/components/SessionList.d.ts.map +1 -0
  337. package/dist/src/ui/components/SessionList.js +23 -0
  338. package/dist/src/ui/components/SessionList.js.map +1 -0
  339. package/dist/src/ui/context/AppContext.d.ts +18 -0
  340. package/dist/src/ui/context/AppContext.d.ts.map +1 -0
  341. package/dist/src/ui/context/AppContext.js +22 -0
  342. package/dist/src/ui/context/AppContext.js.map +1 -0
  343. package/dist/src/ui/hooks/useSession.d.ts +6 -0
  344. package/dist/src/ui/hooks/useSession.d.ts.map +1 -0
  345. package/dist/src/ui/hooks/useSession.js +59 -0
  346. package/dist/src/ui/hooks/useSession.js.map +1 -0
  347. package/dist/src/utils/calculator.d.ts +3 -0
  348. package/dist/src/utils/calculator.d.ts.map +1 -0
  349. package/dist/src/utils/calculator.js +13 -0
  350. package/dist/src/utils/calculator.js.map +1 -0
  351. package/dist/src/utils/firstRun.d.ts +4 -0
  352. package/dist/src/utils/firstRun.d.ts.map +1 -0
  353. package/dist/src/utils/firstRun.js +32 -0
  354. package/dist/src/utils/firstRun.js.map +1 -0
  355. package/dist/src/utils/math.d.ts +2 -0
  356. package/dist/src/utils/math.d.ts.map +1 -0
  357. package/dist/src/utils/math.js +4 -0
  358. package/dist/src/utils/math.js.map +1 -0
  359. package/dist/src/utils/setup.d.ts +2 -0
  360. package/dist/src/utils/setup.d.ts.map +1 -0
  361. package/dist/src/utils/setup.js +87 -0
  362. package/dist/src/utils/setup.js.map +1 -0
  363. package/dist/src/utils/tokenCounter.d.ts +4 -0
  364. package/dist/src/utils/tokenCounter.d.ts.map +1 -0
  365. package/dist/src/utils/tokenCounter.js +27 -0
  366. package/dist/src/utils/tokenCounter.js.map +1 -0
  367. package/dist/tests/integration/agents.test.d.ts +2 -0
  368. package/dist/tests/integration/agents.test.d.ts.map +1 -0
  369. package/dist/tests/integration/agents.test.js +34 -0
  370. package/dist/tests/integration/agents.test.js.map +1 -0
  371. package/dist/tests/integration/cli.test.d.ts +2 -0
  372. package/dist/tests/integration/cli.test.d.ts.map +1 -0
  373. package/dist/tests/integration/cli.test.js +70 -0
  374. package/dist/tests/integration/cli.test.js.map +1 -0
  375. package/dist/tests/integration/commands.test.d.ts +2 -0
  376. package/dist/tests/integration/commands.test.d.ts.map +1 -0
  377. package/dist/tests/integration/commands.test.js +35 -0
  378. package/dist/tests/integration/commands.test.js.map +1 -0
  379. package/dist/tests/integration/mcp.test.d.ts +2 -0
  380. package/dist/tests/integration/mcp.test.d.ts.map +1 -0
  381. package/dist/tests/integration/mcp.test.js +44 -0
  382. package/dist/tests/integration/mcp.test.js.map +1 -0
  383. package/dist/tests/integration/output-styles.test.d.ts +2 -0
  384. package/dist/tests/integration/output-styles.test.d.ts.map +1 -0
  385. package/dist/tests/integration/output-styles.test.js +88 -0
  386. package/dist/tests/integration/output-styles.test.js.map +1 -0
  387. package/dist/tests/integration/plugins.test.d.ts +2 -0
  388. package/dist/tests/integration/plugins.test.d.ts.map +1 -0
  389. package/dist/tests/integration/plugins.test.js +42 -0
  390. package/dist/tests/integration/plugins.test.js.map +1 -0
  391. package/dist/tests/integration/specs.test.d.ts +2 -0
  392. package/dist/tests/integration/specs.test.d.ts.map +1 -0
  393. package/dist/tests/integration/specs.test.js +102 -0
  394. package/dist/tests/integration/specs.test.js.map +1 -0
  395. package/dist/tests/integration/ui.test.d.ts +2 -0
  396. package/dist/tests/integration/ui.test.d.ts.map +1 -0
  397. package/dist/tests/integration/ui.test.js +71 -0
  398. package/dist/tests/integration/ui.test.js.map +1 -0
  399. package/dist/tests/mocks/mock-mcp-server.d.ts +3 -0
  400. package/dist/tests/mocks/mock-mcp-server.d.ts.map +1 -0
  401. package/dist/tests/mocks/mock-mcp-server.js +127 -0
  402. package/dist/tests/mocks/mock-mcp-server.js.map +1 -0
  403. package/dist/tests/unit/application/Application.test.d.ts +2 -0
  404. package/dist/tests/unit/application/Application.test.d.ts.map +1 -0
  405. package/dist/tests/unit/application/Application.test.js +21 -0
  406. package/dist/tests/unit/application/Application.test.js.map +1 -0
  407. package/dist/tests/unit/application/Container.test.d.ts +2 -0
  408. package/dist/tests/unit/application/Container.test.d.ts.map +1 -0
  409. package/dist/tests/unit/application/Container.test.js +38 -0
  410. package/dist/tests/unit/application/Container.test.js.map +1 -0
  411. package/dist/tests/unit/code/CodeEditor.test.d.ts +2 -0
  412. package/dist/tests/unit/code/CodeEditor.test.d.ts.map +1 -0
  413. package/dist/tests/unit/code/CodeEditor.test.js +56 -0
  414. package/dist/tests/unit/code/CodeEditor.test.js.map +1 -0
  415. package/dist/tests/unit/code/CodeLocator.test.d.ts +2 -0
  416. package/dist/tests/unit/code/CodeLocator.test.d.ts.map +1 -0
  417. package/dist/tests/unit/code/CodeLocator.test.js +50 -0
  418. package/dist/tests/unit/code/CodeLocator.test.js.map +1 -0
  419. package/dist/tests/unit/code/CodeParser.test.d.ts +2 -0
  420. package/dist/tests/unit/code/CodeParser.test.d.ts.map +1 -0
  421. package/dist/tests/unit/code/CodeParser.test.js +27 -0
  422. package/dist/tests/unit/code/CodeParser.test.js.map +1 -0
  423. package/dist/tests/unit/managers/AgentManager.test.d.ts +2 -0
  424. package/dist/tests/unit/managers/AgentManager.test.d.ts.map +1 -0
  425. package/dist/tests/unit/managers/AgentManager.test.js +68 -0
  426. package/dist/tests/unit/managers/AgentManager.test.js.map +1 -0
  427. package/dist/tests/unit/managers/PluginManager.test.d.ts +2 -0
  428. package/dist/tests/unit/managers/PluginManager.test.d.ts.map +1 -0
  429. package/dist/tests/unit/managers/PluginManager.test.js +76 -0
  430. package/dist/tests/unit/managers/PluginManager.test.js.map +1 -0
  431. package/dist/tests/unit/managers/SlashCommandManager.test.d.ts +2 -0
  432. package/dist/tests/unit/managers/SlashCommandManager.test.d.ts.map +1 -0
  433. package/dist/tests/unit/managers/SlashCommandManager.test.js +47 -0
  434. package/dist/tests/unit/managers/SlashCommandManager.test.js.map +1 -0
  435. package/dist/tests/unit/managers/SpecManager.test.d.ts +2 -0
  436. package/dist/tests/unit/managers/SpecManager.test.d.ts.map +1 -0
  437. package/dist/tests/unit/managers/SpecManager.test.js +97 -0
  438. package/dist/tests/unit/managers/SpecManager.test.js.map +1 -0
  439. package/dist/tests/unit/managers/ToolManager.test.d.ts +2 -0
  440. package/dist/tests/unit/managers/ToolManager.test.d.ts.map +1 -0
  441. package/dist/tests/unit/managers/ToolManager.test.js +69 -0
  442. package/dist/tests/unit/managers/ToolManager.test.js.map +1 -0
  443. package/dist/tests/unit/mcp/MCPClient.test.d.ts +2 -0
  444. package/dist/tests/unit/mcp/MCPClient.test.d.ts.map +1 -0
  445. package/dist/tests/unit/mcp/MCPClient.test.js +40 -0
  446. package/dist/tests/unit/mcp/MCPClient.test.js.map +1 -0
  447. package/dist/tests/unit/services/ConfigService.test.d.ts +2 -0
  448. package/dist/tests/unit/services/ConfigService.test.d.ts.map +1 -0
  449. package/dist/tests/unit/services/ConfigService.test.js +104 -0
  450. package/dist/tests/unit/services/ConfigService.test.js.map +1 -0
  451. package/dist/tests/unit/services/EventBus.test.d.ts +2 -0
  452. package/dist/tests/unit/services/EventBus.test.d.ts.map +1 -0
  453. package/dist/tests/unit/services/EventBus.test.js +117 -0
  454. package/dist/tests/unit/services/EventBus.test.js.map +1 -0
  455. package/dist/tests/unit/services/ModelService.test.d.ts +2 -0
  456. package/dist/tests/unit/services/ModelService.test.d.ts.map +1 -0
  457. package/dist/tests/unit/services/ModelService.test.js +63 -0
  458. package/dist/tests/unit/services/ModelService.test.js.map +1 -0
  459. package/dist/tests/unit/services/Paths.test.d.ts +2 -0
  460. package/dist/tests/unit/services/Paths.test.d.ts.map +1 -0
  461. package/dist/tests/unit/services/Paths.test.js +33 -0
  462. package/dist/tests/unit/services/Paths.test.js.map +1 -0
  463. package/dist/tests/unit/services/SessionService.test.d.ts +2 -0
  464. package/dist/tests/unit/services/SessionService.test.d.ts.map +1 -0
  465. package/dist/tests/unit/services/SessionService.test.js +80 -0
  466. package/dist/tests/unit/services/SessionService.test.js.map +1 -0
  467. package/dist/tests/unit/snapshot/FileHistory.test.d.ts +2 -0
  468. package/dist/tests/unit/snapshot/FileHistory.test.d.ts.map +1 -0
  469. package/dist/tests/unit/snapshot/FileHistory.test.js +101 -0
  470. package/dist/tests/unit/snapshot/FileHistory.test.js.map +1 -0
  471. package/dist/tests/unit/specs/generator.test.d.ts +2 -0
  472. package/dist/tests/unit/specs/generator.test.d.ts.map +1 -0
  473. package/dist/tests/unit/specs/generator.test.js +70 -0
  474. package/dist/tests/unit/specs/generator.test.js.map +1 -0
  475. package/dist/tests/unit/specs/parser.test.d.ts +2 -0
  476. package/dist/tests/unit/specs/parser.test.d.ts.map +1 -0
  477. package/dist/tests/unit/specs/parser.test.js +85 -0
  478. package/dist/tests/unit/specs/parser.test.js.map +1 -0
  479. package/dist/tests/unit/styles/OutputStyle.test.d.ts +2 -0
  480. package/dist/tests/unit/styles/OutputStyle.test.d.ts.map +1 -0
  481. package/dist/tests/unit/styles/OutputStyle.test.js +33 -0
  482. package/dist/tests/unit/styles/OutputStyle.test.js.map +1 -0
  483. package/dist/tests/unit/styles/OutputStyleManager.test.d.ts +2 -0
  484. package/dist/tests/unit/styles/OutputStyleManager.test.d.ts.map +1 -0
  485. package/dist/tests/unit/styles/OutputStyleManager.test.js +75 -0
  486. package/dist/tests/unit/styles/OutputStyleManager.test.js.map +1 -0
  487. package/dist/tests/unit/tools/BashTool.test.d.ts +2 -0
  488. package/dist/tests/unit/tools/BashTool.test.d.ts.map +1 -0
  489. package/dist/tests/unit/tools/BashTool.test.js +35 -0
  490. package/dist/tests/unit/tools/BashTool.test.js.map +1 -0
  491. package/dist/tests/unit/tools/EditFileTool.test.d.ts +2 -0
  492. package/dist/tests/unit/tools/EditFileTool.test.d.ts.map +1 -0
  493. package/dist/tests/unit/tools/EditFileTool.test.js +48 -0
  494. package/dist/tests/unit/tools/EditFileTool.test.js.map +1 -0
  495. package/dist/tests/unit/tools/GrepTool.test.d.ts +2 -0
  496. package/dist/tests/unit/tools/GrepTool.test.d.ts.map +1 -0
  497. package/dist/tests/unit/tools/GrepTool.test.js +46 -0
  498. package/dist/tests/unit/tools/GrepTool.test.js.map +1 -0
  499. package/dist/tests/unit/tools/ListFilesTool.test.d.ts +2 -0
  500. package/dist/tests/unit/tools/ListFilesTool.test.d.ts.map +1 -0
  501. package/dist/tests/unit/tools/ListFilesTool.test.js +58 -0
  502. package/dist/tests/unit/tools/ListFilesTool.test.js.map +1 -0
  503. package/dist/tests/unit/tools/ReadFileTool.test.d.ts +2 -0
  504. package/dist/tests/unit/tools/ReadFileTool.test.d.ts.map +1 -0
  505. package/dist/tests/unit/tools/ReadFileTool.test.js +42 -0
  506. package/dist/tests/unit/tools/ReadFileTool.test.js.map +1 -0
  507. package/dist/tests/unit/tools/TodoWriteTool.test.d.ts +2 -0
  508. package/dist/tests/unit/tools/TodoWriteTool.test.d.ts.map +1 -0
  509. package/dist/tests/unit/tools/TodoWriteTool.test.js +54 -0
  510. package/dist/tests/unit/tools/TodoWriteTool.test.js.map +1 -0
  511. package/dist/tests/unit/tools/WriteFileTool.test.d.ts +2 -0
  512. package/dist/tests/unit/tools/WriteFileTool.test.d.ts.map +1 -0
  513. package/dist/tests/unit/tools/WriteFileTool.test.js +69 -0
  514. package/dist/tests/unit/tools/WriteFileTool.test.js.map +1 -0
  515. package/dist/tests/unit/ui/App.test.d.ts +2 -0
  516. package/dist/tests/unit/ui/App.test.d.ts.map +1 -0
  517. package/dist/tests/unit/ui/App.test.js +46 -0
  518. package/dist/tests/unit/ui/App.test.js.map +1 -0
  519. package/dist/tests/unit/ui/AppContext.test.d.ts +2 -0
  520. package/dist/tests/unit/ui/AppContext.test.d.ts.map +1 -0
  521. package/dist/tests/unit/ui/AppContext.test.js +39 -0
  522. package/dist/tests/unit/ui/AppContext.test.js.map +1 -0
  523. package/dist/tests/unit/ui/MessageList.test.d.ts +2 -0
  524. package/dist/tests/unit/ui/MessageList.test.d.ts.map +1 -0
  525. package/dist/tests/unit/ui/MessageList.test.js +23 -0
  526. package/dist/tests/unit/ui/MessageList.test.js.map +1 -0
  527. package/dist/tests/unit/ui/SessionList.test.d.ts +2 -0
  528. package/dist/tests/unit/ui/SessionList.test.d.ts.map +1 -0
  529. package/dist/tests/unit/ui/SessionList.test.js +49 -0
  530. package/dist/tests/unit/ui/SessionList.test.js.map +1 -0
  531. package/package.json +84 -0
@@ -0,0 +1,117 @@
1
+ import { spawn } from 'node:child_process';
2
+ export class MCPClient {
3
+ process = null;
4
+ requestId = 0;
5
+ pendingRequests = new Map();
6
+ serverName;
7
+ config;
8
+ constructor(serverName, config) {
9
+ this.serverName = serverName;
10
+ this.config = config;
11
+ }
12
+ async connect() {
13
+ console.log(`🔌 Connecting to MCP server: ${this.serverName}`);
14
+ this.process = spawn(this.config.command, this.config.args, {
15
+ env: { ...process.env, ...this.config.env },
16
+ stdio: ['pipe', 'pipe', 'pipe'],
17
+ });
18
+ if (!this.process.stdout || !this.process.stdin) {
19
+ throw new Error('Failed to create MCP server process');
20
+ }
21
+ let buffer = '';
22
+ this.process.stdout.on('data', (data) => {
23
+ buffer += data.toString();
24
+ const lines = buffer.split('\n');
25
+ buffer = lines.pop() || '';
26
+ for (const line of lines) {
27
+ if (line.trim()) {
28
+ try {
29
+ const response = JSON.parse(line);
30
+ this.handleResponse(response);
31
+ }
32
+ catch (error) {
33
+ console.error('Failed to parse MCP response:', error);
34
+ }
35
+ }
36
+ }
37
+ });
38
+ this.process.stderr?.on('data', (data) => {
39
+ console.error(`[MCP ${this.serverName}]`, data.toString());
40
+ });
41
+ await this.initialize();
42
+ console.log(`✅ Connected to MCP server: ${this.serverName}`);
43
+ }
44
+ async initialize() {
45
+ await this.sendRequest('initialize', {
46
+ protocolVersion: '2024-11-05',
47
+ capabilities: {
48
+ tools: {},
49
+ },
50
+ clientInfo: {
51
+ name: 'aicli',
52
+ version: '1.0.0',
53
+ },
54
+ });
55
+ }
56
+ async listTools() {
57
+ console.log(`🔍 Discovering tools from: ${this.serverName}`);
58
+ const response = await this.sendRequest('tools/list', {});
59
+ const tools = response.tools || [];
60
+ console.log(`✅ Found ${tools.length} tools from ${this.serverName}`);
61
+ return tools;
62
+ }
63
+ async callTool(name, args) {
64
+ console.log(`🛠️ Calling MCP tool: ${this.serverName}.${name}`);
65
+ console.log(` Arguments:`, JSON.stringify(args));
66
+ const response = await this.sendRequest('tools/call', {
67
+ name,
68
+ arguments: args,
69
+ });
70
+ console.log(`✅ Tool executed: ${this.serverName}.${name}`);
71
+ return response;
72
+ }
73
+ async sendRequest(method, params) {
74
+ if (!this.process || !this.process.stdin) {
75
+ throw new Error('MCP server not connected');
76
+ }
77
+ const id = ++this.requestId;
78
+ const request = {
79
+ jsonrpc: '2.0',
80
+ id,
81
+ method,
82
+ params,
83
+ };
84
+ const promise = new Promise((resolve, reject) => {
85
+ this.pendingRequests.set(id, { resolve, reject });
86
+ setTimeout(() => {
87
+ if (this.pendingRequests.has(id)) {
88
+ this.pendingRequests.delete(id);
89
+ reject(new Error(`MCP request timeout: ${method}`));
90
+ }
91
+ }, 30000);
92
+ });
93
+ this.process.stdin.write(JSON.stringify(request) + '\n');
94
+ return promise;
95
+ }
96
+ handleResponse(response) {
97
+ const pending = this.pendingRequests.get(response.id);
98
+ if (!pending) {
99
+ return;
100
+ }
101
+ this.pendingRequests.delete(response.id);
102
+ if (response.error) {
103
+ pending.reject(new Error(response.error.message));
104
+ }
105
+ else {
106
+ pending.resolve(response.result);
107
+ }
108
+ }
109
+ async disconnect() {
110
+ if (this.process) {
111
+ this.process.kill();
112
+ this.process = null;
113
+ }
114
+ console.log(`🔌 Disconnected from MCP server: ${this.serverName}`);
115
+ }
116
+ }
117
+ //# sourceMappingURL=MCPClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPClient.js","sourceRoot":"","sources":["../../../src/mcp/MCPClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { MCPClient } from './MCPClient';
2
+ import type { Tool } from '../tools/base/Tool';
3
+ export declare class MCPManager {
4
+ private clients;
5
+ private tools;
6
+ initialize(configPath: string): Promise<void>;
7
+ private connectServer;
8
+ getTools(): Tool[];
9
+ getClient(serverName: string): MCPClient | undefined;
10
+ disconnect(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=MCPManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPManager.d.ts","sourceRoot":"","sources":["../../../src/mcp/MCPManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAW/C,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,KAAK,CAAc;IAKrB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA6BrC,aAAa;IA8B3B,QAAQ,IAAI,IAAI,EAAE;IAOlB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAclC"}
@@ -0,0 +1,63 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import { MCPClient } from './MCPClient';
3
+ import { MCPTool } from './MCPTool';
4
+ export class MCPManager {
5
+ clients = new Map();
6
+ tools = [];
7
+ async initialize(configPath) {
8
+ console.log(`📋 Loading MCP config from: ${configPath}`);
9
+ try {
10
+ const configContent = await fs.readFile(configPath, 'utf-8');
11
+ const config = JSON.parse(configContent);
12
+ for (const [serverName, serverConfig] of Object.entries(config.servers)) {
13
+ await this.connectServer(serverName, serverConfig);
14
+ }
15
+ console.log(`✅ MCP initialized with ${this.clients.size} servers`);
16
+ console.log(`✅ Discovered ${this.tools.length} MCP tools`);
17
+ }
18
+ catch (error) {
19
+ if (error.code === 'ENOENT') {
20
+ console.log(`ℹ️ No MCP config found at ${configPath}`);
21
+ return;
22
+ }
23
+ console.error(`❌ Failed to initialize MCP:`, error);
24
+ throw error;
25
+ }
26
+ }
27
+ async connectServer(serverName, config) {
28
+ try {
29
+ const client = new MCPClient(serverName, config);
30
+ await client.connect();
31
+ const toolDefs = await client.listTools();
32
+ for (const toolDef of toolDefs) {
33
+ const tool = new MCPTool(client, toolDef, serverName);
34
+ this.tools.push(tool);
35
+ }
36
+ this.clients.set(serverName, client);
37
+ console.log(`✅ Connected to MCP server: ${serverName} (${toolDefs.length} tools)`);
38
+ }
39
+ catch (error) {
40
+ console.error(`❌ Failed to connect to MCP server ${serverName}:`, error);
41
+ }
42
+ }
43
+ getTools() {
44
+ return this.tools;
45
+ }
46
+ getClient(serverName) {
47
+ return this.clients.get(serverName);
48
+ }
49
+ async disconnect() {
50
+ for (const [serverName, client] of this.clients.entries()) {
51
+ try {
52
+ await client.disconnect();
53
+ }
54
+ catch (error) {
55
+ console.error(`Failed to disconnect from ${serverName}:`, error);
56
+ }
57
+ }
58
+ this.clients.clear();
59
+ this.tools = [];
60
+ console.log(`🔌 All MCP servers disconnected`);
61
+ }
62
+ }
63
+ //# sourceMappingURL=MCPManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPManager.js","sourceRoot":"","sources":["../../../src/mcp/MCPManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { Tool } from '../tools/base/Tool';
3
+ import type { MCPClient } from './MCPClient';
4
+ import type { MCPToolDefinition } from './types';
5
+ export declare class MCPTool extends Tool {
6
+ name: string;
7
+ description: string;
8
+ schema: z.ZodObject<any>;
9
+ private client;
10
+ private toolDef;
11
+ constructor(client: MCPClient, toolDef: MCPToolDefinition, serverName: string);
12
+ execute(input: any): Promise<any>;
13
+ private jsonSchemaToZod;
14
+ }
15
+ //# sourceMappingURL=MCPTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPTool.d.ts","sourceRoot":"","sources":["../../../src/mcp/MCPTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOjD,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAoB;gBAEvB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;IAiBvE,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA+BvC,OAAO,CAAC,eAAe;CA4CxB"}
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+ import { Tool } from '../tools/base/Tool';
3
+ export class MCPTool extends Tool {
4
+ name;
5
+ description;
6
+ schema;
7
+ client;
8
+ toolDef;
9
+ constructor(client, toolDef, serverName) {
10
+ super();
11
+ this.client = client;
12
+ this.toolDef = toolDef;
13
+ this.name = `${serverName}_${toolDef.name}`;
14
+ this.description = `[MCP:${serverName}] ${toolDef.description}`;
15
+ this.schema = this.jsonSchemaToZod(toolDef.inputSchema);
16
+ }
17
+ async execute(input) {
18
+ try {
19
+ const result = await this.client.callTool(this.toolDef.name, input);
20
+ const textContent = result.content
21
+ .filter((c) => c.type === 'text')
22
+ .map((c) => c.text)
23
+ .join('\n');
24
+ return {
25
+ success: true,
26
+ content: textContent,
27
+ raw: result,
28
+ };
29
+ }
30
+ catch (error) {
31
+ console.error(`❌ MCP tool execution failed:`, error);
32
+ if (error instanceof Error) {
33
+ throw new Error(`MCP tool failed: ${error.message}`);
34
+ }
35
+ throw new Error('MCP tool failed: Unknown error');
36
+ }
37
+ }
38
+ jsonSchemaToZod(schema) {
39
+ const shape = {};
40
+ for (const [key, prop] of Object.entries(schema.properties || {})) {
41
+ const p = prop;
42
+ let zodType;
43
+ switch (p.type) {
44
+ case 'string':
45
+ zodType = z.string();
46
+ break;
47
+ case 'number':
48
+ zodType = z.number();
49
+ break;
50
+ case 'boolean':
51
+ zodType = z.boolean();
52
+ break;
53
+ case 'array':
54
+ zodType = z.array(z.any());
55
+ break;
56
+ case 'object':
57
+ zodType = z.record(z.any());
58
+ break;
59
+ default:
60
+ zodType = z.any();
61
+ }
62
+ if (p.description) {
63
+ zodType = zodType.describe(p.description);
64
+ }
65
+ if (!schema.required?.includes(key)) {
66
+ zodType = zodType.optional();
67
+ }
68
+ shape[key] = zodType;
69
+ }
70
+ return z.object(shape);
71
+ }
72
+ }
73
+ //# sourceMappingURL=MCPTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPTool.js","sourceRoot":"","sources":["../../../src/mcp/MCPTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface MCPServerConfig {
2
+ command: string;
3
+ args: string[];
4
+ env?: Record<string, string>;
5
+ }
6
+ export interface MCPConfig {
7
+ servers: Record<string, MCPServerConfig>;
8
+ }
9
+ export interface MCPToolDefinition {
10
+ name: string;
11
+ description: string;
12
+ inputSchema: {
13
+ type: 'object';
14
+ properties: Record<string, any>;
15
+ required?: string[];
16
+ };
17
+ }
18
+ export interface MCPRequest {
19
+ jsonrpc: '2.0';
20
+ id: number | string;
21
+ method: string;
22
+ params?: any;
23
+ }
24
+ export interface MCPResponse {
25
+ jsonrpc: '2.0';
26
+ id: number | string;
27
+ result?: any;
28
+ error?: {
29
+ code: number;
30
+ message: string;
31
+ data?: any;
32
+ };
33
+ }
34
+ export interface MCPToolResult {
35
+ content: Array<{
36
+ type: 'text' | 'image' | 'resource';
37
+ text?: string;
38
+ data?: string;
39
+ uri?: string;
40
+ }>;
41
+ }
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAKD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAKD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAKD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAKD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;CACH;AAKD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { CompactionResult } from './types';
2
+ import type { ModelService } from '../services/ModelService';
3
+ export declare class CompactionService {
4
+ private modelService;
5
+ constructor(modelService: ModelService);
6
+ compact(messages: any[]): Promise<CompactionResult>;
7
+ private normalizeMessages;
8
+ private generateSummary;
9
+ }
10
+ //# sourceMappingURL=CompactionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactionService.d.ts","sourceRoot":"","sources":["../../../src/optimization/CompactionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAW7D,qBAAa,iBAAiB;IAChB,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAKxC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BzD,OAAO,CAAC,iBAAiB;YAWX,eAAe;CAmB9B"}
@@ -0,0 +1,82 @@
1
+ import { countTotalTokens } from '../utils/tokenCounter';
2
+ export class CompactionService {
3
+ modelService;
4
+ constructor(modelService) {
5
+ this.modelService = modelService;
6
+ }
7
+ async compact(messages) {
8
+ const originalTokens = countTotalTokens(messages);
9
+ const normalizedMessages = this.normalizeMessages(messages);
10
+ const summary = await this.generateSummary(normalizedMessages);
11
+ const compactedTokens = countTotalTokens([{ role: 'user', content: summary }]);
12
+ console.log(`[Compaction] Compressed ${originalTokens} → ${compactedTokens} tokens (${Math.round((1 - compactedTokens / originalTokens) * 100)}% reduction)`);
13
+ return {
14
+ compacted: true,
15
+ originalTokens,
16
+ compactedTokens,
17
+ summary,
18
+ };
19
+ }
20
+ normalizeMessages(messages) {
21
+ return messages.map((msg) => ({
22
+ role: msg.role,
23
+ content: msg.content,
24
+ }));
25
+ }
26
+ async generateSummary(messages) {
27
+ const response = await this.modelService.chatWithMessages([
28
+ {
29
+ role: 'system',
30
+ content: COMPACT_SYSTEM_PROMPT,
31
+ },
32
+ ...messages,
33
+ {
34
+ role: 'user',
35
+ content: COMPACT_USER_PROMPT,
36
+ },
37
+ ]);
38
+ if (!response || !response.content || response.content.trim() === '') {
39
+ throw new Error('Failed to compact: received empty summary from model');
40
+ }
41
+ return response.content;
42
+ }
43
+ }
44
+ const COMPACT_USER_PROMPT = `
45
+ Provide a detailed but concise summary of our conversation above. Focus on information that would be helpful for continuing the conversation, including what we did, what we're doing, which files we're working on, and what we're going to do next.
46
+ `;
47
+ const COMPACT_SYSTEM_PROMPT = `
48
+ You are a helpful AI assistant tasked with summarizing conversations.
49
+
50
+ When the conversation history grows too large, you will be invoked to distill the entire history into a concise, structured XML snapshot. This snapshot is CRITICAL, as it will become the agent's *only* memory of the past. The agent will resume its work based solely on this snapshot. All crucial details, plans, errors, and user directives MUST be preserved.
51
+
52
+ First, you will think through the entire history. Review the user's overall goal, the agent's actions, tool outputs, file modifications, and any unresolved questions. Identify every piece of information that is essential for future actions.
53
+
54
+ After your reasoning is complete, generate the final <context_summary> XML object. Be incredibly dense with information. Omit any irrelevant conversational filler.
55
+
56
+ The structure MUST be as follows:
57
+
58
+ <context_summary>
59
+ <conversation_overview>
60
+ <!-- Single paragraph overview of the entire conversation -->
61
+ </conversation_overview>
62
+
63
+ <key_knowledge>
64
+ <!-- Crucial facts, conventions, and constraints the agent must remember -->
65
+ </key_knowledge>
66
+
67
+ <file_system_state>
68
+ <!-- List files that have been created, read, modified, or deleted -->
69
+ </file_system_state>
70
+
71
+ <recent_actions>
72
+ <!-- A summary of the last few significant agent actions and their outcomes -->
73
+ </recent_actions>
74
+
75
+ <current_plan>
76
+ <!-- The agent's step-by-step plan. Mark completed steps. -->
77
+ </current_plan>
78
+ </context_summary>
79
+
80
+ Remember: This summary will serve as the foundation for continuing the conversation and implementation. Ensure all critical information is preserved while maintaining clarity and conciseness.
81
+ `;
82
+ //# sourceMappingURL=CompactionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactionService.js","sourceRoot":"","sources":["../../../src/optimization/CompactionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAUzD,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAKlD,KAAK,CAAC,OAAO,CAAC,QAAe;QAC3B,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAGlD,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAG5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAE/D,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE/E,OAAO,CAAC,GAAG,CACT,2BAA2B,cAAc,MAAM,eAAe,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,cAAc,CACjJ,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,IAAI;YACf,cAAc;YACd,eAAe;YACf,OAAO;SACR,CAAC;IACJ,CAAC;IAKO,iBAAiB,CAAC,QAAe;QAEvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAKO,KAAK,CAAC,eAAe,CAAC,QAAe;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACxD;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;aAC/B;YACD,GAAG,QAAQ;YACX;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG;;CAE3B,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CompressionConfig, TokenUsage, ModelLimit, PruneResult, CompactionResult } from './types';
2
+ import { CompactionService } from './CompactionService';
3
+ export declare class CompressionService {
4
+ private pruningService;
5
+ private compactionService;
6
+ private config;
7
+ constructor(compactionService: CompactionService, config?: Partial<CompressionConfig>);
8
+ private mergeConfig;
9
+ isOverflow(tokens: TokenUsage, modelLimit: ModelLimit): boolean;
10
+ optimize(messages: any[]): Promise<{
11
+ messages: any[];
12
+ pruneResult: PruneResult;
13
+ compactionResult?: CompactionResult;
14
+ }>;
15
+ getConfig(): CompressionConfig;
16
+ updateConfig(config: Partial<CompressionConfig>): void;
17
+ }
18
+ //# sourceMappingURL=CompressionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompressionService.d.ts","sourceRoot":"","sources":["../../../src/optimization/CompressionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAAoB;gBAEtB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IASrF,OAAO,CAAC,WAAW;IAgCnB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IA8BzD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACvC,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,WAAW,EAAE,WAAW,CAAC;QACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,CAAC;IAkDF,SAAS,IAAI,iBAAiB;IAO9B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;CAGvD"}
@@ -0,0 +1,95 @@
1
+ import { PruningService } from './PruningService';
2
+ import { countTotalTokens } from '../utils/tokenCounter';
3
+ export class CompressionService {
4
+ pruningService;
5
+ compactionService;
6
+ config;
7
+ constructor(compactionService, config) {
8
+ this.pruningService = new PruningService();
9
+ this.compactionService = compactionService;
10
+ this.config = this.mergeConfig(config);
11
+ }
12
+ mergeConfig(config) {
13
+ const DEFAULT_CONFIG = {
14
+ compaction: {
15
+ auto: true,
16
+ outputTokenMax: 8192,
17
+ autoContinue: true,
18
+ triggerRatio: 0.7,
19
+ },
20
+ pruning: {
21
+ enabled: true,
22
+ protectThreshold: 10000,
23
+ minimumPrune: 1000,
24
+ protectedTools: ['read_file', 'list_files'],
25
+ protectTurns: 2,
26
+ },
27
+ };
28
+ return {
29
+ compaction: {
30
+ ...DEFAULT_CONFIG.compaction,
31
+ ...config?.compaction,
32
+ },
33
+ pruning: {
34
+ ...DEFAULT_CONFIG.pruning,
35
+ ...config?.pruning,
36
+ },
37
+ };
38
+ }
39
+ isOverflow(tokens, modelLimit) {
40
+ if (!this.config.compaction.auto) {
41
+ return false;
42
+ }
43
+ const context = modelLimit.context;
44
+ if (context === 0) {
45
+ return false;
46
+ }
47
+ const currentInputTokens = tokens.input + (tokens.cacheRead || 0);
48
+ const compressionThreshold = context * this.config.compaction.triggerRatio;
49
+ const overflow = currentInputTokens > compressionThreshold;
50
+ console.log(`[Compression] currentInputTokens=${currentInputTokens}, ` +
51
+ `context=${context}, triggerRatio=${this.config.compaction.triggerRatio}, ` +
52
+ `threshold=${compressionThreshold}, overflow=${overflow}`);
53
+ return overflow;
54
+ }
55
+ async optimize(messages) {
56
+ console.log('[Compression] Starting optimization...');
57
+ const pruneResult = this.pruningService.prune(messages, this.config);
58
+ if (pruneResult.pruned) {
59
+ console.log(`[Compression] Pruned ${pruneResult.prunedCount} outputs, ` +
60
+ `saved ~${pruneResult.prunedTokens} tokens`);
61
+ }
62
+ const tokensAfterPrune = countTotalTokens(messages);
63
+ const needsCompaction = tokensAfterPrune > 50000;
64
+ if (needsCompaction && this.config.compaction.auto) {
65
+ console.log('[Compression] Still need compaction, compressing...');
66
+ const compactionResult = await this.compactionService.compact(messages);
67
+ const compactedMessages = [
68
+ {
69
+ role: 'user',
70
+ content: compactionResult.summary,
71
+ type: 'message',
72
+ timestamp: new Date().toISOString(),
73
+ uuid: 'compacted-summary',
74
+ parentUuid: null,
75
+ },
76
+ ];
77
+ return {
78
+ messages: compactedMessages,
79
+ pruneResult,
80
+ compactionResult,
81
+ };
82
+ }
83
+ return {
84
+ messages,
85
+ pruneResult,
86
+ };
87
+ }
88
+ getConfig() {
89
+ return this.config;
90
+ }
91
+ updateConfig(config) {
92
+ this.config = this.mergeConfig(config);
93
+ }
94
+ }
95
+ //# sourceMappingURL=CompressionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompressionService.js","sourceRoot":"","sources":["../../../src/optimization/CompressionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { PerformanceMetrics } from './types';
2
+ export declare class PerformanceMonitor {
3
+ private metrics;
4
+ private responseTimes;
5
+ recordRequest(data: {
6
+ inputTokens: number;
7
+ outputTokens: number;
8
+ cacheReadTokens?: number;
9
+ cacheWriteTokens?: number;
10
+ responseTime: number;
11
+ }): void;
12
+ recordOptimization(data: {
13
+ pruned: boolean;
14
+ prunedTokens?: number;
15
+ compacted: boolean;
16
+ compactedTokens?: number;
17
+ }): void;
18
+ getMetrics(): PerformanceMetrics;
19
+ generateReport(): string;
20
+ reset(): void;
21
+ }
22
+ //# sourceMappingURL=PerformanceMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceMonitor.d.ts","sourceRoot":"","sources":["../../../src/optimization/PerformanceMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAWlD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAUb;IAEF,OAAO,CAAC,aAAa,CAAgB;IAKrC,aAAa,CAAC,IAAI,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI;IAwBR,kBAAkB,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI;IAaR,UAAU,IAAI,kBAAkB;IAOhC,cAAc,IAAI,MAAM;IA0CxB,KAAK,IAAI,IAAI;CAcd"}