Class: Phronomy::Configuration

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

Overview

Holds global configuration for the entire framework. Configure via the Phronomy.configure block.

Examples:

Phronomy.configure do |config|
  config.default_model    = "claude-3-5-sonnet-20241022"
  config.recursion_limit  = 50
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



50
51
52
53
54
55
56
# File 'lib/phronomy/configuration.rb', line 50

def initialize
  @recursion_limit = 25
  @tracer = Phronomy::Tracing::NullTracer.new
  @memory_async = false
  @memory_job_queue = :default
  @trace_pii = true
end

Instance Attribute Details

#before_completionObject

Global before_completion hook callable (Proc / lambda). Called before every LLM request across all agents. Receives a Agent::BeforeCompletionContext; must return a Hash of params to merge, or nil to pass through unchanged.



40
41
42
# File 'lib/phronomy/configuration.rb', line 40

def before_completion
  @before_completion
end

#default_embedding_modelObject

Default embedding model name



17
18
19
# File 'lib/phronomy/configuration.rb', line 17

def default_embedding_model
  @default_embedding_model
end

#default_memoryObject

Default Memory instance



23
24
25
# File 'lib/phronomy/configuration.rb', line 23

def default_memory
  @default_memory
end

#default_modelObject

Default LLM model name (nil delegates to RubyLLM default)



14
15
16
# File 'lib/phronomy/configuration.rb', line 14

def default_model
  @default_model
end

#default_state_storeObject

Default StateStore instance (nil = no persistence)



20
21
22
# File 'lib/phronomy/configuration.rb', line 20

def default_state_store
  @default_state_store
end

#memory_asyncObject

When true, all memory backends write asynchronously via ActiveJob by default. Individual instances can still override with their own async: option. Requires ActiveJob to be available.



28
29
30
# File 'lib/phronomy/configuration.rb', line 28

def memory_async
  @memory_async
end

#memory_job_queueObject

ActiveJob queue name used for async memory writes (default: :default)



31
32
33
# File 'lib/phronomy/configuration.rb', line 31

def memory_job_queue
  @memory_job_queue
end

#recursion_limitObject

Recursion limit for graph execution (default: 25)



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

def recursion_limit
  @recursion_limit
end

#trace_piiObject

When true (default), user input and LLM output are recorded in trace spans. Set to false in privacy-sensitive environments to prevent PII from reaching the tracing backend (OTel, Langfuse, etc.).



48
49
50
# File 'lib/phronomy/configuration.rb', line 48

def trace_pii
  @trace_pii
end

#tracerObject

Tracer instance



34
35
36
# File 'lib/phronomy/configuration.rb', line 34

def tracer
  @tracer
end