Commit Graph

200 Commits

Author SHA1 Message Date
Claude
7101f71568 Fix job posting generator frontend JavaScript issues
- Fix element ID mismatch: use 'resultsContainer' and 'resultsContent' instead of 'jobResults' and 'jobContent'
- Add proper HTML element existence checks before manipulation
- Add missing utility functions expected by results component (copyResults, downloadResults, resetForm)
- Improve content rendering with proper HTML formatting
- Fix results container display/hide logic

The job posting generator should now work properly without getting stuck on processing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 22:52:32 +05:30
Claude
f2a0b3c3af Fix job posting generator processing issues
- Correct price display from 4.00 AED to dynamic agent price (3.00 AED)
- Fix JavaScript balance check to use proper agent price
- Improve polling function with better error handling and logging
- Add proper JavaScript variable initialization for agent price
- Enhance status response handling for failed requests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 22:42:15 +05:30
Claude
8e3cf451a1 Rebrand platform from NetCop Hub to Quantum Tasks AI
- Update domain configuration to quantumtaskai.com
- Change all page titles and branding across templates
- Update Stripe integration with new domain URLs
- Modify settings.py for new domain and cache prefixes
- Update project documentation and test files
- Change company name and contact information

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 22:21:45 +05:30
Claude
9cb8dcb380 Add Template Component Architecture guidelines and optimize job posting generator
- Add comprehensive Template Component Architecture section to CLAUDE.md
- Document component-first development approach with clear guidelines
- Add "How to Request Component Architecture" quick reference guide
- Convert job posting generator from 1,748 lines to 453 lines (74% reduction)
- Replace inline HTML with component includes:
  - {% include "components/agent_header.html" %}
  - {% include "components/quick_agents_panel.html" %}
  - {% include "components/processing_status.html" %}
  - {% include "components/results_container.html" %}
- Remove 632 lines of redundant CSS by using agent-base.css
- Fix URL references to use correct agent namespaces
- Establish consistent component usage across all agents

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 16:21:35 +05:30
Claude
e75e814567 Improve social ads generator user experience
UX IMPROVEMENTS:
- Reduce excessive toast notifications - only show for critical actions
- Add smooth auto-scroll when processing starts (scrolls to processing section)
- Add smooth auto-scroll when results appear (scrolls to results section)
- Disable submit button during processing with loading state ( Generating...)
- Remove unnecessary toasts for download (file download is confirmation enough)
- Remove toast for form reset (visual feedback is sufficient)
- Simplify copy notification text
- Add scroll to form when reset button is clicked

BEHAVIOR CHANGES:
- Toast notifications now only appear for:
  - Form validation errors (important)
  - Processing completion success/failure (important)
  - Copy to clipboard success/failure (user needs feedback)
- Auto-scroll provides visual feedback for processing flow
- Button states clearly indicate processing status
- Smoother overall user interaction flow

These changes create a more polished, less noisy user experience while maintaining
important feedback for critical actions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 15:30:30 +05:30
Claude
5cacfb19d0 🔒 Fix critical security vulnerabilities in social ads generator
SECURITY FIXES:
- Fix XSS vulnerability: Replace innerHTML with secure DOM manipulation
- Prevent information disclosure: Implement secure error handling with logging
- Add comprehensive server-side input validation with length limits
- Add missing @login_required decorator to main view
- Secure AI prompt generation with input sanitization and content filtering
- Add output validation for AI-generated content

TECHNICAL CHANGES:
- Replace dangerous innerHTML usage with secure createElement approach
- Add input validation for description (10-5000 chars), platform, and language
- Implement prompt injection protection and inappropriate content filtering
- Add comprehensive logging for debugging without exposing sensitive data
- Validate AI output for malicious patterns and content quality

