Sobre el proyecto

iii es una plataforma de composición y observabilidad backend que colapsa múltiples preocupaciones de integración —colas, cron, endpoints HTTP, gestión de estado, observabilidad, agentes y entornos aislados— en una única superficie de tiempo de ejecución unificada. El modelo mental central consta de tres primitivas: - **Workers**: Procesos que se registran con el motor iii. Un servicio API en TypeScript, una canalización de datos en Python o un microservicio en Rust pueden ser workers. Los workers pueden añadirse en tiempo de ejecución, permitiendo que agentes y aplicaciones extiendan el sistema mientras está en funcionamiento. - **Functions**: Unidades de trabajo con identificadores estables (por ejemplo, `content::classify`, `orders::validate`) que reciben entrada, realizan trabajo y, opcionalmente, devuelven salida. - **Triggers**: Causas declarativas para la ejecución de funciones, que incluyen llamadas directas, endpoints HTTP, programaciones cron, suscripciones a colas, cambios de estado y eventos de flujo. El worker define la condición del disparador y iii se encarga del enrutamiento, la serialización y la entrega. Los desarrolladores declaran workers en un archivo `worker-compose.yaml` y los inician con `iii compose --up`. Los workers se unen a un catálogo en vivo donde cada otro worker es notificado y puede llamarlos inmediatamente. La misma interfaz está disponible para agentes de IA: cuando una tarea requiere una capacidad que el sistema no posee, un agente puede añadir un worker, descubrir sus funciones, llamarlas y rastrear los resultados. El proyecto ofrece SDKs para Node.js, Python, Rust y Go. Incluye una consola de desarrollador (React + Rust) para inspeccionar workers, functions, triggers, colas, trazas, registros y estado en tiempo real. El material de referencia legible por agentes ("skills") cubre cada primitiva de iii y puede instalarse mediante un comando npx. El repositorio está estructurado como un monorepo: el núcleo del motor está escrito en Rust (licenciado bajo Elastic License 2.0), mientras que los SDKs, la consola, la documentación y el sitio web están licenciados bajo Apache License 2.0. Las imágenes Docker se publican junto con la instalación del CLI mediante un script shell.