export interface CompactionContextInjector { capture: (sessionID: string) => Promise; inject: (sessionID?: string) => string; event: (input: { event: { type: string; properties?: unknown; }; }) => Promise; } export type CompactionContextClient = { client: { session: { messages: (input: { path: { id: string; }; }) => Promise; promptAsync: (input: { path: { id: string; }; body: { noReply?: boolean; agent?: string; model?: { providerID: string; modelID: string; }; tools?: Record; parts: Array<{ type: "text"; text: string; }>; }; query?: { directory: string; }; }) => Promise; }; }; directory: string; };