These fixes address:
- CVE-like XSS vulnerability (CRITICAL)
- Information disclosure through error messages (HIGH)
- Input validation bypass (MEDIUM)
- Missing authorization controls (MEDIUM)
- Prompt injection risks (LOW)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 15:24:41 +05:30
Claude
2eadcc77f8 Optimize social ads generator with template prototype architecture
- Reduce template from 2024+ lines to 769 lines (62% reduction)
- Replace extensive inline CSS with template prototype framework
- Modernize JavaScript from SocialAdsModule to SocialAdsUtils pattern
- Convert to component-based architecture using template includes
- Remove duplicate processing view and clean up unused imports
- Enhance results display with rich social ad formatting
- Maintain all existing functionality and user experience

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 10:25:22 +05:30
Claude
b2fe16aeaa Optimize data analyzer agent for PDF-only processing
- Restrict file upload to PDF files only in frontend and backend
- Add comprehensive PDF MIME type validation
- Remove duplicate processing view and URL endpoint
- Update model help text and UI labels for PDF-only
- Clean up unused imports and code references
- Maintain rich results formatting with HTML rendering
- Preserve all existing webhook processing functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 10:16:35 +05:30
Claude
31d8929bcb social ad pages 2025-07-25 08:13:50 +05:30
Claude
01e61d6f28 Fix wallet top-up button to link directly to top-up page
- Replace placeholder alert with functional wallet top-up link
- Update wallet_card.html to use {% url 'wallet:wallet_topup' %}
- Change from button to anchor tag with proper styling
- Links directly to /wallet/topup/ for immediate top-up access
- Affects all agent pages using the shared wallet card component

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 08:13:29 +05:30
Claude
8e075454d4 Add comprehensive agent creation system with template prototype
- Create AGENT_CREATION_GUIDE.md with complete step-by-step instructions
- Add agent_template_prototype.html with full CSS framework and JavaScript utilities
- Implement Email Writer agent as demonstration of template system
- Update CLAUDE.md with agent creation workflow and template guidance
- Include Django patterns, form handling, status polling, and marketplace integration
- Provide reusable components: wallet card, processing status, quick access panel
- Ensure responsive design, accessibility, and consistent user experience

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 02:34:46 +05:30
Claude
7fe2705139 Add comprehensive application analysis and improvement planning documentation
- NETCOP_HUB_ANALYSIS.md: Complete architecture analysis covering Django apps, agent system, database models, and technology stack
- CONSERVATIVE_IMPROVEMENT_PLAN.md: Risk-averse improvement strategy prioritizing system stability over disruptive changes
- IMPROVEMENT_SUGGESTIONS.md: Detailed improvement recommendations with implementation guidance

These documents provide foundation for future development work while minimizing risk of breaking existing functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 22:00:06 +05:30
Claude
c645216340 Fix agent pages URL routing conflict
ISSUE: Agent pages were not opening due to URL pattern conflict between
agent_base/urls.py and individual agent app URLs.

SOLUTION:
- Remove conflicting 'agents/<slug:agent_slug>/' pattern from agent_base URLs
- Add get_absolute_url() method to BaseAgent model for clean URL generation
- Update marketplace template to use agent.get_absolute_url instead of URL reversal
- Remove redundant agent_detail_view that was causing redirect loops

RESULT:
- Individual agent pages now load correctly (/agents/data-analyzer/, etc.)
- Marketplace correctly links to individual agent pages
- Authentication flow works as expected (login required for agent access)
- No more URL conflicts or redirect loops

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 20:09:51 +05:30
Claude
bfdef5b658 Refactor: Complete architecture reorganization with proper separation of concerns
BREAKING CHANGES:
- Move marketplace and agent discovery views from core to agent_base app
- Transfer all wallet functionality from core to dedicated wallet app
- Move Stripe webhook handling to wallet app for better organization
- Consolidate payment system logic under single responsibility

NEW STRUCTURE:
- core app: Platform pages only (homepage, pricing)
- agent_base app: Complete agent marketplace and catalog system
- wallet app: Full payment system with Stripe integration
- Individual agent apps: Unchanged, self-contained

IMPROVEMENTS:
- Clean URL namespacing (agent_base:marketplace, wallet:wallet)
- Template organization by app responsibility
- Removed deprecated CSS files (header.css)
- Added utility classes (.hidden)
- Updated all template references to new URL structure
- Comprehensive CLAUDE.md documentation updates

TECHNICAL CHANGES:
- Templates moved: marketplace.html, agent_detail.html → agent_base/
- Templates moved: wallet*.html → wallet/
- New files: agent_base/views.py, agent_base/urls.py, wallet/urls.py
- Updated main urls.py routing configuration
- Fixed Django system checks and namespace conflicts
- Verified all functionality with test suite

