Commit Graph

14 Commits

Author SHA1 Message Date
Claude
9131e33eeb 🤖 Add AI Brand Strategist agent creation management command
- Create create_ai_brand_strategist_agent.py to enable Railway deployment
- Includes proper Marketing & Advertising category creation
- Configures direct access with JotForm integration
- Sets correct access_url_name and display_url_name for embedded interface
- Tested locally and creates agent with proper configuration
- Fixes missing agent in Railway marketplace

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 23:44:17 +05:30
Claude
6fae2686c5 🚀 Implement scalable direct access architecture for 100+ agents
## Complete Scalable Architecture Implementation

**Problem Solved**: CyberSec Career Navigator was broken (empty form → JotForm URL webhook)
**Solution**: Built generic direct access architecture for unlimited external form agents

## New Architecture Features

**🎯 Direct Access Agents (External Forms):**
- Generic view functions work for ANY direct access agent
- Database-driven routing via access_url_name/display_url_name fields
- Template automatically detects and redirects to external forms
- Zero code changes needed for new direct access agents

**🔧 Webhook Agents (Dynamic Processing):**
- Existing webhook agents work exactly as before (unchanged)
- Dynamic form generation and N8N processing preserved
- Zero impact on current functionality

## Files Added/Modified

**Views** ():
- `direct_access_handler()` - Generic payment & access processing
- `direct_access_display()` - Generic external form display

**URLs** ():
- Generic routing: `<slug>/access/` and `<slug>/display/`
- Works for any agent with access_url_name configured

**Template** ():
- Conditional logic: `{% if agent.access_url_name %}`
- Direct access → "Start Consultation" button → External form
- Webhook → Dynamic form (unchanged)

**Migration** ():
- Adds access_url_name and display_url_name fields to Agent model

**Agent Config** ():
- Updated to use generic direct access URLs

## Scalability Achievement

**Ready for 100+ Agents:**
-  New webhook agent: Database record with empty access_url_name
-  New direct access agent: Database record with generic access_url_name
-  Zero code changes needed for new agents
-  Template automatically handles both types
-  Database-driven routing eliminates hardcoded URLs

## Expected Results

**After Railway Deployment:**
- CyberSec Career Navigator: "Start Consultation (FREE)" → Direct JotForm
- All webhook agents: Continue working exactly as before
- System ready for unlimited agents of both types

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 22:46:00 +05:30
Claude
fb085f215a 🔧 Add missing access_url_name fields to all agent creation commands
## Critical Agent Creation Fix
- Railway PostgreSQL requires access_url_name and display_url_name fields
- ae303c2 agent creation commands were missing these required fields
- Added empty string defaults to all 5 agent creation commands

## Commands Updated
 create_social_ads_agent.py - Added access_url_name/display_url_name
 create_job_posting_agent.py - Added access_url_name/display_url_name
 create_pdf_summarizer_agent.py - Added access_url_name/display_url_name
 create_five_whys_agent.py - Added access_url_name/display_url_name
 create_cybersec_career_agent.py - Added access_url_name/display_url_name

## Error Fixed
 Was: null value in column 'access_url_name' violates not-null constraint
 Now: All agent creation commands provide required fields

## Result
- populate_agents will succeed on Railway deployment
- All 5 agents will be created successfully
- Railway marketplace will show working agents

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 16:30:31 +05:30
Claude
40574db8b0 🗃️ Implement complete Railway database recreation
• Add database flush to Railway startup for complete reset
• Remove manual fix scripts - using clean recreation approach
• Fresh database will have correct agent values from populate_agents
• Guarantees Railway matches local environment exactly

Process:
1. flush --noinput (clear all data)
2. migrate --run-syncdb (create fresh tables)
3. populate_agents (correct agent values)
4. reset_admin (fresh admin user)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 14:57:49 +05:30
Claude
641d676f2f 🎉 Complete 5 Whys agent enhancements with session management and UI improvements
## Major Features Added:

### 🕒 Session Time Limits (2hr → 30min)
- Updated ChatSession model: expires_at, extend_session methods
- Changed session creation and extension logic
- Updated JavaScript timing calculations
- Fixed timing indicator functionality with real-time server data

### 💬 Message Limits (50 → 20)
- Added message_limit field to Agent model with migration
- Implemented auto-completion when message limit reached
- Only count user messages (not agent responses) toward limit
- Enhanced error messaging for limit exceeded

