Commit Graph

43 Commits

Author SHA1 Message Date
ajaysi
928c2f20aa fix: WYSIWYG editor, content generation, and writing assistant bug fixes
- Fix text selection menu not showing: wire contentRef via inputRef on multiline TextField
- Fix blog title not truncating: add min-w-0 for flex item overflow
- Fix outline generation 500: escape curly braces in f-string prompt template
- Fix content generation 'NoneType not callable': replace SessionLocal() with get_session_for_user(), add db param to MediumBlogGenerator, fix signature mismatch in database_task_manager
- Fix writing assistant suggest 500: add auth + user_id to API endpoint and service, replace sync requests with httpx.AsyncClient
- Fix hallucination detector 404: explicitly include router in main.py and app.py
- Fix missing error_data in task failure responses
- Hide CopilotKit web inspector button
- Remove hardcoded fallback suggestions from SmartTypingAssist
- Fix stale closure refs in SmartTypingAssist handleTypingChange
- Add two-column editor layout, stats bar, section hover menu
- Various subscription, billing, and research module improvements
2026-05-14 09:11:51 +05:30
ajaysi
0d0d964605 Fix podcast-only mode: skip seo_analyzer imports to prevent bs4/beautifulsoup4 loading
- Conditionally import component_logic_router only when NOT in podcast mode
- Conditionally import seo_tools_router only when NOT in podcast mode
- Both use seo_analyzer which requires beautifulsoup4
- Also added debug logging to render-build.sh to verify ALWRITY_ENABLED_FEATURES
- Added beautifulsoup4 to requirements-podcast.txt (was missing)
2026-04-06 13:16:32 +05:30
ajaysi
cc03567d2f Use Gunicorn in Procfile for Render, add platform detection 2026-04-06 09:03:57 +05:30
ajaysi
27147d50a5 Fix deployment: add gunicorn to minimal deps, use start_alwrity_backend.py 2026-04-06 07:16:11 +05:30
ajaysi
f6795100ac fix(backend): add more debug markers around app import to diagnose hanging 2026-04-05 15:52:53 +05:30
ajaysi
aa2317c359 fix(backend): lazy-load PersonaAnalysisService in podcast mode, preserve PORT from Render 2026-04-05 15:28:49 +05:30
ajaysi
bba56a1940 fix(backend): add more debug logs and skip video preflight in podcast mode 2026-04-05 13:02:00 +05:30
ajaysi
1cf3ae96ce debug(backend): add port binding logs and memory usage instrumentation 2026-04-05 11:59:48 +05:30
ajaysi
a43c229809 fix: load .env from backend directory specifically 2026-04-04 19:37:12 +05:30
ajaysi
0e8953b538 debug: add more flush logging to diagnose startup 2026-04-04 19:34:39 +05:30
ajaysi
08f08a1a52 fix: revert PORT default to 8000 (user sets PORT env) 2026-04-04 17:51:33 +05:30
ajaysi
22c31e6c77 fix: default PORT to 10000 for Render 2026-04-04 12:02:09 +05:30
ajaysi
b8ffda1cbb fix: detect cloud by PORT env, not RENDER 2026-04-04 08:06:25 +05:30
ajaysi
3f2d9104d9 fix: ensure HOST defaults to 0.0.0.0 and add debug logging for PORT 2026-04-03 08:23:36 +05:30
ajaysi
63bb937796 feat: podcast demo mode with ALWRITY_ENABLED_FEATURES support
- Add ALWRITY_ENABLED_FEATURES env var for feature gating
- Podcast-only mode: skip LLM bootstrap, scheduler, persona services
- Enhance video generation prompt with scene context, analysis, narration
- Add voice cloning support via custom_voice_id in WaveSpeed
- Add text-to-speech for research results (browser speechSynthesis)
- Fix render queue to sync images from script phase
- Add WaveSpeed LLM pricing (gpt-oss-120b)
- Fix podcast bible generation error handling
- Refactor RouterManager for feature-based router loading
2026-04-03 06:59:59 +05:30
ajaysi
49e0ee8e9e Consolidate on ALWRITY_ENABLED_FEATURES - remove all legacy support
Backend:
- Remove all legacy env var fallbacks (ALWRITY_FEATURE_PROFILE, ALWRITY_ROUTER_PROFILE, etc)
- Remove get_active_profile() from start_alwrity_backend.py
- Remove _env_flag_enabled() from app.py
- Use ALWRITY_ENABLED_FEATURES as single source of truth

