/** * 클러스터 요약 — LLM(가능 시) 또는 extractive fallback. * * FR-009(한 클러스터 실패 시 나머지 계속)는 `SleepConsolidationService` 루프에서 처리한다. * 여기서는 LLM 호출 실패 시 extractive로 전환해 빈 요약만 피한다(스킵·에러 집계는 상위 담당). */ import type { EpisodicCandidateRow } from '../repositories/consolidation-repository.js'; export type SummarizationMethod = 'llm' | 'extractive'; export interface SummarizeClusterInput { clusterEpisodes: EpisodicCandidateRow[]; } export declare class SummarizationService { hasLlmConfigured(): boolean; extractiveFallback(episodes: EpisodicCandidateRow[]): { content: string; method: SummarizationMethod; }; /** * LLM 키가 있으면 OpenAI Chat Completions (gpt-4o-mini 기본) 호출, 실패 시 extractive */ summarizeCluster(input: SummarizeClusterInput): Promise<{ content: string; method: SummarizationMethod; }>; /** * 기존 시맨틱 본문 + 신규 에피소딕 묶음을 하나의 시맨틱으로 재요약 (병합 경로) */ summarizeMergeForConsolidation(input: { existingSemanticContent: string; clusterEpisodes: EpisodicCandidateRow[]; }): Promise<{ content: string; method: SummarizationMethod; }>; } //# sourceMappingURL=summarization-service.d.ts.map