@microsoft/app-manifest 1.0.6 → 1.0.7-alpha.1673f8d0ac.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 (35) hide show
  1. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D7.d.ts +648 -0
  2. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D7.js +345 -0
  3. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D7.js.map +1 -0
  4. package/build/generated-types/index.d.ts +9 -6
  5. package/build/generated-types/index.js +19 -1
  6. package/build/generated-types/index.js.map +1 -1
  7. package/build/generated-types/teams/TeamsManifestV1D27.d.ts +2281 -0
  8. package/build/generated-types/teams/TeamsManifestV1D27.js +1087 -0
  9. package/build/generated-types/teams/TeamsManifestV1D27.js.map +1 -0
  10. package/build/generated-types/teams/TeamsManifestV1D28.d.ts +2303 -0
  11. package/build/generated-types/teams/TeamsManifestV1D28.js +1094 -0
  12. package/build/generated-types/teams/TeamsManifestV1D28.js.map +1 -0
  13. package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +111 -231
  14. package/build/generated-types/teams/TeamsManifestVDevPreview.js +35 -88
  15. package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -1
  16. package/build/json-schemas/copilot/declarative-agent/v1.7/schema.json +1258 -0
  17. package/build/json-schemas/teams/v1.23/MicrosoftTeams.schema.json +1 -1
  18. package/build/json-schemas/teams/v1.24/MicrosoftTeams.schema.json +1 -1
  19. package/build/json-schemas/teams/v1.25/MicrosoftTeams.schema.json +1 -1
  20. package/build/json-schemas/teams/v1.26/MicrosoftTeams.AgenticUser.schema.json +44 -0
  21. package/build/json-schemas/teams/v1.26/MicrosoftTeams.Localization.schema.json +332 -0
  22. package/build/json-schemas/teams/v1.26/MicrosoftTeams.ResponseRenderingTemplate.schema.json +89 -0
  23. package/build/json-schemas/teams/v1.26/MicrosoftTeams.schema.json +0 -1
  24. package/build/json-schemas/teams/v1.27/MicrosoftTeams.AgenticUser.schema.json +44 -0
  25. package/build/json-schemas/teams/v1.27/MicrosoftTeams.Localization.schema.json +344 -0
  26. package/build/json-schemas/teams/v1.27/MicrosoftTeams.ResponseRenderingTemplate.schema.json +89 -0
  27. package/build/json-schemas/teams/v1.27/MicrosoftTeams.schema.json +3472 -0
  28. package/build/json-schemas/teams/v1.28/MicrosoftTeams.AgenticUser.schema.json +44 -0
  29. package/build/json-schemas/teams/v1.28/MicrosoftTeams.Localization.schema.json +344 -0
  30. package/build/json-schemas/teams/v1.28/MicrosoftTeams.ResponseRenderingTemplate.schema.json +89 -0
  31. package/build/json-schemas/teams/v1.28/MicrosoftTeams.schema.json +3503 -0
  32. package/build/json-schemas/teams/vDevPreview/MicrosoftTeams.Localization.schema.json +37 -5
  33. package/build/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json +119 -290
  34. package/build/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +2 -2
