Repository navigation
Release v7.19.0
Summary
A provider whose quota or spend limit is used up no longer stops a provider pool. Cratis.AI moves the same request to another provider that still has capacity, and agent workers report this failure with a typed reason so the dispatcher can continue the work elsewhere.
Added
LanguageModelResult.IsQuotaExhausted,PoolAttemptOutcome.QuotaExhausted, andTriedProvidersandQuotaExhaustedProvidersonPoolDispatchResult(#423)- The worker
failedcallback carriesreason: "quotaExhausted"withprovider, plusmodelandvendorCodewhen known, when the agent session ran out of quota. Other failures send the same fields as before (#423)
Changed
- Quota and spend-limit errors (Anthropic
enforced_spend_limit_reachedand "credit balance is too low", OpenAI and Azureinsufficient_quotaandbilling_hard_limit_reached, HTTP 402) are no longer retried against the same provider. Pool dispatch and pooled conversations park that provider and resend the same request to the next member with capacity. Ordinary 429 throttling still retries afterRetry-After(#423) - When every pool member is exhausted, the failure names each provider tried (#423)
- A Claude session that exits normally but ends with a quota-exhausted error result is now reported as failed instead of completed (#423)