diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 13136000..2aca35ae 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.4.28"
+ ".": "0.5.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index b1572bf4..e50822b4 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-6dbb005f57f2e54c00322ee75bae1e595160adf1f4eff3b5a8ac38cdeb48fbd6.yml
-openapi_spec_hash: 8d36892345fa74be42d2fb10b1d19ab6
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp%2Fagentex-sdk-2b422fbf02ff3b77795fb8c71cbe784de3a3add48560655ba4fe7f3fcc509995.yml
+openapi_spec_hash: bca5c04d823694c87417dae188480291
config_hash: 6481ea6b42040f435dedcb00a98f35f8
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bc78d8a0..f1bd0e1b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.5.0 (2025-10-28)
+
+Full Changelog: [v0.4.28...v0.5.0](https://github.com/scaleapi/agentex-python/compare/v0.4.28...v0.5.0)
+
+### Features
+
+* **api:** api update ([129fae6](https://github.com/scaleapi/agentex-python/commit/129fae69844e655b5dd02b6f67c44d15f5dbfa93))
+
## 0.4.28 (2025-10-28)
Full Changelog: [v0.4.27...v0.4.28](https://github.com/scaleapi/agentex-python/compare/v0.4.27...v0.4.28)
diff --git a/api.md b/api.md
index 4e3e6f83..2b397d0c 100644
--- a/api.md
+++ b/api.md
@@ -43,16 +43,16 @@ Methods:
Types:
```python
-from agentex.types import Task, TaskListResponse
+from agentex.types import Task, TaskRetrieveResponse, TaskListResponse, TaskRetrieveByNameResponse
```
Methods:
-- client.tasks.retrieve(task_id) -> Task
+- client.tasks.retrieve(task_id, \*\*params) -> TaskRetrieveResponse
- client.tasks.list(\*\*params) -> TaskListResponse
- client.tasks.delete(task_id) -> DeleteResponse
- client.tasks.delete_by_name(task_name) -> DeleteResponse
-- client.tasks.retrieve_by_name(task_name) -> Task
+- client.tasks.retrieve_by_name(task_name, \*\*params) -> TaskRetrieveByNameResponse
- 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 3922bb67..e04e755b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "agentex-sdk"
-version = "0.4.28"
+version = "0.5.0"
description = "The official Python library for the agentex API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/agentex/_version.py b/src/agentex/_version.py
index b6dbf0d4..6d776a78 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.4.28" # x-release-please-version
+__version__ = "0.5.0" # x-release-please-version
diff --git a/src/agentex/lib/adk/_modules/tasks.py b/src/agentex/lib/adk/_modules/tasks.py
index 10c6405d..522f7daf 100644
--- a/src/agentex/lib/adk/_modules/tasks.py
+++ b/src/agentex/lib/adk/_modules/tasks.py
@@ -16,6 +16,8 @@
)
from agentex.lib.core.tracing.tracer import AsyncTracer
from agentex.types.task import Task
+from agentex.types.task_retrieve_response import TaskRetrieveResponse
+from agentex.types.task_retrieve_by_name_response import TaskRetrieveByNameResponse
from agentex.lib.utils.logging import make_logger
from agentex.lib.utils.temporal import in_temporal_workflow
@@ -53,7 +55,7 @@ async def get(
start_to_close_timeout: timedelta = timedelta(seconds=5),
heartbeat_timeout: timedelta = timedelta(seconds=5),
retry_policy: RetryPolicy = DEFAULT_RETRY_POLICY,
- ) -> Task:
+ ) -> TaskRetrieveResponse | TaskRetrieveByNameResponse:
"""
Get a task by ID or name.
Args:
diff --git a/src/agentex/lib/core/services/adk/tasks.py b/src/agentex/lib/core/services/adk/tasks.py
index 0d85aa57..3f87f46f 100644
--- a/src/agentex/lib/core/services/adk/tasks.py
+++ b/src/agentex/lib/core/services/adk/tasks.py
@@ -6,6 +6,8 @@
from agentex.lib.utils.logging import make_logger
from agentex.lib.utils.temporal import heartbeat_if_in_workflow
from agentex.lib.core.tracing.tracer import AsyncTracer
+from agentex.types.task_retrieve_response import TaskRetrieveResponse
+from agentex.types.task_retrieve_by_name_response import TaskRetrieveByNameResponse
logger = make_logger(__name__)
@@ -25,7 +27,7 @@ async def get_task(
task_name: str | None = None,
trace_id: str | None = None,
parent_span_id: str | None = None,
- ) -> Task:
+ ) -> TaskRetrieveResponse | TaskRetrieveByNameResponse:
trace = self._tracer.trace(trace_id)
async with trace.span(
parent_id=parent_span_id,
diff --git a/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py b/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py
index f1b508c3..f3f59f8c 100644
--- a/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py
+++ b/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py
@@ -8,6 +8,8 @@
from agentex.lib.types.tracing import BaseModelWithTraceParams
from agentex.lib.utils.logging import make_logger
from agentex.lib.core.services.adk.tasks import TasksService
+from agentex.types.task_retrieve_response import TaskRetrieveResponse
+from agentex.types.task_retrieve_by_name_response import TaskRetrieveByNameResponse
logger = make_logger(__name__)
@@ -32,7 +34,7 @@ def __init__(self, tasks_service: TasksService):
self._tasks_service = tasks_service
@activity.defn(name=TasksActivityName.GET_TASK)
- async def get_task(self, params: GetTaskParams) -> Task | None:
+ async def get_task(self, params: GetTaskParams) -> TaskRetrieveResponse | TaskRetrieveByNameResponse:
return await self._tasks_service.get_task(
task_id=params.task_id,
task_name=params.task_name,
diff --git a/src/agentex/resources/tasks.py b/src/agentex/resources/tasks.py
index 5d0547cd..33a4648d 100644
--- a/src/agentex/resources/tasks.py
+++ b/src/agentex/resources/tasks.py
@@ -2,11 +2,12 @@
from __future__ import annotations
-from typing import Optional
+from typing import List, Optional
+from typing_extensions import Literal
import httpx
-from ..types import task_list_params
+from ..types import task_list_params, task_retrieve_params, task_retrieve_by_name_params
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from .._utils import maybe_transform, async_maybe_transform
from .._compat import cached_property
@@ -18,10 +19,11 @@
async_to_streamed_response_wrapper,
)
from .._streaming import Stream, AsyncStream
-from ..types.task import Task
from .._base_client import make_request_options
from ..types.task_list_response import TaskListResponse
from ..types.shared.delete_response import DeleteResponse
+from ..types.task_retrieve_response import TaskRetrieveResponse
+from ..types.task_retrieve_by_name_response import TaskRetrieveByNameResponse
__all__ = ["TasksResource", "AsyncTasksResource"]
@@ -50,13 +52,14 @@ def retrieve(
self,
task_id: str,
*,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
- ) -> Task:
+ ) -> TaskRetrieveResponse:
"""
Get a task by its unique ID.
@@ -74,9 +77,13 @@ def retrieve(
return self._get(
f"/tasks/{task_id}",
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({"relationships": relationships}, task_retrieve_params.TaskRetrieveParams),
),
- cast_to=Task,
+ cast_to=TaskRetrieveResponse,
)
def list(
@@ -86,6 +93,7 @@ def list(
agent_name: Optional[str] | Omit = omit,
limit: int | Omit = omit,
page_number: int | Omit = omit,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
@@ -118,6 +126,7 @@ def list(
"agent_name": agent_name,
"limit": limit,
"page_number": page_number,
+ "relationships": relationships,
},
task_list_params.TaskListParams,
),
@@ -195,13 +204,14 @@ def retrieve_by_name(
self,
task_name: str,
*,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
- ) -> Task:
+ ) -> TaskRetrieveByNameResponse:
"""
Get a task by its unique name.
@@ -219,9 +229,15 @@ def retrieve_by_name(
return self._get(
f"/tasks/name/{task_name}",
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(
+ {"relationships": relationships}, task_retrieve_by_name_params.TaskRetrieveByNameParams
+ ),
),
- cast_to=Task,
+ cast_to=TaskRetrieveByNameResponse,
)
def stream_events(
@@ -319,13 +335,14 @@ async def retrieve(
self,
task_id: str,
*,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
- ) -> Task:
+ ) -> TaskRetrieveResponse:
"""
Get a task by its unique ID.
@@ -343,9 +360,15 @@ async def retrieve(
return await self._get(
f"/tasks/{task_id}",
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(
+ {"relationships": relationships}, task_retrieve_params.TaskRetrieveParams
+ ),
),
- cast_to=Task,
+ cast_to=TaskRetrieveResponse,
)
async def list(
@@ -355,6 +378,7 @@ async def list(
agent_name: Optional[str] | Omit = omit,
limit: int | Omit = omit,
page_number: int | Omit = omit,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
@@ -387,6 +411,7 @@ async def list(
"agent_name": agent_name,
"limit": limit,
"page_number": page_number,
+ "relationships": relationships,
},
task_list_params.TaskListParams,
),
@@ -464,13 +489,14 @@ async def retrieve_by_name(
self,
task_name: str,
*,
+ relationships: List[Literal["agents"]] | Omit = omit,
# 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,
- ) -> Task:
+ ) -> TaskRetrieveByNameResponse:
"""
Get a task by its unique name.
@@ -488,9 +514,15 @@ async def retrieve_by_name(
return await self._get(
f"/tasks/name/{task_name}",
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(
+ {"relationships": relationships}, task_retrieve_by_name_params.TaskRetrieveByNameParams
+ ),
),
- cast_to=Task,
+ cast_to=TaskRetrieveByNameResponse,
)
async def stream_events(
diff --git a/src/agentex/types/__init__.py b/src/agentex/types/__init__.py
index 0445dfad..47e148bb 100644
--- a/src/agentex/types/__init__.py
+++ b/src/agentex/types/__init__.py
@@ -45,6 +45,7 @@
from .tool_response_delta import ToolResponseDelta as ToolResponseDelta
from .tracker_list_params import TrackerListParams as TrackerListParams
from .task_message_content import TaskMessageContent as TaskMessageContent
+from .task_retrieve_params import TaskRetrieveParams as TaskRetrieveParams
from .tool_request_content import ToolRequestContent as ToolRequestContent
from .message_create_params import MessageCreateParams as MessageCreateParams
from .message_list_response import MessageListResponse as MessageListResponse
@@ -52,6 +53,7 @@
from .tool_response_content import ToolResponseContent as ToolResponseContent
from .tracker_list_response import TrackerListResponse as TrackerListResponse
from .tracker_update_params import TrackerUpdateParams as TrackerUpdateParams
+from .task_retrieve_response import TaskRetrieveResponse as TaskRetrieveResponse
from .reasoning_content_delta import ReasoningContentDelta as ReasoningContentDelta
from .reasoning_content_param import ReasoningContentParam as ReasoningContentParam
from .reasoning_summary_delta import ReasoningSummaryDelta as ReasoningSummaryDelta
@@ -59,3 +61,5 @@
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_retrieve_by_name_params import TaskRetrieveByNameParams as TaskRetrieveByNameParams
+from .task_retrieve_by_name_response import TaskRetrieveByNameResponse as TaskRetrieveByNameResponse
diff --git a/src/agentex/types/task_list_params.py b/src/agentex/types/task_list_params.py
index 94be17f9..6c417eb0 100644
--- a/src/agentex/types/task_list_params.py
+++ b/src/agentex/types/task_list_params.py
@@ -2,8 +2,8 @@
from __future__ import annotations
-from typing import Optional
-from typing_extensions import TypedDict
+from typing import List, Optional
+from typing_extensions import Literal, TypedDict
__all__ = ["TaskListParams"]
@@ -16,3 +16,5 @@ class TaskListParams(TypedDict, total=False):
limit: int
page_number: int
+
+ relationships: List[Literal["agents"]]
diff --git a/src/agentex/types/task_list_response.py b/src/agentex/types/task_list_response.py
index c9607e60..745c9fbe 100644
--- a/src/agentex/types/task_list_response.py
+++ b/src/agentex/types/task_list_response.py
@@ -1,10 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from typing import List
-from typing_extensions import TypeAlias
+from typing import Dict, List, Optional
+from datetime import datetime
+from typing_extensions import Literal, TypeAlias
-from .task import Task
+from .agent import Agent
+from .._models import BaseModel
-__all__ = ["TaskListResponse"]
+__all__ = ["TaskListResponse", "TaskListResponseItem"]
-TaskListResponse: TypeAlias = List[Task]
+
+class TaskListResponseItem(BaseModel):
+ id: str
+
+ agents: Optional[List[Agent]] = None
+
+ created_at: Optional[datetime] = None
+
+ name: Optional[str] = None
+
+ params: Optional[Dict[str, object]] = None
+
+ status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]] = None
+
+ status_reason: Optional[str] = None
+
+ task_metadata: Optional[Dict[str, object]] = None
+
+ updated_at: Optional[datetime] = None
+
+
+TaskListResponse: TypeAlias = List[TaskListResponseItem]
diff --git a/src/agentex/types/task_retrieve_by_name_params.py b/src/agentex/types/task_retrieve_by_name_params.py
new file mode 100644
index 00000000..98d03982
--- /dev/null
+++ b/src/agentex/types/task_retrieve_by_name_params.py
@@ -0,0 +1,12 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import List
+from typing_extensions import Literal, TypedDict
+
+__all__ = ["TaskRetrieveByNameParams"]
+
+
+class TaskRetrieveByNameParams(TypedDict, total=False):
+ relationships: List[Literal["agents"]]
diff --git a/src/agentex/types/task_retrieve_by_name_response.py b/src/agentex/types/task_retrieve_by_name_response.py
new file mode 100644
index 00000000..4d8ae95d
--- /dev/null
+++ b/src/agentex/types/task_retrieve_by_name_response.py
@@ -0,0 +1,30 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Dict, List, Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from .agent import Agent
+from .._models import BaseModel
+
+__all__ = ["TaskRetrieveByNameResponse"]
+
+
+class TaskRetrieveByNameResponse(BaseModel):
+ id: str
+
+ agents: Optional[List[Agent]] = None
+
+ created_at: Optional[datetime] = None
+
+ name: Optional[str] = None
+
+ params: Optional[Dict[str, object]] = None
+
+ status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]] = None
+
+ status_reason: Optional[str] = None
+
+ task_metadata: Optional[Dict[str, object]] = None
+
+ updated_at: Optional[datetime] = None
diff --git a/src/agentex/types/task_retrieve_params.py b/src/agentex/types/task_retrieve_params.py
new file mode 100644
index 00000000..61748a1b
--- /dev/null
+++ b/src/agentex/types/task_retrieve_params.py
@@ -0,0 +1,12 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import List
+from typing_extensions import Literal, TypedDict
+
+__all__ = ["TaskRetrieveParams"]
+
+
+class TaskRetrieveParams(TypedDict, total=False):
+ relationships: List[Literal["agents"]]
diff --git a/src/agentex/types/task_retrieve_response.py b/src/agentex/types/task_retrieve_response.py
new file mode 100644
index 00000000..f824b368
--- /dev/null
+++ b/src/agentex/types/task_retrieve_response.py
@@ -0,0 +1,30 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import Dict, List, Optional
+from datetime import datetime
+from typing_extensions import Literal
+
+from .agent import Agent
+from .._models import BaseModel
+
+__all__ = ["TaskRetrieveResponse"]
+
+
+class TaskRetrieveResponse(BaseModel):
+ id: str
+
+ agents: Optional[List[Agent]] = None
+
+ created_at: Optional[datetime] = None
+
+ name: Optional[str] = None
+
+ params: Optional[Dict[str, object]] = None
+
+ status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]] = None
+
+ status_reason: Optional[str] = None
+
+ task_metadata: Optional[Dict[str, object]] = None
+
+ updated_at: Optional[datetime] = None
diff --git a/tests/api_resources/test_tasks.py b/tests/api_resources/test_tasks.py
index 565ebb03..4f02757f 100644
--- a/tests/api_resources/test_tasks.py
+++ b/tests/api_resources/test_tasks.py
@@ -8,7 +8,11 @@
import pytest
from agentex import Agentex, AsyncAgentex
-from agentex.types import Task, TaskListResponse
+from agentex.types import (
+ TaskListResponse,
+ TaskRetrieveResponse,
+ TaskRetrieveByNameResponse,
+)
from agentex.types.shared import DeleteResponse
from ..utils import assert_matches_type
@@ -23,33 +27,42 @@ class TestTasks:
@parametrize
def test_method_retrieve(self, client: Agentex) -> None:
task = client.tasks.retrieve(
- "task_id",
+ task_id="task_id",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
+
+ @pytest.mark.skip(reason="Prism tests are disabled")
+ @parametrize
+ def test_method_retrieve_with_all_params(self, client: Agentex) -> None:
+ task = client.tasks.retrieve(
+ task_id="task_id",
+ relationships=["agents"],
+ )
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
def test_raw_response_retrieve(self, client: Agentex) -> None:
response = client.tasks.with_raw_response.retrieve(
- "task_id",
+ task_id="task_id",
)
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(TaskRetrieveResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
def test_streaming_response_retrieve(self, client: Agentex) -> None:
with client.tasks.with_streaming_response.retrieve(
- "task_id",
+ task_id="task_id",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -58,7 +71,7 @@ def test_streaming_response_retrieve(self, client: Agentex) -> None:
def test_path_params_retrieve(self, client: Agentex) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_id` but received ''"):
client.tasks.with_raw_response.retrieve(
- "",
+ task_id="",
)
@pytest.mark.skip(reason="Prism tests are disabled")
@@ -75,6 +88,7 @@ def test_method_list_with_all_params(self, client: Agentex) -> None:
agent_name="agent_name",
limit=0,
page_number=0,
+ relationships=["agents"],
)
assert_matches_type(TaskListResponse, task, path=["response"])
@@ -188,33 +202,42 @@ def test_path_params_delete_by_name(self, client: Agentex) -> None:
@parametrize
def test_method_retrieve_by_name(self, client: Agentex) -> None:
task = client.tasks.retrieve_by_name(
- "task_name",
+ task_name="task_name",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
+
+ @pytest.mark.skip(reason="Prism tests are disabled")
+ @parametrize
+ def test_method_retrieve_by_name_with_all_params(self, client: Agentex) -> None:
+ task = client.tasks.retrieve_by_name(
+ task_name="task_name",
+ relationships=["agents"],
+ )
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
def test_raw_response_retrieve_by_name(self, client: Agentex) -> None:
response = client.tasks.with_raw_response.retrieve_by_name(
- "task_name",
+ task_name="task_name",
)
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(TaskRetrieveByNameResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
def test_streaming_response_retrieve_by_name(self, client: Agentex) -> None:
with client.tasks.with_streaming_response.retrieve_by_name(
- "task_name",
+ task_name="task_name",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -223,7 +246,7 @@ def test_streaming_response_retrieve_by_name(self, client: Agentex) -> None:
def test_path_params_retrieve_by_name(self, client: Agentex) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_name` but received ''"):
client.tasks.with_raw_response.retrieve_by_name(
- "",
+ task_name="",
)
@pytest.mark.skip(reason="Prism tests are disabled")
@@ -318,33 +341,42 @@ class TestAsyncTasks:
@parametrize
async def test_method_retrieve(self, async_client: AsyncAgentex) -> None:
task = await async_client.tasks.retrieve(
- "task_id",
+ task_id="task_id",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
+
+ @pytest.mark.skip(reason="Prism tests are disabled")
+ @parametrize
+ async def test_method_retrieve_with_all_params(self, async_client: AsyncAgentex) -> None:
+ task = await async_client.tasks.retrieve(
+ task_id="task_id",
+ relationships=["agents"],
+ )
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
async def test_raw_response_retrieve(self, async_client: AsyncAgentex) -> None:
response = await async_client.tasks.with_raw_response.retrieve(
- "task_id",
+ task_id="task_id",
)
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(TaskRetrieveResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
async def test_streaming_response_retrieve(self, async_client: AsyncAgentex) -> None:
async with async_client.tasks.with_streaming_response.retrieve(
- "task_id",
+ task_id="task_id",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -353,7 +385,7 @@ async def test_streaming_response_retrieve(self, async_client: AsyncAgentex) ->
async def test_path_params_retrieve(self, async_client: AsyncAgentex) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_id` but received ''"):
await async_client.tasks.with_raw_response.retrieve(
- "",
+ task_id="",
)
@pytest.mark.skip(reason="Prism tests are disabled")
@@ -370,6 +402,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncAgentex) ->
agent_name="agent_name",
limit=0,
page_number=0,
+ relationships=["agents"],
)
assert_matches_type(TaskListResponse, task, path=["response"])
@@ -483,33 +516,42 @@ async def test_path_params_delete_by_name(self, async_client: AsyncAgentex) -> N
@parametrize
async def test_method_retrieve_by_name(self, async_client: AsyncAgentex) -> None:
task = await async_client.tasks.retrieve_by_name(
- "task_name",
+ task_name="task_name",
)
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
+
+ @pytest.mark.skip(reason="Prism tests are disabled")
+ @parametrize
+ async def test_method_retrieve_by_name_with_all_params(self, async_client: AsyncAgentex) -> None:
+ task = await async_client.tasks.retrieve_by_name(
+ task_name="task_name",
+ relationships=["agents"],
+ )
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
async def test_raw_response_retrieve_by_name(self, async_client: AsyncAgentex) -> None:
response = await async_client.tasks.with_raw_response.retrieve_by_name(
- "task_name",
+ task_name="task_name",
)
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(TaskRetrieveByNameResponse, task, path=["response"])
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
async def test_streaming_response_retrieve_by_name(self, async_client: AsyncAgentex) -> None:
async with async_client.tasks.with_streaming_response.retrieve_by_name(
- "task_name",
+ task_name="task_name",
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
task = await response.parse()
- assert_matches_type(Task, task, path=["response"])
+ assert_matches_type(TaskRetrieveByNameResponse, task, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -518,7 +560,7 @@ async def test_streaming_response_retrieve_by_name(self, async_client: AsyncAgen
async def test_path_params_retrieve_by_name(self, async_client: AsyncAgentex) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_name` but received ''"):
await async_client.tasks.with_raw_response.retrieve_by_name(
- "",
+ task_name="",
)
@pytest.mark.skip(reason="Prism tests are disabled")