// Core session management export { AgentSession, type AgentSessionConfig, type AgentSessionEvent, type AgentSessionEventListener, type ModelCycleResult, type PromptOptions, type SessionStats, } from "./core/agent-session.js"; // Auth and model registry export { type ApiKeyCredential, type AuthCredential, AuthStorage, type OAuthCredential } from "./core/auth-storage.js"; // Compaction export { type BranchPreparation, type BranchSummaryResult, type CollectEntriesResult, type CompactionResult, type CutPointResult, calculateContextTokens, collectEntriesForBranchSummary, compact, DEFAULT_COMPACTION_SETTINGS, estimateTokens, type FileOperations, findCutPoint, findTurnStartIndex, type GenerateBranchSummaryOptions, generateBranchSummary, generateSummary, getLastAssistantUsage, prepareBranchEntries, serializeConversation, shouldCompact, } from "./core/compaction/index.js"; export { createEventBus, type EventBus, type EventBusController } from "./core/event-bus.js"; // Extension system export type { AgentEndEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, BeforeAgentStartEvent, ContextEvent, ExecOptions, ExecResult, ExtensionAPI, ExtensionCommandContext, ExtensionContext, ExtensionError, ExtensionEvent, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionShortcut, ExtensionUIContext, LoadExtensionsResult, LoadedExtension, MessageRenderer, MessageRenderOptions, RegisteredCommand, RegisteredTool, SessionBeforeBranchEvent, SessionBeforeCompactEvent, SessionBeforeSwitchEvent, SessionBeforeTreeEvent, SessionBranchEvent, SessionCompactEvent, SessionShutdownEvent, SessionStartEvent, SessionSwitchEvent, SessionTreeEvent, ToolCallEvent, ToolDefinition, ToolRenderResultOptions, ToolResultEvent, TurnEndEvent, TurnStartEvent, } from "./core/extensions/index.js"; export { discoverAndLoadExtensions, ExtensionRunner, isBashToolResult, isEditToolResult, isFindToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isWriteToolResult, loadExtensions, wrapRegisteredTool, wrapRegisteredTools, wrapToolsWithExtensions, wrapToolWithExtensions, } from "./core/extensions/index.js"; export { convertToLlm } from "./core/messages.js"; export { ModelRegistry } from "./core/model-registry.js"; // SDK for programmatic usage export { type BuildSystemPromptOptions, buildSystemPrompt, type CreateAgentSessionOptions, type CreateAgentSessionResult, // Factory createAgentSession, createBashTool, // Tool factories (for custom cwd) createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createReadOnlyTools, createReadTool, createWriteTool, // Discovery discoverAuthStorage, discoverContextFiles, discoverExtensions, discoverModels, discoverPromptTemplates, discoverSkills, loadSettings, type PromptTemplate, // Pre-built tools (use process.cwd()) readOnlyTools, } from "./core/sdk.js"; export { type BranchSummaryEntry, buildSessionContext, type CompactionEntry, CURRENT_SESSION_VERSION, type CustomEntry, type CustomMessageEntry, type FileEntry, getLatestCompactionEntry, type ModelChangeEntry, migrateSessionEntries, type NewSessionOptions, parseSessionEntries, type SessionContext, type SessionEntry, type SessionEntryBase, type SessionHeader, type SessionInfo, SessionManager, type SessionMessageEntry, type ThinkingLevelChangeEntry, } from "./core/session-manager.js"; export { type CompactionSettings, type ImageSettings, type RetrySettings, type Settings, SettingsManager, type SkillsSettings, } from "./core/settings-manager.js"; // Skills export { formatSkillsForPrompt, type LoadSkillsFromDirOptions, type LoadSkillsResult, loadSkills, loadSkillsFromDir, type Skill, type SkillFrontmatter, type SkillWarning, } from "./core/skills.js"; // Tools export { type BashToolDetails, bashTool, codingTools, editTool, type FindToolDetails, findTool, type GrepToolDetails, grepTool, type LsToolDetails, lsTool, type ReadToolDetails, type ReadToolOptions, readTool, type ToolsOptions, type TruncationResult, writeTool, } from "./core/tools/index.js"; // Main entry point export { main } from "./main.js"; // UI components for extensions export { BorderedLoader } from "./modes/interactive/components/bordered-loader.js"; // Theme utilities for custom tools and extensions export { getMarkdownTheme, getSelectListTheme, getSettingsListTheme, Theme, type ThemeColor, } from "./modes/interactive/theme/theme.js";