sub-agents-mcp 0.5.2 → 0.6.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 +12 -0
- package/dist/agents/AgentManager.d.ts +2 -2
- package/dist/agents/AgentManager.d.ts.map +1 -1
- package/dist/agents/AgentManager.js +13 -18
- package/dist/agents/AgentManager.js.map +1 -1
- package/dist/config/ServerConfig.d.ts +2 -0
- package/dist/config/ServerConfig.d.ts.map +1 -1
- package/dist/config/ServerConfig.js +25 -5
- package/dist/config/ServerConfig.js.map +1 -1
- package/dist/execution/AgentExecutor.d.ts +17 -2
- package/dist/execution/AgentExecutor.d.ts.map +1 -1
- package/dist/execution/AgentExecutor.js +89 -69
- package/dist/execution/AgentExecutor.js.map +1 -1
- package/dist/execution/StreamProcessor.js +7 -13
- package/dist/execution/StreamProcessor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -17
- package/dist/index.js.map +1 -1
- package/dist/resources/AgentResources.d.ts +1 -1
- package/dist/resources/AgentResources.d.ts.map +1 -1
- package/dist/resources/AgentResources.js +7 -9
- package/dist/resources/AgentResources.js.map +1 -1
- package/dist/server/McpServer.d.ts +1 -1
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +44 -40
- package/dist/server/McpServer.js.map +1 -1
- package/dist/session/SessionHistoryFormatter.d.ts +1 -1
- package/dist/session/SessionHistoryFormatter.d.ts.map +1 -1
- package/dist/session/SessionHistoryFormatter.js +1 -4
- package/dist/session/SessionHistoryFormatter.js.map +1 -1
- package/dist/session/SessionManager.d.ts +1 -1
- package/dist/session/SessionManager.d.ts.map +1 -1
- package/dist/session/SessionManager.js +6 -42
- package/dist/session/SessionManager.js.map +1 -1
- package/dist/tools/RunAgentTool.d.ts +3 -3
- package/dist/tools/RunAgentTool.d.ts.map +1 -1
- package/dist/tools/RunAgentTool.js +44 -41
- package/dist/tools/RunAgentTool.js.map +1 -1
- package/dist/types/AgentDefinition.js +1 -2
- package/dist/types/ExecutionParams.d.ts +5 -0
- package/dist/types/ExecutionParams.d.ts.map +1 -1
- package/dist/types/ExecutionParams.js +1 -2
- package/dist/types/SessionData.js +1 -2
- package/dist/utils/ErrorHandler.js +8 -7
- package/dist/utils/ErrorHandler.js.map +1 -1
- package/dist/utils/Logger.js +18 -20
- package/dist/utils/Logger.js.map +1 -1
- package/package.json +13 -17
- package/dist/execution/ExecutionLimits.d.ts +0 -141
- package/dist/execution/ExecutionLimits.d.ts.map +0 -1
- package/dist/execution/ExecutionLimits.js +0 -231
- package/dist/execution/ExecutionLimits.js.map +0 -1
- package/dist/execution/McpRequestTimeout.d.ts +0 -166
- package/dist/execution/McpRequestTimeout.d.ts.map +0 -1
- package/dist/execution/McpRequestTimeout.js +0 -278
- package/dist/execution/McpRequestTimeout.js.map +0 -1
- package/dist/execution/PromptController.d.ts +0 -92
- package/dist/execution/PromptController.d.ts.map +0 -1
- package/dist/execution/PromptController.js +0 -130
- package/dist/execution/PromptController.js.map +0 -1
- package/dist/execution/TimeoutManager.d.ts +0 -159
- package/dist/execution/TimeoutManager.d.ts.map +0 -1
- package/dist/execution/TimeoutManager.js +0 -283
- package/dist/execution/TimeoutManager.js.map +0 -1
- package/dist/session/ToonConverter.d.ts +0 -172
- package/dist/session/ToonConverter.d.ts.map +0 -1
- package/dist/session/ToonConverter.js +0 -593
- package/dist/session/ToonConverter.js.map +0 -1
- package/dist/session/ToonUtils.d.ts +0 -23
- package/dist/session/ToonUtils.d.ts.map +0 -1
- package/dist/session/ToonUtils.js +0 -75
- package/dist/session/ToonUtils.js.map +0 -1
- package/dist/types/ServerConfig.d.ts +0 -39
- package/dist/types/ServerConfig.d.ts.map +0 -1
- package/dist/types/ServerConfig.js +0 -3
- package/dist/types/ServerConfig.js.map +0 -1
- package/dist/types/index.d.ts +0 -19
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,6 +18,18 @@ Claude Code offers powerful sub-agent workflows—but they're limited to its own
|
|
|
18
18
|
|
|
19
19
|
→ [Read the full story](https://dev.to/shinpr/bringing-claude-codes-sub-agents-to-any-mcp-compatible-tool-1hb9)
|
|
20
20
|
|
|
21
|
+
## Alternative: Agent Skills
|
|
22
|
+
|
|
23
|
+
[sub-agents-skills](https://github.com/shinpr/sub-agents-skills) offers a lightweight alternative.
|
|
24
|
+
|
|
25
|
+
| | sub-agents-mcp | sub-agents-skills |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| **Setup** | MCP configuration required | Copy skill files to your environment |
|
|
28
|
+
| **Features** | Session management, error handling | Minimal |
|
|
29
|
+
| **Stability** | More robust | Lightweight |
|
|
30
|
+
|
|
31
|
+
Choose **sub-agents-mcp** for production use with reliability features. Choose **sub-agents-skills** for quick setup in Skill-compatible environments.
|
|
32
|
+
|
|
21
33
|
## Table of Contents
|
|
22
34
|
|
|
23
35
|
- [Prerequisites](#prerequisites)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ServerConfig } from '../config/ServerConfig';
|
|
2
|
-
import type { AgentDefinition } from '../types/AgentDefinition';
|
|
1
|
+
import type { ServerConfig } from '../config/ServerConfig.js';
|
|
2
|
+
import type { AgentDefinition } from '../types/AgentDefinition.js';
|
|
3
3
|
/**
|
|
4
4
|
* AgentManager class for discovering, loading, parsing, and caching agent definitions.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../src/agents/AgentManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../src/agents/AgentManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAGlE;;;;;;GAMG;AACH,qBAAa,YAAY;IAGX,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAAQ;gBAEF,MAAM,EAAE,YAAY;IAIxC;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAqClE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAK9C;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;OAKG;YACW,uBAAuB;IAsDrC;;;;;OAKG;YACW,iBAAiB;IAwC/B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAiB3B"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AgentManager = void 0;
|
|
7
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
-
const Logger_1 = require("../utils/Logger");
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { Logger as LoggerClass } from '../utils/Logger.js';
|
|
10
4
|
/**
|
|
11
5
|
* AgentManager class for discovering, loading, parsing, and caching agent definitions.
|
|
12
6
|
*
|
|
@@ -14,10 +8,12 @@ const Logger_1 = require("../utils/Logger");
|
|
|
14
8
|
* parsing of Claude Code sub-agent format, and efficient caching with
|
|
15
9
|
* file change detection.
|
|
16
10
|
*/
|
|
17
|
-
class AgentManager {
|
|
11
|
+
export class AgentManager {
|
|
12
|
+
config;
|
|
13
|
+
logger;
|
|
18
14
|
constructor(config) {
|
|
19
15
|
this.config = config;
|
|
20
|
-
this.logger = new
|
|
16
|
+
this.logger = new LoggerClass(config.logLevel);
|
|
21
17
|
}
|
|
22
18
|
/**
|
|
23
19
|
* Retrieves a specific agent definition by name.
|
|
@@ -82,9 +78,9 @@ class AgentManager {
|
|
|
82
78
|
*/
|
|
83
79
|
async loadAgentsFromDirectory() {
|
|
84
80
|
try {
|
|
85
|
-
const agentsDir =
|
|
81
|
+
const agentsDir = path.resolve(this.config.agentsDir);
|
|
86
82
|
this.logger.info('Starting agent discovery', { directory: agentsDir });
|
|
87
|
-
const files = await
|
|
83
|
+
const files = await fs.promises.readdir(agentsDir);
|
|
88
84
|
const agentFiles = files.filter((file) => file.endsWith('.md') || file.endsWith('.txt'));
|
|
89
85
|
this.logger.info('Agent definition files discovered', {
|
|
90
86
|
totalFiles: files.length,
|
|
@@ -93,7 +89,7 @@ class AgentManager {
|
|
|
93
89
|
});
|
|
94
90
|
const agents = new Map();
|
|
95
91
|
for (const file of agentFiles) {
|
|
96
|
-
const filePath =
|
|
92
|
+
const filePath = path.join(agentsDir, file);
|
|
97
93
|
try {
|
|
98
94
|
const agent = await this.loadAgentFromFile(filePath);
|
|
99
95
|
if (agent) {
|
|
@@ -129,10 +125,10 @@ class AgentManager {
|
|
|
129
125
|
async loadAgentFromFile(filePath) {
|
|
130
126
|
try {
|
|
131
127
|
this.logger.debug('Loading agent definition from file', { filePath });
|
|
132
|
-
const content = await
|
|
133
|
-
const stats = await
|
|
128
|
+
const content = await fs.promises.readFile(filePath, 'utf-8');
|
|
129
|
+
const stats = await fs.promises.stat(filePath);
|
|
134
130
|
// Extract agent name from filename (without extension)
|
|
135
|
-
const fileName =
|
|
131
|
+
const fileName = path.basename(filePath);
|
|
136
132
|
const agentName = fileName.replace(/\.(md|txt)$/, '');
|
|
137
133
|
// Parse description from content (first line or first heading)
|
|
138
134
|
const description = this.extractDescription(content);
|
|
@@ -178,5 +174,4 @@ class AgentManager {
|
|
|
178
174
|
return 'Agent definition';
|
|
179
175
|
}
|
|
180
176
|
}
|
|
181
|
-
exports.AgentManager = AgentManager;
|
|
182
177
|
//# sourceMappingURL=AgentManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/agents/AgentManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/agents/AgentManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,8 @@ export declare class ServerConfig {
|
|
|
36
36
|
readonly sessionRetentionDays: number;
|
|
37
37
|
/** Path to CLI settings file/directory for agent execution */
|
|
38
38
|
readonly agentsSettingsPath: string | undefined;
|
|
39
|
+
/** API key for cursor-agent authentication (from CURSOR_API_KEY or CLI_API_KEY env var) */
|
|
40
|
+
readonly cursorApiKey: string | undefined;
|
|
39
41
|
/**
|
|
40
42
|
* Creates a new ServerConfig instance by loading values from environment variables
|
|
41
43
|
* or using default values.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerConfig.d.ts","sourceRoot":"","sources":["../../src/config/ServerConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB,uDAAuD;IACvD,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,6CAA6C;IAC7C,SAAgB,aAAa,EAAE,MAAM,CAAA;IAErC,gEAAgE;IAChE,SAAgB,SAAS,EAAE,MAAM,CAAA;IAEjC,yCAAyC;IACzC,SAAgB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IAEnE,sCAAsC;IACtC,SAAgB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAE7D,oEAAoE;IACpE,SAAgB,kBAAkB,EAAE,MAAM,CAAA;IAE1C,8CAA8C;IAC9C,SAAgB,cAAc,EAAE,OAAO,CAAA;IAEvC,0CAA0C;IAC1C,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,4DAA4D;IAC5D,SAAgB,oBAAoB,EAAE,MAAM,CAAA;IAE5C,8DAA8D;IAC9D,SAAgB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IAEtD;;;;OAIG;;
|
|
1
|
+
{"version":3,"file":"ServerConfig.d.ts","sourceRoot":"","sources":["../../src/config/ServerConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB,uDAAuD;IACvD,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,6CAA6C;IAC7C,SAAgB,aAAa,EAAE,MAAM,CAAA;IAErC,gEAAgE;IAChE,SAAgB,SAAS,EAAE,MAAM,CAAA;IAEjC,yCAAyC;IACzC,SAAgB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IAEnE,sCAAsC;IACtC,SAAgB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAE7D,oEAAoE;IACpE,SAAgB,kBAAkB,EAAE,MAAM,CAAA;IAE1C,8CAA8C;IAC9C,SAAgB,cAAc,EAAE,OAAO,CAAA;IAEvC,0CAA0C;IAC1C,SAAgB,UAAU,EAAE,MAAM,CAAA;IAElC,4DAA4D;IAC5D,SAAgB,oBAAoB,EAAE,MAAM,CAAA;IAE5C,8DAA8D;IAC9D,SAAgB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IAEtD,2FAA2F;IAC3F,SAAgB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAEhD;;;;OAIG;;CA6DJ"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ServerConfig = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Server configuration management class.
|
|
6
3
|
*
|
|
@@ -18,7 +15,29 @@ exports.ServerConfig = void 0;
|
|
|
18
15
|
* - SESSION_RETENTION_DAYS: Number of days to retain session files (default: 1)
|
|
19
16
|
* - AGENTS_SETTINGS_PATH: Path to CLI settings file/directory (optional)
|
|
20
17
|
*/
|
|
21
|
-
class ServerConfig {
|
|
18
|
+
export class ServerConfig {
|
|
19
|
+
/** Server name identifier used for MCP registration */
|
|
20
|
+
serverName;
|
|
21
|
+
/** Server version used for identification */
|
|
22
|
+
serverVersion;
|
|
23
|
+
/** Directory path containing agent definition markdown files */
|
|
24
|
+
agentsDir;
|
|
25
|
+
/** Type of agent to use for execution */
|
|
26
|
+
agentType;
|
|
27
|
+
/** Log level for server operations */
|
|
28
|
+
logLevel;
|
|
29
|
+
/** Maximum execution timeout in milliseconds for agent execution */
|
|
30
|
+
executionTimeoutMs;
|
|
31
|
+
/** Enable session management functionality */
|
|
32
|
+
sessionEnabled;
|
|
33
|
+
/** Directory for storing session files */
|
|
34
|
+
sessionDir;
|
|
35
|
+
/** Number of days to retain session files before cleanup */
|
|
36
|
+
sessionRetentionDays;
|
|
37
|
+
/** Path to CLI settings file/directory for agent execution */
|
|
38
|
+
agentsSettingsPath;
|
|
39
|
+
/** API key for cursor-agent authentication (from CURSOR_API_KEY or CLI_API_KEY env var) */
|
|
40
|
+
cursorApiKey;
|
|
22
41
|
/**
|
|
23
42
|
* Creates a new ServerConfig instance by loading values from environment variables
|
|
24
43
|
* or using default values.
|
|
@@ -74,7 +93,8 @@ class ServerConfig {
|
|
|
74
93
|
// - Codex: set as CODEX_HOME environment variable
|
|
75
94
|
// - Gemini: not supported (upstream limitation)
|
|
76
95
|
this.agentsSettingsPath = process.env['AGENTS_SETTINGS_PATH'] || undefined;
|
|
96
|
+
// Cursor API key: prefer CURSOR_API_KEY, fall back to CLI_API_KEY for backward compatibility
|
|
97
|
+
this.cursorApiKey = process.env['CURSOR_API_KEY'] || process.env['CLI_API_KEY'] || undefined;
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
|
-
exports.ServerConfig = ServerConfig;
|
|
80
100
|
//# sourceMappingURL=ServerConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerConfig.js","sourceRoot":"","sources":["../../src/config/ServerConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServerConfig.js","sourceRoot":"","sources":["../../src/config/ServerConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ExecutionParams } from '../types/ExecutionParams';
|
|
2
|
-
import { Logger } from '../utils/Logger';
|
|
1
|
+
import type { ExecutionParams } from '../types/ExecutionParams.js';
|
|
2
|
+
import { Logger } from '../utils/Logger.js';
|
|
3
3
|
/**
|
|
4
4
|
* Detailed execution result that includes performance metrics and method information.
|
|
5
5
|
* Extends the basic ExecutionResult with additional monitoring capabilities.
|
|
@@ -59,6 +59,11 @@ export interface ExecutionConfig {
|
|
|
59
59
|
* - gemini: not supported (ignored)
|
|
60
60
|
*/
|
|
61
61
|
agentsSettingsPath?: string;
|
|
62
|
+
/**
|
|
63
|
+
* API key for cursor-agent authentication.
|
|
64
|
+
* Passed to cursor-agent via CURSOR_API_KEY environment variable.
|
|
65
|
+
*/
|
|
66
|
+
cursorApiKey?: string;
|
|
62
67
|
}
|
|
63
68
|
export declare const DEFAULT_EXECUTION_TIMEOUT = 300000;
|
|
64
69
|
/**
|
|
@@ -104,6 +109,16 @@ export declare class AgentExecutor {
|
|
|
104
109
|
* ```
|
|
105
110
|
*/
|
|
106
111
|
executeAgent(params: ExecutionParams): Promise<AgentExecutionResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Builds CLI-specific command, args, and environment overrides.
|
|
114
|
+
*
|
|
115
|
+
* - Claude: uses --append-system-prompt to separate agent definition from user prompt
|
|
116
|
+
* - Gemini: uses GEMINI_SYSTEM_MD env var pointing to the agent definition file
|
|
117
|
+
* - Codex/Cursor: concatenates system context and user prompt (no separation)
|
|
118
|
+
*
|
|
119
|
+
* @private
|
|
120
|
+
*/
|
|
121
|
+
private buildCommandArgs;
|
|
107
122
|
/**
|
|
108
123
|
* Executes an agent using child_process.spawn for proper TTY handling.
|
|
109
124
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAG1D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IAEnD;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,yBAAyB,SAAS,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EACnD,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,GACtD,eAAe,CAMjB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAE/B;;;;;OAKG;gBACS,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAMpD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+E1E;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IA2ExB;;;;;;OAMG;YACW,gBAAgB;IAoH9B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const node_child_process_1 = require("node:child_process");
|
|
6
|
-
const Logger_1 = require("../utils/Logger");
|
|
7
|
-
const StreamProcessor_1 = require("./StreamProcessor");
|
|
8
|
-
exports.DEFAULT_EXECUTION_TIMEOUT = 300000; // 5 minutes
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { Logger } from '../utils/Logger.js';
|
|
3
|
+
import { StreamProcessor } from './StreamProcessor.js';
|
|
4
|
+
export const DEFAULT_EXECUTION_TIMEOUT = 300000; // 5 minutes
|
|
9
5
|
/**
|
|
10
6
|
* Creates a complete ExecutionConfig with the provided agent type.
|
|
11
7
|
* @param agentType - The type of agent to use
|
|
12
8
|
* @param overrides - Optional overrides for configuration values
|
|
13
9
|
*/
|
|
14
|
-
function createExecutionConfig(agentType, overrides) {
|
|
10
|
+
export function createExecutionConfig(agentType, overrides) {
|
|
15
11
|
return {
|
|
16
|
-
executionTimeout:
|
|
12
|
+
executionTimeout: DEFAULT_EXECUTION_TIMEOUT,
|
|
17
13
|
...overrides,
|
|
18
14
|
agentType,
|
|
19
15
|
};
|
|
@@ -23,7 +19,9 @@ function createExecutionConfig(agentType, overrides) {
|
|
|
23
19
|
* Uses child_process.spawn for proper TTY handling and stdin/stdout streaming.
|
|
24
20
|
* Includes performance monitoring and timeout management.
|
|
25
21
|
*/
|
|
26
|
-
class AgentExecutor {
|
|
22
|
+
export class AgentExecutor {
|
|
23
|
+
config;
|
|
24
|
+
logger;
|
|
27
25
|
/**
|
|
28
26
|
* Creates a new AgentExecutor instance.
|
|
29
27
|
*
|
|
@@ -33,7 +31,7 @@ class AgentExecutor {
|
|
|
33
31
|
constructor(config, logger) {
|
|
34
32
|
this.config = config;
|
|
35
33
|
// Use provided logger or create new one with LOG_LEVEL env var
|
|
36
|
-
this.logger = logger || new
|
|
34
|
+
this.logger = logger || new Logger(process.env['LOG_LEVEL'] || 'info');
|
|
37
35
|
}
|
|
38
36
|
/**
|
|
39
37
|
* Executes an agent with the specified parameters using spawn strategy.
|
|
@@ -58,7 +56,7 @@ class AgentExecutor {
|
|
|
58
56
|
*/
|
|
59
57
|
async executeAgent(params) {
|
|
60
58
|
// Input validation
|
|
61
|
-
if (!params
|
|
59
|
+
if (!params?.agent || !params.prompt) {
|
|
62
60
|
const error = 'Invalid execution parameters: agent and prompt are required';
|
|
63
61
|
this.logger.error('Agent execution failed during validation', undefined, { error, params });
|
|
64
62
|
throw new Error(error);
|
|
@@ -121,6 +119,79 @@ class AgentExecutor {
|
|
|
121
119
|
};
|
|
122
120
|
}
|
|
123
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Builds CLI-specific command, args, and environment overrides.
|
|
124
|
+
*
|
|
125
|
+
* - Claude: uses --append-system-prompt to separate agent definition from user prompt
|
|
126
|
+
* - Gemini: uses GEMINI_SYSTEM_MD env var pointing to the agent definition file
|
|
127
|
+
* - Codex/Cursor: concatenates system context and user prompt (no separation)
|
|
128
|
+
*
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
buildCommandArgs(params) {
|
|
132
|
+
const envOverrides = {};
|
|
133
|
+
// Apply CLI-specific settings path configuration
|
|
134
|
+
if (this.config.agentsSettingsPath) {
|
|
135
|
+
switch (this.config.agentType) {
|
|
136
|
+
case 'cursor':
|
|
137
|
+
envOverrides['CURSOR_CONFIG_DIR'] = this.config.agentsSettingsPath;
|
|
138
|
+
break;
|
|
139
|
+
case 'codex':
|
|
140
|
+
envOverrides['CODEX_HOME'] = this.config.agentsSettingsPath;
|
|
141
|
+
break;
|
|
142
|
+
// claude: handled via --settings argument below
|
|
143
|
+
// gemini: not supported (upstream limitation)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (this.config.agentType === 'codex') {
|
|
147
|
+
const formattedPrompt = `[System Context]\n${params.agent}\n\n[User Prompt]\n${params.prompt}`;
|
|
148
|
+
return { command: 'codex', args: ['exec', '--json', formattedPrompt], envOverrides };
|
|
149
|
+
}
|
|
150
|
+
// Determine command
|
|
151
|
+
const command = this.config.agentType === 'claude'
|
|
152
|
+
? 'claude'
|
|
153
|
+
: this.config.agentType === 'gemini'
|
|
154
|
+
? 'gemini'
|
|
155
|
+
: 'cursor-agent';
|
|
156
|
+
let args;
|
|
157
|
+
if (this.config.agentType === 'claude') {
|
|
158
|
+
// Claude: separate system prompt via --append-system-prompt
|
|
159
|
+
const cwd = params.cwd || process.cwd();
|
|
160
|
+
const systemPrompt = `cwd: ${cwd}\n\n${params.agent}`;
|
|
161
|
+
args = [
|
|
162
|
+
'--output-format',
|
|
163
|
+
'stream-json',
|
|
164
|
+
'--verbose',
|
|
165
|
+
'--append-system-prompt',
|
|
166
|
+
systemPrompt,
|
|
167
|
+
'-p',
|
|
168
|
+
params.prompt,
|
|
169
|
+
];
|
|
170
|
+
if (this.config.agentsSettingsPath) {
|
|
171
|
+
args.push('--settings', this.config.agentsSettingsPath);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else if (this.config.agentType === 'gemini' && params.agentFilePath) {
|
|
175
|
+
// Gemini: pass agent file as system prompt via env var
|
|
176
|
+
args = ['--output-format', 'stream-json', '-p', params.prompt];
|
|
177
|
+
envOverrides['GEMINI_SYSTEM_MD'] = params.agentFilePath;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
// Cursor or Gemini without agentFilePath: concatenate as before
|
|
181
|
+
const formattedPrompt = `[System Context]\n${params.agent}\n\n[User Prompt]\n${params.prompt}`;
|
|
182
|
+
if (this.config.agentType === 'gemini') {
|
|
183
|
+
args = ['--output-format', 'stream-json', '-p', formattedPrompt];
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
args = ['--output-format', 'json', '-p', formattedPrompt];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Pass API key for cursor-agent via environment variable (not CLI arg, to avoid ps exposure)
|
|
190
|
+
if (this.config.agentType === 'cursor' && this.config.cursorApiKey) {
|
|
191
|
+
envOverrides['CURSOR_API_KEY'] = this.config.cursorApiKey;
|
|
192
|
+
}
|
|
193
|
+
return { command, args, envOverrides };
|
|
194
|
+
}
|
|
124
195
|
/**
|
|
125
196
|
* Executes an agent using child_process.spawn for proper TTY handling.
|
|
126
197
|
*
|
|
@@ -130,73 +201,23 @@ class AgentExecutor {
|
|
|
130
201
|
*/
|
|
131
202
|
async executeWithSpawn(params) {
|
|
132
203
|
return new Promise((resolve) => {
|
|
133
|
-
//
|
|
134
|
-
const
|
|
135
|
-
let command;
|
|
136
|
-
let args;
|
|
137
|
-
if (this.config.agentType === 'codex') {
|
|
138
|
-
// Codex uses different command structure: codex exec --json "prompt"
|
|
139
|
-
command = 'codex';
|
|
140
|
-
args = ['exec', '--json', formattedPrompt];
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
// Cursor, Claude, Gemini use similar interface with -p flag
|
|
144
|
-
// Claude/Gemini: Use stream-json for real-time output (avoids buffering issues)
|
|
145
|
-
// Cursor: Use json (single JSON response)
|
|
146
|
-
if (this.config.agentType === 'claude') {
|
|
147
|
-
// Claude needs --verbose with stream-json for proper line-by-line flushing
|
|
148
|
-
args = ['--output-format', 'stream-json', '--verbose', '-p', formattedPrompt];
|
|
149
|
-
}
|
|
150
|
-
else if (this.config.agentType === 'gemini') {
|
|
151
|
-
args = ['--output-format', 'stream-json', '-p', formattedPrompt];
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
args = ['--output-format', 'json', '-p', formattedPrompt];
|
|
155
|
-
}
|
|
156
|
-
// Determine command based on agent type
|
|
157
|
-
command =
|
|
158
|
-
this.config.agentType === 'claude'
|
|
159
|
-
? 'claude'
|
|
160
|
-
: this.config.agentType === 'gemini'
|
|
161
|
-
? 'gemini'
|
|
162
|
-
: 'cursor-agent';
|
|
163
|
-
// Add API key for cursor-cli if available
|
|
164
|
-
if (this.config.agentType === 'cursor' && process.env['CLI_API_KEY']) {
|
|
165
|
-
args.push('-a', process.env['CLI_API_KEY']);
|
|
166
|
-
}
|
|
167
|
-
// Add --settings for Claude when agentsSettingsPath is configured
|
|
168
|
-
if (this.config.agentType === 'claude' && this.config.agentsSettingsPath) {
|
|
169
|
-
args.push('--settings', this.config.agentsSettingsPath);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
204
|
+
// Build command, args, and env based on agent type with system prompt separation
|
|
205
|
+
const { command, args, envOverrides } = this.buildCommandArgs(params);
|
|
172
206
|
// Build environment variables for spawn
|
|
173
|
-
|
|
174
|
-
const spawnEnv = { ...process.env };
|
|
175
|
-
if (this.config.agentsSettingsPath) {
|
|
176
|
-
switch (this.config.agentType) {
|
|
177
|
-
case 'cursor':
|
|
178
|
-
spawnEnv['CURSOR_CONFIG_DIR'] = this.config.agentsSettingsPath;
|
|
179
|
-
break;
|
|
180
|
-
case 'codex':
|
|
181
|
-
spawnEnv['CODEX_HOME'] = this.config.agentsSettingsPath;
|
|
182
|
-
break;
|
|
183
|
-
// claude: handled via --settings argument above
|
|
184
|
-
// gemini: not supported (upstream limitation)
|
|
185
|
-
}
|
|
186
|
-
}
|
|
207
|
+
const spawnEnv = { ...process.env, ...envOverrides };
|
|
187
208
|
this.logger.debug('Executing with spawn', {
|
|
188
209
|
command,
|
|
189
210
|
cwd: params.cwd || process.cwd(),
|
|
190
211
|
});
|
|
191
212
|
// Spawn process
|
|
192
|
-
const childProcess =
|
|
213
|
+
const childProcess = spawn(command, args, {
|
|
193
214
|
cwd: params.cwd || process.cwd(),
|
|
194
215
|
stdio: ['ignore', 'pipe', 'pipe'], // stdin set to 'ignore' as cursor-agent receives prompt via args
|
|
195
216
|
shell: false,
|
|
196
217
|
env: spawnEnv,
|
|
197
218
|
});
|
|
198
219
|
// Initialize stream processor and buffers
|
|
199
|
-
const streamProcessor = new
|
|
220
|
+
const streamProcessor = new StreamProcessor();
|
|
200
221
|
let stdout = '';
|
|
201
222
|
let stderr = '';
|
|
202
223
|
let stdoutBuffer = '';
|
|
@@ -280,5 +301,4 @@ class AgentExecutor {
|
|
|
280
301
|
return `req_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
281
302
|
}
|
|
282
303
|
}
|
|
283
|
-
exports.AgentExecutor = AgentExecutor;
|
|
284
304
|
//# sourceMappingURL=AgentExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/execution/AgentExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StreamProcessor = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* StreamProcessor - Simplified stream processing for agent output
|
|
6
3
|
*
|
|
@@ -11,15 +8,13 @@ exports.StreamProcessor = void 0;
|
|
|
11
8
|
* - Codex: Uses --json flag with exec subcommand, returns stream of JSON events,
|
|
12
9
|
* agent_message items contain the response, turn.completed signals completion
|
|
13
10
|
*/
|
|
14
|
-
class StreamProcessor {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.codexUsage = null;
|
|
22
|
-
}
|
|
11
|
+
export class StreamProcessor {
|
|
12
|
+
resultJson = null;
|
|
13
|
+
geminiResponseParts = [];
|
|
14
|
+
isGeminiStreamJson = false;
|
|
15
|
+
isCodexFormat = false;
|
|
16
|
+
codexAgentMessages = [];
|
|
17
|
+
codexUsage = null;
|
|
23
18
|
/**
|
|
24
19
|
* Process a single line from the agent output stream.
|
|
25
20
|
* Returns true when a valid result JSON is detected, false otherwise.
|
|
@@ -129,5 +124,4 @@ class StreamProcessor {
|
|
|
129
124
|
return this.resultJson;
|
|
130
125
|
}
|
|
131
126
|
}
|
|
132
|
-
exports.StreamProcessor = StreamProcessor;
|
|
133
127
|
//# sourceMappingURL=StreamProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamProcessor.js","sourceRoot":"","sources":["../../src/execution/StreamProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StreamProcessor.js","sourceRoot":"","sources":["../../src/execution/StreamProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAyCH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
|