From d9e6561762065f3a897ccf0cf92ce821a33ae42d Mon Sep 17 00:00:00 2001 From: forehalo Date: Thu, 18 Apr 2024 07:06:46 +0000 Subject: [PATCH] feat(server): add created timestamp to history (#6607) --- packages/backend/server/src/plugins/copilot/resolver.ts | 3 +++ packages/backend/server/src/plugins/copilot/session.ts | 4 +++- packages/backend/server/src/plugins/copilot/types.ts | 1 + .../frontend/graphql/src/graphql/get-copilot-histories.gql | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/backend/server/src/plugins/copilot/resolver.ts b/packages/backend/server/src/plugins/copilot/resolver.ts index 12b7eb0f51..222ba7900e 100644 --- a/packages/backend/server/src/plugins/copilot/resolver.ts +++ b/packages/backend/server/src/plugins/copilot/resolver.ts @@ -123,6 +123,9 @@ class CopilotHistoriesType implements Partial { @Field(() => [ChatMessageType]) messages!: ChatMessageType[]; + + @Field(() => Date) + createdAt!: Date; } @ObjectType('CopilotQuota') diff --git a/packages/backend/server/src/plugins/copilot/session.ts b/packages/backend/server/src/plugins/copilot/session.ts index 93a887f50d..4d100c7e34 100644 --- a/packages/backend/server/src/plugins/copilot/session.ts +++ b/packages/backend/server/src/plugins/copilot/session.ts @@ -318,6 +318,7 @@ export class ChatSessionService { select: { id: true, promptName: true, + createdAt: true, messages: { select: { role: true, @@ -335,7 +336,7 @@ export class ChatSessionService { }) .then(sessions => Promise.all( - sessions.map(async ({ id, promptName, messages }) => { + sessions.map(async ({ id, promptName, messages, createdAt }) => { try { const ret = PromptMessageSchema.array().safeParse(messages); if (ret.success) { @@ -357,6 +358,7 @@ export class ChatSessionService { sessionId: id, action: prompt.action || undefined, tokens, + createdAt, messages: preload.concat(ret.data), }; } else { diff --git a/packages/backend/server/src/plugins/copilot/types.ts b/packages/backend/server/src/plugins/copilot/types.ts index dd529f6ee5..2d6f5651c1 100644 --- a/packages/backend/server/src/plugins/copilot/types.ts +++ b/packages/backend/server/src/plugins/copilot/types.ts @@ -93,6 +93,7 @@ export const ChatHistorySchema = z action: z.string().optional(), tokens: z.number(), messages: z.array(PromptMessageSchema.or(ChatMessageSchema)), + createdAt: z.date(), }) .strict(); diff --git a/packages/frontend/graphql/src/graphql/get-copilot-histories.gql b/packages/frontend/graphql/src/graphql/get-copilot-histories.gql index 3347169368..3779afd3d9 100644 --- a/packages/frontend/graphql/src/graphql/get-copilot-histories.gql +++ b/packages/frontend/graphql/src/graphql/get-copilot-histories.gql @@ -9,6 +9,7 @@ query getCopilotHistories( sessionId tokens action + createdAt messages { role content