Module: Clacky::ClackyEnv
- Defined in:
- lib/clacky/agent_config.rb
Overview
Clacky environment variable layer Provides configuration from CLACKY_XXX environment variables
Constant Summary collapse
- ENV_API_KEY =
Environment variable names for default model
"CLACKY_API_KEY"- ENV_BASE_URL =
"CLACKY_BASE_URL"- ENV_MODEL =
"CLACKY_MODEL"- ENV_ANTHROPIC_FORMAT =
"CLACKY_ANTHROPIC_FORMAT"- ENV_LITE_API_KEY =
Environment variable names for lite model
"CLACKY_LITE_API_KEY"- ENV_LITE_BASE_URL =
"CLACKY_LITE_BASE_URL"- ENV_LITE_MODEL =
"CLACKY_LITE_MODEL"- ENV_LITE_ANTHROPIC_FORMAT =
"CLACKY_LITE_ANTHROPIC_FORMAT"- DEFAULT_MODEL =
Default model name (only for model, not base_url)
"claude-sonnet-4-5"
Class Method Summary collapse
-
.default_anthropic_format ⇒ Object
Get default model anthropic_format flag.
-
.default_api_key ⇒ Object
Get default model API key.
-
.default_base_url ⇒ Object
Get default model base URL (no default, must be explicitly set).
-
.default_configured? ⇒ Boolean
Check if default model is configured via environment variables.
-
.default_model ⇒ Object
Get default model name.
-
.default_model_config ⇒ Object
Get default model configuration as a hash.
-
.lite_anthropic_format ⇒ Object
Get lite model anthropic_format flag.
-
.lite_api_key ⇒ Object
Get lite model API key.
-
.lite_base_url ⇒ Object
Get lite model base URL (no default, must be explicitly set).
-
.lite_configured? ⇒ Boolean
Check if lite model is configured via environment variables.
-
.lite_model ⇒ Object
Get lite model name.
-
.lite_model_config ⇒ Object
Get lite model configuration as a hash.
Class Method Details
.default_anthropic_format ⇒ Object
Get default model anthropic_format flag
94 95 96 97 |
# File 'lib/clacky/agent_config.rb', line 94 def default_anthropic_format return true if ENV[ENV_ANTHROPIC_FORMAT].nil? || ENV[ENV_ANTHROPIC_FORMAT].empty? ENV[ENV_ANTHROPIC_FORMAT].downcase == "true" end |
.default_api_key ⇒ Object
Get default model API key
79 80 81 |
# File 'lib/clacky/agent_config.rb', line 79 def default_api_key ENV[ENV_API_KEY] if ENV[ENV_API_KEY] && !ENV[ENV_API_KEY].empty? end |
.default_base_url ⇒ Object
Get default model base URL (no default, must be explicitly set)
84 85 86 |
# File 'lib/clacky/agent_config.rb', line 84 def default_base_url ENV[ENV_BASE_URL] if ENV[ENV_BASE_URL] && !ENV[ENV_BASE_URL].empty? end |
.default_configured? ⇒ Boolean
Check if default model is configured via environment variables
69 70 71 |
# File 'lib/clacky/agent_config.rb', line 69 def default_configured? !default_api_key.nil? && !default_api_key.empty? end |
.default_model ⇒ Object
Get default model name
89 90 91 |
# File 'lib/clacky/agent_config.rb', line 89 def default_model ENV[ENV_MODEL] && !ENV[ENV_MODEL].empty? ? ENV[ENV_MODEL] : DEFAULT_MODEL end |
.default_model_config ⇒ Object
Get default model configuration as a hash
100 101 102 103 104 105 106 107 108 |
# File 'lib/clacky/agent_config.rb', line 100 def default_model_config { "type" => "default", "api_key" => default_api_key, "base_url" => default_base_url, "model" => default_model, "anthropic_format" => default_anthropic_format }.compact end |
.lite_anthropic_format ⇒ Object
Get lite model anthropic_format flag
126 127 128 129 |
# File 'lib/clacky/agent_config.rb', line 126 def lite_anthropic_format return true if ENV[ENV_LITE_ANTHROPIC_FORMAT].nil? || ENV[ENV_LITE_ANTHROPIC_FORMAT].empty? ENV[ENV_LITE_ANTHROPIC_FORMAT].downcase == "true" end |
.lite_api_key ⇒ Object
Get lite model API key
111 112 113 |
# File 'lib/clacky/agent_config.rb', line 111 def lite_api_key ENV[ENV_LITE_API_KEY] if ENV[ENV_LITE_API_KEY] && !ENV[ENV_LITE_API_KEY].empty? end |
.lite_base_url ⇒ Object
Get lite model base URL (no default, must be explicitly set)
116 117 118 |
# File 'lib/clacky/agent_config.rb', line 116 def lite_base_url ENV[ENV_LITE_BASE_URL] if ENV[ENV_LITE_BASE_URL] && !ENV[ENV_LITE_BASE_URL].empty? end |
.lite_configured? ⇒ Boolean
Check if lite model is configured via environment variables
74 75 76 |
# File 'lib/clacky/agent_config.rb', line 74 def lite_configured? !lite_api_key.nil? && !lite_api_key.empty? end |
.lite_model ⇒ Object
Get lite model name
121 122 123 |
# File 'lib/clacky/agent_config.rb', line 121 def lite_model ENV[ENV_LITE_MODEL] && !ENV[ENV_LITE_MODEL].empty? ? ENV[ENV_LITE_MODEL] : "claude-haiku-4" end |
.lite_model_config ⇒ Object
Get lite model configuration as a hash
132 133 134 135 136 137 138 139 140 |
# File 'lib/clacky/agent_config.rb', line 132 def lite_model_config { "type" => "lite", "api_key" => lite_api_key, "base_url" => lite_base_url, "model" => lite_model, "anthropic_format" => lite_anthropic_format }.compact end |