Laravel AI SDK 1.0 se publicó el 23 de septiembre. El contrato Approvable puede detener la ejecución de un agente cuando el modelo solicita una llamada de herramienta. Una persona puede aprobarla, rechazarla con un motivo que recibe el modelo o modificar sus argumentos. Una herramienta adopta el contrato mediante el trait InteractsWithApprovals. El mecanismo funciona con prompt, stream, queue y broadcast. El estado suspendido puede persistirse, de modo que la decisión llegue hasta 20 minutos después desde otra sesión HTTP.

DeleteFile.php
use Laravel\Ai\Concerns\InteractsWithApprovals;
use Laravel\Ai\Contracts\Approvable;
use Laravel\Ai\Contracts\Tool;

class DeleteFile implements Approvable, Tool
{
    use InteractsWithApprovals;
}

Este control regula una acción. No determina si los datos que recibe el agente pueden procesarse. Miraviso, un espejo virtual para peluquerías, mantiene por ello dos recorridos de privacidad.

La prueba de color se ejecuta en la tableta. MediaPipe segmenta la imagen en el dispositivo y la composición del color se realiza localmente. Ningún frame sale del hardware. La vista previa del corte necesita un modelo generativo. Funciona mediante Gemini a través de Vertex AI en una región de la UE, requiere el consentimiento explícito del cliente y nunca escribe el resultado en disco. Una aprobación dentro del ciclo del agente dejaría la decisión sobre los datos del cliente en manos del empleado del salón.

Miraviso guarda el consentimiento en el servidor como estado de la sesión del sillón. El cliente debe concederlo antes de que la aplicación cree una solicitud generativa. El endpoint de FastAPI rechaza la petición con HTTP 403 antes de enviarla al servicio externo cuando falta `session.consent.generative_preview`. El siguiente cliente empieza sin un consentimiento heredado porque el estado caduca con la sesión. La comprobación se repite después de cada `await` que pueda tardar, para que una revocación tenga efecto durante el procesamiento.

Impedir que las imágenes se guarden exige más que una decisión de arquitectura. Los archivos temporales, las cachés del cliente HTTP y los registros no deben conservar el cuerpo de la petición. Hay que auditar cada biblioteca que toque esos bytes. Los datos sensibles llegan con frecuencia a los logs a través de consultas fallidas o trazas de APM.

El SDK sigue siendo útil para el trabajo de back-office en Laravel. Un agente puede proponer la combinación de fichas de clientes duplicadas, cambios de citas o notas de crédito. Una persona puede corregir los argumentos elegidos antes de ejecutar la operación. La versión 1.0 también incorpora middleware por paso, que se ejecuta en cada etapa de generación. `PendingStep` permite cambiar el modelo, retirar herramientas o reducir el presupuesto de tokens durante la conversación. Una herramienta costosa puede retirarse después de su primer uso con una sola línea.