@microsoft/app-manifest 1.0.2-beta.2025081809.0 → 1.0.2-rc.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.
@@ -0,0 +1,500 @@
1
+ /**
2
+ * The root of the declarative agent manifest document is a JSON object that contains
3
+ * members that describe the declarative agent.
4
+ */
5
+ export interface DeclarativeAgentManifestV1D6 {
6
+ /**
7
+ * Required. Not localizable. The version of the schema this manifest is using.
8
+ */
9
+ version: "v1.6";
10
+ /**
11
+ * Optional. Not localizable.
12
+ */
13
+ id?: string;
14
+ /**
15
+ * Required. Localizable. The name of the declarative agent. It MUST contain at least one
16
+ * nonwhitespace character and MUST be 100 characters or less.
17
+ */
18
+ name: string;
19
+ /**
20
+ * Required. Localizable. The description of the declarative agent. It MUST contain at least
21
+ * one nonwhitespace character and MUST be 1,000 characters or less.
22
+ */
23
+ description: string;
24
+ disclaimer?: Disclaimer;
25
+ /**
26
+ * This member is an object that specifies the sensitivity label for the DA. It is an
27
+ * optional member.
28
+ */
29
+ sensitivity_label?: SensitivityLabel;
30
+ /**
31
+ * Optional. Not localizable. The detailed instructions or guidelines on how the declarative
32
+ * agent should behave, its functions, and any behaviors to avoid. It MUST contain at least
33
+ * one nonwhitespace character and MUST be 8,000 characters or less.
34
+ */
35
+ instructions?: string;
36
+ /**
37
+ * Optional. A JSON object that contains configuration settings that modify the behavior of
38
+ * the DA orchestration.
39
+ */
40
+ behavior_overrides?: BehaviorOverrides;
41
+ /**
42
+ * Optional. Contains an array of objects that define capabilities of the declarative agent.
43
+ */
44
+ capabilities?: CapabilityElement[];
45
+ /**
46
+ * Optional. A list of examples of questions that the declarative agent can answer. There
47
+ * MUST NOT be more than six objects in the array.
48
+ */
49
+ conversation_starters?: ConversationStarterElement[];
50
+ /**
51
+ * Optional. A list of objects that identify API plugins that provide actions accessible to
52
+ * the declarative agent.
53
+ */
54
+ actions?: ActionElement[];
55
+ [property: string]: any;
56
+ }
57
+ /**
58
+ * Identifies an API plugin manifest for a plugin used as an action by the declarative agent.
59
+ */
60
+ export interface ActionElement {
61
+ /**
62
+ * Required. Not localizable. A unique identifier for the action. It MAY be represented by a
63
+ * GUID.
64
+ */
65
+ id: string;
66
+ /**
67
+ * Required. Not localizable. A path to the API plugin manifest for this action.
68
+ */
69
+ file: string;
70
+ [property: string]: any;
71
+ }
72
+ /**
73
+ * Optional. A JSON object that contains configuration settings that modify the behavior of
74
+ * the DA orchestration.
75
+ *
76
+ * A JSON object that contains configuration settings that modify the behavior of the DA
77
+ * orchestration.
78
+ */
79
+ export interface BehaviorOverrides {
80
+ /**
81
+ * An object that contains special instructions for the declarative agent.
82
+ */
83
+ special_instructions?: SpecialInstructions;
84
+ /**
85
+ * An object that contains suggestions for behavior overrides for the declarative agent.
86
+ */
87
+ suggestions?: Suggestions;
88
+ [property: string]: any;
89
+ }
90
+ /**
91
+ * An object that contains special instructions for the declarative agent.
92
+ *
93
+ * A JSON object that contains members used for injecting special instructions into the
94
+ * prompt. The object has a discourage_model_knowledge boolean property. If this property is
95
+ * set to true, the DA will be discouraged from using model knowledge when generating
96
+ * responses. The default value is false
97
+ */
98
+ export interface SpecialInstructions {
99
+ /**
100
+ * A boolean value that indicates whether the declarative agent should be discouraged from
101
+ * using model knowledge when generating responses.
102
+ */
103
+ discourage_model_knowledge?: boolean;
104
+ [property: string]: any;
105
+ }
106
+ /**
107
+ * An object that contains suggestions for behavior overrides for the declarative agent.
108
+ *
109
+ * A JSON object that contains configuration settings for the suggestions feature. The
110
+ * object has a required disabled boolean property. If this property is set to true, the
111
+ * suggestions feature will be disabled. The default value is false.
112
+ */
113
+ export interface Suggestions {
114
+ /**
115
+ * A boolean value that indicates whether the suggestions feature is disabled. If this
116
+ * property is set to true, the suggestions feature will be disabled. The default value is
117
+ * false.
118
+ */
119
+ disabled?: boolean;
120
+ [property: string]: any;
121
+ }
122
+ /**
123
+ * Represents a base capability object.
124
+ *
125
+ * Indicates that the declarative agent can search the web for grounding information.
126
+ *
127
+ * Indicates that the declarative agent can search a user's SharePoint and OneDrive for
128
+ * grounding information.
129
+ *
130
+ * Indicates that the declarative agent can search selected Microsoft Graph connectors for
131
+ * grounding information.
132
+ *
133
+ * Indicates that the declarative agent can generate and execute code.
134
+ *
135
+ * Indicates that the declarative agent can images and art based on the text input from the
136
+ * user.
137
+ *
138
+ * Indicates that the declarative agent can search through Teams channels, teams, meetings,
139
+ * 1:1 chats and group chats.
140
+ *
141
+ * A JSON object whose presence indicates that the DA will be able to search within Email
142
+ * Messages in the mailboxes user has access to.
143
+ *
144
+ * Indicates that the DA will be able to search people data in the organization.
145
+ *
146
+ * A JSON object whose presence indicates that the DA will be using tenant/task specific
147
+ * models.
148
+ *
149
+ * Indicates that the DA can search through meetings.
150
+ *
151
+ * A JSON object whose presence indicates that the DA will be able to use files locally in
152
+ * the app package as knowledge. The object MUST contain either a files member or a
153
+ * embedded_resource_snapshot_id member, but not both.
154
+ */
155
+ export interface CapabilityElement {
156
+ /**
157
+ * Required. The name of the capability. Allowed values are WebSearch, CodeInterpreter,
158
+ * OneDriveAndSharePoint, GraphConnectors, TeamsMessages, Dataverse, Email, ScenarioModels,
159
+ * People, GraphicArt, Meetings and EmbeddedKnowledge.
160
+ *
161
+ * Required. Must be set to WebSearch.
162
+ *
163
+ * Required. Must be set to OneDriveAndSharePoint.
164
+ *
165
+ * Required. Must be set to GraphConnectors.
166
+ *
167
+ * Required. Must be set to CodeInterpreter.
168
+ *
169
+ * Required. Must be set to GraphicArt.
170
+ *
171
+ * Required. Must be set to TeamsMessages.
172
+ *
173
+ * Required: Must be set to Dataverse
174
+ *
175
+ * Required: Must be set to Email
176
+ *
177
+ * Required. Must be set to People.
178
+ *
179
+ * Required. Must be set to the string literal `ScenarioModels`
180
+ *
181
+ * Required. Must be set to Meetings.
182
+ *
183
+ * Required. Must be set to EmbeddedKnowledge.
184
+ */
185
+ name: Name;
186
+ /**
187
+ * Optional. An array of sites used to constrain the content accessible to the DA to just
188
+ * the content identified via the items of array.
189
+ */
190
+ sites?: SiteElement[];
191
+ /**
192
+ * Optional. An array of objects that identify SharePoint or OneDrive sources using IDs.
193
+ */
194
+ items_by_sharepoint_ids?: ItemsBySharepointIDElement[];
195
+ /**
196
+ * Optional. An array of objects that identify SharePoint or OneDrive sources by URL.
197
+ */
198
+ items_by_url?: ItemsByURLElement[];
199
+ /**
200
+ * Optional. An array of objects that identify the Microsoft Graph connectors available to
201
+ * the declarative agent
202
+ */
203
+ connections?: ConnectionElement[];
204
+ /**
205
+ * This member can be used to constrain the content accessible to the DA to just the content
206
+ * identified via the members of each Teams url
207
+ */
208
+ urls?: URLElement[];
209
+ /**
210
+ * An array of Objects that represent the knowledge sources for the Dataverse in the
211
+ * Declarative Agent
212
+ */
213
+ knowledge_sources?: KnowledgeSourceElement[];
214
+ /**
215
+ * A JSON array of Folder Object. This member can be used to constrain the content
216
+ * accessible to the DA to just the emails present in the folders identified by members of
217
+ * each Folder Object.
218
+ */
219
+ folders?: FolderElement[];
220
+ /**
221
+ * A JSON string that contains SMTP address of the shared mailbox. The presence of this
222
+ * field indicates that the DA constrain its search for relevant emails only to that
223
+ * mailbox. Emails from user's primary mailbox is not searched when this field is present.
224
+ */
225
+ shared_mailbox?: string;
226
+ /**
227
+ * A list of Scenario Model objects denoting supported models
228
+ */
229
+ models?: ModelElement[];
230
+ /**
231
+ * A JSON string identifier provisioned by a an external file container storage service that
232
+ * can be used to locate the embedded knowledge files.
233
+ */
234
+ embedded_resource_snapshot_id?: string;
235
+ /**
236
+ * A JSON array of File Object. List of objects identifying files that contain knowledge the
237
+ * Agent can use for grounding.
238
+ */
239
+ files?: FileElement[];
240
+ [property: string]: any;
241
+ }
242
+ /**
243
+ * Identifies a Microsoft Graph connector.
244
+ */
245
+ export interface ConnectionElement {
246
+ /**
247
+ * Required. Not localizable The unique identifier of the Microsoft Graph connector.
248
+ */
249
+ connection_id: string;
250
+ /**
251
+ * KQL based string containing the query filter
252
+ */
253
+ additional_search_terms?: string;
254
+ /**
255
+ * A list of objects to store urls for external items.
256
+ */
257
+ items_by_external_url?: ItemsByExternalURLElement[];
258
+ /**
259
+ * A list of objects to store identifiers for external items
260
+ */
261
+ items_by_external_id?: ItemsByExternalIDElement[];
262
+ /**
263
+ * A list of objects to store the container paths to items within a connection
264
+ */
265
+ items_by_path?: ItemsByPathElement[];
266
+ /**
267
+ * A list of objects to store containers names
268
+ */
269
+ items_by_container_name?: ItemsByContainerNameElement[];
270
+ /**
271
+ * A list of objects to store urls of containers
272
+ */
273
+ items_by_container_url?: ItemsByContainerURLElement[];
274
+ [property: string]: any;
275
+ }
276
+ /**
277
+ * Identifies an item by its container name.
278
+ */
279
+ export interface ItemsByContainerNameElement {
280
+ /**
281
+ * A unique identifier for a container name
282
+ */
283
+ container_name: string;
284
+ [property: string]: any;
285
+ }
286
+ /**
287
+ * Identifies an item by its container URL.
288
+ */
289
+ export interface ItemsByContainerURLElement {
290
+ /**
291
+ * Url for external graph connector item container
292
+ */
293
+ container_url: string;
294
+ [property: string]: any;
295
+ }
296
+ /**
297
+ * Identifies an item by its external ID.
298
+ */
299
+ export interface ItemsByExternalIDElement {
300
+ /**
301
+ * A unique identifier for an external item.
302
+ */
303
+ item_id: string;
304
+ [property: string]: any;
305
+ }
306
+ /**
307
+ * Identifies an item by its external URL.
308
+ */
309
+ export interface ItemsByExternalURLElement {
310
+ /**
311
+ * Url for external graph connector item.
312
+ */
313
+ url: string;
314
+ [property: string]: any;
315
+ }
316
+ /**
317
+ * Identifies an item by its path.
318
+ */
319
+ export interface ItemsByPathElement {
320
+ /**
321
+ * A container path to an external item
322
+ */
323
+ path: string;
324
+ [property: string]: any;
325
+ }
326
+ /**
327
+ * A JSON object that identifies a file via the relative path.
328
+ */
329
+ export interface FileElement {
330
+ /**
331
+ * A JSON string that contains the file relative path for the embedded file. It is a
332
+ * required member.
333
+ */
334
+ file: string;
335
+ [property: string]: any;
336
+ }
337
+ export interface FolderElement {
338
+ /**
339
+ * A JSON string that identifies an email folder. This can either be id of the folder or one
340
+ * of the well known names.
341
+ */
342
+ folder_id: string;
343
+ [property: string]: any;
344
+ }
345
+ /**
346
+ * Contains one or more object identifiers that identify a SharePoint or OneDrive resource.
347
+ */
348
+ export interface ItemsBySharepointIDElement {
349
+ /**
350
+ * Optional. Not localizable. The GUID identifier of a SharePoint or OneDrive site.
351
+ */
352
+ site_id?: string;
353
+ /**
354
+ * Optional. Not localizable. The GUID identifier of a SharePoint or OneDrive web.
355
+ */
356
+ web_id?: string;
357
+ /**
358
+ * Optional. Not localizable. The GUID identifier of a SharePoint or OneDrive list.
359
+ */
360
+ list_id?: string;
361
+ /**
362
+ * Optional. Not localizable. The GUID identifier of a SharePoint or OneDrive item.
363
+ */
364
+ unique_id?: string;
365
+ /**
366
+ * A JSON String that uniquely identifies a part of a SharePoint item. e.g a OneNote page.
367
+ */
368
+ part_id?: string;
369
+ /**
370
+ * A String that qualifies the kind of part that the "part_id" refers to. Currently this
371
+ * value can only be equal to the string literal: "OneNotePart".
372
+ */
373
+ part_type?: "OneNotePart";
374
+ /**
375
+ * Boolean value indicating whether to enable searching associated sites. This value is only
376
+ * applicable when the site_id value references a SharePoint HubSite.
377
+ */
378
+ search_associated_sites?: boolean;
379
+ }
380
+ /**
381
+ * A String that qualifies the kind of part that the "part_id" refers to. Currently this
382
+ * value can only be equal to the string literal: "OneNotePart".
383
+ */
384
+ /**
385
+ * Represents the URL of a SharePoint or OneDrive resource.
386
+ */
387
+ export interface ItemsByURLElement {
388
+ /**
389
+ * Optional. Not localizable. An absolute URL to a SharePoint or OneDrive resource.
390
+ */
391
+ url?: string;
392
+ }
393
+ export interface KnowledgeSourceElement {
394
+ /**
395
+ * A unique identifier for the host in Dataverse.
396
+ */
397
+ host_name?: string;
398
+ /**
399
+ * A unique identifier that defines the configuration for how the copilot agent interacts
400
+ * with Dataverse knowledge.
401
+ */
402
+ skill?: string;
403
+ /**
404
+ * An array of table_name objects which contain table names in DataVerse to scope the
405
+ * knowledge of the Declarative Agent
406
+ */
407
+ tables?: TableElement[];
408
+ [property: string]: any;
409
+ }
410
+ export interface TableElement {
411
+ /**
412
+ * A string to represent the table name.
413
+ */
414
+ table_name?: string;
415
+ [property: string]: any;
416
+ }
417
+ /**
418
+ * An Object representing a scenario model.
419
+ */
420
+ export interface ModelElement {
421
+ /**
422
+ * A unique ID used to identify a Scenario Model
423
+ */
424
+ id: string;
425
+ [property: string]: any;
426
+ }
427
+ export type Name = "WebSearch" | "CodeInterpreter" | "OneDriveAndSharePoint" | "GraphConnectors" | "GraphicArt" | "TeamsMessages" | "Dataverse" | "Email" | "People" | "ScenarioModels" | "Meetings" | "EmbeddedKnowledge";
428
+ /**
429
+ * An object that identifies a site used to constrain the content accessible to the
430
+ * declarative agent.
431
+ */
432
+ export interface SiteElement {
433
+ /**
434
+ * An absolute URL to a site.
435
+ */
436
+ url: string;
437
+ [property: string]: any;
438
+ }
439
+ /**
440
+ * Identifies a Teams channel, team or meeting chat
441
+ */
442
+ export interface URLElement {
443
+ /**
444
+ * A string that contains a well formed, Teams url to a Teams channel, team or meeting chat
445
+ * (join url)
446
+ */
447
+ url: string;
448
+ [property: string]: any;
449
+ }
450
+ /**
451
+ * Contains hints that are displayed to the user to demonstrate how they can get started
452
+ * using the declarative agent.
453
+ */
454
+ export interface ConversationStarterElement {
455
+ /**
456
+ * Required. Localizable. A suggestion that the user can use to obtain the desired result
457
+ * from the DC. It MUST contain at least one nonwhitespace character.
458
+ */
459
+ text: string;
460
+ /**
461
+ * Optional. Localizable. A unique title for the conversation starter. It MUST contain at
462
+ * least one nonwhitespace character.
463
+ */
464
+ title?: string;
465
+ [property: string]: any;
466
+ }
467
+ /**
468
+ * An optional JSON object containing a disclaimer message that, if provided, will be
469
+ * displayed to users at the start of a conversation to satisfy legal or compliance
470
+ * requirements. The object contains a required 'text' string property that MUST NOT be null
471
+ * and MUST contain at least 1 non-whitespace character.
472
+ */
473
+ export interface Disclaimer {
474
+ /**
475
+ * A JSON string that contains the disclaimer message. Characters beyond 500 MAY be ignored.
476
+ */
477
+ text: string;
478
+ [property: string]: any;
479
+ }
480
+ /**
481
+ * This member is an object that specifies the sensitivity label for the DA. It is an
482
+ * optional member.
483
+ *
484
+ * A JSON object, when specified should match one of the GUIDs of the published sensitivity
485
+ * labels within the tenant to which it is being published. This label should be at least as
486
+ * restrictive as the most restrictive label on any knowledge files included in the agent.
487
+ * See https://learn.microsoft.com/en-us/purview/create-sensitivity-labels for more
488
+ * information on sensitivity labels.
489
+ */
490
+ export interface SensitivityLabel {
491
+ /**
492
+ * The GUID of the sensitivity_label that is pulled from Purview API
493
+ */
494
+ id?: string;
495
+ [property: string]: any;
496
+ }
497
+ export declare class Convert {
498
+ static toDeclarativeAgentManifestV1D6(json: string): DeclarativeAgentManifestV1D6;
499
+ static declarativeAgentManifestV1D6ToJson(value: DeclarativeAgentManifestV1D6): string;
500
+ }