Sobre o projeto

Okay! é uma biblioteca de efeitos extensíveis para Scala 3 inspirada nas teorias de Rúnar Bjarnason, Oleg Kiselyov e Robert Atkey. Ela fornece um framework abrangente para gerenciar efeitos colaterais e fluxo de controle com zero dependências, suportando JVM (JDK 21+), Scala.js e Scala Native a partir de uma única fonte. Arquitetura Central e Capacidades: - Controle Delimitado: Implementa uma mónada de continuação parametrizada (`Cont`) e uma interface final tagless para controle delimitado, garantindo a segurança da pilha para cadeias de flatMap. - Efeitos Extensíveis: Suporta codificações iniciais (Free) e finais (Church/Eff). Inclui efeitos integrados para Reader, Writer (baseado em streaming), State (incluindo typestate), Throws (erros tipados) e Choice (não determinismo/backtracking). - Async Multiplataforma: Fornece um efeito `Async` universal com capacidades de `spawn`, `par`, `race` e `timeout`. Utiliza threads virtuais (Loom) na JVM e o event loop no JS. - Streams de Alta Performance: Implementa streams como codata com múltiplos modos de consumo, incluindo um modo "Staged" para fusão em tempo de compilação que supera significativamente outras bibliotecas do ecossistema em benchmarks. - Concorrência: Apresenta fibras, canais com backpressure e um runtime distribuído (`okay-cluster`) para distribuir fontes fragmentadas entre workers. Módulos de Camada Superior: - Text: Lexing em streaming, parsing incremental e um esquema unificado para JSON/CBOR/Markdown. - AI/Models: Integração para LLMs, RAG (Retrieval-Augmented Generation) e agentes, incluindo uma implementação completa do Model Context Protocol (MCP). - UI: Um sistema de view-as-value que pode renderizar para terminais, React ou hosts de teste. - Security: Autorização com zero dependências, JWT e fluxos de cliente OAuth2. - Wires: Suporte a REST e WebSocket via JDK, Jetty ou Netty. Interoperabilidade: A biblioteca fornece pontes para cats, ZIO, kyo, fs2, Kafka, Spark, Flink e JDBC.