Sobre el proyecto

affe-agent es una biblioteca de TypeScript que actúa como kernel de ejecución de agentes nativo de Effect, situándose entre las primitivas LanguageModel, Prompt, Tool y Toolkit de Effect AI y la capa de aplicación. Proporciona la capa de sesiones, ejecuciones, turnos, steering, follow-ups, interrupciones y eventos de ciclo de vida que las aplicaciones de agentes suelen reinventar. El modelo central es sesiones → submissions → runs → turnos, con una única historia canónica de solo adición y eventos de ciclo de vida tipados. El kernel es pequeño y extensible mediante un puñado de puntos de extensión (seams): toolkit/tools, contextTransform, loop, permission, toolExecution, elicitation, InputChannel, eventSink/events, AgentSessionHost, LanguageModel y Sandbox. Las batteries se conectan a estos puntos de extensión para añadir capacidades sin modificar el núcleo. Las capacidades clave incluyen: - Múltiples transportes: HTTP, RPC, AG-UI, A2A, MCP (v1 y v2), completions compatibles con OpenAI y conectores (Slack) - Batteries para programación (herramientas de archivos/shell sobre un sandbox), web (búsqueda, fetch protegido, captura de páginas renderizadas), subagentes, memoria, skills, compactación, presupuesto (límites de tokens y de dinero), metadatos de modelos, observabilidad, redacción, datos, hooks, planificación, tree (sesiones ramificables), sessions (directorio paginado), export (snapshot y JSONL), almacenamiento de blobs, plugins y presets - Ejecución duradera mediante Effect Workflow, con soporte de clúster y Durable Streams - Abstracción de Sandbox con implementaciones portables y locales (Node) - Utilidades de pruebas que incluyen un TestLanguageModel programable, AgentProbe, dobles web y suites de conformidad - Portabilidad del runtime entre Node, Bun, Deno y runtimes de edge (Cloudflare Workers) La biblioteca está en la versión 0.0.1 (pre-lanzamiento). El diseño es estable, pero el sustrato subyacente de Effect v4 todavía está en fase de release candidate, por lo que se esperan cambios en la API de Effect hasta el GA. El proyecto recomienda fijar de forma conjunta versiones exactas de affe-agent, effect y los proveedores @effect/ai-*. El repositorio también incluye aplicaciones de referencia: una TUI local de programación a pantalla completa, un cliente CLI convencional y un despliegue en Cloudflare Worker con un Durable Object por sesión.