@microsoft/teams-js 2.16.0-beta.0 → 2.16.0-beta.2

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.
@@ -2025,7 +2025,7 @@ export namespace teams {
2025
2025
  * @internal
2026
2026
  * Limited to Microsoft-internal use
2027
2027
  */
2028
- export namespace videoEx {
2028
+ export namespace videoEffectsEx {
2029
2029
  /**
2030
2030
  * @hidden
2031
2031
  * Error level when notifying errors to the host, the host will decide what to do acording to the error level.
@@ -2046,7 +2046,7 @@ export namespace videoEx {
2046
2046
  * @internal
2047
2047
  * Limited to Microsoft-internal use
2048
2048
  */
2049
- interface VideoFrameConfig extends video.VideoFrameConfig {
2049
+ interface VideoFrameConfig extends videoEffects.VideoFrameConfig {
2050
2050
  /**
2051
2051
  * @hidden
2052
2052
  * Flag to indicate use camera stream to synthesize video frame or not.
@@ -2075,7 +2075,7 @@ export namespace videoEx {
2075
2075
  * @internal
2076
2076
  * Limited to Microsoft-internal use
2077
2077
  */
2078
- interface VideoBufferData extends video.VideoBufferData {
2078
+ interface VideoBufferData extends videoEffects.VideoBufferData {
2079
2079
  /**
2080
2080
  * @hidden
2081
2081
  * The model output if you passed in an {@linkcode VideoFrameConfig.audioInferenceModel}
@@ -2106,7 +2106,7 @@ export namespace videoEx {
2106
2106
  * @internal
2107
2107
  * Limited to Microsoft-internal use
2108
2108
  */
2109
- type VideoFrameData = video.VideoFrameData & {
2109
+ type VideoFrameData = videoEffects.VideoFrameData & {
2110
2110
  /**
2111
2111
  * @hidden
2112
2112
  * The model output if you passed in an {@linkcode VideoFrameConfig.audioInferenceModel}
@@ -2128,7 +2128,7 @@ export namespace videoEx {
2128
2128
  * @internal
2129
2129
  * Limited to Microsoft-internal use
2130
2130
  */
2131
- type VideoFrameHandler = (receivedVideoFrame: VideoFrameData) => Promise<video.VideoFrame>;
2131
+ type VideoFrameHandler = (receivedVideoFrame: VideoFrameData) => Promise<videoEffects.VideoFrame>;
2132
2132
  /**
2133
2133
  * @hidden
2134
2134
  * @beta
@@ -2176,7 +2176,7 @@ export namespace videoEx {
2176
2176
  * @internal
2177
2177
  * Limited to Microsoft-internal use
2178
2178
  */
2179
- function notifySelectedVideoEffectChanged(effectChangeType: video.EffectChangeType, effectId: string | undefined, effectParam?: string): void;
2179
+ function notifySelectedVideoEffectChanged(effectChangeType: videoEffects.EffectChangeType, effectId: string | undefined, effectParam?: string): void;
2180
2180
  /**
2181
2181
  * @hidden
2182
2182
  * Register the video effect callback, host uses this to notify the video extension the new video effect will by applied
@@ -3363,7 +3363,7 @@ export interface Context {
3363
3363
  * @deprecated
3364
3364
  * As of 2.0.0, please use {@link app.AppInfo.sessionId | app.Context.app.sessionId} instead
3365
3365
  *
3366
- * Unique ID for the current session for use in correlating telemetry data.
3366
+ * Unique ID for the current session for use in correlating telemetry data. A session corresponds to the lifecycle of an app. A new session begins upon the creation of a webview (on Teams mobile) or iframe (in Teams desktop) hosting the app, and ends when it is destroyed.
3367
3367
  */
3368
3368
  appSessionId?: string;
3369
3369
  /**
@@ -3630,9 +3630,9 @@ export interface DialogInfo {
3630
3630
  export type TaskInfo = DialogInfo;
3631
3631
  /**
3632
3632
  * @beta
3633
- * Data structure to be used with the {@link teamsCore.registerOnLoadHandler teamsCore.registerOnLoadHandler(handler: (context: LoadContext) => void): void} to pass the context to the app.
3633
+ * Data structure to be used with the {@link app.lifecycle.registerOnResumeHandler app.lifecycle.registerOnResumeHandler(handler: (context: ResumeContext) => void): void} to pass the context to the app.
3634
3634
  */
3635
- export interface LoadContext {
3635
+ export interface ResumeContext {
3636
3636
  /**
3637
3637
  * The entity that is requested to be loaded
3638
3638
  */
@@ -3642,6 +3642,11 @@ export interface LoadContext {
3642
3642
  */
3643
3643
  contentUrl: string;
3644
3644
  }
3645
+ /**
3646
+ * @deprecated
3647
+ * As of 2.14.1, please use ResumeContext instead.
3648
+ */
3649
+ export type LoadContext = ResumeContext;
3645
3650
  /** Represents information about a frame within a tab or dialog module. */
3646
3651
  export interface FrameInfo {
3647
3652
  /**
@@ -3869,7 +3874,7 @@ export namespace app {
3869
3874
  */
3870
3875
  theme: string;
3871
3876
  /**
3872
- * Unique ID for the current session for use in correlating telemetry data.
3877
+ * Unique ID for the current session for use in correlating telemetry data. A session corresponds to the lifecycle of an app. A new session begins upon the creation of a webview (on Teams mobile) or iframe (in Teams desktop) hosting the app, and ends when it is destroyed.
3873
3878
  */
3874
3879
  sessionId: string;
3875
3880
  /**
@@ -4285,6 +4290,56 @@ export namespace app {
4285
4290
  * @returns Promise that will be fulfilled when the operation has completed
4286
4291
  */
4287
4292
  export function openLink(deepLink: string): Promise<void>;
4293
+ /**
4294
+ * A namespace for enabling the suspension or delayed termination of an app when the user navigates away.
4295
+ * When an app registers for the registerBeforeSuspendOrTerminateHandler, it chooses to delay termination.
4296
+ * When an app registers for both registerBeforeSuspendOrTerminateHandler and registerOnResumeHandler, it chooses the suspension of the app .
4297
+ * Please note that selecting suspension doesn't guarantee prevention of background termination.
4298
+ * The outcome is influenced by factors such as available memory and the number of suspended apps.
4299
+ *
4300
+ * @beta
4301
+ */
4302
+ export namespace lifecycle {
4303
+ /**
4304
+ * Register on resume handler function type
4305
+ *
4306
+ * @param context - Data structure to be used to pass the context to the app.
4307
+ */
4308
+ type registerOnResumeHandlerFunctionType = (context: ResumeContext) => void;
4309
+ /**
4310
+ * Register before suspendOrTerminate handler function type
4311
+ *
4312
+ * @returns void
4313
+ */
4314
+ type registerBeforeSuspendOrTerminateHandlerFunctionType = () => void;
4315
+ /**
4316
+ * Registers a handler to be called before the page is suspended or terminated. Once a user navigates away from an app,
4317
+ * the handler will be invoked. App developers can use this handler to save unsaved data, pause sync calls etc.
4318
+ *
4319
+ * @param handler - The handler to invoke before the page is suspended or terminated. When invoked, app can perform tasks like cleanups, logging etc.
4320
+ * Upon returning, the app will be suspended or terminated.
4321
+ *
4322
+ */
4323
+ export function registerBeforeSuspendOrTerminateHandler(handler: registerBeforeSuspendOrTerminateHandlerFunctionType): void;
4324
+ /**
4325
+ * Registers a handler to be called when the page has been requested to resume from being suspended.
4326
+ *
4327
+ * @param handler - The handler to invoke when the page is requested to be resumed. The app is supposed to navigate to
4328
+ * the appropriate page using the ResumeContext. Once done, the app should then call {@link notifySuccess}.
4329
+ *
4330
+ * @beta
4331
+ */
4332
+ export function registerOnResumeHandler(handler: registerOnResumeHandlerFunctionType): void;
4333
+ /**
4334
+ * Checks if app.lifecycle is supported by the host.
4335
+ * @returns boolean to represent whether the lifecycle capability is supported
4336
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
4337
+ *
4338
+ * @beta
4339
+ */
4340
+ export function isSupported(): boolean;
4341
+ export {};
4342
+ }
4288
4343
  export {};
4289
4344
  }
4290
4345
 
@@ -6104,6 +6159,8 @@ export namespace location {
6104
6159
  * Interact with meetings, including retrieving meeting details, getting mic status, and sharing app content.
6105
6160
  * This namespace is used to handle meeting related functionality like
6106
6161
  * get meeting details, get/update state of mic, sharing app content and more.
6162
+ *
6163
+ * To learn more, visit https://aka.ms/teamsmeetingapps
6107
6164
  */
6108
6165
  export namespace meeting {
6109
6166
  /** Error callback function type */
@@ -6222,10 +6279,15 @@ export namespace meeting {
6222
6279
  */
6223
6280
  tenantId?: string;
6224
6281
  }
6225
- /** Represents the current live streaming state of a meeting */
6282
+ /**
6283
+ * Represents the current Real-Time Messaging Protocol (RTMP) live streaming state of a meeting.
6284
+ *
6285
+ * @remarks
6286
+ * RTMP is a popular communication protocol for streaming audio, video, and data over the Internet.
6287
+ */
6226
6288
  export interface LiveStreamState {
6227
6289
  /**
6228
- * indicates whether meeting is streaming
6290
+ * true when the current meeting is being streamed through RTMP, or false if it is not.
6229
6291
  */
6230
6292
  isStreaming: boolean;
6231
6293
  /**
@@ -6241,7 +6303,8 @@ export namespace meeting {
6241
6303
  /** Represents app permission to share contents to meeting. */
6242
6304
  export interface IAppContentStageSharingCapabilities {
6243
6305
  /**
6244
- * indicates whether app has permission to share contents to meeting stage
6306
+ * indicates whether app has permission to share contents to meeting stage.
6307
+ * true when your `configurableTabs` or `staticTabs` entry's `context` array includes `meetingStage`.
6245
6308
  */
6246
6309
  doesAppHaveSharePermission: boolean;
6247
6310
  }
@@ -6258,8 +6321,7 @@ export namespace meeting {
6258
6321
  */
6259
6322
  export interface ISpeakingState {
6260
6323
  /**
6261
- * Indicates whether one or more participants in a meeting are speaking, or
6262
- * if no participants are speaking
6324
+ * true when one or more participants in a meeting are speaking, or false if no participants are speaking
6263
6325
  */
6264
6326
  isSpeakingDetected: boolean;
6265
6327
  /**
@@ -6399,54 +6461,123 @@ export namespace meeting {
6399
6461
  surprised = "surprised",
6400
6462
  applause = "applause"
6401
6463
  }
6402
- /** Represents the type of a meeting */
6464
+ /**
6465
+ * Represents the type of a meeting
6466
+ *
6467
+ * @hidden
6468
+ * Hide from docs.
6469
+ *
6470
+ * @remarks
6471
+ * Teams has several types of meetings to account for different user scenarios and requirements.
6472
+ */
6403
6473
  export enum MeetingType {
6404
- /** Used when the meeting type is not known. */
6474
+ /**
6475
+ * Used when the meeting type is not known.
6476
+ *
6477
+ * @remarks
6478
+ * This response is not an expected case.
6479
+ */
6405
6480
  Unknown = "Unknown",
6406
- /** Used for ad hoc meetings that are created on the fly. */
6481
+ /**
6482
+ * Used for group call meeting types.
6483
+ *
6484
+ * @remarks
6485
+ * To test this meeting type in Teams, start a chat with two or more users and click the "Call" button.
6486
+ * Note that a group call may return as this or {@link CallType.GroupCall}. These two different response types should be considered as equal.
6487
+ */
6407
6488
  Adhoc = "Adhoc",
6408
- /** Used for meetings that have been scheduled in advance. */
6489
+ /**
6490
+ * Used for single-occurrence meetings that have been scheduled in advance.
6491
+ *
6492
+ * @remarks
6493
+ * To create a meeting of this type in Teams, press the "New meeting" button from the calendar and enter a meeting title.
6494
+ * Before saving, ensure that the "Online Meeting" field is checked.
6495
+ */
6409
6496
  Scheduled = "Scheduled",
6410
- /** Used for meetings that occur on a recurring basis. */
6497
+ /**
6498
+ * Used for meetings that occur on a recurring basis.
6499
+ *
6500
+ * @remarks
6501
+ * To create a meeting of this type in Teams, press the "New meeting" button from the calendar, enter a meeting title, and then change the field labeled "Does not repeat" to some other value.
6502
+ * Before saving, ensure that the "Online Meeting" field is checked.
6503
+ */
6411
6504
  Recurring = "Recurring",
6412
- /** Used for live events or webinars. */
6505
+ /**
6506
+ * Used for webinars.
6507
+ *
6508
+ * @remarks
6509
+ * Meeting apps are only supported for those in the "event group" of a webinar, which are those who'll be presenting and producing the webinar.
6510
+ * To learn how to create a meeting of this type, visit https://aka.ms/teams/howto/webinars.
6511
+ */
6413
6512
  Broadcast = "Broadcast",
6414
- /** Used for meetings that are created on the fly, but with a more polished experience than ad hoc meetings. */
6513
+ /**
6514
+ * Used for meet now meetings, which are meetings users create on the fly.
6515
+ *
6516
+ * @remarks
6517
+ * To create a meeting of this type, click the "Meet now" button from the calendar in Teams or the "Teams call" button in Outlook.
6518
+ */
6415
6519
  MeetNow = "MeetNow"
6416
6520
  }
6417
- /** Represents the type of a call. */
6521
+ /**
6522
+ * Represents the type of a call.
6523
+ *
6524
+ * @hidden
6525
+ * Hide from docs.
6526
+ */
6418
6527
  export enum CallType {
6419
- /** Represents a call between two people. */
6528
+ /**
6529
+ * Represents a call between two people.
6530
+ *
6531
+ * @remarks
6532
+ * To test this feature, start a chat with one other user and click the "Call" button.
6533
+ */
6420
6534
  OneOnOneCall = "oneOnOneCall",
6421
- /** Represents a call between more than two people. */
6535
+ /**
6536
+ * Represents a call between more than two people.
6537
+ *
6538
+ * @remarks
6539
+ * To test this meeting type in Teams, start a chat with two or more users and click the "Call" button.
6540
+ * Note that a group call may return as this or {@link MeetingType.Adhoc}. These two different response types should be considered as equal.
6541
+ */
6422
6542
  GroupCall = "groupCall"
6423
6543
  }
6424
6544
  /**
6425
- * Allows an app to get the incoming audio speaker setting for the meeting user
6545
+ * Allows an app to get the incoming audio speaker setting for the meeting user.
6546
+ * To learn more, visit https://aka.ms/teamsjs/getIncomingClientAudioState
6426
6547
  *
6427
- * @param callback - Callback contains 2 parameters, error and result.
6548
+ * @remarks
6549
+ * Use {@link toggleIncomingClientAudio} to toggle the current audio state.
6550
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingParticipant.ToggleIncomingAudio.Chat` RSC permission in your app manifest.
6551
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6552
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
6428
6553
  *
6429
- * error can either contain an error of type SdkError, incase of an error, or null when fetch is successful
6430
- * result can either contain the true/false value, incase of a successful fetch or null when the fetching fails
6431
- * result: True means incoming audio is muted and false means incoming audio is unmuted
6554
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
6555
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when fetch is successful.
6556
+ * `result` will be true when incoming audio is muted and false when incoming audio is unmuted, or null when the request fails.
6432
6557
  */
6433
6558
  export function getIncomingClientAudioState(callback: errorCallbackFunctionType): void;
6434
6559
  /**
6435
- * Allows an app to toggle the incoming audio speaker setting for the meeting user from mute to unmute or vice-versa
6560
+ * Allows an app to toggle the incoming audio speaker setting for the meeting user from mute to unmute or vice-versa.
6561
+ * To learn more, visit https://aka.ms/teamsjs/toggleIncomingClientAudio
6436
6562
  *
6437
- * @param callback - Callback contains 2 parameters, error and result.
6438
- * error can either contain an error of type SdkError, incase of an error, or null when toggle is successful
6439
- * result can either contain the true/false value, incase of a successful toggle or null when the toggling fails
6440
- * result: True means incoming audio is muted and false means incoming audio is unmuted
6563
+ * @remarks
6564
+ * Use {@link getIncomingClientAudioState} to get the current audio state.
6565
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingParticipant.ToggleIncomingAudio.Chat` RSC permission in your app manifest.
6566
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6567
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
6568
+ *
6569
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
6570
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when toggle is successful.
6571
+ * `result` will be true when incoming audio is muted and false when incoming audio is unmuted, or null when the toggling fails.
6441
6572
  */
6442
6573
  export function toggleIncomingClientAudio(callback: errorCallbackFunctionType): void;
6443
6574
  /**
6444
6575
  * @hidden
6445
6576
  * Allows an app to get the meeting details for the meeting
6446
6577
  *
6447
- * @param callback - Callback contains 2 parameters, error and meetingDetailsResponse.
6448
- * error can either contain an error of type SdkError, incase of an error, or null when get is successful
6449
- * result can either contain a IMeetingDetailsResponse value, in case of a successful get or null when the get fails
6578
+ * @param callback - Callback contains 2 parameters, `error` and `meetingDetailsResponse`.
6579
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when get is successful
6580
+ * `result` can either contain a {@link IMeetingDetailsResponse} value, in case of a successful get or null when the get fails
6450
6581
  *
6451
6582
  * @internal
6452
6583
  * Limited to Microsoft-internal use
@@ -6456,67 +6587,105 @@ export namespace meeting {
6456
6587
  * @hidden
6457
6588
  * Allows an app to get the authentication token for the anonymous or guest user in the meeting
6458
6589
  *
6459
- * @param callback - Callback contains 2 parameters, error and authenticationTokenOfAnonymousUser.
6460
- * error can either contain an error of type SdkError, incase of an error, or null when get is successful
6461
- * authenticationTokenOfAnonymousUser can either contain a string value, incase of a successful get or null when the get fails
6590
+ * @param callback - Callback contains 2 parameters, `error` and `authenticationTokenOfAnonymousUser`.
6591
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when get is successful
6592
+ * `authenticationTokenOfAnonymousUser` can either contain a string value, in case of a successful get or null when the get fails
6462
6593
  *
6463
6594
  * @internal
6464
6595
  * Limited to Microsoft-internal use
6465
6596
  */
6466
6597
  export function getAuthenticationTokenForAnonymousUser(callback: (error: SdkError | null, authenticationTokenOfAnonymousUser: string | null) => void): void;
6467
6598
  /**
6468
- * Allows an app to get the state of the live stream in the current meeting
6599
+ * Allows an app to get the state of the outgoing live stream in the current meeting.
6600
+ *
6601
+ * @remarks
6602
+ * Use {@link requestStartLiveStreaming} or {@link requestStopLiveStreaming} to start/stop a live stream.
6603
+ * This API can only be used in the `sidePanel` frame context.
6604
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
6605
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
6469
6606
  *
6470
- * @param callback - Callback contains 2 parameters: error and liveStreamState.
6471
- * error can either contain an error of type SdkError, in case of an error, or null when get is successful
6472
- * liveStreamState can either contain a LiveStreamState value, or null when operation fails
6607
+ * @param callback - Callback contains 2 parameters: `error` and `liveStreamState`.
6608
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when the request is successful
6609
+ * `liveStreamState` can either contain a `LiveStreamState` value, or null when operation fails
6473
6610
  */
6474
6611
  export function getLiveStreamState(callback: getLiveStreamStateCallbackFunctionType): void;
6475
6612
  /**
6476
- * Allows an app to request the live streaming be started at the given streaming url
6613
+ * Allows an app to ask the local user to begin live streaming the current meeting to the given Real-Time Messaging Protocol (RTMP) stream url.
6614
+ * A confirmation dialog will be shown to the local user with options to "Allow" or "Cancel" this request.
6477
6615
  *
6478
6616
  * @remarks
6479
- * Use getLiveStreamState or registerLiveStreamChangedHandler to get updates on the live stream state
6617
+ * Meeting content (e.g., user video, screenshare, audio, etc.) can be externally streamed to any platform that supports the popular RTMP standard.
6618
+ * Content broadcasted through RTMP is automatically formatted and cannot be customized.
6619
+ * Use {@link getLiveStreamState} or {@link registerLiveStreamChangedHandler} to get updates on the live stream state.
6620
+ * This API can only be used in the `sidePanel` frame context.
6621
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
6622
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
6480
6623
  *
6481
- * @param streamUrl - the url to the stream resource
6482
- * @param streamKey - the key to the stream resource
6483
- * @param callback - Callback contains error parameter which can be of type SdkError in case of an error, or null when operation is successful
6624
+ * @param callback - completion callback that contains an `error` parameter, which can be of type `SdkError` in case of an error, or null when operation is successful
6625
+ * @param streamUrl - the url to the RTMP stream resource
6626
+ * @param streamKey - the key to the RTMP stream resource
6484
6627
  */
6485
6628
  export function requestStartLiveStreaming(callback: liveStreamErrorCallbackFunctionType, streamUrl: string, streamKey?: string): void;
6486
6629
  /**
6487
- * Allows an app to request the live streaming be stopped at the given streaming url
6630
+ * Allows an app to request that live streaming be stopped.
6488
6631
  *
6489
6632
  * @remarks
6490
- * Use getLiveStreamState or registerLiveStreamChangedHandler to get updates on the live stream state
6633
+ * Use {@link getLiveStreamState} or {@link registerLiveStreamChangedHandler} to get updates on the live stream state.
6634
+ * This API can only be used in the `sidePanel` frame context.
6635
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
6636
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
6491
6637
  *
6492
- * @param callback - Callback contains error parameter which can be of type SdkError in case of an error, or null when operation is successful
6638
+ * @param callback - completion callback that contains an error parameter, which can be of type `SdkError` in case of an error, or null when operation is successful
6493
6639
  */
6494
6640
  export function requestStopLiveStreaming(callback: liveStreamErrorCallbackFunctionType): void;
6495
6641
  /**
6496
- * Registers a handler for changes to the live stream.
6642
+ * Registers an event handler for state changes to the live stream.
6497
6643
  *
6498
6644
  * @remarks
6499
6645
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
6646
+ * Use {@link requestStartLiveStreaming} or {@link requestStopLiveStreaming} to start/stop a live stream.
6647
+ * This API can only be used in the `sidePanel` frame context.
6648
+ * The `meetingExtensionDefinition.supportsStreaming` field in your app manifest must be `true` to use this API.
6649
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/meetingExtensionDefinition.
6500
6650
  *
6501
6651
  * @param handler - The handler to invoke when the live stream state changes
6502
6652
  */
6503
6653
  export function registerLiveStreamChangedHandler(handler: registerLiveStreamChangedHandlerFunctionType): void;
6504
6654
  /**
6505
- * Allows an app to share contents in the meeting
6655
+ * Allows an app to share a given URL to the meeting stage for all users in the meeting.
6656
+ * To learn more, visit https://aka.ms/teamsjs/shareAppContentToStage
6506
6657
  *
6507
- * @param callback - Callback contains 2 parameters, error and result.
6508
- * error can either contain an error of type SdkError, incase of an error, or null when share is successful
6509
- * result can either contain a true value, incase of a successful share or null when the share fails
6510
- * @param appContentUrl - is the input URL which needs to be shared on to the stage
6658
+ * @remarks
6659
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
6660
+ * For private scheduled meetings, meet now, or calls, include the `MeetingStage.Write.Chat` RSC permission in your app manifest.
6661
+ * For channel meetings, include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest.
6662
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6663
+ * Use {@link getAppContentStageSharingCapabilities} to determine if the local user is eligible to use this API.
6664
+ * Use {@link getAppContentStageSharingState} to determine whether app content is already being shared to the meeting stage.
6665
+ *
6666
+ * @param callback - Callback contains 2 parameters, `error` and `result`.
6667
+ * `error` can either contain an error of type `SdkError`, in case of an error, or null when share is successful
6668
+ * `result` can either contain a true value, in case of a successful share or null when the share fails
6669
+ * @param appContentUrl - is the input URL to be shared to the meeting stage.
6670
+ * the URL origin must be included in your app manifest's `validDomains` field.
6511
6671
  */
6512
6672
  export function shareAppContentToStage(callback: errorCallbackFunctionType, appContentUrl: string): void;
6513
6673
  /**
6514
- * Provides information related app's in-meeting sharing capabilities
6674
+ * Allows an app to request whether the local user's app version has the required app manifest permissions to share content to meeting stage.
6675
+ * To learn more, visit https://aka.ms/teamsjs/getAppContentStageSharingCapabilities
6515
6676
  *
6516
- * @param callback - Callback contains 2 parameters, error and result.
6517
- * error can either contain an error of type SdkError (error indication), or null (non-error indication)
6518
- * appContentStageSharingCapabilities can either contain an IAppContentStageSharingCapabilities object
6519
- * (indication of successful retrieval), or null (indication of failed retrieval)
6677
+ * @remarks
6678
+ * If you are updating your published app to include the share to stage feature, you can use this API to prompt users to update their app if they are using an older version.
6679
+ * Your app's `configurableTabs` or `staticTabs` entry's `context` array must include `meetingStage` for `doesAppHaveSharePermission` to be `true` in the `callback` response.
6680
+ *
6681
+ * @throws error if API is being used outside of `sidePanel` or `meetingStage` frame contexts.
6682
+ * @throws error if your app manifest does not include the `MeetingStage.Write.Chat` RSC permission in your app manifest in a private scheduled meeting, meet now, or call --
6683
+ * or if it does not include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest in a channel meeting.
6684
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6685
+ *
6686
+ * @param callback - Completion callback contains 2 parameters: `error` and `appContentStageSharingCapabilities`.
6687
+ * `error` can either contain an error of type `SdkError` (error indication), or null (non-error indication).
6688
+ * `appContentStageSharingCapabilities` will contain an {@link IAppContentStageSharingCapabilities} object if the request succeeds, or null if it failed.
6520
6689
  */
6521
6690
  export function getAppContentStageSharingCapabilities(callback: getAppContentCallbackFunctionType): void;
6522
6691
  /**
@@ -6530,18 +6699,32 @@ export namespace meeting {
6530
6699
  */
6531
6700
  export function stopSharingAppContentToStage(callback: errorCallbackFunctionType): void;
6532
6701
  /**
6533
- * Provides information related to current stage sharing state for app
6702
+ * Provides information related to current stage sharing state for your app.
6703
+ * To learn more, visit https://aka.ms/teamsjs/getAppContentStageSharingState
6534
6704
  *
6535
- * @param callback - Callback contains 2 parameters, error and result.
6705
+ * @remarks
6706
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
6707
+ * For private scheduled meetings, meet now, or calls, include the `MeetingStage.Write.Chat` RSC permission in your app manifest.
6708
+ * For channel meetings, include the `ChannelMeetingStage.Write.Group` RSC permission in your app manifest.
6709
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6710
+ *
6711
+ * @param callback - Callback contains 2 parameters, `error` and `appContentStageSharingState`.
6536
6712
  * error can either contain an error of type SdkError (error indication), or null (non-error indication)
6537
- * appContentStageSharingState can either contain an IAppContentStageSharingState object
6538
- * (indication of successful retrieval), or null (indication of failed retrieval)
6713
+ * `appContentStageSharingState` can either contain an `IAppContentStageSharingState` object if the request succeeds, or null if it failed
6539
6714
  */
6540
6715
  export function getAppContentStageSharingState(callback: getAppContentStageCallbackFunctionType): void;
6541
6716
  /**
6542
- * Registers a handler for changes to paticipant speaking states. This API returns {@link ISpeakingState}, which will have isSpeakingDetected
6543
- * and/or an error object. If any participant is speaking, isSpeakingDetected will be true. If no participants are speaking, isSpeakingDetected
6544
- * will be false. Default value is false. Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
6717
+ * Registers a handler for changes to participant speaking states.
6718
+ * To learn more, visit https://aka.ms/teamsjs/registerSpeakingStateChangeHandler
6719
+ *
6720
+ * @remarks
6721
+ * This API returns {@link ISpeakingState}, which will have `isSpeakingDetected` and/or an error object.
6722
+ * If any participant is speaking, `isSpeakingDetected` will be true, or false if no participants are speaking.
6723
+ * Only one handler can be registered at a time. Subsequent registrations replace existing registrations.
6724
+ * This API can only be used in the `sidePanel` and `meetingStage` frame contexts.
6725
+ * For private scheduled meetings, meet now, or calls, include the `OnlineMeetingIncomingAudio.Detect.Chat` RSC permission in your app manifest.
6726
+ * For channel meetings, include the `OnlineMeetingIncomingAudio.Detect.Group` RSC permission in your app manifest.
6727
+ * Find the app manifest reference at https://aka.ms/teamsAppManifest/authorization.
6545
6728
  *
6546
6729
  * @param handler The handler to invoke when the speaking state of any participant changes (start/stop speaking).
6547
6730
  */
@@ -6581,12 +6764,24 @@ export namespace meeting {
6581
6764
  /**
6582
6765
  * Nested namespace for functions to control behavior of the app share button
6583
6766
  *
6767
+ * @hidden
6768
+ * Hide from docs.
6769
+ *
6770
+ * @internal
6771
+ * Limited to Microsoft-internal use
6772
+ *
6584
6773
  * @beta
6585
6774
  */
6586
6775
  export namespace appShareButton {
6587
6776
  /**
6588
6777
  * Property bag for the setVisibilityInfo
6589
6778
  *
6779
+ * @hidden
6780
+ * Hide from docs.
6781
+ *
6782
+ * @internal
6783
+ * Limited to Microsoft-internal use
6784
+ *
6590
6785
  * @beta
6591
6786
  */
6592
6787
  interface ShareInformation {
@@ -6607,6 +6802,13 @@ export namespace meeting {
6607
6802
  * @throws standard Invalid Url error
6608
6803
  * @param shareInformation has two elements, one isVisible boolean flag and another
6609
6804
  * optional string contentUrl, which will override contentUrl coming from Manifest
6805
+ *
6806
+ * @hidden
6807
+ * Hide from docs.
6808
+ *
6809
+ * @internal
6810
+ * Limited to Microsoft-internal use
6811
+ *
6610
6812
  * @beta
6611
6813
  */
6612
6814
  function setOptions(shareInformation: ShareInformation): void;
@@ -6877,6 +7079,9 @@ export namespace teamsCore {
6877
7079
  *
6878
7080
  * @param handler - The handler to invoke when the page is loaded.
6879
7081
  *
7082
+ * @deprecated
7083
+ * As of 2.14.1, please use {@link app.lifecycle.registerOnResumeHandler} instead.
7084
+ *
6880
7085
  * @beta
6881
7086
  */
6882
7087
  export function registerOnLoadHandler(handler: registerOnLoadHandlerFunctionType): void;
@@ -6889,6 +7094,8 @@ export namespace teamsCore {
6889
7094
  *
6890
7095
  * @param handler - The handler to invoke when the page is loaded.
6891
7096
  * @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
7097
+ *
7098
+ * @deprecated
6892
7099
  */
6893
7100
  export function registerOnLoadHandlerHelper(handler: registerOnLoadHandlerFunctionType, versionSpecificHelper?: () => void): void;
6894
7101
  /**
@@ -6900,6 +7107,7 @@ export namespace teamsCore {
6900
7107
  * @param handler - The handler to invoke before the page is unloaded. If this handler returns true the page should
6901
7108
  * invoke the readyToUnload function provided to it once it's ready to be unloaded.
6902
7109
  *
7110
+ * @deprecated
6903
7111
  * @beta
6904
7112
  */
6905
7113
  export function registerBeforeUnloadHandler(handler: registerBeforeUnloadHandlerFunctionType): void;
@@ -6913,6 +7121,8 @@ export namespace teamsCore {
6913
7121
  * @param handler - - The handler to invoke before the page is unloaded. If this handler returns true the page should
6914
7122
  * invoke the readyToUnload function provided to it once it's ready to be unloaded.
6915
7123
  * @param versionSpecificHelper - The helper function containing logic pertaining to a specific version of the API.
7124
+ *
7125
+ * @deprecated
6916
7126
  */
6917
7127
  export function registerBeforeUnloadHandlerHelper(handler: registerBeforeUnloadHandlerFunctionType, versionSpecificHelper?: () => void): void;
6918
7128
  /**
@@ -7134,7 +7344,7 @@ export interface ShowProfileRequestInternal {
7134
7344
  * Namespace to video extensibility of the SDK
7135
7345
  * @beta
7136
7346
  */
7137
- export namespace video {
7347
+ export namespace videoEffects {
7138
7348
  /** Notify video frame processed function type */
7139
7349
  type notifyVideoFrameProcessedFunctionType = () => void;
7140
7350
  /** Notify error function type */
@@ -7289,7 +7499,7 @@ export namespace video {
7289
7499
  *
7290
7500
  * @example
7291
7501
  * ```typescript
7292
- * video.registerForVideoFrame({
7502
+ * videoEffects.registerForVideoFrame({
7293
7503
  * videoFrameHandler: async (videoFrameData) => {
7294
7504
  * const originalFrame = videoFrameData.videoFrame as VideoFrame;
7295
7505
  * try {
@@ -7312,7 +7522,7 @@ export namespace video {
7312
7522
  * }
7313
7523
  * },
7314
7524
  * config: {
7315
- * format: video.VideoPixelFormat.NV12,
7525
+ * format: videoEffects.VideoPixelFormat.NV12,
7316
7526
  * }
7317
7527
  * });
7318
7528
  * ```
@@ -8682,7 +8892,7 @@ export namespace marketplace {
8682
8892
  * @hidden
8683
8893
  * Create a MediaStreamTrack from the media stream with the given streamId and processed by videoFrameHandler.
8684
8894
  */
8685
- export function processMediaStream(streamId: string, videoFrameHandler: video.VideoFrameHandler, notifyError: (string: any) => void, videoPerformanceMonitor?: VideoPerformanceMonitor): Promise<void>;
8895
+ export function processMediaStream(streamId: string, videoFrameHandler: videoEffects.VideoFrameHandler, notifyError: (string: any) => void, videoPerformanceMonitor?: VideoPerformanceMonitor): Promise<void>;
8686
8896
  /**
8687
8897
  * @hidden
8688
8898
  * Create a MediaStreamTrack from the media stream with the given streamId and processed by videoFrameHandler.
@@ -8691,7 +8901,7 @@ export function processMediaStream(streamId: string, videoFrameHandler: video.Vi
8691
8901
  * @internal
8692
8902
  * Limited to Microsoft-internal use
8693
8903
  */
8694
- export function processMediaStreamWithMetadata(streamId: string, videoFrameHandler: videoEx.VideoFrameHandler, notifyError: (string: any) => void, videoPerformanceMonitor?: VideoPerformanceMonitor): Promise<void>;
8904
+ export function processMediaStreamWithMetadata(streamId: string, videoFrameHandler: videoEffectsEx.VideoFrameHandler, notifyError: (string: any) => void, videoPerformanceMonitor?: VideoPerformanceMonitor): Promise<void>;
8695
8905
  /**
8696
8906
  * @hidden
8697
8907
  * Video effect change call back function definition