Add task sidebar workflow

This commit is contained in:
2026-06-24 12:28:56 +01:00
parent 45263d59f8
commit d133839194
33 changed files with 1890 additions and 134 deletions
+4 -4
View File
@@ -23,9 +23,9 @@ func TestRestartRestoresUserCommandProcess(t *testing.T) {
}
sc := &Scenario{
Name: "restart_persist",
Cols: 120,
Rows: 40,
Name: "restart_persist",
Cols: 120,
Rows: 40,
Trust: []string{"persist-target"},
Presets: ScenarioPresets{
Processes: []ScenarioPreset{{
@@ -143,7 +143,7 @@ func openSession(t *testing.T, env *testEnv, childEnv []string) *Session {
if err != nil {
t.Fatalf("vt emulator: %v", err)
}
p, err := pkgpty.Start([]string{env.PattermBin, "--project", env.ProjectDir}, childEnv, env.Cols, env.Rows)
p, err := pkgpty.Start([]string{env.PattermBin, "--project", env.ProjectDir}, childEnv, env.ProjectDir, env.Cols, env.Rows)
if err != nil {
_ = em.Close()
t.Fatalf("pty start: %v", err)
@@ -22,7 +22,7 @@
{ "type": "assert_contains", "contains": "Scratchpads" },
{
"type": "assert_regex",
"regex": "(?m)^[^\\n]*\\+ new[^\\n]*Processes[^\\n]*$"
"regex": "(?m)^[^\\n]*\\+ new[^\\n]*Tasks[^\\n]*$"
},
{
"type": "assert_regex",
@@ -0,0 +1,42 @@
{
"name": "create_task_and_start_agent",
"presets": {
"agents": [
{
"name": "fake-agent",
"argv": ["fake-agent"]
}
]
},
"scripts": [
{
"name": "fake-agent",
"body": "#!/bin/sh\necho FAKE READY\ncat\n"
}
],
"steps": [
{ "type": "wait_stable", "timeout_ms": 3000 },
{ "type": "assert_contains", "contains": "Tasks" },
{ "type": "assert_contains", "contains": "Ctrl-K create task" },
{ "type": "send_chord", "chord": "ctrl-k" },
{ "type": "send_text", "text": "Create task" },
{ "type": "send_chord", "chord": "enter" },
{ "type": "wait_text", "contains": "Create task", "timeout_ms": 3000 },
{ "type": "send_text", "text": "Harness task" },
{ "type": "send_chord", "chord": "enter" },
{ "type": "wait_text", "contains": "task: Harness task", "timeout_ms": 5000 },
{ "type": "assert_contains", "contains": "Harness task" },
{ "type": "send_chord", "chord": "ctrl-k" },
{ "type": "send_text", "text": "fake-agent" },
{ "type": "send_chord", "chord": "enter" },
{ "type": "wait_text", "contains": "task_register_worktree", "timeout_ms": 8000 },
{
"type": "assert_mcp",
"method": "list_processes",
"path": "0.name",
"contains": "Harness task"
}
]
}
+1 -1
View File
@@ -55,7 +55,7 @@ func NewCLI(opts Options) (*Session, error) {
if err != nil {
return nil, err
}
p, err := pkgpty.Start([]string{env.PattermBin, "--project", env.ProjectDir}, childEnv, env.Cols, env.Rows)
p, err := pkgpty.Start([]string{env.PattermBin, "--project", env.ProjectDir}, childEnv, env.ProjectDir, env.Cols, env.Rows)
if err != nil {
_ = em.Close()
return nil, err