Frontend:
- demoMode.ts now uses only REACT_APP_ENABLED_FEATURES
- Removed all legacy fallback keys (app_mode, demo_mode, podcast_only_demo_mode)

Usage:
  ALWRITY_ENABLED_FEATURES=podcast     # Podcast only
  ALWRITY_ENABLED_FEATURES=all        # All features (default)
2026-03-31 18:51:30 +05:30
ajaysi
edd92ec85b Deprecate legacy feature flags, use ALWRITY_ENABLED_FEATURES only
- Remove fallback to ALWRITY_FEATURE_PROFILE, ALWRITY_ROUTER_PROFILE
- Primary env var is now ALWRITY_ENABLED_FEATURES (backend)
- Primary env var is REACT_APP_ENABLED_FEATURES (frontend)
- Add deprecation comments to all get_enabled_features() functions
- Update demoMode.ts with clear deprecation notes

Usage:
  ALWRITY_ENABLED_FEATURES=podcast      # Podcast only
  ALWRITY_ENABLED_FEATURES=all          # All features (default)
2026-03-31 18:45:52 +05:30
ajaysi
cd06c6aaa8 Consolidate feature flags to ALWRITY_ENABLED_FEATURES
Backend:
- Add get_enabled_features() returning set from ALWRITY_ENABLED_FEATURES
- Update router registry to use 'features' instead of 'profiles'
- Support feature names: podcast, blog-writer, youtube, story-writer, etc
- Update bootstrap gating to use enabled features
- Update PODCAST_ONLY_DEMO_MODE to check new flag first
- Add backwards compatibility with legacy env vars

Frontend:
- Update demoMode.ts to use REACT_APP_ENABLED_FEATURES
- Add getEnabledFeatures() and isFeatureEnabled() utilities

Usage:
  ALWRITY_ENABLED_FEATURES=all          # All features (default)
  ALWRITY_ENABLED_FEATURES=podcast      # Podcast only
  ALWRITY_ENABLED_FEATURES=podcast,core # Podcast + core features
2026-03-31 18:40:54 +05:30
ajaysi
bf6cdf1109 Add startup summary for active profile, routers, and bootstraps
- Add BootstrapResult dataclass for structured bootstrap results
- bootstrap_linguistic_models() and bootstrap_local_llm_models() return BootstrapResult
- Set ALWRITY_ACTIVE_PROFILE env var at startup and print active profile
- Set ALWRITY_BOOTSTRAP_SUMMARY with JSON summary of bootstrap results
- Print bootstrap summary at startup
- Track skipped_routers in RouterManager with reasons
- Add log_startup_summary() to log enabled/skipped/failed routers
- Call log_startup_summary() in app.py after router inclusion
2026-03-31 15:23:41 +05:30
ajaysi
08e51f76fa Profile-aware bootstrap gating in start_alwrity_backend.py
- Add LINGUISTIC_REQUIRED_FEATURES set for profile-based gating
- Add get_active_profile() helper to read from ALWRITY_ACTIVE_PROFILE, ALWRITY_PROFILE, ALWRITY_FEATURE_PROFILE
- Add get_loaded_features() to read from ALWRITY_LOADED_FEATURES
- Add should_bootstrap_linguistic_models() - runs for all/default or when loaded features intersect linguistic-required
- Add should_bootstrap_local_llm_models() - skip for podcast/youtube/planning profiles
- Gate bootstrap steps at module load time
2026-03-31 15:18:03 +05:30
ajaysi
5965e123b9 Merge PR #446: Add podcast-only demo mode visibility and router status 2026-03-30 07:43:46 +05:30
ي
af5a6e0ee3 Add podcast-only demo startup flag and CLI toggle 2026-03-30 06:56:57 +05:30
ajaysi
d557bd4918 Fix merge conflicts and resolve circular import issues
- Resolve conflict markers in logging_config.py, main.py, app.py
- Fix circular imports in story_writer services (image/audio/video generation)
  by using lazy imports for get_story_media_write_dir
