/**
 * @optage/sdk — Agent orchestration and wiki generation SDK.
 */

/* === Types (shared protocol contracts) === */
export * from "./types/agui-types";
export * from "./types/chat-types";
export * from "./types/wiki-model";
export type { RepositoryResolver } from "./types/repository";
export { setRepositoryResolver, getRepositorySourcePath } from "./types/repository";

/* === RepoPilot code analysis engine === */
export * from "./repopilot/index";

/* === Agent orchestration === */
export { runAgent } from "./agent/agent";
export { serverConfig } from "./agent/config";
export { compactAguiHistory, estimateHistoryTokens } from "./agent/chat-compaction";
export { checkLlmReachable, llmStatus } from "./agent/llm-status";
export { runRustAgent } from "./agent/rust-agent-adapter";
export type { RustAgentOptions, NdjsonEvent } from "./agent/rust-agent-adapter";
export { buildSystemPrompt } from "./agent/prompts";

/* === Wiki generation engine === */
export { WIKI_DIR_NAME } from "./wiki/constants";
export { generateWiki } from "./wiki/generator";
export * from "./wiki/index";
export type {
  WikiGenerationResult,
  WikiProgressUpdate,
  ProgressCallback,
} from "./wiki/types";