This reorganization follows Django best practices with single responsibility
principle, making the codebase more maintainable and scalable.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 20:03:53 +05:30
Claude
e2ad1f84e1 Implement comprehensive header CSS architecture redesign and font consistency fixes
- Extract 476 lines of inline CSS from pricing.html to external pricing.css file
- Unify font stack across all pages to use 'Inter', Arial, sans-serif consistently
- Fix font weight inconsistency between marketplace and pricing page navigation
- Add clean active page indicator with thin blue underline for current page
- Optimize CSS loading order: page-specific CSS first, header-component.css last
- Remove font inheritance conflicts between agent-base.css and header component
- Standardize Inter font loading in base.html for all pages (single source of truth)
- Improve browser compatibility with font smoothing and rendering optimizations
- Add comprehensive documentation in HEADER_OPTIMIZATION.md

Key improvements:
• Consistent navigation font weight across all pages (resolves bold font issue)
• Better performance with external CSS files and browser caching
• Clean component-based CSS architecture for maintainability
• Subtle active state indicators without layout shifts
• Unified theme system with CSS custom properties

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 10:41:24 +05:30
Claude
b072e2e1ee Fix Weather Reporter connection errors and restore API-based pattern
Major fixes:
- Weather Reporter: Restore correct API-based processing pattern
  * Fix form submission URL to use /agents/weather-reporter/process/
  * Remove incorrect polling logic (API agents return immediate results)
  * Fix response field mapping to use formatted_report instead of analysis_text
  * Implement immediate response display without polling

- Agent CSS System: Enhance unified styling system
  * Add missing CSS classes for status display (.status-title, .status-subtitle)
  * Add enhanced typography for results content formatting
  * Include modern info boxes (.key-points, .insights, .summary)
  * Fix animation keyframes for proper loading states

- Template Consistency: Update agents to use shared components
  * Job Posting Generator: Add cache-busted CSS and shared header/panel
  * Social Ads Generator: Add unified CSS link and shared components
  * Create component templates for consistent agent layouts

Key architectural insight: Weather Reporter is API-based (immediate response)
while Data Analyzer is webhook-based (async polling). Fixed Weather Reporter
to use correct pattern based on git history commit 82fc051.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-20 09:13:48 +05:30
Claude
92a008afad agent ui fixes 2025-07-19 08:06:31 +05:30
Claude
d3a86d4bd3 Achieve perfect dimensional consistency across all agent templates
- Standardize widget dimensions (min-width: 400px for large, flex: 0 0 280px for small)
- Fix status icon size consistency (48px across all agents)
- Add missing flexbox properties to widget titles for proper icon alignment
- Standardize section subtitle styling with accent lines and proper margins
- Add enhanced form element CSS for consistent input/textarea styling
- Implement unified scrollbar-gutter to prevent page shake
- Add comprehensive results typography system across all agents
- Ensure perfect visual consistency when switching between agents

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-19 08:05:31 +05:30
Claude
a4f6a0f433 Update Social Ads Generator to match Job Posting Generator layout exactly
- Fixed wallet card styling with gradient background and white text
- Moved quick agent button from header to inside "How It Works" widget
- Updated layout structure to match Job Posting Generator patterns
- Enhanced button hover effects with darker border and lift animation
- Improved quick agents panel styling and animations
- Added proper ARIA attributes and accessibility features
- Updated CSS architecture to use unified design system
- Fixed JavaScript functions to match Job Posting Generator patterns

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 20:48:25 +05:30
Claude
c81bdfbfe0 Fix critical wallet balance validation bug after balance updates
- Replace static template value with dynamic DOM-based balance reading
- Use parseFloat(walletBalanceElement.textContent) for current balance
- Ensures validation uses the actual displayed balance, not stale template value
- Fixes false "insufficient balance" errors after successful transactions
- Maintains consistency between display and validation logic
- Prevents user confusion with inconsistent balance states

