@microsoft/app-manifest 1.0.0-alpha.3db80d0af.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.
- package/LICENSE +23 -0
- package/build/ManifestCommonProperties.d.ts +30 -0
- package/build/ManifestCommonProperties.js +5 -0
- package/build/ManifestCommonProperties.js.map +1 -0
- package/build/constants.d.ts +1 -0
- package/build/constants.js +7 -0
- package/build/constants.js.map +1 -0
- package/build/declarativeCopilotManifest.d.ts +68 -0
- package/build/declarativeCopilotManifest.js +15 -0
- package/build/declarativeCopilotManifest.js.map +1 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.d.ts +163 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js +214 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D0.js.map +1 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.d.ts +185 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js +220 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D2.js.map +1 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.d.ts +285 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js +248 -0
- package/build/generated-types/copilot/declarative-agent/DeclarativeAgentManifestV1D3.js.map +1 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.d.ts +429 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js +289 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D1.js.map +1 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.d.ts +439 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js +298 -0
- package/build/generated-types/copilot/plugin/ApiPluginManifestV2D2.js.map +1 -0
- package/build/generated-types/index.d.ts +172 -0
- package/build/generated-types/index.js +437 -0
- package/build/generated-types/index.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D0.d.ts +268 -0
- package/build/generated-types/teams/TeamsManifestV1D0.js +265 -0
- package/build/generated-types/teams/TeamsManifestV1D0.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D1.d.ts +268 -0
- package/build/generated-types/teams/TeamsManifestV1D1.js +266 -0
- package/build/generated-types/teams/TeamsManifestV1D1.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D10.d.ts +589 -0
- package/build/generated-types/teams/TeamsManifestV1D10.js +448 -0
- package/build/generated-types/teams/TeamsManifestV1D10.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D11.d.ts +603 -0
- package/build/generated-types/teams/TeamsManifestV1D11.js +447 -0
- package/build/generated-types/teams/TeamsManifestV1D11.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D12.d.ts +638 -0
- package/build/generated-types/teams/TeamsManifestV1D12.js +461 -0
- package/build/generated-types/teams/TeamsManifestV1D12.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D13.d.ts +640 -0
- package/build/generated-types/teams/TeamsManifestV1D13.js +461 -0
- package/build/generated-types/teams/TeamsManifestV1D13.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D14.d.ts +651 -0
- package/build/generated-types/teams/TeamsManifestV1D14.js +467 -0
- package/build/generated-types/teams/TeamsManifestV1D14.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D15.d.ts +656 -0
- package/build/generated-types/teams/TeamsManifestV1D15.js +468 -0
- package/build/generated-types/teams/TeamsManifestV1D15.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D16.d.ts +659 -0
- package/build/generated-types/teams/TeamsManifestV1D16.js +471 -0
- package/build/generated-types/teams/TeamsManifestV1D16.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D17.d.ts +1212 -0
- package/build/generated-types/teams/TeamsManifestV1D17.js +733 -0
- package/build/generated-types/teams/TeamsManifestV1D17.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D19.d.ts +1238 -0
- package/build/generated-types/teams/TeamsManifestV1D19.js +742 -0
- package/build/generated-types/teams/TeamsManifestV1D19.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D2.d.ts +268 -0
- package/build/generated-types/teams/TeamsManifestV1D2.js +266 -0
- package/build/generated-types/teams/TeamsManifestV1D2.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D20.d.ts +1420 -0
- package/build/generated-types/teams/TeamsManifestV1D20.js +818 -0
- package/build/generated-types/teams/TeamsManifestV1D20.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D3.d.ts +280 -0
- package/build/generated-types/teams/TeamsManifestV1D3.js +279 -0
- package/build/generated-types/teams/TeamsManifestV1D3.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D4.d.ts +333 -0
- package/build/generated-types/teams/TeamsManifestV1D4.js +316 -0
- package/build/generated-types/teams/TeamsManifestV1D4.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D5.d.ts +423 -0
- package/build/generated-types/teams/TeamsManifestV1D5.js +357 -0
- package/build/generated-types/teams/TeamsManifestV1D5.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D6.d.ts +428 -0
- package/build/generated-types/teams/TeamsManifestV1D6.js +359 -0
- package/build/generated-types/teams/TeamsManifestV1D6.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D7.d.ts +444 -0
- package/build/generated-types/teams/TeamsManifestV1D7.js +369 -0
- package/build/generated-types/teams/TeamsManifestV1D7.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D8.d.ts +466 -0
- package/build/generated-types/teams/TeamsManifestV1D8.js +386 -0
- package/build/generated-types/teams/TeamsManifestV1D8.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestV1D9.d.ts +532 -0
- package/build/generated-types/teams/TeamsManifestV1D9.js +420 -0
- package/build/generated-types/teams/TeamsManifestV1D9.js.map +1 -0
- package/build/generated-types/teams/TeamsManifestVDevPreview.d.ts +2219 -0
- package/build/generated-types/teams/TeamsManifestVDevPreview.js +1090 -0
- package/build/generated-types/teams/TeamsManifestVDevPreview.js.map +1 -0
- package/build/index.d.ts +88 -0
- package/build/index.js +247 -0
- package/build/index.js.map +1 -0
- package/build/manifest.d.ts +521 -0
- package/build/manifest.js +61 -0
- package/build/manifest.js.map +1 -0
- package/build/pluginManifest.d.ts +143 -0
- package/build/pluginManifest.js +3 -0
- package/build/pluginManifest.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
export interface TeamsManifestV1D1 {
|
|
2
|
+
$schema?: string;
|
|
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
|
+
/**
|
|
9
|
+
* The set of bots for this app. Currently only one bot per app is supported.
|
|
10
|
+
*/
|
|
11
|
+
bots?: Bot[];
|
|
12
|
+
/**
|
|
13
|
+
* The set of compose extensions for this app. Currently only one compose extension per app
|
|
14
|
+
* is supported.
|
|
15
|
+
*/
|
|
16
|
+
composeExtensions?: ComposeExtension[];
|
|
17
|
+
/**
|
|
18
|
+
* These are tabs users can optionally add to their channels and require extra configuration
|
|
19
|
+
* before they are added. Configurable tabs are not supported in the personal scope.
|
|
20
|
+
* Currently only one configurable tab per app is supported.
|
|
21
|
+
*/
|
|
22
|
+
configurableTabs?: ConfigurableTab[];
|
|
23
|
+
/**
|
|
24
|
+
* The set of Office365 connectors for this app. Currently only one connector per app is
|
|
25
|
+
* supported.
|
|
26
|
+
*/
|
|
27
|
+
connectors?: Connector[];
|
|
28
|
+
description: Description;
|
|
29
|
+
developer: Developer;
|
|
30
|
+
icons: Icons;
|
|
31
|
+
/**
|
|
32
|
+
* A unique identifier for this app. This id must be a GUID.
|
|
33
|
+
*/
|
|
34
|
+
id: string;
|
|
35
|
+
/**
|
|
36
|
+
* The version of the schema this manifest is using.
|
|
37
|
+
*/
|
|
38
|
+
manifestVersion: string;
|
|
39
|
+
name: Name;
|
|
40
|
+
/**
|
|
41
|
+
* A unique identifier for this app in reverse domain notation. E.g: com.example.myapp
|
|
42
|
+
*/
|
|
43
|
+
packageName: string;
|
|
44
|
+
/**
|
|
45
|
+
* Specifies the permissions the app requests from users.
|
|
46
|
+
*/
|
|
47
|
+
permissions?: Permission[];
|
|
48
|
+
/**
|
|
49
|
+
* A set of tabs that may be 'pinned' by default, without the user adding them manually.
|
|
50
|
+
* Static tabs declared in personal scope are always pinned to the app's personal
|
|
51
|
+
* experience. Static tabs do not currently support the 'teams' scope.
|
|
52
|
+
*/
|
|
53
|
+
staticTabs?: StaticTab[];
|
|
54
|
+
/**
|
|
55
|
+
* A list of valid domains from which the tabs expect to load any content. Domain listings
|
|
56
|
+
* can include wildcards, for example `*.example.com`. If your tab configuration or content
|
|
57
|
+
* UI needs to navigate to any other domain besides the one use for tab configuration, that
|
|
58
|
+
* domain must be specified here.
|
|
59
|
+
*/
|
|
60
|
+
validDomains?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* The version of the app. Changes to your manifest should cause a version change. This
|
|
63
|
+
* version string must follow the semver standard (http://semver.org).
|
|
64
|
+
*/
|
|
65
|
+
version: string;
|
|
66
|
+
}
|
|
67
|
+
export interface Bot {
|
|
68
|
+
/**
|
|
69
|
+
* The Microsoft App ID specified for the bot in the Bot Framework portal
|
|
70
|
+
* (https://dev.botframework.com/bots)
|
|
71
|
+
*/
|
|
72
|
+
botId: string;
|
|
73
|
+
/**
|
|
74
|
+
* The list of commands that the bot supplies, including their usage, description, and the
|
|
75
|
+
* scope for which the commands are valid. A seperate command list should be used for each
|
|
76
|
+
* scope.
|
|
77
|
+
*/
|
|
78
|
+
commandLists?: CommandList[];
|
|
79
|
+
/**
|
|
80
|
+
* A value indicating whether or not the bot is a one-way notification only bot, as opposed
|
|
81
|
+
* to a conversational bot.
|
|
82
|
+
*/
|
|
83
|
+
isNotificationOnly?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* This value describes whether or not the bot utilizes a user hint to add the bot to a
|
|
86
|
+
* specific channel.
|
|
87
|
+
*/
|
|
88
|
+
needsChannelSelector?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Specifies whether the bot offers an experience in the context of a channel in a team, or
|
|
91
|
+
* an experience scoped to an individual user alone. These options are non-exclusive.
|
|
92
|
+
*/
|
|
93
|
+
scopes: CommandListScope[];
|
|
94
|
+
}
|
|
95
|
+
export interface CommandList {
|
|
96
|
+
commands: CommandListCommand[];
|
|
97
|
+
/**
|
|
98
|
+
* Specifies the scopes for which the command list is valid
|
|
99
|
+
*/
|
|
100
|
+
scopes: CommandListScope[];
|
|
101
|
+
}
|
|
102
|
+
export interface CommandListCommand {
|
|
103
|
+
/**
|
|
104
|
+
* A simple text description or an example of the command syntax and its arguments.
|
|
105
|
+
*/
|
|
106
|
+
description: string;
|
|
107
|
+
/**
|
|
108
|
+
* The bot command name
|
|
109
|
+
*/
|
|
110
|
+
title: string;
|
|
111
|
+
}
|
|
112
|
+
export type CommandListScope = "team" | "personal";
|
|
113
|
+
export interface ComposeExtension {
|
|
114
|
+
/**
|
|
115
|
+
* The Microsoft App ID specified for the bot powering the compose extension in the Bot
|
|
116
|
+
* Framework portal (https://dev.botframework.com/bots)
|
|
117
|
+
*/
|
|
118
|
+
botId: string;
|
|
119
|
+
/**
|
|
120
|
+
* A value indicating whether the configuration of a compose extension can be updated by the
|
|
121
|
+
* user.
|
|
122
|
+
*/
|
|
123
|
+
canUpdateConfiguration?: boolean;
|
|
124
|
+
commands: ComposeExtensionCommand[];
|
|
125
|
+
}
|
|
126
|
+
export interface ComposeExtensionCommand {
|
|
127
|
+
/**
|
|
128
|
+
* Description of the command.
|
|
129
|
+
*/
|
|
130
|
+
description?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Id of the command.
|
|
133
|
+
*/
|
|
134
|
+
id: string;
|
|
135
|
+
/**
|
|
136
|
+
* A boolean value that indicates if the command should be run once initially with no
|
|
137
|
+
* parameter.
|
|
138
|
+
*/
|
|
139
|
+
initialRun?: boolean;
|
|
140
|
+
parameters: Parameter[];
|
|
141
|
+
/**
|
|
142
|
+
* Title of the command.
|
|
143
|
+
*/
|
|
144
|
+
title: string;
|
|
145
|
+
}
|
|
146
|
+
export interface Parameter {
|
|
147
|
+
/**
|
|
148
|
+
* Description of the parameter.
|
|
149
|
+
*/
|
|
150
|
+
description?: string;
|
|
151
|
+
/**
|
|
152
|
+
* Name of the parameter.
|
|
153
|
+
*/
|
|
154
|
+
name: string;
|
|
155
|
+
/**
|
|
156
|
+
* Title of the parameter.
|
|
157
|
+
*/
|
|
158
|
+
title: string;
|
|
159
|
+
}
|
|
160
|
+
export interface ConfigurableTab {
|
|
161
|
+
/**
|
|
162
|
+
* A value indicating whether an instance of the tab's configuration can be updated by the
|
|
163
|
+
* user after creation.
|
|
164
|
+
*/
|
|
165
|
+
canUpdateConfiguration?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* The url to use when configuring the tab.
|
|
168
|
+
*/
|
|
169
|
+
configurationUrl: string;
|
|
170
|
+
/**
|
|
171
|
+
* Specifies whether the tab offers an experience in the context of a channel in a team, or
|
|
172
|
+
* an experience scoped to an individual user alone. These options are non-exclusive.
|
|
173
|
+
* Currently, configurable tabs are only supported in the teams scope.
|
|
174
|
+
*/
|
|
175
|
+
scopes: "team"[];
|
|
176
|
+
}
|
|
177
|
+
export interface Connector {
|
|
178
|
+
/**
|
|
179
|
+
* A unique identifier for the connector which matches its ID in the Connectors Developer
|
|
180
|
+
* Portal.
|
|
181
|
+
*/
|
|
182
|
+
connectorId: string;
|
|
183
|
+
/**
|
|
184
|
+
* Specifies whether the connector offers an experience in the context of a channel in a
|
|
185
|
+
* team, or an experience scoped to an individual user alone. Currently, only the team scope
|
|
186
|
+
* is supported.
|
|
187
|
+
*/
|
|
188
|
+
scopes: "team"[];
|
|
189
|
+
}
|
|
190
|
+
export interface Description {
|
|
191
|
+
/**
|
|
192
|
+
* The full description of the app. Maximum length is 4000 characters.
|
|
193
|
+
*/
|
|
194
|
+
full: string;
|
|
195
|
+
/**
|
|
196
|
+
* A short description of the app used when space is limited. Maximum length is 80
|
|
197
|
+
* characters.
|
|
198
|
+
*/
|
|
199
|
+
short: string;
|
|
200
|
+
}
|
|
201
|
+
export interface Developer {
|
|
202
|
+
/**
|
|
203
|
+
* The display name for the developer.
|
|
204
|
+
*/
|
|
205
|
+
name: string;
|
|
206
|
+
/**
|
|
207
|
+
* The url to the page that provides privacy information for the app.
|
|
208
|
+
*/
|
|
209
|
+
privacyUrl: string;
|
|
210
|
+
/**
|
|
211
|
+
* The url to the page that provides the terms of use for the app.
|
|
212
|
+
*/
|
|
213
|
+
termsOfUseUrl: string;
|
|
214
|
+
/**
|
|
215
|
+
* The url to the page that provides support information for the app.
|
|
216
|
+
*/
|
|
217
|
+
websiteUrl: string;
|
|
218
|
+
}
|
|
219
|
+
export interface Icons {
|
|
220
|
+
/**
|
|
221
|
+
* A relative file path to a full color PNG icon. Size 96x96.
|
|
222
|
+
*/
|
|
223
|
+
color: string;
|
|
224
|
+
/**
|
|
225
|
+
* A relative file path to a transparent PNG outline icon. The border color needs to be
|
|
226
|
+
* white. Size 20x20.
|
|
227
|
+
*/
|
|
228
|
+
outline: string;
|
|
229
|
+
}
|
|
230
|
+
export interface Name {
|
|
231
|
+
/**
|
|
232
|
+
* The full name of the app, used if the full app name exceeds 30 characters.
|
|
233
|
+
*/
|
|
234
|
+
full?: string;
|
|
235
|
+
/**
|
|
236
|
+
* A short display name for the app.
|
|
237
|
+
*/
|
|
238
|
+
short: string;
|
|
239
|
+
}
|
|
240
|
+
export type Permission = "identity" | "messageTeamMembers";
|
|
241
|
+
export interface StaticTab {
|
|
242
|
+
/**
|
|
243
|
+
* The url which points to the entity UI to be displayed in the Teams canvas.
|
|
244
|
+
*/
|
|
245
|
+
contentUrl: string;
|
|
246
|
+
/**
|
|
247
|
+
* A unique identifier for the entity which the tab displays.
|
|
248
|
+
*/
|
|
249
|
+
entityId: string;
|
|
250
|
+
/**
|
|
251
|
+
* The display name of the tab.
|
|
252
|
+
*/
|
|
253
|
+
name: string;
|
|
254
|
+
/**
|
|
255
|
+
* Specifies whether the tab offers an experience in the context of a channel in a team, or
|
|
256
|
+
* an experience scoped to an individual user alone. These options are non-exclusive.
|
|
257
|
+
* Currently static tabs are only supported in the 'personal' scope.
|
|
258
|
+
*/
|
|
259
|
+
scopes: CommandListScope[];
|
|
260
|
+
/**
|
|
261
|
+
* The url to point at if a user opts to view in a browser.
|
|
262
|
+
*/
|
|
263
|
+
websiteUrl?: string;
|
|
264
|
+
}
|
|
265
|
+
export declare class Convert {
|
|
266
|
+
static toTeamsManifestV1D1(json: string): TeamsManifestV1D1;
|
|
267
|
+
static teamsManifestV1D1ToJson(value: TeamsManifestV1D1): string;
|
|
268
|
+
}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// To parse this data:
|
|
3
|
+
//
|
|
4
|
+
// import { Convert, TeamsManifestV1D1 } from "./file";
|
|
5
|
+
//
|
|
6
|
+
// const teamsManifestV1D1 = Convert.toTeamsManifestV1D1(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 toTeamsManifestV1D1(json) {
|
|
16
|
+
return cast(JSON.parse(json), r("TeamsManifestV1D1"));
|
|
17
|
+
}
|
|
18
|
+
static teamsManifestV1D1ToJson(value) {
|
|
19
|
+
return JSON.stringify(uncast(value, r("TeamsManifestV1D1")), null, 2);
|
|
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
|
+
"TeamsManifestV1D1": o([
|
|
170
|
+
{ json: "$schema", js: "$schema", typ: u(undefined, "") },
|
|
171
|
+
{ json: "accentColor", js: "accentColor", typ: "" },
|
|
172
|
+
{ json: "bots", js: "bots", typ: u(undefined, a(r("Bot"))) },
|
|
173
|
+
{ json: "composeExtensions", js: "composeExtensions", typ: u(undefined, a(r("ComposeExtension"))) },
|
|
174
|
+
{ json: "configurableTabs", js: "configurableTabs", typ: u(undefined, a(r("ConfigurableTab"))) },
|
|
175
|
+
{ json: "connectors", js: "connectors", typ: u(undefined, a(r("Connector"))) },
|
|
176
|
+
{ json: "description", js: "description", typ: r("Description") },
|
|
177
|
+
{ json: "developer", js: "developer", typ: r("Developer") },
|
|
178
|
+
{ json: "icons", js: "icons", typ: r("Icons") },
|
|
179
|
+
{ json: "id", js: "id", typ: "" },
|
|
180
|
+
{ json: "manifestVersion", js: "manifestVersion", typ: "" },
|
|
181
|
+
{ json: "name", js: "name", typ: r("Name") },
|
|
182
|
+
{ json: "packageName", js: "packageName", typ: "" },
|
|
183
|
+
{ json: "permissions", js: "permissions", typ: u(undefined, a(r("Permission"))) },
|
|
184
|
+
{ json: "staticTabs", js: "staticTabs", typ: u(undefined, a(r("StaticTab"))) },
|
|
185
|
+
{ json: "validDomains", js: "validDomains", typ: u(undefined, a("")) },
|
|
186
|
+
{ json: "version", js: "version", typ: "" },
|
|
187
|
+
], false),
|
|
188
|
+
"Bot": o([
|
|
189
|
+
{ json: "botId", js: "botId", typ: "" },
|
|
190
|
+
{ json: "commandLists", js: "commandLists", typ: u(undefined, a(r("CommandList"))) },
|
|
191
|
+
{ json: "isNotificationOnly", js: "isNotificationOnly", typ: u(undefined, true) },
|
|
192
|
+
{ json: "needsChannelSelector", js: "needsChannelSelector", typ: u(undefined, true) },
|
|
193
|
+
{ json: "scopes", js: "scopes", typ: a(r("CommandListScope")) },
|
|
194
|
+
], false),
|
|
195
|
+
"CommandList": o([
|
|
196
|
+
{ json: "commands", js: "commands", typ: a(r("CommandListCommand")) },
|
|
197
|
+
{ json: "scopes", js: "scopes", typ: a(r("CommandListScope")) },
|
|
198
|
+
], false),
|
|
199
|
+
"CommandListCommand": o([
|
|
200
|
+
{ json: "description", js: "description", typ: "" },
|
|
201
|
+
{ json: "title", js: "title", typ: "" },
|
|
202
|
+
], false),
|
|
203
|
+
"ComposeExtension": o([
|
|
204
|
+
{ json: "botId", js: "botId", typ: "" },
|
|
205
|
+
{ json: "canUpdateConfiguration", js: "canUpdateConfiguration", typ: u(undefined, true) },
|
|
206
|
+
{ json: "commands", js: "commands", typ: a(r("ComposeExtensionCommand")) },
|
|
207
|
+
], false),
|
|
208
|
+
"ComposeExtensionCommand": o([
|
|
209
|
+
{ json: "description", js: "description", typ: u(undefined, "") },
|
|
210
|
+
{ json: "id", js: "id", typ: "" },
|
|
211
|
+
{ json: "initialRun", js: "initialRun", typ: u(undefined, true) },
|
|
212
|
+
{ json: "parameters", js: "parameters", typ: a(r("Parameter")) },
|
|
213
|
+
{ json: "title", js: "title", typ: "" },
|
|
214
|
+
], false),
|
|
215
|
+
"Parameter": o([
|
|
216
|
+
{ json: "description", js: "description", typ: u(undefined, "") },
|
|
217
|
+
{ json: "name", js: "name", typ: "" },
|
|
218
|
+
{ json: "title", js: "title", typ: "" },
|
|
219
|
+
], false),
|
|
220
|
+
"ConfigurableTab": o([
|
|
221
|
+
{ json: "canUpdateConfiguration", js: "canUpdateConfiguration", typ: u(undefined, true) },
|
|
222
|
+
{ json: "configurationUrl", js: "configurationUrl", typ: "" },
|
|
223
|
+
{ json: "scopes", js: "scopes", typ: a(r("ConfigurableTabScope")) },
|
|
224
|
+
], false),
|
|
225
|
+
"Connector": o([
|
|
226
|
+
{ json: "connectorId", js: "connectorId", typ: "" },
|
|
227
|
+
{ json: "scopes", js: "scopes", typ: a(r("ConfigurableTabScope")) },
|
|
228
|
+
], false),
|
|
229
|
+
"Description": o([
|
|
230
|
+
{ json: "full", js: "full", typ: "" },
|
|
231
|
+
{ json: "short", js: "short", typ: "" },
|
|
232
|
+
], false),
|
|
233
|
+
"Developer": o([
|
|
234
|
+
{ json: "name", js: "name", typ: "" },
|
|
235
|
+
{ json: "privacyUrl", js: "privacyUrl", typ: "" },
|
|
236
|
+
{ json: "termsOfUseUrl", js: "termsOfUseUrl", typ: "" },
|
|
237
|
+
{ json: "websiteUrl", js: "websiteUrl", typ: "" },
|
|
238
|
+
], false),
|
|
239
|
+
"Icons": o([
|
|
240
|
+
{ json: "color", js: "color", typ: "" },
|
|
241
|
+
{ json: "outline", js: "outline", typ: "" },
|
|
242
|
+
], false),
|
|
243
|
+
"Name": o([
|
|
244
|
+
{ json: "full", js: "full", typ: u(undefined, "") },
|
|
245
|
+
{ json: "short", js: "short", typ: "" },
|
|
246
|
+
], false),
|
|
247
|
+
"StaticTab": o([
|
|
248
|
+
{ json: "contentUrl", js: "contentUrl", typ: "" },
|
|
249
|
+
{ json: "entityId", js: "entityId", typ: "" },
|
|
250
|
+
{ json: "name", js: "name", typ: "" },
|
|
251
|
+
{ json: "scopes", js: "scopes", typ: a(r("CommandListScope")) },
|
|
252
|
+
{ json: "websiteUrl", js: "websiteUrl", typ: u(undefined, "") },
|
|
253
|
+
], false),
|
|
254
|
+
"CommandListScope": [
|
|
255
|
+
"personal",
|
|
256
|
+
"team",
|
|
257
|
+
],
|
|
258
|
+
"ConfigurableTabScope": [
|
|
259
|
+
"team",
|
|
260
|
+
],
|
|
261
|
+
"Permission": [
|
|
262
|
+
"identity",
|
|
263
|
+
"messageTeamMembers",
|
|
264
|
+
],
|
|
265
|
+
};
|
|
266
|
+
//# sourceMappingURL=TeamsManifestV1D1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamsManifestV1D1.js","sourceRoot":"","sources":["../../../src/generated-types/teams/TeamsManifestV1D1.ts"],"names":[],"mappings":"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"}
|