/** * Host-side handler for the eval `budget` helper. * * Reports the active token ceiling and amount spent so kernel helpers can * compute remaining budget. Precedence: a `+Nk`/`+Nk!` per-turn directive (the * user's immediate intent) wins; otherwise an active Goal Mode budget; otherwise * no ceiling, with `spent` still reflecting this turn's output where available. */ import type { ToolSession } from "../tools/index.js"; import type { JsStatusEvent } from "./js/shared/types.js"; /** Synthetic bridge name reserved for the `budget` helper across both runtimes. */ export declare const EVAL_BUDGET_BRIDGE_NAME = "__budget__"; export interface EvalBudgetBridgeOptions { session: ToolSession; signal?: AbortSignal; emitStatus?: (event: JsStatusEvent) => void; } export interface EvalBudgetResult { total: number | null; spent: number; /** Whether the ceiling is enforced (eval `agent()` throws past it) vs advisory. */ hard: boolean; } /** * Resolve the current token budget snapshot for an eval cell's `budget` helper. * The returned object is JSON-passed verbatim by the bridge transport; kernel * helpers read `.total`/`.spent`/`.hard` directly. */ export declare function runEvalBudget(_args: unknown, options: EvalBudgetBridgeOptions): Promise;