codemate-ai 1.0.0 → 1.0.1

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/README.md +30 -27
  2. package/dist/cli.js +5344 -0
  3. package/package.json +6 -4
  4. package/dist/src/agents/base/Agent.d.ts +0 -13
  5. package/dist/src/agents/base/Agent.d.ts.map +0 -1
  6. package/dist/src/agents/base/Agent.js +0 -10
  7. package/dist/src/agents/base/Agent.js.map +0 -1
  8. package/dist/src/agents/builtin/ExploreAgent.d.ts +0 -13
  9. package/dist/src/agents/builtin/ExploreAgent.d.ts.map +0 -1
  10. package/dist/src/agents/builtin/ExploreAgent.js +0 -71
  11. package/dist/src/agents/builtin/ExploreAgent.js.map +0 -1
  12. package/dist/src/agents/builtin/GeneralAgent.d.ts +0 -13
  13. package/dist/src/agents/builtin/GeneralAgent.d.ts.map +0 -1
  14. package/dist/src/agents/builtin/GeneralAgent.js +0 -80
  15. package/dist/src/agents/builtin/GeneralAgent.js.map +0 -1
  16. package/dist/src/agents/builtin/PlanAgent.d.ts +0 -15
  17. package/dist/src/agents/builtin/PlanAgent.d.ts.map +0 -1
  18. package/dist/src/agents/builtin/PlanAgent.js +0 -85
  19. package/dist/src/agents/builtin/PlanAgent.js.map +0 -1
  20. package/dist/src/application/Application.d.ts +0 -28
  21. package/dist/src/application/Application.d.ts.map +0 -1
  22. package/dist/src/application/Application.js +0 -209
  23. package/dist/src/application/Application.js.map +0 -1
  24. package/dist/src/application/Container.d.ts +0 -14
  25. package/dist/src/application/Container.d.ts.map +0 -1
  26. package/dist/src/application/Container.js +0 -47
  27. package/dist/src/application/Container.js.map +0 -1
  28. package/dist/src/cli.d.ts +0 -3
  29. package/dist/src/cli.d.ts.map +0 -1
  30. package/dist/src/cli.js +0 -54
  31. package/dist/src/cli.js.map +0 -1
  32. package/dist/src/code/CodeEditor.d.ts +0 -9
  33. package/dist/src/code/CodeEditor.d.ts.map +0 -1
  34. package/dist/src/code/CodeEditor.js +0 -61
  35. package/dist/src/code/CodeEditor.js.map +0 -1
  36. package/dist/src/code/CodeLocator.d.ts +0 -8
  37. package/dist/src/code/CodeLocator.d.ts.map +0 -1
  38. package/dist/src/code/CodeLocator.js +0 -111
  39. package/dist/src/code/CodeLocator.js.map +0 -1
  40. package/dist/src/code/CodeParser.d.ts +0 -6
  41. package/dist/src/code/CodeParser.d.ts.map +0 -1
  42. package/dist/src/code/CodeParser.js +0 -32
  43. package/dist/src/code/CodeParser.js.map +0 -1
  44. package/dist/src/code/types.d.ts +0 -21
  45. package/dist/src/code/types.d.ts.map +0 -1
  46. package/dist/src/code/types.js +0 -2
  47. package/dist/src/code/types.js.map +0 -1
  48. package/dist/src/commands/base/SlashCommand.d.ts +0 -14
  49. package/dist/src/commands/base/SlashCommand.d.ts.map +0 -1
  50. package/dist/src/commands/base/SlashCommand.js +0 -14
  51. package/dist/src/commands/base/SlashCommand.js.map +0 -1
  52. package/dist/src/commands/model/ModelCommand.d.ts +0 -10
  53. package/dist/src/commands/model/ModelCommand.d.ts.map +0 -1
  54. package/dist/src/commands/model/ModelCommand.js +0 -20
  55. package/dist/src/commands/model/ModelCommand.js.map +0 -1
  56. package/dist/src/commands/performance/PerformanceCommand.d.ts +0 -12
  57. package/dist/src/commands/performance/PerformanceCommand.d.ts.map +0 -1
  58. package/dist/src/commands/performance/PerformanceCommand.js +0 -22
  59. package/dist/src/commands/performance/PerformanceCommand.js.map +0 -1
  60. package/dist/src/commands/session/ClearCommand.d.ts +0 -9
  61. package/dist/src/commands/session/ClearCommand.d.ts.map +0 -1
  62. package/dist/src/commands/session/ClearCommand.js +0 -19
  63. package/dist/src/commands/session/ClearCommand.js.map +0 -1
  64. package/dist/src/commands/session/ExitCommand.d.ts +0 -9
  65. package/dist/src/commands/session/ExitCommand.d.ts.map +0 -1
  66. package/dist/src/commands/session/ExitCommand.js +0 -12
  67. package/dist/src/commands/session/ExitCommand.js.map +0 -1
  68. package/dist/src/commands/session/HelpCommand.d.ts +0 -9
  69. package/dist/src/commands/session/HelpCommand.d.ts.map +0 -1
  70. package/dist/src/commands/session/HelpCommand.js +0 -44
  71. package/dist/src/commands/session/HelpCommand.js.map +0 -1
  72. package/dist/src/commands/session/SessionsCommand.d.ts +0 -9
  73. package/dist/src/commands/session/SessionsCommand.d.ts.map +0 -1
  74. package/dist/src/commands/session/SessionsCommand.js +0 -26
  75. package/dist/src/commands/session/SessionsCommand.js.map +0 -1
  76. package/dist/src/commands/snapshot/RewindCommand.d.ts +0 -9
  77. package/dist/src/commands/snapshot/RewindCommand.d.ts.map +0 -1
  78. package/dist/src/commands/snapshot/RewindCommand.js +0 -43
  79. package/dist/src/commands/snapshot/RewindCommand.js.map +0 -1
  80. package/dist/src/commands/snapshot/SnapshotsCommand.d.ts +0 -9
  81. package/dist/src/commands/snapshot/SnapshotsCommand.d.ts.map +0 -1
  82. package/dist/src/commands/snapshot/SnapshotsCommand.js +0 -25
  83. package/dist/src/commands/snapshot/SnapshotsCommand.js.map +0 -1
  84. package/dist/src/commands/spec/SpecCreateCommand.d.ts +0 -9
  85. package/dist/src/commands/spec/SpecCreateCommand.d.ts.map +0 -1
  86. package/dist/src/commands/spec/SpecCreateCommand.js +0 -22
  87. package/dist/src/commands/spec/SpecCreateCommand.js.map +0 -1
  88. package/dist/src/commands/spec/SpecListCommand.d.ts +0 -9
  89. package/dist/src/commands/spec/SpecListCommand.d.ts.map +0 -1
  90. package/dist/src/commands/spec/SpecListCommand.js +0 -15
  91. package/dist/src/commands/spec/SpecListCommand.js.map +0 -1
  92. package/dist/src/commands/spec/SpecShowCommand.d.ts +0 -9
  93. package/dist/src/commands/spec/SpecShowCommand.d.ts.map +0 -1
  94. package/dist/src/commands/spec/SpecShowCommand.js +0 -21
  95. package/dist/src/commands/spec/SpecShowCommand.js.map +0 -1
  96. package/dist/src/managers/AgentManager.d.ts +0 -19
  97. package/dist/src/managers/AgentManager.d.ts.map +0 -1
  98. package/dist/src/managers/AgentManager.js +0 -47
  99. package/dist/src/managers/AgentManager.js.map +0 -1
  100. package/dist/src/managers/PluginManager.d.ts +0 -23
  101. package/dist/src/managers/PluginManager.d.ts.map +0 -1
  102. package/dist/src/managers/PluginManager.js +0 -80
  103. package/dist/src/managers/PluginManager.js.map +0 -1
  104. package/dist/src/managers/SlashCommandManager.d.ts +0 -19
  105. package/dist/src/managers/SlashCommandManager.d.ts.map +0 -1
  106. package/dist/src/managers/SlashCommandManager.js +0 -80
  107. package/dist/src/managers/SlashCommandManager.js.map +0 -1
  108. package/dist/src/managers/SpecManager.d.ts +0 -26
  109. package/dist/src/managers/SpecManager.d.ts.map +0 -1
  110. package/dist/src/managers/SpecManager.js +0 -134
  111. package/dist/src/managers/SpecManager.js.map +0 -1
  112. package/dist/src/managers/ToolManager.d.ts +0 -24
  113. package/dist/src/managers/ToolManager.d.ts.map +0 -1
  114. package/dist/src/managers/ToolManager.js +0 -97
  115. package/dist/src/managers/ToolManager.js.map +0 -1
  116. package/dist/src/mcp/MCPClient.d.ts +0 -17
  117. package/dist/src/mcp/MCPClient.d.ts.map +0 -1
  118. package/dist/src/mcp/MCPClient.js +0 -117
  119. package/dist/src/mcp/MCPClient.js.map +0 -1
  120. package/dist/src/mcp/MCPManager.d.ts +0 -12
  121. package/dist/src/mcp/MCPManager.d.ts.map +0 -1
  122. package/dist/src/mcp/MCPManager.js +0 -63
  123. package/dist/src/mcp/MCPManager.js.map +0 -1
  124. package/dist/src/mcp/MCPTool.d.ts +0 -15
  125. package/dist/src/mcp/MCPTool.d.ts.map +0 -1
  126. package/dist/src/mcp/MCPTool.js +0 -73
  127. package/dist/src/mcp/MCPTool.js.map +0 -1
  128. package/dist/src/mcp/types.d.ts +0 -42
  129. package/dist/src/mcp/types.d.ts.map +0 -1
  130. package/dist/src/mcp/types.js +0 -2
  131. package/dist/src/mcp/types.js.map +0 -1
  132. package/dist/src/optimization/CompactionService.d.ts +0 -10
  133. package/dist/src/optimization/CompactionService.d.ts.map +0 -1
  134. package/dist/src/optimization/CompactionService.js +0 -82
  135. package/dist/src/optimization/CompactionService.js.map +0 -1
  136. package/dist/src/optimization/CompressionService.d.ts +0 -18
  137. package/dist/src/optimization/CompressionService.d.ts.map +0 -1
  138. package/dist/src/optimization/CompressionService.js +0 -95
  139. package/dist/src/optimization/CompressionService.js.map +0 -1
  140. package/dist/src/optimization/PerformanceMonitor.d.ts +0 -22
  141. package/dist/src/optimization/PerformanceMonitor.d.ts.map +0 -1
  142. package/dist/src/optimization/PerformanceMonitor.js +0 -90
  143. package/dist/src/optimization/PerformanceMonitor.js.map +0 -1
  144. package/dist/src/optimization/PruningService.d.ts +0 -5
  145. package/dist/src/optimization/PruningService.d.ts.map +0 -1
  146. package/dist/src/optimization/PruningService.js +0 -59
  147. package/dist/src/optimization/PruningService.js.map +0 -1
  148. package/dist/src/optimization/types.d.ts +0 -49
  149. package/dist/src/optimization/types.d.ts.map +0 -1
  150. package/dist/src/optimization/types.js +0 -2
  151. package/dist/src/optimization/types.js.map +0 -1
  152. package/dist/src/plugins/base/Plugin.d.ts +0 -17
  153. package/dist/src/plugins/base/Plugin.d.ts.map +0 -1
  154. package/dist/src/plugins/base/Plugin.js +0 -19
  155. package/dist/src/plugins/base/Plugin.js.map +0 -1
  156. package/dist/src/plugins/builtin/LoggerPlugin.d.ts +0 -13
  157. package/dist/src/plugins/builtin/LoggerPlugin.d.ts.map +0 -1
  158. package/dist/src/plugins/builtin/LoggerPlugin.js +0 -19
  159. package/dist/src/plugins/builtin/LoggerPlugin.js.map +0 -1
  160. package/dist/src/plugins/builtin/PerformancePlugin.d.ts +0 -16
  161. package/dist/src/plugins/builtin/PerformancePlugin.d.ts.map +0 -1
  162. package/dist/src/plugins/builtin/PerformancePlugin.js +0 -50
  163. package/dist/src/plugins/builtin/PerformancePlugin.js.map +0 -1
  164. package/dist/src/plugins/builtin/SecurityPlugin.d.ts +0 -18
  165. package/dist/src/plugins/builtin/SecurityPlugin.d.ts.map +0 -1
  166. package/dist/src/plugins/builtin/SecurityPlugin.js +0 -42
  167. package/dist/src/plugins/builtin/SecurityPlugin.js.map +0 -1
  168. package/dist/src/server/HTTPServer.d.ts +0 -25
  169. package/dist/src/server/HTTPServer.d.ts.map +0 -1
  170. package/dist/src/server/HTTPServer.js +0 -231
  171. package/dist/src/server/HTTPServer.js.map +0 -1
  172. package/dist/src/server/WebSocketServer.d.ts +0 -16
  173. package/dist/src/server/WebSocketServer.d.ts.map +0 -1
  174. package/dist/src/server/WebSocketServer.js +0 -118
  175. package/dist/src/server/WebSocketServer.js.map +0 -1
  176. package/dist/src/services/ConfigService.d.ts +0 -23
  177. package/dist/src/services/ConfigService.d.ts.map +0 -1
  178. package/dist/src/services/ConfigService.js +0 -169
  179. package/dist/src/services/ConfigService.js.map +0 -1
  180. package/dist/src/services/EventBus.d.ts +0 -12
  181. package/dist/src/services/EventBus.d.ts.map +0 -1
  182. package/dist/src/services/EventBus.js +0 -63
  183. package/dist/src/services/EventBus.js.map +0 -1
  184. package/dist/src/services/ModelService.d.ts +0 -24
  185. package/dist/src/services/ModelService.d.ts.map +0 -1
  186. package/dist/src/services/ModelService.js +0 -188
  187. package/dist/src/services/ModelService.js.map +0 -1
  188. package/dist/src/services/Paths.d.ts +0 -17
  189. package/dist/src/services/Paths.d.ts.map +0 -1
  190. package/dist/src/services/Paths.js +0 -125
  191. package/dist/src/services/Paths.js.map +0 -1
  192. package/dist/src/services/SessionService.d.ts +0 -19
  193. package/dist/src/services/SessionService.d.ts.map +0 -1
  194. package/dist/src/services/SessionService.js +0 -137
  195. package/dist/src/services/SessionService.js.map +0 -1
  196. package/dist/src/snapshot/FileHistory.d.ts +0 -18
  197. package/dist/src/snapshot/FileHistory.d.ts.map +0 -1
  198. package/dist/src/snapshot/FileHistory.js +0 -118
  199. package/dist/src/snapshot/FileHistory.js.map +0 -1
  200. package/dist/src/snapshot/types.d.ts +0 -19
  201. package/dist/src/snapshot/types.d.ts.map +0 -1
  202. package/dist/src/snapshot/types.js +0 -2
  203. package/dist/src/snapshot/types.js.map +0 -1
  204. package/dist/src/specs/types.d.ts +0 -54
  205. package/dist/src/specs/types.d.ts.map +0 -1
  206. package/dist/src/specs/types.js +0 -8
  207. package/dist/src/specs/types.js.map +0 -1
  208. package/dist/src/specs/utils/generator.d.ts +0 -4
  209. package/dist/src/specs/utils/generator.d.ts.map +0 -1
  210. package/dist/src/specs/utils/generator.js +0 -106
  211. package/dist/src/specs/utils/generator.js.map +0 -1
  212. package/dist/src/specs/utils/parser.d.ts +0 -3
  213. package/dist/src/specs/utils/parser.d.ts.map +0 -1
  214. package/dist/src/specs/utils/parser.js +0 -152
  215. package/dist/src/specs/utils/parser.js.map +0 -1
  216. package/dist/src/styles/base/OutputStyle.d.ts +0 -15
  217. package/dist/src/styles/base/OutputStyle.d.ts.map +0 -1
  218. package/dist/src/styles/base/OutputStyle.js +0 -16
  219. package/dist/src/styles/base/OutputStyle.js.map +0 -1
  220. package/dist/src/styles/builtin/index.d.ts +0 -8
  221. package/dist/src/styles/builtin/index.d.ts.map +0 -1
  222. package/dist/src/styles/builtin/index.js +0 -61
  223. package/dist/src/styles/builtin/index.js.map +0 -1
  224. package/dist/src/styles/managers/OutputStyleManager.d.ts +0 -20
  225. package/dist/src/styles/managers/OutputStyleManager.d.ts.map +0 -1
  226. package/dist/src/styles/managers/OutputStyleManager.js +0 -110
  227. package/dist/src/styles/managers/OutputStyleManager.js.map +0 -1
  228. package/dist/src/styles/utils/markdown.d.ts +0 -18
  229. package/dist/src/styles/utils/markdown.d.ts.map +0 -1
  230. package/dist/src/styles/utils/markdown.js +0 -107
  231. package/dist/src/styles/utils/markdown.js.map +0 -1
  232. package/dist/src/tools/base/Tool.d.ts +0 -17
  233. package/dist/src/tools/base/Tool.d.ts.map +0 -1
  234. package/dist/src/tools/base/Tool.js +0 -31
  235. package/dist/src/tools/base/Tool.js.map +0 -1
  236. package/dist/src/tools/code/EditCodeTool.d.ts +0 -50
  237. package/dist/src/tools/code/EditCodeTool.d.ts.map +0 -1
  238. package/dist/src/tools/code/EditCodeTool.js +0 -38
  239. package/dist/src/tools/code/EditCodeTool.js.map +0 -1
  240. package/dist/src/tools/file/DeleteFileTool.d.ts +0 -18
  241. package/dist/src/tools/file/DeleteFileTool.d.ts.map +0 -1
  242. package/dist/src/tools/file/DeleteFileTool.js +0 -45
  243. package/dist/src/tools/file/DeleteFileTool.js.map +0 -1
  244. package/dist/src/tools/file/EditFileTool.d.ts +0 -24
  245. package/dist/src/tools/file/EditFileTool.d.ts.map +0 -1
  246. package/dist/src/tools/file/EditFileTool.js +0 -53
  247. package/dist/src/tools/file/EditFileTool.js.map +0 -1
  248. package/dist/src/tools/file/ListFilesTool.d.ts +0 -29
  249. package/dist/src/tools/file/ListFilesTool.d.ts.map +0 -1
  250. package/dist/src/tools/file/ListFilesTool.js +0 -34
  251. package/dist/src/tools/file/ListFilesTool.js.map +0 -1
  252. package/dist/src/tools/file/ReadFileTool.d.ts +0 -25
  253. package/dist/src/tools/file/ReadFileTool.d.ts.map +0 -1
  254. package/dist/src/tools/file/ReadFileTool.js +0 -38
  255. package/dist/src/tools/file/ReadFileTool.js.map +0 -1
  256. package/dist/src/tools/file/WriteFileTool.d.ts +0 -30
  257. package/dist/src/tools/file/WriteFileTool.d.ts.map +0 -1
  258. package/dist/src/tools/file/WriteFileTool.js +0 -39
  259. package/dist/src/tools/file/WriteFileTool.js.map +0 -1
  260. package/dist/src/tools/interactive/AskUserTool.d.ts +0 -18
  261. package/dist/src/tools/interactive/AskUserTool.d.ts.map +0 -1
  262. package/dist/src/tools/interactive/AskUserTool.js +0 -43
  263. package/dist/src/tools/interactive/AskUserTool.js.map +0 -1
  264. package/dist/src/tools/interactive/ConfirmTool.d.ts +0 -18
  265. package/dist/src/tools/interactive/ConfirmTool.d.ts.map +0 -1
  266. package/dist/src/tools/interactive/ConfirmTool.js +0 -53
  267. package/dist/src/tools/interactive/ConfirmTool.js.map +0 -1
  268. package/dist/src/tools/network/FetchTool.d.ts +0 -24
  269. package/dist/src/tools/network/FetchTool.d.ts.map +0 -1
  270. package/dist/src/tools/network/FetchTool.js +0 -56
  271. package/dist/src/tools/network/FetchTool.js.map +0 -1
  272. package/dist/src/tools/network/WebSearchTool.d.ts +0 -20
  273. package/dist/src/tools/network/WebSearchTool.d.ts.map +0 -1
  274. package/dist/src/tools/network/WebSearchTool.js +0 -69
  275. package/dist/src/tools/network/WebSearchTool.js.map +0 -1
  276. package/dist/src/tools/search/GlobTool.d.ts +0 -20
  277. package/dist/src/tools/search/GlobTool.d.ts.map +0 -1
  278. package/dist/src/tools/search/GlobTool.js +0 -62
  279. package/dist/src/tools/search/GlobTool.js.map +0 -1
  280. package/dist/src/tools/search/GrepTool.d.ts +0 -26
  281. package/dist/src/tools/search/GrepTool.d.ts.map +0 -1
  282. package/dist/src/tools/search/GrepTool.js +0 -97
  283. package/dist/src/tools/search/GrepTool.js.map +0 -1
  284. package/dist/src/tools/spec/SpecReadTool.d.ts +0 -16
  285. package/dist/src/tools/spec/SpecReadTool.d.ts.map +0 -1
  286. package/dist/src/tools/spec/SpecReadTool.js +0 -79
  287. package/dist/src/tools/spec/SpecReadTool.js.map +0 -1
  288. package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts +0 -23
  289. package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts.map +0 -1
  290. package/dist/src/tools/spec/SpecUpdateTaskTool.js +0 -42
  291. package/dist/src/tools/spec/SpecUpdateTaskTool.js.map +0 -1
  292. package/dist/src/tools/special/ExitPlanTool.d.ts +0 -15
  293. package/dist/src/tools/special/ExitPlanTool.d.ts.map +0 -1
  294. package/dist/src/tools/special/ExitPlanTool.js +0 -32
  295. package/dist/src/tools/special/ExitPlanTool.js.map +0 -1
  296. package/dist/src/tools/special/SkillTool.d.ts +0 -19
  297. package/dist/src/tools/special/SkillTool.d.ts.map +0 -1
  298. package/dist/src/tools/special/SkillTool.js +0 -45
  299. package/dist/src/tools/special/SkillTool.js.map +0 -1
  300. package/dist/src/tools/system/BashTool.d.ts +0 -18
  301. package/dist/src/tools/system/BashTool.d.ts.map +0 -1
  302. package/dist/src/tools/system/BashTool.js +0 -29
  303. package/dist/src/tools/system/BashTool.js.map +0 -1
  304. package/dist/src/tools/system/EnvTool.d.ts +0 -15
  305. package/dist/src/tools/system/EnvTool.d.ts.map +0 -1
  306. package/dist/src/tools/system/EnvTool.js +0 -47
  307. package/dist/src/tools/system/EnvTool.js.map +0 -1
  308. package/dist/src/tools/system/ExecTool.d.ts +0 -21
  309. package/dist/src/tools/system/ExecTool.d.ts.map +0 -1
  310. package/dist/src/tools/system/ExecTool.js +0 -41
  311. package/dist/src/tools/system/ExecTool.js.map +0 -1
  312. package/dist/src/tools/task/TaskTool.d.ts +0 -34
  313. package/dist/src/tools/task/TaskTool.d.ts.map +0 -1
  314. package/dist/src/tools/task/TaskTool.js +0 -105
  315. package/dist/src/tools/task/TaskTool.js.map +0 -1
  316. package/dist/src/tools/task/TodoReadTool.d.ts +0 -16
  317. package/dist/src/tools/task/TodoReadTool.d.ts.map +0 -1
  318. package/dist/src/tools/task/TodoReadTool.js +0 -43
  319. package/dist/src/tools/task/TodoReadTool.js.map +0 -1
  320. package/dist/src/tools/task/TodoWriteTool.d.ts +0 -25
  321. package/dist/src/tools/task/TodoWriteTool.d.ts.map +0 -1
  322. package/dist/src/tools/task/TodoWriteTool.js +0 -82
  323. package/dist/src/tools/task/TodoWriteTool.js.map +0 -1
  324. package/dist/src/types/index.d.ts +0 -175
  325. package/dist/src/types/index.d.ts.map +0 -1
  326. package/dist/src/types/index.js +0 -31
  327. package/dist/src/types/index.js.map +0 -1
  328. package/dist/src/ui/App.d.ts +0 -8
  329. package/dist/src/ui/App.d.ts.map +0 -1
  330. package/dist/src/ui/App.js +0 -100
  331. package/dist/src/ui/App.js.map +0 -1
  332. package/dist/src/ui/components/MessageList.d.ts +0 -8
  333. package/dist/src/ui/components/MessageList.d.ts.map +0 -1
  334. package/dist/src/ui/components/MessageList.js +0 -13
  335. package/dist/src/ui/components/MessageList.js.map +0 -1
  336. package/dist/src/ui/components/SessionList.d.ts +0 -10
  337. package/dist/src/ui/components/SessionList.d.ts.map +0 -1
  338. package/dist/src/ui/components/SessionList.js +0 -23
  339. package/dist/src/ui/components/SessionList.js.map +0 -1
  340. package/dist/src/ui/context/AppContext.d.ts +0 -18
  341. package/dist/src/ui/context/AppContext.d.ts.map +0 -1
  342. package/dist/src/ui/context/AppContext.js +0 -22
  343. package/dist/src/ui/context/AppContext.js.map +0 -1
  344. package/dist/src/ui/hooks/useSession.d.ts +0 -6
  345. package/dist/src/ui/hooks/useSession.d.ts.map +0 -1
  346. package/dist/src/ui/hooks/useSession.js +0 -59
  347. package/dist/src/ui/hooks/useSession.js.map +0 -1
  348. package/dist/src/utils/calculator.d.ts +0 -3
  349. package/dist/src/utils/calculator.d.ts.map +0 -1
  350. package/dist/src/utils/calculator.js +0 -13
  351. package/dist/src/utils/calculator.js.map +0 -1
  352. package/dist/src/utils/firstRun.d.ts +0 -4
  353. package/dist/src/utils/firstRun.d.ts.map +0 -1
  354. package/dist/src/utils/firstRun.js +0 -32
  355. package/dist/src/utils/firstRun.js.map +0 -1
  356. package/dist/src/utils/math.d.ts +0 -2
  357. package/dist/src/utils/math.d.ts.map +0 -1
  358. package/dist/src/utils/math.js +0 -4
  359. package/dist/src/utils/math.js.map +0 -1
  360. package/dist/src/utils/setup.d.ts +0 -2
  361. package/dist/src/utils/setup.d.ts.map +0 -1
  362. package/dist/src/utils/setup.js +0 -87
  363. package/dist/src/utils/setup.js.map +0 -1
  364. package/dist/src/utils/tokenCounter.d.ts +0 -4
  365. package/dist/src/utils/tokenCounter.d.ts.map +0 -1
  366. package/dist/src/utils/tokenCounter.js +0 -27
  367. package/dist/src/utils/tokenCounter.js.map +0 -1
  368. package/dist/tests/integration/agents.test.d.ts +0 -2
  369. package/dist/tests/integration/agents.test.d.ts.map +0 -1
  370. package/dist/tests/integration/agents.test.js +0 -34
  371. package/dist/tests/integration/agents.test.js.map +0 -1
  372. package/dist/tests/integration/cli.test.d.ts +0 -2
  373. package/dist/tests/integration/cli.test.d.ts.map +0 -1
  374. package/dist/tests/integration/cli.test.js +0 -70
  375. package/dist/tests/integration/cli.test.js.map +0 -1
  376. package/dist/tests/integration/commands.test.d.ts +0 -2
  377. package/dist/tests/integration/commands.test.d.ts.map +0 -1
  378. package/dist/tests/integration/commands.test.js +0 -35
  379. package/dist/tests/integration/commands.test.js.map +0 -1
  380. package/dist/tests/integration/mcp.test.d.ts +0 -2
  381. package/dist/tests/integration/mcp.test.d.ts.map +0 -1
  382. package/dist/tests/integration/mcp.test.js +0 -44
  383. package/dist/tests/integration/mcp.test.js.map +0 -1
  384. package/dist/tests/integration/output-styles.test.d.ts +0 -2
  385. package/dist/tests/integration/output-styles.test.d.ts.map +0 -1
  386. package/dist/tests/integration/output-styles.test.js +0 -88
  387. package/dist/tests/integration/output-styles.test.js.map +0 -1
  388. package/dist/tests/integration/plugins.test.d.ts +0 -2
  389. package/dist/tests/integration/plugins.test.d.ts.map +0 -1
  390. package/dist/tests/integration/plugins.test.js +0 -42
  391. package/dist/tests/integration/plugins.test.js.map +0 -1
  392. package/dist/tests/integration/specs.test.d.ts +0 -2
  393. package/dist/tests/integration/specs.test.d.ts.map +0 -1
  394. package/dist/tests/integration/specs.test.js +0 -102
  395. package/dist/tests/integration/specs.test.js.map +0 -1
  396. package/dist/tests/integration/ui.test.d.ts +0 -2
  397. package/dist/tests/integration/ui.test.d.ts.map +0 -1
  398. package/dist/tests/integration/ui.test.js +0 -71
  399. package/dist/tests/integration/ui.test.js.map +0 -1
  400. package/dist/tests/mocks/mock-mcp-server.d.ts +0 -3
  401. package/dist/tests/mocks/mock-mcp-server.d.ts.map +0 -1
  402. package/dist/tests/mocks/mock-mcp-server.js +0 -127
  403. package/dist/tests/mocks/mock-mcp-server.js.map +0 -1
  404. package/dist/tests/unit/application/Application.test.d.ts +0 -2
  405. package/dist/tests/unit/application/Application.test.d.ts.map +0 -1
  406. package/dist/tests/unit/application/Application.test.js +0 -21
  407. package/dist/tests/unit/application/Application.test.js.map +0 -1
  408. package/dist/tests/unit/application/Container.test.d.ts +0 -2
  409. package/dist/tests/unit/application/Container.test.d.ts.map +0 -1
  410. package/dist/tests/unit/application/Container.test.js +0 -38
  411. package/dist/tests/unit/application/Container.test.js.map +0 -1
  412. package/dist/tests/unit/code/CodeEditor.test.d.ts +0 -2
  413. package/dist/tests/unit/code/CodeEditor.test.d.ts.map +0 -1
  414. package/dist/tests/unit/code/CodeEditor.test.js +0 -56
  415. package/dist/tests/unit/code/CodeEditor.test.js.map +0 -1
  416. package/dist/tests/unit/code/CodeLocator.test.d.ts +0 -2
  417. package/dist/tests/unit/code/CodeLocator.test.d.ts.map +0 -1
  418. package/dist/tests/unit/code/CodeLocator.test.js +0 -50
  419. package/dist/tests/unit/code/CodeLocator.test.js.map +0 -1
  420. package/dist/tests/unit/code/CodeParser.test.d.ts +0 -2
  421. package/dist/tests/unit/code/CodeParser.test.d.ts.map +0 -1
  422. package/dist/tests/unit/code/CodeParser.test.js +0 -27
  423. package/dist/tests/unit/code/CodeParser.test.js.map +0 -1
  424. package/dist/tests/unit/managers/AgentManager.test.d.ts +0 -2
  425. package/dist/tests/unit/managers/AgentManager.test.d.ts.map +0 -1
  426. package/dist/tests/unit/managers/AgentManager.test.js +0 -68
  427. package/dist/tests/unit/managers/AgentManager.test.js.map +0 -1
  428. package/dist/tests/unit/managers/PluginManager.test.d.ts +0 -2
  429. package/dist/tests/unit/managers/PluginManager.test.d.ts.map +0 -1
  430. package/dist/tests/unit/managers/PluginManager.test.js +0 -76
  431. package/dist/tests/unit/managers/PluginManager.test.js.map +0 -1
  432. package/dist/tests/unit/managers/SlashCommandManager.test.d.ts +0 -2
  433. package/dist/tests/unit/managers/SlashCommandManager.test.d.ts.map +0 -1
  434. package/dist/tests/unit/managers/SlashCommandManager.test.js +0 -47
  435. package/dist/tests/unit/managers/SlashCommandManager.test.js.map +0 -1
  436. package/dist/tests/unit/managers/SpecManager.test.d.ts +0 -2
  437. package/dist/tests/unit/managers/SpecManager.test.d.ts.map +0 -1
  438. package/dist/tests/unit/managers/SpecManager.test.js +0 -97
  439. package/dist/tests/unit/managers/SpecManager.test.js.map +0 -1
  440. package/dist/tests/unit/managers/ToolManager.test.d.ts +0 -2
  441. package/dist/tests/unit/managers/ToolManager.test.d.ts.map +0 -1
  442. package/dist/tests/unit/managers/ToolManager.test.js +0 -69
  443. package/dist/tests/unit/managers/ToolManager.test.js.map +0 -1
  444. package/dist/tests/unit/mcp/MCPClient.test.d.ts +0 -2
  445. package/dist/tests/unit/mcp/MCPClient.test.d.ts.map +0 -1
  446. package/dist/tests/unit/mcp/MCPClient.test.js +0 -40
  447. package/dist/tests/unit/mcp/MCPClient.test.js.map +0 -1
  448. package/dist/tests/unit/services/ConfigService.test.d.ts +0 -2
  449. package/dist/tests/unit/services/ConfigService.test.d.ts.map +0 -1
  450. package/dist/tests/unit/services/ConfigService.test.js +0 -104
  451. package/dist/tests/unit/services/ConfigService.test.js.map +0 -1
  452. package/dist/tests/unit/services/EventBus.test.d.ts +0 -2
  453. package/dist/tests/unit/services/EventBus.test.d.ts.map +0 -1
  454. package/dist/tests/unit/services/EventBus.test.js +0 -117
  455. package/dist/tests/unit/services/EventBus.test.js.map +0 -1
  456. package/dist/tests/unit/services/ModelService.test.d.ts +0 -2
  457. package/dist/tests/unit/services/ModelService.test.d.ts.map +0 -1
  458. package/dist/tests/unit/services/ModelService.test.js +0 -63
  459. package/dist/tests/unit/services/ModelService.test.js.map +0 -1
  460. package/dist/tests/unit/services/Paths.test.d.ts +0 -2
  461. package/dist/tests/unit/services/Paths.test.d.ts.map +0 -1
  462. package/dist/tests/unit/services/Paths.test.js +0 -33
  463. package/dist/tests/unit/services/Paths.test.js.map +0 -1
  464. package/dist/tests/unit/services/SessionService.test.d.ts +0 -2
  465. package/dist/tests/unit/services/SessionService.test.d.ts.map +0 -1
  466. package/dist/tests/unit/services/SessionService.test.js +0 -80
  467. package/dist/tests/unit/services/SessionService.test.js.map +0 -1
  468. package/dist/tests/unit/snapshot/FileHistory.test.d.ts +0 -2
  469. package/dist/tests/unit/snapshot/FileHistory.test.d.ts.map +0 -1
  470. package/dist/tests/unit/snapshot/FileHistory.test.js +0 -101
  471. package/dist/tests/unit/snapshot/FileHistory.test.js.map +0 -1
  472. package/dist/tests/unit/specs/generator.test.d.ts +0 -2
  473. package/dist/tests/unit/specs/generator.test.d.ts.map +0 -1
  474. package/dist/tests/unit/specs/generator.test.js +0 -70
  475. package/dist/tests/unit/specs/generator.test.js.map +0 -1
  476. package/dist/tests/unit/specs/parser.test.d.ts +0 -2
  477. package/dist/tests/unit/specs/parser.test.d.ts.map +0 -1
  478. package/dist/tests/unit/specs/parser.test.js +0 -85
  479. package/dist/tests/unit/specs/parser.test.js.map +0 -1
  480. package/dist/tests/unit/styles/OutputStyle.test.d.ts +0 -2
  481. package/dist/tests/unit/styles/OutputStyle.test.d.ts.map +0 -1
  482. package/dist/tests/unit/styles/OutputStyle.test.js +0 -33
  483. package/dist/tests/unit/styles/OutputStyle.test.js.map +0 -1
  484. package/dist/tests/unit/styles/OutputStyleManager.test.d.ts +0 -2
  485. package/dist/tests/unit/styles/OutputStyleManager.test.d.ts.map +0 -1
  486. package/dist/tests/unit/styles/OutputStyleManager.test.js +0 -75
  487. package/dist/tests/unit/styles/OutputStyleManager.test.js.map +0 -1
  488. package/dist/tests/unit/tools/BashTool.test.d.ts +0 -2
  489. package/dist/tests/unit/tools/BashTool.test.d.ts.map +0 -1
  490. package/dist/tests/unit/tools/BashTool.test.js +0 -35
  491. package/dist/tests/unit/tools/BashTool.test.js.map +0 -1
  492. package/dist/tests/unit/tools/EditFileTool.test.d.ts +0 -2
  493. package/dist/tests/unit/tools/EditFileTool.test.d.ts.map +0 -1
  494. package/dist/tests/unit/tools/EditFileTool.test.js +0 -48
  495. package/dist/tests/unit/tools/EditFileTool.test.js.map +0 -1
  496. package/dist/tests/unit/tools/GrepTool.test.d.ts +0 -2
  497. package/dist/tests/unit/tools/GrepTool.test.d.ts.map +0 -1
  498. package/dist/tests/unit/tools/GrepTool.test.js +0 -46
  499. package/dist/tests/unit/tools/GrepTool.test.js.map +0 -1
  500. package/dist/tests/unit/tools/ListFilesTool.test.d.ts +0 -2
  501. package/dist/tests/unit/tools/ListFilesTool.test.d.ts.map +0 -1
  502. package/dist/tests/unit/tools/ListFilesTool.test.js +0 -58
  503. package/dist/tests/unit/tools/ListFilesTool.test.js.map +0 -1
  504. package/dist/tests/unit/tools/ReadFileTool.test.d.ts +0 -2
  505. package/dist/tests/unit/tools/ReadFileTool.test.d.ts.map +0 -1
  506. package/dist/tests/unit/tools/ReadFileTool.test.js +0 -42
  507. package/dist/tests/unit/tools/ReadFileTool.test.js.map +0 -1
  508. package/dist/tests/unit/tools/TodoWriteTool.test.d.ts +0 -2
  509. package/dist/tests/unit/tools/TodoWriteTool.test.d.ts.map +0 -1
  510. package/dist/tests/unit/tools/TodoWriteTool.test.js +0 -54
  511. package/dist/tests/unit/tools/TodoWriteTool.test.js.map +0 -1
  512. package/dist/tests/unit/tools/WriteFileTool.test.d.ts +0 -2
  513. package/dist/tests/unit/tools/WriteFileTool.test.d.ts.map +0 -1
  514. package/dist/tests/unit/tools/WriteFileTool.test.js +0 -69
  515. package/dist/tests/unit/tools/WriteFileTool.test.js.map +0 -1
  516. package/dist/tests/unit/ui/App.test.d.ts +0 -2
  517. package/dist/tests/unit/ui/App.test.d.ts.map +0 -1
  518. package/dist/tests/unit/ui/App.test.js +0 -46
  519. package/dist/tests/unit/ui/App.test.js.map +0 -1
  520. package/dist/tests/unit/ui/AppContext.test.d.ts +0 -2
  521. package/dist/tests/unit/ui/AppContext.test.d.ts.map +0 -1
  522. package/dist/tests/unit/ui/AppContext.test.js +0 -39
  523. package/dist/tests/unit/ui/AppContext.test.js.map +0 -1
  524. package/dist/tests/unit/ui/MessageList.test.d.ts +0 -2
  525. package/dist/tests/unit/ui/MessageList.test.d.ts.map +0 -1
  526. package/dist/tests/unit/ui/MessageList.test.js +0 -23
  527. package/dist/tests/unit/ui/MessageList.test.js.map +0 -1
  528. package/dist/tests/unit/ui/SessionList.test.d.ts +0 -2
  529. package/dist/tests/unit/ui/SessionList.test.d.ts.map +0 -1
  530. package/dist/tests/unit/ui/SessionList.test.js +0 -49
  531. package/dist/tests/unit/ui/SessionList.test.js.map +0 -1
