fabro/apps/fabro-web/app/lib
Bryan Helmkamp 7247fd6b7c
feat(web): add interview dock for answering blocked runs from the UI
Replaces the read-only BlockedRunNotice with a viewport-fixed dock that
lets users answer pending human-in-the-loop questions without dropping
to the CLI. Supports YesNo, Confirmation, MultipleChoice, MultiSelect,
and Freeform question types, plus the allow_freeform fallback for
choice-with-write-in. Multiple pending questions surface a "+N more"
pill so a parallel-handler run can be drained from one place.

The dock subscribes to interview.* SSE events for auto-refresh and
posts answers via the existing /runs/{id}/questions/{qid}/answer
endpoint. Cancel is consolidated into the page header (now shown for
blocked runs) so the dock chrome stays focused on the conversation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 15:39:01 -04:00
..
api-client.test.ts refactor(web): move server state to SWR 2026-04-25 07:16:41 -04:00
api-client.ts refactor(web): move server state to SWR 2026-04-25 07:16:41 -04:00
board-events.test.tsx refactor(web): simplify SWR event plumbing 2026-04-25 07:37:17 -04:00
board-events.ts refactor(web): simplify SWR event plumbing 2026-04-25 07:37:17 -04:00
demo-mode.test.tsx feat: wire web UI to real server with demo mode toggle 2026-04-08 04:46:08 -04:00
demo-mode.tsx feat: wire web UI to real server with demo mode toggle 2026-04-08 04:46:08 -04:00
format.ts refactor(web): simplify run logs view 2026-04-26 17:47:10 -04:00
graph-theme.ts refactor(web): drop light mode, go dark-only 2026-04-20 09:27:08 -04:00
mutations.ts feat(web): add interview dock for answering blocked runs from the UI 2026-05-02 15:39:01 -04:00
queries.ts feat(web): add interview dock for answering blocked runs from the UI 2026-05-02 15:39:01 -04:00
query-keys.test.ts feat(command): stream command logs from CAS-backed storage 2026-04-30 22:45:37 -04:00
query-keys.ts feat(command): stream command logs from CAS-backed storage 2026-04-30 22:45:37 -04:00
run-actions.test.ts feat(web): add interview dock for answering blocked runs from the UI 2026-05-02 15:39:01 -04:00
run-actions.ts feat(web): add interview dock for answering blocked runs from the UI 2026-05-02 15:39:01 -04:00
run-events.test.tsx refactor(web): simplify SWR event plumbing 2026-04-25 07:37:17 -04:00
run-events.ts feat(web): add interview dock for answering blocked runs from the UI 2026-05-02 15:39:01 -04:00
run-settings-snapshot.ts refactor(web): narrow event property reads via shared helpers 2026-04-30 22:45:38 -04:00
sse.ts refactor(web): simplify SWR event plumbing 2026-04-25 07:37:17 -04:00
stage-sidebar.ts refactor: simplify after stage status unification 2026-04-30 08:02:08 -04:00
time.ts chore: remove unused verification, retros, and sessions endpoints 2026-04-06 17:52:51 -04:00
unknown.ts refactor(web): narrow event property reads via shared helpers 2026-04-30 22:45:38 -04:00
workflow-api.ts refactor(web): regenerate client for precise stage states 2026-04-30 06:33:12 -04:00