Repository navigation
fix: support reasoning models through opt-in Responses API - #104
DevJoaoLopes wants to merge 2 commits into
Conversation
jerelvelarde
left a comment
There was a problem hiding this comment.
This opt-in model API selector has useful template value: default Chat Completions and the 2200 output budget remain intact, and explicit reasoning effort is passed in the native shape for the selected API without endpoint/billing fallback. The settings reach the shared Dot executor used by web/page chat, Slack, scheduled turns and delegated voice compute; legacy research and Realtime speech stay unchanged. Setup/Compose documentation accurately distinguishes provider response storage from persisted Intelligence Threads. No additional application security blocker found in this review.
Retain this draft and its existing corrected-SDK-release hold. At 038fb79 with the public locked @copilotkit/runtime 1.77.0, credential-free wire tests produce 89 passes and 7 failures: three SDK encrypted-reasoning/history compatibility gates and four serialized approve/decline review-resume cases. The installed converter drops reasoning history and fails to forward encrypted reasoning through the BuiltInAgent boundary; review resume also fails AG-UI reasoning-message verification. This reproduces the stated dependency limitation, rather than establishing readiness from the locally corrected package. CopilotKit/CopilotKit#7672 remains open and unmerged.
Before readying this PR, update the public dependency/lock to a released corrected SDK, verify clean npm ci, rerun the complete compatibility/HITL matrix and repository gates, then recheck current-main integration. Focused adapter tests verify native URLs/options, defaults, budgets, explicit effort, tool execution, error/incomplete/truncated streams, pause and timeout without live providers. The prospective merge with main 1b2425d is conflict-free. Live UI/provider claims in the description were not independently reproduced here; full repository gates are recorded separately by the coordinating reviewer. Official stateless reasoning guidance: https://developers.openai.com/api/docs/guides/reasoning .
|
@jerelvelarde — update following your review. I am retaining this PR as Draft and keeping the corrected-SDK-release hold. SDK prerequisite updateCopilotKit/CopilotKit#7672 now includes follow-up commit d13d771:
That follow-up passed 2,833 runtime tests, typecheck, build, formatting and lint locally. The SDK branch was subsequently merged with current main; its current PR head is 61e49f4. CodeRabbit is passing, but the upstream Actions runs for that merge head are still Current-main integration for this PRI merged OpenDots main 625452e in 86a9eeb and resolved the import conflict in Validation of this merged tree:
I have not repeated the earlier live-provider/UI validation after this main merge. Before readying the PR, I will still update the public dependency/lock to a released SDK containing #7672, verify a clean install, rerun the complete compatibility/HITL matrix and repository gates, and recheck current-main integration as requested. Could a maintainer approve the pending fork workflows on SDK PR #7672 so its upstream checks can execute? |
Summary
Addresses #58 with an explicit Dot model API selector, configurable output budget,
and optional native reasoning effort. Chat Completions and the existing
2200budget remain the defaults; an empty effort setting preserves the provider default.
Draft / blocked on SDK release: depends on
CopilotKit/CopilotKit#7672.
Published
@copilotkit/runtime@1.77.0does not contain the encrypted-reasoning andHITL continuation fixes. This PR deliberately retains the compatibility tests:
the current public lock produces 7 failures / 337 passes, comprising three
SDK compatibility gates and four review-resume cases. No tests are skipped or
weakened to hide that dependency.
After a corrected SDK release is published, update the public dependency/lock
resolution and verify a clean
npm cibefore marking this PR ready.Changes
DOT_MODEL_API,DOT_MAX_OUTPUT_TOKENS, andoptional
DOT_REASONING_EFFORT.adapter, with native parameters for each API.
store: falseand includes encrypted reasoning for statelesscontinuation. The configured Intelligence deployment still persists Threads.
reasoning_effortfor Chat Completions orreasoning: { effort }for Responses. There is no automatic API/model fallbackor implicit reasoning downgrade.
turns, Slack turns, and voice compute/receipts. The legacy research call and
Realtime speech endpoint are unchanged.
1.77.0and direct AG-UI dependencies at1.0.1;manifests/lock contain public dependencies only, no local-package paths.
combined output budgets and the pending SDK release.
Example configuration after the corrected dependency is available:
8192andmediumare explicit example choices, not new application defaults.Support for APIs and effort levels depends on the selected model/provider.
Verification
Local corrected SDK package
mocked. They cover tool execution, canonical review, approve/decline,
serialization/reopened history, opaque signatures and tool item/call IDs.
network failure, pause and timeout for both APIs, without a false clean finish.
defaults, explicit settings and blank effort handling.
The local runtime package declares
1.77.0but includes the unmerged SDK patch;it is not the published
1.77.0. Validation package SHA-256:Live configuration / UI
On macOS/Node 24, an isolated workspace used
gpt-6.1-sol, Responses,medium, output budget8192, and the local corrected runtime:declined review saved no extra page; both decisions resumed the model.
The outgoing provider request contained an encrypted reasoning item from history.
can report zero reasoning even with an explicit effort; the calculation task
supplied positive provider evidence.
AbortError; a new turnsucceeded after unpausing. The chat was inspected at a 375px viewport.
Only synthetic page content was used. No credentials, encrypted values, local
databases, screenshots or private planning documents are included in the PR.
Connected Slack and speech providers were not part of this live verification.
Prepared with AI assistance.