Skip to content

Commit b6dd141

Browse files
feat(api): update via SDK Studio
1 parent 4161ff3 commit b6dd141

File tree

9 files changed

+503
-4
lines changed

9 files changed

+503
-4
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 15
1+
configured_endpoints: 17
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hyperspell%2Fhyperspell-d2e76b9698a2b33ab32291eac7ffa9671fe0a65646e6ba53170beee2dd643123.yml
33
openapi_spec_hash: e4c39d8acf6435ae67ae263becf8dc47
4-
config_hash: c619117e0dcf8fc4e398e3b2861b5508
4+
config_hash: 88c2e8730c1f7a63483c6bfbc6e49e1c

api.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,14 @@ Methods:
6363
Types:
6464

6565
```python
66-
from hyperspell.types import Query
66+
from hyperspell.types import Query, EvaluateScoreQueryResponse
6767
```
6868

69+
Methods:
70+
71+
- <code title="get /memories/query/{query_id}">client.evaluate.<a href="./src/hyperspell/resources/evaluate.py">get_query</a>(query_id) -> <a href="./src/hyperspell/types/query.py">Query</a></code>
72+
- <code title="post /memories/query/feedback">client.evaluate.<a href="./src/hyperspell/resources/evaluate.py">score_query</a>(\*\*<a href="src/hyperspell/types/evaluate_score_query_params.py">params</a>) -> <a href="./src/hyperspell/types/evaluate_score_query_response.py">EvaluateScoreQueryResponse</a></code>
73+
6974
# Vaults
7075

7176
Types:

