@microsoft/omnichannel-chat-sdk 1.2.1-main.f777b2c → 1.3.1-main.2674439

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +14 -3
  3. package/lib/OmnichannelChatSDK.d.ts +5 -1
  4. package/lib/OmnichannelChatSDK.js +287 -180
  5. package/lib/OmnichannelChatSDK.js.map +1 -1
  6. package/lib/config/settings.d.ts +1 -1
  7. package/lib/config/settings.js +1 -1
  8. package/lib/core/ChatSDKErrors.d.ts +2 -0
  9. package/lib/core/ChatSDKErrors.js +2 -0
  10. package/lib/core/ChatSDKErrors.js.map +1 -1
  11. package/lib/core/ChatSDKExceptionDetails.d.ts +1 -0
  12. package/lib/core/GetAgentAvailabilityOptionalParams.d.ts +13 -0
  13. package/lib/core/GetAgentAvailabilityOptionalParams.js +3 -0
  14. package/lib/core/GetAgentAvailabilityOptionalParams.js.map +1 -0
  15. package/lib/core/PostChatContext.d.ts +2 -0
  16. package/lib/core/StartChatOptionalParams.d.ts +4 -0
  17. package/lib/core/messaging/ACSClient.js +5 -0
  18. package/lib/core/messaging/ACSClient.js.map +1 -1
  19. package/lib/external/ACSAdapter/AMSFileManager.js +2 -1
  20. package/lib/external/ACSAdapter/AMSFileManager.js.map +1 -1
  21. package/lib/telemetry/AriaTelemetry.d.ts +1 -0
  22. package/lib/telemetry/AriaTelemetry.js +49 -0
  23. package/lib/telemetry/AriaTelemetry.js.map +1 -1
  24. package/lib/telemetry/ScenarioType.d.ts +1 -0
  25. package/lib/telemetry/ScenarioType.js +1 -0
  26. package/lib/telemetry/ScenarioType.js.map +1 -1
  27. package/lib/telemetry/TelemetryEvent.d.ts +3 -1
  28. package/lib/telemetry/TelemetryEvent.js +2 -0
  29. package/lib/telemetry/TelemetryEvent.js.map +1 -1
  30. package/lib/tsconfig.tsbuildinfo +172 -98
  31. package/lib/utils/WebUtils.d.ts +2 -2
  32. package/lib/utils/WebUtils.js +30 -4
  33. package/lib/utils/WebUtils.js.map +1 -1
  34. package/lib/utils/chatAdapterCreators.js +67 -30
  35. package/lib/utils/chatAdapterCreators.js.map +1 -1
  36. package/lib/utils/location.d.ts +7 -0
  37. package/lib/utils/location.js +96 -0
  38. package/lib/utils/location.js.map +1 -0
  39. package/lib/utils/loggers.d.ts +16 -0
  40. package/lib/utils/loggers.js +69 -1
  41. package/lib/utils/loggers.js.map +1 -1
  42. package/lib/utils/sleep.d.ts +2 -0
  43. package/lib/utils/sleep.js +5 -0
  44. package/lib/utils/sleep.js.map +1 -0
  45. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -2,12 +2,28 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
  ## [Unreleased]
5
+
6
+ ## [1.3.0] - 2023-04-05
5
7
  ### Added
6
8
  - Add ability to use `ChatSDK.createChatAdapter()` for `DirectLine` protocol
7
9
  - Add `CreateACSAdapter` telemetry event
10
+ - Improve `ChatSDK.createChatAdapter()` with retries using exponential backoff & additional details on failures
11
+ - Add `GetAgentAvailability` SDK method for auth chat
12
+ - Pass `logger` to AMSClient
13
+ - Add `portalContactId` in `StartChatOptionalParams` and `GetAgentAvailabilityOptionalParams`
14
+ - Added exception on initialization failure
15
+ - Upgraded ACSAdapter to version beta.17
16
+ - Added `botSurveyInviteLink` and `botFormsProLocale` the `getPostChatSurveyContext()` response
8
17
 
9
18
  ### Fixed
10
19
  - Fix `ChatAdapterOptionalParams.ACSAdapter.options.egressMiddleware` being used as `ingressMiddleware`
