Class: LLM::A2A::Tasks

Inherits:
Object
  • Object
show all
Defined in:
lib/llm/a2a/tasks.rb

Overview

Groups task-oriented A2A operations.

Instance Method Summary collapse

Constructor Details

#initialize(a2a) ⇒ Tasks

Returns a new instance of Tasks.

Parameters:



9
10
11
# File 'lib/llm/a2a/tasks.rb', line 9

def initialize(a2a)
  @a2a = a2a
end

Instance Method Details

#get(task_id, history_length: nil) ⇒ LLM::Object

Returns the current state of a task.

Parameters:

  • task_id (String)
  • history_length (Integer, nil) (defaults to: nil)

Returns:



18
19
20
# File 'lib/llm/a2a/tasks.rb', line 18

def get(task_id, history_length: nil)
  @a2a.get_task(task_id, history_length:)
end

#list(context_id: nil, status: nil, history_length: nil, status_timestamp_after: nil, include_artifacts: nil, page_size: 20, page_token: nil) ⇒ LLM::Object

Lists tasks with optional filtering.

Parameters:

  • context_id (String, nil) (defaults to: nil)
  • status (String, nil) (defaults to: nil)
  • history_length (Integer, nil) (defaults to: nil)
  • status_timestamp_after (String, nil) (defaults to: nil)
  • include_artifacts (Boolean, nil) (defaults to: nil)
  • page_size (Integer) (defaults to: 20)
  • page_token (String, nil) (defaults to: nil)

Returns:



32
33
34
35
36
# File 'lib/llm/a2a/tasks.rb', line 32

def list(context_id: nil, status: nil, history_length: nil, status_timestamp_after: nil,
         include_artifacts: nil, page_size: 20, page_token: nil)
  @a2a.list_tasks(context_id:, status:, history_length:, status_timestamp_after:,
                  include_artifacts:, page_size:, page_token:)
end

#cancel(task_id, metadata: nil) ⇒ LLM::Object

Cancels a task in progress.

Parameters:

  • task_id (String)

Returns:



42
43
44
# File 'lib/llm/a2a/tasks.rb', line 42

def cancel(task_id, metadata: nil)
  @a2a.cancel_task(task_id, metadata:)
end

#subscribe(task_id) {|event| ... } ⇒ void

This method returns an undefined value.

Subscribes to streaming updates for an existing task.

Parameters:

  • task_id (String)

Yield Parameters:



51
52
53
# File 'lib/llm/a2a/tasks.rb', line 51

def subscribe(task_id, &on_event)
  @a2a.subscribe_to_task(task_id, &on_event)
end