12 Commits

Author SHA1 Message Date
5be5347a00 Add GET endpoint to list all collaborative sessions
Allows frontend to retrieve history of all past sessions for easy access
to previous discussions and documents.

GET /api/collaborate returns:
- List of last 50 sessions (ordered by most recent first)
- Each session includes: id, prompt, format, status, created/completed dates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 23:35:26 +02:00
59465c79c1 Refactor: Sequential document collaboration with explicit system initialization
Major improvements:
- SYSTEM creates base structure (not an AI agent) in startSession
- Round 1 begins with clean document v0
- Each AI receives the EXACT document version from previous agent
- Enhanced logging shows 'AGENT n/N' with version numbers
- Each AI sees full updated document before modifying
- Clear v0 → v1 → v2 → vN progression
- Better deduplication through explicit sequential flow

The collaboraion is now explicitly sequential: SYSTEM → IA1 (receives v0, creates v1) → IA2 (receives v1, creates v2) etc.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 23:27:09 +02:00
68cf310f0c Add comprehensive logging and enable AI section creation
Features:
- IAs can now create NEW sections if they think they're needed
- Complete document content logging (before/after each modification)
- Detailed AI thinking and reasoning in logs
- Distinguish between 'MODIFIED' and 'CREATED NEW SECTION' actions
- Full round-by-round visibility in logs

This allows AI agents to be more creative and add new architectural
sections when they identify missing requirements or design gaps.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 23:20:29 +02:00
c5f7806718 Fix: Make generateAgentResponse an async generator function
The generateAgentResponse function uses 'yield' to stream responses,
so it must be declared as an async generator function (async function*)
instead of a regular async function.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 23:07:32 +02:00
b566671ea4 Major refactor: Replace fixed roles with N named AI agents
Backend changes:
- Refactor mistralClient to generic agent prompts (not role-based)
- Implement streaming responses with thinking extraction
- Create nameGenerator service for random AI names
- Refactor collaborativeOrchestrator for N agents
- Implement true convergence (N agents with no changes)
- Add section merging for partial document updates
- Each AI modifies only ONE section, not entire document
- Broadcast agent_working and agent_thinking events in real-time
- Update routes for new orchestrator API

Features:
- Support 3-50 AI agents instead of fixed 7 roles
- Real-time thinking/reasoning streaming
- Partial document updates (section-based)
- True convergence tracking
- Automatic round progression
- Section extraction and merging

Next: Frontend enhancements for visualization
2025-10-18 23:01:43 +02:00
97c4ad9f6c Add marked syntax highlighting and random name generator
- Install marked and highlight.js for better markdown rendering
- Create nameGenerator service with 50 unique names
- Update DocumentViewer to use marked instead of regex parsing
- Add syntax highlighting for code blocks
- Improve styling for code with proper colors
2025-10-18 22:57:59 +02:00
85319b5ca6 Fix session lifecycle: change initial status from 'ongoing' to 'created'
Update database schema and backend services to properly track session lifecycle:
- Sessions now start with 'created' status
- Frontend auto-start logic works when status is 'created'
- Status transitions to 'ongoing' when session actually starts
- Prevents issues with premature round execution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:38:41 +02:00
08056ce9fd Clean up: Remove emojis, unused APIs and files
Removed:
- All emojis from code and UI (using minimal styling instead)
- Classic debate mode completely (orchestrator.js, debate.js routes)
- Debate components (DebateThread.vue, PromptInput.vue)
- Debate store (debate.js)
- Unused database tables (debates, responses)

Simplified:
- App.vue: Single direct flow (input -> session)
- Backend: Only /api/collaborate routes
- NetworkStatus: Simple dot indicator with colors
- README.md: Consolidated documentation
- UX: Cleaner, more minimal interface

Cleanup focused on keeping only collaborative design system
Files removed: 6 | Files modified: 6

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:22:49 +02:00
7574f353ee Implement collaborative document design system
Add new iterative collaboration mode where Lead Architect creates initial document,
then 3-7 specialized agents review and refine it through sequential rounds until
convergence. Complete with WebSocket real-time updates, document versioning, and
timeline tracking.

Backend:
- New collaborativeOrchestrator service with round-based iteration logic
- Document versioning and diff tracking
- Three new DB tables: collaborative_sessions, document_versions, document_rounds
- New /api/collaborate routes for session management
- WebSocket support for sessionId in addition to debateId

Frontend:
- New collaboration store (Pinia) for session state management
- CollaborativeInput component for creating sessions with format/agent selection
- CollaborativeSession component with real-time document viewer and timeline
- DocumentViewer with basic Markdown rendering and text support
- App.vue refactored with mode selector (Classic Debate vs Collaborative Design)
- Enhanced useWebSocket composable supporting both debateId and sessionId

Features:
- 7 specialized agents: Lead Architect, Backend Engineer, Frontend Engineer, UI Designer, DevOps Engineer, Product Manager, Security Specialist
- Flexible document formats: Markdown (.md) and plain text (.txt)
- Automatic convergence detection when no changes in full round
- Complete modification history with who changed what and why
- Download final document in chosen format

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:02:03 +02:00
5b67cca5cb Fix Mistral API parameter naming issue
- Change maxTokens to max_tokens for Mistral API compatibility
- Extract maxTokens from options before spreading to avoid parameter conflicts
- Tested successfully with live API calls
2025-10-17 12:02:59 +02:00
188395464e Implement complete AI debate system with real-time updates
- Add Mistral AI integration for agent responses
  - Create mistralClient service with agent-specific prompts
  - Support for architect, backend engineer, frontend engineer, and designer roles
  - Automatic JSON response parsing and validation

- Implement WebSocket real-time communication
  - Update orchestrator with WebSocket broadcasting
  - Add client subscription system for debate updates
  - Real-time agent response streaming

- Add consensus and voting system
  - Calculate weighted consensus with architect priority
  - Confidence-based voting mechanism
  - Auto-complete debates when consensus reached

- Integrate Mermaid diagram rendering
  - Support for embedded diagrams in agent responses
  - Client-side Mermaid.js integration
  - Auto-render diagrams on response updates

- Update frontend for real-time experience
  - WebSocket composable for reactive updates
  - Live status messages and response streaming
  - Loading states and consensus display
2025-10-17 11:50:56 +02:00
04e6c062a5 Add full-stack implementation with Vue.js frontend and Node.js backend
- Add MIT License
- Create frontend with Vue 3 + Vite + Pinia
  - PromptInput component for project description
  - DebateThread component for displaying AI discussions
  - Debate store for state management
- Create backend with Express + WebSocket + SQLite
  - REST API for debate management
  - Database schema for debates and responses
  - Orchestrator service for AI agent coordination
- Update .gitignore for environment files and dependencies
2025-10-17 11:37:59 +02:00