@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
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ChatThreadClient = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const logger_js_1 = require("./models/logger.js");
|
|
8
|
+
const communication_common_1 = require("@azure/communication-common");
|
|
9
|
+
const mappers_js_1 = require("./models/mappers.js");
|
|
10
|
+
const index_js_1 = require("./generated/src/index.js");
|
|
11
|
+
const xhrHttpClient_js_1 = require("./xhrHttpClient.js");
|
|
12
|
+
const communicationTokenCredentialPolicy_js_1 = require("./credential/communicationTokenCredentialPolicy.js");
|
|
13
|
+
const tracing_js_1 = require("./generated/src/tracing.js");
|
|
14
|
+
const minimumTypingIntervalInMilliSeconds = 8000;
|
|
15
|
+
/**
|
|
16
|
+
* The client to do chat operations
|
|
17
|
+
*/
|
|
18
|
+
class ChatThreadClient {
|
|
19
|
+
constructor(endpoint, threadId, credential, options = {}) {
|
|
20
|
+
this.endpoint = endpoint;
|
|
21
|
+
this.timeOfLastTypingRequest = undefined;
|
|
22
|
+
this.threadId = threadId;
|
|
23
|
+
this.tokenCredential = credential;
|
|
24
|
+
const internalPipelineOptions = Object.assign(Object.assign({}, options), {
|
|
25
|
+
loggingOptions: {
|
|
26
|
+
logger: logger_js_1.logger.info,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
this.client = new index_js_1.ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
|
|
30
|
+
const authPolicy = (0, communicationTokenCredentialPolicy_js_1.createCommunicationTokenCredentialPolicy)(this.tokenCredential);
|
|
31
|
+
this.client.pipeline.addPolicy(authPolicy);
|
|
32
|
+
if (typeof XMLHttpRequest !== "undefined") {
|
|
33
|
+
this.xhrClient = new index_js_1.ChatApiClient(this.endpoint, Object.assign(Object.assign({ endpoint: this.endpoint }, internalPipelineOptions), { httpClient: (0, xhrHttpClient_js_1.createXhrHttpClient)() }));
|
|
34
|
+
this.xhrClient.pipeline.addPolicy(authPolicy);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Gets a chat thread.
|
|
39
|
+
* Returns the chat thread.
|
|
40
|
+
* @param options - Operation options.
|
|
41
|
+
*/
|
|
42
|
+
getProperties(options = {}) {
|
|
43
|
+
return tracing_js_1.tracingClient.withSpan("ChatClient-GetProperties", options, async (updatedOptions) => {
|
|
44
|
+
const result = await this.client.chatThread.getChatThreadProperties(this.threadId, updatedOptions);
|
|
45
|
+
return (0, mappers_js_1.mapToChatThreadPropertiesSdkModel)(result);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Updates a thread's topic.
|
|
50
|
+
* @param topic - The topic needs to be updated to.
|
|
51
|
+
* @param options - Operation options.
|
|
52
|
+
*/
|
|
53
|
+
updateTopic(topic, options = {}) {
|
|
54
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-UpdateTopic", options, async (updatedOptions) => {
|
|
55
|
+
await this.client.chatThread.updateChatThreadProperties(this.threadId, { topic: topic }, updatedOptions);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Updates a thread's properties.
|
|
60
|
+
* @param options - Operation options.
|
|
61
|
+
*/
|
|
62
|
+
// eslint-disable-next-line @azure/azure-sdk/ts-naming-options
|
|
63
|
+
updateProperties(options = {}) {
|
|
64
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-UpdateProperties", options, async (updatedOptions) => {
|
|
65
|
+
await this.client.chatThread.updateChatThreadProperties(this.threadId, options, updatedOptions);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Sends a chat message to a thread identified by threadId.
|
|
70
|
+
* Returns the id of the created message.
|
|
71
|
+
* @param request - Request for sending a message.
|
|
72
|
+
* @param options - Operation options.
|
|
73
|
+
*/
|
|
74
|
+
sendMessage(request, options = {}) {
|
|
75
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-SendMessage", options, async (updatedOptions) => {
|
|
76
|
+
// reset typing notification clock
|
|
77
|
+
this.timeOfLastTypingRequest = undefined;
|
|
78
|
+
const result = await this.client.chatThread.sendChatMessage(this.threadId, (0, mappers_js_1.mapToSendChatMessageRequestRestModel)(request, options), updatedOptions);
|
|
79
|
+
return result;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Gets a chat message identified by messageId.
|
|
84
|
+
* Returns the specific message.
|
|
85
|
+
* @param messageId - The message id of the message.
|
|
86
|
+
* @param options - Operation options.
|
|
87
|
+
*/
|
|
88
|
+
getMessage(messageId, options = {}) {
|
|
89
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-GetMessage", options, async (updatedOptions) => {
|
|
90
|
+
const result = await this.client.chatThread.getChatMessage(this.threadId, messageId, updatedOptions);
|
|
91
|
+
return (0, mappers_js_1.mapToChatMessageSdkModel)(result);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
listMessagesPage(pageSettings_1) {
|
|
95
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listMessagesPage_1(pageSettings, options = {}) {
|
|
96
|
+
if (!pageSettings.continuationToken) {
|
|
97
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatMessages(this.threadId, options));
|
|
98
|
+
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
99
|
+
if (currentSetResponse.value) {
|
|
100
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToChatMessageSdkModel, this));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
while (pageSettings.continuationToken) {
|
|
104
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatMessagesNext(this.threadId, pageSettings.continuationToken, options));
|
|
105
|
+
pageSettings.continuationToken = currentSetResponse.nextLink;
|
|
106
|
+
if (currentSetResponse.value) {
|
|
107
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToChatMessageSdkModel, this));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
listMessagesAll(options) {
|
|
116
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listMessagesAll_1() {
|
|
117
|
+
var _a, e_1, _b, _c;
|
|
118
|
+
try {
|
|
119
|
+
for (var _d = true, _e = tslib_1.__asyncValues(this.listMessagesPage({}, options)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
120
|
+
_c = _f.value;
|
|
121
|
+
_d = false;
|
|
122
|
+
const page = _c;
|
|
123
|
+
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
127
|
+
finally {
|
|
128
|
+
try {
|
|
129
|
+
if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
|
|
130
|
+
}
|
|
131
|
+
finally { if (e_1) throw e_1.error; }
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Gets a list of message from a thread identified by threadId.
|
|
137
|
+
* Returns the list of the messages.
|
|
138
|
+
* @param options - Get messages options.
|
|
139
|
+
*/
|
|
140
|
+
listMessages(options = {}) {
|
|
141
|
+
const { span, updatedOptions } = tracing_js_1.tracingClient.startSpan("ChatThreadClient-ListMessages", options);
|
|
142
|
+
try {
|
|
143
|
+
const iter = this.listMessagesAll(updatedOptions);
|
|
144
|
+
return {
|
|
145
|
+
next() {
|
|
146
|
+
return iter.next();
|
|
147
|
+
},
|
|
148
|
+
[Symbol.asyncIterator]() {
|
|
149
|
+
return this;
|
|
150
|
+
},
|
|
151
|
+
byPage: (settings = {}) => {
|
|
152
|
+
return this.listMessagesPage(settings, updatedOptions);
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
span.setStatus({
|
|
158
|
+
status: "error",
|
|
159
|
+
error: e,
|
|
160
|
+
});
|
|
161
|
+
throw e;
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
span.end();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Deletes a message identified by threadId and messageId
|
|
169
|
+
* @param messageId - The message id of the message.
|
|
170
|
+
* @param options - Operation options.
|
|
171
|
+
*/
|
|
172
|
+
deleteMessage(messageId, options = {}) {
|
|
173
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-DeleteMessage", options, async (updatedOptions) => {
|
|
174
|
+
await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Updates a message identified by threadId and messageId
|
|
179
|
+
* @param messageId - The message id of the message.
|
|
180
|
+
* @param options - Operation options.
|
|
181
|
+
*/
|
|
182
|
+
async updateMessage(messageId, options = {}) {
|
|
183
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-UpdateMessage", options, async (updatedOptions) => {
|
|
184
|
+
await this.client.chatThread.updateChatMessage(this.threadId, messageId, (0, mappers_js_1.mapToUpdateChatMessageRequestRestModel)(options), updatedOptions);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Adds the details of chat participants belonging to the thread identified by threadId.
|
|
189
|
+
* @param request - Thread participants' details to add in the thread roster
|
|
190
|
+
* @param options - Operation options.
|
|
191
|
+
*/
|
|
192
|
+
async addParticipants(request, options = {}) {
|
|
193
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-AddParticipants", options, async (updatedOptions) => {
|
|
194
|
+
const result = await this.client.chatThread.addChatParticipants(this.threadId, (0, mappers_js_1.mapToAddChatParticipantsRequestRestModel)(request), updatedOptions);
|
|
195
|
+
return result;
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
listParticipantsPage(continuationState_1) {
|
|
199
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listParticipantsPage_1(continuationState, options = {}) {
|
|
200
|
+
if (!continuationState.continuationToken) {
|
|
201
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatParticipants(this.threadId, options));
|
|
202
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
203
|
+
if (currentSetResponse.value) {
|
|
204
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToChatParticipantSdkModel, this));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
while (continuationState.continuationToken) {
|
|
208
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatParticipantsNext(this.threadId, continuationState.continuationToken, options));
|
|
209
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
210
|
+
if (currentSetResponse.value) {
|
|
211
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToChatParticipantSdkModel, this));
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
listParticipantsAll(options) {
|
|
220
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listParticipantsAll_1() {
|
|
221
|
+
var _a, e_2, _b, _c;
|
|
222
|
+
try {
|
|
223
|
+
for (var _d = true, _e = tslib_1.__asyncValues(this.listParticipantsPage({}, options)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
224
|
+
_c = _f.value;
|
|
225
|
+
_d = false;
|
|
226
|
+
const page = _c;
|
|
227
|
+
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
231
|
+
finally {
|
|
232
|
+
try {
|
|
233
|
+
if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
|
|
234
|
+
}
|
|
235
|
+
finally { if (e_2) throw e_2.error; }
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Gets the participants of the thread identified by threadId.
|
|
241
|
+
* Returns the lists of the participants.
|
|
242
|
+
* @param options - Operation options.
|
|
243
|
+
*/
|
|
244
|
+
listParticipants(options = {}) {
|
|
245
|
+
const { span, updatedOptions } = tracing_js_1.tracingClient.startSpan("ChatThreadClient-ListParticipants", options);
|
|
246
|
+
try {
|
|
247
|
+
const iter = this.listParticipantsAll(updatedOptions);
|
|
248
|
+
return {
|
|
249
|
+
next() {
|
|
250
|
+
return iter.next();
|
|
251
|
+
},
|
|
252
|
+
[Symbol.asyncIterator]() {
|
|
253
|
+
return this;
|
|
254
|
+
},
|
|
255
|
+
byPage: (settings = {}) => {
|
|
256
|
+
return this.listParticipantsPage(settings, updatedOptions);
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
span.setStatus({
|
|
262
|
+
status: "error",
|
|
263
|
+
error: e,
|
|
264
|
+
});
|
|
265
|
+
throw e;
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
span.end();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Removes participant from the thread identified by threadId.
|
|
273
|
+
* @param participant - Thread participant to remove from the thread roster
|
|
274
|
+
* @param options - Operation options.
|
|
275
|
+
*/
|
|
276
|
+
async removeParticipant(participant, options = {}) {
|
|
277
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-RemoveParticipant", options, async (updatedOptions) => {
|
|
278
|
+
await this.client.chatThread.removeChatParticipant(this.threadId, (0, communication_common_1.serializeCommunicationIdentifier)(participant), updatedOptions);
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Sends a typing notification to the thread.
|
|
283
|
+
* Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval
|
|
284
|
+
* @param options - - Operation options
|
|
285
|
+
* @returns True if the typing message notification could be sent, otherwise false.
|
|
286
|
+
*/
|
|
287
|
+
async sendTypingNotification(options = {}) {
|
|
288
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-SendTypingNotification", options, async (updatedOptions) => {
|
|
289
|
+
const dateNow = new Date();
|
|
290
|
+
const { senderDisplayName } = updatedOptions, restOptions = tslib_1.__rest(updatedOptions, ["senderDisplayName"]);
|
|
291
|
+
if (this.canPostTypingNotification(dateNow)) {
|
|
292
|
+
this.timeOfLastTypingRequest = dateNow;
|
|
293
|
+
await this.client.chatThread.sendTypingNotification(this.threadId, Object.assign({ sendTypingNotificationRequest: { senderDisplayName: senderDisplayName } }, restOptions));
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
logger_js_1.logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);
|
|
297
|
+
return false;
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Sends a read receipt to the thread identified by threadId.
|
|
302
|
+
* @param request - Request for sending a read receipt
|
|
303
|
+
* @param options - Operation options.
|
|
304
|
+
*/
|
|
305
|
+
async sendReadReceipt(request, options = {}) {
|
|
306
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-SendReadReceipt", options, async (updatedOptions) => {
|
|
307
|
+
await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
listReadReceiptsPage(continuationState_1) {
|
|
311
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listReadReceiptsPage_1(continuationState, options = {}) {
|
|
312
|
+
if (!continuationState.continuationToken) {
|
|
313
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatReadReceipts(this.threadId, options));
|
|
314
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
315
|
+
if (currentSetResponse.value) {
|
|
316
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToReadReceiptSdkModel, this));
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
while (continuationState.continuationToken) {
|
|
320
|
+
const currentSetResponse = yield tslib_1.__await(this.client.chatThread.listChatReadReceiptsNext(this.threadId, continuationState.continuationToken, options));
|
|
321
|
+
continuationState.continuationToken = currentSetResponse.nextLink;
|
|
322
|
+
if (currentSetResponse.value) {
|
|
323
|
+
yield yield tslib_1.__await(currentSetResponse.value.map(mappers_js_1.mapToReadReceiptSdkModel, this));
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
listReadReceiptsAll(options) {
|
|
332
|
+
return tslib_1.__asyncGenerator(this, arguments, function* listReadReceiptsAll_1() {
|
|
333
|
+
var _a, e_3, _b, _c;
|
|
334
|
+
try {
|
|
335
|
+
for (var _d = true, _e = tslib_1.__asyncValues(this.listReadReceiptsPage({}, options)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
336
|
+
_c = _f.value;
|
|
337
|
+
_d = false;
|
|
338
|
+
const page = _c;
|
|
339
|
+
yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
343
|
+
finally {
|
|
344
|
+
try {
|
|
345
|
+
if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
|
|
346
|
+
}
|
|
347
|
+
finally { if (e_3) throw e_3.error; }
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Gets a list of read receipt from a thread identified by threadId.
|
|
353
|
+
* Returns the list of the messages.
|
|
354
|
+
* @param options - Get messages options.
|
|
355
|
+
*/
|
|
356
|
+
listReadReceipts(options = {}) {
|
|
357
|
+
const { span, updatedOptions } = tracing_js_1.tracingClient.startSpan("ChatThreadClient-ListChatReadReceipts", options);
|
|
358
|
+
try {
|
|
359
|
+
const iter = this.listReadReceiptsAll(updatedOptions);
|
|
360
|
+
return {
|
|
361
|
+
next() {
|
|
362
|
+
return iter.next();
|
|
363
|
+
},
|
|
364
|
+
[Symbol.asyncIterator]() {
|
|
365
|
+
return this;
|
|
366
|
+
},
|
|
367
|
+
byPage: (settings = {}) => {
|
|
368
|
+
return this.listReadReceiptsPage(settings, updatedOptions);
|
|
369
|
+
},
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
catch (e) {
|
|
373
|
+
span.setStatus({
|
|
374
|
+
status: "error",
|
|
375
|
+
error: e,
|
|
376
|
+
});
|
|
377
|
+
throw e;
|
|
378
|
+
}
|
|
379
|
+
finally {
|
|
380
|
+
span.end();
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
canPostTypingNotification(dateNow) {
|
|
384
|
+
if (this.timeOfLastTypingRequest) {
|
|
385
|
+
const timeSinceLastRequestInMilliSeconds = dateNow.getTime() - this.timeOfLastTypingRequest.getTime();
|
|
386
|
+
if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {
|
|
387
|
+
logger_js_1.logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return true;
|
|
392
|
+
}
|
|
393
|
+
async uploadImage(image, imageFilename, imageBytesLengthOrOptions,
|
|
394
|
+
// eslint-disable-next-line @azure/azure-sdk/ts-naming-options
|
|
395
|
+
options = {}) {
|
|
396
|
+
let uploadImageOptions = {};
|
|
397
|
+
if (imageBytesLengthOrOptions !== undefined) {
|
|
398
|
+
if (typeof imageBytesLengthOrOptions === "number") {
|
|
399
|
+
uploadImageOptions = Object.assign(Object.assign({}, options), { imageBytesLength: imageBytesLengthOrOptions });
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
uploadImageOptions = Object.assign(Object.assign({}, options), imageBytesLengthOrOptions);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-UploadImage", uploadImageOptions, async (updatedOptions) => {
|
|
406
|
+
let result;
|
|
407
|
+
if (this.xhrClient && // is browser
|
|
408
|
+
((!this.supportsReadableStream() && (0, xhrHttpClient_js_1.isReadableStream)(image)) || // is readable stream but no support, need to convert
|
|
409
|
+
!(0, xhrHttpClient_js_1.isReadableStream)(image))) {
|
|
410
|
+
// use xhrClient if (to support onUploadProgress)
|
|
411
|
+
// - is readable stream but no support => convert to ArrayBuffer (so will have content-length)
|
|
412
|
+
// - is not readable stream
|
|
413
|
+
result = await this.xhrClient.chatThread.uploadChatImage(this.threadId, (0, xhrHttpClient_js_1.isReadableStream)(image) ? await this.getArrayBufferFromReadableStream(image) : image, Object.assign({ imageFilename }, updatedOptions));
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// backend (node fetch client) or readable readable stream
|
|
417
|
+
// Backend (no browser) need to convert Blob/ReadableStream to ArrayBuffer
|
|
418
|
+
let chatImageFile = image;
|
|
419
|
+
if ((0, xhrHttpClient_js_1.isBlob)(image)) {
|
|
420
|
+
chatImageFile = await this.getArrayBufferFromBlob(image);
|
|
421
|
+
}
|
|
422
|
+
else if ((0, xhrHttpClient_js_1.isReadableStream)(image)) {
|
|
423
|
+
chatImageFile = await this.getArrayBufferFromReadableStream(image);
|
|
424
|
+
}
|
|
425
|
+
result = await this.client.chatThread.uploadChatImage(this.threadId, chatImageFile, Object.assign({ imageFilename }, updatedOptions));
|
|
426
|
+
}
|
|
427
|
+
return result;
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Deletes an image identified by threadId and imageId
|
|
432
|
+
* @param imageId - The image id of the image.
|
|
433
|
+
* @param options - Operation options.
|
|
434
|
+
*/
|
|
435
|
+
deleteImage(imageId, options = {}) {
|
|
436
|
+
return tracing_js_1.tracingClient.withSpan("ChatThreadClient-DeleteImage", options, async (updatedOptions) => {
|
|
437
|
+
await this.client.chatThread.deleteChatImage(this.threadId, imageId, updatedOptions);
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
supportsReadableStream() {
|
|
441
|
+
let duplexAccessed = false;
|
|
442
|
+
const hasContentType = new Request("", {
|
|
443
|
+
body: new ReadableStream(),
|
|
444
|
+
method: "POST",
|
|
445
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
446
|
+
// @ts-ignore
|
|
447
|
+
get duplex() {
|
|
448
|
+
duplexAccessed = true;
|
|
449
|
+
return "half";
|
|
450
|
+
},
|
|
451
|
+
}).headers.has("Content-Type");
|
|
452
|
+
return duplexAccessed && !hasContentType;
|
|
453
|
+
}
|
|
454
|
+
async getArrayBufferFromReadableStream(body) {
|
|
455
|
+
const arrayBuffer = await new Response(body).arrayBuffer();
|
|
456
|
+
return new Uint8Array(arrayBuffer);
|
|
457
|
+
}
|
|
458
|
+
async getArrayBufferFromBlob(body) {
|
|
459
|
+
return new Uint8Array(await body.arrayBuffer());
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
exports.ChatThreadClient = ChatThreadClient;
|
|
463
|
+
//# sourceMappingURL=chatThreadClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatThreadClient.js","sourceRoot":"","sources":["../../src/chatThreadClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { logger } from \"./models/logger.js\";\nimport type {\n CommunicationIdentifier,\n CommunicationTokenCredential,\n} from \"@azure/communication-common\";\nimport { serializeCommunicationIdentifier } from \"@azure/communication-common\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport type {\n AddParticipantsRequest,\n SendMessageRequest,\n SendReadReceiptRequest,\n} from \"./models/requests.js\";\n\nimport type {\n AddChatParticipantsResult,\n ChatMessage,\n ChatMessageReadReceipt,\n ChatParticipant,\n ChatThreadProperties,\n ListPageSettings,\n SendChatMessageResult,\n UploadChatImageResult,\n} from \"./models/models.js\";\nimport {\n mapToAddChatParticipantsRequestRestModel,\n mapToChatMessageSdkModel,\n mapToChatParticipantSdkModel,\n mapToChatThreadPropertiesSdkModel,\n mapToReadReceiptSdkModel,\n mapToSendChatMessageRequestRestModel,\n mapToUpdateChatMessageRequestRestModel,\n} from \"./models/mappers.js\";\nimport type {\n AddParticipantsOptions,\n ChatThreadClientOptions,\n DeleteMessageOptions,\n GetMessageOptions,\n GetPropertiesOptions,\n ListMessagesOptions,\n ListParticipantsOptions,\n ListReadReceiptsOptions,\n RemoveParticipantOptions,\n SendMessageOptions,\n SendReadReceiptOptions,\n SendTypingNotificationOptions,\n UpdateMessageOptions,\n UpdateTopicOptions,\n UpdateChatThreadPropertiesOptions,\n DeleteImageOptions,\n UploadImageOptions,\n UploadImageStreamOptions,\n} from \"./models/options.js\";\nimport type {\n ChatThreadGetChatThreadPropertiesOptionalParams,\n ChatThreadUpdateChatThreadPropertiesOptionalParams,\n ChatThreadSendChatMessageOptionalParams,\n ChatThreadGetChatMessageOptionalParams,\n ChatThreadDeleteChatMessageOptionalParams,\n ChatThreadUpdateChatMessageOptionalParams,\n ChatThreadAddChatParticipantsOptionalParams,\n ChatThreadRemoveChatParticipantOptionalParams,\n ChatThreadSendChatReadReceiptOptionalParams,\n ChatThreadUploadChatImageOptionalParams,\n ChatThreadDeleteChatImageOptionalParams,\n} from \"./generated/src/index.js\";\nimport { ChatApiClient } from \"./generated/src/index.js\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport { createXhrHttpClient, isReadableStream, isBlob } from \"./xhrHttpClient.js\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy.js\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\n\nconst minimumTypingIntervalInMilliSeconds: number = 8000;\n\n/**\n * The client to do chat operations\n */\nexport class ChatThreadClient {\n /**\n * Thread ID of the ChatThreadClient\n */\n readonly threadId: string;\n\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly client: ChatApiClient;\n private readonly xhrClient?: ChatApiClient;\n\n private timeOfLastTypingRequest: Date | undefined = undefined;\n\n constructor(\n private readonly endpoint: string,\n threadId: string,\n credential: CommunicationTokenCredential,\n options: ChatThreadClientOptions = {},\n ) {\n this.threadId = threadId;\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 if (typeof XMLHttpRequest !== \"undefined\") {\n this.xhrClient = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions,\n httpClient: createXhrHttpClient(),\n });\n this.xhrClient.pipeline.addPolicy(authPolicy);\n }\n }\n\n /**\n * Gets a chat thread.\n * Returns the chat thread.\n * @param options - Operation options.\n */\n public getProperties(options: GetPropertiesOptions = {}): Promise<ChatThreadProperties> {\n return tracingClient.withSpan(\n \"ChatClient-GetProperties\",\n options,\n async (updatedOptions: ChatThreadGetChatThreadPropertiesOptionalParams | undefined) => {\n const result = await this.client.chatThread.getChatThreadProperties(\n this.threadId,\n updatedOptions,\n );\n return mapToChatThreadPropertiesSdkModel(result);\n },\n );\n }\n\n /**\n * Updates a thread's topic.\n * @param topic - The topic needs to be updated to.\n * @param options - Operation options.\n */\n public updateTopic(topic: string, options: UpdateTopicOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-UpdateTopic\",\n options,\n async (updatedOptions: ChatThreadUpdateChatThreadPropertiesOptionalParams | undefined) => {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n { topic: topic },\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Updates a thread's properties.\n * @param options - Operation options.\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public updateProperties(options: UpdateChatThreadPropertiesOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-UpdateProperties\",\n options,\n async (updatedOptions: ChatThreadUpdateChatThreadPropertiesOptionalParams | undefined) => {\n await this.client.chatThread.updateChatThreadProperties(\n this.threadId,\n options,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Sends a chat message to a thread identified by threadId.\n * Returns the id of the created message.\n * @param request - Request for sending a message.\n * @param options - Operation options.\n */\n public sendMessage(\n request: SendMessageRequest,\n options: SendMessageOptions = {},\n ): Promise<SendChatMessageResult> {\n return tracingClient.withSpan(\n \"ChatThreadClient-SendMessage\",\n options,\n async (updatedOptions: ChatThreadSendChatMessageOptionalParams | undefined) => {\n // reset typing notification clock\n this.timeOfLastTypingRequest = undefined;\n\n const result = await this.client.chatThread.sendChatMessage(\n this.threadId,\n mapToSendChatMessageRequestRestModel(request, options),\n updatedOptions,\n );\n return result;\n },\n );\n }\n\n /**\n * Gets a chat message identified by messageId.\n * Returns the specific message.\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public getMessage(messageId: string, options: GetMessageOptions = {}): Promise<ChatMessage> {\n return tracingClient.withSpan(\n \"ChatThreadClient-GetMessage\",\n options,\n async (updatedOptions: ChatThreadGetChatMessageOptionalParams | undefined) => {\n const result = await this.client.chatThread.getChatMessage(\n this.threadId,\n messageId,\n updatedOptions,\n );\n return mapToChatMessageSdkModel(result);\n },\n );\n }\n\n private async *listMessagesPage(\n pageSettings: ListPageSettings,\n options: ListMessagesOptions = {},\n ): AsyncIterableIterator<ChatMessage[]> {\n if (!pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessages(\n this.threadId,\n options,\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n }\n }\n\n while (pageSettings.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatMessagesNext(\n this.threadId,\n pageSettings.continuationToken,\n options,\n );\n pageSettings.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatMessageSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listMessagesAll(options: ListMessagesOptions): AsyncIterableIterator<ChatMessage> {\n for await (const page of this.listMessagesPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of message from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listMessages(options: ListMessagesOptions = {}): PagedAsyncIterableIterator<ChatMessage> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"ChatThreadClient-ListMessages\",\n options,\n );\n\n try {\n const iter = this.listMessagesAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listMessagesPage(settings, updatedOptions);\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public deleteMessage(messageId: string, options: DeleteMessageOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-DeleteMessage\",\n options,\n async (updatedOptions: ChatThreadDeleteChatMessageOptionalParams | undefined) => {\n await this.client.chatThread.deleteChatMessage(this.threadId, messageId, updatedOptions);\n },\n );\n }\n\n /**\n * Updates a message identified by threadId and messageId\n * @param messageId - The message id of the message.\n * @param options - Operation options.\n */\n public async updateMessage(messageId: string, options: UpdateMessageOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-UpdateMessage\",\n options,\n async (updatedOptions: ChatThreadUpdateChatMessageOptionalParams | undefined) => {\n await this.client.chatThread.updateChatMessage(\n this.threadId,\n messageId,\n mapToUpdateChatMessageRequestRestModel(options),\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Adds the details of chat participants belonging to the thread identified by threadId.\n * @param request - Thread participants' details to add in the thread roster\n * @param options - Operation options.\n */\n public async addParticipants(\n request: AddParticipantsRequest,\n options: AddParticipantsOptions = {},\n ): Promise<AddChatParticipantsResult> {\n return tracingClient.withSpan(\n \"ChatThreadClient-AddParticipants\",\n options,\n async (updatedOptions: ChatThreadAddChatParticipantsOptionalParams | undefined) => {\n const result = await this.client.chatThread.addChatParticipants(\n this.threadId,\n mapToAddChatParticipantsRequestRestModel(request),\n updatedOptions,\n );\n return result;\n },\n );\n }\n\n private async *listParticipantsPage(\n continuationState: ListPageSettings,\n options: ListParticipantsOptions = {},\n ): AsyncIterableIterator<ChatParticipant[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipants(\n this.threadId,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatParticipantsNext(\n this.threadId,\n continuationState.continuationToken,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToChatParticipantSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listParticipantsAll(\n options: ListParticipantsOptions,\n ): AsyncIterableIterator<ChatParticipant> {\n for await (const page of this.listParticipantsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the participants of the thread identified by threadId.\n * Returns the lists of the participants.\n * @param options - Operation options.\n */\n public listParticipants(\n options: ListParticipantsOptions = {},\n ): PagedAsyncIterableIterator<ChatParticipant> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"ChatThreadClient-ListParticipants\",\n options,\n );\n\n try {\n const iter = this.listParticipantsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listParticipantsPage(settings, updatedOptions);\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Removes participant from the thread identified by threadId.\n * @param participant - Thread participant to remove from the thread roster\n * @param options - Operation options.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-RemoveParticipant\",\n options,\n async (updatedOptions: ChatThreadRemoveChatParticipantOptionalParams | undefined) => {\n await this.client.chatThread.removeChatParticipant(\n this.threadId,\n serializeCommunicationIdentifier(participant),\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Sends a typing notification to the thread.\n * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval\n * @param options - - Operation options\n * @returns True if the typing message notification could be sent, otherwise false.\n */\n public async sendTypingNotification(\n options: SendTypingNotificationOptions = {},\n ): Promise<boolean> {\n return tracingClient.withSpan(\n \"ChatThreadClient-SendTypingNotification\",\n options,\n async (updatedOptions: SendTypingNotificationOptions) => {\n const dateNow = new Date();\n const { senderDisplayName, ...restOptions } = updatedOptions;\n\n if (this.canPostTypingNotification(dateNow)) {\n this.timeOfLastTypingRequest = dateNow;\n\n await this.client.chatThread.sendTypingNotification(this.threadId, {\n sendTypingNotificationRequest: { senderDisplayName: senderDisplayName },\n ...restOptions,\n });\n return true;\n }\n\n logger.info(`Typing Notification NOT Send. [thread_id=${this.threadId}]`);\n return false;\n },\n );\n }\n\n /**\n * Sends a read receipt to the thread identified by threadId.\n * @param request - Request for sending a read receipt\n * @param options - Operation options.\n */\n public async sendReadReceipt(\n request: SendReadReceiptRequest,\n options: SendReadReceiptOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-SendReadReceipt\",\n options,\n async (updatedOptions: ChatThreadSendChatReadReceiptOptionalParams | undefined) => {\n await this.client.chatThread.sendChatReadReceipt(this.threadId, request, updatedOptions);\n },\n );\n }\n\n private async *listReadReceiptsPage(\n continuationState: ListPageSettings,\n options: ListReadReceiptsOptions = {},\n ): AsyncIterableIterator<ChatMessageReadReceipt[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceipts(\n this.threadId,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chatThread.listChatReadReceiptsNext(\n this.threadId,\n continuationState.continuationToken,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value.map(mapToReadReceiptSdkModel, this);\n } else {\n break;\n }\n }\n }\n\n private async *listReadReceiptsAll(\n options: ListReadReceiptsOptions,\n ): AsyncIterableIterator<ChatMessageReadReceipt> {\n for await (const page of this.listReadReceiptsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets a list of read receipt from a thread identified by threadId.\n * Returns the list of the messages.\n * @param options - Get messages options.\n */\n public listReadReceipts(\n options: ListReadReceiptsOptions = {},\n ): PagedAsyncIterableIterator<ChatMessageReadReceipt> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"ChatThreadClient-ListChatReadReceipts\",\n options,\n );\n\n try {\n const iter = this.listReadReceiptsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listReadReceiptsPage(settings, updatedOptions);\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private canPostTypingNotification(dateNow: Date): boolean {\n if (this.timeOfLastTypingRequest) {\n const timeSinceLastRequestInMilliSeconds =\n dateNow.getTime() - this.timeOfLastTypingRequest.getTime();\n\n if (timeSinceLastRequestInMilliSeconds < minimumTypingIntervalInMilliSeconds) {\n logger.info(`Typing interval check failed. [last_request=${this.timeOfLastTypingRequest}]`);\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Uploads an chat image to a thread identified by threadId.\n * Allowed image types \"jpg\", \"png\", \"gif\", \"heic\", \"webp\".\n * Returns the id of the uploaded image.\n * @param image - Request for uploading an image.\n * @param imageFilename - The image's file name with file extension.\n * @param options - Operation options.\n */\n public async uploadImage(\n image: ArrayBuffer | Blob,\n imageFilename: string,\n options?: UploadImageOptions,\n ): Promise<UploadChatImageResult>;\n\n /**\n * Uploads an chat image stream to a thread identified by threadId.\n * Allowed image types \"jpg\", \"png\", \"gif\", \"heic\", \"webp\".\n * Returns the id of the uploaded image.\n * @param image - Request for uploading an image.\n * @param imageFileName - The image's file name with file extension.\n * @param imageBytesLength - The image's file length in bytes.\n * @param options - Operation options.\n */\n public async uploadImage(\n image: ReadableStream<Uint8Array> | NodeJS.ReadableStream,\n imageFileName: string,\n imageBytesLength: number,\n // eslint-disable-next-line\n options?: UploadImageStreamOptions,\n ): Promise<UploadChatImageResult>;\n\n async uploadImage(\n image: ArrayBuffer | Blob | ReadableStream<Uint8Array> | NodeJS.ReadableStream,\n imageFilename: string,\n imageBytesLengthOrOptions?: number | UploadImageOptions,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: UploadImageStreamOptions = {},\n ): Promise<UploadChatImageResult> {\n let uploadImageOptions = {};\n if (imageBytesLengthOrOptions !== undefined) {\n if (typeof imageBytesLengthOrOptions === \"number\") {\n uploadImageOptions = { ...options, imageBytesLength: imageBytesLengthOrOptions };\n } else {\n uploadImageOptions = { ...options, ...imageBytesLengthOrOptions };\n }\n }\n\n return tracingClient.withSpan(\n \"ChatThreadClient-UploadImage\",\n uploadImageOptions,\n async (updatedOptions: ChatThreadUploadChatImageOptionalParams | undefined) => {\n let result: UploadChatImageResult;\n if (\n this.xhrClient && // is browser\n ((!this.supportsReadableStream() && isReadableStream(image)) || // is readable stream but no support, need to convert\n !isReadableStream(image))\n ) {\n // use xhrClient if (to support onUploadProgress)\n // - is readable stream but no support => convert to ArrayBuffer (so will have content-length)\n // - is not readable stream\n result = await this.xhrClient.chatThread.uploadChatImage(\n this.threadId,\n isReadableStream(image) ? await this.getArrayBufferFromReadableStream(image) : image,\n { imageFilename, ...updatedOptions },\n );\n } else {\n // backend (node fetch client) or readable readable stream\n // Backend (no browser) need to convert Blob/ReadableStream to ArrayBuffer\n let chatImageFile = image;\n if (isBlob(image)) {\n chatImageFile = await this.getArrayBufferFromBlob(image);\n } else if (isReadableStream(image)) {\n chatImageFile = await this.getArrayBufferFromReadableStream(image);\n }\n result = await this.client.chatThread.uploadChatImage(this.threadId, chatImageFile, {\n imageFilename,\n ...updatedOptions,\n });\n }\n return result;\n },\n );\n }\n\n /**\n * Deletes an image identified by threadId and imageId\n * @param imageId - The image id of the image.\n * @param options - Operation options.\n */\n public deleteImage(imageId: string, options: DeleteImageOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"ChatThreadClient-DeleteImage\",\n options,\n async (updatedOptions: ChatThreadDeleteChatImageOptionalParams | undefined) => {\n await this.client.chatThread.deleteChatImage(this.threadId, imageId, updatedOptions);\n },\n );\n }\n\n private supportsReadableStream(): boolean {\n let duplexAccessed = false;\n const hasContentType = new Request(\"\", {\n body: new ReadableStream(),\n method: \"POST\",\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n get duplex() {\n duplexAccessed = true;\n return \"half\";\n },\n }).headers.has(\"Content-Type\");\n return duplexAccessed && !hasContentType;\n }\n\n private async getArrayBufferFromReadableStream(\n body: ReadableStream<Uint8Array>,\n ): Promise<ArrayBuffer> {\n const arrayBuffer = await new Response(body).arrayBuffer();\n return new Uint8Array(arrayBuffer);\n }\n\n private async getArrayBufferFromBlob(body: Blob): Promise<ArrayBuffer> {\n return new Uint8Array(await body.arrayBuffer());\n }\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CommunicationTokenCredential } from "@azure/communication-common";
|
|
2
|
+
import type { PipelinePolicy } from "@azure/core-rest-pipeline";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new CommunicationTokenCredentialPolicy factory.
|
|
5
|
+
*
|
|
6
|
+
* @param credential - The CommunicationTokenCredential implementation that can supply the user credential.
|
|
7
|
+
*/
|
|
8
|
+
export declare const createCommunicationTokenCredentialPolicy: (credential: CommunicationTokenCredential) => PipelinePolicy;
|
|
9
|
+
//# sourceMappingURL=communicationTokenCredentialPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communicationTokenCredentialPolicy.d.ts","sourceRoot":"","sources":["../../../src/credential/communicationTokenCredentialPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,2BAA2B,CAAC;AAGnC;;;;GAIG;AACH,eAAO,MAAM,wCAAwC,eACvC,4BAA4B,KACvC,cASF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.createCommunicationTokenCredentialPolicy = void 0;
|
|
6
|
+
const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new CommunicationTokenCredentialPolicy factory.
|
|
9
|
+
*
|
|
10
|
+
* @param credential - The CommunicationTokenCredential implementation that can supply the user credential.
|
|
11
|
+
*/
|
|
12
|
+
const createCommunicationTokenCredentialPolicy = (credential) => {
|
|
13
|
+
const policyOptions = {
|
|
14
|
+
credential: {
|
|
15
|
+
getToken: (_scopes, options) => credential.getToken({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }),
|
|
16
|
+
},
|
|
17
|
+
scopes: [],
|
|
18
|
+
};
|
|
19
|
+
return (0, core_rest_pipeline_1.bearerTokenAuthenticationPolicy)(policyOptions);
|
|
20
|
+
};
|
|
21
|
+
exports.createCommunicationTokenCredentialPolicy = createCommunicationTokenCredentialPolicy;
|
|
22
|
+
//# sourceMappingURL=communicationTokenCredentialPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communicationTokenCredentialPolicy.js","sourceRoot":"","sources":["../../../src/credential/communicationTokenCredentialPolicy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,kEAA4E;AAE5E;;;;GAIG;AACI,MAAM,wCAAwC,GAAG,CACtD,UAAwC,EACxB,EAAE;IAClB,MAAM,aAAa,GAA2C;QAC5D,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAC;SAC3F;QACD,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,OAAO,IAAA,oDAA+B,EAAC,aAAa,CAAC,CAAC;AACxD,CAAC,CAAC;AAXW,QAAA,wCAAwC,4CAWnD","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport type {\n BearerTokenAuthenticationPolicyOptions,\n PipelinePolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\n\n/**\n * Creates a new CommunicationTokenCredentialPolicy factory.\n *\n * @param credential - The CommunicationTokenCredential implementation that can supply the user credential.\n */\nexport const createCommunicationTokenCredentialPolicy = (\n credential: CommunicationTokenCredential,\n): PipelinePolicy => {\n const policyOptions: BearerTokenAuthenticationPolicyOptions = {\n credential: {\n getToken: (_scopes, options) => credential.getToken({ abortSignal: options?.abortSignal }),\n },\n scopes: [],\n };\n\n return bearerTokenAuthenticationPolicy(policyOptions);\n};\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as coreClient from "@azure/core-client";
|
|
2
|
+
import { ChatThread, Chat } from "./operationsInterfaces/index.js";
|
|
3
|
+
import { ChatApiClientOptionalParams } from "./models/index.js";
|
|
4
|
+
export declare class ChatApiClient extends coreClient.ServiceClient {
|
|
5
|
+
endpoint: string;
|
|
6
|
+
apiVersion: string;
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a new instance of the ChatApiClient class.
|
|
9
|
+
* @param endpoint The endpoint of the Azure Communication resource.
|
|
10
|
+
* @param options The parameter options
|
|
11
|
+
*/
|
|
12
|
+
constructor(endpoint: string, options?: ChatApiClientOptionalParams);
|
|
13
|
+
/** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
|
|
14
|
+
private addCustomApiVersionPolicy;
|
|
15
|
+
chatThread: ChatThread;
|
|
16
|
+
chat: Chat;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=chatApiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatApiClient.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/chatApiClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAOjD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,qBAAa,aAAc,SAAQ,UAAU,CAAC,aAAa;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B;IAsCnE,8GAA8G;IAC9G,OAAO,CAAC,yBAAyB;IA2BjC,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;CACZ"}
|