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
dee4387b0b
Add feature-profile endpoint and env-driven optional router profiles
...
- Add ALWRITY_FEATURE_PROFILE env var (precedence over ALWRITY_ROUTER_PROFILE)
- Add OPTIONAL_MODULE_MATRIX defining 'all' and 'default' profiles
- Add get_feature_profile_status() to RouterManager
- Add GET /api/feature-profile/status endpoint in main.py and app.py
- Returns active profile and enabled optional modules
2026-03-31 15:15:50 +05:30
ajaysi
cbcb896d24
Merge PR #451 : Fail demo startup when required API routes are missing
2026-03-30 07:56:43 +05:30
ي
ef7874dcdc
Fail demo startup when required API routes are missing
2026-03-30 07:56:05 +05:30
ajaysi
bbb46ca9d1
fix: Add podcast-only demo mode readiness patches
...
- Patch pricing redirect to route to podcast-maker instead of onboarding
- Allow all plan tiers in demo mode (remove alpha restriction)
- Add Stripe mode warning in demo when key is missing
- Add startup router mount assertions for subscription and podcast
- Add smoke test script for demo mode validation
2026-03-30 07:50:58 +05:30
ajaysi
5965e123b9
Merge PR #446 : Add podcast-only demo mode visibility and router status
2026-03-30 07:43:46 +05:30
ajaysi
c652c0d149
Merge PR #445 : Ensure subscription router is always mounted without duplicates
2026-03-30 07:39:33 +05:30
ي
d13cce7a46
Ensure subscription router is always mounted without duplicates
2026-03-30 07:38:19 +05:30
ajaysi
6596a0515a
Merge PR #444 : Guard onboarding manager behind podcast-only demo mode
2026-03-30 07:36:26 +05:30
ي
4d948e0222
Guard onboarding manager behind podcast-only demo mode
2026-03-30 07:15:08 +05:30
ajaysi
e8e2a7fea0
Merge PR #443 : Add podcast-only demo mode guards in app router setup
2026-03-30 07:11:25 +05:30
ي
ec9d2f922e
Add podcast-only demo mode guards in app router setup
2026-03-30 07:07:24 +05:30
ي
af5a6e0ee3
Add podcast-only demo startup flag and CLI toggle
2026-03-30 06:56:57 +05:30
ajaysi
b28dc4b5f6
Add startup health module and readiness endpoint from PR #434
...
- Add services/startup_health.py with health check functions:
- get_startup_status(): Returns current startup status
- readiness_under_auth_context(): Validates tenant DB under auth context
- run_startup_health_routine(): Runs all startup health checks
- Add /health/readiness endpoint for tenant DB validation
- Update startup_event() to use run_startup_health_routine()
- Add raise to startup_event to fail fast on errors
2026-03-22 11:33:20 +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
c54ad409a7
Merge branch 'pr-402'
...
# Conflicts:
# backend/app.py
2026-03-09 15:40:30 +05:30
ي
e8d76cd745
Sync SEO dashboard imports and add route smoke test
2026-03-09 12:07:57 +05:30
ي
936dd14e0d
Add consolidated onboarding SEO task health API and dashboard panel
2026-03-08 23:09:02 +05:30
ajaysi
4828274cbf
Release Candidate: Production Release with Multi-Tenant & Onboarding Enhancements
2026-02-28 20:08:00 +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
8193cdba67
AI Analysis and Content Strategy fixes. Enhanced Strategy Routes refactoring.
2026-01-10 19:32:50 +05:30
ajaysi
b134e9dc7e
Added video studio router and endpoints. Added research router and endpoints. Added youtube router and endpoints. Added onboarding utils router and endpoints. Added onboarding utils service. Added onboarding utils models. Added onboarding utils routes. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils.
2026-01-01 17:56:25 +05:30
ajaysi
81590cf4db
WIP: AI Podcast Maker and YouTube Creator Studio integration
2025-12-10 09:37:55 +05:30
ajaysi
49e2131715
AI Image Studio, AI podcast Maker, AI product Marketing
2025-11-28 14:33:52 +05:30
ajaysi
77d7c0cde6
AI Image Studio Progress Review
...
- Added new router for content assets
- Added new service for content assets
- Added new model for content assets
- Added new utils for content assets
- Added new docs for content assets
- Added new tests for content assets
- Added new examples for content assets
- Added new guides for content assets
2025-11-23 09:21:11 +05:30
ajaysi
eede21ad42
AI Image Studio Phase 1
2025-11-20 09:06:00 +05:30
ajaysi
3b9356e2c8
story writer backend migration complete, Blog writer SEO and story writer backend migration complete, Blog writer SEO and story writer frontend migration complete
2025-11-13 16:14:26 +05:30
ajaysi
d99c7c83a7
Scheduled research persona generation
2025-11-05 08:51:00 +05:30
ajaysi
e69107b07c
Research component integration, Copilotkit implementation, SEO copilotkit implementation, Wix SEO metadata complete, Wix SEO metadata review
2025-11-03 16:01:44 +05:30
ajaysi
de4328175d
Subscription dashboard improvements, AI text generation limit, and other fixes.
2025-11-01 18:01:14 +05:30
ajaysi
cdb41aec1b
Added image generation to blog writer
2025-10-31 15:59:16 +05:30
ajaysi
4431cd9848
SEO Dashboard Fixes and content planning refactoring
2025-10-29 17:10:48 +05:30
ajaysi
2240cefa30
Subscription API and API key injection middleware added
2025-10-19 17:56:09 +05:30
ajaysi
1f087aad4c
Bing Analytics and Insights added, background jobs added, database setup updated, environment setup updated, frontend updated, backend updated.
...
Onboarding Manager and Router Manager refactored, analytics and background jobs added, database setup updated, environment setup updated, frontend updated, backend updated.
Critical onboarding database migration implemented.
2025-10-18 10:28:15 +05:30
ajaysi
40fb6ac95b
ALwrity Backend and Frontend - Stability and Error Handling Improvements
2025-10-14 10:57:16 +05:30
ajaysi
b6debd80b7
Subscription Guard and Installation Guide
2025-10-13 15:27:48 +05:30
ajaysi
c38812b6c5
Pricing Page and Subscription Guard
2025-10-13 10:25:57 +05:30
ajaysi
ffa1a078f4
Adjusted WebsiteStep container width for better layout
2025-10-11 17:37:24 +05:30
ajaysi
b1ebe1034e
ALwrity onboarding final step
2025-10-10 23:19:28 +05:30
ajaysi
4e633f32d9
ALwrity + Wix + Wordpress + GSC integration
2025-10-08 17:27:32 +05:30
ajaysi
5e3901c1c6
ALwrity + Wordpress + Wix + GSC integration
2025-10-08 14:25:59 +05:30