Por qué es importante el control de presupuesto
Un agente de IA que llama a APIs de pago en un bucle puede acumular costos rápidamente. El control de presupuesto te permite:- Limitar el gasto total por sesión
- Establecer límites por dominio (p. ej., máx. 100 sats/sesión en
api.weather.com) - Recibir un callback antes de cada pago
- Obtener un informe completo de gasto en cualquier momento
Presupuesto global
- TypeScript
- Python
priceSats y este superaría el presupuesto restante, el cliente lanza BudgetExceededError antes de pagar — no se gastan satoshis.
Presupuesto por dominio
- TypeScript
- Python
Callbacks
- TypeScript
- Python
onBudgetExceeded / on_budget_exceeded se llama justo antes de que se lance BudgetExceededError — útil para registro de logs o alertas.
Informe de gasto
- TypeScript
- Python
spendingReport() devuelve null / None cuando no hay presupuesto configurado.
Manejo de BudgetExceededError
- TypeScript
- Python
Notas sobre concurrencia
Referencia completa de opciones
| Opción | TypeScript | Python | Valor predeterminado | Descripción |
|---|---|---|---|---|
| Presupuesto global | budgetSats | budget_sats | ilimitado | Máximo de sats para la sesión |
| Por dominio | budgetPerDomain | budget_per_domain | {} | Mapa de dominio → máx. sats |
| Hook de gasto | onSpend | on_spend | — | Se llama después de cada pago |
| Hook de excedido | onBudgetExceeded | on_budget_exceeded | — | Se llama antes de lanzar la excepción |