@microsoft/agents-hosting-extensions-msteams 1.7.0-beta.8.gc2b086aef6
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 +147 -0
- package/dist/package.json +46 -0
- package/dist/src/activity-extensions/index.d.ts +1 -0
- package/dist/src/activity-extensions/index.js +8 -0
- package/dist/src/activity-extensions/index.js.map +1 -0
- package/dist/src/activity-extensions/teamsChannelData.d.ts +12 -0
- package/dist/src/activity-extensions/teamsChannelData.js +29 -0
- package/dist/src/activity-extensions/teamsChannelData.js.map +1 -0
- package/dist/src/app/index.d.ts +1 -0
- package/dist/src/app/index.js +20 -0
- package/dist/src/app/index.js.map +1 -0
- package/dist/src/app/teamsAppExtensions.d.ts +145 -0
- package/dist/src/app/teamsAppExtensions.js +201 -0
- package/dist/src/app/teamsAppExtensions.js.map +1 -0
- package/dist/src/channels/index.d.ts +1 -0
- package/dist/src/channels/index.js +20 -0
- package/dist/src/channels/index.js.map +1 -0
- package/dist/src/channels/teamsChannel.d.ts +100 -0
- package/dist/src/channels/teamsChannel.js +210 -0
- package/dist/src/channels/teamsChannel.js.map +1 -0
- package/dist/src/config/config.d.ts +37 -0
- package/dist/src/config/config.js +71 -0
- package/dist/src/config/config.js.map +1 -0
- package/dist/src/config/index.d.ts +1 -0
- package/dist/src/config/index.js +20 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/errorHelper.d.ts +19 -0
- package/dist/src/errorHelper.js +96 -0
- package/dist/src/errorHelper.js.map +1 -0
- package/dist/src/fileConsents/fileConsent.d.ts +37 -0
- package/dist/src/fileConsents/fileConsent.js +79 -0
- package/dist/src/fileConsents/fileConsent.js.map +1 -0
- package/dist/src/fileConsents/index.d.ts +1 -0
- package/dist/src/fileConsents/index.js +20 -0
- package/dist/src/fileConsents/index.js.map +1 -0
- package/dist/src/graphClientFactory.d.ts +10 -0
- package/dist/src/graphClientFactory.js +98 -0
- package/dist/src/graphClientFactory.js.map +1 -0
- package/dist/src/index.d.ts +20 -0
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/meetings/index.d.ts +1 -0
- package/dist/src/meetings/index.js +20 -0
- package/dist/src/meetings/index.js.map +1 -0
- package/dist/src/meetings/meeting.d.ts +84 -0
- package/dist/src/meetings/meeting.js +107 -0
- package/dist/src/meetings/meeting.js.map +1 -0
- package/dist/src/messageExtensions/index.d.ts +2 -0
- package/dist/src/messageExtensions/index.js +24 -0
- package/dist/src/messageExtensions/index.js.map +1 -0
- package/dist/src/messageExtensions/messageExtension.d.ts +133 -0
- package/dist/src/messageExtensions/messageExtension.js +326 -0
- package/dist/src/messageExtensions/messageExtension.js.map +1 -0
- package/dist/src/messageExtensions/messagingExtensionQuery.d.ts +87 -0
- package/dist/src/messageExtensions/messagingExtensionQuery.js +35 -0
- package/dist/src/messageExtensions/messagingExtensionQuery.js.map +1 -0
- package/dist/src/messages/index.d.ts +1 -0
- package/dist/src/messages/index.js +20 -0
- package/dist/src/messages/index.js.map +1 -0
- package/dist/src/messages/message.d.ts +67 -0
- package/dist/src/messages/message.js +129 -0
- package/dist/src/messages/message.js.map +1 -0
- package/dist/src/models/index.d.ts +1 -0
- package/dist/src/models/index.js +20 -0
- package/dist/src/models/index.js.map +1 -0
- package/dist/src/models/readReceiptInfo.d.ts +27 -0
- package/dist/src/models/readReceiptInfo.js +44 -0
- package/dist/src/models/readReceiptInfo.js.map +1 -0
- package/dist/src/taskModules/index.d.ts +1 -0
- package/dist/src/taskModules/index.js +20 -0
- package/dist/src/taskModules/index.js.map +1 -0
- package/dist/src/taskModules/taskModule.d.ts +42 -0
- package/dist/src/taskModules/taskModule.js +102 -0
- package/dist/src/taskModules/taskModule.js.map +1 -0
- package/dist/src/teams/index.d.ts +1 -0
- package/dist/src/teams/index.js +20 -0
- package/dist/src/teams/index.js.map +1 -0
- package/dist/src/teams/teamsTeam.d.ts +82 -0
- package/dist/src/teams/teamsTeam.js +172 -0
- package/dist/src/teams/teamsTeam.js.map +1 -0
- package/dist/src/teamsActivity.d.ts +15 -0
- package/dist/src/teamsActivity.js +5 -0
- package/dist/src/teamsActivity.js.map +1 -0
- package/dist/src/teamsActivityExtensions.d.ts +53 -0
- package/dist/src/teamsActivityExtensions.js +101 -0
- package/dist/src/teamsActivityExtensions.js.map +1 -0
- package/dist/src/teamsAgentExtension.d.ts +105 -0
- package/dist/src/teamsAgentExtension.js +178 -0
- package/dist/src/teamsAgentExtension.js.map +1 -0
- package/dist/src/teamsApiClientExtensions.d.ts +13 -0
- package/dist/src/teamsApiClientExtensions.js +41 -0
- package/dist/src/teamsApiClientExtensions.js.map +1 -0
- package/dist/src/teamsHeaderPropagation.d.ts +14 -0
- package/dist/src/teamsHeaderPropagation.js +35 -0
- package/dist/src/teamsHeaderPropagation.js.map +1 -0
- package/dist/src/teamsModelExtensions.d.ts +19 -0
- package/dist/src/teamsModelExtensions.js +38 -0
- package/dist/src/teamsModelExtensions.js.map +1 -0
- package/dist/src/teamsProactiveServiceEndpoints.d.ts +15 -0
- package/dist/src/teamsProactiveServiceEndpoints.js +21 -0
- package/dist/src/teamsProactiveServiceEndpoints.js.map +1 -0
- package/dist/src/teamsRouteHandler.d.ts +13 -0
- package/dist/src/teamsRouteHandler.js +18 -0
- package/dist/src/teamsRouteHandler.js.map +1 -0
- package/dist/src/teamsTurnContext.d.ts +64 -0
- package/dist/src/teamsTurnContext.js +113 -0
- package/dist/src/teamsTurnContext.js.map +1 -0
- package/package.json +46 -0
- package/src/activity-extensions/index.ts +4 -0
- package/src/activity-extensions/teamsChannelData.ts +30 -0
- package/src/app/index.ts +4 -0
- package/src/app/teamsAppExtensions.ts +369 -0
- package/src/channels/index.ts +4 -0
- package/src/channels/teamsChannel.ts +229 -0
- package/src/config/config.ts +79 -0
- package/src/config/index.ts +4 -0
- package/src/errorHelper.ts +104 -0
- package/src/fileConsents/fileConsent.ts +85 -0
- package/src/fileConsents/index.ts +4 -0
- package/src/graphClientFactory.ts +127 -0
- package/src/index.ts +23 -0
- package/src/meetings/index.ts +4 -0
- package/src/meetings/meeting.ts +146 -0
- package/src/messageExtensions/index.ts +5 -0
- package/src/messageExtensions/messageExtension.ts +370 -0
- package/src/messageExtensions/messagingExtensionQuery.ts +34 -0
- package/src/messages/index.ts +4 -0
- package/src/messages/message.ts +148 -0
- package/src/models/index.ts +4 -0
- package/src/models/readReceiptInfo.ts +50 -0
- package/src/taskModules/index.ts +4 -0
- package/src/taskModules/taskModule.ts +113 -0
- package/src/teams/index.ts +4 -0
- package/src/teams/teamsTeam.ts +189 -0
- package/src/teamsActivity.ts +19 -0
- package/src/teamsActivityExtensions.ts +99 -0
- package/src/teamsAgentExtension.ts +205 -0
- package/src/teamsApiClientExtensions.ts +47 -0
- package/src/teamsHeaderPropagation.ts +32 -0
- package/src/teamsModelExtensions.ts +42 -0
- package/src/teamsProactiveServiceEndpoints.ts +18 -0
- package/src/teamsRouteHandler.ts +22 -0
- package/src/teamsTurnContext.ts +125 -0
package/README.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# @microsoft/agents-hosting-extensions-msteams
|
|
2
|
+
|
|
3
|
+
Microsoft Teams extension for the Microsoft 365 Agents SDK for JavaScript.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @microsoft/agents-hosting-extensions-msteams
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This package provides Teams-specific functionality for building agents in Microsoft Teams. It includes support for:
|
|
14
|
+
|
|
15
|
+
- Message handling (edit, delete, undelete)
|
|
16
|
+
- Meeting events (start, end, participant join/leave)
|
|
17
|
+
- Message reactions (added/removed)
|
|
18
|
+
- Message extensions and task modules
|
|
19
|
+
- Teams information access
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
### Basic Setup
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { AgentApplication, MemoryStorage, TurnContext, TurnState } from '@microsoft/agents-hosting'
|
|
27
|
+
import { startServer } from '@microsoft/agents-hosting-express'
|
|
28
|
+
import { TeamsAgentExtension } from '@microsoft/agents-hosting-extensions-msteams'
|
|
29
|
+
|
|
30
|
+
// Create the agent application
|
|
31
|
+
const app = new AgentApplication<TurnState>({ storage: new MemoryStorage() })
|
|
32
|
+
|
|
33
|
+
// Create and register the Teams extension
|
|
34
|
+
const teamsExt = new TeamsAgentExtension(app)
|
|
35
|
+
|
|
36
|
+
app.registerExtension<TeamsAgentExtension>(teamsExt, (tae) => {
|
|
37
|
+
// Configure Teams-specific handlers here
|
|
38
|
+
console.log('Teams extension registered')
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
// Handle messages
|
|
42
|
+
app.onActivity('message', async (context: TurnContext, state: TurnState) => {
|
|
43
|
+
await context.sendActivity(`I received your message: "${context.activity.text}"`)
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
// Start the server
|
|
47
|
+
startServer(app)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Meeting Events
|
|
51
|
+
|
|
52
|
+
Handle various meeting events in Teams:
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
app.registerExtension<TeamsAgentExtension>(teamsExt, (tae) => {
|
|
56
|
+
tae.meetings
|
|
57
|
+
.onStart(async (context, state) => {
|
|
58
|
+
await context.sendActivity('Meeting started! I\'m here to assist.')
|
|
59
|
+
})
|
|
60
|
+
.onEnd(async (context, state) => {
|
|
61
|
+
await context.sendActivity('The meeting has ended. Thanks for participating!')
|
|
62
|
+
})
|
|
63
|
+
.onParticipantsJoin(async (context, state) => {
|
|
64
|
+
await context.sendActivity('Welcome to the meeting!')
|
|
65
|
+
})
|
|
66
|
+
.onParticipantsLeave(async (context, state) => {
|
|
67
|
+
await context.sendActivity('Goodbye from the meeting!')
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Message Handling
|
|
73
|
+
|
|
74
|
+
Handle message events in Teams:
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
app.registerExtension<TeamsAgentExtension>(teamsExt, (tae) => {
|
|
78
|
+
tae.messages
|
|
79
|
+
.onMessageEdit(async (context, state) => {
|
|
80
|
+
await context.sendActivity('I noticed you edited your message.')
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
tae.onMessageDelete(async (context, state) => {
|
|
84
|
+
await context.sendActivity('I noticed you deleted a message.')
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
tae.onMessageUndelete(async (context, state) => {
|
|
88
|
+
await context.sendActivity('I noticed you undeleted a message.')
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Message Extensions
|
|
94
|
+
|
|
95
|
+
Work with Teams message extensions:
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
app.registerExtension<TeamsAgentExtension>(teamsExt, (tae) => {
|
|
99
|
+
tae.messageExtensions
|
|
100
|
+
.onQuery(async (context, state) => {
|
|
101
|
+
// Handle message extension query
|
|
102
|
+
return {
|
|
103
|
+
composeExtension: {
|
|
104
|
+
type: 'result',
|
|
105
|
+
attachmentLayout: 'list',
|
|
106
|
+
attachments: [
|
|
107
|
+
// Your card attachments here
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
.onSelectItem(async (context, state) => {
|
|
113
|
+
// Handle item selection
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Task Modules
|
|
119
|
+
|
|
120
|
+
Handle Teams task modules:
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
app.registerExtension<TeamsAgentExtension>(teamsExt, (tae) => {
|
|
124
|
+
tae.taskModules
|
|
125
|
+
.onFetch('simple_form', async (context, state, request) => {
|
|
126
|
+
return {
|
|
127
|
+
task: {
|
|
128
|
+
type: 'message',
|
|
129
|
+
value: 'Open task module'
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
.onSubmit('simple_form', async (context, state, request) => {
|
|
134
|
+
return {
|
|
135
|
+
task: {
|
|
136
|
+
type: 'message',
|
|
137
|
+
value: 'Task module submitted'
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
})
|
|
141
|
+
})
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## License
|
|
145
|
+
|
|
146
|
+
MIT
|
|
147
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/package.json",
|
|
3
|
+
"name": "@microsoft/agents-hosting-extensions-msteams",
|
|
4
|
+
"version": "1.7.0-beta.8.gc2b086aef6",
|
|
5
|
+
"homepage": "https://github.com/microsoft/Agents-for-js",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/microsoft/Agents-for-js.git"
|
|
9
|
+
},
|
|
10
|
+
"author": {
|
|
11
|
+
"name": "Microsoft",
|
|
12
|
+
"email": "agentssdk@microsoft.com",
|
|
13
|
+
"url": "https://aka.ms/Agents"
|
|
14
|
+
},
|
|
15
|
+
"description": "Microsoft 365 Agents SDK for JavaScript. MS Teams extensions",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"Agents"
|
|
18
|
+
],
|
|
19
|
+
"main": "dist/src/index.js",
|
|
20
|
+
"types": "dist/src/index.d.ts",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@microsoft/agents-activity": "1.7.0-beta.8.gc2b086aef6",
|
|
23
|
+
"@microsoft/agents-hosting": "1.7.0-beta.8.gc2b086aef6",
|
|
24
|
+
"@microsoft/microsoft-graph-client": "3.0.7",
|
|
25
|
+
"@microsoft/teams.api": "2.0.14",
|
|
26
|
+
"zod": "3.25.75"
|
|
27
|
+
},
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"files": [
|
|
30
|
+
"README.md",
|
|
31
|
+
"dist/package.json",
|
|
32
|
+
"dist/src",
|
|
33
|
+
"src",
|
|
34
|
+
"package.json"
|
|
35
|
+
],
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"import": "./dist/src/index.js",
|
|
39
|
+
"require": "./dist/src/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./package.json": "./package.json"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=20.0.0"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { parseTeamsChannelData } from './teamsChannelData';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.parseTeamsChannelData = void 0;
|
|
6
|
+
var teamsChannelData_1 = require("./teamsChannelData");
|
|
7
|
+
Object.defineProperty(exports, "parseTeamsChannelData", { enumerable: true, get: function () { return teamsChannelData_1.parseTeamsChannelData; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/activity-extensions/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC,uDAA0D;AAAjD,yHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright(c) Microsoft Corporation.All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { ChannelData } from '@microsoft/teams.api';
|
|
6
|
+
/**
|
|
7
|
+
* Parses the given object as Teams ChannelData.
|
|
8
|
+
*
|
|
9
|
+
* @param {unknown} o - The value to parse.
|
|
10
|
+
* @returns {ChannelData} - The parsed ChannelData.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseTeamsChannelData(o: unknown): ChannelData;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright(c) Microsoft Corporation.All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.parseTeamsChannelData = parseTeamsChannelData;
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
/**
|
|
10
|
+
* Root-level validation for Teams channel data objects.
|
|
11
|
+
*
|
|
12
|
+
* The Teams SDK already defines the nested ChannelData shape. This parser
|
|
13
|
+
* normalizes missing root data to an empty object, verifies non-nullish input is
|
|
14
|
+
* an object, and preserves all properties as-is.
|
|
15
|
+
*/
|
|
16
|
+
const teamsChannelDataZodSchema = zod_1.z.object({}).passthrough();
|
|
17
|
+
/**
|
|
18
|
+
* Parses the given object as Teams ChannelData.
|
|
19
|
+
*
|
|
20
|
+
* @param {unknown} o - The value to parse.
|
|
21
|
+
* @returns {ChannelData} - The parsed ChannelData.
|
|
22
|
+
*/
|
|
23
|
+
function parseTeamsChannelData(o) {
|
|
24
|
+
if (o == null) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
return teamsChannelDataZodSchema.parse(o);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=teamsChannelData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teamsChannelData.js","sourceRoot":"","sources":["../../../src/activity-extensions/teamsChannelData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAoBH,sDAMC;AAxBD,6BAAuB;AAGvB;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAE5D;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAE,CAAU;IAC/C,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,EAAiB,CAAA;IAC1B,CAAC;IAED,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAgB,CAAA;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './teamsAppExtensions';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
__exportStar(require("./teamsAppExtensions"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;;;;;;;;;;;;;;AAElC,uDAAoC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { AgentApplication, ConversationUpdateEvents, RouteSelector, TurnState } from '@microsoft/agents-hosting';
|
|
2
|
+
import { TeamsRouteHandler } from '../teamsRouteHandler';
|
|
3
|
+
import { TeamsTurnContext } from '../teamsTurnContext';
|
|
4
|
+
/**
|
|
5
|
+
* Value submitted by a Teams feedback loop action.
|
|
6
|
+
*/
|
|
7
|
+
export interface FeedbackActionValue {
|
|
8
|
+
/**
|
|
9
|
+
* Feedback reaction selected by the user.
|
|
10
|
+
*/
|
|
11
|
+
reaction?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Optional feedback text or structured feedback data.
|
|
14
|
+
*/
|
|
15
|
+
feedback?: string | Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Payload supplied to Teams feedback loop handlers.
|
|
19
|
+
*/
|
|
20
|
+
export interface FeedbackData {
|
|
21
|
+
/**
|
|
22
|
+
* Name of the submitted action.
|
|
23
|
+
*/
|
|
24
|
+
actionName?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Value submitted with the feedback action.
|
|
27
|
+
*/
|
|
28
|
+
actionValue?: FeedbackActionValue;
|
|
29
|
+
/**
|
|
30
|
+
* ID of the activity that the feedback applies to.
|
|
31
|
+
*/
|
|
32
|
+
replyToId?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Handler for Teams handoff invoke activities.
|
|
36
|
+
*/
|
|
37
|
+
export type TeamsHandoffHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, continuation: string) => Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Handler for Teams feedback loop invoke activities.
|
|
40
|
+
*/
|
|
41
|
+
export type TeamsFeedbackLoopHandler<TState extends TurnState> = (context: TeamsTurnContext, state: TState, feedbackData: FeedbackData) => Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Registers a route that handles Teams activities by activity type.
|
|
44
|
+
*
|
|
45
|
+
* @param app - The agent application that receives the route.
|
|
46
|
+
* @param type - Activity type or regular expression to match.
|
|
47
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
48
|
+
* @param rank - Optional route rank used for route ordering.
|
|
49
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
50
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
51
|
+
* @returns The agent application for chaining.
|
|
52
|
+
*/
|
|
53
|
+
export declare function onTeamsActivity<TState extends TurnState>(app: AgentApplication<TState>, type: string | RegExp, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
54
|
+
/**
|
|
55
|
+
* Registers a route that handles Teams conversation update activities.
|
|
56
|
+
*
|
|
57
|
+
* @param app - The agent application that receives the route.
|
|
58
|
+
* @param event - Conversation update event name to match.
|
|
59
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
60
|
+
* @param rank - Optional route rank used for route ordering.
|
|
61
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
62
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
63
|
+
* @returns The agent application for chaining.
|
|
64
|
+
*/
|
|
65
|
+
export declare function onTeamsConversationUpdate<TState extends TurnState>(app: AgentApplication<TState>, event: ConversationUpdateEvents | string, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
66
|
+
/**
|
|
67
|
+
* Registers a route that handles Teams message activities by text.
|
|
68
|
+
*
|
|
69
|
+
* @param app - The agent application that receives the route.
|
|
70
|
+
* @param text - Message text or regular expression to match.
|
|
71
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
72
|
+
* @param rank - Optional route rank used for route ordering.
|
|
73
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
74
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
75
|
+
* @returns The agent application for chaining.
|
|
76
|
+
*/
|
|
77
|
+
export declare function onTeamsMessage<TState extends TurnState>(app: AgentApplication<TState>, text: string | RegExp, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
78
|
+
/**
|
|
79
|
+
* Registers a route that handles Teams event activities by event name.
|
|
80
|
+
*
|
|
81
|
+
* @param app - The agent application that receives the route.
|
|
82
|
+
* @param name - Event name or regular expression to match.
|
|
83
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
84
|
+
* @param rank - Optional route rank used for route ordering.
|
|
85
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
86
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
87
|
+
* @returns The agent application for chaining.
|
|
88
|
+
*/
|
|
89
|
+
export declare function onTeamsEvent<TState extends TurnState>(app: AgentApplication<TState>, name: string | RegExp, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
90
|
+
/**
|
|
91
|
+
* Registers a route that handles Teams event activities by custom selector.
|
|
92
|
+
*
|
|
93
|
+
* @param app - The agent application that receives the route.
|
|
94
|
+
* @param selector - Selector used to decide whether the route should run.
|
|
95
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
96
|
+
* @param rank - Optional route rank used for route ordering.
|
|
97
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
98
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
99
|
+
* @returns The agent application for chaining.
|
|
100
|
+
*/
|
|
101
|
+
export declare function onTeamsEvent<TState extends TurnState>(app: AgentApplication<TState>, selector: RouteSelector, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
102
|
+
/**
|
|
103
|
+
* Registers a route that handles Teams message reaction added activities.
|
|
104
|
+
*
|
|
105
|
+
* @param app - The agent application that receives the route.
|
|
106
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
107
|
+
* @param rank - Optional route rank used for route ordering.
|
|
108
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
109
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
110
|
+
* @returns The agent application for chaining.
|
|
111
|
+
*/
|
|
112
|
+
export declare function onTeamsMessageReactionsAdded<TState extends TurnState>(app: AgentApplication<TState>, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
113
|
+
/**
|
|
114
|
+
* Registers a route that handles Teams message reaction removed activities.
|
|
115
|
+
*
|
|
116
|
+
* @param app - The agent application that receives the route.
|
|
117
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
118
|
+
* @param rank - Optional route rank used for route ordering.
|
|
119
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
120
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
121
|
+
* @returns The agent application for chaining.
|
|
122
|
+
*/
|
|
123
|
+
export declare function onTeamsMessageReactionsRemoved<TState extends TurnState>(app: AgentApplication<TState>, handler: TeamsRouteHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
124
|
+
/**
|
|
125
|
+
* Registers a route that handles Teams handoff invoke activities.
|
|
126
|
+
*
|
|
127
|
+
* @param app - The agent application that receives the route.
|
|
128
|
+
* @param handler - Handler invoked with the handoff continuation value.
|
|
129
|
+
* @param rank - Optional route rank used for route ordering.
|
|
130
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
131
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
132
|
+
* @returns The agent application for chaining.
|
|
133
|
+
*/
|
|
134
|
+
export declare function onTeamsHandoff<TState extends TurnState>(app: AgentApplication<TState>, handler: TeamsHandoffHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
135
|
+
/**
|
|
136
|
+
* Registers a route that handles Teams feedback loop invoke activities.
|
|
137
|
+
*
|
|
138
|
+
* @param app - The agent application that receives the route.
|
|
139
|
+
* @param handler - Handler invoked with feedback loop data.
|
|
140
|
+
* @param rank - Optional route rank used for route ordering.
|
|
141
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
142
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
143
|
+
* @returns The agent application for chaining.
|
|
144
|
+
*/
|
|
145
|
+
export declare function onTeamsFeedbackLoop<TState extends TurnState>(app: AgentApplication<TState>, handler: TeamsFeedbackLoopHandler<TState>, rank?: number, authHandlers?: string[], isAgenticRoute?: boolean): AgentApplication<TState>;
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.onTeamsActivity = onTeamsActivity;
|
|
6
|
+
exports.onTeamsConversationUpdate = onTeamsConversationUpdate;
|
|
7
|
+
exports.onTeamsMessage = onTeamsMessage;
|
|
8
|
+
exports.onTeamsEvent = onTeamsEvent;
|
|
9
|
+
exports.onTeamsMessageReactionsAdded = onTeamsMessageReactionsAdded;
|
|
10
|
+
exports.onTeamsMessageReactionsRemoved = onTeamsMessageReactionsRemoved;
|
|
11
|
+
exports.onTeamsHandoff = onTeamsHandoff;
|
|
12
|
+
exports.onTeamsFeedbackLoop = onTeamsFeedbackLoop;
|
|
13
|
+
const agents_activity_1 = require("@microsoft/agents-activity");
|
|
14
|
+
const agents_hosting_1 = require("@microsoft/agents-hosting");
|
|
15
|
+
const teamsRouteHandler_1 = require("../teamsRouteHandler");
|
|
16
|
+
const teamsTurnContext_1 = require("../teamsTurnContext");
|
|
17
|
+
function isTeamsRouteContext(context, isAgenticRoute) {
|
|
18
|
+
return context.activity.channelId === agents_activity_1.Channels.Msteams &&
|
|
19
|
+
(!isAgenticRoute || (isAgenticRoute && context.activity.isAgenticRequest()));
|
|
20
|
+
}
|
|
21
|
+
function matchesValue(actual, expected) {
|
|
22
|
+
if (typeof expected === 'string') {
|
|
23
|
+
return expected.toLocaleLowerCase() === (actual === null || actual === void 0 ? void 0 : actual.toLocaleLowerCase());
|
|
24
|
+
}
|
|
25
|
+
return actual != null && expected.test(actual);
|
|
26
|
+
}
|
|
27
|
+
function addTeamsRoute(app, selector, handler, isInvokeRoute, rank, authHandlers, isAgenticRoute) {
|
|
28
|
+
return app.addRoute(selector, handler, isInvokeRoute, rank, authHandlers, isAgenticRoute);
|
|
29
|
+
}
|
|
30
|
+
function addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute) {
|
|
31
|
+
return addTeamsRoute(app, selector, (0, teamsRouteHandler_1.createTeamsRouteHandler)(handler), false, rank, authHandlers, isAgenticRoute);
|
|
32
|
+
}
|
|
33
|
+
function createInvokeResponse() {
|
|
34
|
+
const invokeResponse = new agents_activity_1.Activity(agents_activity_1.ActivityTypes.InvokeResponse);
|
|
35
|
+
invokeResponse.value = { status: 200 };
|
|
36
|
+
return invokeResponse;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Registers a route that handles Teams activities by activity type.
|
|
40
|
+
*
|
|
41
|
+
* @param app - The agent application that receives the route.
|
|
42
|
+
* @param type - Activity type or regular expression to match.
|
|
43
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
44
|
+
* @param rank - Optional route rank used for route ordering.
|
|
45
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
46
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
47
|
+
* @returns The agent application for chaining.
|
|
48
|
+
*/
|
|
49
|
+
function onTeamsActivity(app, type, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
50
|
+
const selector = async (context) => isTeamsRouteContext(context, isAgenticRoute) &&
|
|
51
|
+
matchesValue(context.activity.type, type);
|
|
52
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Registers a route that handles Teams conversation update activities.
|
|
56
|
+
*
|
|
57
|
+
* @param app - The agent application that receives the route.
|
|
58
|
+
* @param event - Conversation update event name to match.
|
|
59
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
60
|
+
* @param rank - Optional route rank used for route ordering.
|
|
61
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
62
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
63
|
+
* @returns The agent application for chaining.
|
|
64
|
+
*/
|
|
65
|
+
function onTeamsConversationUpdate(app, event, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
66
|
+
const selector = async (context) => {
|
|
67
|
+
if (!isTeamsRouteContext(context, isAgenticRoute) ||
|
|
68
|
+
context.activity.type !== agents_activity_1.ActivityTypes.ConversationUpdate) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
if (event === 'membersAdded') {
|
|
72
|
+
return Array.isArray(context.activity.membersAdded) && context.activity.membersAdded.length > 0;
|
|
73
|
+
}
|
|
74
|
+
if (event === 'membersRemoved') {
|
|
75
|
+
return Array.isArray(context.activity.membersRemoved) && context.activity.membersRemoved.length > 0;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
};
|
|
79
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Registers a route that handles Teams message activities by text.
|
|
83
|
+
*
|
|
84
|
+
* @param app - The agent application that receives the route.
|
|
85
|
+
* @param text - Message text or regular expression to match.
|
|
86
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
87
|
+
* @param rank - Optional route rank used for route ordering.
|
|
88
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
89
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
90
|
+
* @returns The agent application for chaining.
|
|
91
|
+
*/
|
|
92
|
+
function onTeamsMessage(app, text, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
93
|
+
const selector = async (context) => isTeamsRouteContext(context, isAgenticRoute) &&
|
|
94
|
+
context.activity.type === agents_activity_1.ActivityTypes.Message &&
|
|
95
|
+
matchesValue(context.activity.text, text);
|
|
96
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
97
|
+
}
|
|
98
|
+
function onTeamsEvent(app, nameOrSelector, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
99
|
+
const selector = async (context) => {
|
|
100
|
+
if (!isTeamsRouteContext(context, isAgenticRoute) ||
|
|
101
|
+
context.activity.type !== agents_activity_1.ActivityTypes.Event) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (typeof nameOrSelector === 'function') {
|
|
105
|
+
return await nameOrSelector(context);
|
|
106
|
+
}
|
|
107
|
+
return matchesValue(context.activity.name, nameOrSelector);
|
|
108
|
+
};
|
|
109
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Registers a route that handles Teams message reaction added activities.
|
|
113
|
+
*
|
|
114
|
+
* @param app - The agent application that receives the route.
|
|
115
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
116
|
+
* @param rank - Optional route rank used for route ordering.
|
|
117
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
118
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
119
|
+
* @returns The agent application for chaining.
|
|
120
|
+
*/
|
|
121
|
+
function onTeamsMessageReactionsAdded(app, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
122
|
+
const selector = async (context) => isTeamsRouteContext(context, isAgenticRoute) &&
|
|
123
|
+
context.activity.type === agents_activity_1.ActivityTypes.MessageReaction &&
|
|
124
|
+
Array.isArray(context.activity.reactionsAdded) &&
|
|
125
|
+
context.activity.reactionsAdded.length > 0;
|
|
126
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Registers a route that handles Teams message reaction removed activities.
|
|
130
|
+
*
|
|
131
|
+
* @param app - The agent application that receives the route.
|
|
132
|
+
* @param handler - Handler invoked with a Teams turn context and turn state.
|
|
133
|
+
* @param rank - Optional route rank used for route ordering.
|
|
134
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
135
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
136
|
+
* @returns The agent application for chaining.
|
|
137
|
+
*/
|
|
138
|
+
function onTeamsMessageReactionsRemoved(app, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
139
|
+
const selector = async (context) => isTeamsRouteContext(context, isAgenticRoute) &&
|
|
140
|
+
context.activity.type === agents_activity_1.ActivityTypes.MessageReaction &&
|
|
141
|
+
Array.isArray(context.activity.reactionsRemoved) &&
|
|
142
|
+
context.activity.reactionsRemoved.length > 0;
|
|
143
|
+
return addTeamsRouteHandler(app, selector, handler, rank, authHandlers, isAgenticRoute);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Registers a route that handles Teams handoff invoke activities.
|
|
147
|
+
*
|
|
148
|
+
* @param app - The agent application that receives the route.
|
|
149
|
+
* @param handler - Handler invoked with the handoff continuation value.
|
|
150
|
+
* @param rank - Optional route rank used for route ordering.
|
|
151
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
152
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
153
|
+
* @returns The agent application for chaining.
|
|
154
|
+
*/
|
|
155
|
+
function onTeamsHandoff(app, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
156
|
+
const selector = async (context) => {
|
|
157
|
+
var _a;
|
|
158
|
+
return isTeamsRouteContext(context, isAgenticRoute) &&
|
|
159
|
+
context.activity.type === agents_activity_1.ActivityTypes.Invoke &&
|
|
160
|
+
((_a = context.activity.name) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === 'handoff/action';
|
|
161
|
+
};
|
|
162
|
+
const routeHandler = async (context, state) => {
|
|
163
|
+
const value = context.activity.value;
|
|
164
|
+
const continuation = typeof (value === null || value === void 0 ? void 0 : value.continuation) === 'string'
|
|
165
|
+
? value.continuation
|
|
166
|
+
: typeof (value === null || value === void 0 ? void 0 : value.Continuation) === 'string' ? value.Continuation : '';
|
|
167
|
+
await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, continuation);
|
|
168
|
+
await context.sendActivity(createInvokeResponse());
|
|
169
|
+
};
|
|
170
|
+
return addTeamsRoute(app, selector, routeHandler, true, rank, authHandlers, isAgenticRoute);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Registers a route that handles Teams feedback loop invoke activities.
|
|
174
|
+
*
|
|
175
|
+
* @param app - The agent application that receives the route.
|
|
176
|
+
* @param handler - Handler invoked with feedback loop data.
|
|
177
|
+
* @param rank - Optional route rank used for route ordering.
|
|
178
|
+
* @param authHandlers - Optional authorization handlers required by the route.
|
|
179
|
+
* @param isAgenticRoute - Indicates whether the route should handle agentic requests only.
|
|
180
|
+
* @returns The agent application for chaining.
|
|
181
|
+
*/
|
|
182
|
+
function onTeamsFeedbackLoop(app, handler, rank = agents_hosting_1.RouteRank.Unspecified, authHandlers = [], isAgenticRoute = false) {
|
|
183
|
+
const selector = async (context) => {
|
|
184
|
+
var _a;
|
|
185
|
+
const actionName = (_a = context.activity.value) === null || _a === void 0 ? void 0 : _a.actionName;
|
|
186
|
+
return isTeamsRouteContext(context, isAgenticRoute) &&
|
|
187
|
+
context.activity.type === agents_activity_1.ActivityTypes.Invoke &&
|
|
188
|
+
context.activity.name === 'message/submitAction' &&
|
|
189
|
+
actionName === 'feedback';
|
|
190
|
+
};
|
|
191
|
+
const routeHandler = async (context, state) => {
|
|
192
|
+
const feedbackData = {
|
|
193
|
+
...context.activity.value,
|
|
194
|
+
replyToId: context.activity.replyToId
|
|
195
|
+
};
|
|
196
|
+
await handler(new teamsTurnContext_1.TeamsTurnContext(context), state, feedbackData);
|
|
197
|
+
await context.sendActivity(createInvokeResponse());
|
|
198
|
+
};
|
|
199
|
+
return addTeamsRoute(app, selector, routeHandler, true, rank, authHandlers, isAgenticRoute);
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=teamsAppExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teamsAppExtensions.js","sourceRoot":"","sources":["../../../src/app/teamsAppExtensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './teamsChannel';
|