This was a critical bug where users would see updated balance but still get
insufficient balance errors due to static template rendering.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 20:05:26 +05:30
Claude
64c2d98de9 Fix header wallet balance update after job posting generation
- Update both header wallet balance (a[data-wallet-balance]) and page balance (walletBalance)
- Header balance shows with emoji: 💰 X.XX AED
- Page balance shows without emoji: X.XX AED
- Both elements now update immediately after job posting generation
- Complete wallet balance synchronization across the entire page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 19:58:52 +05:30
Claude
8ffec49c93 Fix wallet balance update after job posting generation
- Replace complex updateWalletBalance function with simple, working implementation
- Use correct selector (getElementById('walletBalance')) instead of wrong selectors
- Match the working implementation from Data Analyzer
- Wallet balance now updates immediately after job posting generation
- No page refresh required to see updated balance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 19:56:54 +05:30
Claude
6bb07d16ae Fix Job Posting Generator template implementation issues
- Fix CSS variable inconsistencies in form validation (use --success, --error, --primary)
- Implement missing security with safeSetHTML in displayResults function
- Complete debouncing implementation for form interactions and textarea auto-resize
- Clean up duplicate event listeners and consolidate initialization
- Ensure all form validation uses proper CSS variables
- Add proper debounced validation for real-time form feedback
- Remove duplicate DOMContentLoaded event listener

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 19:52:12 +05:30
Claude
c0d071408d Adopt optimized Data Analyzer template design for Job Posting Generator
- Replace external CSS dependencies with self-contained optimized styles
- Convert to widget-based layout architecture matching Data Analyzer
- Add consolidated JavaScript initialization with proper event handling
- Implement HTML sanitization with safeSetHTML() function for security
- Enhance accessibility with ARIA labels and proper form associations
- Add debouncing for form interactions to improve performance
- Move generate button inside form widget for better UX
- Add quick agent access panel with exact Data Analyzer functionality
- Position "How It Works" widget on right side of form
- Harmonize design elements with consistent CSS variables and responsive layout
- Maintain all existing functionality while improving code organization

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-18 19:45:39 +05:30
Claude
f442faf86b data analyzer ui fix 2025-07-18 10:15:45 +05:30
Claude
6733027bfc Add quick agent access toggle button to data analyzer
- Create toggle button in header for quick access to other agents
- Add slide-out panel with grid of available agents (Weather Reporter, Job Posting Generator, Social Ads Generator, Five Whys Analyzer)
- Include agent icons, names, descriptions, and pricing information
- Add mobile-responsive design with full-width panel on small screens
- Implement toggle functionality with JavaScript (open/close with button, overlay click, or Escape key)
- Add smooth animations and hover effects
- Include "View All Agents" link to marketplace
- Enhance user experience with quick navigation between agents

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 22:27:27 +05:30
Claude
e3b8f0d893 Update data analyzer agent page to remove dashboard references
- Replace "dashboard" terminology with "agent" throughout template
- Update CSS classes from dashboard-* to agent-*
- Change page title from "Data Analyzer Dashboard" to "Data Analyzer"
- Update JavaScript function names from initializeDashboard to initializeAgent
- Maintain all existing functionality while using proper agent terminology

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 21:49:19 +05:30
Claude
ccdba43433 Replace alert popups with toast notifications in Data Analyzer
- Replace all alert() calls with custom toast notifications
- Create elegant toast notifications instead of browser popups
- Toast notifications appear in top-right corner with smooth styling
- Auto-dismiss after 3 seconds
- Green toasts for success, red for errors
- Prevents localhost popup interruptions during agent processing

Benefits:
- Better user experience (no popup interruptions)
- Professional appearance
- Non-blocking notifications
- Consistent styling across the app
2025-07-16 23:17:38 +05:30
Claude
7a3d0b65ee Hide footer on agent pages only
- Add conditional logic to show footer on all pages except agent pages
- Use request.path check to detect '/agents/' URLs
- Footer still appears on home, marketplace, pricing, and other pages
- Only hidden on individual agent detail pages

Benefits:
- Cleaner agent page experience
- Footer remains for marketing/info pages
- Simple URL-based detection
2025-07-16 23:11:13 +05:30
Claude
55214b1dc3 Fix NOT NULL constraint error for stripe_payment_intent_id
- Add stripe_payment_intent_id field to WalletTransaction model with proper defaults
- Update User.deduct_balance() to handle missing stripe_payment_intent_id gracefully
- Update User.add_balance() to handle missing stripe_payment_intent_id gracefully
- Use try-catch pattern to handle database schema mismatches
- Provide empty string as default for stripe_payment_intent_id when field is required

Issue: Database has NOT NULL constraint on stripe_payment_intent_id but code doesn't provide it
Solution: Add field with proper defaults and graceful error handling

