overmind-mcp 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/processRegistry.d.ts +2 -0
- package/dist/lib/processRegistry.d.ts.map +1 -1
- package/dist/lib/processRegistry.js +21 -2
- package/dist/lib/processRegistry.js.map +1 -1
- package/dist/server.d.ts +16 -28
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +62 -69
- package/dist/server.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +4 -1
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/tools/agent_control.d.ts +101 -0
- package/dist/tools/agent_control.d.ts.map +1 -0
- package/dist/tools/agent_control.js +320 -0
- package/dist/tools/agent_control.js.map +1 -0
- package/docs/INDEX.md +11 -6
- package/docs/agent_control.md +656 -0
- package/docs/tools.md +27 -2
- package/package.json +1 -1
- package/dist/tools/get_agent_status.d.ts +0 -29
- package/dist/tools/get_agent_status.d.ts.map +0 -1
- package/dist/tools/get_agent_status.js +0 -45
- package/dist/tools/get_agent_status.js.map +0 -1
- package/dist/tools/kill_agent.d.ts +0 -22
- package/dist/tools/kill_agent.d.ts.map +0 -1
- package/dist/tools/kill_agent.js +0 -33
- package/dist/tools/kill_agent.js.map +0 -1
- package/dist/tools/stream_agent_output.d.ts +0 -30
- package/dist/tools/stream_agent_output.d.ts.map +0 -1
- package/dist/tools/stream_agent_output.js +0 -44
- package/dist/tools/stream_agent_output.js.map +0 -1
- package/dist/tools/wait_agent.d.ts +0 -30
- package/dist/tools/wait_agent.d.ts.map +0 -1
- package/dist/tools/wait_agent.js +0 -68
- package/dist/tools/wait_agent.js.map +0 -1
- package/docs/changelog/CHANGELOG.add.md +0 -106
- package/docs/changelog/CHANGELOG.md +0 -339
- package/docs/docs/OVERMIND_WORKFLOW_GUIDE.md +0 -595
- package/docs/docs/PROJECT_STRUCTURE.md +0 -101
- package/docs/docs/README_POSTGRES_INTEGRATION.md +0 -229
- package/docs/prompt/Claude_code.md +0 -74
- package/docs/prompt/Kilo.md +0 -74
- package/docs/prompt/Kilo_Hermes.md +0 -170
- package/docs/prompt/Minimax4.md +0 -96
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const getAgentStatusSchema: z.ZodObject<{
|
|
3
|
-
agentName: z.ZodString;
|
|
4
|
-
runner: z.ZodOptional<z.ZodEnum<{
|
|
5
|
-
claude: "claude";
|
|
6
|
-
gemini: "gemini";
|
|
7
|
-
kilo: "kilo";
|
|
8
|
-
qwencli: "qwencli";
|
|
9
|
-
hermes: "hermes";
|
|
10
|
-
openclaw: "openclaw";
|
|
11
|
-
cline: "cline";
|
|
12
|
-
opencode: "opencode";
|
|
13
|
-
}>>;
|
|
14
|
-
config: z.ZodOptional<z.ZodString>;
|
|
15
|
-
}, z.core.$strip>;
|
|
16
|
-
export declare function getAgentStatusTool(args: z.infer<typeof getAgentStatusSchema>): Promise<{
|
|
17
|
-
content: {
|
|
18
|
-
type: "text";
|
|
19
|
-
text: string;
|
|
20
|
-
}[];
|
|
21
|
-
isError?: undefined;
|
|
22
|
-
} | {
|
|
23
|
-
content: {
|
|
24
|
-
type: "text";
|
|
25
|
-
text: string;
|
|
26
|
-
}[];
|
|
27
|
-
isError: boolean;
|
|
28
|
-
}>;
|
|
29
|
-
//# sourceMappingURL=get_agent_status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get_agent_status.d.ts","sourceRoot":"","sources":["../../src/tools/get_agent_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAO/B,CAAC;AAEH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;;;;;;;;GAqClF"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getProcessStatus } from '../lib/processRegistry.js';
|
|
3
|
-
export const getAgentStatusSchema = z.object({
|
|
4
|
-
agentName: z.string().describe('Nom de l agent'),
|
|
5
|
-
runner: z
|
|
6
|
-
.enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
|
|
7
|
-
.optional()
|
|
8
|
-
.describe('Type de runner (optionnel, défaut: any)'),
|
|
9
|
-
config: z.string().optional().describe('Chemin du fichier de configuration'),
|
|
10
|
-
});
|
|
11
|
-
export async function getAgentStatusTool(args) {
|
|
12
|
-
const { agentName, runner, config: configPath } = args;
|
|
13
|
-
const entry = await getProcessStatus(agentName, runner, configPath);
|
|
14
|
-
if (!entry) {
|
|
15
|
-
return {
|
|
16
|
-
content: [
|
|
17
|
-
{
|
|
18
|
-
type: 'text',
|
|
19
|
-
text: `Agent "${agentName}" (runner: ${runner || 'any'}) n est pas trouvé dans le registre. Il n est pas en cours d exécution ou a été nettoyé.`,
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const lines = [
|
|
25
|
-
`**Agent:** ${entry.agentName}`,
|
|
26
|
-
`**Runner:** ${entry.runner || 'unknown'}`,
|
|
27
|
-
`**Status:** ${entry.status}`,
|
|
28
|
-
`**Started:** ${new Date(entry.ts).toISOString()}`,
|
|
29
|
-
entry.pid ? `**PID:** ${entry.pid}` : null,
|
|
30
|
-
entry.id ? `**Session ID:** ${entry.id}` : null,
|
|
31
|
-
entry.exitCode !== null && entry.exitCode !== undefined ? `**Exit Code:** ${entry.exitCode}` : null,
|
|
32
|
-
`**Last Output At:** ${entry.lastOutputAt ? new Date(entry.lastOutputAt).toISOString() : 'N/A'}`,
|
|
33
|
-
entry.outputBuffer ? `\n**Output Buffer (${entry.outputBuffer.length} chars):**\n\`\`\`\n${entry.outputBuffer.slice(-2000)}\n\`\`\`` : null,
|
|
34
|
-
].filter(Boolean);
|
|
35
|
-
return {
|
|
36
|
-
content: [
|
|
37
|
-
{
|
|
38
|
-
type: 'text',
|
|
39
|
-
text: lines.join('\n'),
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
isError: entry.status === 'failed' || entry.status === 'orphaned',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=get_agent_status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get_agent_status.js","sourceRoot":"","sources":["../../src/tools/get_agent_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAChD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACxF,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAA0C;IACjF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,SAAS,cAAc,MAAM,IAAI,KAAK,0FAA0F;iBACjJ;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,cAAc,KAAK,CAAC,SAAS,EAAE;QAC/B,eAAe,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;QAC1C,eAAe,KAAK,CAAC,MAAM,EAAE;QAC7B,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE;QAClD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1C,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QAC/C,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACnG,uBAAuB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;QAChG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,KAAK,CAAC,YAAY,CAAC,MAAM,uBAAuB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KAC5I,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACvB;SACF;QACD,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const killAgentSchema: z.ZodObject<{
|
|
3
|
-
agentName: z.ZodString;
|
|
4
|
-
runner: z.ZodOptional<z.ZodEnum<{
|
|
5
|
-
claude: "claude";
|
|
6
|
-
gemini: "gemini";
|
|
7
|
-
kilo: "kilo";
|
|
8
|
-
qwencli: "qwencli";
|
|
9
|
-
hermes: "hermes";
|
|
10
|
-
openclaw: "openclaw";
|
|
11
|
-
cline: "cline";
|
|
12
|
-
opencode: "opencode";
|
|
13
|
-
}>>;
|
|
14
|
-
config: z.ZodOptional<z.ZodString>;
|
|
15
|
-
}, z.core.$strip>;
|
|
16
|
-
export declare function killAgentTool(args: z.infer<typeof killAgentSchema>): Promise<{
|
|
17
|
-
content: {
|
|
18
|
-
type: "text";
|
|
19
|
-
text: string;
|
|
20
|
-
}[];
|
|
21
|
-
}>;
|
|
22
|
-
//# sourceMappingURL=kill_agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kill_agent.d.ts","sourceRoot":"","sources":["../../src/tools/kill_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAO1B,CAAC;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;GAwBxE"}
|
package/dist/tools/kill_agent.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { killAgent } from '../lib/processRegistry.js';
|
|
3
|
-
export const killAgentSchema = z.object({
|
|
4
|
-
agentName: z.string().describe('Nom de l agent à tuer'),
|
|
5
|
-
runner: z
|
|
6
|
-
.enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
|
|
7
|
-
.optional()
|
|
8
|
-
.describe('Type de runner (optionnel, défaut: any)'),
|
|
9
|
-
config: z.string().optional().describe('Chemin du fichier de configuration'),
|
|
10
|
-
});
|
|
11
|
-
export async function killAgentTool(args) {
|
|
12
|
-
const { agentName, runner, config: configPath } = args;
|
|
13
|
-
const result = await killAgent(agentName, runner, configPath);
|
|
14
|
-
if (!result.killed) {
|
|
15
|
-
return {
|
|
16
|
-
content: [
|
|
17
|
-
{
|
|
18
|
-
type: 'text',
|
|
19
|
-
text: `Agent "${agentName}" (runner: ${runner || 'any'}) n est pas en cours d exécution ou déjà terminé.`,
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
return {
|
|
25
|
-
content: [
|
|
26
|
-
{
|
|
27
|
-
type: 'text',
|
|
28
|
-
text: `Agent "${agentName}" tué avec succès (PID: ${result.pid}).`,
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=kill_agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kill_agent.js","sourceRoot":"","sources":["../../src/tools/kill_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACvD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACxF,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAqC;IACvE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,SAAS,cAAc,MAAM,IAAI,KAAK,mDAAmD;iBAC1G;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,UAAU,SAAS,2BAA2B,MAAM,CAAC,GAAG,IAAI;aACnE;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const streamAgentOutputSchema: z.ZodObject<{
|
|
3
|
-
agentName: z.ZodString;
|
|
4
|
-
runner: z.ZodOptional<z.ZodEnum<{
|
|
5
|
-
claude: "claude";
|
|
6
|
-
gemini: "gemini";
|
|
7
|
-
kilo: "kilo";
|
|
8
|
-
qwencli: "qwencli";
|
|
9
|
-
hermes: "hermes";
|
|
10
|
-
openclaw: "openclaw";
|
|
11
|
-
cline: "cline";
|
|
12
|
-
opencode: "opencode";
|
|
13
|
-
}>>;
|
|
14
|
-
sinceTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
15
|
-
config: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
export declare function streamAgentOutputTool(args: z.infer<typeof streamAgentOutputSchema>): Promise<{
|
|
18
|
-
content: {
|
|
19
|
-
type: "text";
|
|
20
|
-
text: string;
|
|
21
|
-
}[];
|
|
22
|
-
isError?: undefined;
|
|
23
|
-
} | {
|
|
24
|
-
content: {
|
|
25
|
-
type: "text";
|
|
26
|
-
text: string;
|
|
27
|
-
}[];
|
|
28
|
-
isError: boolean;
|
|
29
|
-
}>;
|
|
30
|
-
//# sourceMappingURL=stream_agent_output.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream_agent_output.d.ts","sourceRoot":"","sources":["../../src/tools/stream_agent_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAWlC,CAAC;AAEH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;;;;;;;;;;GAiCxF"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getProcessStatus } from '../lib/processRegistry.js';
|
|
3
|
-
export const streamAgentOutputSchema = z.object({
|
|
4
|
-
agentName: z.string().describe('Nom de l agent'),
|
|
5
|
-
runner: z
|
|
6
|
-
.enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
|
|
7
|
-
.optional()
|
|
8
|
-
.describe('Type de runner (optionnel, défaut: any)'),
|
|
9
|
-
sinceTimestamp: z
|
|
10
|
-
.number()
|
|
11
|
-
.optional()
|
|
12
|
-
.describe('Ne retourner que la sortie après ce timestamp (ms)'),
|
|
13
|
-
config: z.string().optional().describe('Chemin du fichier de configuration'),
|
|
14
|
-
});
|
|
15
|
-
export async function streamAgentOutputTool(args) {
|
|
16
|
-
const { agentName, runner, sinceTimestamp, config: configPath } = args;
|
|
17
|
-
const entry = await getProcessStatus(agentName, runner, configPath);
|
|
18
|
-
if (!entry) {
|
|
19
|
-
return {
|
|
20
|
-
content: [
|
|
21
|
-
{
|
|
22
|
-
type: 'text',
|
|
23
|
-
text: `Agent "${agentName}" non trouvé dans le registre.`,
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const isComplete = entry.status === 'done' || entry.status === 'failed' || entry.status === 'orphaned';
|
|
29
|
-
const output = entry.outputBuffer || '';
|
|
30
|
-
if (sinceTimestamp && entry.lastOutputAt && entry.lastOutputAt > sinceTimestamp) {
|
|
31
|
-
// For now, return all output if there was output after the timestamp
|
|
32
|
-
// (per-chunk timestamps not yet implemented)
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
content: [
|
|
36
|
-
{
|
|
37
|
-
type: 'text',
|
|
38
|
-
text: output || '(no output yet)',
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
isError: isComplete && entry.status === 'failed',
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=stream_agent_output.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream_agent_output.js","sourceRoot":"","sources":["../../src/tools/stream_agent_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAChD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACxF,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAA6C;IACvF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEvE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,SAAS,gCAAgC;iBAC1D;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;IACvG,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAExC,IAAI,cAAc,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,GAAG,cAAc,EAAE,CAAC;QAChF,qEAAqE;QACrE,6CAA6C;IAC/C,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,MAAM,IAAI,iBAAiB;aAClC;SACF;QACD,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const waitAgentSchema: z.ZodObject<{
|
|
3
|
-
agentName: z.ZodString;
|
|
4
|
-
runner: z.ZodOptional<z.ZodEnum<{
|
|
5
|
-
claude: "claude";
|
|
6
|
-
gemini: "gemini";
|
|
7
|
-
kilo: "kilo";
|
|
8
|
-
qwencli: "qwencli";
|
|
9
|
-
hermes: "hermes";
|
|
10
|
-
openclaw: "openclaw";
|
|
11
|
-
cline: "cline";
|
|
12
|
-
opencode: "opencode";
|
|
13
|
-
}>>;
|
|
14
|
-
timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
15
|
-
config: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
export declare function waitAgentTool(args: z.infer<typeof waitAgentSchema>): Promise<{
|
|
18
|
-
content: {
|
|
19
|
-
type: "text";
|
|
20
|
-
text: string;
|
|
21
|
-
}[];
|
|
22
|
-
isError: boolean;
|
|
23
|
-
} | {
|
|
24
|
-
content: {
|
|
25
|
-
type: "text";
|
|
26
|
-
text: string;
|
|
27
|
-
}[];
|
|
28
|
-
isError?: undefined;
|
|
29
|
-
}>;
|
|
30
|
-
//# sourceMappingURL=wait_agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait_agent.d.ts","sourceRoot":"","sources":["../../src/tools/wait_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAY1B,CAAC;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;GA0DxE"}
|
package/dist/tools/wait_agent.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getProcessStatus } from '../lib/processRegistry.js';
|
|
3
|
-
export const waitAgentSchema = z.object({
|
|
4
|
-
agentName: z.string().describe('Nom de l agent'),
|
|
5
|
-
runner: z
|
|
6
|
-
.enum(['claude', 'gemini', 'kilo', 'qwencli', 'openclaw', 'cline', 'opencode', 'hermes'])
|
|
7
|
-
.optional()
|
|
8
|
-
.describe('Type de runner (optionnel, défaut: any)'),
|
|
9
|
-
timeoutMs: z
|
|
10
|
-
.number()
|
|
11
|
-
.optional()
|
|
12
|
-
.default(900000)
|
|
13
|
-
.describe('Timeout en ms (défaut: 900000 = 15 min)'),
|
|
14
|
-
config: z.string().optional().describe('Chemin du fichier de configuration'),
|
|
15
|
-
});
|
|
16
|
-
export async function waitAgentTool(args) {
|
|
17
|
-
const { agentName, runner, timeoutMs, config: configPath } = args;
|
|
18
|
-
const start = Date.now();
|
|
19
|
-
const pollInterval = 1000; // 1 second
|
|
20
|
-
while (Date.now() - start < timeoutMs) {
|
|
21
|
-
const entry = await getProcessStatus(agentName, runner, configPath);
|
|
22
|
-
if (!entry) {
|
|
23
|
-
return {
|
|
24
|
-
content: [
|
|
25
|
-
{
|
|
26
|
-
type: 'text',
|
|
27
|
-
text: `Agent "${agentName}" n existe plus dans le registre.`,
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
isError: true,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
if (entry.status === 'done') {
|
|
34
|
-
return {
|
|
35
|
-
content: [
|
|
36
|
-
{
|
|
37
|
-
type: 'text',
|
|
38
|
-
text: entry.outputBuffer || 'Agent terminé avec succès.',
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
if (entry.status === 'failed' || entry.status === 'orphaned') {
|
|
44
|
-
return {
|
|
45
|
-
content: [
|
|
46
|
-
{
|
|
47
|
-
type: 'text',
|
|
48
|
-
text: `Agent terminé avec erreur: ${entry.status}\n\nSortie:\n${entry.outputBuffer || 'N/A'}`,
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
isError: true,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
// Still running — wait before next poll
|
|
55
|
-
await new Promise((r) => setTimeout(r, pollInterval));
|
|
56
|
-
}
|
|
57
|
-
// Timeout reached
|
|
58
|
-
return {
|
|
59
|
-
content: [
|
|
60
|
-
{
|
|
61
|
-
type: 'text',
|
|
62
|
-
text: `Timeout de ${timeoutMs}ms atteint. L'agent est toujours en cours d exécution.`,
|
|
63
|
-
},
|
|
64
|
-
],
|
|
65
|
-
isError: true,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=wait_agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait_agent.js","sourceRoot":"","sources":["../../src/tools/wait_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAChD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACxF,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAqC;IACvE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAElE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW;IAEtC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,UAAU,SAAS,mCAAmC;qBAC7D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,4BAA4B;qBACzD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,8BAA8B,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,YAAY,IAAI,KAAK,EAAE;qBAC9F;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IAClB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,cAAc,SAAS,wDAAwD;aACtF;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## [2.0.0] - 2026-05-09
|
|
4
|
-
|
|
5
|
-
### 🚀 OverMind-MCP v2.0.0 - Swarm & Observabilité Unifiée
|
|
6
|
-
|
|
7
|
-
Cette version majeure marque l'achèvement complet de l'infrastructure OverMind-MCP avec des fonctionnalités d'orchestration avancées et une observabilité de niveau production.
|
|
8
|
-
|
|
9
|
-
#### 🎯 Nouvelles Fonctionnalités Majeures
|
|
10
|
-
|
|
11
|
-
**Swarm Orchestration (NOUVEAU)**
|
|
12
|
-
- Allocation dynamique de tâches aux agents spécialisés
|
|
13
|
-
- Load Balancing automatique avec scoring intelligent
|
|
14
|
-
- Support de capacités multiples par agent (code, analysis, scraping, etc.)
|
|
15
|
-
- Gestion de priorités de tâches (1-10)
|
|
16
|
-
- Statistiques en temps réel (completed, failed, running, pending)
|
|
17
|
-
- `createSwarmOrchestrator()` avec API complète
|
|
18
|
-
- Fichier: `src/lib/orchestration/swarm.ts`
|
|
19
|
-
|
|
20
|
-
**Workflows Long-Running Temporal (NOUVEAU)**
|
|
21
|
-
- `longRunningWorkflow` pour tâches stateful (OSINT, analyses complètes)
|
|
22
|
-
- Support de workflows jusqu'à 7 jours
|
|
23
|
-
- Signaux de contrôle: `cancel`, `pause`, `resume`
|
|
24
|
-
- Query d'état temps réel du workflow
|
|
25
|
-
- Survit aux crashes (persistance Temporal)
|
|
26
|
-
- API enrichie: `startLongRunningWorkflow()`, `getLongRunningWorkflowHandle()`
|
|
27
|
-
- Fichiers: `src/lib/workflow/temporal/workflows.ts`, `client.ts`
|
|
28
|
-
|
|
29
|
-
**Infrastructure Docker Complète (NOUVEAU)**
|
|
30
|
-
- `docker-compose.yml`: Stack principale (9 services)
|
|
31
|
-
- RabbitMQ (Message Broker) avec Management UI
|
|
32
|
-
- Temporal (Workflow Orchestrator) avec Web UI
|
|
33
|
-
- PostgreSQL + pgvector (Vector DB 4096D)
|
|
34
|
-
- Redis (Cache & Sessions)
|
|
35
|
-
- Prometheus (Metrics Collection)
|
|
36
|
-
- Grafana (Dashboards)
|
|
37
|
-
- Jaeger (Distributed Tracing)
|
|
38
|
-
- OpenTelemetry Collector (Traces Bridge)
|
|
39
|
-
- Node Exporter (Host metrics)
|
|
40
|
-
- `docker-compose.exporters.yml`: Exporters de métriques
|
|
41
|
-
- RabbitMQ Exporter
|
|
42
|
-
- PostgreSQL Exporter
|
|
43
|
-
- Redis Exporter
|
|
44
|
-
- `init-db.sql`: Script d'initialisation PostgreSQL
|
|
45
|
-
- `config/prometheus.yml`: Configuration Prometheus
|
|
46
|
-
- `config/otel-collector.yml`: Configuration OpenTelemetry Collector
|
|
47
|
-
|
|
48
|
-
**Observabilité de Niveau Production (NOUVEAU)**
|
|
49
|
-
- Traces distribuées via OpenTelemetry → Jaeger
|
|
50
|
-
- Métriques temps réel via Prometheus
|
|
51
|
-
- Dashboards Grafana prêts à l'emploi
|
|
52
|
-
- Support complet de télémétrie sur tous les runners
|
|
53
|
-
- Scripts NPM ajoutés: `deploy:infra`, `deploy:exporters`, `deploy:all`, `deploy:logs`, `deploy:status`
|
|
54
|
-
|
|
55
|
-
#### 📚 Documentation
|
|
56
|
-
|
|
57
|
-
**Nouveaux Guides**
|
|
58
|
-
- `DEPLOYMENT.md` (600+ lignes): Guide déploiement complet
|
|
59
|
-
- Prérequis, configuration, Docker Compose setup
|
|
60
|
-
- Tests & validation, sécurité & maintenance
|
|
61
|
-
- Workflows avancés, monitoring
|
|
62
|
-
- `SWARM_USAGE.md` (500+ lignes): Guide Swarm Orchestration
|
|
63
|
-
- Configuration du swarm, allocation de tâches
|
|
64
|
-
- Workflows long-running, exemples pratiques
|
|
65
|
-
- Monitoring & debug
|
|
66
|
-
- Configuration .env étendue avec toutes les variables
|
|
67
|
-
|
|
68
|
-
#### 🔧 Améliorations Techniques
|
|
69
|
-
|
|
70
|
-
- **Correction TypeScript**: `swarm.ts` (possibly undefined values)
|
|
71
|
-
- **Correction ESLint**: Suppression warnings (unused vars, any types)
|
|
72
|
-
- **Correction Tests**: Mock `registerMemoryAlertCallback` dans tests
|
|
73
|
-
- **Tests**: 69 passed, 3 skipped (100% succès)
|
|
74
|
-
- **Build**: TypeScript compilation clean
|
|
75
|
-
- **Linting**: ESLint clean (0 errors, 0 warnings)
|
|
76
|
-
|
|
77
|
-
#### 🚨 Breaking Changes
|
|
78
|
-
|
|
79
|
-
- **Version majeure** (1.x → 2.0) dû à l'ajout significatif de fonctionnalités
|
|
80
|
-
- **Nouvelles APIs publiques**: Swarm, Long-Running Workflows
|
|
81
|
-
- **Nouvelle structure de projet**: `docker/`, `config/`, scripts déploiement
|
|
82
|
-
- **Configuration .env**: Variables étendues (rétro-compatible)
|
|
83
|
-
|
|
84
|
-
#### 🔄 Migration
|
|
85
|
-
|
|
86
|
-
- Aucune migration nécessaire pour les utilisateurs existants
|
|
87
|
-
- Les nouvelles fonctionnalités sont opt-in
|
|
88
|
-
- Configuration .env étendue (rétro-compatible)
|
|
89
|
-
|
|
90
|
-
#### 📦 Dependencies
|
|
91
|
-
|
|
92
|
-
Mises à jour mineures de dépendances
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
**Déploiement 100% terminé !** 🎉
|
|
97
|
-
|
|
98
|
-
OverMind-MCP est maintenant un orchestrateur d'agents IA complet avec:
|
|
99
|
-
- ✅ Message Broker RabbitMQ
|
|
100
|
-
- ✅ Vector DB pgvector (4096D)
|
|
101
|
-
- ✅ Temporal Workflows long-running
|
|
102
|
-
- ✅ Swarm Orchestration avec allocation dynamique
|
|
103
|
-
- ✅ Observabilité complète (Prometheus, Grafana, Jaeger)
|
|
104
|
-
- ✅ Documentation production-ready
|
|
105
|
-
|
|
106
|
-
**Prêt pour la production** 🚀
|