Class: ActiveHarness::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/active_harness/core/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/active_harness/core/configuration.rb', line 17

def initialize
  @openai_api_key      = ENV["OPENAI_API_KEY"]
  @openrouter_api_key  = ENV["OPENROUTER_API_KEY"]
  @anthropic_api_key   = ENV["ANTHROPIC_API_KEY"]
  @google_api_key      = ENV["GOOGLE_API_KEY"]

  @default_timeout     = 20
  @default_temperature = 0.2
  @default_language    = :en
  @guard_retries       = 2   # up to 3 total attempts (1 initial + 2 retries)

  @log_requests  = true
  @log_responses = false
  @debug         = false
end

Instance Attribute Details

#anthropic_api_keyObject

Returns the value of attribute anthropic_api_key.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def anthropic_api_key
  @anthropic_api_key
end

#debugObject

Returns the value of attribute debug.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def debug
  @debug
end

#default_languageObject

Returns the value of attribute default_language.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def default_language
  @default_language
end

#default_temperatureObject

Returns the value of attribute default_temperature.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def default_temperature
  @default_temperature
end

#default_timeoutObject

Returns the value of attribute default_timeout.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def default_timeout
  @default_timeout
end

#google_api_keyObject

Returns the value of attribute google_api_key.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def google_api_key
  @google_api_key
end

#guard_retriesObject

Returns the value of attribute guard_retries.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def guard_retries
  @guard_retries
end

#http_clientObject

HTTP transport. Swap for a Faraday-backed client if needed:

config.http_client = MyFaradayClient.new

Set to nil to let providers manage their own transport.



36
37
38
# File 'lib/active_harness/core/configuration.rb', line 36

def http_client
  @http_client ||= Http::Client.new
end

#log_requestsObject

Returns the value of attribute log_requests.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def log_requests
  @log_requests
end

#log_responsesObject

Returns the value of attribute log_responses.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def log_responses
  @log_responses
end

#on_model_attemptObject

Returns the value of attribute on_model_attempt.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def on_model_attempt
  @on_model_attempt
end

#on_model_failureObject

Returns the value of attribute on_model_failure.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def on_model_failure
  @on_model_failure
end

#openai_api_keyObject

Returns the value of attribute openai_api_key.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def openai_api_key
  @openai_api_key
end

#openrouter_api_keyObject

Returns the value of attribute openrouter_api_key.



3
4
5
# File 'lib/active_harness/core/configuration.rb', line 3

def openrouter_api_key
  @openrouter_api_key
end

#request_limiterObject

Sliding-window rate limiter (10 req/min per user_id by default). Set to nil to disable.



43
44
45
# File 'lib/active_harness/core/configuration.rb', line 43

def request_limiter
  @request_limiter ||= RateLimit::RequestLimiter.new
end

#risk_holdbackObject

Progressive hold-back after repeated risky requests. Set to nil to disable.



50
51
52
# File 'lib/active_harness/core/configuration.rb', line 50

def risk_holdback
  @risk_holdback ||= RateLimit::RiskHoldback.new
end