@microsoft/app-manifest 1.0.0-alpha.0d2dd4439.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 (106) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +115 -0
  3. package/build/ManifestCommonProperties.d.ts +30 -0
  4. package/build/ManifestCommonProperties.js +5 -0
  5. package/build/ManifestCommonProperties.js.map +1 -0
  6. package/build/constants.d.ts +1 -0
  7. package/build/constants.js +7 -0
  8. package/build/constants.js.map +1 -0
  9. package/build/declarativeCopilotManifest.d.ts +67 -0
  10. package/build/declarativeCopilotManifest.js +15 -0
  11. package/build/declarativeCopilotManifest.js.map +1 -0
  12. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.d.ts +163 -0
  13. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js +214 -0
  14. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js.map +1 -0
  15. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.d.ts +185 -0
  16. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js +220 -0
  17. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js.map +1 -0
  18. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.d.ts +285 -0
  19. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js +248 -0
  20. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js.map +1 -0
  21. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.d.ts +292 -0
  22. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js +259 -0
  23. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js.map +1 -0
  24. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.d.ts +429 -0
  25. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js +289 -0
  26. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js.map +1 -0
  27. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +439 -0
  28. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +298 -0
  29. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -0
  30. package/build/generated-types/index.d.ts +174 -0
  31. package/build/generated-types/index.js +444 -0
  32. package/build/generated-types/index.js.map +1 -0
  33. package/build/generated-types/teams/TeamsManifestV1D0.d.ts +268 -0
  34. package/build/generated-types/teams/TeamsManifestV1D0.js +265 -0
  35. package/build/generated-types/teams/TeamsManifestV1D0.js.map +1 -0
  36. package/build/generated-types/teams/TeamsManifestV1D1.d.ts +268 -0
  37. package/build/generated-types/teams/TeamsManifestV1D1.js +266 -0
  38. package/build/generated-types/teams/TeamsManifestV1D1.js.map +1 -0
  39. package/build/generated-types/teams/TeamsManifestV1D10.d.ts +589 -0
  40. package/build/generated-types/teams/TeamsManifestV1D10.js +448 -0
  41. package/build/generated-types/teams/TeamsManifestV1D10.js.map +1 -0
  42. package/build/generated-types/teams/TeamsManifestV1D11.d.ts +603 -0
  43. package/build/generated-types/teams/TeamsManifestV1D11.js +447 -0
  44. package/build/generated-types/teams/TeamsManifestV1D11.js.map +1 -0
  45. package/build/generated-types/teams/TeamsManifestV1D12.d.ts +638 -0
  46. package/build/generated-types/teams/TeamsManifestV1D12.js +461 -0
  47. package/build/generated-types/teams/TeamsManifestV1D12.js.map +1 -0
  48. package/build/generated-types/teams/TeamsManifestV1D13.d.ts +640 -0
  49. package/build/generated-types/teams/TeamsManifestV1D13.js +461 -0
  50. package/build/generated-types/teams/TeamsManifestV1D13.js.map +1 -0
  51. package/build/generated-types/teams/TeamsManifestV1D14.d.ts +651 -0
  52. package/build/generated-types/teams/TeamsManifestV1D14.js +467 -0
  53. package/build/generated-types/teams/TeamsManifestV1D14.js.map +1 -0
  54. package/build/generated-types/teams/TeamsManifestV1D15.d.ts +656 -0
  55. package/build/generated-types/teams/TeamsManifestV1D15.js +468 -0
  56. package/build/generated-types/teams/TeamsManifestV1D15.js.map +1 -0
  57. package/build/generated-types/teams/TeamsManifestV1D16.d.ts +659 -0
  58. package/build/generated-types/teams/TeamsManifestV1D16.js +471 -0
  59. package/build/generated-types/teams/TeamsManifestV1D16.js.map +1 -0
  60. package/build/generated-types/teams/TeamsManifestV1D17.d.ts +1212 -0
  61. package/build/generated-types/teams/TeamsManifestV1D17.js +733 -0
  62. package/build/generated-types/teams/TeamsManifestV1D17.js.map +1 -0
  63. package/build/generated-types/teams/TeamsManifestV1D19.d.ts +1238 -0
  64. package/build/generated-types/teams/TeamsManifestV1D19.js +742 -0
  65. package/build/generated-types/teams/TeamsManifestV1D19.js.map +1 -0
  66. package/build/generated-types/teams/TeamsManifestV1D2.d.ts +268 -0
  67. package/build/generated-types/teams/TeamsManifestV1D2.js +266 -0
  68. package/build/generated-types/teams/TeamsManifestV1D2.js.map +1 -0
  69. package/build/generated-types/teams/TeamsManifestV1D20.d.ts +1420 -0
  70. package/build/generated-types/teams/TeamsManifestV1D20.js +818 -0
  71. package/build/generated-types/teams/TeamsManifestV1D20.js.map +1 -0
  72. package/build/generated-types/teams/TeamsManifestV1D3.d.ts +280 -0
  73. package/build/generated-types/teams/TeamsManifestV1D3.js +279 -0
  74. package/build/generated-types/teams/TeamsManifestV1D3.js.map +1 -0
  75. package/build/generated-types/teams/TeamsManifestV1D4.d.ts +333 -0
  76. package/build/generated-types/teams/TeamsManifestV1D4.js +316 -0
  77. package/build/generated-types/teams/TeamsManifestV1D4.js.map +1 -0
  78. package/build/generated-types/teams/TeamsManifestV1D5.d.ts +423 -0
  79. package/build/generated-types/teams/TeamsManifestV1D5.js +357 -0
  80. package/build/generated-types/teams/TeamsManifestV1D5.js.map +1 -0
  81. package/build/generated-types/teams/TeamsManifestV1D6.d.ts +428 -0
  82. package/build/generated-types/teams/TeamsManifestV1D6.js +359 -0
  83. package/build/generated-types/teams/TeamsManifestV1D6.js.map +1 -0
  84. package/build/generated-types/teams/TeamsManifestV1D7.d.ts +444 -0
  85. package/build/generated-types/teams/TeamsManifestV1D7.js +369 -0
  86. package/build/generated-types/teams/TeamsManifestV1D7.js.map +1 -0
  87. package/build/generated-types/teams/TeamsManifestV1D8.d.ts +466 -0
  88. package/build/generated-types/teams/TeamsManifestV1D8.js +386 -0
  89. package/build/generated-types/teams/TeamsManifestV1D8.js.map +1 -0
  90. package/build/generated-types/teams/TeamsManifestV1D9.d.ts +532 -0
  91. package/build/generated-types/teams/TeamsManifestV1D9.js +420 -0
  92. package/build/generated-types/teams/TeamsManifestV1D9.js.map +1 -0
  93. package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +2219 -0
  94. package/build/generated-types/teams/TeamsManifestVDevPreview.js +1090 -0
  95. package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -0
  96. package/build/index.d.ts +88 -0
  97. package/build/index.js +247 -0
  98. package/build/index.js.map +1 -0
  99. package/build/manifest.d.ts +521 -0
  100. package/build/manifest.js +61 -0
  101. package/build/manifest.js.map +1 -0
  102. package/build/pluginManifest.d.ts +143 -0
  103. package/build/pluginManifest.js +3 -0
  104. package/build/pluginManifest.js.map +1 -0
  105. package/build/tsconfig.tsbuildinfo +1 -0
  106. package/package.json +68 -0
