{"version":3,"file":"summarization.mjs","names":[],"sources":["../src/summarization.ts"],"sourcesContent":["import { Context, Effect, Layer } from 'effect'\nimport type { KnowledgeMetadata } from './documents.ts'\nimport type { KnowledgeSummarizationError } from './errors.ts'\n\nexport type KnowledgeDocumentSummary = {\n  readonly title?: string\n  readonly summary?: string\n}\n\nexport type SummarizeKnowledgeDocumentInput = {\n  readonly content: string\n  readonly sourceTitle?: string\n  readonly metadata?: KnowledgeMetadata\n}\n\nexport type KnowledgeSummarizerApi = {\n  readonly summarize: (\n    input: SummarizeKnowledgeDocumentInput\n  ) => Effect.Effect<KnowledgeDocumentSummary, KnowledgeSummarizationError>\n}\n\nexport class KnowledgeSummarizer extends Context.Service<\n  KnowledgeSummarizer,\n  KnowledgeSummarizerApi\n>()('@yolk-sdk/knowledge/KnowledgeSummarizer') {}\n\nexport const NoopKnowledgeSummarizerLive = Layer.succeed(KnowledgeSummarizer, {\n  summarize: input => Effect.succeed({ title: input.sourceTitle })\n})\n"],"mappings":";;AAqBA,IAAa,sBAAb,cAAyC,QAAQ,QAG/C,EAAE,yCAAyC,EAAE,CAAC;AAEhD,MAAa,8BAA8B,MAAM,QAAQ,qBAAqB,EAC5E,YAAW,UAAS,OAAO,QAAQ,EAAE,OAAO,MAAM,YAAY,CAAC,EACjE,CAAC"}