[INTEGRATION] Cursor SDK on LiteLLM — staging branch (DO NOT MERGE)#27343
Draft
ishaan-berri wants to merge 302 commits into
Draft
[INTEGRATION] Cursor SDK on LiteLLM — staging branch (DO NOT MERGE)#27343ishaan-berri wants to merge 302 commits into
ishaan-berri wants to merge 302 commits into
Conversation
… root schema.prisma
…-extras schema.prisma
…d warm-pool cost estimate
…s AWS creds + secrets
…2891 validation #3)
…f-hosted worker install
The existing /v1/agents endpoint is reserved for the A2A registry. The new VM-agent API used by this dashboard moves under /v2/.
Single sidebar entry showing session title, status pill (antd Tag, gold for
provisioning), branch and last-updated timestamp. Links to the three-pane
view at /agents/{aid}/sessions/{sid}.
Vertical list of SessionRow under the active agent with a + New action
pinned to the header. Shared by /agents/{aid} and the three-pane view.
…at/next-run/events:append)
Modal collecting a repo URL, posts to createCloudSession, then surfaces the new session to the parent for redirect into the three-pane view.
…ns, dead daemons, stuck runs
Renders user/assistant/tool/system messages with role-tagged styling. Tool calls render via ToolCallCard, not this bubble.
Collapsible card for assistant tool invocations from tool_call events. Cursor Cloud Agents-style: collapsed shows tool + preview; expanded shows full input (and result, when present).
Aggregates file_diff events into a 'N Files Changed' collapsible at the bottom of the conversation pane. Cumulative across the run per LIT-2881 spec — latest patch wins, additions/deletions sum per path.
Textarea + Send at the bottom of the conversation pane. POSTs to
/v2/sessions/{sid}/followup; the resulting user_message lands via the
SSE stream.
Middle pane unioning the initial conversation snapshot with live SSE events. user_message and assistant_message render as MessageBubble; tool_call as ToolCallCard; file_diff folds into FilesChangedAccordion.
Combines the active Run's git.branches with live git_commit / pr_opened events. Shows branches, PR link (live event wins over snapshot), and commits sorted newest-first.
Phase 2 architecture rule: VM management code lives in litellm/managed_agents/vms/, not litellm/proxy/. The proxy is control plane only. Tracks LIT-2879.
Phase 2 architecture rule: VM management code lives in litellm/managed_agents/vms/, not litellm/proxy/. The proxy is control plane only. Tracks LIT-2879.
Phase 2 architecture rule: VM management code lives in litellm/managed_agents/vms/, not litellm/proxy/. The proxy is control plane only. Tracks LIT-2879.
… proxy Phase 2 architecture rule: VM management code lives in litellm/managed_agents/vms/, not litellm/proxy/. The proxy is control plane only. Tracks LIT-2879.
…t of proxy Phase 2: warm pool is part of VM management — moves to litellm/managed_agents/vms/warm_pool/ alongside the providers. Tracks LIT-2879.
…of proxy Phase 2: warm pool is part of VM management — moves to litellm/managed_agents/vms/warm_pool/ alongside the providers. Tracks LIT-2879.
… of proxy Phase 2: warm pool is part of VM management — moves to litellm/managed_agents/vms/warm_pool/ alongside the providers. Tracks LIT-2879.
… of proxy Phase 2: warm pool is part of VM management — moves to litellm/managed_agents/vms/warm_pool/ alongside the providers. Tracks LIT-2879.
…f proxy Phase 2: warm pool is part of VM management — moves to litellm/managed_agents/vms/warm_pool/ alongside the providers. Tracks LIT-2879.
…nit__.py out of proxy Tracks LIT-2879.
….py out of proxy Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tests follow 1:1 mapping convention from tests/test_litellm/readme.md: litellm/foo/bar.py → tests/test_litellm/foo/test_bar.py. Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
…aths Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
Note: sandbox/ goes away in iteration 2 (LIT-2879 rule 5 — one concept: VM). Until then, keep docstrings accurate. Tracks LIT-2879.
Tracks LIT-2879.
Tracks LIT-2879.
…_sdk Phase 2 architecture (LIT-2879): the agent runtime runs on the per-Session VM, not in the proxy. Add a pytest that scans litellm/proxy/ and fails if any source file imports claude_agent_sdk. Currently passes (zero offenders). The test enforces that the boundary stays intact going forward. Tracks LIT-2879.
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.
Relevant issues
Tracks integration of the entire Cursor-SDK-on-LiteLLM project. Linear: https://linear.app/litellm-ai/project/cursor-sdk-on-litellm-shin-cursor-migration-d18058628264
Linear ticket
Aggregates 7 sub-PRs. Individual review happens on each:
(Epic C / daemon is in BerriAI/litellm-agent-runtime#1)
(Epic F / shin-cursor migration is in https://github.com/BerriAI/shin-cursor/pull/1)
This is the integration / staging branch. Individual PRs above are the review surface. This branch exists so we can:
When sub-PRs land into `litellm_internal_staging`, this branch will be re-cut to track them.
Pre-Submission checklist
CI
CI on this branch is a smoke test, not a gate.
Type
🚄 Infrastructure
Reconciliation commits
Changes
233 commits across 7 merged feature branches. See `git log --oneline` on the branch for details.