Pular para o conteúdo principal
niadraMiddleware(session) é um language model middleware para wrapLanguageModel({ model, middleware }): a via idiomática do AI SDK, que funciona com todo provedor sem pacote de provedor separado. niadraTools(session) devolve o kit do histórico como ferramentas do AI SDK. Só em TypeScript.

Instalar

A integração está no @niadra/sdk no npm.

As cinco primitivas

Exemplo mínimo

O mesmo código está em examples/ai-sdk.ts.

Memória do agente

niadraMiddleware(convo, { agentMemory: true }) põe as notas do próprio agente antes do contexto do cliente, e niadraTools(convo, { agentMemory: { write: true } }) acrescenta as duas ferramentas. Veja Memória do agente.

Registros de turno

Com a funcionalidade turns ligada no espaço (ela vem ligada), niadraMiddleware grava cada chamada de modelo no turno em andamento, recordTools(tools) grava cada chamada de ferramenta com o id de chamada do provedor, e niadraTurn(convo) mantém um turno de streamText aberto até o stream terminar. Uma execução dentro de um turno em andamento grava nele. Um turno nunca espera pela Niadra e nunca repete o texto da conversa.

Limites

  • Nada aqui derruba a chamada ao modelo: um contexto que não chega fica de fora, e uma falha ao registrar vai para o log, sem conteúdo.
  • O middleware não embrulha o provedor: qualquer LanguageModel do AI SDK serve, de qualquer provedor.
  • Testado contra ai 7 (com os tipos das versões 5 e 6) e um modelo falso, com a Niadra no emulador, no Node, no Deno, no Bun, no workerd e no Edge Runtime.

Próximos passos

Mastra

o mesmo desenho, como processador do agente.

SDK de TypeScript

a conversa, o suffix e o markInjected().