From e7ad74bb87551cb033ed61664673929438bc06c1 Mon Sep 17 00:00:00 2001 From: Ishaan Samantray Date: Thu, 4 Jun 2026 14:11:12 -0400 Subject: [PATCH 1/2] fix(utils): raise clear error on empty embed response list --- src/cohere/utils.py | 3 +++ tests/test_embed_utils.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/cohere/utils.py b/src/cohere/utils.py index 35d8b852b..77c20ff14 100644 --- a/src/cohere/utils.py +++ b/src/cohere/utils.py @@ -188,6 +188,9 @@ def merge_meta_field(metas: typing.List[ApiMeta]) -> ApiMeta: def merge_embed_responses(responses: typing.List[EmbedResponse]) -> EmbedResponse: + if not responses: + raise ValueError("Cannot merge embed responses: no texts were provided to embed") + meta = merge_meta_field([response.meta for response in responses if response.meta]) response_id = ", ".join(response.id for response in responses) texts = [ diff --git a/tests/test_embed_utils.py b/tests/test_embed_utils.py index 40c712177..6f7abdece 100644 --- a/tests/test_embed_utils.py +++ b/tests/test_embed_utils.py @@ -189,6 +189,12 @@ def test_merge_embeddings_floats(self) -> None: ) )) + def test_merge_embed_responses_empty_list_raises_value_error(self) -> None: + # An empty texts list (e.g. Client.embed(texts=[])) yields no responses; + # merge_embed_responses must raise a clear ValueError instead of IndexError. + with self.assertRaises(ValueError): + merge_embed_responses([]) + def test_merge_partial_embeddings_floats(self) -> None: resp = merge_embed_responses([ ebt_partial_1, From a8e323aab65f0217d721fd7e86d56de9bbe95b5e Mon Sep 17 00:00:00 2001 From: jsklan Date: Wed, 10 Jun 2026 17:20:17 -0400 Subject: [PATCH 2/2] chore: bump version 7.0.3 -> 7.0.4 --- .fern/metadata.json | 4 ++-- pyproject.toml | 2 +- src/cohere/core/client_wrapper.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index fd4e63ecd..4b54a48a6 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -97,7 +97,7 @@ "originGitCommit": "cc4f564d58fa6fbe43292b5ea6bca57aac51946b", "originGitCommitIsDirty": true, "invokedBy": "ci", - "requestedVersion": "7.0.3", + "requestedVersion": "7.0.4", "ciProvider": "github", - "sdkVersion": "7.0.3" + "sdkVersion": "7.0.4" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 54e1bf328..ade050db7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "cohere" -version = "7.0.3" +version = "7.0.4" description = "" readme = "README.md" authors = [] diff --git a/src/cohere/core/client_wrapper.py b/src/cohere/core/client_wrapper.py index ab31adf11..437373480 100644 --- a/src/cohere/core/client_wrapper.py +++ b/src/cohere/core/client_wrapper.py @@ -31,12 +31,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "cohere/7.0.3", + "User-Agent": "cohere/7.0.4", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "cohere", - "X-Fern-SDK-Version": "7.0.3", + "X-Fern-SDK-Version": "7.0.4", **(self.get_custom_headers() or {}), } if self._client_name is not None: