@microsoft/teams.apps 2.0.4 → 2.0.6-preview.1
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/dist/app.d.ts +47 -17
- package/dist/app.events.d.ts +1 -2
- package/dist/app.events.js +1 -6
- package/dist/app.js +18 -6
- package/dist/app.plugins.js +2 -2
- package/dist/app.process.d.ts +2 -3
- package/dist/app.process.js +32 -28
- package/dist/contexts/activity.js +10 -2
- package/dist/contexts/activity.test.js +45 -1
- package/dist/plugins/http/plugin.d.ts +39 -19
- package/dist/plugins/http/plugin.js +11 -30
- package/dist/plugins/http/stream.d.ts +76 -13
- package/dist/plugins/http/stream.js +60 -8
- package/dist/routes/invoke/index.d.ts +1 -0
- package/dist/routes/invoke/index.js +2 -1
- package/dist/utils/promises/retry.d.ts +1 -1
- package/dist/utils/promises/retry.js +1 -1
- package/package.json +6 -6
package/dist/app.d.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { ActivityLike, ApiClientSettings, ChannelID, ConversationReference, StripMentionsTextOptions, TokenCredentials } from '@microsoft/teams.api';
|
|
1
|
+
import { ActivityLike, ApiClientSettings, ChannelID, ConversationReference, InvokeResponse, 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';
|
|
5
5
|
import { IStorage, LocalStorage } from '@microsoft/teams.common/storage';
|
|
6
6
|
import { ApiClient, GraphClient } from './api';
|
|
7
7
|
import { configTab, func, tab } from './app.embed';
|
|
8
|
-
import { event,
|
|
8
|
+
import { event, onActivityResponse, onActivitySent, onError } from './app.events';
|
|
9
9
|
import { onTokenExchange, onVerifyState } from './app.oauth';
|
|
10
10
|
import { getPlugin, inject, plugin } from './app.plugins';
|
|
11
11
|
import { $process } from './app.process';
|
|
12
12
|
import { message, on, use } from './app.routing';
|
|
13
13
|
import { Container } from './container';
|
|
14
|
+
import { IActivityEvent } from './events';
|
|
14
15
|
import * as manifest from './manifest';
|
|
15
16
|
import * as middleware from './middleware';
|
|
16
17
|
import { OAuthSettings } from './oauth';
|
|
17
18
|
import { HttpPlugin } from './plugins';
|
|
18
19
|
import { Router } from './router';
|
|
19
20
|
import { TokenManager } from './token-manager';
|
|
20
|
-
import { IPlugin, AppEvents } from './types';
|
|
21
|
+
import { IPlugin, AppEvents, ISender } from './types';
|
|
21
22
|
import { PluginAdditionalContext } from './types/app-routing';
|
|
22
23
|
/**
|
|
23
24
|
* App initialization options
|
|
@@ -88,6 +89,12 @@ export type AppOptions<TPlugin extends IPlugin> = {
|
|
|
88
89
|
* Skip authentication for HTTP requests
|
|
89
90
|
*/
|
|
90
91
|
readonly skipAuth?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Base Service URL for BotBackend
|
|
94
|
+
* Uses environment variable SERVICE_URL if not provided
|
|
95
|
+
* and defaults to https://smba.trafficmanager.net/teams
|
|
96
|
+
*/
|
|
97
|
+
readonly serviceUrl?: string;
|
|
91
98
|
/**
|
|
92
99
|
* API client settings used for overriding.
|
|
93
100
|
*/
|
|
@@ -174,6 +181,7 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
174
181
|
deliveryMode?: import("@microsoft/teams.api").DeliveryMode | undefined;
|
|
175
182
|
expiration?: Date | undefined;
|
|
176
183
|
value?: any;
|
|
184
|
+
isTargeted?: boolean | undefined;
|
|
177
185
|
stripMentionsText?: ((options?: StripMentionsTextOptions) => import("@microsoft/teams.api").IMessageActivity) | undefined;
|
|
178
186
|
isRecipientMentioned?: (() => boolean) | undefined;
|
|
179
187
|
getAccountMention?: ((accountId: string) => import("@microsoft/teams.api").MentionEntity | undefined) | undefined;
|
|
@@ -291,11 +299,11 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
291
299
|
type: "event";
|
|
292
300
|
name?: "application/vnd.microsoft.meetingStart" | undefined;
|
|
293
301
|
value?: {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
302
|
+
Id: string;
|
|
303
|
+
MeetingType: string;
|
|
304
|
+
JoinUrl: string;
|
|
305
|
+
Title: string;
|
|
306
|
+
StartTime: Date;
|
|
299
307
|
} | undefined;
|
|
300
308
|
serviceUrl?: string | undefined;
|
|
301
309
|
timestamp?: Date | undefined;
|
|
@@ -319,11 +327,11 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
319
327
|
type: "event";
|
|
320
328
|
name?: "application/vnd.microsoft.meetingEnd" | undefined;
|
|
321
329
|
value?: {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
330
|
+
Id: string;
|
|
331
|
+
MeetingType: string;
|
|
332
|
+
JoinUrl: string;
|
|
333
|
+
Title: string;
|
|
334
|
+
EndTime: Date;
|
|
327
335
|
} | undefined;
|
|
328
336
|
serviceUrl?: string | undefined;
|
|
329
337
|
timestamp?: Date | undefined;
|
|
@@ -348,7 +356,7 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
348
356
|
name?: "application/vnd.microsoft.meetingParticipantJoin" | undefined;
|
|
349
357
|
value?: {
|
|
350
358
|
members: {
|
|
351
|
-
user: import("@microsoft/teams.api").
|
|
359
|
+
user: import("@microsoft/teams.api").TeamsChannelAccount;
|
|
352
360
|
meeting: {
|
|
353
361
|
inMeeting: boolean;
|
|
354
362
|
role: string;
|
|
@@ -378,10 +386,10 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
378
386
|
name?: "application/vnd.microsoft.meetingParticipantLeave" | undefined;
|
|
379
387
|
value?: {
|
|
380
388
|
members: {
|
|
381
|
-
user: import("@microsoft/teams.api").
|
|
389
|
+
user: import("@microsoft/teams.api").TeamsChannelAccount;
|
|
382
390
|
meeting: {
|
|
383
391
|
inMeeting: boolean;
|
|
384
|
-
role
|
|
392
|
+
role?: string;
|
|
385
393
|
};
|
|
386
394
|
}[];
|
|
387
395
|
} | undefined;
|
|
@@ -872,6 +880,28 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
872
880
|
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
|
|
873
881
|
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
|
|
874
882
|
isStreaming?: (() => boolean) | undefined;
|
|
883
|
+
} | {
|
|
884
|
+
id: string;
|
|
885
|
+
type: "invoke";
|
|
886
|
+
name?: "signin/failure" | undefined;
|
|
887
|
+
value?: import("@microsoft/teams.api").SignInFailure | undefined;
|
|
888
|
+
serviceUrl?: string | undefined;
|
|
889
|
+
timestamp?: Date | undefined;
|
|
890
|
+
locale?: string | undefined;
|
|
891
|
+
localTimestamp?: Date | undefined;
|
|
892
|
+
channelId?: ChannelID | undefined;
|
|
893
|
+
from?: import("@microsoft/teams.api").Account | undefined;
|
|
894
|
+
conversation?: import("@microsoft/teams.api").ConversationAccount | undefined;
|
|
895
|
+
relatesTo?: ConversationReference | undefined;
|
|
896
|
+
recipient?: import("@microsoft/teams.api").Account | undefined;
|
|
897
|
+
replyToId?: string | undefined;
|
|
898
|
+
entities?: import("@microsoft/teams.api").Entity[] | undefined;
|
|
899
|
+
channelData?: import("@microsoft/teams.api").ChannelData | undefined;
|
|
900
|
+
channel?: import("@microsoft/teams.api").ChannelInfo | undefined;
|
|
901
|
+
team?: import("@microsoft/teams.api").TeamInfo | undefined;
|
|
902
|
+
meeting?: import("@microsoft/teams.api").MeetingInfo | undefined;
|
|
903
|
+
notification?: import("@microsoft/teams.api").NotificationInfo | undefined;
|
|
904
|
+
isStreaming?: (() => boolean) | undefined;
|
|
875
905
|
} | {
|
|
876
906
|
id: string;
|
|
877
907
|
type: "invoke";
|
|
@@ -1157,9 +1187,9 @@ export declare class App<TPlugin extends IPlugin = IPlugin> {
|
|
|
1157
1187
|
protected onVerifyState: typeof onVerifyState;
|
|
1158
1188
|
protected inject: typeof inject;
|
|
1159
1189
|
protected onError: typeof onError;
|
|
1160
|
-
protected onActivity: typeof onActivity;
|
|
1161
1190
|
protected onActivitySent: typeof onActivitySent;
|
|
1162
1191
|
protected onActivityResponse: typeof onActivityResponse;
|
|
1192
|
+
onActivity(sender: ISender, event: IActivityEvent): Promise<InvokeResponse>;
|
|
1163
1193
|
protected getBotToken(): Promise<import("@microsoft/teams.api").IToken | null | undefined>;
|
|
1164
1194
|
protected getUserToken(channelId: ChannelID, userId: string): Promise<string>;
|
|
1165
1195
|
protected getAppGraphToken(tenantId?: string): Promise<import("@microsoft/teams.api").IToken | null | undefined>;
|
package/dist/app.events.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventHandler } from '@microsoft/teams.common';
|
|
2
2
|
import { App } from './app';
|
|
3
|
-
import {
|
|
3
|
+
import { IActivityResponseEvent, IActivitySentEvent, IErrorEvent } from './events';
|
|
4
4
|
import { AppEvents, IPlugin, ISender } from './types';
|
|
5
5
|
/**
|
|
6
6
|
* subscribe to an event
|
|
@@ -9,6 +9,5 @@ import { AppEvents, IPlugin, ISender } from './types';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function event<TPlugin extends IPlugin, Name extends keyof AppEvents<TPlugin>>(this: App<TPlugin>, name: Name, cb: EventHandler<AppEvents<TPlugin>[Name]>): App<TPlugin>;
|
|
11
11
|
export declare function onError<TPlugin extends IPlugin>(this: App<TPlugin>, event: IErrorEvent): Promise<void>;
|
|
12
|
-
export declare function onActivity<TPlugin extends IPlugin>(this: App<TPlugin>, sender: ISender, event: IActivityEvent): Promise<void>;
|
|
13
12
|
export declare function onActivitySent<TPlugin extends IPlugin>(this: App<TPlugin>, sender: ISender, event: IActivitySentEvent): Promise<void>;
|
|
14
13
|
export declare function onActivityResponse<TPlugin extends IPlugin>(this: App<TPlugin>, sender: ISender, event: IActivityResponseEvent): Promise<void>;
|
package/dist/app.events.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.event = event;
|
|
4
4
|
exports.onError = onError;
|
|
5
|
-
exports.onActivity = onActivity;
|
|
6
5
|
exports.onActivitySent = onActivitySent;
|
|
7
6
|
exports.onActivityResponse = onActivityResponse;
|
|
8
7
|
/**
|
|
@@ -22,10 +21,6 @@ async function onError(event) {
|
|
|
22
21
|
}
|
|
23
22
|
this.events.emit('error', event);
|
|
24
23
|
}
|
|
25
|
-
async function onActivity(sender, event) {
|
|
26
|
-
this.events.emit('activity', event);
|
|
27
|
-
await this.process(sender, { ...event, sender });
|
|
28
|
-
}
|
|
29
24
|
async function onActivitySent(sender, event) {
|
|
30
25
|
for (const plugin of this.plugins) {
|
|
31
26
|
if (plugin.onActivitySent) {
|
|
@@ -48,4 +43,4 @@ async function onActivityResponse(sender, event) {
|
|
|
48
43
|
}
|
|
49
44
|
this.events.emit('activity.response', { ...event, sender });
|
|
50
45
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHAuZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsc0JBTUM7QUFFRCwwQkFXQztBQUVELHdDQWVDO0FBRUQsZ0RBZUM7QUExREQ7Ozs7R0FJRztBQUNILFNBQWdCLEtBQUssQ0FHQyxJQUFVLEVBQUUsRUFBMEM7SUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVNLEtBQUssVUFBVSxPQUFPLENBRTNCLEtBQWtCO0lBRWxCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRU0sS0FBSyxVQUFVLGNBQWMsQ0FFbEMsTUFBZSxFQUNmLEtBQXlCO0lBRXpCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFDMUIsR0FBRyxLQUFLO2dCQUNSLE1BQU07YUFDUCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVNLEtBQUssVUFBVSxrQkFBa0IsQ0FFdEMsTUFBZSxFQUNmLEtBQTZCO0lBRTdCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDOUIsTUFBTSxNQUFNLENBQUMsa0JBQWtCLENBQUM7Z0JBQzlCLEdBQUcsS0FBSztnQkFDUixNQUFNO2FBQ1AsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQyJ9
|
package/dist/app.js
CHANGED
|
@@ -163,7 +163,9 @@ class App {
|
|
|
163
163
|
},
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
|
-
|
|
166
|
+
const serviceUrl = (this.options.serviceUrl ?? process.env.SERVICE_URL ??
|
|
167
|
+
'https://smba.trafficmanager.net/teams').replace(/\/+$/, '');
|
|
168
|
+
this.api = new api_1.ApiClient(serviceUrl, this.client.clone({ token: () => this.getBotToken() }), this.options.apiClientSettings);
|
|
167
169
|
this.graph = new api_1.GraphClient(this.client.clone({ token: () => this.getAppGraphToken() }));
|
|
168
170
|
// initialize TokenManager with credentials
|
|
169
171
|
this.tokenManager = new token_manager_1.TokenManager({
|
|
@@ -280,15 +282,22 @@ class App {
|
|
|
280
282
|
* @param activity the activity to send
|
|
281
283
|
*/
|
|
282
284
|
async send(conversationId, activity) {
|
|
283
|
-
if (!this.id
|
|
285
|
+
if (!this.id) {
|
|
284
286
|
throw new Error('app not started');
|
|
285
287
|
}
|
|
288
|
+
const params = (0, teams_api_1.toActivityParams)(activity);
|
|
289
|
+
// Validate targeted messages in proactive context
|
|
290
|
+
if (params.type === 'message' && params.isTargeted) {
|
|
291
|
+
if (!params.recipient) {
|
|
292
|
+
throw new Error('Targeted messages sent proactively must specify an explicit recipient ID using withTargetedRecipient(recipientId)');
|
|
293
|
+
}
|
|
294
|
+
}
|
|
286
295
|
const ref = {
|
|
287
296
|
channelId: 'msteams',
|
|
288
297
|
serviceUrl: this.api.serviceUrl,
|
|
289
298
|
bot: {
|
|
290
299
|
id: this.id,
|
|
291
|
-
name: this.name,
|
|
300
|
+
name: this.name || this.id,
|
|
292
301
|
role: 'bot',
|
|
293
302
|
},
|
|
294
303
|
conversation: {
|
|
@@ -296,7 +305,7 @@ class App {
|
|
|
296
305
|
conversationType: 'personal',
|
|
297
306
|
},
|
|
298
307
|
};
|
|
299
|
-
const res = await this.http.send(
|
|
308
|
+
const res = await this.http.send(params, ref);
|
|
300
309
|
return res;
|
|
301
310
|
}
|
|
302
311
|
/**
|
|
@@ -368,9 +377,12 @@ class App {
|
|
|
368
377
|
///
|
|
369
378
|
inject = app_plugins_1.inject; // eslint-disable-line @typescript-eslint/member-ordering
|
|
370
379
|
onError = app_events_1.onError; // eslint-disable-line @typescript-eslint/member-ordering
|
|
371
|
-
onActivity = app_events_1.onActivity; // eslint-disable-line @typescript-eslint/member-ordering
|
|
372
380
|
onActivitySent = app_events_1.onActivitySent; // eslint-disable-line @typescript-eslint/member-ordering
|
|
373
381
|
onActivityResponse = app_events_1.onActivityResponse; // eslint-disable-line @typescript-eslint/member-ordering
|
|
382
|
+
async onActivity(sender, event) {
|
|
383
|
+
this.events.emit('activity', event);
|
|
384
|
+
return await this.process(sender, { ...event, sender });
|
|
385
|
+
}
|
|
374
386
|
///
|
|
375
387
|
/// Token
|
|
376
388
|
///
|
|
@@ -394,4 +406,4 @@ class App {
|
|
|
394
406
|
}
|
|
395
407
|
}
|
|
396
408
|
exports.App = App;
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBbUM7QUFFbkMsb0RBUThCO0FBQzlCLDJEQUE4RDtBQUM5RCxtRUFBcUQ7QUFDckQsNkRBQXlFO0FBQ3pFLDZEQUF5RTtBQUV6RSxtRUFBa0M7QUFFbEMsK0JBQStDO0FBRS9DLDJDQUFtRDtBQUNuRCw2Q0FNc0I7QUFDdEIsMkNBR3FCO0FBQ3JCLCtDQUF1RTtBQUN2RSwrQ0FBeUM7QUFDekMsK0NBQWlEO0FBQ2pELDJDQUF3QztBQUV4Qyx5REFBMkM7QUFDM0MsbUNBQWdFO0FBQ2hFLHVDQUF1QztBQUN2QyxxQ0FBa0M7QUFDbEMsbURBQStDO0FBc0cvQzs7R0FFRztBQUNILE1BQWEsR0FBRztJQTRFTztJQTNFWixHQUFHLENBQVk7SUFDZixLQUFLLENBQWM7SUFDbkIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFhO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixPQUFPLENBQVc7SUFDbEIsbUJBQW1CLENBQTJCO0lBQzlDLFlBQVksQ0FBZTtJQUVwQzs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTCxHQUFHLDhCQUFzQjtZQUN6QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztTQUN0QixDQUFDO0lBQ0osQ0FBQztJ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
|
|
409
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBbUM7QUFFbkMsb0RBUzhCO0FBQzlCLDJEQUE4RDtBQUM5RCxtRUFBcUQ7QUFDckQsNkRBQXlFO0FBQ3pFLDZEQUF5RTtBQUV6RSxtRUFBa0M7QUFFbEMsK0JBQStDO0FBRS9DLDJDQUFtRDtBQUNuRCw2Q0FLc0I7QUFDdEIsMkNBR3FCO0FBQ3JCLCtDQUF1RTtBQUN2RSwrQ0FBeUM7QUFDekMsK0NBQWlEO0FBQ2pELDJDQUF3QztBQUd4Qyx5REFBMkM7QUFDM0MsbUNBQWdFO0FBQ2hFLHVDQUF1QztBQUN2QyxxQ0FBa0M7QUFDbEMsbURBQStDO0FBNkcvQzs7R0FFRztBQUNILE1BQWEsR0FBRztJQTRFTztJQTNFWixHQUFHLENBQVk7SUFDZixLQUFLLENBQWM7SUFDbkIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFhO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixPQUFPLENBQVc7SUFDbEIsbUJBQW1CLENBQTJCO0lBQzlDLFlBQVksQ0FBZTtJQUVwQzs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU87WUFDTCxHQUFHLDhCQUFzQjtZQUN6QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztTQUN0QixDQUFDO0lBQ0osQ0FBQztJ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
|
package/dist/app.plugins.js
CHANGED
|
@@ -69,7 +69,7 @@ function inject(plugin) {
|
|
|
69
69
|
}
|
|
70
70
|
else if (name === 'activity') {
|
|
71
71
|
handler = (event) => {
|
|
72
|
-
this.onActivity(plugin, event);
|
|
72
|
+
return this.onActivity(plugin, event);
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
else if (name === 'custom') {
|
|
@@ -105,4 +105,4 @@ function getMetadata(plugin) {
|
|
|
105
105
|
events,
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXBwLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsd0JBYUM7QUFLRCw4QkFRQztBQUtELHdCQTJEQztBQU1ELGtDQWdCQztBQTdIRCxxQ0FBa0Q7QUFFbEQscUVBRzhDO0FBQzlDLDJEQUE0RjtBQUM1Riw2REFBc0Y7QUFFdEY7OztHQUdHO0FBQ0gsU0FBZ0IsTUFBTSxDQUE4QyxNQUFlO0lBQ2pGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FFdkIsSUFBZ0I7SUFFaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztR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
|
package/dist/app.process.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { InvokeResponse } from '@microsoft/teams.api';
|
|
1
2
|
import { App } from './app';
|
|
2
3
|
import { IActivityEvent } from './events';
|
|
3
4
|
import { IPlugin, ISender } from './types';
|
|
@@ -6,6 +7,4 @@ import { IPlugin, ISender } from './types';
|
|
|
6
7
|
* @param sender the plugin to use for sending activities
|
|
7
8
|
* @param event the received activity event
|
|
8
9
|
*/
|
|
9
|
-
export declare function $process<TPlugin extends IPlugin>(this: App<TPlugin>, sender: ISender, event: IActivityEvent): Promise<
|
|
10
|
-
status: number;
|
|
11
|
-
} | undefined>;
|
|
10
|
+
export declare function $process<TPlugin extends IPlugin>(this: App<TPlugin>, sender: ISender, event: IActivityEvent): Promise<InvokeResponse>;
|
package/dist/app.process.js
CHANGED
|
@@ -37,30 +37,28 @@ async function $process(sender, event) {
|
|
|
37
37
|
user: activity.from,
|
|
38
38
|
};
|
|
39
39
|
const routes = this.router.select(activity);
|
|
40
|
+
// Collect plugin contexts BEFORE creating the activity context
|
|
40
41
|
let pluginContexts = {};
|
|
41
42
|
for (let i = this.plugins.length - 1; i > -1; i--) {
|
|
42
43
|
const plugin = this.plugins[i];
|
|
43
44
|
if (plugin.onActivity) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.log.warn(`Plugin context key "${key}" already exists. Overriding.`);
|
|
55
|
-
}
|
|
45
|
+
const additionalPluginContext = await plugin.onActivity({
|
|
46
|
+
...ref,
|
|
47
|
+
sender: sender,
|
|
48
|
+
activity,
|
|
49
|
+
token,
|
|
50
|
+
});
|
|
51
|
+
if (additionalPluginContext) {
|
|
52
|
+
for (const key in additionalPluginContext) {
|
|
53
|
+
if (key in pluginContexts) {
|
|
54
|
+
this.log.warn(`Plugin context key "${key}" already exists. Overriding.`);
|
|
56
55
|
}
|
|
57
|
-
pluginContexts = {
|
|
58
|
-
...pluginContexts,
|
|
59
|
-
...additionalPluginContext,
|
|
60
|
-
};
|
|
61
56
|
}
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
pluginContexts = {
|
|
58
|
+
...pluginContexts,
|
|
59
|
+
...additionalPluginContext,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
let i = -1;
|
|
@@ -69,7 +67,11 @@ async function $process(sender, event) {
|
|
|
69
67
|
if (i === routes.length - 1)
|
|
70
68
|
return data;
|
|
71
69
|
i++;
|
|
72
|
-
const
|
|
70
|
+
const mergedContext = ctx || {
|
|
71
|
+
...context.toInterface(),
|
|
72
|
+
...pluginContexts,
|
|
73
|
+
};
|
|
74
|
+
const res = await routes[i](mergedContext);
|
|
73
75
|
if (res) {
|
|
74
76
|
data = res;
|
|
75
77
|
}
|
|
@@ -88,11 +90,7 @@ async function $process(sender, event) {
|
|
|
88
90
|
storage: this.storage,
|
|
89
91
|
isSignedIn: !!userToken,
|
|
90
92
|
connectionName: this.oauth.defaultConnectionName,
|
|
91
|
-
...pluginContexts
|
|
92
93
|
});
|
|
93
|
-
if (routes.length === 0) {
|
|
94
|
-
return { status: 200 };
|
|
95
|
-
}
|
|
96
94
|
const send = context.send.bind(context);
|
|
97
95
|
context.send = async (activity, conversationRef) => {
|
|
98
96
|
const res = await send(activity, conversationRef);
|
|
@@ -117,11 +115,15 @@ async function $process(sender, event) {
|
|
|
117
115
|
activity,
|
|
118
116
|
});
|
|
119
117
|
});
|
|
118
|
+
let response;
|
|
120
119
|
try {
|
|
121
|
-
|
|
120
|
+
const res = await next();
|
|
122
121
|
await context.stream.close();
|
|
123
|
-
if (
|
|
124
|
-
|
|
122
|
+
if ((0, teams_api_1.isInvokeResponse)(res)) {
|
|
123
|
+
response = res;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
response = { status: 200, body: res };
|
|
125
127
|
}
|
|
126
128
|
this.onActivityResponse(sender, {
|
|
127
129
|
...ref,
|
|
@@ -131,13 +133,15 @@ async function $process(sender, event) {
|
|
|
131
133
|
});
|
|
132
134
|
}
|
|
133
135
|
catch (error) {
|
|
136
|
+
response = { status: 500 };
|
|
134
137
|
this.onError({ error, activity, sender });
|
|
135
138
|
this.onActivityResponse(sender, {
|
|
136
139
|
...ref,
|
|
137
140
|
sender,
|
|
138
141
|
activity,
|
|
139
|
-
response:
|
|
142
|
+
response: response,
|
|
140
143
|
});
|
|
141
144
|
}
|
|
145
|
+
return response;
|
|
142
146
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXBwLnByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSw0QkF1S0M7QUFwTEQsb0RBQTZHO0FBRTdHLCtCQUErQztBQUUvQyx5Q0FBK0Q7QUFJL0Q7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxRQUFRLENBRTVCLE1BQWUsRUFDZixLQUFxQjtJQUVyQixNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDWixZQUFZLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDcEYsQ0FBQztJQUVGLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUV6RCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3QixVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxTQUE2QixDQUFDO0lBRWxDLElBQUksQ0FBQztRQUNILFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFH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
|
|
@@ -36,7 +36,15 @@ class ActivityContext {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
async send(activity, conversationRef) {
|
|
39
|
-
|
|
39
|
+
const params = (0, teams_api_1.toActivityParams)(activity);
|
|
40
|
+
// For targeted send, set the recipient if not already set.
|
|
41
|
+
// For targeted update (params.id exists), we dont update recipient since recipient cannot be changed.
|
|
42
|
+
if (params.type === 'message' && params.isTargeted && !params.id) {
|
|
43
|
+
if (!params.recipient) {
|
|
44
|
+
params.recipient = this.activity.from;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return await this._plugin.send(params, conversationRef ?? this.ref);
|
|
40
48
|
}
|
|
41
49
|
async reply(activity) {
|
|
42
50
|
activity = (0, teams_api_1.toActivityParams)(activity);
|
|
@@ -155,4 +163,4 @@ class ActivityContext {
|
|
|
155
163
|
}
|
|
156
164
|
}
|
|
157
165
|
exports.ActivityContext = ActivityContext;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBZ0I4QjtBQXdKOUIsTUFBYSxlQUFlO0lBRTFCLEtBQUssQ0FBVTtJQUNmLFFBQVEsQ0FBSztJQUNiLEdBQUcsQ0FBeUI7SUFDNUIsR0FBRyxDQUFXO0lBQ2QsR0FBRyxDQUFhO0lBQ2hCLFFBQVEsQ0FBZTtJQUN2QixTQUFTLENBQWU7SUFDeEIsT0FBTyxDQUFZO0lBQ25CLE1BQU0sQ0FBWTtJQUNsQixVQUFVLENBQVc7SUFDckIsY0FBYyxDQUFTO0lBQ3ZCLElBQUksQ0FFMEQ7SUFHcEQsT0FBTyxDQUFVO0lBQ2pCLEtBQUssQ0FFK0M7SUFFOUQsWUFBWSxNQUFlLEVBQUUsS0FBa0M7UUFDN0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFFM0MsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxLQUFLLENBQUMsUUFBUSxHQUFHLDJCQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxLQUFLLENBQUMsUUFBUSxHQUFHLGlDQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENB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
|