diff --git a/src/services/twilio-conversation.ts b/src/services/twilio-conversation.ts index ec36914..158b00a 100644 --- a/src/services/twilio-conversation.ts +++ b/src/services/twilio-conversation.ts @@ -267,7 +267,12 @@ export class TwilioConversationClient { do { if (aborted) { await this.deleteConversation(conversationSid) - throw new Error('Aborted waiting for reply') + const reason = stopSignal?.reason || 'Aborted waiting for reply' + if (reason instanceof Error) { + throw reason + } else { + throw new Error(reason) + } } const response = await this.fetchMessages(conversationSid) if (response.messages.length > 1) { diff --git a/test/twilio-conversation.test.ts b/test/twilio-conversation.test.ts index d22d084..5b0da74 100644 --- a/test/twilio-conversation.test.ts +++ b/test/twilio-conversation.test.ts @@ -127,12 +127,12 @@ test('TwilioConversationClient.sendAndWaitForReply.stopSignal', async (t) => { intervalMs: 5000, // 5 seconds stopSignal: controller.signal }) - controller.abort() + controller.abort('Aborted') return promise }, { instanceOf: Error, - message: 'Aborted waiting for reply' + message: 'Aborted' } ) })