diff --git a/packages/backend/server/src/plugins/copilot/resolver.ts b/packages/backend/server/src/plugins/copilot/resolver.ts index e0fa5ac1d..f1317998a 100644 --- a/packages/backend/server/src/plugins/copilot/resolver.ts +++ b/packages/backend/server/src/plugins/copilot/resolver.ts @@ -64,6 +64,12 @@ class CreateChatSessionInput { @Field(() => Boolean, { nullable: true }) pinned?: boolean; + + @Field(() => Boolean, { + nullable: true, + description: 'true by default, compliant for old version', + }) + reuseLatestChat?: boolean; } @InputType() diff --git a/packages/backend/server/src/plugins/copilot/session.ts b/packages/backend/server/src/plugins/copilot/session.ts index dbd57fc95..467cfdae1 100644 --- a/packages/backend/server/src/plugins/copilot/session.ts +++ b/packages/backend/server/src/plugins/copilot/session.ts @@ -446,7 +446,7 @@ export class ChatSessionService { // when client create chat session, we always find root session parentSessionId: null, }, - true + options.reuseLatestChat ?? true ); } diff --git a/packages/backend/server/src/plugins/copilot/types.ts b/packages/backend/server/src/plugins/copilot/types.ts index fc8186cd9..b34beeb84 100644 --- a/packages/backend/server/src/plugins/copilot/types.ts +++ b/packages/backend/server/src/plugins/copilot/types.ts @@ -76,6 +76,7 @@ export interface ChatSessionOptions { docId: string | null; promptName: string; pinned: boolean; + reuseLatestChat?: boolean; } export interface ChatSessionForkOptions diff --git a/packages/backend/server/src/schema.gql b/packages/backend/server/src/schema.gql index 1e3258a3e..6d8081598 100644 --- a/packages/backend/server/src/schema.gql +++ b/packages/backend/server/src/schema.gql @@ -453,6 +453,9 @@ input CreateChatSessionInput { """The prompt name to use for the session""" promptName: String! + + """true by default, compliant for old version""" + reuseLatestChat: Boolean workspaceId: String! } diff --git a/packages/common/graphql/src/schema.ts b/packages/common/graphql/src/schema.ts index 218b14ed2..b858db634 100644 --- a/packages/common/graphql/src/schema.ts +++ b/packages/common/graphql/src/schema.ts @@ -552,6 +552,8 @@ export interface CreateChatSessionInput { pinned?: InputMaybe; /** The prompt name to use for the session */ promptName: Scalars['String']['input']; + /** true by default, compliant for old version */ + reuseLatestChat?: InputMaybe; workspaceId: Scalars['String']['input']; }