{"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;AACvB,KAAIA,aAAAA,kBAAkB,MAAM,CAC1B,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,KAAK,MAAM;EACX,UAAU,MAAM;EACjB;AAEH,KAAIC,aAAAA,qBAAqB,MAAM,CAC7B,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM,aAAa;EAC7B,MAAM,MAAM;EACZ,UAAU,MAAM;EACjB;AAEH,KAAIC,aAAAA,iBAAiB,MAAM,CACzB,QAAO;EACL,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,QAAQ,MAAM;EACd,UAAU,MAAM;EACjB;AAEH,QAAO;;AAGT,SAAgB,2BACd,SAC8B;AAC9B,QAAO,QAAQ,IAAI,gCAAgC;;AAGrD,SAAgB,kBAAkB,OAA8B;AAC9D,KAAIC,cAAAA,gBAAgB,OAAO,YAAY,IAAIC,cAAAA,UAAU,MAAM,UAAU,CACnE,QAAO;AAET,KAAID,cAAAA,gBAAgB,OAAO,cAAc,IAAIC,cAAAA,UAAU,MAAM,YAAY,CACvE,QAAO;AAET,KAAID,cAAAA,gBAAgB,OAAO,OAAO,IAAIC,cAAAA,UAAU,MAAM,KAAK,CACzD,QAAO;AAET,QAAO;;AAGT,SAAgB,+BACd,OACuB;AACvB,KACED,cAAAA,gBAAgB,OAAO,YAAY,IACnCC,cAAAA,UAAU,MAAM,UAAU,IAC1BC,cAAAA,UAAU,MAAM,UAAU,IAAI,EAC9B;EACA,MAAM,SAASC,aAAAA,mBAAmB,EAAE,SAAS,MAAM,UAAU,KAAK,CAAC;AACnE,MAAI,OACF,QAAO;GACL,MAAM;GACN,UAAU,OAAO;GACjB,MAAM,OAAO;GACd;MAED,QAAO;GACL,MAAM;GACN,KAAK,MAAM,UAAU;GACtB;YAGHH,cAAAA,gBAAgB,OAAO,cAAc,IACrCC,cAAAA,UAAU,MAAM,YAAY,IAC5BC,cAAAA,UAAU,MAAM,YAAY,KAAK,IACjCA,cAAAA,UAAU,MAAM,YAAY,OAAO,CAEnC,QAAO;EACL,MAAM;EACN,MAAM,MAAM,YAAY;EACxB,UAAU,SAAS,MAAM,YAAY;EACtC;UAEDF,cAAAA,gBAAgB,OAAO,OAAO,IAC9BC,cAAAA,UAAU,MAAM,KAAK,IACrBC,cAAAA,UAAU,MAAM,KAAK,KAAK,EAC1B;EACA,MAAM,SAASC,aAAAA,mBAAmB,EAAE,SAAS,MAAM,KAAK,MAAM,CAAC;AAC/D,MAAI,OACF,QAAO;GACL,MAAM;GACN,MAAM,OAAO;GACb,UAAU,OAAO;GAClB;WACQD,cAAAA,UAAU,MAAM,KAAK,QAAQ,CACtC,QAAO;GACL,MAAM;GACN,QAAQ,MAAM,KAAK;GACpB;;AAGL,QAAO"}