From b573e8cab1ce4d46f1d5fc718b114bb7ea0224ba Mon Sep 17 00:00:00 2001 From: Robin Goetz <35136007+goetzrobin@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:41:23 +0100 Subject: [PATCH] feat: next iteration of chatui (#642) * feat: add dark mode & make minor UI improvements added dark mode toggle & picked a color scheme that is closer to the memgpt icons cleaned up the home page a little bit. * feat: add thinking indicator & make minor UI improvements we now show a thinking while the current message is loading. removed status indicator as we do not work with websockets anymore. also adjusted some of the chat styles to better fit the new theme. * feat: add memory viewer and allow memory edit * chore: build frontend --- memgpt-frontend/index.html | 21 +++ memgpt-frontend/src/app/app.tsx | 13 +- .../app/libs/agents/agent-memory-update.ts | 10 ++ .../libs/agents/use-agent-memory.mutation.ts | 20 +++ .../app/libs/messages/message-stream.store.ts | 6 +- .../messages/next-message-loading.store.ts | 16 --- memgpt-frontend/src/app/modules/chat/chat.tsx | 5 +- .../modules/chat/memory-view/memory-form.tsx | 87 ++++++++++++ .../modules/chat/memory-view/memory-view.tsx | 33 +++++ .../messages/message-container-layout.tsx | 2 +- .../chat/messages/message-container.tsx | 8 +- .../chat/messages/message/user-message.tsx | 4 +- .../chat/messages/status-indicator.tsx | 19 --- .../src/app/modules/chat/user-input.tsx | 21 +-- .../src/app/modules/home/agent-card.tsx | 2 +- memgpt-frontend/src/app/modules/home/home.tsx | 21 ++- .../src/app/shared/layout/header.tsx | 16 ++- memgpt-frontend/src/app/shared/theme.tsx | 48 +++++++ memgpt-frontend/src/styles.css | 85 +++++------- memgpt/server/rest_api/agents/memory.py | 2 +- memgpt/server/server.py | 2 +- .../static_files/assets/index-156e79f0.js | 129 ++++++++++++++++++ .../static_files/assets/index-3436ea62.js | 129 ------------------ .../static_files/assets/index-5cf8a11d.css | 1 - .../static_files/assets/index-fc829661.css | 1 + memgpt/server/static_files/index.html | 25 +++- 26 files changed, 461 insertions(+), 265 deletions(-) create mode 100644 memgpt-frontend/src/app/libs/agents/agent-memory-update.ts create mode 100644 memgpt-frontend/src/app/libs/agents/use-agent-memory.mutation.ts delete mode 100644 memgpt-frontend/src/app/libs/messages/next-message-loading.store.ts create mode 100644 memgpt-frontend/src/app/modules/chat/memory-view/memory-form.tsx create mode 100644 memgpt-frontend/src/app/modules/chat/memory-view/memory-view.tsx delete mode 100644 memgpt-frontend/src/app/modules/chat/messages/status-indicator.tsx create mode 100644 memgpt-frontend/src/app/shared/theme.tsx create mode 100644 memgpt/server/static_files/assets/index-156e79f0.js delete mode 100644 memgpt/server/static_files/assets/index-3436ea62.js delete mode 100644 memgpt/server/static_files/assets/index-5cf8a11d.css create mode 100644 memgpt/server/static_files/assets/index-fc829661.css diff --git a/memgpt-frontend/index.html b/memgpt-frontend/index.html index 0ab06762..cb1382c7 100644 --- a/memgpt-frontend/index.html +++ b/memgpt-frontend/index.html @@ -8,6 +8,27 @@ +
diff --git a/memgpt-frontend/src/app/app.tsx b/memgpt-frontend/src/app/app.tsx index bd58e726..474bea7e 100644 --- a/memgpt-frontend/src/app/app.tsx +++ b/memgpt-frontend/src/app/app.tsx @@ -8,24 +8,21 @@ import { useMessageSocketActions } from './libs/messages/message-stream.store'; import { useCurrentAgent } from './libs/agents/agent.store'; import { useMessageHistoryActions } from './libs/messages/message-history.store'; import { Message } from './libs/messages/message'; -import { useNextMessageLoadingActions } from './libs/messages/next-message-loading.store'; -import { useAgentMemoryQuery } from './libs/agents/use-agent-memory.query'; +import { ThemeProvider } from './shared/theme'; const queryClient = new QueryClient(); export function App() { const { setAgentParam, registerOnMessageCallback, resetSocket } = useMessageSocketActions(); const { addMessage } =useMessageHistoryActions() - const { setLoading } = useNextMessageLoadingActions() const currentAgent = useCurrentAgent(); useEffect(() => registerOnMessageCallback((message: Message) => { - setLoading(message['type'] === 'agent_response_start'); if (currentAgent) { addMessage(currentAgent.name, message); } - }), [registerOnMessageCallback, currentAgent, setLoading, addMessage]); + }), [registerOnMessageCallback, currentAgent, addMessage]); useEffect(() => { if (!currentAgent) return; @@ -38,9 +35,11 @@ export function App() { return (Select or create an agent to start your conversation...
-