import { type MessageTokenBreakdown } from "../../chat/message-prep.js"; import type { InferSchema } from "../../extensions/schema/index.js"; import type { AgentRuntimeMessage } from "../runtime/message-adapter.js"; export declare const AGENT_RUN_CONTEXT_COMPACTED_EVENT_TYPE: "AGENT_RUN_CONTEXT_COMPACTED"; export declare const getContextCompactionSummarySchema: () => import("../../internal-agents/schema.js").Schema; }>>; export declare const getContextCompactionEventPayloadSchema: () => import("../../internal-agents/schema.js").Schema; summary: import("../../internal-agents/schema.js").Schema; }>>; firstKeptEntryId: import("../../internal-agents/schema.js").Schema; tokensBefore: import("../../internal-agents/schema.js").Schema; tokensAfter: import("../../internal-agents/schema.js").Schema; tokenBudget: import("../../internal-agents/schema.js").Schema; reserveTokens: import("../../internal-agents/schema.js").Schema; reason: import("../../internal-agents/schema.js").Schema<"context_window" | "transport_body">; }>>; export type ContextCompactionSummary = InferSchema>; export type ContextCompactionEventPayload = InferSchema>; export type ContextCompactionReason = ContextCompactionEventPayload["reason"]; export type ContextSummaryGenerator = (input: { messagesToSummarize: AgentRuntimeMessage[]; retainedMessages: AgentRuntimeMessage[]; customInstructions?: string; }) => Promise | ContextCompactionSummary; export type ContextBudgetManagerOptions = { tokenBudget: number; reserveTokens: number; recentTailTokens: number; minimumRecentTurns?: number; maxSummaryTokens?: number; customInstructions?: string; reason?: ContextCompactionReason; now?: () => number; summaryGenerator: ContextSummaryGenerator; }; export type ContextBudgetDiagnostics = { compacted: boolean; tokensBefore: number; tokensAfter: number; beforeBreakdown: MessageTokenBreakdown; afterBreakdown: MessageTokenBreakdown; tokenBudget: number; reserveTokens: number; summaryTokens: number; retainedTailTokens: number; reason: ContextCompactionReason; }; export type ContextBudgetManagerResult = { messages: AgentRuntimeMessage[]; eventPayload?: ContextCompactionEventPayload; diagnostics: ContextBudgetDiagnostics; }; export declare class ContextCompactionError extends Error { constructor(message: string, options?: { cause?: unknown; }); } /** Apply hosted-chat context budget management. */ export declare function applyContextBudget(messages: readonly AgentRuntimeMessage[], options: ContextBudgetManagerOptions): Promise; //# sourceMappingURL=context-budget-manager.d.ts.map