feat: Update LangChain runners to implement Runner protocol returning RunnerResult#150
Draft
jsonbailey wants to merge 1 commit intojb/aic-2388/openai-runner-protocolfrom
Draft
Conversation
… RunnerResult - LangChainModelRunner.run() implements the unified Runner protocol; returns RunnerResult with content, metrics (LDAIMetrics), raw, and parsed fields. Structured output is supported via the output_type parameter. - LangChainAgentRunner.run() updated to return RunnerResult; populates tool_calls in LDAIMetrics from observed tool_calls in message responses. - Legacy invoke_model() and invoke_structured_model() retained as deprecated adapters that delegate to run() and wrap results into ModelResponse / StructuredResponse for backward compatibility. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced Apr 28, 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.
Summary
LangChainModelRunner.run()implements the unifiedRunnerprotocol; returnsRunnerResultwithcontent,metrics,raw, andparsedfields. Structured output is supported via theoutput_typeparameter.LangChainAgentRunner.run()updated to returnRunnerResult; populatestool_callsinLDAIMetricsfrom observed tool call names in the message response.invoke_model()andinvoke_structured_model()retained as deprecated adapters that delegate torun()for backward compatibility.Stacking
Stacked on top of
jb/aic-2388/openai-runner-protocol(PR #149).Test plan
make test-langchain— all 81 LangChain provider tests passmake test— all 261 tests across server-ai, langchain, and openai packages pass🤖 Generated with Claude Code