diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index e8285b71..4f9005ea 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.1.0-alpha.5"
+ ".": "0.1.0-alpha.6"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 3a087b17..26d5f8ee 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 34
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp%2Fagentex-sdk-1d08fb2290b5310c91801d7575d356628d372fd5434e15d3b9cead48eadb893f.yml
-openapi_spec_hash: c07c588fb8429fbf024189df62f20fa4
-config_hash: 2e4b423af3db79ebd8170c401ea9093a
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp%2Fagentex-sdk-62a09183a027c64707ad1b9d7a5ccc66c8abf3965e6075282cb5ab72f742a2b3.yml
+openapi_spec_hash: 47f43703822077a82e2edf82d4b7e0e5
+config_hash: e9fb383df76f572ee9aefe7b876adc2f
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 14160687..a0496b29 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog
+## 0.1.0-alpha.6 (2025-07-23)
+
+Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/scaleapi/agentex-python/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)
+
+### Features
+
+* **api:** api update ([af18034](https://github.com/scaleapi/agentex-python/commit/af18034e4173794ebf42eff688f26d64caca4e64))
+* **api:** api update ([be9b603](https://github.com/scaleapi/agentex-python/commit/be9b60326817566d5c5edcbd7b7babb6db07e539))
+* **api:** manual updates ([bbe3be3](https://github.com/scaleapi/agentex-python/commit/bbe3be30aa9fb8d7a677f0e9f0be4dd565563d6e))
+
## 0.1.0-alpha.5 (2025-07-23)
Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/scaleapi/agentex-python/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
diff --git a/README.md b/README.md
index 588fc8cc..f0cdff86 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Agentex Python API library
-[)](https://pypi.org/project/agentex/)
+[)](https://pypi.org/project/agentex-sdk/)
The Agentex Python library provides convenient access to the Agentex REST API from any Python 3.8+
application. The library includes type definitions for all request params and response fields,
@@ -21,7 +21,7 @@ pip install git+ssh://git@github.com/scaleapi/agentex-python.git
```
> [!NOTE]
-> Once this package is [published to PyPI](https://www.stainless.com/docs/guides/publish), this will become: `pip install --pre agentex`
+> Once this package is [published to PyPI](https://www.stainless.com/docs/guides/publish), this will become: `pip install --pre agentex-sdk`
## Usage
@@ -78,7 +78,7 @@ You can enable this by installing `aiohttp`:
```sh
# install from the production repo
-pip install 'agentex[aiohttp] @ git+ssh://git@github.com/scaleapi/agentex-python.git'
+pip install 'agentex-sdk[aiohttp] @ git+ssh://git@github.com/scaleapi/agentex-python.git'
```
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
diff --git a/api.md b/api.md
index f0754dd0..223b095e 100644
--- a/api.md
+++ b/api.md
@@ -42,15 +42,15 @@ Methods:
Types:
```python
-from agentex.types import Task, TaskListResponse
+from agentex.types import Task, TaskListResponse, TaskDeleteResponse, TaskDeleteByNameResponse
```
Methods:
- client.tasks.retrieve(task_id) -> Task
- client.tasks.list() -> TaskListResponse
-- client.tasks.delete(task_id) -> Task
-- client.tasks.delete_by_name(task_name) -> Task
+- client.tasks.delete(task_id) -> TaskDeleteResponse
+- client.tasks.delete_by_name(task_name) -> TaskDeleteByNameResponse
- client.tasks.retrieve_by_name(task_name) -> Task
- client.tasks.stream_events(task_id) -> object
- client.tasks.stream_events_by_name(task_name) -> object
diff --git a/pyproject.toml b/pyproject.toml
index 168acc46..31d2a656 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
-name = "agentex"
-version = "0.1.0-alpha.5"
+name = "agentex-sdk"
+version = "0.1.0-alpha.6"
description = "The official Python library for the agentex API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/requirements-dev.lock b/requirements-dev.lock
index f82de72c..56a38441 100644
--- a/requirements-dev.lock
+++ b/requirements-dev.lock
@@ -13,14 +13,14 @@
aiohappyeyeballs==2.6.1
# via aiohttp
aiohttp==3.12.8
- # via agentex
+ # via agentex-sdk
# via httpx-aiohttp
aiosignal==1.3.2
# via aiohttp
annotated-types==0.6.0
# via pydantic
anyio==4.4.0
- # via agentex
+ # via agentex-sdk
# via httpx
argcomplete==3.1.2
# via nox
@@ -37,7 +37,7 @@ dirty-equals==0.6.0
distlib==0.3.7
# via virtualenv
distro==1.8.0
- # via agentex
+ # via agentex-sdk
exceptiongroup==1.2.2
# via anyio
# via pytest
@@ -53,11 +53,11 @@ h11==0.16.0
httpcore==1.0.9
# via httpx
httpx==0.28.1
- # via agentex
+ # via agentex-sdk
# via httpx-aiohttp
# via respx
httpx-aiohttp==0.1.8
- # via agentex
+ # via agentex-sdk
idna==3.4
# via anyio
# via httpx
@@ -90,7 +90,7 @@ propcache==0.3.1
# via aiohttp
# via yarl
pydantic==2.10.3
- # via agentex
+ # via agentex-sdk
pydantic-core==2.27.1
# via pydantic
pygments==2.18.0
@@ -113,14 +113,14 @@ setuptools==68.2.2
six==1.16.0
# via python-dateutil
sniffio==1.3.0
- # via agentex
+ # via agentex-sdk
# via anyio
time-machine==2.9.0
tomli==2.0.2
# via mypy
# via pytest
typing-extensions==4.12.2
- # via agentex
+ # via agentex-sdk
# via anyio
# via multidict
# via mypy
diff --git a/requirements.lock b/requirements.lock
index a6d3556d..a4e7e943 100644
--- a/requirements.lock
+++ b/requirements.lock
@@ -13,14 +13,14 @@
aiohappyeyeballs==2.6.1
# via aiohttp
aiohttp==3.12.8
- # via agentex
+ # via agentex-sdk
# via httpx-aiohttp
aiosignal==1.3.2
# via aiohttp
annotated-types==0.6.0
# via pydantic
anyio==4.4.0
- # via agentex
+ # via agentex-sdk
# via httpx
async-timeout==5.0.1
# via aiohttp
@@ -30,7 +30,7 @@ certifi==2023.7.22
# via httpcore
# via httpx
distro==1.8.0
- # via agentex
+ # via agentex-sdk
exceptiongroup==1.2.2
# via anyio
frozenlist==1.6.2
@@ -41,10 +41,10 @@ h11==0.16.0
httpcore==1.0.9
# via httpx
httpx==0.28.1
- # via agentex
+ # via agentex-sdk
# via httpx-aiohttp
httpx-aiohttp==0.1.8
- # via agentex
+ # via agentex-sdk
idna==3.4
# via anyio
# via httpx
@@ -56,14 +56,14 @@ propcache==0.3.1
# via aiohttp
# via yarl
pydantic==2.10.3
- # via agentex
+ # via agentex-sdk
pydantic-core==2.27.1
# via pydantic
sniffio==1.3.0
- # via agentex
+ # via agentex-sdk
# via anyio
typing-extensions==4.12.2
- # via agentex
+ # via agentex-sdk
# via anyio
# via multidict
# via pydantic
diff --git a/src/agentex/_version.py b/src/agentex/_version.py
index 6c4f3e31..a4a7b2ff 100644
--- a/src/agentex/_version.py
+++ b/src/agentex/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "agentex"
-__version__ = "0.1.0-alpha.5" # x-release-please-version
+__version__ = "0.1.0-alpha.6" # x-release-please-version
diff --git a/src/agentex/resources/tasks.py b/src/agentex/resources/tasks.py
index 936ee66c..6c6ce9d0 100644
--- a/src/agentex/resources/tasks.py
+++ b/src/agentex/resources/tasks.py
@@ -17,6 +17,8 @@
from ..types.task import Task
from .._base_client import make_request_options
from ..types.task_list_response import TaskListResponse
+from ..types.task_delete_response import TaskDeleteResponse
+from ..types.task_delete_by_name_response import TaskDeleteByNameResponse
__all__ = ["TasksResource", "AsyncTasksResource"]
@@ -103,7 +105,7 @@ def delete(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> Task:
+ ) -> TaskDeleteResponse:
"""
Delete a task by its unique ID.
@@ -123,7 +125,7 @@ def delete(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=Task,
+ cast_to=TaskDeleteResponse,
)
def delete_by_name(
@@ -136,7 +138,7 @@ def delete_by_name(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> Task:
+ ) -> TaskDeleteByNameResponse:
"""
Delete a task by its unique name.
@@ -156,7 +158,7 @@ def delete_by_name(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=Task,
+ cast_to=TaskDeleteByNameResponse,
)
def retrieve_by_name(
@@ -345,7 +347,7 @@ async def delete(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> Task:
+ ) -> TaskDeleteResponse:
"""
Delete a task by its unique ID.
@@ -365,7 +367,7 @@ async def delete(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=Task,
+ cast_to=TaskDeleteResponse,
)
async def delete_by_name(
@@ -378,7 +380,7 @@ async def delete_by_name(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> Task:
+ ) -> TaskDeleteByNameResponse:
"""
Delete a task by its unique name.
@@ -398,7 +400,7 @@ async def delete_by_name(
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=Task,
+ cast_to=TaskDeleteByNameResponse,
)
async def retrieve_by_name(
diff --git a/src/agentex/types/__init__.py b/src/agentex/types/__init__.py
index f021a20d..5623fb8a 100644
--- a/src/agentex/types/__init__.py
+++ b/src/agentex/types/__init__.py
@@ -40,6 +40,7 @@
from .state_update_params import StateUpdateParams as StateUpdateParams
from .tool_response_delta import ToolResponseDelta as ToolResponseDelta
from .tracker_list_params import TrackerListParams as TrackerListParams
+from .task_delete_response import TaskDeleteResponse as TaskDeleteResponse
from .task_message_content import TaskMessageContent as TaskMessageContent
from .tool_request_content import ToolRequestContent as ToolRequestContent
from .message_create_params import MessageCreateParams as MessageCreateParams
@@ -52,3 +53,4 @@
from .task_message_content_param import TaskMessageContentParam as TaskMessageContentParam
from .tool_request_content_param import ToolRequestContentParam as ToolRequestContentParam
from .tool_response_content_param import ToolResponseContentParam as ToolResponseContentParam
+from .task_delete_by_name_response import TaskDeleteByNameResponse as TaskDeleteByNameResponse
diff --git a/src/agentex/types/task_delete_by_name_response.py b/src/agentex/types/task_delete_by_name_response.py
new file mode 100644
index 00000000..bea61633
--- /dev/null
+++ b/src/agentex/types/task_delete_by_name_response.py
@@ -0,0 +1,8 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Dict
+from typing_extensions import TypeAlias
+
+__all__ = ["TaskDeleteByNameResponse"]
+
+TaskDeleteByNameResponse: TypeAlias = Dict[str, str]
diff --git a/src/agentex/types/task_delete_response.py b/src/agentex/types/task_delete_response.py
new file mode 100644
index 00000000..62104057
--- /dev/null
+++ b/src/agentex/types/task_delete_response.py
@@ -0,0 +1,8 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Dict
+from typing_extensions import TypeAlias
+
+__all__ = ["TaskDeleteResponse"]
+
+TaskDeleteResponse: TypeAlias = Dict[str, str]
diff --git a/tests/api_resources/test_tasks.py b/tests/api_resources/test_tasks.py
index 0c9af1b4..97f20453 100644
--- a/tests/api_resources/test_tasks.py
+++ b/tests/api_resources/test_tasks.py
@@ -9,7 +9,7 @@
from agentex import Agentex, AsyncAgentex
from tests.utils import assert_matches_type
-from agentex.types import Task, TaskListResponse
+from agentex.types import Task, TaskListResponse, TaskDeleteResponse, TaskDeleteByNameResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -93,7 +93,7 @@ def test_method_delete(self, client: Agentex) -> None:
task = client.tasks.delete(
"task_id",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -105,7 +105,7 @@ def test_raw_response_delete(self, client: Agentex) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -117,7 +117,7 @@ def test_streaming_response_delete(self, client: Agentex) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -135,7 +135,7 @@ def test_method_delete_by_name(self, client: Agentex) -> None:
task = client.tasks.delete_by_name(
"task_name",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -147,7 +147,7 @@ def test_raw_response_delete_by_name(self, client: Agentex) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -159,7 +159,7 @@ def test_streaming_response_delete_by_name(self, client: Agentex) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -377,7 +377,7 @@ async def test_method_delete(self, async_client: AsyncAgentex) -> None:
task = await async_client.tasks.delete(
"task_id",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -389,7 +389,7 @@ async def test_raw_response_delete(self, async_client: AsyncAgentex) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -401,7 +401,7 @@ async def test_streaming_response_delete(self, async_client: AsyncAgentex) -> No
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -419,7 +419,7 @@ async def test_method_delete_by_name(self, async_client: AsyncAgentex) -> None:
task = await async_client.tasks.delete_by_name(
"task_name",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -431,7 +431,7 @@ async def test_raw_response_delete_by_name(self, async_client: AsyncAgentex) ->
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
@pytest.mark.skip()
@parametrize
@@ -443,7 +443,7 @@ async def test_streaming_response_delete_by_name(self, async_client: AsyncAgente
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskDeleteByNameResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True