### 📥 Chat Download System
- Added PDF and TXT export functionality using ReportLab
- Download buttons in chat header for active sessions
- Comprehensive export with session metadata and formatting
- New API endpoints: /agents/api/chat/export/{session_id}/

### 📋 Previous Sessions Management
- Created Previous Sessions widget showing last 5 non-active sessions
- Download access for all completed sessions with messages
- Session status indicators ( Completed,  Expired,  Abandoned)
- Clean sidebar organization with session history

### 🎨 UI/UX Improvements
- Moved session info from main chat to sidebar for cleaner interface
- Increased chat height: 600px → 800px (mobile: 500px → 650px)
- Added Current Session widget with status, ID, and start time
- Enhanced sidebar layout with proper component stacking
- Responsive design with mobile optimizations

### 🔧 Session Indicators System
- Real-time session status API with server-side data
- Progress bars for time remaining and message usage
- Warning notifications for approaching limits
- Automatic updates every 30 seconds

### 💰 Payment Flow Fixes
- Fixed charging system to actually deduct wallet balance
- Each new session charges 15 AED for 20 messages + 30 minutes
- Proper error handling for insufficient balance
- Session cleanup on payment failures

## Technical Implementation:

**Backend Changes:**
- Enhanced ChatSession model with 30-minute duration
- Message counting logic (user messages only)
- Auto-completion on limit reached
- Session status API endpoint
- PDF/TXT export with ReportLab

**Frontend Changes:**
- Comprehensive sidebar widget system
- Real-time indicator updates with server sync
- Download functionality with loading states
- Session history display with status icons
- Responsive layout improvements

**Database:**
- Added message_limit field to Agent model
- Updated ChatSession expiration logic
- Efficient queries for session history

## User Experience:
 Clear session limits (20 messages, 30 minutes)
 Automatic session completion with preserved history
 Easy download access for all previous sessions
 Transparent pricing (15 AED per session)
 Clean, organized interface with more chat space
 Real-time feedback on session progress

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 13:28:39 +05:30
Claude
7120bfdf98 🤖 Add populate_agents management command for Railway deployment
- Create unified command that calls all individual agent creation commands
- Used by Railway's startCommand to populate production database
- Idempotent design - safe to run multiple times
- Shows detailed summary and environment-specific guidance
- Fixes Railway deployment issue where agents marketplace was empty

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 12:55:29 +05:30
Claude
3fac20fe28 🎯 Complete dual integration architecture with JotForm and digital branding
- Add CyberSec Career Navigator with JotForm white-label integration
- Implement direct access agent system alongside webhook agents
- Add digital branding services page with SOSTAC+RACE methodology
- Create dual integration patterns: webhook vs direct access flows
- Clean up unused form API endpoints for streamlined architecture
- Add career navigator management command and templates
- Update marketplace with conditional logic for different agent types
- Fix UI consistency issues (remove category labels, fix animations)
- Update documentation to reflect new dual architecture

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 10:47:16 +05:30
Claude
d750857e4e Implement chat session timeout system
- Add expires_at field to ChatSession model with 2-hour default
- Sessions automatically expire after 2 hours of inactivity
- Active conversations extend session by 2 hours per message
- Add session expiration checks in chat views
- Create cleanup management command for expired sessions
- Add session status indicators in chat UI
- Fix null safety for existing sessions without expiration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 15:45:16 +05:30
Claude
ab2360a91d 💬 Implement complete chat-based agent system with 5 Whys Analysis
🏗️ **Database Extensions:**
- Add agent_type field to Agent model (form/chat distinction)
- Create ChatSession model for conversation management
- Create ChatMessage model for message storage with metadata
- Add database indexes for performance optimization

🎨 **Frontend Implementation:**
- Create agent_chat.html template with modern chat interface
- Implement real-time messaging UI with message bubbles
- Add typing indicators and loading states
- Responsive design for mobile and desktop
- Empty states and error handling

🔧 **Backend Logic:**
- Extend agent_detail_view to route chat vs form agents
- Implement chat_agent_view for chat interface rendering
- Add start_chat_session API endpoint with session management
- Add send_chat_message API endpoint with webhook integration
- Add get_chat_history and end_chat_session endpoints
- Session-based fee charging system

