Files
PaperClipAI/ui
DottaandClaude Opus 5.5 b1ccf0f9bc fix(task-chat): keep a yielded turn's streamed reply visible
The first-task interview agent streams a reply, posts a question card,
and settles with reportedWorkDisposition "yielded". The live runner
tail hid that reply as soon as the card's pending interaction arrived,
and the settled turn hid it again because yielded turns never fill the
final-response slot. The reply stays in run history, so this was a
rendering regression, not data loss.

Yielded turns now hide only the control-plane wait stub (text that
echoes the yielded result summary or a single-line "Waiting for ...").
Prose that the agent wrote for the user stays in place through live,
settling, and settled states.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 13:29:58 -06:00
..
…

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Storybook

Storybook config, stories, and fixtures live under ui/storybook/.

pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.

Editor dependency identity

Keep the root and workspace overrides for @codemirror/state, @codemirror/view, and @lezer/common aligned. CodeMirror requires shared extension identity, while Lezer parsers and syntax highlighters require shared NodeProp IDs. Multiple Lezer copies can crash code-block highlighting with tags is not iterable. src/lib/codemirror-single-instance.test.ts checks the installed dependency graph and highlights sample code through the editor's real language dependencies. GitHub Actions owns regeneration of pnpm-lock.yaml.