Repository navigation
Conversation
…ned it exits Co-authored-by: Cursor <cursoragent@cursor.com>
This branch has not been deployed
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.
Made with Cursor
Note
Medium Risk
Changes local runtime lifecycle, session create paths, and runtime identity auth wiring; mistakes could mis-route sessions or accept the wrong process on a port, though behavior is covered by new tests.
Overview
When a local client attaches to a shared runtime whose spawner/watchdog has exited, it can be left talking to a dead port or a squatter. This PR adds
RuntimeHoldso sync/asyncClient.localkeeps a durable handle (launch recipe + ownership) and can detect a lost runtime and re-attach at the same base URL before new work.Client/AsyncClientnow readlocal_runtimeand ownership through_holdinstead of storing a fixedLocalRuntime. Local sessions clients take the hold, callreacquire/reacquire_asyncbeforecreate_session, and bind remote cancel to the runtime of the moment. Runtime identity HTTP clients accept a callable token so bearer auth and HMAC proofs follow a replacement runtime’s new API key without rebuilding the whole client.Adds an integration test that shuts down the mock runtime, starts a replacement on the same port with a new token, and asserts the next session create uses the fresh credentials.
Reviewed by Cursor Bugbot for commit fe71af0. Bugbot is set up for automated code reviews on this repo. Configure here.