Class: Ace::LLM::Molecules::LlmAliasResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/llm/molecules/llm_alias_resolver.rb

Overview

LlmAliasResolver resolves LLM aliases to their actual model names Now delegates to ClientRegistry which manages aliases from provider configs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(registry: nil) ⇒ LlmAliasResolver

Initialize alias resolver with optional registry

Parameters:

  • registry (ClientRegistry, nil) (defaults to: nil)

    Optional registry to use



15
16
17
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 15

def initialize(registry: nil)
  @registry = registry || ClientRegistry.new
end

Instance Attribute Details

#registryObject (readonly)

Returns the value of attribute registry.



11
12
13
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 11

def registry
  @registry
end

Instance Method Details

#alias?(input) ⇒ Boolean

Check if a given input is an alias

Parameters:

  • input (String)

    The input to check

Returns:

  • (Boolean)

    True if the input is a recognized alias



29
30
31
32
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 29

def alias?(input)
  resolved = @registry.resolve_alias(input)
  resolved != input
end

#available_aliasesHash

Get all available aliases

Returns:

  • (Hash)

    Hash containing global and model aliases



36
37
38
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 36

def available_aliases
  @registry.available_aliases
end

#provider_aliases(provider) ⇒ Hash

Get aliases for a specific provider

Parameters:

  • provider (String)

    Provider name

Returns:

  • (Hash)

    Provider-specific model aliases



43
44
45
46
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 43

def provider_aliases(provider)
  normalized = provider.to_s.strip.downcase.gsub(/[-_]/, "")
  @registry.available_aliases[:model][normalized] || {}
end

#resolve(input) ⇒ String

Resolve an alias or model name to its actual provider:model format

Parameters:

  • input (String)

    The input model name or alias

Returns:

  • (String)

    The resolved provider:model format



22
23
24
# File 'lib/ace/llm/molecules/llm_alias_resolver.rb', line 22

def resolve(input)
  @registry.resolve_alias(input)
end