Class: LaunchDarkly::Server::AI::AIConfigDefault

Inherits:
Object
  • Object
show all
Defined in:
lib/server/ai/client.rb

Overview

The AIConfigDefault class represents a user-provided fallback AI configuration.

Pass an instance of this class as the default: parameter to Client#completion_config to control the fallback values when a flag is not found or cannot be evaluated.

This is an input-only type: it is what an application supplies to the SDK, never what the SDK returns. The SDK always returns an AIConfig, which carries a tracker factory; AIConfigDefault does not.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: false, model: nil, messages: nil, provider: nil) ⇒ AIConfigDefault

Returns a new instance of AIConfigDefault.



128
129
130
131
132
133
# File 'lib/server/ai/client.rb', line 128

def initialize(enabled: false, model: nil, messages: nil, provider: nil)
  @enabled = enabled
  @messages = messages
  @model = model
  @provider = provider
end

Instance Attribute Details

#enabledObject (readonly)

Returns the value of attribute enabled.



116
117
118
# File 'lib/server/ai/client.rb', line 116

def enabled
  @enabled
end

#messagesObject (readonly)

Returns the value of attribute messages.



116
117
118
# File 'lib/server/ai/client.rb', line 116

def messages
  @messages
end

#modelObject (readonly)

Returns the value of attribute model.



116
117
118
# File 'lib/server/ai/client.rb', line 116

def model
  @model
end

#providerObject (readonly)

Returns the value of attribute provider.



116
117
118
# File 'lib/server/ai/client.rb', line 116

def provider
  @provider
end

Class Method Details

.disabledAIConfigDefault

Returns a new AIConfigDefault with enabled: false and no model, messages, or provider.

Returns:



124
125
126
# File 'lib/server/ai/client.rb', line 124

def self.disabled
  new(enabled: false)
end

Instance Method Details

#to_hObject



135
136
137
138
139
140
141
142
143
144
# File 'lib/server/ai/client.rb', line 135

def to_h
  {
    _ldMeta: {
      enabled: @enabled || false,
    },
    messages: @messages.is_a?(Array) ? @messages.map { |msg| msg&.to_h } : nil,
    model: @model&.to_h,
    provider: @provider&.to_h,
  }
end