Skip to content

Commit 5fe3dcb

Browse files
feat(api): api update (#68)
1 parent 6594f10 commit 5fe3dcb

File tree

13 files changed

+673
-122
lines changed

13 files changed

+673
-122
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 82
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-c4b030c81467ff9b675870c9a966dec4119d6ff1b92c39fc3aab8fac9fcbf1f7.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-ad23f3fb1367b9be154f172d0cde5cebc3bc454368108debe6bdf80da2f4bebc.yml

api.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ Methods:
103103
Types:
104104

105105
```python
106-
from asktable.types import Chat, Message
106+
from asktable.types import Chat, ChatSendMessageResponse
107107
```
108108

109109
Methods:
@@ -112,15 +112,25 @@ Methods:
112112
- <code title="get /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">retrieve</a>(chat_id) -> <a href="./src/asktable/types/chat.py">Chat</a></code>
113113
- <code title="get /chats">client.chats.<a href="./src/asktable/resources/chats/chats.py">list</a>(\*\*<a href="src/asktable/types/chat_list_params.py">params</a>) -> <a href="./src/asktable/types/chat.py">SyncPage[Chat]</a></code>
114114
- <code title="delete /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">delete</a>(chat_id) -> None</code>
115-
- <code title="post /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">send_message</a>(chat_id, \*\*<a href="src/asktable/types/chat_send_message_params.py">params</a>) -> <a href="./src/asktable/types/message.py">Message</a></code>
115+
- <code title="post /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">send_message</a>(chat_id, \*\*<a href="src/asktable/types/chat_send_message_params.py">params</a>) -> <a href="./src/asktable/types/chat_send_message_response.py">ChatSendMessageResponse</a></code>
116116

117117
## Messages
118118

119+
Types:
120+
121+
```python
122+
from asktable.types.chats import (
123+
MessageRetrieveResponse,
124+
MessageListResponse,
125+
MessageSendMessageResponse,
126+
)
127+
```
128+
119129
Methods:
120130

121-
- <code title="get /chats/{chat_id}/messages/{message_id}">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">retrieve</a>(message_id, \*, chat_id) -> <a href="./src/asktable/types/message.py">Message</a></code>
122-
- <code title="get /chats/{chat_id}/messages">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">list</a>(chat_id, \*\*<a href="src/asktable/types/chats/message_list_params.py">params</a>) -> <a href="./src/asktable/types/message.py">SyncPage[Message]</a></code>
123-
- <code title="post /chats/{chat_id}/messages">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">send_message</a>(chat_id, \*\*<a href="src/asktable/types/chats/message_send_message_params.py">params</a>) -> <a href="./src/asktable/types/message.py">Message</a></code>
131+
- <code title="get /chats/{chat_id}/messages/{message_id}">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">retrieve</a>(message_id, \*, chat_id) -> <a href="./src/asktable/types/chats/message_retrieve_response.py">MessageRetrieveResponse</a></code>
132+
- <code title="get /chats/{chat_id}/messages">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">list</a>(chat_id, \*\*<a href="src/asktable/types/chats/message_list_params.py">params</a>) -> <a href="./src/asktable/types/chats/message_list_response.py">SyncPage[MessageListResponse]</a></code>
133+
- <code title="post /chats/{chat_id}/messages">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">send_message</a>(chat_id, \*\*<a href="src/asktable/types/chats/message_send_message_params.py">params</a>) -> <a href="./src/asktable/types/chats/message_send_message_response.py">MessageSendMessageResponse</a></code>
124134

125135
# Datasources
126136

src/asktable/resources/chats/chats.py

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from __future__ import annotations
44

5-
from typing import Dict, Union, Optional
5+
from typing import Any, Dict, Union, Optional, cast
66

77
import httpx
88

@@ -31,7 +31,7 @@
3131
from ...pagination import SyncPage, AsyncPage
3232
from ...types.chat import Chat
3333
from ..._base_client import AsyncPaginator, make_request_options
34-
from ...types.message import Message
34+
from ...types.chat_send_message_response import ChatSendMessageResponse
3535

3636
__all__ = ["ChatsResource", "AsyncChatsResource"]
3737

@@ -242,7 +242,7 @@ def send_message(
242242
extra_query: Query | None = None,
243243
extra_body: Body | None = None,
244244
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
245-
) -> Message:
245+
) -> ChatSendMessageResponse:
246246
"""
247247
发消息
248248
@@ -257,16 +257,21 @@ def send_message(
257257
"""
258258
if not chat_id:
259259
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
260-
return self._post(
261-
f"/chats/{chat_id}",
262-
options=make_request_options(
263-
extra_headers=extra_headers,
264-
extra_query=extra_query,
265-
extra_body=extra_body,
266-
timeout=timeout,
267-
query=maybe_transform({"question": question}, chat_send_message_params.ChatSendMessageParams),
260+
return cast(
261+
ChatSendMessageResponse,
262+
self._post(
263+
f"/chats/{chat_id}",
264+
options=make_request_options(
265+
extra_headers=extra_headers,
266+
extra_query=extra_query,
267+
extra_body=extra_body,
268+
timeout=timeout,
269+
query=maybe_transform({"question": question}, chat_send_message_params.ChatSendMessageParams),
270+
),
271+
cast_to=cast(
272+
Any, ChatSendMessageResponse
273+
), # Union types cannot be passed in as arguments in the type system
268274
),
269-
cast_to=Message,
270275
)
271276

272277

@@ -476,7 +481,7 @@ async def send_message(
476481
extra_query: Query | None = None,
477482
extra_body: Body | None = None,
478483
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
479-
) -> Message:
484+
) -> ChatSendMessageResponse:
480485
"""
481486
发消息
482487
@@ -491,18 +496,23 @@ async def send_message(
491496
"""
492497
if not chat_id:
493498
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
494-
return await self._post(
495-
f"/chats/{chat_id}",
496-
options=make_request_options(
497-
extra_headers=extra_headers,
498-
extra_query=extra_query,
499-
extra_body=extra_body,
500-
timeout=timeout,
501-
query=await async_maybe_transform(
502-
{"question": question}, chat_send_message_params.ChatSendMessageParams
499+
return cast(
500+
ChatSendMessageResponse,
501+
await self._post(
502+
f"/chats/{chat_id}",
503+
options=make_request_options(
504+
extra_headers=extra_headers,
505+
extra_query=extra_query,
506+
extra_body=extra_body,
507+
timeout=timeout,
508+
query=await async_maybe_transform(
509+
{"question": question}, chat_send_message_params.ChatSendMessageParams
510+
),
503511
),
512+
cast_to=cast(
513+
Any, ChatSendMessageResponse
514+
), # Union types cannot be passed in as arguments in the type system
504515
),
505-
cast_to=Message,
506516
)
507517

508518

src/asktable/resources/chats/messages.py

Lines changed: 64 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
from __future__ import annotations
44

5+
from typing import Any, cast
6+
57
import httpx
68

79
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
@@ -20,7 +22,9 @@
2022
from ...pagination import SyncPage, AsyncPage
2123
from ...types.chats import message_list_params, message_send_message_params
2224
from ..._base_client import AsyncPaginator, make_request_options
23-
from ...types.message import Message
25+
from ...types.chats.message_list_response import MessageListResponse
26+
from ...types.chats.message_retrieve_response import MessageRetrieveResponse
27+
from ...types.chats.message_send_message_response import MessageSendMessageResponse
2428

2529
__all__ = ["MessagesResource", "AsyncMessagesResource"]
2630

@@ -56,7 +60,7 @@ def retrieve(
5660
extra_query: Query | None = None,
5761
extra_body: Body | None = None,
5862
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
59-
) -> Message:
63+
) -> MessageRetrieveResponse:
6064
"""
6165
查询某条消息
6266
@@ -73,12 +77,17 @@ def retrieve(
7377
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
7478
if not message_id:
7579
raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
76-
return self._get(
77-
f"/chats/{chat_id}/messages/{message_id}",
78-
options=make_request_options(
79-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
80+
return cast(
81+
MessageRetrieveResponse,
82+
self._get(
83+
f"/chats/{chat_id}/messages/{message_id}",
84+
options=make_request_options(
85+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
86+
),
87+
cast_to=cast(
88+
Any, MessageRetrieveResponse
89+
), # Union types cannot be passed in as arguments in the type system
8090
),
81-
cast_to=Message,
8291
)
8392

8493
def list(
@@ -93,7 +102,7 @@ def list(
93102
extra_query: Query | None = None,
94103
extra_body: Body | None = None,
95104
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
96-
) -> SyncPage[Message]:
105+
) -> SyncPage[MessageListResponse]:
97106
"""
98107
查询所有的消息
99108
@@ -114,7 +123,7 @@ def list(
114123
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
115124
return self._get_api_list(
116125
f"/chats/{chat_id}/messages",
117-
page=SyncPage[Message],
126+
page=SyncPage[MessageListResponse],
118127
options=make_request_options(
119128
extra_headers=extra_headers,
120129
extra_query=extra_query,
@@ -128,7 +137,7 @@ def list(
128137
message_list_params.MessageListParams,
129138
),
130139
),
131-
model=Message,
140+
model=cast(Any, MessageListResponse), # Union types cannot be passed in as arguments in the type system
132141
)
133142

134143
def send_message(
@@ -142,7 +151,7 @@ def send_message(
142151
extra_query: Query | None = None,
143152
extra_body: Body | None = None,
144153
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
145-
) -> Message:
154+
) -> MessageSendMessageResponse:
146155
"""
147156
发消息
148157
@@ -157,16 +166,21 @@ def send_message(
157166
"""
158167
if not chat_id:
159168
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
160-
return self._post(
161-
f"/chats/{chat_id}/messages",
162-
options=make_request_options(
163-
extra_headers=extra_headers,
164-
extra_query=extra_query,
165-
extra_body=extra_body,
166-
timeout=timeout,
167-
query=maybe_transform({"question": question}, message_send_message_params.MessageSendMessageParams),
169+
return cast(
170+
MessageSendMessageResponse,
171+
self._post(
172+
f"/chats/{chat_id}/messages",
173+
options=make_request_options(
174+
extra_headers=extra_headers,
175+
extra_query=extra_query,
176+
extra_body=extra_body,
177+
timeout=timeout,
178+
query=maybe_transform({"question": question}, message_send_message_params.MessageSendMessageParams),
179+
),
180+
cast_to=cast(
181+
Any, MessageSendMessageResponse
182+
), # Union types cannot be passed in as arguments in the type system
168183
),
169-
cast_to=Message,
170184
)
171185

172186

@@ -201,7 +215,7 @@ async def retrieve(
201215
extra_query: Query | None = None,
202216
extra_body: Body | None = None,
203217
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
204-
) -> Message:
218+
) -> MessageRetrieveResponse:
205219
"""
206220
查询某条消息
207221
@@ -218,12 +232,17 @@ async def retrieve(
218232
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
219233
if not message_id:
220234
raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
221-
return await self._get(
222-
f"/chats/{chat_id}/messages/{message_id}",
223-
options=make_request_options(
224-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
235+
return cast(
236+
MessageRetrieveResponse,
237+
await self._get(
238+
f"/chats/{chat_id}/messages/{message_id}",
239+
options=make_request_options(
240+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
241+
),
242+
cast_to=cast(
243+
Any, MessageRetrieveResponse
244+
), # Union types cannot be passed in as arguments in the type system
225245
),
226-
cast_to=Message,
227246
)
228247

229248
def list(
@@ -238,7 +257,7 @@ def list(
238257
extra_query: Query | None = None,
239258
extra_body: Body | None = None,
240259
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
241-
) -> AsyncPaginator[Message, AsyncPage[Message]]:
260+
) -> AsyncPaginator[MessageListResponse, AsyncPage[MessageListResponse]]:
242261
"""
243262
查询所有的消息
244263
@@ -259,7 +278,7 @@ def list(
259278
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
260279
return self._get_api_list(
261280
f"/chats/{chat_id}/messages",
262-
page=AsyncPage[Message],
281+
page=AsyncPage[MessageListResponse],
263282
options=make_request_options(
264283
extra_headers=extra_headers,
265284
extra_query=extra_query,
@@ -273,7 +292,7 @@ def list(
273292
message_list_params.MessageListParams,
274293
),
275294
),
276-
model=Message,
295+
model=cast(Any, MessageListResponse), # Union types cannot be passed in as arguments in the type system
277296
)
278297

279298
async def send_message(
@@ -287,7 +306,7 @@ async def send_message(
287306
extra_query: Query | None = None,
288307
extra_body: Body | None = None,
289308
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
290-
) -> Message:
309+
) -> MessageSendMessageResponse:
291310
"""
292311
发消息
293312
@@ -302,18 +321,23 @@ async def send_message(
302321
"""
303322
if not chat_id:
304323
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
305-
return await self._post(
306-
f"/chats/{chat_id}/messages",
307-
options=make_request_options(
308-
extra_headers=extra_headers,
309-
extra_query=extra_query,
310-
extra_body=extra_body,
311-
timeout=timeout,
312-
query=await async_maybe_transform(
313-
{"question": question}, message_send_message_params.MessageSendMessageParams
324+
return cast(
325+
MessageSendMessageResponse,
326+
await self._post(
327+
f"/chats/{chat_id}/messages",
328+
options=make_request_options(
329+
extra_headers=extra_headers,
330+
extra_query=extra_query,
331+
extra_body=extra_body,
332+
timeout=timeout,
333+
query=await async_maybe_transform(
334+
{"question": question}, message_send_message_params.MessageSendMessageParams
335+
),
314336
),
337+
cast_to=cast(
338+
Any, MessageSendMessageResponse
339+
), # Union types cannot be passed in as arguments in the type system
315340
),
316-
cast_to=Message,
317341
)
318342

319343

src/asktable/types/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from .extapi import Extapi as Extapi
1111
from .shared import Policy as Policy
1212
from .chatbot import Chatbot as Chatbot
13-
from .message import Message as Message
1413
from .datasource import Datasource as Datasource
1514
from .secure_tunnel import SecureTunnel as SecureTunnel
1615
from .bot_list_params import BotListParams as BotListParams
@@ -38,6 +37,7 @@
3837
from .securetunnel_list_params import SecuretunnelListParams as SecuretunnelListParams
3938
from .role_get_polices_response import RoleGetPolicesResponse as RoleGetPolicesResponse
4039
from .role_get_variables_params import RoleGetVariablesParams as RoleGetVariablesParams
40+
from .chat_send_message_response import ChatSendMessageResponse as ChatSendMessageResponse
4141
from .securetunnel_create_params import SecuretunnelCreateParams as SecuretunnelCreateParams
4242
from .securetunnel_update_params import SecuretunnelUpdateParams as SecuretunnelUpdateParams
4343
from .business_glossary_list_params import BusinessGlossaryListParams as BusinessGlossaryListParams

0 commit comments

Comments
 (0)