PHPackages                             sunnyface/ai-contracts - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. sunnyface/ai-contracts

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

sunnyface/ai-contracts
======================

Contratos DTO y esquemas compartidos entre Hub y Spoke

1.2.6(2mo ago)085↓90%PHPPHP ^8.4

Since Mar 25Pushed 2mo agoCompare

[ Source](https://github.com/kikoseijo/ai-contracts)[ Packagist](https://packagist.org/packages/sunnyface/ai-contracts)[ RSS](/packages/sunnyface-ai-contracts/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (8)Versions (10)Used By (0)

☀️ Sunnyface AI Contracts
=========================

[](#️-sunnyface-ai-contracts)

> **El puente telepático de tipado estricto entre el Hub y el Spoke.**

Este paquete proporciona la librería central de **Data Transfer Objects (DTOs)** y contratos compartidos para el ecosistema de IA de Sunnyface. Diseñado para sincronizar las mentes de los equipos de desarrollo más exigentes del planeta, asegurando que la comunicación en sistemas distribuidos sea impecable, robusta y libre de alucinaciones.

---

🚀 ¿Por qué este paquete brilla? ✨
---------------------------------

[](#-por-qué-este-paquete-brilla-)

Olvídate de los arrays asociativos crudos y de jugar a las adivinanzas. Gracias al poder de PHP 8.4 y `spatie/laravel-data` v4, este paquete ofrece:

1. **Cero validación manual en el controlador**: Cuando inyectes DTOs como `ExecuteAgentTaskRequest` en tu controlador, propiedades complejas como `$request->payload` ya serán instancias perfectas de `ConversationalPayloadDTO`, `VisionExtractorPayloadDTO` o `DocumentClassifierPayloadDTO`. ¡La librería hace el trabajo sucio por ti!
2. **Tipado estricto (Union Types)**: PHPStan y tu IDE ahora saben exactamente qué métodos y propiedades están disponibles. Se acabó el rezar para que `$payload['message'] ?? null` exista.
3. **Colecciones automáticas**: Propiedades como `$prefetched_chat_messages` se hidratan automáticamente en un array de objetos reales (ej. `ChatMessageDTO`), en lugar de dejarte con arrays anidados genéricos.

¡Es un contrato blindado y digno de presumir! 😎

---

📦 Instalación
-------------

[](#-instalación)

Puedes instalar este paquete vía Composer en cualquier servicio satélite (Spoke) o en el Hub central:

```
composer require sunnyface/ai-contracts:dev-main --with-all-dependencies
```

*(Asegúrate de tener configurado el acceso al repositorio si es privado).*

---

💻 Uso Real (Nada de `ExampleDTO` inventados)
--------------------------------------------

[](#-uso-real-nada-de-exampledto-inventados)

Aquí tienes un ejemplo de cómo se ve la magia en un controlador de tu aplicación Laravel:

```
