/**
 * Tracks remaining model/tool loop steps for one agent run.
 */
export class AgentStepBudget {
    maxSteps;
    used = 0;
    constructor(maxSteps) {
        this.maxSteps = maxSteps;
    }
    step() {
        this.used += 1;
        return this.remaining();
    }
    remaining() {
        return this.maxSteps - this.used;
    }
    exhausted() {
        return this.used >= this.maxSteps;
    }
}
//# sourceMappingURL=step-budget.js.map