Skip to content

Commit c6372e6

Browse files
committed
feat(api): update via SDK Studio
1 parent b06452c commit c6372e6

File tree

11 files changed

+375
-76
lines changed

11 files changed

+375
-76
lines changed

.stats.yml

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

api.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ from asktable.types import Chat, ChatOut, ChatListResponse
142142

143143
Methods:
144144

145-
- <code title="post /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">create</a>(chat_id, \*\*<a href="src/asktable/types/chat_create_params.py">params</a>) -> <a href="./src/asktable/types/shared/message.py">Message</a></code>
145+
- <code title="post /chats">client.chats.<a href="./src/asktable/resources/chats/chats.py">create</a>(\*\*<a href="src/asktable/types/chat_create_params.py">params</a>) -> <a href="./src/asktable/types/chat.py">Chat</a></code>
146146
- <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_out.py">ChatOut</a></code>
147147
- <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_list_response.py">ChatListResponse</a></code>
148148
- <code title="delete /chats/{chat_id}">client.chats.<a href="./src/asktable/resources/chats/chats.py">delete</a>(chat_id) -> None</code>
@@ -157,6 +157,7 @@ from asktable.types.chats import MessageListResponse
157157

158158
Methods:
159159

160+
- <code title="post /chats/{chat_id}">client.chats.messages.<a href="./src/asktable/resources/chats/messages.py">create</a>(chat_id, \*\*<a href="src/asktable/types/chats/message_create_params.py">params</a>) -> <a href="./src/asktable/types/shared/message.py">Message</a></code>
160161
- <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/shared/message.py">Message</a></code>
161162
- <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">MessageListResponse</a></code>
162163

src/asktable/resources/chats/chats.py

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

33
from __future__ import annotations
44

5+
from typing import Dict, List, Union, Optional
6+
57
import httpx
68

79
from ...types import chat_list_params, chat_create_params
@@ -26,9 +28,9 @@
2628
async_to_raw_response_wrapper,
2729
async_to_streamed_response_wrapper,
2830
)
31+
from ...types.chat import Chat
2932
from ..._base_client import make_request_options
3033
from ...types.chat_out import ChatOut
31-
from ...types.shared.message import Message
3234
from ...types.chat_list_response import ChatListResponse
3335

3436
__all__ = ["ChatsResource", "AsyncChatsResource"]
@@ -60,20 +62,38 @@ def with_streaming_response(self) -> ChatsResourceWithStreamingResponse:
6062

6163
def create(
6264
self,
63-
chat_id: str,
6465
*,
65-
question: str,
66+
bot_id: Optional[str] | NotGiven = NOT_GIVEN,
67+
datasource_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
68+
name: Optional[str] | NotGiven = NOT_GIVEN,
69+
role_id: Optional[str] | NotGiven = NOT_GIVEN,
70+
role_variables: Optional[Dict[str, Union[str, int, bool]]] | NotGiven = NOT_GIVEN,
71+
user_profile: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
6672
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
6773
# The extra values given here take precedence over values defined on the client or passed to this method.
6874
extra_headers: Headers | None = None,
6975
extra_query: Query | None = None,
7076
extra_body: Body | None = None,
7177
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
72-
) -> Message:
78+
) -> Chat:
7379
"""
74-
发消息
80+
创建对话
7581
7682
Args:
83+
bot_id: 机器人 ID,如果需要使用高级功能,请使用 bot_id 来创建对话。在机器人中你可以定义
84+
可以访问的数据、可以执行的任务以及是否开启调试模式等设置。
85+
86+
datasource_ids: 直接与数据源对话,我们会自动为你创建一个机器人, only support one datasource
87+
88+
name: New name for the chat
89+
90+
role_id: 角色 ID,将扮演这个角色来执行对话,用于权限控制。若无,则跳过鉴权,即可查询所有
91+
数据
92+
93+
role_variables: 在扮演这个角色时需要传递的变量值,用 Key-Value 形式传递
94+
95+
user_profile: 用户信息,用于在对话中传递用户的信息,用 Key-Value 形式传递
96+
7797
extra_headers: Send extra headers
7898
7999
extra_query: Add additional query parameters to the request
@@ -82,18 +102,23 @@ def create(
82102
83103
timeout: Override the client-level default timeout for this request, in seconds
84104
"""
85-
if not chat_id:
86-
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
87105
return self._post(
88-
f"/chats/{chat_id}",
106+
"/chats",
107+
body=maybe_transform(
108+
{
109+
"bot_id": bot_id,
110+
"datasource_ids": datasource_ids,
111+
"name": name,
112+
"role_id": role_id,
113+
"role_variables": role_variables,
114+
"user_profile": user_profile,
115+
},
116+
chat_create_params.ChatCreateParams,
117+
),
89118
options=make_request_options(
90-
extra_headers=extra_headers,
91-
extra_query=extra_query,
92-
extra_body=extra_body,
93-
timeout=timeout,
94-
query=maybe_transform({"question": question}, chat_create_params.ChatCreateParams),
119+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
95120
),
96-
cast_to=Message,
121+
cast_to=Chat,
97122
)
98123

