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.
Files changed (44) hide show
  1. package/dist/lib/processRegistry.d.ts +2 -0
  2. package/dist/lib/processRegistry.d.ts.map +1 -1
  3. package/dist/lib/processRegistry.js +21 -2
  4. package/dist/lib/processRegistry.js.map +1 -1
  5. package/dist/server.d.ts +16 -28
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +62 -69
  8. package/dist/server.js.map +1 -1
  9. package/dist/services/GeminiRunner.d.ts.map +1 -1
  10. package/dist/services/GeminiRunner.js +4 -1
  11. package/dist/services/GeminiRunner.js.map +1 -1
  12. package/dist/tools/agent_control.d.ts +101 -0
  13. package/dist/tools/agent_control.d.ts.map +1 -0
  14. package/dist/tools/agent_control.js +320 -0
  15. package/dist/tools/agent_control.js.map +1 -0
  16. package/docs/INDEX.md +11 -6
  17. package/docs/agent_control.md +656 -0
  18. package/docs/tools.md +27 -2
  19. package/package.json +1 -1
  20. package/dist/tools/get_agent_status.d.ts +0 -29
  21. package/dist/tools/get_agent_status.d.ts.map +0 -1
  22. package/dist/tools/get_agent_status.js +0 -45
  23. package/dist/tools/get_agent_status.js.map +0 -1
  24. package/dist/tools/kill_agent.d.ts +0 -22
  25. package/dist/tools/kill_agent.d.ts.map +0 -1
  26. package/dist/tools/kill_agent.js +0 -33
  27. package/dist/tools/kill_agent.js.map +0 -1
  28. package/dist/tools/stream_agent_output.d.ts +0 -30
  29. package/dist/tools/stream_agent_output.d.ts.map +0 -1
  30. package/dist/tools/stream_agent_output.js +0 -44
  31. package/dist/tools/stream_agent_output.js.map +0 -1
  32. package/dist/tools/wait_agent.d.ts +0 -30
  33. package/dist/tools/wait_agent.d.ts.map +0 -1
  34. package/dist/tools/wait_agent.js +0 -68
  35. package/dist/tools/wait_agent.js.map +0 -1
  36. package/docs/changelog/CHANGELOG.add.md +0 -106
  37. package/docs/changelog/CHANGELOG.md +0 -339
  38. package/docs/docs/OVERMIND_WORKFLOW_GUIDE.md +0 -595
  39. package/docs/docs/PROJECT_STRUCTURE.md +0 -101
  40. package/docs/docs/README_POSTGRES_INTEGRATION.md +0 -229
  41. package/docs/prompt/Claude_code.md +0 -74
  42. package/docs/prompt/Kilo.md +0 -74
  43. package/docs/prompt/Kilo_Hermes.md +0 -170
  44. 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"}
@@ -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"}
@@ -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** 🚀