@microsoft/app-manifest 1.0.0-alpha.0d2dd4439.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 (106) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +115 -0
  3. package/build/ManifestCommonProperties.d.ts +30 -0
  4. package/build/ManifestCommonProperties.js +5 -0
  5. package/build/ManifestCommonProperties.js.map +1 -0
  6. package/build/constants.d.ts +1 -0
  7. package/build/constants.js +7 -0
  8. package/build/constants.js.map +1 -0
  9. package/build/declarativeCopilotManifest.d.ts +67 -0
  10. package/build/declarativeCopilotManifest.js +15 -0
  11. package/build/declarativeCopilotManifest.js.map +1 -0
  12. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.d.ts +163 -0
  13. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js +214 -0
  14. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js.map +1 -0
  15. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.d.ts +185 -0
  16. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js +220 -0
  17. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js.map +1 -0
  18. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.d.ts +285 -0
  19. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js +248 -0
  20. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js.map +1 -0
  21. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.d.ts +292 -0
  22. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js +259 -0
  23. package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D4.js.map +1 -0
  24. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.d.ts +429 -0
  25. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js +289 -0
  26. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js.map +1 -0
  27. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +439 -0
  28. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +298 -0
  29. package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -0
  30. package/build/generated-types/index.d.ts +174 -0
  31. package/build/generated-types/index.js +444 -0
  32. package/build/generated-types/index.js.map +1 -0
  33. package/build/generated-types/teams/TeamsManifestV1D0.d.ts +268 -0
  34. package/build/generated-types/teams/TeamsManifestV1D0.js +265 -0
  35. package/build/generated-types/teams/TeamsManifestV1D0.js.map +1 -0
  36. package/build/generated-types/teams/TeamsManifestV1D1.d.ts +268 -0
  37. package/build/generated-types/teams/TeamsManifestV1D1.js +266 -0
  38. package/build/generated-types/teams/TeamsManifestV1D1.js.map +1 -0
  39. package/build/generated-types/teams/TeamsManifestV1D10.d.ts +589 -0
  40. package/build/generated-types/teams/TeamsManifestV1D10.js +448 -0
  41. package/build/generated-types/teams/TeamsManifestV1D10.js.map +1 -0
  42. package/build/generated-types/teams/TeamsManifestV1D11.d.ts +603 -0
  43. package/build/generated-types/teams/TeamsManifestV1D11.js +447 -0
  44. package/build/generated-types/teams/TeamsManifestV1D11.js.map +1 -0
  45. package/build/generated-types/teams/TeamsManifestV1D12.d.ts +638 -0
  46. package/build/generated-types/teams/TeamsManifestV1D12.js +461 -0
  47. package/build/generated-types/teams/TeamsManifestV1D12.js.map +1 -0
  48. package/build/generated-types/teams/TeamsManifestV1D13.d.ts +640 -0
  49. package/build/generated-types/teams/TeamsManifestV1D13.js +461 -0
  50. package/build/generated-types/teams/TeamsManifestV1D13.js.map +1 -0
  51. package/build/generated-types/teams/TeamsManifestV1D14.d.ts +651 -0
  52. package/build/generated-types/teams/TeamsManifestV1D14.js +467 -0
  53. package/build/generated-types/teams/TeamsManifestV1D14.js.map +1 -0
  54. package/build/generated-types/teams/TeamsManifestV1D15.d.ts +656 -0
  55. package/build/generated-types/teams/TeamsManifestV1D15.js +468 -0
  56. package/build/generated-types/teams/TeamsManifestV1D15.js.map +1 -0
  57. package/build/generated-types/teams/TeamsManifestV1D16.d.ts +659 -0
  58. package/build/generated-types/teams/TeamsManifestV1D16.js +471 -0
  59. package/build/generated-types/teams/TeamsManifestV1D16.js.map +1 -0
  60. package/build/generated-types/teams/TeamsManifestV1D17.d.ts +1212 -0
  61. package/build/generated-types/teams/TeamsManifestV1D17.js +733 -0
  62. package/build/generated-types/teams/TeamsManifestV1D17.js.map +1 -0
  63. package/build/generated-types/teams/TeamsManifestV1D19.d.ts +1238 -0
  64. package/build/generated-types/teams/TeamsManifestV1D19.js +742 -0
  65. package/build/generated-types/teams/TeamsManifestV1D19.js.map +1 -0
  66. package/build/generated-types/teams/TeamsManifestV1D2.d.ts +268 -0
  67. package/build/generated-types/teams/TeamsManifestV1D2.js +266 -0
  68. package/build/generated-types/teams/TeamsManifestV1D2.js.map +1 -0
  69. package/build/generated-types/teams/TeamsManifestV1D20.d.ts +1420 -0
  70. package/build/generated-types/teams/TeamsManifestV1D20.js +818 -0
  71. package/build/generated-types/teams/TeamsManifestV1D20.js.map +1 -0
  72. package/build/generated-types/teams/TeamsManifestV1D3.d.ts +280 -0
  73. package/build/generated-types/teams/TeamsManifestV1D3.js +279 -0
  74. package/build/generated-types/teams/TeamsManifestV1D3.js.map +1 -0
  75. package/build/generated-types/teams/TeamsManifestV1D4.d.ts +333 -0
  76. package/build/generated-types/teams/TeamsManifestV1D4.js +316 -0
  77. package/build/generated-types/teams/TeamsManifestV1D4.js.map +1 -0
  78. package/build/generated-types/teams/TeamsManifestV1D5.d.ts +423 -0
  79. package/build/generated-types/teams/TeamsManifestV1D5.js +357 -0
  80. package/build/generated-types/teams/TeamsManifestV1D5.js.map +1 -0
  81. package/build/generated-types/teams/TeamsManifestV1D6.d.ts +428 -0
  82. package/build/generated-types/teams/TeamsManifestV1D6.js +359 -0
  83. package/build/generated-types/teams/TeamsManifestV1D6.js.map +1 -0
  84. package/build/generated-types/teams/TeamsManifestV1D7.d.ts +444 -0
  85. package/build/generated-types/teams/TeamsManifestV1D7.js +369 -0
  86. package/build/generated-types/teams/TeamsManifestV1D7.js.map +1 -0
  87. package/build/generated-types/teams/TeamsManifestV1D8.d.ts +466 -0
  88. package/build/generated-types/teams/TeamsManifestV1D8.js +386 -0
  89. package/build/generated-types/teams/TeamsManifestV1D8.js.map +1 -0
  90. package/build/generated-types/teams/TeamsManifestV1D9.d.ts +532 -0
  91. package/build/generated-types/teams/TeamsManifestV1D9.js +420 -0
  92. package/build/generated-types/teams/TeamsManifestV1D9.js.map +1 -0
  93. package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +2219 -0
  94. package/build/generated-types/teams/TeamsManifestVDevPreview.js +1090 -0
  95. package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -0
  96. package/build/index.d.ts +88 -0
  97. package/build/index.js +247 -0
  98. package/build/index.js.map +1 -0
  99. package/build/manifest.d.ts +521 -0
  100. package/build/manifest.js +61 -0
  101. package/build/manifest.js.map +1 -0
  102. package/build/pluginManifest.d.ts +143 -0
  103. package/build/pluginManifest.js +3 -0
  104. package/build/pluginManifest.js.map +1 -0
  105. package/build/tsconfig.tsbuildinfo +1 -0
  106. package/package.json +68 -0
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ // To parse this data:
3
+ //
4
+ // import { Convert, APIPluginManifestV2D1 } from "./file";
5
+ //
6
+ // const aPIPluginManifestV2D1 = Convert.toAPIPluginManifestV2D1(json);
7
+ //
8
+ // These functions will throw an error if the JSON doesn't
9
+ // match the expected interface, even if the JSON is valid.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Convert = void 0;
12
+ // Converts JSON strings to/from your types
13
+ // and asserts the results of JSON.parse at runtime
14
+ class Convert {
15
+ static toAPIPluginManifestV2D1(json) {
16
+ return cast(JSON.parse(json), r("APIPluginManifestV2D1"));
17
+ }
18
+ static aPIPluginManifestV2D1ToJson(value) {
19
+ return JSON.stringify(uncast(value, r("APIPluginManifestV2D1")), null, 4);
20
+ }
21
+ }
22
+ exports.Convert = Convert;
23
+ function invalidValue(typ, val, key, parent = '') {
24
+ const prettyTyp = prettyTypeName(typ);
25
+ const parentText = parent ? ` on ${parent}` : '';
26
+ const keyText = key ? ` for key "${key}"` : '';
27
+ throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`);
28
+ }
29
+ function prettyTypeName(typ) {
30
+ if (Array.isArray(typ)) {
31
+ if (typ.length === 2 && typ[0] === undefined) {
32
+ return `an optional ${prettyTypeName(typ[1])}`;
33
+ }
34
+ else {
35
+ return `one of [${typ.map(a => { return prettyTypeName(a); }).join(", ")}]`;
36
+ }
37
+ }
38
+ else if (typeof typ === "object" && typ.literal !== undefined) {
39
+ return typ.literal;
40
+ }
41
+ else {
42
+ return typeof typ;
43
+ }
44
+ }
45
+ function jsonToJSProps(typ) {
46
+ if (typ.jsonToJS === undefined) {
47
+ const map = {};
48
+ typ.props.forEach((p) => map[p.json] = { key: p.js, typ: p.typ });
49
+ typ.jsonToJS = map;
50
+ }
51
+ return typ.jsonToJS;
52
+ }
53
+ function jsToJSONProps(typ) {
54
+ if (typ.jsToJSON === undefined) {
55
+ const map = {};
56
+ typ.props.forEach((p) => map[p.js] = { key: p.json, typ: p.typ });
57
+ typ.jsToJSON = map;
58
+ }
59
+ return typ.jsToJSON;
60
+ }
61
+ function transform(val, typ, getProps, key = '', parent = '') {
62
+ function transformPrimitive(typ, val) {
63
+ if (typeof typ === typeof val)
64
+ return val;
65
+ return invalidValue(typ, val, key, parent);
66
+ }
67
+ function transformUnion(typs, val) {
68
+ // val must validate against one typ in typs
69
+ const l = typs.length;
70
+ for (let i = 0; i < l; i++) {
71
+ const typ = typs[i];
72
+ try {
73
+ return transform(val, typ, getProps);
74
+ }
75
+ catch (_) { }
76
+ }
77
+ return invalidValue(typs, val, key, parent);
78
+ }
79
+ function transformEnum(cases, val) {
80
+ if (cases.indexOf(val) !== -1)
81
+ return val;
82
+ return invalidValue(cases.map(a => { return l(a); }), val, key, parent);
83
+ }
84
+ function transformArray(typ, val) {
85
+ // val must be an array with no invalid elements
86
+ if (!Array.isArray(val))
87
+ return invalidValue(l("array"), val, key, parent);
88
+ return val.map(el => transform(el, typ, getProps));
89
+ }
90
+ function transformDate(val) {
91
+ if (val === null) {
92
+ return null;
93
+ }
94
+ const d = new Date(val);
95
+ if (isNaN(d.valueOf())) {
96
+ return invalidValue(l("Date"), val, key, parent);
97
+ }
98
+ return d;
99
+ }
100
+ function transformObject(props, additional, val) {
101
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
102
+ return invalidValue(l(ref || "object"), val, key, parent);
103
+ }
104
+ const result = {};
105
+ Object.getOwnPropertyNames(props).forEach(key => {
106
+ const prop = props[key];
107
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
108
+ result[prop.key] = transform(v, prop.typ, getProps, key, ref);
109
+ });
110
+ Object.getOwnPropertyNames(val).forEach(key => {
111
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
112
+ result[key] = transform(val[key], additional, getProps, key, ref);
113
+ }
114
+ });
115
+ return result;
116
+ }
117
+ if (typ === "any")
118
+ return val;
119
+ if (typ === null) {
120
+ if (val === null)
121
+ return val;
122
+ return invalidValue(typ, val, key, parent);
123
+ }
124
+ if (typ === false)
125
+ return invalidValue(typ, val, key, parent);
126
+ let ref = undefined;
127
+ while (typeof typ === "object" && typ.ref !== undefined) {
128
+ ref = typ.ref;
129
+ typ = typeMap[typ.ref];
130
+ }
131
+ if (Array.isArray(typ))
132
+ return transformEnum(typ, val);
133
+ if (typeof typ === "object") {
134
+ return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)
135
+ : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val)
136
+ : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val)
137
+ : invalidValue(typ, val, key, parent);
138
+ }
139
+ // Numbers can be parsed by Date but shouldn't be.
140
+ if (typ === Date && typeof val !== "number")
141
+ return transformDate(val);
142
+ return transformPrimitive(typ, val);
143
+ }
144
+ function cast(val, typ) {
145
+ return transform(val, typ, jsonToJSProps);
146
+ }
147
+ function uncast(val, typ) {
148
+ return transform(val, typ, jsToJSONProps);
149
+ }
150
+ function l(typ) {
151
+ return { literal: typ };
152
+ }
153
+ function a(typ) {
154
+ return { arrayItems: typ };
155
+ }
156
+ function u(...typs) {
157
+ return { unionMembers: typs };
158
+ }
159
+ function o(props, additional) {
160
+ return { props, additional };
161
+ }
162
+ function m(additional) {
163
+ return { props: [], additional };
164
+ }
165
+ function r(name) {
166
+ return { ref: name };
167
+ }
168
+ const typeMap = {
169
+ "APIPluginManifestV2D1": o([
170
+ { json: "schema_version", js: "schema_version", typ: r("SchemaVersion") },
171
+ { json: "name_for_human", js: "name_for_human", typ: "" },
172
+ { json: "namespace", js: "namespace", typ: "" },
173
+ { json: "description_for_model", js: "description_for_model", typ: u(undefined, "") },
174
+ { json: "description_for_human", js: "description_for_human", typ: "" },
175
+ { json: "logo_url", js: "logo_url", typ: u(undefined, "any") },
176
+ { json: "contact_email", js: "contact_email", typ: u(undefined, "any") },
177
+ { json: "legal_info_url", js: "legal_info_url", typ: u(undefined, "any") },
178
+ { json: "privacy_policy_url", js: "privacy_policy_url", typ: u(undefined, "any") },
179
+ { json: "functions", js: "functions", typ: u(undefined, a(r("FunctionObject"))) },
180
+ { json: "runtimes", js: "runtimes", typ: u(undefined, a(r("OpenAPIRuntimeObject"))) },
181
+ { json: "capabilities", js: "capabilities", typ: u(undefined, r("PluginCapabilitiesObject")) },
182
+ ], "any"),
183
+ "PluginCapabilitiesObject": o([
184
+ { json: "localization", js: "localization", typ: u(undefined, m("any")) },
185
+ { json: "conversation_starters", js: "conversation_starters", typ: u(undefined, a(r("ConversationStarterObject"))) },
186
+ ], "any"),
187
+ "ConversationStarterObject": o([
188
+ { json: "text", js: "text", typ: "" },
189
+ { json: "title", js: "title", typ: u(undefined, "") },
190
+ ], "any"),
191
+ "FunctionObject": o([
192
+ { json: "id", js: "id", typ: u(undefined, "") },
193
+ { json: "name", js: "name", typ: "" },
194
+ { json: "description", js: "description", typ: u(undefined, "") },
195
+ { json: "parameters", js: "parameters", typ: u(undefined, r("FunctionParametersObject")) },
196
+ { json: "returns", js: "returns", typ: u(undefined, r("ReturnObject")) },
197
+ { json: "states", js: "states", typ: u(undefined, r("FunctionStatesObject")) },
198
+ { json: "capabilities", js: "capabilities", typ: u(undefined, r("FunctionCapabilitiesObject")) },
199
+ ], "any"),
200
+ "FunctionCapabilitiesObject": o([
201
+ { json: "confirmation", js: "confirmation", typ: u(undefined, r("ConfirmationObject")) },
202
+ { json: "response_semantics", js: "response_semantics", typ: u(undefined, r("ResponseSemanticsObject")) },
203
+ ], "any"),
204
+ "ConfirmationObject": o([
205
+ { json: "type", js: "type", typ: u(undefined, r("ConfirmationType")) },
206
+ { json: "title", js: "title", typ: u(undefined, "") },
207
+ { json: "body", js: "body", typ: u(undefined, "") },
208
+ ], "any"),
209
+ "ResponseSemanticsObject": o([
210
+ { json: "data_path", js: "data_path", typ: "" },
211
+ { json: "properties", js: "properties", typ: u(undefined, r("ResponseSemanticsPropertiesObject")) },
212
+ { json: "static_template", js: "static_template", typ: u(undefined, m("any")) },
213
+ { json: "oauth_card_path", js: "oauth_card_path", typ: u(undefined, "") },
214
+ ], "any"),
215
+ "ResponseSemanticsPropertiesObject": o([
216
+ { json: "title", js: "title", typ: u(undefined, "") },
217
+ { json: "subtitle", js: "subtitle", typ: u(undefined, "") },
218
+ { json: "url", js: "url", typ: u(undefined, "") },
219
+ { json: "thumbnail_url", js: "thumbnail_url", typ: u(undefined, "") },
220
+ { json: "information_protection_label", js: "information_protection_label", typ: u(undefined, "") },
221
+ { json: "template_selector", js: "template_selector", typ: u(undefined, "") },
222
+ ], "any"),
223
+ "FunctionParametersObject": o([
224
+ { json: "type", js: "type", typ: u(undefined, r("ParametersType")) },
225
+ { json: "properties", js: "properties", typ: m("any") },
226
+ { json: "required", js: "required", typ: u(undefined, a("")) },
227
+ ], "any"),
228
+ "ReturnObject": o([
229
+ { json: "type", js: "type", typ: u(undefined, r("ReturnsType")) },
230
+ { json: "description", js: "description", typ: u(undefined, "") },
231
+ { json: "$ref", js: "$ref", typ: u(undefined, r("Ref")) },
232
+ ], "any"),
233
+ "FunctionStatesObject": o([
234
+ { json: "reasoning", js: "reasoning", typ: u(undefined, r("StateObject")) },
235
+ { json: "responding", js: "responding", typ: u(undefined, r("StateObject")) },
236
+ ], "any"),
237
+ "StateObject": o([
238
+ { json: "description", js: "description", typ: u(undefined, "") },
239
+ { json: "instructions", js: "instructions", typ: u(undefined, u(a(""), "")) },
240
+ { json: "examples", js: "examples", typ: u(undefined, u(a(""), "")) },
241
+ ], "any"),
242
+ "OpenAPIRuntimeObject": o([
243
+ { json: "type", js: "type", typ: r("RuntimeType") },
244
+ { json: "auth", js: "auth", typ: r("RuntimeAuthenticationObject") },
245
+ { json: "run_for_functions", js: "run_for_functions", typ: u(undefined, a("")) },
246
+ { json: "spec", js: "spec", typ: r("OpenAPISpecificationObject") },
247
+ ], "any"),
248
+ "RuntimeAuthenticationObject": o([
249
+ { json: "type", js: "type", typ: u(undefined, r("TypeEnum")) },
250
+ { json: "Type", js: "Type", typ: u(undefined, r("TypeEnum")) },
251
+ { json: "reference_id", js: "reference_id", typ: u(undefined, "") },
252
+ ], "any"),
253
+ "OpenAPISpecificationObject": o([
254
+ { json: "url", js: "url", typ: u(undefined, "") },
255
+ { json: "api_description", js: "api_description", typ: u(undefined, "") },
256
+ { json: "progress_style", js: "progress_style", typ: u(undefined, r("ProgressStyle")) },
257
+ ], "any"),
258
+ "ConfirmationType": [
259
+ "AdaptiveCard",
260
+ "None",
261
+ ],
262
+ "ParametersType": [
263
+ "object",
264
+ ],
265
+ "Ref": [
266
+ "https://copilot.microsoft.com/schemas/rich-response-v1.0.json",
267
+ ],
268
+ "ReturnsType": [
269
+ "string",
270
+ ],
271
+ "TypeEnum": [
272
+ "ApiKeyPluginVault",
273
+ "None",
274
+ "OAuthPluginVault",
275
+ ],
276
+ "ProgressStyle": [
277
+ "None",
278
+ "ShowUsage",
279
+ "ShowUsageWithInput",
280
+ "ShowUsageWithInputAndOutput",
281
+ ],
282
+ "RuntimeType": [
283
+ "OpenApi",
284
+ ],
285
+ "SchemaVersion": [
286
+ "v2.1",
287
+ ],
288
+ };
289
+ //# sourceMappingURL=ApiPluginManifestV2D1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiPluginManifestV2D1.js","sourceRoot":"","sources":["../../../../src/generated-types/copilot/plugin/ApiPluginManifestV2D1.ts"],"names":[],"mappings":"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"}