Conversation
After a restart the way back into an agent session was two steps: open the workspace, then start the agent with its resume flag by hand. `aid resume [<workspace>]` does both. With no workspace it opens dl's picker, then starts the agent the way a fresh aid launch does (full auto, Remote Control named after the workspace id) with the agent's own resume words in place of a prompt: claude --resume, codex resume, gemini --resume. The pick happens in aid, through a new dl::pick_workspace, rather than by handing `dl -- <command>` a line with no workspace, because the line names the Remote Control session after the workspace id and the id is not known until the pick is made. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
With no terminal, a bare aid resume printed only the picker's invitation, "Select workspace (type to filter):", and exited 1. It now says a terminal is missing and names the command that needs none: aid resume <workspace>. Adds boundary tests for both picker arms that end without a pick, run with no controlling terminal: no terminal, and no workspaces. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
`aid resume --help` and `aid resume -h` fell through to the workspace picker, because only argv[0] was checked for a help flag. A help flag straight after `resume` now prints aid's help and exits 0. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
NonEmpty gains a first() accessor, so pick_one reads the one chosen row directly instead of mapping an Option it can never see empty. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
Only the claude row was run against the CLI. Say so under the table, the way the comment on Agent::resume already does. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
`aid resume [<workspace>]` reopens an agent session in one command. With no workspace it opens the workspace picker, then starts the agent the way a fresh aid launch does, with the agent's own resume words in place of a prompt: claude --resume, codex resume, gemini --resume. A new command is a feature, so this is a minor bump. All four copies of the version move together: Cargo.toml, Cargo.lock, and the README's conda badge and `dl --version` transcript. Claude-Session: https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
Reviewer's GuideThis PR adds Sequence diagram for the aid resume workspace selection flowsequenceDiagram
actor User
participant Aid
participant DlPicker
participant Devpod
participant Agent
User->>Aid: aid resume [workspace]
alt workspace omitted
Aid->>DlPicker: pick_workspace()
DlPicker-->>Aid: workspace_id
end
Aid->>Aid: parse_aid_args()
Aid->>Aid: build_resume_command()
Aid->>Devpod: launch workspace with agent resume words
Devpod->>Agent: start with Remote Control and resume arguments
Agent-->>User: open agent session picker or latest session
Flow diagram for agent-specific resume argumentsflowchart LR
A["aid resume workspace"] --> B{Agent}
B -->|claude| C["claude --resume"]
B -->|codex| D["codex resume"]
B -->|gemini| E["gemini --resume"]
C --> F["Agent session picker"]
D --> F
E --> G["Reopen latest session"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov Report❌ Patch coverage is
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
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.
After a machine restart, getting back into an agent session took two steps: open the workspace, then start the agent with its resume flag by hand.
aid resumedoes both in one command.With no workspace,
aidopens dl's own picker. It then starts the agent the way a freshaidlaunch does (full auto, Remote Control named after the workspace id), with the agent's resume words where the prompt would go:--resume, which opens its session pickerresume, which opens its session picker--resume, which reopens the latest sessionThe claude words were checked against
claude --help. The codex and gemini words follow those CLIs' docs and were not run, anddocs/cli.mdsays so.aidasks for the pick itself, through a newdl::pick_workspace, instead of handingdl -- <command>a line with no workspace. The Remote Control session is named after the workspace id, and the id is not known until the pick is made.A self-review fixed these before this PR was opened:
aid resume --stopopened the picker, and dl refused the flag only after the pickaid resume --helpopened the pickerEach fix has its own commit and test. Pty tests check that the picked row reaches the devpod command, and that a resume line opens no prompt editor.
The last commit is the 0.57.0 release. It is a minor bump because it adds a command, and it moves the version in the same four places as 0.56.0 did.
🤖 Generated with Claude Code
https://claude.ai/code/session_01DiHLcVgAuJAMdsS4skh48w
Summary by Sourcery
Add a one-command workflow for selecting a workspace and resuming its agent session after a restart.
New Features:
aid resume [<workspace>]to reopen agent sessions after a restart, with optional workspace selection and agent-specific resume behavior.Bug Fixes:
Enhancements:
Build:
Documentation:
Tests:
Chores: