Initial commit: VoIdeaAI - voice-first AI idea assistant

This commit is contained in:
2026-05-13 12:51:42 +03:00
commit 688d043dad
421 changed files with 47915 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
# audit_agent Changelog
<!-- checksum: ed7187992e444fcf66434652a6bcc67f2456231695a87c8c11397dfcb78491e4 -->
## 1.0.0 (2026-05-10)
- Initial version: style_check, type_check, docs_check
+5
View File
@@ -0,0 +1,5 @@
# backlog_agent Changelog
<!-- checksum: 304ea3be6001aad5219fcc26769b7445191e514bbc41c12fdec3ae56a2fa3e8b -->
## 1.0.0 (2026-05-10)
- Initial version: create, list, update, delete, suggest
+5
View File
@@ -0,0 +1,5 @@
# doc_agent Changelog
<!-- checksum: 4597ebce9130095330e66d4f2f96a35cdd0b3ac5ede739eff5c64b69471cae5e -->
## 1.0.0 (2026-05-10)
- Initial version: documentation, docstrings, runbook
+5
View File
@@ -0,0 +1,5 @@
# evolution_agent Changelog
<!-- checksum: c82c703aa0d16623f63003d4486472388fbc24c6b6bb21087daba57b50d743dc -->
## 1.0.0 (2026-05-10)
- Initial version: analyze, evolve, suggest, status, version_bump
+5
View File
@@ -0,0 +1,5 @@
# fix_agent Changelog
<!-- checksum: aed23b015f59b46f5bc6cad0f5d49e02ed7dbc82fae22caacb13f55139354ec4 -->
## 1.0.0 (2026-05-10)
- Initial version: bug_analysis, patch_generation, validation
+5
View File
@@ -0,0 +1,5 @@
# observer_agent Changelog
<!-- checksum: 2eb0f71129ae3ab0ad8cf43bb7fd9f308703661b6842a803eeef9450a65b2b19 -->
## 1.0.0 (2026-05-10)
- Initial version: collect, report, analyze, metrics
+5
View File
@@ -0,0 +1,5 @@
# qa_tester_agent Changelog
<!-- checksum: b31ea354ad4cf44e74854e47d30c6113c4c7ce2b061c4113590fafde432dfec4 -->
## 1.0.0 (2026-05-10)
- Initial version: functional_test, smoke_test, regression
+5
View File
@@ -0,0 +1,5 @@
# rollout_agent Changelog
<!-- checksum: 537b00378c58661199789d5971bda1819e7f967a54dae287d1a3357f5ad799eb -->
## 1.0.0 (2026-05-10)
- Initial version: gradual_deploy, monitor, rollback
+5
View File
@@ -0,0 +1,5 @@
# security_agent Changelog
<!-- checksum: e5d70efa860f4905da60f890cda502ba260e32ea0574eb5dc4adee5850805c9b -->
## 1.0.0 (2026-05-10)
- Initial version: vulnerability_scan, dependency_check, compliance
+5
View File
@@ -0,0 +1,5 @@
# spec_agent Changelog
<!-- checksum: f9d814c6ba573aa1b3c53c1f49b72ea1cb5c48da6cd48de40a1846207976f1ea -->
## 1.0.0 (2026-05-10)
- Initial version: versioning, changelog, project_json
+5
View File
@@ -0,0 +1,5 @@
# ui_test_agent Changelog
<!-- checksum: c71acf4c1b8f6aaf95131323c3c2bdf078b1cc0b086927124e3f24148d81498b -->
## 1.0.0 (2026-05-10)
- Initial version: screenshot_test, layout_check, accessibility
+33
View File
@@ -0,0 +1,33 @@
# Changelog v1.0
## [1.0.0] - 2026-05-11
### Added
- Project rename: VoIdea → VoIdeaAI (config, main.py, .env.example, PWA)
- Phase 0: Database models and initial Alembic migration (8 tables)
- Phase 1: Chat sessions with auto-title (LLM), sidebar, history
- Phase 6: Rate limiting (slowapi) on all auth endpoints
- Phase 7: Security hardening — security headers middleware, brute force protection (5 attempts),
refresh token rotation, separate JWT reset secret
- 26 agents: 1 Conductor + 13 role agents + 12 dev/ops agents
- Voice pipeline: Web Speech API → Whisper API, SpeechSynthesis TTS
- Yandex OAuth + Disk integration (7 scopes)
- Password reset via email (JWT token, 1h expiry)
- AES-256 encryption service (Fernet, PBKDF2 600k)
- Email service with Jinja2 templates and SMTP fallback logging
- Google/Apple OAuth stubs with Drive client interfaces
- Full PWA support: manifest, favicons, service worker
- docs/full.md — comprehensive project specification (19 sections)
### Changed
- Static files moved from `/assets` to proper StaticFiles mount in main.py
- Conductor agent accepts session_id, auto-creates sessions
- VoiceChat UI: sidebar with session list, text input alongside mic
- .env: updated to unified DATABASE_URL format, new OAuth fields
### Security
- All auth endpoints rate-limited (10/min login, 5/min register, 3/min forgot-password)
- SecurityHeadersMiddleware: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
- Brute force: 5 failed login attempts → 15 minute block
- Refresh token rotation on every refresh call
- Password reset uses separate JWT secret key
+66
View File
@@ -0,0 +1,66 @@
# Changelog v2.0
## [2.0.0] - 2026-05-11
### Added (Backend)
- **Config**: 14 new env vars — `SYSTEM_OWNER_EMAIL`, social networks (4), analytics IDs (2), tariff toggle, slogan, mobile push stubs (2), accepted terms version
- **Role system**: `role` field (user|moderator|admin|owner), `is_owner` flag, `permissions` JSONB for granular moderator rights
- **Owner protection**: `SYSTEM_OWNER_EMAIL` locks one user as permanent owner — cannot be deleted, suspended, or demoted via API/UI
- **Feedback system**: new `feedback` table + POST/GET/PATCH/DELETE endpoints + admin moderation
- **Tariff system**: `tariff_plans` + `user_subscriptions` tables, admin CRUD, feature gating module (`FeatureGate`)
- **Public config endpoint**: `GET /api/v1/config/public`
- **BacklogTask `category` field**: separates features from general backlog items
- **Service management**: systemd unit files (API, Worker, Beat) + restart endpoints (owner-only, production-guarded)
- **Seed data**: `seed_database()` — Free tariff, 26 agent descriptions, owner by `SYSTEM_OWNER_EMAIL`
- **Migration 002**: roles, tariffs, feedback, agent descriptions, backlog category
### Added (Frontend)
- **Landing page**: public `/` with hero, features, CTA
- **Legal pages**: `/privacy`, `/terms`, `/data-processing` with full content
- **Register checkbox**: mandatory agreement to Terms & Data Processing
- **Social footer**: GitHub + Telegram icons in Layout footer, legal links
- **SEO**: meta keywords, Open Graph tags, Twitter Card, JSON-LD, robots.txt, sitemap.xml
- **Analytics**: YandexMetrika + GAScript conditional components (empty ID = disabled)
- **In-app documentation**: UserGuidePage, AdminDocumentationTab (role-filtered), HelpFAB, HelpDrawer
- **Admin panel**: complete rewrite — 8 tabs (Users, Agents, Features, Logs, Feedback, Tariffs, Services, System)
- Users tab: search, inline edit (name, email, role, active), delete, moderator permissions editor
- Agents tab: list, toggle enable/disable
- Features tab: create, cycle status (pending→in_progress→done)
- Logs tab: filter by level/source
- Feedback tab: filter by status, change status, delete
- Tariffs tab: create with JSON features, toggle active, delete
- Services tab: restart systemd services (owner-only, production)
- System tab: version, environment, DB status, Python version, uptime
- Docs tab: role-filtered administration guide
- **Settings page**: `/settings` — profile, security (change password), voice, theme (dark/light), integrations, tariff info
- **User settings link** in Layout header nav
- **FeedbackForm component**: textarea + submit, success state
- **Feedback page**: `/feedback` standalone page
- **API modules**: `config.ts`, `feedback.ts`, `tariffs.ts`, `admin.ts` (full CRUD)
- **AuthContext**: updated User interface with role, is_owner, permissions
- **SEOHead component**: dynamic title/meta per page
### Changed
- `User` model: `is_superuser` → property based on `role`, added `is_owner`, `permissions` (JSONB), `accepted_terms_at`, `accepted_terms_version`
- `RegisterPage`: added mandatory checkbox for Terms & Privacy agreement
- `Layout`: added footer with social icons, legal links; header settings link; HelpFAB
- `AdminPage`: complete rewrite from simple 2-tab to full 8-tab panel
- `AuthContext`: updated User interface, register passes `accepted_terms: true`
- `ProtectedRoute`: uses `role` and `is_owner` for admin checks
- **Routing**: `/` → LandingPage (public), `/dashboard` → Dashboard (protected)
- `index.html`: comprehensive SEO meta tags, Open Graph, JSON-LD, Twitter Card
- `tailwind.config.js`: added `@tailwindcss/typography` plugin
- `app/core/config.py`: restructured with new sections (System Owner, Social, Analytics, Tariffs, Push)
- `app/main.py`: lifespan calls `seed_database()` with try/except
### Added (DevOps)
- `deploy/voidea-api.service` — systemd unit for FastAPI (uvicorn, 2 workers)
- `deploy/voidea-worker.service` — systemd unit for background worker
- `deploy/voidea-beat.service` — systemd unit for beat scheduler
- `deploy/deploy.sh` — full deployment script (user, deps, venv, build, migrate, systemd)
### Documentation
- `docs/full.md` — full rewrite covering v2.0 features
- `docs/user-guide.md` — user manual (quick start, agents, commands)
- `docs/admin-guide.md` — admin/owner/moderator guide
- `CHANGELOG/v2.0.md` — this file