Prevents: 'NOT NULL constraint failed: wallet_wallettransaction.stripe_payment_intent_id'
2025-07-16 23:01:31 +05:30
Claude
65c713ef64 Fix UNIQUE constraint error in Data Analyzer
- Replace objects.create() with get_or_create() to prevent duplicate responses
- Handle case where response already exists by updating it instead of creating new one
- Fix both success and error response creation
- Prevents 'UNIQUE constraint failed: data_analyzer_responses.request_id' error

Issue: OneToOneField relationship allows only one response per request
Solution: Use get_or_create() pattern to handle existing responses gracefully
2025-07-16 22:54:09 +05:30
Claude
f6ba431514 Simplify Data Analyzer frontend for beginners
- Reduce JavaScript from 744 lines to ~150 lines
- Remove complex drag/drop functionality (use simple file input)
- Eliminate elaborate markdown parser (use simple text formatting)
- Replace complex polling with simplified version
- Remove multiple CSS themes, use single clean theme
- Maintain ALL core functionality:
   File upload (PDF, CSV, Excel)
   Analysis type selection
   Wallet balance checking
   N8N webhook integration
   Polling for results
   Copy/download functionality
   Error handling

Benefits:
- Beginner-friendly code structure
- Fast page loads (no external fonts/CSS)
- Easy to understand and modify
- All business logic preserved
2025-07-16 22:44:50 +05:30
Claude
727a3cec94 Clean project and update comprehensive documentation
- Remove test and debug files from project root
- Add comprehensive FORGOT_PASSWORD_IMPLEMENTATION.md guide
- Update CLAUDE.md with complete password reset system documentation
- Document Railway deployment configuration and environment variables
- Include security features, testing procedures, and troubleshooting guide
- Clean project structure for better maintainability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 14:13:40 +05:30
Claude
5908375451 Improve forgot password UX with helpful error messages
- Show clear error when user email doesn't exist instead of generic security message
- Add registration link for users whose email is not found
- Better user experience while maintaining security
- Help users understand they need to register first

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 14:06:05 +05:30
Claude
498de2219e Add email debugging and better error handling
- Add debug_railway_email.py script for Railway email configuration testing
- Add management command test_email for Railway email testing
- Improve error handling and logging in forgot password view
- Add detailed email configuration debug information

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 13:17:15 +05:30
Claude
d36cf9a79d Fix email URLs to use Railway domain instead of localhost
- Add SITE_URL configuration that auto-detects Railway environment
- Update forgot password view to use correct site URL in emails
- Ensure password reset links work on both local and Railway deployments

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 13:11:06 +05:30
Claude
49b5b2a6aa Standardize agent architecture and update comprehensive documentation
- Implement agent-specific JavaScript utilities for container-like isolation
- Standardize HTML structure across all 5 agents with agent-container grid layout
- Fix Data Analyzer wallet positioning by moving wallet-section to separate grid column
- Reduce Data Analyzer custom CSS from 400+ lines to ~78 lines essential styles
- Apply unified theme system (professional/creative/minimal) consistently
- Add agent isolation with DataAnalyzerUtils, WeatherUtils, SocialAdsUtils, etc.
- Update CLAUDE.md with comprehensive agent architecture documentation
- Document standardization improvements, layout rules, and JavaScript isolation patterns

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 16:28:37 +05:30
Claude
2e25b96807 Standardize AgentUtils function calls across all agents
- Remove duplicate updateWalletBalance and showToast functions from individual agents
- Standardize all agents to use AgentUtils.functionName() pattern consistently
- Update Five Whys Analyzer to use shared utility functions
- Maintain agent-specific functions only where necessary for unique workflows
- Ensure consistent function call patterns across Data Analyzer, Job Posting Generator, and Five Whys Analyzer

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 01:30:16 +05:30
Claude
f40450851b Fix agent network errors and remove debug logging
- Fix social ads generator updateWalletBalance function call
- Fix weather reporter form submission URL and syntax errors
- Add missing status endpoints for polling functionality
- Remove debug logging from all agents
- Clean up button styling consistency

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:56:14 +05:30
Claude
bfbb7d3515 Fix social ads generator network errors and content extraction
## Issues Fixed
- Added missing status endpoint for polling mechanism
- Fixed content extraction priority to handle ad_copy field and raw_response.output
- Corrected include_emoji field handling (form sends 'yes' not 'on')
- Updated URL patterns to include proper status and result endpoints

