@microsoft/teams-js 2.30.0-beta.0 → 2.31.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/README.md +4 -4
  2. package/dist/esm/_virtual/__polyfill-node.os.js +1 -0
  3. package/dist/esm/_virtual/_polyfill-node.os.js +1 -0
  4. package/dist/esm/node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/node.js +1 -1
  5. package/dist/esm/node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js +1 -0
  6. package/dist/esm/node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js +1 -0
  7. package/dist/esm/packages/teams-js/dts/index.d.ts +2 -0
  8. package/dist/esm/packages/teams-js/dts/internal/VideoFrameTypes.d.ts +78 -0
  9. package/dist/esm/packages/teams-js/dts/internal/appHelpers.d.ts +8 -0
  10. package/dist/esm/packages/teams-js/dts/internal/appIdValidation.d.ts +16 -0
  11. package/dist/esm/packages/teams-js/dts/internal/communication.d.ts +162 -0
  12. package/dist/esm/packages/teams-js/dts/internal/constants.d.ts +146 -0
  13. package/dist/esm/packages/teams-js/dts/internal/deepLinkConstants.d.ts +26 -0
  14. package/dist/esm/packages/teams-js/dts/internal/deepLinkUtilities.d.ts +4 -0
  15. package/dist/esm/packages/teams-js/dts/internal/emailAddressValidation.d.ts +1 -0
  16. package/dist/esm/packages/teams-js/dts/internal/globalVars.d.ts +12 -0
  17. package/dist/esm/packages/teams-js/dts/internal/handlers.d.ts +80 -0
  18. package/dist/esm/packages/teams-js/dts/internal/interfaces.d.ts +47 -0
  19. package/dist/esm/packages/teams-js/dts/internal/internalAPIs.d.ts +61 -0
  20. package/dist/esm/packages/teams-js/dts/internal/marketplaceUtils.d.ts +94 -0
  21. package/dist/esm/packages/teams-js/dts/internal/mediaUtil.d.ts +95 -0
  22. package/dist/esm/packages/teams-js/dts/internal/messageObjects.d.ts +73 -0
  23. package/dist/esm/packages/teams-js/dts/internal/nestedAppAuthUtils.d.ts +105 -0
  24. package/dist/esm/packages/teams-js/dts/internal/profileUtil.d.ts +11 -0
  25. package/dist/esm/packages/teams-js/dts/internal/responseHandler.d.ts +30 -0
  26. package/dist/esm/packages/teams-js/dts/internal/telemetry.d.ts +344 -0
  27. package/dist/esm/packages/teams-js/dts/internal/typeCheckUtilities.d.ts +1 -0
  28. package/dist/esm/packages/teams-js/dts/internal/utils.d.ts +200 -0
  29. package/dist/esm/packages/teams-js/dts/internal/uuidObject.d.ts +11 -0
  30. package/dist/esm/packages/teams-js/dts/internal/validOrigins.d.ts +6 -0
  31. package/dist/esm/packages/teams-js/dts/internal/videoEffectsUtils.d.ts +31 -0
  32. package/dist/esm/packages/teams-js/dts/internal/videoFrameTick.d.ts +10 -0
  33. package/dist/esm/packages/teams-js/dts/internal/videoPerformanceMonitor.d.ts +54 -0
  34. package/dist/esm/packages/teams-js/dts/internal/videoPerformanceStatistics.d.ts +49 -0
  35. package/dist/esm/packages/teams-js/dts/private/appEntity.d.ts +89 -0
  36. package/dist/esm/packages/teams-js/dts/private/constants.d.ts +9 -0
  37. package/dist/esm/packages/teams-js/dts/private/conversations.d.ts +152 -0
  38. package/dist/esm/packages/teams-js/dts/private/copilot.d.ts +39 -0
  39. package/dist/esm/packages/teams-js/dts/private/externalAppAuthentication.d.ts +378 -0
  40. package/dist/esm/packages/teams-js/dts/private/externalAppAuthenticationForCEA.d.ts +75 -0
  41. package/dist/esm/packages/teams-js/dts/private/externalAppCardActions.d.ts +112 -0
  42. package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForCEA.d.ts +49 -0
  43. package/dist/esm/packages/teams-js/dts/private/externalAppCommands.d.ts +123 -0
  44. package/dist/esm/packages/teams-js/dts/private/files.d.ts +758 -0
  45. package/dist/esm/packages/teams-js/dts/private/hostEntity.d.ts +176 -0
  46. package/dist/esm/packages/teams-js/dts/private/index.d.ts +20 -0
  47. package/dist/esm/packages/teams-js/dts/private/interfaces.d.ts +250 -0
  48. package/dist/esm/packages/teams-js/dts/private/logs.d.ts +25 -0
  49. package/dist/esm/packages/teams-js/dts/private/meetingRoom.d.ts +203 -0
  50. package/dist/esm/packages/teams-js/dts/private/messageChannels.d.ts +107 -0
  51. package/dist/esm/packages/teams-js/dts/private/notifications.d.ts +26 -0
  52. package/dist/esm/packages/teams-js/dts/private/otherAppStateChange.d.ts +81 -0
  53. package/dist/esm/packages/teams-js/dts/private/privateAPIs.d.ts +60 -0
  54. package/dist/esm/packages/teams-js/dts/private/remoteCamera.d.ts +298 -0
  55. package/dist/esm/packages/teams-js/dts/private/teams.d.ts +116 -0
  56. package/dist/esm/packages/teams-js/dts/private/videoEffectsEx.d.ts +244 -0
  57. package/dist/esm/packages/teams-js/dts/public/adaptiveCards.d.ts +6 -0
  58. package/dist/esm/packages/teams-js/dts/public/app.d.ts +592 -0
  59. package/dist/esm/packages/teams-js/dts/public/appId.d.ts +33 -0
  60. package/dist/esm/packages/teams-js/dts/public/appInitialization.d.ts +57 -0
  61. package/dist/esm/packages/teams-js/dts/public/appInstallDialog.d.ts +18 -0
  62. package/dist/esm/packages/teams-js/dts/public/appWindow.d.ts +66 -0
  63. package/dist/esm/packages/teams-js/dts/public/authentication.d.ts +409 -0
  64. package/dist/esm/packages/teams-js/dts/public/barCode.d.ts +53 -0
  65. package/dist/esm/packages/teams-js/dts/public/calendar.d.ts +40 -0
  66. package/dist/esm/packages/teams-js/dts/public/call.d.ts +53 -0
  67. package/dist/esm/packages/teams-js/dts/public/chat.d.ts +66 -0
  68. package/dist/esm/packages/teams-js/dts/public/clipboard.d.ts +34 -0
  69. package/dist/esm/packages/teams-js/dts/public/constants.d.ts +179 -0
  70. package/dist/esm/packages/teams-js/dts/public/dialog.d.ts +286 -0
  71. package/dist/esm/packages/teams-js/dts/public/emailAddress.d.ts +12 -0
  72. package/dist/esm/packages/teams-js/dts/public/geoLocation.d.ts +100 -0
  73. package/dist/esm/packages/teams-js/dts/public/index.d.ts +44 -0
  74. package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +1133 -0
  75. package/dist/esm/packages/teams-js/dts/public/liveShareHost.d.ts +221 -0
  76. package/dist/esm/packages/teams-js/dts/public/location.d.ts +86 -0
  77. package/dist/esm/packages/teams-js/dts/public/mail.d.ts +95 -0
  78. package/dist/esm/packages/teams-js/dts/public/marketplace.d.ts +321 -0
  79. package/dist/esm/packages/teams-js/dts/public/media.d.ts +440 -0
  80. package/dist/esm/packages/teams-js/dts/public/meeting.d.ts +906 -0
  81. package/dist/esm/packages/teams-js/dts/public/menus.d.ts +188 -0
  82. package/dist/esm/packages/teams-js/dts/public/monetization.d.ts +58 -0
  83. package/dist/esm/packages/teams-js/dts/public/navigation.d.ts +45 -0
  84. package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +15 -0
  85. package/dist/esm/packages/teams-js/dts/public/pages.d.ts +574 -0
  86. package/dist/esm/packages/teams-js/dts/public/people.d.ts +75 -0
  87. package/dist/esm/packages/teams-js/dts/public/profile.d.ts +127 -0
  88. package/dist/esm/packages/teams-js/dts/public/publicAPIs.d.ts +218 -0
  89. package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +207 -0
  90. package/dist/esm/packages/teams-js/dts/public/search.d.ts +91 -0
  91. package/dist/esm/packages/teams-js/dts/public/secondaryBrowser.d.ts +32 -0
  92. package/dist/esm/packages/teams-js/dts/public/serializable.interface.d.ts +17 -0
  93. package/dist/esm/packages/teams-js/dts/public/settings.d.ts +101 -0
  94. package/dist/esm/packages/teams-js/dts/public/sharing.d.ts +124 -0
  95. package/dist/esm/packages/teams-js/dts/public/stageView.d.ts +104 -0
  96. package/dist/esm/packages/teams-js/dts/public/tasks.d.ts +62 -0
  97. package/dist/esm/packages/teams-js/dts/public/teamsAPIs.d.ts +77 -0
  98. package/dist/esm/packages/teams-js/dts/public/thirdPartyCloudStorage.d.ts +119 -0
  99. package/dist/esm/packages/teams-js/dts/public/version.d.ts +5 -0
  100. package/dist/esm/packages/teams-js/dts/public/videoEffects.d.ts +213 -0
  101. package/dist/esm/packages/teams-js/dts/public/visualMedia.d.ts +192 -0
  102. package/dist/esm/packages/teams-js/dts/public/webStorage.d.ts +27 -0
  103. package/dist/esm/packages/teams-js/src/artifactsForCDN/validDomains.json.js +1 -1
  104. package/dist/esm/packages/teams-js/src/index.js +1 -1
  105. package/dist/esm/packages/teams-js/src/internal/appHelpers.js +1 -0
  106. package/dist/esm/packages/teams-js/src/internal/communication.js +1 -1
  107. package/dist/esm/packages/teams-js/src/internal/deepLinkUtilities.js +1 -1
  108. package/dist/esm/packages/teams-js/src/internal/responseHandler.js +1 -0
  109. package/dist/esm/packages/teams-js/src/private/externalAppAuthentication.js +1 -1
  110. package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -1
  111. package/dist/esm/packages/teams-js/src/private/hostEntity.js +1 -1
  112. package/dist/esm/packages/teams-js/src/private/videoEffectsEx.js +1 -1
  113. package/dist/esm/packages/teams-js/src/public/app.js +1 -1
  114. package/dist/esm/packages/teams-js/src/public/appId.js +1 -1
  115. package/dist/esm/packages/teams-js/src/public/appInitialization.js +1 -1
  116. package/dist/esm/packages/teams-js/src/public/appInstallDialog.js +1 -1
  117. package/dist/esm/packages/teams-js/src/public/authentication.js +1 -1
  118. package/dist/esm/packages/teams-js/src/public/barCode.js +1 -1
  119. package/dist/esm/packages/teams-js/src/public/calendar.js +1 -1
  120. package/dist/esm/packages/teams-js/src/public/call.js +1 -1
  121. package/dist/esm/packages/teams-js/src/public/clipboard.js +1 -1
  122. package/dist/esm/packages/teams-js/src/public/constants.js +1 -1
  123. package/dist/esm/packages/teams-js/src/public/pages.js +1 -1
  124. package/dist/esm/packages/teams-js/src/public/publicAPIs.js +1 -1
  125. package/dist/esm/packages/teams-js/src/public/serializable.interface.js +1 -0
  126. package/dist/esm/packages/teams-js/src/public/settings.js +1 -1
  127. package/dist/esm/packages/teams-js/src/public/tasks.js +1 -1
  128. package/dist/esm/packages/teams-js/src/public/version.js +1 -1
  129. package/dist/esm/packages/teams-js/src/public/webStorage.js +1 -1
  130. package/dist/umd/MicrosoftTeams.d.ts +10740 -10768
  131. package/dist/umd/MicrosoftTeams.js +1572 -1360
  132. package/dist/umd/MicrosoftTeams.js.map +1 -1
  133. package/dist/umd/MicrosoftTeams.min.js +1 -1
  134. package/dist/umd/MicrosoftTeams.min.js.map +1 -1
  135. package/package.json +1 -1
  136. package/dist/esm/node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/browser.js +0 -1
