Class: A2A::Models::Task
- Inherits:
-
Base
- Object
- Base
- A2A::Models::Task
show all
- Defined in:
- lib/simple_a2a/models/task.rb
Instance Method Summary
collapse
Methods inherited from Base
#==, attribute, attributes, from_hash, inherited, #to_h, #to_json, #valid?
Constructor Details
#initialize(**kwargs) ⇒ Task
Returns a new instance of Task.
13
14
15
16
17
|
# File 'lib/simple_a2a/models/task.rb', line 13
def initialize(**kwargs)
kwargs[:id] ||= SecureRandom.uuid
kwargs[:context_id] ||= SecureRandom.uuid
super
end
|
Instance Method Details
#cancel! ⇒ Object
36
37
38
|
# File 'lib/simple_a2a/models/task.rb', line 36
def cancel!
transition!(Types::TaskState::CANCELED)
end
|
#complete!(artifacts: []) ⇒ Object
27
28
29
30
|
# File 'lib/simple_a2a/models/task.rb', line 27
def complete!(artifacts: [])
self.artifacts = artifacts unless artifacts.empty?
transition!(Types::TaskState::COMPLETED)
end
|
#fail!(message: nil) ⇒ Object
32
33
34
|
# File 'lib/simple_a2a/models/task.rb', line 32
def fail!(message: nil)
transition!(Types::TaskState::FAILED, message: message)
end
|
#interrupted? ⇒ Boolean
21
|
# File 'lib/simple_a2a/models/task.rb', line 21
def interrupted? = status&.interrupted? || false
|
#reject!(message: nil) ⇒ Object
40
41
42
|
# File 'lib/simple_a2a/models/task.rb', line 40
def reject!(message: nil)
transition!(Types::TaskState::REJECTED, message: message)
end
|
#require_auth!(message: nil) ⇒ Object
48
49
50
|
# File 'lib/simple_a2a/models/task.rb', line 48
def require_auth!(message: nil)
transition!(Types::TaskState::AUTH_REQUIRED, message: message)
end
|
44
45
46
|
# File 'lib/simple_a2a/models/task.rb', line 44
def require_input!(message: nil)
transition!(Types::TaskState::INPUT_REQUIRED, message: message)
end
|
#start! ⇒ Object
23
24
25
|
# File 'lib/simple_a2a/models/task.rb', line 23
def start!
transition!(Types::TaskState::WORKING)
end
|
#state ⇒ Object
19
|
# File 'lib/simple_a2a/models/task.rb', line 19
def state = status&.state
|
#terminal? ⇒ Boolean
20
|
# File 'lib/simple_a2a/models/task.rb', line 20
def terminal? = status&.terminal? || false
|
#transition!(new_state, message: nil) ⇒ Object
52
53
54
|
# File 'lib/simple_a2a/models/task.rb', line 52
def transition!(new_state, message: nil)
self.status = TaskStatus.new(state: new_state, message: message)
end
|