- Removed try-except block for importing `audit_logger` and directly imported it.
- Removed redundant checks for `audit_logger` being `None` before logging operations.
- Added a check in `MemoryPerceptualService` to return `None` if `model_config` or `llm` is `None`.
- Adjust multi-modal memory write behavior for text and visual data
- Mask API keys in model list response to prevent exposure
- Add capability-based filtering to the model list API
* refactor(conversation): separate service and repository layers for conversation module
- Split ConversationService and repository/UnitOfWork layers
- Service layer now only handles business logic and orchestration
- Repository layer handles all direct database operations
- UnitOfWork encapsulates transactional operations for messages
- Ensured all public methods have clear English docstrings with arguments, return values, and exceptions
* feat(memory): implement work memory endpoints and services
- Added API routes for conversation count, conversation list, messages, and detail.
- Integrated ConversationService for database queries and LLM-based summary generation.
* feat(memory): implement work memory endpoints and services
- Added API routes for conversation count, conversation list, messages, and detail.
- Integrated ConversationService for database queries and LLM-based summary generation.
* feat(workflow): fix issues causing workflow failures
if-else None value error
knowledge empty list rerank
end node output none node value
assigner input none value
* feat(memory): convert memory file creation time to timestamp and include title and first-line fields in file type
* fix(memory): fix serialization output and default value issues
* fix(workflow): fix issue with hybrid search logic in knowledge retrieval node
* perf(workflow): pass JSON data to HTTP node as a string
* perf(prompt_opt): simplify log output
* feat(memory): add perceptual memory page API and related database schema
* perf(log): clean up API exception log output
* perf(memory): simplify perceptual memory timeline response by removing metadata