@microsoft/teams.apps 2.0.2 → 2.0.3

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.
package/README.md CHANGED
@@ -13,14 +13,14 @@
13
13
  <a href="https://www.npmjs.com/package/@microsoft/teams.apps" target="_blank">
14
14
  <img src="https://img.shields.io/npm/dw/@microsoft/teams.apps" />
15
15
  </a>
16
- <a href="https://microsoft.github.io/teams-ai" target="_blank">
16
+ <a href="https://microsoft.github.io/teams-sdk" target="_blank">
17
17
  <img src="https://img.shields.io/badge/📖 docs-open-blue" />
18
18
  </a>
19
19
  </p>
20
20
 
21
21
  A package used to create apps/bots that can send/receive activities.
22
22
 
23
- <a href="https://microsoft.github.io/teams-ai" target="_blank">
23
+ <a href="https://microsoft.github.io/teams-sdk" target="_blank">
24
24
  <img src="https://img.shields.io/badge/📖 Getting Started-blue?style=for-the-badge" />
25
25
  </a>
26
26
 
@@ -32,4 +32,4 @@ $: npm install @microsoft/teams.apps
32
32
 
33
33
  ## Dependencies
34
34
 
35
- - [`express`](https://www.npmjs.com/package/express)
35
+ - [`express`](https://www.npmjs.com/package/express)
package/dist/app.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ActivityLike, ChannelID, ConversationReference, Credentials, IToken, StripMentionsTextOptions } from '@microsoft/teams.api';
1
+ import { ActivityLike, ApiClientSettings, ChannelID, ConversationReference, StripMentionsTextOptions, TokenCredentials } from '@microsoft/teams.api';
2
2
  import { EventEmitter } from '@microsoft/teams.common/events';
3
3
  import * as http from '@microsoft/teams.common/http';
4
4
  import { ILogger } from '@microsoft/teams.common/logging';
@@ -16,12 +16,46 @@ import * as middleware from './middleware';
16
16
  import { OAuthSettings } from './oauth';
17
17
  import { HttpPlugin } from './plugins';
18
18
  import { Router } from './router';
19
- import { AppEvents, IPlugin } from './types';
19
+ import { TokenManager } from './token-manager';
20
+ import { IPlugin, AppEvents } from './types';
20
21
  import { PluginAdditionalContext } from './types/app-routing';
21
22
  /**
22
23
  * App initialization options
23
24
  */
24
- export type AppOptions<TPlugin extends IPlugin> = Partial<Credentials> & {
25
+ export type AppOptions<TPlugin extends IPlugin> = {
26
+ /**
27
+ * client id - Your application's client identifier
28
+ * Uses environment variable CLIENT_ID if not explicitly provided
29
+ */
30
+ readonly clientId?: string;
31
+ /**
32
+ * client secret - Your application's secret to be able to send messages
33
+ * as your bot.
34
+ * Uses environment variable CLIENT_SECRET if not explicitly provided
35
+ * If not available, uses ManagedIdentity to authenticate
36
+ */
37
+ readonly clientSecret?: string;
38
+ /**
39
+ * tenantId - The tenantId where your app is registered
40
+ * Uses environment variable TENANT_ID if not explicitly provided
41
+ * If your app has MultiTenant auth enabled (this value should not be provided).
42
+ * (Note: That MultiTenant auth has been deprecated, so only legacy apps will have this
43
+ * value enabled)
44
+ */
45
+ readonly tenantId?: string;
46
+ /**
47
+ * token - An override to perform token fetching.
48
+ */
49
+ readonly token?: TokenCredentials['token'];
50
+ /**
51
+ * managed identity client id - A managed identity client id.
52
+ * Uses environment variable MANAGED_IDENTITY_CLIENT_ID if not explicitly provided
53
+ * If:
54
+ * - Same as client id, uses User Managed Identity for auth
55
+ * - "system", uses System Managed Identity in a Federated Identity Credentials
56
+ * - Different from client id or system, uses UMI in a Federated Identity Credentials
57
+ */
58
+ managedIdentityClientId?: 'system' | (string & {});
25
59
  /**
26
60
  * http client or client options used to make api requests
27
61
  */
@@ -54,6 +88,10 @@ export type AppOptions<TPlugin extends IPlugin> = Partial<Credentials> & {
54
88
  * Skip authentication for HTTP requests
55
89
  */
56
90
  readonly skipAuth?: boolean;
91
+ /**
92
+ * API client settings used for overriding.
93
+ */
94
+ readonly apiClientSettings?: ApiClientSettings;
57
95
  };
58
96
  export type AppActivityOptions = {
59
97
  readonly mentions?: {
@@ -64,16 +102,6 @@ export type AppActivityOptions = {
64
102
  readonly stripText?: boolean | StripMentionsTextOptions;
65
103
  };
66
104
  };
67
- export type AppTokens = {
68
- /**
69
- * bot token used to send activities
70
- */
71
- bot?: IToken;
72
- /**
73
- * graph token used to query the graph api
74
- */
75
- graph?: IToken;
76
- };
77
105
  /**
78
106
  * The orchestrator for receiving/sending activities
79
107
  */
@@ -85,14 +113,19 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
85
113
  readonly http: HttpPlugin;
86
114
  readonly client: http.Client;
87
115
  readonly storage: IStorage;
88
- readonly credentials?: Credentials;
89
116
  readonly entraTokenValidator?: middleware.JwtValidator;
117
+ readonly tokenManager: TokenManager;
118
+ /**
119
+ * the apps credentials
120
+ */
121
+ get credentials(): import("@microsoft/teams.api").Credentials | undefined;
90
122
  /**
91
123
  * the apps id
92
124
  */
93
125
  get id(): string | undefined;
94
126
  /**
95
127
  * the apps name
128
+ * @deprecated Name will be removed in the near future. Please remove dependencies from it.
96
129
  */
97
130
  get name(): string | undefined;
98
131
  get oauth(): {
@@ -103,11 +136,6 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
103
136
  */
104
137
  get manifest(): Partial<manifest.Manifest>;
105
138
  protected readonly _manifest: Partial<manifest.Manifest>;
106
- /**
107
- * the apps auth tokens
108
- */
109
- get tokens(): AppTokens;
110
- protected _tokens: AppTokens;
111
139
  protected container: Container;
112
140
  protected plugins: Array<TPlugin>;
113
141
  protected router: Router<PluginAdditionalContext<TPlugin>>;
@@ -1132,12 +1160,7 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
1132
1160
  protected onActivity: typeof onActivity;
1133
1161
  protected onActivitySent: typeof onActivitySent;
1134
1162
  protected onActivityResponse: typeof onActivityResponse;
1135
- /**
1136
- * Refresh the tokens for the app
1137
- */
1138
- protected refreshTokens(force?: boolean): Promise<[void, void]>;
1139
- protected refreshBotToken(force?: boolean): Promise<void>;
1140
- protected refreshGraphToken(force?: boolean): Promise<void>;
1163
+ protected getBotToken(): Promise<import("@microsoft/teams.api").IToken | null | undefined>;
1141
1164
  protected getUserToken(channelId: ChannelID, userId: string): Promise<string>;
1142
- protected getOrRefreshTenantToken(tenantId: string): Promise<string | undefined>;
1165
+ protected getAppGraphToken(tenantId?: string): Promise<import("@microsoft/teams.api").IToken | null | undefined>;
1143
1166
  }
package/dist/app.js CHANGED
@@ -56,6 +56,7 @@ const middleware = __importStar(require("./middleware"));
56
56
  const oauth_1 = require("./oauth");
57
57
  const plugins_1 = require("./plugins");
58
58
  const router_1 = require("./router");
59
+ const token_manager_1 = require("./token-manager");
59
60
  /**
60
61
  * The orchestrator for receiving/sending activities
61
62
  */
@@ -67,19 +68,26 @@ class App {
67
68
  http;
68
69
  client;
69
70
  storage;
70
- credentials;
71
71
  entraTokenValidator;
72
+ tokenManager;
73
+ /**
74
+ * the apps credentials
75
+ */
76
+ get credentials() {
77
+ return this.tokenManager.credentials;
78
+ }
72
79
  /**
73
80
  * the apps id
74
81
  */
75
82
  get id() {
76
- return this.tokens.bot?.appId || this.tokens.graph?.appId;
83
+ return this.credentials?.clientId;
77
84
  }
78
85
  /**
79
86
  * the apps name
87
+ * @deprecated Name will be removed in the near future. Please remove dependencies from it.
80
88
  */
81
89
  get name() {
82
- return this.tokens.bot?.appDisplayName || this.tokens.graph?.appDisplayName;
90
+ return this._manifest.name?.full;
83
91
  }
84
92
  get oauth() {
85
93
  return {
@@ -94,9 +102,8 @@ class App {
94
102
  return {
95
103
  id: this.id,
96
104
  name: {
97
- short: this.name || '??',
98
- full: this.name || '??',
99
- ...this._manifest.name,
105
+ short: this._manifest.name?.short || '??',
106
+ full: this._manifest.name?.full || '??',
100
107
  },
101
108
  bots: [
102
109
  {
@@ -113,13 +120,6 @@ class App {
113
120
  };
114
121
  }
115
122
  _manifest;
116
- /**
117
- * the apps auth tokens
118
- */
119
- get tokens() {
120
- return this._tokens;
121
- }
122
- _tokens = {};
123
123
  container = new container_1.Container();
124
124
  plugins = [];
125
125
  router = new router_1.Router();
@@ -163,32 +163,18 @@ class App {
163
163
  },
164
164
  });
165
165
  }
166
- this.api = new api_1.ApiClient('https://smba.trafficmanager.net/teams', this.client.clone({ token: () => this._tokens.bot }));
167
- this.graph = new api_1.GraphClient(this.client.clone({ token: () => this._tokens.graph }));
168
- // initialize credentials
169
- const clientId = this.options.clientId || process.env.CLIENT_ID;
170
- const clientSecret = ('clientSecret' in this.options
171
- ? this.options.clientSecret
172
- : undefined) || process.env.CLIENT_SECRET;
173
- const tenantId = ('tenantId' in this.options ? this.options.tenantId : undefined) ||
174
- process.env.TENANT_ID;
175
- const token = 'token' in this.options ? this.options.token : undefined;
176
- if (clientId && clientSecret) {
177
- this.credentials = {
178
- clientId,
179
- clientSecret,
180
- tenantId,
181
- };
182
- }
183
- if (clientId && token) {
184
- this.credentials = {
185
- clientId,
186
- tenantId,
187
- token,
188
- };
189
- }
190
- if (clientId) {
191
- this.entraTokenValidator = middleware.createEntraTokenValidator(tenantId || 'common', clientId, { logger: this.log, });
166
+ this.api = new api_1.ApiClient('https://smba.trafficmanager.net/teams', this.client.clone({ token: () => this.getBotToken() }), this.options.apiClientSettings);
167
+ this.graph = new api_1.GraphClient(this.client.clone({ token: () => this.getAppGraphToken() }));
168
+ // initialize TokenManager with credentials
169
+ this.tokenManager = new token_manager_1.TokenManager({
170
+ clientId: this.options.clientId,
171
+ clientSecret: this.options.clientSecret,
172
+ tenantId: this.options.tenantId,
173
+ token: this.options.token,
174
+ managedIdentityClientId: this.options.managedIdentityClientId,
175
+ }, this.log);
176
+ if (this.credentials?.clientId) {
177
+ this.entraTokenValidator = middleware.createEntraTokenValidator(this.credentials.tenantId || 'common', this.credentials.clientId, { logger: this.log, });
192
178
  }
193
179
  // add/validate plugins
194
180
  const plugins = this.options.plugins || [];
@@ -211,10 +197,7 @@ class App {
211
197
  this.container.register('name', { useValue: this.name });
212
198
  this.container.register('manifest', { useValue: this.manifest });
213
199
  this.container.register('credentials', { useValue: this.credentials });
214
- this.container.register('botToken', { useValue: () => this.tokens.bot });
215
- this.container.register('graphToken', {
216
- useValue: () => this.tokens.graph,
217
- });
200
+ this.container.register('botToken', { useValue: () => this.getBotToken() });
218
201
  this.container.register('ILogger', { useValue: this.log });
219
202
  this.container.register('IStorage', { useValue: this.storage });
220
203
  this.container.register(this.client.constructor.name, {
@@ -255,7 +238,6 @@ class App {
255
238
  async start(port) {
256
239
  this.port = port || process.env.PORT || 3978;
257
240
  try {
258
- await this.refreshTokens(true);
259
241
  // initialize plugins
260
242
  for (const plugin of this.plugins) {
261
243
  // inject dependencies
@@ -392,36 +374,10 @@ class App {
392
374
  ///
393
375
  /// Token
394
376
  ///
395
- /**
396
- * Refresh the tokens for the app
397
- */
398
- async refreshTokens(force = false) {
399
- return Promise.all([
400
- this.refreshBotToken(force),
401
- this.refreshGraphToken(force),
402
- ]);
403
- }
404
- async refreshBotToken(force = false) {
405
- if (!this.credentials)
406
- return;
407
- if (!this.tokens.bot?.isExpired() && !force)
408
- return;
409
- if (this.tokens.bot) {
410
- this.log.debug('refreshing bot token');
411
- }
412
- const botResponse = await this.api.bots.token.get(this.credentials);
413
- this._tokens.bot = new teams_api_1.JsonWebToken(botResponse.access_token);
414
- }
415
- async refreshGraphToken(force = false) {
416
- if (!this.credentials)
377
+ async getBotToken() {
378
+ if (!this.tokenManager)
417
379
  return;
418
- if (!this.tokens.graph?.isExpired() && !force)
419
- return;
420
- if (this.tokens.graph) {
421
- this.log.debug('refreshing graph token');
422
- }
423
- const graphResponse = await this.api.bots.token.getGraph(this.credentials);
424
- this._tokens.graph = new teams_api_1.JsonWebToken(graphResponse.access_token);
380
+ return await this.tokenManager.getBotToken();
425
381
  }
426
382
  async getUserToken(channelId, userId) {
427
383
  const res = await this.api.users.token.get({
@@ -431,19 +387,11 @@ class App {
431
387
  });
432
388
  return res.token;
433
389
  }
434
- async getOrRefreshTenantToken(tenantId) {
435
- let appToken = this.tenantTokens.get(tenantId);
436
- if (this.credentials && !this.tenantTokens.get(tenantId)) {
437
- const { access_token } = await this.api.bots.token.getGraph({
438
- ...this.credentials,
439
- tenantId: tenantId,
440
- });
441
- this.log.debug(`refreshing tenant token for ${tenantId}`);
442
- appToken = access_token;
443
- this.tenantTokens.set(tenantId, access_token);
444
- }
445
- return appToken;
390
+ async getAppGraphToken(tenantId) {
391
+ if (!this.tokenManager)
392
+ return;
393
+ return await this.tokenManager.getGraphToken(tenantId);
446
394
  }
447
395
  }
448
396
  exports.App = App;
449
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBbUM7QUFFbkMsb0RBUzhCO0FBQzlCLDJEQUE4RDtBQUM5RCxtRUFBcUQ7QUFDckQsNkRBQXlFO0FBQ3pFLDZEQUF5RTtBQUV6RSxtRUFBa0M7QUFFbEMsK0JBQStDO0FBRS9DLDJDQUFtRDtBQUNuRCw2Q0FNc0I7QUFDdEIsMkNBR3FCO0FBQ3JCLCtDQUF1RTtBQUN2RSwrQ0FBeUM7QUFDekMsK0NBQWlEO0FBQ2pELDJDQUF3QztBQUV4Qyx5REFBMkM7QUFDM0MsbUNBQWdFO0FBQ2hFLHVDQUF1QztBQUN2QyxxQ0FBa0M7QUF1RWxDOztHQUVHO0FBQ0gsTUFBYSxHQUFHO0lBNkVPO0lBNUVaLEdBQUcsQ0FBWTtJQUNmLEtBQUssQ0FBYztJQUNuQixHQUFHLENBQVU7SUFDYixJQUFJLENBQWE7SUFDakIsTUFBTSxDQUFjO0lBQ3BCLE9BQU8sQ0FBVztJQUNsQixXQUFXLENBQWU7SUFDMUIsbUJBQW1CLENBQTJCO0lBRXZEOztPQUVHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTztZQUNMLEdBQUcsOEJBQXNCO1lBQ3pCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lB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
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBbUM7QUFFbkMsb0RBUThCO0FBQzlCLDJEQUE4RDtBQUM5RCxtRUFBcUQ7QUFDckQsNkRBQXlFO0FBQ3pFLDZEQUF5RTtBQUV6RSxtRUFBa0M7QUFFbEMsK0JBQStDO0FBRS9DLDJDQUFtRDtBQUNuRCw2Q0FNc0I7QUFDdEIsMkNBR3FCO0FBQ3JCLCtDQUF1RTtBQUN2RSwrQ0FBeUM7QUFDekMsK0NBQWlEO0FBQ2pELDJDQUF3QztBQUV4Qyx5REFBMkM7QUFDM0MsbUNBQWdFO0FBQ2hFLHVDQUF1QztBQUN2QyxxQ0FBa0M7QUFDbEMsbURBQStDO0FBc0cvQzs7R0FFRztBQUNILE1BQWEsR0FBRztJQTRFTztJQTNFWixHQUFHLENBQVk7SUFDZixLQUFLLENBQWM7SUFDbkIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFhO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixPQUFPLENBQVc7SUFDbEIsbUJBQW1CLENBQTJCO0lBQzlDLFlBQVksQ0FBZTtJQUVwQzs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTCxHQUFHLDhCQUFzQjtZQUN6QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztTQUN0QixDQUFDO0lBQ0osQ0FBQztJ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
@@ -16,7 +16,6 @@ async function $process(sender, event) {
16
16
  if (serviceUrl.endsWith('/')) {
17
17
  serviceUrl = serviceUrl.slice(0, serviceUrl.length - 1);
18
18
  }
19
- await this.refreshTokens();
20
19
  let userToken;
21
20
  try {
22
21
  userToken = await this.getUserToken(activity.channelId, activity.from.id);
@@ -24,17 +23,10 @@ async function $process(sender, event) {
24
23
  catch (err) {
25
24
  // noop
26
25
  }
27
- let appToken;
28
- try {
29
- appToken = await this.getOrRefreshTenantToken(activity.conversation.tenantId ?? 'common');
30
- }
31
- catch (err) {
32
- // noop
33
- }
34
26
  const client = this.client.clone();
35
- const apiClient = new api_1.ApiClient(serviceUrl, this.client.clone({ token: () => this.tokens.bot }));
27
+ const apiClient = new api_1.ApiClient(serviceUrl, this.client.clone({ token: () => this.getBotToken() }), this.options.apiClientSettings);
36
28
  const userGraph = new api_1.GraphClient(client.clone({ token: () => userToken }));
37
- const appGraph = new api_1.GraphClient(client.clone({ token: () => appToken }));
29
+ const appGraph = new api_1.GraphClient(client.clone({ token: () => this.getAppGraphToken(activity.conversation.tenantId ?? 'common') }));
38
30
  const ref = {
39
31
  serviceUrl,
40
32
  activityId: activity.id,
@@ -91,7 +83,6 @@ async function $process(sender, event) {
91
83
  appGraph,
92
84
  appId: this.id || '',
93
85
  log: this.log,
94
- tokens: this.tokens,
95
86
  userToken: userToken,
96
87
  ref,
97
88
  storage: this.storage,
@@ -149,4 +140,4 @@ async function $process(sender, event) {
149
140
  });
150
141
  }
151
142
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXBwLnByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSw0QkFnTEM7QUE3TEQsb0RBQTZGO0FBRTdGLCtCQUErQztBQUUvQyx5Q0FBK0Q7QUFJL0Q7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxRQUFRLENBRTVCLE1BQWUsRUFDZixLQUFxQjtJQUVyQixNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDWixZQUFZLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDcEYsQ0FBQztJQUVGLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUV6RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3QixVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFM0IsSUFBSSxTQUE2QixDQUFDO0lBRWxDLElBQUksQ0FBQztRQUNILFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFHRCxJQUFJLFFBQTRCLENBQUM7SUFDakMsSUFBSSxDQUFDO1FB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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXBwLnByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSw0QkFxS0M7QUFsTEQsb0RBQTZGO0FBRTdGLCtCQUErQztBQUUvQyx5Q0FBK0Q7QUFJL0Q7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxRQUFRLENBRTVCLE1BQWUsRUFDZixLQUFxQjtJQUVyQixNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDWixZQUFZLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDcEYsQ0FBQztJQUVGLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUV6RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3QixVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxTQUE2QixDQUFDO0lBRWxDLElBQUksQ0FBQztRQUNILFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksZUFBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwSSxNQUFNLFNBQVMsR0FBRyxJQUFJLGlCQUFXLENBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FDekMsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQVcsQ0FDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUNqRyxDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQTBCO1FBQ2pDLFVBQVU7UUFDVixVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFDdkIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxTQUFTO1FBQ3ZCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztRQUM3QixZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7UUFDbkMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtLQUNwQixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxjQUFjLEdBQU8sRUFBRSxDQUFDO0lBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0IsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUNoQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sTUFBTSxDQUFDLFVBQVcsQ0FBQztvQkFDdkQsR0FBRyxHQUFHO29CQUNOLE1BQU0sRUFBRSxNQUFNO29CQUNkLFFBQVE7b0JBQ1IsS0FBSztpQkFDTixDQUFDLENBQUM7Z0JBRUgsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO29CQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7d0JBQzFDLElBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDOzRCQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRywrQkFBK0IsQ0FBQyxDQUFDO3dCQUMzRSxDQUFDO29CQUNILENBQUM7b0JBQ0QsY0FBYyxHQUFHO3dCQUNmLEdBQUcsY0FBYzt3QkFDakIsR0FBRyx1QkFBdUI7cUJBQzNCLENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNYLElBQUksSUFBSSxHQUFRLFNBQVMsQ0FBQztJQUUxQixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBc0IsRUFBRSxFQUFFO1FBQzVDLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pDLENBQUMsRUFBRSxDQUFDO1FBRUosTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTFELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBZSxDQUFDLE1BQU0sRUFBRTtRQUMxQyxHQUFHLEtBQUs7UUFDUixJQUFJO1FBQ0osR0FBRyxFQUFFLFNBQVM7UUFDZCxTQUFTO1FBQ1QsUUFBUTtRQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUU7UUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsU0FBUyxFQUFFLFNBQVM7UUFDcEIsR0FBRztRQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFNBQVM7UUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCO1FBQ2hELEdBQUcsY0FBYztLQUNsQixDQUFDLENBQUM7SUFFSCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsUUFBc0IsRUFBRSxlQUF1QyxFQUFFLEVBQUU7UUFDdkYsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQzFCLEdBQUcsQ0FBQyxlQUFlLElBQUksR0FBRyxDQUFDO1lBQzNCLE1BQU07WUFDTixRQUFRLEVBQUUsR0FBRztTQUNkLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQzFCLEdBQUcsR0FBRztZQUNOLE1BQU07WUFDTixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsR0FBRyxHQUFHO1lBQ04sTUFBTTtZQUNOLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQztRQUNILElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFFdkIsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFBLDRCQUFnQixFQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsR0FBRyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsR0FBRyxHQUFHO1lBQ04sTUFBTTtZQUNOLFFBQVE7WUFDUixRQUFRLEVBQUUsR0FBRztTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUM5QixHQUFHLEdBQUc7WUFDTixNQUFNO1lBQ04sUUFBUTtZQUNSLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMifQ==
@@ -36,6 +36,7 @@ describe('ActivityContext', () => {
36
36
  info: jest.fn(),
37
37
  warn: jest.fn(),
38
38
  error: jest.fn(),
39
+ trace: jest.fn(),
39
40
  log: jest.fn(),
40
41
  };
41
42
  mockLogger = {
@@ -247,4 +248,4 @@ describe('ActivityContext', () => {
247
248
  });
248
249
  });
249
250
  });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9hY3Rpdml0eS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBTzhCO0FBTzlCLHlDQUE2QztBQUU3QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLElBQUksVUFBbUIsQ0FBQztJQUN4QixJQUFJLGFBQXNDLENBQUM7SUFDM0MsSUFBSSxVQUFtQixDQUFDO0lBQ3hCLElBQUksV0FBbUMsQ0FBQztJQUN4QyxJQUFJLE9BQThCLENBQUM7SUFDbkMsSUFBSSxPQUF3QixDQUFDO0lBRTdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxVQUFVLEdBQUc7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsYUFBYSxHQUFHO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtvQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtpQkFDbkI7YUFDRjtZQUNELGFBQWEsRUFBRTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7aUJBQ3ZCO2FBQ0Y7U0FDb0MsQ0FBQztRQUV4QyxXQUFXLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUs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
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9hY3Rpdml0eS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBTzhCO0FBTzlCLHlDQUE2QztBQUU3QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLElBQUksVUFBbUIsQ0FBQztJQUN4QixJQUFJLGFBQXNDLENBQUM7SUFDM0MsSUFBSSxVQUFtQixDQUFDO0lBQ3hCLElBQUksV0FBbUMsQ0FBQztJQUN4QyxJQUFJLE9BQThCLENBQUM7SUFDbkMsSUFBSSxPQUF3QixDQUFDO0lBRTdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxVQUFVLEdBQUc7WUFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3RCxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsYUFBYSxHQUFHO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtvQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtpQkFDbkI7YUFDRjtZQUNELGFBQWEsRUFBRTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUU7b0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7aUJBQ3ZCO2FBQ0Y7U0FDb0MsQ0FBQztRQUV4QyxXQUFXLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUs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
package/dist/oauth.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_OAUTH_SETTINGS = void 0;
4
4
  exports.DEFAULT_OAUTH_SETTINGS = {
5
- defaultConnectionName: 'graph',
5
+ defaultConnectionName: 'graph'
6
6
  };
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU2EsUUFBQSxzQkFBc0IsR0FBNEI7SUFDN0QscUJBQXFCLEVBQUUsT0FBTztDQUMvQixDQUFDIn0=
@@ -16,7 +16,6 @@ export declare class HttpPlugin implements ISender {
16
16
  readonly manifest: Partial<Manifest>;
17
17
  readonly credentials?: Credentials;
18
18
  readonly botToken?: () => IToken;
19
- readonly graphToken?: () => IToken;
20
19
  readonly $onError: (event: IErrorEvent) => void;
21
20
  readonly $onActivity: (event: IActivityEvent) => void;
22
21
  readonly get: express.Application['get'];
@@ -64,7 +64,6 @@ let HttpPlugin = class HttpPlugin {
64
64
  manifest;
65
65
  credentials;
66
66
  botToken;
67
- graphToken;
68
67
  $onError;
69
68
  $onActivity;
70
69
  get;
@@ -234,10 +233,6 @@ __decorate([
234
233
  (0, types_1.Dependency)({ optional: true }),
235
234
  __metadata("design:type", Function)
236
235
  ], HttpPlugin.prototype, "botToken", void 0);
237
- __decorate([
238
- (0, types_1.Dependency)({ optional: true }),
239
- __metadata("design:type", Function)
240
- ], HttpPlugin.prototype, "graphToken", void 0);
241
236
  __decorate([
242
237
  (0, types_1.Event)('error'),
243
238
  __metadata("design:type", Function)
@@ -254,4 +249,4 @@ exports.HttpPlugin = HttpPlugin = __decorate([
254
249
  }),
255
250
  __metadata("design:paramtypes", [http_1.default.Server, Object])
256
251
  ], HttpPlugin);
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvaHR0cC9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXdCO0FBRXhCLGdEQUF3QjtBQUN4QixzREFBOEI7QUFFOUIsb0RBTzhCO0FBRzlCLG9FQUFzRDtBQUV0RCx5RUFBd0M7QUFHeEMsMEZBQW9HO0FBQ3BHLHVDQVVxQjtBQUdyQixxQ0FBc0M7QUFFdEM7O0dBRUc7QUFNSSxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBRVosTUFBTSxDQUFXO0lBR2pCLE1BQU0sQ0FBZ0I7SUFHdEIsUUFBUSxDQUFxQjtJQUc3QixXQUFXLENBQWU7SUFHMUIsUUFBUSxDQUFnQjtJQUd4QixVQUFVLENBQWdCO0lBRzFCLFFBQVEsQ0FBZ0M7SUFHeEMsV0FBVyxDQUFtQztJQUU5QyxHQUFHLENBQTZCO0lBQ2hDLElBQUksQ0FBOEI7SUFDbEMsS0FBSyxDQUErQjtJQUNwQyxHQUFHLENBQTZCO0lBQ2hDLE1BQU0sQ0FBZ0M7SUFDdEMsS0FBSyxDQUErQjtJQUNwQyxHQUFHLENBQTZCO0lBRXpDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ1MsT0FBTyxDQUFjO0lBRS9CLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ1MsS0FBSyxDQUFtQjtJQUV4QixPQUFPLENBQXNCO0lBQzdCLE9BQU8sR0FBcUMsRUFBRSxDQUFDO0lBQy9DLFFBQVEsQ0FBVTtJQUU1QixZQUFZLE1BQW9CLEVBQUUsT0FBZ0M7UUFDaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEs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
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvaHR0cC9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXdCO0FBRXhCLGdEQUF3QjtBQUN4QixzREFBOEI7QUFFOUIsb0RBTzhCO0FBRzlCLG9FQUFzRDtBQUV0RCx5RUFBd0M7QUFHeEMsMEZBQW9HO0FBQ3BHLHVDQVVxQjtBQUdyQixxQ0FBc0M7QUFFdEM7O0dBRUc7QUFNSSxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBRVosTUFBTSxDQUFXO0lBR2pCLE1BQU0sQ0FBZ0I7SUFHdEIsUUFBUSxDQUFxQjtJQUc3QixXQUFXLENBQWU7SUFHMUIsUUFBUSxDQUFnQjtJQUd4QixRQUFRLENBQWdDO0lBR3hDLFdBQVcsQ0FBbUM7SUFFOUMsR0FBRyxDQUE2QjtJQUNoQyxJQUFJLENBQThCO0lBQ2xDLEtBQUssQ0FBK0I7SUFDcEMsR0FBRyxDQUE2QjtJQUNoQyxNQUFNLENBQWdDO0lBQ3RDLEtBQUssQ0FBK0I7SUFDcEMsR0FBRyxDQUE2QjtJQUV6QyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNTLE9BQU8sQ0FBYztJQUUvQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNTLEtBQUssQ0FBbUI7SUFFeEIsT0FBTyxDQUFzQjtJQUM3QixPQUFPLEdBQXFDLEVBQUUsQ0FBQztJQUMvQyxRQUFRLENBQVU7SUFFNUIsWUFBWSxNQUFvQixFQUFFLE9BQWdDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGlCQUFPLEdBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxjQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxjQUFJLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxpQkFBTyxDQUFDLElBQUksRUFBRSxDQUFD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
@@ -0,0 +1,30 @@
1
+ import { Credentials, IToken, TokenCredentials } from '@microsoft/teams.api';
2
+ import { ILogger } from '@microsoft/teams.common';
3
+ export type TokenManagerOptions = {
4
+ readonly clientId?: string;
5
+ readonly clientSecret?: string;
6
+ readonly tenantId?: string;
7
+ readonly token?: TokenCredentials['token'];
8
+ managedIdentityClientId?: 'system' | (string & {});
9
+ };
10
+ export declare class TokenManager {
11
+ readonly credentials?: Credentials;
12
+ private logger;
13
+ private _msalLogger;
14
+ private confidentialClientsByTenantId;
15
+ private managedIdentityClient;
16
+ constructor(options: TokenManagerOptions, logger: ILogger);
17
+ getBotToken(): Promise<IToken | null>;
18
+ getGraphToken(tenantId?: string): Promise<IToken | null>;
19
+ private initializeCredentials;
20
+ private getToken;
21
+ private getTokenWithClientCredentials;
22
+ private getTokenWithTokenProvider;
23
+ private getTokenWithManagedIdentity;
24
+ private getTokenWithFederatedCredentials;
25
+ private resolveTenantId;
26
+ private getConfidentialClient;
27
+ private getManagedIdentityClient;
28
+ private handleTokenResponse;
29
+ private buildLoggerOptions;
30
+ }
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenManager = void 0;
4
+ const msal_node_1 = require("@azure/msal-node");
5
+ const teams_api_1 = require("@microsoft/teams.api");
6
+ const teams_common_1 = require("@microsoft/teams.common");
7
+ const DEFAULT_BOT_TOKEN_SCOPE = 'https://api.botframework.com/.default';
8
+ const DEFAULT_GRAPH_TOKEN_SCOPE = 'https://graph.microsoft.com/.default';
9
+ const DEFAULT_TENANT_FOR_BOT_TOKEN = 'botframework.com';
10
+ const DEFAULT_TENANT_FOR_GRAPH_TOKEN = 'common';
11
+ const GET_DEFAULT_TOKEN_AUTHORITY = (tenantId) => `https://login.microsoftonline.com/${tenantId}`;
12
+ const MSAL_LOG_LEVEL_TO_LOG_LEVEL = {
13
+ [msal_node_1.LogLevel.Error]: 'error',
14
+ [msal_node_1.LogLevel.Warning]: 'warn',
15
+ [msal_node_1.LogLevel.Info]: 'info',
16
+ [msal_node_1.LogLevel.Verbose]: 'debug',
17
+ [msal_node_1.LogLevel.Trace]: 'trace'
18
+ };
19
+ const LOG_LEVEL_TO_MSAL_LOG_LEVEL = {
20
+ 'error': msal_node_1.LogLevel.Error,
21
+ 'warn': msal_node_1.LogLevel.Warning,
22
+ 'info': msal_node_1.LogLevel.Info,
23
+ 'debug': msal_node_1.LogLevel.Verbose,
24
+ 'trace': msal_node_1.LogLevel.Trace
25
+ };
26
+ class TokenManager {
27
+ credentials;
28
+ logger;
29
+ _msalLogger;
30
+ confidentialClientsByTenantId = {};
31
+ managedIdentityClient = null;
32
+ constructor(options, logger) {
33
+ this.logger = logger.child('TokenManager') ?? new teams_common_1.ConsoleLogger('TokenManager');
34
+ this._msalLogger = this.logger.child('azure/msal-node', {
35
+ // Msal logging is fairly noisy. So we keep it quiet unless the user
36
+ // explicitly turns it on
37
+ pattern: '-azure/msal-node'
38
+ });
39
+ this.credentials = this.initializeCredentials(options);
40
+ }
41
+ async getBotToken() {
42
+ return await this.getToken(DEFAULT_BOT_TOKEN_SCOPE, this.resolveTenantId(undefined, DEFAULT_TENANT_FOR_BOT_TOKEN));
43
+ }
44
+ async getGraphToken(tenantId) {
45
+ return await this.getToken(DEFAULT_GRAPH_TOKEN_SCOPE, this.resolveTenantId(tenantId, DEFAULT_TENANT_FOR_GRAPH_TOKEN));
46
+ }
47
+ initializeCredentials(options) {
48
+ const clientId = options.clientId ?? process.env.CLIENT_ID;
49
+ const tenantId = options.tenantId ?? process.env.TENANT_ID;
50
+ const clientSecret = options.clientSecret ?? process.env.CLIENT_SECRET;
51
+ const token = options.token;
52
+ const managedIdentityClientId = options.managedIdentityClientId ?? process.env.MANAGED_IDENTITY_CLIENT_ID;
53
+ if (clientId && clientSecret) {
54
+ this.logger.debug('Using Client Credentials auth');
55
+ return {
56
+ type: 'clientSecret',
57
+ clientId,
58
+ clientSecret,
59
+ tenantId,
60
+ };
61
+ }
62
+ else if (clientId && token) {
63
+ this.logger.debug(('Using custom token factory auth'));
64
+ return {
65
+ type: 'token',
66
+ clientId,
67
+ tenantId,
68
+ token,
69
+ };
70
+ }
71
+ else if (clientId && !clientSecret) {
72
+ if (managedIdentityClientId == null || managedIdentityClientId.toLowerCase() === clientId.toLowerCase()) {
73
+ this.logger.debug('Using user managed identity auth');
74
+ return {
75
+ type: 'userManagedIdentity',
76
+ clientId,
77
+ tenantId
78
+ };
79
+ }
80
+ else {
81
+ const identityType = managedIdentityClientId === 'system' ? 'system' : 'user';
82
+ this.logger.debug(`Using Federated Identity Credentials auth (${identityType})`);
83
+ return {
84
+ type: 'federatedIdentityCredentials',
85
+ clientId,
86
+ tenantId,
87
+ managedIdentityClientId,
88
+ managedIdentityType: identityType,
89
+ };
90
+ }
91
+ }
92
+ return undefined;
93
+ }
94
+ async getToken(scope, tenantId) {
95
+ if (!this.credentials) {
96
+ return null;
97
+ }
98
+ switch (this.credentials.type) {
99
+ case 'clientSecret':
100
+ return this.getTokenWithClientCredentials(this.credentials, scope, tenantId);
101
+ case 'token':
102
+ return this.getTokenWithTokenProvider(this.credentials, scope, tenantId);
103
+ case 'userManagedIdentity':
104
+ return this.getTokenWithManagedIdentity(this.credentials, scope);
105
+ case 'federatedIdentityCredentials':
106
+ return this.getTokenWithFederatedCredentials(this.credentials, scope, tenantId);
107
+ default:
108
+ this.logger.warn('getToken was called, but credentials did not match any of the available credential types');
109
+ return null;
110
+ }
111
+ }
112
+ async getTokenWithClientCredentials(credentials, scope, tenantId) {
113
+ const confidentialClient = this.getConfidentialClient(credentials, tenantId);
114
+ const result = await confidentialClient.acquireTokenByClientCredential({ scopes: [scope] });
115
+ return this.handleTokenResponse(result);
116
+ }
117
+ async getTokenWithTokenProvider(credentials, scope, tenantId) {
118
+ const token = await credentials.token(scope, tenantId);
119
+ return new teams_api_1.JsonWebToken(token);
120
+ }
121
+ async getTokenWithManagedIdentity(credentials, scope) {
122
+ const managedIdentityClient = this.getManagedIdentityClient(credentials);
123
+ // Resource doesn't need the ./default suffix
124
+ const resource = scope.replace('/.default', '');
125
+ const result = await managedIdentityClient.acquireToken({
126
+ resource
127
+ });
128
+ return this.handleTokenResponse(result);
129
+ }
130
+ async getTokenWithFederatedCredentials(credentials, scope, tenantId) {
131
+ const managedIdentityClient = this.getManagedIdentityClient(credentials);
132
+ const managedIdentityTokenRes = await managedIdentityClient.acquireToken({ resource: 'api://AzureADTokenExchange' });
133
+ const confidentialClient = new msal_node_1.ConfidentialClientApplication({
134
+ auth: {
135
+ clientId: credentials.clientId,
136
+ clientAssertion: managedIdentityTokenRes.accessToken,
137
+ authority: GET_DEFAULT_TOKEN_AUTHORITY(tenantId)
138
+ },
139
+ system: {
140
+ loggerOptions: this.buildLoggerOptions()
141
+ }
142
+ });
143
+ const result = await confidentialClient.acquireTokenByClientCredential({ scopes: [scope] });
144
+ return this.handleTokenResponse(result);
145
+ }
146
+ resolveTenantId(tenantId, defaultTenantId) {
147
+ return tenantId || this.credentials?.tenantId || defaultTenantId;
148
+ }
149
+ getConfidentialClient(credentials, tenantId) {
150
+ const cachedClient = this.confidentialClientsByTenantId[tenantId];
151
+ if (cachedClient) {
152
+ return cachedClient;
153
+ }
154
+ const client = new msal_node_1.ConfidentialClientApplication({
155
+ auth: {
156
+ clientId: credentials.clientId,
157
+ clientSecret: credentials.clientSecret,
158
+ authority: GET_DEFAULT_TOKEN_AUTHORITY(tenantId)
159
+ },
160
+ system: {
161
+ loggerOptions: this.buildLoggerOptions()
162
+ }
163
+ });
164
+ this.confidentialClientsByTenantId[tenantId] = client;
165
+ return client;
166
+ }
167
+ getManagedIdentityClient(credentials) {
168
+ if (this.managedIdentityClient) {
169
+ return this.managedIdentityClient;
170
+ }
171
+ if (credentials.type === 'userManagedIdentity' || credentials.managedIdentityType === 'user') {
172
+ let clientId;
173
+ if (credentials.type === 'userManagedIdentity') {
174
+ clientId = credentials.clientId;
175
+ }
176
+ else {
177
+ clientId = credentials.managedIdentityClientId;
178
+ }
179
+ this.managedIdentityClient = new msal_node_1.ManagedIdentityApplication({
180
+ managedIdentityIdParams: {
181
+ userAssignedClientId: clientId
182
+ },
183
+ system: {
184
+ loggerOptions: this.buildLoggerOptions()
185
+ }
186
+ });
187
+ }
188
+ else {
189
+ this.managedIdentityClient = new msal_node_1.ManagedIdentityApplication({
190
+ managedIdentityIdParams: undefined, //no options automatically indicates system assigned managed identity
191
+ system: {
192
+ loggerOptions: this.buildLoggerOptions()
193
+ }
194
+ });
195
+ }
196
+ return this.managedIdentityClient;
197
+ }
198
+ handleTokenResponse(result) {
199
+ if (!result) {
200
+ throw new Error('Failed to get token');
201
+ }
202
+ return new teams_api_1.JsonWebToken(result.accessToken);
203
+ }
204
+ buildLoggerOptions() {
205
+ return {
206
+ logLevel: this.logger.loggerOptions?.level != null ? LOG_LEVEL_TO_MSAL_LOG_LEVEL[this.logger.loggerOptions.level] : undefined,
207
+ loggerCallback: (level, message) => {
208
+ // There's a bug in MSAL where it warns this on all requests.
209
+ // https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/7917
210
+ if (message.endsWith('Warning - No client info in response')) {
211
+ return;
212
+ }
213
+ this._msalLogger.log(MSAL_LOG_LEVEL_TO_LOG_LEVEL[level], message);
214
+ },
215
+ piiLoggingEnabled: false,
216
+ };
217
+ }
218
+ }
219
+ exports.TokenManager = TokenManager;
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGdEQUFnSztBQUVoSyxvREFBNEs7QUFDNUssMERBQTJFO0FBRTNFLE1BQU0sdUJBQXVCLEdBQUcsdUNBQXVDLENBQUM7QUFDeEUsTUFBTSx5QkFBeUIsR0FBRyxzQ0FBc0MsQ0FBQztBQUN6RSxNQUFNLDRCQUE0QixHQUFHLGtCQUFrQixDQUFDO0FBQ3hELE1BQU0sOEJBQThCLEdBQUcsUUFBUSxDQUFDO0FBQ2hELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxxQ0FBcUMsUUFBUSxFQUFFLENBQUM7QUFFMUcsTUFBTSwyQkFBMkIsR0FBbUM7SUFDbEUsQ0FBQyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU87SUFDN0IsQ0FBQyxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU07SUFDOUIsQ0FBQyxvQkFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU07SUFDM0IsQ0FBQyxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU87SUFDL0IsQ0FBQyxvQkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU87Q0FDOUIsQ0FBQztBQUNGLE1BQU0sMkJBQTJCLEdBQW1DO0lBQ2xFLE9BQU8sRUFBRSxvQkFBWSxDQUFDLEtBQUs7SUFDM0IsTUFBTSxFQUFFLG9CQUFZLENBQUMsT0FBTztJQUM1QixNQUFNLEVBQUUsb0JBQVksQ0FBQyxJQUFJO0lBQ3pCLE9BQU8sRUFBRSxvQkFBWSxDQUFDLE9BQU87SUFDN0IsT0FBTyxFQUFFLG9CQUFZLENBQUMsS0FBSztDQUM1QixDQUFDO0FBWUYsTUFBYSxZQUFZO0lBQ2QsV0FBVyxDQUFlO0lBQzNCLE1BQU0sQ0FBVTtJQUNoQixXQUFXLENBQVU7SUFDckIsNkJBQTZCLEdBQWtELEVBQUUsQ0FBQztJQUNs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/teams.apps",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -38,6 +38,7 @@
38
38
  "generate": "npx quicktype -s schema -l typescript ./manifest.schema.json -o ./src/manifest.ts --prefer-unions --prefer-types --just-types"
39
39
  },
40
40
  "dependencies": {
41
+ "@azure/msal-node": "^3.8.1",
41
42
  "axios": "^1.12.0",
42
43
  "cors": "^2.8.5",
43
44
  "express": "^4.21.0",
@@ -46,12 +47,12 @@
46
47
  "reflect-metadata": "^0.2.2"
47
48
  },
48
49
  "peerDependencies": {
49
- "@microsoft/teams.api": "2.0.2",
50
- "@microsoft/teams.common": "2.0.2",
51
- "@microsoft/teams.graph": "2.0.2"
50
+ "@microsoft/teams.api": "2.0.3",
51
+ "@microsoft/teams.common": "2.0.3",
52
+ "@microsoft/teams.graph": "2.0.3"
52
53
  },
53
54
  "devDependencies": {
54
- "@microsoft/teams.config": "2.0.2",
55
+ "@microsoft/teams.config": "2.0.3",
55
56
  "@types/cors": "^2.8.17",
56
57
  "@types/express": "^5.0.0",
57
58
  "@types/jest": "^29.5.12",