🤖 **5 Whys Agent:**
- Create "Analysis & Problem Solving" category
- Implement 5 Whys Analysis chat-based agent (15 AED)
- Interactive problem-solving methodology guidance
- N8N webhook integration for AI responses

 **Interactive Features:**
- JavaScript ChatInterface class for real-time communication
- Auto-session creation and management
- Message validation and error handling
- Automatic scrolling and UI state management
- CSRF protection and security measures

🔗 **API Integration:**
- Chat-specific API endpoints with RESTful design
- Webhook payload formatting for N8N integration
- Session ID tracking and conversation continuity
- Metadata storage for webhook responses

🛡️ **Security & UX:**
- Login required for chat agents
- Wallet balance validation before session creation
- Session isolation per user and agent
- Comprehensive error handling and user feedback

**New URLs:**
- /agents/api/chat/start/ - Start new chat session
- /agents/api/chat/send/ - Send chat message
- /agents/api/chat/history/<session_id>/ - Get chat history
- /agents/api/chat/end/ - End chat session
- /agents/five-whys-analysis/ - 5 Whys chat interface

**Backward Compatibility:**
- Existing form-based agents (Social Ads, Job Posting, PDF) unchanged
- Admin interface updated to show agent types
- Marketplace displays both agent types seamlessly

🚀 Ready for interactive 5 Whys problem-solving conversations\!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 09:39:43 +05:30
Claude
400f2b7a09 📄 Add PDF Summarizer agent with advanced file upload system
- Create Document Processing category for file-based agents
- Implement PDF Summarizer with comprehensive 4-field form schema
- Add file upload field type with drag-and-drop support
- Build professional file upload UI with progress indicators
- Update agents-core.js to handle multipart form data uploads
- Add direct N8N webhook integration for file processing
- Support multiple analysis types: summary, key points, sentiment analysis
- Implement file size validation and type checking

File Upload Features:
- Drag and drop PDF files directly onto upload area
- Visual feedback with file name and size display
- Remove file functionality with single click
- Accept only PDF files with 10MB size limit
- Professional styling with hover and focus states

Form Options:
- Analysis type selection (summary, key points, detailed analysis)
- Language auto-detection or manual selection
- Output length control (short, medium, long)
- Real-time form validation and error handling

Price: 8.0 AED for comprehensive document analysis
Webhook: Matches multipart form-data structure exactly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 19:18:31 +05:30
Claude
cf8583d0b2 💼 Add Job Posting Generator agent with comprehensive form schema
- Create Human Resources category for HR-related agents
- Implement Job Posting Generator with 7-field dynamic form
- Add specialized N8N webhook message formatting for job postings
- Support multiple seniority levels, contract types, and locations
- Complete form validation and error handling
- Full integration with existing wallet and execution system

Form fields:
- Job title and company name
- Detailed job description (textarea)
- Seniority level (entry to executive)
- Contract type (full-time, part-time, contract, etc.)
- Location with remote work support
- Multi-language support

Webhook format matches N8N payload structure exactly.
Tested and working with real-time wallet deduction.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 19:10:15 +05:30
Claude
5eba8fee84 🚀 Complete agents app implementation with social ads frontend
- Create complete REST API-based agents system for scalability
- Implement Social Ads Generator with dynamic form rendering
- Add agents marketplace with search and category filtering
- Build real-time wallet balance updates after execution
- Fix URL routing conflicts and API endpoint issues
- Add comprehensive N8N webhook integration with proper payload format
- Create dynamic template system for 100+ agent scalability

Features:
- Database-driven agent management via Django admin
- JSON schema-based dynamic form generation
- Real-time wallet balance deduction and display updates
- Comprehensive error handling and validation
- Mobile-responsive marketplace UI
- Complete API endpoints for frontend integration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 19:05:09 +05:30
Claude
1aac14f44b Implement individual agent architecture with simplified template structure
- Replace legacy agents system with modular individual agent apps
- Add agent_base framework for BaseAgent, processors, and management commands
- Create weather_reporter as example individual agent with API integration
- Implement simplified template structure: agent_name/templates/detail.html
- Fix marketplace to display actual agents instead of placeholder
- Add proper authentication flow with login redirect for agent access
- Organize project structure: move tests to tests/, docs to docs/
- Update all documentation to reflect new simplified architecture
- Fix URL namespace issues throughout templates and views

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 09:01:11 +05:30
Claude
67ba2de335 first working 2025-07-09 02:15:35 +05:30