Flutter frontend for Soliplex -- a modular, multi-platform AI chat application. Serves as both a runnable app and an importable library.
- Authentication -- Multi-server OIDC login with token refresh and secure storage
- Room Chat -- Threaded conversations with AI agents, streaming responses, execution step visibility, and message feedback
- Citations -- Source reference display with PDF chunk visualization for RAG-backed responses
- File Upload -- Cross-platform file attachment to rooms and threads
- Document Filtering -- Narrow RAG retrieval to selected documents
- Quizzes -- Interactive question sessions with scoring and feedback
- Network Inspector -- HTTP request/response debugging with run-level filtering
- Responsive Layout -- Adaptive wide/narrow views across mobile, tablet, and desktop
- Multi-platform -- Android, iOS, macOS, Web, Linux, Windows
flutter pub get
flutter run -d chrome --web-port 59001# Run all tests
flutter test --reporter failures-only
# Coverage report (app + all packages)
bash scripts/coverage.shPre-commit hooks enforce code quality on every commit:
- dart format - Ensures consistent code formatting
- flutter analyze - Catches errors, warnings, and lint issues
- markdownlint-cli2 - Lints markdown files
- gitleaks - Prevents committing secrets
- no-commit-to-branch - Blocks direct commits to main/master
- check-merge-conflict - Detects unresolved merge conflict markers
- check-toml - Validates TOML file syntax
- check-yaml - Validates YAML file syntax
Install uv (if not already installed):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Install pre-commit using uv:
uv tool install pre-commitSet up hooks for this repository:
pre-commit installRun pre-commit on all files:
pre-commit run --all-files