a2a.compat.v0_3.rest_transport module¶
- class a2a.compat.v0_3.rest_transport.CompatRestTransport(httpx_client: AsyncClient, agent_card: AgentCard | None, url: str, subscribe_method_override: str | None = None)¶
Bases:
ClientTransportA backward compatible REST transport for A2A v0.3.
- async cancel_task(request: CancelTaskRequest, *, context: ClientCallContext | None = None) Task¶
Requests the agent to cancel a specific task.
- async close() None¶
Closes the httpx client.
- async create_task_push_notification_config(request: TaskPushNotificationConfig, *, context: ClientCallContext | None = None) TaskPushNotificationConfig¶
Sets or updates the push notification configuration for a specific task.
- async delete_task_push_notification_config(request: DeleteTaskPushNotificationConfigRequest, *, context: ClientCallContext | None = None) None¶
Deletes the push notification configuration for a specific task.
- async get_extended_agent_card(request: GetExtendedAgentCardRequest, *, context: ClientCallContext | None = None) AgentCard¶
Retrieves the Extended AgentCard.
- async get_task(request: GetTaskRequest, *, context: ClientCallContext | None = None) Task¶
Retrieves the current state and history of a specific task.
- async get_task_push_notification_config(request: GetTaskPushNotificationConfigRequest, *, context: ClientCallContext | None = None) TaskPushNotificationConfig¶
Retrieves the push notification configuration for a specific task.
- async list_task_push_notification_configs(request: ListTaskPushNotificationConfigsRequest, *, context: ClientCallContext | None = None) ListTaskPushNotificationConfigsResponse¶
Lists push notification configurations for a specific task.
- async list_tasks(request: ListTasksRequest, *, context: ClientCallContext | None = None) ListTasksResponse¶
Retrieves tasks for an agent.
- async send_message(request: SendMessageRequest, *, context: ClientCallContext | None = None) SendMessageResponse¶
Sends a non-streaming message request to the agent.
- send_message_streaming(request: SendMessageRequest, *, context: ClientCallContext | None = None) AsyncGenerator[StreamResponse]¶
Sends a streaming message request to the agent and yields responses as they arrive.
- subscribe(request: SubscribeToTaskRequest, *, context: ClientCallContext | None = None) AsyncGenerator[StreamResponse]¶
Reconnects to get task updates.
This method implements backward compatibility logic for the subscribe endpoint. It first attempts to use POST, which is the official method for A2A subscribe endpoint. If the server returns 405 Method Not Allowed, it falls back to GET and remembers this preference for future calls on this transport instance. If both fail with 405, it will default back to POST for next calls but will not retry again.