launchdarkly-server-sdk-ai 0.2.0 → 0.2.2
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 +4 -4
- data/CHANGELOG.md +16 -0
- data/PROVENANCE.md +1 -1
- data/README.md +11 -0
- data/lib/launchdarkly-server-sdk-ai.rb +1 -0
- data/lib/server/ai/client.rb +35 -1
- data/lib/server/ai/sdk_info.rb +10 -0
- data/lib/server/ai/version.rb +1 -1
- metadata +2 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3ed5a6f605ce2c7970cbe5045fbd0b8700ab0cd6c62fe56a78ee49f155042dde
|
|
4
|
+
data.tar.gz: 91ae21b4e9b95bb3d0b87e266c420c7568ea91ad40a77d654eedfa900adc2099
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 176ba55618c6885959240a1900400e14d3d55a2896f7c768319b169ed6c8ff2f762fa2f066d913bac5c3e502775e089d81a4e92a583ace6f714fcb73fc607b4b
|
|
7
|
+
data.tar.gz: a49cde18e9d3d599a2b58a6174b9c3bb0eba1d320b766681b60d6e34651b8b8c86252be1f840a9fb8ad31b62ae4a3b1ccfd2ac953f4ca241f3bc4d3c69b97fea
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.2](https://github.com/launchdarkly/ruby-server-sdk-ai/compare/0.2.1...0.2.2) (2026-02-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Deprecated config method, use completion_config ([#18](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/18)) ([9f7ec17](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/9f7ec178a87e0f1139c4445d4236cb5db296b0fa))
|
|
9
|
+
* Improve usage reporting ([#18](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/18)) ([9f7ec17](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/9f7ec178a87e0f1139c4445d4236cb5db296b0fa))
|
|
10
|
+
* Remove bundler version constraint from gemspec ([#20](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/20)) ([ef18f32](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/ef18f323d604b3b4d3ca8f913b66316def34042b))
|
|
11
|
+
|
|
12
|
+
## [0.2.1](https://github.com/launchdarkly/ruby-server-sdk-ai/compare/0.2.0...0.2.1) (2025-08-28)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* Add usage tracking to config method ([#15](https://github.com/launchdarkly/ruby-server-sdk-ai/issues/15)) ([53ec5f6](https://github.com/launchdarkly/ruby-server-sdk-ai/commit/53ec5f6ea03a160a95baf368355bc90b7383dd64))
|
|
18
|
+
|
|
3
19
|
## [0.2.0](https://github.com/launchdarkly/ruby-server-sdk-ai/compare/0.1.0...0.2.0) (2025-07-30)
|
|
4
20
|
|
|
5
21
|
|
data/PROVENANCE.md
CHANGED
data/README.md
CHANGED
|
@@ -7,6 +7,17 @@ LaunchDarkly Server SDK AI library for Ruby
|
|
|
7
7
|
[](https://www.rubydoc.info/gems/launchdarkly-server-sdk-ai)
|
|
8
8
|
[](https://launchdarkly.github.io/ruby-server-sdk-ai)
|
|
9
9
|
|
|
10
|
+
> [!CAUTION]
|
|
11
|
+
> This AI SDK is in pre-release and not subject to backwards compatibility guarantees. The API may change based on feedback.
|
|
12
|
+
>
|
|
13
|
+
> Pin to a specific minor version and review the [changelog] before upgrading.
|
|
14
|
+
>
|
|
15
|
+
> Active feature development is ongoing in the [Python][python-ai-sdk] and [Node.js][node-ai-sdk] AI SDKs, so this SDK will receive new features at a slower pace. Refer to those for the latest capabilities.
|
|
16
|
+
|
|
17
|
+
[changelog]: https://github.com/launchdarkly/ruby-server-sdk-ai/blob/main/CHANGELOG.md
|
|
18
|
+
[python-ai-sdk]: https://github.com/launchdarkly/python-server-sdk-ai/tree/main/packages/sdk/server-ai
|
|
19
|
+
[node-ai-sdk]: https://github.com/launchdarkly/js-core/tree/main/packages/sdk/server-ai
|
|
20
|
+
|
|
10
21
|
LaunchDarkly overview
|
|
11
22
|
-------------------------
|
|
12
23
|
[LaunchDarkly](https://www.launchdarkly.com) is a feature management platform that serves trillions of feature flags daily to help teams build better software, faster. [Get started](https://docs.launchdarkly.com/home/getting-started) using LaunchDarkly today!
|
data/lib/server/ai/client.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require 'ldclient-rb'
|
|
4
4
|
require 'mustache'
|
|
5
5
|
require_relative 'ai_config_tracker'
|
|
6
|
+
require_relative 'sdk_info'
|
|
6
7
|
|
|
7
8
|
module LaunchDarkly
|
|
8
9
|
#
|
|
@@ -127,6 +128,15 @@ module LaunchDarkly
|
|
|
127
128
|
#
|
|
128
129
|
# The Client class is the main entry point for the LaunchDarkly AI SDK.
|
|
129
130
|
#
|
|
131
|
+
TRACK_SDK_INFO = '$ld:ai:sdk:info'
|
|
132
|
+
TRACK_USAGE_COMPLETION_CONFIG = '$ld:ai:usage:completion-config'
|
|
133
|
+
|
|
134
|
+
INIT_TRACK_CONTEXT = LaunchDarkly::LDContext.create({
|
|
135
|
+
kind: 'ld_ai',
|
|
136
|
+
key: 'ld-internal-tracking',
|
|
137
|
+
anonymous: true,
|
|
138
|
+
})
|
|
139
|
+
|
|
130
140
|
class Client
|
|
131
141
|
attr_reader :logger, :ld_client
|
|
132
142
|
|
|
@@ -135,6 +145,17 @@ module LaunchDarkly
|
|
|
135
145
|
|
|
136
146
|
@ld_client = ld_client
|
|
137
147
|
@logger = LaunchDarkly::Server::AI.default_logger
|
|
148
|
+
|
|
149
|
+
@ld_client.track(
|
|
150
|
+
TRACK_SDK_INFO,
|
|
151
|
+
INIT_TRACK_CONTEXT,
|
|
152
|
+
{
|
|
153
|
+
aiSdkName: LaunchDarkly::Server::AI::SDK_NAME,
|
|
154
|
+
aiSdkVersion: LaunchDarkly::Server::AI::VERSION,
|
|
155
|
+
aiSdkLanguage: LaunchDarkly::Server::AI::SDK_LANGUAGE,
|
|
156
|
+
},
|
|
157
|
+
1
|
|
158
|
+
)
|
|
138
159
|
end
|
|
139
160
|
|
|
140
161
|
#
|
|
@@ -146,7 +167,21 @@ module LaunchDarkly
|
|
|
146
167
|
# @param variables [Hash] Optional variables for rendering messages
|
|
147
168
|
# @return [AIConfig] An AIConfig instance containing the configuration data
|
|
148
169
|
#
|
|
170
|
+
def completion_config(config_key, context, default_value = nil, variables = nil)
|
|
171
|
+
@ld_client.track(TRACK_USAGE_COMPLETION_CONFIG, context, config_key, 1)
|
|
172
|
+
|
|
173
|
+
_completion_config(config_key, context, default_value, variables)
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# @deprecated Use {#completion_config} instead.
|
|
149
177
|
def config(config_key, context, default_value = nil, variables = nil)
|
|
178
|
+
warn '[DEPRECATION] `config` is deprecated. Use `completion_config` instead.'
|
|
179
|
+
completion_config(config_key, context, default_value, variables)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
private
|
|
183
|
+
|
|
184
|
+
def _completion_config(config_key, context, default_value = nil, variables = nil)
|
|
150
185
|
variation = @ld_client.variation(
|
|
151
186
|
config_key,
|
|
152
187
|
context,
|
|
@@ -156,7 +191,6 @@ module LaunchDarkly
|
|
|
156
191
|
all_variables = variables ? variables.dup : {}
|
|
157
192
|
all_variables[:ldctx] = context.to_h
|
|
158
193
|
|
|
159
|
-
# Process messages and provider configuration
|
|
160
194
|
messages = nil
|
|
161
195
|
if variation[:messages].is_a?(Array) && variation[:messages].all? { |msg| msg.is_a?(Hash) }
|
|
162
196
|
messages = variation[:messages].map do |message|
|
data/lib/server/ai/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: launchdarkly-server-sdk-ai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LaunchDarkly
|
|
@@ -51,20 +51,6 @@ dependencies:
|
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
53
|
version: '1.1'
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: bundler
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '2.0'
|
|
61
|
-
type: :development
|
|
62
|
-
prerelease: false
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '2.0'
|
|
68
54
|
- !ruby/object:Gem::Dependency
|
|
69
55
|
name: rake
|
|
70
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,6 +154,7 @@ files:
|
|
|
168
154
|
- lib/launchdarkly-server-sdk-ai.rb
|
|
169
155
|
- lib/server/ai/ai_config_tracker.rb
|
|
170
156
|
- lib/server/ai/client.rb
|
|
157
|
+
- lib/server/ai/sdk_info.rb
|
|
171
158
|
- lib/server/ai/version.rb
|
|
172
159
|
homepage: https://github.com/launchdarkly/ruby-server-sdk-ai
|
|
173
160
|
licenses:
|