@microsoft/teams.apps 0.2.7
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 +35 -0
- package/dist/api.d.ts +21 -0
- package/dist/api.js +66 -0
- package/dist/app.d.ts +1137 -0
- package/dist/app.embed.d.ts +24 -0
- package/dist/app.embed.js +83 -0
- package/dist/app.events.d.ts +14 -0
- package/dist/app.events.js +51 -0
- package/dist/app.js +411 -0
- package/dist/app.oauth.d.ts +13 -0
- package/dist/app.oauth.js +106 -0
- package/dist/app.plugins.d.ts +24 -0
- package/dist/app.plugins.js +96 -0
- package/dist/app.process.d.ts +11 -0
- package/dist/app.process.js +141 -0
- package/dist/app.routing.d.ts +22 -0
- package/dist/app.routing.js +40 -0
- package/dist/container/container.d.ts +37 -0
- package/dist/container/container.js +46 -0
- package/dist/container/index.d.ts +2 -0
- package/dist/container/index.js +19 -0
- package/dist/container/provider.d.ts +9 -0
- package/dist/container/provider.js +11 -0
- package/dist/contexts/activity-error.d.ts +8 -0
- package/dist/contexts/activity-error.js +3 -0
- package/dist/contexts/activity-signin.d.ts +8 -0
- package/dist/contexts/activity-signin.js +3 -0
- package/dist/contexts/activity.d.ts +117 -0
- package/dist/contexts/activity.js +133 -0
- package/dist/contexts/client.d.ts +53 -0
- package/dist/contexts/client.js +3 -0
- package/dist/contexts/function.d.ts +17 -0
- package/dist/contexts/function.js +3 -0
- package/dist/contexts/index.d.ts +5 -0
- package/dist/contexts/index.js +22 -0
- package/dist/events/activity-response.d.ts +16 -0
- package/dist/events/activity-response.js +3 -0
- package/dist/events/activity-sent.d.ts +16 -0
- package/dist/events/activity-sent.js +3 -0
- package/dist/events/activity.d.ts +20 -0
- package/dist/events/activity.js +3 -0
- package/dist/events/error.d.ts +16 -0
- package/dist/events/error.js +3 -0
- package/dist/events/index.d.ts +18 -0
- package/dist/events/index.js +21 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +47 -0
- package/dist/manifest.d.ts +1241 -0
- package/dist/manifest.js +3 -0
- package/dist/middleware/entra-token-validator.d.ts +75 -0
- package/dist/middleware/entra-token-validator.js +169 -0
- package/dist/middleware/index.d.ts +3 -0
- package/dist/middleware/index.js +22 -0
- package/dist/middleware/strip-mentions-text.d.ts +3 -0
- package/dist/middleware/strip-mentions-text.js +48 -0
- package/dist/middleware/with-client-auth.d.ts +13 -0
- package/dist/middleware/with-client-auth.js +40 -0
- package/dist/oauth.d.ts +9 -0
- package/dist/oauth.js +7 -0
- package/dist/plugins/http/index.d.ts +2 -0
- package/dist/plugins/http/index.js +19 -0
- package/dist/plugins/http/plugin.d.ts +986 -0
- package/dist/plugins/http/plugin.js +238 -0
- package/dist/plugins/http/stream.d.ts +956 -0
- package/dist/plugins/http/stream.js +128 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +18 -0
- package/dist/router.d.ts +34 -0
- package/dist/router.js +91 -0
- package/dist/routes/activity.d.ts +8 -0
- package/dist/routes/activity.js +3 -0
- package/dist/routes/conversation-update.d.ts +6 -0
- package/dist/routes/conversation-update.js +3 -0
- package/dist/routes/event.d.ts +17 -0
- package/dist/routes/event.js +11 -0
- package/dist/routes/index.d.ts +20 -0
- package/dist/routes/index.js +24 -0
- package/dist/routes/install.d.ts +8 -0
- package/dist/routes/install.js +3 -0
- package/dist/routes/invoke/file-consent.d.ts +6 -0
- package/dist/routes/invoke/file-consent.js +3 -0
- package/dist/routes/invoke/index.d.ts +39 -0
- package/dist/routes/invoke/index.js +45 -0
- package/dist/routes/invoke/message-extension-submit.d.ts +6 -0
- package/dist/routes/invoke/message-extension-submit.js +3 -0
- package/dist/routes/invoke/message-submit.d.ts +10 -0
- package/dist/routes/invoke/message-submit.js +3 -0
- package/dist/routes/message-delete.d.ts +6 -0
- package/dist/routes/message-delete.js +3 -0
- package/dist/routes/message-update.d.ts +6 -0
- package/dist/routes/message-update.js +3 -0
- package/dist/types/constructor.d.ts +7 -0
- package/dist/types/constructor.js +3 -0
- package/dist/types/event-handler.d.ts +1 -0
- package/dist/types/event-handler.js +3 -0
- package/dist/types/event.d.ts +11 -0
- package/dist/types/event.js +3 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.js +24 -0
- package/dist/types/plugin/decorators/dependency.d.ts +135 -0
- package/dist/types/plugin/decorators/dependency.js +49 -0
- package/dist/types/plugin/decorators/event.d.ts +18 -0
- package/dist/types/plugin/decorators/event.js +24 -0
- package/dist/types/plugin/decorators/index.d.ts +3 -0
- package/dist/types/plugin/decorators/index.js +12 -0
- package/dist/types/plugin/decorators/plugin.d.ts +25 -0
- package/dist/types/plugin/decorators/plugin.js +23 -0
- package/dist/types/plugin/index.d.ts +8 -0
- package/dist/types/plugin/index.js +25 -0
- package/dist/types/plugin/plugin-activity-event.d.ts +20 -0
- package/dist/types/plugin/plugin-activity-event.js +3 -0
- package/dist/types/plugin/plugin-activity-response-event.d.ts +20 -0
- package/dist/types/plugin/plugin-activity-response-event.js +3 -0
- package/dist/types/plugin/plugin-activity-sent-event.d.ts +16 -0
- package/dist/types/plugin/plugin-activity-sent-event.js +3 -0
- package/dist/types/plugin/plugin-error-event.d.ts +20 -0
- package/dist/types/plugin/plugin-error-event.js +3 -0
- package/dist/types/plugin/plugin-start-event.d.ts +11 -0
- package/dist/types/plugin/plugin-start-event.js +3 -0
- package/dist/types/plugin/plugin.d.ts +74 -0
- package/dist/types/plugin/plugin.js +3 -0
- package/dist/types/plugin/sender.d.ts +18 -0
- package/dist/types/plugin/sender.js +3 -0
- package/dist/types/prefixed.d.ts +3 -0
- package/dist/types/prefixed.js +3 -0
- package/dist/types/route-handler.d.ts +2 -0
- package/dist/types/route-handler.js +3 -0
- package/dist/types/streamer.d.ts +31 -0
- package/dist/types/streamer.js +3 -0
- package/dist/types/suffixed.d.ts +3 -0
- package/dist/types/suffixed.js +3 -0
- package/package.json +70 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpStream = void 0;
|
|
4
|
+
const teams_common_1 = require("@microsoft/teams.common");
|
|
5
|
+
const teams_api_1 = require("@microsoft/teams.api");
|
|
6
|
+
class HttpStream {
|
|
7
|
+
events = new teams_common_1.EventEmitter();
|
|
8
|
+
client;
|
|
9
|
+
ref;
|
|
10
|
+
index = 0;
|
|
11
|
+
id;
|
|
12
|
+
text = '';
|
|
13
|
+
attachments = [];
|
|
14
|
+
channelData = {};
|
|
15
|
+
entities = [];
|
|
16
|
+
queue = [];
|
|
17
|
+
_timeout;
|
|
18
|
+
_failures = 0;
|
|
19
|
+
constructor(client, ref) {
|
|
20
|
+
this.client = client;
|
|
21
|
+
this.ref = ref;
|
|
22
|
+
}
|
|
23
|
+
emit(activity) {
|
|
24
|
+
if (this._timeout) {
|
|
25
|
+
clearTimeout(this._timeout);
|
|
26
|
+
this._timeout = undefined;
|
|
27
|
+
}
|
|
28
|
+
if (typeof activity === 'string') {
|
|
29
|
+
activity = {
|
|
30
|
+
type: 'message',
|
|
31
|
+
text: activity,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
this.queue.push(activity);
|
|
35
|
+
this._timeout = setTimeout(this.flush.bind(this), 200);
|
|
36
|
+
}
|
|
37
|
+
async close() {
|
|
38
|
+
if (!this.queue.length)
|
|
39
|
+
return;
|
|
40
|
+
while (!this.id || this.queue.length) {
|
|
41
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
42
|
+
}
|
|
43
|
+
const activity = new teams_api_1.MessageActivity(this.text)
|
|
44
|
+
.withId(this.id)
|
|
45
|
+
.addAttachments(...this.attachments)
|
|
46
|
+
.addEntities(...this.entities)
|
|
47
|
+
.addStreamFinal();
|
|
48
|
+
const res = await this.send(activity);
|
|
49
|
+
this.events.emit('close', res);
|
|
50
|
+
this.index = 0;
|
|
51
|
+
this.id = undefined;
|
|
52
|
+
this.text = '';
|
|
53
|
+
this.attachments = [];
|
|
54
|
+
this.channelData = {};
|
|
55
|
+
this.entities = [];
|
|
56
|
+
}
|
|
57
|
+
async flush() {
|
|
58
|
+
try {
|
|
59
|
+
if (!this.queue.length)
|
|
60
|
+
return;
|
|
61
|
+
if (this._timeout) {
|
|
62
|
+
clearTimeout(this._timeout);
|
|
63
|
+
this._timeout = undefined;
|
|
64
|
+
}
|
|
65
|
+
const size = Math.round(this.queue.length / 10);
|
|
66
|
+
let i = 0;
|
|
67
|
+
while (this.queue.length && i <= size) {
|
|
68
|
+
const activity = this.queue.shift();
|
|
69
|
+
if (!activity)
|
|
70
|
+
continue;
|
|
71
|
+
if (activity.text) {
|
|
72
|
+
this.text += activity.text;
|
|
73
|
+
}
|
|
74
|
+
if (activity.attachments) {
|
|
75
|
+
this.attachments = [...(this.attachments || []), ...activity.attachments];
|
|
76
|
+
}
|
|
77
|
+
if (activity.channelData) {
|
|
78
|
+
this.channelData = {
|
|
79
|
+
...this.channelData,
|
|
80
|
+
...activity.channelData,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (activity.entities) {
|
|
84
|
+
this.entities = [...(this.entities || []), ...activity.entities];
|
|
85
|
+
}
|
|
86
|
+
i++;
|
|
87
|
+
}
|
|
88
|
+
this.index++;
|
|
89
|
+
const activity = new teams_api_1.TypingActivity({ id: this.id })
|
|
90
|
+
.withText(this.text)
|
|
91
|
+
.addStreamUpdate(this.index);
|
|
92
|
+
const res = await this.send(activity);
|
|
93
|
+
this.events.emit('chunk', res);
|
|
94
|
+
if (!this.id) {
|
|
95
|
+
this.id = res.id;
|
|
96
|
+
}
|
|
97
|
+
this._failures = 0;
|
|
98
|
+
if (this.queue.length) {
|
|
99
|
+
this._timeout = setTimeout(this.flush.bind(this), 500);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
this._failures += 2;
|
|
104
|
+
if (this.queue.length) {
|
|
105
|
+
this._timeout = setTimeout(this.flush.bind(this), (this._failures + 1) * 500);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async send(activity) {
|
|
110
|
+
activity = {
|
|
111
|
+
...activity,
|
|
112
|
+
from: this.ref.bot,
|
|
113
|
+
conversation: this.ref.conversation,
|
|
114
|
+
};
|
|
115
|
+
if (activity.id && !(activity.entities?.some((e) => e.type === 'streaminfo') || false)) {
|
|
116
|
+
const res = await this.client.conversations
|
|
117
|
+
.activities(this.ref.conversation.id)
|
|
118
|
+
.update(activity.id, activity);
|
|
119
|
+
return { ...activity, ...res };
|
|
120
|
+
}
|
|
121
|
+
const res = await this.client.conversations
|
|
122
|
+
.activities(this.ref.conversation.id)
|
|
123
|
+
.create(activity);
|
|
124
|
+
return { ...activity, ...res };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.HttpStream = HttpStream;
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvaHR0cC9zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXVEO0FBQ3ZELG9EQVU4QjtBQUk5QixNQUFhLFVBQVU7SUFDWixNQUFNLEdBQUcsSUFBSSwyQkFBWSxFQUFtQixDQUFDO0lBRTVDLE1BQU0sQ0FBUztJQUNmLEdBQUcsQ0FBd0I7SUFDM0IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLEVBQUUsQ0FBVTtJQUNaLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsV0FBVyxHQUFpQixFQUFFLENBQUM7SUFDL0IsV0FBVyxHQUFnQixFQUFFLENBQUM7SUFDOUIsUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUN4QixLQUFLLEdBQXFDLEVBQUUsQ0FBQztJQUUvQyxRQUFRLENBQWtCO0lBQzFCLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFFOUIsWUFBWSxNQUFjLEVBQUUsR0FBMEI7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksQ0FBQyxRQUE0QztRQUMvQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLFFBQVEsR0FBRztnQkFDVCxJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsUUFBUTthQUNmLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxV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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './http';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./http"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCIn0=
|
package/dist/router.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Activity } from '@microsoft/teams.api';
|
|
2
|
+
import { IRoutes } from './routes';
|
|
3
|
+
import { RouteHandler } from './types';
|
|
4
|
+
import { IActivityContext } from './contexts';
|
|
5
|
+
type Route<Name extends keyof IRoutes = keyof IRoutes> = {
|
|
6
|
+
readonly name?: Name;
|
|
7
|
+
readonly select: (activity: Activity) => boolean;
|
|
8
|
+
readonly callback: IRoutes[Name];
|
|
9
|
+
};
|
|
10
|
+
export declare class Router {
|
|
11
|
+
protected readonly routes: Route[];
|
|
12
|
+
/**
|
|
13
|
+
* select routes that match the inbound activity
|
|
14
|
+
* @param activity the inbound activity
|
|
15
|
+
*/
|
|
16
|
+
select(activity: Activity): RouteHandler<IActivityContext<Activity>, any>[];
|
|
17
|
+
/**
|
|
18
|
+
* register a new route
|
|
19
|
+
* @param route the route to register
|
|
20
|
+
*/
|
|
21
|
+
register<Name extends keyof IRoutes>(route: Route<Name>): this;
|
|
22
|
+
/**
|
|
23
|
+
* register a middleware
|
|
24
|
+
* @param callback the callback to invoke
|
|
25
|
+
*/
|
|
26
|
+
use(callback: RouteHandler<IActivityContext, any>): this;
|
|
27
|
+
/**
|
|
28
|
+
* register an activity route
|
|
29
|
+
* @param event event to subscribe to
|
|
30
|
+
* @param callback the callback to invoke
|
|
31
|
+
*/
|
|
32
|
+
on<Name extends keyof IRoutes>(event: Name, callback: Exclude<IRoutes[Name], undefined>): this;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
package/dist/router.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Router = void 0;
|
|
4
|
+
const routes_1 = require("./routes");
|
|
5
|
+
class Router {
|
|
6
|
+
routes = [];
|
|
7
|
+
/**
|
|
8
|
+
* select routes that match the inbound activity
|
|
9
|
+
* @param activity the inbound activity
|
|
10
|
+
*/
|
|
11
|
+
select(activity) {
|
|
12
|
+
return this.routes
|
|
13
|
+
.filter((r) => r.select(activity))
|
|
14
|
+
.map((r) => r.callback);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* register a new route
|
|
18
|
+
* @param route the route to register
|
|
19
|
+
*/
|
|
20
|
+
register(route) {
|
|
21
|
+
this.routes.push(route);
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* register a middleware
|
|
26
|
+
* @param callback the callback to invoke
|
|
27
|
+
*/
|
|
28
|
+
use(callback) {
|
|
29
|
+
this.register({
|
|
30
|
+
select: () => true,
|
|
31
|
+
callback,
|
|
32
|
+
});
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* register an activity route
|
|
37
|
+
* @param event event to subscribe to
|
|
38
|
+
* @param callback the callback to invoke
|
|
39
|
+
*/
|
|
40
|
+
on(event, callback) {
|
|
41
|
+
this.register({
|
|
42
|
+
name: event,
|
|
43
|
+
select: (activity) => {
|
|
44
|
+
if (event === 'activity') {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (event === activity.type) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
if (activity.type === 'conversationUpdate') {
|
|
51
|
+
return event === activity.channelData?.eventType;
|
|
52
|
+
}
|
|
53
|
+
if (activity.type === 'installationUpdate') {
|
|
54
|
+
return event === `install.${activity.action}`;
|
|
55
|
+
}
|
|
56
|
+
if (activity.type === 'messageDelete') {
|
|
57
|
+
return event === activity.channelData?.eventType;
|
|
58
|
+
}
|
|
59
|
+
if (activity.type === 'messageUpdate') {
|
|
60
|
+
return event === activity.channelData?.eventType;
|
|
61
|
+
}
|
|
62
|
+
if (activity.type === 'event') {
|
|
63
|
+
return event === routes_1.EVENT_ALIASES[activity.name];
|
|
64
|
+
}
|
|
65
|
+
if (activity.type === 'invoke') {
|
|
66
|
+
if (event === routes_1.INVOKE_ALIASES[activity.name]) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
if (activity.name === 'fileConsent/invoke') {
|
|
70
|
+
return event === `file.consent.${activity.value.action}`;
|
|
71
|
+
}
|
|
72
|
+
if (activity.name === 'composeExtension/submitAction') {
|
|
73
|
+
return event === `message.ext.${activity.value.botMessagePreviewAction}`;
|
|
74
|
+
}
|
|
75
|
+
if (activity.name === 'message/submitAction') {
|
|
76
|
+
return event === `message.submit.${activity.value.actionName}`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// custom routes
|
|
80
|
+
if (event === 'mention' && activity.entities?.some((e) => e.type === 'mention')) {
|
|
81
|
+
return (activity.entities?.find((e) => e.type === 'mention' && e.mentioned.id === activity.recipient.id) !== undefined);
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
},
|
|
85
|
+
callback,
|
|
86
|
+
});
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.Router = Router;
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxQ0FBa0U7QUFVbEUsTUFBYSxNQUFNO0lBQ0UsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUV4Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsUUFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNqQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUErQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBNkIsS0FBa0I7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLFFBQTZDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUNsQixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBNkIsS0FBVyxFQUFFLFFBQTJDO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDekIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFFRCxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzVCLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7Z0JBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7b0JBQzNDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO2dCQUNuRCxDQUFDO2dCQUVELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxvQkFBb0IsRUFBRSxDQUFDO29CQUMzQyxPQUFPLEtBQUssS0FBSyxXQUFXLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEQsQ0FBQztnQkFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO2dCQUNuRCxDQUFDO2dCQUVELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztvQkFDdEMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7Z0JBQ25ELENBQUM7Z0JBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUM5QixPQUFPLEtBQUssS0FBSyxzQkFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztnQkFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQy9CLElBQUksS0FBSyxLQUFLLHVCQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzVDLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7d0JBQzNDLE9BQU8sS0FBSyxLQUFLLGdCQUFnQixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMzRCxDQUFDO29CQUVELElBQUksUUFBUSxDQUFDLElBQUksS0FBSywrQkFBK0IsRUFBRSxDQUFDO3dCQUN0RCxPQUFPLEtBQUssS0FBSyxlQUFlLFFBQVEsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFDM0UsQ0FBQztvQkFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUUsQ0FBQzt3QkFDN0MsT0FBTyxLQUFLLEtBQUssa0JBQWtCLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2pFLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxnQkFBZ0I7Z0JBQ2hCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUNoRixPQUFPLENBQ0wsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQ3JCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDeEUsS0FBSyxTQUFTLENBQ2hCLENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUExR0Qsd0JBMEdDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Activity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type ActivityRoutes = {
|
|
5
|
+
[K in Activity['type']]?: RouteHandler<IActivityContext<Extract<Activity, {
|
|
6
|
+
type: K;
|
|
7
|
+
}>>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVzL2FjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IConversationUpdateActivity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type ConversationUpdateActivityRoutes = {
|
|
5
|
+
[K in IConversationUpdateActivity['channelData']['eventType'] as K]?: RouteHandler<IActivityContext<IConversationUpdateActivity>, void>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLXVwZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMvY29udmVyc2F0aW9uLXVwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventActivity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type EventActivityRoutes = {
|
|
5
|
+
[K in EventActivity['name'] as EventAliases[K]]?: RouteHandler<IActivityContext<Extract<EventActivity, {
|
|
6
|
+
name: K;
|
|
7
|
+
}>>, void>;
|
|
8
|
+
};
|
|
9
|
+
type EventAliases = {
|
|
10
|
+
'application/vnd.microsoft.readReceipt': 'readReceipt';
|
|
11
|
+
'application/vnd.microsoft.meetingStart': 'meetingStart';
|
|
12
|
+
'application/vnd.microsoft.meetingEnd': 'meetingEnd';
|
|
13
|
+
'application/vnd.microsoft.meetingParticipantJoin': 'meetingParticipantJoin';
|
|
14
|
+
'application/vnd.microsoft.meetingParticipantLeave': 'meetingParticipantLeave';
|
|
15
|
+
};
|
|
16
|
+
export declare const EVENT_ALIASES: EventAliases;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVENT_ALIASES = void 0;
|
|
4
|
+
exports.EVENT_ALIASES = {
|
|
5
|
+
'application/vnd.microsoft.readReceipt': 'readReceipt',
|
|
6
|
+
'application/vnd.microsoft.meetingStart': 'meetingStart',
|
|
7
|
+
'application/vnd.microsoft.meetingEnd': 'meetingEnd',
|
|
8
|
+
'application/vnd.microsoft.meetingParticipantJoin': 'meetingParticipantJoin',
|
|
9
|
+
'application/vnd.microsoft.meetingParticipantLeave': 'meetingParticipantLeave',
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVzL2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9CYSxRQUFBLGFBQWEsR0FBaUI7SUFDekMsdUNBQXVDLEVBQUUsYUFBYTtJQUN0RCx3Q0FBd0MsRUFBRSxjQUFjO0lBQ3hELHNDQUFzQyxFQUFFLFlBQVk7SUFDcEQsa0RBQWtELEVBQUUsd0JBQXdCO0lBQzVFLG1EQUFtRCxFQUFFLHlCQUF5QjtDQUMvRSxDQUFDIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IActivityContext } from '../contexts';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { ActivityRoutes } from './activity';
|
|
4
|
+
import { InvokeActivityRoutes } from './invoke';
|
|
5
|
+
import { InstallActivityRoutes } from './install';
|
|
6
|
+
import { ConversationUpdateActivityRoutes } from './conversation-update';
|
|
7
|
+
import { MessageUpdateActivityRoutes } from './message-update';
|
|
8
|
+
import { MessageDeleteActivityRoutes } from './message-delete';
|
|
9
|
+
import { EventActivityRoutes } from './event';
|
|
10
|
+
export interface IRoutes extends ActivityRoutes, InvokeActivityRoutes, InstallActivityRoutes, ConversationUpdateActivityRoutes, MessageUpdateActivityRoutes, MessageDeleteActivityRoutes, EventActivityRoutes {
|
|
11
|
+
mention?: RouteHandler<IActivityContext>;
|
|
12
|
+
activity?: RouteHandler<IActivityContext>;
|
|
13
|
+
}
|
|
14
|
+
export * from './activity';
|
|
15
|
+
export * from './install';
|
|
16
|
+
export * from './invoke';
|
|
17
|
+
export * from './conversation-update';
|
|
18
|
+
export * from './message-update';
|
|
19
|
+
export * from './message-delete';
|
|
20
|
+
export * from './event';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./activity"), exports);
|
|
18
|
+
__exportStar(require("./install"), exports);
|
|
19
|
+
__exportStar(require("./invoke"), exports);
|
|
20
|
+
__exportStar(require("./conversation-update"), exports);
|
|
21
|
+
__exportStar(require("./message-update"), exports);
|
|
22
|
+
__exportStar(require("./message-delete"), exports);
|
|
23
|
+
__exportStar(require("./event"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1QkEsNkNBQTJCO0FBQzNCLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsMENBQXdCIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InstallUpdateActivity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type InstallActivityRoutes = {
|
|
5
|
+
[K in InstallUpdateActivity['action'] as `install.${K}`]?: RouteHandler<IActivityContext<Extract<InstallUpdateActivity, {
|
|
6
|
+
action: K;
|
|
7
|
+
}>>, void>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMvaW5zdGFsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IFileConsentInvokeActivity, InvokeResponse } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../../types';
|
|
3
|
+
import { IActivityContext } from '../../contexts';
|
|
4
|
+
export type FileConsentActivityRoutes = {
|
|
5
|
+
[K in IFileConsentInvokeActivity['value']['action'] as `file.consent.${K}`]?: RouteHandler<IActivityContext<IFileConsentInvokeActivity>, InvokeResponse<'fileConsent/invoke'> | InvokeResponse<'fileConsent/invoke'>['body']>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1jb25zZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcy9pbnZva2UvZmlsZS1jb25zZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { InvokeActivity, InvokeResponse } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../../types';
|
|
3
|
+
import { IActivityContext } from '../../contexts';
|
|
4
|
+
import { FileConsentActivityRoutes } from './file-consent';
|
|
5
|
+
import { MessageExtensionSubmitActivityRoutes } from './message-extension-submit';
|
|
6
|
+
import { MessageSubmitActivityRoutes } from './message-submit';
|
|
7
|
+
export type InvokeActivityRoutes = {
|
|
8
|
+
[K in InvokeActivity['name'] as InvokeAliases[K]]?: RouteHandler<IActivityContext<Extract<InvokeActivity, {
|
|
9
|
+
name: K;
|
|
10
|
+
}>>, InvokeResponse<K> | InvokeResponse<K>['body']>;
|
|
11
|
+
} & FileConsentActivityRoutes & MessageExtensionSubmitActivityRoutes & MessageSubmitActivityRoutes;
|
|
12
|
+
type InvokeAliases = {
|
|
13
|
+
'config/fetch': 'config.open';
|
|
14
|
+
'config/submit': 'config.submit';
|
|
15
|
+
'fileConsent/invoke': 'file.consent';
|
|
16
|
+
'actionableMessage/executeAction': 'message.execute';
|
|
17
|
+
'composeExtension/queryLink': 'message.ext.query-link';
|
|
18
|
+
'composeExtension/anonymousQueryLink': 'message.ext.anon-query-link';
|
|
19
|
+
'composeExtension/query': 'message.ext.query';
|
|
20
|
+
'composeExtension/selectItem': 'message.ext.select-item';
|
|
21
|
+
'composeExtension/submitAction': 'message.ext.submit';
|
|
22
|
+
'composeExtension/fetchTask': 'message.ext.open';
|
|
23
|
+
'composeExtension/querySettingUrl': 'message.ext.query-settings-url';
|
|
24
|
+
'composeExtension/setting': 'message.ext.setting';
|
|
25
|
+
'composeExtension/onCardButtonClicked': 'message.ext.card-button-clicked';
|
|
26
|
+
'task/fetch': 'dialog.open';
|
|
27
|
+
'task/submit': 'dialog.submit';
|
|
28
|
+
'tab/fetch': 'tab.open';
|
|
29
|
+
'tab/submit': 'tab.submit';
|
|
30
|
+
'message/submitAction': 'message.submit';
|
|
31
|
+
'handoff/action': 'handoff.action';
|
|
32
|
+
'signin/tokenExchange': 'signin.token-exchange';
|
|
33
|
+
'signin/verifyState': 'signin.verify-state';
|
|
34
|
+
'adaptiveCard/action': 'card.action';
|
|
35
|
+
};
|
|
36
|
+
export declare const INVOKE_ALIASES: InvokeAliases;
|
|
37
|
+
export * from './file-consent';
|
|
38
|
+
export * from './message-extension-submit';
|
|
39
|
+
export * from './message-submit';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.INVOKE_ALIASES = void 0;
|
|
18
|
+
exports.INVOKE_ALIASES = {
|
|
19
|
+
'config/fetch': 'config.open',
|
|
20
|
+
'config/submit': 'config.submit',
|
|
21
|
+
'fileConsent/invoke': 'file.consent',
|
|
22
|
+
'actionableMessage/executeAction': 'message.execute',
|
|
23
|
+
'composeExtension/queryLink': 'message.ext.query-link',
|
|
24
|
+
'composeExtension/anonymousQueryLink': 'message.ext.anon-query-link',
|
|
25
|
+
'composeExtension/query': 'message.ext.query',
|
|
26
|
+
'composeExtension/selectItem': 'message.ext.select-item',
|
|
27
|
+
'composeExtension/submitAction': 'message.ext.submit',
|
|
28
|
+
'composeExtension/fetchTask': 'message.ext.open',
|
|
29
|
+
'composeExtension/querySettingUrl': 'message.ext.query-settings-url',
|
|
30
|
+
'composeExtension/setting': 'message.ext.setting',
|
|
31
|
+
'composeExtension/onCardButtonClicked': 'message.ext.card-button-clicked',
|
|
32
|
+
'task/fetch': 'dialog.open',
|
|
33
|
+
'task/submit': 'dialog.submit',
|
|
34
|
+
'tab/fetch': 'tab.open',
|
|
35
|
+
'tab/submit': 'tab.submit',
|
|
36
|
+
'message/submitAction': 'message.submit',
|
|
37
|
+
'handoff/action': 'handoff.action',
|
|
38
|
+
'signin/tokenExchange': 'signin.token-exchange',
|
|
39
|
+
'signin/verifyState': 'signin.verify-state',
|
|
40
|
+
'adaptiveCard/action': 'card.action',
|
|
41
|
+
};
|
|
42
|
+
__exportStar(require("./file-consent"), exports);
|
|
43
|
+
__exportStar(require("./message-extension-submit"), exports);
|
|
44
|
+
__exportStar(require("./message-submit"), exports);
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVzL2ludm9rZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQTJDYSxRQUFBLGNBQWMsR0FBa0I7SUFDM0MsY0FBYyxFQUFFLGFBQWE7SUFDN0IsZUFBZSxFQUFFLGVBQWU7SUFDaEMsb0JBQW9CLEVBQUUsY0FBYztJQUNwQyxpQ0FBaUMsRUFBRSxpQkFBaUI7SUFDcEQsNEJBQTRCLEVBQUUsd0JBQXdCO0lBQ3RELHFDQUFxQyxFQUFFLDZCQUE2QjtJQUNwRSx3QkFBd0IsRUFBRSxtQkFBbUI7SUFDN0MsNkJBQTZCLEVBQUUseUJBQXlCO0lBQ3hELCtCQUErQixFQUFFLG9CQUFvQjtJQUNyRCw0QkFBNEIsRUFBRSxrQkFBa0I7SUFDaEQsa0NBQWtDLEVBQUUsZ0NBQWdDO0lBQ3BFLDBCQUEwQixFQUFFLHFCQUFxQjtJQUNqRCxzQ0FBc0MsRUFBRSxpQ0FBaUM7SUFDekUsWUFBWSxFQUFFLGFBQWE7SUFDM0IsYUFBYSxFQUFFLGVBQWU7SUFDOUIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsWUFBWSxFQUFFLFlBQVk7SUFDMUIsc0JBQXNCLEVBQUUsZ0JBQWdCO0lBQ3hDLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxzQkFBc0IsRUFBRSx1QkFBdUI7SUFDL0Msb0JBQW9CLEVBQUUscUJBQXFCO0lBQzNDLHFCQUFxQixFQUFFLGFBQWE7Q0FDckMsQ0FBQztBQUVGLGlEQUErQjtBQUMvQiw2REFBMkM7QUFDM0MsbURBQWlDIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IMessageExtensionSubmitActionInvokeActivity, InvokeResponse } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../../types';
|
|
3
|
+
import { IActivityContext } from '../../contexts';
|
|
4
|
+
export type MessageExtensionSubmitActivityRoutes = {
|
|
5
|
+
[K in IMessageExtensionSubmitActionInvokeActivity['value']['botMessagePreviewAction'] as `message.ext.${K}`]?: RouteHandler<IActivityContext<IMessageExtensionSubmitActionInvokeActivity>, InvokeResponse<'composeExtension/submitAction'> | InvokeResponse<'composeExtension/submitAction'>['body']>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1leHRlbnNpb24tc3VibWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcy9pbnZva2UvbWVzc2FnZS1leHRlbnNpb24tc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IMessageSubmitActionInvokeActivity, InvokeResponse } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../../types';
|
|
3
|
+
import { IActivityContext } from '../../contexts';
|
|
4
|
+
export type MessageSubmitActivityRoutes = {
|
|
5
|
+
[K in IMessageSubmitActionInvokeActivity['value']['actionName'] as `message.submit.${K}`]?: RouteHandler<IActivityContext<Extract<IMessageSubmitActionInvokeActivity, {
|
|
6
|
+
value: {
|
|
7
|
+
actionName: K;
|
|
8
|
+
};
|
|
9
|
+
}>>, InvokeResponse<'message/submitAction'> | InvokeResponse<'message/submitAction'>['body']>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdWJtaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVzL2ludm9rZS9tZXNzYWdlLXN1Ym1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IMessageDeleteActivity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type MessageDeleteActivityRoutes = {
|
|
5
|
+
[K in IMessageDeleteActivity['channelData']['eventType'] as K]?: RouteHandler<IActivityContext<IMessageDeleteActivity>, void>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kZWxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVzL21lc3NhZ2UtZGVsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IMessageUpdateActivity } from '@microsoft/teams.api';
|
|
2
|
+
import { RouteHandler } from '../types';
|
|
3
|
+
import { IActivityContext } from '../contexts';
|
|
4
|
+
export type MessageUpdateActivityRoutes = {
|
|
5
|
+
[K in IMessageUpdateActivity['channelData']['eventType'] as K]?: RouteHandler<IActivityContext<IMessageUpdateActivity>, void>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS11cGRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVzL21lc3NhZ2UtdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvY29uc3RydWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type EventHandler<In, Out = void> = (value: In) => Out | Promise<Out>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9ldmVudC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|