@microsoft/teams-js 2.12.0 → 2.13.0-beta.0

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.
@@ -7523,7 +7523,10 @@ export namespace call {
7523
7523
  * Starts a call with other users
7524
7524
  *
7525
7525
  * @param startCallParams - Parameters for the call
7526
- * @returns If the call is accepted
7526
+ *
7527
+ * @throws Error if call capability is not supported
7528
+ * @throws Error if host notifies of a failed start call attempt in a legacy Teams environment
7529
+ * @returns always true if the host notifies of a successful call inititation
7527
7530
  */
7528
7531
  function startCall(startCallParams: StartCallParams): Promise<boolean>;
7529
7532
  /**
@@ -8014,150 +8017,176 @@ export namespace tasks {
8014
8017
  }
8015
8018
 
8016
8019
  /**
8017
- * @hidden
8018
- * Allowed roles during a meeting.
8019
- *
8020
- * @beta
8021
- */
8022
- export enum UserMeetingRole {
8023
- guest = "Guest",
8024
- attendee = "Attendee",
8025
- presenter = "Presenter",
8026
- organizer = "Organizer"
8027
- }
8028
- /**
8029
- * @hidden
8030
- * State of the current Live Share sessions backing fluid container.
8031
- *
8032
- * @beta
8033
- */
8034
- export enum ContainerState {
8035
- /**
8036
- * The call to `LiveShareHost.setContainerId()` successfully created the container mapping
8037
- * for the current Live Share session.
8038
- */
8039
- added = "Added",
8040
- /**
8041
- * A container mapping for the current Live Share Session already exists and should be used
8042
- * when joining the sessions Fluid container.
8043
- */
8044
- alreadyExists = "AlreadyExists",
8045
- /**
8046
- * The call to `LiveShareHost.setContainerId()` failed to create the container mapping due to
8047
- * another client having already set the container ID for the current Live Share session.
8048
- */
8049
- conflict = "Conflict",
8050
- /**
8051
- * A container mapping for the current Live Share session doesn't exist yet.
8052
- */
8053
- notFound = "NotFound"
8054
- }
8055
- /**
8056
- * @hidden
8057
- * Returned from `LiveShareHost.get/setFluidContainerId()` to specify the container mapping for the
8058
- * current Live Share session.
8020
+ * APIs involving Live Share, a framework for building real-time collaborative apps.
8021
+ * For more information, visit https://aka.ms/teamsliveshare
8059
8022
  *
8060
- * @beta
8023
+ * @see LiveShareHost
8061
8024
  */
8062
- export interface IFluidContainerInfo {
8063
- /**
8064
- * State of the containerId mapping.
8065
- */
8066
- containerState: ContainerState;
8025
+ export namespace liveShare {
8067
8026
  /**
8068
- * ID of the container to join for the meeting. Undefined if the container hasn't been
8069
- * created yet.
8027
+ * @hidden
8028
+ * The meeting roles of a user.
8029
+ * Used in Live Share for its role verification feature.
8030
+ * For more information, visit https://learn.microsoft.com/microsoftteams/platform/apps-in-teams-meetings/teams-live-share-capabilities?tabs=javascript#role-verification-for-live-data-structures
8070
8031
  */
8071
- containerId: string | undefined;
8032
+ enum UserMeetingRole {
8033
+ /**
8034
+ * Guest role.
8035
+ */
8036
+ guest = "Guest",
8037
+ /**
8038
+ * Attendee role.
8039
+ */
8040
+ attendee = "Attendee",
8041
+ /**
8042
+ * Presenter role.
8043
+ */
8044
+ presenter = "Presenter",
8045
+ /**
8046
+ * Organizer role.
8047
+ */
8048
+ organizer = "Organizer"
8049
+ }
8072
8050
  /**
8073
- * If true, the local client should create the container and then save the created containers
8074
- * ID to the mapping service.
8051
+ * @hidden
8052
+ * State of the current Live Share session's Fluid container.
8053
+ * This is used internally by the `LiveShareClient` when joining a Live Share session.
8075
8054
  */
8076
- shouldCreate: boolean;
8055
+ enum ContainerState {
8056
+ /**
8057
+ * The call to `LiveShareHost.setContainerId()` successfully created the container mapping
8058
+ * for the current Live Share session.
8059
+ */
8060
+ added = "Added",
8061
+ /**
8062
+ * A container mapping for the current Live Share session already exists.
8063
+ * This indicates to Live Share that a new container does not need be created.
8064
+ */
8065
+ alreadyExists = "AlreadyExists",
8066
+ /**
8067
+ * The call to `LiveShareHost.setContainerId()` failed to create the container mapping.
8068
+ * This happens when another client has already set the container ID for the session.
8069
+ */
8070
+ conflict = "Conflict",
8071
+ /**
8072
+ * A container mapping for the current Live Share session does not yet exist.
8073
+ * This indicates to Live Share that a new container should be created.
8074
+ */
8075
+ notFound = "NotFound"
8076
+ }
8077
8077
  /**
8078
- * If `containerId` is undefined and `shouldCreate` is false, the container isn't ready but
8079
- * another client is creating it. The local client should wait the specified amount of time and
8080
- * then ask for the container info again.
8078
+ * @hidden
8079
+ * Returned from `LiveShareHost.getFluidContainerId()` and `LiveShareHost.setFluidContainerId`.
8080
+ * This response specifies the container mapping information for the current Live Share session.
8081
8081
  */
8082
- retryAfter: number;
8083
- }
8084
- /**
8085
- * @hidden
8086
- * Returned from `LiveShareHost.getNtpTime()` to specify the global timestamp for the current
8087
- * Live Share session.
8088
- *
8089
- * @beta
8090
- */
8091
- export interface INtpTimeInfo {
8082
+ interface IFluidContainerInfo {
8083
+ /**
8084
+ * State of the containerId mapping.
8085
+ */
8086
+ containerState: ContainerState;
8087
+ /**
8088
+ * ID of the container to join for the meeting. Undefined if the container hasn't been
8089
+ * created yet.
8090
+ */
8091
+ containerId: string | undefined;
8092
+ /**
8093
+ * If true, the local client should create the container and then save the created containers
8094
+ * ID to the mapping service.
8095
+ */
8096
+ shouldCreate: boolean;
8097
+ /**
8098
+ * If `containerId` is undefined and `shouldCreate` is false, the container isn't ready
8099
+ * but another client is creating it. In this case, the local client should wait the specified
8100
+ * amount of time before calling `LiveShareHost.getFluidContainerId()` again.
8101
+ */
8102
+ retryAfter: number;
8103
+ }
8092
8104
  /**
8093
- * ISO 8601 formatted server time. For example: '2019-09-07T15:50-04:00'
8105
+ * @hidden
8106
+ * Returned from `LiveShareHost.getNtpTime()` to specify the global timestamp for the current
8107
+ * Live Share session.
8094
8108
  */
8095
- ntpTime: string;
8109
+ interface INtpTimeInfo {
8110
+ /**
8111
+ * ISO 8601 formatted server time. For example: '2019-09-07T15:50-04:00'
8112
+ */
8113
+ ntpTime: string;
8114
+ /**
8115
+ * Server time expressed as the number of milliseconds since the ECMAScript epoch.
8116
+ */
8117
+ ntpTimeInUTC: number;
8118
+ }
8096
8119
  /**
8097
- * Server time expressed as the number of milliseconds since the ECMAScript epoch.
8120
+ * @hidden
8121
+ * Returned from `LiveShareHost.getFluidTenantInfo()` to specify the Fluid service to use for the
8122
+ * current Live Share session.
8098
8123
  */
8099
- ntpTimeInUTC: number;
8100
- }
8101
- /**
8102
- * @hidden
8103
- * Returned from `LiveShareHost.getFluidTenantInfo()` to specify the Fluid service to use for the
8104
- * current Live Share session.
8105
- *
8106
- * @beta
8107
- */
8108
- export interface IFluidTenantInfo {
8124
+ interface IFluidTenantInfo {
8125
+ /**
8126
+ * The Fluid Tenant ID Live Share should use.
8127
+ */
8128
+ tenantId: string;
8129
+ /**
8130
+ * The Fluid service endpoint Live Share should use.
8131
+ */
8132
+ serviceEndpoint: string;
8133
+ }
8109
8134
  /**
8110
- * The Fluid Tenant ID Live Share should use.
8135
+ * @hidden
8136
+ * Returned from `LiveShareHost.getClientInfo()` to specify the client info for a
8137
+ * particular client in a Live Share session.
8111
8138
  */
8112
- tenantId: string;
8139
+ interface IClientInfo {
8140
+ /**
8141
+ * The host user's `userId` associated with a given `clientId`
8142
+ */
8143
+ userId: string;
8144
+ /**
8145
+ * User's meeting roles associated with a given `clientId`
8146
+ */
8147
+ roles: UserMeetingRole[];
8148
+ /**
8149
+ * The user's display name associated with a given `clientId`.
8150
+ * If this returns as `undefined`, the user may need to update their host client.
8151
+ */
8152
+ displayName?: string;
8153
+ }
8113
8154
  /**
8114
- * The Fluid service endpoint Live Share should use.
8155
+ * Checks if the interactive capability is supported by the host
8156
+ * @returns boolean to represent whether the interactive capability is supported
8157
+ *
8158
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
8115
8159
  */
8116
- serviceEndpoint: string;
8117
- }
8118
- /**
8119
- * @hidden
8120
- * Returned from `LiveShareHost.getClientInfo()` to specify the client info for a
8121
- * particular client in a Live Share session.
8122
- *
8123
- * @beta
8124
- */
8125
- export interface IClientInfo {
8126
- userId: string;
8127
- roles: UserMeetingRole[];
8128
- displayName?: string;
8160
+ function isSupported(): boolean;
8129
8161
  }
8130
8162
  /**
8131
- * @hidden
8132
- * Live Share host implementation for O365 and Teams clients.
8163
+ * Live Share host implementation for connecting to real-time collaborative sessions.
8164
+ * Designed for use with the `LiveShareClient` class in the `@microsoft/live-share` package.
8165
+ * Learn more at https://aka.ms/teamsliveshare
8133
8166
  *
8134
- * @beta
8167
+ * @remarks
8168
+ * The `LiveShareClient` class from Live Share uses the hidden API's to join/manage the session.
8169
+ * To create a new `LiveShareHost` instance use the static `LiveShareHost.create()` function.
8135
8170
  */
8136
8171
  export class LiveShareHost {
8137
8172
  /**
8138
8173
  * @hidden
8139
8174
  * Returns the Fluid Tenant connection info for user's current context.
8140
- *
8141
- * @beta
8142
8175
  */
8143
- getFluidTenantInfo(): Promise<IFluidTenantInfo>;
8176
+ getFluidTenantInfo(): Promise<liveShare.IFluidTenantInfo>;
8144
8177
  /**
8145
8178
  * @hidden
8146
8179
  * Returns the fluid access token for mapped container Id.
8147
8180
  *
8148
8181
  * @param containerId Fluid's container Id for the request. Undefined for new containers.
8149
8182
  * @returns token for connecting to Fluid's session.
8150
- *
8151
- * @beta
8152
8183
  */
8153
8184
  getFluidToken(containerId?: string): Promise<string>;
8154
8185
  /**
8155
8186
  * @hidden
8156
8187
  * Returns the ID of the fluid container associated with the user's current context.
8157
- *
8158
- * @beta
8159
8188
  */
8160
- getFluidContainerId(): Promise<IFluidContainerInfo>;
8189
+ getFluidContainerId(): Promise<liveShare.IFluidContainerInfo>;
8161
8190
  /**
8162
8191
  * @hidden
8163
8192
  * Sets the ID of the fluid container associated with the current context.
@@ -8167,69 +8196,47 @@ export class LiveShareHost {
8167
8196
  * `getFluidContainerId()` to get the ID of the container being used.
8168
8197
  * @param containerId ID of the fluid container the client created.
8169
8198
  * @returns A data structure with a `containerState` indicating the success or failure of the request.
8170
- *
8171
- * @beta
8172
8199
  */
8173
- setFluidContainerId(containerId: string): Promise<IFluidContainerInfo>;
8200
+ setFluidContainerId(containerId: string): Promise<liveShare.IFluidContainerInfo>;
8174
8201
  /**
8175
8202
  * @hidden
8176
8203
  * Returns the shared clock server's current time.
8177
- *
8178
- * @beta
8179
8204
  */
8180
- getNtpTime(): Promise<INtpTimeInfo>;
8205
+ getNtpTime(): Promise<liveShare.INtpTimeInfo>;
8181
8206
  /**
8182
8207
  * @hidden
8183
8208
  * Associates the fluid client ID with a set of user roles.
8184
8209
  *
8185
8210
  * @param clientId The ID for the current user's Fluid client. Changes on reconnects.
8186
8211
  * @returns The roles for the current user.
8187
- *
8188
- * @beta
8189
8212
  */
8190
- registerClientId(clientId: string): Promise<UserMeetingRole[]>;
8213
+ registerClientId(clientId: string): Promise<liveShare.UserMeetingRole[]>;
8191
8214
  /**
8192
8215
  * @hidden
8193
8216
  * Returns the roles associated with a client ID.
8194
8217
  *
8195
8218
  * @param clientId The Client ID the message was received from.
8196
8219
  * @returns The roles for a given client. Returns `undefined` if the client ID hasn't been registered yet.
8197
- *
8198
- * @beta
8199
8220
  */
8200
- getClientRoles(clientId: string): Promise<UserMeetingRole[] | undefined>;
8221
+ getClientRoles(clientId: string): Promise<liveShare.UserMeetingRole[] | undefined>;
8201
8222
  /**
8202
8223
  * @hidden
8203
8224
  * Returns the `IClientInfo` associated with a client ID.
8204
8225
  *
8205
8226
  * @param clientId The Client ID the message was received from.
8206
8227
  * @returns The info for a given client. Returns `undefined` if the client ID hasn't been registered yet.
8207
- *
8208
- * @beta
8209
8228
  */
8210
- getClientInfo(clientId: string): Promise<IClientInfo | undefined>;
8229
+ getClientInfo(clientId: string): Promise<liveShare.IClientInfo | undefined>;
8211
8230
  /**
8212
- * Returns a host instance for the client that can be passed to the `LiveShareClient` class.
8231
+ * Factories a new `LiveShareHost` instance for use with the `LiveShareClient` class
8232
+ * in the `@microsoft/live-share` package.
8213
8233
  *
8214
8234
  * @remarks
8215
- * The application must first be initialized and may only be called from `meetingStage` or `sidePanel` contexts.
8216
- *
8217
- * @beta
8235
+ * `app.initialize()` must first be called before using this API.
8236
+ * This API can only be called from `meetingStage` or `sidePanel` contexts.
8218
8237
  */
8219
8238
  static create(): LiveShareHost;
8220
8239
  }
8221
- /**
8222
- * @hidden
8223
- *
8224
- * Checks if the interactive capability is supported by the host
8225
- * @returns boolean to represent whether the interactive capability is supported
8226
- *
8227
- * @throws Error if {@linkcode app.initialize} has not successfully completed
8228
- *
8229
- * @internal
8230
- * Limited to Microsoft-internal use
8231
- */
8232
- export function isSupported(): boolean;
8233
8240
 
8234
8241
  /**
8235
8242
  * @hidden