@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
@@ -11,8 +11,7 @@
11
11
  "type": "string",
12
12
  "description": "The version of the schema this manifest is using.",
13
13
  "enum": [
14
- "devPreview",
15
- "m365DevPreview"
14
+ "devPreview"
16
15
  ]
17
16
  },
18
17
  "version": {
@@ -518,6 +517,11 @@
518
517
  ]
519
518
  }
520
519
  },
520
+ "supportsTargetedMessages": {
521
+ "type": "boolean",
522
+ "description": "When true, the bot is enabled to receive targeted messages and appears in the / slash commands list. Required for slash command support. Developers can optionally add triggers: [\"slash\"] on commandLists entries to surface specific commands.",
523
+ "default": false
524
+ },
521
525
  "commandLists": {
522
526
  "type": "array",
523
527
  "maxItems": 3,
@@ -526,6 +530,16 @@
526
530
  "type": "object",
527
531
  "additionalProperties": false,
528
532
  "properties": {
533
+ "triggers": {
534
+ "type": "array",
535
+ "maxItems": 2,
536
+ "items": {
537
+ "type": "string",
538
+ "enum": [ "mention", "slash" ]
539
+ },
540
+ "default": [ "mention" ],
541
+ "description": "Controls where the commands in this commandLists entry are surfaced. \"mention\" = @mention trigger (current behavior). \"slash\" = slash commands list (targeted messages)."
542
+ },
529
543
  "scopes": {
530
544
  "type": "array",
531
545
  "description": "Specifies the scopes for which the command list is valid",
@@ -555,11 +569,21 @@
555
569
  "type": "string",
556
570
  "description": "A simple text description or an example of the command syntax and its arguments.",
557
571
  "maxLength": 4000
572
+ },
573
+ "type": {
574
+ "type": "string",
575
+ "enum": [ "basic", "prompt" ],
576
+ "description": "Type of the command. Default is basic",
577
+ "default": "basic"
578
+ },
579
+ "prompt": {
580
+ "type": "string",
581
+ "maxLength": 4000,
582
+ "description": "The prompt text to be used by Teams when user initiates the command from one of the entry points"
558
583
  }
559
584
  },
560
585
  "required": [
561
- "title",
562
- "description"
586
+ "title"
563
587
  ]
564
588
  }
565
589
  }
@@ -769,6 +793,15 @@
769
793
  "description": "Type of the command",
770
794
  "default": "query"
771
795
  },
