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

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