UNPKG

document-outline-extractor

Version:

Extract structured outlines from documents with optional AI enhancement

84 lines 2.01 kB
export interface OutlineNode { level: number; title: string; children: OutlineNode[]; metadata?: { lineNumber?: number; wordCount?: number; [key: string]: any; }; } export interface Heading { level: number; title: string; lineNumber?: number; } export type OutlineFormat = 'tree' | 'markdown' | 'json' | 'flat'; export type ChunkingStrategy = 'heading' | 'size' | 'smart'; export interface ExtractOptions { format?: OutlineFormat; maxDepth?: number; minHeadingLevel?: number; maxHeadingLevel?: number; includeMetadata?: boolean; chunkingStrategy?: ChunkingStrategy; } export interface OpenAIConfig { baseUrl: string; apiKey: string; model?: string; apiVersion?: string; temperature?: number; maxTokens?: number; } export interface OutlineExtractorConfig { openai?: OpenAIConfig; chunkSize?: number; qualityThreshold?: number; defaultFormat?: OutlineFormat; caching?: boolean; } export interface QualityMetrics { score: number; richness: number; balance: number; coherence: number; coverage: number; headingCount: number; depth: number; } export interface ChatMessage { role: 'system' | 'user' | 'assistant'; content: string; } export interface ChatCompletionOptions { baseUrl: string; apiKey: string; apiVersion?: string; model: string; messages: ChatMessage[]; temperature?: number; maxTokens?: number; maxCompletionTokens?: number; responseFormat?: any; reasoningEffort?: string; } export interface ChatCompletionResponse { id?: string; created?: number; model?: string; choices?: Array<{ index?: number; message?: { role: string; content?: string; }; finishReason?: string; }>; usage?: { promptTokens?: number; completionTokens?: number; totalTokens?: number; }; } //# sourceMappingURL=types.d.ts.map