crewx 0.2.4-dev.2 → 0.2.4-dev.4
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/dist/ai-provider.service.d.ts +2 -0
- package/dist/ai-provider.service.js +11 -8
- package/dist/ai-provider.service.js.map +1 -1
- package/dist/app.module.js +10 -1
- package/dist/app.module.js.map +1 -1
- package/dist/cli/mcp.handler.d.ts +3 -0
- package/dist/cli/mcp.handler.js +121 -0
- package/dist/cli/mcp.handler.js.map +1 -0
- package/dist/cli-options.d.ts +6 -0
- package/dist/cli-options.js +34 -4
- package/dist/cli-options.js.map +1 -1
- package/dist/crewx.tool.d.ts +1 -0
- package/dist/crewx.tool.js +3 -1
- package/dist/crewx.tool.js.map +1 -1
- package/dist/guards/bearer-auth.guard.d.ts +7 -0
- package/dist/guards/bearer-auth.guard.js +44 -0
- package/dist/guards/bearer-auth.guard.js.map +1 -0
- package/dist/health.controller.d.ts +6 -0
- package/dist/health.controller.js +32 -0
- package/dist/health.controller.js.map +1 -0
- package/dist/main.js +26 -4
- package/dist/main.js.map +1 -1
- package/dist/mcp.controller.js +2 -0
- package/dist/mcp.controller.js.map +1 -1
- package/dist/providers/ai-provider.interface.d.ts +1 -0
- package/dist/providers/ai-provider.interface.js +1 -0
- package/dist/providers/ai-provider.interface.js.map +1 -1
- package/dist/providers/base-ai.provider.js +2 -2
- package/dist/providers/base-ai.provider.js.map +1 -1
- package/dist/providers/claude.provider.js +3 -3
- package/dist/providers/claude.provider.js.map +1 -1
- package/dist/providers/codex.provider.js +2 -2
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/copilot.provider.js +1 -1
- package/dist/providers/copilot.provider.js.map +1 -1
- package/dist/providers/dynamic-provider.factory.d.ts +24 -2
- package/dist/providers/dynamic-provider.factory.js +251 -8
- package/dist/providers/dynamic-provider.factory.js.map +1 -1
- package/dist/providers/gemini.provider.js +5 -5
- package/dist/providers/gemini.provider.js.map +1 -1
- package/dist/services/auth.service.d.ts +9 -0
- package/dist/services/auth.service.js +47 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/config-validator.service.js +1 -0
- package/dist/services/config-validator.service.js.map +1 -1
- package/dist/services/config.service.d.ts +4 -2
- package/dist/services/config.service.js +16 -5
- package/dist/services/config.service.js.map +1 -1
- package/dist/services/mcp-client.service.d.ts +26 -0
- package/dist/services/mcp-client.service.js +81 -0
- package/dist/services/mcp-client.service.js.map +1 -0
- package/dist/services/remote-agent.service.d.ts +22 -0
- package/dist/services/remote-agent.service.js +80 -0
- package/dist/services/remote-agent.service.js.map +1 -0
- package/dist/services/tool-call.service.js +243 -1
- package/dist/services/tool-call.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface McpClientRequestOptions {
|
|
2
|
+
baseUrl: string;
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
headers?: Record<string, string>;
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface McpJsonRpcResponse<T = any> {
|
|
8
|
+
jsonrpc: '2.0';
|
|
9
|
+
id: string;
|
|
10
|
+
result?: T;
|
|
11
|
+
error?: {
|
|
12
|
+
code: number;
|
|
13
|
+
message: string;
|
|
14
|
+
data?: any;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare class McpClientService {
|
|
18
|
+
private readonly logger;
|
|
19
|
+
private resolveEndpoint;
|
|
20
|
+
private buildHeaders;
|
|
21
|
+
sendRequest<T = any>(method: string, params: Record<string, any> | undefined, options: McpClientRequestOptions): Promise<T>;
|
|
22
|
+
listTools(options: McpClientRequestOptions): Promise<any>;
|
|
23
|
+
callTool(toolName: string, args: Record<string, any>, options: McpClientRequestOptions): Promise<any>;
|
|
24
|
+
queryAgent(payload: Record<string, any>, options: McpClientRequestOptions): Promise<any>;
|
|
25
|
+
executeAgent(payload: Record<string, any>, options: McpClientRequestOptions): Promise<any>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var McpClientService_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.McpClientService = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
let McpClientService = McpClientService_1 = class McpClientService {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.logger = new common_1.Logger(McpClientService_1.name);
|
|
15
|
+
}
|
|
16
|
+
resolveEndpoint(baseUrl, path) {
|
|
17
|
+
const trimmed = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
18
|
+
return `${trimmed}${path}`;
|
|
19
|
+
}
|
|
20
|
+
buildHeaders(options) {
|
|
21
|
+
const headers = {
|
|
22
|
+
'Content-Type': 'application/json',
|
|
23
|
+
...(options.headers || {}),
|
|
24
|
+
};
|
|
25
|
+
if (options.apiKey) {
|
|
26
|
+
headers['Authorization'] = `Bearer ${options.apiKey}`;
|
|
27
|
+
}
|
|
28
|
+
return headers;
|
|
29
|
+
}
|
|
30
|
+
async sendRequest(method, params = {}, options) {
|
|
31
|
+
const url = this.resolveEndpoint(options.baseUrl, '/mcp');
|
|
32
|
+
const requestBody = {
|
|
33
|
+
jsonrpc: '2.0',
|
|
34
|
+
id: `${method}-${Date.now()}`,
|
|
35
|
+
method,
|
|
36
|
+
params,
|
|
37
|
+
};
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
const timeoutMs = options.timeoutMs ?? 15000;
|
|
40
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
41
|
+
try {
|
|
42
|
+
const response = await fetch(url, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: this.buildHeaders(options),
|
|
45
|
+
body: JSON.stringify(requestBody),
|
|
46
|
+
signal: controller.signal,
|
|
47
|
+
});
|
|
48
|
+
clearTimeout(timeout);
|
|
49
|
+
if (!response.ok) {
|
|
50
|
+
const text = await response.text();
|
|
51
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText} - ${text}`);
|
|
52
|
+
}
|
|
53
|
+
const payload = (await response.json());
|
|
54
|
+
if (payload.error) {
|
|
55
|
+
throw new Error(payload.error.message || 'MCP server returned an error');
|
|
56
|
+
}
|
|
57
|
+
return payload.result;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
this.logger.error(`MCP request failed (method: ${method}, url: ${url}): ${error.message || error}`);
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async listTools(options) {
|
|
65
|
+
return this.sendRequest('tools/list', {}, options);
|
|
66
|
+
}
|
|
67
|
+
async callTool(toolName, args, options) {
|
|
68
|
+
return this.sendRequest('tools/call', { name: toolName, arguments: args }, options);
|
|
69
|
+
}
|
|
70
|
+
async queryAgent(payload, options) {
|
|
71
|
+
return this.callTool('crewx_queryAgent', payload, options);
|
|
72
|
+
}
|
|
73
|
+
async executeAgent(payload, options) {
|
|
74
|
+
return this.callTool('crewx_executeAgent', payload, options);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.McpClientService = McpClientService;
|
|
78
|
+
exports.McpClientService = McpClientService = McpClientService_1 = __decorate([
|
|
79
|
+
(0, common_1.Injectable)()
|
|
80
|
+
], McpClientService);
|
|
81
|
+
//# sourceMappingURL=mcp-client.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.service.js","sourceRoot":"","sources":["../../src/services/mcp-client.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AgentLoaderService } from './agent-loader.service';
|
|
2
|
+
import { ConfigService } from './config.service';
|
|
3
|
+
import { AgentInfo } from '../agent.types';
|
|
4
|
+
import { RemoteProviderConfig } from '../providers/dynamic-provider.factory';
|
|
5
|
+
export interface RemoteAgentDescriptor {
|
|
6
|
+
agent: AgentInfo;
|
|
7
|
+
provider: RemoteProviderConfig;
|
|
8
|
+
transport: 'http' | 'file';
|
|
9
|
+
location: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class RemoteAgentService {
|
|
12
|
+
private readonly agentLoaderService;
|
|
13
|
+
private readonly configService;
|
|
14
|
+
private readonly logger;
|
|
15
|
+
constructor(agentLoaderService: AgentLoaderService, configService: ConfigService);
|
|
16
|
+
private normalizeProviderName;
|
|
17
|
+
private resolveRemoteProviderConfig;
|
|
18
|
+
private detectTransport;
|
|
19
|
+
getRemoteAgents(): Promise<RemoteAgentDescriptor[]>;
|
|
20
|
+
getRemoteAgent(agentId: string): Promise<RemoteAgentDescriptor | undefined>;
|
|
21
|
+
isRemoteAgent(agentId: string): Promise<boolean>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var RemoteAgentService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.RemoteAgentService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const agent_loader_service_1 = require("./agent-loader.service");
|
|
16
|
+
const config_service_1 = require("./config.service");
|
|
17
|
+
let RemoteAgentService = RemoteAgentService_1 = class RemoteAgentService {
|
|
18
|
+
constructor(agentLoaderService, configService) {
|
|
19
|
+
this.agentLoaderService = agentLoaderService;
|
|
20
|
+
this.configService = configService;
|
|
21
|
+
this.logger = new common_1.Logger(RemoteAgentService_1.name);
|
|
22
|
+
}
|
|
23
|
+
normalizeProviderName(provider) {
|
|
24
|
+
if (Array.isArray(provider)) {
|
|
25
|
+
return provider.find((id) => typeof id === 'string' && id.startsWith('remote/')) || null;
|
|
26
|
+
}
|
|
27
|
+
if (typeof provider === 'string' && provider.startsWith('remote/')) {
|
|
28
|
+
return provider;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
resolveRemoteProviderConfig(providerName) {
|
|
33
|
+
const remoteProviders = this.configService.getRemoteProviders();
|
|
34
|
+
const identifier = providerName.includes('/') ? providerName.split('/')[1] : providerName;
|
|
35
|
+
return remoteProviders.find((provider) => provider.id === identifier);
|
|
36
|
+
}
|
|
37
|
+
detectTransport(location) {
|
|
38
|
+
if (location.startsWith('http://') || location.startsWith('https://')) {
|
|
39
|
+
return 'http';
|
|
40
|
+
}
|
|
41
|
+
return 'file';
|
|
42
|
+
}
|
|
43
|
+
async getRemoteAgents() {
|
|
44
|
+
const allAgents = await this.agentLoaderService.getAllAgents();
|
|
45
|
+
const descriptors = [];
|
|
46
|
+
for (const agent of allAgents) {
|
|
47
|
+
const providerName = this.normalizeProviderName(agent.provider);
|
|
48
|
+
if (!providerName) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const providerConfig = this.resolveRemoteProviderConfig(providerName);
|
|
52
|
+
if (!providerConfig) {
|
|
53
|
+
this.logger.warn(`Remote provider configuration not found for '${providerName}'`);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
descriptors.push({
|
|
57
|
+
agent,
|
|
58
|
+
provider: providerConfig,
|
|
59
|
+
transport: this.detectTransport(providerConfig.location),
|
|
60
|
+
location: providerConfig.location,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return descriptors;
|
|
64
|
+
}
|
|
65
|
+
async getRemoteAgent(agentId) {
|
|
66
|
+
const remoteAgents = await this.getRemoteAgents();
|
|
67
|
+
return remoteAgents.find((descriptor) => descriptor.agent.id === agentId);
|
|
68
|
+
}
|
|
69
|
+
async isRemoteAgent(agentId) {
|
|
70
|
+
const descriptor = await this.getRemoteAgent(agentId);
|
|
71
|
+
return Boolean(descriptor);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.RemoteAgentService = RemoteAgentService;
|
|
75
|
+
exports.RemoteAgentService = RemoteAgentService = RemoteAgentService_1 = __decorate([
|
|
76
|
+
(0, common_1.Injectable)(),
|
|
77
|
+
__metadata("design:paramtypes", [agent_loader_service_1.AgentLoaderService,
|
|
78
|
+
config_service_1.ConfigService])
|
|
79
|
+
], RemoteAgentService);
|
|
80
|
+
//# sourceMappingURL=remote-agent.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-agent.service.js","sourceRoot":"","sources":["../../src/services/remote-agent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ToolCallService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const fs_1 = require("fs");
|
|
15
|
+
const child_process_1 = require("child_process");
|
|
16
|
+
const path_1 = require("path");
|
|
15
17
|
const agent_loader_service_1 = require("./agent-loader.service");
|
|
16
18
|
const DocumentManager_1 = require("../knowledge/DocumentManager");
|
|
17
19
|
let ToolCallService = class ToolCallService {
|
|
@@ -89,6 +91,154 @@ let ToolCallService = class ToolCallService {
|
|
|
89
91
|
}
|
|
90
92
|
},
|
|
91
93
|
});
|
|
94
|
+
this.register({
|
|
95
|
+
name: 'run_shell',
|
|
96
|
+
description: 'Execute a shell command in the current workspace directory',
|
|
97
|
+
input_schema: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
properties: {
|
|
100
|
+
command: {
|
|
101
|
+
type: 'string',
|
|
102
|
+
description: 'Shell command to execute (executed via bash -lc)',
|
|
103
|
+
},
|
|
104
|
+
cwd: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'Optional working directory (relative or absolute)',
|
|
107
|
+
},
|
|
108
|
+
timeout: {
|
|
109
|
+
type: 'number',
|
|
110
|
+
description: 'Optional timeout in milliseconds (default: 120000)',
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
required: ['command'],
|
|
114
|
+
},
|
|
115
|
+
output_schema: {
|
|
116
|
+
type: 'object',
|
|
117
|
+
properties: {
|
|
118
|
+
stdout: { type: 'string', description: 'Standard output from the command' },
|
|
119
|
+
stderr: { type: 'string', description: 'Standard error from the command' },
|
|
120
|
+
exitCode: { type: 'number', description: 'Process exit code' },
|
|
121
|
+
timedOut: { type: 'boolean', description: 'Indicates whether the process was terminated due to timeout' },
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
}, {
|
|
125
|
+
execute: async (context) => {
|
|
126
|
+
const startTime = Date.now();
|
|
127
|
+
const { command, cwd, timeout } = context.input;
|
|
128
|
+
if (!command || typeof command !== 'string') {
|
|
129
|
+
return {
|
|
130
|
+
success: false,
|
|
131
|
+
error: 'Invalid input: command is required and must be a string',
|
|
132
|
+
metadata: {
|
|
133
|
+
executionTime: Date.now() - startTime,
|
|
134
|
+
toolName: 'run_shell',
|
|
135
|
+
runId: context.runId,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
const workingDir = cwd && typeof cwd === 'string' ? (0, path_1.resolve)(process.cwd(), cwd) : process.cwd();
|
|
140
|
+
const maxTimeout = typeof timeout === 'number' && timeout > 0 ? timeout : 120000;
|
|
141
|
+
return await new Promise((resolveResult) => {
|
|
142
|
+
try {
|
|
143
|
+
const child = (0, child_process_1.spawn)('bash', ['-lc', command], {
|
|
144
|
+
cwd: workingDir,
|
|
145
|
+
env: { ...process.env },
|
|
146
|
+
});
|
|
147
|
+
let stdout = '';
|
|
148
|
+
let stderr = '';
|
|
149
|
+
let timedOut = false;
|
|
150
|
+
child.stdout.on('data', (data) => {
|
|
151
|
+
stdout += data.toString();
|
|
152
|
+
});
|
|
153
|
+
child.stderr.on('data', (data) => {
|
|
154
|
+
stderr += data.toString();
|
|
155
|
+
});
|
|
156
|
+
const timeoutId = setTimeout(() => {
|
|
157
|
+
timedOut = true;
|
|
158
|
+
child.kill('SIGTERM');
|
|
159
|
+
}, maxTimeout);
|
|
160
|
+
child.on('error', (error) => {
|
|
161
|
+
clearTimeout(timeoutId);
|
|
162
|
+
resolveResult({
|
|
163
|
+
success: false,
|
|
164
|
+
error: `Failed to execute command: ${error.message}`,
|
|
165
|
+
metadata: {
|
|
166
|
+
executionTime: Date.now() - startTime,
|
|
167
|
+
toolName: 'run_shell',
|
|
168
|
+
runId: context.runId,
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
child.on('close', (code) => {
|
|
173
|
+
clearTimeout(timeoutId);
|
|
174
|
+
const executionTime = Date.now() - startTime;
|
|
175
|
+
if (timedOut) {
|
|
176
|
+
resolveResult({
|
|
177
|
+
success: false,
|
|
178
|
+
error: `Command timed out after ${maxTimeout}ms`,
|
|
179
|
+
metadata: {
|
|
180
|
+
executionTime,
|
|
181
|
+
toolName: 'run_shell',
|
|
182
|
+
runId: context.runId,
|
|
183
|
+
},
|
|
184
|
+
data: {
|
|
185
|
+
stdout,
|
|
186
|
+
stderr,
|
|
187
|
+
exitCode: code ?? -1,
|
|
188
|
+
timedOut: true,
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (code === 0) {
|
|
194
|
+
resolveResult({
|
|
195
|
+
success: true,
|
|
196
|
+
data: {
|
|
197
|
+
stdout: stdout.trim(),
|
|
198
|
+
stderr: stderr.trim(),
|
|
199
|
+
exitCode: code ?? 0,
|
|
200
|
+
timedOut: false,
|
|
201
|
+
},
|
|
202
|
+
metadata: {
|
|
203
|
+
executionTime,
|
|
204
|
+
toolName: 'run_shell',
|
|
205
|
+
runId: context.runId,
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
resolveResult({
|
|
211
|
+
success: false,
|
|
212
|
+
error: stderr.trim() || `Command exited with code ${code}`,
|
|
213
|
+
data: {
|
|
214
|
+
stdout: stdout.trim(),
|
|
215
|
+
stderr: stderr.trim(),
|
|
216
|
+
exitCode: code ?? -1,
|
|
217
|
+
timedOut: false,
|
|
218
|
+
},
|
|
219
|
+
metadata: {
|
|
220
|
+
executionTime,
|
|
221
|
+
toolName: 'run_shell',
|
|
222
|
+
runId: context.runId,
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
resolveResult({
|
|
230
|
+
success: false,
|
|
231
|
+
error: `Failed to execute command: ${error.message}`,
|
|
232
|
+
metadata: {
|
|
233
|
+
executionTime: Date.now() - startTime,
|
|
234
|
+
toolName: 'run_shell',
|
|
235
|
+
runId: context.runId,
|
|
236
|
+
},
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
},
|
|
241
|
+
});
|
|
92
242
|
this.register({
|
|
93
243
|
name: 'read_file',
|
|
94
244
|
description: 'Read the contents of a file from the filesystem',
|
|
@@ -152,6 +302,98 @@ let ToolCallService = class ToolCallService {
|
|
|
152
302
|
}
|
|
153
303
|
},
|
|
154
304
|
});
|
|
305
|
+
this.register({
|
|
306
|
+
name: 'write_to_file',
|
|
307
|
+
description: 'Write content to a file on the filesystem. Creates the file if it does not exist, or overwrites it if it does.',
|
|
308
|
+
input_schema: {
|
|
309
|
+
type: 'object',
|
|
310
|
+
properties: {
|
|
311
|
+
path: {
|
|
312
|
+
type: 'string',
|
|
313
|
+
description: 'The path to the file to write',
|
|
314
|
+
},
|
|
315
|
+
content: {
|
|
316
|
+
type: 'string',
|
|
317
|
+
description: 'The content to write to the file',
|
|
318
|
+
},
|
|
319
|
+
},
|
|
320
|
+
required: ['path', 'content'],
|
|
321
|
+
},
|
|
322
|
+
output_schema: {
|
|
323
|
+
type: 'object',
|
|
324
|
+
properties: {
|
|
325
|
+
success: {
|
|
326
|
+
type: 'boolean',
|
|
327
|
+
description: 'Whether the write operation succeeded',
|
|
328
|
+
},
|
|
329
|
+
path: {
|
|
330
|
+
type: 'string',
|
|
331
|
+
description: 'The path of the written file',
|
|
332
|
+
},
|
|
333
|
+
bytesWritten: {
|
|
334
|
+
type: 'number',
|
|
335
|
+
description: 'Number of bytes written',
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
required: ['success', 'path'],
|
|
339
|
+
},
|
|
340
|
+
}, {
|
|
341
|
+
execute: async (context) => {
|
|
342
|
+
const startTime = Date.now();
|
|
343
|
+
try {
|
|
344
|
+
const { path, content } = context.input;
|
|
345
|
+
if (!path || typeof path !== 'string') {
|
|
346
|
+
return {
|
|
347
|
+
success: false,
|
|
348
|
+
error: 'Invalid input: path is required and must be a string',
|
|
349
|
+
metadata: {
|
|
350
|
+
executionTime: Date.now() - startTime,
|
|
351
|
+
toolName: 'write_to_file',
|
|
352
|
+
runId: context.runId,
|
|
353
|
+
},
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
if (content === undefined || content === null) {
|
|
357
|
+
return {
|
|
358
|
+
success: false,
|
|
359
|
+
error: 'Invalid input: content is required',
|
|
360
|
+
metadata: {
|
|
361
|
+
executionTime: Date.now() - startTime,
|
|
362
|
+
toolName: 'write_to_file',
|
|
363
|
+
runId: context.runId,
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
const contentStr = String(content);
|
|
368
|
+
(0, fs_1.writeFileSync)(path, contentStr, 'utf-8');
|
|
369
|
+
const bytesWritten = Buffer.byteLength(contentStr, 'utf-8');
|
|
370
|
+
return {
|
|
371
|
+
success: true,
|
|
372
|
+
data: {
|
|
373
|
+
success: true,
|
|
374
|
+
path,
|
|
375
|
+
bytesWritten,
|
|
376
|
+
},
|
|
377
|
+
metadata: {
|
|
378
|
+
executionTime: Date.now() - startTime,
|
|
379
|
+
toolName: 'write_to_file',
|
|
380
|
+
runId: context.runId,
|
|
381
|
+
},
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
return {
|
|
386
|
+
success: false,
|
|
387
|
+
error: `Failed to write file: ${error.message}`,
|
|
388
|
+
metadata: {
|
|
389
|
+
executionTime: Date.now() - startTime,
|
|
390
|
+
toolName: 'write_to_file',
|
|
391
|
+
runId: context.runId,
|
|
392
|
+
},
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
});
|
|
155
397
|
this.register({
|
|
156
398
|
name: 'list_agents',
|
|
157
399
|
description: 'List all available AI agents in the CodeCrew system. Returns detailed information about each agent including their ID, provider, capabilities, and specialties. Use this tool to discover which agents are available for delegation or collaboration.',
|
|
@@ -482,7 +724,7 @@ let ToolCallService = class ToolCallService {
|
|
|
482
724
|
}
|
|
483
725
|
},
|
|
484
726
|
});
|
|
485
|
-
this.logger.log('Built-in tools registered: hello, read_file, list_agents, get_markdown_headings, get_markdown_sections');
|
|
727
|
+
this.logger.log('Built-in tools registered: hello, read_file, write_to_file, run_shell, list_agents, get_markdown_headings, get_markdown_sections');
|
|
486
728
|
}
|
|
487
729
|
registerMcpTools() {
|
|
488
730
|
if (!this.crewXTool) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call.service.js","sourceRoot":"","sources":["../../src/services/tool-call.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-call.service.js","sourceRoot":"","sources":["../../src/services/tool-call.service.ts"],"names":[],"mappings":"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"}
|