Returns the pushNotificationConfigs Resource.
cancel(name, body=None, x__xgafv=None)
Cancel a task from the agent. If supported one should expect no more task updates for the task.
Close httplib2 connections.
get(name, historyLength=None, tenant=None, x__xgafv=None)
Get the current state of a task from the agent.
subscribe(name, tenant=None, x__xgafv=None)
TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.
cancel(name, body=None, x__xgafv=None)
Cancel a task from the agent. If supported one should expect no more task updates for the task.
Args:
name: string, The resource name of the task to cancel. Format: tasks/{task_id} (required)
body: object, The request body.
The object takes the form of:
{
"tenant": "A String", # Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.
"artifacts": [ # A set of output artifacts for a Task.
{ # Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.
"artifactId": "A String", # Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.
"description": "A String", # A human readable description of the artifact, optional.
"extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
"A String",
],
"metadata": { # Optional metadata included with the artifact.
"a_key": "", # Properties of the object.
},
"name": "A String", # A human readable name for the artifact.
"parts": [ # The content of the artifact.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
},
],
"contextId": "A String", # Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.
"history": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.
{ # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
],
"id": "A String", # Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
"a_key": "", # Properties of the object.
},
"status": { # A container for the status of a task # The current status of a Task, including state and a message.
"message": { # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. # A message associated with the status.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
"state": "A String", # The current state of this task
"timestamp": "A String", # Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
},
}
close()
Close httplib2 connections.
get(name, historyLength=None, tenant=None, x__xgafv=None)
Get the current state of a task from the agent.
Args:
name: string, Required. The resource name of the task. Format: tasks/{task_id} (required)
historyLength: integer, The number of most recent messages from the task's history to retrieve.
tenant: string, Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.
"artifacts": [ # A set of output artifacts for a Task.
{ # Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.
"artifactId": "A String", # Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.
"description": "A String", # A human readable description of the artifact, optional.
"extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
"A String",
],
"metadata": { # Optional metadata included with the artifact.
"a_key": "", # Properties of the object.
},
"name": "A String", # A human readable name for the artifact.
"parts": [ # The content of the artifact.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
},
],
"contextId": "A String", # Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.
"history": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.
{ # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
],
"id": "A String", # Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
"a_key": "", # Properties of the object.
},
"status": { # A container for the status of a task # The current status of a Task, including state and a message.
"message": { # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. # A message associated with the status.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
"state": "A String", # The current state of this task
"timestamp": "A String", # Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
},
}
subscribe(name, tenant=None, x__xgafv=None)
TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.
Args:
name: string, The resource name of the task to subscribe to. Format: tasks/{task_id} (required)
tenant: string, Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are
"artifactUpdate": { # TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.
"append": True or False, # Whether this should be appended to a prior one produced
"artifact": { # Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication. # The artifact itself
"artifactId": "A String", # Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.
"description": "A String", # A human readable description of the artifact, optional.
"extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
"A String",
],
"metadata": { # Optional metadata included with the artifact.
"a_key": "", # Properties of the object.
},
"name": "A String", # A human readable name for the artifact.
"parts": [ # The content of the artifact.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
},
"contextId": "A String", # The id of the context that this task belongs too
"lastChunk": True or False, # Whether this represents the last part of an artifact
"metadata": { # Optional metadata associated with the artifact update.
"a_key": "", # Properties of the object.
},
"taskId": "A String", # The id of the task for this artifact
},
"message": { # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
"statusUpdate": { # TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.
"contextId": "A String", # The id of the context that the task belongs to
"final": True or False, # Whether this is the last status update expected for this task.
"metadata": { # Optional metadata to associate with the task update.
"a_key": "", # Properties of the object.
},
"status": { # A container for the status of a task # The new status of the task.
"message": { # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. # A message associated with the status.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
"state": "A String", # The current state of this task
"timestamp": "A String", # Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
},
"taskId": "A String", # The id of the task that is changed
},
"task": { # Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.
"artifacts": [ # A set of output artifacts for a Task.
{ # Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.
"artifactId": "A String", # Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.
"description": "A String", # A human readable description of the artifact, optional.
"extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
"A String",
],
"metadata": { # Optional metadata included with the artifact.
"a_key": "", # Properties of the object.
},
"name": "A String", # A human readable name for the artifact.
"parts": [ # The content of the artifact.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
},
],
"contextId": "A String", # Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.
"history": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.
{ # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
],
"id": "A String", # Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
"a_key": "", # Properties of the object.
},
"status": { # A container for the status of a task # The current status of a Task, including state and a message.
"message": { # Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id. # A message associated with the status.
"content": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.
{ # Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
"data": { # DataPart represents a structured blob. This is most commonly a JSON payload.
"data": {
"a_key": "", # Properties of the object.
},
},
"file": { # FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.
"fileWithBytes": "A String",
"fileWithUri": "A String",
"mimeType": "A String",
"name": "A String",
},
"metadata": { # Optional metadata associated with this part.
"a_key": "", # Properties of the object.
},
"text": "A String",
},
],
"contextId": "A String", # The context id of the message. This is optional and if set, the message will be associated with the given context.
"extensions": [ # The URIs of extensions that are present or contributed to this Message.
"A String",
],
"messageId": "A String", # The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.
"metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.
"a_key": "", # Properties of the object.
},
"role": "A String", # A role for the message.
"taskId": "A String", # The task id of the message. This is optional and if set, the message will be associated with the given task.
},
"state": "A String", # The current state of this task
"timestamp": "A String", # Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
},
},
}