@microsoft/app-manifest 1.0.4-alpha.30ed24296.0 → 1.0.4-alpha.3344620f2.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 (28) hide show
  1. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D6.d.ts +69 -6
  2. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D6.js +19 -1
  3. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D6.js.map +1 -1
  4. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +5 -5
  5. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +2 -2
  6. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -1
  7. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D3.d.ts +1 -5
  8. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D3.js +1 -1
  9. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D3.js.map +1 -1
  10. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D4.d.ts +527 -0
  11. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D4.js +320 -0
  12. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D4.js.map +1 -0
  13. package/build/generated-types/index.d.ts +7 -4
  14. package/build/generated-types/index.js +21 -4
  15. package/build/generated-types/index.js.map +1 -1
  16. package/build/generated-types/teams/TeamsManifestV1D17.d.ts +1 -1
  17. package/build/generated-types/teams/TeamsManifestV1D19.d.ts +1 -1
  18. package/build/generated-types/teams/TeamsManifestV1D20.d.ts +1 -1
  19. package/build/generated-types/teams/TeamsManifestV1D21.d.ts +1 -1
  20. package/build/generated-types/teams/TeamsManifestV1D22.d.ts +1 -1
  21. package/build/generated-types/teams/TeamsManifestV1D23.d.ts +1941 -0
  22. package/build/generated-types/teams/TeamsManifestV1D23.js +983 -0
  23. package/build/generated-types/teams/TeamsManifestV1D23.js.map +1 -0
  24. package/build/generated-types/teams/TeamsManifestV1D24.d.ts +2027 -0
  25. package/build/generated-types/teams/TeamsManifestV1D24.js +1010 -0
  26. package/build/generated-types/teams/TeamsManifestV1D24.js.map +1 -0
  27. package/build/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +2 -2
