5 Commits

Author SHA1 Message Date
f4b84cc412 fix: security hardening, code fixes, and infrastructure improvements
- Replace eval() with json.loads() in database.py (RCE fix)
- Use json.dumps() for safe storage of list fields
- Add API key authentication middleware
- Remove hardcoded credentials, require env vars
- Disable Flask debug mode
- Restrict FTP homedir to /app/data with read-only perms
- Fix threading: Lock -> RLock, add WAL mode
- Fix API calls to use correct DatabaseManager methods
- Fix main.py FTP method names
- Fix click.click.echo typo
- Implement scheduler _run_all_jobs
- Add __main__.py for module execution
- Pin dependency versions
- Use .env vars in docker-compose, read-only DB for FTP
- Implement AI text chunking with overlap windows
- Add schema validation for AI responses
- Skip unsupported file types instead of fallback
2026-07-05 13:05:08 +00:00
038bf2649a Fix database path configuration - correct default path in Config class 2026-02-02 21:39:16 -06:00
5d9f755e61 Fix database path configuration - use relative path './facts.db' instead of 'facts.db' 2026-02-02 21:37:12 -06:00
9c7ca7209f Move configuration from config.json to docker-compose.yml environment variables 2026-02-02 20:38:15 -06:00
fc6eece076 Complete implementation of FactsDB service with AI integration, FTP server, scheduler, and monitoring 2026-02-02 20:31:02 -06:00