/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ import type { ChatResponse } from '../providers/interface.js'; import type { ProviderMessage } from '../providers/interface.js'; import { setAgentProgress, type ProgressAudience } from './progress-audience.js'; /** * Re-exported so the runner reaches progress classification through the same * module it already reaches `summarizeToolArgs` through, one import, and the * label and its audience stay next to each other. */ export { setAgentProgress, type ProgressAudience }; /** * Compact an agent conversation when the model/provider itself reported * context exhaustion on a successful response (see isContextOverflowSignal). * The provider's report is authoritative over local estimates, so this runs * immediately, the same structural compaction as the runner's * prompt-too-long emergency path, before any further chat call. * Returns true when compaction ran. */ export declare function maybeCompactAfterModelContextWarning(opts: { response: Pick; conversation: { getMessagesForLLM(): ProviderMessage[]; replaceMessagesForLLM(messages: ProviderMessage[]): void; }; record: { id: string; progress?: string | undefined; progressAudience?: ProgressAudience | undefined; }; turn: number; contextWindowAwarenessEnabled: boolean; emitProgress: (progress: string) => void; }): boolean; /** * Summarize tool call arguments into a brief display string for progress labels. * * Returns an INFORMATIVE argument or nothing at all. The old "otherwise use the * first string value found" fallback is gone: an arbitrary flat field is not a * summary of what a tool is doing, it just looks like one. A bare tool name is * the honest answer when nothing here recognises the shape of the call. */ export declare function summarizeToolArgs(args: Record): string; //# sourceMappingURL=orchestrator-utils.d.ts.map