@@ -0,0 +1,527 @@
1
+ /**
2
+ * The root of the plugin manifest document is a JSON object that contains members that
3
+ * describe the plugin.
4
+ */
5
+ export interface APIPluginManifestV2D4 {
6
+ /**
7
+ * The schema version. Previous versions are `v1`, `v2`, `v2.1`, `v2.2`, and `v2.3`.
8
+ */
9
+ schema_version: "v2.4";
10
+ /**
11
+ * A short, human-readable name for the plugin. It MUST contain at least one nonwhitespace
12
+ * character. Characters beyond 20 MAY be ignored. This property is localizable.
13
+ */
14
+ name_for_human: string;
15
+ /**
16
+ * An identifier used to prevent name conflicts between function names from different
17
+ * plugins that are used within the same execution context. The value MUST match the regex
18
+ * ^[A-Za-z0-9-]+ as defined by [RFC9485]. This is a required member.
19
+ */
20
+ namespace: string;
21
+ /**
22
+ * The description for the plugin that is provided to the model. This description should
23
+ * describe what the plugin is for, and in what circumstances its functions are relevant.
24
+ * Characters beyond 2048 MAY be ignored. This property is localizable.
25
+ */
26
+ description_for_model?: string;
27
+ /**
28
+ * A human-readable description of the plugin. Characters beyond 100 MAY be ignored. This
29
+ * property is localizable.
30
+ */
31
+ description_for_human: string;
32
+ /**
33
+ * A URL used to fetch a logo that MAY be used by the orchestrator. Implementations MAY
34
+ * provide alternative methods to provide logos that meet their visual requirements. This
35
+ * property is localizable.
36
+ */
37
+ logo_url?: any;
38
+ /**
39
+ * An email address of a contact for safety/moderation, support, and deactivation.
40
+ */
41
+ contact_email?: string;
42
+ /**
43
+ * An absolute URL that locates a document containing the terms of service for the plugin.
44
+ * This property is localizable.
45
+ */
46
+ legal_info_url?: any;
47
+ /**
48
+ * An absolute URL that locates a document containing the privacy policy for the plugin.
49
+ * This property is localizable.
50
+ */
51
+ privacy_policy_url?: any;
52
+ /**
53
+ * A set of function objects describing the functions available to the plugin. Each function
54
+ * object name MUST be unique within the array. The order of the array isn't significant. If
55
+ * the `functions` property isn't present and there's an OpenAPI runtime, the functions are
56
+ * inferred from the OpenAPI operations.
57
+ */
58
+ functions?: FunctionObject[];
59
+ /**
60
+ * A list of runtime configurations that determine how functions are invoked.
61
+ */
62
+ runtimes?: APIPluginManifestV2D[];
63
+ /**
64
+ * Describes capabilities of the plugin.
65
+ */
66
+ capabilities?: PluginCapabilitiesObject;
67
+ [property: string]: any;
68
+ }
69
+ /**
70
+ * Describes capabilities of the plugin.
71
+ */
72
+ export interface PluginCapabilitiesObject {
73
+ /**
74
+ * Conversation starters that can be displayed to the user for suggestions on how to invoke
75
+ * the plugin.
76
+ */
77
+ conversation_starters?: ConversationStarterObject[];
78
+ [property: string]: any;
79
+ }
80
+ /**
81
+ * An example of a question that the plugin can answer.
82
+ */
83
+ export interface ConversationStarterObject {
84
+ /**
85
+ * The text of the conversation starter. This property is localizable.
86
+ */
87
+ text: string;
88
+ /**
89
+ * The title of the conversation starter. This property is localizable.
90
+ */
91
+ title?: string;
92
+ [property: string]: any;
93
+ }
94
+ /**
95
+ * Information related to how the model should interact with a function.
96
+ */
97
+ export interface FunctionObject {
98
+ id?: string;
99
+ /**
100
+ * A string that uniquely identifies this function. Runtime objects MAY reference this
101
+ * identifier to bind the runtime to the function. When the function is bound to an OpenAPI
102
+ * runtime, the value must match an `operationId` value in the OpenAPI description.
103
+ */
104
+ name: string;
105
+ /**
106
+ * A description better tailored to the model, such as token context length considerations
107
+ * or keyword usage for improved plugin prompting.
108
+ */
109
+ description?: string;
110
+ /**
111
+ * An object that contains members that describe the parameters of a function in a runtime
112
+ * agnostic way. It mirrors the shape of [json-schema][] but only supports a small subset of
113
+ * the JSON schema capabilities. If the `parameters` property isn't present, functions
114
+ * described by a runtime object of type `OpenApi` use the OpenAPI description to determine
115
+ * the parameters. Each member in the JSON object is a function parameter object that
116
+ * describes the semantics of the parameter.
117
+ */
118
+ parameters?: FunctionParametersObject;
119
+ /**
120
+ * Describes the semantics of the value returned from the function.
121
+ */
122
+ returns?: ReturnObject;
123
+ /**
124
+ * Defines state objects for orchestrator states.
125
+ */
126
+ states?: FunctionStatesObject;
127
+ /**
128
+ * Contains a collection of data used to configure optional capabilities of the orchestrator
129
+ * while invoking the function.
130
+ */
131
+ capabilities?: FunctionCapabilitiesObject;
132
+ [property: string]: any;
133
+ }
134
+ /**
135
+ * Contains a collection of data used to configure optional capabilities of the orchestrator
136
+ * while invoking the function.
137
+ */
138
+ export interface FunctionCapabilitiesObject {
139
+ /**
140
+ * Describes a confirmation dialog that SHOULD be presented to the user before invoking the
141
+ * function.
142
+ */
143
+ confirmation?: ConfirmationObject;
144
+ /**
145
+ * Describes how the orchestrator can interpret the response payload and provide a visual
146
+ * rendering.
147
+ */
148
+ response_semantics?: ResponseSemanticsObject;
149
+ /**
150
+ * Describes the security information to be used to aid in determining the relative risk of
151
+ * invoking the function.
152
+ */
153
+ security_info?: SecurityInfoObject;
154
+ [property: string]: any;
155
+ }
156
+ /**
157
+ * Describes a confirmation dialog that SHOULD be presented to the user before invoking the
158
+ * function.
159
+ *
160
+ * Describes how the orchestrator asks the user to confirm before calling a function.
161
+ */
162
+ export interface ConfirmationObject {
163
+ /**
164
+ * Specifies the type of confirmation.
165
+ */
166
+ type?: ConfirmationType;
167
+ /**
168
+ * The title of the confirmation dialog. This property is localizable.
169
+ */
170
+ title?: string;
171
+ /**
172
+ * The text of the confirmation dialog. This property is localizable.
173
+ */
174
+ body?: string;
175
+ /**
176
+ * Indicates the function is non-consequential. If true users may choose Always Allow.
177
+ * Default false. For OpenAPI GET only and ignored if x-oai-isConsequential is present or
178
+ * method != GET.
179
+ */
180
+ isNonConsequential?: boolean;
181
+ [property: string]: any;
182
+ }
183
+ /**
184
+ * Specifies the type of confirmation.
185
+ */
186
+ export type ConfirmationType = "None" | "AdaptiveCard";
187
+ /**
188
+ * Describes how the orchestrator can interpret the response payload and provide a visual
189
+ * rendering.
190
+ *
191
+ * Contains information to identify semantics of response payload and enable rendering that
192
+ * information in a rich visual experience using [adaptive cards](https://adaptivecards.io/).
193
+ */
194
+ export interface ResponseSemanticsObject {
195
+ /**
196
+ * A JSONPath [RFC9535][] query that identifies a set of elements from the function response
197
+ * to be rendered using the template specified in each item.
198
+ */
199
+ data_path: string;
200
+ /**
201
+ * Allows mapping of JSONPath queries to well-known data elements. Each JSONPath query is
202
+ * relative to a result value.
203
+ */
204
+ properties?: ResponseSemanticsPropertiesObject;
205
+ /**
206
+ * A JSON object that either: conforms with the [Adaptive Card
207
+ * Schema](https://adaptivecards.io/schemas/adaptive-card.json) and templating language, or
208
+ * contains a `file` property that references a file containing the Adaptive Card Schema.
209
+ * This Adaptive Card instance is used to render a result from the plugin response. This
210
+ * value is used if the `template_selector` isn't present or fails to resolve to an adaptive
211
+ * card. If using the file reference option, the value of `file` MUST be a relative path to
212
+ * a JSON file containing a valid Adaptive Card Schema. The path is relative to the location
213
+ * of the manifest document.
214
+ */
215
+ static_template?: StaticTemplate;
216
+ /**
217
+ * A JSON string containing a JSONPath query that when applied to the response payload will
218
+ * return an [Adaptive Card
219
+ * Template](https://learn.microsoft.com/adaptive-cards/templating/language) that will be
220
+ * used to authenticate the user.
221
+ */
222
+ oauth_card_path?: string;
223
+ [property: string]: any;
224
+ }
225
+ /**
226
+ * Allows mapping of JSONPath queries to well-known data elements. Each JSONPath query is
227
+ * relative to a result value.
228
+ */
229
+ export interface ResponseSemanticsPropertiesObject {
230
+ /**
231
+ * Title of a citation for the result.
232
+ */
233
+ title?: string;
234
+ /**
235
+ * Subtitle of a citation for the result.
236
+ */
237
+ subtitle?: string;
238
+ /**
239
+ * URL of a citation for the result.
240
+ */
241
+ url?: string;
242
+ /**
243
+ * URL of a thumbnail image for the result.
244
+ */
245
+ thumbnail_url?: string;
246
+ /**
247
+ * Data sensitivity indicator of the result contents.
248
+ */
249
+ information_protection_label?: string;
250
+ /**
251
+ * A JSONPath query that returns an [Adaptive Card
252
+ * Template](https://learn.microsoft.com/adaptive-cards/templating/language) from the API
253
+ * response to be used for rendering the result.
254
+ */
255
+ template_selector?: string;
256
+ [property: string]: any;
257
+ }
258
+ /**
259
+ * A JSON object that either: conforms with the [Adaptive Card
260
+ * Schema](https://adaptivecards.io/schemas/adaptive-card.json) and templating language, or
261
+ * contains a `file` property that references a file containing the Adaptive Card Schema.
262
+ * This Adaptive Card instance is used to render a result from the plugin response. This
263
+ * value is used if the `template_selector` isn't present or fails to resolve to an adaptive
264
+ * card. If using the file reference option, the value of `file` MUST be a relative path to
265
+ * a JSON file containing a valid Adaptive Card Schema. The path is relative to the location
266
+ * of the manifest document.
267
+ *
268
+ * An inline Adaptive Card definition that conforms with the Adaptive Card Schema and
269
+ * templating language.
270
+ *
271
+ * A file reference to an Adaptive Card definition. The file property MUST contain a
272
+ * relative path to a JSON file containing a valid Adaptive Card Schema.
273
+ */
274
+ export interface StaticTemplate {
275
+ /**
276
+ * A relative path to a JSON file containing a valid Adaptive Card Schema. The path is
277
+ * relative to the location of the manifest document.
278
+ */
279
+ file?: string;
280
+ [property: string]: any;
281
+ }
282
+ /**
283
+ * Describes the security information to be used to aid in determining the relative risk of
284
+ * invoking the function.
285
+ */
286
+ export interface SecurityInfoObject {
287
+ /**
288
+ * An array of strings that describe the data handling behavior of the plugin.
289
+ */
290
+ data_handling?: DataHandling[];
291
+ [property: string]: any;
292
+ }
293
+ export type DataHandling = "GetPublicData" | "GetPrivateData" | "DataTransform" | "ResourceStateUpdate";
294
+ /**
295
+ * An object that contains members that describe the parameters of a function in a runtime
296
+ * agnostic way. It mirrors the shape of [json-schema][] but only supports a small subset of
297
+ * the JSON schema capabilities. If the `parameters` property isn't present, functions
298
+ * described by a runtime object of type `OpenApi` use the OpenAPI description to determine
299
+ * the parameters. Each member in the JSON object is a function parameter object that
300
+ * describes the semantics of the parameter.
301
+ *
302
+ * An object that is used to identify the set of parameters that can be passed to the
303
+ * function. This object is structured to mirror the shape of a JSON Schema object but it
304
+ * only supports a subset of JSON Schema keywords.
305
+ */
306
+ export interface FunctionParametersObject {
307
+ /**
308
+ * The JSON Schema type.
309
+ */
310
+ type?: "object";
311
+ /**
312
+ * An object that maps parameter names to their definitions.
313
+ */
314
+ properties: {
315
+ [key: string]: any;
316
+ };
317
+ /**
318
+ * The names of properties that are required parameters. Unlike in JSON Schema, the values
319
+ * in this array MUST match the names listed in the `properties` property.
320
+ */
321
+ required?: string[];
322
+ [property: string]: any;
323
+ }
324
+ /**
325
+ * Describes the semantics of the value returned from the function.
326
+ *
327
+ * Contains the semantics of the value returned from the function.
328
+ *
329
+ * Indicates that the function returns a response that is compatible with the Rich Responses
330
+ * protocol.
331
+ */
332
+ export interface ReturnObject {
333
+ /**
334
+ * Specifies the type of the value returned by the API.
335
+ */
336
+ type?: "string";
337
+ /**
338
+ * A description of the value returned by the API.
339
+ */
340
+ description?: string;
341
+ $ref?: "https://copilot.microsoft.com/schemas/rich-response-v1.0.json";
342
+ [property: string]: any;
343
+ }
344
+ /**
345
+ * Specifies the type of the value returned by the API.
346
+ */
347
+ /**
348
+ * Defines state objects for orchestrator states.
349
+ */
350
+ export interface FunctionStatesObject {
351
+ /**
352
+ * The state in which the model can call functions and do computations.
353
+ */
354
+ reasoning?: StateObject;
355
+ /**
356
+ * The state in which the model can generate text that is shown to the user. The model can't
357
+ * invoke functions in the responding state.
358
+ */
359
+ responding?: StateObject;
360
+ [property: string]: any;
361
+ }
362
+ /**
363
+ * The state in which the model can call functions and do computations.
364
+ *
365
+ * Contains specific instructions for when a function is invoked in a specific orchestrator
366
+ * state.
367
+ *
368
+ * The state in which the model can generate text that is shown to the user. The model can't
369
+ * invoke functions in the responding state.
370
+ */
371
+ export interface StateObject {
372
+ /**
373
+ * Describes the purpose of a function when used in a specific orchestrator state.
374
+ */
375
+ description?: string;
376
+ /**
377
+ * A string or an array of strings that are used to provide instructions to the orchestrator
378
+ * on how to use this function while in a specific orchestrator state. Providing a single
379
+ * string indicates the intent to provide a complete set of instructions that would override
380
+ * any built-in function prompts. Providing an array of strings indicates the intent to
381
+ * augment the built-in function prompting mechanism.
382
+ */
383
+ instructions?: string[] | string;
384
+ /**
385
+ * A string or an array of strings that are used to provide examples to the orchestrator on
386
+ * how this function can be invoked.
387
+ */
388
+ examples?: string[] | string;
389
+ [property: string]: any;
390
+ }
391
+ /**
392
+ * Defines how a specific runtime invokes functions, including auth and spec details.
393
+ */
394
+ export interface APIPluginManifestV2D {
395
+ /**
396
+ * The type of runtime. Must be 'OpenApi', 'LocalPlugin', or 'RemoteMCPServer'.
397
+ */
398
+ type: RuntimeType;
399
+ auth: RuntimeAuthenticationObject;
400
+ /**
401
+ * The names of the functions that are available in this runtime. A single wildcard ("*")
402
+ * value can be provided to enable all functions in the OpenAPI description. More than one
403
+ * runtime MUST NOT declare support for the same function either implicitly or explicitly.
404
+ */
405
+ run_for_functions?: string[];
406
+ /**
407
+ * Runtime-specific configuration object.
408
+ */
409
+ spec: Spec;
410
+ /**
411
+ * A Liquid template used to transform the plugin response payload.
412
+ */
413
+ output_template?: string;
414
+ }
415
+ /**
416
+ * Contains information used by the plugin to authenticate to the runtime.
417
+ */
418
+ export interface RuntimeAuthenticationObject {
419
+ /**
420
+ * Specifies the type of authentication required to invoke a function.
421
+ */
422
+ type: TypeEnum;
423
+ /**
424
+ * Specifies the type of authentication required to invoke a function.
425
+ */
426
+ Type?: TypeEnum;
427
+ /**
428
+ * A value used when `type` is `OAuthPluginVault` or `ApiKeyPluginVault`. The `reference_id`
429
+ * value is acquired independently when providing the necessary authentication configuration
430
+ * values. This mechanism exists to prevent the need for storing secret values in the plugin
431
+ * manifest.
432
+ */
433
+ reference_id?: string;
434
+ }
435
+ /**
436
+ * Specifies the type of authentication required to invoke a function.
437
+ */
438
+ export type TypeEnum = "None" | "OAuthPluginVault" | "ApiKeyPluginVault";
439
+ /**
440
+ * Runtime-specific configuration object.
441
+ *
442
+ * Configuration for invoking an OpenAPI-based runtime.
443
+ *
444
+ * Configuration for invoking a local plugin runtime.
445
+ *
446
+ * Configuration for invoking a remote MCP server runtime.
447
+ */
448
+ export interface Spec {
449
+ /**
450
+ * The URL to the OpenAPI specification (ignored if api_description is present).
451
+ *
452
+ * A JSON string that represents the URL of the MCP server. This URL MUST be a valid
453
+ * absolute URL. This member is required when the type is RemoteMCPServer.
454
+ */
455
+ url?: string;
456
+ /**
457
+ * A string that contains an OpenAPI description. If this member is present, `url` isn't
458
+ * required and is ignored if present.
459
+ */
460
+ api_description?: string;
461
+ /**
462
+ * A JSON string that contains the progress style that will be used to display the progress
463
+ * of the function. The value MUST be one of the following values: None, ShowUsage,
464
+ * ShowUsageWithInput, ShowUsageWithInputAndOutput.
465
+ */
466
+ progress_style?: ProgressStyle;
467
+ /**
468
+ * A JSON string that represents a local runtime identifier that links to a specific
469
+ * function to invoke locally (e.g. in the case of Windows it will link to a particular
470
+ * app). In the case of an Office Addin that is implementing the function, the value MUST be
471
+ * the string Microsoft.Office.Addin.
472
+ */
473
+ local_endpoint?: "Microsoft.Office.Addin";
474
+ /**
475
+ * An optional JSON array of enumerated strings that can take values as mail, workbook,
476
+ * document or presentation. The value represent the host apps this LocalPlugin can run-in.
477
+ */
478
+ allowed_host?: AllowedHost[];
479
+ /**
480
+ * A JSON object that contains either a reference to an external MCP tool description file
481
+ * or inline tool definitions. When present, this indicates that static tool definitions
482
+ * should be used instead of dynamic discovery. When absent, the runtime MUST use dynamic
483
+ * tool discovery by calling the MCP server's tools/list method.
484
+ */
485
+ mcp_tool_description?: MCPTool;
486
+ }
487
+ export type AllowedHost = "mail" | "workbook" | "document" | "presentation";
488
+ /**
489
+ * A JSON string that represents a local runtime identifier that links to a specific
490
+ * function to invoke locally (e.g. in the case of Windows it will link to a particular
491
+ * app). In the case of an Office Addin that is implementing the function, the value MUST be
492
+ * the string Microsoft.Office.Addin.
493
+ */
494
+ /**
495
+ * A JSON object that contains either a reference to an external MCP tool description file
496
+ * or inline tool definitions. When present, this indicates that static tool definitions
497
+ * should be used instead of dynamic discovery. When absent, the runtime MUST use dynamic
498
+ * tool discovery by calling the MCP server's tools/list method.
499
+ *
500
+ * A reference to an external MCP tool description file.
501
+ *
502
+ * Inline tool definitions matching the format returned by the MCP server's tools/list
503
+ * method.
504
+ */
505
+ export interface MCPTool {
506
+ /**
507
+ * A string that identifies the relative path to the MCP tool description file within the
508
+ * app package. The file MUST be a valid JSON file that contains tool descriptions matching
509
+ * the format returned by the MCP server's tools/list method.
510
+ */
511
+ file?: string;
512
+ [property: string]: any;
513
+ }
514
+ /**
515
+ * A JSON string that contains the progress style that will be used to display the progress
516
+ * of the function. The value MUST be one of the following values: None, ShowUsage,
517
+ * ShowUsageWithInput, ShowUsageWithInputAndOutput.
518
+ */
519
+ export type ProgressStyle = "None" | "ShowUsage" | "ShowUsageWithInput" | "ShowUsageWithInputAndOutput";
520
+ /**
521
+ * The type of runtime. Must be 'OpenApi', 'LocalPlugin', or 'RemoteMCPServer'.
522
+ */
523
+ export type RuntimeType = "OpenApi" | "LocalPlugin" | "RemoteMCPServer";
524
+ export declare class Convert {
525
+ static toAPIPluginManifestV2D4(json: string): APIPluginManifestV2D4;
526
+ static aPIPluginManifestV2D4ToJson(value: APIPluginManifestV2D4): string;
527
+ }