* feat(ocr): implement OCR provider interface and add Google Document AI and LLM providers
* chore(deps): reorder dependencies in go.mod for better readability
* chore: update version numbers and adjust Docker configuration for Google Document AI integration
* feat(logging): add structured logging to Google Document AI and LLM providers
* chore: add placeholder file to maintain directory structure in web-app/dist
* chore(docker): remove Google Application Credentials configuration from docker-compose
- Spawn a new goroutine in the `main` function to process documents with the `autoTag` every 10 seconds.
- Implement `processAutoTagDocuments` function to:
- Fetch documents with the `autoTag`.
- Generate suggestions using the LLM.
- Apply the suggestions to the documents.
- Remove the `autoTag` from the documents.
- Add logging for each document being processed.
- **Custom Prompt Templates**: Introduced support for user-modifiable prompt templates using Go's `text/template`.
- Added default prompt templates for title and tag generation.
- Templates are stored in the `prompts` directory and are loaded at startup.
- If the template files do not exist, they are created with default content.
- Users can modify the templates by editing the files in the `prompts` directory.
- **API Endpoints for Prompts**:
- Added `GET /api/prompts` endpoint to retrieve the current prompt templates.
- Added `POST /api/prompts` endpoint to update the prompt templates.
- These endpoints prepare for future UI support for modifying prompts.
- **Thread Safety**:
- Implemented a `sync.RWMutex` to ensure thread-safe access to the templates.
- **Updated Backend Logic**:
- Modified `getSuggestedTitle` and `getSuggestedTags` functions to use the loaded templates.
- Templates utilize variables like `{{.Language}}`, `{{.Content}}`, `{{.AvailableTags}}`, and `{{.Title}}`.
- **Docker and Documentation**:
- Updated the `loadTemplates` function to ensure the `prompts` directory exists and to save default templates if missing.
- Updated the README with instructions on how to mount the `prompts` directory in Docker and Docker Compose.
- Provided guidance on modifying the prompt templates via file edits.