Skip to content
docs/src/content/docs/contributing/boundaries.md
docs/src/content/docs/extend/plugins.md
web/src/lib/plugins/registry.ts
web/src/lib/components/MessageBubble.svelte (plugin branch only)
- Add a Svelte component that accepts
{ message, text }.
registerPlugin({ id, match, Message, priority? }) from a module imported at app startup.
- Keep
match narrow.
server/hub.js, chat-stream.ts, SSE routes
- Default paths in
MessageBubble for user/assistant unless plugin can’t cover it
- Matched messages render via the plugin; others unchanged
npm run check passes without new errors