@microsoft/app-manifest 1.0.0-beta.2025041708.0 → 1.0.0-beta.2025042207.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/declarativeCopilotManifest.d.ts +0 -1
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.d.ts +30 -30
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js +10 -10
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js.map +1 -1
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.d.ts +29 -29
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js +10 -10
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js.map +1 -1
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.d.ts +36 -36
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js +12 -12
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js.map +1 -1
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.d.ts +292 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js +259 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js.map +1 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.d.ts +91 -91
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js +25 -25
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js.map +1 -1
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +86 -86
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +24 -24
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -1
- package/build/generated-types/index.d.ts +26 -24
- package/build/generated-types/index.js +20 -13
- package/build/generated-types/index.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D0.d.ts +87 -87
- package/build/generated-types/teams/TeamsManifestV1D0.js +27 -27
- package/build/generated-types/teams/TeamsManifestV1D0.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D1.d.ts +86 -86
- package/build/generated-types/teams/TeamsManifestV1D1.js +26 -26
- package/build/generated-types/teams/TeamsManifestV1D1.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D10.d.ts +185 -185
- package/build/generated-types/teams/TeamsManifestV1D10.js +58 -58
- package/build/generated-types/teams/TeamsManifestV1D10.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D11.d.ts +188 -188
- package/build/generated-types/teams/TeamsManifestV1D11.js +60 -60
- package/build/generated-types/teams/TeamsManifestV1D11.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D12.d.ts +187 -187
- package/build/generated-types/teams/TeamsManifestV1D12.js +60 -60
- package/build/generated-types/teams/TeamsManifestV1D12.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D13.d.ts +189 -189
- package/build/generated-types/teams/TeamsManifestV1D13.js +60 -60
- package/build/generated-types/teams/TeamsManifestV1D13.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D14.d.ts +192 -192
- package/build/generated-types/teams/TeamsManifestV1D14.js +61 -61
- package/build/generated-types/teams/TeamsManifestV1D14.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D15.d.ts +192 -192
- package/build/generated-types/teams/TeamsManifestV1D15.js +61 -61
- package/build/generated-types/teams/TeamsManifestV1D15.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D16.d.ts +196 -196
- package/build/generated-types/teams/TeamsManifestV1D16.js +62 -62
- package/build/generated-types/teams/TeamsManifestV1D16.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D17.d.ts +347 -347
- package/build/generated-types/teams/TeamsManifestV1D17.js +129 -129
- package/build/generated-types/teams/TeamsManifestV1D17.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D19.d.ts +356 -356
- package/build/generated-types/teams/TeamsManifestV1D19.js +132 -132
- package/build/generated-types/teams/TeamsManifestV1D19.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D2.d.ts +86 -86
- package/build/generated-types/teams/TeamsManifestV1D2.js +26 -26
- package/build/generated-types/teams/TeamsManifestV1D2.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D20.d.ts +409 -409
- package/build/generated-types/teams/TeamsManifestV1D20.js +150 -150
- package/build/generated-types/teams/TeamsManifestV1D20.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D3.d.ts +90 -90
- package/build/generated-types/teams/TeamsManifestV1D3.js +28 -28
- package/build/generated-types/teams/TeamsManifestV1D3.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D4.d.ts +99 -99
- package/build/generated-types/teams/TeamsManifestV1D4.js +32 -32
- package/build/generated-types/teams/TeamsManifestV1D4.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D5.d.ts +123 -123
- package/build/generated-types/teams/TeamsManifestV1D5.js +39 -39
- package/build/generated-types/teams/TeamsManifestV1D5.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D6.d.ts +128 -128
- package/build/generated-types/teams/TeamsManifestV1D6.js +41 -41
- package/build/generated-types/teams/TeamsManifestV1D6.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D7.d.ts +134 -134
- package/build/generated-types/teams/TeamsManifestV1D7.js +44 -44
- package/build/generated-types/teams/TeamsManifestV1D7.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D8.d.ts +151 -151
- package/build/generated-types/teams/TeamsManifestV1D8.js +48 -48
- package/build/generated-types/teams/TeamsManifestV1D8.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestV1D9.d.ts +172 -172
- package/build/generated-types/teams/TeamsManifestV1D9.js +54 -54
- package/build/generated-types/teams/TeamsManifestV1D9.js.map +1 -1
- package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +581 -581
- package/build/generated-types/teams/TeamsManifestVDevPreview.js +200 -200
- package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -1
- package/build/index.d.ts +0 -14
- package/build/index.js +0 -97
- package/build/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
export interface TeamsManifestV1D5 {
|
|
2
2
|
$schema?: string;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* starting with '#', for example `#4464ee`.
|
|
4
|
+
* The version of the schema this manifest is using.
|
|
6
5
|
*/
|
|
7
|
-
|
|
6
|
+
manifestVersion: "1.5";
|
|
8
7
|
/**
|
|
9
|
-
* The
|
|
8
|
+
* The version of the app. Changes to your manifest should cause a version change. This
|
|
9
|
+
* version string must follow the semver standard (http://semver.org).
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
version: string;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
* is supported.
|
|
13
|
+
* A unique identifier for this app. This id must be a GUID.
|
|
15
14
|
*/
|
|
16
|
-
|
|
15
|
+
id: string;
|
|
16
|
+
/**
|
|
17
|
+
* A unique identifier for this app in reverse domain notation. E.g: com.example.myapp
|
|
18
|
+
*/
|
|
19
|
+
packageName?: string;
|
|
20
|
+
localizationInfo?: LocalizationInfo;
|
|
21
|
+
developer: Developer;
|
|
22
|
+
name: Name;
|
|
23
|
+
description: Description;
|
|
24
|
+
icons: Icons;
|
|
25
|
+
/**
|
|
26
|
+
* A color to use in conjunction with the icon. The value must be a valid HTML color code
|
|
27
|
+
* starting with '#', for example `#4464ee`.
|
|
28
|
+
*/
|
|
29
|
+
accentColor: string;
|
|
17
30
|
/**
|
|
18
31
|
* These are tabs users can optionally add to their channels and 1:1 or group chats and
|
|
19
32
|
* require extra configuration before they are added. Configurable tabs are not supported in
|
|
@@ -21,41 +34,33 @@ export interface TeamsManifestV1D5 {
|
|
|
21
34
|
*/
|
|
22
35
|
configurableTabs?: ConfigurableTab[];
|
|
23
36
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
connectors?: Connector[];
|
|
28
|
-
description: Description;
|
|
29
|
-
developer: Developer;
|
|
30
|
-
/**
|
|
31
|
-
* Specify the native features on a user's device that your app may request access to.
|
|
37
|
+
* A set of tabs that may be 'pinned' by default, without the user adding them manually.
|
|
38
|
+
* Static tabs declared in personal scope are always pinned to the app's personal
|
|
39
|
+
* experience. Static tabs do not currently support the 'teams' scope.
|
|
32
40
|
*/
|
|
33
|
-
|
|
34
|
-
icons: Icons;
|
|
41
|
+
staticTabs?: StaticTab[];
|
|
35
42
|
/**
|
|
36
|
-
*
|
|
43
|
+
* The set of bots for this app. Currently only one bot per app is supported.
|
|
37
44
|
*/
|
|
38
|
-
|
|
39
|
-
localizationInfo?: LocalizationInfo;
|
|
45
|
+
bots?: Bot[];
|
|
40
46
|
/**
|
|
41
|
-
* The
|
|
47
|
+
* The set of Office365 connectors for this app. Currently only one connector per app is
|
|
48
|
+
* supported.
|
|
42
49
|
*/
|
|
43
|
-
|
|
44
|
-
name: Name;
|
|
50
|
+
connectors?: Connector[];
|
|
45
51
|
/**
|
|
46
|
-
*
|
|
52
|
+
* The set of compose extensions for this app. Currently only one compose extension per app
|
|
53
|
+
* is supported.
|
|
47
54
|
*/
|
|
48
|
-
|
|
55
|
+
composeExtensions?: ComposeExtension[];
|
|
49
56
|
/**
|
|
50
57
|
* Specifies the permissions the app requests from users.
|
|
51
58
|
*/
|
|
52
59
|
permissions?: Permission[];
|
|
53
60
|
/**
|
|
54
|
-
*
|
|
55
|
-
* Static tabs declared in personal scope are always pinned to the app's personal
|
|
56
|
-
* experience. Static tabs do not currently support the 'teams' scope.
|
|
61
|
+
* Specify the native features on a user's device that your app may request access to.
|
|
57
62
|
*/
|
|
58
|
-
|
|
63
|
+
devicePermissions?: DevicePermission[];
|
|
59
64
|
/**
|
|
60
65
|
* A list of valid domains from which the tabs expect to load any content. Domain listings
|
|
61
66
|
* can include wildcards, for example `*.example.com`. If your tab configuration or content
|
|
@@ -63,11 +68,6 @@ export interface TeamsManifestV1D5 {
|
|
|
63
68
|
* domain must be specified here.
|
|
64
69
|
*/
|
|
65
70
|
validDomains?: string[];
|
|
66
|
-
/**
|
|
67
|
-
* The version of the app. Changes to your manifest should cause a version change. This
|
|
68
|
-
* version string must follow the semver standard (http://semver.org).
|
|
69
|
-
*/
|
|
70
|
-
version: string;
|
|
71
71
|
/**
|
|
72
72
|
* Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
|
|
73
73
|
* app.
|
|
@@ -81,21 +81,19 @@ export interface Bot {
|
|
|
81
81
|
*/
|
|
82
82
|
botId: string;
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* scope.
|
|
84
|
+
* This value describes whether or not the bot utilizes a user hint to add the bot to a
|
|
85
|
+
* specific channel.
|
|
87
86
|
*/
|
|
88
|
-
|
|
87
|
+
needsChannelSelector?: boolean;
|
|
89
88
|
/**
|
|
90
89
|
* A value indicating whether or not the bot is a one-way notification only bot, as opposed
|
|
91
90
|
* to a conversational bot.
|
|
92
91
|
*/
|
|
93
92
|
isNotificationOnly?: boolean;
|
|
94
93
|
/**
|
|
95
|
-
*
|
|
96
|
-
* specific channel.
|
|
94
|
+
* A value indicating whether the bot supports uploading/downloading of files.
|
|
97
95
|
*/
|
|
98
|
-
|
|
96
|
+
supportsFiles?: boolean;
|
|
99
97
|
/**
|
|
100
98
|
* Specifies whether the bot offers an experience in the context of a channel in a team, in
|
|
101
99
|
* a 1:1 or group chat, or in an experience scoped to an individual user alone. These
|
|
@@ -103,26 +101,28 @@ export interface Bot {
|
|
|
103
101
|
*/
|
|
104
102
|
scopes: CommandListScope[];
|
|
105
103
|
/**
|
|
106
|
-
*
|
|
104
|
+
* The list of commands that the bot supplies, including their usage, description, and the
|
|
105
|
+
* scope for which the commands are valid. A separate command list should be used for each
|
|
106
|
+
* scope.
|
|
107
107
|
*/
|
|
108
|
-
|
|
108
|
+
commandLists?: CommandList[];
|
|
109
109
|
}
|
|
110
110
|
export interface CommandList {
|
|
111
|
-
commands: CommandListCommand[];
|
|
112
111
|
/**
|
|
113
112
|
* Specifies the scopes for which the command list is valid
|
|
114
113
|
*/
|
|
115
114
|
scopes: CommandListScope[];
|
|
115
|
+
commands: CommandListCommand[];
|
|
116
116
|
}
|
|
117
117
|
export interface CommandListCommand {
|
|
118
|
-
/**
|
|
119
|
-
* A simple text description or an example of the command syntax and its arguments.
|
|
120
|
-
*/
|
|
121
|
-
description: string;
|
|
122
118
|
/**
|
|
123
119
|
* The bot command name
|
|
124
120
|
*/
|
|
125
121
|
title: string;
|
|
122
|
+
/**
|
|
123
|
+
* A simple text description or an example of the command syntax and its arguments.
|
|
124
|
+
*/
|
|
125
|
+
description: string;
|
|
126
126
|
}
|
|
127
127
|
export type CommandListScope = "team" | "personal" | "groupChat" | "groupchat";
|
|
128
128
|
export interface ComposeExtension {
|
|
@@ -144,63 +144,63 @@ export interface ComposeExtension {
|
|
|
144
144
|
}
|
|
145
145
|
export interface ComposeExtensionCommand {
|
|
146
146
|
/**
|
|
147
|
-
*
|
|
147
|
+
* Id of the command.
|
|
148
148
|
*/
|
|
149
|
-
|
|
149
|
+
id: string;
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
151
|
+
* Type of the command
|
|
152
152
|
*/
|
|
153
|
-
|
|
153
|
+
type?: CommandType;
|
|
154
154
|
/**
|
|
155
|
-
*
|
|
155
|
+
* Context where the command would apply
|
|
156
156
|
*/
|
|
157
|
-
|
|
157
|
+
context?: Context[];
|
|
158
158
|
/**
|
|
159
|
-
*
|
|
159
|
+
* Title of the command.
|
|
160
160
|
*/
|
|
161
|
-
|
|
161
|
+
title: string;
|
|
162
|
+
/**
|
|
163
|
+
* Description of the command.
|
|
164
|
+
*/
|
|
165
|
+
description?: string;
|
|
162
166
|
/**
|
|
163
167
|
* A boolean value that indicates if the command should be run once initially with no
|
|
164
168
|
* parameter.
|
|
165
169
|
*/
|
|
166
170
|
initialRun?: boolean;
|
|
167
|
-
parameters?: Parameter[];
|
|
168
|
-
taskInfo?: TaskInfo;
|
|
169
|
-
/**
|
|
170
|
-
* Title of the command.
|
|
171
|
-
*/
|
|
172
|
-
title: string;
|
|
173
171
|
/**
|
|
174
|
-
*
|
|
172
|
+
* A boolean value that indicates if it should fetch task module dynamically
|
|
175
173
|
*/
|
|
176
|
-
|
|
174
|
+
fetchTask?: boolean;
|
|
175
|
+
parameters?: Parameter[];
|
|
176
|
+
taskInfo?: TaskInfo;
|
|
177
177
|
}
|
|
178
178
|
export type Context = "compose" | "commandBox" | "message";
|
|
179
179
|
export interface Parameter {
|
|
180
180
|
/**
|
|
181
|
-
*
|
|
182
|
-
*/
|
|
183
|
-
choices?: Choice[];
|
|
184
|
-
/**
|
|
185
|
-
* Description of the parameter.
|
|
181
|
+
* Name of the parameter.
|
|
186
182
|
*/
|
|
187
|
-
|
|
183
|
+
name: string;
|
|
188
184
|
/**
|
|
189
185
|
* Type of the parameter
|
|
190
186
|
*/
|
|
191
187
|
inputType?: InputType;
|
|
192
|
-
/**
|
|
193
|
-
* Name of the parameter.
|
|
194
|
-
*/
|
|
195
|
-
name: string;
|
|
196
188
|
/**
|
|
197
189
|
* Title of the parameter.
|
|
198
190
|
*/
|
|
199
191
|
title: string;
|
|
192
|
+
/**
|
|
193
|
+
* Description of the parameter.
|
|
194
|
+
*/
|
|
195
|
+
description?: string;
|
|
200
196
|
/**
|
|
201
197
|
* Initial value for the parameter
|
|
202
198
|
*/
|
|
203
199
|
value?: string;
|
|
200
|
+
/**
|
|
201
|
+
* The choice options for the parameter
|
|
202
|
+
*/
|
|
203
|
+
choices?: Choice[];
|
|
204
204
|
}
|
|
205
205
|
export interface Choice {
|
|
206
206
|
/**
|
|
@@ -217,24 +217,24 @@ export interface Choice {
|
|
|
217
217
|
*/
|
|
218
218
|
export type InputType = "text" | "textarea" | "number" | "date" | "time" | "toggle" | "choiceset";
|
|
219
219
|
export interface TaskInfo {
|
|
220
|
-
/**
|
|
221
|
-
* Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
|
|
222
|
-
* 'small'
|
|
223
|
-
*/
|
|
224
|
-
height?: string;
|
|
225
220
|
/**
|
|
226
221
|
* Initial dialog title
|
|
227
222
|
*/
|
|
228
223
|
title?: string;
|
|
229
|
-
/**
|
|
230
|
-
* Initial webview URL
|
|
231
|
-
*/
|
|
232
|
-
url?: string;
|
|
233
224
|
/**
|
|
234
225
|
* Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
|
|
235
226
|
* 'small'
|
|
236
227
|
*/
|
|
237
228
|
width?: string;
|
|
229
|
+
/**
|
|
230
|
+
* Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
|
|
231
|
+
* 'small'
|
|
232
|
+
*/
|
|
233
|
+
height?: string;
|
|
234
|
+
/**
|
|
235
|
+
* Initial webview URL
|
|
236
|
+
*/
|
|
237
|
+
url?: string;
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
240
|
* Type of the command
|
|
@@ -259,15 +259,15 @@ export interface Value {
|
|
|
259
259
|
[property: string]: any;
|
|
260
260
|
}
|
|
261
261
|
export interface ConfigurableTab {
|
|
262
|
+
/**
|
|
263
|
+
* The url to use when configuring the tab.
|
|
264
|
+
*/
|
|
265
|
+
configurationUrl: string;
|
|
262
266
|
/**
|
|
263
267
|
* A value indicating whether an instance of the tab's configuration can be updated by the
|
|
264
268
|
* user after creation.
|
|
265
269
|
*/
|
|
266
270
|
canUpdateConfiguration?: boolean;
|
|
267
|
-
/**
|
|
268
|
-
* The url to use when configuring the tab.
|
|
269
|
-
*/
|
|
270
|
-
configurationUrl: string;
|
|
271
271
|
/**
|
|
272
272
|
* Specifies whether the tab offers an experience in the context of a channel in a team, in
|
|
273
273
|
* a 1:1 or group chat, or in an experience scoped to an individual user alone. These
|
|
@@ -287,15 +287,15 @@ export interface ConfigurableTab {
|
|
|
287
287
|
export type ConfigurableTabScope = "team" | "groupChat" | "groupchat";
|
|
288
288
|
export type SupportedSharePointHost = "sharePointFullPage" | "sharePointWebPart";
|
|
289
289
|
export interface Connector {
|
|
290
|
-
/**
|
|
291
|
-
* The url to use for configuring the connector using the inline configuration experience.
|
|
292
|
-
*/
|
|
293
|
-
configurationUrl?: string;
|
|
294
290
|
/**
|
|
295
291
|
* A unique identifier for the connector which matches its ID in the Connectors Developer
|
|
296
292
|
* Portal.
|
|
297
293
|
*/
|
|
298
294
|
connectorId: string;
|
|
295
|
+
/**
|
|
296
|
+
* The url to use for configuring the connector using the inline configuration experience.
|
|
297
|
+
*/
|
|
298
|
+
configurationUrl?: string;
|
|
299
299
|
/**
|
|
300
300
|
* Specifies whether the connector offers an experience in the context of a channel in a
|
|
301
301
|
* team, or an experience scoped to an individual user alone. Currently, only the team scope
|
|
@@ -304,17 +304,21 @@ export interface Connector {
|
|
|
304
304
|
scopes: "team"[];
|
|
305
305
|
}
|
|
306
306
|
export interface Description {
|
|
307
|
-
/**
|
|
308
|
-
* The full description of the app. Maximum length is 4000 characters.
|
|
309
|
-
*/
|
|
310
|
-
full: string;
|
|
311
307
|
/**
|
|
312
308
|
* A short description of the app used when space is limited. Maximum length is 80
|
|
313
309
|
* characters.
|
|
314
310
|
*/
|
|
315
311
|
short: string;
|
|
312
|
+
/**
|
|
313
|
+
* The full description of the app. Maximum length is 4000 characters.
|
|
314
|
+
*/
|
|
315
|
+
full: string;
|
|
316
316
|
}
|
|
317
317
|
export interface Developer {
|
|
318
|
+
/**
|
|
319
|
+
* The display name for the developer.
|
|
320
|
+
*/
|
|
321
|
+
name: string;
|
|
318
322
|
/**
|
|
319
323
|
* The Microsoft Partner Network ID that identifies the partner organization building the
|
|
320
324
|
* app. This field is not required, and should only be used if you are already part of the
|
|
@@ -322,9 +326,9 @@ export interface Developer {
|
|
|
322
326
|
*/
|
|
323
327
|
mpnId?: string;
|
|
324
328
|
/**
|
|
325
|
-
* The
|
|
329
|
+
* The url to the page that provides support information for the app.
|
|
326
330
|
*/
|
|
327
|
-
|
|
331
|
+
websiteUrl: string;
|
|
328
332
|
/**
|
|
329
333
|
* The url to the page that provides privacy information for the app.
|
|
330
334
|
*/
|
|
@@ -333,56 +337,48 @@ export interface Developer {
|
|
|
333
337
|
* The url to the page that provides the terms of use for the app.
|
|
334
338
|
*/
|
|
335
339
|
termsOfUseUrl: string;
|
|
336
|
-
/**
|
|
337
|
-
* The url to the page that provides support information for the app.
|
|
338
|
-
*/
|
|
339
|
-
websiteUrl: string;
|
|
340
340
|
}
|
|
341
341
|
export type DevicePermission = "geolocation" | "media" | "notifications" | "midi" | "openExternal";
|
|
342
342
|
export interface Icons {
|
|
343
|
-
/**
|
|
344
|
-
* A relative file path to a full color PNG icon. Size 192x192.
|
|
345
|
-
*/
|
|
346
|
-
color: string;
|
|
347
343
|
/**
|
|
348
344
|
* A relative file path to a transparent PNG outline icon. The border color needs to be
|
|
349
345
|
* white. Size 32x32.
|
|
350
346
|
*/
|
|
351
347
|
outline: string;
|
|
348
|
+
/**
|
|
349
|
+
* A relative file path to a full color PNG icon. Size 192x192.
|
|
350
|
+
*/
|
|
351
|
+
color: string;
|
|
352
352
|
}
|
|
353
353
|
export interface LocalizationInfo {
|
|
354
|
-
additionalLanguages?: AdditionalLanguage[];
|
|
355
354
|
/**
|
|
356
355
|
* The language tag of the strings in this top level manifest file.
|
|
357
356
|
*/
|
|
358
357
|
defaultLanguageTag: string;
|
|
358
|
+
additionalLanguages?: AdditionalLanguage[];
|
|
359
359
|
}
|
|
360
360
|
export interface AdditionalLanguage {
|
|
361
|
-
/**
|
|
362
|
-
* A relative file path to a the .json file containing the translated strings.
|
|
363
|
-
*/
|
|
364
|
-
file: string;
|
|
365
361
|
/**
|
|
366
362
|
* The language tag of the strings in the provided file.
|
|
367
363
|
*/
|
|
368
364
|
languageTag: string;
|
|
369
|
-
}
|
|
370
|
-
export interface Name {
|
|
371
365
|
/**
|
|
372
|
-
*
|
|
366
|
+
* A relative file path to a the .json file containing the translated strings.
|
|
373
367
|
*/
|
|
374
|
-
|
|
368
|
+
file: string;
|
|
369
|
+
}
|
|
370
|
+
export interface Name {
|
|
375
371
|
/**
|
|
376
372
|
* A short display name for the app.
|
|
377
373
|
*/
|
|
378
374
|
short: string;
|
|
375
|
+
/**
|
|
376
|
+
* The full name of the app, used if the full app name exceeds 30 characters.
|
|
377
|
+
*/
|
|
378
|
+
full?: string;
|
|
379
379
|
}
|
|
380
380
|
export type Permission = "identity" | "messageTeamMembers";
|
|
381
381
|
export interface StaticTab {
|
|
382
|
-
/**
|
|
383
|
-
* The url which points to the entity UI to be displayed in the Teams canvas.
|
|
384
|
-
*/
|
|
385
|
-
contentUrl: string;
|
|
386
382
|
/**
|
|
387
383
|
* A unique identifier for the entity which the tab displays.
|
|
388
384
|
*/
|
|
@@ -392,15 +388,19 @@ export interface StaticTab {
|
|
|
392
388
|
*/
|
|
393
389
|
name: string;
|
|
394
390
|
/**
|
|
395
|
-
*
|
|
396
|
-
* an experience scoped to an individual user alone. These options are non-exclusive.
|
|
397
|
-
* Currently static tabs are only supported in the 'personal' scope.
|
|
391
|
+
* The url which points to the entity UI to be displayed in the Teams canvas.
|
|
398
392
|
*/
|
|
399
|
-
|
|
393
|
+
contentUrl: string;
|
|
400
394
|
/**
|
|
401
395
|
* The url to point at if a user opts to view in a browser.
|
|
402
396
|
*/
|
|
403
397
|
websiteUrl?: string;
|
|
398
|
+
/**
|
|
399
|
+
* Specifies whether the tab offers an experience in the context of a channel in a team, or
|
|
400
|
+
* an experience scoped to an individual user alone. These options are non-exclusive.
|
|
401
|
+
* Currently static tabs are only supported in the 'personal' scope.
|
|
402
|
+
*/
|
|
403
|
+
scopes: StaticTabScope[];
|
|
404
404
|
}
|
|
405
405
|
export type StaticTabScope = "team" | "personal";
|
|
406
406
|
/**
|
|
@@ -16,7 +16,7 @@ class Convert {
|
|
|
16
16
|
return cast(JSON.parse(json), r("TeamsManifestV1D5"));
|
|
17
17
|
}
|
|
18
18
|
static teamsManifestV1D5ToJson(value) {
|
|
19
|
-
return JSON.stringify(uncast(value, r("TeamsManifestV1D5")), null,
|
|
19
|
+
return JSON.stringify(uncast(value, r("TeamsManifestV1D5")), null, 4);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.Convert = Convert;
|
|
@@ -168,41 +168,41 @@ function r(name) {
|
|
|
168
168
|
const typeMap = {
|
|
169
169
|
"TeamsManifestV1D5": o([
|
|
170
170
|
{ json: "$schema", js: "$schema", typ: u(undefined, "") },
|
|
171
|
-
{ json: "
|
|
172
|
-
{ json: "
|
|
173
|
-
{ json: "composeExtensions", js: "composeExtensions", typ: u(undefined, a(r("ComposeExtension"))) },
|
|
174
|
-
{ json: "configurableTabs", js: "configurableTabs", typ: u(undefined, a(r("ConfigurableTab"))) },
|
|
175
|
-
{ json: "connectors", js: "connectors", typ: u(undefined, a(r("Connector"))) },
|
|
176
|
-
{ json: "description", js: "description", typ: r("Description") },
|
|
177
|
-
{ json: "developer", js: "developer", typ: r("Developer") },
|
|
178
|
-
{ json: "devicePermissions", js: "devicePermissions", typ: u(undefined, a(r("DevicePermission"))) },
|
|
179
|
-
{ json: "icons", js: "icons", typ: r("Icons") },
|
|
171
|
+
{ json: "manifestVersion", js: "manifestVersion", typ: r("ManifestVersion") },
|
|
172
|
+
{ json: "version", js: "version", typ: "" },
|
|
180
173
|
{ json: "id", js: "id", typ: "" },
|
|
174
|
+
{ json: "packageName", js: "packageName", typ: u(undefined, "") },
|
|
181
175
|
{ json: "localizationInfo", js: "localizationInfo", typ: u(undefined, r("LocalizationInfo")) },
|
|
182
|
-
{ json: "
|
|
176
|
+
{ json: "developer", js: "developer", typ: r("Developer") },
|
|
183
177
|
{ json: "name", js: "name", typ: r("Name") },
|
|
184
|
-
{ json: "
|
|
185
|
-
{ json: "
|
|
178
|
+
{ json: "description", js: "description", typ: r("Description") },
|
|
179
|
+
{ json: "icons", js: "icons", typ: r("Icons") },
|
|
180
|
+
{ json: "accentColor", js: "accentColor", typ: "" },
|
|
181
|
+
{ json: "configurableTabs", js: "configurableTabs", typ: u(undefined, a(r("ConfigurableTab"))) },
|
|
186
182
|
{ json: "staticTabs", js: "staticTabs", typ: u(undefined, a(r("StaticTab"))) },
|
|
183
|
+
{ json: "bots", js: "bots", typ: u(undefined, a(r("Bot"))) },
|
|
184
|
+
{ json: "connectors", js: "connectors", typ: u(undefined, a(r("Connector"))) },
|
|
185
|
+
{ json: "composeExtensions", js: "composeExtensions", typ: u(undefined, a(r("ComposeExtension"))) },
|
|
186
|
+
{ json: "permissions", js: "permissions", typ: u(undefined, a(r("Permission"))) },
|
|
187
|
+
{ json: "devicePermissions", js: "devicePermissions", typ: u(undefined, a(r("DevicePermission"))) },
|
|
187
188
|
{ json: "validDomains", js: "validDomains", typ: u(undefined, a("")) },
|
|
188
|
-
{ json: "version", js: "version", typ: "" },
|
|
189
189
|
{ json: "webApplicationInfo", js: "webApplicationInfo", typ: u(undefined, r("WebApplicationInfo")) },
|
|
190
190
|
], false),
|
|
191
191
|
"Bot": o([
|
|
192
192
|
{ json: "botId", js: "botId", typ: "" },
|
|
193
|
-
{ json: "commandLists", js: "commandLists", typ: u(undefined, a(r("CommandList"))) },
|
|
194
|
-
{ json: "isNotificationOnly", js: "isNotificationOnly", typ: u(undefined, true) },
|
|
195
193
|
{ json: "needsChannelSelector", js: "needsChannelSelector", typ: u(undefined, true) },
|
|
196
|
-
{ json: "
|
|
194
|
+
{ json: "isNotificationOnly", js: "isNotificationOnly", typ: u(undefined, true) },
|
|
197
195
|
{ json: "supportsFiles", js: "supportsFiles", typ: u(undefined, true) },
|
|
196
|
+
{ json: "scopes", js: "scopes", typ: a(r("CommandListScope")) },
|
|
197
|
+
{ json: "commandLists", js: "commandLists", typ: u(undefined, a(r("CommandList"))) },
|
|
198
198
|
], false),
|
|
199
199
|
"CommandList": o([
|
|
200
|
-
{ json: "commands", js: "commands", typ: a(r("CommandListCommand")) },
|
|
201
200
|
{ json: "scopes", js: "scopes", typ: a(r("CommandListScope")) },
|
|
201
|
+
{ json: "commands", js: "commands", typ: a(r("CommandListCommand")) },
|
|
202
202
|
], false),
|
|
203
203
|
"CommandListCommand": o([
|
|
204
|
-
{ json: "description", js: "description", typ: "" },
|
|
205
204
|
{ json: "title", js: "title", typ: "" },
|
|
205
|
+
{ json: "description", js: "description", typ: "" },
|
|
206
206
|
], false),
|
|
207
207
|
"ComposeExtension": o([
|
|
208
208
|
{ json: "botId", js: "botId", typ: "" },
|
|
@@ -211,33 +211,33 @@ const typeMap = {
|
|
|
211
211
|
{ json: "messageHandlers", js: "messageHandlers", typ: u(undefined, a(r("MessageHandler"))) },
|
|
212
212
|
], false),
|
|
213
213
|
"ComposeExtensionCommand": o([
|
|
214
|
+
{ json: "id", js: "id", typ: "" },
|
|
215
|
+
{ json: "type", js: "type", typ: u(undefined, r("CommandType")) },
|
|
214
216
|
{ json: "context", js: "context", typ: u(undefined, a(r("Context"))) },
|
|
217
|
+
{ json: "title", js: "title", typ: "" },
|
|
215
218
|
{ json: "description", js: "description", typ: u(undefined, "") },
|
|
216
|
-
{ json: "fetchTask", js: "fetchTask", typ: u(undefined, true) },
|
|
217
|
-
{ json: "id", js: "id", typ: "" },
|
|
218
219
|
{ json: "initialRun", js: "initialRun", typ: u(undefined, true) },
|
|
220
|
+
{ json: "fetchTask", js: "fetchTask", typ: u(undefined, true) },
|
|
219
221
|
{ json: "parameters", js: "parameters", typ: u(undefined, a(r("Parameter"))) },
|
|
220
222
|
{ json: "taskInfo", js: "taskInfo", typ: u(undefined, r("TaskInfo")) },
|
|
221
|
-
{ json: "title", js: "title", typ: "" },
|
|
222
|
-
{ json: "type", js: "type", typ: u(undefined, r("CommandType")) },
|
|
223
223
|
], false),
|
|
224
224
|
"Parameter": o([
|
|
225
|
-
{ json: "choices", js: "choices", typ: u(undefined, a(r("Choice"))) },
|
|
226
|
-
{ json: "description", js: "description", typ: u(undefined, "") },
|
|
227
|
-
{ json: "inputType", js: "inputType", typ: u(undefined, r("InputType")) },
|
|
228
225
|
{ json: "name", js: "name", typ: "" },
|
|
226
|
+
{ json: "inputType", js: "inputType", typ: u(undefined, r("InputType")) },
|
|
229
227
|
{ json: "title", js: "title", typ: "" },
|
|
228
|
+
{ json: "description", js: "description", typ: u(undefined, "") },
|
|
230
229
|
{ json: "value", js: "value", typ: u(undefined, "") },
|
|
230
|
+
{ json: "choices", js: "choices", typ: u(undefined, a(r("Choice"))) },
|
|
231
231
|
], false),
|
|
232
232
|
"Choice": o([
|
|
233
233
|
{ json: "title", js: "title", typ: "" },
|
|
234
234
|
{ json: "value", js: "value", typ: "" },
|
|
235
235
|
], false),
|
|
236
236
|
"TaskInfo": o([
|
|
237
|
-
{ json: "height", js: "height", typ: u(undefined, "") },
|
|
238
237
|
{ json: "title", js: "title", typ: u(undefined, "") },
|
|
239
|
-
{ json: "url", js: "url", typ: u(undefined, "") },
|
|
240
238
|
{ json: "width", js: "width", typ: u(undefined, "") },
|
|
239
|
+
{ json: "height", js: "height", typ: u(undefined, "") },
|
|
240
|
+
{ json: "url", js: "url", typ: u(undefined, "") },
|
|
241
241
|
], false),
|
|
242
242
|
"MessageHandler": o([
|
|
243
243
|
{ json: "type", js: "type", typ: r("MessageHandlerType") },
|
|
@@ -247,50 +247,50 @@ const typeMap = {
|
|
|
247
247
|
{ json: "domains", js: "domains", typ: u(undefined, a("")) },
|
|
248
248
|
], "any"),
|
|
249
249
|
"ConfigurableTab": o([
|
|
250
|
-
{ json: "canUpdateConfiguration", js: "canUpdateConfiguration", typ: u(undefined, true) },
|
|
251
250
|
{ json: "configurationUrl", js: "configurationUrl", typ: "" },
|
|
251
|
+
{ json: "canUpdateConfiguration", js: "canUpdateConfiguration", typ: u(undefined, true) },
|
|
252
252
|
{ json: "scopes", js: "scopes", typ: a(r("ConfigurableTabScope")) },
|
|
253
253
|
{ json: "sharePointPreviewImage", js: "sharePointPreviewImage", typ: u(undefined, "") },
|
|
254
254
|
{ json: "supportedSharePointHosts", js: "supportedSharePointHosts", typ: u(undefined, a(r("SupportedSharePointHost"))) },
|
|
255
255
|
], false),
|
|
256
256
|
"Connector": o([
|
|
257
|
-
{ json: "configurationUrl", js: "configurationUrl", typ: u(undefined, "") },
|
|
258
257
|
{ json: "connectorId", js: "connectorId", typ: "" },
|
|
258
|
+
{ json: "configurationUrl", js: "configurationUrl", typ: u(undefined, "") },
|
|
259
259
|
{ json: "scopes", js: "scopes", typ: a(r("ConnectorScope")) },
|
|
260
260
|
], false),
|
|
261
261
|
"Description": o([
|
|
262
|
-
{ json: "full", js: "full", typ: "" },
|
|
263
262
|
{ json: "short", js: "short", typ: "" },
|
|
263
|
+
{ json: "full", js: "full", typ: "" },
|
|
264
264
|
], false),
|
|
265
265
|
"Developer": o([
|
|
266
|
-
{ json: "mpnId", js: "mpnId", typ: u(undefined, "") },
|
|
267
266
|
{ json: "name", js: "name", typ: "" },
|
|
267
|
+
{ json: "mpnId", js: "mpnId", typ: u(undefined, "") },
|
|
268
|
+
{ json: "websiteUrl", js: "websiteUrl", typ: "" },
|
|
268
269
|
{ json: "privacyUrl", js: "privacyUrl", typ: "" },
|
|
269
270
|
{ json: "termsOfUseUrl", js: "termsOfUseUrl", typ: "" },
|
|
270
|
-
{ json: "websiteUrl", js: "websiteUrl", typ: "" },
|
|
271
271
|
], false),
|
|
272
272
|
"Icons": o([
|
|
273
|
-
{ json: "color", js: "color", typ: "" },
|
|
274
273
|
{ json: "outline", js: "outline", typ: "" },
|
|
274
|
+
{ json: "color", js: "color", typ: "" },
|
|
275
275
|
], false),
|
|
276
276
|
"LocalizationInfo": o([
|
|
277
|
-
{ json: "additionalLanguages", js: "additionalLanguages", typ: u(undefined, a(r("AdditionalLanguage"))) },
|
|
278
277
|
{ json: "defaultLanguageTag", js: "defaultLanguageTag", typ: "" },
|
|
278
|
+
{ json: "additionalLanguages", js: "additionalLanguages", typ: u(undefined, a(r("AdditionalLanguage"))) },
|
|
279
279
|
], false),
|
|
280
280
|
"AdditionalLanguage": o([
|
|
281
|
-
{ json: "file", js: "file", typ: "" },
|
|
282
281
|
{ json: "languageTag", js: "languageTag", typ: "" },
|
|
282
|
+
{ json: "file", js: "file", typ: "" },
|
|
283
283
|
], false),
|
|
284
284
|
"Name": o([
|
|
285
|
-
{ json: "full", js: "full", typ: u(undefined, "") },
|
|
286
285
|
{ json: "short", js: "short", typ: "" },
|
|
286
|
+
{ json: "full", js: "full", typ: u(undefined, "") },
|
|
287
287
|
], false),
|
|
288
288
|
"StaticTab": o([
|
|
289
|
-
{ json: "contentUrl", js: "contentUrl", typ: "" },
|
|
290
289
|
{ json: "entityId", js: "entityId", typ: "" },
|
|
291
290
|
{ json: "name", js: "name", typ: "" },
|
|
292
|
-
{ json: "
|
|
291
|
+
{ json: "contentUrl", js: "contentUrl", typ: "" },
|
|
293
292
|
{ json: "websiteUrl", js: "websiteUrl", typ: u(undefined, "") },
|
|
293
|
+
{ json: "scopes", js: "scopes", typ: a(r("StaticTabScope")) },
|
|
294
294
|
], false),
|
|
295
295
|
"WebApplicationInfo": o([
|
|
296
296
|
{ json: "id", js: "id", typ: "" },
|