diff --git a/src/chatgpt-api.ts b/src/chatgpt-api.ts index 9d2d4830..b45f4a07 100644 --- a/src/chatgpt-api.ts +++ b/src/chatgpt-api.ts @@ -124,6 +124,7 @@ export class ChatGPTAPI { * * @param message - The prompt message to send * @param opts.parentMessageId - Optional ID of the previous message in the conversation (defaults to `undefined`) + * @param opts.conversationId - Optional ID of the conversation (defaults to `undefined`) * @param opts.messageId - Optional ID of the message to send (defaults to a random UUID) * @param opts.systemMessage - Optional override for the chat "system message" which acts as instructions to the model (defaults to the ChatGPT system message) * @param opts.timeoutMs - Optional timeout in milliseconds (defaults to no timeout) @@ -143,7 +144,8 @@ export class ChatGPTAPI { timeoutMs, onProgress, stream = onProgress ? true : false, - completionParams + completionParams, + conversationId = '' } = opts let { abortSignal } = opts @@ -158,7 +160,8 @@ export class ChatGPTAPI { role: 'user', id: messageId, parentMessageId, - text + text, + conversationId } const latestQuestion = message @@ -172,7 +175,8 @@ export class ChatGPTAPI { role: 'assistant', id: uuidv4(), parentMessageId: messageId, - text: '' + text: '', + conversationId } const responseP = new Promise( diff --git a/src/types.ts b/src/types.ts index 2c1ad218..5c44dcc1 100644 --- a/src/types.ts +++ b/src/types.ts @@ -38,6 +38,7 @@ export type SendMessageOptions = { /** The name of a user in a multi-user chat. */ name?: string parentMessageId?: string + conversationId?: string messageId?: string stream?: boolean systemMessage?: string