UNPKG

@langchain/core

Version:
1 lines 4.72 kB
{"version":3,"file":"data.cjs","names":["isURLContentBlock","isBase64ContentBlock","isIDContentBlock","_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,gCACd,OACuB;CACvB,IAAIA,aAAAA,kBAAkB,KAAK,GACzB,OAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,KAAK,MAAM;EACX,UAAU,MAAM;CAClB;CAEF,IAAIC,aAAAA,qBAAqB,KAAK,GAC5B,OAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM,aAAa;EAC7B,MAAM,MAAM;EACZ,UAAU,MAAM;CAClB;CAEF,IAAIC,aAAAA,iBAAiB,KAAK,GACxB,OAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,QAAQ,MAAM;EACd,UAAU,MAAM;CAClB;CAEF,OAAO;AACT;AAEA,SAAgB,2BACd,SAC8B;CAC9B,OAAO,QAAQ,IAAI,+BAA+B;AACpD;AAEA,SAAgB,kBAAkB,OAA8B;CAC9D,IAAIC,cAAAA,gBAAgB,OAAO,WAAW,KAAKC,cAAAA,UAAU,MAAM,SAAS,GAClE,OAAO;CAET,IAAID,cAAAA,gBAAgB,OAAO,aAAa,KAAKC,cAAAA,UAAU,MAAM,WAAW,GACtE,OAAO;CAET,IAAID,cAAAA,gBAAgB,OAAO,MAAM,KAAKC,cAAAA,UAAU,MAAM,IAAI,GACxD,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,+BACd,OACuB;CACvB,IACED,cAAAA,gBAAgB,OAAO,WAAW,KAClCC,cAAAA,UAAU,MAAM,SAAS,KACzBC,cAAAA,UAAU,MAAM,UAAU,GAAG,GAC7B;EACA,MAAM,SAASC,aAAAA,mBAAmB,EAAE,SAAS,MAAM,UAAU,IAAI,CAAC;EAClE,IAAI,QACF,OAAO;GACL,MAAM;GACN,UAAU,OAAO;GACjB,MAAM,OAAO;EACf;OAEA,OAAO;GACL,MAAM;GACN,KAAK,MAAM,UAAU;EACvB;CAEJ,OAAO,IACLH,cAAAA,gBAAgB,OAAO,aAAa,KACpCC,cAAAA,UAAU,MAAM,WAAW,KAC3BC,cAAAA,UAAU,MAAM,YAAY,IAAI,KAChCA,cAAAA,UAAU,MAAM,YAAY,MAAM,GAElC,OAAO;EACL,MAAM;EACN,MAAM,MAAM,YAAY;EACxB,UAAU,SAAS,MAAM,YAAY;CACvC;MACK,IACLF,cAAAA,gBAAgB,OAAO,MAAM,KAC7BC,cAAAA,UAAU,MAAM,IAAI,KACpBC,cAAAA,UAAU,MAAM,KAAK,IAAI,GACzB;EACA,MAAM,SAASC,aAAAA,mBAAmB,EAAE,SAAS,MAAM,KAAK,KAAK,CAAC;EAC9D,IAAI,QACF,OAAO;GACL,MAAM;GACN,MAAM,OAAO;GACb,UAAU,OAAO;EACnB;OACK,IAAID,cAAAA,UAAU,MAAM,KAAK,OAAO,GACrC,OAAO;GACL,MAAM;GACN,QAAQ,MAAM,KAAK;EACrB;CAEJ;CACA,OAAO;AACT"}