Commit a48b364
chore: release main (#113)
🤖 I have created a release *beep* *boop*
---
<details><summary>launchdarkly-server-sdk-ai: 0.17.0</summary>
##
[0.17.0](launchdarkly-server-sdk-ai-0.16.1...launchdarkly-server-sdk-ai-0.17.0)
(2026-04-02)
### ⚠ BREAKING CHANGES
* Bump minimum LangChain version to 1.0.0
* Split track_metrics_of into sync and async variants
([#112](#112))
* Remove node-scoped methods from AIGraphTracker (track_node_invocation,
track_tool_call, track_node_judge_response), use related AIConfigTracker
methods instead
* Extract shared utilities to openai_helper
* Extract shared utilities to langchain_helper
* Restructure provider factory and support additional create methods
([#102](#102))
### Features
* Add get_ai_usage_from_response to openai_helper
([4fab18f](4fab18f))
* Add get_tool_calls_from_response and sum_token_usage_from_messages to
langchain_helper
([4fab18f](4fab18f))
* Add LangGraphAgentGraphRunner
([56ce0fd](56ce0fd))
* Add LDAIClient.create_agent() returning ManagedAgent
([53fd95e](53fd95e))
* Add ManagedAgentGraph support
([#111](#111))
([56ce0fd](56ce0fd))
* Add ModelRunner ABC with invoke_model() and
([453c71c](453c71c))
* Add OpenAIAgentGraphRunner
([56ce0fd](56ce0fd))
* Add OpenAIAgentRunner with agentic tool-calling loop
([53fd95e](53fd95e))
* add optimization package stub
([872e81e](872e81e))
* Add optional graph_key to all LDAIConfigTracker track_* methods for
graph correlation
([4fab18f](4fab18f))
* Add track_tool_call/track_tool_calls to LDAIConfigTracker
([4fab18f](4fab18f))
* Adds optimization package stub
([58b7731](58b7731))
* Bump minimum LangChain version to 1.0.0
([dc592c5](dc592c5))
* Deprecated Chat object in favor of ManagedModel
([453c71c](453c71c))
* Deprecated create_chat(), use create_model() on the LDAIClient
([453c71c](453c71c))
* Drop support for python 3.9
([#114](#114))
([dc592c5](dc592c5))
* Extract shared utilities to langchain_helper
([453c71c](453c71c))
* Extract shared utilities to openai_helper
([453c71c](453c71c))
* Introduce ManagedAgent and AgentRunner implementations
([#110](#110))
([53fd95e](53fd95e))
* Introduce ManagedModel and ModelRunner (PR-3)
([#104](#104))
([453c71c](453c71c))
* Restructure provider factory and support additional create methods
([#102](#102))
([e6e4907](e6e4907))
* Split track_metrics_of into sync and async variants
([#112](#112))
([4fab18f](4fab18f))
### Bug Fixes
* make AIGraphTracker.track_total_tokens accept Optional[TokenUsage],
skip when None or total <= 0
([4fab18f](4fab18f))
* Remove node-scoped methods from AIGraphTracker (track_node_invocation,
track_tool_call, track_node_judge_response), use related AIConfigTracker
methods instead
([4fab18f](4fab18f))
* use time.perf_counter_ns() for sub-millisecond precision in duration
calculations
([4fab18f](4fab18f))
</details>
<details><summary>launchdarkly-server-sdk-ai-langchain: 0.4.0</summary>
##
[0.4.0](launchdarkly-server-sdk-ai-langchain-0.3.2...launchdarkly-server-sdk-ai-langchain-0.4.0)
(2026-04-02)
### ⚠ BREAKING CHANGES
* Bump minimum LangChain version to 1.0.0
* Split track_metrics_of into sync and async variants
([#112](#112))
* Remove node-scoped methods from AIGraphTracker (track_node_invocation,
track_tool_call, track_node_judge_response), use related AIConfigTracker
methods instead
* Extract shared utilities to openai_helper
* Extract shared utilities to langchain_helper
* Restructure provider factory and support additional create methods
([#102](#102))
### Features
* Add get_ai_usage_from_response to openai_helper
([4fab18f](4fab18f))
* Add get_tool_calls_from_response and sum_token_usage_from_messages to
langchain_helper
([4fab18f](4fab18f))
* Add LangGraphAgentGraphRunner
([56ce0fd](56ce0fd))
* Add LDAIClient.create_agent() returning ManagedAgent
([53fd95e](53fd95e))
* Add ManagedAgentGraph support
([#111](#111))
([56ce0fd](56ce0fd))
* Add ModelRunner ABC with invoke_model() and
([453c71c](453c71c))
* Add OpenAIAgentGraphRunner
([56ce0fd](56ce0fd))
* Add OpenAIAgentRunner with agentic tool-calling loop
([53fd95e](53fd95e))
* add optimization package stub
([872e81e](872e81e))
* Add optional graph_key to all LDAIConfigTracker track_* methods for
graph correlation
([4fab18f](4fab18f))
* Add track_tool_call/track_tool_calls to LDAIConfigTracker
([4fab18f](4fab18f))
* Adds optimization package stub
([58b7731](58b7731))
* Bump minimum LangChain version to 1.0.0
([dc592c5](dc592c5))
* Deprecated Chat object in favor of ManagedModel
([453c71c](453c71c))
* Deprecated create_chat(), use create_model() on the LDAIClient
([453c71c](453c71c))
* Drop support for python 3.9
([#114](#114))
([dc592c5](dc592c5))
* Extract shared utilities to langchain_helper
([453c71c](453c71c))
* Extract shared utilities to openai_helper
([453c71c](453c71c))
* Introduce ManagedAgent and AgentRunner implementations
([#110](#110))
([53fd95e](53fd95e))
* Introduce ManagedModel and ModelRunner (PR-3)
([#104](#104))
([453c71c](453c71c))
* Restructure provider factory and support additional create methods
([#102](#102))
([e6e4907](e6e4907))
* Split track_metrics_of into sync and async variants
([#112](#112))
([4fab18f](4fab18f))
### Bug Fixes
* make AIGraphTracker.track_total_tokens accept Optional[TokenUsage],
skip when None or total <= 0
([4fab18f](4fab18f))
* Remove node-scoped methods from AIGraphTracker (track_node_invocation,
track_tool_call, track_node_judge_response), use related AIConfigTracker
methods instead
([4fab18f](4fab18f))
* use time.perf_counter_ns() for sub-millisecond precision in duration
calculations
([4fab18f](4fab18f))
</details>
<details><summary>launchdarkly-server-sdk-ai-openai: 0.3.0</summary>
##
[0.3.0](launchdarkly-server-sdk-ai-openai-0.2.1...launchdarkly-server-sdk-ai-openai-0.3.0)
(2026-04-02)
### ⚠ BREAKING CHANGES
* Bump minimum LangChain version to 1.0.0
* Extract shared utilities to openai_helper
* Extract shared utilities to langchain_helper
* Restructure provider factory and support additional create methods
([#102](#102))
### Features
* Add LangGraphAgentGraphRunner
([56ce0fd](56ce0fd))
* Add LDAIClient.create_agent() returning ManagedAgent
([53fd95e](53fd95e))
* Add ManagedAgentGraph support
([#111](#111))
([56ce0fd](56ce0fd))
* Add ModelRunner ABC with invoke_model() and
([453c71c](453c71c))
* Add OpenAIAgentGraphRunner
([56ce0fd](56ce0fd))
* Add OpenAIAgentRunner with agentic tool-calling loop
([53fd95e](53fd95e))
* add optimization package stub
([872e81e](872e81e))
* Adds optimization package stub
([58b7731](58b7731))
* Bump minimum LangChain version to 1.0.0
([dc592c5](dc592c5))
* Deprecated Chat object in favor of ManagedModel
([453c71c](453c71c))
* Deprecated create_chat(), use create_model() on the LDAIClient
([453c71c](453c71c))
* Drop support for python 3.9
([#114](#114))
([dc592c5](dc592c5))
* Extract shared utilities to langchain_helper
([453c71c](453c71c))
* Extract shared utilities to openai_helper
([453c71c](453c71c))
* Introduce ManagedAgent and AgentRunner implementations
([#110](#110))
([53fd95e](53fd95e))
* Introduce ManagedModel and ModelRunner (PR-3)
([#104](#104))
([453c71c](453c71c))
* Restructure provider factory and support additional create methods
([#102](#102))
([e6e4907](e6e4907))
</details>
<details><summary>launchdarkly-server-sdk-ai-optimization:
0.1.0</summary>
## 0.1.0 (2026-04-02)
### ⚠ BREAKING CHANGES
* Bump minimum LangChain version to 1.0.0
### Features
* Add optimization package stub
([#109](#109))
([ebd5166](ebd5166))
* Adds optimization package stub
([58b7731](58b7731))
* Adds optimization package stub
([cc85a05](cc85a05))
* Bump minimum LangChain version to 1.0.0
([dc592c5](dc592c5))
* Drop support for python 3.9
([#114](#114))
([dc592c5](dc592c5))
### Bug Fixes
* consistency with other makefiles
([b9a5601](b9a5601))
</details>
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Low risk because this PR only updates release metadata (versions,
manifests, provenance docs, and changelogs) without changing runtime
code paths.
>
> **Overview**
> Bumps package versions for the release: `launchdarkly-server-sdk-ai`
to `0.17.0`, LangChain provider to `0.4.0`, OpenAI provider to `0.3.0`,
and introduces/bumps `launchdarkly-server-sdk-ai-optimization` to
`0.1.0` (via `.release-please-manifest.json` and each package’s
`pyproject.toml`/`__init__.__version__`).
>
> Updates `CHANGELOG.md` entries and `PROVENANCE.md` version references
to match the new release numbers.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ae3e183. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jsonbailey <jbailey@launchdarkly.com>1 parent 3f8d13c commit a48b364
12 files changed
Lines changed: 97 additions & 12 deletions
File tree
- packages
- ai-providers
- server-ai-langchain
- server-ai-openai
- optimization
- src/ldai_optimization
- sdk/server-ai
- src/ldai
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
5 | 6 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
3 | 27 | | |
4 | 28 | | |
5 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
3 | 21 | | |
4 | 22 | | |
5 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
3 | 16 | | |
4 | 17 | | |
5 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
5 | 34 | | |
6 | 35 | | |
7 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
0 commit comments