NiadraADK entrega before_model (injeta o contexto), after_model (registra a resposta) e tools (o kit do histórico como BaseTools do ADK). Em TypeScript, niadraAdk({ session }) devolve os dois callbacks e as ferramentas para o ADK para TypeScript.
Instalar
@niadra/sdk no npm.
As cinco primitivas
Exemplo mínimo
examples/google_adk_agent.py.
Em TypeScript
niadraAdk({ session }) serve a uma definição de agente para todas as sessões do ADK: session é uma conversa fixa ou uma função do contexto (userId, sessionId, state), chamada uma vez por id de sessão do ADK. beforeModelCallback registra a mensagem do usuário de cada invocação uma vez e acrescenta o contexto depois da sua instrução em systemInstruction e o turn_block como parte de texto do último conteúdo do usuário; o ADK remonta o pedido a partir dos eventos da sessão a cada chamada, então nada disso entra na sessão. afterModelCallback registra a resposta final com o usageMetadata e uma chamada transfer_to_agent como transbordo entre agentes; respostas parciais (em stream) e chamadas de ferramenta não registram nada. tools declara os esquemas JSON do kit (parametersJsonSchema) e encontra o cliente no contexto da ferramenta, nunca nos argumentos do modelo. Dê o mesmo ...memory aos subagentes.
Memória do agente
NiadraADK(conversation, agent_memory=True) põe as notas do próprio agente antes do contexto do cliente e acrescenta as duas ferramentas. Veja Memória do agente.
Registros de turno
Com a funcionalidadeturns ligada no espaço (ela vem ligada), os callbacks de agente e de ferramenta do adaptador, com turns=True em Python e turns: true em TypeScript, gravam cada execução como um registro de turno, com cada chamada de ferramenta pelo id do provedor e cada chamada de modelo com os tokens; um subagente ou um AgentTool abre um subturno. Num replay, as ferramentas do ADK respondem do registro nas duas linguagens. Um turno nunca espera pela Niadra e nunca repete o texto da conversa.
Limites
- Se o agente já tem callbacks, passe listas: o ADK roda todos em ordem.
- Nada aqui derruba a invocação: sem contexto, o pedido segue com a instrução do agente.
- Testado contra
google-adk2.9 com o modelo substituído por um fake e a Niadra no emulador; em TypeScript, contra@google/adk2.1.0, com umInMemoryRunnerreal e subagentes sobre um modelo roteirizado.
Próximos passos
Google GenAI
o
wrap() do cliente, para quem não usa o ADK.Navegação do histórico
as três ferramentas que o agente recebe.

