Architecture: Session 133: What is the plugin architecture for the unified...
Documentation for Sessions
🏗️ Architecture: Session 133: What is the plugin architecture for the unified...
Date: 2026-02-21
Time: 19:26:03 UTC
Session: gspace1-133.13
Agent: angular
Confidence: NaN%
Status: ✅ Documented
📋 Decision Context
Question:
Session 133: What is the plugin architecture for the unified chat and how do surfaces compose it?
Task: Not specified
🎯 Decision Made
Chosen:
Plugin-based composition where each surface picks its plugins
Options Considered:
- Hardcode features per surface with feature flags
- Plugin-based composition where each surface picks its plugins
💭 Reasoning
Created ChatPlugin interface (59 lines) with optional fields: tabs, slashCommands, quickActions, enrichMessage, outputComponents, inputAddons, headerAddons, onActivate, onDeactivate. 5 concrete plugins implemented as factory functions (not classes, not Angular services -- plain config objects): (1) GenerationPlugin (47 lines) -- Registers Image/Video/Widget/Module tabs, 3 quick actions. Tab components live in @libs-ai/ai-panel-core. (2) ContextPlugin (47 lines) -- Route-aware quick actions for dashboard/page-builder/theme-designer/modular-universe contexts. (3) AgentPlugin (93 lines) -- 7 slash commands (/status, /pause, /resume, /assign, /cancel, /agents, /briefing), 2 quick actions. (4) ModelPlugin (54 lines) -- /model slash command, typed addon slots for picker/cost badge components. (5) ActionPlugin (39 lines) -- Drag-drop output viewer, lifecycle hooks for canvas integration. SURFACE COMPOSITIONS: /vitto/chat uses [agentPlugin, modelPlugin] with sidebar. /panel uses [generationPlugin, contextPlugin, actionPlugin, modelPlugin] without sidebar. Agent terminal uses [agentPlugin] in terminalMode. Theme generator uses [themePlugin]. Embedded/sidebar uses [generationPlugin, contextPlugin, actionPlugin] in compact mode.
📁 Files Involved
- No files specified
🔗 Related
- Decision ID:
dev_1771701962752_swmfumd - Session: 133
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation