22
33from __future__ import annotations
44
5+ from typing import Any , cast
6+
57import httpx
68
79from ..._types import NOT_GIVEN , Body , Query , Headers , NotGiven
2022from ...pagination import SyncPage , AsyncPage
2123from ...types .chats import message_list_params , message_send_message_params
2224from ..._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
0 commit comments