[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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user