Class: AgentHarness::Extensions::Adapters::SkillExtension
- Includes:
- DeepDupable
- Defined in:
- lib/agent_harness/extensions.rb
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#source_path ⇒ Object
readonly
Returns the value of attribute source_path.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
-
#initialize(name:, source_path:, description: nil, version: nil, tools: [], system_prompt_additions: [], mcp_servers: [], required_provider_capabilities: []) ⇒ SkillExtension
constructor
A new instance of SkillExtension.
- #mcp_servers ⇒ Object
- #required_provider_capabilities ⇒ Object
- #system_prompt_additions ⇒ Object
- #tools ⇒ Object
Methods inherited from Base
#on_message_after, #on_message_before, #on_tools_available, #unsupported_features
Constructor Details
#initialize(name:, source_path:, description: nil, version: nil, tools: [], system_prompt_additions: [], mcp_servers: [], required_provider_capabilities: []) ⇒ SkillExtension
Returns a new instance of SkillExtension.
545 546 547 548 549 550 551 552 553 554 555 |
# File 'lib/agent_harness/extensions.rb', line 545 def initialize(name:, source_path:, description: nil, version: nil, tools: [], system_prompt_additions: [], mcp_servers: [], required_provider_capabilities: []) @name = name.to_s.strip.gsub(/[^a-zA-Z0-9]+/, "_").gsub(/\A_+|_+\z/, "").downcase.to_sym @description = description @version = version @tools = tools.freeze @system_prompt_additions = system_prompt_additions.freeze @mcp_servers = mcp_servers.freeze @required_provider_capabilities = required_provider_capabilities.freeze @source_path = source_path end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
543 544 545 |
# File 'lib/agent_harness/extensions.rb', line 543 def description @description end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
543 544 545 |
# File 'lib/agent_harness/extensions.rb', line 543 def name @name end |
#source_path ⇒ Object (readonly)
Returns the value of attribute source_path.
543 544 545 |
# File 'lib/agent_harness/extensions.rb', line 543 def source_path @source_path end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
543 544 545 |
# File 'lib/agent_harness/extensions.rb', line 543 def version @version end |
Instance Method Details
#mcp_servers ⇒ Object
561 562 563 |
# File 'lib/agent_harness/extensions.rb', line 561 def mcp_servers @mcp_servers.map { |server| deep_dup(server) } end |
#required_provider_capabilities ⇒ Object
569 570 571 572 573 574 |
# File 'lib/agent_harness/extensions.rb', line 569 def required_provider_capabilities inferred = [] inferred << :tool_use if @tools.any? inferred << :mcp if @mcp_servers.any? (@required_provider_capabilities + inferred).uniq end |
#system_prompt_additions ⇒ Object
565 566 567 |
# File 'lib/agent_harness/extensions.rb', line 565 def system_prompt_additions @system_prompt_additions.dup end |
#tools ⇒ Object
557 558 559 |
# File 'lib/agent_harness/extensions.rb', line 557 def tools @tools.map(&:dup) end |