@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,19 @@
1
+ const READ_TOOLS = new Set([
2
+ 'read_files', 'list_files_in_directories', 'list_allowed_directories',
3
+ 'directory_tree', 'get_file_info', 'stat',
4
+ 'grep', 'glob', 'ls', 'cat', 'head', 'tail', 'ripgrep_search', 'ripgrep_file_types',
5
+ 'git_status', 'git_diff_unstaged', 'git_diff_staged', 'git_diff', 'git_diff_files', 'git_log', 'git_show',
6
+ ]);
7
+ export const READ_ONLY_TOOLS = "read_only_tools";
8
+ export function getToolGroup(toolName) {
9
+ if (READ_TOOLS.has(toolName)) {
10
+ return READ_ONLY_TOOLS;
11
+ }
12
+ }
13
+ export function isUniqueServer(serverId) {
14
+ const uniqueServerIds = new Set([
15
+ 'filesystem', 'ripgrep', 'git', 'shell'
16
+ ]);
17
+ return uniqueServerIds.has(serverId.toLowerCase());
18
+ }
19
+ //# sourceMappingURL=approvedTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approvedTools.js","sourceRoot":"","sources":["../../src/mcp/approvedTools.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,YAAY,EAAE,2BAA2B,EAAE,0BAA0B;IACrE,gBAAgB,EAAE,eAAe,EAAE,MAAM;IACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB;IACnF,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU;CAC1G,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEhD,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;QAC9B,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO;KACxC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
2
+ import { JSONRPCRequest, Tool, JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
3
+ export type BuiltinTool = Tool & {
4
+ autoApproved?: boolean;
5
+ };
6
+ /**
7
+ * Base interface for tool registration and execution
8
+ */
9
+ export interface InternalMCPBaseServer {
10
+ /**
11
+ * Name of the server
12
+ */
13
+ name: string;
14
+ /**
15
+ * Version of the server
16
+ * @example "1.0.0"
17
+ */
18
+ version: string;
19
+ /**
20
+ * Initializes the server
21
+ * @returns Promise that resolves when the server is initialized
22
+ * @throws Error if initialization fails
23
+ * @remarks This method is optional and can be used to perform any necessary setup
24
+ * before the server is ready to execute tools
25
+ */
26
+ initialize(): Promise<boolean>;
27
+ /**
28
+ * Lists all available tools with their metadata and input schemas
29
+ *
30
+ * @returns Promise containing an array of registered tools
31
+ */
32
+ listTools(): Promise<{
33
+ tools: BuiltinTool[];
34
+ }>;
35
+ /**
36
+ * Executes a specific tool with provided arguments
37
+ *
38
+ * @param request Object containing tool name and arguments
39
+ * @param request.name Name of the tool to execute
40
+ * @param request.arguments Arguments for the tool execution
41
+ * @returns Promise containing the tool's execution result
42
+ * @throws Error if tool is not found or execution fails
43
+ */
44
+ callTool(request: {
45
+ name: string;
46
+ arguments: Record<string, any>;
47
+ }, extra?: {
48
+ progressToken?: string;
49
+ reportProgress?: (payload: any) => void;
50
+ }): Promise<unknown>;
51
+ /**
52
+ * Checks if a tool should be auto-approved based on its arguments
53
+ * This is an optional method that servers can implement for argument-based approval
54
+ *
55
+ * @param toolName Name of the tool
56
+ * @param args Arguments for the tool
57
+ * @returns True if the tool should be auto-approved with these arguments
58
+ */
59
+ isToolAutoApprovedForArgs?(toolName: string, args: Record<string, any>): boolean;
60
+ }
61
+ /**
62
+ * Transport implementation that delegates to InternalTransport
63
+ */
64
+ export declare class InternalTransport implements Transport {
65
+ private readonly internalMCPBaseServer;
66
+ private messageCounter;
67
+ onerror?: (error: Error) => void;
68
+ onclose?: () => void;
69
+ onmessage?: (message: JSONRPCMessage) => void;
70
+ constructor(internalMCPBaseServer: InternalMCPBaseServer);
71
+ start(): Promise<void>;
72
+ send(message: JSONRPCRequest): Promise<any>;
73
+ close(): Promise<void>;
74
+ }
75
+ //# sourceMappingURL=baseServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseServer.d.ts","sourceRoot":"","sources":["../../src/mcp/baseServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAG1F,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC,CAAC;IAE/C;;;;;;;;OAQG;IACH,QAAQ,CACN,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,EACzD,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,GAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;OAOG;IACH,yBAAyB,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IASrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IARlD,OAAO,CAAC,cAAc,CAAK;IAGpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAEjB,qBAAqB,EAAE,qBAAqB;IAEnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IA+F3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Transport implementation that delegates to InternalTransport
3
+ */
4
+ export class InternalTransport {
5
+ internalMCPBaseServer;
6
+ messageCounter = 0;
7
+ // Using the exact message type from the SDK
8
+ onerror;
9
+ onclose;
10
+ onmessage;
11
+ constructor(internalMCPBaseServer) {
12
+ this.internalMCPBaseServer = internalMCPBaseServer;
13
+ }
14
+ async start() {
15
+ // No initialization needed
16
+ return;
17
+ }
18
+ async send(message) {
19
+ try {
20
+ const id = message.id ?? ++this.messageCounter;
21
+ let result;
22
+ switch (message.method) {
23
+ case "initialize": {
24
+ const initialized = await this.internalMCPBaseServer.initialize();
25
+ if (!initialized) {
26
+ this.onmessage?.({
27
+ jsonrpc: "2.0",
28
+ id,
29
+ result: undefined,
30
+ });
31
+ }
32
+ else {
33
+ this.onmessage?.({
34
+ jsonrpc: "2.0",
35
+ id,
36
+ result: {
37
+ protocolVersion: "2024-11-05",
38
+ capabilities: {
39
+ tools: {},
40
+ },
41
+ serverInfo: {
42
+ name: this.internalMCPBaseServer.name,
43
+ version: this.internalMCPBaseServer.version,
44
+ },
45
+ },
46
+ });
47
+ }
48
+ return Promise.resolve();
49
+ }
50
+ case "tools/list": {
51
+ result = await this.internalMCPBaseServer.listTools();
52
+ this.onmessage?.({
53
+ jsonrpc: "2.0",
54
+ id,
55
+ result: result,
56
+ });
57
+ return Promise.resolve();
58
+ }
59
+ case "tools/call": {
60
+ if (!message.params || typeof message.params !== "object") {
61
+ throw new Error("Invalid parameters for tools/call");
62
+ }
63
+ // Extract progress token from _meta and provide a reportProgress helper
64
+ const params = message.params;
65
+ const _meta = params?._meta || {};
66
+ const progressToken = _meta.progressToken || undefined;
67
+ const reportProgress = (payload) => {
68
+ if (!progressToken)
69
+ return; // no token, no progress routing
70
+ try {
71
+ this.onmessage?.({
72
+ jsonrpc: "2.0",
73
+ method: "notifications/progress",
74
+ params: {
75
+ progressToken,
76
+ progress: payload,
77
+ },
78
+ });
79
+ }
80
+ catch { }
81
+ };
82
+ result = await this.internalMCPBaseServer.callTool(params, { progressToken, reportProgress });
83
+ this.onmessage?.({
84
+ jsonrpc: "2.0",
85
+ id,
86
+ result: result,
87
+ });
88
+ return Promise.resolve();
89
+ }
90
+ default:
91
+ throw new Error(`Unsupported method: ${message.method}`);
92
+ }
93
+ }
94
+ catch (error) {
95
+ if (error instanceof Error) {
96
+ this.onerror?.(error);
97
+ }
98
+ else {
99
+ this.onerror?.(new Error("Unknown error occurred"));
100
+ }
101
+ }
102
+ }
103
+ async close() {
104
+ this.onclose?.();
105
+ }
106
+ }
107
+ //# sourceMappingURL=baseServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseServer.js","sourceRoot":"","sources":["../../src/mcp/baseServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ServerConfig } from "./types.js";
2
+ import { InternalMCPBaseServer } from "./baseServer.js";
3
+ export declare class BuiltInServers {
4
+ private readonly servers;
5
+ private readonly serversInstances;
6
+ private validatedDirectories;
7
+ constructor();
8
+ private registerServer;
9
+ getServers(): Promise<ServerConfig[]>;
10
+ getValidatedDirectories(): string[];
11
+ getBuiltInServer(serverId: string): InternalMCPBaseServer | undefined;
12
+ private updateFilesystemServer;
13
+ private registerBuiltInServers;
14
+ }
15
+ //# sourceMappingURL=builtinServers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtinServers.d.ts","sourceRoot":"","sources":["../../src/mcp/builtinServers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AASxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAItD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAC9E,OAAO,CAAC,oBAAoB,CAA6B;;IAMzD,OAAO,CAAC,cAAc;IAIT,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAc3C,uBAAuB,IAAI,MAAM,EAAE;IAInC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;YAO9D,sBAAsB;IA6DpC,OAAO,CAAC,sBAAsB;CAyD/B"}
@@ -0,0 +1,155 @@
1
+ import { serverTypes } from "./serversRegistry.js";
2
+ import { DynamicBEMCPServer } from "./dynamicBEServer.js";
3
+ import { RipgrepServerEnhanced } from "./servers/ripgrep.js";
4
+ import { FilesystemServerEnhanced } from "./servers/filesystem.js";
5
+ import { GitServerEnhanced } from "./servers/git.js";
6
+ import { GerritServerEnhanced } from "./servers/gerrit.js";
7
+ import { ShellServerEnhanced } from "./servers/shell.js";
8
+ import * as process from "node:process";
9
+ import { SessionContext } from "../session/index.js";
10
+ import { canonicalizePathSync } from "../utils/index.js";
11
+ export class BuiltInServers {
12
+ servers = [];
13
+ serversInstances = {};
14
+ validatedDirectories = [process.cwd()];
15
+ constructor() {
16
+ this.registerBuiltInServers();
17
+ }
18
+ registerServer(config) {
19
+ this.servers.push(config);
20
+ }
21
+ async getServers() {
22
+ // If additional directories are provided, recreate the filesystem server with updated allowed directories
23
+ try {
24
+ const sessionContext = SessionContext.getInstance();
25
+ const additionalAllowedDirectories = sessionContext.getProjectRootPaths();
26
+ if (additionalAllowedDirectories && additionalAllowedDirectories.length > 0) {
27
+ await this.updateFilesystemServer(additionalAllowedDirectories);
28
+ }
29
+ }
30
+ catch {
31
+ // SessionContext not initialized yet (e.g., in-process SDK early init); use defaults
32
+ }
33
+ return this.servers;
34
+ }
35
+ getValidatedDirectories() {
36
+ return this.validatedDirectories;
37
+ }
38
+ getBuiltInServer(serverId) {
39
+ if (this.serversInstances[serverId]) {
40
+ return this.serversInstances[serverId];
41
+ }
42
+ return undefined;
43
+ }
44
+ async updateFilesystemServer(additionalAllowedDirectories) {
45
+ // Find and update the filesystem server
46
+ const filesystemServerIndex = this.servers.findIndex(server => server.id === "filesystem");
47
+ if (filesystemServerIndex !== -1) {
48
+ const fs = await import('fs');
49
+ // Prefer the session's execution CWD and project root paths when available.
50
+ // This ensures SDK-created sessions that set an explicit cwd/projectRoots
51
+ // get consistent behavior across filesystem, shell, ripgrep, and git tools.
52
+ let candidateDirs;
53
+ try {
54
+ const sessionContext = SessionContext.getInstance();
55
+ const execCwd = sessionContext?.getExecutionCwd?.();
56
+ const projectRoots = sessionContext.getProjectRootPaths();
57
+ candidateDirs = [
58
+ // 1) Explicit execution cwd (SDK `cwd` option), if set
59
+ ...(execCwd ? [execCwd] : []),
60
+ // 2) Current process cwd (preserves existing CLI semantics when execCwd is not set)
61
+ process.cwd(),
62
+ // 3) All project roots from the session
63
+ ...projectRoots,
64
+ // 4) Any additional directories passed in (for backward compatibility)
65
+ ...additionalAllowedDirectories,
66
+ ];
67
+ }
68
+ catch {
69
+ // SessionContext not initialized (e.g., very early init). Fall back to cwd + additional dirs.
70
+ candidateDirs = [process.cwd(), ...additionalAllowedDirectories];
71
+ }
72
+ // Validate access to each directory and de-duplicate while preserving order
73
+ const validatedDirectories = [];
74
+ for (const dir of candidateDirs) {
75
+ try {
76
+ // Canonicalize to collapse aliases like Windows `subst` drives and
77
+ // normalize drive letters so the list is stable regardless of how
78
+ // paths are expressed.
79
+ const resolvedDir = canonicalizePathSync(dir);
80
+ if (validatedDirectories.includes(resolvedDir)) {
81
+ continue;
82
+ }
83
+ await fs.promises.access(resolvedDir, fs.constants.R_OK);
84
+ validatedDirectories.push(resolvedDir);
85
+ }
86
+ catch (error) {
87
+ console.warn(`Warning: Directory ${dir} is not accessible and will be skipped:`, error instanceof Error ? error.message : String(error));
88
+ }
89
+ }
90
+ // Create new filesystem server with validated allowed directories
91
+ const filesystemServer = new FilesystemServerEnhanced(validatedDirectories);
92
+ this.validatedDirectories = validatedDirectories;
93
+ this.servers[filesystemServerIndex] = {
94
+ id: "filesystem",
95
+ type: serverTypes.BUILTIN,
96
+ command: serverTypes.BUILTIN,
97
+ serverClass: new DynamicBEMCPServer("filesystem", [], filesystemServer),
98
+ };
99
+ this.serversInstances["filesystem"] = filesystemServer;
100
+ }
101
+ }
102
+ registerBuiltInServers() {
103
+ // Register enhanced ripgrep server with bundled binary support
104
+ const ripgrepServer = new RipgrepServerEnhanced();
105
+ this.registerServer({
106
+ id: "ripgrep",
107
+ type: serverTypes.BUILTIN,
108
+ command: serverTypes.BUILTIN,
109
+ serverClass: new DynamicBEMCPServer("ripgrep", [], ripgrepServer),
110
+ });
111
+ this.serversInstances["ripgrep"] = ripgrepServer;
112
+ // Register enhanced filesystem server
113
+ // Get allowed directories from current working directory by default
114
+ const allowedDirectories = [canonicalizePathSync(process.cwd())];
115
+ const filesystemServer = new FilesystemServerEnhanced(allowedDirectories);
116
+ this.registerServer({
117
+ id: "filesystem",
118
+ type: serverTypes.BUILTIN,
119
+ command: serverTypes.BUILTIN,
120
+ serverClass: new DynamicBEMCPServer("filesystem", [], filesystemServer),
121
+ });
122
+ this.serversInstances["filesystem"] = filesystemServer;
123
+ // Register enhanced git server
124
+ const gitServer = new GitServerEnhanced();
125
+ this.registerServer({
126
+ id: "git",
127
+ type: serverTypes.BUILTIN,
128
+ command: serverTypes.BUILTIN,
129
+ serverClass: new DynamicBEMCPServer("git", [], gitServer),
130
+ });
131
+ this.serversInstances["git"] = gitServer;
132
+ // Register enhanced shell server
133
+ const shellServer = new ShellServerEnhanced();
134
+ this.registerServer({
135
+ id: "shell",
136
+ type: serverTypes.BUILTIN,
137
+ command: serverTypes.BUILTIN,
138
+ serverClass: new DynamicBEMCPServer("shell", [], shellServer),
139
+ });
140
+ this.serversInstances["shell"] = shellServer;
141
+ if (process.env.QODO_MODE?.toLowerCase() === 'gerrit') {
142
+ const gerritServer = new GerritServerEnhanced();
143
+ this.registerServer({
144
+ id: "gerrit",
145
+ type: serverTypes.BUILTIN,
146
+ command: serverTypes.BUILTIN,
147
+ serverClass: new DynamicBEMCPServer("gerrit", [], gerritServer),
148
+ });
149
+ this.serversInstances["gerrit"] = gerritServer;
150
+ }
151
+ // Note: SubAgents server is CLI-only and not available in the SDK package.
152
+ // Use the Qodo CLI with --subagents flag for multi-agent orchestration.
153
+ }
154
+ }
155
+ //# sourceMappingURL=builtinServers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtinServers.js","sourceRoot":"","sources":["../../src/mcp/builtinServers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import { BuiltinTool, InternalMCPBaseServer } from "./baseServer.js";
3
+ export declare class DynamicBEMCPServer implements InternalMCPBaseServer {
4
+ private readonly tools;
5
+ private readonly internalServer?;
6
+ version: string;
7
+ name: string;
8
+ constructor(name: string, tools: Tool[], internalServer?: InternalMCPBaseServer);
9
+ listAutoApprovedTools(): Promise<string[]>;
10
+ initialize(): Promise<boolean>;
11
+ listTools(): Promise<{
12
+ tools: BuiltinTool[];
13
+ }>;
14
+ callTool(request: {
15
+ name: string;
16
+ arguments: Record<string, any>;
17
+ }): Promise<unknown>;
18
+ isToolAutoApprovedForArgs(toolName: string, args: Record<string, any>): boolean;
19
+ }
20
+ //# sourceMappingURL=dynamicBEServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamicBEServer.d.ts","sourceRoot":"","sources":["../../src/mcp/dynamicBEServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAErE,qBAAa,kBAAmB,YAAW,qBAAqB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE,qBAAqB;IAgB/E,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,SAAS,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAS9C,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3F,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;CAMhF"}
@@ -0,0 +1,52 @@
1
+ export class DynamicBEMCPServer {
2
+ tools = [];
3
+ internalServer;
4
+ version;
5
+ name;
6
+ constructor(name, tools, internalServer) {
7
+ this.name = name;
8
+ this.version = "1.0.0";
9
+ this.internalServer = internalServer;
10
+ if (internalServer) {
11
+ // Tools will be loaded from the internal server
12
+ this.tools = [];
13
+ }
14
+ else {
15
+ this.tools = tools.map((tool) => ({
16
+ ...tool,
17
+ autoApproved: true,
18
+ }));
19
+ }
20
+ }
21
+ listAutoApprovedTools() {
22
+ throw new Error("Method not implemented.");
23
+ }
24
+ async initialize() {
25
+ if (this.internalServer) {
26
+ return await this.internalServer.initialize();
27
+ }
28
+ return true;
29
+ }
30
+ async listTools() {
31
+ if (this.internalServer) {
32
+ return await this.internalServer.listTools();
33
+ }
34
+ return {
35
+ tools: this.tools,
36
+ };
37
+ }
38
+ async callTool(request) {
39
+ if (this.internalServer) {
40
+ return await this.internalServer.callTool(request);
41
+ }
42
+ // Implementation left empty as requested
43
+ throw new Error("Method not implemented.");
44
+ }
45
+ isToolAutoApprovedForArgs(toolName, args) {
46
+ if (this.internalServer && this.internalServer.isToolAutoApprovedForArgs) {
47
+ return this.internalServer.isToolAutoApprovedForArgs(toolName, args);
48
+ }
49
+ return false;
50
+ }
51
+ }
52
+ //# sourceMappingURL=dynamicBEServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamicBEServer.js","sourceRoot":"","sources":["../../src/mcp/dynamicBEServer.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAkB,EAAE,CAAC;IAC1B,cAAc,CAAyB;IACxD,OAAO,CAAS;IAChB,IAAI,CAAS;IAEb,YAAY,IAAY,EAAE,KAAa,EAAE,cAAsC;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,cAAc,EAAE,CAAC;YACnB,gDAAgD;YAChD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,IAAI;gBACP,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAyD;QACtE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,yCAAyC;QACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,yBAAyB,CAAC,QAAgB,EAAE,IAAyB;QACnE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MCP (Model Context Protocol) server management
3
+ * @internal
4
+ */
5
+ export { ServerRegistry, serverTypes, ConfigValidationError } from './serversRegistry.js';
6
+ export { mcpInitialization } from './mcpInitialization.js';
7
+ export { BuiltInServers } from './builtinServers.js';
8
+ export { ToolProcessorManager, toolProcessorManager } from './toolProcessor.js';
9
+ export type { ToolProcessor } from './toolProcessor.js';
10
+ export type { ServerConfig, MCPServer, MCPServers, MCPTool, ConnectionState, } from './types.js';
11
+ export type { InternalMCPBaseServer, BuiltinTool } from './baseServer.js';
12
+ export { InternalTransport } from './baseServer.js';
13
+ export { READ_ONLY_TOOLS, getToolGroup, isUniqueServer } from './approvedTools.js';
14
+ export { FilesystemServerEnhanced } from './servers/filesystem.js';
15
+ export { GitServerEnhanced } from './servers/git.js';
16
+ export { GerritServerEnhanced } from './servers/gerrit.js';
17
+ export { RipgrepServerEnhanced } from './servers/ripgrep.js';
18
+ export { ShellServerEnhanced } from './servers/shell.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,OAAO,EACP,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * MCP (Model Context Protocol) server management
3
+ * @internal
4
+ */
5
+ // Main manager
6
+ export { MCPManager, ClientInitializationError } from './MCPManager.js';
7
+ // Server registry
8
+ export { ServerRegistry, serverTypes, ConfigValidationError } from './serversRegistry.js';
9
+ // MCP initialization
10
+ export { mcpInitialization } from './mcpInitialization.js';
11
+ // Built-in servers
12
+ export { BuiltInServers } from './builtinServers.js';
13
+ // Tool processor (moved from api/)
14
+ export { ToolProcessorManager, toolProcessorManager } from './toolProcessor.js';
15
+ export { InternalTransport } from './baseServer.js';
16
+ // Approval helpers
17
+ export { READ_ONLY_TOOLS, getToolGroup, isUniqueServer } from './approvedTools.js';
18
+ // Server implementations
19
+ export { FilesystemServerEnhanced } from './servers/filesystem.js';
20
+ export { GitServerEnhanced } from './servers/git.js';
21
+ export { GerritServerEnhanced } from './servers/gerrit.js';
22
+ export { RipgrepServerEnhanced } from './servers/ripgrep.js';
23
+ export { ShellServerEnhanced } from './servers/shell.js';
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAExE,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,mCAAmC;AACnC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAchF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnF,yBAAyB;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const mcpInitialization: (force?: boolean) => Promise<void>;
2
+ //# sourceMappingURL=mcpInitialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpInitialization.d.ts","sourceRoot":"","sources":["../../src/mcp/mcpInitialization.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB,GAAU,QAAQ,OAAO,kBAwCtD,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { MCPManager } from "./MCPManager.js";
2
+ import * as path from 'path';
3
+ import { getCurrentEnvironment } from '../session/index.js';
4
+ function shouldSdkLog() {
5
+ const env = getCurrentEnvironment();
6
+ // In SDK mode we are silent by default unless explicitly enabled.
7
+ if (env?.sdkMode) {
8
+ return !!env.sdkDebug || process.env.QODO_DEBUG === 'true';
9
+ }
10
+ return true;
11
+ }
12
+ function sdkLog(...args) {
13
+ if (shouldSdkLog()) {
14
+ // eslint-disable-next-line no-console
15
+ console.log(...args);
16
+ }
17
+ }
18
+ export const mcpInitialization = async (force) => {
19
+ sdkLog('Initializing MCP Servers...');
20
+ await MCPManager.init(force);
21
+ const manager = MCPManager.getInstance();
22
+ const connectionStates = manager.getConnectionStates();
23
+ const failedServers = [];
24
+ const successfulServers = [];
25
+ connectionStates.forEach((state, serverId) => {
26
+ if (state.status === 'failed') {
27
+ failedServers.push(serverId);
28
+ }
29
+ else if (state.status === 'connected') {
30
+ successfulServers.push(serverId);
31
+ }
32
+ });
33
+ // Display sandbox warning if enabled
34
+ const sandboxMode = process.env.QODO_SHELL_SANDBOX;
35
+ if (sandboxMode && sandboxMode !== 'off') {
36
+ if (sandboxMode === 'permissive' || sandboxMode === 'restrictive') {
37
+ sdkLog(`Shell sandbox mode: ${sandboxMode}`);
38
+ }
39
+ else {
40
+ sdkLog(`Shell sandbox mode: custom profile (${path.basename(sandboxMode)})`);
41
+ }
42
+ }
43
+ if (successfulServers.length > 0) {
44
+ sdkLog(`Successfully initialized ${successfulServers.length} MCP Servers: [${successfulServers.join(', ')}]`);
45
+ }
46
+ if (failedServers.length > 0) {
47
+ failedServers.forEach(serverId => {
48
+ const state = connectionStates.get(serverId);
49
+ if (state?.errorMessage) {
50
+ sdkLog(`\nMCP server "${serverId}": ${state.errorMessage.split('\n')[0]}`);
51
+ }
52
+ });
53
+ sdkLog('These servers will be unavailable during this session.');
54
+ }
55
+ };
56
+ //# sourceMappingURL=mcpInitialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpInitialization.js","sourceRoot":"","sources":["../../src/mcp/mcpInitialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACpC,kEAAkE;IAClE,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,GAAG,IAAW;IAC5B,IAAI,YAAY,EAAE,EAAE,CAAC;QACnB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAe,EAAE,EAAE;IACzD,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACtC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAEvD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACnD,IAAI,WAAW,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QACzC,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;YAClE,MAAM,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,uCAAuC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,4BAA4B,iBAAiB,CAAC,MAAM,kBAAkB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/G,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;gBACxB,MAAM,CAAC,iBAAiB,QAAQ,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,wDAAwD,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC"}