---
layout: default
---

# Middleware: Arquitectura

<div class="mt-6 text-xs">

<v-click>

<div class="mb-4">

**Middleware**: Hooks que interceptan el flujo del agente en puntos clave

</div>

</v-click>

<v-click>

<div class="space-y-3 text-xs">

<div class="border-l-4 border-blue-500 pl-4 bg-blue-50 dark:bg-blue-900/20 p-2">
  <code class="font-bold">beforeAgent</code> - Antes de iniciar el agente
</div>

<div class="border-l-4 border-green-500 pl-4 bg-green-50 dark:bg-green-900/20 p-2">
  <code class="font-bold">beforeModel</code> - Antes de cada llamada al LLM
</div>

<div class="border-l-4 border-purple-500 pl-4 bg-purple-50 dark:bg-purple-900/20 p-2">
  <code class="font-bold">wrapModelCall</code> - Envuelve la llamada al LLM (interceptar/modificar)
</div>

<div class="border-l-4 border-orange-500 pl-4 bg-orange-50 dark:bg-orange-900/20 p-2">
  <code class="font-bold">wrapToolCall</code> - Envuelve la ejecución de tools
</div>

<div class="border-l-4 border-red-500 pl-4 bg-red-50 dark:bg-red-900/20 p-2">
  <code class="font-bold">afterModel</code> - Después de cada respuesta del LLM
</div>

<div class="border-l-4 border-cyan-500 pl-4 bg-cyan-50 dark:bg-cyan-900/20 p-2">
  <code class="font-bold">afterAgent</code> - Después de completar el agente
</div>

</div>

</v-click>

</div>
