feat(agentic): show workspace status details
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
31cc9032bc
commit
96cd2bc1b2
2 changed files with 39 additions and 1 deletions
|
|
@ -316,7 +316,18 @@ func (s *PrepSubsystem) cmdStatus(_ core.Options) core.Result {
|
|||
}
|
||||
|
||||
for _, sf := range statusFiles {
|
||||
core.Print(nil, " %s", WorkspaceName(core.PathDir(sf)))
|
||||
workspaceDir := core.PathDir(sf)
|
||||
workspaceName := WorkspaceName(workspaceDir)
|
||||
result := ReadStatusResult(workspaceDir)
|
||||
workspaceStatus, ok := workspaceStatusValue(result)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
||||
core.Print(nil, " %-8s %-8s %-10s %s", workspaceStatus.Status, workspaceStatus.Agent, workspaceStatus.Repo, workspaceName)
|
||||
if workspaceStatus.Question != "" {
|
||||
core.Print(nil, " question: %s", workspaceStatus.Question)
|
||||
}
|
||||
}
|
||||
return core.Result{OK: true}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -718,6 +718,9 @@ func TestCommands_CmdStatus_Good_DeepWorkspace(t *testing.T) {
|
|||
assert.True(t, r.OK)
|
||||
})
|
||||
|
||||
assert.Contains(t, output, "completed")
|
||||
assert.Contains(t, output, "codex")
|
||||
assert.Contains(t, output, "go-io")
|
||||
assert.Contains(t, output, "core/go-io/task-5")
|
||||
}
|
||||
|
||||
|
|
@ -738,9 +741,33 @@ func TestCommands_CmdStatus_Good_BranchWorkspace(t *testing.T) {
|
|||
assert.True(t, r.OK)
|
||||
})
|
||||
|
||||
assert.Contains(t, output, "completed")
|
||||
assert.Contains(t, output, "core/go-io/feature/new-ui")
|
||||
}
|
||||
|
||||
func TestCommands_CmdStatus_Good_BlockedQuestion(t *testing.T) {
|
||||
s, _ := testPrepWithCore(t, nil)
|
||||
|
||||
ws := core.JoinPath(WorkspaceRoot(), "core", "go-io", "task-9")
|
||||
fs.EnsureDir(ws)
|
||||
fs.Write(core.JoinPath(ws, "status.json"), core.JSONMarshalString(WorkspaceStatus{
|
||||
Status: "blocked",
|
||||
Repo: "go-io",
|
||||
Agent: "gemini",
|
||||
Question: "Which API version?",
|
||||
}))
|
||||
|
||||
output := captureStdout(t, func() {
|
||||
r := s.cmdStatus(core.NewOptions())
|
||||
assert.True(t, r.OK)
|
||||
})
|
||||
|
||||
assert.Contains(t, output, "blocked")
|
||||
assert.Contains(t, output, "gemini")
|
||||
assert.Contains(t, output, "go-io")
|
||||
assert.Contains(t, output, "Which API version?")
|
||||
}
|
||||
|
||||
func TestCommands_CmdPrompt_Bad_MissingRepo(t *testing.T) {
|
||||
s, _ := testPrepWithCore(t, nil)
|
||||
r := s.cmdPrompt(core.NewOptions())
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue