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.
28 29 30 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 28 def initialize(main_session:, **) @main_session = main_session end |
Class Method Details
.description ⇒ Object
11 12 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 11 def self.description = "Activate a domain knowledge skill on the main session. " \ "The skill's content will be injected into the agent's system prompt." |
.input_schema ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 14 def self.input_schema { type: "object", properties: { name: { type: "string", description: "Name of the skill to activate (from the available skills list)" } }, required: %w[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
35 36 37 38 39 40 41 42 43 |
# File 'lib/analytical_brain/tools/activate_skill.rb', line 35 def execute(input) skill_name = input["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 |