@@ -3,7 +3,7 @@ export interface TeamsManifestVDevPreview {
3
3
  /**
4
4
  * The version of the schema this manifest is using.
5
5
  */
6
- manifestVersion: ManifestVersion;
6
+ manifestVersion: "devPreview";
7
7
  /**
8
8
  * The version of the app. Changes to your manifest should cause a version change. This
9
9
  * version string must follow the semver standard (http://semver.org).
@@ -132,7 +132,6 @@ export interface TeamsManifestVDevPreview {
132
132
  */
133
133
  authorization?: TeamsManifestVDevPreviewAuthorization;
134
134
  extensions?: ElementExtension[];
135
- actions?: ElementAction[];
136
135
  /**
137
136
  * Defines the list of cards which could be pinned to dashboards that can provide summarized
138
137
  * view of information relevant to user.
@@ -161,165 +160,12 @@ export interface TeamsManifestVDevPreview {
161
160
  * A list of agent connector objects to included in the Unified App Manifest.
162
161
  */
163
162
  agentConnectors?: AgentConnector[];
164
- }
165
- /**
166
- * Actions node contains an array of actions object.
167
- */
168
- export interface ElementAction {
169
- /**
170
- * A unique identifier string in the default locale that is used to catalog actions.
171
- */
172
- id: string;
173
- /**
174
- * An enum string that describes the intent of the action.
175
- */
176
- intent: Intent;
177
- /**
178
- * A display name for the action.
179
- */
180
- displayName: string;
181
- /**
182
- * A display string in the default locale to represent the action.
183
- */
184
- description: string;
185
- /**
186
- * Object containing URLs to icon images for this action intent.
187
- */
188
- icons?: Icon[];
189
- /**
190
- * Defining how actions can be handled. If an app has more than 1 handler, only one
191
- * experience will show up at one entry point. The hub will decide which action to show up
192
- * based on which experience is supported.
193
- */
194
- handlers: Handler[];
195
- }
196
- export interface Handler {
197
- /**
198
- * Required both for File Handlers and Content Actions.
199
- */
200
- type: HandlerType;
201
- supportedObjects?: SupportedObjects;
202
- /**
203
- * If true, multiple files can be selected and the action will still be displayed. If false
204
- * or missing, the action is only displayed when a single item is selected.
205
- */
206
- supportsMultiSelect?: boolean;
207
- pageInfo?: PageInfo;
208
- dialogInfo?: DialogInfo;
209
- /**
210
- * Url for handler type openURL, invokeAPI, openTaskpane, and others.
211
- */
212
- url?: string;
213
- botInfo?: BotInfo;
214
- [property: string]: any;
215
- }
216
- export interface BotInfo {
217
- /**
218
- * Bot ID.
219
- */
220
- botId: string;
221
- /**
222
- * Fetch task from bot.
223
- */
224
- fetchTask?: boolean;
225
- [property: string]: any;
226
- }
227
- export interface DialogInfo {
228
- /**
229
- * Dialog type, defines how the developer build the dialog.
230
- */
231
- dialogType: DialogType;
232
- /**
233
- * Required for html based dialog.
234
- */
235
- url?: string;
236
- /**
237
- * Dialog width - either a number in pixels or default layout such as 'large', 'medium', or
238
- * 'small'.
239
- */
240
- width: string;
241
- /**
242
- * Dialog height - either a number in pixels or default layout such as 'large', 'medium', or
243
- * 'small'.
244
- */
245
- height: string;
246
- /**
247
- * Array of parameter object, each contains: name, title, description, inputType.
248
- */
249
- parameters?: ParameterObject[];
250
- /**
251
- * Dialog title.
252
- */
253
- title?: string;
254
- [property: string]: any;
255
- }
256
- /**
257
- * Dialog type, defines how the developer build the dialog.
258
- */
259
- export type DialogType = "url" | "adaptiveCard";
260
- export interface ParameterObject {
261
- /**
262
- * Parameter name.
263
- */
264
- name: string;
265
- /**
266
- * Parameter title.
267
- */
268
- title: string;
269
- /**
270
- * Parameter description.
271
- */
272
- description: string;
273
- /**
274
- * Parameter input type.
275
- */
276
- inputType: string;
277
- [property: string]: any;
278
- }
279
- export interface PageInfo {
280
- /**
281
- * Used to navigate to the page in MetaOS app.
282
- */
283
- pageId: string;
284
- /**
285
- * Used to navigate to the subpage in MetaOS app.
286
- */
287
- subpageId?: string;
288
- [property: string]: any;
289
- }
290
- export interface SupportedObjects {
291
- file?: File;
292
- /**
293
- * A null value indicates that the file handler is not available when a folder is selected.
294
- * An object with no parameters indicates that the file handler is available when a folder
295
- * is selected or when no files are selected.
296
- */
297
- folder?: {
298
- [key: string]: any;
299
- } | null;
300
- [property: string]: any;
301
- }
302
- export interface File {
303
- extensions?: string[];
304
- }
305
- /**
306
- * Required both for File Handlers and Content Actions.
307
- */
308
- export type HandlerType = "openURL" | "openPage" | "openDialog" | "openTaskpane" | "invokeAPI" | "invokeBot";
309
- export interface Icon {
310
- /**
311
- * Icon size in pixels.
312
- */
313
- size: number;
314
163
  /**
315
- * URL for the icon.
164
+ * Agent skill declarations following the Agent Skills open standard (agentskills.io). Each
165
+ * entry references a SKILL.md folder.
316
166
  */
317
- url: string;
167
+ agentSkills?: AgentSkill[];
318
168
  }
