feat: Introduce ManagedAgent and AgentRunner implementations#110
Merged
jsonbailey merged 9 commits intomainfrom Mar 31, 2026
Merged
feat: Introduce ManagedAgent and AgentRunner implementations#110jsonbailey merged 9 commits intomainfrom
jsonbailey merged 9 commits intomainfrom
Conversation
c3f2da2 to
bc8b945
Compare
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_runner_factory.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_agent_runner.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_agent_runner.py
Outdated
Show resolved
Hide resolved
keelerm84
reviewed
Mar 26, 2026
Member
keelerm84
left a comment
There was a problem hiding this comment.
Looks like bugbot has some good feedback on this one.
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_agent_runner.py
Outdated
Show resolved
Hide resolved
886e3b7 to
a183f12
Compare
Base automatically changed from
jb/aic-1664/graph-tracking-improvements
to
main
March 26, 2026 18:51
bc8b945 to
c1b87a6
Compare
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_runner_factory.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_runner_factory.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_runner.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_runner.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_runner.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_helper.py
Outdated
Show resolved
Hide resolved
feat: Add OpenAIAgentRunner with agentic tool-calling loop feat: Add LangChainAgentRunner with agentic tool-calling loop feat: Add OpenAIRunnerFactory.create_agent(config, tools) -> OpenAIAgentRunner feat: Add LangChainRunnerFactory.create_agent(config, tools) -> LangChainAgentRunner feat: Add ManagedAgent wrapper holding AgentRunner and LDAIConfigTracker feat: Add LDAIClient.create_agent() returning ManagedAgent
…ider helper tests feat: add TestGetAIUsageFromResponse and TestGetToolCallsFromResponse test coverage for LangChainHelper feat: add TestGetAIUsageFromResponse test coverage for OpenAIHelper fix: update ManagedAgent.invoke to use track_metrics_of_async
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e4b3830 to
afe344e
Compare
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_runner.py
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_graph_runner.py
Show resolved
Hide resolved
packages/ai-providers/server-ai-langchain/src/ldai_langchain/langchain_runner_factory.py
Outdated
Show resolved
Hide resolved
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_agent_runner.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
packages/ai-providers/server-ai-openai/src/ldai_openai/openai_helper.py
Outdated
Show resolved
Hide resolved
keelerm84
approved these changes
Mar 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

feat: Add OpenAIAgentRunner with agentic tool-calling loop
feat: Add LangChainAgentRunner with agentic tool-calling loop
feat: Add OpenAIRunnerFactory.create_agent(config, tools) -> OpenAIAgentRunner
feat: Add LangChainRunnerFactory.create_agent(config, tools) -> LangChainAgentRunner
feat: Add ManagedAgent wrapper holding AgentRunner and LDAIConfigTracker
feat: Add LDAIClient.create_agent() returning ManagedAgent
Requirements
Related issues
Provide links to any issues in this repository or elsewhere relating to this pull request.
Describe the solution you've provided
Provide a clear and concise description of what you expect to happen.
Describe alternatives you've considered
Provide a clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context about the pull request here.
Note
Medium Risk
Adds a new managed agent API plus new OpenAI/LangChain agent execution paths with tool handling and metrics extraction, which may affect runtime behavior and tracking across providers. Risk is mitigated by extensive new unit tests but touches core SDK surface area.
Overview
Adds first-class managed agent execution to the server AI SDK via
LDAIClient.create_agent()returning a newManagedAgentwrapper that runs anAgentRunnerand auto-tracks invocation metrics.Introduces new AgentRunner implementations for both providers:
OpenAIAgentRunner(backed byopenai-agentswith optional native tools + model settings mapping) andLangChainAgentRunner(wrapslangchain.agents.create_agentand aggregates token usage across graph messages). Provider factories (OpenAIRunnerFactory,LangChainRunnerFactory) now exposecreate_agentto construct these runners.Updates token usage extraction to be more robust/consistent (LangChain prefers non-zero
usage_metadata; OpenAI supports both chat completions andopenai-agentsresults), and refactors native OpenAI tool mapping intoopenai_helper; adds/extends unit tests covering the new APIs, tool filtering/skipping, and usage parsing edge cases.Written by Cursor Bugbot for commit 9295cc3. This will update automatically on new commits. Configure here.