--- layout: default --- # Middleware: wrapToolCall
Intercepta la ejecución de tools para manejo de errores: ```typescript import { createAgent, createMiddleware, ToolMessage } from "langchain"; const handleToolErrors = createMiddleware({ name: "HandleToolErrors", wrapToolCall: async (request, handler) => { try { return await handler(request); } catch (error) { // Devolver mensaje de error al modelo para que reintente return new ToolMessage({ content: `Error en tool: ${error}. Por favor revisa los parámetros.`, tool_call_id: request.toolCall.id!, }); } }, }); const agent = createAgent({ model: "mistral:mistral-large-latest", tools: [databaseTool, apiTool], middleware: [handleToolErrors], }); ```