319
- /**
320
- * An enum string that describes the intent of the action.
321
- */
322
- export type Intent = "create" | "addTo" | "open" | "preview" | "share" | "sign" | "custom";
323
169
  export interface Activities {
324
170
  /**
325
171
  * Specify the types of activites that your app can post to a users activity feed
@@ -389,14 +235,22 @@ export interface AgentConnector {
389
235
  */
390
236
  export interface ToolSource {
391
237
  /**
392
- * Configuration details for connectors that leverage a Plugin Manifest. Either both id and
393
- * file properties must be provided (for external plugin reference), or only the description
394
- * property must be provided (for inline plugin manifest).
238
+ * Configuration details for connectors that leverage a Plugin Manifest. Both the id and
239
+ * file properties must be provided.
395
240
  */
396
241
  plugin?: Plugin;
242
+ /**
243
+ * Adds support for connectors that leverage a Remote MCP Server as the source of data.
244
+ */
397
245
  remoteMcpServer?: RemoteMCPServer;
246
+ /**
247
+ * Adds support for connectors that leverage a local MCP Server as the source of data.
248
+ */
398
249
  localMcpServer?: LocalMCPServer;
399
250
  }
251
+ /**
252
+ * Adds support for connectors that leverage a local MCP Server as the source of data.
253
+ */
400
254
  export interface LocalMCPServer {
401
255
  /**
402
256
  * The unique identifier of the local MCP Server deployed via some secure mechanism to the
@@ -404,9 +258,8 @@ export interface LocalMCPServer {
404
258
  */
405
259
  mcpServerIdentifier: string;
406
260
  /**
407
- * Configuration for MCP tool descriptions, either by file reference or inline content (but
408
- * not both). When this property is present it indicates that dynamic discovery will not be
409
- * used.
261
+ * Configuration for MCP tool descriptions by file reference. When this property is present
262
+ * it indicates that dynamic discovery will not be used.
410
263
  */
411
264
  mcpToolDescription?: LocalMCPServerMCPToolDescription;
412
265
  /**
@@ -426,14 +279,15 @@ export interface LocalMCPServerAuthorization {
426
279
  * The type of authorization required to invoke the MCP server. Supported values are: 'None'
427
280
  * (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault'
428
281
  * (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with
429
- * referenceId).
282
+ * referenceId), 'AzureKeyVault' (Azure Key Vault integration).
430
283
  */
431
284
  type: AuthorizationType;
432
285
  /**
433
286
  * (maxLength: 128) A reference identifier used when type is OAuthPluginVault,
434
- * ApiKeyPluginVault, or DynamicClientRegistration. The referenceId value is acquired
435
- * independently when providing the necessary authorization configuration values. This
436
- * mechanism exists to prevent the need for storing secret values in the plugin manifest.
287
+ * ApiKeyPluginVault, DynamicClientRegistration, or AzureKeyVault. The referenceId value is
288
+ * acquired independently when providing the necessary authorization configuration values.
289
+ * This mechanism exists to prevent the need for storing secret values in the plugin
290
+ * manifest.
437
291
  */
438
292
  referenceId?: string;
439
293
  }
@@ -441,70 +295,55 @@ export interface LocalMCPServerAuthorization {
441
295
  * The type of authorization required to invoke the MCP server. Supported values are: 'None'
442
296
  * (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault'
443
297
  * (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with
444
- * referenceId).
298
+ * referenceId), 'AzureKeyVault' (Azure Key Vault integration).
445
299
  */
446
- export type AuthorizationType = "None" | "OAuthPluginVault" | "ApiKeyPluginVault" | "DynamicClientRegistration";
300
+ export type AuthorizationType = "None" | "OAuthPluginVault" | "ApiKeyPluginVault" | "DynamicClientRegistration" | "AzureKeyVault";
447
301
  /**
448
- * Configuration for MCP tool descriptions, either by file reference or inline content (but
449
- * not both). When this property is present it indicates that dynamic discovery will not be
450
- * used.
302
+ * Configuration for MCP tool descriptions by file reference. When this property is present
303
+ * it indicates that dynamic discovery will not be used.
451
304
  */
452
305
  export interface LocalMCPServerMCPToolDescription {
453
306
  /**
454
307
  * The relative path to the MCP tool description file within the app package.
455
308
  */
456
309
  file?: string;
457
- /**
458
- * An inline JSON object containing the tool descriptions directly. The contents match the
459
- * results of calling the 'tools/list' method on the MCP Server.
460
- */
461
- description?: {
462
- [key: string]: any;
463
- };
464
310
  }
465
311
  /**
466
- * Configuration details for connectors that leverage a Plugin Manifest. Either both id and
467
- * file properties must be provided (for external plugin reference), or only the description
468
- * property must be provided (for inline plugin manifest).
312
+ * Configuration details for connectors that leverage a Plugin Manifest. Both the id and
313
+ * file properties must be provided.
469
314
  */
470
315
  export interface Plugin {
471
316
  /**
472
317
  * The unique identifier of the plugin that provides the tools.
473
318
  */
474
- id?: string;
319
+ id: string;
475
320
  /**
476
321
  * The relative path to the plugin manifest file within the app package.
477
322
  */
478
- file?: string;
479
- /**
480
- * An inlined Plugin Manifest object for simple plugins that do not require a separate file.
481
- * It should conform to the Plugin Manifest schema
482
- * https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3.
483
- */
484
- description?: {
485
- [key: string]: any;
486
- };
323
+ file: string;
487
324
  }
325
+ /**
326
+ * Adds support for connectors that leverage a Remote MCP Server as the source of data.
327
+ */
488
328
  export interface RemoteMCPServer {
489
329
  /**
490
330
  * The URL of the remote MCP Server.
491
331
  */
492
332
  mcpServerUrl: string;
493
333
  /**
494
- * Configuration for MCP tool descriptions, either by file reference or inline content (but
495
- * not both). When this property is present it indicates that dynamic discovery will not be
496
- * used.
334
+ * Configuration for MCP tool descriptions by file reference. When this property is present
335
+ * it indicates that dynamic discovery will not be used.
497
336
  */
498
337
  mcpToolDescription?: RemoteMCPServerMCPToolDescription;
499
338
  /**
500
- * Authorization configuration for connecting to the local MCP server. The design mirrors
339
+ * Authorization configuration for connecting to the remote MCP server. The design mirrors
501
340
  * that of Plugin Manifests
502
341
  * https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3
503
342
  */
504
343
  authorization?: RemoteMCPServerAuthorization;
505
344
  }
506
345
  /**
507
- * Authorization configuration for connecting to the local MCP server. The design mirrors
346
+ * Authorization configuration for connecting to the remote MCP server. The design mirrors
508
347
  * that of Plugin Manifests
509
348
  * https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3
510
349
  */
@@ -513,34 +352,35 @@ export interface RemoteMCPServerAuthorization {
513
352
  * The type of authorization required to invoke the MCP server. Supported values are: 'None'
514
353
  * (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault'
515
354
  * (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with
516
- * referenceId).
355
+ * referenceId), 'AzureKeyVault' (Azure Key Vault integration).
517
356
  */
518
357
  type: AuthorizationType;
519
358
  /**
520
- * A reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault, or
521
- * DynamicClientRegistration. The referenceId value is acquired independently when providing
522
- * the necessary authorization configuration values. This mechanism exists to prevent the
523
- * need for storing secret values in the plugin manifest.
359
+ * A reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault,
360
+ * DynamicClientRegistration, or AzureKeyVault. The referenceId value is acquired
361
+ * independently when providing the necessary authorization configuration values. This
362
+ * mechanism exists to prevent the need for storing secret values in the plugin manifest.
524
363
  */
525
364
  referenceId?: string;
526
365
  }
527
366
  /**
528
- * Configuration for MCP tool descriptions, either by file reference or inline content (but
529
- * not both). When this property is present it indicates that dynamic discovery will not be
530
- * used.
367
+ * Configuration for MCP tool descriptions by file reference. When this property is present
368
+ * it indicates that dynamic discovery will not be used.
531
369
  */
532
370
  export interface RemoteMCPServerMCPToolDescription {
533
371
  /**
534
372
  * The relative path to the MCP tool description file within the app package.
535
373
  */
536
374
  file?: string;
375
+ }
376
+ /**
377
+ * An agent skill declaration. References a folder containing a SKILL.md file.
378
+ */
379
+ export interface AgentSkill {
537
380
  /**
538
- * An inline JSON object containing the tool descriptions directly. The contents match the
539
- * results of calling the 'tools/list' method on the MCP Server.
381
+ * Path to the folder within the app package that contains the SKILL.md file.
540
382
  */
541
- description?: {
542
- [key: string]: any;
543
- };
383
+ folder: string;
544
384
  }
545
385
  export interface AgenticUserTemplateRef {
546
386
  /**
@@ -656,6 +496,12 @@ export interface Bot {
656
496
  * within Copilot surfaces. These options are non-exclusive.
657
497
  */
658
498
  scopes: CommandListScope[];
499
+ /**
500
+ * When true, the bot is enabled to receive targeted messages and appears in the / slash
501
+ * commands list. Required for slash command support. Developers can optionally add
502
+ * triggers: ["slash"] on commandLists entries to surface specific commands.
503
+ */
504
+ supportsTargetedMessages?: boolean;
659
505
  /**
660
506
  * The list of commands that the bot supplies, including their usage, description, and the
661
507
  * scope for which the commands are valid. A separate command list should be used for each
@@ -673,6 +519,11 @@ export interface Bot {
673
519
  registrationInfo?: RegistrationInfo;
674
520
  }
675
521
  export interface CommandList {
522
+ /**
523
+ * Controls where the commands in this commandLists entry are surfaced. "mention" = @mention
524
+ * trigger (current behavior). "slash" = slash commands list (targeted messages).
525
+ */
526
+ triggers?: CommandListTrigger[];
676
527
  /**
677
528
  * Specifies the scopes for which the command list is valid
678
529
  */
@@ -687,9 +538,23 @@ export interface CommandListCommand {
687
538
  /**
688
539
  * A simple text description or an example of the command syntax and its arguments.
689
540
  */
690
- description: string;
541
+ description?: string;
542
+ /**
543
+ * Type of the command. Default is basic
544
+ */
545
+ type?: PurpleType;
546
+ /**
547
+ * The prompt text to be used by Teams when user initiates the command from one of the entry
548
+ * points
549
+ */
550
+ prompt?: string;
691
551
  }
552
+ /**
553
+ * Type of the command. Default is basic
554
+ */
555
+ export type PurpleType = "basic" | "prompt";
692
556
  export type CommandListScope = "team" | "personal" | "groupChat" | "copilot";
557
+ export type CommandListTrigger = "mention" | "slash";
693
558
  export interface Configuration {
694
559
  team?: ConfigurationTeam;
695
560
  groupChat?: ConfigurationGroupChat;
@@ -900,7 +765,13 @@ export interface ComposeExtensionCommand {
900
765
  /**
901
766
  * Type of the command
902
767
  */
903
- type?: CommandType;
768
+ type?: FluffyType;
769
+ /**
770
+ * Adding "slash" to the array makes the command appear in the / slash commands list in
771
+ * group chat or channel. Note: "mention" is not a valid value for composeExtension command
772
+ * triggers — it applies only to bots[].commandLists[].
773
+ */
774
+ triggers?: "slash"[];
904
775
  samplePrompts?: SamplePrompt[];
905
776
  /**
906
777
  * A relative file path for api response rendering template file. The schema of the file can
@@ -929,7 +800,7 @@ export interface ComposeExtensionCommand {
929
800
  * A boolean value that indicates if it should fetch task module dynamically
930
801
  */
931
802
  fetchTask?: boolean;
932
- parameters?: ParameterClass[];
803
+ parameters?: Parameter[];
933
804
  /**
934
805
  * Task module to be launched when fetch task set to false.
935
806
  */
@@ -941,7 +812,7 @@ export interface ComposeExtensionCommand {
941
812
  semanticDescription?: string;
942
813
  }
943
814
  export type CommandContext = "compose" | "commandBox" | "message";
944
- export interface ParameterClass {
815
+ export interface Parameter {
945
816
  /**
946
817
  * Name of the parameter.
947
818
  */
@@ -999,7 +870,7 @@ export interface SamplePrompt {
999
870
  /**
1000
871
  * Type of the command
1001
872
  */
1002
- export type CommandType = "query" | "action";
873
+ export type FluffyType = "query" | "action";
1003
874
  /**
1004
875
  * Type of the compose extension.
1005
876
  */
@@ -1123,11 +994,9 @@ export interface CustomEngineAgent {
1123
994
  type: "bot";
1124
995
  disclaimer?: Disclaimer;
1125
996
  /**
1126
- * Possible values: 'agenticUserOnly', 'agentOnly', or 'agentOrAgenticUser'.
1127
- * 'agenticUserOnly' means the customEngineAgent must be hired and cannot be installed as a
1128
- * regular agent. 'agentOrAgenticUser' means the customEngineAgent supports both being
1129
- * installed as a regular agent and being hired. 'agentOnly' means it supports being
1130
- * installed as a regular agent only (default).
997
+ * Possible values: 'agenticUserOnly', 'agentOnly'. 'agenticUserOnly' means the
998
+ * customEngineAgent must be hired and cannot be installed as a regular agent. 'agentOnly'
999
+ * means it supports being installed as a regular agent only (default).
1131
1000
  */
1132
1001
  functionsAs?: FunctionsAs;
1133
1002
  /**
@@ -1144,13 +1013,11 @@ export interface Disclaimer {
1144
1013
  [property: string]: any;
1145
1014
  }
1146
1015
  /**
1147
- * Possible values: 'agenticUserOnly', 'agentOnly', or 'agentOrAgenticUser'.
1148
- * 'agenticUserOnly' means the customEngineAgent must be hired and cannot be installed as a
1149
- * regular agent. 'agentOrAgenticUser' means the customEngineAgent supports both being
1150
- * installed as a regular agent and being hired. 'agentOnly' means it supports being
1151
- * installed as a regular agent only (default).
1016
+ * Possible values: 'agenticUserOnly', 'agentOnly'. 'agenticUserOnly' means the
1017
+ * customEngineAgent must be hired and cannot be installed as a regular agent. 'agentOnly'
1018
+ * means it supports being installed as a regular agent only (default).
1152
1019
  */
1153
- export type FunctionsAs = "agentOnly" | "agenticUserOnly" | "agentOrAgenticUser";
1020
+ export type FunctionsAs = "agentOnly" | "agenticUserOnly";
1154
1021
  /**
1155
1022
  * The type of the Custom Engine Agent. Currently only type bot is supported.
1156
1023
  *
@@ -1725,7 +1592,7 @@ export interface ExtensionCommonCustomGroupControlsItem {
1725
1592
  /**
1726
1593
  * Defines the type of control whether button or menu.
1727
1594
  */
1728
- type: PurpleType;
1595
+ type: TentacledType;
1729
1596
  /**
1730
1597
  * Id of an existing office control. Maximum length is 64 characters.
1731
1598
  */
@@ -1754,6 +1621,10 @@ export interface ExtensionCommonCustomGroupControlsItem {
1754
1621
  * Whether the control is initially enabled.
1755
1622
  */
1756
1623
  enabled?: boolean;
1624
+ /**
1625
+ * Controls whether the control is visible.
1626
+ */
1627
+ visible?: boolean;
1757
1628
  /**
1758
1629
  * Configures the items for a menu control.
1759
1630
  */
@@ -1808,7 +1679,7 @@ export interface ExtensionCommonSuperToolTip {
1808
1679
  /**
1809
1680
  * Defines the type of control whether button or menu.
1810
1681
  */
1811
- export type PurpleType = "button" | "menu";
1682
+ export type TentacledType = "button" | "menu";
1812
1683
  /**
1813
1684
  * Use 'text' or 'cell' here for Office context menu. Use text if the context menu should
1814
1685
  * open when a user right-clicks (selects and holds) on the selected text. Use cell if the
@@ -2061,6 +1932,10 @@ export interface ExtensionRibbonsArrayTabsItem {
2061
1932
  * Defines mobile group item.
2062
1933
  */
2063
1934
  customMobileRibbonGroups?: ExtensionRibbonsCustomMobileGroupItem[];
1935
+ /**
1936
+ * Controls whether the control is visible.
1937
+ */
1938
+ visible?: boolean;
2064
1939
  /**
2065
1940
  * KeyTip shortcut for keyboard navigation (1-3 uppercase alphanumeric characters)
2066
1941
  */
@@ -2131,6 +2006,10 @@ export interface ExtensionRibbonsCustomTabGroupsItem {
2131
2006
  * tabs on the ribbon. Default is false.
2132
2007
  */
2133
2008
  overriddenByRibbonApi?: boolean;
2009
+ /**
2010
+ * Controls whether the control is visible.
2011
+ */
2012
+ visible?: boolean;
2134
2013
  }
2135
2014
  export interface Position {
2136
2015
  /**
@@ -2230,7 +2109,9 @@ export interface ExtensionCustomFunctions {
2230
2109
  */
2231
2110
  allowCustomDataForDataTypeAny?: boolean;
2232
2111
  /**
2233
- * The full URL of a metadata json file with default locale.
2112
+ * The full URL of a metadata json file. If `functions` is not empty, the Office client will
2113
+ * install CustomFunctions based on `functions`. Any definitions in `metadataUrl` will be
2114
+ * ignored.
2234
2115
  */
2235
2116
  metadataUrl?: string;
2236
2117
  /**
@@ -2509,7 +2390,6 @@ export interface AdditionalLanguage {
2509
2390
  /**
2510
2391
  * The version of the schema this manifest is using.
2511
2392
  */
2512
- export type ManifestVersion = "devPreview" | "m365DevPreview";
2513
2393
  /**
2514
2394
  * Specify meeting extension definition.
2515
2395
  */