Module: Legion::LLM::ProviderRegistry

Extended by:
Legion::Logging::Helper
Defined in:
lib/legion/llm/provider_registry.rb

Class Method Summary collapse

Class Method Details

.availableObject



25
26
27
# File 'lib/legion/llm/provider_registry.rb', line 25

def available
  @mutex.synchronize { @registry.keys.dup }
end

.for(name) ⇒ Object



21
22
23
# File 'lib/legion/llm/provider_registry.rb', line 21

def for(name)
  @mutex.synchronize { @registry[name.to_sym] }
end

.register(name, extension_module) ⇒ Object



15
16
17
18
19
# File 'lib/legion/llm/provider_registry.rb', line 15

def register(name, extension_module)
  @mutex.synchronize { @registry[name.to_sym] = extension_module }
  log.info("[llm][providers] native_registered provider=#{name}")
  extension_module
end

.registered?(name) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/legion/llm/provider_registry.rb', line 29

def registered?(name)
  @mutex.synchronize { @registry.key?(name.to_sym) }
end

.reset!Object



33
34
35
36
37
# File 'lib/legion/llm/provider_registry.rb', line 33

def reset!
  count = @mutex.synchronize { @registry.size }
  @mutex.synchronize { @registry.clear }
  log.info("[llm][providers] native_registry_reset count=#{count}")
end