- Removed stray </p> tag that was corrupting the system prompt
- Restored full HTML template (was abstractly described before, AI had to guess)
- Kept strict no-chat rules: no greetings, no filler, data only
- exportLeadsReport function: downloads HTML file or extracts table to CSV
- Inline export buttons in chat messages when leads data exists
- Canvas action bar export buttons for leads agent
- HTML export: downloads full leads-report.html
- CSV export: parses HTML table, extracts Name/Platform/Followers/Region/Bio/Link
- System prompt rewritten: strict no-chat rules, immediate search
- Leads search moved to its own block outside SEO if-scope (fixes TS)
- Status shows "Finding leads..." instead of "Searching for SEO context"
- Search context instructs AI to extract leads and output [PREVIEW:leads:html]
New features:
- Review Code button sends generated code back to AI for review
- Web search grounding via SearXNG (toggle in toolbar, enriches prompts)
- Responsive preview with device size selector (Full/Desktop/Tablet/Mobile)
- /api/search proxy route
Fixes:
- Model selector text color now white on dark theme
- Post-coding button text overflow (shorter labels + min-w-0)
- Duplicate activateArtifact button suppressed when action row shows
Major changes:
- Plan-first workflow: AI generates structured plan before code, with
plan review card (Modify Plan / Start Coding / Skip to Code)
- Post-coding UX: Preview + Request Modifications buttons after code gen
- OpenRouter integration: 4th AI provider with 20+ model support
- Enhanced prompt engine: 9 strategies, 11+ intent patterns, modular
- PLAN MODE system prompt block in all 4 services
- Fixed stale React closure in approveAndGenerate with isApproval flag
- Fixed canvas auto-opening during plan phase with wasIdle gate
- Updated README, CHANGELOG, .env.example, version bump to 1.3.0
- Add comprehensive changelog section following Keep a Changelog format
- Document v1.2.0 changes: SEO agent fixes and z.ai API validation
- Add previous versions (v1.1.0, v1.0.0) for historical context
- Include semantic versioning reference
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>