UNPKG

@langchain/core

Version:
1 lines 4.66 kB
{"version":3,"file":"data.cjs","names":["block: ContentBlock","isURLContentBlock","isBase64ContentBlock","isIDContentBlock","content: Array<ContentBlock>","_isContentBlock","_isObject","_isString","parseBase64DataUrl"],"sources":["../../../src/messages/block_translators/data.ts"],"sourcesContent":["import {\n parseBase64DataUrl,\n isBase64ContentBlock,\n isIDContentBlock,\n isURLContentBlock,\n} from \"../content/data.js\";\nimport type { ContentBlock } from \"../content/index.js\";\nimport { _isContentBlock, _isObject, _isString } from \"./utils.js\";\n\nexport function convertToV1FromDataContentBlock(\n block: ContentBlock\n): ContentBlock.Standard {\n if (isURLContentBlock(block)) {\n return {\n type: block.type,\n mimeType: block.mime_type,\n url: block.url,\n metadata: block.metadata,\n };\n }\n if (isBase64ContentBlock(block)) {\n return {\n type: block.type,\n mimeType: block.mime_type ?? \"application/octet-stream\",\n data: block.data,\n metadata: block.metadata,\n };\n }\n if (isIDContentBlock(block)) {\n return {\n type: block.type,\n mimeType: block.mime_type,\n fileId: block.id,\n metadata: block.metadata,\n };\n }\n return block as ContentBlock.Standard;\n}\n\nexport function convertToV1FromDataContent(\n content: Array<ContentBlock>\n): Array<ContentBlock.Standard> {\n return content.map(convertToV1FromDataContentBlock);\n}\n\nexport function isOpenAIDataBlock(block: ContentBlock): boolean {\n if (_isContentBlock(block, \"image_url\") && _isObject(block.image_url)) {\n return true;\n }\n if (_isContentBlock(block, \"input_audio\") && _isObject(block.input_audio)) {\n return true;\n }\n if (_isContentBlock(block, \"file\") && _isObject(block.file)) {\n return true;\n }\n return false;\n}\n\nexport function convertToV1FromOpenAIDataBlock(\n block: ContentBlock\n): ContentBlock.Standard {\n if (\n _isContentBlock(block, \"image_url\") &&\n _isObject(block.image_url) &&\n _isString(block.image_url.url)\n ) {\n const parsed = parseBase64DataUrl({ dataUrl: block.image_url.url });\n if (parsed) {\n return {\n type: \"image\",\n mimeType: parsed.mime_type,\n data: parsed.data,\n };\n } else {\n return {\n type: \"image\",\n url: block.image_url.url,\n };\n }\n } else if (\n _isContentBlock(block, \"input_audio\") &&\n _isObject(block.input_audio) &&\n _isString(block.input_audio.data) &&\n _isString(block.input_audio.format)\n ) {\n return {\n type: \"audio\",\n data: block.input_audio.data,\n mimeType: `audio/${block.input_audio.format}`,\n };\n } else if (\n _isContentBlock(block, \"file\") &&\n _isObject(block.file) &&\n _isString(block.file.data)\n ) {\n const parsed = parseBase64DataUrl({ dataUrl: block.file.data });\n if (parsed) {\n return {\n type: \"file\",\n data: parsed.data,\n mimeType: parsed.mime_type,\n };\n } else if (_isString(block.file.file_id)) {\n return {\n type: \"file\",\n fileId: block.file.file_id,\n };\n }\n }\n return block as ContentBlock.Standard;\n}\n"],"mappings":";;;;AASA,SAAgB,gCACdA,OACuB;AACvB,KAAIC,+BAAkB,MAAM,CAC1B,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,KAAK,MAAM;EACX,UAAU,MAAM;CACjB;AAEH,KAAIC,kCAAqB,MAAM,CAC7B,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM,aAAa;EAC7B,MAAM,MAAM;EACZ,UAAU,MAAM;CACjB;AAEH,KAAIC,8BAAiB,MAAM,CACzB,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,QAAQ,MAAM;EACd,UAAU,MAAM;CACjB;AAEH,QAAO;AACR;AAED,SAAgB,2BACdC,SAC8B;AAC9B,QAAO,QAAQ,IAAI,gCAAgC;AACpD;AAED,SAAgB,kBAAkBJ,OAA8B;AAC9D,KAAIK,8BAAgB,OAAO,YAAY,IAAIC,wBAAU,MAAM,UAAU,CACnE,QAAO;AAET,KAAID,8BAAgB,OAAO,cAAc,IAAIC,wBAAU,MAAM,YAAY,CACvE,QAAO;AAET,KAAID,8BAAgB,OAAO,OAAO,IAAIC,wBAAU,MAAM,KAAK,CACzD,QAAO;AAET,QAAO;AACR;AAED,SAAgB,+BACdN,OACuB;AACvB,KACEK,8BAAgB,OAAO,YAAY,IACnCC,wBAAU,MAAM,UAAU,IAC1BC,wBAAU,MAAM,UAAU,IAAI,EAC9B;EACA,MAAM,SAASC,gCAAmB,EAAE,SAAS,MAAM,UAAU,IAAK,EAAC;AACnE,MAAI,OACF,QAAO;GACL,MAAM;GACN,UAAU,OAAO;GACjB,MAAM,OAAO;EACd;MAED,QAAO;GACL,MAAM;GACN,KAAK,MAAM,UAAU;EACtB;CAEJ,WACCH,8BAAgB,OAAO,cAAc,IACrCC,wBAAU,MAAM,YAAY,IAC5BC,wBAAU,MAAM,YAAY,KAAK,IACjCA,wBAAU,MAAM,YAAY,OAAO,CAEnC,QAAO;EACL,MAAM;EACN,MAAM,MAAM,YAAY;EACxB,UAAU,CAAC,MAAM,EAAE,MAAM,YAAY,QAAQ;CAC9C;UAEDF,8BAAgB,OAAO,OAAO,IAC9BC,wBAAU,MAAM,KAAK,IACrBC,wBAAU,MAAM,KAAK,KAAK,EAC1B;EACA,MAAM,SAASC,gCAAmB,EAAE,SAAS,MAAM,KAAK,KAAM,EAAC;AAC/D,MAAI,OACF,QAAO;GACL,MAAM;GACN,MAAM,OAAO;GACb,UAAU,OAAO;EAClB;WACQD,wBAAU,MAAM,KAAK,QAAQ,CACtC,QAAO;GACL,MAAM;GACN,QAAQ,MAAM,KAAK;EACpB;CAEJ;AACD,QAAO;AACR"}