Add AmbientSetupPhaseEnded variant to OrderedTerminalEventType#17
Merged
Conversation
Adds an explicit shared-session-protocol marker that the sandboxed Oz AgentDriver emits when cloud-mode setup is complete but no initial LLM turn will follow (e.g. empty-prompt local-to-cloud handoff with `--skip-initial-turn`). Viewers consume the event to tear down the Cloud Mode Setup V2 "Running setup commands..." chip and clear `BlockList::is_executing_oz_environment_startup_commands` without waiting for the first `AppendedExchange`. The variant is unit-typed (no associated data) for v1. A future struct upgrade with `task_id: Option<String>` is fine to plan for as a struct variant later but is deliberately out of scope here. Mirrors the placement and idiom of the adjacent `AgentConversationReplayStarted` / `AgentConversationReplayEnded` variants. The session-sharing-server treats `OrderedTerminalEventType` opaquely (only `CommandExecutionFinished` is special-cased for block-id tracking), so no server code changes are required to route or persist the new variant. The server will pick it up via a protocol dep rev bump after this change merges. Includes a serde round-trip test asserting the unit-variant wire form. Stage 2c of empty-prompt local-to-cloud handoff. Co-Authored-By: Oz <oz-agent@warp.dev>
… missing Started half Adjacent variants come in Started/Ended pairs; AmbientSetupPhaseEnded has no matching Started because the setup-phase start is implicit in existing SetupCommandState transitions on the viewer once scrollback arrives. Co-Authored-By: Oz <oz-agent@warp.dev>
captainsafia
approved these changes
May 27, 2026
captainsafia
left a comment
There was a problem hiding this comment.
Looks good overall! Exteme nit to rename this CloudModeSetupPhaseEnded but totally optional since I know you'll have to shuffle around the other PR.
Contributor
Author
with orchestration any shuffling is possible lol. I'll update |
Co-Authored-By: Oz <oz-agent@warp.dev>
harryalbert
added a commit
to warpdotdev/warp
that referenced
this pull request
Jun 3, 2026
…on click) (#11576) ## Description <!-- Please remember to add your design buddy onto the PR for review, if it contains any UI changes! --> Building off of the changes from the PR below this one in the stack, we now want to change all of the client handoff surfaces to allow for handing off without a prompt (and to take advantage of this instant handoff flow). Specifically, we change it so that: * clicking the handoff chip (when the prompt is empty) automatically kicks off handoff * if the conversation is in progress when handing off, a "continue" prompt is auto-inserted so the agent continues its work stream in the cloud * if the conversation has some snapshots to restore, a prompt is inserted to do snapshot restoration. Otherwise, we would skip snapshot restoration entirely (or do it without a user visible prompt) * if neither of these are true, we just handoff with no prompt * typing /handoff with no prompt also automatically kicks off handoff (with the same prompt semantics as above) * We listen for the new `AmbientSetupPhaseEnded` session sharing message from [this PR](warpdotdev/session-sharing-protocol#17) to exit the environment setup phase, removing our dependency on a prompt event to do this. ## Testing <!-- How did you test this change? What automated tests did you add? If you didn't add any new tests, what's your justification for not adding any? Manual testing is required for changes that can be manually tested, and almost all changes can be manually tested. If your change can be manually tested, please include screenshots or a screen recording that show it working end to end. You can run the app locally using `./script/run` - see WARP.md for more details on how to get set up. --> - [x] I have manually tested my changes locally with `./script/run` ### Screenshots / Videos <!-- Attach screenshots or a short video demonstrating the change, where appropriate. Remove this section if it is not relevant to your PR. --> https://www.loom.com/share/e748b81a3e22418f9e9836acf56c06c1 ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode --------- Co-authored-by: Oz <oz-agent@warp.dev>
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.

Add AmbientSetupPhaseEnded variant to OrderedTerminalEventType
In this PR, we make it so that users can kick off new cloud agent runs (specifically for local to cloud handoff) with no prompt.
One issue that this presented was that we rely on the initial agent response coming in to indicate to cloud agent viewers that the setup phase is complete. Without this event, the user is just stuck in the "Environment setup..." phase forever, meaning the client blocks them from submitting prompts (and the UI is generally borked).
To fix this, we need a prompt-agnostic event to indicate to viewers that environment setup is complete. The sharer emits this after setup is over (before sending the prompt for the start of the session, or not sending it if there's no prompt).
Co-Authored-By: Oz oz-agent@warp.dev