Commit Graph

432 Commits

Author SHA1 Message Date
IGNY8 VPS (Salman)
9540667940 Fix: Remove unused IsSystemAccountOrDeveloper import
This permission class doesn't exist and isn't used in the integration_views.
Removing it to fix ImportError preventing backend startup.
2025-12-25 07:33:50 +00:00
IGNY8 VPS (Salman)
cfc3bac5be Fix: Remove non-existent BillingConfiguration from billing admin
BillingConfiguration model doesn't exist in the codebase, causing ImportError
and preventing backend from starting. Removed the import and admin class.

This was causing the backend to be stuck in restarting state.
2025-12-25 07:32:45 +00:00
alorig
c29984ad91 Merge branch 'main' of https://git.igny8.com/salman/igny8 2025-12-25 11:02:28 +05:00
IGNY8 VPS (Salman)
b0c14ccc32 content view template final version 2025-12-25 04:06:19 +00:00
IGNY8 VPS (Salman)
826ad89a3e Remove aws-admin pattern completely - use account + GlobalIntegrationSettings
ARCHITECTURE FIX:
- aws-admin IntegrationSettings will NEVER exist (it's a legacy pattern)
- Only user's own account IntegrationSettings can exist (if they override defaults)
- Otherwise GlobalIntegrationSettings is used directly
- API keys are ALWAYS from GlobalIntegrationSettings (accounts cannot override API keys)

REMOVED:
- All aws-admin Account lookups
- All aws-admin IntegrationSettings fallback attempts
- Confusing nested try/except chains

CORRECT FLOW NOW:
1. Try account's IntegrationSettings for config overrides
2. Use GlobalIntegrationSettings for missing values and ALL API keys
3. No intermediate aws-admin lookups
2025-12-25 02:11:21 +00:00
IGNY8 VPS (Salman)
504d0174f7 Fix image generation: escape JSON in prompt template + GlobalIntegrationSettings fallback
ROOT CAUSES IDENTIFIED:
1. GlobalAIPrompt template had unescaped JSON braces that broke Python's .format()
   - Python treats {...} as placeholders, causing KeyError when rendering
   - Escaped JSON braces to {{...}} while preserving {title}, {content}, {max_images}

2. Image functions hardcoded aws-admin IntegrationSettings which didn't exist
   - Functions failed when aws-admin account had no IntegrationSettings
   - Added GlobalIntegrationSettings fallback for all missing values

CHANGES:
- Fixed GlobalAIPrompt.image_prompt_extraction template in database (escaped JSON)
- Updated generate_image_prompts._get_max_in_article_images() with fallback
- Updated generate_images.prepare_data() with fallback for all image settings
- Updated tasks.process_image_generation_queue() with fallback for config + API keys

TESTED: Template rendering now works, GlobalIntegrationSettings.max_in_article_images=4
2025-12-25 02:09:29 +00:00
IGNY8 VPS (Salman)
5299fd82eb Revert image prompt changes - investigate original issue 2025-12-25 01:59:23 +00:00
IGNY8 VPS (Salman)
abeede5f04 image prompt issues 2025-12-25 01:17:41 +00:00
IGNY8 VPS (Salman)
64e76f5436 fixed final with new model config and tokens 2025-12-24 15:33:17 +00:00
IGNY8 VPS (Salman)
02d4f1fa46 AI MODELS & final updates - feat: Implement AI Model Configuration with dynamic pricing and REST API
- Added AIModelConfig model to manage AI model configurations in the database.
- Created serializers and views for AI model configurations, enabling read-only access via REST API.
- Implemented filtering capabilities for model type, provider, and default status in the API.
- Seeded initial data for text and image models, including pricing and capabilities.
- Updated Django Admin interface for managing AI models with enhanced features and bulk actions.
- Added validation methods for model and image size checks.
- Comprehensive migration created to establish the AIModelConfig model and seed initial data.
- Documented implementation and validation results in summary and report files.
2025-12-24 13:37:36 +00:00
IGNY8 VPS (Salman)
0a12123c85 gloabl api key issue, credit service issue, credit cost basedon tokens all fixed 2025-12-24 00:23:23 +00:00
alorig
47777476b4 Merge branch 'main' of https://git.igny8.com/salman/igny8 2025-12-24 01:58:22 +05:00
IGNY8 VPS (Salman)
38bc015d96 lot of messs 2025-12-23 14:35:41 +00:00
IGNY8 VPS (Salman)
169db8983b Add backfill command for model_config FK and costs
- Backfills model_config FK from model_name in CreditUsageLog
- Calculates cost_usd_input/output/total from tokens and model pricing
- Processes in configurable batches (default 500)
- Includes dry-run mode for safety
- Successfully backfilled 250 historical logs
- Enables full token analytics on historical data
2025-12-23 07:40:55 +00:00
IGNY8 VPS (Salman)
d402a135ae Add Chart.js visualization templates for token reports
- Copy token_usage.html from remote commit e041cb8e
- Copy ai_cost_analysis.html from remote commit e041cb8e
- Provides interactive visualizations for token analytics
- Charts show: usage trends, cost breakdowns, model comparisons
- Completes Phase D token analytics implementation
2025-12-23 07:32:49 +00:00
IGNY8 VPS (Salman)
6971d416c3 Apply proper admin organization from remote commit 3283a83b
- Replace custom_groups with 12 logical groups from remote config
- Accounts & Tenancy: Account, User, Site, Sector, SiteUserAccess
- Global Resources: Industry, IndustrySector, SeedKeyword
- Plans and Billing: Plan, Subscription, Invoice, Payment, CreditPackage, etc
- Credits: AIModelConfig, CreditTransaction, CreditUsageLog, CreditCostConfig, PlanLimitUsage
- Content Planning: Keywords, Clusters, ContentIdeas
- Content Generation: Tasks, Content, Images
- Taxonomy & Organization: ContentTaxonomy, ContentTaxonomyRelation, etc
- Publishing & Integration: SiteIntegration, SyncEvent, PublishingRecord, etc
- AI & Automation: IntegrationSettings, GlobalModuleSettings, AIPrompt, Strategy, etc
- System Settings: ContentType, ContentTemplate, TaxonomyConfig, etc
- Django Admin: Group, Permission, PasswordResetToken, Session
- Tasks & Logging: AITaskLog, AuditLog, LogEntry, TaskResult, GroupResult

Properly organizes 60+ models in admin sidebar for better usability
2025-12-23 07:23:56 +00:00
IGNY8 VPS (Salman)
022a4ce537 Register GlobalModuleSettings in admin 2025-12-23 07:17:38 +00:00
IGNY8 VPS (Salman)
ca6af145ba Phase 3: Add token analytics reports (adapted for AIModelConfig) 2025-12-23 07:09:05 +00:00
IGNY8 VPS (Salman)
01a42b1549 Phase 2.2: Update AIEngine for token-based billing + GlobalModuleSettings 2025-12-23 07:03:35 +00:00
IGNY8 VPS (Salman)
12c82e78f9 Apply 7a1e952a (partial): Add caption field to Images model 2025-12-23 06:50:52 +00:00
IGNY8 VPS (Salman)
029c30ae70 Apply 646095da: Module settings UI fixes with moduleStore 2025-12-23 06:49:38 +00:00
IGNY8 VPS (Salman)
162947f3cc Apply ab0d6469: Add admin bulk actions across all models 2025-12-23 06:49:00 +00:00
IGNY8 VPS (Salman)
d768ed71d4 New Model & tokens/credits updates 2025-12-23 06:26:15 +00:00
IGNY8 VPS (Salman)
1d4825ad77 refactor: Fix AI billing system - revert to commit #10 + fixes
- Reverted to commit #10 (98e68f6) for stable AI function base
- Fixed database migrations: removed 0018-0019 that broke schema
- Fixed CreditCostConfig schema: restored credits_cost, unit fields
- Fixed historical table schema for django-simple-history
- Added debug system (staged for future use)

Changes:
- CreditCostConfig: Updated OPERATION_TYPE_CHOICES (10 ops, no duplicates)
- CreditUsageLog: Updated choices with legacy aliases marked
- Migration 0018_update_operation_choices: Applied successfully
- All AI operations working (clustering, ideas, content, optimization, etc.)

Test Results:
✓ CreditCostConfig save/load working
✓ Credit check passing for all operations
✓ AICore initialization successful
✓ AIEngine operation mapping functional
✓ Admin panel accessible without 500 errors

Future: AI-MODEL-COST-REFACTOR-PLAN.md created for token-based system
2025-12-23 05:21:52 +00:00
IGNY8 VPS (Salman)
646095da65 moduel setgins fixed 2025-12-20 22:49:31 +00:00
IGNY8 VPS (Salman)
5c9ef81aba moduels setigns rmeove from frotneend 2025-12-20 22:18:32 +00:00
IGNY8 VPS (Salman)
7a1e952a57 feat: Add Global Module Settings and Caption to Images
- Introduced GlobalModuleSettings model for platform-wide module enable/disable settings.
- Added 'caption' field to Images model to store image captions.
- Updated GenerateImagePromptsFunction to handle new caption structure in prompts.
- Enhanced AIPromptViewSet to return global prompt types and validate active prompts.
- Modified serializers and views to accommodate new caption field and global settings.
- Updated frontend components to display captions and filter prompts based on active types.
- Created migrations for GlobalModuleSettings and added caption field to Images.
2025-12-20 21:34:59 +00:00
IGNY8 VPS (Salman)
9e8ff4fbb1 globals 2025-12-20 19:49:57 +00:00
IGNY8 VPS (Salman)
3283a83b42 feat(migrations): Rename indexes and update global integration settings fields for improved clarity and functionality
feat(admin): Add API monitoring, debug console, and system health templates for enhanced admin interface

docs: Add AI system cleanup summary and audit report detailing architecture, token management, and recommendations

docs: Introduce credits and tokens system guide outlining configuration, data flow, and monitoring strategies
2025-12-20 12:55:05 +00:00
IGNY8 VPS (Salman)
ab0d6469d4 bulk actions & some next audits docs 2025-12-20 02:46:00 +00:00
IGNY8 VPS (Salman)
c17b22e927 credits adn tokens final correct setup 2025-12-20 00:36:23 +00:00
IGNY8 VPS (Salman)
e041cb8e65 ai & tokens 2025-12-19 17:06:01 +00:00
IGNY8 VPS (Salman)
71fe687681 image max count 2025-12-17 13:06:42 +00:00
IGNY8 VPS (Salman)
1993d45f32 12 2025-12-17 12:54:12 +00:00
IGNY8 VPS (Salman)
8c1d933647 max iamges 2025-12-17 12:35:43 +00:00
IGNY8 VPS (Salman)
62e55389f9 Add support for GPT-5.1 and GPT-5.2: update token limits and pricing 2025-12-17 11:11:11 +00:00
IGNY8 VPS (Salman)
e43f8553b6 ai repsosne timeout increased to 180s 2025-12-17 08:12:10 +00:00
IGNY8 VPS (Salman)
7ad06c6227 Refactor keyword handling: Replace 'intent' with 'country' across backend and frontend
- Updated AutomationService to include estimated_word_count.
- Increased stage_1_batch_size from 20 to 50 in AutomationViewSet.
- Changed Keywords model to replace 'intent' property with 'country'.
- Adjusted ClusteringService to allow a maximum of 50 keywords for clustering.
- Modified admin and management commands to remove 'intent' and use 'country' instead.
- Updated serializers to reflect the change from 'intent' to 'country'.
- Adjusted views and filters to use 'country' instead of 'intent'.
- Updated frontend forms, filters, and pages to replace 'intent' with 'country'.
- Added migration to remove 'intent' field and add 'country' field to SeedKeyword model.
2025-12-17 07:37:36 +00:00
IGNY8 VPS (Salman)
9f826c92f8 fixes for idea render and other 2025-12-17 05:58:13 +00:00
IGNY8 VPS (Salman)
4bba5a9a1f fixes 2025-12-17 04:55:49 +00:00
IGNY8 VPS (Salman)
45d9dfa0f5 token limit inlegacy file 2025-12-17 01:34:02 +00:00
IGNY8 VPS (Salman)
9656643f0f fixes of ai toke limit standrd 8192 2025-12-17 00:36:18 +00:00
IGNY8 VPS (Salman)
8f97666522 testign promtps 2025-12-17 00:09:07 +00:00
IGNY8 VPS (Salman)
84fd4bc11a final logout related fixes and cookies and session 2025-12-16 19:16:50 +00:00
IGNY8 VPS (Salman)
1887f2a665 logout issues # 2 2025-12-15 17:22:50 +00:00
IGNY8 VPS (Salman)
5366cc1805 logo out issues fixes 2025-12-15 16:08:47 +00:00
alorig
25f1c32366 Revert "messy logout fixing"
This reverts commit 4fb3a144d7.
2025-12-15 17:24:07 +05:00
IGNY8 VPS (Salman)
4fb3a144d7 messy logout fixing 2025-12-15 12:01:41 +00:00
IGNY8 VPS (Salman)
7fb2a9309e asdasdsa 2025-12-15 10:31:20 +00:00
IGNY8 VPS (Salman)
1ef4bb7db6 test: add comments to test webhook 2025-12-15 07:57:22 +00:00