diff --git a/.stats.yml b/.stats.yml
index dad3fc78..681b4257 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 14
+configured_endpoints: 15
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brainbase-egrigokhan%2Fbrainbase-a197a88d1abbdbd5c886875d2cf12ffd6abf79aec7d4dbd0439ed50197692eba.yml
diff --git a/api.md b/api.md
index 77b07ee9..2ef3de3f 100644
--- a/api.md
+++ b/api.md
@@ -2,10 +2,11 @@
Methods:
-- client.workers.create(id, \*\*params) -> None
+- client.workers.create(\*\*params) -> None
- client.workers.retrieve(id) -> None
- client.workers.list() -> None
-- client.workers.delete(id) -> None
+- client.workers.create_id(id, \*\*params) -> None
+- client.workers.delete_id(id) -> None
## Deployments
diff --git a/src/brainbase/resources/workers/workers.py b/src/brainbase/resources/workers/workers.py
index eb3d3e1c..ca7e4c4b 100644
--- a/src/brainbase/resources/workers/workers.py
+++ b/src/brainbase/resources/workers/workers.py
@@ -12,7 +12,7 @@
FlowsResourceWithStreamingResponse,
AsyncFlowsResourceWithStreamingResponse,
)
-from ...types import worker_create_params
+from ...types import worker_create_params, worker_create_id_params
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
from ..._utils import (
maybe_transform,
@@ -69,10 +69,9 @@ def with_streaming_response(self) -> WorkersResourceWithStreamingResponse:
def create(
self,
- id: str,
*,
+ name: str,
description: str | NotGiven = NOT_GIVEN,
- name: str | NotGiven = NOT_GIVEN,
status: 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.
@@ -82,7 +81,7 @@ def create(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
"""
- Update a worker
+ Create a new worker
Args:
extra_headers: Send extra headers
@@ -93,15 +92,13 @@ def create(
timeout: Override the client-level default timeout for this request, in seconds
"""
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._post(
- f"/api/workers/{id}",
+ "/api/workers",
body=maybe_transform(
{
- "description": description,
"name": name,
+ "description": description,
"status": status,
},
worker_create_params.WorkerCreateParams,
@@ -166,7 +163,52 @@ def list(
cast_to=NoneType,
)
- def delete(
+ def create_id(
+ self,
+ id: str,
+ *,
+ description: str | NotGiven = NOT_GIVEN,
+ name: str | NotGiven = NOT_GIVEN,
+ status: 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,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
+ ) -> None:
+ """
+ Update a worker
+
+ 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 id:
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ return self._post(
+ f"/api/workers/{id}",
+ body=maybe_transform(
+ {
+ "description": description,
+ "name": name,
+ "status": status,
+ },
+ worker_create_id_params.WorkerCreateIDParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=NoneType,
+ )
+
+ def delete_id(
self,
id: str,
*,
@@ -231,10 +273,9 @@ def with_streaming_response(self) -> AsyncWorkersResourceWithStreamingResponse:
async def create(
self,
- id: str,
*,
+ name: str,
description: str | NotGiven = NOT_GIVEN,
- name: str | NotGiven = NOT_GIVEN,
status: 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.
@@ -244,7 +285,7 @@ async def create(
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
) -> None:
"""
- Update a worker
+ Create a new worker
Args:
extra_headers: Send extra headers
@@ -255,15 +296,13 @@ async def create(
timeout: Override the client-level default timeout for this request, in seconds
"""
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._post(
- f"/api/workers/{id}",
+ "/api/workers",
body=await async_maybe_transform(
{
- "description": description,
"name": name,
+ "description": description,
"status": status,
},
worker_create_params.WorkerCreateParams,
@@ -328,7 +367,52 @@ async def list(
cast_to=NoneType,
)
- async def delete(
+ async def create_id(
+ self,
+ id: str,
+ *,
+ description: str | NotGiven = NOT_GIVEN,
+ name: str | NotGiven = NOT_GIVEN,
+ status: 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,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
+ ) -> None:
+ """
+ Update a worker
+
+ 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 id:
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ return await self._post(
+ f"/api/workers/{id}",
+ body=await async_maybe_transform(
+ {
+ "description": description,
+ "name": name,
+ "status": status,
+ },
+ worker_create_id_params.WorkerCreateIDParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=NoneType,
+ )
+
+ async def delete_id(
self,
id: str,
*,
@@ -376,8 +460,11 @@ def __init__(self, workers: WorkersResource) -> None:
self.list = to_raw_response_wrapper(
workers.list,
)
- self.delete = to_raw_response_wrapper(
- workers.delete,
+ self.create_id = to_raw_response_wrapper(
+ workers.create_id,
+ )
+ self.delete_id = to_raw_response_wrapper(
+ workers.delete_id,
)
@cached_property
@@ -402,8 +489,11 @@ def __init__(self, workers: AsyncWorkersResource) -> None:
self.list = async_to_raw_response_wrapper(
workers.list,
)
- self.delete = async_to_raw_response_wrapper(
- workers.delete,
+ self.create_id = async_to_raw_response_wrapper(
+ workers.create_id,
+ )
+ self.delete_id = async_to_raw_response_wrapper(
+ workers.delete_id,
)
@cached_property
@@ -428,8 +518,11 @@ def __init__(self, workers: WorkersResource) -> None:
self.list = to_streamed_response_wrapper(
workers.list,
)
- self.delete = to_streamed_response_wrapper(
- workers.delete,
+ self.create_id = to_streamed_response_wrapper(
+ workers.create_id,
+ )
+ self.delete_id = to_streamed_response_wrapper(
+ workers.delete_id,
)
@cached_property
@@ -454,8 +547,11 @@ def __init__(self, workers: AsyncWorkersResource) -> None:
self.list = async_to_streamed_response_wrapper(
workers.list,
)
- self.delete = async_to_streamed_response_wrapper(
- workers.delete,
+ self.create_id = async_to_streamed_response_wrapper(
+ workers.create_id,
+ )
+ self.delete_id = async_to_streamed_response_wrapper(
+ workers.delete_id,
)
@cached_property
diff --git a/src/brainbase/types/__init__.py b/src/brainbase/types/__init__.py
index 5976bd7c..fa40311b 100644
--- a/src/brainbase/types/__init__.py
+++ b/src/brainbase/types/__init__.py
@@ -3,3 +3,4 @@
from __future__ import annotations
from .worker_create_params import WorkerCreateParams as WorkerCreateParams
+from .worker_create_id_params import WorkerCreateIDParams as WorkerCreateIDParams
diff --git a/src/brainbase/types/worker_create_id_params.py b/src/brainbase/types/worker_create_id_params.py
new file mode 100644
index 00000000..df526612
--- /dev/null
+++ b/src/brainbase/types/worker_create_id_params.py
@@ -0,0 +1,15 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import TypedDict
+
+__all__ = ["WorkerCreateIDParams"]
+
+
+class WorkerCreateIDParams(TypedDict, total=False):
+ description: str
+
+ name: str
+
+ status: str
diff --git a/src/brainbase/types/worker_create_params.py b/src/brainbase/types/worker_create_params.py
index f84e516c..757c0420 100644
--- a/src/brainbase/types/worker_create_params.py
+++ b/src/brainbase/types/worker_create_params.py
@@ -2,14 +2,14 @@
from __future__ import annotations
-from typing_extensions import TypedDict
+from typing_extensions import Required, TypedDict
__all__ = ["WorkerCreateParams"]
class WorkerCreateParams(TypedDict, total=False):
- description: str
+ name: Required[str]
- name: str
+ description: str
status: str
diff --git a/tests/api_resources/test_workers.py b/tests/api_resources/test_workers.py
index a6c4d926..41555aa3 100644
--- a/tests/api_resources/test_workers.py
+++ b/tests/api_resources/test_workers.py
@@ -19,7 +19,7 @@ class TestWorkers:
@parametrize
def test_method_create(self, client: Brainbase) -> None:
worker = client.workers.create(
- id="id",
+ name="name",
)
assert worker is None
@@ -27,9 +27,8 @@ def test_method_create(self, client: Brainbase) -> None:
@parametrize
def test_method_create_with_all_params(self, client: Brainbase) -> None:
worker = client.workers.create(
- id="id",
- description="description",
name="name",
+ description="description",
status="status",
)
assert worker is None
@@ -38,7 +37,7 @@ def test_method_create_with_all_params(self, client: Brainbase) -> None:
@parametrize
def test_raw_response_create(self, client: Brainbase) -> None:
response = client.workers.with_raw_response.create(
- id="id",
+ name="name",
)
assert response.is_closed is True
@@ -50,7 +49,7 @@ def test_raw_response_create(self, client: Brainbase) -> None:
@parametrize
def test_streaming_response_create(self, client: Brainbase) -> None:
with client.workers.with_streaming_response.create(
- id="id",
+ name="name",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -60,14 +59,6 @@ def test_streaming_response_create(self, client: Brainbase) -> None:
assert cast(Any, response.is_closed) is True
- @pytest.mark.skip()
- @parametrize
- def test_path_params_create(self, client: Brainbase) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.workers.with_raw_response.create(
- id="",
- )
-
@pytest.mark.skip()
@parametrize
def test_method_retrieve(self, client: Brainbase) -> None:
@@ -140,16 +131,69 @@ def test_streaming_response_list(self, client: Brainbase) -> None:
@pytest.mark.skip()
@parametrize
- def test_method_delete(self, client: Brainbase) -> None:
- worker = client.workers.delete(
+ def test_method_create_id(self, client: Brainbase) -> None:
+ worker = client.workers.create_id(
+ id="id",
+ )
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_method_create_id_with_all_params(self, client: Brainbase) -> None:
+ worker = client.workers.create_id(
+ id="id",
+ description="description",
+ name="name",
+ status="status",
+ )
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_raw_response_create_id(self, client: Brainbase) -> None:
+ response = client.workers.with_raw_response.create_id(
+ id="id",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ worker = response.parse()
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_streaming_response_create_id(self, client: Brainbase) -> None:
+ with client.workers.with_streaming_response.create_id(
+ id="id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ worker = response.parse()
+ assert worker is None
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_path_params_create_id(self, client: Brainbase) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
+ client.workers.with_raw_response.create_id(
+ id="",
+ )
+
+ @pytest.mark.skip()
+ @parametrize
+ def test_method_delete_id(self, client: Brainbase) -> None:
+ worker = client.workers.delete_id(
"id",
)
assert worker is None
@pytest.mark.skip()
@parametrize
- def test_raw_response_delete(self, client: Brainbase) -> None:
- response = client.workers.with_raw_response.delete(
+ def test_raw_response_delete_id(self, client: Brainbase) -> None:
+ response = client.workers.with_raw_response.delete_id(
"id",
)
@@ -160,8 +204,8 @@ def test_raw_response_delete(self, client: Brainbase) -> None:
@pytest.mark.skip()
@parametrize
- def test_streaming_response_delete(self, client: Brainbase) -> None:
- with client.workers.with_streaming_response.delete(
+ def test_streaming_response_delete_id(self, client: Brainbase) -> None:
+ with client.workers.with_streaming_response.delete_id(
"id",
) as response:
assert not response.is_closed
@@ -174,9 +218,9 @@ def test_streaming_response_delete(self, client: Brainbase) -> None:
@pytest.mark.skip()
@parametrize
- def test_path_params_delete(self, client: Brainbase) -> None:
+ def test_path_params_delete_id(self, client: Brainbase) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.workers.with_raw_response.delete(
+ client.workers.with_raw_response.delete_id(
"",
)
@@ -188,7 +232,7 @@ class TestAsyncWorkers:
@parametrize
async def test_method_create(self, async_client: AsyncBrainbase) -> None:
worker = await async_client.workers.create(
- id="id",
+ name="name",
)
assert worker is None
@@ -196,9 +240,8 @@ async def test_method_create(self, async_client: AsyncBrainbase) -> None:
@parametrize
async def test_method_create_with_all_params(self, async_client: AsyncBrainbase) -> None:
worker = await async_client.workers.create(
- id="id",
- description="description",
name="name",
+ description="description",
status="status",
)
assert worker is None
@@ -207,7 +250,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncBrainbase)
@parametrize
async def test_raw_response_create(self, async_client: AsyncBrainbase) -> None:
response = await async_client.workers.with_raw_response.create(
- id="id",
+ name="name",
)
assert response.is_closed is True
@@ -219,7 +262,7 @@ async def test_raw_response_create(self, async_client: AsyncBrainbase) -> None:
@parametrize
async def test_streaming_response_create(self, async_client: AsyncBrainbase) -> None:
async with async_client.workers.with_streaming_response.create(
- id="id",
+ name="name",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -229,14 +272,6 @@ async def test_streaming_response_create(self, async_client: AsyncBrainbase) ->
assert cast(Any, response.is_closed) is True
- @pytest.mark.skip()
- @parametrize
- async def test_path_params_create(self, async_client: AsyncBrainbase) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.workers.with_raw_response.create(
- id="",
- )
-
@pytest.mark.skip()
@parametrize
async def test_method_retrieve(self, async_client: AsyncBrainbase) -> None:
@@ -309,16 +344,69 @@ async def test_streaming_response_list(self, async_client: AsyncBrainbase) -> No
@pytest.mark.skip()
@parametrize
- async def test_method_delete(self, async_client: AsyncBrainbase) -> None:
- worker = await async_client.workers.delete(
+ async def test_method_create_id(self, async_client: AsyncBrainbase) -> None:
+ worker = await async_client.workers.create_id(
+ id="id",
+ )
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_method_create_id_with_all_params(self, async_client: AsyncBrainbase) -> None:
+ worker = await async_client.workers.create_id(
+ id="id",
+ description="description",
+ name="name",
+ status="status",
+ )
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_raw_response_create_id(self, async_client: AsyncBrainbase) -> None:
+ response = await async_client.workers.with_raw_response.create_id(
+ id="id",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ worker = await response.parse()
+ assert worker is None
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_streaming_response_create_id(self, async_client: AsyncBrainbase) -> None:
+ async with async_client.workers.with_streaming_response.create_id(
+ id="id",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ worker = await response.parse()
+ assert worker is None
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_path_params_create_id(self, async_client: AsyncBrainbase) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
+ await async_client.workers.with_raw_response.create_id(
+ id="",
+ )
+
+ @pytest.mark.skip()
+ @parametrize
+ async def test_method_delete_id(self, async_client: AsyncBrainbase) -> None:
+ worker = await async_client.workers.delete_id(
"id",
)
assert worker is None
@pytest.mark.skip()
@parametrize
- async def test_raw_response_delete(self, async_client: AsyncBrainbase) -> None:
- response = await async_client.workers.with_raw_response.delete(
+ async def test_raw_response_delete_id(self, async_client: AsyncBrainbase) -> None:
+ response = await async_client.workers.with_raw_response.delete_id(
"id",
)
@@ -329,8 +417,8 @@ async def test_raw_response_delete(self, async_client: AsyncBrainbase) -> None:
@pytest.mark.skip()
@parametrize
- async def test_streaming_response_delete(self, async_client: AsyncBrainbase) -> None:
- async with async_client.workers.with_streaming_response.delete(
+ async def test_streaming_response_delete_id(self, async_client: AsyncBrainbase) -> None:
+ async with async_client.workers.with_streaming_response.delete_id(
"id",
) as response:
assert not response.is_closed
@@ -343,8 +431,8 @@ async def test_streaming_response_delete(self, async_client: AsyncBrainbase) ->
@pytest.mark.skip()
@parametrize
- async def test_path_params_delete(self, async_client: AsyncBrainbase) -> None:
+ async def test_path_params_delete_id(self, async_client: AsyncBrainbase) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.workers.with_raw_response.delete(
+ await async_client.workers.with_raw_response.delete_id(
"",
)