@@ -0,0 +1,66 @@
1
+ /** onComplete function type */
2
+ export type onCompleteFunctionType = (status: boolean, reason?: string) => void;
3
+ /** addEventListner function type */
4
+ export type addEventListnerFunctionType = (message: any) => void;
5
+ /** Represents a window or frame within the host app. */
6
+ export interface IAppWindow {
7
+ /**
8
+ * Send a message to the AppWindow.
9
+ *
10
+ * @param message - The message to send
11
+ * @param onComplete - The callback to know if the postMessage has been success/failed.
12
+ */
13
+ postMessage(message: any, onComplete?: onCompleteFunctionType): void;
14
+ /**
15
+ * Add a listener that will be called when an event is received from this AppWindow.
16
+ *
17
+ * @param type - The event to listen to. Currently the only supported type is 'message'.
18
+ * @param listener - The listener that will be called
19
+ */
20
+ addEventListener(type: string, listener: Function): void;
21
+ }
22
+ /**
23
+ * An object that application can utilize to establish communication
24
+ * with the child window it opened, which contains the corresponding task.
25
+ */
26
+ export declare class ChildAppWindow implements IAppWindow {
27
+ /**
28
+ * Send a message to the ChildAppWindow.
29
+ *
30
+ * @param message - The message to send
31
+ * @param onComplete - The callback to know if the postMessage has been success/failed.
32
+ */
33
+ postMessage(message: any, onComplete?: onCompleteFunctionType): void;
34
+ /**
35
+ * Add a listener that will be called when an event is received from the ChildAppWindow.
36
+ *
37
+ * @param type - The event to listen to. Currently the only supported type is 'message'.
38
+ * @param listener - The listener that will be called
39
+ */
40
+ addEventListener(type: string, listener: addEventListnerFunctionType): void;
41
+ }
42
+ /**
43
+ * An object that is utilized to facilitate communication with a parent window
44
+ * that initiated the opening of current window. For instance, a dialog or task
45
+ * module would utilize it to transmit messages to the application that launched it.
46
+ */
47
+ export declare class ParentAppWindow implements IAppWindow {
48
+ /** Represents a parent window or frame. */
49
+ private static _instance;
50
+ /** Get the parent window instance. */
51
+ static get Instance(): IAppWindow;
52
+ /**
53
+ * Send a message to the ParentAppWindow.
54
+ *
55
+ * @param message - The message to send
56
+ * @param onComplete - The callback to know if the postMessage has been success/failed.
57
+ */
58
+ postMessage(message: any, onComplete?: onCompleteFunctionType): void;
59
+ /**
60
+ * Add a listener that will be called when an event is received from the ParentAppWindow.
61
+ *
62
+ * @param type - The event to listen to. Currently the only supported type is 'message'.
63
+ * @param listener - The listener that will be called
64
+ */
65
+ addEventListener(type: string, listener: addEventListnerFunctionType): void;
66
+ }
@@ -0,0 +1,409 @@
1
+ /**
2
+ * @hidden
3
+ * @internal
4
+ * Limited to Microsoft-internal use; automatically called when library is initialized
5
+ */
6
+ export declare function initialize(): void;
7
+ /**
8
+ * @deprecated
9
+ * As of TeamsJS v2.0.0, this function has been deprecated in favor of a Promise-based pattern using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}
10
+ *
11
+ * Registers handlers to be called with the result of an authentication flow triggered using {@link authentication.authenticate authentication.authenticate(authenticateParameters?: AuthenticateParameters): void}
12
+ *
13
+ * @param authenticateParameters - Configuration for authentication flow pop-up result communication
14
+ */
15
+ export declare function registerAuthenticationHandlers(authenticateParameters: AuthenticateParameters): void;
16
+ /**
17
+ * Initiates an authentication flow which requires a new window.
18
+ * There are two primary uses for this function:
19
+ * 1. When your app needs to authenticate using a 3rd-party identity provider (not Microsoft Entra ID)
20
+ * 2. When your app needs to show authentication UI that is blocked from being shown in an iframe (e.g., Microsoft Entra consent prompts)
21
+ *
22
+ * For more details, see [Enable authentication using third-party OAuth provider](https://learn.microsoft.com/microsoftteams/platform/tabs/how-to/authentication/auth-flow-tab)
23
+ *
24
+ * This function is *not* needed for "standard" Microsoft Entra SSO usage. Using {@link getAuthToken} is usually sufficient in that case. For more, see
25
+ * [Enable SSO for tab apps](https://learn.microsoft.com/microsoftteams/platform/tabs/how-to/authentication/tab-sso-overview))
26
+ *
27
+ * @remarks
28
+ * The authentication flow must start and end from the same domain, otherwise success and failure messages won't be returned to the window that initiated the call.
29
+ * The [Teams authentication flow](https://learn.microsoft.com/microsoftteams/platform/tabs/how-to/authentication/auth-flow-tab) starts and ends at an endpoint on
30
+ * your own service (with a redirect round-trip to the 3rd party identity provider in the middle).
31
+ *
32
+ * @param authenticateParameters - Parameters describing the authentication window used for executing the authentication flow
33
+ *
34
+ * @returns `Promise` that will be fulfilled with the result from the authentication pop-up, if successful. The string in this result is provided in the parameter
35
+ * passed by your app when it calls {@link authentication.notifySuccess authentication.notifySuccess(result?: string): void} in the pop-up window after returning from the identity provider redirect.
36
+ *
37
+ * @throws `Error` if the authentication request fails or is canceled by the user. This error is provided in the parameter passed by your app when it calls
38
+ * {@link authentication.notifyFailure authentication.notifyFailure(result?: string): void} in the pop-up window after returning from the identity provider redirect. However, in some cases it can also be provided by
39
+ * the infrastructure depending on the failure (e.g., a user cancelation)
40
+ *
41
+ */
42
+ export declare function authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise<string>;
43
+ /**
44
+ * @deprecated
45
+ * As of TeamsJS v2.0.0, please use {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} instead.
46
+ *
47
+ * The documentation for {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} applies
48
+ * to this function.
49
+ * The one difference is that instead of the result being returned via the `Promise`, the result is returned to the callback functions provided in the
50
+ * `authenticateParameters` parameter.
51
+ *
52
+ * @param authenticateParameters - Parameters describing the authentication window used for executing the authentication flow and callbacks used for indicating the result
53
+ *
54
+ */
55
+ export declare function authenticate(authenticateParameters?: AuthenticateParameters): void;
56
+ /**
57
+ * Requests an Microsoft Entra token to be issued on behalf of your app in an SSO flow.
58
+ * The token is acquired from the cache if it is not expired. Otherwise a request is sent to Microsoft Entra to
59
+ * obtain a new token.
60
+ * This function is used to enable SSO scenarios. See [Enable SSO for tab apps](https://learn.microsoft.com/microsoftteams/platform/tabs/how-to/authentication/tab-sso-overview)
61
+ * for more details.
62
+ *
63
+ * @param authTokenRequest - An optional set of values that configure the token request.
64
+ *
65
+ * @returns `Promise` that will be resolved with the token, if successful.
66
+ *
67
+ * @throws `Error` if the request fails in some way
68
+ */
69
+ export declare function getAuthToken(authTokenRequest?: AuthTokenRequestParameters): Promise<string>;
70
+ /**
71
+ * @deprecated
72
+ * As of TeamsJS v2.0.0, please use {@link authentication.getAuthToken authentication.getAuthToken(authTokenRequest: AuthTokenRequestParameters): Promise\<string\>} instead.
73
+ *
74
+ * The documentation {@link authentication.getAuthToken authentication.getAuthToken(authTokenRequest: AuthTokenRequestParameters): Promise\<string\>} applies to this
75
+ * function as well. The one difference when using this function is that the result is provided in the callbacks in the `authTokenRequest` parameter
76
+ * instead of as a `Promise`.
77
+ *
78
+ * @param authTokenRequest - An optional set of values that configure the token request.
79
+ * It contains callbacks to call in case of success/failure
80
+ */
81
+ export declare function getAuthToken(authTokenRequest?: AuthTokenRequest): void;
82
+ /**
83
+ * @hidden
84
+ * Requests the decoded Microsoft Entra user identity on behalf of the app.
85
+ *
86
+ * @returns Promise that resolves with the {@link UserProfile}.
87
+ *
88
+ * @throws `Error` object in case of any problems, the most likely of which is that the calling app does not have appropriate permissions
89
+ * to call this method.
90
+ *
91
+ * @internal
92
+ * Limited to Microsoft-internal use
93
+ */
94
+ export declare function getUser(): Promise<UserProfile>;
95
+ /**
96
+ * @deprecated
97
+ * As of TeamsJS v2.0.0, please use {@link authentication.getUser authentication.getUser(): Promise\<UserProfile\>} instead.
98
+ *
99
+ * @hidden
100
+ * Requests the decoded Microsoft Entra user identity on behalf of the app.
101
+ *
102
+ * @param userRequest - It passes success/failure callbacks in the userRequest object(deprecated)
103
+ *
104
+ * @throws `Error` object in case of any problems, the most likely of which is that the calling app does not have appropriate permissions
105
+ * to call this method.
106
+ *
107
+ * @internal
108
+ * Limited to Microsoft-internal use
109
+ */
110
+ export declare function getUser(userRequest: UserRequest): void;
111
+ /**
112
+ * When using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}, the
113
+ * window that was opened to execute the authentication flow should call this method after authentiction to notify the caller of
114
+ * {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} that the
115
+ * authentication request was successful.
116
+ *
117
+ * @remarks
118
+ * This function is usable only from the authentication window.
119
+ * This call causes the authentication window to be closed.
120
+ *
121
+ * @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
122
+ * this value in its callback or via the `Promise` return value
123
+ */
124
+ export declare function notifySuccess(result?: string): void;
125
+ /**
126
+ * When using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}, the
127
+ * window that was opened to execute the authentication flow should call this method after authentiction to notify the caller of
128
+ * {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} that the
129
+ * authentication request failed.
130
+
131
+ *
132
+ * @remarks
133
+ * This function is usable only on the authentication window.
134
+ * This call causes the authentication window to be closed.
135
+ *
136
+ * @param result - Specifies a result for the authentication. If specified, the frame that initiated the authentication pop-up receives
137
+ * this value in its callback or via the `Promise` return value
138
+ * @param _callbackUrl - This parameter is deprecated and unused
139
+ */
140
+ export declare function notifyFailure(result?: string): void;
141
+ /**
142
+ * @deprecated
143
+ * As of TeamsJS v2.0.0, this interface has been deprecated in favor of leveraging the `Promise` returned from {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}
144
+ *-------------------------
145
+ * Used in {@link AuthenticateParameters} and {@link AuthTokenRequest}
146
+ */
147
+ export interface LegacyCallBacks {
148
+ /**
149
+ * @deprecated
150
+ * As of TeamsJS v2.0.0, this property has been deprecated in favor of a Promise-based pattern.
151
+ *
152
+ * A function that is called if the request succeeds.
153
+ */
154
+ successCallback?: (result: string) => void;
155
+ /**
156
+ * @deprecated
157
+ * As of TeamsJS v2.0.0, this property has been deprecated in favor of a Promise-based pattern.
158
+ *
159
+ * A function that is called if the request fails, with the reason for the failure.
160
+ */
161
+ failureCallback?: (reason: string) => void;
162
+ }
163
+ /**
164
+ * Describes the authentication pop-up parameters
165
+ */
166
+ export interface AuthenticatePopUpParameters {
167
+ /**
168
+ * The URL for the authentication pop-up.
169
+ */
170
+ url: string;
171
+ /**
172
+ * The preferred width for the pop-up. This value can be ignored if outside the acceptable bounds.
173
+ */
174
+ width?: number;
175
+ /**
176
+ * The preferred height for the pop-up. This value can be ignored if outside the acceptable bounds.
177
+ */
178
+ height?: number;
179
+ /**
180
+ * Some identity providers restrict their authentication pages from being displayed in embedded browsers (e.g., a web view inside of a native application)
181
+ * If the identity provider you are using prevents embedded browser usage, this flag should be set to `true` to enable the authentication page specified in
182
+ * the {@link url} property to be opened in an external browser.
183
+ * If this flag is `false`, the page will be opened directly within the current hosting application.
184
+ *
185
+ * This flag is ignored when the host for the application is a web app (as opposed to a native application) as the behavior is unnecessary in a web-only
186
+ * environment without an embedded browser.
187
+ */
188
+ isExternal?: boolean;
189
+ }
190
+ /**
191
+ * @deprecated
192
+ * As of TeamsJS v2.0.0, please use {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>} and
193
+ * the associated {@link AuthenticatePopUpParameters} instead.
194
+ *
195
+ * @see {@link LegacyCallBacks}
196
+ */
197
+ export type AuthenticateParameters = AuthenticatePopUpParameters & LegacyCallBacks;
198
+ /**
199
+ * Describes authentication token request parameters
200
+ */
201
+ export interface AuthTokenRequestParameters {
202
+ /**
203
+ * @hidden
204
+ * @internal
205
+ * An list of resources for which to acquire the access token; only for internal Microsoft usage
206
+ */
207
+ resources?: string[];
208
+ /**
209
+ * An optional list of claims which to pass to Microsoft Entra when requesting the access token.
210
+ */
211
+ claims?: string[];
212
+ /**
213
+ * An optional flag indicating whether to attempt the token acquisition silently or allow a prompt to be shown.
214
+ */
215
+ silent?: boolean;
216
+ /**
217
+ * An optional identifier of the home tenant for which to acquire the access token for (used in cross-tenant shared channels).
218
+ */
219
+ tenantId?: string;
220
+ }
221
+ /**
222
+ * @deprecated
223
+ * As of TeamsJS v2.0.0, please use {@link AuthTokenRequestParameters} instead.
224
+ */
225
+ export type AuthTokenRequest = AuthTokenRequestParameters & LegacyCallBacks;
226
+ /**
227
+ * @hidden
228
+ *
229
+ * @internal
230
+ * Limited to Microsoft-internal use
231
+ */
232
+ export interface UserProfile {
233
+ /**
234
+ * @hidden
235
+ * The intended recipient of the token. The application that receives the token must verify that the audience
236
+ * value is correct and reject any tokens intended for a different audience.
237
+ *
238
+ * @internal
239
+ * Limited to Microsoft-internal use
240
+ */
241
+ aud: string;
242
+ /**
243
+ * @hidden
244
+ * Identifies how the subject of the token was authenticated.
245
+ *
246
+ * @internal
247
+ * Limited to Microsoft-internal use
248
+ */
249
+ amr: string[];
250
+ /**
251
+ * @hidden
252
+ * Stores the time at which the token was issued. It is often used to measure token freshness.
253
+ *
254
+ * @internal
255
+ * Limited to Microsoft-internal use
256
+ */
257
+ iat: number;
258
+ /**
259
+ * @hidden
260
+ * Identifies the security token service (STS) that constructs and returns the token. In the tokens that Microsoft Entra
261
+ * returns, the issuer is sts.windows.net. The GUID in the issuer claim value is the tenant ID of the Microsoft Entra
262
+ * directory. The tenant ID is an immutable and reliable identifier of the directory.
263
+ *
264
+ * @internal
265
+ * Limited to Microsoft-internal use
266
+ */
267
+ iss: string;
268
+ /**
269
+ * @hidden
270
+ * Provides the last name, surname, or family name of the user as defined in the Microsoft Entra user object.
271
+ *
272
+ * @internal
273
+ * Limited to Microsoft-internal use
274
+ */
275
+ family_name: string;
276
+ /**
277
+ * @hidden
278
+ * Provides the first or "given" name of the user, as set on the Microsoft Entra user object.
279
+ *
280
+ * @internal
281
+ * Limited to Microsoft-internal use
282
+ */
283
+ given_name: string;
284
+ /**
285
+ * @hidden
286
+ * Provides a human-readable value that identifies the subject of the token. This value is not guaranteed to
287
+ * be unique within a tenant and is designed to be used only for display purposes.
288
+ *
289
+ * @internal
290
+ * Limited to Microsoft-internal use
291
+ */
292
+ unique_name: string;
293
+ /**
294
+ * @hidden
295
+ * Contains a unique identifier of an object in Microsoft Entra. This value is immutable and cannot be reassigned or
296
+ * reused. Use the object ID to identify an object in queries to Microsoft Entra.
297
+ *
298
+ * @internal
299
+ * Limited to Microsoft-internal use
300
+ */
301
+ oid: string;
302
+ /**
303
+ * @hidden
304
+ * Identifies the principal about which the token asserts information, such as the user of an application.
305
+ * This value is immutable and cannot be reassigned or reused, so it can be used to perform authorization
306
+ * checks safely. Because the subject is always present in the tokens the Microsoft Entra issues, we recommended
307
+ * using this value in a general-purpose authorization system.
308
+ *
309
+ * @internal
310
+ * Limited to Microsoft-internal use
311
+ */
312
+ sub: string;
313
+ /**
314
+ * @hidden
315
+ * An immutable, non-reusable identifier that identifies the directory tenant that issued the token. You can
316
+ * use this value to access tenant-specific directory resources in a multitenant application. For example,
317
+ * you can use this value to identify the tenant in a call to the Graph API.
318
+ *
319
+ * @internal
320
+ * Limited to Microsoft-internal use
321
+ */
322
+ tid: string;
323
+ /**
324
+ * @hidden
325
+ * Defines the end of the time interval within which a token is valid. The service that validates the token
326
+ * should verify that the current date is within the token lifetime; otherwise it should reject the token. The
327
+ * service might allow for up to five minutes beyond the token lifetime to account for any differences in clock
328
+ * time ("time skew") between Microsoft Entra and the service.
329
+ *
330
+ * @internal
331
+ * Limited to Microsoft-internal use
332
+ */
333
+ exp: number;
334
+ /**
335
+ * @hidden
336
+ * Defines the start of the time interval within which a token is valid. The service that validates the token
337
+ * should verify that the current date is within the token lifetime; otherwise it should reject the token. The
338
+ * service might allow for up to five minutes beyond the token lifetime to account for any differences in clock
339
+ * time ("time skew") between Microsoft Entra and the service.
340
+ *
341
+ * @internal
342
+ * Limited to Microsoft-internal use
343
+ */
344
+ nbf: number;
345
+ /**
346
+ * @hidden
347
+ * Stores the user name of the user principal.
348
+ *
349
+ * @internal
350
+ * Limited to Microsoft-internal use
351
+ */
352
+ upn: string;
353
+ /**
354
+ * @hidden
355
+ * Stores the version number of the token.
356
+ *
357
+ * @internal
358
+ * Limited to Microsoft-internal use
359
+ */
360
+ ver: string;
361
+ /**
362
+ * @hidden
363
+ * Stores the data residency of the user.
364
+ *
365
+ * @internal
366
+ * Limited to Microsoft-internal use
367
+ */
368
+ dataResidency?: DataResidency;
369
+ }
370
+ /**
371
+ * @hidden
372
+ * Limited set of data residencies information exposed to 1P application developers
373
+ *
374
+ * @internal
375
+ * Limited to Microsoft-internal use
376
+ */
377
+ export declare enum DataResidency {
378
+ /**
379
+ * Public
380
+ */
381
+ Public = "public",
382
+ /**
383
+ * European Union Data Boundary
384
+ */
385
+ EUDB = "eudb",
386
+ /**
387
+ * Other, stored to cover fields that will not be exposed
388
+ */
389
+ Other = "other"
390
+ }
391
+ /**
392
+ * @deprecated
393
+ * As of TeamsJS v2.0.0, this interface has been deprecated in favor of a Promise-based pattern.
394
+ * @hidden
395
+ * Describes the UserRequest. Success callback describes how a successful request is handled.
396
+ * Failure callback describes how a failed request is handled.
397
+ * @internal
398
+ * Limited to Microsoft-internal use
399
+ */
400
+ export interface UserRequest {
401
+ /**
402
+ * A function that is called if the token request succeeds, with the resulting token.
403
+ */
404
+ successCallback?: (user: UserProfile) => void;
405
+ /**
406
+ * A function that is called if the token request fails, with the reason for the failure.
407
+ */
408
+ failureCallback?: (reason: string) => void;
409
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Namespace to interact with the barcode scanning-specific part of the SDK.
3
+ *
4
+ * @beta
5
+ */
6
+ /**
7
+ * Data structure to customize the barcode scanning experience in scanBarCode API.
8
+ * All properties in BarCodeConfig are optional and have default values in the platform
9
+ *
10
+ * @beta
11
+ */
12
+ export interface BarCodeConfig {
13
+ /**
14
+ * Optional; designates the scan timeout interval in seconds.
15
+ * Default value is 30 seconds, max allowed value is 60 seconds.
16
+ */
17
+ timeOutIntervalInSec?: number;
18
+ }
19
+ /**
20
+ * Scan Barcode or QRcode using camera
21
+ *
22
+ * @param barCodeConfig - input configuration to customize the barcode scanning experience
23
+ *
24
+ * @returns a scanned code
25
+ *
26
+ * @beta
27
+ */
28
+ export declare function scanBarCode(barCodeConfig: BarCodeConfig): Promise<string>;
29
+ /**
30
+ * Checks whether or not media has user permission
31
+ *
32
+ * @returns true if the user has granted the app permission to media information, false otherwise
33
+ *
34
+ * @beta
35
+ */
36
+ export declare function hasPermission(): Promise<boolean>;
37
+ /**
38
+ * Requests user permission for media
39
+ *
40
+ * @returns true if the user has granted the app permission to the media, false otherwise
41
+ *
42
+ * @beta
43
+ */
44
+ export declare function requestPermission(): Promise<boolean>;
45
+ /**
46
+ * Checks if barCode capability is supported by the host
47
+ * @returns boolean to represent whether the barCode capability is supported
48
+ *
49
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
50
+ *
51
+ * @beta
52
+ */
53
+ export declare function isSupported(): boolean;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Interact with the user's calendar, including opening calendar items and composing meetings.
3
+ */
4
+ /**
5
+ * Opens a calendar item.
6
+ *
7
+ * @param openCalendarItemParams - object containing unique ID of the calendar item to be opened.
8
+ */
9
+ export declare function openCalendarItem(openCalendarItemParams: OpenCalendarItemParams): Promise<void>;
10
+ /**
11
+ * Compose a new meeting in the user's calendar.
12
+ *
13
+ * @param composeMeetingParams - object containing various properties to set up the meeting details.
14
+ */
15
+ export declare function composeMeeting(composeMeetingParams: ComposeMeetingParams): Promise<void>;
16
+ /**
17
+ * Checks if the calendar capability is supported by the host
18
+ * @returns boolean to represent whether the calendar capability is supported
19
+ *
20
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
21
+ */
22
+ export declare function isSupported(): boolean;
23
+ /** Open calendar item parameters. */
24
+ export interface OpenCalendarItemParams {
25
+ /** An unique base64-encoded string id that represents the event's unique identifier of the calendar item to be opened. */
26
+ itemId: string;
27
+ }
28
+ /** Compose meeting parameters */
29
+ export interface ComposeMeetingParams {
30
+ /** An array of email addresses, user name, or user id of the attendees to invite to the meeting. */
31
+ attendees?: string[];
32
+ /** The start time of the meeting in MM/DD/YYYY HH:MM:SS format. */
33
+ startTime?: string;
34
+ /** The end time of the meeting in MM/DD/YYYY HH:MM:SS format. */
35
+ endTime?: string;
36
+ /** The subject line of the meeting. */
37
+ subject?: string;
38
+ /** The body content of the meeting. */
39
+ content?: string;
40
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Used to interact with call functionality, including starting calls with other users.
3
+ */
4
+ /** Modalities that can be associated with a call. */
5
+ export declare enum CallModalities {
6
+ /** Indicates that the modality is unknown or undefined. */
7
+ Unknown = "unknown",
8
+ /** Indicates that the call includes audio. */
9
+ Audio = "audio",
10
+ /** Indicates that the call includes video. */
11
+ Video = "video",
12
+ /** Indicates that the call includes video-based screen sharing. */
13
+ VideoBasedScreenSharing = "videoBasedScreenSharing",
14
+ /** Indicates that the call includes data sharing or messaging. */
15
+ Data = "data"
16
+ }
17
+ /** Represents parameters for {@link startCall | StartCall}. */
18
+ export interface StartCallParams {
19
+ /**
20
+ * Comma-separated list of user IDs representing the participants of the call.
21
+ *
22
+ * @remarks
23
+ * Currently the User ID field supports the Microsoft Entra UserPrincipalName,
24
+ * typically an email address, or in case of a PSTN call, it supports a pstn
25
+ * mri 4:\<phonenumber>.
26
+ */
27
+ targets: string[];
28
+ /**
29
+ * List of modalities for the call. Defaults to [“audio”].
30
+ */
31
+ requestedModalities?: CallModalities[];
32
+ /**
33
+ * An optional parameter that informs about the source of the deep link
34
+ */
35
+ source?: string;
36
+ }
37
+ /**
38
+ * Starts a call with other users
39
+ *
40
+ * @param startCallParams - Parameters for the call
41
+ *
42
+ * @throws Error if call capability is not supported
43
+ * @throws Error if host notifies of a failed start call attempt in a legacy Teams environment
44
+ * @returns always true if the host notifies of a successful call inititation
45
+ */
46
+ export declare function startCall(startCallParams: StartCallParams): Promise<boolean>;
47
+ /**
48
+ * Checks if the call capability is supported by the host
49
+ * @returns boolean to represent whether the call capability is supported
50
+ *
51
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
52
+ */
53
+ export declare function isSupported(): boolean;
@@ -0,0 +1,66 @@
1
+ interface OpenChatRequest {
2
+ /**
3
+ * An optional message used when initiating chat
4
+ */
5
+ message?: string;
6
+ }
7
+ /**
8
+ * Used when starting a chat with one person
9
+ *
10
+ * @see OpenGroupChatRequest for use when a chat with more than one person
11
+ */
12
+ export interface OpenSingleChatRequest extends OpenChatRequest {
13
+ /**
14
+ * The [Microsoft Entra UPN](https://learn.microsoft.com/entra/identity/hybrid/connect/plan-connect-userprincipalname) (usually but not always an e-mail address)
15
+ * of the user with whom to begin a chat
16
+ */
17
+ user: string;
18
+ }
19
+ /**
20
+ * Used when starting a chat with more than one person
21
+ *
22
+ * @see OpenSingleChatRequest for use in a chat with only one person
23
+ */
24
+ export interface OpenGroupChatRequest extends OpenChatRequest {
25
+ /**
26
+ * Array containing [Microsoft Entra UPNs](https://learn.microsoft.com/entra/identity/hybrid/connect/plan-connect-userprincipalname) (usually but not always an e-mail address)
27
+ * of users with whom to begin a chat
28
+ */
29
+ users: string[];
30
+ /**
31
+ * The display name of a conversation for 3 or more users (chats with fewer than three users will ignore this field)
32
+ */
33
+ topic?: string;
34
+ }
35
+ /**
36
+ * Contains functionality to start chat with others
37
+ */
38
+ export declare namespace chat {
39
+ /**
40
+ * Allows the user to open a chat with a single user and allows
41
+ * for the user to specify the message they wish to send.
42
+ *
43
+ * @param openChatRequest: {@link OpenSingleChatRequest}- a request object that contains a user's email as well as an optional message parameter.
44
+ *
45
+ * @returns Promise resolved upon completion
46
+ */
47
+ function openChat(openChatRequest: OpenSingleChatRequest): Promise<void>;
48
+ /**
49
+ * Allows the user to create a chat with multiple users (2+) and allows
50
+ * for the user to specify a message and name the topic of the conversation. If
51
+ * only 1 user is provided into users array default back to origin openChat.
52
+ *
53
+ * @param openChatRequest: {@link OpenGroupChatRequest} - a request object that contains a list of user emails as well as optional parameters for message and topic (display name for the group chat).
54
+ *
55
+ * @returns Promise resolved upon completion
56
+ */
57
+ function openGroupChat(openChatRequest: OpenGroupChatRequest): Promise<void>;
58
+ /**
59
+ * Checks if the chat capability is supported by the host
60
+ * @returns boolean to represent whether the chat capability is supported
61
+ *
62
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
63
+ */
64
+ function isSupported(): boolean;
65
+ }
66
+ export {};