-
Notifications
You must be signed in to change notification settings - Fork 710
feat: add reasoning_effort support to all SDK clients #302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
friggeri
commented
Jan 30, 2026
- Add reasoningEffort to SessionConfig and ResumeSessionConfig
- Extend ModelCapabilities.supports with reasoningEffort flag
- Add supportedReasoningEfforts and defaultReasoningEffort to ModelInfo
- Update session create/resume to pass reasoningEffort to server
- Add reasoningEffort to SessionConfig and ResumeSessionConfig - Extend ModelCapabilities.supports with reasoningEffort flag - Add supportedReasoningEfforts and defaultReasoningEffort to ModelInfo - Update session create/resume to pass reasoningEffort to server
Document the new reasoningEffort/reasoning_effort option in SessionConfig for all SDK clients (Node.js, Python, Go, .NET).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for reasoning effort configuration across all SDK clients (Python, Node.js, Go, and .NET). The reasoning effort feature allows users to specify the computational effort level (low, medium, high, xhigh) that models should use when generating responses, applicable only to models that support this capability.
Changes:
- Added
ReasoningEfforttype definition andreasoningEffortfield toSessionConfigandResumeSessionConfigacross all SDKs - Extended
ModelCapabilities.supportswith areasoningEffortboolean flag to indicate model support - Added
supportedReasoningEffortsanddefaultReasoningEffortfields toModelInfofor advertising supported values - Updated session creation and resumption methods to pass
reasoningEffortparameter to the server - Bumped
@github/copilotdependency from version 0.0.399 to 0.0.400 in package manifests
Reviewed changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/harness/package.json | Updated @github/copilot dependency to version 0.0.400 |
| test/harness/package-lock.json | Updated lockfile with version 0.0.400 and integrity hashes for all platform-specific packages |
| python/copilot/types.py | Added ReasoningEffort type, reasoning_effort fields to configs, and reasoning effort support to ModelInfo/ModelCapabilities |
| python/copilot/client.py | Updated create_session and resume_session to pass reasoningEffort to server |
| nodejs/src/types.ts | Added ReasoningEffort type, reasoningEffort fields to configs, and reasoning effort support to ModelInfo/ModelCapabilities |
| nodejs/src/client.ts | Updated createSession and resumeSession to pass reasoningEffort to server |
| nodejs/package.json | Updated @github/copilot dependency to version 0.0.400 |
| nodejs/package-lock.json | Updated lockfile with version 0.0.400 and integrity hashes for all platform-specific packages |
| go/types.go | Added ReasoningEffort field to configs and reasoning effort support to ModelInfo/ModelSupports structs |
| go/client.go | Updated CreateSession and ResumeSessionWithOptions to pass reasoningEffort to server |
| dotnet/src/Types.cs | Added ReasoningEffort property to configs and reasoning effort support to ModelInfo/ModelSupports classes |
| dotnet/src/Client.cs | Updated CreateSessionAsync and ResumeSessionAsync to pass ReasoningEffort in request records |
Files not reviewed (2)
- nodejs/package-lock.json: Language not supported
- test/harness/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
nodejs/src/types.ts:936
- The
supportedReasoningEffortsfield is typed asReasoningEffort[]in TypeScript, but the corresponding field in Python, Go, and .NET SDKs uses a generic string array type. This creates an inconsistency across SDK implementations. Consider usingstring[]here to maintain consistency with other SDKs, as the server may support additional reasoning effort values beyond the four currently defined in theReasoningEfforttype.
supportedReasoningEfforts?: ReasoningEffort[];
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
✅ Cross-SDK Consistency Review: PASSEDThis PR adds Summary of ChangesThe PR adds reasoning effort configuration support to all SDKs with the following components:
Consistency Analysis✅ Naming Conventions (All Correct)
✅ Valid Values (All Consistent)All SDKs define the same four valid values:
✅ Type Safety
✅ API CoverageAll SDKs consistently add
✅ Model MetadataAll SDKs consistently add:
✅ DocumentationAll README files include:
Implementation DetailsThe implementation correctly:
No consistency issues found. This PR is approved from a cross-SDK consistency perspective.
|
✅ Cross-SDK Consistency ReviewI've reviewed PR #302 for consistency across all four SDK implementations (Node.js, Python, Go, and .NET). SummaryThis PR successfully adds What's Consistent ✅
Minor Observation (Pre-existing Pattern)The Go README documents This is a pre-existing documentation pattern, not specific to this PR. For full consistency, you might consider documenting ConclusionNo consistency issues found. This PR maintains excellent cross-SDK consistency and adds the
|