showcase/integrations/langgraph-python/qa/gen-ui-interrupt.md
/demos/gen-ui-interrupt on the dashboard host/api/health); OPENAI_API_KEY is set on Railway; LANGGRAPH_DEPLOYMENT_URL points at a LangGraph deployment exposing the interrupt_agent graphuseInterrupt({ renderInChat: true }), wired to langgraph's interrupt() primitive from the backend schedule_meeting tool./demos/gen-ui-interrupt; verify the page renders within 3s with the CopilotChat centered in a max-w-4xl container filling full viewport height, with rounded (rounded-2xl) stylingCopilotChat input placeholder is visible and the transcript is empty on first loadschedule_meeting when explicitly asked to book/schedule)schedule_meeting, the backend hits interrupt({topic, attendee}), and a time-picker card renders INLINE inside the chat transcript with data-testid="time-picker-card"<body>, unlike the hitl-in-app modal) — inspect in DevTools to verify the card sits between chat message bubblesdata-testid="time-picker-picked", green-tinted border/background, and text "Booked for <chosen label>" with the label in bold"Meeting scheduled for {chosen_label}: {topic}")data-testid="time-picker-card") — attendee line "With Alice" should appear under the topicdata-testid="time-picker-cancelled" with the text "Cancelled — no time picked."{chosen_time, chosen_label}) or the "None of these work" button (emits {cancelled: true}); post-resolution the card is read-only