- Restore clean versions of:
  - sif_agents.py
  - tenant_provider_config.py
  - personalization_service.py
  - huggingface_provider.py
  - main_text_generation.py
  - logger_utils.py
- Use setup_clean_logging() consistently across app.py and main.py
- Restore verbose_mode handling in start_alwrity_backend.py
2026-03-22 10:45:05 +05:30
ajaysi
d412275748 "Merge_PR_422_unify_backend_logging_configuration" 2026-03-12 17:32:50 +05:30
ي
51313f60dc Unify backend logging configuration entrypoint 2026-03-12 15:05:30 +05:30
ي
7619604324 Harden logging config with safer overrides and optional JSON/file sinks 2026-03-11 16:31:28 +05:30
ajaysi
651bd2b5f0 fix: Fix Unicode encoding issue in backend startup script
- Changed rocket emoji to ASCII [*] for Windows CP1252 compatibility
- This allows the backend to start without UnicodeEncodeError on Windows
2026-03-09 16:25:56 +05:30
ajaysi
2318fd8a48 Render deploy hardening: skip large model bootstrap on cloud, respect PORT, pin requests deps; add runtime.txt and render-build.sh 2026-03-04 12:55:35 +05:30
ajaysi
08a1f4a1d8 Save local changes (GSC/Bing integrations) before merging PR #354 2026-02-13 13:11:27 +05:30
ajaysi
e404a86502 Recovered state: integrated TrendSurferAgent, restored frontend/backend files, and cleaned up recovery scripts 2026-02-08 13:56:57 +05:30
ajaysi
1db10ccd0f Added documentation for the auto-population feature and the analytics integration. 2026-01-17 11:01:10 +05:30
ajaysi
bf7493c366 AI Video Generation Implementation 2025-11-17 17:38:23 +05:30
ajaysi
40fb6ac95b ALwrity Backend and Frontend - Stability and Error Handling Improvements 2025-10-14 10:57:16 +05:30
ajaysi
96b240b8ba ALwrity + Wordpress + Wix + GSC integration 2025-10-08 16:12:26 +05:30
ajaysi
719ca06da0 ALwrity + Wordpress + Wix + GSC integration 2025-10-08 15:06:35 +05:30
ajaysi
5e3901c1c6 ALwrity + Wordpress + Wix + GSC integration 2025-10-08 14:25:59 +05:30
ajaysi
3bab3450dc ALwrity + Wordpress + Wix + GSC integration 2025-10-08 10:13:14 +05:30
ajaysi
1460ce3cb6 Added enhanced linguistic analyzer and persona quality improver 2025-09-14 09:53:27 +05:30
ajaysi
c0a366269d Added blog writer implementation - WIP 2025-09-12 10:26:08 +05:30
ajaysi
489a60e4a2 Add overall metrics to the hallucination detector 2025-09-08 22:09:45 +05:30
ajaysi
f76381030b Alwrity monitoring data service 2025-08-28 11:11:55 +05:30
ajaysi
5d8d1cfb73 ALwrity version 0.5.6 2025-08-22 14:08:54 +05:30
ajaysi
32f97fa6b3 ALwrity Version 0.5.0 (Fastapi + React ) 2025-08-06 12:48:02 +05:30