Skip to content

FAQ & resolução de problemas

Com que fornecedores de modelos funciona?

Qualquer um. O toJSONSchema() devolve JSON Schema padrão, que adaptas ao formato de tools do teu SDK (Anthropic, estilo OpenAI, local). O agent-toolbelt é a camada de tools; o loop do modelo é teu.

Porquê zod?

Dá-te uma única fonte de verdade: tipos estáticos para o teu handler e validação em runtime e JSON Schema para o modelo — sem divergências entre eles. O zod v4 é uma peer dependency.

Uma tool call lança exceção em vez de devolver erro

O call() lança UnknownToolError, ToolValidationError ou ScopeError. Num loop de agente, apanha-as e devolve a mensagem ao modelo como resultado da tool, para ele poder recuperar.

Como funcionam os scopes?

Declara scopes numa tool e adiciona o middleware requireScopes; ele verifica-os contra os scopes que o chamador passa em meta. "*" concede tudo. Combina com o agent-passport.

O middleware pode interromper ou transformar resultados?

Sim — é estilo cebola (ctx, next). Faz trabalho antes/depois do next(), lança para bloquear, ou transforma o valor devolvido. O primeiro registado é o mais exterior.

O input é validado antes do meu handler correr?

Sempre. Os argumentos são parseados pelo schema zod primeiro; o teu handler só vê input válido e tipado.