@microsoft/app-manifest 1.0.0-beta.2025041708.0 → 1.0.0-beta.2025042207.0

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