Sobre o projeto

affe-agent é uma biblioteca TypeScript que serve como um núcleo de execução de agentes nativo do Effect, situando-se entre as primitivas LanguageModel, Prompt, Tool e Toolkit do Effect AI e a camada de aplicação. Ela fornece a camada de sessão, execução, turno, direcionamento, acompanhamento, interrupção e eventos de ciclo de vida que aplicações de agentes tipicamente reinventam. O modelo central é sessões → submissões → execuções → turnos, com um único histórico canônico append-only e eventos de ciclo de vida tipados. O núcleo é pequeno e extensível por meio de poucos pontos de extensão: toolkit/tools, contextTransform, loop, permission, toolExecution, elicitation, InputChannel, eventSink/events, AgentSessionHost, LanguageModel e Sandbox. As baterias conectam-se a esses pontos de extensão para adicionar capacidades sem modificar o núcleo. As principais capacidades incluem: - Múltiplos transportes: HTTP, RPC, AG-UI, A2A, MCP (v1 e v2), completions compatíveis com OpenAI e conectores (Slack) - Baterias para codificação (ferramentas de arquivo/shell sobre um sandbox), web (busca, fetch protegido, captura de página renderizada), subagentes, memória, habilidades, compactação, orçamento (limites de tokens e dinheiro), metadados de modelo, observabilidade, redação, dados, hooks, agendamento, árvore (sessões ramificáveis), sessões (diretório paginado), exportação (snapshot e JSONL), armazenamento de blob, plugins e predefinições - Execução durável via Effect Workflow, com suporte a cluster e Durable Streams - Abstração de sandbox com implementações portátil e local (Node) - Utilitários de teste incluindo um TestLanguageModel roteirizado, AgentProbe, web doubles e suítes de conformidade - Portabilidade de runtime entre Node, Bun, Deno e runtimes de borda (Cloudflare Workers) A biblioteca está na versão 0.0.1 (pré-lançamento). O design está estável, mas o substrato subjacente Effect v4 ainda está em release candidate, portanto espera-se churn de API do Effect até o GA. O projeto recomenda fixar versões exatas de affe-agent, effect e provedores @effect/ai-* em conjunto. O repositório também inclui aplicações de referência: um TUI de codificação local em tela cheia, um cliente CLI convencional e uma implantação no Cloudflare Worker com um Durable Object por sessão.