UNPKG

@genkit-ai/anthropic

Version:

Genkit AI framework plugin for Anthropic APIs.

73 lines 2.33 kB
import { z } from "genkit"; const baseCitationSchema = z.object({ cited_text: z.string(), document_index: z.number(), document_title: z.string().nullable().optional(), file_id: z.string().nullable().optional() }); const charLocationCitationSchema = baseCitationSchema.extend({ type: z.literal("char_location"), start_char_index: z.number(), end_char_index: z.number() }); const pageLocationCitationSchema = baseCitationSchema.extend({ type: z.literal("page_location"), start_page_number: z.number(), end_page_number: z.number() }); const contentBlockLocationCitationSchema = baseCitationSchema.extend({ type: z.literal("content_block_location"), start_block_index: z.number(), end_block_index: z.number() }); const citationSchema = z.discriminatedUnion("type", [ charLocationCitationSchema, pageLocationCitationSchema, contentBlockLocationCitationSchema ]); function fromAnthropicCitation(citation) { if (citation.document_index === void 0) { return void 0; } const result = citationSchema.safeParse(citation); if (!result.success) { return void 0; } const parsed = result.data; switch (parsed.type) { case "char_location": return { type: "char_location", citedText: parsed.cited_text, documentIndex: parsed.document_index, documentTitle: parsed.document_title ?? void 0, fileId: parsed.file_id ?? void 0, startCharIndex: parsed.start_char_index, endCharIndex: parsed.end_char_index }; case "page_location": return { type: "page_location", citedText: parsed.cited_text, documentIndex: parsed.document_index, documentTitle: parsed.document_title ?? void 0, fileId: parsed.file_id ?? void 0, startPageNumber: parsed.start_page_number, endPageNumber: parsed.end_page_number }; case "content_block_location": return { type: "content_block_location", citedText: parsed.cited_text, documentIndex: parsed.document_index, documentTitle: parsed.document_title ?? void 0, fileId: parsed.file_id ?? void 0, startBlockIndex: parsed.start_block_index, endBlockIndex: parsed.end_block_index }; } } export { fromAnthropicCitation }; //# sourceMappingURL=citations.mjs.map