summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/python/src/opencode_ai/api/default/project_current.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sdk/python/src/opencode_ai/api/default/project_current.py')
-rw-r--r--packages/sdk/python/src/opencode_ai/api/default/project_current.py155
1 files changed, 155 insertions, 0 deletions
diff --git a/packages/sdk/python/src/opencode_ai/api/default/project_current.py b/packages/sdk/python/src/opencode_ai/api/default/project_current.py
new file mode 100644
index 000000000..712c6fd43
--- /dev/null
+++ b/packages/sdk/python/src/opencode_ai/api/default/project_current.py
@@ -0,0 +1,155 @@
+from http import HTTPStatus
+from typing import Any, Optional, Union
+
+import httpx
+
+from ... import errors
+from ...client import AuthenticatedClient, Client
+from ...models.project import Project
+from ...types import UNSET, Response, Unset
+
+
+def _get_kwargs(
+ *,
+ directory: Union[Unset, str] = UNSET,
+) -> dict[str, Any]:
+ params: dict[str, Any] = {}
+
+ params["directory"] = directory
+
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
+
+ _kwargs: dict[str, Any] = {
+ "method": "get",
+ "url": "/project/current",
+ "params": params,
+ }
+
+ return _kwargs
+
+
+def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Project]:
+ if response.status_code == 200:
+ response_200 = Project.from_dict(response.json())
+
+ return response_200
+
+ if client.raise_on_unexpected_status:
+ raise errors.UnexpectedStatus(response.status_code, response.content)
+ else:
+ return None
+
+
+def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Project]:
+ return Response(
+ status_code=HTTPStatus(response.status_code),
+ content=response.content,
+ headers=response.headers,
+ parsed=_parse_response(client=client, response=response),
+ )
+
+
+def sync_detailed(
+ *,
+ client: Union[AuthenticatedClient, Client],
+ directory: Union[Unset, str] = UNSET,
+) -> Response[Project]:
+ """Get the current project
+
+ Args:
+ directory (Union[Unset, str]):
+
+ Raises:
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
+
+ Returns:
+ Response[Project]
+ """
+
+ kwargs = _get_kwargs(
+ directory=directory,
+ )
+
+ response = client.get_httpx_client().request(
+ **kwargs,
+ )
+
+ return _build_response(client=client, response=response)
+
+
+def sync(
+ *,
+ client: Union[AuthenticatedClient, Client],
+ directory: Union[Unset, str] = UNSET,
+) -> Optional[Project]:
+ """Get the current project
+
+ Args:
+ directory (Union[Unset, str]):
+
+ Raises:
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
+
+ Returns:
+ Project
+ """
+
+ return sync_detailed(
+ client=client,
+ directory=directory,
+ ).parsed
+
+
+async def asyncio_detailed(
+ *,
+ client: Union[AuthenticatedClient, Client],
+ directory: Union[Unset, str] = UNSET,
+) -> Response[Project]:
+ """Get the current project
+
+ Args:
+ directory (Union[Unset, str]):
+
+ Raises:
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
+
+ Returns:
+ Response[Project]
+ """
+
+ kwargs = _get_kwargs(
+ directory=directory,
+ )
+
+ response = await client.get_async_httpx_client().request(**kwargs)
+
+ return _build_response(client=client, response=response)
+
+
+async def asyncio(
+ *,
+ client: Union[AuthenticatedClient, Client],
+ directory: Union[Unset, str] = UNSET,
+) -> Optional[Project]:
+ """Get the current project
+
+ Args:
+ directory (Union[Unset, str]):
+
+ Raises:
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
+
+ Returns:
+ Project
+ """
+
+ return (
+ await asyncio_detailed(
+ client=client,
+ directory=directory,
+ )
+ ).parsed