From 1e4f6e4a18be421d1c715262144c2bdfedb67eb7 Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Sat, 10 Feb 2024 16:11:08 +0000 Subject: [PATCH] Release v0.2.2 --- pyproject.toml | 2 +- src/superagent/__init__.py | 2 - src/superagent/core/client_wrapper.py | 2 +- src/superagent/resources/tool/client.py | 127 ++++++++++++++++-- src/superagent/types/__init__.py | 2 - .../types/app_models_request_datasource.py | 2 +- .../types/app_models_request_tool.py | 33 ----- 7 files changed, 117 insertions(+), 53 deletions(-) delete mode 100644 src/superagent/types/app_models_request_tool.py diff --git a/pyproject.toml b/pyproject.toml index 58e6b3b..5fa111a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "superagent-py" -version = "v0.2.1" +version = "v0.2.2" description = "" readme = "README.md" authors = [] diff --git a/src/superagent/__init__.py b/src/superagent/__init__.py index 51d8c5d..1a69782 100644 --- a/src/superagent/__init__.py +++ b/src/superagent/__init__.py @@ -9,7 +9,6 @@ AppModelsRequestApiUser, AppModelsRequestDatasource, AppModelsRequestLlm, - AppModelsRequestTool, AppModelsRequestVectorDb, AppModelsRequestWorkflow, AppModelsRequestWorkflowStep, @@ -73,7 +72,6 @@ "AppModelsRequestApiUser", "AppModelsRequestDatasource", "AppModelsRequestLlm", - "AppModelsRequestTool", "AppModelsRequestVectorDb", "AppModelsRequestWorkflow", "AppModelsRequestWorkflowStep", diff --git a/src/superagent/core/client_wrapper.py b/src/superagent/core/client_wrapper.py index 1de7b65..db92e0e 100644 --- a/src/superagent/core/client_wrapper.py +++ b/src/superagent/core/client_wrapper.py @@ -14,7 +14,7 @@ def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { "X-Fern-Language": "Python", "X-Fern-SDK-Name": "superagent-py", - "X-Fern-SDK-Version": "v0.2.1", + "X-Fern-SDK-Version": "v0.2.2", } token = self._get_token() if token is not None: diff --git a/src/superagent/resources/tool/client.py b/src/superagent/resources/tool/client.py index b5ce2c1..d43949f 100644 --- a/src/superagent/resources/tool/client.py +++ b/src/superagent/resources/tool/client.py @@ -9,7 +9,6 @@ from ...core.jsonable_encoder import jsonable_encoder from ...core.remove_none_from_dict import remove_none_from_dict from ...errors.unprocessable_entity_error import UnprocessableEntityError -from ...types.app_models_request_tool import AppModelsRequestTool from ...types.app_models_response_tool import AppModelsResponseTool from ...types.http_validation_error import HttpValidationError from ...types.tool_list import ToolList @@ -53,17 +52,40 @@ def list(self, *, skip: typing.Optional[int] = None, take: typing.Optional[int] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create(self, *, request: AppModelsRequestTool) -> AppModelsResponseTool: + def create( + self, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: str, + metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + return_direct: typing.Optional[bool] = OMIT, + ) -> AppModelsResponseTool: """ Create a new tool Parameters: - - request: AppModelsRequestTool. + - name: str. + + - description: typing.Optional[str]. + + - type: str. + + - metadata: typing.Optional[typing.Dict[str, typing.Any]]. + + - return_direct: typing.Optional[bool]. """ + _request: typing.Dict[str, typing.Any] = {"name": name, "type": type} + if description is not OMIT: + _request["description"] = description + if metadata is not OMIT: + _request["metadata"] = metadata + if return_direct is not OMIT: + _request["returnDirect"] = return_direct _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v1/tools"), - json=jsonable_encoder(request), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -123,19 +145,47 @@ def delete(self, tool_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update(self, tool_id: str, *, request: AppModelsRequestTool) -> AppModelsResponseTool: + def update( + self, + tool_id: str, + *, + name: typing.Optional[str] = OMIT, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + return_direct: typing.Optional[bool] = OMIT, + ) -> AppModelsResponseTool: """ Update a specific tool Parameters: - tool_id: str. - - request: AppModelsRequestTool. + - name: typing.Optional[str]. + + - description: typing.Optional[str]. + + - type: typing.Optional[str]. + + - metadata: typing.Optional[typing.Dict[str, typing.Any]]. + + - return_direct: typing.Optional[bool]. """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type + if metadata is not OMIT: + _request["metadata"] = metadata + if return_direct is not OMIT: + _request["returnDirect"] = return_direct _response = self._client_wrapper.httpx_client.request( "PATCH", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"api/v1/tools/{tool_id}"), - json=jsonable_encoder(request), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -180,17 +230,40 @@ async def list(self, *, skip: typing.Optional[int] = None, take: typing.Optional raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create(self, *, request: AppModelsRequestTool) -> AppModelsResponseTool: + async def create( + self, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: str, + metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + return_direct: typing.Optional[bool] = OMIT, + ) -> AppModelsResponseTool: """ Create a new tool Parameters: - - request: AppModelsRequestTool. + - name: str. + + - description: typing.Optional[str]. + + - type: str. + + - metadata: typing.Optional[typing.Dict[str, typing.Any]]. + + - return_direct: typing.Optional[bool]. """ + _request: typing.Dict[str, typing.Any] = {"name": name, "type": type} + if description is not OMIT: + _request["description"] = description + if metadata is not OMIT: + _request["metadata"] = metadata + if return_direct is not OMIT: + _request["returnDirect"] = return_direct _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "api/v1/tools"), - json=jsonable_encoder(request), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -250,19 +323,47 @@ async def delete(self, tool_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update(self, tool_id: str, *, request: AppModelsRequestTool) -> AppModelsResponseTool: + async def update( + self, + tool_id: str, + *, + name: typing.Optional[str] = OMIT, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, + metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + return_direct: typing.Optional[bool] = OMIT, + ) -> AppModelsResponseTool: """ Update a specific tool Parameters: - tool_id: str. - - request: AppModelsRequestTool. + - name: typing.Optional[str]. + + - description: typing.Optional[str]. + + - type: typing.Optional[str]. + + - metadata: typing.Optional[typing.Dict[str, typing.Any]]. + + - return_direct: typing.Optional[bool]. """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type + if metadata is not OMIT: + _request["metadata"] = metadata + if return_direct is not OMIT: + _request["returnDirect"] = return_direct _response = await self._client_wrapper.httpx_client.request( "PATCH", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"api/v1/tools/{tool_id}"), - json=jsonable_encoder(request), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/src/superagent/types/__init__.py b/src/superagent/types/__init__.py index 45e8ce8..c9b0ef1 100644 --- a/src/superagent/types/__init__.py +++ b/src/superagent/types/__init__.py @@ -8,7 +8,6 @@ from .app_models_request_api_user import AppModelsRequestApiUser from .app_models_request_datasource import AppModelsRequestDatasource from .app_models_request_llm import AppModelsRequestLlm -from .app_models_request_tool import AppModelsRequestTool from .app_models_request_vector_db import AppModelsRequestVectorDb from .app_models_request_workflow import AppModelsRequestWorkflow from .app_models_request_workflow_step import AppModelsRequestWorkflowStep @@ -70,7 +69,6 @@ "AppModelsRequestApiUser", "AppModelsRequestDatasource", "AppModelsRequestLlm", - "AppModelsRequestTool", "AppModelsRequestVectorDb", "AppModelsRequestWorkflow", "AppModelsRequestWorkflowStep", diff --git a/src/superagent/types/app_models_request_datasource.py b/src/superagent/types/app_models_request_datasource.py index a2d24d0..e792882 100644 --- a/src/superagent/types/app_models_request_datasource.py +++ b/src/superagent/types/app_models_request_datasource.py @@ -13,7 +13,7 @@ class AppModelsRequestDatasource(pydantic.BaseModel): name: str - description: str + description: typing.Optional[str] type: str content: typing.Optional[str] url: typing.Optional[str] diff --git a/src/superagent/types/app_models_request_tool.py b/src/superagent/types/app_models_request_tool.py deleted file mode 100644 index cf038a2..0000000 --- a/src/superagent/types/app_models_request_tool.py +++ /dev/null @@ -1,33 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import datetime as dt -import typing - -from ..core.datetime_utils import serialize_datetime - -try: - import pydantic.v1 as pydantic # type: ignore -except ImportError: - import pydantic # type: ignore - - -class AppModelsRequestTool(pydantic.BaseModel): - name: str - description: typing.Optional[str] - type: str - metadata: typing.Optional[typing.Dict[str, typing.Any]] - return_direct: typing.Optional[bool] = pydantic.Field(alias="returnDirect") - - def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().json(**kwargs_with_defaults) - - def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} - return super().dict(**kwargs_with_defaults) - - class Config: - frozen = True - smart_union = True - allow_population_by_field_name = True - json_encoders = {dt.datetime: serialize_datetime}