* origin/master: feat: track git workspace restore points and apply their retention (#17241) feat(ui): Artifacts V1 behind an experimental setting — Artifacts page, panel tab and task thread (#17228) feat: add a library to capture and restore git workspace restore points (#17238) feat(connections): add Unikraft Cloud connection (#17139) feat(ui): add the artifact directions lab with the MVP V1 kit (#17213) fix(ui): remove the provider trace run button (#17211) fix(ui): keep task tabs steady when switching views (#17068) # Conflicts: # packages/db/src/migrations/meta/0372_snapshot.json # packages/db/src/migrations/meta/_journal.json
@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.