Bundles the in-flight work into the first tagged release. See CHANGELOG.md `[0.0.1] - 2026-05-14` for the full per-change list. Highlights: - Sidebar / chrome stability: clamp absolute cursor positioning and printable bytes to the viewport so long-running TUIs (claude, codex) can't spray into the right rail; bound tab bar's row clear to the viewport width so the rail isn't wiped on every tab redraw; flag scroll escapes (RI/IND/NEL/SU/SD/IL/DL) and clamp `CSI 0/1/2 J`/`K` to viewport columns. - Palette: "Spawn process…" form, macros (`sw `, `k `, `sp `), kill entries mark the focused tab, dead agents drop out of the switch list. - Sidebar: split into Processes (session-wide) + Agent Tree (per-active-agent) sections; relaunch indicator; Ctrl+W/S walks the combined list, Ctrl+A/D steps tabs. - MCP: protocol handshake (`initialize`, `tools/list`, `tools/call`, `ping`), `mcp_injection.kind = cli_override / config_env` so codex and opencode pick up the server with no file writes, `lifecycle` help topic and tool-description cleanup-duty pointers. - Lifecycle: orchestrator-spawned children cascade-killed when the parent dies; orchestrator-injected prompts end with CR + delayed Enter so claude submits cleanly.
This commit is contained in:
31
internal/harness/scenarios/spawn_process_form.json
Normal file
31
internal/harness/scenarios/spawn_process_form.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "spawn_process_form",
|
||||
"cols": 100,
|
||||
"rows": 30,
|
||||
"scripts": [
|
||||
{
|
||||
"name": "formfixture",
|
||||
"body": "#!/bin/sh\necho FORM-READY\nsleep 5\n"
|
||||
}
|
||||
],
|
||||
"steps": [
|
||||
{ "type": "wait_stable", "timeout_ms": 3000 },
|
||||
{ "type": "send_chord", "chord": "ctrl-k" },
|
||||
{ "type": "send_text", "text": "Spawn process" },
|
||||
{ "type": "send_chord", "chord": "enter" },
|
||||
{ "type": "wait_text", "contains": "Spawn process", "timeout_ms": 3000 },
|
||||
{ "type": "send_text", "text": "formfixture" },
|
||||
{ "type": "send_chord", "chord": "tab" },
|
||||
{ "type": "send_chord", "chord": "space" },
|
||||
{ "type": "send_chord", "chord": "enter" },
|
||||
{ "type": "wait_text", "contains": "FORM-READY", "timeout_ms": 5000 },
|
||||
{
|
||||
"type": "assert_mcp",
|
||||
"method": "list_processes",
|
||||
"path": "0.status",
|
||||
"equals": "running"
|
||||
},
|
||||
{ "type": "assert_contains", "contains": "Processes" },
|
||||
{ "type": "assert_contains", "contains": "⟳" }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user