Spend Budget Policy Protocol • AI Agent SDK

SpendBudgetPolicyProtocol: Protocol for gateway cumulative-spend admission decisions.

SpendBudgetPolicyProtocol

Defined in the protocols module.

AI Agent

Protocol for gateway cumulative-spend admission decisions.

Pure, import-free decision contract symmetric with :class:RateLimitPolicyProtocol. The wrapper supplies typed facts — the caller `identity, the scope (channel / tenant token), the amount already spent_usd for that identity+scope in the current window, the current now timestamp, and (optionally) the pending_usd estimated cost of the turn being admitted and the oldest_spend_ts of the spend in the window — and the policy decides whether the turn is allowed or rejected/throttled with a retry_after_seconds hint. Storage of the spend ledger lives in a :class:~praisonaiagents.telemetry.protocols.TokenUsageSinkProtocol`; this contract keeps only the decision injectable and provable in isolation.

A config-driven default (:class:WindowedSpendBudgetPolicy) is provided for the common “cap $X per identity per rolling window” case.

Methods

Source

View on GitHub

praisonaiagents/gateway/protocols.py at line 5238