/** * Controls what data is extracted from git commits */ export type ExtractionDetailLevel = 'minimal' | 'standard' | 'detailed' | 'comprehensive'; /** * Configuration for git commit extraction detail levels */ export interface ExtractionConfig { detailLevel?: ExtractionDetailLevel; includeStats?: boolean; includeDiff?: boolean; maxDiffLinesPerCommit?: number; maxDiffLinesPerFile?: number; maxFilesInDiff?: number; excludeDiffPatterns?: string[]; prioritizeDiffPatterns?: string[]; } /** * Types for project configuration */ export interface Project { path: string; name?: string; enabled: boolean; maxCommits?: number; cronSchedule?: string; id?: string; remote?: string; standupId?: string; extraction?: ExtractionConfig; branchWhitelist?: string[]; } /** * Legacy standup configuration (for backwards compatibility) */ export interface StandupConfig { enabled: boolean; standupId: string; standupName?: string; cronSchedule?: string; repositoryPath?: string; } /** * Standup configuration within a project */ export interface StandupProjectConfig { id: string; name?: string; enabled: boolean; cronSchedule?: string; maxConcurrentExtracts?: number; maxConcurrentWips?: number; } /** * LLM Provider types */ export type LLMProvider = 'openai' | 'anthropic' | 'google' | 'deepseek' | 'ollama' | 'openai-compatible'; export interface OpenAIConfig { apiKey?: string; baseURL?: string; model?: string; } export interface AnthropicConfig { apiKey?: string; model?: string; } export interface GoogleConfig { apiKey?: string; model?: string; } export interface DeepSeekConfig { apiKey?: string; baseURL?: string; model?: string; } export interface OllamaConfig { baseURL?: string; model: string; } export interface OpenAICompatibleConfig { baseURL: string; apiKey?: string; model: string; } export interface LLMConfig { provider: LLMProvider; openai?: OpenAIConfig; anthropic?: AnthropicConfig; google?: GoogleConfig; deepseek?: DeepSeekConfig; ollama?: OllamaConfig; openaiCompatible?: OpenAICompatibleConfig; } /** * Main configuration type */ export interface BragdocConfig { auth?: { token?: string; expiresAt?: number; }; projects: Project[]; standups: StandupProjectConfig[]; repositories?: Project[]; llm?: LLMConfig; settings: { maxCommitsPerBatch: number; defaultMaxCommits: number; cacheEnabled: boolean; dataCacheTimeout?: number; apiBaseUrl?: string; defaultExtraction?: ExtractionConfig; }; } /** * Default configuration settings */ export declare const DEFAULT_CONFIG: BragdocConfig; //# sourceMappingURL=types.d.ts.map