overmind-mcp 2.6.1 → 2.8.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/.mcp.json.example +41 -21
- package/README.md +179 -187
- package/bin/README.md +44 -34
- package/bin/install-overmind-windows.bat +56 -12
- package/dist/bin/cli.js +115 -24
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/overmind-client.d.ts +77 -0
- package/dist/bin/overmind-client.d.ts.map +1 -0
- package/dist/bin/overmind-client.js +221 -0
- package/dist/bin/overmind-client.js.map +1 -0
- package/dist/lib/agent_lifecycle.d.ts +91 -0
- package/dist/lib/agent_lifecycle.d.ts.map +1 -0
- package/dist/lib/agent_lifecycle.js +155 -0
- package/dist/lib/agent_lifecycle.js.map +1 -0
- package/dist/lib/config.d.ts +5 -26
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +33 -12
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/envUtils.d.ts +1 -1
- package/dist/lib/envUtils.d.ts.map +1 -1
- package/dist/lib/envUtils.js +11 -4
- package/dist/lib/envUtils.js.map +1 -1
- package/dist/lib/loadEnv.d.ts.map +1 -1
- package/dist/lib/loadEnv.js +9 -4
- package/dist/lib/loadEnv.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +20 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
- package/dist/lib/orchestration/dispatcher.js +10 -1
- package/dist/lib/orchestration/dispatcher.js.map +1 -1
- package/dist/lib/orchestration/swarm.d.ts +1 -0
- package/dist/lib/orchestration/swarm.d.ts.map +1 -1
- package/dist/lib/orchestration/swarm.js +11 -9
- package/dist/lib/orchestration/swarm.js.map +1 -1
- package/dist/lib/processRegistry.d.ts +2 -50
- package/dist/lib/processRegistry.d.ts.map +1 -1
- package/dist/lib/processRegistry.js +191 -286
- package/dist/lib/processRegistry.js.map +1 -1
- package/dist/memory/MemoryFactory.d.ts.map +1 -1
- package/dist/memory/MemoryFactory.js +2 -1
- package/dist/memory/MemoryFactory.js.map +1 -1
- package/dist/memory/PostgresMemoryProvider.d.ts +1 -0
- package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
- package/dist/memory/PostgresMemoryProvider.js +22 -3
- package/dist/memory/PostgresMemoryProvider.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +84 -80
- package/dist/server.js.map +1 -1
- package/dist/services/AgentManager.d.ts +1 -0
- package/dist/services/AgentManager.d.ts.map +1 -1
- package/dist/services/AgentManager.js +27 -1
- package/dist/services/AgentManager.js.map +1 -1
- package/dist/services/ClaudeRunner.d.ts +0 -12
- package/dist/services/ClaudeRunner.d.ts.map +1 -1
- package/dist/services/ClaudeRunner.js +26 -132
- package/dist/services/ClaudeRunner.js.map +1 -1
- package/dist/services/ClineRunner.d.ts.map +1 -1
- package/dist/services/ClineRunner.js +16 -7
- package/dist/services/ClineRunner.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +13 -6
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/services/KiloRunner.d.ts.map +1 -1
- package/dist/services/KiloRunner.js +7 -4
- package/dist/services/KiloRunner.js.map +1 -1
- package/dist/services/NousHermesRunner.d.ts +4 -0
- package/dist/services/NousHermesRunner.d.ts.map +1 -1
- package/dist/services/NousHermesRunner.js +131 -34
- package/dist/services/NousHermesRunner.js.map +1 -1
- package/dist/services/OpenClawRunner.d.ts.map +1 -1
- package/dist/services/OpenClawRunner.js +16 -7
- package/dist/services/OpenClawRunner.js.map +1 -1
- package/dist/services/OpenCodeRunner.d.ts.map +1 -1
- package/dist/services/OpenCodeRunner.js +16 -7
- package/dist/services/OpenCodeRunner.js.map +1 -1
- package/dist/services/PromptManager.d.ts.map +1 -1
- package/dist/services/PromptManager.js +4 -0
- package/dist/services/PromptManager.js.map +1 -1
- package/dist/services/QwenCliRunner.d.ts.map +1 -1
- package/dist/services/QwenCliRunner.js +16 -7
- package/dist/services/QwenCliRunner.js.map +1 -1
- package/dist/tools/agent_control.d.ts +2 -69
- package/dist/tools/agent_control.d.ts.map +1 -1
- package/dist/tools/agent_control.js +191 -275
- package/dist/tools/agent_control.js.map +1 -1
- package/dist/tools/config_example.d.ts +2 -2
- package/dist/tools/config_example.d.ts.map +1 -1
- package/dist/tools/config_example.js +2 -4
- package/dist/tools/config_example.js.map +1 -1
- package/dist/tools/create_agent.d.ts.map +1 -1
- package/dist/tools/create_agent.js +11 -0
- package/dist/tools/create_agent.js.map +1 -1
- package/dist/tools/manage_agents.d.ts.map +1 -1
- package/dist/tools/manage_agents.js +3 -2
- package/dist/tools/manage_agents.js.map +1 -1
- package/dist/tools/memory_store.d.ts +1 -1
- package/dist/tools/run_agent.d.ts +1 -2
- package/dist/tools/run_agent.d.ts.map +1 -1
- package/dist/tools/run_agent.js +1 -13
- package/dist/tools/run_agent.js.map +1 -1
- package/dist/tools/run_agent_cli.d.ts +4 -10
- package/dist/tools/run_agent_cli.d.ts.map +1 -1
- package/dist/tools/run_agent_cli.js +11 -91
- package/dist/tools/run_agent_cli.js.map +1 -1
- package/dist/tools/run_agents_parallel.d.ts +1 -2
- package/dist/tools/run_agents_parallel.d.ts.map +1 -1
- package/dist/tools/run_claude.d.ts +0 -1
- package/dist/tools/run_claude.d.ts.map +1 -1
- package/dist/tools/run_claude.js +1 -9
- package/dist/tools/run_claude.js.map +1 -1
- package/dist/tools/run_hermes.d.ts +1 -0
- package/dist/tools/run_hermes.d.ts.map +1 -1
- package/dist/tools/run_hermes.js +4 -3
- package/dist/tools/run_hermes.js.map +1 -1
- package/docs/agent-http-tutorial.md +527 -0
- package/package.json +114 -112
- package/scripts/postgres-manager.mjs +0 -0
- package/scripts/setup.mjs +0 -0
- package/scripts/uninstall.mjs +0 -0
|
@@ -6,7 +6,7 @@ import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
|
|
|
6
6
|
import { interpolateEnvVars } from '../lib/envUtils.js';
|
|
7
7
|
import { withSpan } from '../lib/telemetry.js';
|
|
8
8
|
import pino from 'pino';
|
|
9
|
-
import { registerProcess, appendOutput, updateProcessStatus, } from '../lib/processRegistry.js';
|
|
9
|
+
import { registerProcess, appendOutput, updateProcessStatus, killProcessTree, } from '../lib/processRegistry.js';
|
|
10
10
|
const logger = pino({ name: 'OpenCodeRunner' });
|
|
11
11
|
export class OpenCodeRunner {
|
|
12
12
|
config;
|
|
@@ -118,19 +118,28 @@ export class OpenCodeRunner {
|
|
|
118
118
|
else
|
|
119
119
|
stderr += d.toString();
|
|
120
120
|
});
|
|
121
|
-
const timeout = setTimeout(() => {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
const timeout = setTimeout(async () => {
|
|
122
|
+
// Use killProcessTree to prevent zombie processes on Windows
|
|
123
|
+
if (child.pid)
|
|
124
|
+
await killProcessTree(child.pid);
|
|
125
|
+
else
|
|
126
|
+
child.kill('SIGTERM');
|
|
127
|
+
hardTimeoutTimer = setTimeout(async () => {
|
|
128
|
+
if (!child.killed) {
|
|
129
|
+
if (child.pid)
|
|
130
|
+
await killProcessTree(child.pid);
|
|
131
|
+
else
|
|
132
|
+
child.kill('SIGKILL');
|
|
133
|
+
}
|
|
126
134
|
}, 5000);
|
|
127
|
-
cleanup()
|
|
135
|
+
// Don't call cleanup() here — let the 'close' handler do it
|
|
128
136
|
if (child.pid)
|
|
129
137
|
void updateProcessStatus(child.pid, 'failed', null, options.configPath);
|
|
130
138
|
resolve({ result: '', error: 'TIMEOUT', rawOutput: stdout });
|
|
131
139
|
}, customTimeoutMs);
|
|
132
140
|
child.on('close', async (code) => {
|
|
133
141
|
clearTimeout(timeout);
|
|
142
|
+
cleanup(); // Moved here: cleanup after process actually exits
|
|
134
143
|
if (child.pid)
|
|
135
144
|
void updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed', code, options.configPath);
|
|
136
145
|
if (code !== 0 && !stdout) {
|
|
@@ -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;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"OpenCodeRunner.js","sourceRoot":"","sources":["../../src/services/OpenCodeRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptManager.d.ts","sourceRoot":"","sources":["../../src/services/PromptManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PromptManager.d.ts","sourceRoot":"","sources":["../../src/services/PromptManager.ts"],"names":[],"mappings":"AAKA,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,aAAa,CAAC,EAAE,MAAM;IAY5B,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAc5C,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB7D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAS7D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
+
import { validateAgentName } from './AgentManager.js';
|
|
4
5
|
export class PromptManager {
|
|
5
6
|
baseDir;
|
|
6
7
|
agentsDir;
|
|
@@ -17,6 +18,7 @@ export class PromptManager {
|
|
|
17
18
|
this.agentsDir = path.join(this.baseDir, 'agents');
|
|
18
19
|
}
|
|
19
20
|
async createPrompt(name, content) {
|
|
21
|
+
validateAgentName(name);
|
|
20
22
|
await fs.mkdir(this.agentsDir, { recursive: true });
|
|
21
23
|
const filePath = path.join(this.agentsDir, `${name}.md`);
|
|
22
24
|
const existed = await fs
|
|
@@ -27,6 +29,7 @@ export class PromptManager {
|
|
|
27
29
|
return { filePath, existed };
|
|
28
30
|
}
|
|
29
31
|
async editPrompt(name, search, replace) {
|
|
32
|
+
validateAgentName(name);
|
|
30
33
|
const filePath = path.join(this.agentsDir, `${name}.md`);
|
|
31
34
|
try {
|
|
32
35
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
@@ -42,6 +45,7 @@ export class PromptManager {
|
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
47
|
async getPromptContent(name) {
|
|
48
|
+
validateAgentName(name);
|
|
45
49
|
const filePath = path.join(this.agentsDir, `${name}.md`);
|
|
46
50
|
try {
|
|
47
51
|
return await fs.readFile(filePath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptManager.js","sourceRoot":"","sources":["../../src/services/PromptManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"PromptManager.js","sourceRoot":"","sources":["../../src/services/PromptManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QwenCliRunner.d.ts","sourceRoot":"","sources":["../../src/services/QwenCliRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QwenCliRunner.d.ts","sourceRoot":"","sources":["../../src/services/QwenCliRunner.ts"],"names":[],"mappings":"AAiBA,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;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAoB;;IAOnC,OAAO,CAAC,gBAAgB;IAclB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAgBnD,gBAAgB;CA6H/B"}
|
|
@@ -6,7 +6,7 @@ import { getLastSessionId, saveSessionId } from '../lib/sessions.js';
|
|
|
6
6
|
import { interpolateEnvVars } from '../lib/envUtils.js';
|
|
7
7
|
import { withSpan } from '../lib/telemetry.js';
|
|
8
8
|
import pino from 'pino';
|
|
9
|
-
import { registerProcess, appendOutput, updateProcessStatus, } from '../lib/processRegistry.js';
|
|
9
|
+
import { registerProcess, appendOutput, updateProcessStatus, killProcessTree, } from '../lib/processRegistry.js';
|
|
10
10
|
const logger = pino({ name: 'QwenCliRunner' });
|
|
11
11
|
export class QwenCLIRunner {
|
|
12
12
|
config;
|
|
@@ -117,19 +117,28 @@ export class QwenCLIRunner {
|
|
|
117
117
|
else
|
|
118
118
|
stderr += d.toString();
|
|
119
119
|
});
|
|
120
|
-
const timeout = setTimeout(() => {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
const timeout = setTimeout(async () => {
|
|
121
|
+
// Use killProcessTree to prevent zombie processes on Windows
|
|
122
|
+
if (child.pid)
|
|
123
|
+
await killProcessTree(child.pid);
|
|
124
|
+
else
|
|
125
|
+
child.kill('SIGTERM');
|
|
126
|
+
hardTimeoutTimer = setTimeout(async () => {
|
|
127
|
+
if (!child.killed) {
|
|
128
|
+
if (child.pid)
|
|
129
|
+
await killProcessTree(child.pid);
|
|
130
|
+
else
|
|
131
|
+
child.kill('SIGKILL');
|
|
132
|
+
}
|
|
125
133
|
}, 5000);
|
|
126
|
-
cleanup()
|
|
134
|
+
// Don't call cleanup() here — let the 'close' handler do it
|
|
127
135
|
if (child.pid)
|
|
128
136
|
void updateProcessStatus(child.pid, 'failed', null, options.configPath);
|
|
129
137
|
resolve({ result: '', error: 'TIMEOUT', rawOutput: stdout });
|
|
130
138
|
}, customTimeoutMs);
|
|
131
139
|
child.on('close', async (code) => {
|
|
132
140
|
clearTimeout(timeout);
|
|
141
|
+
cleanup(); // Moved here: cleanup after process actually exits
|
|
133
142
|
if (child.pid)
|
|
134
143
|
void updateProcessStatus(child.pid, code === 0 ? 'done' : 'failed', code, options.configPath);
|
|
135
144
|
if (code !== 0 && !stdout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QwenCliRunner.js","sourceRoot":"","sources":["../../src/services/QwenCliRunner.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;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"QwenCliRunner.js","sourceRoot":"","sources":["../../src/services/QwenCliRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,71 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* agent_control — Outil MCP unifié pour contrôler le cycle de vie des agents OverMind
|
|
4
|
-
* ================================================================================
|
|
5
|
-
*
|
|
6
|
-
* Cet outil remplace les 4 outils individuels précédents :
|
|
7
|
-
* - get_agent_status → action: "status"
|
|
8
|
-
* - stream_agent_output → action: "stream"
|
|
9
|
-
* - kill_agent → action: "kill"
|
|
10
|
-
* - wait_agent → action: "wait"
|
|
11
|
-
*
|
|
12
|
-
* L'UNIFICATION est intentionnelle :
|
|
13
|
-
* - Un seul appel MCP pour la toolbox du client (pas 4 imports)
|
|
14
|
-
* - Cohérence des paramètres (agentName, runner, config communs)
|
|
15
|
-
* - Comportement déterministe : chaque action a une sémantique claire
|
|
16
|
-
* - Debugging simplifié : une seule source de vérité
|
|
17
|
-
*
|
|
18
|
-
* ─── SÉMANTIQUE DES ACTIONS ──────────────────────────────────────────────────
|
|
19
|
-
*
|
|
20
|
-
* status ─── Lecture pure, zero side-effect
|
|
21
|
-
* → Retourne l'état courant du process (pid, status, sessionId, outputBuffer)
|
|
22
|
-
* → NE MODIFIE PAS le registry (pas de mise à jour de timestamps artificiels)
|
|
23
|
-
* → Use-case : dashboard, polling léger, diagnostic
|
|
24
|
-
*
|
|
25
|
-
* stream ─── Lecture + indicateur de complétude
|
|
26
|
-
* → Retourne outputBuffer ET un flag isComplete
|
|
27
|
-
* → Use-case : récupérer la sortie en temps réel sans savoir si c'est fini
|
|
28
|
-
* → Option sinceTimestamp pour ne récupérer que le增量 (si implémenté)
|
|
29
|
-
*
|
|
30
|
-
* kill ─── Action destructive, irréversible
|
|
31
|
-
* → Tue le process tree via taskkill /F /T (Windows) ou kill -9 (Unix)
|
|
32
|
-
* → Met à jour le status → 'failed' dans le registry
|
|
33
|
-
* → Use-case : abort d'urgence, kill-switch
|
|
34
|
-
*
|
|
35
|
-
* wait ─── Blocage async avec polling
|
|
36
|
-
* → Poll toutes les 1s jusqu'à status !== 'running' ou timeout
|
|
37
|
-
* → Retourne le résultat final (outputBuffer ou erreur)
|
|
38
|
-
* → Use-case : synchronisation dans un workflow d'orchestration
|
|
39
|
-
*
|
|
40
|
-
* ─── ÉTATS DU PROCESS ─────────────────────────────────────────────────────────
|
|
41
|
-
*
|
|
42
|
-
* running → Process actif, PID valide, output en cours d'accumulation
|
|
43
|
-
* done → Process terminé avec code 0, outputBuffer gelé
|
|
44
|
-
* failed → Process terminé avec erreur (exit code != 0 ou crash)
|
|
45
|
-
* orphaned → Parent mort mais child tourne encore (detecté via isPidAlive)
|
|
46
|
-
*
|
|
47
|
-
* ─── ERREURS COMMUNES ─────────────────────────────────────────────────────────
|
|
48
|
-
*
|
|
49
|
-
* AGENT_NOT_FOUND → Agent absent du registry (jamais lancé ou déjà nettoyé)
|
|
50
|
-
* AGENT_NOT_RUNNING → Action "kill" sur un agent déjà terminé
|
|
51
|
-
* KILL_FAILED → taskkill/kill a échoué (pas assez de permissions, etc.)
|
|
52
|
-
* WAIT_TIMEOUT → Action "wait" a atteint le timeout sans terminaison
|
|
53
|
-
* ORPHANED_PROCESS → Status 'orphaned' détecté (process zombie)
|
|
54
|
-
*
|
|
55
|
-
* ─── EXEMPLES ─────────────────────────────────────────────────────────────────
|
|
56
|
-
*
|
|
57
|
-
* // Vérifier si un agent tourne encore
|
|
58
|
-
* agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "status" })
|
|
59
|
-
*
|
|
60
|
-
* // Récupérer la sortie sans bloquer
|
|
61
|
-
* agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "stream" })
|
|
62
|
-
*
|
|
63
|
-
* // Forcer l'arrêt d'un agent
|
|
64
|
-
* agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "kill" })
|
|
65
|
-
*
|
|
66
|
-
* // Attendre la fin d'un agent (max 5 min)
|
|
67
|
-
* agent_control({ agentName: "sniper_analyst", runner: "kilo", action: "wait", timeoutMs: 300000 })
|
|
68
|
-
*/
|
|
69
2
|
export declare const agentControlSchema: z.ZodObject<{
|
|
70
3
|
agentName: z.ZodString;
|
|
71
4
|
runner: z.ZodOptional<z.ZodEnum<{
|
|
@@ -80,14 +13,14 @@ export declare const agentControlSchema: z.ZodObject<{
|
|
|
80
13
|
}>>;
|
|
81
14
|
config: z.ZodOptional<z.ZodString>;
|
|
82
15
|
action: z.ZodEnum<{
|
|
83
|
-
status: "status";
|
|
84
16
|
kill: "kill";
|
|
17
|
+
status: "status";
|
|
85
18
|
stream: "stream";
|
|
86
19
|
wait: "wait";
|
|
87
20
|
}>;
|
|
88
21
|
timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
89
22
|
sinceTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
90
|
-
}, z.core.$
|
|
23
|
+
}, z.core.$strip>;
|
|
91
24
|
export type AgentControlArgs = z.infer<typeof agentControlSchema>;
|
|
92
25
|
interface ControlResult {
|
|
93
26
|
content: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_control.d.ts","sourceRoot":"","sources":["../../src/tools/agent_control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"agent_control.d.ts","sourceRoot":"","sources":["../../src/tools/agent_control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAyB3B,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAElE,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuRD,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CASjF"}
|