99124
def retrieve(
@@ -236,20 +261,38 @@ def with_streaming_response(self) -> AsyncChatsResourceWithStreamingResponse:
236261

237262
async def create(
238263
self,
239-
chat_id: str,
240264
*,
241-
question: str,
265+
bot_id: Optional[str] | NotGiven = NOT_GIVEN,
266+
datasource_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
267+
name: Optional[str] | NotGiven = NOT_GIVEN,
268+
role_id: Optional[str] | NotGiven = NOT_GIVEN,
269+
role_variables: Optional[Dict[str, Union[str, int, bool]]] | NotGiven = NOT_GIVEN,
270+
user_profile: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
242271
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
243272
# The extra values given here take precedence over values defined on the client or passed to this method.
244273
extra_headers: Headers | None = None,
245274
extra_query: Query | None = None,
246275
extra_body: Body | None = None,
247276
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
248-
) -> Message:
277+
) -> Chat:
249278
"""
250-
发消息
279+
创建对话
251280
252281
Args:
282+
bot_id: 机器人 ID,如果需要使用高级功能,请使用 bot_id 来创建对话。在机器人中你可以定义
283+
可以访问的数据、可以执行的任务以及是否开启调试模式等设置。
284+
285+
datasource_ids: 直接与数据源对话,我们会自动为你创建一个机器人, only support one datasource
286+
287+
name: New name for the chat
288+
289+
role_id: 角色 ID,将扮演这个角色来执行对话,用于权限控制。若无,则跳过鉴权,即可查询所有
290+
数据
291+
292+
role_variables: 在扮演这个角色时需要传递的变量值,用 Key-Value 形式传递
293+
294+
user_profile: 用户信息,用于在对话中传递用户的信息,用 Key-Value 形式传递
295+
253296
extra_headers: Send extra headers
254297
255298
extra_query: Add additional query parameters to the request
@@ -258,18 +301,23 @@ async def create(
258301
259302
timeout: Override the client-level default timeout for this request, in seconds
260303
"""
261-
if not chat_id:
262-
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
263304
return await self._post(
264-
f"/chats/{chat_id}",
305+
"/chats",
306+
body=await async_maybe_transform(
307+
{
308+
"bot_id": bot_id,
309+
"datasource_ids": datasource_ids,
310+
"name": name,
311+
"role_id": role_id,
312+
"role_variables": role_variables,
313+
"user_profile": user_profile,
314+
},
315+
chat_create_params.ChatCreateParams,
316+
),
265317
options=make_request_options(
266-
extra_headers=extra_headers,
267-
extra_query=extra_query,
268-
extra_body=extra_body,
269-
timeout=timeout,
270-
query=await async_maybe_transform({"question": question}, chat_create_params.ChatCreateParams),
318+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
271319
),
272-
cast_to=Message,
320+
cast_to=Chat,
273321
)
274322

275323
async def retrieve(

src/asktable/resources/chats/messages.py

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
async_to_raw_response_wrapper,
1818
async_to_streamed_response_wrapper,
1919
)
20-
from ...types.chats import message_list_params
20+
from ...types.chats import message_list_params, message_create_params
2121
from ..._base_client import make_request_options
2222
from ...types.shared.message import Message
2323
from ...types.chats.message_list_response import MessageListResponse
@@ -45,6 +45,44 @@ def with_streaming_response(self) -> MessagesResourceWithStreamingResponse:
4545
"""
4646
return MessagesResourceWithStreamingResponse(self)
4747

48+
def create(
49+
self,
50+
chat_id: str,
51+
*,
52+
question: str,
53+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54+
# The extra values given here take precedence over values defined on the client or passed to this method.
55+
extra_headers: Headers | None = None,
56+
extra_query: Query | None = None,
57+
extra_body: Body | None = None,
58+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
59+
) -> Message:
60+
"""
61+
发消息
62+
63+
Args:
64+
extra_headers: Send extra headers
65+
66+
extra_query: Add additional query parameters to the request
67+
68+
extra_body: Add additional JSON properties to the request
69+
70+
timeout: Override the client-level default timeout for this request, in seconds
71+
"""
72+
if not chat_id:
73+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
74+
return self._post(
75+
f"/chats/{chat_id}",
76+
options=make_request_options(
77+
extra_headers=extra_headers,
78+
extra_query=extra_query,
79+
extra_body=extra_body,
80+
timeout=timeout,
81+
query=maybe_transform({"question": question}, message_create_params.MessageCreateParams),
82+
),
83+
cast_to=Message,
84+
)
85+
4886
def retrieve(
4987
self,
5088
message_id: str,
@@ -151,6 +189,44 @@ def with_streaming_response(self) -> AsyncMessagesResourceWithStreamingResponse:
151189
"""
152190
return AsyncMessagesResourceWithStreamingResponse(self)
153191

