@azure/communication-chat 1.6.0-alpha.20240801.1 → 1.6.0-alpha.20250723.1
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/LICENSE +3 -3
- package/README.md +134 -45
- package/dist/browser/chatClient.d.ts +201 -0
- package/dist/browser/chatClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/chatClient.js +57 -61
- package/dist/browser/chatClient.js.map +1 -0
- package/dist/browser/chatThreadClient.d.ts +113 -0
- package/dist/browser/chatThreadClient.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/chatThreadClient.js +102 -127
- 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 +3 -3
- 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 +14 -6
- 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 +497 -0
- package/dist/browser/generated/src/models/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/models/index.js +8 -0
- package/dist/browser/generated/src/models/index.js.map +1 -0
- package/dist/browser/generated/src/models/mappers.d.ts +38 -0
- package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js +105 -0
- package/dist/browser/generated/src/models/mappers.js.map +1 -0
- package/dist/browser/generated/src/models/parameters.d.ts +22 -0
- package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/models/parameters.js +2 -2
- 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 +8 -7
- package/dist/browser/generated/src/operations/chat.js.map +1 -0
- package/dist/browser/generated/src/operations/chatThread.d.ts +121 -0
- package/dist/browser/generated/src/operations/chatThread.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/generated/src/operations/chatThread.js +20 -19
- 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 +113 -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-esm/src → dist/browser}/models/events.js.map +1 -1
- 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 +55 -0
- package/dist/browser/models/mappers.d.ts.map +1 -0
- package/dist/browser/models/mappers.js +149 -0
- package/dist/browser/models/mappers.js.map +1 -0
- package/dist/browser/models/models.d.ts +128 -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 +116 -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 +12 -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/commonjs/chatClient.d.ts +201 -0
- package/dist/commonjs/chatClient.d.ts.map +1 -0
- package/dist/commonjs/chatClient.js +240 -0
- package/dist/commonjs/chatClient.js.map +1 -0
- package/dist/commonjs/chatThreadClient.d.ts +113 -0
- package/dist/commonjs/chatThreadClient.d.ts.map +1 -0
- package/dist/commonjs/chatThreadClient.js +355 -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 +83 -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 +497 -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 +38 -0
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/commonjs/generated/src/models/mappers.js +949 -0
- package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts +22 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/commonjs/generated/src/models/parameters.js +166 -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 +192 -0
- package/dist/commonjs/generated/src/operations/chat.js.map +1 -0
- package/dist/commonjs/generated/src/operations/chatThread.d.ts +121 -0
- package/dist/commonjs/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/commonjs/generated/src/operations/chatThread.js +701 -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 +113 -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 +55 -0
- package/dist/commonjs/models/mappers.d.ts.map +1 -0
- package/dist/commonjs/models/mappers.js +163 -0
- package/dist/commonjs/models/mappers.js.map +1 -0
- package/dist/commonjs/models/models.d.ts +128 -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 +116 -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/esm/chatClient.d.ts +201 -0
- package/dist/esm/chatClient.d.ts.map +1 -0
- package/dist/esm/chatClient.js +236 -0
- package/dist/esm/chatClient.js.map +1 -0
- package/dist/esm/chatThreadClient.d.ts +113 -0
- package/dist/esm/chatThreadClient.d.ts.map +1 -0
- package/dist/esm/chatThreadClient.js +351 -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 +78 -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 +497 -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 +38 -0
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/esm/generated/src/models/mappers.js +946 -0
- package/dist/esm/generated/src/models/mappers.js.map +1 -0
- package/dist/esm/generated/src/models/parameters.d.ts +22 -0
- package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/esm/generated/src/models/parameters.js +163 -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 +187 -0
- package/dist/esm/generated/src/operations/chat.js.map +1 -0
- package/dist/esm/generated/src/operations/chatThread.d.ts +121 -0
- package/dist/esm/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/esm/generated/src/operations/chatThread.js +696 -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 +113 -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 +55 -0
- package/dist/esm/models/mappers.d.ts.map +1 -0
- package/dist/esm/models/mappers.js +149 -0
- package/dist/esm/models/mappers.js.map +1 -0
- package/dist/esm/models/models.d.ts +128 -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 +116 -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/react-native/chatClient.d.ts +201 -0
- package/dist/react-native/chatClient.d.ts.map +1 -0
- package/dist/react-native/chatClient.js +236 -0
- package/dist/react-native/chatClient.js.map +1 -0
- package/dist/react-native/chatThreadClient.d.ts +113 -0
- package/dist/react-native/chatThreadClient.d.ts.map +1 -0
- package/dist/react-native/chatThreadClient.js +351 -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 +78 -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 +497 -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 +38 -0
- package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
- package/dist/react-native/generated/src/models/mappers.js +946 -0
- package/dist/react-native/generated/src/models/mappers.js.map +1 -0
- package/dist/react-native/generated/src/models/parameters.d.ts +22 -0
- package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
- package/dist/react-native/generated/src/models/parameters.js +163 -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 +187 -0
- package/dist/react-native/generated/src/operations/chat.js.map +1 -0
- package/dist/react-native/generated/src/operations/chatThread.d.ts +121 -0
- package/dist/react-native/generated/src/operations/chatThread.d.ts.map +1 -0
- package/dist/react-native/generated/src/operations/chatThread.js +696 -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 +113 -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 +55 -0
- package/dist/react-native/models/mappers.d.ts.map +1 -0
- package/dist/react-native/models/mappers.js +149 -0
- package/dist/react-native/models/mappers.js.map +1 -0
- package/dist/react-native/models/models.d.ts +128 -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 +116 -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 +12 -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/package.json +75 -70
- package/dist/index.js +0 -2770
- 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/index.js.map +0 -1
- package/dist-esm/src/generated/src/models/mappers.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/mappers.js +0 -108
- 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/types/communication-chat.d.ts +0 -676
- /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
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { ChatApiClient } from "./generated/src";
|
|
8
|
-
import { ChatThreadClient } from "./chatThreadClient";
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { ConnectionState } from "@azure/communication-signaling";
|
|
4
|
+
import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers.js";
|
|
5
|
+
import { ChatApiClient } from "./generated/src/index.js";
|
|
6
|
+
import { ChatThreadClient } from "./chatThreadClient.js";
|
|
9
7
|
import { EventEmitter } from "events";
|
|
10
|
-
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
|
|
11
|
-
import { generateUuid } from "./models/uuid";
|
|
12
|
-
import { getSignalingClient } from "./signaling/signalingClient";
|
|
13
|
-
import { logger } from "./models/logger";
|
|
14
|
-
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";
|
|
15
13
|
/**
|
|
16
14
|
* The client to do chat operations
|
|
17
15
|
*/
|
|
18
16
|
export class ChatClient {
|
|
17
|
+
endpoint;
|
|
18
|
+
tokenCredential;
|
|
19
|
+
clientOptions;
|
|
20
|
+
client;
|
|
21
|
+
signalingClient = undefined;
|
|
22
|
+
emitter = new EventEmitter();
|
|
23
|
+
isRealtimeNotificationsStarted = false;
|
|
19
24
|
/**
|
|
20
25
|
* Creates an instance of the ChatClient for a given resource and user.
|
|
21
26
|
*
|
|
@@ -25,20 +30,27 @@ export class ChatClient {
|
|
|
25
30
|
*/
|
|
26
31
|
constructor(endpoint, credential, options = {}) {
|
|
27
32
|
this.endpoint = endpoint;
|
|
28
|
-
this.signalingClient = undefined;
|
|
29
|
-
this.emitter = new EventEmitter();
|
|
30
|
-
this.isRealtimeNotificationsStarted = false;
|
|
31
33
|
this.tokenCredential = credential;
|
|
32
|
-
const internalPipelineOptions =
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
const internalPipelineOptions = {
|
|
35
|
+
...options,
|
|
36
|
+
...{
|
|
37
|
+
loggingOptions: {
|
|
38
|
+
logger: logger.info,
|
|
39
|
+
},
|
|
35
40
|
},
|
|
41
|
+
};
|
|
42
|
+
this.client = new ChatApiClient(this.endpoint, {
|
|
43
|
+
endpoint: this.endpoint,
|
|
44
|
+
...internalPipelineOptions,
|
|
36
45
|
});
|
|
37
|
-
this.client = new ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
|
|
38
46
|
const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);
|
|
39
47
|
this.client.pipeline.addPolicy(authPolicy);
|
|
40
|
-
this.clientOptions =
|
|
41
|
-
this.clientOptions.signalingClientOptions =
|
|
48
|
+
this.clientOptions = { ...options };
|
|
49
|
+
this.clientOptions.signalingClientOptions = {
|
|
50
|
+
...this.clientOptions.signalingClientOptions,
|
|
51
|
+
resourceEndpoint: this.endpoint,
|
|
52
|
+
gatewayApiVersion: this.client.apiVersion,
|
|
53
|
+
};
|
|
42
54
|
this.signalingClient = getSignalingClient(credential, logger, this.clientOptions.signalingClientOptions);
|
|
43
55
|
}
|
|
44
56
|
/**
|
|
@@ -56,57 +68,41 @@ export class ChatClient {
|
|
|
56
68
|
*/
|
|
57
69
|
async createChatThread(request, options = {}) {
|
|
58
70
|
return tracingClient.withSpan("ChatClient-CreateChatThread", options, async (updatedOptions) => {
|
|
59
|
-
var _a, _b;
|
|
60
71
|
// We generate an UUID if the user does not provide an idempotencyToken value
|
|
61
|
-
updatedOptions.idempotencyToken =
|
|
72
|
+
updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();
|
|
62
73
|
const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);
|
|
63
74
|
const result = await this.client.chat.createChatThread({
|
|
64
75
|
topic: request.topic,
|
|
65
|
-
participants:
|
|
76
|
+
participants: options.participants?.map((participant) => mapToChatParticipantRestModel(participant)),
|
|
77
|
+
metadata: options.metadata,
|
|
78
|
+
retentionPolicy: options.retentionPolicy,
|
|
66
79
|
}, updatedRestModelOptions);
|
|
67
80
|
return mapToCreateChatThreadResultSdkModel(result);
|
|
68
81
|
});
|
|
69
82
|
}
|
|
70
|
-
listChatThreadsPage(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
yield yield __await(currentSetResponse.value);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
while (continuationState.continuationToken) {
|
|
80
|
-
const currentSetResponse = yield __await(this.client.chat.listChatThreadsNext(continuationState.continuationToken, options));
|
|
81
|
-
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
82
|
-
if (currentSetResponse.value) {
|
|
83
|
-
yield yield __await(currentSetResponse.value);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
83
|
+
async *listChatThreadsPage(continuationState, options = {}) {
|
|
84
|
+
if (!continuationState.continuationToken) {
|
|
85
|
+
const currentSetResponse = await this.client.chat.listChatThreads(options);
|
|
86
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
87
|
+
if (currentSetResponse.value) {
|
|
88
|
+
yield currentSetResponse.value;
|
|
88
89
|
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
for (var _d = true, _e = __asyncValues(this.listChatThreadsPage({}, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
96
|
-
_c = _f.value;
|
|
97
|
-
_d = false;
|
|
98
|
-
const page = _c;
|
|
99
|
-
yield __await(yield* __asyncDelegator(__asyncValues(page)));
|
|
100
|
-
}
|
|
90
|
+
}
|
|
91
|
+
while (continuationState.continuationToken) {
|
|
92
|
+
const currentSetResponse = await this.client.chat.listChatThreadsNext(continuationState.continuationToken, options);
|
|
93
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
94
|
+
if (currentSetResponse.value) {
|
|
95
|
+
yield currentSetResponse.value;
|
|
101
96
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
try {
|
|
105
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
106
|
-
}
|
|
107
|
-
finally { if (e_1) throw e_1.error; }
|
|
97
|
+
else {
|
|
98
|
+
break;
|
|
108
99
|
}
|
|
109
|
-
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async *listChatThreadsAll(options) {
|
|
103
|
+
for await (const page of this.listChatThreadsPage({}, options)) {
|
|
104
|
+
yield* page;
|
|
105
|
+
}
|
|
110
106
|
}
|
|
111
107
|
/**
|
|
112
108
|
* Gets the list of chat threads of a user.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAuBlC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,6BAA6B,EAC7B,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,wCAAwC,EAAE,MAAM,oDAAoD,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D;;GAEG;AACH,MAAM,OAAO,UAAU;IAgBF;IAfF,eAAe,CAA+B;IAC9C,aAAa,CAA4B;IACzC,MAAM,CAAgB;IACtB,eAAe,GAAgC,SAAS,CAAC;IACzD,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACtC,8BAA8B,GAAY,KAAK,CAAC;IAExD;;;;;;OAMG;IACH,YACmB,QAAgB,EACjC,UAAwC,EACxC,UAA6B,EAAE;QAFd,aAAQ,GAAR,QAAQ,CAAQ;QAIjC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,MAAM,uBAAuB,GAA4B;YACvD,GAAG,OAAO;YACV,GAAG;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB;aACF;SACF,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,uBAAuB;SAC3B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,wCAAwC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG;YAC1C,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB;YAC5C,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SAC1C,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,kBAAkB,CACvC,UAAU,EACV,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC1C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,QAAgB;QACzC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjG,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAC3B,OAAgC,EAChC,UAAmC,EAAE;QAErC,OAAO,aAAa,CAAC,QAAQ,CAC3B,6BAA6B,EAC7B,OAAO,EACP,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,6EAA6E;YAC7E,cAAc,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACpF,MAAM,uBAAuB,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;YAEtF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CACpD;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACtD,6BAA6B,CAAC,WAAW,CAAC,CAC3C;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,EACD,uBAAuB,CACxB,CAAC;YACF,OAAO,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,CAAC,mBAAmB,CAChC,iBAAmC,EACnC,UAAkC,EAAE;QAEpC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YACzC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3E,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,kBAAkB,CAAC,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CACnE,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAC;YACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,kBAAkB,CAAC,KAAK,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,kBAAkB,CAC/B,OAA+B;QAE/B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,eAAe,CACpB,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QAChG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACrD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC5D,CAAC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAC3B,QAAgB,EAChB,UAAmC,EAAE;QAErC,OAAO,aAAa,CAAC,QAAQ,CAC3B,6BAA6B,EAC7B,OAAO,EACP,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,0BAA0B;QACrC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,yBAAyB;QACpC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAiGM,EAAE,CAAC,KAAkB,EAAE,QAA2B;QACvD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IACE,CAAC,IAAI,CAAC,8BAA8B;YACpC,KAAK,KAAK,+BAA+B;YACzC,KAAK,KAAK,kCAAkC,EAC5C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IA8EM,GAAG,CAAC,KAAkB,EAAE,QAA0B;QACvD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,OAAO,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,OAAO,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;CACF","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 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 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 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}\n"]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { CommunicationIdentifier, CommunicationTokenCredential } from "@azure/communication-common";
|
|
2
|
+
import type { PagedAsyncIterableIterator } from "@azure/core-paging";
|
|
3
|
+
import type { AddParticipantsRequest, SendMessageRequest, SendReadReceiptRequest } from "./models/requests.js";
|
|
4
|
+
import type { AddChatParticipantsResult, ChatMessage, ChatMessageReadReceipt, ChatParticipant, ChatThreadProperties, SendChatMessageResult } from "./models/models.js";
|
|
5
|
+
import type { AddParticipantsOptions, ChatThreadClientOptions, DeleteMessageOptions, GetMessageOptions, GetPropertiesOptions, ListMessagesOptions, ListParticipantsOptions, ListReadReceiptsOptions, RemoveParticipantOptions, SendMessageOptions, SendReadReceiptOptions, SendTypingNotificationOptions, UpdateChatThreadPropertiesOptions, UpdateMessageOptions, UpdateTopicOptions } from "./models/options.js";
|
|
6
|
+
/**
|
|
7
|
+
* The client to do chat operations
|
|
8
|
+
*/
|
|
9
|
+
export declare class ChatThreadClient {
|
|
10
|
+
private readonly endpoint;
|
|
11
|
+
/**
|
|
12
|
+
* Thread ID of the ChatThreadClient
|
|
13
|
+
*/
|
|
14
|
+
readonly threadId: string;
|
|
15
|
+
private readonly tokenCredential;
|
|
16
|
+
private readonly client;
|
|
17
|
+
private timeOfLastTypingRequest;
|
|
18
|
+
constructor(endpoint: string, threadId: string, credential: CommunicationTokenCredential, options?: ChatThreadClientOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Gets a chat thread.
|
|
21
|
+
* Returns the chat thread.
|
|
22
|
+
* @param options - Operation options.
|
|
23
|
+
*/
|
|
24
|
+
getProperties(options?: GetPropertiesOptions): Promise<ChatThreadProperties>;
|
|
25
|
+
/**
|
|
26
|
+
* Updates a thread's topic.
|
|
27
|
+
* @param topic - The topic needs to be updated to.
|
|
28
|
+
* @param options - Operation options.
|
|
29
|
+
*/
|
|
30
|
+
updateTopic(topic: string, options?: UpdateTopicOptions): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Updates a thread's properties.
|
|
33
|
+
* @param options - Operation options.
|
|
34
|
+
*/
|
|
35
|
+
updateProperties(options?: UpdateChatThreadPropertiesOptions): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Sends a chat message to a thread identified by threadId.
|
|
38
|
+
* Returns the id of the created message.
|
|
39
|
+
* @param request - Request for sending a message.
|
|
40
|
+
* @param options - Operation options.
|
|
41
|
+
*/
|
|
42
|
+
sendMessage(request: SendMessageRequest, options?: SendMessageOptions): Promise<SendChatMessageResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Gets a chat message identified by messageId.
|
|
45
|
+
* Returns the specific message.
|
|
46
|
+
* @param messageId - The message id of the message.
|
|
47
|
+
* @param options - Operation options.
|
|
48
|
+
*/
|
|
49
|
+
getMessage(messageId: string, options?: GetMessageOptions): Promise<ChatMessage>;
|
|
50
|
+
private listMessagesPage;
|
|
51
|
+
private listMessagesAll;
|
|
52
|
+
/**
|
|
53
|
+
* Gets a list of message from a thread identified by threadId.
|
|
54
|
+
* Returns the list of the messages.
|
|
55
|
+
* @param options - Get messages options.
|
|
56
|
+
*/
|
|
57
|
+
listMessages(options?: ListMessagesOptions): PagedAsyncIterableIterator<ChatMessage>;
|
|
58
|
+
/**
|
|
59
|
+
* Deletes a message identified by threadId and messageId
|
|
60
|
+
* @param messageId - The message id of the message.
|
|
61
|
+
* @param options - Operation options.
|
|
62
|
+
*/
|
|
63
|
+
deleteMessage(messageId: string, options?: DeleteMessageOptions): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Updates a message identified by threadId and messageId
|
|
66
|
+
* @param messageId - The message id of the message.
|
|
67
|
+
* @param options - Operation options.
|
|
68
|
+
*/
|
|
69
|
+
updateMessage(messageId: string, options?: UpdateMessageOptions): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Adds the details of chat participants belonging to the thread identified by threadId.
|
|
72
|
+
* @param request - Thread participants' details to add in the thread roster
|
|
73
|
+
* @param options - Operation options.
|
|
74
|
+
*/
|
|
75
|
+
addParticipants(request: AddParticipantsRequest, options?: AddParticipantsOptions): Promise<AddChatParticipantsResult>;
|
|
76
|
+
private listParticipantsPage;
|
|
77
|
+
private listParticipantsAll;
|
|
78
|
+
/**
|
|
79
|
+
* Gets the participants of the thread identified by threadId.
|
|
80
|
+
* Returns the lists of the participants.
|
|
81
|
+
* @param options - Operation options.
|
|
82
|
+
*/
|
|
83
|
+
listParticipants(options?: ListParticipantsOptions): PagedAsyncIterableIterator<ChatParticipant>;
|
|
84
|
+
/**
|
|
85
|
+
* Removes participant from the thread identified by threadId.
|
|
86
|
+
* @param participant - Thread participant to remove from the thread roster
|
|
87
|
+
* @param options - Operation options.
|
|
88
|
+
*/
|
|
89
|
+
removeParticipant(participant: CommunicationIdentifier, options?: RemoveParticipantOptions): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Sends a typing notification to the thread.
|
|
92
|
+
* Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval
|
|
93
|
+
* @param options - - Operation options
|
|
94
|
+
* @returns True if the typing message notification could be sent, otherwise false.
|
|
95
|
+
*/
|
|
96
|
+
sendTypingNotification(options?: SendTypingNotificationOptions): Promise<boolean>;
|
|
97
|
+
/**
|
|
98
|
+
* Sends a read receipt to the thread identified by threadId.
|
|
99
|
+
* @param request - Request for sending a read receipt
|
|
100
|
+
* @param options - Operation options.
|
|
101
|
+
*/
|
|
102
|
+
sendReadReceipt(request: SendReadReceiptRequest, options?: SendReadReceiptOptions): Promise<void>;
|
|
103
|
+
private listReadReceiptsPage;
|
|
104
|
+
private listReadReceiptsAll;
|
|
105
|
+
/**
|
|
106
|
+
* Gets a list of read receipt from a thread identified by threadId.
|
|
107
|
+
* Returns the list of the messages.
|
|
108
|
+
* @param options - Get messages options.
|
|
109
|
+
*/
|
|
110
|
+
listReadReceipts(options?: ListReadReceiptsOptions): PagedAsyncIterableIterator<ChatMessageReadReceipt>;
|
|
111
|
+
private canPostTypingNotification;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=chatThreadClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatThreadClient.d.ts","sourceRoot":"","sources":["../../src/chatThreadClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,40 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { tracingClient } from "./generated/src/tracing";
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { logger } from "./models/logger.js";
|
|
4
|
+
import { serializeCommunicationIdentifier } from "@azure/communication-common";
|
|
5
|
+
import { mapToAddChatParticipantsRequestRestModel, mapToChatMessageSdkModel, mapToChatParticipantSdkModel, mapToChatThreadPropertiesSdkModel, mapToReadReceiptSdkModel, } from "./models/mappers.js";
|
|
6
|
+
import { ChatApiClient, } from "./generated/src/index.js";
|
|
7
|
+
import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy.js";
|
|
8
|
+
import { tracingClient } from "./generated/src/tracing.js";
|
|
10
9
|
const minimumTypingIntervalInMilliSeconds = 8000;
|
|
11
10
|
/**
|
|
12
11
|
* The client to do chat operations
|
|
13
12
|
*/
|
|
14
13
|
export class ChatThreadClient {
|
|
14
|
+
endpoint;
|
|
15
|
+
/**
|
|
16
|
+
* Thread ID of the ChatThreadClient
|
|
17
|
+
*/
|
|
18
|
+
threadId;
|
|
19
|
+
tokenCredential;
|
|
20
|
+
client;
|
|
21
|
+
timeOfLastTypingRequest = undefined;
|
|
15
22
|
constructor(endpoint, threadId, credential, options = {}) {
|
|
16
23
|
this.endpoint = endpoint;
|
|
17
|
-
this.timeOfLastTypingRequest = undefined;
|
|
18
24
|
this.threadId = threadId;
|
|
19
25
|
this.tokenCredential = credential;
|
|
20
|
-
const internalPipelineOptions =
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
const internalPipelineOptions = {
|
|
27
|
+
...options,
|
|
28
|
+
...{
|
|
29
|
+
loggingOptions: {
|
|
30
|
+
logger: logger.info,
|
|
31
|
+
},
|
|
23
32
|
},
|
|
33
|
+
};
|
|
34
|
+
this.client = new ChatApiClient(this.endpoint, {
|
|
35
|
+
endpoint: this.endpoint,
|
|
36
|
+
...internalPipelineOptions,
|
|
24
37
|
});
|
|
25
|
-
this.client = new ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
|
|
26
38
|
const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);
|
|
27
39
|
this.client.pipeline.addPolicy(authPolicy);
|
|
28
40
|
}
|
|
@@ -47,6 +59,17 @@ export class ChatThreadClient {
|
|
|
47
59
|
await this.client.chatThread.updateChatThreadProperties(this.threadId, { topic: topic }, updatedOptions);
|
|
48
60
|
});
|
|
49
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Updates a thread's properties.
|
|
64
|
+
* @param options - Operation options.
|
|
65
|
+
*/
|
|
66
|
+
// beta release already named this option as UpdateChatThreadPropertiesOptions
|
|
67
|
+
// eslint-disable-next-line @azure/azure-sdk/ts-naming-options
|
|
68
|
+
updateProperties(options = {}) {
|
|
69
|
+
return tracingClient.withSpan("ChatThreadClient-UpdateProperties", options, async (updatedOptions) => {
|
|
70
|
+
await this.client.chatThread.updateChatThreadProperties(this.threadId, options, updatedOptions);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
50
73
|
/**
|
|
51
74
|
* Sends a chat message to a thread identified by threadId.
|
|
52
75
|
* Returns the id of the created message.
|
|
@@ -57,7 +80,7 @@ export class ChatThreadClient {
|
|
|
57
80
|
return tracingClient.withSpan("ChatThreadClient-SendMessage", options, async (updatedOptions) => {
|
|
58
81
|
// reset typing notification clock
|
|
59
82
|
this.timeOfLastTypingRequest = undefined;
|
|
60
|
-
const result = await this.client.chatThread.sendChatMessage(this.threadId,
|
|
83
|
+
const result = await this.client.chatThread.sendChatMessage(this.threadId, { ...request, ...options }, updatedOptions);
|
|
61
84
|
return result;
|
|
62
85
|
});
|
|
63
86
|
}
|
|
@@ -73,46 +96,29 @@ export class ChatThreadClient {
|
|
|
73
96
|
return mapToChatMessageSdkModel(result);
|
|
74
97
|
});
|
|
75
98
|
}
|
|
76
|
-
listMessagesPage(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
yield yield __await(currentSetResponse.value.map(mapToChatMessageSdkModel, this));
|
|
83
|
-
}
|
|
99
|
+
async *listMessagesPage(pageSettings, options = {}) {
|
|
100
|
+
if (!pageSettings.continuationToken) {
|
|
101
|
+
const currentSetResponse = await this.client.chatThread.listChatMessages(this.threadId, options);
|
|
102
|
+
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
103
|
+
if (currentSetResponse.value) {
|
|
104
|
+
yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);
|
|
84
105
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
else {
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
listMessagesAll(options) {
|
|
98
|
-
return __asyncGenerator(this, arguments, function* listMessagesAll_1() {
|
|
99
|
-
var _a, e_1, _b, _c;
|
|
100
|
-
try {
|
|
101
|
-
for (var _d = true, _e = __asyncValues(this.listMessagesPage({}, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
102
|
-
_c = _f.value;
|
|
103
|
-
_d = false;
|
|
104
|
-
const page = _c;
|
|
105
|
-
yield __await(yield* __asyncDelegator(__asyncValues(page)));
|
|
106
|
-
}
|
|
106
|
+
}
|
|
107
|
+
while (pageSettings.continuationToken) {
|
|
108
|
+
const currentSetResponse = await this.client.chatThread.listChatMessagesNext(this.threadId, pageSettings.continuationToken, options);
|
|
109
|
+
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
110
|
+
if (currentSetResponse.value) {
|
|
111
|
+
yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);
|
|
107
112
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
try {
|
|
111
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
112
|
-
}
|
|
113
|
-
finally { if (e_1) throw e_1.error; }
|
|
113
|
+
else {
|
|
114
|
+
break;
|
|
114
115
|
}
|
|
115
|
-
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async *listMessagesAll(options) {
|
|
119
|
+
for await (const page of this.listMessagesPage({}, options)) {
|
|
120
|
+
yield* page;
|
|
121
|
+
}
|
|
116
122
|
}
|
|
117
123
|
/**
|
|
118
124
|
* Gets a list of message from a thread identified by threadId.
|
|
@@ -177,46 +183,29 @@ export class ChatThreadClient {
|
|
|
177
183
|
return result;
|
|
178
184
|
});
|
|
179
185
|
}
|
|
180
|
-
listParticipantsPage(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
yield yield __await(currentSetResponse.value.map(mapToChatParticipantSdkModel, this));
|
|
187
|
-
}
|
|
186
|
+
async *listParticipantsPage(continuationState, options = {}) {
|
|
187
|
+
if (!continuationState.continuationToken) {
|
|
188
|
+
const currentSetResponse = await this.client.chatThread.listChatParticipants(this.threadId, options);
|
|
189
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
190
|
+
if (currentSetResponse.value) {
|
|
191
|
+
yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);
|
|
188
192
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
else {
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
listParticipantsAll(options) {
|
|
202
|
-
return __asyncGenerator(this, arguments, function* listParticipantsAll_1() {
|
|
203
|
-
var _a, e_2, _b, _c;
|
|
204
|
-
try {
|
|
205
|
-
for (var _d = true, _e = __asyncValues(this.listParticipantsPage({}, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
206
|
-
_c = _f.value;
|
|
207
|
-
_d = false;
|
|
208
|
-
const page = _c;
|
|
209
|
-
yield __await(yield* __asyncDelegator(__asyncValues(page)));
|
|
210
|
-
}
|
|
193
|
+
}
|
|
194
|
+
while (continuationState.continuationToken) {
|
|
195
|
+
const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(this.threadId, continuationState.continuationToken, options);
|
|
196
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
197
|
+
if (currentSetResponse.value) {
|
|
198
|
+
yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);
|
|
211
199
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
try {
|
|
215
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
216
|
-
}
|
|
217
|
-
finally { if (e_2) throw e_2.error; }
|
|
200
|
+
else {
|
|
201
|
+
break;
|
|
218
202
|
}
|
|
219
|
-
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
async *listParticipantsAll(options) {
|
|
206
|
+
for await (const page of this.listParticipantsPage({}, options)) {
|
|
207
|
+
yield* page;
|
|
208
|
+
}
|
|
220
209
|
}
|
|
221
210
|
/**
|
|
222
211
|
* Gets the participants of the thread identified by threadId.
|
|
@@ -269,10 +258,13 @@ export class ChatThreadClient {
|
|
|
269
258
|
async sendTypingNotification(options = {}) {
|
|
270
259
|
return tracingClient.withSpan("ChatThreadClient-SendTypingNotification", options, async (updatedOptions) => {
|
|
271
260
|
const dateNow = new Date();
|
|
272
|
-
const { senderDisplayName
|
|
261
|
+
const { senderDisplayName, ...restOptions } = updatedOptions;
|
|
273
262
|
if (this.canPostTypingNotification(dateNow)) {
|
|
274
263
|
this.timeOfLastTypingRequest = dateNow;
|
|
275
|
-
await this.client.chatThread.sendTypingNotification(this.threadId,
|
|
264
|
+
await this.client.chatThread.sendTypingNotification(this.threadId, {
|
|
265
|
+
sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },
|
|
266
|
+
...restOptions,
|
|
267
|
+
});
|
|
276
268
|
return true;
|
|
277
269
|
}
|
|
278
270
|
logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);
|
|
@@ -289,46 +281,29 @@ export class ChatThreadClient {
|
|
|
289
281
|
await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);
|
|
290
282
|
});
|
|
291
283
|
}
|
|
292
|
-
listReadReceiptsPage(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
yield yield __await(currentSetResponse.value.map(mapToReadReceiptSdkModel, this));
|
|
299
|
-
}
|
|
284
|
+
async *listReadReceiptsPage(continuationState, options = {}) {
|
|
285
|
+
if (!continuationState.continuationToken) {
|
|
286
|
+
const currentSetResponse = await this.client.chatThread.listChatReadReceipts(this.threadId, options);
|
|
287
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
288
|
+
if (currentSetResponse.value) {
|
|
289
|
+
yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);
|
|
300
290
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
else {
|
|
308
|
-
break;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
listReadReceiptsAll(options) {
|
|
314
|
-
return __asyncGenerator(this, arguments, function* listReadReceiptsAll_1() {
|
|
315
|
-
var _a, e_3, _b, _c;
|
|
316
|
-
try {
|
|
317
|
-
for (var _d = true, _e = __asyncValues(this.listReadReceiptsPage({}, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
318
|
-
_c = _f.value;
|
|
319
|
-
_d = false;
|
|
320
|
-
const page = _c;
|
|
321
|
-
yield __await(yield* __asyncDelegator(__asyncValues(page)));
|
|
322
|
-
}
|
|
291
|
+
}
|
|
292
|
+
while (continuationState.continuationToken) {
|
|
293
|
+
const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(this.threadId, continuationState.continuationToken, options);
|
|
294
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
295
|
+
if (currentSetResponse.value) {
|
|
296
|
+
yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);
|
|
323
297
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
try {
|
|
327
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
328
|
-
}
|
|
329
|
-
finally { if (e_3) throw e_3.error; }
|
|
298
|
+
else {
|
|
299
|
+
break;
|
|
330
300
|
}
|
|
331
|
-
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
async *listReadReceiptsAll(options) {
|
|
304
|
+
for await (const page of this.listReadReceiptsPage({}, options)) {
|
|
305
|
+
yield* page;
|
|
306
|
+
}
|
|
332
307
|
}
|
|
333
308
|
/**
|
|
334
309
|
* Gets a list of read receipt from a thread identified by threadId.
|