Class: A2A::Client::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_a2a/client/base.rb

Direct Known Subclasses

SSE

Instance Method Summary collapse

Constructor Details

#initialize(url:, headers: {}) ⇒ Base

Returns a new instance of Base.



9
10
11
12
# File 'lib/simple_a2a/client/base.rb', line 9

def initialize(url:, headers: {})
  @url     = url
  @headers = headers
end

Instance Method Details

#agent_cardObject



14
15
16
17
# File 'lib/simple_a2a/client/base.rb', line 14

def agent_card
  body = http_get("agentCard")
  Models::AgentCard.from_hash(JSON.parse(body))
end

#cancel_task(task_id) ⇒ Object



34
35
36
37
# File 'lib/simple_a2a/client/base.rb', line 34

def cancel_task(task_id)
  result = rpc_call("tasks/cancel", { "id" => task_id })
  Models::Task.from_hash(result)
end

#get_task(task_id) ⇒ Object



24
25
26
27
# File 'lib/simple_a2a/client/base.rb', line 24

def get_task(task_id)
  result = rpc_call("tasks/get", { "id" => task_id })
  Models::Task.from_hash(result)
end

#list_tasksObject



29
30
31
32
# File 'lib/simple_a2a/client/base.rb', line 29

def list_tasks
  result = rpc_call("tasks/list", {})
  result.map { |t| Models::Task.from_hash(t) }
end

#send_task(message:, **opts) ⇒ Object



19
20
21
22
# File 'lib/simple_a2a/client/base.rb', line 19

def send_task(message:, **opts)
  result = rpc_call("tasks/send", build_send_params(message, opts))
  Models::Task.from_hash(result)
end