@qodo/sdk 0.1.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 (303) hide show
  1. package/LICENSE +118 -0
  2. package/README.md +121 -0
  3. package/dist/api/agent.d.ts +69 -0
  4. package/dist/api/agent.d.ts.map +1 -0
  5. package/dist/api/agent.js +1034 -0
  6. package/dist/api/agent.js.map +1 -0
  7. package/dist/api/analytics.d.ts +43 -0
  8. package/dist/api/analytics.d.ts.map +1 -0
  9. package/dist/api/analytics.js +163 -0
  10. package/dist/api/analytics.js.map +1 -0
  11. package/dist/api/http.d.ts +5 -0
  12. package/dist/api/http.d.ts.map +1 -0
  13. package/dist/api/http.js +59 -0
  14. package/dist/api/http.js.map +1 -0
  15. package/dist/api/index.d.ts +12 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +17 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/api/taskTracking.d.ts +54 -0
  20. package/dist/api/taskTracking.d.ts.map +1 -0
  21. package/dist/api/taskTracking.js +208 -0
  22. package/dist/api/taskTracking.js.map +1 -0
  23. package/dist/api/types.d.ts +92 -0
  24. package/dist/api/types.d.ts.map +1 -0
  25. package/dist/api/types.js +2 -0
  26. package/dist/api/types.js.map +1 -0
  27. package/dist/api/utils.d.ts +8 -0
  28. package/dist/api/utils.d.ts.map +1 -0
  29. package/dist/api/utils.js +54 -0
  30. package/dist/api/utils.js.map +1 -0
  31. package/dist/api/websocket.d.ts +74 -0
  32. package/dist/api/websocket.d.ts.map +1 -0
  33. package/dist/api/websocket.js +685 -0
  34. package/dist/api/websocket.js.map +1 -0
  35. package/dist/auth/index.d.ts +25 -0
  36. package/dist/auth/index.d.ts.map +1 -0
  37. package/dist/auth/index.js +85 -0
  38. package/dist/auth/index.js.map +1 -0
  39. package/dist/clients/index.d.ts +8 -0
  40. package/dist/clients/index.d.ts.map +1 -0
  41. package/dist/clients/index.js +7 -0
  42. package/dist/clients/index.js.map +1 -0
  43. package/dist/clients/info/InfoClient.d.ts +37 -0
  44. package/dist/clients/info/InfoClient.d.ts.map +1 -0
  45. package/dist/clients/info/InfoClient.js +69 -0
  46. package/dist/clients/info/InfoClient.js.map +1 -0
  47. package/dist/clients/info/index.d.ts +4 -0
  48. package/dist/clients/info/index.d.ts.map +1 -0
  49. package/dist/clients/info/index.js +2 -0
  50. package/dist/clients/info/index.js.map +1 -0
  51. package/dist/clients/info/types.d.ts +21 -0
  52. package/dist/clients/info/types.d.ts.map +1 -0
  53. package/dist/clients/info/types.js +2 -0
  54. package/dist/clients/info/types.js.map +1 -0
  55. package/dist/clients/sessions/SessionsClient.d.ts +34 -0
  56. package/dist/clients/sessions/SessionsClient.d.ts.map +1 -0
  57. package/dist/clients/sessions/SessionsClient.js +71 -0
  58. package/dist/clients/sessions/SessionsClient.js.map +1 -0
  59. package/dist/clients/sessions/index.d.ts +4 -0
  60. package/dist/clients/sessions/index.d.ts.map +1 -0
  61. package/dist/clients/sessions/index.js +2 -0
  62. package/dist/clients/sessions/index.js.map +1 -0
  63. package/dist/clients/sessions/types.d.ts +20 -0
  64. package/dist/clients/sessions/types.d.ts.map +1 -0
  65. package/dist/clients/sessions/types.js +2 -0
  66. package/dist/clients/sessions/types.js.map +1 -0
  67. package/dist/config/ConfigManager.d.ts +43 -0
  68. package/dist/config/ConfigManager.d.ts.map +1 -0
  69. package/dist/config/ConfigManager.js +472 -0
  70. package/dist/config/ConfigManager.js.map +1 -0
  71. package/dist/config/index.d.ts +6 -0
  72. package/dist/config/index.d.ts.map +1 -0
  73. package/dist/config/index.js +7 -0
  74. package/dist/config/index.js.map +1 -0
  75. package/dist/config/urlConfig.d.ts +15 -0
  76. package/dist/config/urlConfig.d.ts.map +1 -0
  77. package/dist/config/urlConfig.js +75 -0
  78. package/dist/config/urlConfig.js.map +1 -0
  79. package/dist/constants/errors.d.ts +2 -0
  80. package/dist/constants/errors.d.ts.map +1 -0
  81. package/dist/constants/errors.js +2 -0
  82. package/dist/constants/errors.js.map +1 -0
  83. package/dist/constants/index.d.ts +7 -0
  84. package/dist/constants/index.d.ts.map +1 -0
  85. package/dist/constants/index.js +11 -0
  86. package/dist/constants/index.js.map +1 -0
  87. package/dist/constants/tools.d.ts +4 -0
  88. package/dist/constants/tools.d.ts.map +1 -0
  89. package/dist/constants/tools.js +4 -0
  90. package/dist/constants/tools.js.map +1 -0
  91. package/dist/constants/versions.d.ts +2 -0
  92. package/dist/constants/versions.d.ts.map +1 -0
  93. package/dist/constants/versions.js +2 -0
  94. package/dist/constants/versions.js.map +1 -0
  95. package/dist/context/buildUserContext.d.ts +18 -0
  96. package/dist/context/buildUserContext.d.ts.map +1 -0
  97. package/dist/context/buildUserContext.js +34 -0
  98. package/dist/context/buildUserContext.js.map +1 -0
  99. package/dist/context/index.d.ts +9 -0
  100. package/dist/context/index.d.ts.map +1 -0
  101. package/dist/context/index.js +9 -0
  102. package/dist/context/index.js.map +1 -0
  103. package/dist/context/messageManager.d.ts +42 -0
  104. package/dist/context/messageManager.d.ts.map +1 -0
  105. package/dist/context/messageManager.js +322 -0
  106. package/dist/context/messageManager.js.map +1 -0
  107. package/dist/context/taskFocus.d.ts +2 -0
  108. package/dist/context/taskFocus.d.ts.map +1 -0
  109. package/dist/context/taskFocus.js +26 -0
  110. package/dist/context/taskFocus.js.map +1 -0
  111. package/dist/context/userInput.d.ts +3 -0
  112. package/dist/context/userInput.d.ts.map +1 -0
  113. package/dist/context/userInput.js +20 -0
  114. package/dist/context/userInput.js.map +1 -0
  115. package/dist/index.d.ts +18 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +21 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/mcp/MCPManager.d.ts +125 -0
  120. package/dist/mcp/MCPManager.d.ts.map +1 -0
  121. package/dist/mcp/MCPManager.js +616 -0
  122. package/dist/mcp/MCPManager.js.map +1 -0
  123. package/dist/mcp/approvedTools.d.ts +4 -0
  124. package/dist/mcp/approvedTools.d.ts.map +1 -0
  125. package/dist/mcp/approvedTools.js +19 -0
  126. package/dist/mcp/approvedTools.js.map +1 -0
  127. package/dist/mcp/baseServer.d.ts +75 -0
  128. package/dist/mcp/baseServer.d.ts.map +1 -0
  129. package/dist/mcp/baseServer.js +107 -0
  130. package/dist/mcp/baseServer.js.map +1 -0
  131. package/dist/mcp/builtinServers.d.ts +15 -0
  132. package/dist/mcp/builtinServers.d.ts.map +1 -0
  133. package/dist/mcp/builtinServers.js +155 -0
  134. package/dist/mcp/builtinServers.js.map +1 -0
  135. package/dist/mcp/dynamicBEServer.d.ts +20 -0
  136. package/dist/mcp/dynamicBEServer.d.ts.map +1 -0
  137. package/dist/mcp/dynamicBEServer.js +52 -0
  138. package/dist/mcp/dynamicBEServer.js.map +1 -0
  139. package/dist/mcp/index.d.ts +19 -0
  140. package/dist/mcp/index.d.ts.map +1 -0
  141. package/dist/mcp/index.js +24 -0
  142. package/dist/mcp/index.js.map +1 -0
  143. package/dist/mcp/mcpInitialization.d.ts +2 -0
  144. package/dist/mcp/mcpInitialization.d.ts.map +1 -0
  145. package/dist/mcp/mcpInitialization.js +56 -0
  146. package/dist/mcp/mcpInitialization.js.map +1 -0
  147. package/dist/mcp/servers/filesystem.d.ts +75 -0
  148. package/dist/mcp/servers/filesystem.d.ts.map +1 -0
  149. package/dist/mcp/servers/filesystem.js +992 -0
  150. package/dist/mcp/servers/filesystem.js.map +1 -0
  151. package/dist/mcp/servers/gerrit.d.ts +19 -0
  152. package/dist/mcp/servers/gerrit.d.ts.map +1 -0
  153. package/dist/mcp/servers/gerrit.js +515 -0
  154. package/dist/mcp/servers/gerrit.js.map +1 -0
  155. package/dist/mcp/servers/git.d.ts +18 -0
  156. package/dist/mcp/servers/git.d.ts.map +1 -0
  157. package/dist/mcp/servers/git.js +441 -0
  158. package/dist/mcp/servers/git.js.map +1 -0
  159. package/dist/mcp/servers/ripgrep.d.ts +34 -0
  160. package/dist/mcp/servers/ripgrep.d.ts.map +1 -0
  161. package/dist/mcp/servers/ripgrep.js +517 -0
  162. package/dist/mcp/servers/ripgrep.js.map +1 -0
  163. package/dist/mcp/servers/shell.d.ts +20 -0
  164. package/dist/mcp/servers/shell.d.ts.map +1 -0
  165. package/dist/mcp/servers/shell.js +603 -0
  166. package/dist/mcp/servers/shell.js.map +1 -0
  167. package/dist/mcp/serversRegistry.d.ts +55 -0
  168. package/dist/mcp/serversRegistry.d.ts.map +1 -0
  169. package/dist/mcp/serversRegistry.js +410 -0
  170. package/dist/mcp/serversRegistry.js.map +1 -0
  171. package/dist/mcp/toolProcessor.d.ts +42 -0
  172. package/dist/mcp/toolProcessor.d.ts.map +1 -0
  173. package/dist/mcp/toolProcessor.js +200 -0
  174. package/dist/mcp/toolProcessor.js.map +1 -0
  175. package/dist/mcp/types.d.ts +29 -0
  176. package/dist/mcp/types.d.ts.map +1 -0
  177. package/dist/mcp/types.js +2 -0
  178. package/dist/mcp/types.js.map +1 -0
  179. package/dist/parser/index.d.ts +72 -0
  180. package/dist/parser/index.d.ts.map +1 -0
  181. package/dist/parser/index.js +967 -0
  182. package/dist/parser/index.js.map +1 -0
  183. package/dist/parser/types.d.ts +153 -0
  184. package/dist/parser/types.d.ts.map +1 -0
  185. package/dist/parser/types.js +6 -0
  186. package/dist/parser/types.js.map +1 -0
  187. package/dist/parser/utils.d.ts +18 -0
  188. package/dist/parser/utils.d.ts.map +1 -0
  189. package/dist/parser/utils.js +64 -0
  190. package/dist/parser/utils.js.map +1 -0
  191. package/dist/sdk/QodoSDK.d.ts +152 -0
  192. package/dist/sdk/QodoSDK.d.ts.map +1 -0
  193. package/dist/sdk/QodoSDK.js +786 -0
  194. package/dist/sdk/QodoSDK.js.map +1 -0
  195. package/dist/sdk/bootstrap.d.ts +16 -0
  196. package/dist/sdk/bootstrap.d.ts.map +1 -0
  197. package/dist/sdk/bootstrap.js +21 -0
  198. package/dist/sdk/bootstrap.js.map +1 -0
  199. package/dist/sdk/builders.d.ts +54 -0
  200. package/dist/sdk/builders.d.ts.map +1 -0
  201. package/dist/sdk/builders.js +117 -0
  202. package/dist/sdk/builders.js.map +1 -0
  203. package/dist/sdk/defaults.d.ts +11 -0
  204. package/dist/sdk/defaults.d.ts.map +1 -0
  205. package/dist/sdk/defaults.js +39 -0
  206. package/dist/sdk/defaults.js.map +1 -0
  207. package/dist/sdk/discovery.d.ts +2 -0
  208. package/dist/sdk/discovery.d.ts.map +1 -0
  209. package/dist/sdk/discovery.js +25 -0
  210. package/dist/sdk/discovery.js.map +1 -0
  211. package/dist/sdk/events.d.ts +168 -0
  212. package/dist/sdk/events.d.ts.map +1 -0
  213. package/dist/sdk/events.js +52 -0
  214. package/dist/sdk/events.js.map +1 -0
  215. package/dist/sdk/index.d.ts +17 -0
  216. package/dist/sdk/index.d.ts.map +1 -0
  217. package/dist/sdk/index.js +17 -0
  218. package/dist/sdk/index.js.map +1 -0
  219. package/dist/sdk/runner/AgentRunner.d.ts +22 -0
  220. package/dist/sdk/runner/AgentRunner.d.ts.map +1 -0
  221. package/dist/sdk/runner/AgentRunner.js +222 -0
  222. package/dist/sdk/runner/AgentRunner.js.map +1 -0
  223. package/dist/sdk/runner/finalize.d.ts +9 -0
  224. package/dist/sdk/runner/finalize.d.ts.map +1 -0
  225. package/dist/sdk/runner/finalize.js +115 -0
  226. package/dist/sdk/runner/finalize.js.map +1 -0
  227. package/dist/sdk/runner/formats.d.ts +7 -0
  228. package/dist/sdk/runner/formats.d.ts.map +1 -0
  229. package/dist/sdk/runner/formats.js +91 -0
  230. package/dist/sdk/runner/formats.js.map +1 -0
  231. package/dist/sdk/runner/index.d.ts +9 -0
  232. package/dist/sdk/runner/index.d.ts.map +1 -0
  233. package/dist/sdk/runner/index.js +9 -0
  234. package/dist/sdk/runner/index.js.map +1 -0
  235. package/dist/sdk/runner/progress.d.ts +3 -0
  236. package/dist/sdk/runner/progress.d.ts.map +1 -0
  237. package/dist/sdk/runner/progress.js +16 -0
  238. package/dist/sdk/runner/progress.js.map +1 -0
  239. package/dist/sdk/schemas.d.ts +50 -0
  240. package/dist/sdk/schemas.d.ts.map +1 -0
  241. package/dist/sdk/schemas.js +145 -0
  242. package/dist/sdk/schemas.js.map +1 -0
  243. package/dist/session/SessionContext.d.ts +86 -0
  244. package/dist/session/SessionContext.d.ts.map +1 -0
  245. package/dist/session/SessionContext.js +395 -0
  246. package/dist/session/SessionContext.js.map +1 -0
  247. package/dist/session/environment.d.ts +42 -0
  248. package/dist/session/environment.d.ts.map +1 -0
  249. package/dist/session/environment.js +27 -0
  250. package/dist/session/environment.js.map +1 -0
  251. package/dist/session/history.d.ts +3 -0
  252. package/dist/session/history.d.ts.map +1 -0
  253. package/dist/session/history.js +67 -0
  254. package/dist/session/history.js.map +1 -0
  255. package/dist/session/index.d.ts +10 -0
  256. package/dist/session/index.d.ts.map +1 -0
  257. package/dist/session/index.js +9 -0
  258. package/dist/session/index.js.map +1 -0
  259. package/dist/session/serverData.d.ts +38 -0
  260. package/dist/session/serverData.d.ts.map +1 -0
  261. package/dist/session/serverData.js +241 -0
  262. package/dist/session/serverData.js.map +1 -0
  263. package/dist/tracking/Tracker.d.ts +55 -0
  264. package/dist/tracking/Tracker.d.ts.map +1 -0
  265. package/dist/tracking/Tracker.js +217 -0
  266. package/dist/tracking/Tracker.js.map +1 -0
  267. package/dist/tracking/index.d.ts +8 -0
  268. package/dist/tracking/index.d.ts.map +1 -0
  269. package/dist/tracking/index.js +8 -0
  270. package/dist/tracking/index.js.map +1 -0
  271. package/dist/tracking/schemas.d.ts +292 -0
  272. package/dist/tracking/schemas.d.ts.map +1 -0
  273. package/dist/tracking/schemas.js +91 -0
  274. package/dist/tracking/schemas.js.map +1 -0
  275. package/dist/types.d.ts +4 -0
  276. package/dist/types.d.ts.map +1 -0
  277. package/dist/types.js +2 -0
  278. package/dist/types.js.map +1 -0
  279. package/dist/utils/extractSetFlags.d.ts +6 -0
  280. package/dist/utils/extractSetFlags.d.ts.map +1 -0
  281. package/dist/utils/extractSetFlags.js +16 -0
  282. package/dist/utils/extractSetFlags.js.map +1 -0
  283. package/dist/utils/formatTimeAgo.d.ts +2 -0
  284. package/dist/utils/formatTimeAgo.d.ts.map +1 -0
  285. package/dist/utils/formatTimeAgo.js +20 -0
  286. package/dist/utils/formatTimeAgo.js.map +1 -0
  287. package/dist/utils/index.d.ts +12 -0
  288. package/dist/utils/index.d.ts.map +1 -0
  289. package/dist/utils/index.js +12 -0
  290. package/dist/utils/index.js.map +1 -0
  291. package/dist/utils/machineId.d.ts +14 -0
  292. package/dist/utils/machineId.d.ts.map +1 -0
  293. package/dist/utils/machineId.js +66 -0
  294. package/dist/utils/machineId.js.map +1 -0
  295. package/dist/utils/pathUtils.d.ts +22 -0
  296. package/dist/utils/pathUtils.d.ts.map +1 -0
  297. package/dist/utils/pathUtils.js +54 -0
  298. package/dist/utils/pathUtils.js.map +1 -0
  299. package/dist/version.d.ts +2 -0
  300. package/dist/version.d.ts.map +1 -0
  301. package/dist/version.js +23 -0
  302. package/dist/version.js.map +1 -0
  303. package/package.json +93 -0