src/hyperspell/_client.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
)
2222
from ._utils import is_given, get_async_library
2323
from ._version import __version__
24-
from .resources import auth, vaults, memories
24+
from .resources import auth, vaults, evaluate, memories
2525
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
2626
from ._exceptions import APIStatusError, HyperspellError
2727
from ._base_client import (
@@ -46,6 +46,7 @@
4646
class Hyperspell(SyncAPIClient):
4747
integrations: integrations.IntegrationsResource
4848
memories: memories.MemoriesResource
49+
evaluate: evaluate.EvaluateResource
4950
vaults: vaults.VaultsResource
5051
auth: auth.AuthResource
5152
with_raw_response: HyperspellWithRawResponse
@@ -111,6 +112,7 @@ def __init__(
111112

112113
self.integrations = integrations.IntegrationsResource(self)
113114
self.memories = memories.MemoriesResource(self)
115+
self.evaluate = evaluate.EvaluateResource(self)
114116
self.vaults = vaults.VaultsResource(self)
115117
self.auth = auth.AuthResource(self)
116118
self.with_raw_response = HyperspellWithRawResponse(self)
@@ -237,6 +239,7 @@ def _make_status_error(
237239
class AsyncHyperspell(AsyncAPIClient):
238240
integrations: integrations.AsyncIntegrationsResource
239241
memories: memories.AsyncMemoriesResource
242+
evaluate: evaluate.AsyncEvaluateResource
240243
vaults: vaults.AsyncVaultsResource
241244
auth: auth.AsyncAuthResource
242245
with_raw_response: AsyncHyperspellWithRawResponse
@@ -302,6 +305,7 @@ def __init__(
302305

303306
self.integrations = integrations.AsyncIntegrationsResource(self)
304307
self.memories = memories.AsyncMemoriesResource(self)
308+
self.evaluate = evaluate.AsyncEvaluateResource(self)
305309
self.vaults = vaults.AsyncVaultsResource(self)
306310
self.auth = auth.AsyncAuthResource(self)
307311
self.with_raw_response = AsyncHyperspellWithRawResponse(self)
@@ -429,6 +433,7 @@ class HyperspellWithRawResponse:
429433
def __init__(self, client: Hyperspell) -> None:
430434
self.integrations = integrations.IntegrationsResourceWithRawResponse(client.integrations)
431435
self.memories = memories.MemoriesResourceWithRawResponse(client.memories)
436+
self.evaluate = evaluate.EvaluateResourceWithRawResponse(client.evaluate)
432437
self.vaults = vaults.VaultsResourceWithRawResponse(client.vaults)
433438
self.auth = auth.AuthResourceWithRawResponse(client.auth)
434439

@@ -437,6 +442,7 @@ class AsyncHyperspellWithRawResponse:
437442
def __init__(self, client: AsyncHyperspell) -> None:
438443
self.integrations = integrations.AsyncIntegrationsResourceWithRawResponse(client.integrations)
439444
self.memories = memories.AsyncMemoriesResourceWithRawResponse(client.memories)
445+
self.evaluate = evaluate.AsyncEvaluateResourceWithRawResponse(client.evaluate)
440446
self.vaults = vaults.AsyncVaultsResourceWithRawResponse(client.vaults)
441447
self.auth = auth.AsyncAuthResourceWithRawResponse(client.auth)
442448

@@ -445,6 +451,7 @@ class HyperspellWithStreamedResponse:
445451
def __init__(self, client: Hyperspell) -> None:
446452
self.integrations = integrations.IntegrationsResourceWithStreamingResponse(client.integrations)
447453
self.memories = memories.MemoriesResourceWithStreamingResponse(client.memories)
454+
self.evaluate = evaluate.EvaluateResourceWithStreamingResponse(client.evaluate)
448455
self.vaults = vaults.VaultsResourceWithStreamingResponse(client.vaults)
449456
self.auth = auth.AuthResourceWithStreamingResponse(client.auth)
450457

@@ -453,6 +460,7 @@ class AsyncHyperspellWithStreamedResponse:
453460
def __init__(self, client: AsyncHyperspell) -> None:
454461
self.integrations = integrations.AsyncIntegrationsResourceWithStreamingResponse(client.integrations)
455462
self.memories = memories.AsyncMemoriesResourceWithStreamingResponse(client.memories)
463+
self.evaluate = evaluate.AsyncEvaluateResourceWithStreamingResponse(client.evaluate)
456464
self.vaults = vaults.AsyncVaultsResourceWithStreamingResponse(client.vaults)
457465
self.auth = auth.AsyncAuthResourceWithStreamingResponse(client.auth)
458466

src/hyperspell/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@
1616
VaultsResourceWithStreamingResponse,
1717
AsyncVaultsResourceWithStreamingResponse,
1818
)
19+
from .evaluate import (
20+
EvaluateResource,
21+
AsyncEvaluateResource,
22+
EvaluateResourceWithRawResponse,
23+
AsyncEvaluateResourceWithRawResponse,
24+
EvaluateResourceWithStreamingResponse,
25+
AsyncEvaluateResourceWithStreamingResponse,
26+
)
1927
from .memories import (
2028
MemoriesResource,
2129
AsyncMemoriesResource,
@@ -46,6 +54,12 @@
4654
"AsyncMemoriesResourceWithRawResponse",
4755
"MemoriesResourceWithStreamingResponse",
4856
"AsyncMemoriesResourceWithStreamingResponse",
57+
"EvaluateResource",
58+
"AsyncEvaluateResource",
59+
"EvaluateResourceWithRawResponse",
60+
"AsyncEvaluateResourceWithRawResponse",
61+
"EvaluateResourceWithStreamingResponse",
62+
"AsyncEvaluateResourceWithStreamingResponse",
4963
"VaultsResource",
5064
"AsyncVaultsResource",
5165
"VaultsResourceWithRawResponse",
Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
import httpx
6+
7+
from ..types import evaluate_score_query_params
8+
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
9+
from .._utils import maybe_transform, async_maybe_transform
10+
from .._compat import cached_property
11+
from .._resource import SyncAPIResource, AsyncAPIResource
12+
from .._response import (
13+
to_raw_response_wrapper,
14+
to_streamed_response_wrapper,
15+
async_to_raw_response_wrapper,
16+
async_to_streamed_response_wrapper,
17+
)
18+
from ..types.query import Query
19+
from .._base_client import make_request_options
20+
from ..types.evaluate_score_query_response import EvaluateScoreQueryResponse
21+
22+
__all__ = ["EvaluateResource", "AsyncEvaluateResource"]
23+
24+
25+
class EvaluateResource(SyncAPIResource):
26+
@cached_property
27+
def with_raw_response(self) -> EvaluateResourceWithRawResponse:
28+
"""
29+
This property can be used as a prefix for any HTTP method call to return
30+
the raw response object instead of the parsed content.
31+
32+
For more information, see https://www.github.com/hyperspell/python-sdk#accessing-raw-response-data-eg-headers
33+
"""
34+
return EvaluateResourceWithRawResponse(self)
35+
36+
@cached_property
37+
def with_streaming_response(self) -> EvaluateResourceWithStreamingResponse:
38+
"""
39+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
40+
41+
For more information, see https://www.github.com/hyperspell/python-sdk#with_streaming_response
42+
"""
43+
return EvaluateResourceWithStreamingResponse(self)
44+
45+
def get_query(
46+
self,
47+
query_id: str,
48+
*,
49+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
50+
# The extra values given here take precedence over values defined on the client or passed to this method.
51+
extra_headers: Headers | None = None,
52+
extra_query: Query | None = None,
53+
extra_body: Body | None = None,
54+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
55+
) -> Query:
56+
"""
57+
Retrieve an existing query
58+
59+
Args:
60+
extra_headers: Send extra headers
61+
62+
extra_query: Add additional query parameters to the request
63+
64+
extra_body: Add additional JSON properties to the request
65+
66+
timeout: Override the client-level default timeout for this request, in seconds
67+
"""
68+
if not query_id:
69+
raise ValueError(f"Expected a non-empty value for `query_id` but received {query_id!r}")
70+
return self._get(
71+
f"/memories/query/{query_id}",
72+
options=make_request_options(
73+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
74+
),
75+
cast_to=Query,
76+
)
77+
78+
def score_query(
79+
self,
80+
*,
81+
query_id: str,
82+
score: float | Omit = omit,
83+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
84+
# The extra values given here take precedence over values defined on the client or passed to this method.
85+
extra_headers: Headers | None = None,
86+
extra_query: Query | None = None,
87+
extra_body: Body | None = None,
88+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
89+
) -> EvaluateScoreQueryResponse:
90+
"""
91+
Provide feedback on a query result.
92+
93+
Args:
94+
query_id: The ID of the query to provide feedback on.
95+
96+
score: Rating of the query result from -1 (bad) to +1 (good).
97+
98+
extra_headers: Send extra headers
99+
100+
extra_query: Add additional query parameters to the request
101+
102+
extra_body: Add additional JSON properties to the request
103+
104+
timeout: Override the client-level default timeout for this request, in seconds
105+
"""
106+
return self._post(
107+
"/memories/query/feedback",
108+
body=maybe_transform(
109+
{
110+
"query_id": query_id,
111+
"score": score,
112+
},
113+
evaluate_score_query_params.EvaluateScoreQueryParams,
114+
),
115+
options=make_request_options(
116+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
117+
),
118+
cast_to=EvaluateScoreQueryResponse,
119+
)
120+
121+
122+
class AsyncEvaluateResource(AsyncAPIResource):
123+
@cached_property
124+
def with_raw_response(self) -> AsyncEvaluateResourceWithRawResponse:
125+
"""
126+
This property can be used as a prefix for any HTTP method call to return
127+
the raw response object instead of the parsed content.
128+
129+
For more information, see https://www.github.com/hyperspell/python-sdk#accessing-raw-response-data-eg-headers
130+
"""
131+
return AsyncEvaluateResourceWithRawResponse(self)
132+
133+
@cached_property
134+
def with_streaming_response(self) -> AsyncEvaluateResourceWithStreamingResponse:
135+
"""
136+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
137+
138+
For more information, see https://www.github.com/hyperspell/python-sdk#with_streaming_response
139+
"""
140+
return AsyncEvaluateResourceWithStreamingResponse(self)
141+
142+
async def get_query(
143+
self,
144+
query_id: str,
145+
*,
146+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
147+
# The extra values given here take precedence over values defined on the client or passed to this method.
148+
extra_headers: Headers | None = None,
149+
extra_query: Query | None = None,
150+
extra_body: Body | None = None,
151+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
152+
) -> Query:
153+
"""
154+
Retrieve an existing query
155+
156+
Args:
157+
extra_headers: Send extra headers
158+
159+
extra_query: Add additional query parameters to the request
160+
161+
extra_body: Add additional JSON properties to the request
162+
163+
timeout: Override the client-level default timeout for this request, in seconds
164+
"""
165+
if not query_id:
166+
raise ValueError(f"Expected a non-empty value for `query_id` but received {query_id!r}")
167+
return await self._get(
168+
f"/memories/query/{query_id}",
169+
options=make_request_options(
170+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
171+
),
172+
cast_to=Query,
173+
)
174+
175+
async def score_query(
176+
self,
177+
*,
178+
query_id: str,
179+
score: float | Omit = omit,
180+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
181+
# The extra values given here take precedence over values defined on the client or passed to this method.
182+
extra_headers: Headers | None = None,
183+
extra_query: Query | None = None,
184+
extra_body: Body | None = None,
185+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
186+
) -> EvaluateScoreQueryResponse:
187+
"""
188+
Provide feedback on a query result.
189+
190+
Args:
191+
query_id: The ID of the query to provide feedback on.
192+
193+
score: Rating of the query result from -1 (bad) to +1 (good).
194+
195+
extra_headers: Send extra headers
196+
197+
extra_query: Add additional query parameters to the request
198+
199+
extra_body: Add additional JSON properties to the request
200+
201+
timeout: Override the client-level default timeout for this request, in seconds
202+
"""
203+
return await self._post(
204+
"/memories/query/feedback",
205+
body=await async_maybe_transform(
206+
{
207+
"query_id": query_id,
208+
"score": score,
209+
},
210+
evaluate_score_query_params.EvaluateScoreQueryParams,
211+
),
212+
options=make_request_options(
213+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
214+
),
215+
cast_to=EvaluateScoreQueryResponse,
216+
)
217+
218+
219+
class EvaluateResourceWithRawResponse:
220+
def __init__(self, evaluate: EvaluateResource) -> None:
221+
self._evaluate = evaluate
222+
223+
self.get_query = to_raw_response_wrapper(
224+
evaluate.get_query,
225+
)
226+
self.score_query = to_raw_response_wrapper(
227+
evaluate.score_query,
228+
)
229+
230+
231+
class AsyncEvaluateResourceWithRawResponse:
232+
def __init__(self, evaluate: AsyncEvaluateResource) -> None:
233+
self._evaluate = evaluate
234+
235+
self.get_query = async_to_raw_response_wrapper(
236+
evaluate.get_query,
237+
)
238+
self.score_query = async_to_raw_response_wrapper(
239+
evaluate.score_query,
240+
)
241+
242+
243+
class EvaluateResourceWithStreamingResponse:
244+
def __init__(self, evaluate: EvaluateResource) -> None:
245+
self._evaluate = evaluate
246+
247+
self.get_query = to_streamed_response_wrapper(
248+
evaluate.get_query,
249+
)
250+
self.score_query = to_streamed_response_wrapper(
251+
evaluate.score_query,
252+
)
253+
254+
255+
class AsyncEvaluateResourceWithStreamingResponse:
256+
def __init__(self, evaluate: AsyncEvaluateResource) -> None:
257+
self._evaluate = evaluate
258+
259+
self.get_query = async_to_streamed_response_wrapper(
260+
evaluate.get_query,
261+
)
262+
self.score_query = async_to_streamed_response_wrapper(
263+
evaluate.score_query,
264+
)

src/hyperspell/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@
1717
from .memory_delete_response import MemoryDeleteResponse as MemoryDeleteResponse
1818
from .memory_status_response import MemoryStatusResponse as MemoryStatusResponse
1919
from .auth_delete_user_response import AuthDeleteUserResponse as AuthDeleteUserResponse
20+
from .evaluate_score_query_params import EvaluateScoreQueryParams as EvaluateScoreQueryParams
2021
from .integration_revoke_response import IntegrationRevokeResponse as IntegrationRevokeResponse
22+
from .evaluate_score_query_response import EvaluateScoreQueryResponse as EvaluateScoreQueryResponse

0 commit comments

Comments
 (0)