overmind-mcp 1.4.7 → 1.5.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 +10 -9
- package/dist/lib/InstallHelper.d.ts +14 -0
- package/dist/lib/InstallHelper.d.ts.map +1 -0
- package/dist/lib/InstallHelper.js +112 -0
- package/dist/lib/InstallHelper.js.map +1 -0
- package/dist/lib/config.d.ts +12 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +9 -26
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/loadEnv.d.ts +2 -0
- package/dist/lib/loadEnv.d.ts.map +1 -0
- package/dist/lib/loadEnv.js +26 -0
- package/dist/lib/loadEnv.js.map +1 -0
- package/dist/lib/sessions.d.ts +3 -2
- package/dist/lib/sessions.d.ts.map +1 -1
- package/dist/lib/sessions.js +20 -6
- package/dist/lib/sessions.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -10
- package/dist/server.js.map +1 -1
- package/dist/services/AgentManager.js +3 -3
- package/dist/services/AgentManager.js.map +1 -1
- package/dist/services/ClaudeRunner.d.ts +1 -0
- package/dist/services/ClaudeRunner.d.ts.map +1 -1
- package/dist/services/ClaudeRunner.js +55 -28
- package/dist/services/ClaudeRunner.js.map +1 -1
- package/dist/services/ClineRunner.d.ts +1 -0
- package/dist/services/ClineRunner.d.ts.map +1 -1
- package/dist/services/ClineRunner.js +2 -2
- package/dist/services/ClineRunner.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts +1 -0
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +39 -12
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/services/KiloRunner.d.ts +1 -0
- package/dist/services/KiloRunner.d.ts.map +1 -1
- package/dist/services/KiloRunner.js +22 -38
- package/dist/services/KiloRunner.js.map +1 -1
- package/dist/services/NousHermesRunner.d.ts +22 -0
- package/dist/services/NousHermesRunner.d.ts.map +1 -0
- package/dist/services/NousHermesRunner.js +129 -0
- package/dist/services/NousHermesRunner.js.map +1 -0
- package/dist/services/OpenClawRunner.d.ts +1 -0
- package/dist/services/OpenClawRunner.d.ts.map +1 -1
- package/dist/services/OpenClawRunner.js +3 -3
- package/dist/services/OpenClawRunner.js.map +1 -1
- package/dist/services/OpenCodeRunner.d.ts +1 -0
- package/dist/services/OpenCodeRunner.d.ts.map +1 -1
- package/dist/services/OpenCodeRunner.js +3 -3
- package/dist/services/OpenCodeRunner.js.map +1 -1
- package/dist/services/QwenCliRunner.d.ts +22 -0
- package/dist/services/QwenCliRunner.d.ts.map +1 -0
- package/dist/services/QwenCliRunner.js +87 -0
- package/dist/services/QwenCliRunner.js.map +1 -0
- package/dist/tools/config_example.d.ts +3 -3
- package/dist/tools/config_example.d.ts.map +1 -1
- package/dist/tools/config_example.js +144 -144
- package/dist/tools/config_example.js.map +1 -1
- package/dist/tools/create_agent.d.ts +12 -6
- package/dist/tools/create_agent.d.ts.map +1 -1
- package/dist/tools/create_agent.js +8 -9
- package/dist/tools/create_agent.js.map +1 -1
- package/dist/tools/get_agent_configs.d.ts +10 -4
- package/dist/tools/get_agent_configs.d.ts.map +1 -1
- package/dist/tools/get_agent_configs.js.map +1 -1
- package/dist/tools/manage_agents.d.ts +32 -14
- package/dist/tools/manage_agents.d.ts.map +1 -1
- package/dist/tools/manage_agents.js +2 -2
- package/dist/tools/manage_agents.js.map +1 -1
- package/dist/tools/manage_prompts.d.ts +13 -8
- package/dist/tools/manage_prompts.d.ts.map +1 -1
- package/dist/tools/manage_prompts.js.map +1 -1
- package/dist/tools/memory_runs.d.ts +3 -4
- package/dist/tools/memory_runs.d.ts.map +1 -1
- package/dist/tools/memory_runs.js.map +1 -1
- package/dist/tools/memory_search.d.ts +3 -4
- package/dist/tools/memory_search.d.ts.map +1 -1
- package/dist/tools/memory_search.js.map +1 -1
- package/dist/tools/memory_store.d.ts +10 -4
- package/dist/tools/memory_store.d.ts.map +1 -1
- package/dist/tools/memory_store.js.map +1 -1
- package/dist/tools/run_agent.d.ts +10 -3
- package/dist/tools/run_agent.d.ts.map +1 -1
- package/dist/tools/run_agent.js +50 -198
- package/dist/tools/run_agent.js.map +1 -1
- package/dist/tools/run_agent_cli.d.ts +1 -1
- package/dist/tools/run_agent_cli.d.ts.map +1 -1
- package/dist/tools/run_agent_cli.js +23 -3
- package/dist/tools/run_agent_cli.js.map +1 -1
- package/dist/tools/run_claude.d.ts +6 -2
- package/dist/tools/run_claude.d.ts.map +1 -1
- package/dist/tools/run_claude.js +47 -34
- package/dist/tools/run_claude.js.map +1 -1
- package/dist/tools/run_cline.d.ts +15 -4
- package/dist/tools/run_cline.d.ts.map +1 -1
- package/dist/tools/run_cline.js +23 -53
- package/dist/tools/run_cline.js.map +1 -1
- package/dist/tools/run_gemini.d.ts +15 -6
- package/dist/tools/run_gemini.d.ts.map +1 -1
- package/dist/tools/run_gemini.js +23 -45
- package/dist/tools/run_gemini.js.map +1 -1
- package/dist/tools/run_hermes.d.ts +27 -0
- package/dist/tools/run_hermes.d.ts.map +1 -0
- package/dist/tools/run_hermes.js +35 -0
- package/dist/tools/run_hermes.js.map +1 -0
- package/dist/tools/run_kilo.d.ts +13 -4
- package/dist/tools/run_kilo.d.ts.map +1 -1
- package/dist/tools/run_kilo.js +22 -75
- package/dist/tools/run_kilo.js.map +1 -1
- package/dist/tools/run_nexus_agent.d.ts +11 -1
- package/dist/tools/run_nexus_agent.d.ts.map +1 -1
- package/dist/tools/run_nexus_agent.js +46 -12
- package/dist/tools/run_nexus_agent.js.map +1 -1
- package/dist/tools/run_nexus_sentinel.d.ts +12 -0
- package/dist/tools/run_nexus_sentinel.d.ts.map +1 -0
- package/dist/tools/run_nexus_sentinel.js +98 -0
- package/dist/tools/run_nexus_sentinel.js.map +1 -0
- package/dist/tools/run_openclaw.d.ts +15 -4
- package/dist/tools/run_openclaw.d.ts.map +1 -1
- package/dist/tools/run_openclaw.js +22 -54
- package/dist/tools/run_openclaw.js.map +1 -1
- package/dist/tools/run_opencode.d.ts +15 -4
- package/dist/tools/run_opencode.d.ts.map +1 -1
- package/dist/tools/run_opencode.js +22 -49
- package/dist/tools/run_opencode.js.map +1 -1
- package/dist/tools/run_qwencli.d.ts +26 -0
- package/dist/tools/run_qwencli.d.ts.map +1 -0
- package/dist/tools/run_qwencli.js +27 -0
- package/dist/tools/run_qwencli.js.map +1 -0
- package/package.json +2 -2
- package/dist/bin/logs/postgresql-mcp-2026-04-19.log +0 -4
- package/dist/orchestration/WorkflowEngine.d.ts +0 -2
- package/dist/orchestration/WorkflowEngine.d.ts.map +0 -1
- package/dist/orchestration/WorkflowEngine.js +0 -2
- package/dist/orchestration/WorkflowEngine.js.map +0 -1
- package/dist/orchestration/demo.d.ts +0 -2
- package/dist/orchestration/demo.d.ts.map +0 -1
- package/dist/orchestration/demo.js +0 -2
- package/dist/orchestration/demo.js.map +0 -1
- package/dist/orchestration/types.d.ts +0 -2
- package/dist/orchestration/types.d.ts.map +0 -1
- package/dist/orchestration/types.js +0 -2
- package/dist/orchestration/types.js.map +0 -1
- package/dist/tools/orchestrate_workflow.d.ts +0 -2
- package/dist/tools/orchestrate_workflow.d.ts.map +0 -1
- package/dist/tools/orchestrate_workflow.js +0 -2
- package/dist/tools/orchestrate_workflow.js.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface RunAgentOptions {
|
|
2
|
+
prompt: string;
|
|
3
|
+
agentName?: string;
|
|
4
|
+
sessionId?: string;
|
|
5
|
+
autoResume?: boolean;
|
|
6
|
+
cwd?: string;
|
|
7
|
+
configPath?: string;
|
|
8
|
+
silent?: boolean;
|
|
9
|
+
model?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RunAgentResult {
|
|
12
|
+
result: string;
|
|
13
|
+
sessionId?: string;
|
|
14
|
+
error?: string;
|
|
15
|
+
rawOutput?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class NousHermesRunner {
|
|
18
|
+
private timeoutMs;
|
|
19
|
+
constructor();
|
|
20
|
+
runAgent(options: RunAgentOptions): Promise<RunAgentResult>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=NousHermesRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NousHermesRunner.d.ts","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;;IAMpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA2IlE"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { spawn } from 'child_process';
|
|
4
|
+
import { CONFIG, resolveConfigPath } from '../lib/config.js';
|
|
5
|
+
import { getLastSessionId } from '../lib/sessions.js';
|
|
6
|
+
export class NousHermesRunner {
|
|
7
|
+
timeoutMs;
|
|
8
|
+
constructor() {
|
|
9
|
+
this.timeoutMs = CONFIG.TIMEOUT_MS || 900000; // 15 min default
|
|
10
|
+
}
|
|
11
|
+
async runAgent(options) {
|
|
12
|
+
const { prompt, agentName, autoResume, silent } = options;
|
|
13
|
+
let { sessionId } = options;
|
|
14
|
+
// --- Auto Resume ---
|
|
15
|
+
if (autoResume && agentName && !sessionId) {
|
|
16
|
+
const lastId = await getLastSessionId(agentName, options.configPath);
|
|
17
|
+
if (lastId) {
|
|
18
|
+
sessionId = lastId;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const agentCustomEnv = {
|
|
22
|
+
...process.env,
|
|
23
|
+
PYTHONIOENCODING: 'utf-8',
|
|
24
|
+
PYTHONUTF8: '1',
|
|
25
|
+
PYTHONUNBUFFERED: '1',
|
|
26
|
+
PYTHONLEGACYWINDOWSSTDIO: '1',
|
|
27
|
+
TERM: 'emacs',
|
|
28
|
+
PROMPT_TOOLKIT_NO_INTERACTIVE: '1',
|
|
29
|
+
// Force non-interactive for prompt_toolkit
|
|
30
|
+
ANSICON: '1',
|
|
31
|
+
// Map OpenRouter key if needed
|
|
32
|
+
OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || process.env.OVERMIND_EMBEDDING_KEY,
|
|
33
|
+
...(agentName ? { OVERMIND_AGENT_NAME: agentName } : {}),
|
|
34
|
+
};
|
|
35
|
+
// --- Isolation / Settings ---
|
|
36
|
+
// Note: Hermes uses its own config system, but we can pass env vars if needed.
|
|
37
|
+
if (agentName) {
|
|
38
|
+
try {
|
|
39
|
+
const settingsDir = path.dirname(CONFIG.CLAUDE.PATHS.SETTINGS);
|
|
40
|
+
const agentSettingsPath = resolveConfigPath(path.join(settingsDir, `settings_${agentName}.json`), options.configPath);
|
|
41
|
+
if (fs.existsSync(agentSettingsPath)) {
|
|
42
|
+
const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
|
|
43
|
+
if (settings.env) {
|
|
44
|
+
Object.assign(agentCustomEnv, settings.env);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (_e) {
|
|
49
|
+
// Silent failing
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// --- CLI Arguments ---
|
|
53
|
+
// Based on research: hermes chat -q "prompt"
|
|
54
|
+
// We'll try to find a way to pass session if possible, otherwise we rely on internal hermes history.
|
|
55
|
+
const argsSpawn = ['chat', '-q', `"${prompt.replace(/"/g, '\\"')}"`, '--ignore-user-config', '--source', 'tool'];
|
|
56
|
+
if (options.model) {
|
|
57
|
+
argsSpawn.push('--model', options.model);
|
|
58
|
+
}
|
|
59
|
+
// Note: If hermes supports --session or --resume in CLI, we should add it here.
|
|
60
|
+
// For now, we'll assume -q is the standard for single-shot.
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const isWin = process.platform === 'win32';
|
|
63
|
+
// Use the absolute path discovered earlier for reliability on Windows
|
|
64
|
+
const command = isWin
|
|
65
|
+
? 'C:\\Users\\Deamon\\AppData\\Local\\Programs\\Python\\Python312\\Scripts\\hermes.exe'
|
|
66
|
+
: 'hermes';
|
|
67
|
+
if (!silent) {
|
|
68
|
+
console.error(`[NousHermesRunner] 🚀 Starting Hermes Agent...`);
|
|
69
|
+
}
|
|
70
|
+
// We remove the manual quotes here because shell: false handles it correctly via the array
|
|
71
|
+
const cleanArgs = ['chat', '-q', prompt, '--ignore-user-config', '--source', 'tool'];
|
|
72
|
+
if (options.model) {
|
|
73
|
+
cleanArgs.push('--model', options.model);
|
|
74
|
+
}
|
|
75
|
+
const child = spawn(command, cleanArgs, {
|
|
76
|
+
cwd: options.cwd || process.cwd(),
|
|
77
|
+
shell: false,
|
|
78
|
+
windowsHide: true, // Désormais sûr grâce au patch de cli.py
|
|
79
|
+
env: agentCustomEnv,
|
|
80
|
+
});
|
|
81
|
+
let stdout = '';
|
|
82
|
+
let stderr = '';
|
|
83
|
+
child.stdout?.on('data', (d) => {
|
|
84
|
+
const chunk = d.toString();
|
|
85
|
+
stdout += chunk;
|
|
86
|
+
if (!silent) {
|
|
87
|
+
process.stderr.write(`[Hermes] ${chunk}`);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
child.stderr?.on('data', (d) => {
|
|
91
|
+
const chunk = d.toString();
|
|
92
|
+
stderr += chunk;
|
|
93
|
+
if (!silent) {
|
|
94
|
+
process.stderr.write(`[Hermes:ERR] ${chunk}`);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
const timeout = setTimeout(() => {
|
|
98
|
+
child.kill();
|
|
99
|
+
resolve({ result: stdout.trim(), error: 'TIMEOUT', rawOutput: stdout });
|
|
100
|
+
}, this.timeoutMs);
|
|
101
|
+
child.on('close', async (code) => {
|
|
102
|
+
clearTimeout(timeout);
|
|
103
|
+
if (code !== 0 && !stdout) {
|
|
104
|
+
return resolve({
|
|
105
|
+
result: '',
|
|
106
|
+
error: `EXIT_CODE_${code}`,
|
|
107
|
+
rawOutput: stderr || stdout
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// --- Session ID extraction ---
|
|
111
|
+
// If hermes outputs a session ID in its output, we should extract it here.
|
|
112
|
+
// For now, we'll return the sessionId we had.
|
|
113
|
+
resolve({
|
|
114
|
+
result: stdout.trim(),
|
|
115
|
+
sessionId: sessionId,
|
|
116
|
+
rawOutput: stdout,
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
child.on('error', (err) => {
|
|
120
|
+
clearTimeout(timeout);
|
|
121
|
+
resolve({ result: '', error: err.message, rawOutput: '' });
|
|
122
|
+
});
|
|
123
|
+
if (child.stdin) {
|
|
124
|
+
child.stdin.end();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=NousHermesRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NousHermesRunner.js","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenClawRunner.d.ts","sourceRoot":"","sources":["../../src/services/OpenClawRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenClawRunner.d.ts","sourceRoot":"","sources":["../../src/services/OpenClawRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAsFlE"}
|
|
@@ -16,7 +16,7 @@ export class OpenClawRunner {
|
|
|
16
16
|
const { PATHS } = this.config;
|
|
17
17
|
// --- Auto Resume ---
|
|
18
18
|
if (autoResume && agentName && !sessionId) {
|
|
19
|
-
const lastId = await getLastSessionId(agentName);
|
|
19
|
+
const lastId = await getLastSessionId(agentName, options.configPath);
|
|
20
20
|
if (lastId) {
|
|
21
21
|
sessionId = lastId;
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@ export class OpenClawRunner {
|
|
|
25
25
|
// --- Isolation ---
|
|
26
26
|
if (agentName) {
|
|
27
27
|
try {
|
|
28
|
-
const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`));
|
|
28
|
+
const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`), options.configPath);
|
|
29
29
|
if (fs.existsSync(agentSettingsPath)) {
|
|
30
30
|
const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
|
|
31
31
|
if (settings.env && settings.env.AGENT_TIMEOUT_MS) {
|
|
@@ -67,7 +67,7 @@ export class OpenClawRunner {
|
|
|
67
67
|
return resolve({ result: '', error: `EXIT_CODE_${code}`, rawOutput: stderr });
|
|
68
68
|
}
|
|
69
69
|
if (agentName && sessionId) {
|
|
70
|
-
await saveSessionId(agentName, sessionId);
|
|
70
|
+
await saveSessionId(agentName, sessionId, options.configPath);
|
|
71
71
|
}
|
|
72
72
|
resolve({
|
|
73
73
|
result: stdout.trim(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenClawRunner.js","sourceRoot":"","sources":["../../src/services/OpenClawRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenClawRunner.js","sourceRoot":"","sources":["../../src/services/OpenClawRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenCodeRunner.d.ts","sourceRoot":"","sources":["../../src/services/OpenCodeRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenCodeRunner.d.ts","sourceRoot":"","sources":["../../src/services/OpenCodeRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAuFlE"}
|
|
@@ -16,7 +16,7 @@ export class OpenCodeRunner {
|
|
|
16
16
|
const { PATHS } = this.config;
|
|
17
17
|
// --- Auto Resume ---
|
|
18
18
|
if (autoResume && agentName && !sessionId) {
|
|
19
|
-
const lastId = await getLastSessionId(agentName);
|
|
19
|
+
const lastId = await getLastSessionId(agentName, options.configPath);
|
|
20
20
|
if (lastId) {
|
|
21
21
|
sessionId = lastId;
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@ export class OpenCodeRunner {
|
|
|
25
25
|
// --- Isolation ---
|
|
26
26
|
if (agentName) {
|
|
27
27
|
try {
|
|
28
|
-
const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`));
|
|
28
|
+
const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`), options.configPath);
|
|
29
29
|
if (fs.existsSync(agentSettingsPath)) {
|
|
30
30
|
const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
|
|
31
31
|
if (settings.env && settings.env.AGENT_TIMEOUT_MS) {
|
|
@@ -69,7 +69,7 @@ export class OpenCodeRunner {
|
|
|
69
69
|
return resolve({ result: '', error: `EXIT_CODE_${code}`, rawOutput: stderr });
|
|
70
70
|
}
|
|
71
71
|
if (agentName && sessionId) {
|
|
72
|
-
await saveSessionId(agentName, sessionId);
|
|
72
|
+
await saveSessionId(agentName, sessionId, options.configPath);
|
|
73
73
|
}
|
|
74
74
|
resolve({
|
|
75
75
|
result: stdout.trim(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenCodeRunner.js","sourceRoot":"","sources":["../../src/services/OpenCodeRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenCodeRunner.js","sourceRoot":"","sources":["../../src/services/OpenCodeRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface RunAgentOptions {
|
|
2
|
+
prompt: string;
|
|
3
|
+
agentName?: string;
|
|
4
|
+
sessionId?: string;
|
|
5
|
+
autoResume?: boolean;
|
|
6
|
+
cwd?: string;
|
|
7
|
+
configPath?: string;
|
|
8
|
+
silent?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface RunAgentResult {
|
|
11
|
+
result: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
rawOutput?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class QwenCLIRunner {
|
|
17
|
+
private config;
|
|
18
|
+
private timeoutMs;
|
|
19
|
+
constructor();
|
|
20
|
+
runAgent(options: RunAgentOptions): Promise<RunAgentResult>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=QwenCliRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QwenCliRunner.d.ts","sourceRoot":"","sources":["../../src/services/QwenCliRunner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAuFlE"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { spawn } from 'child_process';
|
|
4
|
+
import { CONFIG, resolveConfigPath } from '../lib/config.js';
|
|
5
|
+
import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
|
|
6
|
+
export class QwenCLIRunner {
|
|
7
|
+
config;
|
|
8
|
+
timeoutMs;
|
|
9
|
+
constructor() {
|
|
10
|
+
this.config = CONFIG.CLAUDE;
|
|
11
|
+
this.timeoutMs = CONFIG.TIMEOUT_MS || 30000;
|
|
12
|
+
}
|
|
13
|
+
async runAgent(options) {
|
|
14
|
+
const { prompt, agentName, autoResume } = options;
|
|
15
|
+
let { sessionId } = options;
|
|
16
|
+
const { PATHS } = this.config;
|
|
17
|
+
// --- Auto Resume ---
|
|
18
|
+
if (autoResume && agentName && !sessionId) {
|
|
19
|
+
const lastId = await getLastSessionId(agentName, options.configPath);
|
|
20
|
+
if (lastId) {
|
|
21
|
+
sessionId = lastId;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
let customTimeoutMs = this.timeoutMs;
|
|
25
|
+
// --- Isolation ---
|
|
26
|
+
if (agentName) {
|
|
27
|
+
try {
|
|
28
|
+
const agentSettingsPath = resolveConfigPath(path.join(path.dirname(PATHS.SETTINGS), `settings_${agentName}.json`), options.configPath);
|
|
29
|
+
if (fs.existsSync(agentSettingsPath)) {
|
|
30
|
+
const settings = JSON.parse(fs.readFileSync(agentSettingsPath, 'utf8'));
|
|
31
|
+
if (settings.env && settings.env.AGENT_TIMEOUT_MS) {
|
|
32
|
+
customTimeoutMs = parseInt(settings.env.AGENT_TIMEOUT_MS, 10) || customTimeoutMs;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (_e) {
|
|
37
|
+
// silent
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// qwen-code CLI: `qwen -p "prompt"` (non-interactive mode via stdin)
|
|
41
|
+
const argsSpawn = ['-p', prompt];
|
|
42
|
+
return new Promise((resolve) => {
|
|
43
|
+
const isWin = process.platform === 'win32';
|
|
44
|
+
// `qwen` binary from @qwen-code/qwen-code global install
|
|
45
|
+
const command = isWin ? 'qwen.cmd' : 'qwen';
|
|
46
|
+
const child = spawn(command, argsSpawn, {
|
|
47
|
+
cwd: options.cwd || process.cwd(),
|
|
48
|
+
shell: isWin,
|
|
49
|
+
windowsHide: true,
|
|
50
|
+
env: {
|
|
51
|
+
...process.env,
|
|
52
|
+
...(agentName ? { OVERMIND_AGENT_NAME: agentName } : {}),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
let stdout = '';
|
|
56
|
+
let stderr = '';
|
|
57
|
+
if (child.stdout)
|
|
58
|
+
child.stdout.on('data', (d) => (stdout += d.toString()));
|
|
59
|
+
if (child.stderr)
|
|
60
|
+
child.stderr.on('data', (d) => (stderr += d.toString()));
|
|
61
|
+
const timeout = setTimeout(() => {
|
|
62
|
+
child.kill();
|
|
63
|
+
resolve({ result: '', error: 'TIMEOUT', rawOutput: stdout });
|
|
64
|
+
}, customTimeoutMs);
|
|
65
|
+
child.on('close', async (code) => {
|
|
66
|
+
clearTimeout(timeout);
|
|
67
|
+
if (code !== 0 && !stdout) {
|
|
68
|
+
return resolve({ result: '', error: `EXIT_CODE_${code}`, rawOutput: stderr });
|
|
69
|
+
}
|
|
70
|
+
if (agentName && sessionId) {
|
|
71
|
+
await saveSessionId(agentName, sessionId, options.configPath);
|
|
72
|
+
}
|
|
73
|
+
resolve({
|
|
74
|
+
result: stdout.trim(),
|
|
75
|
+
sessionId,
|
|
76
|
+
rawOutput: stdout,
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
child.on('error', (err) => {
|
|
80
|
+
resolve({ result: '', error: err.message, rawOutput: '' });
|
|
81
|
+
});
|
|
82
|
+
if (child.stdin)
|
|
83
|
+
child.stdin.end();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=QwenCliRunner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QwenCliRunner.js","sourceRoot":"","sources":["../../src/services/QwenCliRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ export declare const configExampleSchema: z.ZodObject<{
|
|
|
7
7
|
}>;
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
export declare function configExample(args: z.infer<typeof configExampleSchema>): Promise<{
|
|
10
|
-
content:
|
|
11
|
-
type:
|
|
10
|
+
content: {
|
|
11
|
+
type: "text";
|
|
12
12
|
text: string;
|
|
13
|
-
}
|
|
13
|
+
}[];
|
|
14
14
|
}>;
|
|
15
15
|
//# sourceMappingURL=config_example.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config_example.d.ts","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;iBAI9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC
|
|
1
|
+
{"version":3,"file":"config_example.d.ts","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;iBAI9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;GAmK5E"}
|