796
+ "triggers": {
797
+ "type": "array",
798
+ "maxItems": 1,
799
+ "items": {
800
+ "type": "string",
801
+ "enum": [ "slash" ]
802
+ },
803
+ "description": "Adding \"slash\" to the array makes the command appear in the / slash commands list in group chat or channel. Note: \"mention\" is not a valid value for composeExtension command triggers — it applies only to bots[].commandLists[]."
804
+ },
772
805
  "samplePrompts": {
773
806
  "type": "array",
774
807
  "maxItems": 5,
@@ -1051,7 +1084,7 @@
1051
1084
  "validDomains": {
1052
1085
  "type": "array",
1053
1086
  "description": "A list of valid domains from which the tabs expect to load any content. Domain listings can include wildcards, for example `*.example.com`. If your tab configuration or content UI needs to navigate to any other domain besides the one use for tab configuration, that domain must be specified here.",
1054
- "maxItems": 16,
1087
+ "maxItems": 100,
1055
1088
  "items": {
1056
1089
  "type": "string",
1057
1090
  "maxLength": 2048
@@ -1438,9 +1471,6 @@
1438
1471
  "extensions": {
1439
1472
  "$ref": "#/definitions/elementExtensions"
1440
1473
  },
1441
- "actions": {
1442
- "$ref": "#/definitions/elementActions"
1443
- },
1444
1474
  "dashboardCards": {
1445
1475
  "type": "array",
1446
1476
  "description": "Defines the list of cards which could be pinned to dashboards that can provide summarized view of information relevant to user.",
@@ -1507,11 +1537,10 @@
1507
1537
  "type": "string",
1508
1538
  "enum": [
1509
1539
  "agentOnly",
1510
- "agenticUserOnly",
1511
- "agentOrAgenticUser"
1540
+ "agenticUserOnly"
1512
1541
  ],
1513
1542
  "default": "agentOnly",
1514
- "description": "Possible values: 'agenticUserOnly', 'agentOnly', or 'agentOrAgenticUser'. 'agenticUserOnly' means the customEngineAgent must be hired and cannot be installed as a regular agent. 'agentOrAgenticUser' means the customEngineAgent supports both being installed as a regular agent and being hired. 'agentOnly' means it supports being installed as a regular agent only (default)."
1543
+ "description": "Possible values: 'agenticUserOnly', 'agentOnly'. 'agenticUserOnly' means the customEngineAgent must be hired and cannot be installed as a regular agent. 'agentOnly' means it supports being installed as a regular agent only (default)."
1515
1544
  },
1516
1545
  "agenticUserTemplateId": {
1517
1546
  "type": "string",
@@ -1638,26 +1667,24 @@
1638
1667
  "properties": {
1639
1668
  "plugin": {
1640
1669
  "type": "object",
1641
- "description": "Configuration details for connectors that leverage a Plugin Manifest. Either both id and file properties must be provided (for external plugin reference), or only the description property must be provided (for inline plugin manifest).",
1670
+ "description": "Configuration details for connectors that leverage a Plugin Manifest. Both the id and file properties must be provided.",
1642
1671
  "properties": {
1643
- "id": {
1644
- "type": "string",
1645
- "description": "The unique identifier of the plugin that provides the tools.",
1646
- "maxLength": 64
1647
- },
1648
- "file": {
1649
- "$ref": "#/definitions/relativePath",
1650
- "description": "The relative path to the plugin manifest file within the app package."
1651
- },
1652
- "description": {
1653
- "type": "object",
1654
- "description": "An inlined Plugin Manifest object for simple plugins that do not require a separate file. It should conform to the Plugin Manifest schema https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3."
1655
- }
1672
+ "id": {
1673
+ "type": "string",
1674
+ "description": "The unique identifier of the plugin that provides the tools.",
1675
+ "maxLength": 64
1676
+ },
1677
+ "file": {
1678
+ "$ref": "#/definitions/relativePath",
1679
+ "description": "The relative path to the plugin manifest file within the app package."
1680
+ }
1656
1681
  },
1682
+ "required": [ "id", "file" ],
1657
1683
  "additionalProperties": false
1658
1684
  },
1659
1685
  "remoteMcpServer": {
1660
1686
  "type": "object",
1687
+ "description": "Adds support for connectors that leverage a Remote MCP Server as the source of data.",
1661
1688
  "additionalProperties": false,
1662
1689
  "properties": {
1663
1690
  "mcpServerUrl": {
@@ -1666,40 +1693,36 @@
1666
1693
  },
1667
1694
  "mcpToolDescription": {
1668
1695
  "type": "object",
1669
- "description": "Configuration for MCP tool descriptions, either by file reference or inline content (but not both). When this property is present it indicates that dynamic discovery will not be used.",
1696
+ "description": "Configuration for MCP tool descriptions by file reference. When this property is present it indicates that dynamic discovery will not be used.",
1670
1697
  "properties": {
1671
- "file": {
1672
- "$ref": "#/definitions/relativePath",
1673
- "description": "The relative path to the MCP tool description file within the app package."
1674
- },
1675
- "description": {
1676
- "type": "object",
1677
- "description": "An inline JSON object containing the tool descriptions directly. The contents match the results of calling the 'tools/list' method on the MCP Server."
1678
- }
1698
+ "file": {
1699
+ "$ref": "#/definitions/relativePath",
1700
+ "description": "The relative path to the MCP tool description file within the app package."
1701
+ }
1679
1702
  },
1680
1703
  "additionalProperties": false
1681
1704
  },
1682
1705
  "authorization": {
1683
1706
  "type": "object",
1684
- "description": "Authorization configuration for connecting to the local MCP server. The design mirrors that of Plugin Manifests https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3",
1707
+ "description": "Authorization configuration for connecting to the remote MCP server. The design mirrors that of Plugin Manifests https://learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest-2.3",
1685
1708
  "additionalProperties": false,
1686
1709
  "properties": {
1687
1710
  "type": {
1688
1711
  "type": "string",
1689
- "enum": [ "None", "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration" ],
1690
- "description": "The type of authorization required to invoke the MCP server. Supported values are: 'None' (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault' (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with referenceId)."
1712
+ "enum": [ "None", "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration", "AzureKeyVault" ],
1713
+ "description": "The type of authorization required to invoke the MCP server. Supported values are: 'None' (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault' (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with referenceId), 'AzureKeyVault' (Azure Key Vault integration)."
1691
1714
  },
1692
1715
  "referenceId": {
1693
1716
  "type": "string",
1694
1717
  "maxLength": 128,
1695
- "description": "A reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault, or DynamicClientRegistration. The referenceId value is acquired independently when providing the necessary authorization configuration values. This mechanism exists to prevent the need for storing secret values in the plugin manifest."
1718
+ "description": "A reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault, DynamicClientRegistration, or AzureKeyVault. The referenceId value is acquired independently when providing the necessary authorization configuration values. This mechanism exists to prevent the need for storing secret values in the plugin manifest."
1696
1719
  }
1697
1720
  },
1698
1721
  "required": [ "type" ],
1699
1722
  "if": {
1700
1723
  "properties": {
1701
1724
  "type": {
1702
- "enum": [ "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration" ]
1725
+ "enum": [ "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration", "AzureKeyVault" ]
1703
1726
  }
1704
1727
  }
1705
1728
  },
@@ -1712,6 +1735,7 @@
1712
1735
  },
1713
1736
  "localMcpServer": {
1714
1737
  "type": "object",
1738
+ "description": "Adds support for connectors that leverage a local MCP Server as the source of data.",
1715
1739
  "additionalProperties": false,
1716
1740
  "properties": {
1717
1741
  "mcpServerIdentifier": {
@@ -1722,16 +1746,12 @@
1722
1746
  "mcpToolDescription": {
1723
1747
  "type": "object",
1724
1748
  "additionalProperties": false,
1725
- "description": "Configuration for MCP tool descriptions, either by file reference or inline content (but not both). When this property is present it indicates that dynamic discovery will not be used.",
1749
+ "description": "Configuration for MCP tool descriptions by file reference. When this property is present it indicates that dynamic discovery will not be used.",
1726
1750
  "properties": {
1727
- "file": {
1728
- "$ref": "#/definitions/relativePath",
1729
- "description": "The relative path to the MCP tool description file within the app package."
1730
- },
1731
- "description": {
1732
- "type": "object",
1733
- "description": "An inline JSON object containing the tool descriptions directly. The contents match the results of calling the 'tools/list' method on the MCP Server."
1734
- }
1751
+ "file": {
1752
+ "$ref": "#/definitions/relativePath",
1753
+ "description": "The relative path to the MCP tool description file within the app package."
1754
+ }
1735
1755
  }
1736
1756
  },
1737
1757
  "authorization": {
@@ -1740,13 +1760,13 @@
1740
1760
  "properties": {
1741
1761
  "type": {
1742
1762
  "type": "string",
1743
- "enum": [ "None", "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration" ],
1744
- "description": "The type of authorization required to invoke the MCP server. Supported values are: 'None' (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault' (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with referenceId)."
1763
+ "enum": [ "None", "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration", "AzureKeyVault" ],
1764
+ "description": "The type of authorization required to invoke the MCP server. Supported values are: 'None' (anonymous access), 'OAuthPluginVault' (OAuth flow with referenceId), 'ApiKeyPluginVault' (API Key with referenceId), 'DynamicClientRegistration' (dynamic client registration with referenceId), 'AzureKeyVault' (Azure Key Vault integration)."
1745
1765
  },
1746
1766
  "referenceId": {
1747
1767
  "type": "string",
1748
1768
  "maxLength": 128,
1749
- "description": " (maxLength: 128)\tA reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault, or DynamicClientRegistration. The referenceId value is acquired independently when providing the necessary authorization configuration values. This mechanism exists to prevent the need for storing secret values in the plugin manifest."
1769
+ "description": " (maxLength: 128)\tA reference identifier used when type is OAuthPluginVault, ApiKeyPluginVault, DynamicClientRegistration, or AzureKeyVault. The referenceId value is acquired independently when providing the necessary authorization configuration values. This mechanism exists to prevent the need for storing secret values in the plugin manifest."
1750
1770
  }
1751
1771
  },
1752
1772
  "additionalProperties": false,
@@ -1754,7 +1774,7 @@
1754
1774
  "if": {
1755
1775
  "properties": {
1756
1776
  "type": {
1757
- "enum": [ "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration" ]
1777
+ "enum": [ "OAuthPluginVault", "ApiKeyPluginVault", "DynamicClientRegistration", "AzureKeyVault" ]
1758
1778
  }
1759
1779
  }
1760
1780
  },
@@ -1772,6 +1792,24 @@
1772
1792
  "required": [ "id", "displayName" ],
1773
1793
  "additionalProperties": false
1774
1794
  }
1795
+ },
1796
+ "agentSkills": {
1797
+ "type": "array",
1798
+ "description": "Agent skill declarations following the Agent Skills open standard (agentskills.io). Each entry references a SKILL.md folder.",
1799
+ "maxItems": 20,
1800
+ "items": {
1801
+ "type": "object",
1802
+ "description": "An agent skill declaration. References a folder containing a SKILL.md file.",
1803
+ "properties": {
1804
+ "folder": {
1805
+ "type": "string",
1806
+ "description": "Path to the folder within the app package that contains the SKILL.md file.",
1807
+ "maxLength": 256
1808
+ }
1809
+ },
1810
+ "required": ["folder"],
1811
+ "additionalProperties": false
1812
+ }
1775
1813
  }
1776
1814
  },
1777
1815
  "required": [
@@ -2130,7 +2168,7 @@
2130
2168
  },
2131
2169
  "metadataUrl": {
2132
2170
  "$ref": "#/definitions/secureHttpUrl",
2133
- "description": "The full URL of a metadata json file with default locale."
2171
+ "description": "The full URL of a metadata json file. If `functions` is not empty, the Office client will install CustomFunctions based on `functions`. Any definitions in `metadataUrl` will be ignored."
2134
2172
  },
2135
2173
  "enums": {
2136
2174
  "type": "array",
@@ -2240,7 +2278,7 @@
2240
2278
  "type": "string",
2241
2279
  "description": "The description of the function that end users see in Excel.",
2242
2280
  "minLength": 1,
2243
- "maxLength": 128
2281
+ "maxLength": 1024
2244
2282
  },
2245
2283
  "helpUrl": {
2246
2284
  "description": "URL that provides information about the function. (It is displayed in a task pane.)",
@@ -2329,7 +2367,7 @@
2329
2367
  "type": "string",
2330
2368
  "description": "A description of the parameter. This is displayed in Excel's IntelliSense.",
2331
2369
  "minLength": 1,
2332
- "maxLength": 128
2370
+ "maxLength": 512
2333
2371
  },
2334
2372
  "type": {
2335
2373
  "type": "string",
@@ -2567,6 +2605,11 @@
2567
2605
  "$ref": "#/definitions/extensionRibbonsCustomMobileGroupItem"
2568
2606
  }
2569
2607
  },
2608
+ "visible": {
2609
+ "type": "boolean",
2610
+ "description": "Controls whether the control is visible.",
2611
+ "default": true
2612
+ },
2570
2613
  "keytip": {
2571
2614
  "type": "string",
2572
2615
  "description": "KeyTip shortcut for keyboard navigation (1-3 uppercase alphanumeric characters)",
@@ -2626,8 +2669,8 @@
2626
2669
  },
2627
2670
  "icons": {
2628
2671
  "type": "array",
2629
- "minItems": 1,
2630
- "maxItems": 3,
2672
+ "minItems": 3,
2673
+ "maxItems": 8,
2631
2674
  "items": {
2632
2675
  "$ref": "#/definitions/extensionCommonIcon"
2633
2676
  }
@@ -2649,6 +2692,11 @@
2649
2692
  "type": "boolean",
2650
2693
  "description": "Specifies whether a group will be hidden on application and platform combinations that support the API (Office.ribbon.requestCreateControls) that installs custom contextual tabs on the ribbon. Default is false.",
2651
2694
  "default": "false"
2695
+ },
2696
+ "visible": {
2697
+ "type": "boolean",
2698
+ "description": "Controls whether the control is visible.",
2699
+ "default": true
2652
2700
  }
2653
2701
  },
2654
2702
  "additionalProperties": false
@@ -2669,8 +2717,8 @@
2669
2717
  "icons": {
2670
2718
  "type": "array",
2671
2719
  "description": "Displayed icons for the group.",
2672
- "minItems": 1,
2673
- "maxItems": 3,
2720
+ "minItems": 3,
2721
+ "maxItems": 8,
2674
2722
  "items": {
2675
2723
  "$ref": "#/definitions/extensionCommonIcon"
2676
2724
  }
@@ -2722,8 +2770,8 @@
2722
2770
  "icons": {
2723
2771
  "description": "Configures the icons for the custom control.",
2724
2772
  "type": "array",
2725
- "minItems": 1,
2726
- "maxItems": 3,
2773
+ "minItems": 3,
2774
+ "maxItems": 8,
2727
2775
  "items": {
2728
2776
  "$ref": "#/definitions/extensionCommonIcon"
2729
2777
  }
@@ -2746,6 +2794,11 @@
2746
2794
  "description": "Whether the control is initially enabled.",
2747
2795
  "default": true
2748
2796
  },
2797
+ "visible":{
2798
+ "type": "boolean",
2799
+ "description": "Controls whether the control is visible.",
2800
+ "default": true
2801
+ },
2749
2802
  "items": {
2750
2803
  "type": "array",
2751
2804
  "description": "Configures the items for a menu control.",
@@ -2821,8 +2874,8 @@
2821
2874
  },
2822
2875
  "icons": {
2823
2876
  "type": "array",
2824
- "minItems": 1,
2825
- "maxItems": 3,
2877
+ "minItems": 3,
2878
+ "maxItems": 8,
2826
2879
  "items": {
2827
2880
  "$ref": "#/definitions/extensionCommonIcon"
2828
2881
  }
@@ -3371,11 +3424,11 @@
3371
3424
  "type": "object",
3372
3425
  "properties": {
3373
3426
  "page": {
3374
- "$ref": "#/definitions/anyHttpUrl",
3427
+ "$ref": "#/definitions/secureHttpUrl",
3375
3428
  "description": "URL of the .html page to be loaded in browser-based runtimes."
3376
3429
  },
3377
3430
  "script": {
3378
- "$ref": "#/definitions/anyHttpUrl",
3431
+ "$ref": "#/definitions/secureHttpUrl",
3379
3432
  "description": "URL of the .js script file to be loaded in UI-less runtimes."
3380
3433
  }
3381
3434
  },
@@ -3568,230 +3621,6 @@
3568
3621
  "description"
3569
3622
  ]
3570
3623
  },
3571
- "elementActions": {
3572
- "type": "array",
3573
- "description": "Actions node contains an array of actions object.",
3574
- "minItems": 1,
3575
- "items": {
3576
- "type": "object",
3577
- "additionalProperties": false,
3578
- "required": [
3579
- "id",
3580
- "intent",
3581
- "displayName",
3582
- "description",
3583
- "handlers"
3584
- ],
3585
- "properties": {
3586
- "id": {
3587
- "type": "string",
3588
- "minLength": 1,
3589
- "description": "A unique identifier string in the default locale that is used to catalog actions."
3590
- },
3591
- "intent": {
3592
- "description": "An enum string that describes the intent of the action.",
3593
- "type": "string",
3594
- "enum": [
3595
- "create",
3596
- "addTo",
3597
- "open",
3598
- "preview",
3599
- "share",
3600
- "sign",
3601
- "custom"
3602
- ]
3603
- },
3604
- "displayName": {
3605
- "type": "string",
3606
- "minLength": 1,
3607
- "description": "A display name for the action."
3608
- },
3609
- "description": {
3610
- "type": "string",
3611
- "minLength": 1,
3612
- "description": "A display string in the default locale to represent the action."
3613
- },
3614
- "icons": {
3615
- "type": "array",
3616
- "description": "Object containing URLs to icon images for this action intent.",
3617
- "items": {
3618
- "type": "object",
3619
- "properties": {
3620
- "size": {
3621
- "type": "number",
3622
- "description": "Icon size in pixels."
3623
- },
3624
- "url": {
3625
- "$ref": "#/definitions/anyHttpUrl",
3626
- "description": "URL for the icon."
3627
- }
3628
- },
3629
- "additionalProperties": false,
3630
- "required": [
3631
- "size",
3632
- "url"
3633
- ]
3634
- }
3635
- },
3636
- "handlers": {
3637
- "type": "array",
3638
- "minItems": 1,
3639
- "description": "Defining how actions can be handled. If an app has more than 1 handler, only one experience will show up at one entry point. The hub will decide which action to show up based on which experience is supported.",
3640
- "items": {
3641
- "type": "object",
3642
- "required": [
3643
- "type"
3644
- ],
3645
- "properties": {
3646
- "type": {
3647
- "type": "string",
3648
- "enum": [
3649
- "openURL",
3650
- "openPage",
3651
- "openDialog",
3652
- "openTaskpane",
3653
- "invokeAPI",
3654
- "invokeBot"
3655
- ],
3656
- "description": "Required both for File Handlers and Content Actions."
3657
- },
3658
- "supportedObjects": {
3659
- "type": "object",
3660
- "properties": {
3661
- "file": {
3662
- "type": "object",
3663
- "additionalProperties": false,
3664
- "properties": {
3665
- "extensions": {
3666
- "type": "array",
3667
- "items": {
3668
- "type": "string",
3669
- "description": "File extension, e.g. .pdf, .docx."
3670
- }
3671
- }
3672
- }
3673
- },
3674
- "folder": {
3675
- "type": [
3676
- "object",
3677
- "null"
3678
- ],
3679
- "description": "A null value indicates that the file handler is not available when a folder is selected. An object with no parameters indicates that the file handler is available when a folder is selected or when no files are selected."
3680
- }
3681
- }
3682
- },
3683
- "supportsMultiSelect": {
3684
- "type": "boolean",
3685
- "description": "If true, multiple files can be selected and the action will still be displayed. If false or missing, the action is only displayed when a single item is selected. "
3686
- },
3687
- "pageInfo": {
3688
- "type": "object",
3689
- "required": [
3690
- "pageId"
3691
- ],
3692
- "properties": {
3693
- "pageId": {
3694
- "type": "string",
3695
- "description": "Used to navigate to the page in MetaOS app."
3696
- },
3697
- "subpageId": {
3698
- "type": "string",
3699
- "description": "Used to navigate to the subpage in MetaOS app."
3700
- }
3701
- }
3702
- },
3703
- "dialogInfo": {
3704
- "type": "object",
3705
- "required": [
3706
- "dialogType",
3707
- "width",
3708
- "height"
3709
- ],
3710
- "properties": {
3711
- "dialogType": {
3712
- "type": "string",
3713
- "description": "Dialog type, defines how the developer build the dialog.",
3714
- "enum": [
3715
- "url",
3716
- "adaptiveCard"
3717
- ]
3718
- },
3719
- "url": {
3720
- "type": "string",
3721
- "description": "Required for html based dialog."
3722
- },
3723
- "width": {
3724
- "description": "Dialog width - either a number in pixels or default layout such as 'large', 'medium', or 'small'.",
3725
- "$ref": "#/definitions/taskInfoDimension"
3726
- },
3727
- "height": {
3728
- "description": "Dialog height - either a number in pixels or default layout such as 'large', 'medium', or 'small'.",
3729
- "$ref": "#/definitions/taskInfoDimension"
3730
- },
3731
- "parameters": {
3732
- "type": "array",
3733
- "minItems": 1,
3734
- "description": "Array of parameter object, each contains: name, title, description, inputType.",
3735
- "items": {
3736
- "type": "object",
3737
- "required": [
3738
- "name",
3739
- "title",
3740
- "description",
3741
- "inputType"
3742
- ],
3743
- "properties": {
3744
- "name": {
3745
- "type": "string",
3746
- "description": "Parameter name."
3747
- },
3748
- "title": {
3749
- "type": "string",
3750
- "description": "Parameter title."
3751
- },
3752
- "description": {
3753
- "type": "string",
3754
- "description": "Parameter description."
3755
- },
3756
- "inputType": {
3757
- "type": "string",
3758
- "description": "Parameter input type."
3759
- }
3760
- }
3761
- }
3762
- },
3763
- "title": {
3764
- "type": "string",
3765
- "description": "Dialog title."
3766
- }
3767
- }
3768
- },
3769
- "url": {
3770
- "type": "string",
3771
- "description": "Url for handler type openURL, invokeAPI, openTaskpane, and others."
3772
- },
3773
- "botInfo": {
3774
- "type": "object",
3775
- "required": [
3776
- "botId"
3777
- ],
3778
- "properties": {
3779
- "botId": {
3780
- "type": "string",
3781
- "description": "Bot ID."
3782
- },
3783
- "fetchTask": {
3784
- "type": "boolean",
3785
- "description": "Fetch task from bot."
3786
- }
3787
- }
3788
- }
3789
- }
3790
- }
3791
- }
3792
- }
3793
- }
3794
- },
3795
3624
  "dashboardCard": {
3796
3625
  "type": "object",
3797
3626
  "description": "Cards wich could be pinned to dashboard providing summarized view of information relevant to user.",
@@ -4017,4 +3846,4 @@
4017
3846
  "description": "An object representing a specific functionality that a host must support."
4018
3847
  }
4019
3848
  }
4020
- }
3849
+ }