Class: RosettAi::AiConfig::ConfigCompiler
- Inherits:
-
Object
- Object
- RosettAi::AiConfig::ConfigCompiler
- Defined in:
- lib/rosett_ai/ai_config/config_compiler.rb
Overview
Compiles generic AI configuration to engine-native settings.
Takes the canonical .rosett-ai/conf/ai_config.yml and transforms it
into engine-specific configuration keys. Unsupported settings
produce warnings (or errors in strict mode).
When an engine manifest declares capabilities.config: false,
a warning is emitted (error in strict mode). Fallback chains
from config are compiled with local-to-remote transition warnings.
Instance Method Summary collapse
-
#compile(config, engine:) ⇒ Hash
Compiles AI config for a specific engine.
-
#initialize(model_router: ModelRouter.new, strict: false) ⇒ ConfigCompiler
constructor
A new instance of ConfigCompiler.
Constructor Details
#initialize(model_router: ModelRouter.new, strict: false) ⇒ ConfigCompiler
Returns a new instance of ConfigCompiler.
23 24 25 26 |
# File 'lib/rosett_ai/ai_config/config_compiler.rb', line 23 def initialize(model_router: ModelRouter.new, strict: false) @model_router = model_router @strict = strict end |
Instance Method Details
#compile(config, engine:) ⇒ Hash
Compiles AI config for a specific engine.
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/rosett_ai/ai_config/config_compiler.rb', line 33 def compile(config, engine:) warnings = [] settings = {} check_engine_capability(engine, warnings) compile_model_routing(config, engine, settings, warnings) compile_context_window(config, engine, settings, warnings) compile_cost_controls(config, settings) compile_fallback_chain(config, settings, warnings) { settings: settings, warnings: warnings } end |