import type { AgentSession } from '../agent/session.js'; import type { AgentConfig } from '../agent/types.js'; import type { MemoryStore } from '../agent/memory/index.js'; import type { WorkspaceStore } from '../agent/workspace/workspace-store.js'; import type { loadConfig } from '../cli/config.js'; import type { createTelegramTraceWriter } from './construct-session.js'; import type { loadTelegramMcpManager } from './mcp-session.js'; export type TelegramBotConfig = ReturnType; export type TelegramTraceWriter = ReturnType; export type TelegramMcpManager = Awaited>; export interface TelegramSessionBuildContext { sessionConfig: AgentConfig; config: TelegramBotConfig; layeredBasePrompt: string | undefined; sessionCwd: string | undefined; maxOutputTokens: number | undefined; maxToolUseIterations: number | undefined; traceWriter: TelegramTraceWriter; mcpManager: TelegramMcpManager; memoryStore: MemoryStore; workspaceStore?: WorkspaceStore; chatId?: number; threadId?: number; reportSession: (session: AgentSession) => void; }