## Technical Changes
- Added social_ads_generator_status() view for polling
- Updated content extraction priority: ad_copy_content > content > ad_copy > raw_response.output
- Fixed boolean field handling for include_emoji checkbox
- Consistent with other agents' polling patterns

## URL Updates
- Added /status/<uuid:request_id>/ for polling
- Added /result/<uuid:request_id>/ for results
- Consistent API structure across all agents

## Content Field Priority
Based on actual JSON response showing "output" field:
1. ad_copy_content (primary field)
2. content (fallback)
3. ad_copy (model field)
4. raw_response.output (actual webhook response)
5. formatted_ad (processed content)
6. output_text (legacy field)

## Result
- Social ads generator now properly handles form submission
- Correct content extraction from webhook response
- Consistent polling mechanism with other agents
- No more network errors during ad generation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:16:01 +05:30
Claude
ea944072aa Implement custom display functions for all agents
## Overview
Replace generic `AgentUtils.displayResults()` with specialized display functions
for each agent to provide optimized content formatting and presentation.

## Changes Made

### Custom Display Functions Created
- **Job Posting Generator**: Professional business formatting with structured headers
- **Social Ads Generator**: Engaging ad copy styling with creative glassmorphism effects
- **Weather Reporter**: Clean weather data presentation with metric highlighting
- **Data Analyzer**: Already had custom function with rich analysis formatting

### Agent-Specific Features

#### Job Posting Generator
- Professional headers with border styling and proper hierarchy
- Clean business formatting for requirements and responsibilities
- Justified text alignment for formal presentation
- Enhanced bold text for key information

#### Social Ads Generator
- Creative pink/purple theme matching creative agent styling
- Eye-catching call-to-action highlighting with background effects
- Sparkle emoji bullets for engaging list presentation
- Glassmorphism wrapper effects for modern visual appeal

#### Weather Reporter
- Clean blue theme for weather data presentation
- Temperature and metric highlighting with background colors
- Organized weather sections with proper data structure
- Subtle background styling for data containers

### Removed Generic Function
- Removed `AgentUtils.displayResults()` from agent-utils.js
- Added explanatory comment about custom display logic
- Kept shared utilities: showToast, updateWalletBalance, etc.

## Benefits
- **Specialized Content Handling**: Each agent optimizes its specific data structure
- **Better User Experience**: Content formatted appropriately for each use case
- **Enhanced Visual Appeal**: Custom styling matches each agent's theme and purpose
- **Maintainability**: Agent-specific logic contained within each agent
- **Performance**: No unnecessary generic field checking

## Technical Implementation
- Custom content extraction with priority field ordering
- Agent-specific markdown/text formatting functions
- Proper error handling and wallet balance updates
- Consistent success/error messaging patterns
- Type-safe content handling with fallbacks

## Testing
- All agent templates render successfully
- Django project passes system checks
- Custom display functions handle content extraction properly
- Maintained compatibility with existing agent workflows

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 23:08:05 +05:30
Claude
f83c2497cc Fix data analyzer TypeError and enhance markdown parsing
## Issues Fixed
- Fixed TypeError: text.replace is not a function in parseMarkdown
- Enhanced type checking for null/undefined inputs in agent-utils.js
- Data analyzer now properly handles all response data types

## Enhancements
- Improved parseMarkdown function with better type safety
- Enhanced markdown parsing with proper HTML styling
- Added custom parseMarkdownToHTML for data analyzer with rich formatting
- Better handling of headers, lists, bold text, and paragraphs

## Data Analyzer Improvements
- Custom markdown parser with styled headers and lists
- Proper content extraction priority: report_text > insights_summary > raw_response.analysis
- Enhanced visual formatting with CSS variables for consistent theming
- Better error handling and fallback content

## Technical Changes
- Added typeof checks to prevent non-string inputs causing errors
- Enhanced bullet point and numbered list conversion
- Improved paragraph formatting and line break handling
- Consistent styling across all markdown elements

## Test Results
- Data analyzer successfully processes PDF files
- Returns proper JSON responses with formatted analysis
- Markdown parsing works correctly with complex content structure
- No more JavaScript type errors in console

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 22:56:27 +05:30
Claude
8189cca054 Fix data analyzer JSON response errors
## Issue Fixed
- Data analyzer was returning HTML instead of JSON for AJAX requests
- JavaScript was receiving "<\!DOCTYPE..." instead of valid JSON
- SyntaxError: Unexpected token '<' in JSON parsing

