Skip to content
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions specification/grpc/a2a.proto
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,28 @@ service A2AService {
}
};
}
// Pause a task.
rpc PauseTask(PauseTaskRequest) returns (Task) {
option (google.api.http) = {
post: "/{name=tasks/*}:pause"
body: "*"
additional_bindings: {
post: "/{tenant}/{name=tasks/*}:pause"
body: "*"
}
};
}
// Resume a task.
rpc ResumeTask(ResumeTaskRequest) returns (Task) {
option (google.api.http) = {
post: "/{name=tasks/*}:resume"
body: "*"
additional_bindings: {
post: "/{tenant}/{name=tasks/*}:resume"
body: "*"
}
};
}
// Cancel a task.
rpc CancelTask(CancelTaskRequest) returns (Task) {
option (google.api.http) = {
Expand Down Expand Up @@ -202,6 +224,8 @@ enum TaskState {
// client. Authentication is expected to come out-of-band thus this is not
// an interrupted or terminal state.
TASK_STATE_AUTH_REQUIRED = 8;
// Represents the status a task was paused and could be resumed.
TASK_STATE_PAUSED = 8;
}
// --8<-- [end:TaskState]

Expand Down Expand Up @@ -483,6 +507,8 @@ message AgentCapabilities {
repeated AgentExtension extensions = 3;
// Indicates if the agent provides a history of state transitions for a task.
optional bool state_transition_history = 4;
// Indicates if the agent supports pause and resume of tasks.
optional bool pause_resume = 5;
}
// --8<-- [end:AgentCapabilities]

Expand Down Expand Up @@ -775,6 +801,28 @@ message ListTasksResponse {
}
// --8<-- [end:ListTasksResponse]

// --8<-- [start:PauseTaskRequest]
// Represents a request for the `tasks/cancel` method.
message PauseTaskRequest {
// Optional tenant, provided as a path parameter.
string tenant = 2;
// The resource name of the task to cancel.
// Format: tasks/{task_id}
string name = 1;
}
// --8<-- [end:PauseTaskRequest]

// --8<-- [start:ResumeTaskRequest]
// Represents a request for the `tasks/cancel` method.
message ResumeTaskRequest {
// Optional tenant, provided as a path parameter.
string tenant = 2;
// The resource name of the task to cancel.
// Format: tasks/{task_id}
string name = 1;
}
// --8<-- [end:ResumeTaskRequest]

// --8<-- [start:CancelTaskRequest]
// Represents a request for the `tasks/cancel` method.
message CancelTaskRequest {
Expand Down
Loading