@microsoft/omnichannel-chat-sdk 1.2.0 → 1.2.1-main.2590ee2

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 (52) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +16 -1
  3. package/lib/OmnichannelChatSDK.d.ts +5 -1
  4. package/lib/OmnichannelChatSDK.js +231 -247
  5. package/lib/OmnichannelChatSDK.js.map +1 -1
  6. package/lib/config/settings.d.ts +2 -1
  7. package/lib/config/settings.js +3 -1
  8. package/lib/config/settings.js.map +1 -1
  9. package/lib/core/ChatSDKErrors.d.ts +6 -0
  10. package/lib/core/ChatSDKErrors.js +10 -0
  11. package/lib/core/ChatSDKErrors.js.map +1 -0
  12. package/lib/core/ChatSDKExceptionDetails.d.ts +1 -0
  13. package/lib/core/GetAgentAvailabilityOptionalParams.d.ts +13 -0
  14. package/lib/core/GetAgentAvailabilityOptionalParams.js +3 -0
  15. package/lib/core/GetAgentAvailabilityOptionalParams.js.map +1 -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/core/messaging/ChatAdapterConfig.d.ts +2 -0
  20. package/lib/core/messaging/ChatAdapterOptionalParams.d.ts +5 -0
  21. package/lib/telemetry/AriaTelemetry.d.ts +2 -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 +4 -1
  28. package/lib/telemetry/TelemetryEvent.js +3 -0
  29. package/lib/telemetry/TelemetryEvent.js.map +1 -1
  30. package/lib/tsconfig.tsbuildinfo +315 -168
  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.d.ts +20 -0
  35. package/lib/utils/chatAdapterCreators.js +230 -0
  36. package/lib/utils/chatAdapterCreators.js.map +1 -0
  37. package/lib/utils/libraries.d.ts +3 -1
  38. package/lib/utils/libraries.js +9 -2
  39. package/lib/utils/libraries.js.map +1 -1
  40. package/lib/utils/location.d.ts +7 -0
  41. package/lib/utils/location.js +96 -0
  42. package/lib/utils/location.js.map +1 -0
  43. package/lib/utils/loggers.d.ts +16 -0
  44. package/lib/utils/loggers.js +69 -1
  45. package/lib/utils/loggers.js.map +1 -1
  46. package/lib/utils/sleep.d.ts +2 -0
  47. package/lib/utils/sleep.js +5 -0
  48. package/lib/utils/sleep.js.map +1 -0
  49. package/lib/utils/urlResolvers.d.ts +10 -0
  50. package/lib/utils/urlResolvers.js +65 -0
  51. package/lib/utils/urlResolvers.js.map +1 -0
  52. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
  ## [Unreleased]
5
+ ### Added
6
+ - Add ability to use `ChatSDK.createChatAdapter()` for `DirectLine` protocol
7
+ - Add `CreateACSAdapter` telemetry event
8
+ - Improve `ChatSDK.createChatAdapter()` with retries using exponential backoff & additional details on failures
9
+ - Add `GetAgentAvailability` SDK method for auth chat
10
+ - Pass `logger` to AMSClient
11
+ - Add `portalContactId` in `StartChatOptionalParams` and `GetAgentAvailabilityOptionalParams`
12
+
13
+ ### Fixed
14
+ - Fix `ChatAdapterOptionalParams.ACSAdapter.options.egressMiddleware` being used as `ingressMiddleware`
15
+ - Fix `ChatSDK.onTypingEvent()` being triggered on current user typing
5
16
 
6
17
  ## [1.2.0] - 2022-11-11
7
18
  ### 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
 
@@ -125,6 +126,11 @@ The following steps will be required to run Omnichannel Chat SDK on React Native
125
126
  npm install react-native-url-polyfill --save-dev
126
127
  ```
127
128
 
129
+ 1. Install `@azure/core-asynciterator-polyfill`
130
+ ```
131
+ npm install @azure/core-asynciterator-polyfill --save-dev
132
+ ```
133
+
128
134
  1. Update *metro.config.js* to use React Native compatible Node Core modules
129
135
  ```ts
130
136
  module.exports = {
@@ -143,7 +149,8 @@ The following steps will be required to run Omnichannel Chat SDK on React Native
143
149
  ```ts
144
150
  import 'node-libs-react-native/globals';
145
151
  import 'react-native-get-random-values';
146
- import 'react-native-url-polyfill';
152
+ import 'react-native-url-polyfill/auto';
153
+ import '@azure/core-asynciterator-polyfill';
147
154
  ```
148
155
 
149
156
  ## SDK Methods
@@ -444,6 +451,14 @@ It gets post chat survey link, survey locale, and whether an agent has joined th
444
451
  const context = await chatSDK.getPostChatSurveyContext();
445
452
  ```
446
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();
460
+ ```
461
+
447
462
  ## Common Scenarios
448
463
 
449
464
  ### Pre-Chat Survey
@@ -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;