{"version":3,"file":"conversationMessageSerializers.mjs","sources":["../../../../../src/runtime/internals/ai/conversationMessageSerializers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { toBase64 } from '@smithy/util-base64';\nexport const serializeAiContext = (aiContext) => JSON.stringify(aiContext);\nexport const serializeContent = (content) => content.map((block) => {\n    if (block.image) {\n        return serializeImageBlock(block);\n    }\n    if (block.document) {\n        return serializeDocumentBlock(block);\n    }\n    if (block.toolResult) {\n        return serializeToolResultBlock(block);\n    }\n    return block;\n});\nexport const serializeToolConfiguration = ({ tools }) => ({\n    tools: Object.entries(tools).map(([name, tool]) => ({\n        toolSpec: {\n            name,\n            description: tool.description,\n            inputSchema: {\n                json: JSON.stringify(tool.inputSchema.json),\n            },\n        },\n    })),\n});\nconst serializeImageBlock = ({ image }) => ({\n    image: {\n        ...image,\n        source: {\n            ...image.source,\n            bytes: toBase64(image.source.bytes),\n        },\n    },\n});\nconst serializeDocumentBlock = ({ document, }) => ({\n    document: {\n        ...document,\n        source: {\n            ...document.source,\n            bytes: toBase64(document.source.bytes),\n        },\n    },\n});\nconst serializeJsonBlock = ({ json }) => ({\n    json: JSON.stringify(json),\n});\nconst serializeToolResultBlock = ({ toolResult, }) => ({\n    toolResult: {\n        ...toolResult,\n        content: toolResult.content.map((toolResultBlock) => {\n            if (toolResultBlock.image) {\n                return serializeImageBlock(toolResultBlock);\n            }\n            if (toolResultBlock.json) {\n                return serializeJsonBlock(toolResultBlock);\n            }\n            return toolResultBlock;\n        }),\n    },\n});\n"],"names":[],"mappings":";;AAAA;AACA;AAEY,MAAC,kBAAkB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS;AAC7D,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AACpE,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;AACrB,QAAQ,OAAO,mBAAmB,CAAC,KAAK,CAAC;AACzC,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE;AACxB,QAAQ,OAAO,sBAAsB,CAAC,KAAK,CAAC;AAC5C,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AAC1B,QAAQ,OAAO,wBAAwB,CAAC,KAAK,CAAC;AAC9C,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,CAAC;AACW,MAAC,0BAA0B,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM;AAC1D,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM;AACxD,QAAQ,QAAQ,EAAE;AAClB,YAAY,IAAI;AAChB,YAAY,WAAW,EAAE,IAAI,CAAC,WAAW;AACzC,YAAY,WAAW,EAAE;AACzB,gBAAgB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3D,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD,MAAM,mBAAmB,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM;AAC5C,IAAI,KAAK,EAAE;AACX,QAAQ,GAAG,KAAK;AAChB,QAAQ,MAAM,EAAE;AAChB,YAAY,GAAG,KAAK,CAAC,MAAM;AAC3B,YAAY,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/C,SAAS;AACT,KAAK;AACL,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM;AACnD,IAAI,QAAQ,EAAE;AACd,QAAQ,GAAG,QAAQ;AACnB,QAAQ,MAAM,EAAE;AAChB,YAAY,GAAG,QAAQ,CAAC,MAAM;AAC9B,YAAY,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,SAAS;AACT,KAAK;AACL,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM;AAC1C,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC9B,CAAC,CAAC;AACF,MAAM,wBAAwB,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM;AACvD,IAAI,UAAU,EAAE;AAChB,QAAQ,GAAG,UAAU;AACrB,QAAQ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,KAAK;AAC7D,YAAY,IAAI,eAAe,CAAC,KAAK,EAAE;AACvC,gBAAgB,OAAO,mBAAmB,CAAC,eAAe,CAAC;AAC3D,YAAY;AACZ,YAAY,IAAI,eAAe,CAAC,IAAI,EAAE;AACtC,gBAAgB,OAAO,kBAAkB,CAAC,eAAe,CAAC;AAC1D,YAAY;AACZ,YAAY,OAAO,eAAe;AAClC,QAAQ,CAAC,CAAC;AACV,KAAK;AACL,CAAC,CAAC;;;;"}