diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.emit.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.emit.md
index bc2c8dc..9eba5b1 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.emit.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.emit.md
@@ -4,7 +4,7 @@
## ChatCoreAwsConnect.emit() method
-Emit an event into the AWS Connect chat session. Supported events are: - `typing`: The customer is typing.
+Emit an event into the Amazon Connect chat session. Supported events are: - `typing`: The customer is typing.
**Signature:**
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.getsession.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.getsession.md
index 9367a9c..3df4324 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.getsession.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.getsession.md
@@ -4,7 +4,7 @@
## ChatCoreAwsConnect.getSession() method
-Get the current AWS Connect chat session.
+Get the current Amazon Connect chat session.
**Signature:**
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.init.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.init.md
index 3bed370..e7180a6 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.init.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.init.md
@@ -4,7 +4,7 @@
## ChatCoreAwsConnect.init() method
-Initialize the AWS Connect chat session using the credentials from the Chat API.
+Initialize the Amazon Connect chat session using the credentials from the Chat API.
**Signature:**
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.md
index 6eebfd9..3858a0b 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.md
@@ -4,7 +4,7 @@
## ChatCoreAwsConnect interface
-Provides methods for interacting with Chat's AWS Connect integration.
+Provides methods for interacting with Chat's Amazon Connect integration.
**Signature:**
@@ -16,9 +16,10 @@ export interface ChatCoreAwsConnect
| Method | Description |
| --- | --- |
-| [emit(eventName, data)](./chat-core-aws-connect.chatcoreawsconnect.emit.md) | Emit an event into the AWS Connect chat session. Supported events are: - typing: The customer is typing. |
-| [getSession()](./chat-core-aws-connect.chatcoreawsconnect.getsession.md) | Get the current AWS Connect chat session. |
-| [init(messageResponse)](./chat-core-aws-connect.chatcoreawsconnect.init.md) | Initialize the AWS Connect chat session using the credentials from the Chat API. |
-| [on(eventName, cb)](./chat-core-aws-connect.chatcoreawsconnect.on.md) | Register a callback for an event triggered within the AWS Connect chat session. Supported events are: - message: A new message has been received. - typing: The agent is typing. - close: The chat session has been closed. |
+| [emit(eventName, data)](./chat-core-aws-connect.chatcoreawsconnect.emit.md) | Emit an event into the Amazon Connect chat session. Supported events are: - typing: The customer is typing. |
+| [getSession()](./chat-core-aws-connect.chatcoreawsconnect.getsession.md) | Get the current Amazon Connect chat session. |
+| [init(messageResponse)](./chat-core-aws-connect.chatcoreawsconnect.init.md) | Initialize the Amazon Connect chat session using the credentials from the Chat API. |
+| [on(eventName, cb)](./chat-core-aws-connect.chatcoreawsconnect.on.md) | Register a callback for an event triggered within the Amazon Connect chat session. Supported events are: - message: A new message has been received. - typing: The agent is typing. - close: The chat session has been closed. |
| [processMessage(request)](./chat-core-aws-connect.chatcoreawsconnect.processmessage.md) | Process a message sent by the user. |
+| [resetSession()](./chat-core-aws-connect.chatcoreawsconnect.resetsession.md) | Resets the [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md) instance, clearing the underlying Amazon Connect session. |
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.on.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.on.md
index 539f469..292778a 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.on.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.on.md
@@ -4,7 +4,7 @@
## ChatCoreAwsConnect.on() method
-Register a callback for an event triggered within the AWS Connect chat session. Supported events are: - `message`: A new message has been received. - `typing`: The agent is typing. - `close`: The chat session has been closed.
+Register a callback for an event triggered within the Amazon Connect chat session. Supported events are: - `message`: A new message has been received. - `typing`: The agent is typing. - `close`: The chat session has been closed.
**Signature:**
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.resetsession.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.resetsession.md
new file mode 100644
index 0000000..f19e739
--- /dev/null
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.chatcoreawsconnect.resetsession.md
@@ -0,0 +1,17 @@
+
+
+[Home](./index.md) > [@yext/chat-core-aws-connect](./chat-core-aws-connect.md) > [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md) > [resetSession](./chat-core-aws-connect.chatcoreawsconnect.resetsession.md)
+
+## ChatCoreAwsConnect.resetSession() method
+
+Resets the [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md) instance, clearing the underlying Amazon Connect session.
+
+**Signature:**
+
+```typescript
+resetSession(): void;
+```
+**Returns:**
+
+void
+
diff --git a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.md b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.md
index b69f991..c8fc0f6 100644
--- a/packages/chat-core-aws-connect/docs/chat-core-aws-connect.md
+++ b/packages/chat-core-aws-connect/docs/chat-core-aws-connect.md
@@ -15,7 +15,7 @@
| Interface | Description |
| --- | --- |
| [AwsConnectEventData](./chat-core-aws-connect.awsconnecteventdata.md) | Data associated with an AWS Connect event. |
-| [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md) | Provides methods for interacting with Chat's AWS Connect integration. |
+| [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md) | Provides methods for interacting with Chat's Amazon Connect integration. |
| [ChatCoreAwsConnectConfig](./chat-core-aws-connect.chatcoreawsconnectconfig.md) | Configuration for this instance of the [ChatCoreAwsConnect](./chat-core-aws-connect.chatcoreawsconnect.md). |
| [LoggerConfig](./chat-core-aws-connect.loggerconfig.md) | Configuration for the internal logger of the AWS Connect Chat session. |
diff --git a/packages/chat-core-aws-connect/etc/chat-core-aws-connect.api.md b/packages/chat-core-aws-connect/etc/chat-core-aws-connect.api.md
index f566fbe..e03b3f8 100644
--- a/packages/chat-core-aws-connect/etc/chat-core-aws-connect.api.md
+++ b/packages/chat-core-aws-connect/etc/chat-core-aws-connect.api.md
@@ -27,6 +27,7 @@ export interface ChatCoreAwsConnect {
init(messageResponse: MessageResponse): Promise;
on(eventName: T, cb: EventCallback): void;
processMessage(request: MessageRequest): Promise;
+ resetSession(): void;
}
// @public
diff --git a/packages/chat-core-aws-connect/src/infra/ChatCoreAwsConnectImpl.ts b/packages/chat-core-aws-connect/src/infra/ChatCoreAwsConnectImpl.ts
index e6be1c1..ab82f4b 100644
--- a/packages/chat-core-aws-connect/src/infra/ChatCoreAwsConnectImpl.ts
+++ b/packages/chat-core-aws-connect/src/infra/ChatCoreAwsConnectImpl.ts
@@ -97,7 +97,7 @@ export class ChatCoreAwsConnectImpl implements ChatCoreAwsConnect {
this.session?.onEnded((event: AwsConnectEvent) => {
this.eventListeners["close"]?.forEach((cb) => cb(event.data));
// Connection is closed. Clear session and create new one on next handoff request.
- this.session = undefined;
+ this.resetSession();
});
}
@@ -130,4 +130,14 @@ export class ChatCoreAwsConnectImpl implements ChatCoreAwsConnect {
getSession(): connect.ActiveChatSession | undefined {
return this.session;
}
+
+ resetSession(): void {
+ if (this.session === undefined) {
+ return;
+ }
+
+ const customerSession = this.session as connect.ActiveCustomerChatSession;
+ customerSession.disconnectParticipant();
+ this.session = undefined;
+ }
}
diff --git a/packages/chat-core-aws-connect/src/models/ChatCoreAwsConnect.ts b/packages/chat-core-aws-connect/src/models/ChatCoreAwsConnect.ts
index b8c8bed..465890e 100644
--- a/packages/chat-core-aws-connect/src/models/ChatCoreAwsConnect.ts
+++ b/packages/chat-core-aws-connect/src/models/ChatCoreAwsConnect.ts
@@ -2,20 +2,20 @@ import { MessageRequest, MessageResponse } from "@yext/chat-core";
import { EventCallback, EventMap } from "./EventCallback";
/**
- * Provides methods for interacting with Chat's AWS Connect integration.
+ * Provides methods for interacting with Chat's Amazon Connect integration.
*
* @public
*/
export interface ChatCoreAwsConnect {
/**
- * Initialize the AWS Connect chat session using the credentials from the Chat API.
+ * Initialize the Amazon Connect chat session using the credentials from the Chat API.
*
* @param messageResponse - The response returned from a successful call to the Chat API.
*/
init(messageResponse: MessageResponse): Promise;
/**
- * Register a callback for an event triggered within the AWS Connect chat session.
+ * Register a callback for an event triggered within the Amazon Connect chat session.
* Supported events are:
* - `message`: A new message has been received.
* - `typing`: The agent is typing.
@@ -27,7 +27,7 @@ export interface ChatCoreAwsConnect {
on(eventName: T, cb: EventCallback): void;
/**
- * Emit an event into the AWS Connect chat session.
+ * Emit an event into the Amazon Connect chat session.
* Supported events are:
* - `typing`: The customer is typing.
*
@@ -44,10 +44,15 @@ export interface ChatCoreAwsConnect {
processMessage(request: MessageRequest): Promise;
/**
- * Get the current AWS Connect chat session.
+ * Get the current Amazon Connect chat session.
*
* @remarks
* If the session is not initialized, this method will return `undefined`.
*/
getSession(): connect.ActiveChatSession | undefined;
+
+ /**
+ * Resets the {@link ChatCoreAwsConnect} instance, clearing the underlying Amazon Connect session.
+ */
+ resetSession(): void;
}
diff --git a/packages/chat-core-aws-connect/src/models/connect.d.ts b/packages/chat-core-aws-connect/src/models/connect.d.ts
index d066e4c..c96fb8f 100644
--- a/packages/chat-core-aws-connect/src/models/connect.d.ts
+++ b/packages/chat-core-aws-connect/src/models/connect.d.ts
@@ -5,6 +5,7 @@ declare global {
const ChatSession: typeof AwsChatSession;
const LogLevel: typeof AwsChatSession.LogLevel;
export type ActiveChatSession = ReturnType;
+ export type ActiveCustomerChatSession = Extract;
export type Logger = typeof AwsChatSession.Logger;
}
}
\ No newline at end of file
diff --git a/packages/chat-core-aws-connect/test-browser-esm/index.html b/packages/chat-core-aws-connect/test-browser-esm/index.html
index c94fe89..0a55761 100644
--- a/packages/chat-core-aws-connect/test-browser-esm/index.html
+++ b/packages/chat-core-aws-connect/test-browser-esm/index.html
@@ -13,5 +13,6 @@
/>