@microsoft/teams-js 2.30.0-beta.0 → 2.31.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.
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 {};