@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.
- package/LICENSE +118 -0
- package/README.md +121 -0
- package/dist/api/agent.d.ts +69 -0
- package/dist/api/agent.d.ts.map +1 -0
- package/dist/api/agent.js +1034 -0
- package/dist/api/agent.js.map +1 -0
- package/dist/api/analytics.d.ts +43 -0
- package/dist/api/analytics.d.ts.map +1 -0
- package/dist/api/analytics.js +163 -0
- package/dist/api/analytics.js.map +1 -0
- package/dist/api/http.d.ts +5 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +59 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +17 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/taskTracking.d.ts +54 -0
- package/dist/api/taskTracking.d.ts.map +1 -0
- package/dist/api/taskTracking.js +208 -0
- package/dist/api/taskTracking.js.map +1 -0
- package/dist/api/types.d.ts +92 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/api/utils.d.ts +8 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/api/utils.js +54 -0
- package/dist/api/utils.js.map +1 -0
- package/dist/api/websocket.d.ts +74 -0
- package/dist/api/websocket.d.ts.map +1 -0
- package/dist/api/websocket.js +685 -0
- package/dist/api/websocket.js.map +1 -0
- package/dist/auth/index.d.ts +25 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +85 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/clients/index.d.ts +8 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +7 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/info/InfoClient.d.ts +37 -0
- package/dist/clients/info/InfoClient.d.ts.map +1 -0
- package/dist/clients/info/InfoClient.js +69 -0
- package/dist/clients/info/InfoClient.js.map +1 -0
- package/dist/clients/info/index.d.ts +4 -0
- package/dist/clients/info/index.d.ts.map +1 -0
- package/dist/clients/info/index.js +2 -0
- package/dist/clients/info/index.js.map +1 -0
- package/dist/clients/info/types.d.ts +21 -0
- package/dist/clients/info/types.d.ts.map +1 -0
- package/dist/clients/info/types.js +2 -0
- package/dist/clients/info/types.js.map +1 -0
- package/dist/clients/sessions/SessionsClient.d.ts +34 -0
- package/dist/clients/sessions/SessionsClient.d.ts.map +1 -0
- package/dist/clients/sessions/SessionsClient.js +71 -0
- package/dist/clients/sessions/SessionsClient.js.map +1 -0
- package/dist/clients/sessions/index.d.ts +4 -0
- package/dist/clients/sessions/index.d.ts.map +1 -0
- package/dist/clients/sessions/index.js +2 -0
- package/dist/clients/sessions/index.js.map +1 -0
- package/dist/clients/sessions/types.d.ts +20 -0
- package/dist/clients/sessions/types.d.ts.map +1 -0
- package/dist/clients/sessions/types.js +2 -0
- package/dist/clients/sessions/types.js.map +1 -0
- package/dist/config/ConfigManager.d.ts +43 -0
- package/dist/config/ConfigManager.d.ts.map +1 -0
- package/dist/config/ConfigManager.js +472 -0
- package/dist/config/ConfigManager.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/urlConfig.d.ts +15 -0
- package/dist/config/urlConfig.d.ts.map +1 -0
- package/dist/config/urlConfig.js +75 -0
- package/dist/config/urlConfig.js.map +1 -0
- package/dist/constants/errors.d.ts +2 -0
- package/dist/constants/errors.d.ts.map +1 -0
- package/dist/constants/errors.js +2 -0
- package/dist/constants/errors.js.map +1 -0
- package/dist/constants/index.d.ts +7 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +11 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/tools.d.ts +4 -0
- package/dist/constants/tools.d.ts.map +1 -0
- package/dist/constants/tools.js +4 -0
- package/dist/constants/tools.js.map +1 -0
- package/dist/constants/versions.d.ts +2 -0
- package/dist/constants/versions.d.ts.map +1 -0
- package/dist/constants/versions.js +2 -0
- package/dist/constants/versions.js.map +1 -0
- package/dist/context/buildUserContext.d.ts +18 -0
- package/dist/context/buildUserContext.d.ts.map +1 -0
- package/dist/context/buildUserContext.js +34 -0
- package/dist/context/buildUserContext.js.map +1 -0
- package/dist/context/index.d.ts +9 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +9 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/messageManager.d.ts +42 -0
- package/dist/context/messageManager.d.ts.map +1 -0
- package/dist/context/messageManager.js +322 -0
- package/dist/context/messageManager.js.map +1 -0
- package/dist/context/taskFocus.d.ts +2 -0
- package/dist/context/taskFocus.d.ts.map +1 -0
- package/dist/context/taskFocus.js +26 -0
- package/dist/context/taskFocus.js.map +1 -0
- package/dist/context/userInput.d.ts +3 -0
- package/dist/context/userInput.d.ts.map +1 -0
- package/dist/context/userInput.js +20 -0
- package/dist/context/userInput.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/MCPManager.d.ts +125 -0
- package/dist/mcp/MCPManager.d.ts.map +1 -0
- package/dist/mcp/MCPManager.js +616 -0
- package/dist/mcp/MCPManager.js.map +1 -0
- package/dist/mcp/approvedTools.d.ts +4 -0
- package/dist/mcp/approvedTools.d.ts.map +1 -0
- package/dist/mcp/approvedTools.js +19 -0
- package/dist/mcp/approvedTools.js.map +1 -0
- package/dist/mcp/baseServer.d.ts +75 -0
- package/dist/mcp/baseServer.d.ts.map +1 -0
- package/dist/mcp/baseServer.js +107 -0
- package/dist/mcp/baseServer.js.map +1 -0
- package/dist/mcp/builtinServers.d.ts +15 -0
- package/dist/mcp/builtinServers.d.ts.map +1 -0
- package/dist/mcp/builtinServers.js +155 -0
- package/dist/mcp/builtinServers.js.map +1 -0
- package/dist/mcp/dynamicBEServer.d.ts +20 -0
- package/dist/mcp/dynamicBEServer.d.ts.map +1 -0
- package/dist/mcp/dynamicBEServer.js +52 -0
- package/dist/mcp/dynamicBEServer.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +24 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcpInitialization.d.ts +2 -0
- package/dist/mcp/mcpInitialization.d.ts.map +1 -0
- package/dist/mcp/mcpInitialization.js +56 -0
- package/dist/mcp/mcpInitialization.js.map +1 -0
- package/dist/mcp/servers/filesystem.d.ts +75 -0
- package/dist/mcp/servers/filesystem.d.ts.map +1 -0
- package/dist/mcp/servers/filesystem.js +992 -0
- package/dist/mcp/servers/filesystem.js.map +1 -0
- package/dist/mcp/servers/gerrit.d.ts +19 -0
- package/dist/mcp/servers/gerrit.d.ts.map +1 -0
- package/dist/mcp/servers/gerrit.js +515 -0
- package/dist/mcp/servers/gerrit.js.map +1 -0
- package/dist/mcp/servers/git.d.ts +18 -0
- package/dist/mcp/servers/git.d.ts.map +1 -0
- package/dist/mcp/servers/git.js +441 -0
- package/dist/mcp/servers/git.js.map +1 -0
- package/dist/mcp/servers/ripgrep.d.ts +34 -0
- package/dist/mcp/servers/ripgrep.d.ts.map +1 -0
- package/dist/mcp/servers/ripgrep.js +517 -0
- package/dist/mcp/servers/ripgrep.js.map +1 -0
- package/dist/mcp/servers/shell.d.ts +20 -0
- package/dist/mcp/servers/shell.d.ts.map +1 -0
- package/dist/mcp/servers/shell.js +603 -0
- package/dist/mcp/servers/shell.js.map +1 -0
- package/dist/mcp/serversRegistry.d.ts +55 -0
- package/dist/mcp/serversRegistry.d.ts.map +1 -0
- package/dist/mcp/serversRegistry.js +410 -0
- package/dist/mcp/serversRegistry.js.map +1 -0
- package/dist/mcp/toolProcessor.d.ts +42 -0
- package/dist/mcp/toolProcessor.d.ts.map +1 -0
- package/dist/mcp/toolProcessor.js +200 -0
- package/dist/mcp/toolProcessor.js.map +1 -0
- package/dist/mcp/types.d.ts +29 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/parser/index.d.ts +72 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +967 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/types.d.ts +153 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +6 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/parser/utils.d.ts +18 -0
- package/dist/parser/utils.d.ts.map +1 -0
- package/dist/parser/utils.js +64 -0
- package/dist/parser/utils.js.map +1 -0
- package/dist/sdk/QodoSDK.d.ts +152 -0
- package/dist/sdk/QodoSDK.d.ts.map +1 -0
- package/dist/sdk/QodoSDK.js +786 -0
- package/dist/sdk/QodoSDK.js.map +1 -0
- package/dist/sdk/bootstrap.d.ts +16 -0
- package/dist/sdk/bootstrap.d.ts.map +1 -0
- package/dist/sdk/bootstrap.js +21 -0
- package/dist/sdk/bootstrap.js.map +1 -0
- package/dist/sdk/builders.d.ts +54 -0
- package/dist/sdk/builders.d.ts.map +1 -0
- package/dist/sdk/builders.js +117 -0
- package/dist/sdk/builders.js.map +1 -0
- package/dist/sdk/defaults.d.ts +11 -0
- package/dist/sdk/defaults.d.ts.map +1 -0
- package/dist/sdk/defaults.js +39 -0
- package/dist/sdk/defaults.js.map +1 -0
- package/dist/sdk/discovery.d.ts +2 -0
- package/dist/sdk/discovery.d.ts.map +1 -0
- package/dist/sdk/discovery.js +25 -0
- package/dist/sdk/discovery.js.map +1 -0
- package/dist/sdk/events.d.ts +168 -0
- package/dist/sdk/events.d.ts.map +1 -0
- package/dist/sdk/events.js +52 -0
- package/dist/sdk/events.js.map +1 -0
- package/dist/sdk/index.d.ts +17 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +17 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/runner/AgentRunner.d.ts +22 -0
- package/dist/sdk/runner/AgentRunner.d.ts.map +1 -0
- package/dist/sdk/runner/AgentRunner.js +222 -0
- package/dist/sdk/runner/AgentRunner.js.map +1 -0
- package/dist/sdk/runner/finalize.d.ts +9 -0
- package/dist/sdk/runner/finalize.d.ts.map +1 -0
- package/dist/sdk/runner/finalize.js +115 -0
- package/dist/sdk/runner/finalize.js.map +1 -0
- package/dist/sdk/runner/formats.d.ts +7 -0
- package/dist/sdk/runner/formats.d.ts.map +1 -0
- package/dist/sdk/runner/formats.js +91 -0
- package/dist/sdk/runner/formats.js.map +1 -0
- package/dist/sdk/runner/index.d.ts +9 -0
- package/dist/sdk/runner/index.d.ts.map +1 -0
- package/dist/sdk/runner/index.js +9 -0
- package/dist/sdk/runner/index.js.map +1 -0
- package/dist/sdk/runner/progress.d.ts +3 -0
- package/dist/sdk/runner/progress.d.ts.map +1 -0
- package/dist/sdk/runner/progress.js +16 -0
- package/dist/sdk/runner/progress.js.map +1 -0
- package/dist/sdk/schemas.d.ts +50 -0
- package/dist/sdk/schemas.d.ts.map +1 -0
- package/dist/sdk/schemas.js +145 -0
- package/dist/sdk/schemas.js.map +1 -0
- package/dist/session/SessionContext.d.ts +86 -0
- package/dist/session/SessionContext.d.ts.map +1 -0
- package/dist/session/SessionContext.js +395 -0
- package/dist/session/SessionContext.js.map +1 -0
- package/dist/session/environment.d.ts +42 -0
- package/dist/session/environment.d.ts.map +1 -0
- package/dist/session/environment.js +27 -0
- package/dist/session/environment.js.map +1 -0
- package/dist/session/history.d.ts +3 -0
- package/dist/session/history.d.ts.map +1 -0
- package/dist/session/history.js +67 -0
- package/dist/session/history.js.map +1 -0
- package/dist/session/index.d.ts +10 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +9 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/serverData.d.ts +38 -0
- package/dist/session/serverData.d.ts.map +1 -0
- package/dist/session/serverData.js +241 -0
- package/dist/session/serverData.js.map +1 -0
- package/dist/tracking/Tracker.d.ts +55 -0
- package/dist/tracking/Tracker.d.ts.map +1 -0
- package/dist/tracking/Tracker.js +217 -0
- package/dist/tracking/Tracker.js.map +1 -0
- package/dist/tracking/index.d.ts +8 -0
- package/dist/tracking/index.d.ts.map +1 -0
- package/dist/tracking/index.js +8 -0
- package/dist/tracking/index.js.map +1 -0
- package/dist/tracking/schemas.d.ts +292 -0
- package/dist/tracking/schemas.d.ts.map +1 -0
- package/dist/tracking/schemas.js +91 -0
- package/dist/tracking/schemas.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/extractSetFlags.d.ts +6 -0
- package/dist/utils/extractSetFlags.d.ts.map +1 -0
- package/dist/utils/extractSetFlags.js +16 -0
- package/dist/utils/extractSetFlags.js.map +1 -0
- package/dist/utils/formatTimeAgo.d.ts +2 -0
- package/dist/utils/formatTimeAgo.d.ts.map +1 -0
- package/dist/utils/formatTimeAgo.js +20 -0
- package/dist/utils/formatTimeAgo.js.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/machineId.d.ts +14 -0
- package/dist/utils/machineId.d.ts.map +1 -0
- package/dist/utils/machineId.js +66 -0
- package/dist/utils/machineId.js.map +1 -0
- package/dist/utils/pathUtils.d.ts +22 -0
- package/dist/utils/pathUtils.d.ts.map +1 -0
- package/dist/utils/pathUtils.js +54 -0
- package/dist/utils/pathUtils.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- 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 @@
|
|
|
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"}
|