Module: A2A::Client::ApiMethods
- Included in:
- HttpClient
- Defined in:
- lib/a2a/client/api_methods.rb
Overview
API methods for A2A HTTP client
Instance Method Summary collapse
-
#cancel_task(task_id, context: nil) ⇒ Task
Cancel a task.
-
#delete_task_callback(task_id, push_notification_config_id, context: nil) ⇒ Boolean
Delete a task callback (deprecated - use delete_task_push_notification_config).
-
#delete_task_push_notification_config(task_id, config_id, context: nil) ⇒ Boolean
Delete a push notification config for a task.
-
#get_card(context: nil, authenticated: false) ⇒ AgentCard
Get the agent card.
-
#get_task(task_id, context: nil, history_length: nil) ⇒ Task
Get a task by ID.
-
#get_task_callback(task_id, push_notification_config_id, context: nil) ⇒ Hash
Get a task callback (deprecated - use get_task_push_notification_config).
-
#get_task_push_notification_config(task_id, config_id, context: nil) ⇒ Hash
Get a push notification config for a task.
-
#list_task_callbacks(task_id, context: nil) ⇒ Array
List task callbacks (deprecated - use list_task_push_notification_configs).
-
#list_task_push_notification_configs(task_id, context: nil) ⇒ Array
List push notification configs for a task.
-
#resubscribe(task_id, context: nil) ⇒ Task
Resubscribe to a task.
-
#send_message(message, context: nil) ⇒ Enumerator, Message
Send a message to the agent.
-
#set_task_callback(task_id, push_notification_config, context: nil) ⇒ Hash
Set a task callback (deprecated - use set_task_push_notification_config).
-
#set_task_push_notification_config(task_id, config, context: nil) ⇒ Hash
Set a push notification config for a task.
Instance Method Details
#cancel_task(task_id, context: nil) ⇒ Task
Cancel a task
50 51 52 53 54 55 56 57 |
# File 'lib/a2a/client/api_methods.rb', line 50 def cancel_task(task_id, context: nil) request = build_json_rpc_request("tasks/cancel", { id: task_id }) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end ensure_task(response["result"]) end |
#delete_task_callback(task_id, push_notification_config_id, context: nil) ⇒ Boolean
Delete a task callback (deprecated - use delete_task_push_notification_config)
168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/a2a/client/api_methods.rb', line 168 def delete_task_callback(task_id, push_notification_config_id, context: nil) params = { taskId: task_id, pushNotificationConfigId: push_notification_config_id } request = build_json_rpc_request("tasks/pushNotificationConfig/delete", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#delete_task_push_notification_config(task_id, config_id, context: nil) ⇒ Boolean
Delete a push notification config for a task
248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/a2a/client/api_methods.rb', line 248 def delete_task_push_notification_config(task_id, config_id, context: nil) params = { taskId: task_id, pushNotificationConfigId: config_id } request = build_json_rpc_request("tasks/pushNotificationConfig/delete", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#get_card(context: nil, authenticated: false) ⇒ AgentCard
Get the agent card
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/a2a/client/api_methods.rb', line 65 def get_card(context: nil, authenticated: false) if authenticated request = build_json_rpc_request("agent/getAuthenticatedExtendedCard", {}) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end ensure_agent_card(response["result"]) else # Use HTTP GET for basic agent card response = execute_with_middleware({}, context || {}) do |_req, _ctx| @connection.get("/agent-card") do |request| request.headers.merge!(@config.all_headers) end end raise A2A::Errors::HTTPError, "HTTP #{response.status}: #{response.body}" unless response.success? ensure_agent_card(JSON.parse(response.body)) end end |
#get_task(task_id, context: nil, history_length: nil) ⇒ Task
Get a task by ID
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/a2a/client/api_methods.rb', line 32 def get_task(task_id, context: nil, history_length: nil) params = { id: task_id } params[:historyLength] = history_length if history_length request = build_json_rpc_request("tasks/get", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end ensure_task(response["result"]) end |
#get_task_callback(task_id, push_notification_config_id, context: nil) ⇒ Hash
Get a task callback (deprecated - use get_task_push_notification_config)
130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/a2a/client/api_methods.rb', line 130 def get_task_callback(task_id, push_notification_config_id, context: nil) params = { taskId: task_id, pushNotificationConfigId: push_notification_config_id } request = build_json_rpc_request("tasks/pushNotificationConfig/get", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#get_task_push_notification_config(task_id, config_id, context: nil) ⇒ Hash
Get a push notification config for a task
210 211 212 213 214 215 216 217 218 219 220 221 222 |
# File 'lib/a2a/client/api_methods.rb', line 210 def get_task_push_notification_config(task_id, config_id, context: nil) params = { taskId: task_id, pushNotificationConfigId: config_id } request = build_json_rpc_request("tasks/pushNotificationConfig/get", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#list_task_callbacks(task_id, context: nil) ⇒ Array
List task callbacks (deprecated - use list_task_push_notification_configs)
150 151 152 153 154 155 156 157 158 159 |
# File 'lib/a2a/client/api_methods.rb', line 150 def list_task_callbacks(task_id, context: nil) params = { taskId: task_id } request = build_json_rpc_request("tasks/pushNotificationConfig/list", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#list_task_push_notification_configs(task_id, context: nil) ⇒ Array
List push notification configs for a task
230 231 232 233 234 235 236 237 238 239 |
# File 'lib/a2a/client/api_methods.rb', line 230 def list_task_push_notification_configs(task_id, context: nil) params = { taskId: task_id } request = build_json_rpc_request("tasks/pushNotificationConfig/list", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#resubscribe(task_id, context: nil) ⇒ Task
Resubscribe to a task
93 94 95 96 97 98 99 100 |
# File 'lib/a2a/client/api_methods.rb', line 93 def resubscribe(task_id, context: nil) request = build_json_rpc_request("tasks/resubscribe", { id: task_id }) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end ensure_task(response["result"]) end |
#send_message(message, context: nil) ⇒ Enumerator, Message
Send a message to the agent
15 16 17 18 19 20 21 22 23 |
# File 'lib/a2a/client/api_methods.rb', line 15 def (, context: nil) = () if @config.streaming? (, context) else (, context) end end |
#set_task_callback(task_id, push_notification_config, context: nil) ⇒ Hash
Set a task callback (deprecated - use set_task_push_notification_config)
109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/a2a/client/api_methods.rb', line 109 def set_task_callback(task_id, push_notification_config, context: nil) params = { taskId: task_id, pushNotificationConfig: push_notification_config } request = build_json_rpc_request("tasks/pushNotificationConfig/set", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |
#set_task_push_notification_config(task_id, config, context: nil) ⇒ Hash
Set a push notification config for a task
189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/a2a/client/api_methods.rb', line 189 def set_task_push_notification_config(task_id, config, context: nil) params = { taskId: task_id, pushNotificationConfig: config } request = build_json_rpc_request("tasks/pushNotificationConfig/set", params) response = execute_with_middleware(request, context || {}) do |req, _ctx| send_json_rpc_request(req) end response["result"] end |