export interface SynapCompactionModelOptions { /** A Synap SDK with `conversation.context.get_context_for_prompt`. */ sdk: unknown; /** * The agent's model: the one that answers every turn, and that summarizes * when Synap has nothing to give. The result behaves exactly like this model * for every call but the compaction, and goes in `defineAgent({ model })`. */ model: M; /** * The Synap conversation. A model call carries no eve session id, so name it: * the `conversationId` you gave `createSynapStreamHooks` and * `createSynapInstructions`, or a function returning it. Nothing resolved * means eve's own summary. */ conversationId: string | (() => string | undefined); } /** * A language model that answers eve's compaction call with Synap's compaction. * * Returns the model you pass in, wrapped: every property and method is that * model's own except `doGenerate` and `doStream`, which intercept eve's * compaction call (eve 0.25 summarizes with `generateText`, 0.82 with * `streamText`) and pass everything else through. Use it as the agent's * `model`; see the note at the top of this file for why not `compaction.model`. */ export declare function createSynapCompactionModel(options: SynapCompactionModelOptions): M; //# sourceMappingURL=compaction.d.ts.map