diff --git a/mcp-server/src/tools/runtimeTools.ts b/mcp-server/src/tools/runtimeTools.ts index c0a158ce..cb53fcdc 100644 --- a/mcp-server/src/tools/runtimeTools.ts +++ b/mcp-server/src/tools/runtimeTools.ts @@ -7,7 +7,7 @@ import { jsonTextContent } from '../utils/format'; const toolContextSchema = { teamName: z.string().min(1), claudeDir: z.string().min(1).optional(), - controlUrl: z.string().url().optional(), + controlUrl: z.string().optional(), waitTimeoutMs: z.number().int().min(1000).max(600000).optional(), }; diff --git a/mcp-server/src/tools/taskTools.ts b/mcp-server/src/tools/taskTools.ts index c3f893bc..3c2ee87a 100644 --- a/mcp-server/src/tools/taskTools.ts +++ b/mcp-server/src/tools/taskTools.ts @@ -5,7 +5,7 @@ import { agentBlocks, getController } from '../controller'; import { jsonTextContent, taskWriteResult, slimTask, slimTaskForList } from '../utils/format'; /** stripAgentBlocks from canonical agentBlocks module — single source of truth for the tag format. */ -const { stripAgentBlocks } = agentBlocks; +const stripAgentBlocksFn = (text: string): string => agentBlocks.stripAgentBlocks(text); const toolContextSchema = { teamName: z.string().min(1), @@ -161,7 +161,7 @@ export function registerTaskTools(server: Pick) { // 4. Build sanitized source snapshot const rawText = typeof message.text === 'string' ? message.text : ''; - const sanitizedText = stripAgentBlocks(rawText); + const sanitizedText = stripAgentBlocksFn(rawText); const sourceMessage: Record = { text: sanitizedText, @@ -172,7 +172,7 @@ export function registerTaskTools(server: Pick) { // Preserve attachment metadata by reference only — no blob copying if (Array.isArray(message.attachments) && message.attachments.length > 0) { - sourceMessage.attachments = (message.attachments as Array>) + sourceMessage.attachments = (message.attachments as Record[]) .filter( (a) => a &&