Class: AnalyticalBrain::Tools::ActivateSkill
- Inherits:
-
Tools::Base
- Object
- Tools::Base
- AnalyticalBrain::Tools::ActivateSkill
- Defined in:
- lib/analytical_brain/tools/activate_skill.rb
Overview
Activates a domain knowledge skill on the main session. The skill’s content is injected into the main agent’s system prompt, making the knowledge available for the current and future responses.
Class Method Summary collapse
Instance Method Summary collapse
- #execute(input) ⇒ String, Hash
-
#initialize(main_session:) ⇒ ActivateSkill
constructor
A new instance of ActivateSkill.
Methods inherited from Tools::Base
Constructor Details
#initialize(main_session:) ⇒ ActivateSkill
Returns a new instance of ActivateSkill.
24 25 26 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 24 def initialize(main_session:, **) @main_session = main_session end |
Class Method Details
.description ⇒ Object
11 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 11 def self.description = "Give the agent domain knowledge relevant to the current conversation." |
.input_schema ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 13 def self.input_schema { type: "object", properties: { skill_name: {type: "string"} }, required: %w[skill_name] } end |
.tool_name ⇒ Object
9 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 9 def self.tool_name = "activate_skill" |
Instance Method Details
#execute(input) ⇒ String, Hash
31 32 33 34 35 36 37 38 39 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 31 def execute(input) skill_name = input["skill_name"].to_s.strip return {error: "Skill name cannot be blank"} if skill_name.empty? skill = @main_session.activate_skill(skill_name) format_confirmation(skill) rescue Skills::InvalidDefinitionError => error {error: error.} end |