IA-1015: feat: add UUID lookup, language/filtering/detail-level/testing configs and config history
Summary
This MR introduces UUID-based assistant lookup and a full suite of configuration modules for the Japprends assistant service, along with a testing and config history tracking system.
Changes
Bug Fixes & Improvements
- Add UUID-based assistant lookup (
getByUuidendpoint) across controller, service, repository, and exception - Configure
RestTemplatewith connection timeout usingHttpComponentsClientHttpRequestFactory - Add dynamic system prompt support to
RAGServicevia method overload - Fix transcription response field mapping to
texte_complet - Add Keycloak OAuth2 resource server config to
application.yml - Fix OCR URL in local profile (
application-local.yml) - Bump
brainboost-commonto0.0.107-RELEASE
New Features
Detail Level Config
- CRUD endpoints to get, update, and reset assistant detail level
- Constants class for all 5 level descriptions and examples
Language Config
- Get, update, and reset language configuration per assistant
- Toggle individual language support
- Update primary/secondary language independently
- Update communication style (AMICAL, NEUTRE, ACADEMIQUE)
- Auto-creates default config if none exists
Filtering Config
- Get, update, and reset filtering rules per assistant
- Manage blocked terms for assistant and students separately
- Create, update, and delete custom filtering rules
- Auto-creates default rules if none exist
Testing Module
- Submit test queries (text, image via OCR, audio via transcription)
- Evaluate test responses with score and feedback
- Bulk test submission
- Test history with pagination and date range filtering
- Statistics: average score, pass rate, evaluation type distribution
- Performance metrics with daily activity and score improvement
- Full test report generation for a given period
Config History
- Track all configuration changes per assistant (section, action, comment, user)
- Paginated history retrieval
- Clear history (admin only)
- Shared
ApiResponse<T>wrapper introduced for all config endpoints