@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,659 @@
1
+ export interface TeamsManifestV1D16 {
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
+ activities?: Activities;
9
+ /**
10
+ * Specify and consolidates authorization related information for the App.
11
+ */
12
+ authorization?: Authorization;
13
+ /**
14
+ * The set of bots for this app. Currently only one bot per app is supported.
15
+ */
16
+ bots?: Bot[];
17
+ /**
18
+ * The set of compose extensions for this app. Currently only one compose extension per app
19
+ * is supported.
20
+ */
21
+ composeExtensions?: ComposeExtension[];
22
+ /**
23
+ * A list of tenant configured properties for an app
24
+ */
25
+ configurableProperties?: ConfigurableProperty[];
26
+ /**
27
+ * These are tabs users can optionally add to their channels and 1:1 or group chats and
28
+ * require extra configuration before they are added. Configurable tabs are not supported in
29
+ * the personal scope. Currently only one configurable tab per app is supported.
30
+ */
31
+ configurableTabs?: ConfigurableTab[];
32
+ /**
33
+ * The set of Office365 connectors for this app. Currently only one connector per app is
34
+ * supported.
35
+ */
36
+ connectors?: Connector[];
37
+ /**
38
+ * A value indicating whether an app is blocked by default until admin allows it
39
+ */
40
+ defaultBlockUntilAdminAction?: boolean;
41
+ /**
42
+ * When a group install scope is selected, this will define the default capability when the
43
+ * user installs the app
44
+ */
45
+ defaultGroupCapability?: DefaultGroupCapability;
46
+ /**
47
+ * The install scope defined for this app by default. This will be the option displayed on
48
+ * the button when a user tries to add the app
49
+ */
50
+ defaultInstallScope?: DefaultInstallScope;
51
+ description: Description;
52
+ developer: Developer;
53
+ /**
54
+ * Specify the native features on a user's device that your app may request access to.
55
+ */
56
+ devicePermissions?: DevicePermission[];
57
+ /**
58
+ * Specify the app's Graph connector configuration. If this is present then
59
+ * webApplicationInfo.id must also be specified.
60
+ */
61
+ graphConnector?: GraphConnector;
62
+ icons: Icons;
63
+ /**
64
+ * A unique identifier for this app. This id must be a GUID.
65
+ */
66
+ id: string;
67
+ /**
68
+ * A value indicating whether a personal app is rendered without a tab header-bar
69
+ */
70
+ isFullScreen?: boolean;
71
+ localizationInfo?: LocalizationInfo;
72
+ /**
73
+ * The version of the schema this manifest is using. This schema version supports extending
74
+ * Teams apps to other parts of the Microsoft 365 ecosystem. More info at
75
+ * https://aka.ms/extendteamsapps.
76
+ */
77
+ manifestVersion: "1.16";
78
+ /**
79
+ * Specify meeting extension definition.
80
+ */
81
+ meetingExtensionDefinition?: MeetingExtensionDefinition;
82
+ name: Name;
83
+ /**
84
+ * A unique identifier for this app in reverse domain notation. E.g: com.example.myapp
85
+ */
86
+ packageName?: string;
87
+ /**
88
+ * Specifies the permissions the app requests from users.
89
+ */
90
+ permissions?: Permission[];
91
+ /**
92
+ * The url to the page that provides additional app information for the admins
93
+ */
94
+ publisherDocsUrl?: string;
95
+ /**
96
+ * A value indicating whether or not show loading indicator when app/tab is loading
97
+ */
98
+ showLoadingIndicator?: boolean;
99
+ /**
100
+ * A set of tabs that may be 'pinned' by default, without the user adding them manually.
101
+ * Static tabs declared in personal scope are always pinned to the app's personal
102
+ * experience. Static tabs do not currently support the 'teams' scope.
103
+ */
104
+ staticTabs?: StaticTab[];
105
+ /**
106
+ * Subscription offer associated with this app.
107
+ */
108
+ subscriptionOffer?: SubscriptionOffer;
109
+ /**
110
+ * List of 'non-standard' channel types that the app supports. Note: Channels of standard
111
+ * type are supported by default if the app supports team scope.
112
+ */
113
+ supportedChannelTypes?: SupportedChannelType[];
114
+ /**
115
+ * A list of valid domains from which the tabs expect to load any content. Domain listings
116
+ * can include wildcards, for example `*.example.com`. If your tab configuration or content
117
+ * UI needs to navigate to any other domain besides the one use for tab configuration, that
118
+ * domain must be specified here.
119
+ */
120
+ validDomains?: string[];
121
+ /**
122
+ * The version of the app. Changes to your manifest should cause a version change. This
123
+ * version string must follow the semver standard (http://semver.org).
124
+ */
125
+ version: string;
126
+ /**
127
+ * Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
128
+ * app.
129
+ */
130
+ webApplicationInfo?: WebApplicationInfo;
131
+ }
132
+ export interface Activities {
133
+ /**
134
+ * Specify the types of activites that your app can post to a users activity feed
135
+ */
136
+ activityTypes?: ActivityType[];
137
+ }
138
+ export interface ActivityType {
139
+ description: string;
140
+ templateText: string;
141
+ type: string;
142
+ }
143
+ /**
144
+ * Specify and consolidates authorization related information for the App.
145
+ */
146
+ export interface Authorization {
147
+ /**
148
+ * List of permissions that the app needs to function.
149
+ */
150
+ permissions?: Permissions;
151
+ }
152
+ /**
153
+ * List of permissions that the app needs to function.
154
+ */
155
+ export interface Permissions {
156
+ /**
157
+ * Permissions that guard data access on a resource instance level.
158
+ */
159
+ resourceSpecific?: ResourceSpecific[];
160
+ }
161
+ export interface ResourceSpecific {
162
+ /**
163
+ * The name of the resource-specific permission.
164
+ */
165
+ name: string;
166
+ /**
167
+ * The type of the resource-specific permission.
168
+ */
169
+ type: ResourceSpecificType;
170
+ }
171
+ /**
172
+ * The type of the resource-specific permission.
173
+ */
174
+ export type ResourceSpecificType = "Application" | "Delegated";
175
+ export interface Bot {
176
+ /**
177
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
178
+ * (https://dev.botframework.com/bots)
179
+ */
180
+ botId: string;
181
+ /**
182
+ * The list of commands that the bot supplies, including their usage, description, and the
183
+ * scope for which the commands are valid. A separate command list should be used for each
184
+ * scope.
185
+ */
186
+ commandLists?: CommandList[];
187
+ /**
188
+ * A value indicating whether or not the bot is a one-way notification only bot, as opposed
189
+ * to a conversational bot.
190
+ */
191
+ isNotificationOnly?: boolean;
192
+ /**
193
+ * This value describes whether or not the bot utilizes a user hint to add the bot to a
194
+ * specific channel.
195
+ */
196
+ needsChannelSelector?: boolean;
197
+ /**
198
+ * Specifies whether the bot offers an experience in the context of a channel in a team, in
199
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
200
+ * options are non-exclusive.
201
+ */
202
+ scopes: CommandListScope[];
203
+ /**
204
+ * A value indicating whether the bot supports audio calling.
205
+ */
206
+ supportsCalling?: boolean;
207
+ /**
208
+ * A value indicating whether the bot supports uploading/downloading of files.
209
+ */
210
+ supportsFiles?: boolean;
211
+ /**
212
+ * A value indicating whether the bot supports video calling.
213
+ */
214
+ supportsVideo?: boolean;
215
+ }
216
+ export interface CommandList {
217
+ commands: CommandListCommand[];
218
+ /**
219
+ * Specifies the scopes for which the command list is valid
220
+ */
221
+ scopes: CommandListScope[];
222
+ }
223
+ export interface CommandListCommand {
224
+ /**
225
+ * A simple text description or an example of the command syntax and its arguments.
226
+ */
227
+ description: string;
228
+ /**
229
+ * The bot command name
230
+ */
231
+ title: string;
232
+ }
233
+ export type CommandListScope = "team" | "personal" | "groupChat" | "groupchat";
234
+ export interface ComposeExtension {
235
+ /**
236
+ * The Microsoft App ID specified for the bot powering the compose extension in the Bot
237
+ * Framework portal (https://dev.botframework.com/bots)
238
+ */
239
+ botId: string;
240
+ /**
241
+ * A value indicating whether the configuration of a compose extension can be updated by the
242
+ * user.
243
+ */
244
+ canUpdateConfiguration?: boolean;
245
+ commands: ComposeExtensionCommand[];
246
+ /**
247
+ * A list of handlers that allow apps to be invoked when certain conditions are met
248
+ */
249
+ messageHandlers?: MessageHandler[];
250
+ }
251
+ export interface ComposeExtensionCommand {
252
+ /**
253
+ * Context where the command would apply
254
+ */
255
+ context?: CommandContext[];
256
+ /**
257
+ * Description of the command.
258
+ */
259
+ description?: string;
260
+ /**
261
+ * A boolean value that indicates if it should fetch task module dynamically
262
+ */
263
+ fetchTask?: boolean;
264
+ /**
265
+ * Id of the command.
266
+ */
267
+ id: string;
268
+ /**
269
+ * A boolean value that indicates if the command should be run once initially with no
270
+ * parameter.
271
+ */
272
+ initialRun?: boolean;
273
+ parameters?: Parameter[];
274
+ taskInfo?: TaskInfo;
275
+ /**
276
+ * Title of the command.
277
+ */
278
+ title: string;
279
+ /**
280
+ * Type of the command
281
+ */
282
+ type?: CommandType;
283
+ }
284
+ export type CommandContext = "compose" | "commandBox" | "message";
285
+ export interface Parameter {
286
+ /**
287
+ * The choice options for the parameter
288
+ */
289
+ choices?: Choice[];
290
+ /**
291
+ * Description of the parameter.
292
+ */
293
+ description?: string;
294
+ /**
295
+ * Type of the parameter
296
+ */
297
+ inputType?: InputType;
298
+ /**
299
+ * Name of the parameter.
300
+ */
301
+ name: string;
302
+ /**
303
+ * Title of the parameter.
304
+ */
305
+ title: string;
306
+ /**
307
+ * Initial value for the parameter
308
+ */
309
+ value?: string;
310
+ }
311
+ export interface Choice {
312
+ /**
313
+ * Title of the choice
314
+ */
315
+ title: string;
316
+ /**
317
+ * Value of the choice
318
+ */
319
+ value: string;
320
+ }
321
+ /**
322
+ * Type of the parameter
323
+ */
324
+ export type InputType = "text" | "textarea" | "number" | "date" | "time" | "toggle" | "choiceset";
325
+ export interface TaskInfo {
326
+ /**
327
+ * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
328
+ * 'small'
329
+ */
330
+ height?: string;
331
+ /**
332
+ * Initial dialog title
333
+ */
334
+ title?: string;
335
+ /**
336
+ * Initial webview URL
337
+ */
338
+ url?: string;
339
+ /**
340
+ * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
341
+ * 'small'
342
+ */
343
+ width?: string;
344
+ }
345
+ /**
346
+ * Type of the command
347
+ */
348
+ export type CommandType = "query" | "action";
349
+ export interface MessageHandler {
350
+ /**
351
+ * Type of the message handler
352
+ */
353
+ type: "link";
354
+ value: Value;
355
+ }
356
+ /**
357
+ * Type of the message handler
358
+ */
359
+ export interface Value {
360
+ /**
361
+ * A list of domains that the link message handler can register for, and when they are
362
+ * matched the app will be invoked
363
+ */
364
+ domains?: string[];
365
+ /**
366
+ * A boolean that indicates whether the app's link message handler supports anonymous invoke
367
+ * flow.
368
+ */
369
+ supportsAnonymizedPayloads?: boolean;
370
+ [property: string]: any;
371
+ }
372
+ export type ConfigurableProperty = "name" | "shortDescription" | "longDescription" | "smallImageUrl" | "largeImageUrl" | "accentColor" | "developerUrl" | "privacyUrl" | "termsOfUseUrl";
373
+ export interface ConfigurableTab {
374
+ /**
375
+ * A value indicating whether an instance of the tab's configuration can be updated by the
376
+ * user after creation.
377
+ */
378
+ canUpdateConfiguration?: boolean;
379
+ /**
380
+ * The url to use when configuring the tab.
381
+ */
382
+ configurationUrl: string;
383
+ /**
384
+ * The set of contextItem scopes that a tab belong to
385
+ */
386
+ context?: ConfigurableTabContext[];
387
+ /**
388
+ * The set of meetingSurfaceItem scopes that a tab belong to
389
+ */
390
+ meetingSurfaces?: MeetingSurface[];
391
+ /**
392
+ * Specifies whether the tab offers an experience in the context of a channel in a team, in
393
+ * a 1:1 or group chat, or in an experience scoped to an individual user alone. These
394
+ * options are non-exclusive. Currently, configurable tabs are only supported in the teams
395
+ * and groupchats scopes.
396
+ */
397
+ scopes: ConfigurableTabScope[];
398
+ /**
399
+ * A relative file path to a tab preview image for use in SharePoint. Size 1024x768.
400
+ */
401
+ sharePointPreviewImage?: string;
402
+ /**
403
+ * Defines how your tab will be made available in SharePoint.
404
+ */
405
+ supportedSharePointHosts?: SupportedSharePointHost[];
406
+ }
407
+ export type ConfigurableTabContext = "personalTab" | "channelTab" | "privateChatTab" | "meetingChatTab" | "meetingDetailsTab" | "meetingSidePanel" | "meetingStage" | "callingSidePanel";
408
+ export type MeetingSurface = "sidePanel" | "stage";
409
+ export type ConfigurableTabScope = "team" | "groupChat" | "groupchat";
410
+ export type SupportedSharePointHost = "sharePointFullPage" | "sharePointWebPart";
411
+ export interface Connector {
412
+ /**
413
+ * The url to use for configuring the connector using the inline configuration experience.
414
+ */
415
+ configurationUrl?: string;
416
+ /**
417
+ * A unique identifier for the connector which matches its ID in the Connectors Developer
418
+ * Portal.
419
+ */
420
+ connectorId: string;
421
+ /**
422
+ * Specifies whether the connector offers an experience in the context of a channel in a
423
+ * team, or an experience scoped to an individual user alone. Currently, only the team scope
424
+ * is supported.
425
+ */
426
+ scopes: "team"[];
427
+ }
428
+ /**
429
+ * When a group install scope is selected, this will define the default capability when the
430
+ * user installs the app
431
+ */
432
+ export interface DefaultGroupCapability {
433
+ /**
434
+ * When the install scope selected is GroupChat, this field specifies the default capability
435
+ * available
436
+ */
437
+ groupchat?: Groupchat;
438
+ /**
439
+ * When the install scope selected is Meetings, this field specifies the default capability
440
+ * available
441
+ */
442
+ meetings?: Groupchat;
443
+ /**
444
+ * When the install scope selected is Team, this field specifies the default capability
445
+ * available
446
+ */
447
+ team?: Groupchat;
448
+ }
449
+ /**
450
+ * When the install scope selected is GroupChat, this field specifies the default capability
451
+ * available
452
+ *
453
+ * When the install scope selected is Meetings, this field specifies the default capability
454
+ * available
455
+ *
456
+ * When the install scope selected is Team, this field specifies the default capability
457
+ * available
458
+ */
459
+ export type Groupchat = "tab" | "bot" | "connector";
460
+ /**
461
+ * The install scope defined for this app by default. This will be the option displayed on
462
+ * the button when a user tries to add the app
463
+ */
464
+ export type DefaultInstallScope = "personal" | "team" | "groupChat" | "groupchat" | "meetings";
465
+ export interface Description {
466
+ /**
467
+ * The full description of the app. Maximum length is 4000 characters.
468
+ */
469
+ full: string;
470
+ /**
471
+ * A short description of the app used when space is limited. Maximum length is 80
472
+ * characters.
473
+ */
474
+ short: string;
475
+ }
476
+ export interface Developer {
477
+ /**
478
+ * The Microsoft Partner Network ID that identifies the partner organization building the
479
+ * app. This field is not required, and should only be used if you are already part of the
480
+ * Microsoft Partner Network. More info at https://aka.ms/partner
481
+ */
482
+ mpnId?: string;
483
+ /**
484
+ * The display name for the developer.
485
+ */
486
+ name: string;
487
+ /**
488
+ * The url to the page that provides privacy information for the app.
489
+ */
490
+ privacyUrl: string;
491
+ /**
492
+ * The url to the page that provides the terms of use for the app.
493
+ */
494
+ termsOfUseUrl: string;
495
+ /**
496
+ * The url to the page that provides support information for the app.
497
+ */
498
+ websiteUrl: string;
499
+ }
500
+ export type DevicePermission = "geolocation" | "media" | "notifications" | "midi" | "openExternal";
501
+ /**
502
+ * Specify the app's Graph connector configuration. If this is present then
503
+ * webApplicationInfo.id must also be specified.
504
+ */
505
+ export interface GraphConnector {
506
+ /**
507
+ * The url where Graph-connector notifications for the application should be sent.
508
+ */
509
+ notificationUrl: string;
510
+ }
511
+ export interface Icons {
512
+ /**
513
+ * A relative file path to a full color PNG icon. Size 192x192.
514
+ */
515
+ color: string;
516
+ /**
517
+ * A relative file path to a transparent PNG outline icon. The border color needs to be
518
+ * white. Size 32x32.
519
+ */
520
+ outline: string;
521
+ }
522
+ export interface LocalizationInfo {
523
+ additionalLanguages?: AdditionalLanguage[];
524
+ /**
525
+ * The language tag of the strings in this top level manifest file.
526
+ */
527
+ defaultLanguageTag: string;
528
+ }
529
+ export interface AdditionalLanguage {
530
+ /**
531
+ * A relative file path to a the .json file containing the translated strings.
532
+ */
533
+ file: string;
534
+ /**
535
+ * The language tag of the strings in the provided file.
536
+ */
537
+ languageTag: string;
538
+ }
539
+ /**
540
+ * Specify meeting extension definition.
541
+ */
542
+ export interface MeetingExtensionDefinition {
543
+ /**
544
+ * Meeting supported scenes.
545
+ */
546
+ scenes?: Scene[];
547
+ /**
548
+ * A boolean value indicating whether this app allows management by anonymous users.
549
+ */
550
+ supportsAnonymousGuestUsers?: boolean;
551
+ /**
552
+ * A boolean value indicating whether this app can stream the meeting's audio video content
553
+ * to an RTMP endpoint.
554
+ */
555
+ supportsStreaming?: boolean;
556
+ }
557
+ export interface Scene {
558
+ /**
559
+ * A relative file path to a scene metadata json file.
560
+ */
561
+ file: string;
562
+ /**
563
+ * A unique identifier for this scene. This id must be a GUID.
564
+ */
565
+ id: string;
566
+ /**
567
+ * Maximum audiences supported in scene.
568
+ */
569
+ maxAudience: number;
570
+ /**
571
+ * Scene name.
572
+ */
573
+ name: string;
574
+ /**
575
+ * A relative file path to a scene PNG preview icon.
576
+ */
577
+ preview: string;
578
+ /**
579
+ * Number of seats reserved for organizers or presenters.
580
+ */
581
+ seatsReservedForOrganizersOrPresenters: number;
582
+ }
583
+ export interface Name {
584
+ /**
585
+ * The full name of the app, used if the full app name exceeds 30 characters.
586
+ */
587
+ full: string;
588
+ /**
589
+ * A short display name for the app.
590
+ */
591
+ short: string;
592
+ }
593
+ export type Permission = "identity" | "messageTeamMembers";
594
+ export interface StaticTab {
595
+ /**
596
+ * The Microsoft App ID specified for the bot in the Bot Framework portal
597
+ * (https://dev.botframework.com/bots)
598
+ */
599
+ contentBotId?: string;
600
+ /**
601
+ * The url which points to the entity UI to be displayed in the canvas.
602
+ */
603
+ contentUrl?: string;
604
+ /**
605
+ * The set of contextItem scopes that a tab belong to
606
+ */
607
+ context?: StaticTabContext[];
608
+ /**
609
+ * A unique identifier for the entity which the tab displays.
610
+ */
611
+ entityId: string;
612
+ /**
613
+ * The display name of the tab.
614
+ */
615
+ name?: string;
616
+ /**
617
+ * Specifies whether the tab offers an experience in the context of a channel in a team, or
618
+ * an experience scoped to an individual user alone. These options are non-exclusive.
619
+ * Currently static tabs are only supported in the 'personal' scope.
620
+ */
621
+ scopes: CommandListScope[];
622
+ /**
623
+ * The url to direct a user's search queries.
624
+ */
625
+ searchUrl?: string;
626
+ /**
627
+ * The url to point at if a user opts to view in a browser.
628
+ */
629
+ websiteUrl?: string;
630
+ }
631
+ export type StaticTabContext = "personalTab" | "channelTab" | "privateChatTab" | "meetingChatTab" | "meetingDetailsTab" | "meetingSidePanel" | "meetingStage" | "teamLevelApp";
632
+ /**
633
+ * Subscription offer associated with this app.
634
+ */
635
+ export interface SubscriptionOffer {
636
+ /**
637
+ * A unique identifier for the Commercial Marketplace Software as a Service Offer.
638
+ */
639
+ offerId: string;
640
+ }
641
+ export type SupportedChannelType = "sharedChannels" | "privateChannels";
642
+ /**
643
+ * Specify your AAD App ID and Graph information to help users seamlessly sign into your AAD
644
+ * app.
645
+ */
646
+ export interface WebApplicationInfo {
647
+ /**
648
+ * AAD application id of the app. This id must be a GUID.
649
+ */
650
+ id: string;
651
+ /**
652
+ * Resource url of app for acquiring auth token for SSO.
653
+ */
654
+ resource?: string;
655
+ }
656
+ export declare class Convert {
657
+ static toTeamsManifestV1D16(json: string): TeamsManifestV1D16;
658
+ static teamsManifestV1D16ToJson(value: TeamsManifestV1D16): string;
659
+ }