Reusable chat UI for harness/director agents. Built on @assistant-ui/react
with custom action-block rendering for patch: and promote: blocks emitted
by agent runtimes.
HarnessChat— main chat surfacePatchBlock,PromoteBlock— action block renderersuseHarnessChatRuntime— runtime hook (streaming, action parsing)type ActionBlock— discriminated union of supported action shapes
papercupai/papercup— main monorepo (admin harness UI)papercupai/papercup-public-site— papercupai.com (public harness mirror)
Both consume this lib via git submodule at libs/agent-chat/.
react^18 || ^19@assistant-ui/react(any version, host's choice)lucide-reactsonner