diff --git a/packages/backend/server/src/models/copilot-session.ts b/packages/backend/server/src/models/copilot-session.ts index e57f8a911..92c26613d 100644 --- a/packages/backend/server/src/models/copilot-session.ts +++ b/packages/backend/server/src/models/copilot-session.ts @@ -188,11 +188,6 @@ export class CopilotSessionModel extends BaseModel { @Transactional() async fork(options: ForkSessionOptions): Promise { - if (!options.messages?.length) { - throw new CopilotSessionInvalidInput( - 'Cannot fork session without messages' - ); - } if (options.pinned) { await this.unpin(options.workspaceId, options.userId); } @@ -203,12 +198,15 @@ export class CopilotSessionModel extends BaseModel { ...forkedState, messages: [], }); - // save message - await this.models.copilotSession.updateMessages({ - ...forkedState, - sessionId, - messages, - }); + if (options.messages.length) { + // save message + await this.models.copilotSession.updateMessages({ + ...forkedState, + sessionId, + messages, + }); + } + return sessionId; }