diff --git a/chatkit/agents.py b/chatkit/agents.py index 37668e7..4d307d7 100644 --- a/chatkit/agents.py +++ b/chatkit/agents.py @@ -7,7 +7,6 @@ Annotated, Any, AsyncGenerator, - Awaitable, Generic, Sequence, TypeVar, @@ -634,9 +633,9 @@ class ThreadItemConverter: Other item types are converted automatically. """ - def attachment_to_message_content( + async def attachment_to_message_content( self, attachment: Attachment - ) -> Awaitable[ResponseInputContentParam]: + ) -> ResponseInputContentParam: """ Convert an attachment in a user message into a message content part to send to the model. Required when attachments are enabled. @@ -645,7 +644,7 @@ def attachment_to_message_content( "An Attachment was included in a UserMessageItem but Converter.attachment_to_message_content was not implemented" ) - def tag_to_message_content( + async def tag_to_message_content( self, tag: UserMessageTagContent ) -> ResponseInputContentParam: """ @@ -801,7 +800,7 @@ async def user_message_to_input( tag_content: ResponseInputMessageContentListParam = [ # should return summarized text items - self.tag_to_message_content(tag) + await self.tag_to_message_content(tag) for tag in uniq_tags ] diff --git a/docs/server.md b/docs/server.md index e8625d6..c7df49a 100644 --- a/docs/server.md +++ b/docs/server.md @@ -323,7 +323,7 @@ class MyThreadConverter(ThreadItemConverter): # ..handle other attachment types - def hidden_context_to_input(self, item: HiddenContextItem) -> Message: + async def hidden_context_to_input(self, item: HiddenContextItem) -> Message: return Message( type="message", role="system", @@ -335,7 +335,7 @@ class MyThreadConverter(ThreadItemConverter): ], ) - def tag_to_message_content(self, tag: UserMessageTagContent): + async def tag_to_message_content(self, tag: UserMessageTagContent): tag_context = await retrieve_context_for_tag(tag.id) return ResponseInputTextParam( type="input_text", diff --git a/tests/test_agents.py b/tests/test_agents.py index c0fc4b0..ab9e9e6 100644 --- a/tests/test_agents.py +++ b/tests/test_agents.py @@ -469,7 +469,7 @@ async def test_input_item_converter_to_input_items_mixed(): async def test_input_item_converter_user_input_with_tags(): class MyThreadItemConverter(ThreadItemConverter): - def tag_to_message_content(self, tag): + async def tag_to_message_content(self, tag): return ResponseInputTextParam( type="input_text", text=tag.text + " " + tag.data["key"] )