@azure/communication-chat 1.6.0-beta.3 → 1.6.0-beta.4
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.
- package/README.md +134 -45
- package/dist/browser/chatClient.d.ts +225 -0
- package/dist/browser/chatClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/chatClient.js +15 -10
- package/dist/browser/chatClient.js.map +1 -0
- package/dist/browser/chatThreadClient.d.ts +142 -0
- package/dist/browser/chatThreadClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/chatThreadClient.js +12 -9
- package/dist/browser/chatThreadClient.js.map +1 -0
- package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts +9 -0
- package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/credential/communicationTokenCredentialPolicy.js +2 -2
- package/dist/browser/credential/communicationTokenCredentialPolicy.js.map +1 -0
- package/dist/browser/generated/src/chatApiClient.d.ts +18 -0
- package/dist/browser/generated/src/chatApiClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/chatApiClient.js +2 -2
- package/dist/browser/generated/src/chatApiClient.js.map +1 -0
- package/dist/browser/generated/src/index.d.ts +4 -0
- package/dist/browser/generated/src/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/index.js +3 -3
- package/dist/browser/generated/src/index.js.map +1 -0
- package/dist/browser/generated/src/models/index.d.ts +579 -0
- package/dist/browser/generated/src/models/index.d.ts.map +1 -0
- package/dist/browser/generated/src/models/mappers.d.ts +44 -0
- package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/browser/generated/src/models/parameters.d.ts +29 -0
- package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/models/parameters.js +1 -1
- package/dist/browser/generated/src/models/parameters.js.map +1 -0
- package/dist/browser/generated/src/operations/chat.d.ts +36 -0
- package/dist/browser/generated/src/operations/chat.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/operations/chat.js +3 -3
- package/dist/browser/generated/src/operations/chat.js.map +1 -0
- package/dist/browser/generated/src/operations/chatThread.d.ts +144 -0
- package/dist/browser/generated/src/operations/chatThread.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/operations/chatThread.js +3 -3
- package/dist/browser/generated/src/operations/chatThread.js.map +1 -0
- package/dist/browser/generated/src/operations/index.d.ts +3 -0
- package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
- package/dist/browser/generated/src/operations/index.js +10 -0
- package/dist/browser/generated/src/operations/index.js.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/chat.d.ts +28 -0
- package/dist/browser/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/chat.js.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
- package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/chatThread.js.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/index.d.ts +3 -0
- package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist/browser/generated/src/operationsInterfaces/index.js +10 -0
- package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist/browser/generated/src/tracing.d.ts +2 -0
- package/dist/browser/generated/src/tracing.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/tracing.js +1 -1
- package/{dist-esm/src → dist/browser}/generated/src/tracing.js.map +1 -1
- package/dist/browser/index.d.ts +7 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +9 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/models/events.d.ts +4 -0
- package/dist/browser/models/events.d.ts.map +1 -0
- package/dist/browser/models/events.js +4 -0
- package/dist/browser/models/events.js.map +1 -0
- package/dist/browser/models/logger.d.ts +2 -0
- package/dist/browser/models/logger.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/models/logger.js +1 -1
- package/{dist-esm/src → dist/browser}/models/logger.js.map +1 -1
- package/dist/browser/models/mappers.d.ts +79 -0
- package/dist/browser/models/mappers.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/models/mappers.js +1 -1
- package/dist/browser/models/mappers.js.map +1 -0
- package/dist/browser/models/models.d.ts +153 -0
- package/dist/browser/models/models.d.ts.map +1 -0
- package/dist/browser/models/models.js +4 -0
- package/dist/browser/models/models.js.map +1 -0
- package/dist/browser/models/options.d.ts +135 -0
- package/dist/browser/models/options.d.ts.map +1 -0
- package/dist/browser/models/options.js.map +1 -0
- package/dist/browser/models/requests.d.ts +18 -0
- package/dist/browser/models/requests.d.ts.map +1 -0
- package/dist/browser/models/requests.js +4 -0
- package/dist/browser/models/requests.js.map +1 -0
- package/dist/browser/models/uuid.d.ts +8 -0
- package/dist/browser/models/uuid.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/models/uuid.js +3 -3
- package/dist/browser/models/uuid.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/signaling/signalingClient-browser.d.mts.map +1 -0
- package/dist/browser/signaling/signalingClient-browser.mjs.map +1 -0
- package/dist/browser/signaling/signalingClient.d.ts +6 -0
- package/dist/browser/signaling/signalingClient.js +13 -0
- package/dist/browser/signaling/signalingClientOptions.d.ts +6 -0
- package/dist/browser/signaling/signalingClientOptions.d.ts.map +1 -0
- package/dist/browser/signaling/signalingClientOptions.js +4 -0
- package/dist/browser/signaling/signalingClientOptions.js.map +1 -0
- package/dist/browser/xhrHttpClient.d.ts +17 -0
- package/dist/browser/xhrHttpClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/xhrHttpClient.js +2 -2
- package/dist/browser/xhrHttpClient.js.map +1 -0
- package/dist/commonjs/chatClient.d.ts +225 -0
- package/dist/commonjs/chatClient.d.ts.map +1 -0
- package/dist/commonjs/chatClient.js +250 -0
- package/dist/commonjs/chatClient.js.map +1 -0
- package/dist/commonjs/chatThreadClient.d.ts +142 -0
- package/dist/commonjs/chatThreadClient.d.ts.map +1 -0
- package/dist/commonjs/chatThreadClient.js +463 -0
- package/dist/commonjs/chatThreadClient.js.map +1 -0
- package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts +9 -0
- package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
- package/dist/commonjs/credential/communicationTokenCredentialPolicy.js +22 -0
- package/dist/commonjs/credential/communicationTokenCredentialPolicy.js.map +1 -0
- package/dist/commonjs/generated/src/chatApiClient.d.ts +18 -0
- package/dist/commonjs/generated/src/chatApiClient.d.ts.map +1 -0
- package/dist/commonjs/generated/src/chatApiClient.js +75 -0
- package/dist/commonjs/generated/src/chatApiClient.js.map +1 -0
- package/dist/commonjs/generated/src/index.d.ts +4 -0
- package/dist/commonjs/generated/src/index.d.ts.map +1 -0
- package/dist/commonjs/generated/src/index.js +16 -0
- package/dist/commonjs/generated/src/index.js.map +1 -0
- package/dist/commonjs/generated/src/models/index.d.ts +579 -0
- package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
- package/dist/commonjs/generated/src/models/index.js +43 -0
- package/dist/commonjs/generated/src/models/index.js.map +1 -0
- package/dist/commonjs/generated/src/models/mappers.d.ts +44 -0
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/commonjs/generated/src/models/mappers.js +1112 -0
- package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts +29 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/commonjs/generated/src/models/parameters.js +238 -0
- package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
- package/dist/commonjs/generated/src/operations/chat.d.ts +36 -0
- package/dist/commonjs/generated/src/operations/chat.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operations/chat.js +191 -0
- package/dist/commonjs/generated/src/operations/chat.js.map +1 -0
- package/dist/commonjs/generated/src/operations/chatThread.d.ts +144 -0
- package/dist/commonjs/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operations/chatThread.js +798 -0
- package/dist/commonjs/generated/src/operations/chatThread.js.map +1 -0
- package/dist/commonjs/generated/src/operations/index.d.ts +3 -0
- package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operations/index.js +13 -0
- package/dist/commonjs/generated/src/operations/index.js.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts +28 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chat.js +10 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chat.js.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js +10 -0
- package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +3 -0
- package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operationsInterfaces/index.js +13 -0
- package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist/commonjs/generated/src/tracing.d.ts +2 -0
- package/dist/commonjs/generated/src/tracing.d.ts.map +1 -0
- package/dist/commonjs/generated/src/tracing.js +17 -0
- package/dist/commonjs/generated/src/tracing.js.map +1 -0
- package/dist/commonjs/index.d.ts +7 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/models/events.d.ts +4 -0
- package/dist/commonjs/models/events.d.ts.map +1 -0
- package/dist/commonjs/models/events.js +5 -0
- package/dist/commonjs/models/events.js.map +1 -0
- package/dist/commonjs/models/logger.d.ts +2 -0
- package/dist/commonjs/models/logger.d.ts.map +1 -0
- package/dist/commonjs/models/logger.js +8 -0
- package/dist/commonjs/models/logger.js.map +1 -0
- package/dist/commonjs/models/mappers.d.ts +79 -0
- package/dist/commonjs/models/mappers.d.ts.map +1 -0
- package/dist/commonjs/models/mappers.js +203 -0
- package/dist/commonjs/models/mappers.js.map +1 -0
- package/dist/commonjs/models/models.d.ts +153 -0
- package/dist/commonjs/models/models.d.ts.map +1 -0
- package/dist/commonjs/models/models.js +5 -0
- package/dist/commonjs/models/models.js.map +1 -0
- package/dist/commonjs/models/options.d.ts +135 -0
- package/dist/commonjs/models/options.d.ts.map +1 -0
- package/dist/commonjs/models/options.js +3 -0
- package/dist/commonjs/models/options.js.map +1 -0
- package/dist/commonjs/models/requests.d.ts +18 -0
- package/dist/commonjs/models/requests.d.ts.map +1 -0
- package/dist/commonjs/models/requests.js +5 -0
- package/dist/commonjs/models/requests.js.map +1 -0
- package/dist/commonjs/models/uuid.d.ts +8 -0
- package/dist/commonjs/models/uuid.d.ts.map +1 -0
- package/dist/commonjs/models/uuid.js +16 -0
- package/dist/commonjs/models/uuid.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/signaling/signalingClient.d.ts +6 -0
- package/dist/commonjs/signaling/signalingClient.d.ts.map +1 -0
- package/dist/commonjs/signaling/signalingClient.js +11 -0
- package/dist/commonjs/signaling/signalingClient.js.map +1 -0
- package/dist/commonjs/signaling/signalingClientOptions.d.ts +6 -0
- package/dist/commonjs/signaling/signalingClientOptions.d.ts.map +1 -0
- package/dist/commonjs/signaling/signalingClientOptions.js +5 -0
- package/dist/commonjs/signaling/signalingClientOptions.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/xhrHttpClient.d.ts +17 -0
- package/dist/commonjs/xhrHttpClient.d.ts.map +1 -0
- package/dist/commonjs/xhrHttpClient.js +191 -0
- package/dist/commonjs/xhrHttpClient.js.map +1 -0
- package/dist/esm/chatClient.d.ts +225 -0
- package/dist/esm/chatClient.d.ts.map +1 -0
- package/dist/esm/chatClient.js +246 -0
- package/dist/esm/chatClient.js.map +1 -0
- package/dist/esm/chatThreadClient.d.ts +142 -0
- package/dist/esm/chatThreadClient.d.ts.map +1 -0
- package/dist/esm/chatThreadClient.js +459 -0
- package/dist/esm/chatThreadClient.js.map +1 -0
- package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts +9 -0
- package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
- package/dist/esm/credential/communicationTokenCredentialPolicy.js +18 -0
- package/dist/esm/credential/communicationTokenCredentialPolicy.js.map +1 -0
- package/dist/esm/generated/src/chatApiClient.d.ts +18 -0
- package/dist/esm/generated/src/chatApiClient.d.ts.map +1 -0
- package/dist/esm/generated/src/chatApiClient.js +70 -0
- package/dist/esm/generated/src/chatApiClient.js.map +1 -0
- package/dist/esm/generated/src/index.d.ts +4 -0
- package/dist/esm/generated/src/index.d.ts.map +1 -0
- package/dist/esm/generated/src/index.js +11 -0
- package/dist/esm/generated/src/index.js.map +1 -0
- package/dist/esm/generated/src/models/index.d.ts +579 -0
- package/dist/esm/generated/src/models/index.d.ts.map +1 -0
- package/dist/esm/generated/src/models/index.js +40 -0
- package/dist/esm/generated/src/models/index.js.map +1 -0
- package/dist/esm/generated/src/models/mappers.d.ts +44 -0
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/esm/generated/src/models/mappers.js +1109 -0
- package/dist/esm/generated/src/models/mappers.js.map +1 -0
- package/dist/esm/generated/src/models/parameters.d.ts +29 -0
- package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/esm/generated/src/models/parameters.js +235 -0
- package/dist/esm/generated/src/models/parameters.js.map +1 -0
- package/dist/esm/generated/src/operations/chat.d.ts +36 -0
- package/dist/esm/generated/src/operations/chat.d.ts.map +1 -0
- package/dist/esm/generated/src/operations/chat.js +186 -0
- package/dist/esm/generated/src/operations/chat.js.map +1 -0
- package/dist/esm/generated/src/operations/chatThread.d.ts +144 -0
- package/dist/esm/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/esm/generated/src/operations/chatThread.js +793 -0
- package/dist/esm/generated/src/operations/chatThread.js.map +1 -0
- package/dist/esm/generated/src/operations/index.d.ts +3 -0
- package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
- package/dist/esm/generated/src/operations/index.js +10 -0
- package/dist/esm/generated/src/operations/index.js.map +1 -0
- package/dist/esm/generated/src/operationsInterfaces/chat.d.ts +28 -0
- package/dist/esm/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
- package/{dist-esm/src/generated/src/operationsInterfaces/index.js → dist/esm/generated/src/operationsInterfaces/chat.js} +2 -3
- package/dist/esm/generated/src/operationsInterfaces/chat.js.map +1 -0
- package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
- package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
- package/{dist-esm/src/generated/src/operations/index.js → dist/esm/generated/src/operationsInterfaces/chatThread.js} +2 -3
- package/dist/esm/generated/src/operationsInterfaces/chatThread.js.map +1 -0
- package/dist/esm/generated/src/operationsInterfaces/index.d.ts +3 -0
- package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist/esm/generated/src/operationsInterfaces/index.js +10 -0
- package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist/esm/generated/src/tracing.d.ts +2 -0
- package/dist/esm/generated/src/tracing.d.ts.map +1 -0
- package/dist/esm/generated/src/tracing.js +14 -0
- package/dist/esm/generated/src/tracing.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/models/events.d.ts +4 -0
- package/dist/esm/models/events.d.ts.map +1 -0
- package/dist/esm/models/events.js +4 -0
- package/dist/esm/models/events.js.map +1 -0
- package/dist/esm/models/logger.d.ts +2 -0
- package/dist/esm/models/logger.d.ts.map +1 -0
- package/dist/esm/models/logger.js +5 -0
- package/dist/esm/models/logger.js.map +1 -0
- package/dist/esm/models/mappers.d.ts +79 -0
- package/dist/esm/models/mappers.d.ts.map +1 -0
- package/dist/esm/models/mappers.js +184 -0
- package/dist/esm/models/mappers.js.map +1 -0
- package/dist/esm/models/models.d.ts +153 -0
- package/dist/esm/models/models.d.ts.map +1 -0
- package/dist/esm/models/models.js +4 -0
- package/dist/esm/models/models.js.map +1 -0
- package/dist/esm/models/options.d.ts +135 -0
- package/dist/esm/models/options.d.ts.map +1 -0
- package/dist/esm/models/options.js +2 -0
- package/dist/esm/models/options.js.map +1 -0
- package/dist/esm/models/requests.d.ts +18 -0
- package/dist/esm/models/requests.d.ts.map +1 -0
- package/dist/esm/models/requests.js +4 -0
- package/dist/esm/models/requests.js.map +1 -0
- package/dist/esm/models/uuid.d.ts +8 -0
- package/dist/esm/models/uuid.d.ts.map +1 -0
- package/dist/esm/models/uuid.js +13 -0
- package/dist/esm/models/uuid.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/signaling/signalingClient.d.ts +6 -0
- package/dist/esm/signaling/signalingClient.d.ts.map +1 -0
- package/dist/esm/signaling/signalingClient.js +7 -0
- package/dist/esm/signaling/signalingClient.js.map +1 -0
- package/dist/esm/signaling/signalingClientOptions.d.ts +6 -0
- package/dist/esm/signaling/signalingClientOptions.d.ts.map +1 -0
- package/dist/esm/signaling/signalingClientOptions.js +4 -0
- package/dist/esm/signaling/signalingClientOptions.js.map +1 -0
- package/dist/esm/xhrHttpClient.d.ts +17 -0
- package/dist/esm/xhrHttpClient.d.ts.map +1 -0
- package/dist/esm/xhrHttpClient.js +186 -0
- package/dist/esm/xhrHttpClient.js.map +1 -0
- package/dist/react-native/chatClient.d.ts +225 -0
- package/dist/react-native/chatClient.d.ts.map +1 -0
- package/dist/react-native/chatClient.js +246 -0
- package/dist/react-native/chatClient.js.map +1 -0
- package/dist/react-native/chatThreadClient.d.ts +142 -0
- package/dist/react-native/chatThreadClient.d.ts.map +1 -0
- package/dist/react-native/chatThreadClient.js +459 -0
- package/dist/react-native/chatThreadClient.js.map +1 -0
- package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts +9 -0
- package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
- package/dist/react-native/credential/communicationTokenCredentialPolicy.js +18 -0
- package/dist/react-native/credential/communicationTokenCredentialPolicy.js.map +1 -0
- package/dist/react-native/generated/src/chatApiClient.d.ts +18 -0
- package/dist/react-native/generated/src/chatApiClient.d.ts.map +1 -0
- package/dist/react-native/generated/src/chatApiClient.js +70 -0
- package/dist/react-native/generated/src/chatApiClient.js.map +1 -0
- package/dist/react-native/generated/src/index.d.ts +4 -0
- package/dist/react-native/generated/src/index.d.ts.map +1 -0
- package/dist/react-native/generated/src/index.js +11 -0
- package/dist/react-native/generated/src/index.js.map +1 -0
- package/dist/react-native/generated/src/models/index.d.ts +579 -0
- package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
- package/dist/react-native/generated/src/models/index.js +40 -0
- package/dist/react-native/generated/src/models/index.js.map +1 -0
- package/dist/react-native/generated/src/models/mappers.d.ts +44 -0
- package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/react-native/generated/src/models/mappers.js +1109 -0
- package/dist/react-native/generated/src/models/mappers.js.map +1 -0
- package/dist/react-native/generated/src/models/parameters.d.ts +29 -0
- package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/react-native/generated/src/models/parameters.js +235 -0
- package/dist/react-native/generated/src/models/parameters.js.map +1 -0
- package/dist/react-native/generated/src/operations/chat.d.ts +36 -0
- package/dist/react-native/generated/src/operations/chat.d.ts.map +1 -0
- package/dist/react-native/generated/src/operations/chat.js +186 -0
- package/dist/react-native/generated/src/operations/chat.js.map +1 -0
- package/dist/react-native/generated/src/operations/chatThread.d.ts +144 -0
- package/dist/react-native/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/react-native/generated/src/operations/chatThread.js +793 -0
- package/dist/react-native/generated/src/operations/chatThread.js.map +1 -0
- package/dist/react-native/generated/src/operations/index.d.ts +3 -0
- package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
- package/dist/react-native/generated/src/operations/index.js +10 -0
- package/dist/react-native/generated/src/operations/index.js.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts +28 -0
- package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/chat.js +9 -0
- package/dist/react-native/generated/src/operationsInterfaces/chat.js.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
- package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/chatThread.js +9 -0
- package/dist/react-native/generated/src/operationsInterfaces/chatThread.js.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +3 -0
- package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
- package/dist/react-native/generated/src/operationsInterfaces/index.js +10 -0
- package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist/react-native/generated/src/tracing.d.ts +2 -0
- package/dist/react-native/generated/src/tracing.d.ts.map +1 -0
- package/dist/react-native/generated/src/tracing.js +14 -0
- package/dist/react-native/generated/src/tracing.js.map +1 -0
- package/dist/react-native/index.d.ts +7 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +9 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/models/events.d.ts +4 -0
- package/dist/react-native/models/events.d.ts.map +1 -0
- package/dist/react-native/models/events.js +4 -0
- package/dist/react-native/models/events.js.map +1 -0
- package/dist/react-native/models/logger.d.ts +2 -0
- package/dist/react-native/models/logger.d.ts.map +1 -0
- package/dist/react-native/models/logger.js +5 -0
- package/dist/react-native/models/logger.js.map +1 -0
- package/dist/react-native/models/mappers.d.ts +79 -0
- package/dist/react-native/models/mappers.d.ts.map +1 -0
- package/dist/react-native/models/mappers.js +184 -0
- package/dist/react-native/models/mappers.js.map +1 -0
- package/dist/react-native/models/models.d.ts +153 -0
- package/dist/react-native/models/models.d.ts.map +1 -0
- package/dist/react-native/models/models.js +4 -0
- package/dist/react-native/models/models.js.map +1 -0
- package/dist/react-native/models/options.d.ts +135 -0
- package/dist/react-native/models/options.d.ts.map +1 -0
- package/dist/react-native/models/options.js +2 -0
- package/dist/react-native/models/options.js.map +1 -0
- package/dist/react-native/models/requests.d.ts +18 -0
- package/dist/react-native/models/requests.d.ts.map +1 -0
- package/dist/react-native/models/requests.js +4 -0
- package/dist/react-native/models/requests.js.map +1 -0
- package/dist/react-native/models/uuid.d.ts +8 -0
- package/dist/react-native/models/uuid.d.ts.map +1 -0
- package/dist/react-native/models/uuid.js +13 -0
- package/dist/react-native/models/uuid.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/signaling/signalingClient-react-native.d.mts.map +1 -0
- package/dist/react-native/signaling/signalingClient-react-native.mjs.map +1 -0
- package/dist/react-native/signaling/signalingClient.d.ts +6 -0
- package/dist/react-native/signaling/signalingClient.js +13 -0
- package/dist/react-native/signaling/signalingClientOptions.d.ts +6 -0
- package/dist/react-native/signaling/signalingClientOptions.d.ts.map +1 -0
- package/dist/react-native/signaling/signalingClientOptions.js +4 -0
- package/dist/react-native/signaling/signalingClientOptions.js.map +1 -0
- package/dist/react-native/xhrHttpClient.d.ts +17 -0
- package/dist/react-native/xhrHttpClient.d.ts.map +1 -0
- package/dist/react-native/xhrHttpClient.js +186 -0
- package/dist/react-native/xhrHttpClient.js.map +1 -0
- package/package.json +77 -64
- package/dist/index.js +0 -3560
- package/dist/index.js.map +0 -1
- package/dist-esm/src/chatClient.js.map +0 -1
- package/dist-esm/src/chatThreadClient.js.map +0 -1
- package/dist-esm/src/credential/communicationTokenCredentialPolicy.js.map +0 -1
- package/dist-esm/src/generated/src/chatApiClient.js.map +0 -1
- package/dist-esm/src/generated/src/index.js.map +0 -1
- package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
- package/dist-esm/src/generated/src/operations/chat.js.map +0 -1
- package/dist-esm/src/generated/src/operations/chatThread.js.map +0 -1
- package/dist-esm/src/generated/src/operations/index.js.map +0 -1
- package/dist-esm/src/generated/src/operationsInterfaces/chat.js.map +0 -1
- package/dist-esm/src/generated/src/operationsInterfaces/chatThread.js.map +0 -1
- package/dist-esm/src/generated/src/operationsInterfaces/index.js.map +0 -1
- package/dist-esm/src/index.js +0 -9
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/models/events.js +0 -4
- package/dist-esm/src/models/events.js.map +0 -1
- package/dist-esm/src/models/mappers.js.map +0 -1
- package/dist-esm/src/models/models.js +0 -4
- package/dist-esm/src/models/models.js.map +0 -1
- package/dist-esm/src/models/options.js.map +0 -1
- package/dist-esm/src/models/requests.js +0 -4
- package/dist-esm/src/models/requests.js.map +0 -1
- package/dist-esm/src/models/uuid.js.map +0 -1
- package/dist-esm/src/signaling/signalingClient.browser.js +0 -12
- package/dist-esm/src/signaling/signalingClient.browser.js.map +0 -1
- package/dist-esm/src/signaling/signalingClient.js +0 -17
- package/dist-esm/src/signaling/signalingClient.js.map +0 -1
- package/dist-esm/src/xhrHttpClient.js.map +0 -1
- package/types/communication-chat.d.ts +0 -803
- /package/{dist-esm/src → dist/browser}/generated/src/models/index.js +0 -0
- /package/{dist-esm/src → dist/browser}/generated/src/models/index.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js +0 -0
- /package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chat.js +0 -0
- /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chatThread.js +0 -0
- /package/{dist-esm/src → dist/browser}/models/options.js +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Azure Communication Services for Chat lets developers add chat capabilities to their app. Use this client library to manage chat threads and their users, and send and receive chat messages.
|
|
4
4
|
|
|
5
|
-
Read more about Azure Communication Services [here](https://
|
|
5
|
+
Read more about Azure Communication Services [here](https://learn.microsoft.com/azure/communication-services/overview)
|
|
6
6
|
|
|
7
7
|
## Getting started
|
|
8
8
|
|
|
@@ -25,7 +25,7 @@ npm install @azure/communication-chat
|
|
|
25
25
|
To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling).
|
|
26
26
|
In `rollup.config.js`, add following customized name exports in `cjs` plugin.
|
|
27
27
|
|
|
28
|
-
```
|
|
28
|
+
```
|
|
29
29
|
|
|
30
30
|
cjs({
|
|
31
31
|
namedExports: {
|
|
@@ -55,16 +55,15 @@ A chat conversation is represented by a thread. Each user in the thread is calle
|
|
|
55
55
|
|
|
56
56
|
Use resource url and user access token to initialize chat client.
|
|
57
57
|
|
|
58
|
-
```
|
|
59
|
-
import { ChatClient } from '@azure/communication-chat';
|
|
58
|
+
```ts snippet:ReadmeSampleCreateClient_Node
|
|
60
59
|
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
60
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
61
61
|
|
|
62
62
|
// Your unique Azure Communication service endpoint
|
|
63
|
-
const endpointUrl =
|
|
64
|
-
const userAccessToken =
|
|
63
|
+
const endpointUrl = "<ENDPOINT>";
|
|
64
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
65
65
|
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
66
66
|
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
67
|
-
|
|
68
67
|
```
|
|
69
68
|
|
|
70
69
|
### Create a thread with two users
|
|
@@ -82,23 +81,35 @@ Use the `createThread` method to create a chat thread.
|
|
|
82
81
|
|
|
83
82
|
`createChatThreadResult` is the result returned from creating a thread. It contains a `chatThread` which is the thread that was created, as well as an `errors` property which will contain information about invalid participants if they failed to be added to the thread.
|
|
84
83
|
|
|
85
|
-
```
|
|
84
|
+
```ts snippet:ReadmeSampleCreateThread
|
|
85
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
86
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
87
|
+
|
|
88
|
+
// Your unique Azure Communication service endpoint
|
|
89
|
+
const endpointUrl = "<ENDPOINT>";
|
|
90
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
91
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
92
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
93
|
+
|
|
86
94
|
const createChatThreadRequest = {
|
|
87
|
-
topic: "Hello, World!"
|
|
95
|
+
topic: "Hello, World!",
|
|
88
96
|
};
|
|
97
|
+
|
|
89
98
|
const createChatThreadOptions = {
|
|
90
99
|
participants: [
|
|
91
100
|
{
|
|
92
|
-
id: { communicationUserId:
|
|
93
|
-
displayName:
|
|
94
|
-
}
|
|
95
|
-
]
|
|
101
|
+
id: { communicationUserId: "<USER_ID>" },
|
|
102
|
+
displayName: "<USER_DISPLAY_NAME>",
|
|
103
|
+
},
|
|
104
|
+
],
|
|
96
105
|
};
|
|
106
|
+
|
|
97
107
|
const createChatThreadResult = await chatClient.createChatThread(
|
|
98
108
|
createChatThreadRequest,
|
|
99
|
-
createChatThreadOptions
|
|
109
|
+
createChatThreadOptions,
|
|
100
110
|
);
|
|
101
|
-
|
|
111
|
+
|
|
112
|
+
const threadId = createChatThreadResult?.chatThread?.id;
|
|
102
113
|
```
|
|
103
114
|
|
|
104
115
|
### Create a ChatThreadClient
|
|
@@ -107,8 +118,17 @@ The ChatThreadClient will allow you to perform operations specific to a chat thr
|
|
|
107
118
|
|
|
108
119
|
You can initialize a new ChatThreadClient using the `getChatThreadClient` method of the ChatClient with an existing thread id:
|
|
109
120
|
|
|
110
|
-
```
|
|
111
|
-
|
|
121
|
+
```ts snippet:ReadmeSampleCreateChatThreadClient
|
|
122
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
123
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
124
|
+
|
|
125
|
+
// Your unique Azure Communication service endpoint
|
|
126
|
+
const endpointUrl = "<ENDPOINT>";
|
|
127
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
128
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
129
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
130
|
+
|
|
131
|
+
const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
|
|
112
132
|
```
|
|
113
133
|
|
|
114
134
|
### Send a message to the thread
|
|
@@ -126,16 +146,32 @@ Use `sendMessage` method to sends a message to a thread identified by threadId.
|
|
|
126
146
|
|
|
127
147
|
`sendChatMessageResult` is the result returned from sending a message, it contains an ID, which is the unique ID of the message.
|
|
128
148
|
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
{
|
|
132
|
-
|
|
149
|
+
```ts snippet:ReadmeSampleSendMessage
|
|
150
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
151
|
+
import { ChatClient, SendMessageOptions } from "@azure/communication-chat";
|
|
152
|
+
|
|
153
|
+
// Your unique Azure Communication service endpoint
|
|
154
|
+
const endpointUrl = "<ENDPOINT>";
|
|
155
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
156
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
157
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
158
|
+
|
|
159
|
+
const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
|
|
160
|
+
|
|
161
|
+
const sendMessageRequest = {
|
|
162
|
+
content: "Hello Geeta! Can you share the deck for the conference?",
|
|
133
163
|
};
|
|
134
|
-
|
|
164
|
+
|
|
165
|
+
const sendMessageOptions: SendMessageOptions = {
|
|
135
166
|
senderDisplayName: "Jack",
|
|
136
|
-
type: "text"
|
|
167
|
+
type: "text",
|
|
137
168
|
};
|
|
138
|
-
|
|
169
|
+
|
|
170
|
+
const sendChatMessageResult = await chatThreadClient.sendMessage(
|
|
171
|
+
sendMessageRequest,
|
|
172
|
+
sendMessageOptions,
|
|
173
|
+
);
|
|
174
|
+
|
|
139
175
|
const messageId = sendChatMessageResult.id;
|
|
140
176
|
```
|
|
141
177
|
|
|
@@ -143,7 +179,15 @@ const messageId = sendChatMessageResult.id;
|
|
|
143
179
|
|
|
144
180
|
With real-time signaling, you can subscribe to listen for new incoming messages and update the current messages in memory accordingly.
|
|
145
181
|
|
|
146
|
-
```
|
|
182
|
+
```ts snippet:ReadmeSampleSubscribeToChatMessages
|
|
183
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
184
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
185
|
+
|
|
186
|
+
// Your unique Azure Communication service endpoint
|
|
187
|
+
const endpointUrl = "<ENDPOINT>";
|
|
188
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
189
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
190
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
147
191
|
|
|
148
192
|
// open notifications channel
|
|
149
193
|
await chatClient.startRealtimeNotifications();
|
|
@@ -152,14 +196,24 @@ chatClient.on("chatMessageReceived", (e) => {
|
|
|
152
196
|
console.log("Notification chatMessageReceived!");
|
|
153
197
|
// your code here
|
|
154
198
|
});
|
|
155
|
-
|
|
156
199
|
```
|
|
157
200
|
|
|
158
201
|
Alternatively you can retrieve chat messages by polling the `listMessages` method at specified intervals.
|
|
159
202
|
|
|
160
|
-
```
|
|
203
|
+
```ts snippet:ReadmeSampleListMessages
|
|
204
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
205
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
206
|
+
|
|
207
|
+
// Your unique Azure Communication service endpoint
|
|
208
|
+
const endpointUrl = "<ENDPOINT>";
|
|
209
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
210
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
211
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
212
|
+
|
|
213
|
+
const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
|
|
214
|
+
|
|
161
215
|
for await (const chatMessage of chatThreadClient.listMessages()) {
|
|
162
|
-
|
|
216
|
+
// your code here
|
|
163
217
|
}
|
|
164
218
|
```
|
|
165
219
|
|
|
@@ -167,55 +221,90 @@ for await (const chatMessage of chatThreadClient.listMessages()) {
|
|
|
167
221
|
|
|
168
222
|
Once a thread is created, you can then add and remove users from that thread. By adding users, you give them access to be able to send messages to the thread.
|
|
169
223
|
You will need to start by getting a new access token and identity for that user. The user will need that access token in order to initialize their chat client.
|
|
170
|
-
More information on tokens here: [Authenticate to Azure Communication Services](https://
|
|
224
|
+
More information on tokens here: [Authenticate to Azure Communication Services](https://learn.microsoft.com/azure/communication-services/concepts/authentication?tabs=javascript)
|
|
171
225
|
|
|
172
|
-
```
|
|
226
|
+
```ts snippet:ReadmeSampleAddParticipants
|
|
227
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
228
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
229
|
+
|
|
230
|
+
// Your unique Azure Communication service endpoint
|
|
231
|
+
const endpointUrl = "<ENDPOINT>";
|
|
232
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
233
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
234
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
235
|
+
|
|
236
|
+
const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
|
|
173
237
|
|
|
174
|
-
const addParticipantsRequest =
|
|
175
|
-
{
|
|
238
|
+
const addParticipantsRequest = {
|
|
176
239
|
participants: [
|
|
177
240
|
{
|
|
178
|
-
id: { communicationUserId:
|
|
179
|
-
displayName:
|
|
180
|
-
}
|
|
181
|
-
]
|
|
241
|
+
id: { communicationUserId: "<NEW_PARTICIPANT_USER_ID>" },
|
|
242
|
+
displayName: "Jane",
|
|
243
|
+
},
|
|
244
|
+
],
|
|
182
245
|
};
|
|
183
246
|
|
|
184
247
|
await chatThreadClient.addParticipants(addParticipantsRequest);
|
|
185
|
-
|
|
186
248
|
```
|
|
187
249
|
|
|
188
250
|
### Remove Users from a thread
|
|
189
251
|
|
|
190
252
|
Similar to above, you can also remove users from a thread. In order to remove, you will need to track the IDs of the participants you have added.
|
|
191
253
|
|
|
192
|
-
```
|
|
254
|
+
```ts snippet:ReadmeSampleRemoveParticipants
|
|
255
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
256
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
193
257
|
|
|
194
|
-
|
|
258
|
+
// Your unique Azure Communication service endpoint
|
|
259
|
+
const endpointUrl = "<ENDPOINT>";
|
|
260
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
261
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
262
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
263
|
+
|
|
264
|
+
const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
|
|
195
265
|
|
|
266
|
+
await chatThreadClient.removeParticipant({ communicationUserId: "<MEMBER_ID>" });
|
|
196
267
|
```
|
|
197
268
|
|
|
198
269
|
### Subscribe to connection status of real time notifications
|
|
270
|
+
|
|
199
271
|
Subscription to events `realTimeNotificationConnected` and `realTimeNotificationDisconnected` allows you to know when the connection to the call server is active.
|
|
200
272
|
|
|
201
|
-
```
|
|
273
|
+
```ts snippet:ReadmeSampleSubscribeToRealTimeNotifications
|
|
274
|
+
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
|
|
275
|
+
import { ChatClient } from "@azure/communication-chat";
|
|
276
|
+
|
|
277
|
+
// Your unique Azure Communication service endpoint
|
|
278
|
+
const endpointUrl = "<ENDPOINT>";
|
|
279
|
+
const userAccessToken = "<USER_ACCESS_TOKEN>";
|
|
280
|
+
const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
|
|
281
|
+
const chatClient = new ChatClient(endpointUrl, tokenCredential);
|
|
202
282
|
|
|
203
283
|
// subscribe to realTimeNotificationConnected event
|
|
204
|
-
chatClient.on(
|
|
284
|
+
chatClient.on("realTimeNotificationConnected", () => {
|
|
205
285
|
console.log("Real time notification is now connected!");
|
|
206
286
|
// your code here
|
|
207
287
|
});
|
|
208
288
|
|
|
209
289
|
// subscribe to realTimeNotificationDisconnected event
|
|
210
|
-
chatClient.on(
|
|
290
|
+
chatClient.on("realTimeNotificationDisconnected", () => {
|
|
211
291
|
console.log("Real time notification is now disconnected!");
|
|
212
292
|
// your code here
|
|
213
293
|
});
|
|
214
|
-
|
|
215
294
|
```
|
|
216
295
|
|
|
217
296
|
## Troubleshooting
|
|
218
297
|
|
|
298
|
+
### Logging
|
|
299
|
+
|
|
300
|
+
Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
|
|
301
|
+
|
|
302
|
+
```ts snippet:SetLogLevel
|
|
303
|
+
import { setLogLevel } from "@azure/logger";
|
|
304
|
+
|
|
305
|
+
setLogLevel("info");
|
|
306
|
+
```
|
|
307
|
+
|
|
219
308
|
## Next steps
|
|
220
309
|
|
|
221
310
|
In this quickstart you learned how to:
|
|
@@ -230,7 +319,7 @@ In this quickstart you learned how to:
|
|
|
230
319
|
|
|
231
320
|
If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.
|
|
232
321
|
|
|
233
|
-
[azure_cli]: https://
|
|
322
|
+
[azure_cli]: https://learn.microsoft.com/cli/azure
|
|
234
323
|
[azure_sub]: https://azure.microsoft.com/free/
|
|
235
324
|
[azure_portal]: https://portal.azure.com
|
|
236
|
-
[azure_powershell]: https://
|
|
325
|
+
[azure_powershell]: https://learn.microsoft.com/powershell/module/az.communication/new-azcommunicationservice
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import type { ChatClientOptions, CreateChatThreadOptions, DeleteChatThreadOptions, ListChatThreadsOptions } from "./models/options.js";
|
|
2
|
+
import type { ChatMessageDeletedEvent, ChatMessageEditedEvent, ChatMessageReceivedEvent, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent, StreamingChatMessageChunkReceivedEvent, StreamingChatMessageStartEvent, TypingIndicatorReceivedEvent } from "./models/events.js";
|
|
3
|
+
import type { ChatThreadItem, CreateChatThreadResult } from "./models/models.js";
|
|
4
|
+
import { ChatThreadClient } from "./chatThreadClient.js";
|
|
5
|
+
import type { CommunicationTokenCredential } from "@azure/communication-common";
|
|
6
|
+
import type { CreateChatThreadRequest } from "./models/requests.js";
|
|
7
|
+
import type { PagedAsyncIterableIterator } from "@azure/core-paging";
|
|
8
|
+
/**
|
|
9
|
+
* The client to do chat operations
|
|
10
|
+
*/
|
|
11
|
+
export declare class ChatClient {
|
|
12
|
+
private readonly endpoint;
|
|
13
|
+
private readonly tokenCredential;
|
|
14
|
+
private readonly clientOptions;
|
|
15
|
+
private readonly client;
|
|
16
|
+
private readonly signalingClient;
|
|
17
|
+
private readonly emitter;
|
|
18
|
+
private isRealtimeNotificationsStarted;
|
|
19
|
+
/**
|
|
20
|
+
* Creates an instance of the ChatClient for a given resource and user.
|
|
21
|
+
*
|
|
22
|
+
* @param endpoint - The url of the Communication Services resource.
|
|
23
|
+
* @param credential - The token credential. Use AzureCommunicationTokenCredential from \@azure/communication-common to create a credential.
|
|
24
|
+
* @param options - Additional client options.
|
|
25
|
+
*/
|
|
26
|
+
constructor(endpoint: string, credential: CommunicationTokenCredential, options?: ChatClientOptions);
|
|
27
|
+
/**
|
|
28
|
+
* Returns ChatThreadClient with the specific thread id.
|
|
29
|
+
* @param threadId - Thread ID for the ChatThreadClient
|
|
30
|
+
*/
|
|
31
|
+
getChatThreadClient(threadId: string): ChatThreadClient;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a chat thread.
|
|
34
|
+
* Returns thread client with the id of the created thread.
|
|
35
|
+
* @param request - Request for creating a chat thread.
|
|
36
|
+
* @param options - Operation options.
|
|
37
|
+
*/
|
|
38
|
+
createChatThread(request: CreateChatThreadRequest, options?: CreateChatThreadOptions): Promise<CreateChatThreadResult>;
|
|
39
|
+
private listChatThreadsPage;
|
|
40
|
+
private listChatThreadsAll;
|
|
41
|
+
/**
|
|
42
|
+
* Gets the list of chat threads of a user.
|
|
43
|
+
* @param options - List chat threads options.
|
|
44
|
+
*/
|
|
45
|
+
listChatThreads(options?: ListChatThreadsOptions): PagedAsyncIterableIterator<ChatThreadItem>;
|
|
46
|
+
/**
|
|
47
|
+
* Deletes a chat thread.
|
|
48
|
+
* @param threadId - The ID of the thread to delete.
|
|
49
|
+
* @param options - Operation options.
|
|
50
|
+
*/
|
|
51
|
+
deleteChatThread(threadId: string, options?: DeleteChatThreadOptions): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Start receiving realtime notifications.
|
|
54
|
+
* Call this function before subscribing to any event.
|
|
55
|
+
*/
|
|
56
|
+
startRealtimeNotifications(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Stop receiving realtime notifications.
|
|
59
|
+
* This function would unsubscribe to all events.
|
|
60
|
+
*/
|
|
61
|
+
stopRealtimeNotifications(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Subscribe function for chatMessageReceived.
|
|
64
|
+
* The initial sender will also receive this event.
|
|
65
|
+
* You need to call startRealtimeNotifications before subscribing to any event.
|
|
66
|
+
* @param event - The ChatMessageReceivedEvent.
|
|
67
|
+
* @param listener - The listener to handle the event.
|
|
68
|
+
*/
|
|
69
|
+
on(event: "chatMessageReceived", listener: (e: ChatMessageReceivedEvent) => void): void;
|
|
70
|
+
/**
|
|
71
|
+
* Subscribe function for chatMessageEdited.
|
|
72
|
+
* The initial sender will also receive this event.
|
|
73
|
+
* @param event - The ChatMessageEditedEvent.
|
|
74
|
+
* @param listener - The listener to handle the event.
|
|
75
|
+
*/
|
|
76
|
+
on(event: "chatMessageEdited", listener: (e: ChatMessageEditedEvent) => void): void;
|
|
77
|
+
/**
|
|
78
|
+
* Subscribe function for chatMessageDeleted.
|
|
79
|
+
* The initial sender will also receive this event.
|
|
80
|
+
* @param event - The ChatMessageDeletedEvent.
|
|
81
|
+
* @param listener - The listener to handle the event.
|
|
82
|
+
*/
|
|
83
|
+
on(event: "chatMessageDeleted", listener: (e: ChatMessageDeletedEvent) => void): void;
|
|
84
|
+
/**
|
|
85
|
+
* Subscribe function for typingIndicatorReceived.
|
|
86
|
+
* The initial sender will also receive this event.
|
|
87
|
+
* @param event - The TypingIndicatorReceivedEvent.
|
|
88
|
+
* @param listener - The listener to handle the event.
|
|
89
|
+
*/
|
|
90
|
+
on(event: "typingIndicatorReceived", listener: (e: TypingIndicatorReceivedEvent) => void): void;
|
|
91
|
+
/**
|
|
92
|
+
* Subscribe function for readReceiptReceived.
|
|
93
|
+
* @param event - The ReadReceiptReceivedEvent.
|
|
94
|
+
* @param listener - The listener to handle the event.
|
|
95
|
+
*/
|
|
96
|
+
on(event: "readReceiptReceived", listener: (e: ReadReceiptReceivedEvent) => void): void;
|
|
97
|
+
/**
|
|
98
|
+
* Subscribe function for chatThreadCreated.
|
|
99
|
+
* @param event - The ChatThreadCreatedEvent.
|
|
100
|
+
* @param listener - The listener to handle the event.
|
|
101
|
+
*/
|
|
102
|
+
on(event: "chatThreadCreated", listener: (e: ChatThreadCreatedEvent) => void): void;
|
|
103
|
+
/**
|
|
104
|
+
* Subscribe function for chatThreadDeleted.
|
|
105
|
+
* @param event - The ChatThreadDeletedEvent.
|
|
106
|
+
* @param listener - The listener to handle the event.
|
|
107
|
+
*/
|
|
108
|
+
on(event: "chatThreadDeleted", listener: (e: ChatThreadDeletedEvent) => void): void;
|
|
109
|
+
/**
|
|
110
|
+
* Subscribe function for chatThreadPropertiesUpdated.
|
|
111
|
+
* @param event - The ChatThreadPropertiesUpdatedEvent.
|
|
112
|
+
* @param listener - The listener to handle the event.
|
|
113
|
+
*/
|
|
114
|
+
on(event: "chatThreadPropertiesUpdated", listener: (e: ChatThreadPropertiesUpdatedEvent) => void): void;
|
|
115
|
+
/**
|
|
116
|
+
* Subscribe function for participantsAdded.
|
|
117
|
+
* @param event - The ParticipantsAddedEvent.
|
|
118
|
+
* @param listener - The listener to handle the event.
|
|
119
|
+
*/
|
|
120
|
+
on(event: "participantsAdded", listener: (e: ParticipantsAddedEvent) => void): void;
|
|
121
|
+
/**
|
|
122
|
+
* Subscribe function for participantsRemoved.
|
|
123
|
+
* @param event - The ParticipantsRemovedEvent.
|
|
124
|
+
* @param listener - The listener to handle the event.
|
|
125
|
+
*/
|
|
126
|
+
on(event: "participantsRemoved", listener: (e: ParticipantsRemovedEvent) => void): void;
|
|
127
|
+
/**
|
|
128
|
+
* Subscribe function for streamingChatMessageStarted
|
|
129
|
+
* @param event - The StreamingChatMessageStartEvent
|
|
130
|
+
* @param listener - The listener to handle the event
|
|
131
|
+
*/
|
|
132
|
+
on(event: "streamingChatMessageStarted", listener: (e: StreamingChatMessageStartEvent) => void): void;
|
|
133
|
+
/**
|
|
134
|
+
* Subscribe function for streamingChatMessageChunkReceived
|
|
135
|
+
* @param event - The StreamingChatMessageChunkReceivedEvent
|
|
136
|
+
* @param listener - The listener to handle the event
|
|
137
|
+
*/
|
|
138
|
+
on(event: "streamingChatMessageChunkReceived", listener: (e: StreamingChatMessageChunkReceivedEvent) => void): void;
|
|
139
|
+
/**
|
|
140
|
+
* Subscribe function for realTimeNotificationConnected.
|
|
141
|
+
* @param event - The realTimeNotificationConnected Event
|
|
142
|
+
* @param listener - The listener to handle the event.
|
|
143
|
+
*/
|
|
144
|
+
on(event: "realTimeNotificationConnected", listener: () => void): void;
|
|
145
|
+
/**
|
|
146
|
+
* Subscribe function for realTimeNotificationDisconnected.
|
|
147
|
+
* @param event - The realTimeNotificationDisconnected Event
|
|
148
|
+
* @param listener - The listener to handle the event.
|
|
149
|
+
*/
|
|
150
|
+
on(event: "realTimeNotificationDisconnected", listener: () => void): void;
|
|
151
|
+
/**
|
|
152
|
+
* Unsubscribe from chatMessageReceived.
|
|
153
|
+
* @param event - The ChatMessageReceivedEvent.
|
|
154
|
+
* @param listener - The listener to handle the event.
|
|
155
|
+
*/
|
|
156
|
+
off(event: "chatMessageReceived", listener: (e: ChatMessageReceivedEvent) => void): void;
|
|
157
|
+
/**
|
|
158
|
+
* Unsubscribe from chatMessageEdited.
|
|
159
|
+
* @param event - The ChatMessageEditedEvent.
|
|
160
|
+
* @param listener - The listener to handle the event.
|
|
161
|
+
*/
|
|
162
|
+
off(event: "chatMessageEdited", listener: (e: ChatMessageEditedEvent) => void): void;
|
|
163
|
+
/**
|
|
164
|
+
* Unsubscribe from chatMessageDeleted.
|
|
165
|
+
* @param event - The ChatMessageDeletedEvent.
|
|
166
|
+
* @param listener - The listener to handle the event.
|
|
167
|
+
*/
|
|
168
|
+
off(event: "chatMessageDeleted", listener: (e: ChatMessageDeletedEvent) => void): void;
|
|
169
|
+
/**
|
|
170
|
+
* Unsubscribe from typingIndicatorReceived.
|
|
171
|
+
* @param event - The TypingIndicatorReceivedEvent.
|
|
172
|
+
* @param listener - The listener to handle the event.
|
|
173
|
+
*/
|
|
174
|
+
off(event: "typingIndicatorReceived", listener: (e: TypingIndicatorReceivedEvent) => void): void;
|
|
175
|
+
/**
|
|
176
|
+
* Unsubscribe from readReceiptReceived.
|
|
177
|
+
* @param event - The ReadReceiptReceivedEvent.
|
|
178
|
+
* @param listener - The listener to handle the event.
|
|
179
|
+
*/
|
|
180
|
+
off(event: "readReceiptReceived", listener: (e: ReadReceiptReceivedEvent) => void): void;
|
|
181
|
+
/**
|
|
182
|
+
* Unsubscribe from chatThreadCreated.
|
|
183
|
+
* @param event - The ChatThreadCreatedEvent.
|
|
184
|
+
* @param listener - The listener to handle the event.
|
|
185
|
+
*/
|
|
186
|
+
off(event: "chatThreadCreated", listener: (e: ChatThreadCreatedEvent) => void): void;
|
|
187
|
+
/**
|
|
188
|
+
* Unsubscribe from chatThreadDeleted.
|
|
189
|
+
* @param event - The ChatThreadDeletedEvent.
|
|
190
|
+
* @param listener - The listener to handle the event.
|
|
191
|
+
*/
|
|
192
|
+
off(event: "chatThreadDeleted", listener: (e: ChatThreadDeletedEvent) => void): void;
|
|
193
|
+
/**
|
|
194
|
+
* Unsubscribe from chatThreadPropertiesUpdated.
|
|
195
|
+
* @param event - The ChatThreadPropertiesUpdatedEvent.
|
|
196
|
+
* @param listener - The listener to handle the event.
|
|
197
|
+
*/
|
|
198
|
+
off(event: "chatThreadPropertiesUpdated", listener: (e: ChatThreadPropertiesUpdatedEvent) => void): void;
|
|
199
|
+
/**
|
|
200
|
+
* Unsubscribe from participantsAdded.
|
|
201
|
+
* @param event - The ParticipantsAddedEvent.
|
|
202
|
+
* @param listener - The listener to handle the event.
|
|
203
|
+
*/
|
|
204
|
+
off(event: "participantsAdded", listener: (e: ParticipantsAddedEvent) => void): void;
|
|
205
|
+
/**
|
|
206
|
+
* Unsubscribe from participantsRemoved.
|
|
207
|
+
* @param event - The ParticipantsRemovedEvent.
|
|
208
|
+
* @param listener - The listener to handle the event.
|
|
209
|
+
*/
|
|
210
|
+
off(event: "participantsRemoved", listener: (e: ParticipantsRemovedEvent) => void): void;
|
|
211
|
+
/**
|
|
212
|
+
* Unsubscribe function for streamingChatMessageStarted
|
|
213
|
+
* @param event - The StreamingChatMessageStartEvent
|
|
214
|
+
* @param listener - The listener to handle the event
|
|
215
|
+
*/
|
|
216
|
+
off(event: "streamingChatMessageStarted", listener: (e: StreamingChatMessageStartEvent) => void): void;
|
|
217
|
+
/**
|
|
218
|
+
* Unsubscribe function for streamingChatMessageChunkReceived
|
|
219
|
+
* @param event - The StreamingChatMessageChunkReceivedEvent
|
|
220
|
+
* @param listener - The listener to handle the event
|
|
221
|
+
*/
|
|
222
|
+
off(event: "streamingChatMessageChunkReceived", listener: (e: StreamingChatMessageChunkReceivedEvent) => void): void;
|
|
223
|
+
private subscribeToSignalingEvents;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=chatClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatClient.d.ts","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
/// <reference lib="esnext.asynciterable" />
|
|
2
|
+
// Licensed under the MIT License.
|
|
4
3
|
import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
|
|
5
|
-
import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers";
|
|
6
|
-
import { ChatApiClient } from "./generated/src";
|
|
7
|
-
import { ChatThreadClient } from "./chatThreadClient";
|
|
4
|
+
import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers.js";
|
|
5
|
+
import { ChatApiClient } from "./generated/src/index.js";
|
|
6
|
+
import { ChatThreadClient } from "./chatThreadClient.js";
|
|
8
7
|
import { EventEmitter } from "events";
|
|
9
|
-
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
|
|
10
|
-
import { generateUuid } from "./models/uuid";
|
|
11
|
-
import { getSignalingClient } from "./signaling/signalingClient";
|
|
12
|
-
import { logger } from "./models/logger";
|
|
13
|
-
import { tracingClient } from "./generated/src/tracing";
|
|
8
|
+
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy.js";
|
|
9
|
+
import { generateUuid } from "./models/uuid.js";
|
|
10
|
+
import { getSignalingClient } from "./signaling/signalingClient.js";
|
|
11
|
+
import { logger } from "./models/logger.js";
|
|
12
|
+
import { tracingClient } from "./generated/src/tracing.js";
|
|
14
13
|
/**
|
|
15
14
|
* The client to do chat operations
|
|
16
15
|
*/
|
|
@@ -236,6 +235,12 @@ export class ChatClient {
|
|
|
236
235
|
this.signalingClient.on("participantsRemoved", (payload) => {
|
|
237
236
|
this.emitter.emit("participantsRemoved", payload);
|
|
238
237
|
});
|
|
238
|
+
this.signalingClient.on("streamingChatMessageStarted", (payload) => {
|
|
239
|
+
this.emitter.emit("streamingChatMessageStarted", payload);
|
|
240
|
+
});
|
|
241
|
+
this.signalingClient.on("streamingChatMessageChunkReceived", (payload) => {
|
|
242
|
+
this.emitter.emit("streamingChatMessageChunkReceived", payload);
|
|
243
|
+
});
|
|
239
244
|
}
|
|
240
245
|
}
|
|
241
246
|
//# sourceMappingURL=chatClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n ChatClientOptions,\n CreateChatThreadOptions,\n DeleteChatThreadOptions,\n ListChatThreadsOptions,\n} from \"./models/options.js\";\nimport type {\n ChatEventId,\n ChatMessageDeletedEvent,\n ChatMessageEditedEvent,\n ChatMessageReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent,\n ReadReceiptReceivedEvent,\n StreamingChatMessageChunkReceivedEvent,\n StreamingChatMessageStartEvent,\n TypingIndicatorReceivedEvent,\n} from \"./models/events.js\";\nimport type { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models.js\";\nimport type { SignalingClient, SignalingClientOptions } from \"@azure/communication-signaling\";\nimport { ConnectionState } from \"@azure/communication-signaling\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel,\n} from \"./models/mappers.js\";\nimport { ChatApiClient } from \"./generated/src/index.js\";\nimport { ChatThreadClient } from \"./chatThreadClient.js\";\nimport type { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport type { CreateChatThreadRequest } from \"./models/requests.js\";\nimport { EventEmitter } from \"events\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy.js\";\nimport { generateUuid } from \"./models/uuid.js\";\nimport { getSignalingClient } from \"./signaling/signalingClient.js\";\nimport { logger } from \"./models/logger.js\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\n\ndeclare interface InternalChatClientOptions extends ChatClientOptions {\n signalingClientOptions?: SignalingClientOptions;\n}\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: InternalChatClientOptions;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resource.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {},\n ) {\n this.tokenCredential = credential;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions,\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n\n this.clientOptions = { ...options };\n this.clientOptions.signalingClientOptions = {\n ...this.clientOptions.signalingClientOptions,\n resourceEndpoint: this.endpoint,\n gatewayApiVersion: this.client.apiVersion,\n };\n\n this.signalingClient = getSignalingClient(\n credential,\n logger,\n this.clientOptions.signalingClientOptions,\n );\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {},\n ): Promise<CreateChatThreadResult> {\n return tracingClient.withSpan(\n \"ChatClient-CreateChatThread\",\n options,\n async (updatedOptions) => {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const result = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant),\n ),\n metadata: options.metadata,\n retentionPolicy: options.retentionPolicy,\n },\n updatedRestModelOptions,\n );\n return mapToCreateChatThreadResultSdkModel(result);\n },\n );\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {},\n ): AsyncIterableIterator<ChatThreadItem[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(options);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions,\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {},\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = tracingClient.startSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n },\n };\n } catch (e: any) {\n span.setStatus({\n error: e,\n status: \"error\",\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"ChatClient-DeleteChatThread\",\n options,\n async (updatedOptions) => {\n await this.client.chat.deleteChatThread(threadId, updatedOptions);\n },\n );\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n await this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n await this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n /**\n * Subscribe function for streamingChatMessageStarted\n * @param event - The StreamingChatMessageStartEvent\n * @param listener - The listener to handle the event\n */\n public on(\n event: \"streamingChatMessageStarted\",\n listener: (e: StreamingChatMessageStartEvent) => void,\n ): void;\n\n /**\n * Subscribe function for streamingChatMessageChunkReceived\n * @param event - The StreamingChatMessageChunkReceivedEvent\n * @param listener - The listener to handle the event\n */\n public on(\n event: \"streamingChatMessageChunkReceived\",\n listener: (e: StreamingChatMessageChunkReceivedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for realTimeNotificationConnected.\n * @param event - The realTimeNotificationConnected Event\n * @param listener - The listener to handle the event.\n */\n public on(event: \"realTimeNotificationConnected\", listener: () => void): void;\n\n /**\n * Subscribe function for realTimeNotificationDisconnected.\n * @param event - The realTimeNotificationDisconnected Event\n * @param listener - The listener to handle the event.\n */\n public on(event: \"realTimeNotificationDisconnected\", listener: () => void): void;\n\n public on(event: ChatEventId, listener: (e?: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n if (\n !this.isRealtimeNotificationsStarted &&\n event !== \"realTimeNotificationConnected\" &&\n event !== \"realTimeNotificationDisconnected\"\n ) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\",\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void,\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void,\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n /**\n * Unsubscribe function for streamingChatMessageStarted\n * @param event - The StreamingChatMessageStartEvent\n * @param listener - The listener to handle the event\n */\n public off(\n event: \"streamingChatMessageStarted\",\n listener: (e: StreamingChatMessageStartEvent) => void,\n ): void;\n\n /**\n * Unsubscribe function for streamingChatMessageChunkReceived\n * @param event - The StreamingChatMessageChunkReceivedEvent\n * @param listener - The listener to handle the event\n */\n public off(\n event: \"streamingChatMessageChunkReceived\",\n listener: (e: StreamingChatMessageChunkReceivedEvent) => void,\n ): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"connectionChanged\", (payload) => {\n if (payload === ConnectionState.Connected) {\n this.emitter.emit(\"realTimeNotificationConnected\");\n } else if (payload === ConnectionState.Disconnected) {\n this.emitter.emit(\"realTimeNotificationDisconnected\");\n }\n });\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n\n this.signalingClient.on(\"streamingChatMessageStarted\", (payload) => {\n this.emitter.emit(\"streamingChatMessageStarted\", payload);\n });\n\n this.signalingClient.on(\"streamingChatMessageChunkReceived\", (payload) => {\n this.emitter.emit(\"streamingChatMessageChunkReceived\", payload);\n });\n }\n}\n"]}
|