Files
PaperClipAI/ui
Dotta 45d17c4b15 Merge commit 'a88448f77' into codex/dot-events-prototype
* commit 'a88448f77': (21 commits)
  Use canonical settings defaults in MCP stories
  Add assistant connection Storybook coverage
  docs: record experimental MCP settings evaluation evidence
  fix(mcp): preserve event retries when access is disabled
  feat(mcp): enable assistant connections through experimental settings
  fix(mcp): include events at the subscription start boundary
  fix(mcp): preserve nullable checkout responses in event logging
  docs: record paid MCP Events qualification and rollout limits
  fix(mcp): release inactive monitor quotas before admission
  fix(mcp): retain changes during callback verification
  test(mcp): cover event lifetime bounds and late activity commits
  feat(mcp): deliver task events to subscribed assistants
  Preserve mention icons with Lucide 1.45 and clarify local evidence paths
  Record paid qualification and direct connection rollout steps
  Keep completed connections outside pending OAuth quotas
  Close OAuth admission abuse paths and verify API and eval contracts
  Bound unauthenticated MCP registrations across replicas
  Keep OAuth callback credentials out of browser eval diagnostics
  Reconcile assistant MCP with current schema and runner contracts
  test(mcp): add paid assistant workflow evaluations
  ...

# Conflicts:
#	packages/paperclip-runner/docs/capability-contract.md
#	packages/paperclip-runner/generated/capability/capabilities.yaml
#	packages/paperclip-runner/generated/capability/capability-contract.md
#	packages/paperclip-runner/spec/capability/capabilities.yaml
#	server/package.json
2026-10-02 14:49:21 -05: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.