Skip to content

Commit 4f1c093

Browse files
feat(api): add task/interrupt method and INTERRUPTED status to agents/tasks
1 parent 90ca889 commit 4f1c093

12 files changed

Lines changed: 74 additions & 21 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 74
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-f3f1b47fa785a0d7b4e1cce1932a2ab0c0b6531d67d499e6188292ea2a00c9d8.yml
3-
openapi_spec_hash: 77044dc5774eb88f1541ebbe53b413a7
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-03cb3b4d6f3c371f060a90c8baa03c050c20319d7879af0603788cc35f6f0506.yml
3+
openapi_spec_hash: 132e9efdb0535d9594abadf799431cf5
44
config_hash: 5c4e326f797c879e72d6bf32fc1ea49d

src/agentex/resources/agents/agents.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ def rpc(
326326
self,
327327
agent_id: str,
328328
*,
329-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
329+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
330330
params: agent_rpc_params.Params,
331331
id: Union[int, str, None] | Omit = omit,
332332
jsonrpc: Literal["2.0"] | Omit = omit,
@@ -374,7 +374,7 @@ def rpc_by_name(
374374
self,
375375
agent_name: str,
376376
*,
377-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
377+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
378378
params: agent_rpc_by_name_params.Params,
379379
id: Union[int, str, None] | Omit = omit,
380380
jsonrpc: Literal["2.0"] | Omit = omit,
@@ -987,7 +987,7 @@ async def rpc(
987987
self,
988988
agent_id: str,
989989
*,
990-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
990+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
991991
params: agent_rpc_params.Params,
992992
id: Union[int, str, None] | Omit = omit,
993993
jsonrpc: Literal["2.0"] | Omit = omit,
@@ -1035,7 +1035,7 @@ async def rpc_by_name(
10351035
self,
10361036
agent_name: str,
10371037
*,
1038-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
1038+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
10391039
params: agent_rpc_by_name_params.Params,
10401040
id: Union[int, str, None] | Omit = omit,
10411041
jsonrpc: Literal["2.0"] | Omit = omit,

src/agentex/resources/agents/deployments.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ def preview_rpc(
242242
deployment_id: str,
243243
*,
244244
agent_id: str,
245-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
245+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
246246
params: deployment_preview_rpc_params.Params,
247247
id: Union[int, str, None] | Omit = omit,
248248
jsonrpc: Literal["2.0"] | Omit = omit,
@@ -542,7 +542,7 @@ async def preview_rpc(
542542
deployment_id: str,
543543
*,
544544
agent_id: str,
545-
method: Literal["event/send", "task/create", "message/send", "task/cancel"],
545+
method: Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"],
546546
params: deployment_preview_rpc_params.Params,
547547
id: Union[int, str, None] | Omit = omit,
548548
jsonrpc: Literal["2.0"] | Omit = omit,

src/agentex/resources/tasks.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,9 @@ def list(
109109
order_direction: str | Omit = omit,
110110
page_number: int | Omit = omit,
111111
relationships: List[Literal["agents"]] | Omit = omit,
112-
status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]]
112+
status: Optional[
113+
Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "INTERRUPTED", "TERMINATED", "TIMED_OUT", "DELETED"]
114+
]
113115
| Omit = omit,
114116
task_metadata: Optional[str] | Omit = omit,
115117
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -705,7 +707,9 @@ async def list(
705707
order_direction: str | Omit = omit,
706708
page_number: int | Omit = omit,
707709
relationships: List[Literal["agents"]] | Omit = omit,
708-
status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]]
710+
status: Optional[
711+
Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "INTERRUPTED", "TERMINATED", "TIMED_OUT", "DELETED"]
712+
]
709713
| Omit = omit,
710714
task_metadata: Optional[str] | Omit = omit,
711715
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.

src/agentex/types/agent_rpc_by_name_params.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
"Params",
1313
"ParamsCreateTaskRequest",
1414
"ParamsCancelTaskRequest",
15+
"ParamsInterruptTaskRequest",
1516
"ParamsSendMessageRequest",
1617
"ParamsSendEventRequest",
1718
]
1819

1920

2021
class AgentRpcByNameParams(TypedDict, total=False):
21-
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel"]]
22+
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"]]
2223

2324
params: Required[Params]
2425
"""The parameters for the agent RPC request"""
@@ -61,6 +62,14 @@ class ParamsCancelTaskRequest(TypedDict, total=False):
6162
"""The name of the task to cancel. Either this or task_id must be provided."""
6263

6364

65+
class ParamsInterruptTaskRequest(TypedDict, total=False):
66+
task_id: Optional[str]
67+
"""The ID of the task to interrupt. Either this or task_name must be provided."""
68+
69+
task_name: Optional[str]
70+
"""The name of the task to interrupt. Either this or task_id must be provided."""
71+
72+
6473
class ParamsSendMessageRequest(TypedDict, total=False):
6574
content: Required[TaskMessageContentParam]
6675
"""The message that was sent to the agent"""
@@ -90,5 +99,9 @@ class ParamsSendEventRequest(TypedDict, total=False):
9099

91100

92101
Params: TypeAlias = Union[
93-
ParamsCreateTaskRequest, ParamsCancelTaskRequest, ParamsSendMessageRequest, ParamsSendEventRequest
102+
ParamsCreateTaskRequest,
103+
ParamsCancelTaskRequest,
104+
ParamsInterruptTaskRequest,
105+
ParamsSendMessageRequest,
106+
ParamsSendEventRequest,
94107
]

src/agentex/types/agent_rpc_params.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
"Params",
1313
"ParamsCreateTaskRequest",
1414
"ParamsCancelTaskRequest",
15+
"ParamsInterruptTaskRequest",
1516
"ParamsSendMessageRequest",
1617
"ParamsSendEventRequest",
1718
]
1819

