diff --git a/mcp-server/package.json b/mcp-server/package.json index 6a16ddb1..d10602da 100644 --- a/mcp-server/package.json +++ b/mcp-server/package.json @@ -29,7 +29,7 @@ "dev": "tsx src/index.ts", "lint": "eslint \"src/**/*.ts\"", "test": "vitest run", - "test:e2e": "pnpm build && vitest run test/stdio.e2e.test.ts", + "test:e2e": "pnpm build && vitest run --config vitest.e2e.config.ts", "test:watch": "vitest", "typecheck": "tsc --noEmit", "typecheck:test": "tsc --noEmit -p tsconfig.test.json", diff --git a/mcp-server/src/agent-teams-controller.d.ts b/mcp-server/src/agent-teams-controller.d.ts index 4b0a6a82..149dc08b 100644 --- a/mcp-server/src/agent-teams-controller.d.ts +++ b/mcp-server/src/agent-teams-controller.d.ts @@ -49,6 +49,7 @@ declare module 'agent-teams-controller' { export interface ControllerMessageApi { appendSentMessage(flags: Record): unknown; sendMessage(flags: Record): unknown; + lookupMessage(messageId: string): { message: Record }; } export interface ControllerProcessApi { @@ -86,4 +87,15 @@ declare module 'agent-teams-controller' { } export function createController(options: ControllerContextOptions): AgentTeamsController; + + export interface AgentBlocksApi { + AGENT_BLOCK_TAG: string; + AGENT_BLOCK_OPEN: string; + AGENT_BLOCK_CLOSE: string; + AGENT_BLOCK_RE: RegExp; + stripAgentBlocks(text: string): string; + wrapAgentBlock(text: string): string; + } + + export const agentBlocks: AgentBlocksApi; } diff --git a/mcp-server/test/stdio.e2e.test.ts b/mcp-server/test/stdio.e2e.test.ts index a988a07d..e90cc252 100644 --- a/mcp-server/test/stdio.e2e.test.ts +++ b/mcp-server/test/stdio.e2e.test.ts @@ -62,7 +62,7 @@ class McpStdIoClient { } private async readMessage(expectedId: number) { - const deadline = Date.now() + 5000; + const deadline = Date.now() + 15000; while (Date.now() < deadline) { const newlineIndex = this.stdoutBuffer.indexOf('\n'); diff --git a/mcp-server/vitest.config.ts b/mcp-server/vitest.config.ts index 6497809d..563a0768 100644 --- a/mcp-server/vitest.config.ts +++ b/mcp-server/vitest.config.ts @@ -5,6 +5,7 @@ export default defineConfig({ globals: true, environment: 'node', include: ['test/**/*.test.ts'], + exclude: ['test/**/*.e2e.test.ts'], testTimeout: 15_000, }, }); diff --git a/mcp-server/vitest.e2e.config.ts b/mcp-server/vitest.e2e.config.ts new file mode 100644 index 00000000..fb17def7 --- /dev/null +++ b/mcp-server/vitest.e2e.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + globals: true, + environment: 'node', + include: ['test/**/*.e2e.test.ts'], + testTimeout: 30_000, + }, +});