launchdarkly-server-sdk-ai 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ed5a6f605ce2c7970cbe5045fbd0b8700ab0cd6c62fe56a78ee49f155042dde
4
- data.tar.gz: 91ae21b4e9b95bb3d0b87e266c420c7568ea91ad40a77d654eedfa900adc2099
3
+ metadata.gz: 841cd2b74f8a6e89125e283d2c75442ccb58d64373f04439f882b9d968803818
4
+ data.tar.gz: 85a82738b8c931e8a9dc466a9cc66ec077e20a2e58fb112e01cd286b1bf551df
5
5
  SHA512:
6
- metadata.gz: 176ba55618c6885959240a1900400e14d3d55a2896f7c768319b169ed6c8ff2f762fa2f066d913bac5c3e502775e089d81a4e92a583ace6f714fcb73fc607b4b
7
- data.tar.gz: a49cde18e9d3d599a2b58a6174b9c3bb0eba1d320b766681b60d6e34651b8b8c86252be1f840a9fb8ad31b62ae4a3b1ccfd2ac953f4ca241f3bc4d3c69b97fea
6
+ metadata.gz: 1fb7745e91ce1fb85b965c72f033d3c6ea8978f47d30aa691502251bba83238fbe279d5b67cc3a4e00b8669f3509bf61591bba7fa865f3147db2afc9cb5d3361
7
+ data.tar.gz: dde93cdaac0a5cf24e6c684d9b1769f9c5e6092e1140bf6f8125e6bc8a2eb0c485cc67f460b195366473f8ca2cda6ba41618d57e2c8e08e73798613c590901fa
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.0](https://github.com/launchdarkly/ruby-server-sdk-ai/compare/0.2.2...0.3.0) (2026-03-05)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * Use kwargs for completion_config and config methods
9
+ * Return disabled config if no defaultValue is provided ([#23](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/23))
10
+
11
+ ### Features
12
+
13
+ * Drop support for Ruby 3.0 which is EOL. ([fe3fdf8](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/fe3fdf8c022dd4e53e43e9311d76e3b5a098af75))
14
+ * Use kwargs for completion_config and config methods ([fe3fdf8](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/fe3fdf8c022dd4e53e43e9311d76e3b5a098af75))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * Return disabled config if no defaultValue is provided ([#23](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/23)) ([fe3fdf8](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/fe3fdf8c022dd4e53e43e9311d76e3b5a098af75))
20
+
3
21
  ## [0.2.2](https://github.com/launchdarkly/ruby-server-sdk-ai/compare/0.2.1...0.2.2) (2026-02-25)
4
22
 
5
23
 
data/PROVENANCE.md CHANGED
@@ -9,7 +9,7 @@ To verify SLSA provenance attestations, we recommend using [slsa-verifier](https
9
9
  <!-- x-release-please-start-version -->
10
10
  ```
11
11
  # Set the version of the SDK to verify
12
- VERSION=0.2.2
12
+ VERSION=0.3.0
13
13
  ```
14
14
  <!-- x-release-please-end -->
15
15
 
data/README.md CHANGED
@@ -27,7 +27,7 @@ LaunchDarkly overview
27
27
  Supported Ruby versions
28
28
  -----------------------
29
29
 
30
- This version of the library has a minimum Ruby version of 3.0.0, or 9.4.0 for JRuby.
30
+ This version of the library has a minimum Ruby version of 3.1.0, or 9.4.0 for JRuby.
31
31
 
32
32
  Getting started
33
33
  -----------
@@ -113,6 +113,15 @@ module LaunchDarkly
113
113
  @provider = provider
114
114
  end
115
115
 
116
+ #
117
+ # Returns a new disabled AIConfig instance.
118
+ #
119
+ # @return [AIConfig] a new disabled config
120
+ #
121
+ def self.disabled
122
+ new(enabled: false)
123
+ end
124
+
116
125
  def to_h
117
126
  {
118
127
  _ldMeta: {
@@ -161,31 +170,31 @@ module LaunchDarkly
161
170
  #
162
171
  # Retrieves the AIConfig
163
172
  #
164
- # @param config_key [String] The key of the configuration flag
173
+ # @param key [String] The key of the configuration flag
165
174
  # @param context [LDContext] The context used when evaluating the flag
166
- # @param default_value [AIConfig] The default value to use if the flag is not found
175
+ # @param default [AIConfig] The default value to use if the flag is not found
167
176
  # @param variables [Hash] Optional variables for rendering messages
168
177
  # @return [AIConfig] An AIConfig instance containing the configuration data
169
178
  #
170
- def completion_config(config_key, context, default_value = nil, variables = nil)
171
- @ld_client.track(TRACK_USAGE_COMPLETION_CONFIG, context, config_key, 1)
179
+ def completion_config(key:, context:, default: nil, variables: nil)
180
+ @ld_client.track(TRACK_USAGE_COMPLETION_CONFIG, context, key, 1)
172
181
 
173
- _completion_config(config_key, context, default_value, variables)
182
+ _completion_config(key:, context:, default: default || AIConfig.disabled, variables:)
174
183
  end
175
184
 
176
185
  # @deprecated Use {#completion_config} instead.
177
- def config(config_key, context, default_value = nil, variables = nil)
186
+ def config(key:, context:, default: nil, variables: nil)
178
187
  warn '[DEPRECATION] `config` is deprecated. Use `completion_config` instead.'
179
- completion_config(config_key, context, default_value, variables)
188
+ completion_config(key:, context:, default:, variables:)
180
189
  end
181
190
 
182
191
  private
183
192
 
184
- def _completion_config(config_key, context, default_value = nil, variables = nil)
193
+ def _completion_config(key:, context:, default:, variables: nil)
185
194
  variation = @ld_client.variation(
186
- config_key,
195
+ key,
187
196
  context,
188
- default_value.respond_to?(:to_h) ? default_value.to_h : nil
197
+ default.respond_to?(:to_h) ? default.to_h : nil
189
198
  )
190
199
 
191
200
  all_variables = variables ? variables.dup : {}
@@ -220,18 +229,18 @@ module LaunchDarkly
220
229
  tracker = LaunchDarkly::Server::AI::AIConfigTracker.new(
221
230
  ld_client: @ld_client,
222
231
  variation_key: variation.dig(:_ldMeta, :variationKey) || '',
223
- config_key: config_key,
232
+ config_key: key,
224
233
  version: variation.dig(:_ldMeta, :version) || 1,
225
234
  model_name: model&.name || '',
226
235
  provider_name: provider_config&.name || '',
227
- context: context
236
+ context:
228
237
  )
229
238
 
230
239
  AIConfig.new(
231
240
  enabled: variation.dig(:_ldMeta, :enabled) || false,
232
- messages: messages,
233
- tracker: tracker,
234
- model: model,
241
+ messages:,
242
+ tracker:,
243
+ model:,
235
244
  provider: provider_config
236
245
  )
237
246
  end
@@ -3,7 +3,7 @@
3
3
  module LaunchDarkly
4
4
  module Server
5
5
  module AI
6
- VERSION = '0.2.2' # x-release-please-version
6
+ VERSION = '0.3.0' # x-release-please-version
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: launchdarkly-server-sdk-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LaunchDarkly
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-03-05 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: launchdarkly-server-sdk
@@ -162,6 +163,7 @@ licenses:
162
163
  metadata:
163
164
  source_code_uri: https://github.com/launchdarkly/ruby-server-sdk-ai
164
165
  changelog_uri: https://github.com/launchdarkly/ruby-server-sdk-ai/blob/main/CHANGELOG.md
166
+ post_install_message:
165
167
  rdoc_options: []
166
168
  require_paths:
167
169
  - lib
@@ -169,14 +171,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
171
  requirements:
170
172
  - - ">="
171
173
  - !ruby/object:Gem::Version
172
- version: 3.0.0
174
+ version: 3.1.0
173
175
  required_rubygems_version: !ruby/object:Gem::Requirement
174
176
  requirements:
175
177
  - - ">="
176
178
  - !ruby/object:Gem::Version
177
179
  version: '0'
178
180
  requirements: []
179
- rubygems_version: 3.6.9
181
+ rubygems_version: 3.3.27
182
+ signing_key:
180
183
  specification_version: 4
181
184
  summary: LaunchDarkly AI SDK for Ruby
182
185
  test_files: []