From 05c941eea7e83b7ec167714b79e30fa7b6df7f31 Mon Sep 17 00:00:00 2001 From: Carson Date: Wed, 5 Nov 2025 09:58:11 -0600 Subject: [PATCH] Close #205: handle pdf encoding properly when translating to/from Inspect: --- chatlas/_inspect.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/chatlas/_inspect.py b/chatlas/_inspect.py index c8782231..765efa76 100644 --- a/chatlas/_inspect.py +++ b/chatlas/_inspect.py @@ -1,5 +1,6 @@ from __future__ import annotations +import base64 from typing import TYPE_CHECKING, Literal, overload from ._content import ( @@ -168,7 +169,7 @@ def chatlas_content_as_inspect(content: ContentUnion) -> InspectContent: return itool.ContentImage(image=content.data or "", detail="auto") elif isinstance(content, ContentPDF): return itool.ContentDocument( - document=content.data.decode("utf-8"), + document=base64.b64encode(content.data).decode("ascii"), mime_type="application/pdf", filename=content.filename, ) @@ -208,7 +209,7 @@ def inspect_content_as_chatlas(content: str | InspectContent) -> Content: if isinstance(content, itool.ContentDocument): if content.mime_type == "application/pdf": return ContentPDF( - data=content.document.encode("utf-8"), + data=base64.b64decode(content.document), filename=content.filename, ) else: