diff --git a/.stats.yml b/.stats.yml index 751b9da1..c952c498 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ -configured_endpoints: 94 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-2d9923ffe6d2d59041bac841db518829933a84e3251a372c9ad2306473fd7488.yml +configured_endpoints: 93 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-63796b5061f281e8709c0a13d5b4747be88738df5f77406b683604890083d41e.yml diff --git a/api.md b/api.md index 3c766c34..1f1f2ec8 100644 --- a/api.md +++ b/api.md @@ -22,12 +22,12 @@ from asktable.types.sys import ( Methods: -- client.sys.projects.create(\*\*params) -> Project -- client.sys.projects.retrieve(project_id) -> Project -- client.sys.projects.update(project_id, \*\*params) -> Project -- client.sys.projects.list(\*\*params) -> SyncPage[Project] -- client.sys.projects.delete(project_id) -> object -- client.sys.projects.model_groups() -> ProjectModelGroupsResponse +- client.sys.projects.create(\*\*params) -> Project +- client.sys.projects.retrieve(project_id) -> Project +- client.sys.projects.update(project_id, \*\*params) -> Project +- client.sys.projects.list(\*\*params) -> SyncPage[Project] +- client.sys.projects.delete(project_id) -> object +- client.sys.projects.model_groups() -> ProjectModelGroupsResponse ### APIKeys @@ -43,10 +43,10 @@ from asktable.types.sys.projects import ( Methods: -- client.sys.projects.api_keys.create(project_id, \*\*params) -> APIKeyCreateResponse -- client.sys.projects.api_keys.list(project_id) -> APIKeyListResponse -- client.sys.projects.api_keys.delete(key_id, \*, project_id) -> None -- client.sys.projects.api_keys.create_token(project_id, \*\*params) -> object +- client.sys.projects.api_keys.create(project_id, \*\*params) -> APIKeyCreateResponse +- client.sys.projects.api_keys.list(project_id) -> APIKeyListResponse +- client.sys.projects.api_keys.delete(key_id, \*, project_id) -> None +- client.sys.projects.api_keys.create_token(project_id, \*\*params) -> object # Securetunnels @@ -58,12 +58,12 @@ from asktable.types import SecureTunnel, SecuretunnelListLinksResponse Methods: -- client.securetunnels.create(\*\*params) -> SecureTunnel -- client.securetunnels.retrieve(securetunnel_id) -> SecureTunnel -- client.securetunnels.update(securetunnel_id, \*\*params) -> SecureTunnel -- client.securetunnels.list(\*\*params) -> SyncPage[SecureTunnel] -- client.securetunnels.delete(securetunnel_id) -> None -- client.securetunnels.list_links(securetunnel_id, \*\*params) -> SyncPage[SecuretunnelListLinksResponse] +- client.securetunnels.create(\*\*params) -> SecureTunnel +- client.securetunnels.retrieve(securetunnel_id) -> SecureTunnel +- client.securetunnels.update(securetunnel_id, \*\*params) -> SecureTunnel +- client.securetunnels.list(\*\*params) -> SyncPage[SecureTunnel] +- client.securetunnels.delete(securetunnel_id) -> None +- client.securetunnels.list_links(securetunnel_id, \*\*params) -> SyncPage[SecuretunnelListLinksResponse] # Roles @@ -80,46 +80,38 @@ from asktable.types import ( Methods: -- client.roles.create(\*\*params) -> Role -- client.roles.retrieve(role_id) -> Role -- client.roles.update(role_id, \*\*params) -> Role -- client.roles.list(\*\*params) -> SyncPage[Role] -- client.roles.delete(role_id) -> object -- client.roles.get_polices(role_id) -> RoleGetPolicesResponse -- client.roles.get_variables(role_id, \*\*params) -> object +- client.roles.create(\*\*params) -> Role +- client.roles.retrieve(role_id) -> Role +- client.roles.update(role_id, \*\*params) -> Role +- client.roles.list(\*\*params) -> SyncPage[Role] +- client.roles.delete(role_id) -> object +- client.roles.get_polices(role_id) -> RoleGetPolicesResponse +- client.roles.get_variables(role_id, \*\*params) -> object # Policies Methods: -- client.policies.create(\*\*params) -> Policy -- client.policies.retrieve(policy_id) -> Policy -- client.policies.update(policy_id, \*\*params) -> Policy -- client.policies.list(\*\*params) -> SyncPage[Policy] -- client.policies.delete(policy_id) -> None +- client.policies.create(\*\*params) -> Policy +- client.policies.retrieve(policy_id) -> Policy +- client.policies.update(policy_id, \*\*params) -> Policy +- client.policies.list(\*\*params) -> SyncPage[Policy] +- client.policies.delete(policy_id) -> None # Chats Types: ```python -from asktable.types import ( - AIMessage, - Chat, - ToolMessage, - UserMessage, - ChatRetrieveResponse, - ChatPostMessageResponse, -) +from asktable.types import AIMessage, Chat, ToolMessage, UserMessage, ChatRetrieveResponse ``` Methods: -- client.chats.create(\*\*params) -> Chat -- client.chats.retrieve(chat_id) -> ChatRetrieveResponse -- client.chats.list(\*\*params) -> SyncPage[Chat] -- client.chats.delete(chat_id) -> None -- client.chats.post_message(chat_id, \*\*params) -> ChatPostMessageResponse +- client.chats.create(\*\*params) -> Chat +- client.chats.retrieve(chat_id) -> ChatRetrieveResponse +- client.chats.list(\*\*params) -> SyncPage[Chat] +- client.chats.delete(chat_id) -> None ## Messages @@ -131,9 +123,9 @@ from asktable.types.chats import MessageCreateResponse, MessageRetrieveResponse, Methods: -- client.chats.messages.create(chat_id, \*\*params) -> MessageCreateResponse -- client.chats.messages.retrieve(message_id, \*, chat_id) -> MessageRetrieveResponse -- client.chats.messages.list(chat_id, \*\*params) -> SyncPage[MessageListResponse] +- client.chats.messages.create(chat_id, \*\*params) -> MessageCreateResponse +- client.chats.messages.retrieve(message_id, \*, chat_id) -> MessageRetrieveResponse +- client.chats.messages.list(chat_id, \*\*params) -> SyncPage[MessageListResponse] # Datasources @@ -153,13 +145,13 @@ from asktable.types import ( Methods: -- client.datasources.create(\*\*params) -> Datasource -- client.datasources.retrieve(datasource_id) -> DatasourceRetrieveResponse -- client.datasources.update(datasource_id, \*\*params) -> Datasource -- client.datasources.list(\*\*params) -> SyncPage[Datasource] -- client.datasources.delete(datasource_id) -> object -- client.datasources.add_file(datasource_id, \*\*params) -> object -- client.datasources.delete_file(file_id, \*, datasource_id) -> object +- client.datasources.create(\*\*params) -> Datasource +- client.datasources.retrieve(datasource_id) -> DatasourceRetrieveResponse +- client.datasources.update(datasource_id, \*\*params) -> Datasource +- client.datasources.list(\*\*params) -> SyncPage[Datasource] +- client.datasources.delete(datasource_id) -> object +- client.datasources.add_file(datasource_id, \*\*params) -> object +- client.datasources.delete_file(file_id, \*, datasource_id) -> object ## Meta @@ -171,10 +163,10 @@ from asktable.types.datasources import MetaCreateResponse, MetaUpdateResponse, M Methods: -- client.datasources.meta.create(datasource_id, \*\*params) -> object -- client.datasources.meta.retrieve(datasource_id) -> Meta -- client.datasources.meta.update(datasource_id, \*\*params) -> object -- client.datasources.meta.annotate(datasource_id, \*\*params) -> object +- client.datasources.meta.create(datasource_id, \*\*params) -> object +- client.datasources.meta.retrieve(datasource_id) -> Meta +- client.datasources.meta.update(datasource_id, \*\*params) -> object +- client.datasources.meta.annotate(datasource_id, \*\*params) -> object ## UploadParams @@ -186,7 +178,7 @@ from asktable.types.datasources import UploadParamCreateResponse Methods: -- client.datasources.upload_params.create(\*\*params) -> object +- client.datasources.upload_params.create(\*\*params) -> object ## Indexes @@ -198,9 +190,9 @@ from asktable.types.datasources import IndexCreateResponse, IndexDeleteResponse Methods: -- client.datasources.indexes.create(ds_id, \*\*params) -> object -- client.datasources.indexes.list(ds_id, \*\*params) -> SyncPage[Index] -- client.datasources.indexes.delete(index_id, \*, ds_id) -> object +- client.datasources.indexes.create(ds_id, \*\*params) -> object +- client.datasources.indexes.list(ds_id, \*\*params) -> SyncPage[Index] +- client.datasources.indexes.delete(index_id, \*, ds_id) -> object # Bots @@ -212,12 +204,12 @@ from asktable.types import Chatbot, BotDeleteResponse, BotInviteResponse Methods: -- client.bots.create(\*\*params) -> Chatbot -- client.bots.retrieve(bot_id) -> Chatbot -- client.bots.update(bot_id, \*\*params) -> Chatbot -- client.bots.list(\*\*params) -> SyncPage[Chatbot] -- client.bots.delete(bot_id) -> object -- client.bots.invite(bot_id, \*\*params) -> object +- client.bots.create(\*\*params) -> Chatbot +- client.bots.retrieve(bot_id) -> Chatbot +- client.bots.update(bot_id, \*\*params) -> Chatbot +- client.bots.list(\*\*params) -> SyncPage[Chatbot] +- client.bots.delete(bot_id) -> object +- client.bots.invite(bot_id, \*\*params) -> object # Extapis @@ -229,11 +221,11 @@ from asktable.types import Extapi, ExtapiDeleteResponse Methods: -- client.extapis.create(\*\*params) -> Extapi -- client.extapis.retrieve(extapi_id) -> Extapi -- client.extapis.update(extapi_id, \*\*params) -> Extapi -- client.extapis.list(\*\*params) -> SyncPage[Extapi] -- client.extapis.delete(extapi_id) -> object +- client.extapis.create(\*\*params) -> Extapi +- client.extapis.retrieve(extapi_id) -> Extapi +- client.extapis.update(extapi_id, \*\*params) -> Extapi +- client.extapis.list(\*\*params) -> SyncPage[Extapi] +- client.extapis.delete(extapi_id) -> object ## Routes @@ -245,11 +237,11 @@ from asktable.types.extapis import ExtapiRoute, RouteListResponse Methods: -- client.extapis.routes.create(path_extapi_id, \*\*params) -> ExtapiRoute -- client.extapis.routes.retrieve(route_id, \*, extapi_id) -> ExtapiRoute -- client.extapis.routes.update(route_id, \*, extapi_id, \*\*params) -> ExtapiRoute -- client.extapis.routes.list(extapi_id) -> RouteListResponse -- client.extapis.routes.delete(route_id, \*, extapi_id) -> None +- client.extapis.routes.create(path_extapi_id, \*\*params) -> ExtapiRoute +- client.extapis.routes.retrieve(route_id, \*, extapi_id) -> ExtapiRoute +- client.extapis.routes.update(route_id, \*, extapi_id, \*\*params) -> ExtapiRoute +- client.extapis.routes.list(extapi_id) -> RouteListResponse +- client.extapis.routes.delete(route_id, \*, extapi_id) -> None # Auth @@ -261,8 +253,8 @@ from asktable.types import AuthCreateTokenResponse, AuthMeResponse Methods: -- client.auth.create_token(\*\*params) -> object -- client.auth.me() -> object +- client.auth.create_token(\*\*params) -> object +- client.auth.me() -> AuthMeResponse # Answers @@ -274,8 +266,8 @@ from asktable.types import AnswerResponse Methods: -- client.answers.create(\*\*params) -> AnswerResponse -- client.answers.list(\*\*params) -> SyncPage[AnswerResponse] +- client.answers.create(\*\*params) -> AnswerResponse +- client.answers.list(\*\*params) -> SyncPage[AnswerResponse] # Sqls @@ -287,14 +279,14 @@ from asktable.types import QueryResponse Methods: -- client.sqls.create(\*\*params) -> QueryResponse -- client.sqls.list(\*\*params) -> SyncPage[QueryResponse] +- client.sqls.create(\*\*params) -> QueryResponse +- client.sqls.list(\*\*params) -> SyncPage[QueryResponse] # Caches Methods: -- client.caches.delete(cache_id) -> None +- client.caches.delete(cache_id) -> None # Integration @@ -306,8 +298,8 @@ from asktable.types import FileAskResponse Methods: -- client.integration.create_excel_ds(\*\*params) -> Datasource -- client.integration.excel_csv_ask(\*\*params) -> FileAskResponse +- client.integration.create_excel_ds(\*\*params) -> Datasource +- client.integration.excel_csv_ask(\*\*params) -> FileAskResponse # BusinessGlossary @@ -324,11 +316,11 @@ from asktable.types import ( Methods: -- client.business_glossary.create(\*\*params) -> BusinessGlossaryCreateResponse -- client.business_glossary.retrieve(entry_id) -> EntryWithDefinition -- client.business_glossary.update(entry_id, \*\*params) -> Entry -- client.business_glossary.list(\*\*params) -> SyncPage[EntryWithDefinition] -- client.business_glossary.delete(entry_id) -> object +- client.business_glossary.create(\*\*params) -> BusinessGlossaryCreateResponse +- client.business_glossary.retrieve(entry_id) -> EntryWithDefinition +- client.business_glossary.update(entry_id, \*\*params) -> Entry +- client.business_glossary.list(\*\*params) -> SyncPage[EntryWithDefinition] +- client.business_glossary.delete(entry_id) -> object # Preferences @@ -345,10 +337,10 @@ from asktable.types import ( Methods: -- client.preferences.create(\*\*params) -> PreferenceCreateResponse -- client.preferences.retrieve() -> PreferenceRetrieveResponse -- client.preferences.update(\*\*params) -> PreferenceUpdateResponse -- client.preferences.delete() -> object +- client.preferences.create(\*\*params) -> PreferenceCreateResponse +- client.preferences.retrieve() -> PreferenceRetrieveResponse +- client.preferences.update(\*\*params) -> PreferenceUpdateResponse +- client.preferences.delete() -> object # Trainings @@ -360,9 +352,9 @@ from asktable.types import TrainingCreateResponse, TrainingListResponse, Trainin Methods: -- client.trainings.create(\*\*params) -> TrainingCreateResponse -- client.trainings.list(\*\*params) -> SyncPage[TrainingListResponse] -- client.trainings.delete(id, \*\*params) -> object +- client.trainings.create(\*\*params) -> TrainingCreateResponse +- client.trainings.list(\*\*params) -> SyncPage[TrainingListResponse] +- client.trainings.delete(id, \*\*params) -> object # Project @@ -374,9 +366,9 @@ from asktable.types import ProjectListModelGroupsResponse Methods: -- client.project.retrieve() -> Project -- client.project.update(\*\*params) -> Project -- client.project.list_model_groups() -> ProjectListModelGroupsResponse +- client.project.retrieve() -> Project +- client.project.update(\*\*params) -> Project +- client.project.list_model_groups() -> ProjectListModelGroupsResponse # Scores @@ -388,7 +380,7 @@ from asktable.types import ScoreCreateResponse Methods: -- client.scores.create(\*\*params) -> ScoreCreateResponse +- client.scores.create(\*\*params) -> ScoreCreateResponse # Files @@ -400,7 +392,7 @@ from asktable.types import FileRetrieveResponse Methods: -- client.files.retrieve(file_id) -> object +- client.files.retrieve(file_id) -> object # Dataframes @@ -412,4 +404,4 @@ from asktable.types import DataframeRetrieveResponse Methods: -- client.dataframes.retrieve(dataframe_id) -> DataframeRetrieveResponse +- client.dataframes.retrieve(dataframe_id) -> DataframeRetrieveResponse diff --git a/src/asktable/resources/answers.py b/src/asktable/resources/answers.py index ff6e0aa3..155a89bd 100644 --- a/src/asktable/resources/answers.py +++ b/src/asktable/resources/answers.py @@ -89,7 +89,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/single-turn/q2a", + "/v1/single-turn/q2a", body=maybe_transform( { "datasource_id": datasource_id, @@ -139,7 +139,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/single-turn/q2a", + "/v1/single-turn/q2a", page=SyncPage[AnswerResponse], options=make_request_options( extra_headers=extra_headers, @@ -221,7 +221,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/single-turn/q2a", + "/v1/single-turn/q2a", body=await async_maybe_transform( { "datasource_id": datasource_id, @@ -271,7 +271,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/single-turn/q2a", + "/v1/single-turn/q2a", page=AsyncPage[AnswerResponse], options=make_request_options( extra_headers=extra_headers, diff --git a/src/asktable/resources/auth.py b/src/asktable/resources/auth.py index ca6fbe12..b8ed671d 100644 --- a/src/asktable/resources/auth.py +++ b/src/asktable/resources/auth.py @@ -22,6 +22,7 @@ async_to_streamed_response_wrapper, ) from .._base_client import make_request_options +from ..types.auth_me_response import AuthMeResponse __all__ = ["AuthResource", "AsyncAuthResource"] @@ -81,7 +82,7 @@ def create_token( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/auth/tokens", + "/v1/auth/tokens", body=maybe_transform( { "ak_role": ak_role, @@ -106,14 +107,14 @@ def me( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> object: + ) -> AuthMeResponse: """获取当前登录的 TokenID""" return self._get( - "/auth/me", + "/v1/auth/me", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=object, + cast_to=AuthMeResponse, ) @@ -172,7 +173,7 @@ async def create_token( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/auth/tokens", + "/v1/auth/tokens", body=await async_maybe_transform( { "ak_role": ak_role, @@ -197,14 +198,14 @@ async def me( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> object: + ) -> AuthMeResponse: """获取当前登录的 TokenID""" return await self._get( - "/auth/me", + "/v1/auth/me", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=object, + cast_to=AuthMeResponse, ) diff --git a/src/asktable/resources/bots.py b/src/asktable/resources/bots.py index 2227fb59..6ce7781e 100644 --- a/src/asktable/resources/bots.py +++ b/src/asktable/resources/bots.py @@ -100,7 +100,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/bots", + "/v1/bots", body=maybe_transform( { "datasource_ids": datasource_ids, @@ -148,7 +148,7 @@ def retrieve( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return self._get( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -214,7 +214,7 @@ def update( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return self._patch( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", body=maybe_transform( { "avatar_url": avatar_url, @@ -269,7 +269,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/bots", + "/v1/bots", page=SyncPage[Chatbot], options=make_request_options( extra_headers=extra_headers, @@ -314,7 +314,7 @@ def delete( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return self._delete( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -348,7 +348,7 @@ def invite( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return self._post( - f"/bots/{bot_id}/invite", + f"/v1/bots/{bot_id}/invite", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -433,7 +433,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/bots", + "/v1/bots", body=await async_maybe_transform( { "datasource_ids": datasource_ids, @@ -481,7 +481,7 @@ async def retrieve( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return await self._get( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -547,7 +547,7 @@ async def update( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return await self._patch( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", body=await async_maybe_transform( { "avatar_url": avatar_url, @@ -602,7 +602,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/bots", + "/v1/bots", page=AsyncPage[Chatbot], options=make_request_options( extra_headers=extra_headers, @@ -647,7 +647,7 @@ async def delete( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return await self._delete( - f"/bots/{bot_id}", + f"/v1/bots/{bot_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -681,7 +681,7 @@ async def invite( if not bot_id: raise ValueError(f"Expected a non-empty value for `bot_id` but received {bot_id!r}") return await self._post( - f"/bots/{bot_id}/invite", + f"/v1/bots/{bot_id}/invite", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, diff --git a/src/asktable/resources/business_glossary.py b/src/asktable/resources/business_glossary.py index 3fabfdd5..18700d43 100644 --- a/src/asktable/resources/business_glossary.py +++ b/src/asktable/resources/business_glossary.py @@ -77,7 +77,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/business-glossary", + "/v1/business-glossary", body=maybe_transform(body, Iterable[business_glossary_create_params.Body]), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -111,7 +111,7 @@ def retrieve( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return self._get( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -156,7 +156,7 @@ def update( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return self._patch( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", body=maybe_transform( { "aliases": aliases, @@ -204,7 +204,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/business-glossary", + "/v1/business-glossary", page=SyncPage[EntryWithDefinition], options=make_request_options( extra_headers=extra_headers, @@ -249,7 +249,7 @@ def delete( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return self._delete( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -301,7 +301,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/business-glossary", + "/v1/business-glossary", body=await async_maybe_transform(body, Iterable[business_glossary_create_params.Body]), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -335,7 +335,7 @@ async def retrieve( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return await self._get( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -380,7 +380,7 @@ async def update( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return await self._patch( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", body=await async_maybe_transform( { "aliases": aliases, @@ -428,7 +428,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/business-glossary", + "/v1/business-glossary", page=AsyncPage[EntryWithDefinition], options=make_request_options( extra_headers=extra_headers, @@ -473,7 +473,7 @@ async def delete( if not entry_id: raise ValueError(f"Expected a non-empty value for `entry_id` but received {entry_id!r}") return await self._delete( - f"/business-glossary/{entry_id}", + f"/v1/business-glossary/{entry_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/caches.py b/src/asktable/resources/caches.py index bc1c73bf..b89b7d6b 100644 --- a/src/asktable/resources/caches.py +++ b/src/asktable/resources/caches.py @@ -65,7 +65,7 @@ def delete( raise ValueError(f"Expected a non-empty value for `cache_id` but received {cache_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/caches/{cache_id}", + f"/v1/caches/{cache_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -120,7 +120,7 @@ async def delete( raise ValueError(f"Expected a non-empty value for `cache_id` but received {cache_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/caches/{cache_id}", + f"/v1/caches/{cache_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/chats/chats.py b/src/asktable/resources/chats/chats.py index d974eeb4..661ca731 100644 --- a/src/asktable/resources/chats/chats.py +++ b/src/asktable/resources/chats/chats.py @@ -2,11 +2,11 @@ from __future__ import annotations -from typing import Any, Dict, Union, Optional, cast +from typing import Dict, Union, Optional import httpx -from ...types import chat_list_params, chat_create_params, chat_post_message_params +from ...types import chat_list_params, chat_create_params from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven from ..._utils import ( maybe_transform, @@ -32,7 +32,6 @@ from ...types.chat import Chat from ..._base_client import AsyncPaginator, make_request_options from ...types.chat_retrieve_response import ChatRetrieveResponse -from ...types.chat_post_message_response import ChatPostMessageResponse __all__ = ["ChatsResource", "AsyncChatsResource"] @@ -101,7 +100,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/chats", + "/v1/chats", body=maybe_transform( { "bot_id": bot_id, @@ -144,7 +143,7 @@ def retrieve( if not chat_id: raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") return self._get( - f"/chats/{chat_id}", + f"/v1/chats/{chat_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -180,7 +179,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/chats", + "/v1/chats", page=SyncPage[Chat], options=make_request_options( extra_headers=extra_headers, @@ -225,56 +224,13 @@ def delete( raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/chats/{chat_id}", + f"/v1/chats/{chat_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), cast_to=NoneType, ) - def post_message( - self, - chat_id: str, - *, - question: str, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ChatPostMessageResponse: - """ - 发消息 - - Args: - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - if not chat_id: - raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") - return cast( - ChatPostMessageResponse, - self._post( - f"/chats/{chat_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform({"question": question}, chat_post_message_params.ChatPostMessageParams), - ), - cast_to=cast( - Any, ChatPostMessageResponse - ), # Union types cannot be passed in as arguments in the type system - ), - ) - class AsyncChatsResource(AsyncAPIResource): @cached_property @@ -340,7 +296,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/chats", + "/v1/chats", body=await async_maybe_transform( { "bot_id": bot_id, @@ -383,7 +339,7 @@ async def retrieve( if not chat_id: raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") return await self._get( - f"/chats/{chat_id}", + f"/v1/chats/{chat_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -419,7 +375,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/chats", + "/v1/chats", page=AsyncPage[Chat], options=make_request_options( extra_headers=extra_headers, @@ -464,58 +420,13 @@ async def delete( raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/chats/{chat_id}", + f"/v1/chats/{chat_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), cast_to=NoneType, ) - async def post_message( - self, - chat_id: str, - *, - question: str, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ChatPostMessageResponse: - """ - 发消息 - - Args: - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - if not chat_id: - raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") - return cast( - ChatPostMessageResponse, - await self._post( - f"/chats/{chat_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=await async_maybe_transform( - {"question": question}, chat_post_message_params.ChatPostMessageParams - ), - ), - cast_to=cast( - Any, ChatPostMessageResponse - ), # Union types cannot be passed in as arguments in the type system - ), - ) - class ChatsResourceWithRawResponse: def __init__(self, chats: ChatsResource) -> None: @@ -533,9 +444,6 @@ def __init__(self, chats: ChatsResource) -> None: self.delete = to_raw_response_wrapper( chats.delete, ) - self.post_message = to_raw_response_wrapper( - chats.post_message, - ) @cached_property def messages(self) -> MessagesResourceWithRawResponse: @@ -558,9 +466,6 @@ def __init__(self, chats: AsyncChatsResource) -> None: self.delete = async_to_raw_response_wrapper( chats.delete, ) - self.post_message = async_to_raw_response_wrapper( - chats.post_message, - ) @cached_property def messages(self) -> AsyncMessagesResourceWithRawResponse: @@ -583,9 +488,6 @@ def __init__(self, chats: ChatsResource) -> None: self.delete = to_streamed_response_wrapper( chats.delete, ) - self.post_message = to_streamed_response_wrapper( - chats.post_message, - ) @cached_property def messages(self) -> MessagesResourceWithStreamingResponse: @@ -608,9 +510,6 @@ def __init__(self, chats: AsyncChatsResource) -> None: self.delete = async_to_streamed_response_wrapper( chats.delete, ) - self.post_message = async_to_streamed_response_wrapper( - chats.post_message, - ) @cached_property def messages(self) -> AsyncMessagesResourceWithStreamingResponse: diff --git a/src/asktable/resources/chats/messages.py b/src/asktable/resources/chats/messages.py index 6d5a2c01..8ad81c31 100644 --- a/src/asktable/resources/chats/messages.py +++ b/src/asktable/resources/chats/messages.py @@ -62,7 +62,7 @@ def create( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> MessageCreateResponse: """ - 发消息 + Send a message to the chat Args: extra_headers: Send extra headers @@ -78,7 +78,7 @@ def create( return cast( MessageCreateResponse, self._post( - f"/chats/{chat_id}/messages", + f"/v1/chats/{chat_id}/messages", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -123,7 +123,7 @@ def retrieve( return cast( MessageRetrieveResponse, self._get( - f"/chats/{chat_id}/messages/{message_id}", + f"/v1/chats/{chat_id}/messages/{message_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -165,7 +165,7 @@ def list( if not chat_id: raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") return self._get_api_list( - f"/chats/{chat_id}/messages", + f"/v1/chats/{chat_id}/messages", page=SyncPage[MessageListResponse], options=make_request_options( extra_headers=extra_headers, @@ -217,7 +217,7 @@ async def create( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> MessageCreateResponse: """ - 发消息 + Send a message to the chat Args: extra_headers: Send extra headers @@ -233,7 +233,7 @@ async def create( return cast( MessageCreateResponse, await self._post( - f"/chats/{chat_id}/messages", + f"/v1/chats/{chat_id}/messages", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -280,7 +280,7 @@ async def retrieve( return cast( MessageRetrieveResponse, await self._get( - f"/chats/{chat_id}/messages/{message_id}", + f"/v1/chats/{chat_id}/messages/{message_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -322,7 +322,7 @@ def list( if not chat_id: raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}") return self._get_api_list( - f"/chats/{chat_id}/messages", + f"/v1/chats/{chat_id}/messages", page=AsyncPage[MessageListResponse], options=make_request_options( extra_headers=extra_headers, diff --git a/src/asktable/resources/dataframes.py b/src/asktable/resources/dataframes.py index 8f0953c3..4320689d 100644 --- a/src/asktable/resources/dataframes.py +++ b/src/asktable/resources/dataframes.py @@ -65,7 +65,7 @@ def retrieve( if not dataframe_id: raise ValueError(f"Expected a non-empty value for `dataframe_id` but received {dataframe_id!r}") return self._get( - f"/dataframes/{dataframe_id}", + f"/v1/dataframes/{dataframe_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -119,7 +119,7 @@ async def retrieve( if not dataframe_id: raise ValueError(f"Expected a non-empty value for `dataframe_id` but received {dataframe_id!r}") return await self._get( - f"/dataframes/{dataframe_id}", + f"/v1/dataframes/{dataframe_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/datasources/datasources.py b/src/asktable/resources/datasources/datasources.py index 559a9321..c36be974 100644 --- a/src/asktable/resources/datasources/datasources.py +++ b/src/asktable/resources/datasources/datasources.py @@ -108,9 +108,8 @@ def create( "oracle", "polardbmysql", "polardbpg", + "dameng", ], - async_process_meta: bool | NotGiven = NOT_GIVEN, - value_index: bool | NotGiven = NOT_GIVEN, access_config: Optional[datasource_create_params.AccessConfig] | NotGiven = NOT_GIVEN, name: Optional[str] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -139,7 +138,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/datasources", + "/v1/datasources", body=maybe_transform( { "engine": engine, @@ -149,17 +148,7 @@ def create( datasource_create_params.DatasourceCreateParams, ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "async_process_meta": async_process_meta, - "value_index": value_index, - }, - datasource_create_params.DatasourceCreateParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), cast_to=Datasource, ) @@ -190,7 +179,7 @@ def retrieve( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._get( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -217,6 +206,7 @@ def update( "oracle", "polardbmysql", "polardbpg", + "dameng", ] ] | NotGiven = NOT_GIVEN, @@ -269,7 +259,7 @@ def update( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._patch( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", body=maybe_transform( { "access_config": access_config, @@ -321,7 +311,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/datasources", + "/v1/datasources", page=SyncPage[Datasource], options=make_request_options( extra_headers=extra_headers, @@ -366,7 +356,7 @@ def delete( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._delete( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -406,7 +396,7 @@ def add_file( # multipart/form-data; boundary=---abc-- extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})} return self._post( - f"/datasources/{datasource_id}/files", + f"/v1/datasources/{datasource_id}/files", body=maybe_transform(body, datasource_add_file_params.DatasourceAddFileParams), files=files, options=make_request_options( @@ -444,7 +434,7 @@ def delete_file( if not file_id: raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}") return self._delete( - f"/datasources/{datasource_id}/files/{file_id}", + f"/v1/datasources/{datasource_id}/files/{file_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -500,9 +490,8 @@ async def create( "oracle", "polardbmysql", "polardbpg", + "dameng", ], - async_process_meta: bool | NotGiven = NOT_GIVEN, - value_index: bool | NotGiven = NOT_GIVEN, access_config: Optional[datasource_create_params.AccessConfig] | NotGiven = NOT_GIVEN, name: Optional[str] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -531,7 +520,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/datasources", + "/v1/datasources", body=await async_maybe_transform( { "engine": engine, @@ -541,17 +530,7 @@ async def create( datasource_create_params.DatasourceCreateParams, ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=await async_maybe_transform( - { - "async_process_meta": async_process_meta, - "value_index": value_index, - }, - datasource_create_params.DatasourceCreateParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), cast_to=Datasource, ) @@ -582,7 +561,7 @@ async def retrieve( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._get( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -609,6 +588,7 @@ async def update( "oracle", "polardbmysql", "polardbpg", + "dameng", ] ] | NotGiven = NOT_GIVEN, @@ -661,7 +641,7 @@ async def update( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._patch( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", body=await async_maybe_transform( { "access_config": access_config, @@ -713,7 +693,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/datasources", + "/v1/datasources", page=AsyncPage[Datasource], options=make_request_options( extra_headers=extra_headers, @@ -758,7 +738,7 @@ async def delete( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._delete( - f"/datasources/{datasource_id}", + f"/v1/datasources/{datasource_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -798,7 +778,7 @@ async def add_file( # multipart/form-data; boundary=---abc-- extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})} return await self._post( - f"/datasources/{datasource_id}/files", + f"/v1/datasources/{datasource_id}/files", body=await async_maybe_transform(body, datasource_add_file_params.DatasourceAddFileParams), files=files, options=make_request_options( @@ -836,7 +816,7 @@ async def delete_file( if not file_id: raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}") return await self._delete( - f"/datasources/{datasource_id}/files/{file_id}", + f"/v1/datasources/{datasource_id}/files/{file_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/datasources/indexes.py b/src/asktable/resources/datasources/indexes.py index 943dab53..a4df4476 100644 --- a/src/asktable/resources/datasources/indexes.py +++ b/src/asktable/resources/datasources/indexes.py @@ -82,7 +82,7 @@ def create( if not ds_id: raise ValueError(f"Expected a non-empty value for `ds_id` but received {ds_id!r}") return self._post( - f"/datasources/{ds_id}/indexes", + f"/v1/datasources/{ds_id}/indexes", body=maybe_transform( { "field_name": field_name, @@ -134,7 +134,7 @@ def list( if not ds_id: raise ValueError(f"Expected a non-empty value for `ds_id` but received {ds_id!r}") return self._get_api_list( - f"/datasources/{ds_id}/indexes", + f"/v1/datasources/{ds_id}/indexes", page=SyncPage[Index], options=make_request_options( extra_headers=extra_headers, @@ -181,7 +181,7 @@ def delete( if not index_id: raise ValueError(f"Expected a non-empty value for `index_id` but received {index_id!r}") return self._delete( - f"/datasources/{ds_id}/indexes/{index_id}", + f"/v1/datasources/{ds_id}/indexes/{index_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -246,7 +246,7 @@ async def create( if not ds_id: raise ValueError(f"Expected a non-empty value for `ds_id` but received {ds_id!r}") return await self._post( - f"/datasources/{ds_id}/indexes", + f"/v1/datasources/{ds_id}/indexes", body=await async_maybe_transform( { "field_name": field_name, @@ -300,7 +300,7 @@ def list( if not ds_id: raise ValueError(f"Expected a non-empty value for `ds_id` but received {ds_id!r}") return self._get_api_list( - f"/datasources/{ds_id}/indexes", + f"/v1/datasources/{ds_id}/indexes", page=AsyncPage[Index], options=make_request_options( extra_headers=extra_headers, @@ -347,7 +347,7 @@ async def delete( if not index_id: raise ValueError(f"Expected a non-empty value for `index_id` but received {index_id!r}") return await self._delete( - f"/datasources/{ds_id}/indexes/{index_id}", + f"/v1/datasources/{ds_id}/indexes/{index_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/datasources/meta.py b/src/asktable/resources/datasources/meta.py index d694e024..ab219d17 100644 --- a/src/asktable/resources/datasources/meta.py +++ b/src/asktable/resources/datasources/meta.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Dict +from typing import Dict, List, Optional import httpx @@ -52,7 +52,8 @@ def create( *, async_process_meta: bool | NotGiven = NOT_GIVEN, value_index: bool | NotGiven = NOT_GIVEN, - schemas: Dict[str, meta_create_params.Schemas] | NotGiven = NOT_GIVEN, + meta: Optional[meta_create_params.Meta] | NotGiven = NOT_GIVEN, + selected_tables: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -79,8 +80,14 @@ def create( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._post( - f"/datasources/{datasource_id}/meta", - body=maybe_transform({"schemas": schemas}, meta_create_params.MetaCreateParams), + f"/v1/datasources/{datasource_id}/meta", + body=maybe_transform( + { + "meta": meta, + "selected_tables": selected_tables, + }, + meta_create_params.MetaCreateParams, + ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -123,7 +130,7 @@ def retrieve( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._get( - f"/datasources/{datasource_id}/meta", + f"/v1/datasources/{datasource_id}/meta", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -134,7 +141,9 @@ def update( self, datasource_id: str, *, - schemas: Dict[str, meta_update_params.Schemas] | NotGiven = NOT_GIVEN, + async_process_meta: bool | NotGiven = NOT_GIVEN, + meta: Optional[meta_update_params.Meta] | NotGiven = NOT_GIVEN, + selected_tables: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -157,10 +166,20 @@ def update( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._put( - f"/datasources/{datasource_id}/meta", - body=maybe_transform({"schemas": schemas}, meta_update_params.MetaUpdateParams), + f"/v1/datasources/{datasource_id}/meta", + body=maybe_transform( + { + "meta": meta, + "selected_tables": selected_tables, + }, + meta_update_params.MetaUpdateParams, + ), options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform({"async_process_meta": async_process_meta}, meta_update_params.MetaUpdateParams), ), cast_to=object, ) @@ -192,7 +211,7 @@ def annotate( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return self._patch( - f"/datasources/{datasource_id}/meta", + f"/v1/datasources/{datasource_id}/meta", body=maybe_transform({"schemas": schemas}, meta_annotate_params.MetaAnnotateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -227,7 +246,8 @@ async def create( *, async_process_meta: bool | NotGiven = NOT_GIVEN, value_index: bool | NotGiven = NOT_GIVEN, - schemas: Dict[str, meta_create_params.Schemas] | NotGiven = NOT_GIVEN, + meta: Optional[meta_create_params.Meta] | NotGiven = NOT_GIVEN, + selected_tables: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -254,8 +274,14 @@ async def create( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._post( - f"/datasources/{datasource_id}/meta", - body=await async_maybe_transform({"schemas": schemas}, meta_create_params.MetaCreateParams), + f"/v1/datasources/{datasource_id}/meta", + body=await async_maybe_transform( + { + "meta": meta, + "selected_tables": selected_tables, + }, + meta_create_params.MetaCreateParams, + ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -298,7 +324,7 @@ async def retrieve( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._get( - f"/datasources/{datasource_id}/meta", + f"/v1/datasources/{datasource_id}/meta", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -309,7 +335,9 @@ async def update( self, datasource_id: str, *, - schemas: Dict[str, meta_update_params.Schemas] | NotGiven = NOT_GIVEN, + async_process_meta: bool | NotGiven = NOT_GIVEN, + meta: Optional[meta_update_params.Meta] | NotGiven = NOT_GIVEN, + selected_tables: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -332,10 +360,22 @@ async def update( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._put( - f"/datasources/{datasource_id}/meta", - body=await async_maybe_transform({"schemas": schemas}, meta_update_params.MetaUpdateParams), + f"/v1/datasources/{datasource_id}/meta", + body=await async_maybe_transform( + { + "meta": meta, + "selected_tables": selected_tables, + }, + meta_update_params.MetaUpdateParams, + ), options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform( + {"async_process_meta": async_process_meta}, meta_update_params.MetaUpdateParams + ), ), cast_to=object, ) @@ -367,7 +407,7 @@ async def annotate( if not datasource_id: raise ValueError(f"Expected a non-empty value for `datasource_id` but received {datasource_id!r}") return await self._patch( - f"/datasources/{datasource_id}/meta", + f"/v1/datasources/{datasource_id}/meta", body=await async_maybe_transform({"schemas": schemas}, meta_annotate_params.MetaAnnotateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout diff --git a/src/asktable/resources/datasources/upload_params.py b/src/asktable/resources/datasources/upload_params.py index aab0b9cb..54fd1d93 100644 --- a/src/asktable/resources/datasources/upload_params.py +++ b/src/asktable/resources/datasources/upload_params.py @@ -74,7 +74,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/datasources/upload_params", + "/v1/datasources/upload_params", body=maybe_transform( { "expiration": expiration, @@ -138,7 +138,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/datasources/upload_params", + "/v1/datasources/upload_params", body=await async_maybe_transform( { "expiration": expiration, diff --git a/src/asktable/resources/extapis/extapis.py b/src/asktable/resources/extapis/extapis.py index e1c7312a..9c392981 100644 --- a/src/asktable/resources/extapis/extapis.py +++ b/src/asktable/resources/extapis/extapis.py @@ -91,7 +91,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/extapis", + "/v1/extapis", body=maybe_transform( { "base_url": base_url, @@ -132,7 +132,7 @@ def retrieve( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return self._get( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -174,7 +174,7 @@ def update( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return self._post( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", body=maybe_transform( { "base_url": base_url, @@ -221,7 +221,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/extapis", + "/v1/extapis", page=SyncPage[Extapi], options=make_request_options( extra_headers=extra_headers, @@ -266,7 +266,7 @@ def delete( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return self._delete( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -330,7 +330,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/extapis", + "/v1/extapis", body=await async_maybe_transform( { "base_url": base_url, @@ -371,7 +371,7 @@ async def retrieve( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return await self._get( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -413,7 +413,7 @@ async def update( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return await self._post( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", body=await async_maybe_transform( { "base_url": base_url, @@ -460,7 +460,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/extapis", + "/v1/extapis", page=AsyncPage[Extapi], options=make_request_options( extra_headers=extra_headers, @@ -505,7 +505,7 @@ async def delete( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return await self._delete( - f"/extapis/{extapi_id}", + f"/v1/extapis/{extapi_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/extapis/routes.py b/src/asktable/resources/extapis/routes.py index edc4574a..2551affa 100644 --- a/src/asktable/resources/extapis/routes.py +++ b/src/asktable/resources/extapis/routes.py @@ -60,10 +60,10 @@ def create( name: str, path: str, project_id: str, + updated_at: Union[str, datetime], body_params_desc: Optional[str] | NotGiven = NOT_GIVEN, path_params_desc: Optional[str] | NotGiven = NOT_GIVEN, query_params_desc: Optional[str] | NotGiven = NOT_GIVEN, - updated_at: Union[str, datetime] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -98,7 +98,7 @@ def create( if not path_extapi_id: raise ValueError(f"Expected a non-empty value for `path_extapi_id` but received {path_extapi_id!r}") return self._post( - f"/extapis/{path_extapi_id}/routes", + f"/v1/extapis/{path_extapi_id}/routes", body=maybe_transform( { "id": id, @@ -108,10 +108,10 @@ def create( "name": name, "path": path, "project_id": project_id, + "updated_at": updated_at, "body_params_desc": body_params_desc, "path_params_desc": path_params_desc, "query_params_desc": query_params_desc, - "updated_at": updated_at, }, route_create_params.RouteCreateParams, ), @@ -150,7 +150,7 @@ def retrieve( if not route_id: raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") return self._get( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -204,7 +204,7 @@ def update( if not route_id: raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") return self._post( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", body=maybe_transform( { "body_params_desc": body_params_desc, @@ -248,7 +248,7 @@ def list( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return self._get( - f"/extapis/{extapi_id}/routes", + f"/v1/extapis/{extapi_id}/routes", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -285,7 +285,7 @@ def delete( raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -324,10 +324,10 @@ async def create( name: str, path: str, project_id: str, + updated_at: Union[str, datetime], body_params_desc: Optional[str] | NotGiven = NOT_GIVEN, path_params_desc: Optional[str] | NotGiven = NOT_GIVEN, query_params_desc: Optional[str] | NotGiven = NOT_GIVEN, - updated_at: Union[str, datetime] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, @@ -362,7 +362,7 @@ async def create( if not path_extapi_id: raise ValueError(f"Expected a non-empty value for `path_extapi_id` but received {path_extapi_id!r}") return await self._post( - f"/extapis/{path_extapi_id}/routes", + f"/v1/extapis/{path_extapi_id}/routes", body=await async_maybe_transform( { "id": id, @@ -372,10 +372,10 @@ async def create( "name": name, "path": path, "project_id": project_id, + "updated_at": updated_at, "body_params_desc": body_params_desc, "path_params_desc": path_params_desc, "query_params_desc": query_params_desc, - "updated_at": updated_at, }, route_create_params.RouteCreateParams, ), @@ -414,7 +414,7 @@ async def retrieve( if not route_id: raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") return await self._get( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -468,7 +468,7 @@ async def update( if not route_id: raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") return await self._post( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", body=await async_maybe_transform( { "body_params_desc": body_params_desc, @@ -512,7 +512,7 @@ async def list( if not extapi_id: raise ValueError(f"Expected a non-empty value for `extapi_id` but received {extapi_id!r}") return await self._get( - f"/extapis/{extapi_id}/routes", + f"/v1/extapis/{extapi_id}/routes", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -549,7 +549,7 @@ async def delete( raise ValueError(f"Expected a non-empty value for `route_id` but received {route_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/extapis/{extapi_id}/routes/{route_id}", + f"/v1/extapis/{extapi_id}/routes/{route_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/files.py b/src/asktable/resources/files.py index b3a6261c..6673a7bf 100644 --- a/src/asktable/resources/files.py +++ b/src/asktable/resources/files.py @@ -64,7 +64,7 @@ def retrieve( if not file_id: raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}") return self._get( - f"/files/{file_id}", + f"/v1/files/{file_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -118,7 +118,7 @@ async def retrieve( if not file_id: raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}") return await self._get( - f"/files/{file_id}", + f"/v1/files/{file_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/integration.py b/src/asktable/resources/integration.py index f944649c..f4384669 100644 --- a/src/asktable/resources/integration.py +++ b/src/asktable/resources/integration.py @@ -72,7 +72,7 @@ def create_excel_ds( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/integration/create_excel_ds", + "/v1/integration/create_excel_ds", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -121,7 +121,7 @@ def excel_csv_ask( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/integration/excel_csv_ask", + "/v1/integration/excel_csv_ask", body=maybe_transform( { "file_url": file_url, @@ -182,7 +182,7 @@ async def create_excel_ds( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/integration/create_excel_ds", + "/v1/integration/create_excel_ds", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -231,7 +231,7 @@ async def excel_csv_ask( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/integration/excel_csv_ask", + "/v1/integration/excel_csv_ask", body=await async_maybe_transform( { "file_url": file_url, diff --git a/src/asktable/resources/policies.py b/src/asktable/resources/policies.py index b3891c73..7452080f 100644 --- a/src/asktable/resources/policies.py +++ b/src/asktable/resources/policies.py @@ -80,7 +80,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/policies", + "/v1/policies", body=maybe_transform( { "dataset_config": dataset_config, @@ -121,7 +121,7 @@ def retrieve( if not policy_id: raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") return self._get( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -163,7 +163,7 @@ def update( if not policy_id: raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") return self._patch( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", body=maybe_transform( { "dataset_config": dataset_config, @@ -213,7 +213,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/policies", + "/v1/policies", page=SyncPage[Policy], options=make_request_options( extra_headers=extra_headers, @@ -260,7 +260,7 @@ def delete( raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -320,7 +320,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/policies", + "/v1/policies", body=await async_maybe_transform( { "dataset_config": dataset_config, @@ -361,7 +361,7 @@ async def retrieve( if not policy_id: raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") return await self._get( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -403,7 +403,7 @@ async def update( if not policy_id: raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") return await self._patch( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", body=await async_maybe_transform( { "dataset_config": dataset_config, @@ -453,7 +453,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/policies", + "/v1/policies", page=AsyncPage[Policy], options=make_request_options( extra_headers=extra_headers, @@ -500,7 +500,7 @@ async def delete( raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/policies/{policy_id}", + f"/v1/policies/{policy_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/preferences.py b/src/asktable/resources/preferences.py index 423f2682..886db40e 100644 --- a/src/asktable/resources/preferences.py +++ b/src/asktable/resources/preferences.py @@ -77,7 +77,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/preference", + "/v1/preference", body=maybe_transform( { "general_preference": general_preference, @@ -103,7 +103,7 @@ def retrieve( ) -> PreferenceRetrieveResponse: """获取偏好设置""" return self._get( - "/preference", + "/v1/preference", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -139,7 +139,7 @@ def update( timeout: Override the client-level default timeout for this request, in seconds """ return self._patch( - "/preference", + "/v1/preference", body=maybe_transform( { "general_preference": general_preference, @@ -165,7 +165,7 @@ def delete( ) -> object: """删除偏好设置""" return self._delete( - "/preference", + "/v1/preference", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -222,7 +222,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/preference", + "/v1/preference", body=await async_maybe_transform( { "general_preference": general_preference, @@ -248,7 +248,7 @@ async def retrieve( ) -> PreferenceRetrieveResponse: """获取偏好设置""" return await self._get( - "/preference", + "/v1/preference", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -284,7 +284,7 @@ async def update( timeout: Override the client-level default timeout for this request, in seconds """ return await self._patch( - "/preference", + "/v1/preference", body=await async_maybe_transform( { "general_preference": general_preference, @@ -310,7 +310,7 @@ async def delete( ) -> object: """删除偏好设置""" return await self._delete( - "/preference", + "/v1/preference", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/project.py b/src/asktable/resources/project.py index 726b33af..3208457e 100644 --- a/src/asktable/resources/project.py +++ b/src/asktable/resources/project.py @@ -59,7 +59,7 @@ def retrieve( ) -> Project: """Get My Project""" return self._get( - "/project", + "/v1/project", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -95,7 +95,7 @@ def update( timeout: Override the client-level default timeout for this request, in seconds """ return self._patch( - "/project", + "/v1/project", body=maybe_transform( { "llm_model_group": llm_model_group, @@ -121,7 +121,7 @@ def list_model_groups( ) -> ProjectListModelGroupsResponse: """Get Llm Model Groups""" return self._get( - "/project/model-groups", + "/v1/project/model-groups", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -161,7 +161,7 @@ async def retrieve( ) -> Project: """Get My Project""" return await self._get( - "/project", + "/v1/project", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -197,7 +197,7 @@ async def update( timeout: Override the client-level default timeout for this request, in seconds """ return await self._patch( - "/project", + "/v1/project", body=await async_maybe_transform( { "llm_model_group": llm_model_group, @@ -223,7 +223,7 @@ async def list_model_groups( ) -> ProjectListModelGroupsResponse: """Get Llm Model Groups""" return await self._get( - "/project/model-groups", + "/v1/project/model-groups", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/roles.py b/src/asktable/resources/roles.py index 57f2954a..6d64fcde 100644 --- a/src/asktable/resources/roles.py +++ b/src/asktable/resources/roles.py @@ -77,7 +77,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/roles", + "/v1/roles", body=maybe_transform( { "name": name, @@ -117,7 +117,7 @@ def retrieve( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return self._get( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -156,7 +156,7 @@ def update( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return self._patch( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", body=maybe_transform( { "name": name, @@ -205,7 +205,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/roles", + "/v1/roles", page=SyncPage[Role], options=make_request_options( extra_headers=extra_headers, @@ -251,7 +251,7 @@ def delete( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return self._delete( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -284,7 +284,7 @@ def get_polices( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return self._get( - f"/roles/{role_id}/policies", + f"/v1/roles/{role_id}/policies", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -323,7 +323,7 @@ def get_variables( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return self._get( - f"/roles/{role_id}/variables", + f"/v1/roles/{role_id}/variables", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -390,7 +390,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/roles", + "/v1/roles", body=await async_maybe_transform( { "name": name, @@ -430,7 +430,7 @@ async def retrieve( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return await self._get( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -469,7 +469,7 @@ async def update( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return await self._patch( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", body=await async_maybe_transform( { "name": name, @@ -518,7 +518,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/roles", + "/v1/roles", page=AsyncPage[Role], options=make_request_options( extra_headers=extra_headers, @@ -564,7 +564,7 @@ async def delete( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return await self._delete( - f"/roles/{role_id}", + f"/v1/roles/{role_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -597,7 +597,7 @@ async def get_polices( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return await self._get( - f"/roles/{role_id}/policies", + f"/v1/roles/{role_id}/policies", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -636,7 +636,7 @@ async def get_variables( if not role_id: raise ValueError(f"Expected a non-empty value for `role_id` but received {role_id!r}") return await self._get( - f"/roles/{role_id}/variables", + f"/v1/roles/{role_id}/variables", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, diff --git a/src/asktable/resources/scores.py b/src/asktable/resources/scores.py index 45977016..cf0b5112 100644 --- a/src/asktable/resources/scores.py +++ b/src/asktable/resources/scores.py @@ -76,7 +76,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/score", + "/v1/score", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -147,7 +147,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/score", + "/v1/score", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, diff --git a/src/asktable/resources/securetunnels.py b/src/asktable/resources/securetunnels.py index e20f329d..2614f8e1 100644 --- a/src/asktable/resources/securetunnels.py +++ b/src/asktable/resources/securetunnels.py @@ -79,7 +79,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/securetunnels", + "/v1/securetunnels", body=maybe_transform({"name": name}, securetunnel_create_params.SecuretunnelCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -113,7 +113,7 @@ def retrieve( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return self._get( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -124,8 +124,8 @@ def update( self, securetunnel_id: str, *, - name: str, client_info: Optional[object] | NotGiven = NOT_GIVEN, + name: Optional[str] | NotGiven = NOT_GIVEN, unique_key: Optional[str] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -138,10 +138,10 @@ def update( 更新某个 ATST Args: - name: SecureTunnel 名称,不超过 20 个字符 - client_info: 客户端信息 + name: SecureTunnel 名称,不超过 20 个字符 + unique_key: 唯一标识,用于更新客户端信息(容器 ID) extra_headers: Send extra headers @@ -155,11 +155,11 @@ def update( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return self._patch( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", body=maybe_transform( { - "name": name, "client_info": client_info, + "name": name, "unique_key": unique_key, }, securetunnel_update_params.SecuretunnelUpdateParams, @@ -199,7 +199,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/securetunnels", + "/v1/securetunnels", page=SyncPage[SecureTunnel], options=make_request_options( extra_headers=extra_headers, @@ -244,7 +244,7 @@ def delete( raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -283,7 +283,7 @@ def list_links( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return self._get_api_list( - f"/securetunnels/{securetunnel_id}/links", + f"/v1/securetunnels/{securetunnel_id}/links", page=SyncPage[SecuretunnelListLinksResponse], options=make_request_options( extra_headers=extra_headers, @@ -348,7 +348,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/securetunnels", + "/v1/securetunnels", body=await async_maybe_transform({"name": name}, securetunnel_create_params.SecuretunnelCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -382,7 +382,7 @@ async def retrieve( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return await self._get( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -393,8 +393,8 @@ async def update( self, securetunnel_id: str, *, - name: str, client_info: Optional[object] | NotGiven = NOT_GIVEN, + name: Optional[str] | NotGiven = NOT_GIVEN, unique_key: Optional[str] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -407,10 +407,10 @@ async def update( 更新某个 ATST Args: - name: SecureTunnel 名称,不超过 20 个字符 - client_info: 客户端信息 + name: SecureTunnel 名称,不超过 20 个字符 + unique_key: 唯一标识,用于更新客户端信息(容器 ID) extra_headers: Send extra headers @@ -424,11 +424,11 @@ async def update( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return await self._patch( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", body=await async_maybe_transform( { - "name": name, "client_info": client_info, + "name": name, "unique_key": unique_key, }, securetunnel_update_params.SecuretunnelUpdateParams, @@ -468,7 +468,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/securetunnels", + "/v1/securetunnels", page=AsyncPage[SecureTunnel], options=make_request_options( extra_headers=extra_headers, @@ -513,7 +513,7 @@ async def delete( raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/securetunnels/{securetunnel_id}", + f"/v1/securetunnels/{securetunnel_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -552,7 +552,7 @@ def list_links( if not securetunnel_id: raise ValueError(f"Expected a non-empty value for `securetunnel_id` but received {securetunnel_id!r}") return self._get_api_list( - f"/securetunnels/{securetunnel_id}/links", + f"/v1/securetunnels/{securetunnel_id}/links", page=AsyncPage[SecuretunnelListLinksResponse], options=make_request_options( extra_headers=extra_headers, diff --git a/src/asktable/resources/sqls.py b/src/asktable/resources/sqls.py index 65e98c2a..367f98b0 100644 --- a/src/asktable/resources/sqls.py +++ b/src/asktable/resources/sqls.py @@ -83,7 +83,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/single-turn/q2s", + "/v1/single-turn/q2s", body=maybe_transform( { "datasource_id": datasource_id, @@ -131,7 +131,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/single-turn/q2s", + "/v1/single-turn/q2s", page=SyncPage[QueryResponse], options=make_request_options( extra_headers=extra_headers, @@ -207,7 +207,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/single-turn/q2s", + "/v1/single-turn/q2s", body=await async_maybe_transform( { "datasource_id": datasource_id, @@ -255,7 +255,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/single-turn/q2s", + "/v1/single-turn/q2s", page=AsyncPage[QueryResponse], options=make_request_options( extra_headers=extra_headers, diff --git a/src/asktable/resources/sys/projects/api_keys.py b/src/asktable/resources/sys/projects/api_keys.py index 7a16d66c..11d84397 100644 --- a/src/asktable/resources/sys/projects/api_keys.py +++ b/src/asktable/resources/sys/projects/api_keys.py @@ -77,7 +77,7 @@ def create( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._post( - f"/sys/projects/{project_id}/api-keys", + f"/v1/sys/projects/{project_id}/api-keys", body=maybe_transform({"ak_role": ak_role}, api_key_create_params.APIKeyCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -111,7 +111,7 @@ def list( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._get( - f"/sys/projects/{project_id}/api-keys", + f"/v1/sys/projects/{project_id}/api-keys", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -148,7 +148,7 @@ def delete( raise ValueError(f"Expected a non-empty value for `key_id` but received {key_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._delete( - f"/sys/projects/{project_id}/api-keys/{key_id}", + f"/v1/sys/projects/{project_id}/api-keys/{key_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -193,7 +193,7 @@ def create_token( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._post( - f"/sys/projects/{project_id}/tokens", + f"/v1/sys/projects/{project_id}/tokens", body=maybe_transform( { "ak_role": ak_role, @@ -259,7 +259,7 @@ async def create( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._post( - f"/sys/projects/{project_id}/api-keys", + f"/v1/sys/projects/{project_id}/api-keys", body=await async_maybe_transform({"ak_role": ak_role}, api_key_create_params.APIKeyCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -293,7 +293,7 @@ async def list( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._get( - f"/sys/projects/{project_id}/api-keys", + f"/v1/sys/projects/{project_id}/api-keys", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -330,7 +330,7 @@ async def delete( raise ValueError(f"Expected a non-empty value for `key_id` but received {key_id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._delete( - f"/sys/projects/{project_id}/api-keys/{key_id}", + f"/v1/sys/projects/{project_id}/api-keys/{key_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -375,7 +375,7 @@ async def create_token( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._post( - f"/sys/projects/{project_id}/tokens", + f"/v1/sys/projects/{project_id}/tokens", body=await async_maybe_transform( { "ak_role": ak_role, diff --git a/src/asktable/resources/sys/projects/projects.py b/src/asktable/resources/sys/projects/projects.py index 29c51670..5d91c1ed 100644 --- a/src/asktable/resources/sys/projects/projects.py +++ b/src/asktable/resources/sys/projects/projects.py @@ -86,7 +86,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/sys/projects", + "/v1/sys/projects", body=maybe_transform({"name": name}, project_create_params.ProjectCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -120,7 +120,7 @@ def retrieve( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._get( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -162,7 +162,7 @@ def update( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._patch( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", body=maybe_transform( { "llm_model_group": llm_model_group, @@ -209,7 +209,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/sys/projects", + "/v1/sys/projects", page=SyncPage[Project], options=make_request_options( extra_headers=extra_headers, @@ -254,7 +254,7 @@ def delete( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return self._delete( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -273,7 +273,7 @@ def model_groups( ) -> ProjectModelGroupsResponse: """Get Llm Model Groups""" return self._get( - "/sys/projects/model-groups", + "/v1/sys/projects/model-groups", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -331,7 +331,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/sys/projects", + "/v1/sys/projects", body=await async_maybe_transform({"name": name}, project_create_params.ProjectCreateParams), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout @@ -365,7 +365,7 @@ async def retrieve( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._get( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -407,7 +407,7 @@ async def update( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._patch( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", body=await async_maybe_transform( { "llm_model_group": llm_model_group, @@ -454,7 +454,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/sys/projects", + "/v1/sys/projects", page=AsyncPage[Project], options=make_request_options( extra_headers=extra_headers, @@ -499,7 +499,7 @@ async def delete( if not project_id: raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}") return await self._delete( - f"/sys/projects/{project_id}", + f"/v1/sys/projects/{project_id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), @@ -518,7 +518,7 @@ async def model_groups( ) -> ProjectModelGroupsResponse: """Get Llm Model Groups""" return await self._get( - "/sys/projects/model-groups", + "/v1/sys/projects/model-groups", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), diff --git a/src/asktable/resources/trainings.py b/src/asktable/resources/trainings.py index faa25255..0a7f0922 100644 --- a/src/asktable/resources/trainings.py +++ b/src/asktable/resources/trainings.py @@ -75,7 +75,7 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ return self._post( - "/training", + "/v1/training", body=maybe_transform(body, Iterable[training_create_params.Body]), options=make_request_options( extra_headers=extra_headers, @@ -119,7 +119,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/training", + "/v1/training", page=SyncPage[TrainingListResponse], options=make_request_options( extra_headers=extra_headers, @@ -167,7 +167,7 @@ def delete( if not id: raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return self._delete( - f"/training/{id}", + f"/v1/training/{id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -226,7 +226,7 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ return await self._post( - "/training", + "/v1/training", body=await async_maybe_transform(body, Iterable[training_create_params.Body]), options=make_request_options( extra_headers=extra_headers, @@ -272,7 +272,7 @@ def list( timeout: Override the client-level default timeout for this request, in seconds """ return self._get_api_list( - "/training", + "/v1/training", page=AsyncPage[TrainingListResponse], options=make_request_options( extra_headers=extra_headers, @@ -320,7 +320,7 @@ async def delete( if not id: raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return await self._delete( - f"/training/{id}", + f"/v1/training/{id}", options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, diff --git a/src/asktable/types/__init__.py b/src/asktable/types/__init__.py index 6b15da69..a132d23f 100644 --- a/src/asktable/types/__init__.py +++ b/src/asktable/types/__init__.py @@ -19,6 +19,7 @@ from .answer_response import AnswerResponse as AnswerResponse from .bot_list_params import BotListParams as BotListParams from .sql_list_params import SqlListParams as SqlListParams +from .auth_me_response import AuthMeResponse as AuthMeResponse from .chat_list_params import ChatListParams as ChatListParams from .role_list_params import RoleListParams as RoleListParams from .bot_create_params import BotCreateParams as BotCreateParams @@ -48,7 +49,6 @@ from .training_delete_params import TrainingDeleteParams as TrainingDeleteParams from .training_list_response import TrainingListResponse as TrainingListResponse from .auth_create_token_params import AuthCreateTokenParams as AuthCreateTokenParams -from .chat_post_message_params import ChatPostMessageParams as ChatPostMessageParams from .datasource_create_params import DatasourceCreateParams as DatasourceCreateParams from .datasource_update_params import DatasourceUpdateParams as DatasourceUpdateParams from .preference_create_params import PreferenceCreateParams as PreferenceCreateParams @@ -57,7 +57,6 @@ from .training_create_response import TrainingCreateResponse as TrainingCreateResponse from .role_get_polices_response import RoleGetPolicesResponse as RoleGetPolicesResponse from .role_get_variables_params import RoleGetVariablesParams as RoleGetVariablesParams -from .chat_post_message_response import ChatPostMessageResponse as ChatPostMessageResponse from .datasource_add_file_params import DatasourceAddFileParams as DatasourceAddFileParams from .preference_create_response import PreferenceCreateResponse as PreferenceCreateResponse from .preference_update_response import PreferenceUpdateResponse as PreferenceUpdateResponse diff --git a/src/asktable/types/auth_me_response.py b/src/asktable/types/auth_me_response.py new file mode 100644 index 00000000..0db427fa --- /dev/null +++ b/src/asktable/types/auth_me_response.py @@ -0,0 +1,24 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Optional +from typing_extensions import Literal + +from .._models import BaseModel + +__all__ = ["AuthMeResponse"] + + +class AuthMeResponse(BaseModel): + ak_role: Literal["sys", "admin", "asker", "visitor"] + + project_id: str + + ak_id: Optional[str] = None + + chat_role: Optional[object] = None + + exp: Optional[int] = None + + locked: Optional[bool] = None + + user_profile: Optional[object] = None diff --git a/src/asktable/types/chat.py b/src/asktable/types/chat.py index 5aacbcc2..5d26c3e8 100644 --- a/src/asktable/types/chat.py +++ b/src/asktable/types/chat.py @@ -2,6 +2,7 @@ from typing import Dict, Union, Optional from datetime import datetime +from typing_extensions import Literal from .._models import BaseModel @@ -20,6 +21,10 @@ class Chat(BaseModel): project_id: str + status: Literal["active", "pending", "error", "fatal"] + + status_message: Optional[str] = None + bot_id: Optional[str] = None """ 机器人 ID,如果需要使用高级功能,请使用 bot_id 来创建对话。在机器人中你可以定义 diff --git a/src/asktable/types/chat_post_message_params.py b/src/asktable/types/chat_post_message_params.py deleted file mode 100644 index 31a7464d..00000000 --- a/src/asktable/types/chat_post_message_params.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Required, TypedDict - -__all__ = ["ChatPostMessageParams"] - - -class ChatPostMessageParams(TypedDict, total=False): - question: Required[str] diff --git a/src/asktable/types/chat_post_message_response.py b/src/asktable/types/chat_post_message_response.py deleted file mode 100644 index fb2c48a6..00000000 --- a/src/asktable/types/chat_post_message_response.py +++ /dev/null @@ -1,12 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Union -from typing_extensions import TypeAlias - -from .ai_message import AIMessage -from .tool_message import ToolMessage -from .user_message import UserMessage - -__all__ = ["ChatPostMessageResponse"] - -ChatPostMessageResponse: TypeAlias = Union[UserMessage, AIMessage, ToolMessage] diff --git a/src/asktable/types/chat_retrieve_response.py b/src/asktable/types/chat_retrieve_response.py index 2a39fb44..2999466c 100644 --- a/src/asktable/types/chat_retrieve_response.py +++ b/src/asktable/types/chat_retrieve_response.py @@ -2,6 +2,7 @@ from typing import Dict, List, Union, Optional from datetime import datetime +from typing_extensions import Literal from .._models import BaseModel @@ -15,19 +16,23 @@ class ChatRetrieveResponse(BaseModel): created_at: datetime """创建时间""" - datasource_ids: List[str] - modified_at: datetime """修改时间""" project_id: str + status: Literal["active", "pending", "error", "fatal"] + + status_message: Optional[str] = None + bot_id: Optional[str] = None """ 机器人 ID,如果需要使用高级功能,请使用 bot_id 来创建对话。在机器人中你可以定义 可以访问的数据、可以执行的任务以及是否开启调试模式等设置。 """ + datasource_ids: Optional[List[str]] = None + name: Optional[str] = None """New name for the chat""" @@ -42,3 +47,5 @@ class ChatRetrieveResponse(BaseModel): user_profile: Optional[Dict[str, str]] = None """用户信息,用于在对话中传递用户的信息,用 Key-Value 形式传递""" + + welcome_message: Optional[str] = None diff --git a/src/asktable/types/datasource.py b/src/asktable/types/datasource.py index 3969f435..678c320f 100644 --- a/src/asktable/types/datasource.py +++ b/src/asktable/types/datasource.py @@ -29,6 +29,7 @@ class Datasource(BaseModel): "oracle", "polardbmysql", "polardbpg", + "dameng", ] """数据源引擎""" diff --git a/src/asktable/types/datasource_create_params.py b/src/asktable/types/datasource_create_params.py index a3f96f4d..1079a4c5 100644 --- a/src/asktable/types/datasource_create_params.py +++ b/src/asktable/types/datasource_create_params.py @@ -28,14 +28,11 @@ class DatasourceCreateParams(TypedDict, total=False): "oracle", "polardbmysql", "polardbpg", + "dameng", ] ] """数据源引擎""" - async_process_meta: bool - - value_index: bool - access_config: Optional[AccessConfig] """不同引擎有不同的配置""" diff --git a/src/asktable/types/datasource_retrieve_response.py b/src/asktable/types/datasource_retrieve_response.py index 95dd70ad..18301f2a 100644 --- a/src/asktable/types/datasource_retrieve_response.py +++ b/src/asktable/types/datasource_retrieve_response.py @@ -74,6 +74,7 @@ class DatasourceRetrieveResponse(BaseModel): "oracle", "polardbmysql", "polardbpg", + "dameng", ] """数据源引擎""" diff --git a/src/asktable/types/datasource_update_params.py b/src/asktable/types/datasource_update_params.py index 41bef537..6f268d1d 100644 --- a/src/asktable/types/datasource_update_params.py +++ b/src/asktable/types/datasource_update_params.py @@ -34,6 +34,7 @@ class DatasourceUpdateParams(TypedDict, total=False): "oracle", "polardbmysql", "polardbpg", + "dameng", ] ] """数据源引擎""" diff --git a/src/asktable/types/datasources/meta_create_params.py b/src/asktable/types/datasources/meta_create_params.py index 2df479ec..5684c17b 100644 --- a/src/asktable/types/datasources/meta_create_params.py +++ b/src/asktable/types/datasources/meta_create_params.py @@ -2,10 +2,10 @@ from __future__ import annotations -from typing import Dict, Optional +from typing import Dict, List, Optional from typing_extensions import Required, TypedDict -__all__ = ["MetaCreateParams", "Schemas", "SchemasTables", "SchemasTablesFields"] +__all__ = ["MetaCreateParams", "Meta", "MetaSchemas", "MetaSchemasTables", "MetaSchemasTablesFields"] class MetaCreateParams(TypedDict, total=False): @@ -13,41 +13,50 @@ class MetaCreateParams(TypedDict, total=False): value_index: bool - schemas: Dict[str, Schemas] + meta: Optional[Meta] + selected_tables: Optional[Dict[str, List[str]]] -class SchemasTablesFields(TypedDict, total=False): + +class MetaSchemasTablesFields(TypedDict, total=False): name: Required[str] """field_name""" + origin_desc: Required[str] + """field description from database""" + data_type: Optional[str] """field data type""" - origin_desc: Optional[str] - """field description from database""" - sample_data: Optional[str] """field sample data""" + visibility: bool + """field visibility""" + -class SchemasTables(TypedDict, total=False): +class MetaSchemasTables(TypedDict, total=False): name: Required[str] """table_name""" - fields: Dict[str, SchemasTablesFields] - - origin_desc: Optional[str] + origin_desc: Required[str] """table description from database""" + fields: Dict[str, MetaSchemasTablesFields] + -class Schemas(TypedDict, total=False): +class MetaSchemas(TypedDict, total=False): name: Required[str] """schema_name""" + origin_desc: Required[str] + """schema description from database""" + custom_configs: Optional[object] """custom configs""" - origin_desc: Optional[str] - """schema description from database""" + tables: Dict[str, MetaSchemasTables] + - tables: Dict[str, SchemasTables] +class Meta(TypedDict, total=False): + schemas: Required[Dict[str, MetaSchemas]] diff --git a/src/asktable/types/datasources/meta_update_params.py b/src/asktable/types/datasources/meta_update_params.py index e859a334..997a0110 100644 --- a/src/asktable/types/datasources/meta_update_params.py +++ b/src/asktable/types/datasources/meta_update_params.py @@ -2,48 +2,59 @@ from __future__ import annotations -from typing import Dict, Optional +from typing import Dict, List, Optional from typing_extensions import Required, TypedDict -__all__ = ["MetaUpdateParams", "Schemas", "SchemasTables", "SchemasTablesFields"] +__all__ = ["MetaUpdateParams", "Meta", "MetaSchemas", "MetaSchemasTables", "MetaSchemasTablesFields"] class MetaUpdateParams(TypedDict, total=False): - schemas: Dict[str, Schemas] + async_process_meta: bool + meta: Optional[Meta] -class SchemasTablesFields(TypedDict, total=False): + selected_tables: Optional[Dict[str, List[str]]] + + +class MetaSchemasTablesFields(TypedDict, total=False): name: Required[str] """field_name""" + origin_desc: Required[str] + """field description from database""" + data_type: Optional[str] """field data type""" - origin_desc: Optional[str] - """field description from database""" - sample_data: Optional[str] """field sample data""" + visibility: bool + """field visibility""" + -class SchemasTables(TypedDict, total=False): +class MetaSchemasTables(TypedDict, total=False): name: Required[str] """table_name""" - fields: Dict[str, SchemasTablesFields] - - origin_desc: Optional[str] + origin_desc: Required[str] """table description from database""" + fields: Dict[str, MetaSchemasTablesFields] + -class Schemas(TypedDict, total=False): +class MetaSchemas(TypedDict, total=False): name: Required[str] """schema_name""" + origin_desc: Required[str] + """schema description from database""" + custom_configs: Optional[object] """custom configs""" - origin_desc: Optional[str] - """schema description from database""" + tables: Dict[str, MetaSchemasTables] + - tables: Dict[str, SchemasTables] +class Meta(TypedDict, total=False): + schemas: Required[Dict[str, MetaSchemas]] diff --git a/src/asktable/types/extapi.py b/src/asktable/types/extapi.py index 0d90cc1b..902ffbf0 100644 --- a/src/asktable/types/extapi.py +++ b/src/asktable/types/extapi.py @@ -21,7 +21,7 @@ class Extapi(BaseModel): project_id: str + updated_at: datetime + headers: Optional[Dict[str, str]] = None """HTTP Headers,JSON 格式""" - - updated_at: Optional[datetime] = None diff --git a/src/asktable/types/extapis/extapi_route.py b/src/asktable/types/extapis/extapi_route.py index 3525c711..299a7c94 100644 --- a/src/asktable/types/extapis/extapi_route.py +++ b/src/asktable/types/extapis/extapi_route.py @@ -27,6 +27,8 @@ class ExtapiRoute(BaseModel): project_id: str + updated_at: datetime + body_params_desc: Optional[str] = None """请求体参数描述""" @@ -35,5 +37,3 @@ class ExtapiRoute(BaseModel): query_params_desc: Optional[str] = None """查询参数描述""" - - updated_at: Optional[datetime] = None diff --git a/src/asktable/types/extapis/route_create_params.py b/src/asktable/types/extapis/route_create_params.py index 8f0435fe..e58f6e3e 100644 --- a/src/asktable/types/extapis/route_create_params.py +++ b/src/asktable/types/extapis/route_create_params.py @@ -29,6 +29,8 @@ class RouteCreateParams(TypedDict, total=False): project_id: Required[str] + updated_at: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]] + body_params_desc: Optional[str] """请求体参数描述""" @@ -37,5 +39,3 @@ class RouteCreateParams(TypedDict, total=False): query_params_desc: Optional[str] """查询参数描述""" - - updated_at: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] diff --git a/src/asktable/types/meta.py b/src/asktable/types/meta.py index a2cfa262..c7c1877a 100644 --- a/src/asktable/types/meta.py +++ b/src/asktable/types/meta.py @@ -12,6 +12,9 @@ class SchemasTablesFields(BaseModel): created_at: datetime """created time""" + curr_desc: str + """current field description""" + curr_desc_stat: str """current field description status""" @@ -24,59 +27,59 @@ class SchemasTablesFields(BaseModel): name: str """field_name""" - curr_desc: Optional[str] = None - """current field description""" + origin_desc: str + """field description from database""" data_type: Optional[str] = None """field data type""" - origin_desc: Optional[str] = None - """field description from database""" - sample_data: Optional[str] = None """field sample data""" + visibility: Optional[bool] = None + """field visibility""" + class SchemasTables(BaseModel): + curr_desc: str + """current table description""" + curr_desc_stat: str """current table description status""" + fields: Dict[str, SchemasTablesFields] + full_name: str """field full name""" name: str """table_name""" - curr_desc: Optional[str] = None - """current table description""" - - fields: Optional[Dict[str, SchemasTablesFields]] = None - - origin_desc: Optional[str] = None + origin_desc: str """table description from database""" class Schemas(BaseModel): + curr_desc: str + """current schema description""" + curr_desc_stat: str """current schema description status""" name: str """schema_name""" - curr_desc: Optional[str] = None - """current schema description""" + origin_desc: str + """schema description from database""" + + tables: Dict[str, SchemasTables] custom_configs: Optional[object] = None """custom configs""" - origin_desc: Optional[str] = None - """schema description from database""" - - tables: Optional[Dict[str, SchemasTables]] = None - class Meta(BaseModel): datasource_id: str """datasource_id""" - schemas: Optional[Dict[str, Schemas]] = None + schemas: Dict[str, Schemas] diff --git a/src/asktable/types/securetunnel_update_params.py b/src/asktable/types/securetunnel_update_params.py index e42566a6..6322936a 100644 --- a/src/asktable/types/securetunnel_update_params.py +++ b/src/asktable/types/securetunnel_update_params.py @@ -3,17 +3,17 @@ from __future__ import annotations from typing import Optional -from typing_extensions import Required, TypedDict +from typing_extensions import TypedDict __all__ = ["SecuretunnelUpdateParams"] class SecuretunnelUpdateParams(TypedDict, total=False): - name: Required[str] - """SecureTunnel 名称,不超过 20 个字符""" - client_info: Optional[object] """客户端信息""" + name: Optional[str] + """SecureTunnel 名称,不超过 20 个字符""" + unique_key: Optional[str] """唯一标识,用于更新客户端信息(容器 ID)""" diff --git a/src/asktable/types/sys/model_group.py b/src/asktable/types/sys/model_group.py index fe4854ba..8d700122 100644 --- a/src/asktable/types/sys/model_group.py +++ b/src/asktable/types/sys/model_group.py @@ -1,6 +1,5 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List from ..._models import BaseModel @@ -11,14 +10,20 @@ class ModelGroup(BaseModel): id: str """模型组 ID""" - agent_model: str + agent: str """Agent 模型""" - image_models: List[str] - """图像模型列表""" + fast: str + """快速模型""" + + image: str + """图片模型""" name: str """模型组名称""" - text_models: List[str] - """文本模型列表""" + omni: str + """通用模型""" + + sql: str + """SQL 模型""" diff --git a/tests/api_resources/datasources/test_meta.py b/tests/api_resources/datasources/test_meta.py index 2b7c993d..4b5c86a0 100644 --- a/tests/api_resources/datasources/test_meta.py +++ b/tests/api_resources/datasources/test_meta.py @@ -30,27 +30,31 @@ def test_method_create_with_all_params(self, client: Asktable) -> None: datasource_id="datasource_id", async_process_meta=True, value_index=True, - schemas={ - "foo": { - "name": "name", - "custom_configs": {}, - "origin_desc": "origin_desc", - "tables": { - "foo": { - "name": "name", - "fields": { - "foo": { - "name": "name", - "data_type": "data_type", - "origin_desc": "origin_desc", - "sample_data": "sample_data", - } - }, - "origin_desc": "origin_desc", - } - }, + meta={ + "schemas": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "custom_configs": {}, + "tables": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "fields": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "data_type": "data_type", + "sample_data": "sample_data", + "visibility": True, + } + }, + } + }, + } } }, + selected_tables={"foo": ["string"]}, ) assert_matches_type(object, meta, path=["response"]) @@ -134,27 +138,32 @@ def test_method_update(self, client: Asktable) -> None: def test_method_update_with_all_params(self, client: Asktable) -> None: meta = client.datasources.meta.update( datasource_id="datasource_id", - schemas={ - "foo": { - "name": "name", - "custom_configs": {}, - "origin_desc": "origin_desc", - "tables": { - "foo": { - "name": "name", - "fields": { - "foo": { - "name": "name", - "data_type": "data_type", - "origin_desc": "origin_desc", - "sample_data": "sample_data", - } - }, - "origin_desc": "origin_desc", - } - }, + async_process_meta=True, + meta={ + "schemas": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "custom_configs": {}, + "tables": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "fields": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "data_type": "data_type", + "sample_data": "sample_data", + "visibility": True, + } + }, + } + }, + } } }, + selected_tables={"foo": ["string"]}, ) assert_matches_type(object, meta, path=["response"]) @@ -248,27 +257,31 @@ async def test_method_create_with_all_params(self, async_client: AsyncAsktable) datasource_id="datasource_id", async_process_meta=True, value_index=True, - schemas={ - "foo": { - "name": "name", - "custom_configs": {}, - "origin_desc": "origin_desc", - "tables": { - "foo": { - "name": "name", - "fields": { - "foo": { - "name": "name", - "data_type": "data_type", - "origin_desc": "origin_desc", - "sample_data": "sample_data", - } - }, - "origin_desc": "origin_desc", - } - }, + meta={ + "schemas": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "custom_configs": {}, + "tables": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "fields": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "data_type": "data_type", + "sample_data": "sample_data", + "visibility": True, + } + }, + } + }, + } } }, + selected_tables={"foo": ["string"]}, ) assert_matches_type(object, meta, path=["response"]) @@ -352,27 +365,32 @@ async def test_method_update(self, async_client: AsyncAsktable) -> None: async def test_method_update_with_all_params(self, async_client: AsyncAsktable) -> None: meta = await async_client.datasources.meta.update( datasource_id="datasource_id", - schemas={ - "foo": { - "name": "name", - "custom_configs": {}, - "origin_desc": "origin_desc", - "tables": { - "foo": { - "name": "name", - "fields": { - "foo": { - "name": "name", - "data_type": "data_type", - "origin_desc": "origin_desc", - "sample_data": "sample_data", - } - }, - "origin_desc": "origin_desc", - } - }, + async_process_meta=True, + meta={ + "schemas": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "custom_configs": {}, + "tables": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "fields": { + "foo": { + "name": "name", + "origin_desc": "origin_desc", + "data_type": "data_type", + "sample_data": "sample_data", + "visibility": True, + } + }, + } + }, + } } }, + selected_tables={"foo": ["string"]}, ) assert_matches_type(object, meta, path=["response"]) diff --git a/tests/api_resources/extapis/test_routes.py b/tests/api_resources/extapis/test_routes.py index 5fa13718..1076391e 100644 --- a/tests/api_resources/extapis/test_routes.py +++ b/tests/api_resources/extapis/test_routes.py @@ -29,6 +29,7 @@ def test_method_create(self, client: Asktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ExtapiRoute, route, path=["response"]) @@ -43,10 +44,10 @@ def test_method_create_with_all_params(self, client: Asktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), body_params_desc="body_params_desc", path_params_desc="path_params_desc", query_params_desc="query_params_desc", - updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ExtapiRoute, route, path=["response"]) @@ -61,6 +62,7 @@ def test_raw_response_create(self, client: Asktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert response.is_closed is True @@ -79,6 +81,7 @@ def test_streaming_response_create(self, client: Asktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -100,6 +103,7 @@ def test_path_params_create(self, client: Asktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) @parametrize @@ -313,6 +317,7 @@ async def test_method_create(self, async_client: AsyncAsktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ExtapiRoute, route, path=["response"]) @@ -327,10 +332,10 @@ async def test_method_create_with_all_params(self, async_client: AsyncAsktable) name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), body_params_desc="body_params_desc", path_params_desc="path_params_desc", query_params_desc="query_params_desc", - updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert_matches_type(ExtapiRoute, route, path=["response"]) @@ -345,6 +350,7 @@ async def test_raw_response_create(self, async_client: AsyncAsktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) assert response.is_closed is True @@ -363,6 +369,7 @@ async def test_streaming_response_create(self, async_client: AsyncAsktable) -> N name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -384,6 +391,7 @@ async def test_path_params_create(self, async_client: AsyncAsktable) -> None: name="name", path="/resource", project_id="project_id", + updated_at=parse_datetime("2019-12-27T18:11:19.117Z"), ) @parametrize diff --git a/tests/api_resources/test_auth.py b/tests/api_resources/test_auth.py index 280554a4..a834d2c3 100644 --- a/tests/api_resources/test_auth.py +++ b/tests/api_resources/test_auth.py @@ -9,6 +9,7 @@ from asktable import Asktable, AsyncAsktable from tests.utils import assert_matches_type +from asktable.types import AuthMeResponse base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -57,7 +58,7 @@ def test_streaming_response_create_token(self, client: Asktable) -> None: @parametrize def test_method_me(self, client: Asktable) -> None: auth = client.auth.me() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) @parametrize def test_raw_response_me(self, client: Asktable) -> None: @@ -66,7 +67,7 @@ def test_raw_response_me(self, client: Asktable) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" auth = response.parse() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) @parametrize def test_streaming_response_me(self, client: Asktable) -> None: @@ -75,7 +76,7 @@ def test_streaming_response_me(self, client: Asktable) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" auth = response.parse() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) assert cast(Any, response.is_closed) is True @@ -124,7 +125,7 @@ async def test_streaming_response_create_token(self, async_client: AsyncAsktable @parametrize async def test_method_me(self, async_client: AsyncAsktable) -> None: auth = await async_client.auth.me() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) @parametrize async def test_raw_response_me(self, async_client: AsyncAsktable) -> None: @@ -133,7 +134,7 @@ async def test_raw_response_me(self, async_client: AsyncAsktable) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" auth = await response.parse() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) @parametrize async def test_streaming_response_me(self, async_client: AsyncAsktable) -> None: @@ -142,6 +143,6 @@ async def test_streaming_response_me(self, async_client: AsyncAsktable) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" auth = await response.parse() - assert_matches_type(object, auth, path=["response"]) + assert_matches_type(AuthMeResponse, auth, path=["response"]) assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/test_chats.py b/tests/api_resources/test_chats.py index 662e2035..5a84e9da 100644 --- a/tests/api_resources/test_chats.py +++ b/tests/api_resources/test_chats.py @@ -9,11 +9,7 @@ from asktable import Asktable, AsyncAsktable from tests.utils import assert_matches_type -from asktable.types import ( - Chat, - ChatRetrieveResponse, - ChatPostMessageResponse, -) +from asktable.types import Chat, ChatRetrieveResponse from asktable.pagination import SyncPage, AsyncPage base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -171,48 +167,6 @@ def test_path_params_delete(self, client: Asktable) -> None: "", ) - @parametrize - def test_method_post_message(self, client: Asktable) -> None: - chat = client.chats.post_message( - chat_id="chat_id", - question="question", - ) - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - @parametrize - def test_raw_response_post_message(self, client: Asktable) -> None: - response = client.chats.with_raw_response.post_message( - chat_id="chat_id", - question="question", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - chat = response.parse() - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - @parametrize - def test_streaming_response_post_message(self, client: Asktable) -> None: - with client.chats.with_streaming_response.post_message( - chat_id="chat_id", - question="question", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - chat = response.parse() - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @parametrize - def test_path_params_post_message(self, client: Asktable) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `chat_id` but received ''"): - client.chats.with_raw_response.post_message( - chat_id="", - question="question", - ) - class TestAsyncChats: parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) @@ -365,45 +319,3 @@ async def test_path_params_delete(self, async_client: AsyncAsktable) -> None: await async_client.chats.with_raw_response.delete( "", ) - - @parametrize - async def test_method_post_message(self, async_client: AsyncAsktable) -> None: - chat = await async_client.chats.post_message( - chat_id="chat_id", - question="question", - ) - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - @parametrize - async def test_raw_response_post_message(self, async_client: AsyncAsktable) -> None: - response = await async_client.chats.with_raw_response.post_message( - chat_id="chat_id", - question="question", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - chat = await response.parse() - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - @parametrize - async def test_streaming_response_post_message(self, async_client: AsyncAsktable) -> None: - async with async_client.chats.with_streaming_response.post_message( - chat_id="chat_id", - question="question", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - chat = await response.parse() - assert_matches_type(ChatPostMessageResponse, chat, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @parametrize - async def test_path_params_post_message(self, async_client: AsyncAsktable) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `chat_id` but received ''"): - await async_client.chats.with_raw_response.post_message( - chat_id="", - question="question", - ) diff --git a/tests/api_resources/test_datasources.py b/tests/api_resources/test_datasources.py index 5dc99ec4..6cb041a0 100644 --- a/tests/api_resources/test_datasources.py +++ b/tests/api_resources/test_datasources.py @@ -32,8 +32,6 @@ def test_method_create(self, client: Asktable) -> None: def test_method_create_with_all_params(self, client: Asktable) -> None: datasource = client.datasources.create( engine="mysql", - async_process_meta=True, - value_index=True, access_config={ "host": "192.168.0.10", "db": "at_test", @@ -351,8 +349,6 @@ async def test_method_create(self, async_client: AsyncAsktable) -> None: async def test_method_create_with_all_params(self, async_client: AsyncAsktable) -> None: datasource = await async_client.datasources.create( engine="mysql", - async_process_meta=True, - value_index=True, access_config={ "host": "192.168.0.10", "db": "at_test", diff --git a/tests/api_resources/test_securetunnels.py b/tests/api_resources/test_securetunnels.py index 1c9f0a84..6b2602a7 100644 --- a/tests/api_resources/test_securetunnels.py +++ b/tests/api_resources/test_securetunnels.py @@ -94,7 +94,6 @@ def test_path_params_retrieve(self, client: Asktable) -> None: def test_method_update(self, client: Asktable) -> None: securetunnel = client.securetunnels.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) assert_matches_type(SecureTunnel, securetunnel, path=["response"]) @@ -102,8 +101,8 @@ def test_method_update(self, client: Asktable) -> None: def test_method_update_with_all_params(self, client: Asktable) -> None: securetunnel = client.securetunnels.update( securetunnel_id="securetunnel_id", - name="我的测试机", client_info={}, + name="我的测试机", unique_key="unique_key", ) assert_matches_type(SecureTunnel, securetunnel, path=["response"]) @@ -112,7 +111,6 @@ def test_method_update_with_all_params(self, client: Asktable) -> None: def test_raw_response_update(self, client: Asktable) -> None: response = client.securetunnels.with_raw_response.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) assert response.is_closed is True @@ -124,7 +122,6 @@ def test_raw_response_update(self, client: Asktable) -> None: def test_streaming_response_update(self, client: Asktable) -> None: with client.securetunnels.with_streaming_response.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -139,7 +136,6 @@ def test_path_params_update(self, client: Asktable) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `securetunnel_id` but received ''"): client.securetunnels.with_raw_response.update( securetunnel_id="", - name="我的测试机", ) @parametrize @@ -337,7 +333,6 @@ async def test_path_params_retrieve(self, async_client: AsyncAsktable) -> None: async def test_method_update(self, async_client: AsyncAsktable) -> None: securetunnel = await async_client.securetunnels.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) assert_matches_type(SecureTunnel, securetunnel, path=["response"]) @@ -345,8 +340,8 @@ async def test_method_update(self, async_client: AsyncAsktable) -> None: async def test_method_update_with_all_params(self, async_client: AsyncAsktable) -> None: securetunnel = await async_client.securetunnels.update( securetunnel_id="securetunnel_id", - name="我的测试机", client_info={}, + name="我的测试机", unique_key="unique_key", ) assert_matches_type(SecureTunnel, securetunnel, path=["response"]) @@ -355,7 +350,6 @@ async def test_method_update_with_all_params(self, async_client: AsyncAsktable) async def test_raw_response_update(self, async_client: AsyncAsktable) -> None: response = await async_client.securetunnels.with_raw_response.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) assert response.is_closed is True @@ -367,7 +361,6 @@ async def test_raw_response_update(self, async_client: AsyncAsktable) -> None: async def test_streaming_response_update(self, async_client: AsyncAsktable) -> None: async with async_client.securetunnels.with_streaming_response.update( securetunnel_id="securetunnel_id", - name="我的测试机", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -382,7 +375,6 @@ async def test_path_params_update(self, async_client: AsyncAsktable) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `securetunnel_id` but received ''"): await async_client.securetunnels.with_raw_response.update( securetunnel_id="", - name="我的测试机", ) @parametrize diff --git a/tests/test_client.py b/tests/test_client.py index 686afa13..1efc0ea1 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -704,11 +704,11 @@ def test_parse_retry_after_header(self, remaining_retries: int, retry_after: str @mock.patch("asktable._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.post("/datasources").mock(side_effect=httpx.TimeoutException("Test timeout error")) + respx_mock.post("/v1/datasources").mock(side_effect=httpx.TimeoutException("Test timeout error")) with pytest.raises(APITimeoutError): self.client.post( - "/datasources", + "/v1/datasources", body=cast(object, maybe_transform(dict(engine="mysql"), DatasourceCreateParams)), cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}, @@ -719,11 +719,11 @@ def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> No @mock.patch("asktable._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.post("/datasources").mock(return_value=httpx.Response(500)) + respx_mock.post("/v1/datasources").mock(return_value=httpx.Response(500)) with pytest.raises(APIStatusError): self.client.post( - "/datasources", + "/v1/datasources", body=cast(object, maybe_transform(dict(engine="mysql"), DatasourceCreateParams)), cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}, @@ -755,7 +755,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = client.datasources.with_raw_response.create(engine="mysql") @@ -779,7 +779,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = client.datasources.with_raw_response.create( engine="mysql", extra_headers={"x-stainless-retry-count": Omit()} @@ -804,7 +804,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = client.datasources.with_raw_response.create( engine="mysql", extra_headers={"x-stainless-retry-count": "42"} @@ -1474,11 +1474,11 @@ async def test_parse_retry_after_header(self, remaining_retries: int, retry_afte @mock.patch("asktable._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) async def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.post("/datasources").mock(side_effect=httpx.TimeoutException("Test timeout error")) + respx_mock.post("/v1/datasources").mock(side_effect=httpx.TimeoutException("Test timeout error")) with pytest.raises(APITimeoutError): await self.client.post( - "/datasources", + "/v1/datasources", body=cast(object, maybe_transform(dict(engine="mysql"), DatasourceCreateParams)), cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}, @@ -1489,11 +1489,11 @@ async def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) @mock.patch("asktable._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.post("/datasources").mock(return_value=httpx.Response(500)) + respx_mock.post("/v1/datasources").mock(return_value=httpx.Response(500)) with pytest.raises(APIStatusError): await self.client.post( - "/datasources", + "/v1/datasources", body=cast(object, maybe_transform(dict(engine="mysql"), DatasourceCreateParams)), cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}, @@ -1526,7 +1526,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = await client.datasources.with_raw_response.create(engine="mysql") @@ -1551,7 +1551,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = await client.datasources.with_raw_response.create( engine="mysql", extra_headers={"x-stainless-retry-count": Omit()} @@ -1577,7 +1577,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: return httpx.Response(500) return httpx.Response(200) - respx_mock.post("/datasources").mock(side_effect=retry_handler) + respx_mock.post("/v1/datasources").mock(side_effect=retry_handler) response = await client.datasources.with_raw_response.create( engine="mysql", extra_headers={"x-stainless-retry-count": "42"}