Conversation
Xiashangning
pushed a commit
to Xiashangning/cursor-byok
that referenced
this pull request
Oct 1, 2026
From upstream PR 485 (leookun#485), two of its three parts: - Subagent message_id fallback: Cursor CLI omits the initial subagent message ID. When subagent_type_name and run_id are present, fall back to the stable client run ID instead of rejecting the request. Adapted to develop's action() signature (suppressed parameter kept). - TodoWrite projection: keep the pre-update todo list in the completed call's args and the merged list in the result, so Cursor renders the per-item change instead of a bare "Checked to-do list". Uses the resolved state already produced by validated_todo_write in the dispatcher instead of upstream's project_todo_completion recomputation in conversation output. Dropped the PR's team metadata part (GetTeamRepos/GetTeamAdminSettings routes, compatibility::team_configuration, is_local_path entries): develop already implements it since 0778d01.
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
message_id, by using its stablerun_idas that message's identity. Root requests without a message ID still fail, and explicit IDs remain unchanged.Reproduction and verification
TodoWrite, butReadandGlobreturnedunauthenticated, whileTask/Explore failed withCursor user message action has no message_id. The missing ID and stable child run ID were verified in the CLI's actual request trace.Checked to-do list: the completed call's args and result contained the same updated list. Partial merge results also omitted unchanged todos. Three new wire regression tests cover additions, status-only merge patches with retained content/dependencies, and clearing the list.cargo test -p cursor-server --lib: 164 passed.cargo test -p cursor-server --test tool_round --test conversation_delivery --test connect_wire --test cursor_transport_lifecycle --quiet: 30 passed with the initial protocol fix.cargo fmt --all -- --check, desktopnpm run check, and release desktop/server builds passed. The desktop release build was repeated after the TodoWrite change.deepseek/deepseek-v4.1-flashthrough the installed desktop build of this branch:TodoWrite,Glob,Read,Shell, andTask/Explore completed on 2026-09-30. All 9 provider calls returned HTTP 200. The root agent and Explore subagent independently read the same local file marker; Shell returned a distinct echo marker. The test used--print --force --trust, and success was checked in the run and tool records, not solely from the model's final answer.Added 3 to-dos; a status-only merge preserved all three contents and displayed completed/in-progress/pending rows in the expandable native to-do summary. Completing the remaining items displayed3 of 3 To-dos Completed. A real Explore task showed itsCompletedcard, opened an independentSent by parentchat, and returned the fixture marker via an actual childReadcall. Its final parent/child run made 6 provider calls, all HTTP 200 with the selected model. Run/tool records, native stored todo state, and the outgoing Cursor wire trace were checked alongside the UI.npm run tauri:build -- --no-bundle --ci -- --locked, then verified the installed management dashboard and the normal Windows desktop shortcuts. Its embedded HTML, JavaScript, and CSS all returned HTTP 200 with no Vite server running. Added the standalone desktop build command and frontend verification requirements to the README.Known limits
server/tests/prefix_stability.rs::every_captured_mode_owns_and_renders_its_runtime_template(expected<user_query>wrapper). The failing test and prompt assets are unchanged by this PR.mainand focuses on Agent tool and subagent behavior.DeepSeek reasoning and tool-result continuation
reasoning_contentfor DeepSeek assistant tool calls that emitted no thinking; prefer native Chat replay state when present.Validation:
cargo test -p cursor-server provider::openai_chat::tests --locked: 8 passed, including four new regression cases.npm run tauri:build -- --no-bundle --ci -- --locked: production desktop build succeeded with embedded frontend assets.reasoning_effort=max, with 279644 input tokens, and produced a tool call. Tools suggested by the recorded private conversation were not executed.Provider bodies, conversation contents, credentials, and local diagnostics are excluded from this PR.