Class: LaunchDarkly::Server::AI::AIConfig

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

Overview

The AIConfig class represents an AI configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: nil, model: nil, messages: nil, tracker: nil, provider: nil) ⇒ AIConfig

Returns a new instance of AIConfig.



108
109
110
111
112
113
114
# File 'lib/server/ai/client.rb', line 108

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

Instance Attribute Details

#enabledObject (readonly)

Returns the value of attribute enabled.



106
107
108
# File 'lib/server/ai/client.rb', line 106

def enabled
  @enabled
end

#messagesObject (readonly)

Returns the value of attribute messages.



106
107
108
# File 'lib/server/ai/client.rb', line 106

def messages
  @messages
end

#modelObject (readonly)

Returns the value of attribute model.



106
107
108
# File 'lib/server/ai/client.rb', line 106

def model
  @model
end

#providerObject (readonly)

Returns the value of attribute provider.



106
107
108
# File 'lib/server/ai/client.rb', line 106

def provider
  @provider
end

#trackerObject (readonly)

Returns the value of attribute tracker.



106
107
108
# File 'lib/server/ai/client.rb', line 106

def tracker
  @tracker
end

Class Method Details

.disabledAIConfig

Returns a new disabled AIConfig instance.

Returns:



121
122
123
# File 'lib/server/ai/client.rb', line 121

def self.disabled
  new(enabled: false)
end

Instance Method Details

#to_hObject



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

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