@microsoft/app-manifest 1.0.0-alpha.aa1e13280.0 → 1.0.0-alpha.e2e4e5205.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/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/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.js +4 -4
- 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,135 +1,135 @@
|
|
|
1
1
|
export interface TeamsManifestV1D17 {
|
|
2
2
|
$schema?: string;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
accentColor: string;
|
|
8
|
-
activities?: Activities;
|
|
9
|
-
/**
|
|
10
|
-
* Specify and consolidates authorization related information for the App.
|
|
4
|
+
* The version of the schema this manifest is using. This schema version supports extending
|
|
5
|
+
* Teams apps to other parts of the Microsoft 365 ecosystem. More info at
|
|
6
|
+
* https://aka.ms/extendteamsapps.
|
|
11
7
|
*/
|
|
12
|
-
|
|
8
|
+
manifestVersion: "1.17";
|
|
13
9
|
/**
|
|
14
|
-
* The
|
|
10
|
+
* The version of the app. Changes to your manifest should cause a version change. This
|
|
11
|
+
* version string must follow the semver standard (http://semver.org).
|
|
15
12
|
*/
|
|
16
|
-
|
|
13
|
+
version: string;
|
|
17
14
|
/**
|
|
18
|
-
*
|
|
19
|
-
* is supported.
|
|
15
|
+
* A unique identifier for this app. This id must be a GUID.
|
|
20
16
|
*/
|
|
21
|
-
|
|
17
|
+
id: string;
|
|
18
|
+
localizationInfo?: LocalizationInfo;
|
|
19
|
+
developer: Developer;
|
|
20
|
+
name: Name;
|
|
21
|
+
description: Description;
|
|
22
|
+
icons: Icons;
|
|
22
23
|
/**
|
|
23
|
-
* A
|
|
24
|
+
* A color to use in conjunction with the icon. The value must be a valid HTML color code
|
|
25
|
+
* starting with '#', for example `#4464ee`.
|
|
24
26
|
*/
|
|
25
|
-
|
|
27
|
+
accentColor: string;
|
|
26
28
|
/**
|
|
27
29
|
* These are tabs users can optionally add to their channels and 1:1 or group chats and
|
|
28
30
|
* require extra configuration before they are added. Configurable tabs are not supported in
|
|
29
31
|
* the personal scope. Currently only one configurable tab per app is supported.
|
|
30
32
|
*/
|
|
31
33
|
configurableTabs?: ConfigurableTab[];
|
|
34
|
+
/**
|
|
35
|
+
* A set of tabs that may be 'pinned' by default, without the user adding them manually.
|
|
36
|
+
* Static tabs declared in personal scope are always pinned to the app's personal
|
|
37
|
+
* experience. Static tabs do not currently support the 'teams' scope.
|
|
38
|
+
*/
|
|
39
|
+
staticTabs?: StaticTab[];
|
|
40
|
+
/**
|
|
41
|
+
* The set of bots for this app. Currently only one bot per app is supported.
|
|
42
|
+
*/
|
|
43
|
+
bots?: Bot[];
|
|
32
44
|
/**
|
|
33
45
|
* The set of Office365 connectors for this app. Currently only one connector per app is
|
|
34
46
|
* supported.
|
|
35
47
|
*/
|
|
36
48
|
connectors?: Connector[];
|
|
37
49
|
/**
|
|
38
|
-
*
|
|
39
|
-
* view of information relevant to user.
|
|
40
|
-
*/
|
|
41
|
-
dashboardCards?: DashboardCard[];
|
|
42
|
-
/**
|
|
43
|
-
* A value indicating whether an app is blocked by default until admin allows it
|
|
50
|
+
* Subscription offer associated with this app.
|
|
44
51
|
*/
|
|
45
|
-
|
|
52
|
+
subscriptionOffer?: SubscriptionOffer;
|
|
46
53
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
54
|
+
* The set of compose extensions for this app. Currently only one compose extension per app
|
|
55
|
+
* is supported.
|
|
49
56
|
*/
|
|
50
|
-
|
|
57
|
+
composeExtensions?: ComposeExtension[];
|
|
51
58
|
/**
|
|
52
|
-
*
|
|
53
|
-
* the button when a user tries to add the app
|
|
59
|
+
* Specifies the permissions the app requests from users.
|
|
54
60
|
*/
|
|
55
|
-
|
|
56
|
-
description: Description;
|
|
57
|
-
developer: Developer;
|
|
61
|
+
permissions?: Permission[];
|
|
58
62
|
/**
|
|
59
63
|
* Specify the native features on a user's device that your app may request access to.
|
|
60
64
|
*/
|
|
61
65
|
devicePermissions?: DevicePermission[];
|
|
62
|
-
|
|
66
|
+
/**
|
|
67
|
+
* A list of valid domains from which the tabs expect to load any content. Domain listings
|
|
68
|
+
* can include wildcards, for example `*.example.com`. If your tab configuration or content
|
|
69
|
+
* UI needs to navigate to any other domain besides the one use for tab configuration, that
|
|
70
|
+
* domain must be specified here.
|
|
71
|
+
*/
|
|
72
|
+
validDomains?: string[];
|
|
73
|
+
/**
|
|
74
|
+
* Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
|
|
75
|
+
* app.
|
|
76
|
+
*/
|
|
77
|
+
webApplicationInfo?: WebApplicationInfo;
|
|
63
78
|
/**
|
|
64
79
|
* Specify the app's Graph connector configuration. If this is present then
|
|
65
80
|
* webApplicationInfo.id must also be specified.
|
|
66
81
|
*/
|
|
67
82
|
graphConnector?: GraphConnector;
|
|
68
|
-
icons: Icons;
|
|
69
83
|
/**
|
|
70
|
-
* A
|
|
84
|
+
* A value indicating whether or not show loading indicator when app/tab is loading
|
|
71
85
|
*/
|
|
72
|
-
|
|
86
|
+
showLoadingIndicator?: boolean;
|
|
73
87
|
/**
|
|
74
88
|
* A value indicating whether a personal app is rendered without a tab header-bar
|
|
75
89
|
*/
|
|
76
90
|
isFullScreen?: boolean;
|
|
77
|
-
|
|
91
|
+
activities?: Activities;
|
|
78
92
|
/**
|
|
79
|
-
*
|
|
80
|
-
* Teams apps to other parts of the Microsoft 365 ecosystem. More info at
|
|
81
|
-
* https://aka.ms/extendteamsapps.
|
|
93
|
+
* A list of tenant configured properties for an app
|
|
82
94
|
*/
|
|
83
|
-
|
|
95
|
+
configurableProperties?: ConfigurableProperty[];
|
|
84
96
|
/**
|
|
85
|
-
*
|
|
97
|
+
* List of 'non-standard' channel types that the app supports. Note: Channels of standard
|
|
98
|
+
* type are supported by default if the app supports team scope.
|
|
86
99
|
*/
|
|
87
|
-
|
|
88
|
-
name: Name;
|
|
100
|
+
supportedChannelTypes?: SupportedChannelType[];
|
|
89
101
|
/**
|
|
90
|
-
*
|
|
102
|
+
* A value indicating whether an app is blocked by default until admin allows it
|
|
91
103
|
*/
|
|
92
|
-
|
|
104
|
+
defaultBlockUntilAdminAction?: boolean;
|
|
93
105
|
/**
|
|
94
106
|
* The url to the page that provides additional app information for the admins
|
|
95
107
|
*/
|
|
96
108
|
publisherDocsUrl?: string;
|
|
97
109
|
/**
|
|
98
|
-
*
|
|
99
|
-
|
|
100
|
-
showLoadingIndicator?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* A set of tabs that may be 'pinned' by default, without the user adding them manually.
|
|
103
|
-
* Static tabs declared in personal scope are always pinned to the app's personal
|
|
104
|
-
* experience. Static tabs do not currently support the 'teams' scope.
|
|
105
|
-
*/
|
|
106
|
-
staticTabs?: StaticTab[];
|
|
107
|
-
/**
|
|
108
|
-
* Subscription offer associated with this app.
|
|
110
|
+
* The install scope defined for this app by default. This will be the option displayed on
|
|
111
|
+
* the button when a user tries to add the app
|
|
109
112
|
*/
|
|
110
|
-
|
|
113
|
+
defaultInstallScope?: DefaultInstallScope;
|
|
111
114
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
115
|
+
* When a group install scope is selected, this will define the default capability when the
|
|
116
|
+
* user installs the app
|
|
114
117
|
*/
|
|
115
|
-
|
|
118
|
+
defaultGroupCapability?: DefaultGroupCapability;
|
|
116
119
|
/**
|
|
117
|
-
*
|
|
118
|
-
* can include wildcards, for example `*.example.com`. If your tab configuration or content
|
|
119
|
-
* UI needs to navigate to any other domain besides the one use for tab configuration, that
|
|
120
|
-
* domain must be specified here.
|
|
120
|
+
* Specify meeting extension definition.
|
|
121
121
|
*/
|
|
122
|
-
|
|
122
|
+
meetingExtensionDefinition?: MeetingExtensionDefinition;
|
|
123
123
|
/**
|
|
124
|
-
*
|
|
125
|
-
* version string must follow the semver standard (http://semver.org).
|
|
124
|
+
* Specify and consolidates authorization related information for the App.
|
|
126
125
|
*/
|
|
127
|
-
|
|
126
|
+
authorization?: TeamsManifestV1D17Authorization;
|
|
127
|
+
extensions?: ElementExtension[];
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
129
|
+
* Defines the list of cards which could be pinned to dashboards that can provide summarized
|
|
130
|
+
* view of information relevant to user.
|
|
131
131
|
*/
|
|
132
|
-
|
|
132
|
+
dashboardCards?: DashboardCard[];
|
|
133
133
|
}
|
|
134
134
|
export interface Activities {
|
|
135
135
|
/**
|
|
@@ -138,9 +138,9 @@ export interface Activities {
|
|
|
138
138
|
activityTypes?: ActivityType[];
|
|
139
139
|
}
|
|
140
140
|
export interface ActivityType {
|
|
141
|
+
type: string;
|
|
141
142
|
description: string;
|
|
142
143
|
templateText: string;
|
|
143
|
-
type: string;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
146
|
* Specify and consolidates authorization related information for the App.
|
|
@@ -180,112 +180,112 @@ export interface Bot {
|
|
|
180
180
|
* (https://dev.botframework.com/bots)
|
|
181
181
|
*/
|
|
182
182
|
botId: string;
|
|
183
|
+
configuration?: Configuration;
|
|
183
184
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* scope.
|
|
185
|
+
* This value describes whether or not the bot utilizes a user hint to add the bot to a
|
|
186
|
+
* specific channel.
|
|
187
187
|
*/
|
|
188
|
-
|
|
189
|
-
configuration?: Configuration;
|
|
188
|
+
needsChannelSelector?: boolean;
|
|
190
189
|
/**
|
|
191
190
|
* A value indicating whether or not the bot is a one-way notification only bot, as opposed
|
|
192
191
|
* to a conversational bot.
|
|
193
192
|
*/
|
|
194
193
|
isNotificationOnly?: boolean;
|
|
195
194
|
/**
|
|
196
|
-
*
|
|
197
|
-
* specific channel.
|
|
198
|
-
*/
|
|
199
|
-
needsChannelSelector?: boolean;
|
|
200
|
-
/**
|
|
201
|
-
* Specifies whether the bot offers an experience in the context of a channel in a team, in
|
|
202
|
-
* a 1:1 or group chat, or in an experience scoped to an individual user alone. These
|
|
203
|
-
* options are non-exclusive.
|
|
195
|
+
* A value indicating whether the bot supports uploading/downloading of files.
|
|
204
196
|
*/
|
|
205
|
-
|
|
197
|
+
supportsFiles?: boolean;
|
|
206
198
|
/**
|
|
207
199
|
* A value indicating whether the bot supports audio calling.
|
|
208
200
|
*/
|
|
209
201
|
supportsCalling?: boolean;
|
|
210
|
-
/**
|
|
211
|
-
* A value indicating whether the bot supports uploading/downloading of files.
|
|
212
|
-
*/
|
|
213
|
-
supportsFiles?: boolean;
|
|
214
202
|
/**
|
|
215
203
|
* A value indicating whether the bot supports video calling.
|
|
216
204
|
*/
|
|
217
205
|
supportsVideo?: boolean;
|
|
206
|
+
/**
|
|
207
|
+
* Specifies whether the bot offers an experience in the context of a channel in a team, in
|
|
208
|
+
* a 1:1 or group chat, or in an experience scoped to an individual user alone. These
|
|
209
|
+
* options are non-exclusive.
|
|
210
|
+
*/
|
|
211
|
+
scopes: CommandListScope[];
|
|
212
|
+
/**
|
|
213
|
+
* The list of commands that the bot supplies, including their usage, description, and the
|
|
214
|
+
* scope for which the commands are valid. A separate command list should be used for each
|
|
215
|
+
* scope.
|
|
216
|
+
*/
|
|
217
|
+
commandLists?: CommandList[];
|
|
218
218
|
}
|
|
219
219
|
export interface CommandList {
|
|
220
|
-
commands: CommandListCommand[];
|
|
221
220
|
/**
|
|
222
221
|
* Specifies the scopes for which the command list is valid
|
|
223
222
|
*/
|
|
224
223
|
scopes: CommandListScope[];
|
|
224
|
+
commands: CommandListCommand[];
|
|
225
225
|
}
|
|
226
226
|
export interface CommandListCommand {
|
|
227
|
-
/**
|
|
228
|
-
* A simple text description or an example of the command syntax and its arguments.
|
|
229
|
-
*/
|
|
230
|
-
description: string;
|
|
231
227
|
/**
|
|
232
228
|
* The bot command name
|
|
233
229
|
*/
|
|
234
230
|
title: string;
|
|
231
|
+
/**
|
|
232
|
+
* A simple text description or an example of the command syntax and its arguments.
|
|
233
|
+
*/
|
|
234
|
+
description: string;
|
|
235
235
|
}
|
|
236
236
|
export type CommandListScope = "team" | "personal" | "groupChat";
|
|
237
237
|
export interface Configuration {
|
|
238
|
-
|
|
239
|
-
|
|
238
|
+
team?: Team;
|
|
239
|
+
groupChat?: Team;
|
|
240
240
|
}
|
|
241
|
-
export interface
|
|
241
|
+
export interface Team {
|
|
242
242
|
fetchTask?: boolean;
|
|
243
243
|
taskInfo?: TaskInfo;
|
|
244
244
|
}
|
|
245
245
|
export interface TaskInfo {
|
|
246
|
-
/**
|
|
247
|
-
* Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
|
|
248
|
-
* 'small'
|
|
249
|
-
*/
|
|
250
|
-
height?: string;
|
|
251
246
|
/**
|
|
252
247
|
* Initial dialog title
|
|
253
248
|
*/
|
|
254
249
|
title?: string;
|
|
255
|
-
/**
|
|
256
|
-
* Initial webview URL
|
|
257
|
-
*/
|
|
258
|
-
url?: string;
|
|
259
250
|
/**
|
|
260
251
|
* Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
|
|
261
252
|
* 'small'
|
|
262
253
|
*/
|
|
263
254
|
width?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
|
|
257
|
+
* 'small'
|
|
258
|
+
*/
|
|
259
|
+
height?: string;
|
|
260
|
+
/**
|
|
261
|
+
* Initial webview URL
|
|
262
|
+
*/
|
|
263
|
+
url?: string;
|
|
264
264
|
}
|
|
265
265
|
export interface ComposeExtension {
|
|
266
266
|
/**
|
|
267
|
-
*
|
|
267
|
+
* The Microsoft App ID specified for the bot powering the compose extension in the Bot
|
|
268
|
+
* Framework portal (https://dev.botframework.com/bots)
|
|
268
269
|
*/
|
|
269
|
-
|
|
270
|
+
botId?: string;
|
|
271
|
+
/**
|
|
272
|
+
* Type of the compose extension.
|
|
273
|
+
*/
|
|
274
|
+
composeExtensionType?: ComposeExtensionType;
|
|
270
275
|
/**
|
|
271
276
|
* Object capturing authorization information.
|
|
272
277
|
*/
|
|
273
278
|
authorization?: ComposeExtensionAuthorization;
|
|
274
279
|
/**
|
|
275
|
-
*
|
|
276
|
-
* Framework portal (https://dev.botframework.com/bots)
|
|
280
|
+
* A relative file path to the api specification file in the manifest package.
|
|
277
281
|
*/
|
|
278
|
-
|
|
282
|
+
apiSpecificationFile?: string;
|
|
279
283
|
/**
|
|
280
284
|
* A value indicating whether the configuration of a compose extension can be updated by the
|
|
281
285
|
* user.
|
|
282
286
|
*/
|
|
283
287
|
canUpdateConfiguration?: boolean | null;
|
|
284
288
|
commands?: ComposeExtensionCommand[];
|
|
285
|
-
/**
|
|
286
|
-
* Type of the compose extension.
|
|
287
|
-
*/
|
|
288
|
-
composeExtensionType?: ComposeExtensionType;
|
|
289
289
|
/**
|
|
290
290
|
* A list of handlers that allow apps to be invoked when certain conditions are met
|
|
291
291
|
*/
|
|
@@ -295,11 +295,6 @@ export interface ComposeExtension {
|
|
|
295
295
|
* Object capturing authorization information.
|
|
296
296
|
*/
|
|
297
297
|
export interface ComposeExtensionAuthorization {
|
|
298
|
-
/**
|
|
299
|
-
* Object capturing details needed to do service auth. It will be only present when auth
|
|
300
|
-
* type is apiSecretServiceAuth.
|
|
301
|
-
*/
|
|
302
|
-
apiSecretServiceAuthConfiguration?: APISecretServiceAuthConfiguration;
|
|
303
298
|
/**
|
|
304
299
|
* Enum of possible authentication types.
|
|
305
300
|
*/
|
|
@@ -309,6 +304,11 @@ export interface ComposeExtensionAuthorization {
|
|
|
309
304
|
* auth type is entraId.
|
|
310
305
|
*/
|
|
311
306
|
microsoftEntraConfiguration?: MicrosoftEntraConfiguration;
|
|
307
|
+
/**
|
|
308
|
+
* Object capturing details needed to do service auth. It will be only present when auth
|
|
309
|
+
* type is apiSecretServiceAuth.
|
|
310
|
+
*/
|
|
311
|
+
apiSecretServiceAuthConfiguration?: APISecretServiceAuthConfiguration;
|
|
312
312
|
}
|
|
313
313
|
/**
|
|
314
314
|
* Object capturing details needed to do service auth. It will be only present when auth
|
|
@@ -335,6 +335,15 @@ export interface MicrosoftEntraConfiguration {
|
|
|
335
335
|
supportsSingleSignOn?: boolean;
|
|
336
336
|
}
|
|
337
337
|
export interface ComposeExtensionCommand {
|
|
338
|
+
/**
|
|
339
|
+
* Id of the command.
|
|
340
|
+
*/
|
|
341
|
+
id: string;
|
|
342
|
+
/**
|
|
343
|
+
* Type of the command
|
|
344
|
+
*/
|
|
345
|
+
type?: CommandType;
|
|
346
|
+
samplePrompts?: SamplePrompt[];
|
|
338
347
|
/**
|
|
339
348
|
* A relative file path for api response rendering template file.
|
|
340
349
|
*/
|
|
@@ -344,72 +353,63 @@ export interface ComposeExtensionCommand {
|
|
|
344
353
|
*/
|
|
345
354
|
context?: CommandContext[];
|
|
346
355
|
/**
|
|
347
|
-
*
|
|
348
|
-
*/
|
|
349
|
-
description?: string;
|
|
350
|
-
/**
|
|
351
|
-
* A boolean value that indicates if it should fetch task module dynamically
|
|
356
|
+
* Title of the command.
|
|
352
357
|
*/
|
|
353
|
-
|
|
358
|
+
title: string;
|
|
354
359
|
/**
|
|
355
|
-
*
|
|
360
|
+
* Description of the command.
|
|
356
361
|
*/
|
|
357
|
-
|
|
362
|
+
description?: string;
|
|
358
363
|
/**
|
|
359
364
|
* A boolean value that indicates if the command should be run once initially with no
|
|
360
365
|
* parameter.
|
|
361
366
|
*/
|
|
362
367
|
initialRun?: boolean;
|
|
363
|
-
|
|
364
|
-
|
|
368
|
+
/**
|
|
369
|
+
* A boolean value that indicates if it should fetch task module dynamically
|
|
370
|
+
*/
|
|
371
|
+
fetchTask?: boolean;
|
|
365
372
|
/**
|
|
366
373
|
* Semantic description for the command.
|
|
367
374
|
*/
|
|
368
375
|
semanticDescription?: string;
|
|
376
|
+
parameters?: Parameter[];
|
|
369
377
|
taskInfo?: TaskInfo;
|
|
378
|
+
}
|
|
379
|
+
export type CommandContext = "compose" | "commandBox" | "message";
|
|
380
|
+
export interface Parameter {
|
|
370
381
|
/**
|
|
371
|
-
*
|
|
382
|
+
* Name of the parameter.
|
|
372
383
|
*/
|
|
373
|
-
|
|
384
|
+
name: string;
|
|
374
385
|
/**
|
|
375
|
-
* Type of the
|
|
386
|
+
* Type of the parameter
|
|
376
387
|
*/
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
export type CommandContext = "compose" | "commandBox" | "message";
|
|
380
|
-
export interface Parameter {
|
|
388
|
+
inputType?: InputType;
|
|
381
389
|
/**
|
|
382
|
-
*
|
|
390
|
+
* Title of the parameter.
|
|
383
391
|
*/
|
|
384
|
-
|
|
392
|
+
title: string;
|
|
385
393
|
/**
|
|
386
394
|
* Description of the parameter.
|
|
387
395
|
*/
|
|
388
396
|
description?: string;
|
|
389
397
|
/**
|
|
390
|
-
*
|
|
398
|
+
* Initial value for the parameter
|
|
391
399
|
*/
|
|
392
|
-
|
|
400
|
+
value?: string;
|
|
393
401
|
/**
|
|
394
402
|
* The value indicates if this parameter is a required field.
|
|
395
403
|
*/
|
|
396
404
|
isRequired?: boolean;
|
|
397
|
-
/**
|
|
398
|
-
* Name of the parameter.
|
|
399
|
-
*/
|
|
400
|
-
name: string;
|
|
401
405
|
/**
|
|
402
406
|
* Semantic description for the parameter.
|
|
403
407
|
*/
|
|
404
408
|
semanticDescription?: string;
|
|
405
409
|
/**
|
|
406
|
-
*
|
|
407
|
-
*/
|
|
408
|
-
title: string;
|
|
409
|
-
/**
|
|
410
|
-
* Initial value for the parameter
|
|
410
|
+
* The choice options for the parameter
|
|
411
411
|
*/
|
|
412
|
-
|
|
412
|
+
choices?: Choice[];
|
|
413
413
|
}
|
|
414
414
|
export interface Choice {
|
|
415
415
|
/**
|
|
@@ -464,23 +464,15 @@ export interface Value {
|
|
|
464
464
|
}
|
|
465
465
|
export type ConfigurableProperty = "name" | "shortDescription" | "longDescription" | "smallImageUrl" | "largeImageUrl" | "accentColor" | "developerUrl" | "privacyUrl" | "termsOfUseUrl";
|
|
466
466
|
export interface ConfigurableTab {
|
|
467
|
-
/**
|
|
468
|
-
* A value indicating whether an instance of the tab's configuration can be updated by the
|
|
469
|
-
* user after creation.
|
|
470
|
-
*/
|
|
471
|
-
canUpdateConfiguration?: boolean;
|
|
472
467
|
/**
|
|
473
468
|
* The url to use when configuring the tab.
|
|
474
469
|
*/
|
|
475
470
|
configurationUrl: string;
|
|
476
471
|
/**
|
|
477
|
-
*
|
|
478
|
-
|
|
479
|
-
context?: ConfigurableTabContext[];
|
|
480
|
-
/**
|
|
481
|
-
* The set of meetingSurfaceItem scopes that a tab belong to
|
|
472
|
+
* A value indicating whether an instance of the tab's configuration can be updated by the
|
|
473
|
+
* user after creation.
|
|
482
474
|
*/
|
|
483
|
-
|
|
475
|
+
canUpdateConfiguration?: boolean;
|
|
484
476
|
/**
|
|
485
477
|
* Specifies whether the tab offers an experience in the context of a channel in a team, in
|
|
486
478
|
* a 1:1 or group chat, or in an experience scoped to an individual user alone. These
|
|
@@ -488,6 +480,14 @@ export interface ConfigurableTab {
|
|
|
488
480
|
* and groupchats scopes.
|
|
489
481
|
*/
|
|
490
482
|
scopes: ConfigurableTabScope[];
|
|
483
|
+
/**
|
|
484
|
+
* The set of meetingSurfaceItem scopes that a tab belong to
|
|
485
|
+
*/
|
|
486
|
+
meetingSurfaces?: MeetingSurface[];
|
|
487
|
+
/**
|
|
488
|
+
* The set of contextItem scopes that a tab belong to
|
|
489
|
+
*/
|
|
490
|
+
context?: ConfigurableTabContext[];
|
|
491
491
|
/**
|
|
492
492
|
* A relative file path to a tab preview image for use in SharePoint. Size 1024x768.
|
|
493
493
|
*/
|
|
@@ -502,15 +502,15 @@ export type MeetingSurface = "sidePanel" | "stage";
|
|
|
502
502
|
export type ConfigurableTabScope = "team" | "groupChat";
|
|
503
503
|
export type SupportedSharePointHost = "sharePointFullPage" | "sharePointWebPart";
|
|
504
504
|
export interface Connector {
|
|
505
|
-
/**
|
|
506
|
-
* The url to use for configuring the connector using the inline configuration experience.
|
|
507
|
-
*/
|
|
508
|
-
configurationUrl?: string;
|
|
509
505
|
/**
|
|
510
506
|
* A unique identifier for the connector which matches its ID in the Connectors Developer
|
|
511
507
|
* Portal.
|
|
512
508
|
*/
|
|
513
509
|
connectorId: string;
|
|
510
|
+
/**
|
|
511
|
+
* The url to use for configuring the connector using the inline configuration experience.
|
|
512
|
+
*/
|
|
513
|
+
configurationUrl?: string;
|
|
514
514
|
/**
|
|
515
515
|
* Specifies whether the connector offers an experience in the context of a channel in a
|
|
516
516
|
* team, or an experience scoped to an individual user alone. Currently, only the team scope
|
|
@@ -523,41 +523,41 @@ export interface Connector {
|
|
|
523
523
|
* to user.
|
|
524
524
|
*/
|
|
525
525
|
export interface DashboardCard {
|
|
526
|
-
contentSource: DashboardCardContentSource;
|
|
527
|
-
/**
|
|
528
|
-
* Rendering Size for dashboard card.
|
|
529
|
-
*/
|
|
530
|
-
defaultSize: DefaultSize;
|
|
531
526
|
/**
|
|
532
|
-
*
|
|
527
|
+
* Unique Id for the card. Must be unique inside the app.
|
|
533
528
|
*/
|
|
534
|
-
|
|
529
|
+
id: string;
|
|
535
530
|
/**
|
|
536
531
|
* Represents the name of the card. Maximum length is 255 characters.
|
|
537
532
|
*/
|
|
538
533
|
displayName: string;
|
|
539
|
-
icon?: DashboardCardIcon;
|
|
540
534
|
/**
|
|
541
|
-
*
|
|
535
|
+
* Description of the card.Maximum length is 255 characters.
|
|
542
536
|
*/
|
|
543
|
-
|
|
537
|
+
description: string;
|
|
544
538
|
/**
|
|
545
539
|
* Id of the group in the card picker. This must be guid.
|
|
546
540
|
*/
|
|
547
541
|
pickerGroupId: string;
|
|
542
|
+
icon?: DashboardCardIcon;
|
|
543
|
+
contentSource: DashboardCardContentSource;
|
|
544
|
+
/**
|
|
545
|
+
* Rendering Size for dashboard card.
|
|
546
|
+
*/
|
|
547
|
+
defaultSize: DefaultSize;
|
|
548
548
|
}
|
|
549
549
|
/**
|
|
550
550
|
* Represents a configuration for the source of the card’s content.
|
|
551
551
|
*/
|
|
552
552
|
export interface DashboardCardContentSource {
|
|
553
|
-
/**
|
|
554
|
-
* The configuration for the bot source. Required if sourceType is set to bot.
|
|
555
|
-
*/
|
|
556
|
-
botConfiguration?: BotConfiguration;
|
|
557
553
|
/**
|
|
558
554
|
* The content of the dashboard card is sourced from a bot.
|
|
559
555
|
*/
|
|
560
556
|
sourceType?: "bot";
|
|
557
|
+
/**
|
|
558
|
+
* The configuration for the bot source. Required if sourceType is set to bot.
|
|
559
|
+
*/
|
|
560
|
+
botConfiguration?: BotConfiguration;
|
|
561
561
|
}
|
|
562
562
|
/**
|
|
563
563
|
* The configuration for the bot source. Required if sourceType is set to bot.
|
|
@@ -594,6 +594,11 @@ export interface DashboardCardIcon {
|
|
|
594
594
|
* user installs the app
|
|
595
595
|
*/
|
|
596
596
|
export interface DefaultGroupCapability {
|
|
597
|
+
/**
|
|
598
|
+
* When the install scope selected is Team, this field specifies the default capability
|
|
599
|
+
* available
|
|
600
|
+
*/
|
|
601
|
+
team?: Groupchat;
|
|
597
602
|
/**
|
|
598
603
|
* When the install scope selected is GroupChat, this field specifies the default capability
|
|
599
604
|
* available
|
|
@@ -604,11 +609,6 @@ export interface DefaultGroupCapability {
|
|
|
604
609
|
* available
|
|
605
610
|
*/
|
|
606
611
|
meetings?: Groupchat;
|
|
607
|
-
/**
|
|
608
|
-
* When the install scope selected is Team, this field specifies the default capability
|
|
609
|
-
* available
|
|
610
|
-
*/
|
|
611
|
-
team?: Groupchat;
|
|
612
612
|
}
|
|
613
613
|
/**
|
|
614
614
|
* When the install scope selected is GroupChat, this field specifies the default capability
|
|
@@ -627,17 +627,21 @@ export type Groupchat = "tab" | "bot" | "connector";
|
|
|
627
627
|
*/
|
|
628
628
|
export type DefaultInstallScope = "personal" | "team" | "groupChat" | "meetings";
|
|
629
629
|
export interface Description {
|
|
630
|
-
/**
|
|
631
|
-
* The full description of the app. Maximum length is 4000 characters.
|
|
632
|
-
*/
|
|
633
|
-
full: string;
|
|
634
630
|
/**
|
|
635
631
|
* A short description of the app used when space is limited. Maximum length is 80
|
|
636
632
|
* characters.
|
|
637
633
|
*/
|
|
638
634
|
short: string;
|
|
635
|
+
/**
|
|
636
|
+
* The full description of the app. Maximum length is 4000 characters.
|
|
637
|
+
*/
|
|
638
|
+
full: string;
|
|
639
639
|
}
|
|
640
640
|
export interface Developer {
|
|
641
|
+
/**
|
|
642
|
+
* The display name for the developer.
|
|
643
|
+
*/
|
|
644
|
+
name: string;
|
|
641
645
|
/**
|
|
642
646
|
* The Microsoft Partner Network ID that identifies the partner organization building the
|
|
643
647
|
* app. This field is not required, and should only be used if you are already part of the
|
|
@@ -645,9 +649,9 @@ export interface Developer {
|
|
|
645
649
|
*/
|
|
646
650
|
mpnId?: string;
|
|
647
651
|
/**
|
|
648
|
-
* The
|
|
652
|
+
* The url to the page that provides support information for the app.
|
|
649
653
|
*/
|
|
650
|
-
|
|
654
|
+
websiteUrl: string;
|
|
651
655
|
/**
|
|
652
656
|
* The url to the page that provides privacy information for the app.
|
|
653
657
|
*/
|
|
@@ -656,35 +660,31 @@ export interface Developer {
|
|
|
656
660
|
* The url to the page that provides the terms of use for the app.
|
|
657
661
|
*/
|
|
658
662
|
termsOfUseUrl: string;
|
|
659
|
-
/**
|
|
660
|
-
* The url to the page that provides support information for the app.
|
|
661
|
-
*/
|
|
662
|
-
websiteUrl: string;
|
|
663
663
|
}
|
|
664
664
|
export type DevicePermission = "geolocation" | "media" | "notifications" | "midi" | "openExternal";
|
|
665
665
|
/**
|
|
666
666
|
* The set of extensions for this app. Currently only one extensions per app is supported.
|
|
667
667
|
*/
|
|
668
668
|
export interface ElementExtension {
|
|
669
|
+
requirements?: RequirementsExtensionElement;
|
|
670
|
+
runtimes?: ExtensionRuntimesArray[];
|
|
671
|
+
ribbons?: ExtensionRibbonsArray[];
|
|
672
|
+
autoRunEvents?: ExtensionAutoRunEventsArray[];
|
|
669
673
|
alternates?: ExtensionAlternateVersionsArray[];
|
|
670
674
|
/**
|
|
671
675
|
* The url for your extension, used to validate Exchange user identity tokens.
|
|
672
676
|
*/
|
|
673
677
|
audienceClaimUrl?: string;
|
|
674
|
-
autoRunEvents?: ExtensionAutoRunEventsArray[];
|
|
675
|
-
requirements?: RequirementsExtensionElement;
|
|
676
|
-
ribbons?: ExtensionRibbonsArray[];
|
|
677
|
-
runtimes?: ExtensionRuntimesArray[];
|
|
678
678
|
}
|
|
679
679
|
export interface ExtensionAlternateVersionsArray {
|
|
680
|
-
alternateIcons?: AlternateIcons;
|
|
681
|
-
hide?: Hide;
|
|
682
|
-
prefer?: Prefer;
|
|
683
680
|
requirements?: RequirementsExtensionElement;
|
|
681
|
+
prefer?: Prefer;
|
|
682
|
+
hide?: Hide;
|
|
683
|
+
alternateIcons?: AlternateIcons;
|
|
684
684
|
}
|
|
685
685
|
export interface AlternateIcons {
|
|
686
|
-
highResolutionIcon: ExtensionCommonIcon;
|
|
687
686
|
icon: ExtensionCommonIcon;
|
|
687
|
+
highResolutionIcon: ExtensionCommonIcon;
|
|
688
688
|
}
|
|
689
689
|
export interface ExtensionCommonIcon {
|
|
690
690
|
/**
|
|
@@ -697,8 +697,8 @@ export interface ExtensionCommonIcon {
|
|
|
697
697
|
url: string;
|
|
698
698
|
}
|
|
699
699
|
export interface Hide {
|
|
700
|
-
customOfficeAddin?: CustomOfficeAddin;
|
|
701
700
|
storeOfficeAddin?: StoreOfficeAddin;
|
|
701
|
+
customOfficeAddin?: CustomOfficeAddin;
|
|
702
702
|
[property: string]: any;
|
|
703
703
|
}
|
|
704
704
|
export interface CustomOfficeAddin {
|
|
@@ -708,14 +708,14 @@ export interface CustomOfficeAddin {
|
|
|
708
708
|
officeAddinId: string;
|
|
709
709
|
}
|
|
710
710
|
export interface StoreOfficeAddin {
|
|
711
|
-
/**
|
|
712
|
-
* Asset ID of the in-market add-in to hide. Maximum length is 64 characters.
|
|
713
|
-
*/
|
|
714
|
-
assetId: string;
|
|
715
711
|
/**
|
|
716
712
|
* Solution ID of an in-market add-in to hide. Maximum length is 64 characters.
|
|
717
713
|
*/
|
|
718
714
|
officeAddinId: string;
|
|
715
|
+
/**
|
|
716
|
+
* Asset ID of the in-market add-in to hide. Maximum length is 64 characters.
|
|
717
|
+
*/
|
|
718
|
+
assetId: string;
|
|
719
719
|
}
|
|
720
720
|
export interface Prefer {
|
|
721
721
|
comAddin?: COMAddin;
|
|
@@ -729,40 +729,41 @@ export interface COMAddin {
|
|
|
729
729
|
}
|
|
730
730
|
export interface RequirementsExtensionElement {
|
|
731
731
|
capabilities?: Capability[];
|
|
732
|
-
/**
|
|
733
|
-
* Identifies the form factors that support the add-in. Supported values: mobile, desktop.
|
|
734
|
-
*/
|
|
735
|
-
formFactors?: FormFactor[];
|
|
736
732
|
/**
|
|
737
733
|
* Identifies the scopes in which the add-in can run.
|
|
738
734
|
*/
|
|
739
735
|
scopes?: RequirementsScope[];
|
|
736
|
+
/**
|
|
737
|
+
* Identifies the form factors that support the add-in. Supported values: mobile, desktop.
|
|
738
|
+
*/
|
|
739
|
+
formFactors?: FormFactor[];
|
|
740
740
|
}
|
|
741
741
|
export interface Capability {
|
|
742
742
|
/**
|
|
743
|
-
* Identifies the
|
|
743
|
+
* Identifies the name of the requirement sets that the add-in needs to run.
|
|
744
744
|
*/
|
|
745
|
-
|
|
745
|
+
name: string;
|
|
746
746
|
/**
|
|
747
747
|
* Identifies the minimum version for the requirement sets that the add-in needs to run.
|
|
748
748
|
*/
|
|
749
749
|
minVersion?: string;
|
|
750
750
|
/**
|
|
751
|
-
* Identifies the
|
|
751
|
+
* Identifies the maximum version for the requirement sets that the add-in needs to run.
|
|
752
752
|
*/
|
|
753
|
-
|
|
753
|
+
maxVersion?: string;
|
|
754
754
|
}
|
|
755
755
|
export type FormFactor = "desktop" | "mobile";
|
|
756
756
|
export type RequirementsScope = "mail" | "workbook" | "document" | "presentation";
|
|
757
757
|
export interface ExtensionAutoRunEventsArray {
|
|
758
|
+
requirements?: RequirementsExtensionElement;
|
|
758
759
|
/**
|
|
759
760
|
* Specifies the type of event. For supported types, please see:
|
|
760
761
|
* https://review.learn.microsoft.com/en-us/office/dev/add-ins/outlook/autolaunch?tabs=xmlmanifest#supported-events.
|
|
761
762
|
*/
|
|
762
763
|
events: Event[];
|
|
763
|
-
requirements?: RequirementsExtensionElement;
|
|
764
764
|
}
|
|
765
765
|
export interface Event {
|
|
766
|
+
type: string;
|
|
766
767
|
/**
|
|
767
768
|
* The ID of an action defined in runtimes. Maximum length is 64 characters.
|
|
768
769
|
*/
|
|
@@ -771,7 +772,6 @@ export interface Event {
|
|
|
771
772
|
* Configures how Outlook responds to the event.
|
|
772
773
|
*/
|
|
773
774
|
options?: Options;
|
|
774
|
-
type: string;
|
|
775
775
|
}
|
|
776
776
|
/**
|
|
777
777
|
* Configures how Outlook responds to the event.
|
|
@@ -781,8 +781,8 @@ export interface Options {
|
|
|
781
781
|
}
|
|
782
782
|
export type SendMode = "promptUser" | "softBlock" | "block";
|
|
783
783
|
export interface ExtensionRibbonsArray {
|
|
784
|
-
contexts?: ExtensionContext[];
|
|
785
784
|
requirements?: RequirementsExtensionElement;
|
|
785
|
+
contexts?: ExtensionContext[];
|
|
786
786
|
tabs: ExtensionRibbonsArrayTabsItem[];
|
|
787
787
|
}
|
|
788
788
|
/**
|
|
@@ -793,29 +793,28 @@ export interface ExtensionRibbonsArray {
|
|
|
793
793
|
export type ExtensionContext = "mailRead" | "mailCompose" | "meetingDetailsOrganizer" | "meetingDetailsAttendee" | "onlineMeetingDetailsOrganizer" | "logEventMeetingDetailsAttendee" | "default";
|
|
794
794
|
export interface ExtensionRibbonsArrayTabsItem {
|
|
795
795
|
/**
|
|
796
|
-
*
|
|
796
|
+
* A unique identifier for this tab within the app. Maximum length is 64 characters.
|
|
797
797
|
*/
|
|
798
|
-
|
|
798
|
+
id?: string;
|
|
799
799
|
/**
|
|
800
|
-
*
|
|
800
|
+
* Displayed text for the tab. Maximum length is 64 characters.
|
|
801
801
|
*/
|
|
802
|
-
|
|
802
|
+
label?: string;
|
|
803
|
+
position?: Position;
|
|
803
804
|
/**
|
|
804
|
-
*
|
|
805
|
+
* Id of the existing office Tab. Maximum length is 64 characters.
|
|
805
806
|
*/
|
|
806
|
-
|
|
807
|
+
builtInTabId?: string;
|
|
807
808
|
/**
|
|
808
|
-
*
|
|
809
|
+
* Defines tab groups.
|
|
809
810
|
*/
|
|
810
|
-
|
|
811
|
+
groups?: ExtensionRibbonsCustomTabGroupsItem[];
|
|
811
812
|
/**
|
|
812
|
-
*
|
|
813
|
+
* Defines mobile group item.
|
|
813
814
|
*/
|
|
814
|
-
|
|
815
|
-
position?: Position;
|
|
815
|
+
customMobileRibbonGroups?: ExtensionRibbonsCustomMobileGroupItem[];
|
|
816
816
|
}
|
|
817
817
|
export interface ExtensionRibbonsCustomMobileGroupItem {
|
|
818
|
-
controls: ExtensionRibbonsCustomMobileControlButtonItem[];
|
|
819
818
|
/**
|
|
820
819
|
* Specify the Id of the group. Used for mobileMessageRead ext point.
|
|
821
820
|
*/
|
|
@@ -824,31 +823,27 @@ export interface ExtensionRibbonsCustomMobileGroupItem {
|
|
|
824
823
|
* Short label of the control. Maximum length is 32 characters.
|
|
825
824
|
*/
|
|
826
825
|
label: string;
|
|
826
|
+
controls: ExtensionRibbonsCustomMobileControlButtonItem[];
|
|
827
827
|
[property: string]: any;
|
|
828
828
|
}
|
|
829
829
|
export interface ExtensionRibbonsCustomMobileControlButtonItem {
|
|
830
|
-
/**
|
|
831
|
-
* The ID of an action defined in runtimes. Maximum length is 64 characters.
|
|
832
|
-
*/
|
|
833
|
-
actionId: string;
|
|
834
|
-
icons: ExtensionCustomMobileIcon[];
|
|
835
830
|
/**
|
|
836
831
|
* Specify the Id of the button like msgReadFunctionButton.
|
|
837
832
|
*/
|
|
838
833
|
id: string;
|
|
834
|
+
type: "mobileButton";
|
|
839
835
|
/**
|
|
840
836
|
* Short label of the control. Maximum length is 32 characters.
|
|
841
837
|
*/
|
|
842
838
|
label: string;
|
|
843
|
-
|
|
839
|
+
icons: ExtensionCustomMobileIcon[];
|
|
840
|
+
/**
|
|
841
|
+
* The ID of an action defined in runtimes. Maximum length is 64 characters.
|
|
842
|
+
*/
|
|
843
|
+
actionId: string;
|
|
844
844
|
[property: string]: any;
|
|
845
845
|
}
|
|
846
846
|
export interface ExtensionCustomMobileIcon {
|
|
847
|
-
/**
|
|
848
|
-
* How to scale - 1,2,3 for each image. This attribute specifies the UIScreen.scale property
|
|
849
|
-
* for iOS devices.
|
|
850
|
-
*/
|
|
851
|
-
scale: number;
|
|
852
847
|
/**
|
|
853
848
|
* Size in pixels of the icon. Three image sizes are required (25, 32, and 48 pixels).
|
|
854
849
|
*/
|
|
@@ -857,14 +852,13 @@ export interface ExtensionCustomMobileIcon {
|
|
|
857
852
|
* Url to the icon.
|
|
858
853
|
*/
|
|
859
854
|
url: string;
|
|
860
|
-
}
|
|
861
|
-
export interface ExtensionRibbonsCustomTabGroupsItem {
|
|
862
855
|
/**
|
|
863
|
-
*
|
|
856
|
+
* How to scale - 1,2,3 for each image. This attribute specifies the UIScreen.scale property
|
|
857
|
+
* for iOS devices.
|
|
864
858
|
*/
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
859
|
+
scale: number;
|
|
860
|
+
}
|
|
861
|
+
export interface ExtensionRibbonsCustomTabGroupsItem {
|
|
868
862
|
/**
|
|
869
863
|
* A unique identifier for this group within the app. Maximum length is 64 characters.
|
|
870
864
|
*/
|
|
@@ -873,80 +867,86 @@ export interface ExtensionRibbonsCustomTabGroupsItem {
|
|
|
873
867
|
* Displayed text for the group. Maximum length is 64 characters.
|
|
874
868
|
*/
|
|
875
869
|
label?: string;
|
|
870
|
+
icons?: ExtensionCommonIcon[];
|
|
871
|
+
controls?: ExtensionCommonCustomGroupControlsItem[];
|
|
872
|
+
/**
|
|
873
|
+
* Id of a built-in Group. Maximum length is 64 characters.
|
|
874
|
+
*/
|
|
875
|
+
builtInGroupId?: string;
|
|
876
876
|
}
|
|
877
877
|
export interface ExtensionCommonCustomGroupControlsItem {
|
|
878
878
|
/**
|
|
879
|
-
*
|
|
880
|
-
* 64 characters.
|
|
879
|
+
* A unique identifier for this control within the app. Maximum length is 64 characters.
|
|
881
880
|
*/
|
|
882
|
-
|
|
881
|
+
id: string;
|
|
882
|
+
/**
|
|
883
|
+
* Defines the type of control whether button or menu.
|
|
884
|
+
*/
|
|
885
|
+
type: FluffyType;
|
|
883
886
|
/**
|
|
884
887
|
* Id of the existing office control. Maximum length is 64 characters.
|
|
885
888
|
*/
|
|
886
889
|
builtInControlId?: string;
|
|
887
890
|
/**
|
|
888
|
-
*
|
|
891
|
+
* Displayed text for the control. Maximum length is 64 characters.
|
|
889
892
|
*/
|
|
890
|
-
|
|
893
|
+
label: string;
|
|
891
894
|
icons: ExtensionCommonIcon[];
|
|
895
|
+
supertip: ExtensionCommonSuperToolTip;
|
|
892
896
|
/**
|
|
893
|
-
*
|
|
894
|
-
|
|
895
|
-
id: string;
|
|
896
|
-
/**
|
|
897
|
-
* Configures the items for a menu control.
|
|
898
|
-
*/
|
|
899
|
-
items?: ExtensionCommonCustomControlMenuItem[];
|
|
900
|
-
/**
|
|
901
|
-
* Displayed text for the control. Maximum length is 64 characters.
|
|
897
|
+
* The ID of an execution-type action that handles this key combination. Maximum length is
|
|
898
|
+
* 64 characters.
|
|
902
899
|
*/
|
|
903
|
-
|
|
900
|
+
actionId: string;
|
|
904
901
|
/**
|
|
905
902
|
* Specifies whether a group, button, menu, or menu item will be hidden on application and
|
|
906
903
|
* platform combinations that support the API (Office.ribbon.requestCreateControls) that
|
|
907
904
|
* installs custom contextual tabs on the ribbon. Default is false.
|
|
908
905
|
*/
|
|
909
906
|
overriddenByRibbonApi?: boolean;
|
|
910
|
-
supertip: ExtensionCommonSuperToolTip;
|
|
911
|
-
/**
|
|
912
|
-
* Defines the type of control whether button or menu.
|
|
913
|
-
*/
|
|
914
|
-
type: FluffyType;
|
|
915
|
-
}
|
|
916
|
-
export interface ExtensionCommonCustomControlMenuItem {
|
|
917
|
-
/**
|
|
918
|
-
* The ID of an action defined in runtimes. Maximum length is 64 characters.
|
|
919
|
-
*/
|
|
920
|
-
actionId: string;
|
|
921
907
|
/**
|
|
922
908
|
* Whether the control is initially enabled.
|
|
923
909
|
*/
|
|
924
910
|
enabled?: boolean;
|
|
925
|
-
|
|
911
|
+
/**
|
|
912
|
+
* Configures the items for a menu control.
|
|
913
|
+
*/
|
|
914
|
+
items?: ExtensionCommonCustomControlMenuItem[];
|
|
915
|
+
}
|
|
916
|
+
export interface ExtensionCommonCustomControlMenuItem {
|
|
926
917
|
/**
|
|
927
918
|
* A unique identifier for this control within the app. Maximum length is 64 characters.
|
|
928
919
|
*/
|
|
929
920
|
id: string;
|
|
921
|
+
/**
|
|
922
|
+
* Supported values: menuItem.
|
|
923
|
+
*/
|
|
924
|
+
type: "menuItem";
|
|
930
925
|
/**
|
|
931
926
|
* Displayed text for the control. Maximum length is 64 characters.
|
|
932
927
|
*/
|
|
933
928
|
label: string;
|
|
934
|
-
|
|
929
|
+
icons?: ExtensionCommonIcon[];
|
|
935
930
|
supertip: ExtensionCommonSuperToolTip;
|
|
936
931
|
/**
|
|
937
|
-
*
|
|
932
|
+
* The ID of an action defined in runtimes. Maximum length is 64 characters.
|
|
938
933
|
*/
|
|
939
|
-
|
|
940
|
-
}
|
|
941
|
-
export interface ExtensionCommonSuperToolTip {
|
|
934
|
+
actionId: string;
|
|
942
935
|
/**
|
|
943
|
-
*
|
|
936
|
+
* Whether the control is initially enabled.
|
|
944
937
|
*/
|
|
945
|
-
|
|
938
|
+
enabled?: boolean;
|
|
939
|
+
overriddenByRibbonApi?: boolean;
|
|
940
|
+
}
|
|
941
|
+
export interface ExtensionCommonSuperToolTip {
|
|
946
942
|
/**
|
|
947
943
|
* Title text of the super tip. Maximum length is 64 characters.
|
|
948
944
|
*/
|
|
949
945
|
title: string;
|
|
946
|
+
/**
|
|
947
|
+
* Description of the super tip. Maximum length is 250 characters.
|
|
948
|
+
*/
|
|
949
|
+
description: string;
|
|
950
950
|
}
|
|
951
951
|
/**
|
|
952
952
|
* Supported values: menuItem.
|
|
@@ -956,14 +956,14 @@ export interface ExtensionCommonSuperToolTip {
|
|
|
956
956
|
*/
|
|
957
957
|
export type FluffyType = "button" | "menu";
|
|
958
958
|
export interface Position {
|
|
959
|
-
/**
|
|
960
|
-
* Define alignment of this custom tab relative to the specified built-in tab.
|
|
961
|
-
*/
|
|
962
|
-
align: Align;
|
|
963
959
|
/**
|
|
964
960
|
* The id of the built-in tab. Maximum length is 64 characters.
|
|
965
961
|
*/
|
|
966
962
|
builtInTabId: string;
|
|
963
|
+
/**
|
|
964
|
+
* Define alignment of this custom tab relative to the specified built-in tab.
|
|
965
|
+
*/
|
|
966
|
+
align: Align;
|
|
967
967
|
}
|
|
968
968
|
/**
|
|
969
969
|
* Define alignment of this custom tab relative to the specified built-in tab.
|
|
@@ -973,60 +973,60 @@ export type Align = "after" | "before";
|
|
|
973
973
|
* A runtime environment for a page or script
|
|
974
974
|
*/
|
|
975
975
|
export interface ExtensionRuntimesArray {
|
|
976
|
-
|
|
977
|
-
code: ExtensionRuntimeCode;
|
|
976
|
+
requirements?: RequirementsExtensionElement;
|
|
978
977
|
/**
|
|
979
978
|
* A unique identifier for this runtime within the app. Maximum length is 64 characters.
|
|
980
979
|
*/
|
|
981
980
|
id: string;
|
|
981
|
+
/**
|
|
982
|
+
* Supports running functions and launching pages.
|
|
983
|
+
*/
|
|
984
|
+
type?: "general";
|
|
985
|
+
code: ExtensionRuntimeCode;
|
|
982
986
|
/**
|
|
983
987
|
* Runtimes with a short lifetime do not preserve state across executions. Runtimes with a
|
|
984
988
|
* long lifetime do.
|
|
985
989
|
*/
|
|
986
990
|
lifetime?: Lifetime;
|
|
987
|
-
|
|
988
|
-
/**
|
|
989
|
-
* Supports running functions and launching pages.
|
|
990
|
-
*/
|
|
991
|
-
type?: "general";
|
|
991
|
+
actions?: ExtensionRuntimesActionsItem[];
|
|
992
992
|
}
|
|
993
993
|
/**
|
|
994
994
|
* Specifies the set of actions supported by this runtime. An action is either running a
|
|
995
995
|
* JavaScript function or opening a view such as a task pane.
|
|
996
996
|
*/
|
|
997
997
|
export interface ExtensionRuntimesActionsItem {
|
|
998
|
-
/**
|
|
999
|
-
* Display name of the action. Maximum length is 64 characters.
|
|
1000
|
-
*/
|
|
1001
|
-
displayName?: string;
|
|
1002
998
|
/**
|
|
1003
999
|
* Identifier for this action. Maximum length is 64 characters. This value is passed to the
|
|
1004
1000
|
* code file.
|
|
1005
1001
|
*/
|
|
1006
1002
|
id: string;
|
|
1007
1003
|
/**
|
|
1008
|
-
*
|
|
1004
|
+
* executeFunction: Run a script function without waiting for it to finish. openPate: Open a
|
|
1005
|
+
* page in a view.
|
|
1009
1006
|
*/
|
|
1010
|
-
|
|
1007
|
+
type: ActionType;
|
|
1008
|
+
/**
|
|
1009
|
+
* Display name of the action. Maximum length is 64 characters.
|
|
1010
|
+
*/
|
|
1011
|
+
displayName?: string;
|
|
1011
1012
|
/**
|
|
1012
1013
|
* Specifies that a task pane supports pinning, which keeps the task pane open when the user
|
|
1013
1014
|
* changes the selection.
|
|
1014
1015
|
*/
|
|
1015
1016
|
pinnable?: boolean;
|
|
1016
1017
|
/**
|
|
1017
|
-
*
|
|
1018
|
-
* message selected.
|
|
1018
|
+
* View where the page should be opened. Maximum length is 64 characters.
|
|
1019
1019
|
*/
|
|
1020
|
-
|
|
1020
|
+
view?: string;
|
|
1021
1021
|
/**
|
|
1022
|
-
*
|
|
1023
|
-
* page in a view.
|
|
1022
|
+
* Whether allows the action to have multiple selection.
|
|
1024
1023
|
*/
|
|
1025
|
-
|
|
1024
|
+
multiselect?: boolean;
|
|
1026
1025
|
/**
|
|
1027
|
-
*
|
|
1026
|
+
* Whether allows task pane add-ins to activate without the Reading Pane enabled or a
|
|
1027
|
+
* message selected.
|
|
1028
1028
|
*/
|
|
1029
|
-
|
|
1029
|
+
supportsNoItemContext?: boolean;
|
|
1030
1030
|
}
|
|
1031
1031
|
/**
|
|
1032
1032
|
* executeFunction: Run a script function without waiting for it to finish. openPate: Open a
|
|
@@ -1062,32 +1062,32 @@ export interface GraphConnector {
|
|
|
1062
1062
|
notificationUrl: string;
|
|
1063
1063
|
}
|
|
1064
1064
|
export interface Icons {
|
|
1065
|
-
/**
|
|
1066
|
-
* A relative file path to a full color PNG icon. Size 192x192.
|
|
1067
|
-
*/
|
|
1068
|
-
color: string;
|
|
1069
1065
|
/**
|
|
1070
1066
|
* A relative file path to a transparent PNG outline icon. The border color needs to be
|
|
1071
1067
|
* white. Size 32x32.
|
|
1072
1068
|
*/
|
|
1073
1069
|
outline: string;
|
|
1070
|
+
/**
|
|
1071
|
+
* A relative file path to a full color PNG icon. Size 192x192.
|
|
1072
|
+
*/
|
|
1073
|
+
color: string;
|
|
1074
1074
|
}
|
|
1075
1075
|
export interface LocalizationInfo {
|
|
1076
|
-
additionalLanguages?: AdditionalLanguage[];
|
|
1077
1076
|
/**
|
|
1078
1077
|
* The language tag of the strings in this top level manifest file.
|
|
1079
1078
|
*/
|
|
1080
1079
|
defaultLanguageTag: string;
|
|
1080
|
+
additionalLanguages?: AdditionalLanguage[];
|
|
1081
1081
|
}
|
|
1082
1082
|
export interface AdditionalLanguage {
|
|
1083
|
-
/**
|
|
1084
|
-
* A relative file path to a the .json file containing the translated strings.
|
|
1085
|
-
*/
|
|
1086
|
-
file: string;
|
|
1087
1083
|
/**
|
|
1088
1084
|
* The language tag of the strings in the provided file.
|
|
1089
1085
|
*/
|
|
1090
1086
|
languageTag: string;
|
|
1087
|
+
/**
|
|
1088
|
+
* A relative file path to a the .json file containing the translated strings.
|
|
1089
|
+
*/
|
|
1090
|
+
file: string;
|
|
1091
1091
|
}
|
|
1092
1092
|
/**
|
|
1093
1093
|
* Specify meeting extension definition.
|
|
@@ -1097,75 +1097,79 @@ export interface MeetingExtensionDefinition {
|
|
|
1097
1097
|
* Meeting supported scenes.
|
|
1098
1098
|
*/
|
|
1099
1099
|
scenes?: Scene[];
|
|
1100
|
-
/**
|
|
1101
|
-
* A boolean value indicating whether this app allows management by anonymous users.
|
|
1102
|
-
*/
|
|
1103
|
-
supportsAnonymousGuestUsers?: boolean;
|
|
1104
1100
|
/**
|
|
1105
1101
|
* A boolean value indicating whether this app can stream the meeting's audio video content
|
|
1106
1102
|
* to an RTMP endpoint.
|
|
1107
1103
|
*/
|
|
1108
1104
|
supportsStreaming?: boolean;
|
|
1109
|
-
}
|
|
1110
|
-
export interface Scene {
|
|
1111
1105
|
/**
|
|
1112
|
-
* A
|
|
1106
|
+
* A boolean value indicating whether this app allows management by anonymous users.
|
|
1113
1107
|
*/
|
|
1114
|
-
|
|
1108
|
+
supportsAnonymousGuestUsers?: boolean;
|
|
1109
|
+
}
|
|
1110
|
+
export interface Scene {
|
|
1115
1111
|
/**
|
|
1116
1112
|
* A unique identifier for this scene. This id must be a GUID.
|
|
1117
1113
|
*/
|
|
1118
1114
|
id: string;
|
|
1119
|
-
/**
|
|
1120
|
-
* Maximum audiences supported in scene.
|
|
1121
|
-
*/
|
|
1122
|
-
maxAudience: number;
|
|
1123
1115
|
/**
|
|
1124
1116
|
* Scene name.
|
|
1125
1117
|
*/
|
|
1126
1118
|
name: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* A relative file path to a scene metadata json file.
|
|
1121
|
+
*/
|
|
1122
|
+
file: string;
|
|
1127
1123
|
/**
|
|
1128
1124
|
* A relative file path to a scene PNG preview icon.
|
|
1129
1125
|
*/
|
|
1130
1126
|
preview: string;
|
|
1127
|
+
/**
|
|
1128
|
+
* Maximum audiences supported in scene.
|
|
1129
|
+
*/
|
|
1130
|
+
maxAudience: number;
|
|
1131
1131
|
/**
|
|
1132
1132
|
* Number of seats reserved for organizers or presenters.
|
|
1133
1133
|
*/
|
|
1134
1134
|
seatsReservedForOrganizersOrPresenters: number;
|
|
1135
1135
|
}
|
|
1136
1136
|
export interface Name {
|
|
1137
|
-
/**
|
|
1138
|
-
* The full name of the app, used if the full app name exceeds 30 characters.
|
|
1139
|
-
*/
|
|
1140
|
-
full: string;
|
|
1141
1137
|
/**
|
|
1142
1138
|
* A short display name for the app.
|
|
1143
1139
|
*/
|
|
1144
1140
|
short: string;
|
|
1141
|
+
/**
|
|
1142
|
+
* The full name of the app, used if the full app name exceeds 30 characters.
|
|
1143
|
+
*/
|
|
1144
|
+
full: string;
|
|
1145
1145
|
}
|
|
1146
1146
|
export type Permission = "identity" | "messageTeamMembers";
|
|
1147
1147
|
export interface StaticTab {
|
|
1148
1148
|
/**
|
|
1149
|
-
*
|
|
1150
|
-
* (https://dev.botframework.com/bots)
|
|
1149
|
+
* A unique identifier for the entity which the tab displays.
|
|
1151
1150
|
*/
|
|
1152
|
-
|
|
1151
|
+
entityId: string;
|
|
1152
|
+
/**
|
|
1153
|
+
* The display name of the tab.
|
|
1154
|
+
*/
|
|
1155
|
+
name?: string;
|
|
1153
1156
|
/**
|
|
1154
1157
|
* The url which points to the entity UI to be displayed in the canvas.
|
|
1155
1158
|
*/
|
|
1156
1159
|
contentUrl?: string;
|
|
1157
1160
|
/**
|
|
1158
|
-
* The
|
|
1161
|
+
* The Microsoft App ID specified for the bot in the Bot Framework portal
|
|
1162
|
+
* (https://dev.botframework.com/bots)
|
|
1159
1163
|
*/
|
|
1160
|
-
|
|
1164
|
+
contentBotId?: string;
|
|
1161
1165
|
/**
|
|
1162
|
-
*
|
|
1166
|
+
* The url to point at if a user opts to view in a browser.
|
|
1163
1167
|
*/
|
|
1164
|
-
|
|
1168
|
+
websiteUrl?: string;
|
|
1165
1169
|
/**
|
|
1166
|
-
* The
|
|
1170
|
+
* The url to direct a user's search queries.
|
|
1167
1171
|
*/
|
|
1168
|
-
|
|
1172
|
+
searchUrl?: string;
|
|
1169
1173
|
/**
|
|
1170
1174
|
* Specifies whether the tab offers an experience in the context of a channel in a team, or
|
|
1171
1175
|
* an experience scoped to an individual user alone or group chat. These options are
|
|
@@ -1173,13 +1177,9 @@ export interface StaticTab {
|
|
|
1173
1177
|
*/
|
|
1174
1178
|
scopes: CommandListScope[];
|
|
1175
1179
|
/**
|
|
1176
|
-
* The
|
|
1177
|
-
*/
|
|
1178
|
-
searchUrl?: string;
|
|
1179
|
-
/**
|
|
1180
|
-
* The url to point at if a user opts to view in a browser.
|
|
1180
|
+
* The set of contextItem scopes that a tab belong to
|
|
1181
1181
|
*/
|
|
1182
|
-
|
|
1182
|
+
context?: StaticTabContext[];
|
|
1183
1183
|
}
|
|
1184
1184
|
export type StaticTabContext = "personalTab" | "channelTab" | "privateChatTab" | "meetingChatTab" | "meetingDetailsTab" | "meetingSidePanel" | "meetingStage" | "teamLevelApp";
|
|
1185
1185
|
/**
|