Class: A2A::Server::CapabilityBuilder
- Inherits:
-
Object
- Object
- A2A::Server::CapabilityBuilder
- Defined in:
- lib/a2a/server/agent.rb
Overview
Builder class for capability DSL
Instance Method Summary collapse
-
#async_supported(supported = true) ⇒ Object
Set async support.
-
#build ⇒ A2A::Protocol::Capability
Build the capability.
-
#description(desc) ⇒ Object
Set the capability description.
-
#example(example) ⇒ Object
Add an example.
-
#initialize(name) ⇒ CapabilityBuilder
constructor
A new instance of CapabilityBuilder.
-
#input_schema(schema) ⇒ Object
Set the input schema.
-
#metadata(meta) ⇒ Object
Set additional metadata.
-
#method(method_name) ⇒ Object
Set the method name for this capability.
-
#output_schema(schema) ⇒ Object
Set the output schema.
-
#security_requirements(requirements) ⇒ Object
Set security requirements.
-
#streaming_supported(supported = true) ⇒ Object
Set streaming support.
-
#tags(tag_list) ⇒ Object
Set capability tags.
Constructor Details
#initialize(name) ⇒ CapabilityBuilder
Returns a new instance of CapabilityBuilder.
355 356 357 358 |
# File 'lib/a2a/server/agent.rb', line 355 def initialize(name) @name = name @attributes = {} end |
Instance Method Details
#async_supported(supported = true) ⇒ Object
Set async support
428 429 430 |
# File 'lib/a2a/server/agent.rb', line 428 def async_supported(supported = true) @attributes[:async_supported] = supported end |
#build ⇒ A2A::Protocol::Capability
Build the capability
445 446 447 448 449 450 |
# File 'lib/a2a/server/agent.rb', line 445 def build A2A::Protocol::Capability.new( name: @name, **@attributes ) end |
#description(desc) ⇒ Object
Set the capability description
372 373 374 |
# File 'lib/a2a/server/agent.rb', line 372 def description(desc) @attributes[:description] = desc end |
#example(example) ⇒ Object
Add an example
436 437 438 439 |
# File 'lib/a2a/server/agent.rb', line 436 def example(example) @attributes[:examples] ||= [] @attributes[:examples] << example end |
#input_schema(schema) ⇒ Object
Set the input schema
380 381 382 |
# File 'lib/a2a/server/agent.rb', line 380 def input_schema(schema) @attributes[:input_schema] = schema end |
#metadata(meta) ⇒ Object
Set additional metadata
412 413 414 |
# File 'lib/a2a/server/agent.rb', line 412 def () @attributes[:metadata] = end |
#method(method_name) ⇒ Object
Set the method name for this capability
364 365 366 |
# File 'lib/a2a/server/agent.rb', line 364 def method(method_name) @attributes[:method] = method_name.to_s end |
#output_schema(schema) ⇒ Object
Set the output schema
388 389 390 |
# File 'lib/a2a/server/agent.rb', line 388 def output_schema(schema) @attributes[:output_schema] = schema end |
#security_requirements(requirements) ⇒ Object
Set security requirements
404 405 406 |
# File 'lib/a2a/server/agent.rb', line 404 def security_requirements(requirements) @attributes[:security_requirements] = requirements end |
#streaming_supported(supported = true) ⇒ Object
Set streaming support
420 421 422 |
# File 'lib/a2a/server/agent.rb', line 420 def streaming_supported(supported = true) @attributes[:streaming_supported] = supported end |
#tags(tag_list) ⇒ Object
Set capability tags
396 397 398 |
# File 'lib/a2a/server/agent.rb', line 396 def (tag_list) @attributes[:tags] = tag_list end |