Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: gui client room #3983

Merged
merged 49 commits into from
Mar 19, 2025
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
f5fd7f7
add agents side bar
tcm390 Mar 17, 2025
0dcbc5b
group chat panel
tcm390 Mar 17, 2025
bbb452e
add group panel
tcm390 Mar 17, 2025
3cb03f8
upload image
tcm390 Mar 17, 2025
ef9be56
update api for image uploading
tcm390 Mar 17, 2025
cdc41dd
world rooms api
tcm390 Mar 17, 2025
b986a37
list rooms works
tcm390 Mar 17, 2025
a172dec
group chat kind of work
tcm390 Mar 17, 2025
4e62660
small ui fix
tcm390 Mar 17, 2025
b9e7f5c
user server id instead of room name
tcm390 Mar 17, 2025
22c6a0d
fix chat not passing issue
tcm390 Mar 17, 2025
aee326a
basic ui works
tcm390 Mar 18, 2025
933af03
fix avatar
tcm390 Mar 18, 2025
0881a32
small fix and move agentbar to group chat
tcm390 Mar 18, 2025
f343acc
Merge branch 'v2-develop' into tcm/client-room3
tcm390 Mar 18, 2025
cfddfd6
tweak ui
tcm390 Mar 18, 2025
3c4dacf
ensure world exists
tcm390 Mar 18, 2025
1cadff4
prevent re-connect
tcm390 Mar 18, 2025
bacfcce
init ref
tcm390 Mar 18, 2025
f1bd509
improve api
tcm390 Mar 18, 2025
00e97c8
improve api
tcm390 Mar 18, 2025
318a334
revert
tcm390 Mar 18, 2025
e024480
fix offline crash
tcm390 Mar 18, 2025
1990f13
delete group api
tcm390 Mar 18, 2025
178e3a3
edit room
tcm390 Mar 18, 2025
123c2b5
delete button
tcm390 Mar 18, 2025
876ddee
ui tweak
tcm390 Mar 18, 2025
b2587ce
revert
tcm390 Mar 18, 2025
4cecdaa
group
tcm390 Mar 18, 2025
1735c76
remove duplicated messages
tcm390 Mar 19, 2025
0ad0db3
creation card should remain the same size as profile card
tcm390 Mar 19, 2025
c7991b8
fix delete issue
tcm390 Mar 19, 2025
c3b1dd9
overwrite the set
tcm390 Mar 19, 2025
948be68
Merge branch 'v2-develop' into tcm/client-room3
tcm390 Mar 19, 2025
f18734b
fix chat
wtfsayo Mar 19, 2025
4f861e2
chore: refactor logging in setupSocketIO to use logger.debug for cons…
shakkernerd Mar 19, 2025
f8b9be0
chore: new bun lock file
shakkernerd Mar 19, 2025
2282a9e
Merge branch 'v2-develop' into tcm/client-room3
shakkernerd Mar 19, 2025
7561deb
improve group panel
tcm390 Mar 19, 2025
a4b7860
Merge branch 'tcm/client-room3' into tcm/improve-group-panel
tcm390 Mar 19, 2025
4061fc3
Merge pull request #3996 from elizaOS/tcm/improve-group-panel
tcm390 Mar 19, 2025
7165145
correct conflict resolving
tcm390 Mar 19, 2025
cfd7a35
small tweak
tcm390 Mar 19, 2025
14909df
Merge branch 'v2-develop' into tcm/client-room3
wtfsayo Mar 19, 2025
2a6c5ac
Merge branch 'v2-develop' into tcm/client-room3
wtfsayo Mar 19, 2025
94b306f
Update room.tsx
wtfsayo Mar 19, 2025
a30dd72
fix agent status sidebar
wtfsayo Mar 19, 2025
723ff61
clean up
wtfsayo Mar 19, 2025
68f8635
hover effect
tcm390 Mar 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions packages/cli/src/server/api/agent.ts
Original file line number Diff line number Diff line change
@@ -1850,5 +1850,24 @@ export function agentRouter(
});
});

router.delete('/groups/:serverId', async (req, res) => {
const serverId = validateUuid(req.params.serverId);
try {
await db.deleteRoomsByServerId(serverId);

res.status(204).send();
} catch (error) {
logger.error('[GROUP DELETE] Error deleting group:', error);
res.status(500).json({
success: false,
error: {
code: 'DELETE_ERROR',
message: 'Error deleting group',
details: error.message,
},
});
}
});

return router;
}
7 changes: 7 additions & 0 deletions packages/client/src/lib/api.ts
Original file line number Diff line number Diff line change
@@ -499,4 +499,11 @@ export const apiClient = {
},
});
},

deleteGroupChat: (serverId: string) => {
return fetcher({
url: `/agents/groups/${serverId}`,
method: 'DELETE',
});
},
};
17 changes: 17 additions & 0 deletions packages/plugin-sql/src/base.ts
Original file line number Diff line number Diff line change
@@ -2250,4 +2250,21 @@ export abstract class BaseDrizzleAdapter<
}));
});
}

/**
* Asynchronously deletes all rooms associated with a specific serverId.
* @param {UUID} serverId - The server ID to delete rooms for.
* @returns {Promise<void>} A Promise that resolves when the rooms are deleted.
*/
async deleteRoomsByServerId(serverId: UUID): Promise<void> {
return this.withDatabase(async () => {
await this.db.transaction(async (tx) => {
await tx.delete(roomTable).where(eq(roomTable.serverId, serverId));
});

logger.debug('Rooms deleted successfully for server:', {
serverId,
});
});
}
}