@@ -0,0 +1,200 @@
1
+ import { FilesystemServerEnhanced, TextNotFoundError } from "./servers/filesystem.js";
2
+ import { promises as fs } from "fs";
3
+ import path from "path";
4
+ import { ServerData } from "../session/index.js";
5
+ /**
6
+ * Filesystem tool processor for handling file operations
7
+ */
8
+ class FilesystemToolProcessor {
9
+ async preProcess(toolData, sessionContext) {
10
+ const enhancements = {};
11
+ try {
12
+ // Generate UI previews for filesystem operations
13
+ switch (toolData.tool) {
14
+ case "edit_file":
15
+ if (toolData.tool_args.path && toolData.tool_args.edits) {
16
+ enhancements.tool_args_for_ui = await FilesystemServerEnhanced.getDiff(toolData.tool_args.path, toolData.tool_args.edits);
17
+ }
18
+ break;
19
+ case "write_file":
20
+ if (toolData.tool_args.path && toolData.tool_args.content) {
21
+ enhancements.tool_args_for_ui = await FilesystemServerEnhanced.createPatch(toolData.tool_args.path, "", toolData.tool_args.content);
22
+ }
23
+ break;
24
+ // Add other filesystem tool preprocessing here
25
+ case "delete_files":
26
+ // Could add file size/count validation
27
+ break;
28
+ }
29
+ }
30
+ catch (error) {
31
+ // Ignore errors in preprocessing - this is non-critical
32
+ console.debug("Error in filesystem tool preprocessing:", error);
33
+ }
34
+ return enhancements;
35
+ }
36
+ async dryRun(toolData, sessionContext) {
37
+ try {
38
+ // Generate UI previews for filesystem operations
39
+ switch (toolData.tool) {
40
+ case "edit_file": {
41
+ try {
42
+ await FilesystemServerEnhanced.getDiff(toolData.tool_args.path, toolData.tool_args.edits);
43
+ }
44
+ catch (error) {
45
+ const dataToSendBack = {
46
+ beforeContent: await fs.readFile(path.resolve(toolData.tool_args.path), 'utf-8'),
47
+ toolArgs: toolData.tool_args,
48
+ failedEditIndex: error instanceof TextNotFoundError ? error.editIndex : -1
49
+ };
50
+ return {
51
+ isError: true,
52
+ content: [{
53
+ type: "text",
54
+ text: JSON.stringify(dataToSendBack),
55
+ }]
56
+ };
57
+ }
58
+ }
59
+ }
60
+ }
61
+ catch (error) {
62
+ return {
63
+ isError: true,
64
+ content: [{
65
+ type: "text",
66
+ text: error instanceof Error ? error.message : String(error)
67
+ }]
68
+ };
69
+ }
70
+ return {
71
+ isError: false,
72
+ content: [{
73
+ type: "text",
74
+ text: `[DRY RUN] Would execute filesystem tool '${toolData.tool}' with arguments: ${JSON.stringify(toolData.tool_args, null, 2)}`
75
+ }]
76
+ };
77
+ }
78
+ async postProcess(toolData, result, sessionContext) {
79
+ // Add any post-processing logic for filesystem tools
80
+ // For example: logging, cleanup, additional validation
81
+ return result;
82
+ }
83
+ }
84
+ class GerritToolProcessor {
85
+ async preProcess(toolData, sessionContext) {
86
+ try {
87
+ // Generate UI previews for filesystem operations
88
+ switch (toolData.tool) {
89
+ case "gerrit_comment":
90
+ if (toolData.tool_args.message && sessionContext?.getSessionId()) {
91
+ toolData.tool_args.message = `${toolData.tool_args.message}\n\n---\n\nThis comment was generated by Qodo Agent (SessionID: ${sessionContext.getSessionId()})`;
92
+ }
93
+ }
94
+ }
95
+ catch (error) {
96
+ // Ignore errors in preprocessing - this is non-critical
97
+ console.debug("Error in Gerrit tool preprocessing:", error);
98
+ }
99
+ return {};
100
+ }
101
+ }
102
+ class AgentsToolProcessor {
103
+ async preProcess(toolData, sessionContext) {
104
+ // Reserve a dedicated sub-agent session id and inject into tool args for traceability
105
+ try {
106
+ const subSessionId = await ServerData.getInstance().fetchNewSessionId();
107
+ const mergedArgs = {
108
+ ...(toolData.tool_args || {}),
109
+ sub_session_id: subSessionId,
110
+ };
111
+ return {
112
+ tool_args: mergedArgs,
113
+ tool_args_for_ui: [
114
+ { key: 'sub_session_id', value: subSessionId },
115
+ ]
116
+ };
117
+ }
118
+ catch (error) {
119
+ console.debug("Error in Agents tool preprocessing:", error);
120
+ return {};
121
+ }
122
+ }
123
+ }
124
+ /**
125
+ * Central tool processor that manages all tool-specific processors
126
+ */
127
+ export class ToolProcessorManager {
128
+ processors = new Map();
129
+ constructor() {
130
+ // Register built-in processors
131
+ this.processors.set("filesystem", new FilesystemToolProcessor());
132
+ this.processors.set("gerrit", new GerritToolProcessor());
133
+ this.processors.set("subagents", new AgentsToolProcessor());
134
+ }
135
+ /**
136
+ * Pre-process tool data before execution
137
+ */
138
+ async preProcessTool(toolData, sessionContext) {
139
+ const processor = this.processors.get(toolData.server_name);
140
+ if (processor?.preProcess) {
141
+ try {
142
+ const enhancements = await processor.preProcess(toolData, sessionContext);
143
+ return { ...toolData, ...enhancements };
144
+ }
145
+ catch (error) {
146
+ console.debug(`Error in pre-processing for ${toolData.server_name}:`, error);
147
+ }
148
+ }
149
+ return toolData;
150
+ }
151
+ /**
152
+ * Post-process tool result after execution
153
+ */
154
+ async postProcessTool(toolData, result, sessionContext) {
155
+ const processor = this.processors.get(toolData.server_name);
156
+ if (processor?.postProcess) {
157
+ try {
158
+ return await processor.postProcess(toolData, result, sessionContext);
159
+ }
160
+ catch (error) {
161
+ console.debug(`Error in post-processing for ${toolData.server_name}:`, error);
162
+ }
163
+ }
164
+ return result;
165
+ }
166
+ /**
167
+ * Perform a dry run of a tool without actually executing it
168
+ * Returns a simulated result indicating what would happen
169
+ */
170
+ async dryRunTool(toolData, sessionContext) {
171
+ try {
172
+ // Default dry run response
173
+ const dryRunResponse = {
174
+ isError: false,
175
+ content: [{
176
+ type: "text",
177
+ text: `[DRY RUN] Would execute tool '${toolData.tool}' on server '${toolData.server_name}' with arguments: ${JSON.stringify(toolData.tool_args, null, 2)}`
178
+ }]
179
+ };
180
+ // Check if there's a specific processor for this server that might provide more detailed dry run info
181
+ const processor = this.processors.get(toolData.server_name);
182
+ if (processor?.dryRun) {
183
+ return await processor.dryRun(toolData, sessionContext);
184
+ }
185
+ return dryRunResponse;
186
+ }
187
+ catch (error) {
188
+ return {
189
+ isError: true,
190
+ content: [{
191
+ type: "text",
192
+ text: error instanceof Error ? error.message : 'Unknown error'
193
+ }]
194
+ };
195
+ }
196
+ }
197
+ }
198
+ // Export a singleton instance
199
+ export const toolProcessorManager = new ToolProcessorManager();
200
+ //# sourceMappingURL=toolProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolProcessor.js","sourceRoot":"","sources":["../../src/mcp/toolProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { DynamicBEMCPServer } from "./dynamicBEServer.js";
2
+ import { serverTypes } from "./serversRegistry.js";
3
+ export interface ServerConfig {
4
+ id: string;
5
+ command?: string;
6
+ url?: string;
7
+ type: (typeof serverTypes)[keyof typeof serverTypes];
8
+ getArgs?: () => Promise<string[]>;
9
+ getEnv?: () => Promise<Record<string, string>>;
10
+ serverClass?: DynamicBEMCPServer;
11
+ headers?: Record<string, string>;
12
+ }
13
+ export type MCPServer = {
14
+ command?: string;
15
+ url?: string;
16
+ args: string[];
17
+ env?: Record<string, string>;
18
+ type: "BUILTIN" | "CUSTOM" | "BACKEND" | "ORGANIZATION";
19
+ };
20
+ export type MCPServers = Record<string, MCPServer>;
21
+ export type MCPTool = {
22
+ name: string;
23
+ description: string;
24
+ };
25
+ export interface ConnectionState {
26
+ status: "connecting" | "connected" | "failed";
27
+ errorMessage?: string;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AACD,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;CACzD,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -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,72 @@
1
+ import { AIAssistantConfig, CommandConfig, OutputSchema, ValidationError, ValidationResult, VersionCheckResult } from './types.js';
2
+ import { Flags } from "../types.js";
3
+ /**
4
+ * Normalize a config object the same way as file/string parsing.
5
+ *
6
+ * Important:
7
+ * - Does not mutate the user-provided object (clones first).
8
+ * - Supports aliases and legacy formats for smooth SDK embedding.
9
+ */
10
+ export declare function normalizeConfigObject(rawConfig: any): AIAssistantConfig;
11
+ /**
12
+ * Loads and parses a configuration file (TOML or YAML) with support for imports
13
+ *
14
+ * @param pathOrUrl Path to the TOML configuration file
15
+ * @returns Parsed configuration object
16
+ */
17
+ export declare function loadConfigFromFile(pathOrUrl: string): Promise<AIAssistantConfig>;
18
+ /**
19
+ * Loads and parses a configuration file (TOML or YAML) with support for imports
20
+ *
21
+ * @param fileContent Content of the TOML configuration file as a string
22
+ * @returns Parsed configuration object
23
+ */
24
+ export declare function loadConfigFromString(fileContent: string): Promise<AIAssistantConfig>;
25
+ /**
26
+ * Resolves imports in a configuration string (TOML or YAML)
27
+ *
28
+ * @param configString Configuration string (TOML or YAML)
29
+ * @param baseDir Base directory for resolving relative import paths
30
+ * @param sourceFile Optional source file path for tracking
31
+ * @returns Parsed configuration object with resolved imports
32
+ */
33
+ export declare function parseConfigStringWithImports(configString: string, baseDir?: string, sourceFile?: string): Promise<AIAssistantConfig>;
34
+ /**
35
+ * Parses a TOML configuration string (without imports)
36
+ *
37
+ * @param configString TOML configuration string
38
+ * @returns Parsed configuration object
39
+ */
40
+ export declare function parseConfigString(configString: string): AIAssistantConfig;
41
+ /**
42
+ * Validates a configuration object against the expected schema
43
+ *
44
+ * @param config Configuration object to validate
45
+ * @param userCommand
46
+ * @returns Validation result
47
+ */
48
+ export declare function validateConfig(config: AIAssistantConfig, userCommand: string): ValidationResult;
49
+ /**
50
+ * Checks if the config version is valid and up to date
51
+ */
52
+ export declare function checkConfigVersion(configVersion?: string): VersionCheckResult;
53
+ /**
54
+ * Validates an output schema string
55
+ *
56
+ * @param schema Output schema string to validate
57
+ * @param basePath Base path for error reporting
58
+ * @param errors Array to collect validation errors
59
+ */
60
+ export declare function validateOutputSchema(schema: OutputSchema, basePath: string, errors: ValidationError[]): void;
61
+ /**
62
+ * Validates command arguments against the command configuration
63
+ * @param commandConfig The command configuration from agent.toml
64
+ * @param customArgs The custom arguments provided by the user
65
+ * @returns ValidationResult with valid flag and any errors
66
+ */
67
+ export declare function validateCommandArgs(commandConfig: CommandConfig, customArgs: Flags): ValidationResult;
68
+ /**
69
+ * Validate a mode by name
70
+ */
71
+ export declare function validateMode(config: AIAssistantConfig, modeName: string): ValidationResult;
72
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACF,YAAY,EACvB,eAAe,EACf,gBAAgB,EAAE,kBAAkB,EACrC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAkDlC;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,iBAAiB,CAiJvE;AAiBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQtF;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO1F;AAsCD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,MAAsB,EAC/B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CA6D5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAMzE;AAyHD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CA6J/F;AAGD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAqD7E;AAwCD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EAAE,GACxB,IAAI,CAqCN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,KAAK,GAChB,gBAAgB,CA8HlB;AAqCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAkE1F"}