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