{"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"}