Module: Legion::CLI::Chat::ToolRegistry

Defined in:
lib/legion/cli/chat/tool_registry.rb

Constant Summary collapse

BUILTIN_TOOLS =
[
  Tools::ReadFile,
  Tools::WriteFile,
  Tools::EditFile,
  Tools::SearchFiles,
  Tools::SearchContent,
  Tools::RunCommand,
  Tools::SaveMemory,
  Tools::SearchMemory,
  Tools::WebSearch,
  Tools::SpawnAgent,
  Tools::SearchTraces,
  Tools::QueryKnowledge,
  Tools::IngestKnowledge,
  Tools::ConsolidateMemory,
  Tools::RelateKnowledge,
  Tools::KnowledgeMaintenance,
  Tools::KnowledgeStats,
  Tools::SummarizeTraces,
  Tools::ListExtensions,
  Tools::ManageTasks,
  Tools::SystemStatus,
  Tools::ViewEvents,
  Tools::CostSummary,
  Tools::Reflect,
  Tools::ManageSchedules,
  Tools::WorkerStatus,
  Tools::DetectAnomalies,
  Tools::ViewTrends,
  Tools::TriggerDream,
  Tools::GenerateInsights,
  Tools::BudgetStatus,
  Tools::ProviderHealth,
  Tools::ModelComparison,
  Tools::ShadowEvalStatus,
  Tools::EntityExtract,
  Tools::ArbitrageStatus,
  Tools::EscalationStatus,
  Tools::GraphExplore,
  Tools::SchedulingStatus,
  Tools::MemoryStatus
].freeze

Class Method Summary collapse

Class Method Details

.all_toolsObject



101
102
103
104
105
106
107
# File 'lib/legion/cli/chat/tool_registry.rb', line 101

def self.all_tools
  require 'legion/cli/chat/extension_tool_loader'
  builtin_tools + ExtensionToolLoader.discover
rescue LoadError => e
  Legion::Logging.debug("ToolRegistry#all_tools ExtensionToolLoader not available: #{e.message}") if defined?(Legion::Logging)
  builtin_tools
end

.builtin_toolsObject



97
98
99
# File 'lib/legion/cli/chat/tool_registry.rb', line 97

def self.builtin_tools
  BUILTIN_TOOLS.dup
end