1920

2021
class AgentRpcParams(TypedDict, total=False):
21-
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel"]]
22+
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"]]
2223

2324
params: Required[Params]
2425
"""The parameters for the agent RPC request"""
@@ -61,6 +62,14 @@ class ParamsCancelTaskRequest(TypedDict, total=False):
6162
"""The name of the task to cancel. Either this or task_id must be provided."""
6263

6364

65+
class ParamsInterruptTaskRequest(TypedDict, total=False):
66+
task_id: Optional[str]
67+
"""The ID of the task to interrupt. Either this or task_name must be provided."""
68+
69+
task_name: Optional[str]
70+
"""The name of the task to interrupt. Either this or task_id must be provided."""
71+
72+
6473
class ParamsSendMessageRequest(TypedDict, total=False):
6574
content: Required[TaskMessageContentParam]
6675
"""The message that was sent to the agent"""
@@ -90,5 +99,9 @@ class ParamsSendEventRequest(TypedDict, total=False):
9099

91100

92101
Params: TypeAlias = Union[
93-
ParamsCreateTaskRequest, ParamsCancelTaskRequest, ParamsSendMessageRequest, ParamsSendEventRequest
102+
ParamsCreateTaskRequest,
103+
ParamsCancelTaskRequest,
104+
ParamsInterruptTaskRequest,
105+
ParamsSendMessageRequest,
106+
ParamsSendEventRequest,
94107
]

src/agentex/types/agents/deployment_preview_rpc_params.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"Params",
1313
"ParamsCreateTaskRequest",
1414
"ParamsCancelTaskRequest",
15+
"ParamsInterruptTaskRequest",
1516
"ParamsSendMessageRequest",
1617
"ParamsSendEventRequest",
1718
]
@@ -20,7 +21,7 @@
2021
class DeploymentPreviewRpcParams(TypedDict, total=False):
2122
agent_id: Required[str]
2223

23-
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel"]]
24+
method: Required[Literal["event/send", "task/create", "message/send", "task/cancel", "task/interrupt"]]
2425

2526
params: Required[Params]
2627
"""The parameters for the agent RPC request"""
@@ -63,6 +64,14 @@ class ParamsCancelTaskRequest(TypedDict, total=False):
6364
"""The name of the task to cancel. Either this or task_id must be provided."""
6465

6566

67+
class ParamsInterruptTaskRequest(TypedDict, total=False):
68+
task_id: Optional[str]
69+
"""The ID of the task to interrupt. Either this or task_name must be provided."""
70+
71+
task_name: Optional[str]
72+
"""The name of the task to interrupt. Either this or task_id must be provided."""
73+
74+
6675
class ParamsSendMessageRequest(TypedDict, total=False):
6776
content: Required[TaskMessageContentParam]
6877
"""The message that was sent to the agent"""
@@ -92,5 +101,9 @@ class ParamsSendEventRequest(TypedDict, total=False):
92101

93102

94103
Params: TypeAlias = Union[
95-
ParamsCreateTaskRequest, ParamsCancelTaskRequest, ParamsSendMessageRequest, ParamsSendEventRequest
104+
ParamsCreateTaskRequest,
105+
ParamsCancelTaskRequest,
106+
ParamsInterruptTaskRequest,
107+
ParamsSendMessageRequest,
108+
ParamsSendEventRequest,
96109
]

src/agentex/types/task.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ class Task(BaseModel):
2020

2121
params: Optional[Dict[str, object]] = None
2222

23-
status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]] = None
23+
status: Optional[
24+
Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "INTERRUPTED", "TERMINATED", "TIMED_OUT", "DELETED"]
25+
] = None
2426

2527
status_reason: Optional[str] = None
2628

src/agentex/types/task_list_params.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ class TaskListParams(TypedDict, total=False):
2323

2424
relationships: List[Literal["agents"]]
2525

26-
status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]]
26+
status: Optional[
27+
Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "INTERRUPTED", "TERMINATED", "TIMED_OUT", "DELETED"]
28+
]
2729
"""Filter tasks by status (e.g. RUNNING, COMPLETED)."""
2830

2931
task_metadata: Optional[str]

src/agentex/types/task_list_response.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ class TaskListResponseItem(BaseModel):
2525

2626
params: Optional[Dict[str, object]] = None
2727

28-
status: Optional[Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "TERMINATED", "TIMED_OUT", "DELETED"]] = None
28+
status: Optional[
29+
Literal["CANCELED", "COMPLETED", "FAILED", "RUNNING", "INTERRUPTED", "TERMINATED", "TIMED_OUT", "DELETED"]
30+
] = None
2931

3032
status_reason: Optional[str] = None
3133

0 commit comments

Comments
 (0)