@microsoft/app-manifest 1.0.0-alpha.3db80d0af.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.
Files changed (102) hide show
  1. package/LICENSE +23 -0
  2. package/build/ManifestCommonProperties.d.ts +30 -0
  3. package/build/ManifestCommonProperties.js +5 -0
  4. package/build/ManifestCommonProperties.js.map +1 -0
  5. package/build/constants.d.ts +1 -0
  6. package/build/constants.js +7 -0
  7. package/build/constants.js.map +1 -0
  8. package/build/declarativeCopilotManifest.d.ts +68 -0
  9. package/build/declarativeCopilotManifest.js +15 -0
  10. package/build/declarativeCopilotManifest.js.map +1 -0
  11. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.d.ts +163 -0
  12. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js +214 -0
  13. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js.map +1 -0
  14. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.d.ts +185 -0
  15. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js +220 -0
  16. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js.map +1 -0
  17. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.d.ts +285 -0
  18. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js +248 -0
  19. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js.map +1 -0
  20. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.d.ts +429 -0
  21. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js +289 -0
  22. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js.map +1 -0
  23. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +439 -0
  24. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +298 -0
  25. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -0
  26. package/build/generated-types/index.d.ts +172 -0
  27. package/build/generated-types/index.js +437 -0
  28. package/build/generated-types/index.js.map +1 -0
  29. package/build/generated-types/teams/TeamsManifestV1D0.d.ts +268 -0
  30. package/build/generated-types/teams/TeamsManifestV1D0.js +265 -0
  31. package/build/generated-types/teams/TeamsManifestV1D0.js.map +1 -0
  32. package/build/generated-types/teams/TeamsManifestV1D1.d.ts +268 -0
  33. package/build/generated-types/teams/TeamsManifestV1D1.js +266 -0
  34. package/build/generated-types/teams/TeamsManifestV1D1.js.map +1 -0
  35. package/build/generated-types/teams/TeamsManifestV1D10.d.ts +589 -0
  36. package/build/generated-types/teams/TeamsManifestV1D10.js +448 -0
  37. package/build/generated-types/teams/TeamsManifestV1D10.js.map +1 -0
  38. package/build/generated-types/teams/TeamsManifestV1D11.d.ts +603 -0
  39. package/build/generated-types/teams/TeamsManifestV1D11.js +447 -0
  40. package/build/generated-types/teams/TeamsManifestV1D11.js.map +1 -0
  41. package/build/generated-types/teams/TeamsManifestV1D12.d.ts +638 -0
  42. package/build/generated-types/teams/TeamsManifestV1D12.js +461 -0
  43. package/build/generated-types/teams/TeamsManifestV1D12.js.map +1 -0
  44. package/build/generated-types/teams/TeamsManifestV1D13.d.ts +640 -0
  45. package/build/generated-types/teams/TeamsManifestV1D13.js +461 -0
  46. package/build/generated-types/teams/TeamsManifestV1D13.js.map +1 -0
  47. package/build/generated-types/teams/TeamsManifestV1D14.d.ts +651 -0
  48. package/build/generated-types/teams/TeamsManifestV1D14.js +467 -0
  49. package/build/generated-types/teams/TeamsManifestV1D14.js.map +1 -0
  50. package/build/generated-types/teams/TeamsManifestV1D15.d.ts +656 -0
  51. package/build/generated-types/teams/TeamsManifestV1D15.js +468 -0
  52. package/build/generated-types/teams/TeamsManifestV1D15.js.map +1 -0
  53. package/build/generated-types/teams/TeamsManifestV1D16.d.ts +659 -0
  54. package/build/generated-types/teams/TeamsManifestV1D16.js +471 -0
  55. package/build/generated-types/teams/TeamsManifestV1D16.js.map +1 -0
  56. package/build/generated-types/teams/TeamsManifestV1D17.d.ts +1212 -0
  57. package/build/generated-types/teams/TeamsManifestV1D17.js +733 -0
  58. package/build/generated-types/teams/TeamsManifestV1D17.js.map +1 -0
  59. package/build/generated-types/teams/TeamsManifestV1D19.d.ts +1238 -0
  60. package/build/generated-types/teams/TeamsManifestV1D19.js +742 -0
  61. package/build/generated-types/teams/TeamsManifestV1D19.js.map +1 -0
  62. package/build/generated-types/teams/TeamsManifestV1D2.d.ts +268 -0
  63. package/build/generated-types/teams/TeamsManifestV1D2.js +266 -0
  64. package/build/generated-types/teams/TeamsManifestV1D2.js.map +1 -0
  65. package/build/generated-types/teams/TeamsManifestV1D20.d.ts +1420 -0
  66. package/build/generated-types/teams/TeamsManifestV1D20.js +818 -0
  67. package/build/generated-types/teams/TeamsManifestV1D20.js.map +1 -0
  68. package/build/generated-types/teams/TeamsManifestV1D3.d.ts +280 -0
  69. package/build/generated-types/teams/TeamsManifestV1D3.js +279 -0
  70. package/build/generated-types/teams/TeamsManifestV1D3.js.map +1 -0
  71. package/build/generated-types/teams/TeamsManifestV1D4.d.ts +333 -0
  72. package/build/generated-types/teams/TeamsManifestV1D4.js +316 -0
  73. package/build/generated-types/teams/TeamsManifestV1D4.js.map +1 -0
  74. package/build/generated-types/teams/TeamsManifestV1D5.d.ts +423 -0
  75. package/build/generated-types/teams/TeamsManifestV1D5.js +357 -0
  76. package/build/generated-types/teams/TeamsManifestV1D5.js.map +1 -0
  77. package/build/generated-types/teams/TeamsManifestV1D6.d.ts +428 -0
  78. package/build/generated-types/teams/TeamsManifestV1D6.js +359 -0
  79. package/build/generated-types/teams/TeamsManifestV1D6.js.map +1 -0
  80. package/build/generated-types/teams/TeamsManifestV1D7.d.ts +444 -0
  81. package/build/generated-types/teams/TeamsManifestV1D7.js +369 -0
  82. package/build/generated-types/teams/TeamsManifestV1D7.js.map +1 -0
  83. package/build/generated-types/teams/TeamsManifestV1D8.d.ts +466 -0
  84. package/build/generated-types/teams/TeamsManifestV1D8.js +386 -0
  85. package/build/generated-types/teams/TeamsManifestV1D8.js.map +1 -0
  86. package/build/generated-types/teams/TeamsManifestV1D9.d.ts +532 -0
  87. package/build/generated-types/teams/TeamsManifestV1D9.js +420 -0
  88. package/build/generated-types/teams/TeamsManifestV1D9.js.map +1 -0
  89. package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +2219 -0
  90. package/build/generated-types/teams/TeamsManifestVDevPreview.js +1090 -0
  91. package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -0
  92. package/build/index.d.ts +88 -0
  93. package/build/index.js +247 -0
  94. package/build/index.js.map +1 -0
  95. package/build/manifest.d.ts +521 -0
  96. package/build/manifest.js +61 -0
  97. package/build/manifest.js.map +1 -0
  98. package/build/pluginManifest.d.ts +143 -0
  99. package/build/pluginManifest.js +3 -0
  100. package/build/pluginManifest.js.map +1 -0
  101. package/build/tsconfig.tsbuildinfo +1 -0
  102. package/package.json +68 -0
