diff --git a/cecli/__init__.py b/cecli/__init__.py index e805aeaf69e..04cb9d4e9a1 100644 --- a/cecli/__init__.py +++ b/cecli/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.96.8.dev" +__version__ = "0.96.9.dev" safe_version = __version__ try: diff --git a/cecli/coders/base_coder.py b/cecli/coders/base_coder.py index ae7791207d8..da1a486a619 100755 --- a/cecli/coders/base_coder.py +++ b/cecli/coders/base_coder.py @@ -2404,6 +2404,7 @@ async def process_tool_calls(self, tool_call_response): ConversationManager.add_message( message_dict=tool_response, tag=MessageTag.CUR, + hash_key=(tool_response["tool_call_id"], str(time.monotonic_ns())), ) return True diff --git a/cecli/helpers/conversation/integration.py b/cecli/helpers/conversation/integration.py index 40451a0b753..f9a19317790 100644 --- a/cecli/helpers/conversation/integration.py +++ b/cecli/helpers/conversation/integration.py @@ -161,7 +161,7 @@ def add_file_list_reminder(cls, coder) -> None: }, tag=MessageTag.REMINDER, priority=275, # Between post_message blocks and final reminders - hash_key=("file_list_reminder",), # Unique hash_key to avoid conflicts + hash_key=("reminder", "file_list"), # Unique hash_key to avoid conflicts mark_for_delete=0, # Lasts for exactly one turn ) diff --git a/cecli/helpers/requests.py b/cecli/helpers/requests.py index 2e39bc41e54..6d5b1c574c3 100644 --- a/cecli/helpers/requests.py +++ b/cecli/helpers/requests.py @@ -36,6 +36,9 @@ def _process_thought_signature(container): if "provider_specific_fields" not in container: container["provider_specific_fields"] = {} + if not container["provider_specific_fields"]: + container["provider_specific_fields"] = {} + psf = container["provider_specific_fields"] if "thought_signature" not in psf: