Class ConfigModelTierResolver

java.lang.Object
com.agentforge4j.llm.ConfigModelTierResolver
All Implemented Interfaces:
ModelTierResolver

public final class ConfigModelTierResolver extends Object implements ModelTierResolver
In-memory ModelTierResolver backed by a static provider→tier→model map. Used as the OSS default resolver: the shipped defaults from ShippedModelTierDefaults, optionally merged with operator-supplied overrides.

Resolution is a pure map lookup; a provider/tier combination with no entry returns null, leaving the decision to throw to the runtime.

  • Constructor Details

    • ConfigModelTierResolver

      public ConfigModelTierResolver(Map<String,Map<ModelTier,String>> mappings)
      Creates a resolver over the given provider→tier→model map. The map is deep-copied with provider keys normalized to lowercase; null model values are dropped.
      Parameters:
      mappings - provider name to (tier to model) mappings; must not be null
  • Method Details

    • withShippedDefaults

      public static ConfigModelTierResolver withShippedDefaults()
      Creates a resolver over the shipped OSS defaults only.
      Returns:
      resolver backed by ShippedModelTierDefaults; never null
    • withShippedDefaultsAndOverrides

      public static ConfigModelTierResolver withShippedDefaultsAndOverrides(Map<String,Map<ModelTier,String>> overrides)
      Creates a resolver over the shipped OSS defaults with operator overrides merged on top (override entries win per provider/tier). A null or empty overrides map yields the shipped defaults unchanged.
      Parameters:
      overrides - operator-supplied provider→tier→model overrides; may be null
      Returns:
      resolver backed by the merged map; never null
    • resolve

      public String resolve(String provider, ModelTier tier)
      Description copied from interface: ModelTierResolver
      Resolves the concrete model string for the given provider and tier.
      Specified by:
      resolve in interface ModelTierResolver
      Parameters:
      provider - the provider name (e.g. "claude"); must not be null
      tier - the requested capability tier; must not be null
      Returns:
      the concrete model string, or null when no mapping exists for this provider/tier combination