192+
async def create(
193+
self,
194+
chat_id: str,
195+
*,
196+
question: str,
197+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
198+
# The extra values given here take precedence over values defined on the client or passed to this method.
199+
extra_headers: Headers | None = None,
200+
extra_query: Query | None = None,
201+
extra_body: Body | None = None,
202+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
203+
) -> Message:
204+
"""
205+
发消息
206+
207+
Args:
208+
extra_headers: Send extra headers
209+
210+
extra_query: Add additional query parameters to the request
211+
212+
extra_body: Add additional JSON properties to the request
213+
214+
timeout: Override the client-level default timeout for this request, in seconds
215+
"""
216+
if not chat_id:
217+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
218+
return await self._post(
219+
f"/chats/{chat_id}",
220+
options=make_request_options(
221+
extra_headers=extra_headers,
222+
extra_query=extra_query,
223+
extra_body=extra_body,
224+
timeout=timeout,
225+
query=await async_maybe_transform({"question": question}, message_create_params.MessageCreateParams),
226+
),
227+
cast_to=Message,
228+
)
229+
154230
async def retrieve(
155231
self,
156232
message_id: str,
@@ -241,6 +317,9 @@ class MessagesResourceWithRawResponse:
241317
def __init__(self, messages: MessagesResource) -> None:
242318
self._messages = messages
243319

320+
self.create = to_raw_response_wrapper(
321+
messages.create,
322+
)
244323
self.retrieve = to_raw_response_wrapper(
245324
messages.retrieve,
246325
)
@@ -253,6 +332,9 @@ class AsyncMessagesResourceWithRawResponse:
253332
def __init__(self, messages: AsyncMessagesResource) -> None:
254333
self._messages = messages
255334

335+
self.create = async_to_raw_response_wrapper(
336+
messages.create,
337+
)
256338
self.retrieve = async_to_raw_response_wrapper(
257339
messages.retrieve,
258340
)
@@ -265,6 +347,9 @@ class MessagesResourceWithStreamingResponse:
265347
def __init__(self, messages: MessagesResource) -> None:
266348
self._messages = messages
267349

350+
self.create = to_streamed_response_wrapper(
351+
messages.create,
352+
)
268353
self.retrieve = to_streamed_response_wrapper(
269354
messages.retrieve,
270355
)
@@ -277,6 +362,9 @@ class AsyncMessagesResourceWithStreamingResponse:
277362
def __init__(self, messages: AsyncMessagesResource) -> None:
278363
self._messages = messages
279364

365+
self.create = async_to_streamed_response_wrapper(
366+
messages.create,
367+
)
280368
self.retrieve = async_to_streamed_response_wrapper(
281369
messages.retrieve,
282370
)

src/asktable/types/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
from .chat import Chat as Chat
56
from .role import Role as Role
67
from .shared import Policy as Policy, Message as Message, AnswerModel as AnswerModel
78
from .chat_bot import ChatBot as ChatBot

src/asktable/types/chat.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Dict, List, Union, Optional
4+
from datetime import datetime
5+
6+
from .._models import BaseModel
7+
8+
__all__ = ["Chat"]
9+
10+
11+
class Chat(BaseModel):
12+
id: str
13+
"""对话 ID"""
14+
15+
created: datetime
16+
17+
modified: datetime
18+
19+
project_id: str
20+
21+
bot_id: Optional[str] = None
22+
"""
23+
机器人 ID,如果需要使用高级功能,请使用 bot_id 来创建对话。在机器人中你可以定义
24+
可以访问的数据、可以执行的任务以及是否开启调试模式等设置。
25+
"""
26+
27+
datasource_ids: Optional[List[str]] = None
28+
"""直接与数据源对话,我们会自动为你创建一个机器人, only support one datasource"""
29+
30+
latest_msg: Optional[datetime] = None
31+
32+
name: Optional[str] = None
33+
"""New name for the chat"""
34+
35+
role_id: Optional[str] = None
36+
"""
37+
角色 ID,将扮演这个角色来执行对话,用于权限控制。若无,则跳过鉴权,即可查询所有
38+
数据
39+
"""
40+
41+
role_variables: Optional[Dict[str, Union[str, int, bool]]] = None
42+
"""在扮演这个角色时需要传递的变量值,用 Key-Value 形式传递"""
43+
44+
user_profile: Optional[Dict[str, str]] = None
45+
"""用户信息,用于在对话中传递用户的信息,用 Key-Value 形式传递"""

0 commit comments

Comments
 (0)