beatenevo opened a new pull request, #1540:
URL: https://github.com/apache/dubbo-admin/pull/1540

   **Please provide a description of this PR:**
   
   This PR adds pluggable persistence for AI conversation data.
   
   Related to #1502.
   
   ## Changes
   
   - Define `SessionStore`, `MessageStore`, and the combined `Store` interfaces.
   - Migrate the existing in-memory session, turn, and message logic to 
`MemoryStore`.
   - Inject one shared Store instance into the Session Manager, Agent, and 
Memory Tool.
   - Add GORM models for sessions, turns, and messages.
   - Implement `GormStore` for persistent session history.
   - Add Memory/GORM backend configuration and database connection 
initialization.
   - Add schema migration support.
   - Add transactional writes and deletions.
   - Enforce message ordering with a unique `(turn_id, sequence)` constraint.
   - Delete session-related messages and turns transactionally without database 
foreign keys.
   - Prevent expired-session cleanup from deleting sessions refreshed by 
another instance.
   - Add contract, rollback, restart recovery, multi-instance sharing, JSON 
codec, and component regression tests.
   
   ## Testing
   
   The following checks pass:
   
   - `go test ./...`
   - `go test -race ./store/... ./component/agent/react ./component/tools/test 
./component/server/engine ./component/server/engine/sse`
   - `go vet ./...`
   
   SQLite is used for local persistence and behavioral tests. MySQL and 
PostgreSQL drivers are included and compile successfully. Service-backed 
MySQL/PostgreSQL integration tests are outside the current PR because CI 
database services are not configured.
   
   **To help us figure out who should review this PR, please put an X in all 
the areas that this PR affects.**
   
   - [ ] Docs
   - [ ] Installation
   - [ ] User Experience
   - [ ] Dubboctl
   - [X] Console
   - [X] Core Component
   
   
   **Please check any characteristics that apply to this pull request.**
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to