## Solution
- Modified data_analyzer_detail view to handle AJAX POST requests
- Added proper X-Requested-With header detection
- Integrated form processing directly in detail view
- Added data_analyzer_status view for polling mechanism
- Updated URL configuration with status endpoint

## Technical Changes
- Handle multipart form data for file uploads in detail view
- Return proper JsonResponse for AJAX requests
- Maintain wallet balance checking and deduction logic
- Use 'analysisType' field name to match frontend form
- Add status polling URL pattern for consistent API

## Result
- Data analyzer now properly returns JSON responses
- Form submission works without page reload
- Consistent with other working agents (weather, job posting, social ads)
- Proper error handling and user feedback

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 19:34:22 +05:30
Claude
aeaf0be031 Implement unified CSS system and fix data analyzer network errors
## Unified Agent Architecture
- Create agent-base.css with theme support (professional, creative, minimal)
- Implement shared JavaScript utilities in agent-utils.js
- Standardize form submission patterns across all agents
- Reduce code duplication by ~600 lines

## CSS Theme System
- Professional theme: Job posting, data analyzer, weather reporter
- Creative theme: Social ads generator (glassmorphism effects)
- Minimal theme: Available for future agents
- Consistent component library with CSS custom properties

## Text Display Standardization
- Replace complex markdown parsing with simple text formatting
- Remove external dependencies (Marked.js + DOMPurify)
- Implement basic text cleaning: remove **, convert line breaks to <br>
- Fix layout stretching issues in job posting results

## Data Analyzer Fixes
- Fix network errors by converting from button click to form submission
- Update to use unified CSS system and professional theme
- Improve file upload handling with conditional checks
- Standardize template structure with other agents

## Form Submission Improvements
- Unified form submission pattern across all agents
- Automatic CSRF token handling via FormData(form)
- Consistent error handling and user feedback
- Reliable polling mechanism for webhook-based agents

## Documentation Updates
- Document unified CSS system and theme architecture
- Add text display standardization guidelines
- Update agent examples with current features
- Include form submission best practices

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 19:30:04 +05:30
Claude
8cc9bb0609 agent polling fix 2025-07-13 17:46:26 +05:30
Claude
0f7f372c8b Implement comprehensive Django performance optimizations
Database Performance:
- Add database indexes to User model (wallet_balance, created_at)
- Optimize queries with select_related/prefetch_related in views
- Create migration for new performance indexes

Caching & Sessions:
- Add Redis caching with intelligent fallback to LocMemCache
- Implement cache-based session storage
- Configure session timeout and optimization settings

Security Enhancements:
- Add comprehensive security headers (XSS, HSTS, content sniffing)
- Implement environment-based security settings
- Add CSRF and session cookie security for production

Development Tools:
- Add debug toolbar and django-extensions (development only)
- Create requirements-dev.txt for development dependencies
- Add structured logging configuration

Performance Dependencies:
- Add Redis and django-redis to requirements.txt
- Update environment template with Redis configuration
- Ensure graceful fallback when Redis unavailable

Expected Performance Improvements:
- 30-50% faster database queries with new indexes
- Improved session performance with cache backend
- Enhanced security posture for production deployment
- Better development experience with debug tools

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 13:23:59 +05:30
Claude
a6e9ca54d6 Fix security vulnerabilities and improve environment configuration
- Remove hardcoded SECRET_KEY from settings.py (now requires env var)
- Remove hardcoded database credentials from PostgreSQL config
- Add environment variable validation on Django startup
- Fix Stripe API key logging to prevent credential exposure
- Update .env.example to match Railway deployment structure
- Replace exposed API key in documentation with placeholder
- Maintain compatibility with existing Railway deployment setup

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 12:30:23 +05:30
quantumtaskai
74e851b996
Merge pull request #1 from quantumtaskai/add-claude-github-actions-1752388122433
Add Claude Code GitHub Workflow
2025-07-13 12:28:34 +05:30
quantumtaskai
802a7b039c Claude Code Review workflow 2025-07-13 11:58:45 +05:30
quantumtaskai
6077b8d3d5 Claude PR Assistant workflow 2025-07-13 11:58:44 +05:30