- preserve the canonical AgentModelRequest/AgentModelResponse boundary
- isolate OpenAI Responses continuation and provider schema sanitization
- expand gateway tests for native metadata loss and cross-provider state
- update Agent docs to reflect the completed Phase 2D gateway baseline
- remove the obsolete SkillImportExport draft
- add the Agent design plan as historical background
- Refactored characters-adapter.js to intercept API calls for character management, replacing original function patches with fetch overrides.
- Updated chats-adapter.js to similarly intercept chat-related API calls, enhancing error handling and logging.
- Introduced theme management with new DTOs, services, and repositories for theme saving and deletion.
- Created file-based theme repository for persistent storage of themes.
- Developed themes-api.js to provide a Tauri backend interface for theme operations.
- Established themes-adapter.js to integrate the themes API with Tauri, handling fetch overrides for theme-related requests.
This commit introduces the initial phase of refactoring the SillyTavern backend
from Node.js to Rust, adopting a Clean Architecture approach. This foundational
work aims to improve performance, maintainability, and type safety.
Key accomplishments in this commit include:
* **Backend Refactoring & Architecture:**
* Restructured the backend codebase based on Clean Architecture principles.
* Implemented the core backend logic in Rust for several key modules.
* **API Endpoints Ported to Rust:**
* The following API endpoints have been successfully refactored to Rust:
- `/api/version`
- `/api/secrets`
- `/api/settings`
- `/api/avatars`
- `/api/chats`
- `/api/characters`
- `/api/groups`
- `/api/backgrounds`
* **Frontend Integration:**
* Injected Tauri adapters and necessary API communication layers into the
original SillyTavern frontend to interface with the new Rust backend.
* **Documentation:**
* Authored initial project documentation, including a Product Requirements
Document (PRD) and a comprehensive backend architecture overview.
This commit lays the groundwork for further development and migration of
remaining features to the new Rust-based backend.