Public declaration syntax from forge-rs/harness-runtime/src/budget.rs Original source SHA-256: 912ba2f1d2b87b0d48c761457541f8a16bf65595a8a184ab95a98c22f2cdfd61 Function bodies and constant values are omitted. This is not the complete implementation. Source line 21 #[derive(Debug, Clone)] pub struct BudgetLedger { } Source line 34 pub fn new(granted_usd: f64, granted_tokens: u64, on_exhausted: OnBudgetExhausted) -> Self; Source line 48 pub fn remaining_usd(&self) -> f64; Source line 53 pub fn remaining_tokens(&self) -> u64; Source line 58 pub fn on_exhausted(&self) -> OnBudgetExhausted; Source line 63 pub fn inference_calls(&self) -> u64; Source line 68 pub fn is_exhausted(&self) -> bool; Source line 75 pub fn check_can_spend(&self) -> Result<(), BudgetError>; Source line 88 pub fn charge(&mut self, usage: &InferenceUsage); Source line 99 pub fn record_tool_invocation(&mut self); Source line 106 pub fn carve(&mut self, usd: f64, tokens: u64) -> Result<(), BudgetError>; Source line 121 pub fn usage(&self) -> UsageTotals;