* fix(workflow): use loose rendering for end-node variables
* fix(workflow): use int type for memory node config id
* fix(workflow): handle missing environment variable defaults
* fix(workflow): render jinja variables with actual values in non-strict mode
* fix(workflow): support reordering without a rerank model in knowledge base
* fix(workflow): fix typo in key value
* 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