[codex] Add group chat room reset and clone (#756)

* Add group chat room reset and clone

* Clean npm cache before self update
This commit is contained in:
ekko
2026-05-15 15:52:16 +08:00
committed by GitHub
parent 94f1061734
commit 8196e49478
18 changed files with 373 additions and 9 deletions
@@ -17,7 +17,9 @@ import {
addAgent,
listAgents,
removeAgent,
cloneRoom as cloneRoomApi,
deleteRoom as deleteRoomApi,
clearRoomContext,
} from '@/api/hermes/group-chat'
export const useGroupChatStore = defineStore('groupChat', () => {
@@ -139,6 +141,16 @@ export const useGroupChatStore = defineStore('groupChat', () => {
const room = rooms.value.find(r => r.id === data.roomId)
if (room) room.totalTokens = data.totalTokens
})
socket.on('room_cleared', (data: { roomId: string; totalTokens: number }) => {
const room = rooms.value.find(r => r.id === data.roomId)
if (room) room.totalTokens = data.totalTokens
if (data.roomId === currentRoomId.value) {
messages.value = []
typingUsers.value.clear()
contextStatuses.value.clear()
}
})
}
function disconnect() {
@@ -279,6 +291,33 @@ export const useGroupChatStore = defineStore('groupChat', () => {
}
}
async function cloneRoom(roomId: string, data?: { name?: string; inviteCode?: string }) {
try {
const res = await cloneRoomApi(roomId, data)
rooms.value.push(res.room)
return res
} catch (err: any) {
error.value = err.message
throw err
}
}
async function clearCurrentRoomContext() {
if (!currentRoomId.value) return
try {
const res = await clearRoomContext(currentRoomId.value)
messages.value = []
typingUsers.value.clear()
contextStatuses.value.clear()
const idx = rooms.value.findIndex(r => r.id === currentRoomId.value)
if (idx >= 0 && res.room) rooms.value[idx] = res.room
return res
} catch (err: any) {
error.value = err.message
throw err
}
}
// ─── Agent Actions ─────────────────────────────────────
async function loadAgents(roomId: string) {
try {
@@ -358,6 +397,8 @@ export const useGroupChatStore = defineStore('groupChat', () => {
createNewRoom,
joinByCode,
deleteRoom,
cloneRoom,
clearCurrentRoomContext,
loadAgents,
addAgentToRoom,
removeAgentFromRoom,