feat(connect): render session/run status surface; stop spinner on waiting#45
Merged
Conversation
…ting The backend now streams a customer-facing status surface (session + run axes + a derived word) instead of the raw per-execution status. A connected session used to spin "running" even while the agent was idle at the prompt waiting for input. Consume the new vocabulary: - StreamFrame + the AgentSession type gain session/run (+ surface on the REST session). - isWorkingStatus = [scheduled, starting, working, retrying] — waiting/sleeping stop the spinner, so a finished turn reads "waiting" instead of a misleading spinning "running". - everRunning triggers on working|waiting; the poll backstop and connect's initialStatus read surface.status (fall back to raw) so the socket and poll paths share the derived vocabulary. - statusSystemLine rewritten to the surface words. Companion to the backend PR (ellipsis-dev/ellipsis#5830).
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.
What
Companion to backend ellipsis-dev/ellipsis#5830, which replaces the raw per-execution
statuson the session stream/REST with a customer-facing surface: two axes (session= alive/sleeping/closed,run= scheduled/starting/working/waiting/…) plus a derived single-wordstatus.The connect view used to spin
runningeven while the agent was idle at the prompt waiting for your input (headless streaming keeps the box warm between turns). This consumes the new vocabulary so the footer reads what's actually happening.Changes
StreamFrame+ theAgentSessiontype gainsession/run(andsurfaceon the REST session object).isWorkingStatus=[scheduled, starting, working, retrying]—waiting/sleepingstop the spinner, so a finished turn readswaitinginstead of a misleading spinningrunning. This is the core fix.everRunningtriggers onworking|waiting; the poll backstop and connect'sinitialStatusreadsurface?.status ?? status, so the socket and poll paths share the derived vocabulary (the rawstatusis a different one).statusSystemLinerewritten to the surface words.Testing
npx tsc --noEmitclean. Requires the backend PR deployed for the new frame fields to arrive; degrades gracefully otherwise (surface?.status ?? status).