Rich forms the agent asks the user to fill, replacing Claude Code's interactive AskUserQuestion for spawned sessions: - backend/forms.py + /api/forms REST (create / list / get with waitSecs long-poll / submit / cancel), JSON sidecar store at /data/forms.json, 'form' SSE events; field types: text textarea number select multiselect radio checkbox slider file date, answers validated server-side - conversation viewer renders the ask-form Bash call as a live inline form card (submit with confirm recap, cancel, file uploads via /api/upload); answers stay in the thread read-only after submit; wait/cancel subcommands render as compact status strips; new 'Form cards' visibility switch - ?form=<id> query param (the notification deep link) opens the form focused in a full-screen modal - sidecar disallows AskUserQuestion on spawned claude runs (SIDECAR_DISALLOWED_TOOLS to override) - mock backend: /api/forms routes + seeded pending/submitted/cancelled forms and kitchen-sink thread cards (SEED_VERSION 7) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
135 KiB
135 KiB