{"version":3,"file":"data.d.cts","names":["BaseContentBlock","ImageDetail","MessageContentText","MessageContentImageUrl","MessageContentComplex","Record","Data","BaseDataContentBlock","URLContentBlock","Base64ContentBlock","PlainTextContentBlock","IDContentBlock","DataContentBlock","isDataContentBlock","isURLContentBlock","isBase64ContentBlock","isPlainTextContentBlock","isIDContentBlock","convertToOpenAIImageBlock","parseMimeType","parseBase64DataUrl","dataUrl","asTypedArray","Uint8Array","ProviderFormatTypes","TextFormat","ImageFormat","AudioFormat","FileFormat","VideoFormat","StandardContentBlockConverter","Partial","StandardImageBlock","Formats","StandardAudioBlock","StandardFileBlock","StandardTextBlock","convertToProviderContentBlock"],"sources":["../../../src/messages/content/data.d.ts"],"sourcesContent":["import { BaseContentBlock } from \"./base.js\";\n/**\n * @deprecated\n * Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport type ImageDetail = \"auto\" | \"low\" | \"high\";\n/**\n * @deprecated\n * Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport type MessageContentText = {\n    type: \"text\";\n    text: string;\n};\n/**\n * @deprecated\n * Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport type MessageContentImageUrl = {\n    type: \"image_url\";\n    image_url: string | {\n        url: string;\n        detail?: ImageDetail;\n    };\n};\n/**\n * @deprecated\n * Use {@link ContentBlock} instead.\n */\nexport type MessageContentComplex = MessageContentText | MessageContentImageUrl\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n | (Record<string, any> & {\n    type?: \"text\" | \"image_url\" | string;\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n | (Record<string, any> & {\n    type?: never;\n});\nexport type Data = never;\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport declare namespace Data {\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    interface BaseDataContentBlock extends BaseContentBlock {\n        mime_type?: string;\n        metadata?: Record<string, unknown>;\n    }\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    interface URLContentBlock extends BaseDataContentBlock {\n        type: \"image\" | \"audio\" | \"file\";\n        source_type: \"url\";\n        url: string;\n    }\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    interface Base64ContentBlock extends BaseDataContentBlock {\n        type: \"image\" | \"audio\" | \"file\";\n        source_type: \"base64\";\n        data: string;\n    }\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    interface PlainTextContentBlock extends BaseDataContentBlock {\n        type: \"file\" | \"text\";\n        source_type: \"text\";\n        text: string;\n    }\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    interface IDContentBlock extends BaseDataContentBlock {\n        type: \"image\" | \"audio\" | \"file\";\n        source_type: \"id\";\n        id: string;\n    }\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Standard} instead\n     */\n    type DataContentBlock = URLContentBlock | Base64ContentBlock | PlainTextContentBlock | IDContentBlock;\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Standard} instead\n     */\n    type StandardImageBlock = (URLContentBlock | Base64ContentBlock | IDContentBlock) & {\n        type: \"image\";\n    };\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Standard} instead\n     */\n    type StandardAudioBlock = (URLContentBlock | Base64ContentBlock | IDContentBlock) & {\n        type: \"audio\";\n    };\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Standard} instead\n     */\n    type StandardFileBlock = (URLContentBlock | Base64ContentBlock | IDContentBlock | PlainTextContentBlock) & {\n        type: \"file\";\n    };\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Standard} instead\n     */\n    type StandardTextBlock = PlainTextContentBlock & {\n        type: \"text\";\n    };\n    /**\n     * @deprecated\n     * Use {@link ContentBlock.Multimodal.Data} instead\n     */\n    type DataContentBlockType = DataContentBlock[\"type\"];\n}\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function isDataContentBlock(content_block: object): content_block is Data.DataContentBlock;\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function isURLContentBlock(content_block: object): content_block is Data.URLContentBlock;\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function isBase64ContentBlock(content_block: object): content_block is Data.Base64ContentBlock;\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function isPlainTextContentBlock(content_block: object): content_block is Data.PlainTextContentBlock;\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function isIDContentBlock(content_block: object): content_block is Data.IDContentBlock;\n/**\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function convertToOpenAIImageBlock(content_block: Data.URLContentBlock | Data.Base64ContentBlock): {\n    type: string;\n    image_url: {\n        url: string;\n    };\n};\n/**\n * Utility function for ChatModelProviders. Parses a mime type into a type, subtype, and parameters.\n *\n * @param mime_type - The mime type to parse.\n * @returns An object containing the type, subtype, and parameters.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function parseMimeType(mime_type: string): {\n    type: string;\n    subtype: string;\n    parameters: Record<string, string>;\n};\n/**\n * Utility function for ChatModelProviders. Parses a base64 data URL into a typed array or string.\n *\n * @param dataUrl - The base64 data URL to parse.\n * @param asTypedArray - Whether to return the data as a typed array.\n * @returns An object containing the parsed data and mime type, or undefined if the data URL is invalid.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function parseBase64DataUrl({ dataUrl, asTypedArray }: {\n    dataUrl: string;\n    asTypedArray: true;\n}): {\n    data: Uint8Array;\n    mime_type: string;\n} | undefined;\n/**\n * Utility function for ChatModelProviders. Parses a base64 data URL into a typed array or string.\n *\n * @param dataUrl - The base64 data URL to parse.\n * @param asTypedArray - Whether to return the data as a typed array.\n * @returns The parsed data and mime type, or undefined if the data URL is invalid.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function parseBase64DataUrl({ dataUrl, asTypedArray }: {\n    dataUrl: string;\n    asTypedArray?: false;\n}): {\n    data: string;\n    mime_type: string;\n} | undefined;\n/**\n * A bag of provider-specific content block types.\n *\n * Allows implementations of {@link StandardContentBlockConverter} and related to be defined only in\n * terms of the types they support. Also allows for forward compatibility as the set of known\n * standard types grows, as the set of types can be extended without breaking existing\n * implementations of the aforementioned interfaces.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport type ProviderFormatTypes<TextFormat = unknown, ImageFormat = unknown, AudioFormat = unknown, FileFormat = unknown, VideoFormat = unknown> = {\n    text: TextFormat;\n    image: ImageFormat;\n    audio: AudioFormat;\n    file: FileFormat;\n    video: VideoFormat;\n};\n/**\n * Utility interface for converting between standard and provider-specific data content blocks, to be\n * used when implementing chat model providers.\n *\n * Meant to be used with {@link convertToProviderContentBlock} and\n * {@link convertToStandardContentBlock} rather than being consumed directly.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport interface StandardContentBlockConverter<Formats extends Partial<ProviderFormatTypes>> {\n    /**\n     * The name of the provider type that corresponds to the provider-specific content block types\n     * that this converter supports.\n     */\n    providerName: string;\n    /**\n     * Convert from a standard image block to a provider's proprietary image block format.\n     * @param block - The standard image block to convert.\n     * @returns The provider image block.\n     */\n    fromStandardImageBlock?(block: Data.StandardImageBlock): Formats[\"image\"];\n    /**\n     * Convert from a standard audio block to a provider's proprietary audio block format.\n     * @param block - The standard audio block to convert.\n     * @returns The provider audio block.\n     */\n    fromStandardAudioBlock?(block: Data.StandardAudioBlock): Formats[\"audio\"];\n    /**\n     * Convert from a standard file block to a provider's proprietary file block format.\n     * @param block - The standard file block to convert.\n     * @returns The provider file block.\n     */\n    fromStandardFileBlock?(block: Data.StandardFileBlock): Formats[\"file\"];\n    /**\n     * Convert from a standard text block to a provider's proprietary text block format.\n     * @param block - The standard text block to convert.\n     * @returns The provider text block.\n     */\n    fromStandardTextBlock?(block: Data.StandardTextBlock): Formats[\"text\"];\n}\n/**\n * Convert from a standard data content block to a provider's proprietary data content block format.\n *\n * Don't override this method. Instead, override the more specific conversion methods and use this\n * method unmodified.\n *\n * @param block - The standard data content block to convert.\n * @returns The provider data content block.\n * @throws An error if the standard data content block type is not supported.\n *\n * @deprecated Don't use data content blocks. Use {@link ContentBlock.Multimodal.Data} instead.\n */\nexport declare function convertToProviderContentBlock<Formats extends Partial<ProviderFormatTypes>>(block: Data.DataContentBlock, converter: StandardContentBlockConverter<Formats>): Formats[keyof Formats];\n"],"mappings":"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"}