From 327605fdc723af4926ac627a8fd3bdd971ede5c3 Mon Sep 17 00:00:00 2001 From: Abhishek Mishra Date: Mon, 10 Aug 2026 07:41:49 +0530 Subject: [PATCH] fix: waves endpoints target the waves host (5.10.1) The 5.10.0 waves additions (post_call_analysis, voices, analytics, ops) called the atoms host and 404'd live. Point them at the waves host. Live-verified all four now return 200. Regenerated from the fixed spec (x-fern-server-name: waves per operation). --- changelog.md | 5 +++ pyproject.toml | 2 +- src/smallestai/waves/analytics/raw_client.py | 36 +++++++++---------- src/smallestai/waves/ops/raw_client.py | 4 +-- .../waves/post_call_analysis/raw_client.py | 8 ++--- src/smallestai/waves/voices/raw_client.py | 4 +-- 6 files changed, 32 insertions(+), 27 deletions(-) diff --git a/changelog.md b/changelog.md index 7644a529..ff355756 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,8 @@ +## 5.10.1 - 2026-08-10 + +* **fix**: the new waves endpoints (`post_call_analysis`, `voices`, `analytics`, `ops`) + called the atoms host and returned 404. They now target the waves host correctly. + ## 5.10.0 - 2026-08-07 * **tools**: new `smallestai.tools` framework for prebuilt, pluggable crew tools. Each tool diff --git a/pyproject.toml b/pyproject.toml index 62d26a0b..f4c6dd0f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ dynamic = ["version"] [tool.poetry] name = "smallestai" -version = "5.10.0" +version = "5.10.1" description = "" readme = "README.md" authors = [] diff --git a/src/smallestai/waves/analytics/raw_client.py b/src/smallestai/waves/analytics/raw_client.py index 3fd89bf2..945000cd 100644 --- a/src/smallestai/waves/analytics/raw_client.py +++ b/src/smallestai/waves/analytics/raw_client.py @@ -75,7 +75,7 @@ def list_streaming_speech_to_text_logs( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/asr/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, @@ -147,7 +147,7 @@ def delete_streaming_speech_to_text_history( """ _response = self._client_wrapper.httpx_client.request( f"waves/v1/analytics/asr/history/{encode_path_param(request_id)}", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="DELETE", request_options=request_options, ) @@ -225,7 +225,7 @@ def get_streaming_speech_to_text_usage_timeseries( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/asr/usage/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -304,7 +304,7 @@ def list_text_to_speech_logs( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, @@ -385,7 +385,7 @@ def get_text_to_speech_usage_timeseries( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/usage/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -468,7 +468,7 @@ def get_text_to_speech_credits_timeseries( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/usage/credits/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -551,7 +551,7 @@ def get_text_to_speech_concurrency_timeseries( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/concurrency/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -633,7 +633,7 @@ def get_text_to_speech_websocket_connections_timeseries( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/ws-connections/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -713,7 +713,7 @@ def list_webhook_logs( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/analytics/webhooks/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, @@ -799,7 +799,7 @@ async def list_streaming_speech_to_text_logs( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/asr/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, @@ -871,7 +871,7 @@ async def delete_streaming_speech_to_text_history( """ _response = await self._client_wrapper.httpx_client.request( f"waves/v1/analytics/asr/history/{encode_path_param(request_id)}", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="DELETE", request_options=request_options, ) @@ -949,7 +949,7 @@ async def get_streaming_speech_to_text_usage_timeseries( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/asr/usage/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -1028,7 +1028,7 @@ async def list_text_to_speech_logs( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, @@ -1109,7 +1109,7 @@ async def get_text_to_speech_usage_timeseries( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/usage/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -1192,7 +1192,7 @@ async def get_text_to_speech_credits_timeseries( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/usage/credits/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -1275,7 +1275,7 @@ async def get_text_to_speech_concurrency_timeseries( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/concurrency/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -1357,7 +1357,7 @@ async def get_text_to_speech_websocket_connections_timeseries( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/tts/ws-connections/timeseries", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "from": serialize_datetime(from_) if from_ is not None else None, @@ -1437,7 +1437,7 @@ async def list_webhook_logs( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/analytics/webhooks/logs", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", params={ "page": page, diff --git a/src/smallestai/waves/ops/raw_client.py b/src/smallestai/waves/ops/raw_client.py index 83b3171e..96f30726 100644 --- a/src/smallestai/waves/ops/raw_client.py +++ b/src/smallestai/waves/ops/raw_client.py @@ -38,7 +38,7 @@ def get_waves_health( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/health", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", request_options=request_options, ) @@ -97,7 +97,7 @@ async def get_waves_health( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/health", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", request_options=request_options, ) diff --git a/src/smallestai/waves/post_call_analysis/raw_client.py b/src/smallestai/waves/post_call_analysis/raw_client.py index b24af6ba..1fffd414 100644 --- a/src/smallestai/waves/post_call_analysis/raw_client.py +++ b/src/smallestai/waves/post_call_analysis/raw_client.py @@ -57,7 +57,7 @@ def analyze( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/pca", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="POST", json={ "transcript": transcript, @@ -135,7 +135,7 @@ def generate( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/pca/generate", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="POST", json={ "prompt": prompt, @@ -224,7 +224,7 @@ async def analyze( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/pca", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="POST", json={ "transcript": transcript, @@ -302,7 +302,7 @@ async def generate( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/pca/generate", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="POST", json={ "prompt": prompt, diff --git a/src/smallestai/waves/voices/raw_client.py b/src/smallestai/waves/voices/raw_client.py index 86232e89..26e2c8ed 100644 --- a/src/smallestai/waves/voices/raw_client.py +++ b/src/smallestai/waves/voices/raw_client.py @@ -39,7 +39,7 @@ def get_all_voice_models( """ _response = self._client_wrapper.httpx_client.request( "waves/v1/voice/get-all-models", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", request_options=request_options, ) @@ -99,7 +99,7 @@ async def get_all_voice_models( """ _response = await self._client_wrapper.httpx_client.request( "waves/v1/voice/get-all-models", - base_url=self._client_wrapper.get_environment().atoms, + base_url=self._client_wrapper.get_environment().waves, method="GET", request_options=request_options, )