diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 8ea07c9a..1b5dc400 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.38.0" + ".": "0.39.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index d0d7b46e..cf84cc22 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 31 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hyperspell/hyperspell-e57add0181eb2a057f8416eaf4020dd5b3042431342a51e3d4dc39af4a41aced.yml -openapi_spec_hash: d0d66b814ebe56ac7c0135f9f3aab616 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hyperspell/hyperspell-c6d875e737e219a871e8b945c02e39a888341117e5c96380cfbe4b460607e46f.yml +openapi_spec_hash: f25b658100881b5cecad370fc5893f43 config_hash: 11e84d884a86d2db0411c35fae6e9121 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cff83dc..f8ded19e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 0.39.0 (2026-06-24) + +Full Changelog: [v0.38.0...v0.39.0](https://github.com/hyperspell/python-sdk/compare/v0.38.0...v0.39.0) + +### Features + +* **api:** api update ([09bda8a](https://github.com/hyperspell/python-sdk/commit/09bda8af02ef7f4701b7b8ecb9faf7a539253794)) +* **api:** api update ([4ccb38d](https://github.com/hyperspell/python-sdk/commit/4ccb38dc420caa004ad859076d76b9efa0d77267)) +* **api:** api update ([49bdccd](https://github.com/hyperspell/python-sdk/commit/49bdccd4fdc1b3c62027248eda993a9cf8c9b2d1)) + ## 0.38.0 (2026-06-18) Full Changelog: [v0.37.0...v0.38.0](https://github.com/hyperspell/python-sdk/compare/v0.37.0...v0.38.0) diff --git a/pyproject.toml b/pyproject.toml index 8ac832e5..4e562c96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "hyperspell" -version = "0.38.0" +version = "0.39.0" description = "The official Python library for the hyperspell API" dynamic = ["readme"] license = "MIT" diff --git a/src/hyperspell/_version.py b/src/hyperspell/_version.py index db685eed..0cdc859c 100644 --- a/src/hyperspell/_version.py +++ b/src/hyperspell/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "hyperspell" -__version__ = "0.38.0" # x-release-please-version +__version__ = "0.39.0" # x-release-please-version diff --git a/src/hyperspell/resources/connections.py b/src/hyperspell/resources/connections.py index f266c681..a31a48ad 100644 --- a/src/hyperspell/resources/connections.py +++ b/src/hyperspell/resources/connections.py @@ -72,8 +72,14 @@ def revoke( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> ConnectionRevokeResponse: """ - Revokes Hyperspell's access the given provider and deletes all stored - credentials and indexed data. + Revoke Hyperspell's access to a provider and delete this user's stored data. + + The external OAuth/Unified revoke and the (potentially large) data purge run in + a background Temporal workflow; this returns `202 Accepted` immediately. A heavy + provider — a Gmail account can carry hundreds of thousands of chunks — plus a + slow third-party revoke would otherwise outrun the request timeout: the old + synchronous path "timed out" for the caller while still finishing server-side, + making the outcome invisible. Idempotent per (app, user, provider). Args: extra_headers: Send extra headers @@ -146,8 +152,14 @@ async def revoke( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> ConnectionRevokeResponse: """ - Revokes Hyperspell's access the given provider and deletes all stored - credentials and indexed data. + Revoke Hyperspell's access to a provider and delete this user's stored data. + + The external OAuth/Unified revoke and the (potentially large) data purge run in + a background Temporal workflow; this returns `202 Accepted` immediately. A heavy + provider — a Gmail account can carry hundreds of thousands of chunks — plus a + slow third-party revoke would otherwise outrun the request timeout: the old + synchronous path "timed out" for the caller while still finishing server-side, + making the outcome invisible. Idempotent per (app, user, provider). Args: extra_headers: Send extra headers diff --git a/src/hyperspell/types/shared/conversation.py b/src/hyperspell/types/shared/conversation.py index 96552797..00c0564b 100644 --- a/src/hyperspell/types/shared/conversation.py +++ b/src/hyperspell/types/shared/conversation.py @@ -32,6 +32,8 @@ class Conversation(BaseModel): text: Optional[str] = None + title: Optional[str] = None + type: Optional[Literal["conversation"]] = None diff --git a/tests/api_resources/test_memories.py b/tests/api_resources/test_memories.py index 554fc4b1..125b2809 100644 --- a/tests/api_resources/test_memories.py +++ b/tests/api_resources/test_memories.py @@ -294,7 +294,7 @@ def test_method_search_with_all_params(self, client: Hyperspell) -> None: query="What does Hyperspell do?", answer=True, effort="minimal", - max_results=0, + max_results=1, options={ "after": parse_datetime("2019-12-27T18:11:19.117Z"), "answer_model": "llama-3.1", @@ -310,7 +310,7 @@ def test_method_search_with_all_params(self, client: Hyperspell) -> None: "label_ids": ["string"], "weight": 0, }, - "max_results": 200, + "max_results": 1, "memory_types": ["procedure"], "notion": { "notion_page_ids": ["string"], @@ -700,7 +700,7 @@ async def test_method_search_with_all_params(self, async_client: AsyncHyperspell query="What does Hyperspell do?", answer=True, effort="minimal", - max_results=0, + max_results=1, options={ "after": parse_datetime("2019-12-27T18:11:19.117Z"), "answer_model": "llama-3.1", @@ -716,7 +716,7 @@ async def test_method_search_with_all_params(self, async_client: AsyncHyperspell "label_ids": ["string"], "weight": 0, }, - "max_results": 200, + "max_results": 1, "memory_types": ["procedure"], "notion": { "notion_page_ids": ["string"],