20
+ - Fix `ChatSDK.onTypingEvent()` being triggered on current user typing
21
+ - Update `ChatSDK.liveChatVersion` to be `V2` by default
22
+
23
+ ### Changed
24
+ - Uptake [@microsoft/omnichannel-amsclient@0.1.4](https://www.npmjs.com/package/@microsoft/omnichannel-amsclient/v/0.1.4)
25
+ - Uptake [acs_webchat-chat-adapter@0.0.35-beta.17](https://unpkg.com/acs_webchat-chat-adapter@0.0.35-beta.17/dist/chat-adapter.js)
26
+ - Uptake [@microsoft/ocsdk@0.3.4](https://www.npmjs.com/package/@microsoft/ocsdk/v/0.3.4)
11
27
 
12
28
  ## [1.2.0] - 2022-11-11
13
29
  ### Added
package/README.md CHANGED
@@ -90,6 +90,7 @@ Omnichannel offers an live chat widget (LCW) by default. You can use the Chat SD
90
90
  | Persistent Chat | ✔ | ✔ |
91
91
  | Chat Reconnect | ✔ | ✔ |
92
92
  | Operating Hours | ✔ | ✔ |
93
+ | Get Agent Availability | ✔ | ✔ |
93
94
  | Queue Position | ✔ | ✔ | No SDK method. Handled as *system message* |
94
95
  | Average Wait Time | ✔ | ✔ | No SDK method. Handled as *system message* |
95
96
 
@@ -444,10 +445,18 @@ try {
444
445
  ```
445
446
  ### Get Post Chat Survey Context
446
447
 
447
- It gets post chat survey link, survey locale, and whether an agent has joined the survey.
448
+ It gets the participant type that should be used for the survey and both the default and bot survey details.
448
449
 
449
450
  ```ts
450
- const context = await chatSDK.getPostChatSurveyContext();
451
+ const postChatSurveyContext = await chatSDK.getPostChatSurveyContext();
452
+ ```
453
+
454
+ ### Get Agent Availability
455
+
456
+ It gets information on whether a queue is available, and whether there are agents available in that queue, as well as queue position and average wait time. This call only supports authenticated chat.
457
+
458
+ ```ts
459
+ const agentAvailability = await chatSDK.getAgentAvailability();
451
460
  ```
452
461
 
453
462
  ## Common Scenarios
@@ -503,7 +512,9 @@ try {
503
512
  if (context.participantJoined) { // participantJoined will be true if an agent has joined the conversation, or a bot has joined the conversation and the bot survey flag has been turned on on the admin side.
504
513
  // formsProLocale is the default language you have set on the CustomerVoice portal. You can override this url parameter with any locale that CustomerVoice supports.
505
514
  // If "&lang=" is not set on the url, the locale will be English.
506
- const linkToSend = context.surveyInviteLink + "&lang=" + context.formsProLocale;
515
+ const link = context.participantType === "Bot" ? context.botSurveyInviteLink : context.surveyInviteLink;
516
+ const locale = context.participantType === "Bot" ? context.botFormsProLocale : context.formsProLocale;
517
+ const linkToSend = link + "&lang=" + locale;
507
518
  // This link is accessible and will redirect to the survey page. Use it as you see fit.
508
519
  }
509
520
  } catch (ex) {
@@ -10,14 +10,15 @@ import ChatTranscriptBody from "./core/ChatTranscriptBody";
10
10
  import FileMetadata from "@microsoft/omnichannel-amsclient/lib/FileMetadata";
11
11
  import FramedClient from "@microsoft/omnichannel-amsclient/lib/FramedClient";
12
12
  import FramedlessClient from "@microsoft/omnichannel-amsclient/lib/FramedlessClient";
13
+ import GetAgentAvailabilityOptionalParams from "./core/GetAgentAvailabilityOptionalParams";
13
14
  import GetLiveChatConfigOptionalParams from "./core/GetLiveChatConfigOptionalParams";
14
15
  import IChatToken from "./external/IC3Adapter/IChatToken";
15
16
  import IFileInfo from "@microsoft/omnichannel-ic3core/lib/interfaces/IFileInfo";
16
17
  import IFileMetadata from "@microsoft/omnichannel-ic3core/lib/model/IFileMetadata";
17
18
  import IMessage from "@microsoft/omnichannel-ic3core/lib/model/IMessage";
18
- import InitializeOptionalParams from "./core/InitializeOptionalParams";
19
19
  import IRawMessage from "@microsoft/omnichannel-ic3core/lib/model/IRawMessage";
20
20
  import IRawThread from "@microsoft/omnichannel-ic3core/lib/interfaces/IRawThread";
21
+ import InitializeOptionalParams from "./core/InitializeOptionalParams";
21
22
  import LiveChatContext from "./core/LiveChatContext";
22
23
  import LiveWorkItemDetails from "./core/LiveWorkItemDetails";
23
24
  import OmnichannelConfig from "./core/OmnichannelConfig";
@@ -54,6 +55,7 @@ declare class OmnichannelChatSDK {
54
55
  private acsClientLogger;
55
56
  private acsAdapterLogger;
56
57
  private callingSdkLogger;
58
+ private amsClientLogger;
57
59
  private isPersistentChat;
58
60
  private isChatReconnect;
59
61
  private reconnectId;
@@ -88,6 +90,8 @@ declare class OmnichannelChatSDK {
88
90
  createChatAdapter(optionalParams?: ChatAdapterOptionalParams): Promise<unknown>;
89
91
  getVoiceVideoCalling(params?: any): Promise<any>;
90
92
  getPostChatSurveyContext(): Promise<any>;
93
+ getAgentAvailability(optionalParams?: GetAgentAvailabilityOptionalParams): Promise<any>;
94
+ private populateInitChatOptionalParam;
91
95
  private getIC3Client;
92
96
  private getChatConfig;
93
97
  private resolveIC3ClientUrl;