diff --git a/backend/internal/adapter/database/orm/orm.go b/backend/internal/adapter/database/orm/orm.go index ea809a6..50d4f17 100644 --- a/backend/internal/adapter/database/orm/orm.go +++ b/backend/internal/adapter/database/orm/orm.go @@ -190,7 +190,7 @@ func (t Table[T]) Select(options ...Option) ([]*T, error) { if q.pagesize != 0 { query += fmt.Sprintf(" limit %d", q.pagesize) if q.pagenum != 0 { - query += fmt.Sprintf(" offset %d", q.pagesize*q.pagenum) + query += fmt.Sprintf(" offset %d", q.pagesize*(q.pagenum-1)) } } diff --git a/backend/internal/adapter/database/turso/chat_repository.go b/backend/internal/adapter/database/turso/chat_repository.go index 197cb8b..25994a5 100644 --- a/backend/internal/adapter/database/turso/chat_repository.go +++ b/backend/internal/adapter/database/turso/chat_repository.go @@ -36,6 +36,7 @@ func (r *TursoChatRepository) ListChats(userID string, teamID string, page int) teamID, userID, ), + orm.WithOrder("_date_created desc"), orm.WithPagination(page, 50), ) } diff --git a/backend/internal/service/chat/session.go b/backend/internal/service/chat/session.go index 0827dc1..a3cb928 100644 --- a/backend/internal/service/chat/session.go +++ b/backend/internal/service/chat/session.go @@ -40,6 +40,7 @@ func (s *ChatSession) run(ctx context.Context) (*domain.Message, error) { Content: s.agent.SystemPrompt, } + // TODO : loop with tools msg, err := s.llmEngine.Stream( ctx, s.provider, diff --git a/backend/lassistanoque.db-wal b/backend/lassistanoque.db-wal index 4df9acc..80ba96b 100644 Binary files a/backend/lassistanoque.db-wal and b/backend/lassistanoque.db-wal differ diff --git a/backend/web/src/routes/(authenticated)/[space]/(chat)/[conversation]/+page.svelte b/backend/web/src/routes/(authenticated)/[space]/(chat)/[conversation]/+page.svelte index 886fe63..757f6f6 100644 --- a/backend/web/src/routes/(authenticated)/[space]/(chat)/[conversation]/+page.svelte +++ b/backend/web/src/routes/(authenticated)/[space]/(chat)/[conversation]/+page.svelte @@ -34,7 +34,7 @@ id: ''+currentDate.getTime(), role: chunk.role, content: chunk.content, - }) + } as Message) lastrole=chunk.role } else { messages[messages.length-1].content += chunk.content diff --git a/backend/web/src/routes/(authenticated)/[space]/history/+page.svelte b/backend/web/src/routes/(authenticated)/[space]/history/+page.svelte index ddb27ba..b0f8690 100644 --- a/backend/web/src/routes/(authenticated)/[space]/history/+page.svelte +++ b/backend/web/src/routes/(authenticated)/[space]/history/+page.svelte @@ -1,6 +1,15 @@ - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? - Lorem ipsum dolor sit amet consectetur, adipisicing elit. Asperiores, reiciendis quo. Quos animi nisi modi cumque hic illo doloremque totam! Distinctio molestias sint magnam illum nostrum eos, fugit aliquid consequuntur? + + +
+ {#each data.conversations as conversation (conversation.id)} +
+ + {conversation._date_created} +
+ {/each} +
diff --git a/backend/web/src/routes/(authenticated)/[space]/history/+page.ts b/backend/web/src/routes/(authenticated)/[space]/history/+page.ts index aa94f4d..a92f185 100644 --- a/backend/web/src/routes/(authenticated)/[space]/history/+page.ts +++ b/backend/web/src/routes/(authenticated)/[space]/history/+page.ts @@ -1,3 +1,10 @@ -export function load() { - return { title: 'Historique' }; +import { chatApi } from "$lib/api/endpoints/chat" +import type { PageLoad } from './$types'; + +export const load: PageLoad = async ({ params }) => { + return { + title: 'Historique', + conversations: await chatApi.allChats(params.space, 0), + space: params.space, + }; } diff --git a/backend/web/src/routes/(authenticated)/[space]/settings/agents/+page.svelte b/backend/web/src/routes/(authenticated)/[space]/settings/agents/+page.svelte index 9910253..92086ca 100644 --- a/backend/web/src/routes/(authenticated)/[space]/settings/agents/+page.svelte +++ b/backend/web/src/routes/(authenticated)/[space]/settings/agents/+page.svelte @@ -107,8 +107,17 @@ }) } + const handleKeydown = (event: KeyboardEvent) => { + event.preventDefault() + if (event.key==="Escape") { + handleCancelEditAgent() + } + } + + +
{#if addingAgent} @@ -141,7 +150,7 @@ {/key} {:else}
-
+
{ agent.name }