@@ -0,0 +1,2219 @@
1
+ export interface TeamsManifestVDevPreview {
2
+ $schema?: string;
3
+ /**
4
+ * The version of the schema this manifest is using.
5
+ */
6
+ manifestVersion: ManifestVersion;
7
+ /**
8
+ * The version of the app. Changes to your manifest should cause a version change. This
9
+ * version string must follow the semver standard (http://semver.org).
10
+ */
11
+ version: string;
12
+ /**
13
+ * A unique identifier for this app. This id must be a GUID.
14
+ */
15
+ id: string;
16
+ /**
17
+ * A unique identifier for this app in reverse domain notation. E.g: com.example.myapp
18
+ */
19
+ packageName?: string;
20
+ localizationInfo?: LocalizationInfo;
21
+ developer: Developer;
22
+ name: NameClass;
23
+ description: Description;
24
+ icons: Icons;
25
+ /**
26
+ * A color to use in conjunction with the icon. The value must be a valid HTML color code
27
+ * starting with '#', for example `#4464ee`.
28
+ */
29
+ accentColor: string;
30
+ /**
31
+ * These are tabs users can optionally add to their channels and 1:1 or group chats and
32
+ * require extra configuration before they are added. Configurable tabs are not supported in
33
+ * the personal scope. Currently only one configurable tab per app is supported.
34
+ */
35
+ configurableTabs?: ConfigurableTab[];
36
+ /**
37
+ * A set of tabs that may be 'pinned' by default, without the user adding them manually.
38
+ * Static tabs declared in personal scope are always pinned to the app's personal
39
+ * experience. Static tabs do not currently support the 'teams' scope.
40
+ */
41
+ staticTabs?: StaticTab[];
42
+ /**
43
+ * The set of bots for this app. Currently only one bot per app is supported.
44
+ */
45
+ bots?: Bot[];
46
+ /**
47
+ * The set of Office365 connectors for this app. Currently only one connector per app is
48
+ * supported.
49
+ */
50
+ connectors?: Connector[];
51
+ /**
52
+ * Subscription offer associated with this app.
53
+ */
54
+ subscriptionOffer?: SubscriptionOffer;
55
+ /**
56
+ * The set of compose extensions for this app. Currently only one compose extension per app
57
+ * is supported.
58
+ */
59
+ composeExtensions?: ComposeExtension[];
60
+ scopeConstraints?: ScopeConstraints;
61
+ /**
62
+ * Specifies the permissions the app requests from users.
63
+ */
64
+ permissions?: Permission[];
65
+ /**
66
+ * Specify the native features on a user's device that your app may request access to.
67
+ */
68
+ devicePermissions?: DevicePermission[];
69
+ /**
70
+ * A list of valid domains from which the tabs expect to load any content. Domain listings
71
+ * can include wildcards, for example `*.example.com`. If your tab configuration or content
72
+ * UI needs to navigate to any other domain besides the one use for tab configuration, that
73
+ * domain must be specified here.
74
+ */
75
+ validDomains?: string[];
76
+ /**
77
+ * Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
78
+ * app.
79
+ */
80
+ webApplicationInfo?: WebApplicationInfo;
81
+ /**
82
+ * Specify the app's Graph connector configuration. If this is present then
83
+ * webApplicationInfo.id must also be specified.
84
+ */
85
+ graphConnector?: GraphConnector;
86
+ /**
87
+ * A value indicating whether or not show loading indicator when app/tab is loading
88
+ */
89
+ showLoadingIndicator?: boolean;
90
+ /**
91
+ * A value indicating whether a personal app is rendered without a tab header-bar
92
+ */
93
+ isFullScreen?: boolean;
94
+ activities?: Activities;
95
+ /**
96
+ * The set of supported channel type that an app belongs to
97
+ */
98
+ supportedChannelTypes?: SupportedChannelType[];
99
+ /**
100
+ * A list of tenant configured properties for an app
101
+ */
102
+ configurableProperties?: ConfigurableProperty[];
103
+ /**
104
+ * A value indicating whether an app is blocked by default until admin allows it
105
+ */
106
+ defaultBlockUntilAdminAction?: boolean;
107
+ /**
108
+ * The url to the page that provides additional app information for the admins
109
+ */
110
+ publisherDocsUrl?: string;
111
+ /**
112
+ * The install scope defined for this app by default. This will be the option displayed on
113
+ * the button when a user tries to add the app
114
+ */
115
+ defaultInstallScope?: DefaultInstallScope;
116
+ /**
117
+ * When a group install scope is selected, this will define the default capability when the
118
+ * user installs the app
119
+ */
120
+ defaultGroupCapability?: DefaultGroupCapability;
121
+ /**
122
+ * Specify meeting extension definition.
123
+ */
124
+ meetingExtensionDefinition?: MeetingExtensionDefinition;
125
+ /**
126
+ * Specify and consolidates authorization related information for the App.
127
+ */
128
+ authorization?: TeamsManifestVDevPreviewAuthorization;
129
+ extensions?: ElementExtension[];
130
+ actions?: ElementAction[];
131
+ /**
132
+ * Defines the list of cards which could be pinned to dashboards that can provide summarized
133
+ * view of information relevant to user.
134
+ */
135
+ dashboardCards?: DashboardCard[];
136
+ /**
137
+ * The Intune-related properties for the app.
138
+ */
139
+ intuneInfo?: IntuneInfo;
140
+ copilotAgents?: CopilotAgents;
141
+ elementRelationshipSet?: ElementRelationshipSet;
142
+ /**
143
+ * Optional property containing background loading configuration. By opting into this
144
+ * performance enhancement, your app is eligible to be loaded in the background in any
145
+ * Microsoft 365 application host that supports this feature. Note that setting this
146
+ * property gives the host client permission to load the app in the background but does not
147
+ * guarantee the app will be preloaded at runtime. Whether an app is preloaded in the
148
+ * background will be dynamically determined based on usage and other criteria.
149
+ */
150
+ backgroundLoadConfiguration?: BackgroundLoadConfiguration;
151
+ }
152
+ /**
153
+ * Actions node contains an array of actions object.
154
+ */
155
+ export interface ElementAction {
156
+ /**
157
+ * A unique identifier string in the default locale that is used to catalog actions.
158
+ */
159
+ id: string;
160
+ /**
161
+ * An enum string that describes the intent of the action.
162
+ */
163
+ intent: Intent;
164
+ /**
165
+ * A display name for the action.
166
+ */
167
+ displayName: string;
168
+ /**
169
+ * A display string in the default locale to represent the action.
170
+ */
171
+ description: string;
172
+ /**
173
+ * Object containing URLs to icon images for this action intent.
174
+ */
175
+ icons?: Icon[];
176
+ /**
177
+ * Defining how actions can be handled. If an app has more than 1 handler, only one
178
+ * experience will show up at one entry point. The hub will decide which action to show up
179
+ * based on which experience is supported.
180
+ */
181
+ handlers: Handler[];
182
+ }
183
+ export interface Handler {
184
+ /**
185
+ * Required both for File Handlers and Content Actions.
186
+ */
187
+ type: HandlerType;
188
+ supportedObjects?: SupportedObjects;
189
+ /**
190
+ * If true, multiple files can be selected and the action will still be displayed. If false
191
+ * or missing, the action is only displayed when a single item is selected.
192
+ */
193
+ supportsMultiSelect?: boolean;
194
+ pageInfo?: PageInfo;
195
+ dialogInfo?: DialogInfo;
196
+ /**
197
+ * Url for handler type openURL, invokeAPI, openTaskpane, and others.
198
+ */
199
+ url?: string;
200
+ botInfo?: BotInfo;
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
+ * Required for html based dialog.
221
+ */
222
+ url?: string;
223
+ /**
224
+ * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
225
+ * 'small'.
226
+ */
227
+ width: string;
228
+ /**
229
+ * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
230
+ * 'small'.
231
+ */
232
+ height: string;
233
+ /**
234
+ * Array of parameter object, each contains: name, title, description, inputType.
235
+ */
236
+ parameters?: ParameterObject[];
237
+ /**
238
+ * Dialog title.
239
+ */
240
+ title?: 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 name.
250
+ */
251
+ name: string;
252
+ /**
253
+ * Parameter title.
254
+ */
255
+ title: string;
256
+ /**
257
+ * Parameter description.
258
+ */
259
+ description: string;
260
+ /**
261
+ * Parameter input type.
262
+ */
263
+ inputType: 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 types of activites that your app can post to a users activity feed
313
+ */
314
+ activityTypes?: ActivityType[];
315
+ /**
316
+ * Specify the customized icons that your app can post to a users activity feed
317
+ */
318
+ activityIcons?: ActivityIcon[];
319
+ }
320
+ export interface ActivityIcon {
321
+ /**
322
+ * Represents the unique icon ID.
323
+ */
324
+ id: string;
325
+ /**
326
+ * Represents the relative path to the icon image. Image should be size 32x32.
327
+ */
328
+ iconFile: string;
329
+ }
330
+ export interface ActivityType {
331
+ type: string;
332
+ description: string;
333
+ templateText: string;
334
+ /**
335
+ * An array containing valid icon IDs per activity type.
336
+ */
337
+ allowedIconIds?: 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
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
402
+ * (https://dev.botframework.com/bots)
403
+ */
404
+ botId: string;
405
+ configuration?: Configuration;
406
+ /**
407
+ * Optional Boolean property that enables users to delete messages sent by bot when set to
408
+ * true. The default value is false, ensuring bot messages cannot be deleted by users unless
409
+ * explicitly opted in.
410
+ */
411
+ allowBotMessageDeleteByUser?: boolean;
412
+ /**
413
+ * This value describes whether or not the bot utilizes a user hint to add the bot to a
414
+ * specific channel.
415
+ */
416
+ needsChannelSelector?: boolean;
417
+ /**
418
+ * A value indicating whether or not the bot is a one-way notification only bot, as opposed
419
+ * to a conversational bot.
420
+ */
421
+ isNotificationOnly?: boolean;
422
+ /**
423
+ * A value indicating whether the team's Office group needs to be security enabled.
424
+ */
425
+ requiresSecurityEnabledGroup?: boolean;
426
+ /**
427
+ * A value indicating whether the bot supports uploading/downloading of files.
428
+ */
429
+ supportsFiles?: boolean;
430
+ /**
431
+ * A value indicating whether the bot supports audio calling.
432
+ */
433
+ supportsCalling?: boolean;
434
+ /**
435
+ * A value indicating whether the bot supports video calling.
436
+ */
437
+ supportsVideo?: boolean;
438
+ /**
439
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
440
+ * a group chat (groupChat), an experience scoped to an individual user alone (personal) OR
441
+ * within Copilot surfaces. These options are non-exclusive.
442
+ */
443
+ scopes: CommandListScope[];
444
+ /**
445
+ * The list of commands that the bot supplies, including their usage, description, and the
446
+ * scope for which the commands are valid. A separate command list should be used for each
447
+ * scope.
448
+ */
449
+ commandLists?: CommandList[];
450
+ /**
451
+ * The set of requirements for the bot.
452
+ */
453
+ requirementSet?: ElementRequirementSet;
454
+ }
455
+ export interface CommandList {
456
+ /**
457
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
458
+ * a group chat (groupChat), an experience scoped to an individual user alone (personal) OR
459
+ * within Copilot surfaces. These options are non-exclusive.
460
+ */
461
+ scopes: CommandListScope[];
462
+ commands: CommandListCommand[];
463
+ }
464
+ export interface CommandListCommand {
465
+ /**
466
+ * The bot command name
467
+ */
468
+ title: string;
469
+ /**
470
+ * A simple text description or an example of the command syntax and its arguments.
471
+ */
472
+ description: string;
473
+ }
474
+ export type CommandListScope = "team" | "personal" | "groupChat" | "copilot";
475
+ export interface Configuration {
476
+ team?: ConfigurationTeam;
477
+ groupChat?: ConfigurationGroupChat;
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
+ * Initial dialog title.
495
+ */
496
+ title?: string;
497
+ /**
498
+ * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
499
+ * 'small'.
500
+ */
501
+ width?: string;
502
+ /**
503
+ * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
504
+ * 'small'.
505
+ */
506
+ height?: string;
507
+ /**
508
+ * Initial webview URL.
509
+ */
510
+ url?: 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 tab.
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 bot.
528
+ *
529
+ * The set of requirements for the compose extension.
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 unique identifier for the compose extension.
550
+ */
551
+ id?: string;
552
+ /**
553
+ * The Microsoft App ID specified for the bot powering the compose extension in the Bot
554
+ * Framework portal (https://dev.botframework.com/bots)
555
+ */
556
+ botId?: string;
557
+ /**
558
+ * Type of the compose extension.
559
+ */
560
+ composeExtensionType?: ComposeExtensionType;
561
+ /**
562
+ * Object capturing authorization information.
563
+ */
564
+ authorization?: ComposeExtensionAuthorization;
565
+ /**
566
+ * A relative file path to the api specification file in the manifest package.
567
+ */
568
+ apiSpecificationFile?: string;
569
+ /**
570
+ * A value indicating whether the configuration of a compose extension can be updated by the
571
+ * user.
572
+ */
573
+ canUpdateConfiguration?: boolean | null;
574
+ commands?: ComposeExtensionCommand[];
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
+ * Enum of possible authorization types.
590
+ */
591
+ authType?: AuthType;
592
+ /**
593
+ * Object capturing details needed to do microsoftEntra auth flow. It will be only present
594
+ * when auth type is microsoftEntra.
595
+ */
596
+ microsoftEntraConfiguration?: MicrosoftEntraConfiguration;
597
+ /**
598
+ * Object capturing details needed to do service auth. It will be only present when auth
599
+ * type is apiSecretServiceAuth.
600
+ */
601
+ apiSecretServiceAuthConfiguration?: APISecretServiceAuthConfiguration;
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
+ * Id of the command.
646
+ */
647
+ id: string;
648
+ /**
649
+ * Type of the command
650
+ */
651
+ type?: CommandType;
652
+ samplePrompts?: SamplePrompt[];
653
+ /**
654
+ * A relative file path for api response rendering template file. The schema of the file can
655
+ * be referred to in this
656
+ * link:'https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.ResponseRenderingTemplate.schema.json'.
657
+ */
658
+ apiResponseRenderingTemplateFile?: string;
659
+ /**
660
+ * Context where the command would apply
661
+ */
662
+ context?: CommandContext[];
663
+ /**
664
+ * Title of the command.
665
+ */
666
+ title: string;
667
+ /**
668
+ * Description of the command.
669
+ */
670
+ description?: string;
671
+ /**
672
+ * A boolean value that indicates if the command should be run once initially with no
673
+ * parameter.
674
+ */
675
+ initialRun?: boolean;
676
+ /**
677
+ * A boolean value that indicates if it should fetch task module dynamically
678
+ */
679
+ fetchTask?: boolean;
680
+ parameters?: ParameterClass[];
681
+ /**
682
+ * Task module to be launched when fetch task set to false.
683
+ */
684
+ taskInfo?: TaskInfo;
685
+ /**
686
+ * semantic description of the command. This is typically meant for consumption by the large
687
+ * language model.
688
+ */
689
+ semanticDescription?: string;
690
+ }
691
+ export type CommandContext = "compose" | "commandBox" | "message";
692
+ export interface ParameterClass {
693
+ /**
694
+ * Name of the parameter.
695
+ */
696
+ name: string;
697
+ /**
698
+ * Type of the parameter
699
+ */
700
+ inputType?: InputType;
701
+ /**
702
+ * Indicates whether this parameter is required or not. By default, it is not.
703
+ */
704
+ isRequired?: boolean;
705
+ /**
706
+ * Title of the parameter.
707
+ */
708
+ title: string;
709
+ /**
710
+ * Description of the parameter.
711
+ */
712
+ description?: string;
713
+ /**
714
+ * Initial value for the parameter
715
+ */
716
+ value?: string;
717
+ /**
718
+ * The choice options for the parameter
719
+ */
720
+ choices?: Choice[];
721
+ /**
722
+ * semantic description of the parameter. This is typically meant for consumption by the
723
+ * large language model.
724
+ */
725
+ semanticDescription?: 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. [Deprecated]. This property has been superceded by
774
+ * 'supportsAnonymizedPayloads'.
775
+ */
776
+ supportsAnonymousAccess?: boolean;
777
+ /**
778
+ * A boolean value that indicates whether the app's link message handler supports anonymous
779
+ * invoke flow.
780
+ */
781
+ supportsAnonymizedPayloads?: 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 unique identifier for the tab. This id must be unique within the app manifest.
788
+ */
789
+ id?: string;
790
+ /**
791
+ * The url to use when configuring the tab.
792
+ */
793
+ configurationUrl: string;
794
+ /**
795
+ * A value indicating whether an instance of the tab's configuration can be updated by the
796
+ * user after creation.
797
+ */
798
+ canUpdateConfiguration?: boolean;
799
+ /**
800
+ * Specifies whether the tab offers an experience in the context of a channel in a team, in
801
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
802
+ * options are non-exclusive. Currently, configurable tabs are only supported in the teams
803
+ * and groupchats scopes.
804
+ */
805
+ scopes: ConfigurableTabScope[];
806
+ /**
807
+ * The set of meetingSurfaceItem scopes that a tab belong to
808
+ */
809
+ meetingSurfaces?: MeetingSurface[];
810
+ /**
811
+ * The set of contextItem scopes that a tab belong to
812
+ */
813
+ context?: ConfigurableTabContext[];
814
+ /**
815
+ * The set of supportedPlatform scopes that a tab belong to
816
+ */
817
+ supportedPlatform?: SupportedPlatform[];
818
+ /**
819
+ * A relative file path to a tab preview image for use in SharePoint. Size 1024x768.
820
+ */
821
+ sharePointPreviewImage?: string;
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
+ * A unique identifier for the connector which matches its ID in the Connectors Developer
835
+ * Portal.
836
+ */
837
+ connectorId: string;
838
+ /**
839
+ * The url to use for configuring the connector using the inline configuration experience.
840
+ */
841
+ configurationUrl?: 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 declarative agent elements references. Currently, only one declarative agent
852
+ * per application is supported.
853
+ */
854
+ declarativeAgents?: DeclarativeAgentRef[];
855
+ /**
856
+ * An array of Custom Engine Agents. Currently only one Custom Engine Agent per application
857
+ * is supported.
858
+ */
859
+ customEngineAgents?: CustomEngineAgent[];
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
+ * A unique identifier for this declarative agent element.
885
+ */
886
+ id: string;
887
+ /**
888
+ * Relative file path to this declarative agent element file in the application package.
889
+ */
890
+ file: 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
+ /**
898
+ * Unique Id for the card. Must be unique inside the app.
899
+ */
900
+ id: string;
901
+ /**
902
+ * Represents the name of the card. Maximum length is 255 characters.
903
+ */
904
+ displayName: string;
905
+ /**
906
+ * Description of the card.Maximum length is 255 characters.
907
+ */
908
+ description: string;
909
+ /**
910
+ * Id of the group in the card picker. This must be guid.
911
+ */
912
+ pickerGroupId: string;
913
+ icon?: DashboardCardIcon;
914
+ contentSource: DashboardCardContentSource;
915
+ /**
916
+ * Rendering Size for dashboard card.
917
+ */
918
+ defaultSize: DefaultSize;
919
+ }
920
+ /**
921
+ * Represents a configuration for the source of the card’s content.
922
+ */
923
+ export interface DashboardCardContentSource {
924
+ /**
925
+ * The content of the dashboard card is sourced from a bot.
926
+ */
927
+ sourceType?: "bot";
928
+ /**
929
+ * The configuration for the bot source. Required if sourceType is set to bot.
930
+ */
931
+ botConfiguration?: BotConfiguration;
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 Team, this field specifies the default capability
967
+ * available
968
+ */
969
+ team?: Groupchat;
970
+ /**
971
+ * When the install scope selected is GroupChat, this field specifies the default capability
972
+ * available
973
+ */
974
+ groupchat?: Groupchat;
975
+ /**
976
+ * When the install scope selected is Meetings, this field specifies the default capability
977
+ * available
978
+ */
979
+ meetings?: 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
+ * A short description of the app used when space is limited. Maximum length is 80
1000
+ * characters.
1001
+ */
1002
+ short: string;
1003
+ /**
1004
+ * The full description of the app. Maximum length is 4000 characters.
1005
+ */
1006
+ full: string;
1007
+ }
1008
+ export interface Developer {
1009
+ /**
1010
+ * The display name for the developer.
1011
+ */
1012
+ name: string;
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 url to the page that provides support information for the app.
1021
+ */
1022
+ websiteUrl: 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
+ * App developer contact information.
1033
+ */
1034
+ contactInfo?: ContactInfo;
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
+ * User email for chat support contacts.
1052
+ */
1053
+ userEmailsForChatSupport: string[];
1054
+ /**
1055
+ * Email address for email support.
1056
+ */
1057
+ emailsForEmailSupport: 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 unidirectional dependency relationships (each
1064
+ * represented by a oneWayDependency object).
1065
+ */
1066
+ oneWayDependencies?: OneWayDependency[];
1067
+ /**
1068
+ * An array containing multiple instances of mutual dependency relationships between
1069
+ * elements (each represented by a mutualDependency object).
1070
+ */
1071
+ mutualDependencies?: Array<ElementReference[]>;
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
+ name: MutualDependencyName;
1079
+ id: string;
1080
+ commandIds?: string[];
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
+ element: ElementReference;
1090
+ dependsOn: 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
+ requirements?: RequirementsExtensionElement;
1097
+ /**
1098
+ * General runtime for "MailApp" or "TaskpaneApp". Configures the set of runtimes and
1099
+ * actions that can be used by each extension point. Min size 1.
1100
+ */
1101
+ runtimes?: ExtensionRuntimesArray[];
1102
+ ribbons?: ExtensionRibbonsArray[];
1103
+ autoRunEvents?: ExtensionAutoRunEventsArray[];
1104
+ alternates?: ExtensionAlternateVersionsArray[];
1105
+ /**
1106
+ * The url for your extension, used to validate Exchange user identity tokens.
1107
+ */
1108
+ audienceClaimUrl?: string;
1109
+ appDeeplinks?: ExtensionAppDeeplinksArray[];
1110
+ contentRuntimes?: ExtensionContentRuntimeArray[];
1111
+ getStartedMessages?: ExtensionGetStartedMessageArray[];
1112
+ /**
1113
+ * Specifies the context menus for your extension. A context menu is a shortcut menu that
1114
+ * appears when a user right-clicks (selects and holds) in the Office UI. Min size 1.
1115
+ */
1116
+ contextMenus?: ExtensionContextMenuArray[];
1117
+ /**
1118
+ * Keyboard shortcuts, also known as key combinations, enable your add-in's users to work
1119
+ * more efficiently. Keyboard shortcuts also improve the add-in's accessibility for users
1120
+ * with disabilities by providing an alternative to the mouse.
1121
+ */
1122
+ keyboardShortcuts?: ExtensionKeyboardShortcut[];
1123
+ }
1124
+ export interface ExtensionAlternateVersionsArray {
1125
+ requirements?: RequirementsExtensionElement;
1126
+ prefer?: Prefer;
1127
+ hide?: Hide;
1128
+ alternateIcons: AlternateIcons;
1129
+ xllCustomFunctions?: ExtensionXllCustomFunctions;
1130
+ }
1131
+ export interface AlternateIcons {
1132
+ icon: ExtensionCommonIcon;
1133
+ highResolutionIcon: 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
+ storeOfficeAddin?: StoreOfficeAddin;
1147
+ customOfficeAddin?: CustomOfficeAddin;
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
+ * Solution ID of an in-market add-in to hide. Maximum length is 64 characters.
1159
+ */
1160
+ officeAddinId: string;
1161
+ /**
1162
+ * Asset ID of the in-market add-in to hide. Maximum length is 64 characters.
1163
+ */
1164
+ assetId: 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 scopes in which the add-in can run. For example, mail means Outlook.
1187
+ */
1188
+ scopes?: RequirementsScope[];
1189
+ /**
1190
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1191
+ */
1192
+ formFactors?: FormFactor[];
1193
+ }
1194
+ export interface Capability {
1195
+ /**
1196
+ * Identifies the name of the requirement sets that the add-in needs to run.
1197
+ */
1198
+ name: 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 maximum version for the requirement sets that the add-in needs to run.
1205
+ */
1206
+ maxVersion?: 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
+ requirements?: AppDeeplinkRequirements;
1219
+ contexts: ExtensionContext[];
1220
+ /**
1221
+ * The ID of an action defined in runtimes. Manifest should be invalidated if no action with
1222
+ * an id matching actionId is present in runtimes.
1223
+ */
1224
+ actionId: string;
1225
+ /**
1226
+ * the text that will be shown on the app as a clickable item.
1227
+ */
1228
+ label: string;
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 scopes in which the add-in can run. For example, mail means Outlook.
1252
+ */
1253
+ scopes?: RequirementsScope[];
1254
+ /**
1255
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1256
+ */
1257
+ formFactors?: FormFactor[];
1258
+ }
1259
+ export interface ExtensionAutoRunEventsArray {
1260
+ requirements?: RequirementsExtensionElement;
1261
+ /**
1262
+ * Specifies the type of event. For supported types, please see:
1263
+ * https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/autolaunch?tabs=xmlmanifest#supported-events.
1264
+ */
1265
+ events: Event[];
1266
+ }
1267
+ export interface Event {
1268
+ type: string;
1269
+ /**
1270
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1271
+ */
1272
+ actionId: string;
1273
+ /**
1274
+ * Configures how Outlook responds to the event.
1275
+ */
1276
+ options?: Options;
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
+ requirements?: ContentRuntimeRequirements;
1291
+ /**
1292
+ * A unique identifier for this runtime within the app. This is developer specified.
1293
+ */
1294
+ id: string;
1295
+ code: ExtensionRuntimeCode;
1296
+ /**
1297
+ * The desired height in pixels for the initial content placeholder. This value MUST be
1298
+ * between 32 and 1000 pixels. Default value will be determined by host.
1299
+ */
1300
+ requestedHeight?: number;
1301
+ /**
1302
+ * The desired width in pixels for the initial content placeholder. This value MUST be
1303
+ * between 32 and 1000 pixels. Default value will be determined by host.
1304
+ */
1305
+ requestedWidth?: number;
1306
+ /**
1307
+ * Specifies whether a snapshot image of your content add-in is saved with the host
1308
+ * document. Default value is false. Set true to disable.
1309
+ */
1310
+ disableSnapshot?: boolean;
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 scopes in which the add-in can run. For example, mail means Outlook.
1333
+ */
1334
+ scopes?: RequirementsScope[];
1335
+ /**
1336
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1337
+ */
1338
+ formFactors?: FormFactor[];
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
+ requirements?: ContextMenuRequirements;
1346
+ /**
1347
+ * Configures the context menus. Minimum size is 1.
1348
+ */
1349
+ menus: ExtensionMenuItem[];
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
+ /**
1358
+ * Use 'text' or 'cell' here for Office context menu. Use text if the context menu should
1359
+ * open when a user right-clicks (selects and holds) on the selected text. Use cell if the
1360
+ * context menu should open when the user right-clicks (selects and holds) on a cell in an
1361
+ * Excel spreadsheet.
1362
+ */
1363
+ entryPoint: EntryPoint;
1364
+ controls: ExtensionCommonCustomGroupControlsItem[];
1365
+ }
1366
+ export interface ExtensionCommonCustomGroupControlsItem {
1367
+ /**
1368
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1369
+ */
1370
+ id: string;
1371
+ /**
1372
+ * Defines the type of control whether button or menu.
1373
+ */
1374
+ type: PurpleType;
1375
+ /**
1376
+ * Id of an existing office control. Maximum length is 64 characters.
1377
+ */
1378
+ builtInControlId?: string;
1379
+ /**
1380
+ * Displayed text for the control. Maximum length is 64 characters.
1381
+ */
1382
+ label: string;
1383
+ /**
1384
+ * Configures the icons for the custom control.
1385
+ */
1386
+ icons: ExtensionCommonIcon[];
1387
+ supertip: ExtensionCommonSuperToolTip;
1388
+ /**
1389
+ * The ID of an execution-type action that handles this key combination. Maximum length is
1390
+ * 64 characters.
1391
+ */
1392
+ actionId?: string;
1393
+ /**
1394
+ * Specifies whether a group, button, menu, or menu item will be hidden on application and
1395
+ * platform combinations that support the API (Office.ribbon.requestCreateControls) that
1396
+ * installs custom contextual tabs on the ribbon. Default is false.
1397
+ */
1398
+ overriddenByRibbonApi?: boolean;
1399
+ /**
1400
+ * Whether the control is initially enabled.
1401
+ */
1402
+ enabled?: boolean;
1403
+ /**
1404
+ * Configures the items for a menu control.
1405
+ */
1406
+ items?: ExtensionCommonCustomControlMenuItem[];
1407
+ }
1408
+ export interface ExtensionCommonCustomControlMenuItem {
1409
+ /**
1410
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1411
+ */
1412
+ id: string;
1413
+ /**
1414
+ * Supported values: menuItem.
1415
+ */
1416
+ type: "menuItem";
1417
+ /**
1418
+ * Displayed text for the control. Maximum length is 64 characters.
1419
+ */
1420
+ label: string;
1421
+ icons?: ExtensionCommonIcon[];
1422
+ supertip: ExtensionCommonSuperToolTip;
1423
+ /**
1424
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1425
+ */
1426
+ actionId: string;
1427
+ /**
1428
+ * Whether the control is initially enabled.
1429
+ */
1430
+ enabled?: boolean;
1431
+ overriddenByRibbonApi?: boolean;
1432
+ }
1433
+ export interface ExtensionCommonSuperToolTip {
1434
+ /**
1435
+ * Title text of the super tip. Maximum length is 64 characters.
1436
+ */
1437
+ title: string;
1438
+ /**
1439
+ * Description of the super tip. Maximum length is 250 characters.
1440
+ */
1441
+ description: 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 scopes in which the add-in can run. For example, mail means Outlook.
1468
+ */
1469
+ scopes?: RequirementsScope[];
1470
+ /**
1471
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1472
+ */
1473
+ formFactors?: FormFactor[];
1474
+ }
1475
+ /**
1476
+ * Provides information used by the callout that appears when the add-in is installed.
1477
+ */
1478
+ export interface ExtensionGetStartedMessageArray {
1479
+ requirements?: GetStartedMessageRequirements;
1480
+ /**
1481
+ * The title used for the top of the callout.
1482
+ */
1483
+ title: string;
1484
+ /**
1485
+ * The description/body content for the callout.
1486
+ */
1487
+ description: string;
1488
+ /**
1489
+ * A URL to a page that explains the add-in in detail.
1490
+ */
1491
+ learnMoreUrl: 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 scopes in which the add-in can run. For example, mail means Outlook.
1504
+ */
1505
+ scopes?: RequirementsScope[];
1506
+ /**
1507
+ * Identifies the form factors that support the add-in. Supported values: mobile, desktop.
1508
+ */
1509
+ formFactors?: FormFactor[];
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
+ key: Key;
1524
+ /**
1525
+ * The ID of an execution-type action that handles this key combination.
1526
+ */
1527
+ actionId: string;
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
+ requirements?: RequirementsExtensionElement;
1554
+ contexts?: ExtensionContext[];
1555
+ tabs: ExtensionRibbonsArrayTabsItem[];
1556
+ fixedControls?: ExtensionRibbonsArrayFixedControlItem[];
1557
+ spamPreProcessingDialog?: ExtensionRibbonsSpamPreProcessingDialog;
1558
+ }
1559
+ export interface ExtensionRibbonsArrayFixedControlItem {
1560
+ /**
1561
+ * A unique identifier for this control within the app. Maximum length is 64 characters.
1562
+ */
1563
+ id: string;
1564
+ /**
1565
+ * Defines the type of control.
1566
+ */
1567
+ type: "button";
1568
+ /**
1569
+ * Displayed text for the control. Maximum length is 64 characters.
1570
+ */
1571
+ label: string;
1572
+ icons: ExtensionCommonIcon[];
1573
+ supertip: ExtensionCommonSuperToolTip;
1574
+ /**
1575
+ * The ID of an execution-type action that handles this key combination. Maximum length is
1576
+ * 64 characters.
1577
+ */
1578
+ actionId: string;
1579
+ /**
1580
+ * Whether the control is initially enabled.
1581
+ */
1582
+ enabled: boolean;
1583
+ }
1584
+ /**
1585
+ * Defines the type of control.
1586
+ */
1587
+ export interface ExtensionRibbonsSpamPreProcessingDialog {
1588
+ /**
1589
+ * Specifies the custom title of the preprocessing dialog.
1590
+ */
1591
+ title: string;
1592
+ /**
1593
+ * Specifies the custom text that appears in the preprocessing dialog.
1594
+ */
1595
+ description: string;
1596
+ /**
1597
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
1598
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
1599
+ * options are non-exclusive.
1600
+ */
1601
+ spamReportingOptions?: SpamReportingOptions;
1602
+ /**
1603
+ * A text box to the preprocessing dialog to allow users to provide additional information
1604
+ * on the message they're reporting. This value is the title of that text box.
1605
+ */
1606
+ spamFreeTextSectionTitle?: string;
1607
+ /**
1608
+ * Specifies the custom text and URL to provide informational resources to the users.
1609
+ */
1610
+ spamMoreInfo?: SpamMoreInfo;
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 title listed before the reporting options list.
1636
+ */
1637
+ title: string;
1638
+ /**
1639
+ * Specifies the custom options that a user can select from the preprocessing dialog to
1640
+ * provide a reason for reporting a message.
1641
+ */
1642
+ options: string[];
1643
+ [property: string]: any;
1644
+ }
1645
+ export interface ExtensionRibbonsArrayTabsItem {
1646
+ /**
1647
+ * A unique identifier for this tab within the app. Maximum length is 64 characters.
1648
+ */
1649
+ id?: string;
1650
+ /**
1651
+ * Displayed text for the tab. Maximum length is 64 characters.
1652
+ */
1653
+ label?: string;
1654
+ position?: Position;
1655
+ /**
1656
+ * Id of the existing office Tab. Maximum length is 64 characters.
1657
+ */
1658
+ builtInTabId?: string;
1659
+ /**
1660
+ * Defines tab groups.
1661
+ */
1662
+ groups?: ExtensionRibbonsCustomTabGroupsItem[];
1663
+ /**
1664
+ * Defines mobile group item.
1665
+ */
1666
+ customMobileRibbonGroups?: ExtensionRibbonsCustomMobileGroupItem[];
1667
+ }
1668
+ export interface ExtensionRibbonsCustomMobileGroupItem {
1669
+ /**
1670
+ * Specify the Id of the group. Used for mobileMessageRead ext point.
1671
+ */
1672
+ id: string;
1673
+ /**
1674
+ * Short label of the control. Maximum length is 32 characters.
1675
+ */
1676
+ label: string;
1677
+ controls: ExtensionRibbonsCustomMobileControlButtonItem[];
1678
+ [property: string]: any;
1679
+ }
1680
+ export interface ExtensionRibbonsCustomMobileControlButtonItem {
1681
+ /**
1682
+ * Specify the Id of the button like msgReadFunctionButton.
1683
+ */
1684
+ id: string;
1685
+ type: "mobileButton";
1686
+ /**
1687
+ * Short label of the control. Maximum length is 32 characters.
1688
+ */
1689
+ label: string;
1690
+ icons: ExtensionCustomMobileIcon[];
1691
+ /**
1692
+ * The ID of an action defined in runtimes. Maximum length is 64 characters.
1693
+ */
1694
+ actionId: string;
1695
+ [property: string]: any;
1696
+ }
1697
+ export interface ExtensionCustomMobileIcon {
1698
+ /**
1699
+ * Size in pixels of the icon. Three image sizes are required (25, 32, and 48 pixels).
1700
+ */
1701
+ size: number;
1702
+ /**
1703
+ * Url to the icon.
1704
+ */
1705
+ url: string;
1706
+ /**
1707
+ * How to scale - 1,2,3 for each image. This attribute specifies the UIScreen.scale property
1708
+ * for iOS devices.
1709
+ */
1710
+ scale: number;
1711
+ }
1712
+ export interface ExtensionRibbonsCustomTabGroupsItem {
1713
+ /**
1714
+ * A unique identifier for this group within the app. Maximum length is 64 characters.
1715
+ */
1716
+ id?: string;
1717
+ /**
1718
+ * Displayed text for the group. Maximum length is 64 characters.
1719
+ */
1720
+ label?: string;
1721
+ icons?: ExtensionCommonIcon[];
1722
+ controls?: ExtensionCommonCustomGroupControlsItem[];
1723
+ /**
1724
+ * Id of a built-in Group. Maximum length is 64 characters.
1725
+ */
1726
+ builtInGroupId?: 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
+ * The id of the built-in tab. Maximum length is 64 characters.
1737
+ */
1738
+ builtInTabId: string;
1739
+ /**
1740
+ * Define alignment of this custom tab relative to the specified built-in tab.
1741
+ */
1742
+ align: Align;
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
+ requirements?: RequirementsExtensionElement;
1756
+ /**
1757
+ * A unique identifier for this runtime within the app. Maximum length is 64 characters.
1758
+ */
1759
+ id: string;
1760
+ /**
1761
+ * Supports running functions and launching pages.
1762
+ */
1763
+ type?: "general";
1764
+ code: ExtensionRuntimeCode;
1765
+ /**
1766
+ * Runtimes with a short lifetime do not preserve state across executions. Runtimes with a
1767
+ * long lifetime do.
1768
+ */
1769
+ lifetime?: Lifetime;
1770
+ actions?: ExtensionRuntimesActionsItem[];
1771
+ customFunctions?: ExtensionCustomFunctions;
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
+ * Identifier for this action. Maximum length is 64 characters. This value is passed to the
1780
+ * code file.
1781
+ */
1782
+ id: string;
1783
+ /**
1784
+ * executeFunction: Run a script function without waiting for it to finish. openPage: Open a
1785
+ * page in a view. executeDataFunction: invoke command and retrieve data.
1786
+ */
1787
+ type: ActionType;
1788
+ /**
1789
+ * Display name of the action. Maximum length is 64 characters.
1790
+ */
1791
+ displayName?: string;
1792
+ /**
1793
+ * Specifies that a task pane supports pinning, which keeps the task pane open when the user
1794
+ * changes the selection.
1795
+ */
1796
+ pinnable?: boolean;
1797
+ /**
1798
+ * View where the page should be opened. Maximum length is 64 characters.
1799
+ */
1800
+ view?: string;
1801
+ /**
1802
+ * Whether allows the action to have multiple selection.
1803
+ */
1804
+ multiselect?: boolean;
1805
+ /**
1806
+ * Whether allows task pane add-ins to activate without the Reading Pane enabled or a
1807
+ * message selected.
1808
+ */
1809
+ supportsNoItemContext?: boolean;
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
+ * Array of function object which defines function metadata.
1824
+ */
1825
+ functions: ExtensionFunction[];
1826
+ namespace: ExtensionCustomFunctionsNamespace;
1827
+ /**
1828
+ * Allows a custom function to accept Excel data types as parameters and return values.
1829
+ */
1830
+ allowCustomDataForDataTypeAny?: boolean;
1831
+ [property: string]: any;
1832
+ }
1833
+ export interface ExtensionFunction {
1834
+ /**
1835
+ * A unique ID for the function.
1836
+ */
1837
+ id: string;
1838
+ /**
1839
+ * The name of the function that end users see in Excel. In Excel, this function name is
1840
+ * prefixed by the custom functions namespace that's specified in the manifest file.
1841
+ */
1842
+ name: string;
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
+ * Array that defines the input parameters for the function.
1853
+ */
1854
+ parameters: ExtensionFunctionParameter[];
1855
+ result: ExtensionResult;
1856
+ /**
1857
+ * If true, the function can output repeatedly to the cell even when invoked only once. This
1858
+ * option is useful for rapidly-changing data sources, such as a stock price. The function
1859
+ * should have no return statement. Instead, the result value is passed as the argument of
1860
+ * the StreamingInvocation.setResult callback function.
1861
+ */
1862
+ stream?: boolean;
1863
+ /**
1864
+ * If true, the function recalculates each time Excel recalculates, instead of only when the
1865
+ * formula's dependent values have changed. A function can't use both the stream and
1866
+ * volatile properties. If the stream and volatile properties are both set to true, the
1867
+ * volatile property will be ignored.
1868
+ */
1869
+ volatile?: boolean;
1870
+ /**
1871
+ * If true, Excel calls the CancelableInvocation handler whenever the user takes an action
1872
+ * that has the effect of canceling the function; for example, manually triggering
1873
+ * recalculation or editing a cell that is referenced by the function. Cancelable functions
1874
+ * are typically only used for asynchronous functions that return a single result and need
1875
+ * to handle the cancellation of a request for data. A function can't use both the stream
1876
+ * and cancelable properties.
1877
+ */
1878
+ cancelable?: boolean;
1879
+ /**
1880
+ * If true, your custom function can access the address of the cell that invoked it. The
1881
+ * address property of the invocation parameter contains the address of the cell that
1882
+ * invoked your custom function. A function can't use both the stream and requiresAddress
1883
+ * properties.
1884
+ */
1885
+ requiresAddress?: boolean;
1886
+ /**
1887
+ * If true, your custom function can access the addresses of the function's input
1888
+ * parameters. This property must be used in combination with the dimensionality property of
1889
+ * the result object, and dimensionality must be set to matrix.
1890
+ */
1891
+ requiresParameterAddress?: boolean;
1892
+ [property: string]: any;
1893
+ }
1894
+ export interface ExtensionFunctionParameter {
1895
+ /**
1896
+ * The name of the parameter. This name is displayed in Excel's IntelliSense.
1897
+ */
1898
+ name: string;
1899
+ /**
1900
+ * A description of the parameter. This is displayed in Excel's IntelliSense.
1901
+ */
1902
+ description?: string;
1903
+ /**
1904
+ * The data type of the parameter. It can only be boolean, number, string, any,
1905
+ * CustomFunctions.Invocation, CustomFunctions.StreamingInvocation or
1906
+ * CustomFunctions.CancelableInvocation, any allows you to use any of other types.
1907
+ */
1908
+ type?: string;
1909
+ /**
1910
+ * A subfield of the type property. Specifies the Excel data types accepted by the custom
1911
+ * function. Accepts the values cellvalue, booleancellvalue, doublecellvalue,
1912
+ * entitycellvalue, errorcellvalue, formattednumbercellvalue, linkedentitycellvalue,
1913
+ * localimagecellvalue, stringcellvalue, webimagecellvalue
1914
+ */
1915
+ cellValueType?: CellValueType;
1916
+ /**
1917
+ * Must be either scalar (a non-array value) or matrix (a 2-dimensional array).
1918
+ */
1919
+ dimensionality?: Dimensionality;
1920
+ /**
1921
+ * If true, the parameter is optional.
1922
+ */
1923
+ optional?: boolean;
1924
+ /**
1925
+ * If true, parameters populate from a specified array. Note that functions all repeating
1926
+ * parameters are considered optional parameters by definition.
1927
+ */
1928
+ repeating?: boolean;
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 transparent PNG outline icon. The border color needs to be
1992
+ * white. Size 32x32.
1993
+ */
1994
+ outline: string;
1995
+ /**
1996
+ * A relative file path to a full color PNG icon. Size 192x192.
1997
+ */
1998
+ color: string;
1999
+ /**
2000
+ * A relative file path to a full color PNG icon with transparent background. Size 32x32.
2001
+ */
2002
+ color32x32?: 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
+ /**
2015
+ * The language tag of the strings in this top level manifest file.
2016
+ */
2017
+ defaultLanguageTag: string;
2018
+ /**
2019
+ * A relative file path to a the .json file containing strings in the default language.
2020
+ */
2021
+ defaultLanguageFile?: string;
2022
+ additionalLanguages?: AdditionalLanguage[];
2023
+ }
2024
+ export interface AdditionalLanguage {
2025
+ /**
2026
+ * The language tag of the strings in the provided file.
2027
+ */
2028
+ languageTag: string;
2029
+ /**
2030
+ * A relative file path to a the .json file containing the translated strings.
2031
+ */
2032
+ file: 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
+ * Represents if the app has added support for sharing to stage.
2048
+ */
2049
+ supportsCustomShareToStage?: boolean;
2050
+ /**
2051
+ * Meeting supported video filters.
2052
+ */
2053
+ videoFilters?: VideoFilter[];
2054
+ /**
2055
+ * A URL for configuring the video filters.
2056
+ */
2057
+ videoFiltersConfigurationUrl?: string;
2058
+ /**
2059
+ * A boolean value indicating whether this app can stream the meeting's audio video content
2060
+ * to an RTMP endpoint.
2061
+ */
2062
+ supportsStreaming?: boolean;
2063
+ /**
2064
+ * A boolean value indicating whether this app supports access by anonymous guest users.
2065
+ */
2066
+ supportsAnonymousGuestUsers?: boolean;
2067
+ }
2068
+ export interface Scene {
2069
+ /**
2070
+ * A unique identifier for this scene. This id must be a GUID.
2071
+ */
2072
+ id: string;
2073
+ /**
2074
+ * Scene name.
2075
+ */
2076
+ name: string;
2077
+ /**
2078
+ * A relative file path to a scene metadata json file.
2079
+ */
2080
+ file: string;
2081
+ /**
2082
+ * A relative file path to a scene PNG preview icon.
2083
+ */
2084
+ preview: string;
2085
+ /**
2086
+ * Maximum audiences supported in scene.
2087
+ */
2088
+ maxAudience: number;
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
+ * A short display name for the app.
2111
+ */
2112
+ short: string;
2113
+ /**
2114
+ * The full name of the app, used if the full app name exceeds 30 characters.
2115
+ */
2116
+ full: string;
2117
+ /**
2118
+ * An abbreviated name for the app.
2119
+ */
2120
+ abbreviated?: string;
2121
+ }
2122
+ export type Permission = "identity" | "messageTeamMembers";
2123
+ export interface ScopeConstraints {
2124
+ /**
2125
+ * A list of team thread ids to which your app is restricted to
2126
+ */
2127
+ teams?: TeamElement[];
2128
+ /**
2129
+ * A list of chat thread ids to which your app is restricted to
2130
+ */
2131
+ groupChats?: GroupChatElement[];
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
+ * A unique identifier for the entity which the tab displays.
2148
+ */
2149
+ entityId: string;
2150
+ /**
2151
+ * The display name of the tab.
2152
+ */
2153
+ name?: string;
2154
+ /**
2155
+ * The url which points to the entity UI to be displayed in the Teams canvas.
2156
+ */
2157
+ contentUrl?: string;
2158
+ /**
2159
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
2160
+ * (https://dev.botframework.com/bots)
2161
+ */
2162
+ contentBotId?: string;
2163
+ /**
2164
+ * The url to point at if a user opts to view in a browser.
2165
+ */
2166
+ websiteUrl?: string;
2167
+ /**
2168
+ * The url to direct a user's search queries.
2169
+ */
2170
+ searchUrl?: string;
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 set of contextItem scopes that a tab belong to
2179
+ */
2180
+ context?: StaticTabContext[];
2181
+ /**
2182
+ * The set of supportedPlatform scopes that a tab belong to
2183
+ */
2184
+ supportedPlatform?: SupportedPlatform[];
2185
+ /**
2186
+ * The set of requirements for the tab.
2187
+ */
2188
+ requirementSet?: ElementRequirementSet;
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
+ }