@@ -0,0 +1,2219 @@
1
+ export interface TeamsManifestVDevPreview {
2
+ $schema?: string;
3
+ /**
4
+ * A color to use in conjunction with the icon. The value must be a valid HTML color code
5
+ * starting with '#', for example `#4464ee`.
6
+ */
7
+ accentColor: string;
8
+ actions?: ElementAction[];
9
+ activities?: Activities;
10
+ /**
11
+ * Specify and consolidates authorization related information for the App.
12
+ */
13
+ authorization?: TeamsManifestVDevPreviewAuthorization;
14
+ /**
15
+ * Optional property containing background loading configuration. By opting into this
16
+ * performance enhancement, your app is eligible to be loaded in the background in any
17
+ * Microsoft 365 application host that supports this feature. Note that setting this
18
+ * property gives the host client permission to load the app in the background but does not
19
+ * guarantee the app will be preloaded at runtime. Whether an app is preloaded in the
20
+ * background will be dynamically determined based on usage and other criteria.
21
+ */
22
+ backgroundLoadConfiguration?: BackgroundLoadConfiguration;
23
+ /**
24
+ * The set of bots for this app. Currently only one bot per app is supported.
25
+ */
26
+ bots?: Bot[];
27
+ /**
28
+ * The set of compose extensions for this app. Currently only one compose extension per app
29
+ * is supported.
30
+ */
31
+ composeExtensions?: ComposeExtension[];
32
+ /**
33
+ * A list of tenant configured properties for an app
34
+ */
35
+ configurableProperties?: ConfigurableProperty[];
36
+ /**
37
+ * These are tabs users can optionally add to their channels and 1:1 or group chats and
38
+ * require extra configuration before they are added. Configurable tabs are not supported in
39
+ * the personal scope. Currently only one configurable tab per app is supported.
40
+ */
41
+ configurableTabs?: ConfigurableTab[];
42
+ /**
43
+ * The set of Office365 connectors for this app. Currently only one connector per app is
44
+ * supported.
45
+ */
46
+ connectors?: Connector[];
47
+ copilotAgents?: CopilotAgents;
48
+ /**
49
+ * Defines the list of cards which could be pinned to dashboards that can provide summarized
50
+ * view of information relevant to user.
51
+ */
52
+ dashboardCards?: DashboardCard[];
53
+ /**
54
+ * A value indicating whether an app is blocked by default until admin allows it
55
+ */
56
+ defaultBlockUntilAdminAction?: boolean;
57
+ /**
58
+ * When a group install scope is selected, this will define the default capability when the
59
+ * user installs the app
60
+ */
61
+ defaultGroupCapability?: DefaultGroupCapability;
62
+ /**
63
+ * The install scope defined for this app by default. This will be the option displayed on
64
+ * the button when a user tries to add the app
65
+ */
66
+ defaultInstallScope?: DefaultInstallScope;
67
+ description: Description;
68
+ developer: Developer;
69
+ /**
70
+ * Specify the native features on a user's device that your app may request access to.
71
+ */
72
+ devicePermissions?: DevicePermission[];
73
+ elementRelationshipSet?: ElementRelationshipSet;
74
+ extensions?: ElementExtension[];
75
+ /**
76
+ * Specify the app's Graph connector configuration. If this is present then
77
+ * webApplicationInfo.id must also be specified.
78
+ */
79
+ graphConnector?: GraphConnector;
80
+ icons: Icons;
81
+ /**
82
+ * A unique identifier for this app. This id must be a GUID.
83
+ */
84
+ id: string;
85
+ /**
86
+ * The Intune-related properties for the app.
87
+ */
88
+ intuneInfo?: IntuneInfo;
89
+ /**
90
+ * A value indicating whether a personal app is rendered without a tab header-bar
91
+ */
92
+ isFullScreen?: boolean;
93
+ localizationInfo?: LocalizationInfo;
94
+ /**
95
+ * The version of the schema this manifest is using.
96
+ */
97
+ manifestVersion: ManifestVersion;
98
+ /**
99
+ * Specify meeting extension definition.
100
+ */
101
+ meetingExtensionDefinition?: MeetingExtensionDefinition;
102
+ name: NameClass;
103
+ /**
104
+ * A unique identifier for this app in reverse domain notation. E.g: com.example.myapp
105
+ */
106
+ packageName?: string;
107
+ /**
108
+ * Specifies the permissions the app requests from users.
109
+ */
110
+ permissions?: Permission[];
111
+ /**
112
+ * The url to the page that provides additional app information for the admins
113
+ */
114
+ publisherDocsUrl?: string;
115
+ scopeConstraints?: ScopeConstraints;
116
+ /**
117
+ * A value indicating whether or not show loading indicator when app/tab is loading
118
+ */
119
+ showLoadingIndicator?: boolean;
120
+ /**
121
+ * A set of tabs that may be 'pinned' by default, without the user adding them manually.
122
+ * Static tabs declared in personal scope are always pinned to the app's personal
123
+ * experience. Static tabs do not currently support the 'teams' scope.
124
+ */
125
+ staticTabs?: StaticTab[];
126
+ /**
127
+ * Subscription offer associated with this app.
128
+ */
129
+ subscriptionOffer?: SubscriptionOffer;
130
+ /**
131
+ * The set of supported channel type that an app belongs to
132
+ */
133
+ supportedChannelTypes?: SupportedChannelType[];
134
+ /**
135
+ * A list of valid domains from which the tabs expect to load any content. Domain listings
136
+ * can include wildcards, for example `*.example.com`. If your tab configuration or content
137
+ * UI needs to navigate to any other domain besides the one use for tab configuration, that
138
+ * domain must be specified here.
139
+ */
140
+ validDomains?: string[];
141
+ /**
142
+ * The version of the app. Changes to your manifest should cause a version change. This
143
+ * version string must follow the semver standard (http://semver.org).
144
+ */
145
+ version: string;
146
+ /**
147
+ * Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
148
+ * app.
149
+ */
150
+ webApplicationInfo?: WebApplicationInfo;
151
+ }
152
+ /**
153
+ * Actions node contains an array of actions object.
154
+ */
155
+ export interface ElementAction {
156
+ /**
157
+ * A display string in the default locale to represent the action.
158
+ */
159
+ description: string;
160
+ /**
161
+ * A display name for the action.
162
+ */
163
+ displayName: string;
164
+ /**
165
+ * Defining how actions can be handled. If an app has more than 1 handler, only one
166
+ * experience will show up at one entry point. The hub will decide which action to show up
167
+ * based on which experience is supported.
168
+ */
169
+ handlers: Handler[];
170
+ /**
171
+ * Object containing URLs to icon images for this action intent.
172
+ */
173
+ icons?: Icon[];
174
+ /**
175
+ * A unique identifier string in the default locale that is used to catalog actions.
176
+ */
177
+ id: string;
178
+ /**
179
+ * An enum string that describes the intent of the action.
180
+ */
181
+ intent: Intent;
182
+ }
183
+ export interface Handler {
184
+ botInfo?: BotInfo;
185
+ dialogInfo?: DialogInfo;
186
+ pageInfo?: PageInfo;
187
+ supportedObjects?: SupportedObjects;
188
+ /**
189
+ * If true, multiple files can be selected and the action will still be displayed. If false
190
+ * or missing, the action is only displayed when a single item is selected.
191
+ */
192
+ supportsMultiSelect?: boolean;
193
+ /**
194
+ * Required both for File Handlers and Content Actions.
195
+ */
196
+ type: HandlerType;
197
+ /**
198
+ * Url for handler type openURL, invokeAPI, openTaskpane, and others.
199
+ */
200
+ url?: string;
201
+ [property: string]: any;
202
+ }
203
+ export interface BotInfo {
204
+ /**
205
+ * Bot ID.
206
+ */
207
+ botId: string;
208
+ /**
209
+ * Fetch task from bot.
210
+ */
211
+ fetchTask?: boolean;
212
+ [property: string]: any;
213
+ }
214
+ export interface DialogInfo {
215
+ /**
216
+ * Dialog type, defines how the developer build the dialog.
217
+ */
218
+ dialogType: DialogType;
219
+ /**
220
+ * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
221
+ * 'small'.
222
+ */
223
+ height: string;
224
+ /**
225
+ * Array of parameter object, each contains: name, title, description, inputType.
226
+ */
227
+ parameters?: ParameterObject[];
228
+ /**
229
+ * Dialog title.
230
+ */
231
+ title?: string;
232
+ /**
233
+ * Required for html based dialog.
234
+ */
235
+ url?: string;
236
+ /**
237
+ * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
238
+ * 'small'.
239
+ */
240
+ width: string;
241
+ [property: string]: any;
242
+ }
243
+ /**
244
+ * Dialog type, defines how the developer build the dialog.
245
+ */
246
+ export type DialogType = "url" | "adaptiveCard";
247
+ export interface ParameterObject {
248
+ /**
249
+ * Parameter description.
250
+ */
251
+ description: string;
252
+ /**
253
+ * Parameter input type.
254
+ */
255
+ inputType: string;
256
+ /**
257
+ * Parameter name.
258
+ */
259
+ name: string;
260
+ /**
261
+ * Parameter title.
262
+ */
263
+ title: string;
264
+ [property: string]: any;
265
+ }
266
+ export interface PageInfo {
267
+ /**
268
+ * Used to navigate to the page in MetaOS app.
269
+ */
270
+ pageId: string;
271
+ /**
272
+ * Used to navigate to the subpage in MetaOS app.
273
+ */
274
+ subpageId?: string;
275
+ [property: string]: any;
276
+ }
277
+ export interface SupportedObjects {
278
+ file?: File;
279
+ /**
280
+ * A null value indicates that the file handler is not available when a folder is selected.
281
+ * An object with no parameters indicates that the file handler is available when a folder
282
+ * is selected or when no files are selected.
283
+ */
284
+ folder?: {
285
+ [key: string]: any;
286
+ } | null;
287
+ [property: string]: any;
288
+ }
289
+ export interface File {
290
+ extensions?: string[];
291
+ }
292
+ /**
293
+ * Required both for File Handlers and Content Actions.
294
+ */
295
+ export type HandlerType = "openURL" | "openPage" | "openDialog" | "openTaskpane" | "invokeAPI" | "invokeBot";
296
+ export interface Icon {
297
+ /**
298
+ * Icon size in pixels.
299
+ */
300
+ size: number;
301
+ /**
302
+ * URL for the icon.
303
+ */
304
+ url: string;
305
+ }
306
+ /**
307
+ * An enum string that describes the intent of the action.
308
+ */
309
+ export type Intent = "create" | "addTo" | "open" | "preview" | "share" | "sign" | "custom";
310
+ export interface Activities {
311
+ /**
312
+ * Specify the customized icons that your app can post to a users activity feed
313
+ */
314
+ activityIcons?: ActivityIcon[];
315
+ /**
316
+ * Specify the types of activites that your app can post to a users activity feed
317
+ */
318
+ activityTypes?: ActivityType[];
319
+ }
320
+ export interface ActivityIcon {
321
+ /**
322
+ * Represents the relative path to the icon image. Image should be size 32x32.
323
+ */
324
+ iconFile: string;
325
+ /**
326
+ * Represents the unique icon ID.
327
+ */
328
+ id: string;
329
+ }
330
+ export interface ActivityType {
331
+ /**
332
+ * An array containing valid icon IDs per activity type.
333
+ */
334
+ allowedIconIds?: string[];
335
+ description: string;
336
+ templateText: string;
337
+ type: string;
338
+ }
339
+ /**
340
+ * Specify and consolidates authorization related information for the App.
341
+ */
342
+ export interface TeamsManifestVDevPreviewAuthorization {
343
+ /**
344
+ * List of permissions that the app needs to function.
345
+ */
346
+ permissions?: Permissions;
347
+ }
348
+ /**
349
+ * List of permissions that the app needs to function.
350
+ */
351
+ export interface Permissions {
352
+ /**
353
+ * Permissions that guard data access on a resource instance level.
354
+ */
355
+ resourceSpecific?: ResourceSpecific[];
356
+ }
357
+ export interface ResourceSpecific {
358
+ /**
359
+ * The name of the resource-specific permission.
360
+ */
361
+ name: string;
362
+ /**
363
+ * The type of the resource-specific permission.
364
+ */
365
+ type: ResourceSpecificType;
366
+ }
367
+ /**
368
+ * The type of the resource-specific permission.
369
+ */
370
+ export type ResourceSpecificType = "Application" | "Delegated";
371
+ /**
372
+ * Optional property containing background loading configuration. By opting into this
373
+ * performance enhancement, your app is eligible to be loaded in the background in any
374
+ * Microsoft 365 application host that supports this feature. Note that setting this
375
+ * property gives the host client permission to load the app in the background but does not
376
+ * guarantee the app will be preloaded at runtime. Whether an app is preloaded in the
377
+ * background will be dynamically determined based on usage and other criteria.
378
+ */
379
+ export interface BackgroundLoadConfiguration {
380
+ /**
381
+ * Optional property within backgroundLoadConfiguration containing tab settings for
382
+ * background loading. Setting tabConfiguration indicates that the app supports background
383
+ * loading of tabs.
384
+ */
385
+ tabConfiguration?: TabConfiguration;
386
+ }
387
+ /**
388
+ * Optional property within backgroundLoadConfiguration containing tab settings for
389
+ * background loading. Setting tabConfiguration indicates that the app supports background
390
+ * loading of tabs.
391
+ */
392
+ export interface TabConfiguration {
393
+ /**
394
+ * Required URL for background loading. This can be the same contentUrl from the staticTabs
395
+ * section or an alternative endpoint used for background loading.
396
+ */
397
+ contentUrl: string;
398
+ }
399
+ export interface Bot {
400
+ /**
401
+ * Optional Boolean property that enables users to delete messages sent by bot when set to
402
+ * true. The default value is false, ensuring bot messages cannot be deleted by users unless
403
+ * explicitly opted in.
404
+ */
405
+ allowBotMessageDeleteByUser?: boolean;
406
+ /**
407
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
408
+ * (https://dev.botframework.com/bots)
409
+ */
410
+ botId: string;
411
+ /**
412
+ * The list of commands that the bot supplies, including their usage, description, and the
413
+ * scope for which the commands are valid. A separate command list should be used for each
414
+ * scope.
415
+ */
416
+ commandLists?: CommandList[];
417
+ configuration?: Configuration;
418
+ /**
419
+ * A value indicating whether or not the bot is a one-way notification only bot, as opposed
420
+ * to a conversational bot.
421
+ */
422
+ isNotificationOnly?: boolean;
423
+ /**
424
+ * This value describes whether or not the bot utilizes a user hint to add the bot to a
425
+ * specific channel.
426
+ */
427
+ needsChannelSelector?: boolean;
428
+ /**
429
+ * The set of requirements for the bot.
430
+ */
431
+ requirementSet?: ElementRequirementSet;
432
+ /**
433
+ * A value indicating whether the team's Office group needs to be security enabled.
434
+ */
435
+ requiresSecurityEnabledGroup?: boolean;
436
+ /**
437
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
438
+ * a group chat (groupChat), an experience scoped to an individual user alone (personal) OR
439
+ * within Copilot surfaces. These options are non-exclusive.
440
+ */
441
+ scopes: CommandListScope[];
442
+ /**
443
+ * A value indicating whether the bot supports audio calling.
444
+ */
445
+ supportsCalling?: boolean;
446
+ /**
447
+ * A value indicating whether the bot supports uploading/downloading of files.
448
+ */
449
+ supportsFiles?: boolean;
450
+ /**
451
+ * A value indicating whether the bot supports video calling.
452
+ */
453
+ supportsVideo?: boolean;
454
+ }
455
+ export interface CommandList {
456
+ commands: CommandListCommand[];
457
+ /**
458
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
459
+ * a group chat (groupChat), an experience scoped to an individual user alone (personal) OR
460
+ * within Copilot surfaces. These options are non-exclusive.
461
+ */
462
+ scopes: CommandListScope[];
463
+ }
464
+ export interface CommandListCommand {
465
+ /**
466
+ * A simple text description or an example of the command syntax and its arguments.
467
+ */
468
+ description: string;
469
+ /**
470
+ * The bot command name
471
+ */
472
+ title: string;
473
+ }
474
+ export type CommandListScope = "team" | "personal" | "groupChat" | "copilot";
475
+ export interface Configuration {
476
+ groupChat?: ConfigurationGroupChat;
477
+ team?: ConfigurationTeam;
478
+ }
479
+ export interface ConfigurationGroupChat {
480
+ /**
481
+ * A boolean value that indicates if it should fetch bot config task module dynamically.
482
+ */
483
+ fetchTask?: boolean;
484
+ /**
485
+ * Task module to be launched when fetch task set to false.
486
+ */
487
+ taskInfo?: TaskInfo;
488
+ }
489
+ /**
490
+ * Task module to be launched when fetch task set to false.
491
+ */
492
+ export interface TaskInfo {
493
+ /**
494
+ * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
495
+ * 'small'.
496
+ */
497
+ height?: string;
498
+ /**
499
+ * Initial dialog title.
500
+ */
501
+ title?: string;
502
+ /**
503
+ * Initial webview URL.
504
+ */
505
+ url?: string;
506
+ /**
507
+ * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
508
+ * 'small'.
509
+ */
510
+ width?: string;
511
+ }
512
+ export interface ConfigurationTeam {
513
+ /**
514
+ * A boolean value that indicates if it should fetch bot config task module dynamically.
515
+ */
516
+ fetchTask?: boolean;
517
+ /**
518
+ * Task module to be launched when fetch task set to false.
519
+ */
520
+ taskInfo?: TaskInfo;
521
+ }
522
+ /**
523
+ * The set of requirements for the bot.
524
+ *
525
+ * An object representing a set of requirements that the host must support for the element.
526
+ *
527
+ * The set of requirements for the compose extension.
528
+ *
529
+ * The set of requirements for the tab.
530
+ */
531
+ export interface ElementRequirementSet {
532
+ hostMustSupportFunctionalities: HostFunctionality[];
533
+ }
534
+ /**
535
+ * An object representing a specific functionality that a host must support.
536
+ */
537
+ export interface HostFunctionality {
538
+ /**
539
+ * The name of the functionality.
540
+ */
541
+ name: HostMustSupportFunctionalityName;
542
+ }
543
+ /**
544
+ * The name of the functionality.
545
+ */
546
+ export type HostMustSupportFunctionalityName = "dialogUrl" | "dialogUrlBot" | "dialogAdaptiveCard" | "dialogAdaptiveCardBot";
547
+ export interface ComposeExtension {
548
+ /**
549
+ * A relative file path to the api specification file in the manifest package.
550
+ */
551
+ apiSpecificationFile?: string;
552
+ /**
553
+ * Object capturing authorization information.
554
+ */
555
+ authorization?: ComposeExtensionAuthorization;
556
+ /**
557
+ * The Microsoft App ID specified for the bot powering the compose extension in the Bot
558
+ * Framework portal (https://dev.botframework.com/bots)
559
+ */
560
+ botId?: string;
561
+ /**
562
+ * A value indicating whether the configuration of a compose extension can be updated by the
563
+ * user.
564
+ */
565
+ canUpdateConfiguration?: boolean | null;
566
+ commands?: ComposeExtensionCommand[];
567
+ /**
568
+ * Type of the compose extension.
569
+ */
570
+ composeExtensionType?: ComposeExtensionType;
571
+ /**
572
+ * A unique identifier for the compose extension.
573
+ */
574
+ id?: string;
575
+ /**
576
+ * A list of handlers that allow apps to be invoked when certain conditions are met
577
+ */
578
+ messageHandlers?: MessageHandler[];
579
+ /**
580
+ * The set of requirements for the compose extension.
581
+ */
582
+ requirementSet?: ElementRequirementSet;
583
+ }
584
+ /**
585
+ * Object capturing authorization information.
586
+ */
587
+ export interface ComposeExtensionAuthorization {
588
+ /**
589
+ * Object capturing details needed to do service auth. It will be only present when auth
590
+ * type is apiSecretServiceAuth.
591
+ */
592
+ apiSecretServiceAuthConfiguration?: APISecretServiceAuthConfiguration;
593
+ /**
594
+ * Enum of possible authorization types.
595
+ */
596
+ authType?: AuthType;
597
+ /**
598
+ * Object capturing details needed to do microsoftEntra auth flow. It will be only present
599
+ * when auth type is microsoftEntra.
600
+ */
601
+ microsoftEntraConfiguration?: MicrosoftEntraConfiguration;
602
+ /**
603
+ * Object capturing details needed to match the application's OAuth configuration for the
604
+ * app. This should be and must be populated only when authType is set to oAuth2.0r
605
+ */
606
+ oAuthConfiguration?: OAuthConfiguration;
607
+ }
608
+ /**
609
+ * Object capturing details needed to do service auth. It will be only present when auth
610
+ * type is apiSecretServiceAuth.
611
+ */
612
+ export interface APISecretServiceAuthConfiguration {
613
+ /**
614
+ * Registration id returned when developer submits the api key through Developer Portal.
615
+ */
616
+ apiSecretRegistrationId?: string;
617
+ }
618
+ /**
619
+ * Enum of possible authorization types.
620
+ */
621
+ export type AuthType = "none" | "apiSecretServiceAuth" | "microsoftEntra" | "oAuth2.0";
622
+ /**
623
+ * Object capturing details needed to do microsoftEntra auth flow. It will be only present
624
+ * when auth type is microsoftEntra.
625
+ */
626
+ export interface MicrosoftEntraConfiguration {
627
+ /**
628
+ * Boolean indicating whether single sign on is configured for the app.
629
+ */
630
+ supportsSingleSignOn?: boolean;
631
+ }
632
+ /**
633
+ * Object capturing details needed to match the application's OAuth configuration for the
634
+ * app. This should be and must be populated only when authType is set to oAuth2.0r
635
+ */
636
+ export interface OAuthConfiguration {
637
+ /**
638
+ * The oAuth configuration id obtained by the Developer when registering their configuration
639
+ * in Developer Portal.
640
+ */
641
+ oAuthConfigurationId?: string;
642
+ }
643
+ export interface ComposeExtensionCommand {
644
+ /**
645
+ * A relative file path for api response rendering template file. The schema of the file can
646
+ * be referred to in this
647
+ * link:'https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.ResponseRenderingTemplate.schema.json'.
648
+ */
649
+ apiResponseRenderingTemplateFile?: string;
650
+ /**
651
+ * Context where the command would apply
652
+ */
653
+ context?: CommandContext[];
654
+ /**
655
+ * Description of the command.
656
+ */
657
+ description?: string;
658
+ /**
659
+ * A boolean value that indicates if it should fetch task module dynamically
660
+ */
661
+ fetchTask?: boolean;
662
+ /**
663
+ * Id of the command.
664
+ */
665
+ id: string;
666
+ /**
667
+ * A boolean value that indicates if the command should be run once initially with no
668
+ * parameter.
669
+ */
670
+ initialRun?: boolean;
671
+ parameters?: ParameterClass[];
672
+ samplePrompts?: SamplePrompt[];
673
+ /**
674
+ * semantic description of the command. This is typically meant for consumption by the large
675
+ * language model.
676
+ */
677
+ semanticDescription?: string;
678
+ /**
679
+ * Task module to be launched when fetch task set to false.
680
+ */
681
+ taskInfo?: TaskInfo;
682
+ /**
683
+ * Title of the command.
684
+ */
685
+ title: string;
686
+ /**
687
+ * Type of the command
688
+ */
689
+ type?: CommandType;
690
+ }
691
+ export type CommandContext = "compose" | "commandBox" | "message";
692
+ export interface ParameterClass {
693
+ /**
694
+ * The choice options for the parameter
695
+ */
696
+ choices?: Choice[];
697
+ /**
698
+ * Description of the parameter.
699
+ */
700
+ description?: string;
701
+ /**
702
+ * Type of the parameter
703
+ */
704
+ inputType?: InputType;
705
+ /**
706
+ * Indicates whether this parameter is required or not. By default, it is not.
707
+ */
708
+ isRequired?: boolean;
709
+ /**
710
+ * Name of the parameter.
711
+ */
712
+ name: string;
713
+ /**
714
+ * semantic description of the parameter. This is typically meant for consumption by the
715
+ * large language model.
716
+ */
717
+ semanticDescription?: string;
718
+ /**
719
+ * Title of the parameter.
720
+ */
721
+ title: string;
722
+ /**
723
+ * Initial value for the parameter
724
+ */
725
+ value?: string;
726
+ }
727
+ export interface Choice {
728
+ /**
729
+ * Title of the choice
730
+ */
731
+ title: string;
732
+ /**
733
+ * Value of the choice
734
+ */
735
+ value: string;
736
+ }
737
+ /**
738
+ * Type of the parameter
739
+ */
740
+ export type InputType = "text" | "textarea" | "number" | "date" | "time" | "toggle" | "choiceset";
741
+ export interface SamplePrompt {
742
+ /**
743
+ * This string will hold the sample prompt
744
+ */
745
+ text: string;
746
+ }
747
+ /**
748
+ * Type of the command
749
+ */
750
+ export type CommandType = "query" | "action";
751
+ /**
752
+ * Type of the compose extension.
753
+ */
754
+ export type ComposeExtensionType = "botBased" | "apiBased";
755
+ export interface MessageHandler {
756
+ /**
757
+ * Type of the message handler
758
+ */
759
+ type: "link";
760
+ value: Value;
761
+ }
762
+ /**
763
+ * Type of the message handler
764
+ */
765
+ export interface Value {
766
+ /**
767
+ * A list of domains that the link message handler can register for, and when they are
768
+ * matched the app will be invoked
769
+ */
770
+ domains?: string[];
771
+ /**
772
+ * A boolean value that indicates whether the app's link message handler supports anonymous
773
+ * invoke flow.
774
+ */
775
+ supportsAnonymizedPayloads?: boolean;
776
+ /**
777
+ * A boolean value that indicates whether the app's link message handler supports anonymous
778
+ * invoke flow. [Deprecated]. This property has been superceded by
779
+ * 'supportsAnonymizedPayloads'.
780
+ */
781
+ supportsAnonymousAccess?: boolean;
782
+ [property: string]: any;
783
+ }
784
+ export type ConfigurableProperty = "name" | "shortDescription" | "longDescription" | "smallImageUrl" | "largeImageUrl" | "accentColor" | "developerUrl" | "privacyUrl" | "termsOfUseUrl";
785
+ export interface ConfigurableTab {
786
+ /**
787
+ * A value indicating whether an instance of the tab's configuration can be updated by the
788
+ * user after creation.
789
+ */
790
+ canUpdateConfiguration?: boolean;
791
+ /**
792
+ * The url to use when configuring the tab.
793
+ */
794
+ configurationUrl: string;
795
+ /**
796
+ * The set of contextItem scopes that a tab belong to
797
+ */
798
+ context?: ConfigurableTabContext[];
799
+ /**
800
+ * A unique identifier for the tab. This id must be unique within the app manifest.
801
+ */
802
+ id?: string;
803
+ /**
804
+ * The set of meetingSurfaceItem scopes that a tab belong to
805
+ */
806
+ meetingSurfaces?: MeetingSurface[];
807
+ /**
808
+ * Specifies whether the tab offers an experience in the context of a channel in a team, in
809
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
810
+ * options are non-exclusive. Currently, configurable tabs are only supported in the teams
811
+ * and groupchats scopes.
812
+ */
813
+ scopes: ConfigurableTabScope[];
814
+ /**
815
+ * A relative file path to a tab preview image for use in SharePoint. Size 1024x768.
816
+ */
817
+ sharePointPreviewImage?: string;
818
+ /**
819
+ * The set of supportedPlatform scopes that a tab belong to
820
+ */
821
+ supportedPlatform?: SupportedPlatform[];
822
+ /**
823
+ * Defines how your tab will be made available in SharePoint.
824
+ */
825
+ supportedSharePointHosts?: SupportedSharePointHost[];
826
+ }
827
+ export type ConfigurableTabContext = "personalTab" | "channelTab" | "privateChatTab" | "meetingChatTab" | "meetingDetailsTab" | "meetingSidePanel" | "meetingStage" | "callingSidePanel";
828
+ export type MeetingSurface = "sidePanel" | "stage";
829
+ export type ConfigurableTabScope = "team" | "groupChat";
830
+ export type SupportedPlatform = "desktop" | "mobile" | "teamsMeetingDevices";
831
+ export type SupportedSharePointHost = "sharePointFullPage" | "sharePointWebPart";
832
+ export interface Connector {
833
+ /**
834
+ * The url to use for configuring the connector using the inline configuration experience.
835
+ */
836
+ configurationUrl?: string;
837
+ /**
838
+ * A unique identifier for the connector which matches its ID in the Connectors Developer
839
+ * Portal.
840
+ */
841
+ connectorId: string;
842
+ /**
843
+ * Specifies whether the connector offers an experience in the context of a channel in a
844
+ * team, or an experience scoped to an individual user alone. Currently, only the team scope
845
+ * is supported.
846
+ */
847
+ scopes: "team"[];
848
+ }
849
+ export interface CopilotAgents {
850
+ /**
851
+ * An array of Custom Engine Agents. Currently only one Custom Engine Agent per application
852
+ * is supported.
853
+ */
854
+ customEngineAgents?: CustomEngineAgent[];
855
+ /**
856
+ * An array of declarative agent elements references. Currently, only one declarative agent
857
+ * per application is supported.
858
+ */
859
+ declarativeAgents?: DeclarativeAgentRef[];
860
+ }
861
+ export interface CustomEngineAgent {
862
+ /**
863
+ * The id of the Custom Engine Agent. If it is of type bot, the id must match the id
864
+ * specified in a bot in the bots node and the referenced bot must have personal scope. The
865
+ * app short name and short description must also be defined.
866
+ */
867
+ id: string;
868
+ /**
869
+ * The type of the Custom Engine Agent. Currently only type bot is supported.
870
+ */
871
+ type: "bot";
872
+ }
873
+ /**
874
+ * The type of the Custom Engine Agent. Currently only type bot is supported.
875
+ *
876
+ * The content of the dashboard card is sourced from a bot.
877
+ */
878
+ /**
879
+ * A reference to a declarative agent element. The element's definition is in a separate
880
+ * file.
881
+ */
882
+ export interface DeclarativeAgentRef {
883
+ /**
884
+ * Relative file path to this declarative agent element file in the application package.
885
+ */
886
+ file: string;
887
+ /**
888
+ * A unique identifier for this declarative agent element.
889
+ */
890
+ id: string;
891
+ }
892
+ /**
893
+ * Cards wich could be pinned to dashboard providing summarized view of information relevant
894
+ * to user.
895
+ */
896
+ export interface DashboardCard {
897
+ contentSource: DashboardCardContentSource;
898
+ /**
899
+ * Rendering Size for dashboard card.
900
+ */
901
+ defaultSize: DefaultSize;
902
+ /**
903
+ * Description of the card.Maximum length is 255 characters.
904
+ */
905
+ description: string;
906
+ /**
907
+ * Represents the name of the card. Maximum length is 255 characters.
908
+ */
909
+ displayName: string;
910
+ icon?: DashboardCardIcon;
911
+ /**
912
+ * Unique Id for the card. Must be unique inside the app.
913
+ */
914
+ id: string;
915
+ /**
916
+ * Id of the group in the card picker. This must be guid.
917
+ */
918
+ pickerGroupId: string;
919
+ }
920
+ /**
921
+ * Represents a configuration for the source of the card’s content.
922
+ */
923
+ export interface DashboardCardContentSource {
924
+ /**
925
+ * The configuration for the bot source. Required if sourceType is set to bot.
926
+ */
927
+ botConfiguration?: BotConfiguration;
928
+ /**
929
+ * The content of the dashboard card is sourced from a bot.
930
+ */
931
+ sourceType?: "bot";
932
+ }
933
+ /**
934
+ * The configuration for the bot source. Required if sourceType is set to bot.
935
+ */
936
+ export interface BotConfiguration {
937
+ /**
938
+ * The unique Microsoft app ID for the bot as registered with the Bot Framework.
939
+ */
940
+ botId?: string;
941
+ }
942
+ /**
943
+ * Rendering Size for dashboard card.
944
+ */
945
+ export type DefaultSize = "medium" | "large";
946
+ /**
947
+ * Represents a configuration for the source of the card’s content
948
+ */
949
+ export interface DashboardCardIcon {
950
+ /**
951
+ * The icon for the card, to be displayed in the toolbox and card bar, represented as URL.
952
+ */
953
+ iconUrl?: string;
954
+ /**
955
+ * Office UI Fabric/Fluent UI icon friendly name for the card. This value will be used if
956
+ * ‘iconUrl’ is not specified.
957
+ */
958
+ officeUIFabricIconName?: string;
959
+ }
960
+ /**
961
+ * When a group install scope is selected, this will define the default capability when the
962
+ * user installs the app
963
+ */
964
+ export interface DefaultGroupCapability {
965
+ /**
966
+ * When the install scope selected is GroupChat, this field specifies the default capability
967
+ * available
968
+ */
969
+ groupchat?: Groupchat;
970
+ /**
971
+ * When the install scope selected is Meetings, this field specifies the default capability
972
+ * available
973
+ */
974
+ meetings?: Groupchat;
975
+ /**
976
+ * When the install scope selected is Team, this field specifies the default capability
977
+ * available
978
+ */
979
+ team?: Groupchat;
980
+ }
981
+ /**
982
+ * When the install scope selected is GroupChat, this field specifies the default capability
983
+ * available
984
+ *
985
+ * When the install scope selected is Meetings, this field specifies the default capability
986
+ * available
987
+ *
988
+ * When the install scope selected is Team, this field specifies the default capability
989
+ * available
990
+ */
991
+ export type Groupchat = "tab" | "bot" | "connector";
992
+ /**
993
+ * The install scope defined for this app by default. This will be the option displayed on
994
+ * the button when a user tries to add the app
995
+ */
996
+ export type DefaultInstallScope = "personal" | "team" | "groupChat" | "meetings" | "copilot";
997
+ export interface Description {
998
+ /**
999
+ * The full description of the app. Maximum length is 4000 characters.
1000
+ */
1001
+ full: string;
1002
+ /**
1003
+ * A short description of the app used when space is limited. Maximum length is 80
1004
+ * characters.
1005
+ */
1006
+ short: string;
1007
+ }
1008
+ export interface Developer {
1009
+ /**
1010
+ * App developer contact information.
1011
+ */
1012
+ contactInfo?: ContactInfo;
1013
+ /**
1014
+ * The Microsoft Partner Network ID that identifies the partner organization building the
1015
+ * app. This field is not required, and should only be used if you are already part of the
1016
+ * Microsoft Partner Network. More info at https://aka.ms/partner
1017
+ */
1018
+ mpnId?: string;
1019
+ /**
1020
+ * The display name for the developer.
1021
+ */
1022
+ name: string;
1023
+ /**
1024
+ * The url to the page that provides privacy information for the app.
1025
+ */
1026
+ privacyUrl: string;
1027
+ /**
1028
+ * The url to the page that provides the terms of use for the app.
1029
+ */
1030
+ termsOfUseUrl: string;
1031
+ /**
1032
+ * The url to the page that provides support information for the app.
1033
+ */
1034
+ websiteUrl: string;
1035
+ }
1036
+ /**
1037
+ * App developer contact information.
1038
+ */
1039
+ export interface ContactInfo {
1040
+ /**
1041
+ * Support configuration.
1042
+ */
1043
+ defaultSupport: DefaultSupport;
1044
+ [property: string]: any;
1045
+ }
1046
+ /**
1047
+ * Support configuration.
1048
+ */
1049
+ export interface DefaultSupport {
1050
+ /**
1051
+ * Email address for email support.
1052
+ */
1053
+ emailsForEmailSupport: string[];
1054
+ /**
1055
+ * User email for chat support contacts.
1056
+ */
1057
+ userEmailsForChatSupport: string[];
1058
+ [property: string]: any;
1059
+ }
1060
+ export type DevicePermission = "geolocation" | "media" | "notifications" | "midi" | "openExternal";
1061
+ export interface ElementRelationshipSet {
1062
+ /**
1063
+ * An array containing multiple instances of mutual dependency relationships between
1064
+ * elements (each represented by a mutualDependency object).
1065
+ */
1066
+ mutualDependencies?: Array<ElementReference[]>;
1067
+ /**
1068
+ * An array containing multiple instances of unidirectional dependency relationships (each
1069
+ * represented by a oneWayDependency object).
1070
+ */
1071
+ oneWayDependencies?: OneWayDependency[];
1072
+ }
1073
+ /**
1074
+ * A specific instance of mutual dependency between two or more elements, indicating that
1075
+ * each element depends on the others in a bidirectional manner.
1076
+ */
1077
+ export interface ElementReference {
1078
+ commandIds?: string[];
1079
+ id: string;
1080
+ name: MutualDependencyName;
1081
+ }
1082
+ export type MutualDependencyName = "bots" | "staticTabs" | "composeExtensions" | "configurableTabs";
1083
+ /**
1084
+ * An object representing a unidirectional dependency relationship, where one specific
1085
+ * element (referred to as the `element`) relies on an array of other elements (referred to
1086
+ * as the `dependsOn`) in a single direction.
1087
+ */
1088
+ export interface OneWayDependency {
1089
+ dependsOn: ElementReference[];
1090
+ element: ElementReference;
1091
+ }
1092
+ /**
1093
+ * The set of extensions for this app. Currently only one extensions per app is supported.
1094
+ */
1095
+ export interface ElementExtension {
1096
+ alternates?: ExtensionAlternateVersionsArray[];
1097
+ appDeeplinks?: ExtensionAppDeeplinksArray[];
1098
+ /**
1099
+ * The url for your extension, used to validate Exchange user identity tokens.
1100
+ */
1101
+ audienceClaimUrl?: string;
1102
+ autoRunEvents?: ExtensionAutoRunEventsArray[];
1103
+ contentRuntimes?: ExtensionContentRuntimeArray[];
1104
+ /**
1105
+ * Specifies the context menus for your extension. A context menu is a shortcut menu that
1106
+ * appears when a user right-clicks (selects and holds) in the Office UI. Min size 1.
1107
+ */
1108
+ contextMenus?: ExtensionContextMenuArray[];
1109
+ getStartedMessages?: ExtensionGetStartedMessageArray[];
1110
+ /**
1111
+ * Keyboard shortcuts, also known as key combinations, enable your add-in's users to work
1112
+ * more efficiently. Keyboard shortcuts also improve the add-in's accessibility for users
1113
+ * with disabilities by providing an alternative to the mouse.
1114
+ */
1115
+ keyboardShortcuts?: ExtensionKeyboardShortcut[];
1116
+ requirements?: RequirementsExtensionElement;
1117
+ ribbons?: ExtensionRibbonsArray[];
1118
+ /**
1119
+ * General runtime for "MailApp" or "TaskpaneApp". Configures the set of runtimes and
1120
+ * actions that can be used by each extension point. Min size 1.
1121
+ */
1122
+ runtimes?: ExtensionRuntimesArray[];
1123
+ }
1124
+ export interface ExtensionAlternateVersionsArray {
1125
+ alternateIcons: AlternateIcons;
1126
+ hide?: Hide;
1127
+ prefer?: Prefer;
1128
+ requirements?: RequirementsExtensionElement;
1129
+ xllCustomFunctions?: ExtensionXllCustomFunctions;
1130
+ }
1131
+ export interface AlternateIcons {
1132
+ highResolutionIcon: ExtensionCommonIcon;
1133
+ icon: ExtensionCommonIcon;
1134
+ }
1135
+ export interface ExtensionCommonIcon {
1136
+ /**
1137
+ * Size in pixels of the icon. Three image sizes are required (16, 32, and 80 pixels)
1138
+ */
1139
+ size: number;
1140
+ /**
1141
+ * Absolute Url to the icon.
1142
+ */
1143
+ url: string;
1144
+ }
1145
+ export interface Hide {
1146
+ customOfficeAddin?: CustomOfficeAddin;
1147
+ storeOfficeAddin?: StoreOfficeAddin;
1148
+ [property: string]: any;
1149
+ }
1150
+ export interface CustomOfficeAddin {
1151
+ /**
1152
+ * Solution ID of the in-market add-in to hide. Maximum length is 64 characters.
1153
+ */
1154
+ officeAddinId: string;
1155
+ }
1156
+ export interface StoreOfficeAddin {
1157
+ /**
1158
+ * Asset ID of the in-market add-in to hide. Maximum length is 64 characters.
1159
+ */
1160
+ assetId: string;
1161
+ /**
1162
+ * Solution ID of an in-market add-in to hide. Maximum length is 64 characters.
1163
+ */
1164
+ officeAddinId: string;
1165
+ }
1166
+ export interface Prefer {
1167
+ comAddin?: COMAddin;
1168
+ [property: string]: any;
1169
+ }
1170
+ export interface COMAddin {
1171
+ /**
1172
+ * Program ID of the alternate com extension. Maximum length is 64 characters.
1173
+ */
1174
+ progId: string;
1175
+ }
1176
+ /**
1177
+ * Specifies limitations on which clients the add-in can be installed on, including
1178
+ * limitations on the Office host application, the form factors, and the requirement sets
1179
+ * that the client must support.
1180
+ *
1181
+ * Specifies the Office requirement sets.
1182
+ */
1183
+ export interface RequirementsExtensionElement {
1184
+ capabilities?: Capability[];
1185
+ /**
1186
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1187
+ */
1188
+ formFactors?: FormFactor[];
1189
+ /**
1190
+ * Identifies the scopes in which the add-in can run. For example, mail means Outlook.
1191
+ */
1192
+ scopes?: RequirementsScope[];
1193
+ }
1194
+ export interface Capability {
1195
+ /**
1196
+ * Identifies the maximum version for the requirement sets that the add-in needs to run.
1197
+ */
1198
+ maxVersion?: string;
1199
+ /**
1200
+ * Identifies the minimum version for the requirement sets that the add-in needs to run.
1201
+ */
1202
+ minVersion?: string;
1203
+ /**
1204
+ * Identifies the name of the requirement sets that the add-in needs to run.
1205
+ */
1206
+ name: string;
1207
+ }
1208
+ export type FormFactor = "desktop" | "mobile";
1209
+ export type RequirementsScope = "mail" | "workbook" | "document" | "presentation";
1210
+ export interface ExtensionXllCustomFunctions {
1211
+ fileName?: string;
1212
+ [property: string]: any;
1213
+ }
1214
+ /**
1215
+ * Represents the copilot extension point
1216
+ */
1217
+ export interface ExtensionAppDeeplinksArray {
1218
+ /**
1219
+ * The ID of an action defined in runtimes. Manifest should be invalidated if no action with
1220
+ * an id matching actionId is present in runtimes.
1221
+ */
1222
+ actionId: string;
1223
+ contexts: ExtensionContext[];
1224
+ /**
1225
+ * the text that will be shown on the app as a clickable item.
1226
+ */
1227
+ label: string;
1228
+ requirements?: AppDeeplinkRequirements;
1229
+ /**
1230
+ * the text metadata, for recommendation engine.
1231
+ */
1232
+ semanticDescription: string;
1233
+ }
1234
+ /**
1235
+ * Specifies the Office application windows in which the ribbon customization is available
1236
+ * to the user. Each item in the array is a member of a string array. Possible values are:
1237
+ * mailRead, mailCompose, meetingDetailsOrganizer, meetingDetailsAttendee,
1238
+ * onlineMeetingDetailsOrganizer, logEventMeetingDetailsAttendee, spamReportingOverride.
1239
+ */
1240
+ export type ExtensionContext = "mailRead" | "mailCompose" | "meetingDetailsOrganizer" | "meetingDetailsAttendee" | "onlineMeetingDetailsOrganizer" | "logEventMeetingDetailsAttendee" | "default" | "spamReportingOverride";
1241
+ /**
1242
+ * Specifies limitations on which clients the add-in can be installed on, including
1243
+ * limitations on the Office host application, the form factors, and the requirement sets
1244
+ * that the client must support.
1245
+ *
1246
+ * Specifies the Office requirement sets.
1247
+ */
1248
+ export interface AppDeeplinkRequirements {
1249
+ capabilities?: Capability[];
1250
+ /**
1251
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1252
+ */
1253
+ formFactors?: FormFactor[];
1254
+ /**
1255
+ * Identifies the scopes in which the add-in can run. For example, mail means Outlook.
1256
+ */
1257
+ scopes?: RequirementsScope[];
1258
+ }
1259
+ export interface ExtensionAutoRunEventsArray {
1260
+ /**
1261
+ * Specifies the type of event. For supported types, please see:
1262
+ * https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/autolaunch?tabs=xmlmanifest#supported-events.
1263
+ */
1264
+ events: Event[];
1265
+ requirements?: RequirementsExtensionElement;
1266
+ }
1267
+ export interface Event {
1268
+ /**
1269
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1270
+ */
1271
+ actionId: string;
1272
+ /**
1273
+ * Configures how Outlook responds to the event.
1274
+ */
1275
+ options?: Options;
1276
+ type: string;
1277
+ }
1278
+ /**
1279
+ * Configures how Outlook responds to the event.
1280
+ */
1281
+ export interface Options {
1282
+ sendMode: SendMode;
1283
+ }
1284
+ export type SendMode = "promptUser" | "softBlock" | "block";
1285
+ /**
1286
+ * Content runtime is for 'ContentApp', which can be embedded directly into Excel or
1287
+ * PowerPoint documents.
1288
+ */
1289
+ export interface ExtensionContentRuntimeArray {
1290
+ code: ExtensionRuntimeCode;
1291
+ /**
1292
+ * Specifies whether a snapshot image of your content add-in is saved with the host
1293
+ * document. Default value is false. Set true to disable.
1294
+ */
1295
+ disableSnapshot?: boolean;
1296
+ /**
1297
+ * A unique identifier for this runtime within the app. This is developer specified.
1298
+ */
1299
+ id: string;
1300
+ /**
1301
+ * The desired height in pixels for the initial content placeholder. This value MUST be
1302
+ * between 32 and 1000 pixels. Default value will be determined by host.
1303
+ */
1304
+ requestedHeight?: number;
1305
+ /**
1306
+ * The desired width in pixels for the initial content placeholder. This value MUST be
1307
+ * between 32 and 1000 pixels. Default value will be determined by host.
1308
+ */
1309
+ requestedWidth?: number;
1310
+ requirements?: ContentRuntimeRequirements;
1311
+ }
1312
+ export interface ExtensionRuntimeCode {
1313
+ /**
1314
+ * URL of the .html page to be loaded in browser-based runtimes.
1315
+ */
1316
+ page: string;
1317
+ /**
1318
+ * URL of the .js script file to be loaded in UI-less runtimes.
1319
+ */
1320
+ script?: string;
1321
+ }
1322
+ /**
1323
+ * Specifies limitations on which clients the add-in can be installed on, including
1324
+ * limitations on the Office host application, the form factors, and the requirement sets
1325
+ * that the client must support.
1326
+ *
1327
+ * Specifies the Office requirement sets.
1328
+ */
1329
+ export interface ContentRuntimeRequirements {
1330
+ capabilities?: Capability[];
1331
+ /**
1332
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1333
+ */
1334
+ formFactors?: FormFactor[];
1335
+ /**
1336
+ * Identifies the scopes in which the add-in can run. For example, mail means Outlook.
1337
+ */
1338
+ scopes?: RequirementsScope[];
1339
+ }
1340
+ /**
1341
+ * Specifies the context menus for your extension. A context menu is a shortcut menu that
1342
+ * appears when a user right-clicks (selects and holds) in the Office UI. Min size 1.
1343
+ */
1344
+ export interface ExtensionContextMenuArray {
1345
+ /**
1346
+ * Configures the context menus. Minimum size is 1.
1347
+ */
1348
+ menus: ExtensionMenuItem[];
1349
+ requirements?: ContextMenuRequirements;
1350
+ }
1351
+ /**
1352
+ * Configures the context menus. Minimum size is 1.
1353
+ *
1354
+ * The title used for the top of the callout.
1355
+ */
1356
+ export interface ExtensionMenuItem {
1357
+ controls: ExtensionCommonCustomGroupControlsItem[];
1358
+ /**
1359
+ * Use 'text' or 'cell' here for Office context menu. Use text if the context menu should
1360
+ * open when a user right-clicks (selects and holds) on the selected text. Use cell if the
1361
+ * context menu should open when the user right-clicks (selects and holds) on a cell in an
1362
+ * Excel spreadsheet.
1363
+ */
1364
+ entryPoint: EntryPoint;
1365
+ }
1366
+ export interface ExtensionCommonCustomGroupControlsItem {
1367
+ /**
1368
+ * The ID of an execution-type action that handles this key combination. Maximum length is
1369
+ * 64 characters.
1370
+ */
1371
+ actionId?: string;
1372
+ /**
1373
+ * Id of an existing office control. Maximum length is 64 characters.
1374
+ */
1375
+ builtInControlId?: string;
1376
+ /**
1377
+ * Whether the control is initially enabled.
1378
+ */
1379
+ enabled?: boolean;
1380
+ /**
1381
+ * Configures the icons for the custom control.
1382
+ */
1383
+ icons: ExtensionCommonIcon[];
1384
+ /**
1385
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1386
+ */
1387
+ id: string;
1388
+ /**
1389
+ * Configures the items for a menu control.
1390
+ */
1391
+ items?: ExtensionCommonCustomControlMenuItem[];
1392
+ /**
1393
+ * Displayed text for the control. Maximum length is 64 characters.
1394
+ */
1395
+ label: string;
1396
+ /**
1397
+ * Specifies whether a group, button, menu, or menu item will be hidden on application and
1398
+ * platform combinations that support the API (Office.ribbon.requestCreateControls) that
1399
+ * installs custom contextual tabs on the ribbon. Default is false.
1400
+ */
1401
+ overriddenByRibbonApi?: boolean;
1402
+ supertip: ExtensionCommonSuperToolTip;
1403
+ /**
1404
+ * Defines the type of control whether button or menu.
1405
+ */
1406
+ type: PurpleType;
1407
+ }
1408
+ export interface ExtensionCommonCustomControlMenuItem {
1409
+ /**
1410
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1411
+ */
1412
+ actionId: string;
1413
+ /**
1414
+ * Whether the control is initially enabled.
1415
+ */
1416
+ enabled?: boolean;
1417
+ icons?: ExtensionCommonIcon[];
1418
+ /**
1419
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1420
+ */
1421
+ id: string;
1422
+ /**
1423
+ * Displayed text for the control. Maximum length is 64 characters.
1424
+ */
1425
+ label: string;
1426
+ overriddenByRibbonApi?: boolean;
1427
+ supertip: ExtensionCommonSuperToolTip;
1428
+ /**
1429
+ * Supported values: menuItem.
1430
+ */
1431
+ type: "menuItem";
1432
+ }
1433
+ export interface ExtensionCommonSuperToolTip {
1434
+ /**
1435
+ * Description of the super tip. Maximum length is 250 characters.
1436
+ */
1437
+ description: string;
1438
+ /**
1439
+ * Title text of the super tip. Maximum length is 64 characters.
1440
+ */
1441
+ title: string;
1442
+ }
1443
+ /**
1444
+ * Supported values: menuItem.
1445
+ */
1446
+ /**
1447
+ * Defines the type of control whether button or menu.
1448
+ */
1449
+ export type PurpleType = "button" | "menu";
1450
+ /**
1451
+ * Use 'text' or 'cell' here for Office context menu. Use text if the context menu should
1452
+ * open when a user right-clicks (selects and holds) on the selected text. Use cell if the
1453
+ * context menu should open when the user right-clicks (selects and holds) on a cell in an
1454
+ * Excel spreadsheet.
1455
+ */
1456
+ export type EntryPoint = "text" | "cell";
1457
+ /**
1458
+ * Specifies limitations on which clients the add-in can be installed on, including
1459
+ * limitations on the Office host application, the form factors, and the requirement sets
1460
+ * that the client must support.
1461
+ *
1462
+ * Specifies the Office requirement sets.
1463
+ */
1464
+ export interface ContextMenuRequirements {
1465
+ capabilities?: Capability[];
1466
+ /**
1467
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1468
+ */
1469
+ formFactors?: FormFactor[];
1470
+ /**
1471
+ * Identifies the scopes in which the add-in can run. For example, mail means Outlook.
1472
+ */
1473
+ scopes?: RequirementsScope[];
1474
+ }
1475
+ /**
1476
+ * Provides information used by the callout that appears when the add-in is installed.
1477
+ */
1478
+ export interface ExtensionGetStartedMessageArray {
1479
+ /**
1480
+ * The description/body content for the callout.
1481
+ */
1482
+ description: string;
1483
+ /**
1484
+ * A URL to a page that explains the add-in in detail.
1485
+ */
1486
+ learnMoreUrl: string;
1487
+ requirements?: GetStartedMessageRequirements;
1488
+ /**
1489
+ * The title used for the top of the callout.
1490
+ */
1491
+ title: string;
1492
+ }
1493
+ /**
1494
+ * Specifies limitations on which clients the add-in can be installed on, including
1495
+ * limitations on the Office host application, the form factors, and the requirement sets
1496
+ * that the client must support.
1497
+ *
1498
+ * Specifies the Office requirement sets.
1499
+ */
1500
+ export interface GetStartedMessageRequirements {
1501
+ capabilities?: Capability[];
1502
+ /**
1503
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1504
+ */
1505
+ formFactors?: FormFactor[];
1506
+ /**
1507
+ * Identifies the scopes in which the add-in can run. For example, mail means Outlook.
1508
+ */
1509
+ scopes?: RequirementsScope[];
1510
+ }
1511
+ export interface ExtensionKeyboardShortcut {
1512
+ /**
1513
+ * Specifies the Office requirement sets.
1514
+ */
1515
+ requirements?: RequirementsExtensionElement;
1516
+ /**
1517
+ * Array of mappings from actions to the key combinations that invoke the actions.
1518
+ */
1519
+ shortcuts: ExtensionShortcut[];
1520
+ [property: string]: any;
1521
+ }
1522
+ export interface ExtensionShortcut {
1523
+ /**
1524
+ * The ID of an execution-type action that handles this key combination.
1525
+ */
1526
+ actionId: string;
1527
+ key: Key;
1528
+ [property: string]: any;
1529
+ }
1530
+ /**
1531
+ * Key combinations in different platform (i.e. default, windows, web and mac).
1532
+ */
1533
+ export interface Key {
1534
+ /**
1535
+ * Fallback key for any platform that isn't specified.
1536
+ */
1537
+ default: string;
1538
+ /**
1539
+ * key for mac platform. Alt is mapped to the Option key.
1540
+ */
1541
+ mac?: string;
1542
+ /**
1543
+ * key for web platform.
1544
+ */
1545
+ web?: string;
1546
+ /**
1547
+ * key for windows platform. Command is mapped to the Ctrl key.
1548
+ */
1549
+ windows?: string;
1550
+ [property: string]: any;
1551
+ }
1552
+ export interface ExtensionRibbonsArray {
1553
+ contexts?: ExtensionContext[];
1554
+ fixedControls?: ExtensionRibbonsArrayFixedControlItem[];
1555
+ requirements?: RequirementsExtensionElement;
1556
+ spamPreProcessingDialog?: ExtensionRibbonsSpamPreProcessingDialog;
1557
+ tabs: ExtensionRibbonsArrayTabsItem[];
1558
+ }
1559
+ export interface ExtensionRibbonsArrayFixedControlItem {
1560
+ /**
1561
+ * The ID of an execution-type action that handles this key combination. Maximum length is
1562
+ * 64 characters.
1563
+ */
1564
+ actionId: string;
1565
+ /**
1566
+ * Whether the control is initially enabled.
1567
+ */
1568
+ enabled: boolean;
1569
+ icons: ExtensionCommonIcon[];
1570
+ /**
1571
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1572
+ */
1573
+ id: string;
1574
+ /**
1575
+ * Displayed text for the control. Maximum length is 64 characters.
1576
+ */
1577
+ label: string;
1578
+ supertip: ExtensionCommonSuperToolTip;
1579
+ /**
1580
+ * Defines the type of control.
1581
+ */
1582
+ type: "button";
1583
+ }
1584
+ /**
1585
+ * Defines the type of control.
1586
+ */
1587
+ export interface ExtensionRibbonsSpamPreProcessingDialog {
1588
+ /**
1589
+ * Specifies the custom text that appears in the preprocessing dialog.
1590
+ */
1591
+ description: string;
1592
+ /**
1593
+ * A text box to the preprocessing dialog to allow users to provide additional information
1594
+ * on the message they're reporting. This value is the title of that text box.
1595
+ */
1596
+ spamFreeTextSectionTitle?: string;
1597
+ /**
1598
+ * Specifies the custom text and URL to provide informational resources to the users.
1599
+ */
1600
+ spamMoreInfo?: SpamMoreInfo;
1601
+ /**
1602
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
1603
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
1604
+ * options are non-exclusive.
1605
+ */
1606
+ spamReportingOptions?: SpamReportingOptions;
1607
+ /**
1608
+ * Specifies the custom title of the preprocessing dialog.
1609
+ */
1610
+ title: string;
1611
+ }
1612
+ /**
1613
+ * Specifies the custom text and URL to provide informational resources to the users.
1614
+ */
1615
+ export interface SpamMoreInfo {
1616
+ /**
1617
+ * Specifies display content of the hyperlink pointing to the site containing informational
1618
+ * resources in the preprocessing dialog of a spam-reporting add-in.
1619
+ */
1620
+ text: string;
1621
+ /**
1622
+ * Specifies the URL of the hyperlink pointing to the site containing informational
1623
+ * resources in the preprocessing dialog of a spam-reporting add-in.
1624
+ */
1625
+ url: string;
1626
+ [property: string]: any;
1627
+ }
1628
+ /**
1629
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
1630
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
1631
+ * options are non-exclusive.
1632
+ */
1633
+ export interface SpamReportingOptions {
1634
+ /**
1635
+ * Specifies the custom options that a user can select from the preprocessing dialog to
1636
+ * provide a reason for reporting a message.
1637
+ */
1638
+ options: string[];
1639
+ /**
1640
+ * Specifies the title listed before the reporting options list.
1641
+ */
1642
+ title: string;
1643
+ [property: string]: any;
1644
+ }
1645
+ export interface ExtensionRibbonsArrayTabsItem {
1646
+ /**
1647
+ * Id of the existing office Tab. Maximum length is 64 characters.
1648
+ */
1649
+ builtInTabId?: string;
1650
+ /**
1651
+ * Defines mobile group item.
1652
+ */
1653
+ customMobileRibbonGroups?: ExtensionRibbonsCustomMobileGroupItem[];
1654
+ /**
1655
+ * Defines tab groups.
1656
+ */
1657
+ groups?: ExtensionRibbonsCustomTabGroupsItem[];
1658
+ /**
1659
+ * A unique identifier for this tab within the app. Maximum length is 64 characters.
1660
+ */
1661
+ id?: string;
1662
+ /**
1663
+ * Displayed text for the tab. Maximum length is 64 characters.
1664
+ */
1665
+ label?: string;
1666
+ position?: Position;
1667
+ }
1668
+ export interface ExtensionRibbonsCustomMobileGroupItem {
1669
+ controls: ExtensionRibbonsCustomMobileControlButtonItem[];
1670
+ /**
1671
+ * Specify the Id of the group. Used for mobileMessageRead ext point.
1672
+ */
1673
+ id: string;
1674
+ /**
1675
+ * Short label of the control. Maximum length is 32 characters.
1676
+ */
1677
+ label: string;
1678
+ [property: string]: any;
1679
+ }
1680
+ export interface ExtensionRibbonsCustomMobileControlButtonItem {
1681
+ /**
1682
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1683
+ */
1684
+ actionId: string;
1685
+ icons: ExtensionCustomMobileIcon[];
1686
+ /**
1687
+ * Specify the Id of the button like msgReadFunctionButton.
1688
+ */
1689
+ id: string;
1690
+ /**
1691
+ * Short label of the control. Maximum length is 32 characters.
1692
+ */
1693
+ label: string;
1694
+ type: "mobileButton";
1695
+ [property: string]: any;
1696
+ }
1697
+ export interface ExtensionCustomMobileIcon {
1698
+ /**
1699
+ * How to scale - 1,2,3 for each image. This attribute specifies the UIScreen.scale property
1700
+ * for iOS devices.
1701
+ */
1702
+ scale: number;
1703
+ /**
1704
+ * Size in pixels of the icon. Three image sizes are required (25, 32, and 48 pixels).
1705
+ */
1706
+ size: number;
1707
+ /**
1708
+ * Url to the icon.
1709
+ */
1710
+ url: string;
1711
+ }
1712
+ export interface ExtensionRibbonsCustomTabGroupsItem {
1713
+ /**
1714
+ * Id of a built-in Group. Maximum length is 64 characters.
1715
+ */
1716
+ builtInGroupId?: string;
1717
+ controls?: ExtensionCommonCustomGroupControlsItem[];
1718
+ icons?: ExtensionCommonIcon[];
1719
+ /**
1720
+ * A unique identifier for this group within the app. Maximum length is 64 characters.
1721
+ */
1722
+ id?: string;
1723
+ /**
1724
+ * Displayed text for the group. Maximum length is 64 characters.
1725
+ */
1726
+ label?: string;
1727
+ /**
1728
+ * Specifies whether a group will be hidden on application and platform combinations that
1729
+ * support the API (Office.ribbon.requestCreateControls) that installs custom contextual
1730
+ * tabs on the ribbon. Default is false.
1731
+ */
1732
+ overriddenByRibbonApi?: boolean;
1733
+ }
1734
+ export interface Position {
1735
+ /**
1736
+ * Define alignment of this custom tab relative to the specified built-in tab.
1737
+ */
1738
+ align: Align;
1739
+ /**
1740
+ * The id of the built-in tab. Maximum length is 64 characters.
1741
+ */
1742
+ builtInTabId: string;
1743
+ }
1744
+ /**
1745
+ * Define alignment of this custom tab relative to the specified built-in tab.
1746
+ */
1747
+ export type Align = "after" | "before";
1748
+ /**
1749
+ * General runtime for "MailApp" or "TaskpaneApp". Configures the set of runtimes and
1750
+ * actions that can be used by each extension point. Min size 1.
1751
+ *
1752
+ * A runtime environment for a page or script.
1753
+ */
1754
+ export interface ExtensionRuntimesArray {
1755
+ actions?: ExtensionRuntimesActionsItem[];
1756
+ code: ExtensionRuntimeCode;
1757
+ customFunctions?: ExtensionCustomFunctions;
1758
+ /**
1759
+ * A unique identifier for this runtime within the app. Maximum length is 64 characters.
1760
+ */
1761
+ id: string;
1762
+ /**
1763
+ * Runtimes with a short lifetime do not preserve state across executions. Runtimes with a
1764
+ * long lifetime do.
1765
+ */
1766
+ lifetime?: Lifetime;
1767
+ requirements?: RequirementsExtensionElement;
1768
+ /**
1769
+ * Supports running functions and launching pages.
1770
+ */
1771
+ type?: "general";
1772
+ }
1773
+ /**
1774
+ * Specifies the set of actions supported by this runtime. An action is either running a
1775
+ * JavaScript function or opening a view such as a task pane.
1776
+ */
1777
+ export interface ExtensionRuntimesActionsItem {
1778
+ /**
1779
+ * Display name of the action. Maximum length is 64 characters.
1780
+ */
1781
+ displayName?: string;
1782
+ /**
1783
+ * Identifier for this action. Maximum length is 64 characters. This value is passed to the
1784
+ * code file.
1785
+ */
1786
+ id: string;
1787
+ /**
1788
+ * Whether allows the action to have multiple selection.
1789
+ */
1790
+ multiselect?: boolean;
1791
+ /**
1792
+ * Specifies that a task pane supports pinning, which keeps the task pane open when the user
1793
+ * changes the selection.
1794
+ */
1795
+ pinnable?: boolean;
1796
+ /**
1797
+ * Whether allows task pane add-ins to activate without the Reading Pane enabled or a
1798
+ * message selected.
1799
+ */
1800
+ supportsNoItemContext?: boolean;
1801
+ /**
1802
+ * executeFunction: Run a script function without waiting for it to finish. openPage: Open a
1803
+ * page in a view. executeDataFunction: invoke command and retrieve data.
1804
+ */
1805
+ type: ActionType;
1806
+ /**
1807
+ * View where the page should be opened. Maximum length is 64 characters.
1808
+ */
1809
+ view?: string;
1810
+ }
1811
+ /**
1812
+ * executeFunction: Run a script function without waiting for it to finish. openPage: Open a
1813
+ * page in a view. executeDataFunction: invoke command and retrieve data.
1814
+ */
1815
+ export type ActionType = "executeFunction" | "openPage" | "executeDataFunction";
1816
+ /**
1817
+ * Custom function enable developers to add new functions to Excel by defining those
1818
+ * functions in JavaScript as part of an add-in. Users within Excel can access custom
1819
+ * functions just as they would any native function in Excel, such as SUM().
1820
+ */
1821
+ export interface ExtensionCustomFunctions {
1822
+ /**
1823
+ * Allows a custom function to accept Excel data types as parameters and return values.
1824
+ */
1825
+ allowCustomDataForDataTypeAny?: boolean;
1826
+ /**
1827
+ * Array of function object which defines function metadata.
1828
+ */
1829
+ functions: ExtensionFunction[];
1830
+ namespace: ExtensionCustomFunctionsNamespace;
1831
+ [property: string]: any;
1832
+ }
1833
+ export interface ExtensionFunction {
1834
+ /**
1835
+ * If true, Excel calls the CancelableInvocation handler whenever the user takes an action
1836
+ * that has the effect of canceling the function; for example, manually triggering
1837
+ * recalculation or editing a cell that is referenced by the function. Cancelable functions
1838
+ * are typically only used for asynchronous functions that return a single result and need
1839
+ * to handle the cancellation of a request for data. A function can't use both the stream
1840
+ * and cancelable properties.
1841
+ */
1842
+ cancelable?: boolean;
1843
+ /**
1844
+ * The description of the function that end users see in Excel.
1845
+ */
1846
+ description?: string;
1847
+ /**
1848
+ * URL that provides information about the function. (It is displayed in a task pane.)
1849
+ */
1850
+ helpUrl?: string;
1851
+ /**
1852
+ * A unique ID for the function.
1853
+ */
1854
+ id: string;
1855
+ /**
1856
+ * The name of the function that end users see in Excel. In Excel, this function name is
1857
+ * prefixed by the custom functions namespace that's specified in the manifest file.
1858
+ */
1859
+ name: string;
1860
+ /**
1861
+ * Array that defines the input parameters for the function.
1862
+ */
1863
+ parameters: ExtensionFunctionParameter[];
1864
+ /**
1865
+ * If true, your custom function can access the address of the cell that invoked it. The
1866
+ * address property of the invocation parameter contains the address of the cell that
1867
+ * invoked your custom function. A function can't use both the stream and requiresAddress
1868
+ * properties.
1869
+ */
1870
+ requiresAddress?: boolean;
1871
+ /**
1872
+ * If true, your custom function can access the addresses of the function's input
1873
+ * parameters. This property must be used in combination with the dimensionality property of
1874
+ * the result object, and dimensionality must be set to matrix.
1875
+ */
1876
+ requiresParameterAddress?: boolean;
1877
+ result: ExtensionResult;
1878
+ /**
1879
+ * If true, the function can output repeatedly to the cell even when invoked only once. This
1880
+ * option is useful for rapidly-changing data sources, such as a stock price. The function
1881
+ * should have no return statement. Instead, the result value is passed as the argument of
1882
+ * the StreamingInvocation.setResult callback function.
1883
+ */
1884
+ stream?: boolean;
1885
+ /**
1886
+ * If true, the function recalculates each time Excel recalculates, instead of only when the
1887
+ * formula's dependent values have changed. A function can't use both the stream and
1888
+ * volatile properties. If the stream and volatile properties are both set to true, the
1889
+ * volatile property will be ignored.
1890
+ */
1891
+ volatile?: boolean;
1892
+ [property: string]: any;
1893
+ }
1894
+ export interface ExtensionFunctionParameter {
1895
+ /**
1896
+ * A subfield of the type property. Specifies the Excel data types accepted by the custom
1897
+ * function. Accepts the values cellvalue, booleancellvalue, doublecellvalue,
1898
+ * entitycellvalue, errorcellvalue, formattednumbercellvalue, linkedentitycellvalue,
1899
+ * localimagecellvalue, stringcellvalue, webimagecellvalue
1900
+ */
1901
+ cellValueType?: CellValueType;
1902
+ /**
1903
+ * A description of the parameter. This is displayed in Excel's IntelliSense.
1904
+ */
1905
+ description?: string;
1906
+ /**
1907
+ * Must be either scalar (a non-array value) or matrix (a 2-dimensional array).
1908
+ */
1909
+ dimensionality?: Dimensionality;
1910
+ /**
1911
+ * The name of the parameter. This name is displayed in Excel's IntelliSense.
1912
+ */
1913
+ name: string;
1914
+ /**
1915
+ * If true, the parameter is optional.
1916
+ */
1917
+ optional?: boolean;
1918
+ /**
1919
+ * If true, parameters populate from a specified array. Note that functions all repeating
1920
+ * parameters are considered optional parameters by definition.
1921
+ */
1922
+ repeating?: boolean;
1923
+ /**
1924
+ * The data type of the parameter. It can only be boolean, number, string, any,
1925
+ * CustomFunctions.Invocation, CustomFunctions.StreamingInvocation or
1926
+ * CustomFunctions.CancelableInvocation, any allows you to use any of other types.
1927
+ */
1928
+ type?: string;
1929
+ [property: string]: any;
1930
+ }
1931
+ /**
1932
+ * A subfield of the type property. Specifies the Excel data types accepted by the custom
1933
+ * function. Accepts the values cellvalue, booleancellvalue, doublecellvalue,
1934
+ * entitycellvalue, errorcellvalue, formattednumbercellvalue, linkedentitycellvalue,
1935
+ * localimagecellvalue, stringcellvalue, webimagecellvalue
1936
+ */
1937
+ export type CellValueType = "cellvalue" | "booleancellvalue" | "doublecellvalue" | "entitycellvalue" | "errorcellvalue" | "formattednumbercellvalue" | "linkedentitycellvalue" | "localimagecellvalue" | "stringcellvalue" | "webimagecellvalue";
1938
+ /**
1939
+ * Must be either scalar (a non-array value) or matrix (a 2-dimensional array).
1940
+ *
1941
+ * Must be either scalar (a non-array value) or matrix (a 2-dimensional array). Default:
1942
+ * scalar.
1943
+ */
1944
+ export type Dimensionality = "scalar" | "matrix";
1945
+ /**
1946
+ * Object that defines the type of information that is returned by the function.
1947
+ */
1948
+ export interface ExtensionResult {
1949
+ /**
1950
+ * Must be either scalar (a non-array value) or matrix (a 2-dimensional array). Default:
1951
+ * scalar.
1952
+ */
1953
+ dimensionality?: Dimensionality;
1954
+ [property: string]: any;
1955
+ }
1956
+ /**
1957
+ * Defines the namespace for your custom functions. A namespace prepends itself to your
1958
+ * custom functions to help customers identify your functions as part of your add-in.
1959
+ */
1960
+ export interface ExtensionCustomFunctionsNamespace {
1961
+ /**
1962
+ * Non-localizeable version of the namespace.
1963
+ */
1964
+ id: string;
1965
+ /**
1966
+ * Localizeable version of the namespace.
1967
+ */
1968
+ name: string;
1969
+ [property: string]: any;
1970
+ }
1971
+ /**
1972
+ * Runtimes with a short lifetime do not preserve state across executions. Runtimes with a
1973
+ * long lifetime do.
1974
+ */
1975
+ export type Lifetime = "short" | "long";
1976
+ /**
1977
+ * Supports running functions and launching pages.
1978
+ */
1979
+ /**
1980
+ * Specify the app's Graph connector configuration. If this is present then
1981
+ * webApplicationInfo.id must also be specified.
1982
+ */
1983
+ export interface GraphConnector {
1984
+ /**
1985
+ * The url where Graph-connector notifications for the application should be sent.
1986
+ */
1987
+ notificationUrl: string;
1988
+ }
1989
+ export interface Icons {
1990
+ /**
1991
+ * A relative file path to a full color PNG icon. Size 192x192.
1992
+ */
1993
+ color: string;
1994
+ /**
1995
+ * A relative file path to a full color PNG icon with transparent background. Size 32x32.
1996
+ */
1997
+ color32x32?: string;
1998
+ /**
1999
+ * A relative file path to a transparent PNG outline icon. The border color needs to be
2000
+ * white. Size 32x32.
2001
+ */
2002
+ outline: string;
2003
+ }
2004
+ /**
2005
+ * The Intune-related properties for the app.
2006
+ */
2007
+ export interface IntuneInfo {
2008
+ /**
2009
+ * Supported mobile app managment version that the app is compliant with.
2010
+ */
2011
+ supportedMobileAppManagementVersion?: string;
2012
+ }
2013
+ export interface LocalizationInfo {
2014
+ additionalLanguages?: AdditionalLanguage[];
2015
+ /**
2016
+ * A relative file path to a the .json file containing strings in the default language.
2017
+ */
2018
+ defaultLanguageFile?: string;
2019
+ /**
2020
+ * The language tag of the strings in this top level manifest file.
2021
+ */
2022
+ defaultLanguageTag: string;
2023
+ }
2024
+ export interface AdditionalLanguage {
2025
+ /**
2026
+ * A relative file path to a the .json file containing the translated strings.
2027
+ */
2028
+ file: string;
2029
+ /**
2030
+ * The language tag of the strings in the provided file.
2031
+ */
2032
+ languageTag: string;
2033
+ }
2034
+ /**
2035
+ * The version of the schema this manifest is using.
2036
+ */
2037
+ export type ManifestVersion = "devPreview" | "m365DevPreview";
2038
+ /**
2039
+ * Specify meeting extension definition.
2040
+ */
2041
+ export interface MeetingExtensionDefinition {
2042
+ /**
2043
+ * Meeting supported scenes.
2044
+ */
2045
+ scenes?: Scene[];
2046
+ /**
2047
+ * A boolean value indicating whether this app supports access by anonymous guest users.
2048
+ */
2049
+ supportsAnonymousGuestUsers?: boolean;
2050
+ /**
2051
+ * Represents if the app has added support for sharing to stage.
2052
+ */
2053
+ supportsCustomShareToStage?: boolean;
2054
+ /**
2055
+ * A boolean value indicating whether this app can stream the meeting's audio video content
2056
+ * to an RTMP endpoint.
2057
+ */
2058
+ supportsStreaming?: boolean;
2059
+ /**
2060
+ * Meeting supported video filters.
2061
+ */
2062
+ videoFilters?: VideoFilter[];
2063
+ /**
2064
+ * A URL for configuring the video filters.
2065
+ */
2066
+ videoFiltersConfigurationUrl?: string;
2067
+ }
2068
+ export interface Scene {
2069
+ /**
2070
+ * A relative file path to a scene metadata json file.
2071
+ */
2072
+ file: string;
2073
+ /**
2074
+ * A unique identifier for this scene. This id must be a GUID.
2075
+ */
2076
+ id: string;
2077
+ /**
2078
+ * Maximum audiences supported in scene.
2079
+ */
2080
+ maxAudience: number;
2081
+ /**
2082
+ * Scene name.
2083
+ */
2084
+ name: string;
2085
+ /**
2086
+ * A relative file path to a scene PNG preview icon.
2087
+ */
2088
+ preview: string;
2089
+ /**
2090
+ * Number of seats reserved for organizers or presenters.
2091
+ */
2092
+ seatsReservedForOrganizersOrPresenters: number;
2093
+ }
2094
+ export interface VideoFilter {
2095
+ /**
2096
+ * A unique identifier for this video filter. This id must be a GUID.
2097
+ */
2098
+ id: string;
2099
+ /**
2100
+ * Video filter's name.
2101
+ */
2102
+ name: string;
2103
+ /**
2104
+ * A relative file path to a video filter's thumbnail.
2105
+ */
2106
+ thumbnail: string;
2107
+ }
2108
+ export interface NameClass {
2109
+ /**
2110
+ * An abbreviated name for the app.
2111
+ */
2112
+ abbreviated?: string;
2113
+ /**
2114
+ * The full name of the app, used if the full app name exceeds 30 characters.
2115
+ */
2116
+ full: string;
2117
+ /**
2118
+ * A short display name for the app.
2119
+ */
2120
+ short: string;
2121
+ }
2122
+ export type Permission = "identity" | "messageTeamMembers";
2123
+ export interface ScopeConstraints {
2124
+ /**
2125
+ * A list of chat thread ids to which your app is restricted to
2126
+ */
2127
+ groupChats?: GroupChatElement[];
2128
+ /**
2129
+ * A list of team thread ids to which your app is restricted to
2130
+ */
2131
+ teams?: TeamElement[];
2132
+ }
2133
+ export interface GroupChatElement {
2134
+ /**
2135
+ * Chat's thread Id
2136
+ */
2137
+ id: string;
2138
+ }
2139
+ export interface TeamElement {
2140
+ /**
2141
+ * Team's thread Id
2142
+ */
2143
+ id: string;
2144
+ }
2145
+ export interface StaticTab {
2146
+ /**
2147
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
2148
+ * (https://dev.botframework.com/bots)
2149
+ */
2150
+ contentBotId?: string;
2151
+ /**
2152
+ * The url which points to the entity UI to be displayed in the Teams canvas.
2153
+ */
2154
+ contentUrl?: string;
2155
+ /**
2156
+ * The set of contextItem scopes that a tab belong to
2157
+ */
2158
+ context?: StaticTabContext[];
2159
+ /**
2160
+ * A unique identifier for the entity which the tab displays.
2161
+ */
2162
+ entityId: string;
2163
+ /**
2164
+ * The display name of the tab.
2165
+ */
2166
+ name?: string;
2167
+ /**
2168
+ * The set of requirements for the tab.
2169
+ */
2170
+ requirementSet?: ElementRequirementSet;
2171
+ /**
2172
+ * Specifies whether the tab offers an experience in the context of a channel in a team, or
2173
+ * an experience scoped to an individual user alone or a group chat. These options are
2174
+ * non-exclusive. Currently static tabs are only supported in the 'personal' scope.
2175
+ */
2176
+ scopes: StaticTabScope[];
2177
+ /**
2178
+ * The url to direct a user's search queries.
2179
+ */
2180
+ searchUrl?: string;
2181
+ /**
2182
+ * The set of supportedPlatform scopes that a tab belong to
2183
+ */
2184
+ supportedPlatform?: SupportedPlatform[];
2185
+ /**
2186
+ * The url to point at if a user opts to view in a browser.
2187
+ */
2188
+ websiteUrl?: string;
2189
+ }
2190
+ export type StaticTabContext = "personalTab" | "channelTab" | "privateChatTab" | "meetingChatTab" | "meetingDetailsTab" | "meetingSidePanel" | "meetingStage" | "teamLevelApp";
2191
+ export type StaticTabScope = "team" | "personal" | "groupChat";
2192
+ /**
2193
+ * Subscription offer associated with this app.
2194
+ */
2195
+ export interface SubscriptionOffer {
2196
+ /**
2197
+ * A unique identifier for the Commercial Marketplace Software as a Service Offer.
2198
+ */
2199
+ offerId: string;
2200
+ }
2201
+ export type SupportedChannelType = "sharedChannels" | "privateChannels";
2202
+ /**
2203
+ * Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
2204
+ * app.
2205
+ */
2206
+ export interface WebApplicationInfo {
2207
+ /**
2208
+ * AAD application id of the app. This id must be a GUID.
2209
+ */
2210
+ id: string;
2211
+ /**
2212
+ * Resource url of app for acquiring auth token for SSO.
2213
+ */
2214
+ resource?: string;
2215
+ }
2216
+ export declare class Convert {
2217
+ static toTeamsManifestVDevPreview(json: string): TeamsManifestVDevPreview;
2218
+ static teamsManifestVDevPreviewToJson(value: TeamsManifestVDevPreview): string;
2219
+ }