Module: LanguageOperator::CLI::Helpers::ResourceDependencyChecker
- Defined in:
- lib/language_operator/cli/helpers/resource_dependency_checker.rb
Overview
Helper module for checking which agents depend on specific resources (tools, models, personas). Used by CLI commands to warn before deletion.
Class Method Summary collapse
-
.agents_using_model(agents, model_name) ⇒ Array<Hash>
Find agents that use a specific language model.
-
.agents_using_persona(agents, persona_name) ⇒ Array<Hash>
Find agents that use a specific persona.
-
.agents_using_tool(agents, tool_name) ⇒ Array<Hash>
Find agents that use a specific tool.
-
.tool_usage_count(agents, tool_name) ⇒ Integer
Count how many agents use a specific tool.
Class Method Details
.agents_using_model(agents, model_name) ⇒ Array<Hash>
Find agents that use a specific language model
26 27 28 29 30 31 32 |
# File 'lib/language_operator/cli/helpers/resource_dependency_checker.rb', line 26 def self.agents_using_model(agents, model_name) agents.select do |agent| agent_model_refs = agent.dig('spec', 'modelRefs') || [] agent_models = agent_model_refs.map { |ref| ref['name'] } agent_models.include?(model_name) end end |
.agents_using_persona(agents, persona_name) ⇒ Array<Hash>
Find agents that use a specific persona
39 40 41 42 43 |
# File 'lib/language_operator/cli/helpers/resource_dependency_checker.rb', line 39 def self.agents_using_persona(agents, persona_name) agents.select do |agent| agent.dig('spec', 'persona') == persona_name end end |
.agents_using_tool(agents, tool_name) ⇒ Array<Hash>
Find agents that use a specific tool
14 15 16 17 18 19 |
# File 'lib/language_operator/cli/helpers/resource_dependency_checker.rb', line 14 def self.agents_using_tool(agents, tool_name) agents.select do |agent| agent_tools = agent.dig('spec', 'tools') || [] agent_tools.include?(tool_name) end end |
.tool_usage_count(agents, tool_name) ⇒ Integer
Count how many agents use a specific tool
50 51 52 |
# File 'lib/language_operator/cli/helpers/resource_dependency_checker.rb', line 50 def self.tool_usage_count(agents, tool_name) agents_using_tool(agents, tool_name).size end |