@@ -1,73 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"MCPTool.js","sourceRoot":"","sources":["../../../src/mcp/MCPTool.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,82 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,95 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompressionService.js","sourceRoot":"","sources":["../../../src/optimization/CompressionService.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,90 +0,0 @@
1
- export class PerformanceMonitor {
2
- metrics = {
3
- totalRequests: 0,
4
- totalInputTokens: 0,
5
- totalOutputTokens: 0,
6
- totalCacheReadTokens: 0,
7
- totalCacheWriteTokens: 0,
8
- cacheHitRate: 0,
9
- averageResponseTime: 0,
10
- pruneCount: 0,
11
- compactionCount: 0,
12
- };
13
- responseTimes = [];
14
- recordRequest(data) {
15
- this.metrics.totalRequests++;
16
- this.metrics.totalInputTokens += data.inputTokens;
17
- this.metrics.totalOutputTokens += data.outputTokens;
18
- this.metrics.totalCacheReadTokens += data.cacheReadTokens || 0;
19
- this.metrics.totalCacheWriteTokens += data.cacheWriteTokens || 0;
20
- this.responseTimes.push(data.responseTime);
21
- const totalCacheableTokens = this.metrics.totalCacheReadTokens + this.metrics.totalCacheWriteTokens;
22
- if (totalCacheableTokens > 0) {
23
- this.metrics.cacheHitRate = this.metrics.totalCacheReadTokens / totalCacheableTokens;
24
- }
25
- this.metrics.averageResponseTime =
26
- this.responseTimes.reduce((a, b) => a + b, 0) / this.responseTimes.length;
27
- }
28
- recordOptimization(data) {
29
- if (data.pruned) {
30
- this.metrics.pruneCount++;
31
- }
32
- if (data.compacted) {
33
- this.metrics.compactionCount++;
34
- }
35
- }
36
- getMetrics() {
37
- return { ...this.metrics };
38
- }
39
- generateReport() {
40
- const m = this.metrics;
41
- const totalTokens = m.totalInputTokens + m.totalOutputTokens;
42
- const savedTokens = m.totalCacheReadTokens;
43
- const savingsRate = totalTokens > 0 ? (savedTokens / totalTokens) * 100 : 0;
44
- return `
45
- 📊 性能报告
46
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
-
48
- 请求统计:
49
- 总请求数:${m.totalRequests}
50
- 平均响应时间:${m.averageResponseTime.toFixed(0)}ms
51
-
52
- Token 使用:
53
- 输入 Token:${m.totalInputTokens.toLocaleString()}
54
- 输出 Token:${m.totalOutputTokens.toLocaleString()}
55
- 总计:${totalTokens.toLocaleString()}
56
-
57
- 缓存统计:
58
- 缓存读取:${m.totalCacheReadTokens.toLocaleString()} tokens
59
- 缓存写入:${m.totalCacheWriteTokens.toLocaleString()} tokens
60
- 缓存命中率:${(m.cacheHitRate * 100).toFixed(1)}%
61
- 节省比例:${savingsRate.toFixed(1)}%
62
-
63
- 优化统计:
64
- 剪枝次数:${m.pruneCount}
65
- 压缩次数:${m.compactionCount}
66
-
67
- 成本估算(Claude 3.5 Sonnet):
68
- 输入成本:$${((m.totalInputTokens / 1000000) * 3).toFixed(4)}
69
- 输出成本:$${((m.totalOutputTokens / 1000000) * 15).toFixed(4)}
70
- 总成本:$${((m.totalInputTokens / 1000000) * 3 + (m.totalOutputTokens / 1000000) * 15).toFixed(4)}
71
- 节省成本:$${((savedTokens / 1000000) * 3).toFixed(4)}
72
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
73
- `.trim();
74
- }
75
- reset() {
76
- this.metrics = {
77
- totalRequests: 0,
78
- totalInputTokens: 0,
79
- totalOutputTokens: 0,
80
- totalCacheReadTokens: 0,
81
- totalCacheWriteTokens: 0,
82
- cacheHitRate: 0,
83
- averageResponseTime: 0,
84
- pruneCount: 0,
85
- compactionCount: 0,
86
- };
87
- this.responseTimes = [];
88
- }
89
- }
90
- //# sourceMappingURL=PerformanceMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PerformanceMonitor.js","sourceRoot":"","sources":["../../../src/optimization/PerformanceMonitor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { CompressionConfig, PruneResult } from './types';
2
- export declare class PruningService {
3
- prune(messages: any[], config: CompressionConfig): PruneResult;
4
- }
5
- //# sourceMappingURL=PruningService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PruningService.d.ts","sourceRoot":"","sources":["../../../src/optimization/PruningService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW9D,qBAAa,cAAc;IAIzB,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,WAAW;CA+E/D"}
@@ -1,59 +0,0 @@
1
- import { countTokens } from '../utils/tokenCounter';
2
- export class PruningService {
3
- prune(messages, config) {
4
- if (!config.pruning.enabled) {
5
- return { pruned: false, prunedCount: 0, prunedTokens: 0 };
6
- }
7
- const { protectThreshold, minimumPrune, protectedTools, protectTurns } = config.pruning;
8
- let totalTokens = 0;
9
- let prunedTokens = 0;
10
- const toPrune = [];
11
- let turns = 0;
12
- for (let i = messages.length - 1; i >= 0; i--) {
13
- const msg = messages[i];
14
- if (msg.role === 'user') {
15
- turns++;
16
- }
17
- if (msg.role === 'tool' && Array.isArray(msg.content)) {
18
- if (turns < protectTurns) {
19
- continue;
20
- }
21
- for (const part of msg.content) {
22
- if (part.type !== 'tool-result')
23
- continue;
24
- if (protectedTools.includes(part.toolName)) {
25
- continue;
26
- }
27
- if (part.pruned) {
28
- break;
29
- }
30
- const resultContent = typeof part.result?.llmContent === 'string'
31
- ? part.result.llmContent
32
- : JSON.stringify(part.result?.llmContent || '');
33
- const tokenEstimate = countTokens(resultContent);
34
- totalTokens += tokenEstimate;
35
- if (totalTokens > protectThreshold) {
36
- prunedTokens += tokenEstimate;
37
- toPrune.push(part);
38
- }
39
- }
40
- }
41
- }
42
- if (prunedTokens > minimumPrune) {
43
- for (const part of toPrune) {
44
- part.pruned = true;
45
- part.prunedAt = Date.now();
46
- if (part.result) {
47
- part.result = {
48
- ...part.result,
49
- llmContent: `[Output pruned at ${new Date(part.prunedAt).toISOString()}]`,
50
- };
51
- }
52
- }
53
- console.log(`[Pruning] Pruned ${toPrune.length} tool outputs, ~${prunedTokens} tokens`);
54
- return { pruned: true, prunedCount: toPrune.length, prunedTokens };
55
- }
56
- return { pruned: false, prunedCount: 0, prunedTokens: 0 };
57
- }
58
- }
59
- //# sourceMappingURL=PruningService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PruningService.js","sourceRoot":"","sources":["../../../src/optimization/PruningService.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- export interface TokenUsage {
2
- input: number;
3
- output: number;
4
- cacheRead?: number;
5
- cacheWrite?: number;
6
- }
7
- export interface ModelLimit {
8
- context: number;
9
- output: number;
10
- input?: number;
11
- }
12
- export interface CompressionConfig {
13
- compaction: {
14
- auto: boolean;
15
- outputTokenMax: number;
16
- autoContinue: boolean;
17
- triggerRatio: number;
18
- };
19
- pruning: {
20
- enabled: boolean;
21
- protectThreshold: number;
22
- minimumPrune: number;
23
- protectedTools: string[];
24
- protectTurns: number;
25
- };
26
- }
27
- export interface PruneResult {
28
- pruned: boolean;
29
- prunedCount: number;
30
- prunedTokens: number;
31
- }
32
- export interface CompactionResult {
33
- compacted: boolean;
34
- originalTokens: number;
35
- compactedTokens: number;
36
- summary: string;
37
- }
38
- export interface PerformanceMetrics {
39
- totalRequests: number;
40
- totalInputTokens: number;
41
- totalOutputTokens: number;
42
- totalCacheReadTokens: number;
43
- totalCacheWriteTokens: number;
44
- cacheHitRate: number;
45
- averageResponseTime: number;
46
- pruneCount: number;
47
- compactionCount: number;
48
- }
49
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/optimization/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE;QACV,IAAI,EAAE,OAAO,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAKD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/optimization/types.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import type { Application } from '../../application/Application';
2
- import type { Tool } from '../../tools/base/Tool';
3
- export declare abstract class Plugin {
4
- abstract name: string;
5
- abstract version: string;
6
- description?: string;
7
- onLoad(_app: Application): Promise<void>;
8
- onUnload(_app: Application): Promise<void>;
9
- onToolBefore(_tool: Tool, _input: any): Promise<void>;
10
- onToolAfter(_tool: Tool, _result: any): Promise<void>;
11
- getInfo(): {
12
- name: string;
13
- version: string;
14
- description?: string;
15
- };
16
- }
17
- //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/base/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAYlD,8BAAsB,MAAM;IAM1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAKzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAYf,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1C,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrD,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;CAOnE"}