Por que o controle de orçamento é importante
Um agente de IA chamando APIs pagas em loop pode acumular custos rapidamente. O controle de orçamento permite:- Limitar o gasto total por sessão
- Definir limites por domínio (ex.: máx. 100 sats/sessão em
api.weather.com) - Receber um callback antes de cada pagamento
- Obter um relatório completo de gastos a qualquer momento
Orçamento global
- TypeScript
- Python
priceSats e ele excederia o orçamento restante, o cliente lança BudgetExceededError antes de pagar — nenhum satoshi é gasto.
Orçamento por domínio
- TypeScript
- Python
Callbacks
- TypeScript
- Python
onBudgetExceeded / on_budget_exceeded é chamado imediatamente antes de BudgetExceededError ser lançado — útil para logs ou alertas.
Relatório de gastos
- TypeScript
- Python
spendingReport() retorna null / None quando nenhum orçamento está configurado.
Tratando BudgetExceededError
- TypeScript
- Python
Notas sobre concorrência
Referência completa de opções
| Opção | TypeScript | Python | Padrão | Descrição |
|---|---|---|---|---|
| Orçamento global | budgetSats | budget_sats | ilimitado | Máximo de sats para a sessão |
| Por domínio | budgetPerDomain | budget_per_domain | {} | Mapa de domínio → máx. sats |
| Hook de gasto | onSpend | on_spend | — | Chamado após cada pagamento |
| Hook de limite excedido | onBudgetExceeded | on_budget_exceeded | — | Chamado antes de lançar exceção |