- market_db_manager.py: Made DB_PATH configurable via environment variable.
- Dockerfile.b2b: Included market_db_manager.py in the B2B container image.
- docker-compose.yml: Configured separate DB paths and volumes for Market Intel and B2B Assistant.
- B2B Server: Added API routes for project management (list, load, save, delete).
- B2B UI: Implemented auto-save and a 'Project History' modal for loading past runs.
- market_db_manager.py: Created SQLite manager for saving/loading projects.
- server.cjs: Added API routes for project management.
- geminiService.ts: Added client-side DB functions.
- StepInput.tsx: Added 'Past Runs' sidebar to load previous audits.
- App.tsx: Added auto-save functionality and full state hydration logic.
- StepOutreach.tsx: Improved UI layout by merging generated campaigns and suggestions into one list.
- market_intel_orchestrator.py: Updated generate_outreach_campaign to identify all relevant roles, generate top 5, and return remaining as suggestions. Added specific_role mode.
- types.ts: Added OutreachResponse interface.
- geminiService.ts: Updated to handle new response structure and specificRole parameter.
- StepOutreach.tsx: Added sidebar section for Suggested Roles with on-demand generation buttons.
- market_intel_orchestrator.py: Updated analyze_company to NOT abort if homepage scraping fails (e.g. 403 Forbidden). Instead, it sets a placeholder and proceeds using external search signals.
- market_intel_orchestrator.py: Updated get_website_text to use a modern, realistic User-Agent to reduce blocking.
- market_intel_orchestrator.py: Adjusted Gemini prompt to handle missing homepage content gracefully.
- market_intel_orchestrator.py: Rewrote prompt in generate_search_strategy to explicitly distinguish between 'Your Company (Context)' and 'Reference Client (Seed)'. This fixes the issue where the AI was searching for competitors to the user's company instead of the reference client.
- market_intel_orchestrator.py: Clarified prompt in identify_competitors.
- market_intel_orchestrator.py: Added RAW JSON debug logging to stderr to diagnose missing fields.
- StepReport.tsx: Added Search Strategy ICP, Digital Signals, and Target Pages to both the UI view and the Markdown export.
- StepReport.tsx: Fixed 'Back' button behavior to prevent state reset (uses new onBack prop).
- App.tsx: Passed handleBack to StepReport onBack prop.
- types.ts: Extended SearchStrategy interface with optional fields for the new signals.
- Added searchStrategyICP, digitalSignals, and targetPages to the JSON output in market_intel_orchestrator.py.
- Updated the prompt and fallback error handling to include the new fields.