sub-agents-mcp 0.1.4 → 0.2.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/README.md +253 -140
- package/dist/config/ServerConfig.d.ts +9 -0
- package/dist/config/ServerConfig.d.ts.map +1 -1
- package/dist/config/ServerConfig.js +17 -0
- package/dist/config/ServerConfig.js.map +1 -1
- package/dist/server/McpServer.d.ts +1 -0
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +18 -2
- package/dist/server/McpServer.js.map +1 -1
- package/dist/session/SessionHistoryFormatter.d.ts +32 -0
- package/dist/session/SessionHistoryFormatter.d.ts.map +1 -0
- package/dist/session/SessionHistoryFormatter.js +62 -0
- package/dist/session/SessionHistoryFormatter.js.map +1 -0
- package/dist/session/SessionManager.d.ts +158 -0
- package/dist/session/SessionManager.d.ts.map +1 -0
- package/dist/session/SessionManager.js +410 -0
- package/dist/session/SessionManager.js.map +1 -0
- package/dist/session/ToonConverter.d.ts +172 -0
- package/dist/session/ToonConverter.d.ts.map +1 -0
- package/dist/session/ToonConverter.js +593 -0
- package/dist/session/ToonConverter.js.map +1 -0
- package/dist/session/ToonUtils.d.ts +23 -0
- package/dist/session/ToonUtils.d.ts.map +1 -0
- package/dist/session/ToonUtils.js +75 -0
- package/dist/session/ToonUtils.js.map +1 -0
- package/dist/tools/RunAgentTool.d.ts +62 -4
- package/dist/tools/RunAgentTool.d.ts.map +1 -1
- package/dist/tools/RunAgentTool.js +223 -46
- package/dist/tools/RunAgentTool.js.map +1 -1
- package/dist/types/SessionData.d.ts +63 -0
- package/dist/types/SessionData.d.ts.map +1 -0
- package/dist/types/SessionData.js +3 -0
- package/dist/types/SessionData.js.map +1 -0
- package/dist/utils/Logger.js +2 -2
- package/dist/utils/Logger.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TOON format utilities for SessionData
|
|
4
|
+
*
|
|
5
|
+
* Provides type-safe encode/decode functions for SessionData with Date handling.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.encodeSessionData = encodeSessionData;
|
|
9
|
+
exports.decodeSessionData = decodeSessionData;
|
|
10
|
+
const toon_1 = require("@toon-format/toon");
|
|
11
|
+
/**
|
|
12
|
+
* Encodes SessionData to TOON format.
|
|
13
|
+
*
|
|
14
|
+
* @param sessionData - Session data to encode
|
|
15
|
+
* @returns TOON-formatted string
|
|
16
|
+
*/
|
|
17
|
+
function encodeSessionData(sessionData) {
|
|
18
|
+
return (0, toon_1.encode)(sessionData);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Decodes TOON format string to SessionData.
|
|
22
|
+
*
|
|
23
|
+
* Handles Date conversion from ISO strings to Date objects.
|
|
24
|
+
*
|
|
25
|
+
* @param toonString - TOON-formatted string
|
|
26
|
+
* @returns Decoded SessionData with proper Date types
|
|
27
|
+
*/
|
|
28
|
+
function decodeSessionData(toonString) {
|
|
29
|
+
const decoded = (0, toon_1.decode)(toonString);
|
|
30
|
+
// Type guard: Validate decoded data structure
|
|
31
|
+
if (!isValidSessionDataShape(decoded)) {
|
|
32
|
+
throw new Error('Invalid TOON format: decoded data does not match SessionData structure');
|
|
33
|
+
}
|
|
34
|
+
// Convert ISO string dates to Date objects
|
|
35
|
+
return convertDatesToObjects(decoded);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to validate decoded data shape.
|
|
39
|
+
*
|
|
40
|
+
* @param value - Value to validate
|
|
41
|
+
* @returns True if value matches SessionData structure
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
function isValidSessionDataShape(value) {
|
|
45
|
+
if (typeof value !== 'object' || value === null) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const obj = value;
|
|
49
|
+
return (typeof obj['sessionId'] === 'string' &&
|
|
50
|
+
typeof obj['agentType'] === 'string' &&
|
|
51
|
+
Array.isArray(obj['history']) &&
|
|
52
|
+
(typeof obj['createdAt'] === 'string' || obj['createdAt'] instanceof Date) &&
|
|
53
|
+
(typeof obj['lastUpdatedAt'] === 'string' || obj['lastUpdatedAt'] instanceof Date));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Converts ISO string dates to Date objects.
|
|
57
|
+
*
|
|
58
|
+
* @param data - Decoded data with ISO string dates
|
|
59
|
+
* @returns SessionData with Date objects
|
|
60
|
+
* @private
|
|
61
|
+
*/
|
|
62
|
+
function convertDatesToObjects(data) {
|
|
63
|
+
return {
|
|
64
|
+
sessionId: data.sessionId,
|
|
65
|
+
agentType: data.agentType,
|
|
66
|
+
history: data.history.map((entry) => ({
|
|
67
|
+
timestamp: typeof entry.timestamp === 'string' ? new Date(entry.timestamp) : entry.timestamp,
|
|
68
|
+
request: entry.request,
|
|
69
|
+
response: entry.response,
|
|
70
|
+
})),
|
|
71
|
+
createdAt: typeof data.createdAt === 'string' ? new Date(data.createdAt) : data.createdAt,
|
|
72
|
+
lastUpdatedAt: typeof data.lastUpdatedAt === 'string' ? new Date(data.lastUpdatedAt) : data.lastUpdatedAt,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ToonUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToonUtils.js","sourceRoot":"","sources":["../../src/session/ToonUtils.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,8CAEC;AAUD,8CAUC;AA/BD,4CAAkD;AAGlD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,WAAwB;IACxD,OAAO,IAAA,aAAM,EAAC,WAAW,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,UAAkB;IAClD,MAAM,OAAO,GAAG,IAAA,aAAM,EAAC,UAAU,CAAY,CAAA;IAE7C,8CAA8C;IAC9C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IAED,2CAA2C;IAC3C,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAA;IAE5C,OAAO,CACL,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;QACpC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;QACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC;QAC1E,CAAC,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,CACnF,CAAA;AACH,CAAC;AA2BD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAwB;IACrD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;YAC5F,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QACzF,aAAa,EACX,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa;KAC7F,CAAA;AACH,CAAC"}
|
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { AgentManager } from '../agents/AgentManager';
|
|
9
9
|
import type { AgentExecutor } from '../execution/AgentExecutor';
|
|
10
|
+
import type { SessionManager } from '../session/SessionManager';
|
|
10
11
|
/**
|
|
11
12
|
* MCP tool content type for text responses
|
|
12
13
|
*/
|
|
13
14
|
interface McpTextContent {
|
|
15
|
+
[x: string]: unknown;
|
|
14
16
|
type: 'text';
|
|
15
17
|
text: string;
|
|
16
18
|
}
|
|
@@ -18,9 +20,13 @@ interface McpTextContent {
|
|
|
18
20
|
* MCP tool response format
|
|
19
21
|
*/
|
|
20
22
|
interface McpToolResponse {
|
|
23
|
+
[x: string]: unknown;
|
|
21
24
|
content: McpTextContent[];
|
|
22
25
|
isError?: boolean;
|
|
23
26
|
structuredContent?: unknown;
|
|
27
|
+
_meta?: {
|
|
28
|
+
session_id: string;
|
|
29
|
+
};
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
32
|
* Input schema for run_agent tool parameters
|
|
@@ -49,6 +55,10 @@ interface RunAgentInputSchema {
|
|
|
49
55
|
};
|
|
50
56
|
description: string;
|
|
51
57
|
};
|
|
58
|
+
session_id: {
|
|
59
|
+
type: 'string';
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
52
62
|
};
|
|
53
63
|
required: string[];
|
|
54
64
|
}
|
|
@@ -61,12 +71,13 @@ interface RunAgentInputSchema {
|
|
|
61
71
|
export declare class RunAgentTool {
|
|
62
72
|
private agentExecutor?;
|
|
63
73
|
private agentManager?;
|
|
74
|
+
private sessionManager?;
|
|
64
75
|
readonly name = "run_agent";
|
|
65
|
-
readonly description = "Delegate complex, multi-step, or specialized tasks to an autonomous agent for independent execution with dedicated context (e.g., refactoring across multiple files, fixing all test failures, systematic codebase analysis, batch operations)";
|
|
76
|
+
readonly description = "Delegate complex, multi-step, or specialized tasks to an autonomous agent for independent execution with dedicated context (e.g., refactoring across multiple files, fixing all test failures, systematic codebase analysis, batch operations). Returns session_id in response metadata - reuse it in subsequent calls to maintain conversation context continuity across multiple agent executions.";
|
|
66
77
|
private logger;
|
|
67
78
|
private executionStats;
|
|
68
79
|
readonly inputSchema: RunAgentInputSchema;
|
|
69
|
-
constructor(agentExecutor?: AgentExecutor | undefined, agentManager?: AgentManager | undefined);
|
|
80
|
+
constructor(agentExecutor?: AgentExecutor | undefined, agentManager?: AgentManager | undefined, sessionManager?: SessionManager | undefined);
|
|
70
81
|
/**
|
|
71
82
|
* Execute the run_agent tool with the provided parameters
|
|
72
83
|
*
|
|
@@ -85,17 +96,64 @@ export declare class RunAgentTool {
|
|
|
85
96
|
*/
|
|
86
97
|
private validateParams;
|
|
87
98
|
/**
|
|
88
|
-
*
|
|
99
|
+
* Type guard to check if a value is a Record (plain object)
|
|
100
|
+
*
|
|
101
|
+
* @private
|
|
102
|
+
* @param value - Value to check
|
|
103
|
+
* @returns True if value is a Record
|
|
104
|
+
*/
|
|
105
|
+
private isRecord;
|
|
106
|
+
/**
|
|
107
|
+
* Type guard to check if a value is a string
|
|
108
|
+
*
|
|
109
|
+
* @private
|
|
110
|
+
* @param value - Value to check
|
|
111
|
+
* @returns True if value is a string
|
|
112
|
+
*/
|
|
113
|
+
private isStringField;
|
|
114
|
+
/**
|
|
115
|
+
* Extract content from agent response JSON
|
|
116
|
+
*
|
|
117
|
+
* Implements information extraction layer to hide agent implementation details.
|
|
118
|
+
* Supports both cursor-agent and claude code response formats.
|
|
119
|
+
*
|
|
120
|
+
* @private
|
|
121
|
+
* @param resultJson - Parsed agent response JSON (unknown type for safety)
|
|
122
|
+
* @param isError - Whether this is an error response
|
|
123
|
+
* @param stdout - Raw stdout as fallback
|
|
124
|
+
* @param stderr - Raw stderr as fallback
|
|
125
|
+
* @returns Extracted content string
|
|
126
|
+
*/
|
|
127
|
+
private extractAgentContent;
|
|
128
|
+
/**
|
|
129
|
+
* Determine if agent response indicates an error
|
|
130
|
+
*
|
|
131
|
+
* Checks is_error flag first (agent-level error), then exitCode (process-level error).
|
|
132
|
+
*
|
|
133
|
+
* @private
|
|
134
|
+
* @param resultJson - Parsed agent response JSON
|
|
135
|
+
* @param exitCode - Process exit code
|
|
136
|
+
* @returns True if response indicates an error
|
|
137
|
+
*/
|
|
138
|
+
private isAgentError;
|
|
139
|
+
/**
|
|
140
|
+
* Format agent execution response (ADR-0003)
|
|
141
|
+
*
|
|
142
|
+
* Returns MCP 2025-06-18 compliant response with:
|
|
143
|
+
* - content[0].text: JSON string (readable by current clients)
|
|
144
|
+
* - structuredContent: structured data (MCP 2025-06-18 standard)
|
|
145
|
+
* - _meta.session_id: session tracking (ADR-0002)
|
|
89
146
|
*
|
|
90
147
|
* @private
|
|
91
148
|
* @param result - Agent execution result
|
|
92
149
|
* @param agentName - Name of the executed agent
|
|
93
150
|
* @param requestId - Request tracking ID
|
|
151
|
+
* @param sessionId - Session ID if session management is used
|
|
94
152
|
* @returns Formatted MCP response
|
|
95
153
|
*/
|
|
96
154
|
private formatExecutionResponse;
|
|
97
155
|
/**
|
|
98
|
-
* Create error response with optional available agents list
|
|
156
|
+
* Create error response with optional available agents list (ADR-0003)
|
|
99
157
|
*
|
|
100
158
|
* @private
|
|
101
159
|
* @param errorMessage - Error message to display
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunAgentTool.d.ts","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"RunAgentTool.d.ts","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.RunAgentTool = void 0;
|
|
11
|
+
const node_crypto_1 = require("node:crypto");
|
|
12
|
+
const SessionHistoryFormatter_1 = require("../session/SessionHistoryFormatter");
|
|
11
13
|
const Logger_1 = require("../utils/Logger");
|
|
12
14
|
/**
|
|
13
15
|
* RunAgentTool class implementing the run_agent MCP tool
|
|
@@ -16,11 +18,12 @@ const Logger_1 = require("../utils/Logger");
|
|
|
16
18
|
* error handling, and proper MCP response formatting.
|
|
17
19
|
*/
|
|
18
20
|
class RunAgentTool {
|
|
19
|
-
constructor(agentExecutor, agentManager) {
|
|
21
|
+
constructor(agentExecutor, agentManager, sessionManager) {
|
|
20
22
|
this.agentExecutor = agentExecutor;
|
|
21
23
|
this.agentManager = agentManager;
|
|
24
|
+
this.sessionManager = sessionManager;
|
|
22
25
|
this.name = 'run_agent';
|
|
23
|
-
this.description = 'Delegate complex, multi-step, or specialized tasks to an autonomous agent for independent execution with dedicated context (e.g., refactoring across multiple files, fixing all test failures, systematic codebase analysis, batch operations)';
|
|
26
|
+
this.description = 'Delegate complex, multi-step, or specialized tasks to an autonomous agent for independent execution with dedicated context (e.g., refactoring across multiple files, fixing all test failures, systematic codebase analysis, batch operations). Returns session_id in response metadata - reuse it in subsequent calls to maintain conversation context continuity across multiple agent executions.';
|
|
24
27
|
this.executionStats = new Map();
|
|
25
28
|
this.inputSchema = {
|
|
26
29
|
type: 'object',
|
|
@@ -42,6 +45,10 @@ class RunAgentTool {
|
|
|
42
45
|
items: { type: 'string' },
|
|
43
46
|
description: 'Additional configuration parameters for agent execution (optional)',
|
|
44
47
|
},
|
|
48
|
+
session_id: {
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: 'Session ID for continuing previous conversation context (optional). If omitted, a new session will be auto-generated and returned in response metadata. Reuse the returned session_id in subsequent calls to maintain context continuity.',
|
|
51
|
+
},
|
|
45
52
|
},
|
|
46
53
|
required: ['agent', 'prompt'],
|
|
47
54
|
};
|
|
@@ -63,15 +70,31 @@ class RunAgentTool {
|
|
|
63
70
|
requestId,
|
|
64
71
|
timestamp: new Date().toISOString(),
|
|
65
72
|
});
|
|
73
|
+
// Best-effort cleanup: old session files (ADR-0002)
|
|
74
|
+
// Non-blocking execution - does not affect main processing flow
|
|
75
|
+
if (this.sessionManager) {
|
|
76
|
+
Promise.resolve()
|
|
77
|
+
.then(() => this.sessionManager.cleanupOldSessions())
|
|
78
|
+
.catch((error) => {
|
|
79
|
+
this.logger.warn('Session cleanup failed (best-effort)', {
|
|
80
|
+
requestId,
|
|
81
|
+
error: error instanceof Error ? error.message : String(error),
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
66
85
|
try {
|
|
67
86
|
// Validate parameters with enhanced validation
|
|
68
87
|
const validatedParams = this.validateParams(params);
|
|
88
|
+
// Auto-generate session_id if not provided and SessionManager is available
|
|
89
|
+
const sessionId = validatedParams.session_id || (this.sessionManager ? (0, node_crypto_1.randomUUID)() : undefined);
|
|
69
90
|
this.logger.debug('Parameters validated successfully', {
|
|
70
91
|
requestId,
|
|
71
92
|
agent: validatedParams.agent,
|
|
72
93
|
promptLength: validatedParams.prompt.length,
|
|
73
94
|
cwd: validatedParams.cwd,
|
|
74
95
|
extraArgsCount: validatedParams.extra_args?.length || 0,
|
|
96
|
+
sessionId: sessionId,
|
|
97
|
+
sessionIdGenerated: !validatedParams.session_id && !!sessionId,
|
|
75
98
|
});
|
|
76
99
|
// Check if agent exists
|
|
77
100
|
if (this.agentManager) {
|
|
@@ -101,9 +124,41 @@ class RunAgentTool {
|
|
|
101
124
|
agentContext = agent.content;
|
|
102
125
|
}
|
|
103
126
|
}
|
|
127
|
+
// Load session history if session_id is provided and SessionManager is available
|
|
128
|
+
let promptWithHistory = validatedParams.prompt;
|
|
129
|
+
if (sessionId && this.sessionManager) {
|
|
130
|
+
try {
|
|
131
|
+
// CRITICAL: Pass agent_type to enforce sub-agent isolation
|
|
132
|
+
const sessionData = await this.sessionManager.loadSession(sessionId, validatedParams.agent);
|
|
133
|
+
if (sessionData && sessionData.history.length > 0) {
|
|
134
|
+
// Convert session history to Markdown format for token efficiency and LLM comprehension
|
|
135
|
+
const historyMarkdown = (0, SessionHistoryFormatter_1.formatSessionHistory)(sessionData);
|
|
136
|
+
promptWithHistory = `Previous conversation history:\n\n${historyMarkdown}\n\n---\n\nCurrent request:\n${validatedParams.prompt}`;
|
|
137
|
+
this.logger.info('Session history loaded and merged', {
|
|
138
|
+
requestId,
|
|
139
|
+
sessionId: sessionId,
|
|
140
|
+
historyEntries: sessionData.history.length,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this.logger.debug('No session history found', {
|
|
145
|
+
requestId,
|
|
146
|
+
sessionId: sessionId,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
// Log error but continue - session loading failure should not break main flow
|
|
152
|
+
this.logger.warn('Failed to load session history', {
|
|
153
|
+
requestId,
|
|
154
|
+
sessionId: sessionId,
|
|
155
|
+
error: error instanceof Error ? error.message : String(error),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
104
159
|
const executionParams = {
|
|
105
160
|
agent: agentContext,
|
|
106
|
-
prompt:
|
|
161
|
+
prompt: promptWithHistory,
|
|
107
162
|
...(validatedParams.cwd !== undefined && { cwd: validatedParams.cwd }),
|
|
108
163
|
...(validatedParams.extra_args !== undefined && {
|
|
109
164
|
extra_args: validatedParams.extra_args,
|
|
@@ -122,8 +177,42 @@ class RunAgentTool {
|
|
|
122
177
|
executionTime: result.executionTime,
|
|
123
178
|
totalTime: Date.now() - startTime,
|
|
124
179
|
});
|
|
180
|
+
// Save session if session_id is available and SessionManager is available
|
|
181
|
+
if (sessionId && this.sessionManager) {
|
|
182
|
+
try {
|
|
183
|
+
// Build request object with only defined properties
|
|
184
|
+
const sessionRequest = {
|
|
185
|
+
agent: validatedParams.agent,
|
|
186
|
+
prompt: validatedParams.prompt,
|
|
187
|
+
};
|
|
188
|
+
if (validatedParams.cwd !== undefined) {
|
|
189
|
+
sessionRequest.cwd = validatedParams.cwd;
|
|
190
|
+
}
|
|
191
|
+
if (validatedParams.extra_args !== undefined) {
|
|
192
|
+
sessionRequest.extra_args = validatedParams.extra_args;
|
|
193
|
+
}
|
|
194
|
+
await this.sessionManager.saveSession(sessionId, sessionRequest, {
|
|
195
|
+
stdout: result.stdout,
|
|
196
|
+
stderr: result.stderr,
|
|
197
|
+
exitCode: result.exitCode,
|
|
198
|
+
executionTime: result.executionTime,
|
|
199
|
+
});
|
|
200
|
+
this.logger.info('Session saved successfully', {
|
|
201
|
+
requestId,
|
|
202
|
+
sessionId: sessionId,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
// Log error but continue - session save failure should not break main flow
|
|
207
|
+
this.logger.warn('Failed to save session', {
|
|
208
|
+
requestId,
|
|
209
|
+
sessionId: sessionId,
|
|
210
|
+
error: error instanceof Error ? error.message : String(error),
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
125
214
|
// Mark MCP request as completed
|
|
126
|
-
return this.formatExecutionResponse(result, validatedParams.agent, requestId);
|
|
215
|
+
return this.formatExecutionResponse(result, validatedParams.agent, requestId, sessionId);
|
|
127
216
|
}
|
|
128
217
|
// Fallback response if executor is not available
|
|
129
218
|
this.logger.warn('Agent executor not available', { requestId });
|
|
@@ -215,68 +304,159 @@ class RunAgentTool {
|
|
|
215
304
|
}
|
|
216
305
|
}
|
|
217
306
|
}
|
|
307
|
+
// Validate optional session_id parameter
|
|
308
|
+
if (p['session_id'] !== undefined) {
|
|
309
|
+
if (typeof p['session_id'] !== 'string') {
|
|
310
|
+
throw new Error('Session ID parameter must be a string if provided');
|
|
311
|
+
}
|
|
312
|
+
const sessionId = p['session_id'].trim();
|
|
313
|
+
if (sessionId === '') {
|
|
314
|
+
throw new Error('Invalid session ID parameter: cannot be empty');
|
|
315
|
+
}
|
|
316
|
+
if (sessionId.length > 100) {
|
|
317
|
+
throw new Error('Session ID too long (max 100 characters)');
|
|
318
|
+
}
|
|
319
|
+
// Validate session ID format (alphanumeric, hyphens, underscores only)
|
|
320
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(sessionId)) {
|
|
321
|
+
throw new Error('Session ID contains invalid characters (only alphanumeric, underscore, and dash allowed)');
|
|
322
|
+
}
|
|
323
|
+
}
|
|
218
324
|
return {
|
|
219
325
|
agent: agentName,
|
|
220
326
|
prompt: prompt,
|
|
221
327
|
cwd: p['cwd'],
|
|
222
328
|
extra_args: p['extra_args'],
|
|
329
|
+
session_id: p['session_id'],
|
|
223
330
|
};
|
|
224
331
|
}
|
|
225
332
|
/**
|
|
226
|
-
*
|
|
333
|
+
* Type guard to check if a value is a Record (plain object)
|
|
334
|
+
*
|
|
335
|
+
* @private
|
|
336
|
+
* @param value - Value to check
|
|
337
|
+
* @returns True if value is a Record
|
|
338
|
+
*/
|
|
339
|
+
isRecord(value) {
|
|
340
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Type guard to check if a value is a string
|
|
344
|
+
*
|
|
345
|
+
* @private
|
|
346
|
+
* @param value - Value to check
|
|
347
|
+
* @returns True if value is a string
|
|
348
|
+
*/
|
|
349
|
+
isStringField(value) {
|
|
350
|
+
return typeof value === 'string';
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Extract content from agent response JSON
|
|
354
|
+
*
|
|
355
|
+
* Implements information extraction layer to hide agent implementation details.
|
|
356
|
+
* Supports both cursor-agent and claude code response formats.
|
|
357
|
+
*
|
|
358
|
+
* @private
|
|
359
|
+
* @param resultJson - Parsed agent response JSON (unknown type for safety)
|
|
360
|
+
* @param isError - Whether this is an error response
|
|
361
|
+
* @param stdout - Raw stdout as fallback
|
|
362
|
+
* @param stderr - Raw stderr as fallback
|
|
363
|
+
* @returns Extracted content string
|
|
364
|
+
*/
|
|
365
|
+
extractAgentContent(resultJson, isError, stdout, stderr) {
|
|
366
|
+
// Type guard: Check if resultJson is a valid record
|
|
367
|
+
if (!this.isRecord(resultJson)) {
|
|
368
|
+
return stdout || stderr || 'No output';
|
|
369
|
+
}
|
|
370
|
+
// Priority field differs between success and error cases
|
|
371
|
+
const primaryField = isError ? 'error' : 'result';
|
|
372
|
+
// Extract primary field (result or error)
|
|
373
|
+
if (this.isStringField(resultJson[primaryField])) {
|
|
374
|
+
return resultJson[primaryField];
|
|
375
|
+
}
|
|
376
|
+
// Fallback to content field (claude code may use this)
|
|
377
|
+
if (this.isStringField(resultJson['content'])) {
|
|
378
|
+
return resultJson['content'];
|
|
379
|
+
}
|
|
380
|
+
// Final fallback to raw stdout/stderr
|
|
381
|
+
return stdout || stderr || 'No output';
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Determine if agent response indicates an error
|
|
385
|
+
*
|
|
386
|
+
* Checks is_error flag first (agent-level error), then exitCode (process-level error).
|
|
387
|
+
*
|
|
388
|
+
* @private
|
|
389
|
+
* @param resultJson - Parsed agent response JSON
|
|
390
|
+
* @param exitCode - Process exit code
|
|
391
|
+
* @returns True if response indicates an error
|
|
392
|
+
*/
|
|
393
|
+
isAgentError(resultJson, exitCode) {
|
|
394
|
+
// Priority 1: Check agent's is_error flag
|
|
395
|
+
if (this.isRecord(resultJson) && resultJson['is_error'] === true) {
|
|
396
|
+
return true;
|
|
397
|
+
}
|
|
398
|
+
// Priority 2: Check process exit code (excluding special cases)
|
|
399
|
+
// 143: SIGTERM (normal termination)
|
|
400
|
+
// 124: Timeout (may have partial result)
|
|
401
|
+
return exitCode !== 0 && exitCode !== 143 && exitCode !== 124;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Format agent execution response (ADR-0003)
|
|
405
|
+
*
|
|
406
|
+
* Returns MCP 2025-06-18 compliant response with:
|
|
407
|
+
* - content[0].text: JSON string (readable by current clients)
|
|
408
|
+
* - structuredContent: structured data (MCP 2025-06-18 standard)
|
|
409
|
+
* - _meta.session_id: session tracking (ADR-0002)
|
|
227
410
|
*
|
|
228
411
|
* @private
|
|
229
412
|
* @param result - Agent execution result
|
|
230
413
|
* @param agentName - Name of the executed agent
|
|
231
414
|
* @param requestId - Request tracking ID
|
|
415
|
+
* @param sessionId - Session ID if session management is used
|
|
232
416
|
* @returns Formatted MCP response
|
|
233
417
|
*/
|
|
234
|
-
formatExecutionResponse(result, agentName, requestId) {
|
|
235
|
-
// Determine
|
|
418
|
+
formatExecutionResponse(result, agentName, requestId, sessionId) {
|
|
419
|
+
// Determine if response indicates an error (agent-level or process-level)
|
|
420
|
+
const isError = this.isAgentError(result.resultJson, result.exitCode);
|
|
421
|
+
// Extract actual content from agent response
|
|
422
|
+
const contentText = this.extractAgentContent(result.resultJson, isError, result.stdout, result.stderr);
|
|
423
|
+
// Determine detailed status
|
|
236
424
|
const isSuccess = result.exitCode === 0 || // Normal completion
|
|
237
425
|
(result.exitCode === 143 && result.hasResult === true); // SIGTERM with result
|
|
238
426
|
const isPartialSuccess = result.exitCode === 124 && result.hasResult === true; // Timeout with partial result
|
|
239
|
-
|
|
240
|
-
//
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
const structuredContent = {
|
|
427
|
+
// Build response data structure (ADR-0003)
|
|
428
|
+
// This object is used in both content[0].text and structuredContent
|
|
429
|
+
const responseData = {
|
|
430
|
+
result: contentText,
|
|
244
431
|
agent: agentName,
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
hasResult: result.hasResult || false,
|
|
432
|
+
exit_code: result.exitCode,
|
|
433
|
+
execution_time: result.executionTime,
|
|
248
434
|
status: isSuccess ? 'success' : isPartialSuccess ? 'partial' : 'error',
|
|
435
|
+
...(sessionId && { session_id: sessionId }),
|
|
436
|
+
...(requestId && { request_id: requestId }),
|
|
249
437
|
};
|
|
250
|
-
|
|
251
|
-
structuredContent['result'] = result.resultJson;
|
|
252
|
-
}
|
|
253
|
-
if (result.stderr && result.stdout) {
|
|
254
|
-
// Only include stderr in structured content if we also have stdout
|
|
255
|
-
// Otherwise stderr is already in content
|
|
256
|
-
structuredContent['stderr'] = result.stderr;
|
|
257
|
-
}
|
|
258
|
-
if (requestId) {
|
|
259
|
-
structuredContent['requestId'] = requestId;
|
|
260
|
-
}
|
|
261
|
-
// Update statistics
|
|
262
|
-
const stats = this.executionStats.get(agentName);
|
|
263
|
-
if (stats) {
|
|
264
|
-
structuredContent['usageCount'] = stats.count;
|
|
265
|
-
structuredContent['averageTime'] = Math.round(stats.totalTime / stats.count);
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
438
|
+
const response = {
|
|
268
439
|
content: [
|
|
269
440
|
{
|
|
270
441
|
type: 'text',
|
|
271
|
-
|
|
442
|
+
// JSON string format for current MCP clients (Cursor, Claude Code, etc.)
|
|
443
|
+
text: JSON.stringify(responseData, null, 2),
|
|
272
444
|
},
|
|
273
445
|
],
|
|
274
446
|
isError: isError,
|
|
275
|
-
|
|
447
|
+
// Structured data format (MCP 2025-06-18 standard)
|
|
448
|
+
structuredContent: responseData,
|
|
276
449
|
};
|
|
450
|
+
// Add session_id to response metadata (ADR-0002)
|
|
451
|
+
if (sessionId) {
|
|
452
|
+
response._meta = {
|
|
453
|
+
session_id: sessionId,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
return response;
|
|
277
457
|
}
|
|
278
458
|
/**
|
|
279
|
-
* Create error response with optional available agents list
|
|
459
|
+
* Create error response with optional available agents list (ADR-0003)
|
|
280
460
|
*
|
|
281
461
|
* @private
|
|
282
462
|
* @param errorMessage - Error message to display
|
|
@@ -284,26 +464,23 @@ class RunAgentTool {
|
|
|
284
464
|
* @returns Error response in MCP format
|
|
285
465
|
*/
|
|
286
466
|
createErrorResponse(errorMessage, availableAgents) {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
responseText += `\n\nAvailable agents:\n${availableAgents.map((name) => `- ${name}`).join('\n')}`;
|
|
290
|
-
}
|
|
291
|
-
const errorStructuredContent = {
|
|
467
|
+
// Build error response data
|
|
468
|
+
const errorData = {
|
|
292
469
|
status: 'error',
|
|
293
470
|
error: errorMessage,
|
|
471
|
+
...(availableAgents && { available_agents: availableAgents }),
|
|
294
472
|
};
|
|
295
|
-
if (availableAgents) {
|
|
296
|
-
errorStructuredContent['availableAgents'] = availableAgents;
|
|
297
|
-
}
|
|
298
473
|
return {
|
|
299
474
|
content: [
|
|
300
475
|
{
|
|
301
476
|
type: 'text',
|
|
302
|
-
|
|
477
|
+
// JSON string format for current MCP clients
|
|
478
|
+
text: JSON.stringify(errorData, null, 2),
|
|
303
479
|
},
|
|
304
480
|
],
|
|
305
481
|
isError: true,
|
|
306
|
-
|
|
482
|
+
// Structured data format (MCP 2025-06-18 standard)
|
|
483
|
+
structuredContent: errorData,
|
|
307
484
|
};
|
|
308
485
|
}
|
|
309
486
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunAgentTool.js","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunAgentTool.js","sourceRoot":"","sources":["../../src/tools/RunAgentTool.ts"],"names":[],"mappings":"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"}
|