@azure/communication-signaling
Advanced tools
Comparing version 1.0.0-beta.22 to 1.0.0-beta.23
{ | ||
"name": "@azure/communication-signaling", | ||
"version": "1.0.0-beta.22", | ||
"version": "1.0.0-beta.23", | ||
"description": "Azure Communication Signaling Client", | ||
@@ -67,4 +67,4 @@ "sdk-type": "client", | ||
"@azure/eslint-plugin-azure-sdk": "^2.0.1", | ||
"@microsoft/api-documenter": "~7.8.56", | ||
"@microsoft/api-extractor": "^7.38.2", | ||
"@microsoft/api-documenter": "~7.8.17", | ||
"@microsoft/api-extractor": "^7.5.4", | ||
"@rollup/plugin-commonjs": "^11.0.1", | ||
@@ -76,5 +76,5 @@ "@rollup/plugin-json": "^4.0.0", | ||
"@skype/tstrouter": "^2022.35.0-1.18-b759f", | ||
"@types/mocha": "^10.0.0", | ||
"@types/node": "^20.9.0", | ||
"@types/sinon": "^10.0.0", | ||
"@types/mocha": "^9.0.0", | ||
"@types/node": "^14.18.36", | ||
"@types/sinon": "^7.5.1", | ||
"@typescript-eslint/eslint-plugin": "^2.0.0", | ||
@@ -85,3 +85,3 @@ "@typescript-eslint/parser": "^2.0.0", | ||
"chai": "^4.3.10", | ||
"cross-env": "^7.0.2", | ||
"cross-env": "^6.0.3", | ||
"eslint": "^6.8.0", | ||
@@ -96,4 +96,4 @@ "eslint-config-prettier": "^6.0.0", | ||
"karma": "^6.3.10", | ||
"karma-chrome-launcher": "^3.2.0", | ||
"karma-coverage": "^2.2.1", | ||
"karma-chrome-launcher": "^3.1.0", | ||
"karma-coverage": "^2.0.1", | ||
"karma-edge-launcher": "^0.4.2", | ||
@@ -105,10 +105,10 @@ "karma-env-preprocessor": "^0.1.1", | ||
"karma-mocha": "^2.0.1", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"karma-mocha-reporter": "^2.2.3", | ||
"karma-remap-istanbul": "^0.0.2", | ||
"lodash": "^4.17.21", | ||
"minimist": "^1.2.6", | ||
"mocha": "^10.0.0", | ||
"mocha": "^9.1.3", | ||
"mocha-junit-reporter": "^1.23.1", | ||
"node-fetch": "^2.6.7", | ||
"prettier": "^2.5.1", | ||
"prettier": "^1.16.4", | ||
"rimraf": "^3.0.0", | ||
@@ -120,5 +120,5 @@ "rollup": "^1.27.3", | ||
"sinon": "^7.5.0", | ||
"ts-node": "^10.0.0", | ||
"typescript": "~5.2.0" | ||
"ts-node": "^8.7.0", | ||
"typescript": "~3.8.3" | ||
} | ||
} |
@@ -25,2 +25,7 @@ // Copyright (c) Microsoft Corporation. | ||
shareHistoryTime?: Date; | ||
/** | ||
* Metadata of the participant. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
@@ -36,6 +41,11 @@ | ||
topic: string; | ||
/** | ||
* Metadata of the thread. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
/** Defines values for AttachmentType. */ | ||
export type ChatAttachmentType = "image" | "unknown"; | ||
export type ChatAttachmentType = "image" | "file" | "unknown"; | ||
@@ -42,0 +52,0 @@ /** An attachment in a chat message. */ |
@@ -52,3 +52,3 @@ // Copyright (c) Microsoft Corporation. | ||
export const enum ConnectionState { | ||
export const enum ConnectionState { | ||
Unknown = 0, | ||
@@ -64,2 +64,3 @@ Connected = 2, | ||
resourceEndpoint?: string; | ||
gatewayApiVersion?: string; | ||
} | ||
@@ -71,4 +72,4 @@ | ||
BaseChatMessageEvent, | ||
ChatAttachment, | ||
ChatAttachmentType, | ||
ChatAttachment, | ||
ChatMessageReceivedEvent, | ||
@@ -176,2 +177,3 @@ ChatMessageEditedEvent, | ||
private resourceEndpoint: string; | ||
private gatewayApiVersion: string; | ||
@@ -188,2 +190,3 @@ constructor( | ||
this.resourceEndpoint = this.options?.resourceEndpoint || ""; | ||
this.gatewayApiVersion = this.options?.gatewayApiVersion || "2023-11-07" | ||
if (this.config === undefined) { | ||
@@ -263,4 +266,4 @@ this.config = { | ||
} | ||
this.trouter.registerMessageHandler(toMessageHandler(event, listener, this.resourceEndpoint)); | ||
this.trouter.registerMessageHandler(toMessageHandler(event, listener, this.resourceEndpoint, this.gatewayApiVersion)); | ||
} | ||
} |
@@ -66,4 +66,10 @@ // Copyright (c) Microsoft Corporation. | ||
shareHistoryTime?: string; | ||
memberMetaData?: string; | ||
} | ||
export interface ChatThreadPropertiesPayload { | ||
topic: string; | ||
acsChatThreadMetadata?: string; | ||
} | ||
export interface ChatThreadCreatedPayload extends ChatThreadPayload { | ||
@@ -70,0 +76,0 @@ createTime: string; |
@@ -26,3 +26,3 @@ // Copyright (c) Microsoft Corporation. | ||
pnhAppId: "AcsWeb", | ||
pnhTemplate: "AcsWeb_Chat_1.7", | ||
pnhTemplate: "AcsWeb_Chat_1.8", | ||
platform: "SPOOL", | ||
@@ -56,3 +56,3 @@ platformUIVersion: "0.0.0", | ||
settings.pnhAppId = "cns-e2e-test"; | ||
settings.pnhTemplate = "cns-e2e-test:1.7"; | ||
settings.pnhTemplate = "cns-e2e-test:1.6"; | ||
settings.registrarServiceUrl = INT_REGISTRAR_SERVICE_URL; | ||
@@ -59,0 +59,0 @@ settings.trouterServiceUrl = INT_TROUTER_SERVICE_URL; |
@@ -25,3 +25,4 @@ // Copyright (c) Microsoft Corporation. | ||
ParticipantsRemovedPayload, | ||
ChatParticipantPayload | ||
ChatParticipantPayload, | ||
ChatThreadPropertiesPayload | ||
} from "./TrouterNotificationPayload"; | ||
@@ -80,3 +81,4 @@ import { | ||
listener: (payload: any) => any, | ||
resourceEndpoint: string | ||
resourceEndpoint: string, | ||
gatewayApiVersion: string | ||
): MessageHandler => { | ||
@@ -93,3 +95,3 @@ const eventId = eventIds.get(event); | ||
} | ||
const eventPayload = toEventPayload(event, genericPayload, resourceEndpoint); | ||
const eventPayload = toEventPayload(event, genericPayload, resourceEndpoint, gatewayApiVersion); | ||
if (eventPayload === null) { | ||
@@ -104,3 +106,3 @@ return undefined; | ||
const toEventPayload = (event: ChatEventId, genericPayload: any, resourceEndpoint: string): any => { | ||
const toEventPayload = (event: ChatEventId, genericPayload: any, resourceEndpoint: string, gatewayApiVersion: string): any => { | ||
if (event === "chatMessageReceived") { | ||
@@ -121,3 +123,4 @@ const payload = genericPayload as MessageReceivedPayload; | ||
(parseJsonString(payload.attachments) as ChatAttachment[]) || [], | ||
resourceEndpoint | ||
resourceEndpoint, | ||
gatewayApiVersion | ||
) | ||
@@ -144,3 +147,4 @@ }; | ||
(parseJsonString(payload.attachments) as ChatAttachment[]) || [], | ||
resourceEndpoint | ||
resourceEndpoint, | ||
gatewayApiVersion | ||
) | ||
@@ -199,13 +203,5 @@ }; | ||
const membersPayload = JSON.parse(unescape(payload.members)) as ChatParticipantPayload[]; | ||
const propertiesPayload = JSON.parse(unescape(payload.properties)) as ChatThreadProperties; | ||
const createdBy: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(createdByPayload.participantId), | ||
displayName: createdByPayload.displayName | ||
}; | ||
const createdBy = toChatParticipant(createdByPayload); | ||
const chatParticipants: ChatParticipant[] = membersPayload.map((m) => { | ||
return { | ||
id: constructIdentifierKindFromMri(m.participantId), | ||
displayName: m.displayName | ||
}; | ||
return toChatParticipant(m); | ||
}); | ||
@@ -218,3 +214,5 @@ const eventPayload: ChatThreadCreatedEvent = { | ||
participants: chatParticipants, | ||
properties: propertiesPayload | ||
properties: toThreadProperties( | ||
JSON.parse(unescape(payload.properties)) as ChatThreadPropertiesPayload | ||
) | ||
}; | ||
@@ -227,7 +225,3 @@ return eventPayload; | ||
const updatedByPayload = JSON.parse(unescape(payload.editedBy)) as ChatParticipantPayload; | ||
const propertiesPayload = JSON.parse(unescape(payload.properties)) as ChatThreadProperties; | ||
const updatedBy: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(updatedByPayload.participantId), | ||
displayName: updatedByPayload.displayName | ||
}; | ||
const updatedBy = toChatParticipant(updatedByPayload); | ||
const eventPayload: ChatThreadPropertiesUpdatedEvent = { | ||
@@ -238,3 +232,5 @@ threadId: payload.threadId, | ||
version: payload.version, | ||
properties: propertiesPayload | ||
properties: toThreadProperties( | ||
JSON.parse(unescape(payload.properties)) as ChatThreadPropertiesPayload | ||
) | ||
}; | ||
@@ -246,7 +242,5 @@ return eventPayload; | ||
const payload = genericPayload as ChatThreadDeletedPayload; | ||
const deletedByPayload = JSON.parse(unescape(payload.deletedBy)) as ChatParticipantPayload; | ||
const deletedBy: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(deletedByPayload.participantId), | ||
displayName: deletedByPayload.displayName | ||
}; | ||
const deletedBy = toChatParticipant( | ||
JSON.parse(unescape(payload.deletedBy)) as ChatParticipantPayload | ||
); | ||
const eventPayload: ChatThreadDeletedEvent = { | ||
@@ -267,13 +261,5 @@ threadId: payload.threadId, | ||
) as ChatParticipantPayload[]; | ||
const addedBy: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(addedByPayload.participantId), | ||
displayName: addedByPayload.displayName | ||
}; | ||
const addedBy = toChatParticipant(addedByPayload); | ||
const chatParticipants: ChatParticipant[] = participantsAddedPayload.map((m) => { | ||
return { | ||
id: constructIdentifierKindFromMri(m.participantId), | ||
displayName: m.displayName, | ||
shareHistoryTime: new Date(m.shareHistoryTime) | ||
}; | ||
return toChatParticipant(m); | ||
}); | ||
@@ -296,12 +282,5 @@ const eventPayload: ParticipantsAddedEvent = { | ||
) as ChatParticipantPayload[]; | ||
const removedBy: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(removedByPayload.participantId), | ||
displayName: removedByPayload.displayName | ||
}; | ||
const removedBy = toChatParticipant(removedByPayload); | ||
const chatParticipants: ChatParticipant[] = participantsRemovedPayload.map((m) => { | ||
return { | ||
id: constructIdentifierKindFromMri(m.participantId), | ||
displayName: m.displayName, | ||
shareHistoryTime: new Date(m.shareHistoryTime) | ||
}; | ||
return toChatParticipant(m); | ||
}); | ||
@@ -321,2 +300,23 @@ const eventPayload: ParticipantsRemovedEvent = { | ||
const toChatParticipant = (payload: ChatParticipantPayload): ChatParticipant => { | ||
const participant: ChatParticipant = { | ||
id: constructIdentifierKindFromMri(payload.participantId), | ||
displayName: payload.displayName, | ||
metadata: (parseJsonString(payload.memberMetaData ?? "") as Record<string, string>) || {} | ||
}; | ||
if (payload.shareHistoryTime) { | ||
participant.shareHistoryTime = new Date(payload.shareHistoryTime); | ||
} | ||
return participant; | ||
}; | ||
const toThreadProperties = (payload: ChatThreadPropertiesPayload): ChatThreadProperties => { | ||
return { | ||
topic: payload.topic, | ||
metadata: (parseJsonString(payload.acsChatThreadMetadata ?? "") as Record<string, string>) || {} | ||
}; | ||
}; | ||
export const toLogProvider = (logger: AzureLogger): LogProvider => { | ||
@@ -404,7 +404,6 @@ return { | ||
const createMediaUrlString = (urlString: string, resourceEndpoint: string): string => { | ||
const createMediaUrlString = (urlString: string, resourceEndpoint: string, gatewayApiVersion: string): string => { | ||
let url: URL | undefined; | ||
try { | ||
url = new URL(urlString); | ||
const queryString = url.search; | ||
@@ -414,3 +413,2 @@ if (url.protocol === "http:" || url.protocol === "https:") { | ||
url = new URL(url.pathname, resourceEndpoint); | ||
url.search = queryString; | ||
} | ||
@@ -427,2 +425,5 @@ } catch (_) { | ||
} | ||
// Append api-version query and return string | ||
url.searchParams.set('api-version', gatewayApiVersion); | ||
return url.toString(); | ||
@@ -443,3 +444,4 @@ }; | ||
attachments: ChatAttachment[], | ||
resourceEndpoint: string | ||
resourceEndpoint: string, | ||
gatewayApiVersion: string | ||
): ChatAttachment[] => { | ||
@@ -458,6 +460,6 @@ if ( | ||
if (attachment.previewUrl) { | ||
attachment.previewUrl = createMediaUrlString(attachment.previewUrl, resourceEndpoint); | ||
attachment.previewUrl = createMediaUrlString(attachment.previewUrl, resourceEndpoint, gatewayApiVersion); | ||
} | ||
if (attachment.url) { | ||
attachment.url = createMediaUrlString(attachment.url, resourceEndpoint); | ||
attachment.url = createMediaUrlString(attachment.url, resourceEndpoint, gatewayApiVersion); | ||
} | ||
@@ -464,0 +466,0 @@ }); |
@@ -19,2 +19,6 @@ import { CommunicationIdentifierKind } from "./identifierModels"; | ||
shareHistoryTime?: Date; | ||
/** | ||
* Metadata of the participant. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
@@ -29,5 +33,9 @@ /** | ||
topic: string; | ||
/** | ||
* Metadata of the thread. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
/** Defines values for AttachmentType. */ | ||
export type ChatAttachmentType = "image" | "unknown"; | ||
export declare type ChatAttachmentType = "image" | "file" | "unknown"; | ||
/** An attachment in a chat message. */ | ||
@@ -270,2 +278,2 @@ export interface ChatAttachment { | ||
*/ | ||
export type ChatEventId = "chatMessageReceived" | "chatMessageEdited" | "chatMessageDeleted" | "typingIndicatorReceived" | "readReceiptReceived" | "chatThreadCreated" | "chatThreadDeleted" | "chatThreadPropertiesUpdated" | "participantsAdded" | "participantsRemoved"; | ||
export declare type ChatEventId = "chatMessageReceived" | "chatMessageEdited" | "chatMessageDeleted" | "typingIndicatorReceived" | "readReceiptReceived" | "chatThreadCreated" | "chatThreadDeleted" | "chatThreadPropertiesUpdated" | "participantsAdded" | "participantsRemoved"; |
/** | ||
* Identifies a communication participant. | ||
*/ | ||
export type CommunicationIdentifier = CommunicationUserIdentifier | PhoneNumberIdentifier | MicrosoftTeamsUserIdentifier | MicrosoftTeamsAppIdentifier | UnknownIdentifier; | ||
export declare type CommunicationIdentifier = CommunicationUserIdentifier | PhoneNumberIdentifier | MicrosoftTeamsUserIdentifier | MicrosoftTeamsAppIdentifier | UnknownIdentifier; | ||
/** | ||
@@ -107,3 +107,3 @@ * An Azure Communication user. | ||
*/ | ||
export type CommunicationIdentifierKind = CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | MicrosoftTeamsAppKind | UnknownIdentifierKind; | ||
export declare type CommunicationIdentifierKind = CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | MicrosoftTeamsAppKind | UnknownIdentifierKind; | ||
/** | ||
@@ -110,0 +110,0 @@ * IdentifierKind for a MicrosoftTeamsAppKind. |
@@ -15,4 +15,5 @@ import { ChatEventId, BaseChatEvent, BaseChatMessageEvent, ChatMessageReceivedEvent, ChatMessageEditedEvent, ChatMessageDeletedEvent, ReadReceiptReceivedEvent, TypingIndicatorReceivedEvent, BaseChatThreadEvent, ChatParticipant, ChatAttachment, ChatAttachmentType, ChatThreadProperties, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent } from "./events/chat"; | ||
resourceEndpoint?: string; | ||
gatewayApiVersion?: string; | ||
} | ||
export { ChatEventId, BaseChatEvent, BaseChatMessageEvent, ChatAttachmentType, ChatAttachment, ChatMessageReceivedEvent, ChatMessageEditedEvent, ChatMessageDeletedEvent, ReadReceiptReceivedEvent, TypingIndicatorReceivedEvent, BaseChatThreadEvent, ChatParticipant, ChatThreadProperties, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, CommunicationIdentifier, CommunicationUserIdentifier, PhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, UnknownIdentifier, CommunicationIdentifierKind, CommunicationUserKind, PhoneNumberKind, MicrosoftTeamsUserKind, MicrosoftTeamsAppKind, MicrosoftTeamsAppIdentifier, UnknownIdentifierKind }; | ||
export { ChatEventId, BaseChatEvent, BaseChatMessageEvent, ChatAttachment, ChatAttachmentType, ChatMessageReceivedEvent, ChatMessageEditedEvent, ChatMessageDeletedEvent, ReadReceiptReceivedEvent, TypingIndicatorReceivedEvent, BaseChatThreadEvent, ChatParticipant, ChatThreadProperties, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, CommunicationIdentifier, CommunicationUserIdentifier, PhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, UnknownIdentifier, CommunicationIdentifierKind, CommunicationUserKind, PhoneNumberKind, MicrosoftTeamsUserKind, MicrosoftTeamsAppKind, MicrosoftTeamsAppIdentifier, UnknownIdentifierKind }; | ||
export interface CommunicationGetTokenOptions { | ||
@@ -87,2 +88,3 @@ abortSignal?: AbortSignalLike; | ||
private resourceEndpoint; | ||
private gatewayApiVersion; | ||
constructor(credential: CommunicationTokenCredential, logger: AzureLogger, options?: SignalingClientOptions); | ||
@@ -89,0 +91,0 @@ start(): Promise<void>; |
@@ -55,3 +55,8 @@ export interface BasePayload { | ||
shareHistoryTime?: string; | ||
memberMetaData?: string; | ||
} | ||
export interface ChatThreadPropertiesPayload { | ||
topic: string; | ||
acsChatThreadMetadata?: string; | ||
} | ||
export interface ChatThreadCreatedPayload extends ChatThreadPayload { | ||
@@ -58,0 +63,0 @@ createTime: string; |
@@ -6,3 +6,3 @@ import { MessageHandler, LogProvider, ITelemetrySender } from "@skype/tstrouter"; | ||
import { CloudType } from "./constants"; | ||
export declare const toMessageHandler: (event: ChatEventId, listener: (payload: any) => any, resourceEndpoint: string) => MessageHandler; | ||
export declare const toMessageHandler: (event: ChatEventId, listener: (payload: any) => any, resourceEndpoint: string, gatewayApiVersion: string) => MessageHandler; | ||
export declare const toLogProvider: (logger: AzureLogger) => LogProvider; | ||
@@ -12,3 +12,3 @@ export declare const toTelemetrySender: (logger: AzureLogger) => ITelemetrySender; | ||
export declare const parseTokenCredential: (credential: CommunicationTokenCredential) => Promise<ParsedTokenCredential>; | ||
export type ParsedTokenCredential = { | ||
export declare type ParsedTokenCredential = { | ||
jwtToken: string; | ||
@@ -15,0 +15,0 @@ acsResourceId: string | undefined; |
@@ -8,5 +8,5 @@ // This file is read by tools that parse documentation comments conforming to the TSDoc standard. | ||
"packageName": "@microsoft/api-extractor", | ||
"packageVersion": "7.38.2" | ||
"packageVersion": "7.38.0" | ||
} | ||
] | ||
} |
@@ -81,3 +81,3 @@ import { AbortSignalLike } from '@azure/core-http'; | ||
/** Defines values for AttachmentType. */ | ||
export declare type ChatAttachmentType = "image" | "unknown"; | ||
export declare type ChatAttachmentType = "image" | "file" | "unknown"; | ||
@@ -149,2 +149,6 @@ /** | ||
shareHistoryTime?: Date; | ||
/** | ||
* Metadata of the participant. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
@@ -200,2 +204,6 @@ | ||
topic: string; | ||
/** | ||
* Metadata of the thread. | ||
*/ | ||
metadata: Record<string, string>; | ||
} | ||
@@ -246,2 +254,3 @@ | ||
private resourceEndpoint; | ||
private gatewayApiVersion; | ||
constructor(credential: CommunicationTokenCredential, logger: AzureLogger, options?: SignalingClientOptions); | ||
@@ -491,2 +500,3 @@ start(): Promise<void>; | ||
resourceEndpoint?: string; | ||
gatewayApiVersion?: string; | ||
} | ||
@@ -493,0 +503,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3141730
12249