jobs: master-detail JobsPage (list + detail, resizable) for /jobs and /jobs/:id

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 15:24:54 +00:00
co-authored by Claude Opus 4.8
parent 56531aedb7
commit 1f57d8c8d2
6 changed files with 184 additions and 179 deletions
+4 -3
View File
@@ -76,9 +76,10 @@ Favor power-user affordances over guardrails. See memory `sole-user-assume-compe
Router mounted at `/jobs` and `/pipeline-jobs`. *Needs a restart to deploy; then curl/phone-testable.*
WS consolidation still pending (old `/api/tasks/run/ws` + `/api/tasks/pipeline/ws` still live).
- [~] 3 frontend
- [x] 3a JobDetail script branch — `ScriptJobDetail` (terminal, polls `GET /jobs/:id/log` + status,
Stop button) + `JobDetailView` wrapper routing by `mode` (pipeline detail renamed
`PipelineJobDetail`). Script jobs are now viewable at `/jobs/:id`.
- [x] 3a jobs UI — **master-detail** `JobsPage` (like `/chat`): `WorkspaceLayout` with a list panel
(left, polls `GET /jobs`, highlights active) + a detail panel (right) that branches by `mode`
`ScriptJobDetail` terminal (polls log + status, Stop) or `PipelineJobDetail`. One page serves
both `/jobs` and `/jobs/:id`; list click navigates. Replaced the old separate list/detail pages.
- [ ] 3b `/jobs/new` page — extract the input UI (TaskInputForm + per-group config + folder probing)
from `TaskRunnerModal` into a shared component; Run/Queue → `POST /jobs` → navigate.
- [x] `inline` flag plumbed (parser + list/detail endpoints); 3 quick tasks flagged.