import type { AgentMessage } from '@earendil-works/pi-agent-core'; import { SessionManager } from '@earendil-works/pi-coding-agent'; import type { Api, Model } from '@earendil-works/pi-ai'; import { type CompactionExecutionOptions, type CompactionResult } from '../memory/compaction.js'; import type { SessionStore } from '../../session/store.js'; export interface EmbeddedTranscriptRuntime { readonly runtimeId: string; readonly sessionId: string; readonly persistent: boolean; openSessionManager(cwd: string): SessionManager; loadMessages(): Promise; compact(messages: AgentMessage[], model: Model, instructions?: string, force?: boolean, options?: CompactionExecutionOptions): Promise; } export declare function createSqliteTranscriptRuntime(params: { sessionKey: string; sessionStore: SessionStore; }): Promise; export declare class InMemoryTranscriptRuntime implements EmbeddedTranscriptRuntime { readonly persistent = false; readonly runtimeId: string; readonly sessionId: string; private readonly sessionManager; private readonly compactor; private readonly compactionRows; private baselineEntryCount; constructor(params: { runtimeId: string; cwd: string; initialMessages?: readonly AgentMessage[]; }); openSessionManager(_cwd: string): SessionManager; loadMessages(): Promise; captureBaseline(): void; loadConversationMessages(): AgentMessage[]; compact(_messages: AgentMessage[], model: Model, instructions?: string, force?: boolean, options?: CompactionExecutionOptions): Promise; }