@metaplay/metaplay-auth 1.1.6 → 1.2.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/CHANGELOG.md +17 -0
- package/README.md +37 -4
- package/dist/index.js +119 -40
- package/dist/index.js.map +1 -1
- package/dist/{auth.js → src/auth.js} +47 -32
- package/dist/src/auth.js.map +1 -0
- package/dist/{deployment.js → src/deployment.js} +16 -6
- package/dist/{deployment.js.map → src/deployment.js.map} +1 -1
- package/dist/src/logging.js.map +1 -0
- package/dist/src/secret_store.js.map +1 -0
- package/dist/{stackapi.js → src/stackapi.js} +8 -13
- package/dist/src/stackapi.js.map +1 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/tests/utils.spec.js +18 -0
- package/dist/tests/utils.spec.js.map +1 -0
- package/{src/index.ts → index.ts} +127 -41
- package/package.json +7 -5
- package/src/auth.ts +59 -36
- package/src/deployment.ts +18 -6
- package/src/secret_store.ts +2 -2
- package/src/stackapi.ts +8 -13
- package/tests/utils.spec.ts +20 -0
- package/vitest.config.ts +7 -0
- package/dist/auth.js.map +0 -1
- package/dist/logging.js.map +0 -1
- package/dist/secret_store.js.map +0 -1
- package/dist/stackapi.js.map +0 -1
- package/dist/utils.js.map +0 -1
- /package/dist/{logging.js → src/logging.js} +0 -0
- /package/dist/{secret_store.js → src/secret_store.js} +0 -0
- /package/dist/{utils.js → src/utils.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.0] - 2024-03-20
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
* Introduce `get-docker-login` command that allows simpler CI flows. It outputs `DOCKER_REPO`, `DOCKER_USERNAME` and `DOCKER_PASSWORD` env variables that can be used to login with docker.
|
|
8
|
+
|
|
9
|
+
## [1.1.7] - 2024-03-15
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* The `machine-login` command now works with machine user credentials in the `METAPLAY_CREDENTIALS` environment variable. You can get the credentials from the developer portal.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
* The `show-tokens` command is changed back to print more human-friendly output and the `--format` flag is removed.
|
|
18
|
+
* Improve `check-deployment` error checking and clean up logging.
|
|
19
|
+
|
|
3
20
|
## [1.1.6] - 2024-03-12
|
|
4
21
|
|
|
5
22
|
### Added
|
package/README.md
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
You can install `metaplay-auth` via NPM:
|
|
10
10
|
|
|
11
|
-
```
|
|
11
|
+
```bash
|
|
12
12
|
npm install -g @metaplay/metaplay-auth
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Alternatively, you can quickly locally run the latest version using `npx`:
|
|
16
16
|
|
|
17
|
-
```
|
|
17
|
+
```bash
|
|
18
18
|
npx @metaplay/metaplay-auth@latest login
|
|
19
19
|
npx @metaplay/metaplay-auth@latest show-tokens
|
|
20
20
|
npx @metaplay/metaplay-auth@latest logout
|
|
@@ -25,8 +25,41 @@ npx @metaplay/metaplay-auth@latest logout
|
|
|
25
25
|
When making changes to the `metaplay-auth`, it's easiest to test by running it locally:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
AuthCLI$ pnpm dev login
|
|
29
|
+
AuthCLI$ pnpm dev show-tokens
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Building from sources
|
|
33
|
+
|
|
34
|
+
The tool is also provided as part of the Metaplay SDK package (available via the [Metaplay Portal](https://portal.metaplay.dev/) under `AuthCLI/` and utilizes the same TypeScript toolchains as other components in the Metaplay SDK.
|
|
35
|
+
|
|
36
|
+
You can build the tool using [Moon](https://www.npmjs.com/package/@moonrepo/cli):
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
AuthCLI$ moon run build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Now, you can run the application with node:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
AuthCLI$ node dist/index.js
|
|
46
|
+
Usage: metaplay-auth [options] [command]
|
|
47
|
+
|
|
48
|
+
Authenticate with Metaplay and get AWS and Kubernetes credentials for game servers.
|
|
49
|
+
|
|
50
|
+
Options:
|
|
51
|
+
-V, --version output the version number
|
|
52
|
+
-d, --debug enable debug output
|
|
53
|
+
-h, --help display help for command
|
|
54
|
+
|
|
55
|
+
Commands:
|
|
56
|
+
login login to your Metaplay account
|
|
57
|
+
logout log out of your Metaplay account
|
|
58
|
+
show-tokens show loaded tokens
|
|
59
|
+
get-kubeconfig [options] [gameserver] get kubeconfig for deployment
|
|
60
|
+
get-aws-credentials [options] [gameserver] get AWS credentials for deployment
|
|
61
|
+
get-environment [options] [gameserver] get environment details for deployment
|
|
62
|
+
help [command] display help for command
|
|
30
63
|
```
|
|
31
64
|
|
|
32
65
|
## License
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { loginAndSaveTokens, extendCurrentSession, loadTokens,
|
|
4
|
-
import { StackAPI } from './stackapi.js';
|
|
5
|
-
import { checkGameServerDeployment } from './deployment.js';
|
|
6
|
-
import { setLogLevel } from './logging.js';
|
|
3
|
+
import { loginAndSaveTokens, machineLoginAndSaveTokens, extendCurrentSession, loadTokens, removeTokens } from './src/auth.js';
|
|
4
|
+
import { StackAPI } from './src/stackapi.js';
|
|
5
|
+
import { checkGameServerDeployment } from './src/deployment.js';
|
|
6
|
+
import { logger, setLogLevel } from './src/logging.js';
|
|
7
7
|
import { exit } from 'process';
|
|
8
|
+
import { ECRClient, GetAuthorizationTokenCommand } from '@aws-sdk/client-ecr';
|
|
8
9
|
const program = new Command();
|
|
9
10
|
program
|
|
10
11
|
.name('metaplay-auth')
|
|
11
12
|
.description('Authenticate with Metaplay and get AWS and Kubernetes credentials for game servers.')
|
|
12
|
-
.version('1.
|
|
13
|
+
.version('1.2.0')
|
|
13
14
|
.option('-d, --debug', 'enable debug output')
|
|
14
15
|
.hook('preAction', (thisCommand) => {
|
|
15
16
|
// Handle debug flag for all commands.
|
|
@@ -27,24 +28,30 @@ program.command('login')
|
|
|
27
28
|
await loginAndSaveTokens();
|
|
28
29
|
});
|
|
29
30
|
program.command('machine-login')
|
|
30
|
-
.description('
|
|
31
|
-
.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
.description('login to the Metaplay cloud using a machine account (using credentials in environment variable METAPLAY_CREDENTIALS)')
|
|
32
|
+
.option('--dev-credentials', 'machine user credentials to use, only for dev purposes, use METAPLAY_CREDENTIALS env variable for better safety!')
|
|
33
|
+
.action(async (options) => {
|
|
34
|
+
// Get credentials from command line or from METAPLAY_CREDENTIALS environment variable
|
|
35
|
+
let credentials;
|
|
36
|
+
if (options.devCredentials) {
|
|
37
|
+
credentials = options.devCredentials;
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
else {
|
|
40
|
+
credentials = process.env.METAPLAY_CREDENTIALS;
|
|
41
|
+
if (!credentials || credentials === '') {
|
|
42
|
+
throw new Error('Unable to find the credentials, the environment variable METAPLAY_CREDENTIALS is not defined!');
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
// Parse the clientId and clientSecret from the credentials (separate by a '+' character)
|
|
46
|
+
// \note We can't be certain that the secret does not contain pluses so split at the first occurrence
|
|
47
|
+
const splitOffset = credentials.indexOf('+');
|
|
48
|
+
if (splitOffset === -1) {
|
|
49
|
+
throw new Error('Invalid format for credentials, you should copy-paste the value from the developer portal verbatim');
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
const clientId = credentials.substring(0, splitOffset);
|
|
52
|
+
const clientSecret = credentials.substring(splitOffset + 1);
|
|
53
|
+
// Login with machine user and save the tokens
|
|
54
|
+
await machineLoginAndSaveTokens(clientId, clientSecret);
|
|
48
55
|
});
|
|
49
56
|
program.command('logout')
|
|
50
57
|
.description('log out of your Metaplay account')
|
|
@@ -64,23 +71,14 @@ program.command('logout')
|
|
|
64
71
|
});
|
|
65
72
|
program.command('show-tokens')
|
|
66
73
|
.description('show loaded tokens')
|
|
67
|
-
.option('-f, --format <format>', 'output format (json or pretty)', 'json')
|
|
68
74
|
.hook('preAction', async () => {
|
|
69
75
|
await extendCurrentSession();
|
|
70
76
|
})
|
|
71
77
|
.action(async (options) => {
|
|
72
78
|
try {
|
|
73
|
-
if (options.format !== 'json' && options.format !== 'pretty') {
|
|
74
|
-
throw new Error('Invalid format; must be one of json or pretty');
|
|
75
|
-
}
|
|
76
79
|
// TODO: Could detect if not logged in and fail more gracefully?
|
|
77
80
|
const tokens = await loadTokens();
|
|
78
|
-
|
|
79
|
-
console.log(JSON.stringify(tokens));
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
console.log(tokens);
|
|
83
|
-
}
|
|
81
|
+
console.log(tokens);
|
|
84
82
|
}
|
|
85
83
|
catch (error) {
|
|
86
84
|
if (error instanceof Error) {
|
|
@@ -105,7 +103,7 @@ program.command('get-kubeconfig')
|
|
|
105
103
|
if (!gameserver && !(options.organization && options.project && options.environment)) {
|
|
106
104
|
throw new Error('Could not determine a deployment to fetch the KubeConfigs from. You need to specify either a gameserver or an organization, project, and environment');
|
|
107
105
|
}
|
|
108
|
-
const stackApi = new StackAPI(tokens.
|
|
106
|
+
const stackApi = new StackAPI(tokens.access_token);
|
|
109
107
|
if (options.stackApi) {
|
|
110
108
|
stackApi.stack_api_base_uri = options.stackApi;
|
|
111
109
|
}
|
|
@@ -140,7 +138,7 @@ program.command('get-aws-credentials')
|
|
|
140
138
|
if (!gameserver && !(options.organization && options.project && options.environment)) {
|
|
141
139
|
throw new Error('Could not determine a deployment to fetch the AWS credentials from. You need to specify either a gameserver or an organization, project, and environment');
|
|
142
140
|
}
|
|
143
|
-
const stackApi = new StackAPI(tokens.
|
|
141
|
+
const stackApi = new StackAPI(tokens.access_token);
|
|
144
142
|
if (options.stackApi) {
|
|
145
143
|
stackApi.stack_api_base_uri = options.stackApi;
|
|
146
144
|
}
|
|
@@ -165,6 +163,81 @@ program.command('get-aws-credentials')
|
|
|
165
163
|
exit(1);
|
|
166
164
|
}
|
|
167
165
|
});
|
|
166
|
+
program.command('get-docker-login')
|
|
167
|
+
.description('get docker login credentials for pushing the server image')
|
|
168
|
+
.argument('[gameserver]', 'address of gameserver (e.g. idler-develop.p1.metaplay.io)')
|
|
169
|
+
.option('-o, --organization <organization>', 'organization name (e.g. metaplay)')
|
|
170
|
+
.option('-p, --project <project>', 'project name (e.g. idler)')
|
|
171
|
+
.option('-e, --environment <environment>', 'environment name (e.g. develop)')
|
|
172
|
+
.option('-f, --format <format>', 'output format (json or env)', 'json')
|
|
173
|
+
.hook('preAction', async () => {
|
|
174
|
+
await extendCurrentSession();
|
|
175
|
+
})
|
|
176
|
+
.action(async (gameserver, options) => {
|
|
177
|
+
try {
|
|
178
|
+
if (options.format !== 'json' && options.format !== 'env') {
|
|
179
|
+
throw new Error('Invalid format; must be one of json or env');
|
|
180
|
+
}
|
|
181
|
+
const tokens = await loadTokens();
|
|
182
|
+
if (!gameserver && !(options.organization && options.project && options.environment)) {
|
|
183
|
+
throw new Error('Could not determine a game server deployment. You need to specify either a gameserver or an organization, project, and environment');
|
|
184
|
+
}
|
|
185
|
+
const stackApi = new StackAPI(tokens.access_token);
|
|
186
|
+
if (options.stackApi) {
|
|
187
|
+
stackApi.stack_api_base_uri = options.stackApi;
|
|
188
|
+
}
|
|
189
|
+
// Fetch AWS credentials from Metaplay cloud
|
|
190
|
+
logger.debug('Get AWS credentials from Metaplay');
|
|
191
|
+
const payload = gameserver ? { gameserver } : { organization: options.organization, project: options.project, environment: options.environment };
|
|
192
|
+
const credentials = await stackApi.getAwsCredentials(payload);
|
|
193
|
+
// Get environment info (region is needed for ECR)
|
|
194
|
+
logger.debug('Get environment info');
|
|
195
|
+
const environment = await stackApi.getEnvironmentDetails(payload);
|
|
196
|
+
const awsRegion = environment.deployment.aws_region;
|
|
197
|
+
const dockerRepo = environment.deployment.ecr_repo;
|
|
198
|
+
// Create ECR client with credentials
|
|
199
|
+
logger.debug('Create ECR client');
|
|
200
|
+
const client = new ECRClient({
|
|
201
|
+
credentials: {
|
|
202
|
+
accessKeyId: credentials.AccessKeyId,
|
|
203
|
+
secretAccessKey: credentials.SecretAccessKey,
|
|
204
|
+
sessionToken: credentials.SessionToken
|
|
205
|
+
},
|
|
206
|
+
region: awsRegion
|
|
207
|
+
});
|
|
208
|
+
// Fetch the ECR docker authentication token
|
|
209
|
+
logger.debug('Fetch ECR login credentials from AWS');
|
|
210
|
+
const command = new GetAuthorizationTokenCommand({});
|
|
211
|
+
const response = await client.send(command);
|
|
212
|
+
if (!response.authorizationData || response.authorizationData.length === 0 || !response.authorizationData[0].authorizationToken) {
|
|
213
|
+
throw new Error('Received an empty authorization token response for ECR repository');
|
|
214
|
+
}
|
|
215
|
+
// Parse username and password from the response (separated by a ':')
|
|
216
|
+
logger.debug('Parse ECR response');
|
|
217
|
+
const authorization64 = response.authorizationData[0].authorizationToken;
|
|
218
|
+
const authorization = Buffer.from(authorization64, 'base64').toString();
|
|
219
|
+
const [username, password] = authorization.split(':');
|
|
220
|
+
// Output the docker repo & credentials
|
|
221
|
+
if (options.format === 'env') {
|
|
222
|
+
console.log(`export DOCKER_REPO=${dockerRepo}`);
|
|
223
|
+
console.log(`export DOCKER_USERNAME=${username}`);
|
|
224
|
+
console.log(`export DOCKER_PASSWORD=${password}`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
console.log(JSON.stringify({
|
|
228
|
+
dockerRepo,
|
|
229
|
+
username,
|
|
230
|
+
password
|
|
231
|
+
}));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
if (error instanceof Error) {
|
|
236
|
+
console.error(`Error getting docker login credentials: ${error.message}`);
|
|
237
|
+
}
|
|
238
|
+
exit(1);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
168
241
|
program.command('get-environment')
|
|
169
242
|
.description('get environment details for deployment')
|
|
170
243
|
.argument('[gameserver]', 'address of gameserver (e.g. idler-develop.p1.metaplay.io)')
|
|
@@ -181,7 +254,7 @@ program.command('get-environment')
|
|
|
181
254
|
if (!gameserver && !(options.organization && options.project && options.environment)) {
|
|
182
255
|
throw new Error('Could not determine a deployment to fetch environment details from. You need to specify either a gameserver or an organization, project, and environment');
|
|
183
256
|
}
|
|
184
|
-
const stackApi = new StackAPI(tokens.
|
|
257
|
+
const stackApi = new StackAPI(tokens.access_token);
|
|
185
258
|
if (options.stackApi) {
|
|
186
259
|
stackApi.stack_api_base_uri = options.stackApi;
|
|
187
260
|
}
|
|
@@ -199,14 +272,20 @@ program.command('get-environment')
|
|
|
199
272
|
program.command('check-deployment')
|
|
200
273
|
.description('[experimental] check that a game server was successfully deployed, or print out useful error messages in case of failure')
|
|
201
274
|
.argument('[namespace]', 'kubernetes namespace of the deployment')
|
|
202
|
-
.
|
|
203
|
-
await extendCurrentSession();
|
|
204
|
-
})
|
|
205
|
-
.action(async (namespace, options) => {
|
|
275
|
+
.action(async (namespace) => {
|
|
206
276
|
setLogLevel(0);
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
277
|
+
try {
|
|
278
|
+
if (!namespace) {
|
|
279
|
+
throw new Error('Must specify value for argument "namespace"');
|
|
280
|
+
}
|
|
281
|
+
// Run the checks and exit with success/failure exitCode depending on result
|
|
282
|
+
const exitCode = await checkGameServerDeployment(namespace);
|
|
283
|
+
exit(exitCode);
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
console.error(`Failed to check deployment status: ${error}`);
|
|
287
|
+
exit(1);
|
|
288
|
+
}
|
|
210
289
|
});
|
|
211
290
|
void program.parseAsync();
|
|
212
291
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,qFAAqF,CAAC;KAClG,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC;KAC5C,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,sCAAsC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,WAAW,CAAC,CAAC,CAAC,CAAA;KACf;SAAM;QACL,WAAW,CAAC,EAAE,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KACrB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,kBAAkB,EAAE,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;KAC7B,WAAW,CAAC,qIAAqI,CAAC;KAClJ,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IACpD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAA;KACjH;IAED,gKAAgK;IAChK,kFAAkF;IAClF,IAAI,MAAM,CAAA;IACV,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;KACjC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,kJAAkJ,CAAC,CAAA;KACpK;IAED,cAAc;IACd,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IAExB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;AAChF,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;KACtB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAE/D,IAAI;QACF,0HAA0H;QAC1H,MAAM,YAAY,EAAE,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;KAC7C;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACrD;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3B,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,CAAC;KACzE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QAED,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;SACpC;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;SACpB;KACF;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACxD;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC9B,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,sJAAsJ,CAAC,CAAA;SACxK;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC5D;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;KACnC,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KACtE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,0JAA0J,CAAC,CAAA;SAC5K;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE7D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAA;YAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,YAAY,EAAE,CAAC,CAAA;SACpE;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,GAAG,WAAW;gBACd,OAAO,EAAE,CAAC,CAAC,+EAA+E;aAC3F,CAAC,CAAC,CAAA;SACJ;KACF;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACjE;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;KAC/B,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,0JAA0J,CAAC,CAAA;SAC5K;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACnE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;KACzC;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACrE;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;KAChC,WAAW,CAAC,0HAA0H,CAAC;KACvI,QAAQ,CAAC,aAAa,EAAE,wCAAwC,CAAC;KACjE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;IAC3C,WAAW,CAAC,CAAC,CAAC,CAAA;IAEd,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,CAAA;IAC3D,IAAI,CAAC,QAAQ,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA;AAEJ,KAAK,OAAO,CAAC,UAAU,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAE7E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,qFAAqF,CAAC;KAClG,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC;KAC5C,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,sCAAsC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,WAAW,CAAC,CAAC,CAAC,CAAA;KACf;SAAM;QACL,WAAW,CAAC,EAAE,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KACrB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,kBAAkB,EAAE,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;KAC7B,WAAW,CAAC,sHAAsH,CAAC;KACnI,MAAM,CAAC,mBAAmB,EAAE,kHAAkH,CAAC;KAC/I,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,sFAAsF;IACtF,IAAI,WAAW,CAAA;IACf,IAAI,OAAO,CAAC,cAAc,EAAE;QAC1B,WAAW,GAAG,OAAO,CAAC,cAAc,CAAA;KACrC;SAAM;QACL,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;QAC9C,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAA;SACjH;KACF;IAED,yFAAyF;IACzF,qGAAqG;IACrG,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAA;KACtH;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;IAE3D,8CAA8C;IAC9C,MAAM,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;KACtB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAE/D,IAAI;QACF,0HAA0H;QAC1H,MAAM,YAAY,EAAE,CAAA;QACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;KAC7C;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACrD;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3B,WAAW,CAAC,oBAAoB,CAAC;KACjC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI;QACF,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACxD;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC9B,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,sJAAsJ,CAAC,CAAA;SACxK;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC5D;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;KACnC,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KACtE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,0JAA0J,CAAC,CAAA;SAC5K;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE7D,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAA;YAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,YAAY,EAAE,CAAC,CAAA;SACpE;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,GAAG,WAAW;gBACd,OAAO,EAAE,CAAC,CAAC,+EAA+E;aAC3F,CAAC,CAAC,CAAA;SACJ;KACF;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACjE;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;KAChC,WAAW,CAAC,2DAA2D,CAAC;KACxE,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KACtE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YACzD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,oIAAoI,CAAC,CAAA;SACtJ;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAChJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE7D,kDAAkD;QAClD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACjE,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAA;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAA;QAElD,qCAAqC;QACrC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,WAAW,EAAE;gBACX,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE;YAC/H,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;SACrF;QAED,qEAAqE;QACrE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAA;QACxE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;QACvE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAErD,uCAAuC;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAA;YAC/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;YACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;SAClD;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,UAAU;gBACV,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC,CAAA;SACJ;KACF;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SAC1E;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;KAC/B,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,cAAc,EAAE,2DAA2D,CAAC;KACrF,MAAM,CAAC,uCAAuC,EAAE,kEAAkE,CAAC;KACnH,MAAM,CAAC,mCAAmC,EAAE,mCAAmC,CAAC;KAChF,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,iCAAiC,EAAE,iCAAiC,CAAC;KAC5E,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IAC5B,MAAM,oBAAoB,EAAE,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACpF,MAAM,IAAI,KAAK,CAAC,0JAA0J,CAAC,CAAA;SAC5K;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAA;SAC/C;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAA;QAEhJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;KACzC;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;SACrE;QACD,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;KAChC,WAAW,CAAC,0HAA0H,CAAC;KACvI,QAAQ,CAAC,aAAa,EAAE,wCAAwC,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;IAClC,WAAW,CAAC,CAAC,CAAC,CAAA;IAEd,IAAI;QACF,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;QAED,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,SAAS,CAAC,CAAA;QAC3D,IAAI,CAAC,QAAQ,CAAC,CAAA;KACf;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,CAAA;AAEJ,KAAK,OAAO,CAAC,UAAU,EAAE,CAAA"}
|
|
@@ -16,7 +16,6 @@ const tokenEndpoint = `${baseURL}/oauth2/token`;
|
|
|
16
16
|
const wellknownApi = new WellknownApi(new Configuration({
|
|
17
17
|
basePath: baseURL,
|
|
18
18
|
}));
|
|
19
|
-
const tokenList = ['id_token', 'access_token', 'refresh_token']; // List of compulsory tokens
|
|
20
19
|
/**
|
|
21
20
|
* A helper function which generates a code verifier and challenge for exchaning code from Ory server.
|
|
22
21
|
* @returns
|
|
@@ -91,7 +90,8 @@ export async function loginAndSaveTokens() {
|
|
|
91
90
|
try {
|
|
92
91
|
logger.debug(`Received callback request with code ${code}. Preparing to exchange for tokens...`);
|
|
93
92
|
const tokens = await getTokensWithAuthorizationCode(state, redirectUri, verifier, code);
|
|
94
|
-
|
|
93
|
+
// Only save access_token, id_token, and refresh_token
|
|
94
|
+
await saveTokens({ access_token: tokens.access_token, id_token: tokens.id_token, refresh_token: tokens.refresh_token });
|
|
95
95
|
console.log('You are now logged in and can call the other commands.');
|
|
96
96
|
// TODO: Could return a pre-generated HTML page instead of text?
|
|
97
97
|
return 'Authentication successful! You can close this window.';
|
|
@@ -115,21 +115,51 @@ export async function loginAndSaveTokens() {
|
|
|
115
115
|
console.log(`Attempting to open a browser to log in. If a browser did not open up, you can copy-paste the following URL to authenticate:\n\n${authorizationUrl}\n`);
|
|
116
116
|
void open(authorizationUrl);
|
|
117
117
|
}
|
|
118
|
+
export async function machineLoginAndSaveTokens(clientId, clientSecret) {
|
|
119
|
+
// Get a fresh access token from Metaplay Auth.
|
|
120
|
+
const params = new URLSearchParams();
|
|
121
|
+
params.set('grant_type', 'client_credentials');
|
|
122
|
+
params.set('client_id', clientId);
|
|
123
|
+
params.set('client_secret', clientSecret);
|
|
124
|
+
params.set('scope', 'openid email profile offline_access');
|
|
125
|
+
const res = await fetch(tokenEndpoint, {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: {
|
|
128
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
129
|
+
},
|
|
130
|
+
body: params.toString(),
|
|
131
|
+
});
|
|
132
|
+
// Return type checked manually by Teemu on 2024-3-7.
|
|
133
|
+
const tokens = await res.json();
|
|
134
|
+
logger.debug('Received machine authentication tokens, saving them for future use...');
|
|
135
|
+
await saveTokens({ access_token: tokens.access_token });
|
|
136
|
+
const userInfoResponse = await fetch('https://portal.metaplay.dev/api/external/userinfo', {
|
|
137
|
+
headers: {
|
|
138
|
+
Authorization: `Bearer ${tokens.access_token}`
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
const userInfo = await userInfoResponse.json();
|
|
142
|
+
console.log(`You are now logged in with machine user ${userInfo.given_name} ${userInfo.family_name} (clientId=${clientId}) and can execute the other commands.`);
|
|
143
|
+
}
|
|
118
144
|
/**
|
|
119
145
|
* Refresh access and ID token with a refresh token.
|
|
120
146
|
*/
|
|
121
147
|
export async function extendCurrentSession() {
|
|
122
148
|
try {
|
|
123
149
|
const tokens = await loadTokens();
|
|
124
|
-
logger.debug('
|
|
150
|
+
logger.debug('Check if access token still valid...');
|
|
125
151
|
if (await validateToken(tokens.access_token)) {
|
|
126
152
|
// Access token is not expired, return to the caller
|
|
127
|
-
logger.debug('Access token is valid,
|
|
153
|
+
logger.debug('Access token is valid, no need to refresh.');
|
|
128
154
|
return;
|
|
129
155
|
}
|
|
156
|
+
// Check that the refresh_token exists (machine users don't have it)
|
|
157
|
+
if (!tokens.refresh_token) {
|
|
158
|
+
throw new Error('Cannot refresh an access_token without a refresh_token. With machine users, should just login again instead.');
|
|
159
|
+
}
|
|
130
160
|
logger.debug('Access token is no longer valid, trying to extend the current session with a refresh token.');
|
|
131
161
|
const refreshedTokens = await extendCurrentSessionWithRefreshToken(tokens.refresh_token);
|
|
132
|
-
await saveTokens(refreshedTokens);
|
|
162
|
+
await saveTokens({ access_token: refreshedTokens.access_token, id_token: refreshedTokens.id_token, refresh_token: refreshedTokens.refresh_token });
|
|
133
163
|
}
|
|
134
164
|
catch (error) {
|
|
135
165
|
if (error instanceof Error) {
|
|
@@ -144,7 +174,7 @@ export async function extendCurrentSession() {
|
|
|
144
174
|
* @returns A promise that resolves to a new set of tokens.
|
|
145
175
|
*/
|
|
146
176
|
async function extendCurrentSessionWithRefreshToken(refreshToken) {
|
|
147
|
-
// TODO:
|
|
177
|
+
// TODO: similar to the todo task in getTokensWithAuthorizationCode, http request can be handled by ory/client.
|
|
148
178
|
const params = new URLSearchParams({
|
|
149
179
|
grant_type: 'refresh_token',
|
|
150
180
|
refresh_token: refreshToken,
|
|
@@ -197,7 +227,7 @@ async function getTokensWithAuthorizationCode(state, redirectUri, verifier, code
|
|
|
197
227
|
if (error instanceof Error) {
|
|
198
228
|
logger.error(`Error exchanging code for tokens: ${error.message}`);
|
|
199
229
|
}
|
|
200
|
-
|
|
230
|
+
throw error;
|
|
201
231
|
}
|
|
202
232
|
}
|
|
203
233
|
/**
|
|
@@ -205,17 +235,11 @@ async function getTokensWithAuthorizationCode(state, redirectUri, verifier, code
|
|
|
205
235
|
*/
|
|
206
236
|
export async function loadTokens() {
|
|
207
237
|
try {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (idToken == null || accessToken == null || refreshToken == null) {
|
|
212
|
-
throw new Error('Metaplay tokens not found. Are you logged in?');
|
|
238
|
+
const tokens = await getSecret('tokens');
|
|
239
|
+
if (!tokens) {
|
|
240
|
+
throw new Error('Unable to load tokens. You need to login first.');
|
|
213
241
|
}
|
|
214
|
-
return
|
|
215
|
-
id_token: idToken,
|
|
216
|
-
access_token: accessToken,
|
|
217
|
-
refresh_token: refreshToken
|
|
218
|
-
};
|
|
242
|
+
return tokens;
|
|
219
243
|
}
|
|
220
244
|
catch (error) {
|
|
221
245
|
if (error instanceof Error) {
|
|
@@ -231,19 +255,14 @@ export async function loadTokens() {
|
|
|
231
255
|
export async function saveTokens(tokens) {
|
|
232
256
|
try {
|
|
233
257
|
logger.debug('Received new tokens, verifying...');
|
|
234
|
-
//
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
throw new Error(`Metaplay token ${tokenName} not found. Please log in again and make sure all checkboxes of permissions are selected before proceeding.`);
|
|
238
|
-
}
|
|
258
|
+
// All tokens must have an access_token (machine users only have it)
|
|
259
|
+
if (!tokens.access_token) {
|
|
260
|
+
throw new Error('Metaplay token has no access_token. Please log in again and make sure all checkboxes of permissions are selected before proceeding.');
|
|
239
261
|
}
|
|
240
262
|
logger.debug('Token verification completed, storing tokens...');
|
|
241
|
-
await setSecret('
|
|
242
|
-
await setSecret('access_token', tokens.access_token);
|
|
243
|
-
await setSecret('refresh_token', tokens.refresh_token);
|
|
263
|
+
await setSecret('tokens', tokens);
|
|
244
264
|
logger.debug('Tokens successfully stored.');
|
|
245
265
|
await showTokenInfo(tokens.access_token);
|
|
246
|
-
// await showTokenInfo(tokens.id_token)
|
|
247
266
|
}
|
|
248
267
|
catch (error) {
|
|
249
268
|
if (error instanceof Error) {
|
|
@@ -257,12 +276,8 @@ export async function saveTokens(tokens) {
|
|
|
257
276
|
*/
|
|
258
277
|
export async function removeTokens() {
|
|
259
278
|
try {
|
|
260
|
-
await removeSecret('
|
|
261
|
-
logger.debug('Removed
|
|
262
|
-
await removeSecret('access_token');
|
|
263
|
-
logger.debug('Removed access_token.');
|
|
264
|
-
await removeSecret('refresh_token');
|
|
265
|
-
logger.debug('Removed refresh_token.');
|
|
279
|
+
await removeSecret('tokens');
|
|
280
|
+
logger.debug('Removed tokens.');
|
|
266
281
|
}
|
|
267
282
|
catch (error) {
|
|
268
283
|
if (error instanceof Error) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { promises as fs, existsSync } from 'fs';
|
|
1
2
|
import { KubeConfig, CoreV1Api, V1Pod } from '@kubernetes/client-node';
|
|
2
3
|
import { logger } from './logging.js';
|
|
3
4
|
import { error } from 'console';
|
|
@@ -170,10 +171,19 @@ async function delay(ms) {
|
|
|
170
171
|
return await new Promise(resolve => setTimeout(resolve, ms));
|
|
171
172
|
}
|
|
172
173
|
export async function checkGameServerDeployment(namespace) {
|
|
173
|
-
logger.info(`Validating deployment
|
|
174
|
+
logger.info(`Validating game server deployment in namespace ${namespace}`);
|
|
175
|
+
// Check that the KUBECONFIG environment variable exists
|
|
176
|
+
const kubeconfigPath = process.env.KUBECONFIG;
|
|
177
|
+
if (!kubeconfigPath) {
|
|
178
|
+
throw new Error('The KUBECONFIG environment variable must be specified');
|
|
179
|
+
}
|
|
180
|
+
// Check that the kubeconfig file exists
|
|
181
|
+
if (!await existsSync(kubeconfigPath)) {
|
|
182
|
+
throw new Error(`The environment variable KUBECONFIG points to a file '${kubeconfigPath}' that doesn't exist`);
|
|
183
|
+
}
|
|
174
184
|
// Create Kubernetes API instance (with default kubeconfig)
|
|
175
185
|
const kc = new KubeConfig();
|
|
176
|
-
kc.
|
|
186
|
+
kc.loadFromFile(kubeconfigPath);
|
|
177
187
|
const k8sApi = kc.makeApiClient(CoreV1Api);
|
|
178
188
|
// Figure out when to stop
|
|
179
189
|
const startTime = Date.now();
|
|
@@ -184,18 +194,18 @@ export async function checkGameServerDeployment(namespace) {
|
|
|
184
194
|
const podStatus = await checkGameServerPod(k8sApi, pods[0]); // \todo Handle all pods
|
|
185
195
|
switch (podStatus.phase) {
|
|
186
196
|
case GameServerPodPhase.Ready:
|
|
187
|
-
|
|
197
|
+
console.log('Gameserver successfully started');
|
|
188
198
|
// \todo add further readiness checks -- ping endpoint, ping dashboard, other checks?
|
|
189
199
|
return 0;
|
|
190
200
|
case GameServerPodPhase.Failed:
|
|
191
|
-
|
|
201
|
+
console.log('Gameserver failed to start');
|
|
192
202
|
return 1;
|
|
193
203
|
case GameServerPodPhase.Pending:
|
|
194
|
-
|
|
204
|
+
console.log('Gameserver still starting');
|
|
195
205
|
break;
|
|
196
206
|
case GameServerPodPhase.Unknown:
|
|
197
207
|
default:
|
|
198
|
-
|
|
208
|
+
console.log('Gameserver in unknown state');
|
|
199
209
|
break;
|
|
200
210
|
}
|
|
201
211
|
if (Date.now() >= timeoutAt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../src/deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,IAAK,kBAKJ;AALD,WAAK,kBAAkB;IACrB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACrB,CAAC,EALI,kBAAkB,KAAlB,kBAAkB,QAKtB;AAQD,KAAK,UAAU,mBAAmB,CAAE,MAAiB,EAAE,SAAiB;IACtE,uCAAuC;IACvC,MAAM,aAAa,GAAG,qBAAqB,CAAA;IAE3C,IAAI;QACF,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QAErH,sBAAsB;QACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;KAC3B;IAAC,OAAO,KAAK,EAAE;QACd,iCAAiC;QACjC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;AACH,CAAC;AAED,SAAS,8BAA8B,CAAE,GAAU;IACjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAA;IACvD,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,mFAAmF,EAAE,CAAA;KAC3I;IAED,oDAAoD;IACpD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,4EAA4E,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;KACxH;IAED,iCAAiC;IACjC,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAA;IACjD,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAA;IAC5C,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAA;KACvF;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAA;IAC1C,IAAI,eAAe,CAAC,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE;QACnD,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,aAAa,yCAAyC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAA;KAC5L;IAED,2DAA2D;IAC3D,MAAM,4BAA4B,GAAG,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAA;IACtL,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAE3E,wGAAwG;IACxG,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAA;IAC3C,IAAI,SAAS,EAAE;QACb,IAAI,SAAS,CAAC,UAAU,EAAE;YACxB,gDAAgD;YAChD,IAAI,cAAc,CAAC,OAAO,EAAE;gBAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAA;gBAC5C,IAAI,4BAA4B,CAAC,QAAQ,CAAC,MAAgB,CAAC,EAAE;oBAC3D,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,aAAa,gCAAgC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAA;iBAC1J;qBAAM,IAAI,4BAA4B,CAAC,QAAQ,CAAC,MAAgB,CAAC,EAAE;oBAClE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,aAAa,gCAAgC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAA;iBAC3J;qBAAM;oBACL,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,aAAa,gCAAgC,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAA;iBAC3J;aACF;iBAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACjC,wDAAwD;gBACxD,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,aAAa,sBAAsB,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAA;aACzI;iBAAM,IAAI,cAAc,CAAC,UAAU,EAAE;gBACpC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,aAAa,yBAAyB,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,CAAA;aAC9I;YAED,yEAAyE;YACzE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,aAAa,yCAAyC,SAAS,CAAC,UAAU,CAAC,QAAQ,eAAe,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,CAAA;SAClO;QAED,uFAAuF;QACvF,0EAA0E;KAC3E;IAED,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,cAAc,CAAC,CAAA;IAC1E,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;AAC9G,CAAC;AAED,SAAS,0BAA0B,CAAE,GAAU;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAA;IACzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,gEAAgE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;KAC7I;IAED,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;IAC9E,IAAI,gBAAgB,EAAE,MAAM,KAAK,MAAM,EAAE;QACvC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,6CAA6C,gBAAgB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAC3J;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,eAAe,EAAE,MAAM,KAAK,MAAM,EAAE;QACtC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,qCAAqC,eAAe,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA;KACjJ;IAED,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;IACpF,IAAI,mBAAmB,EAAE,MAAM,KAAK,MAAM,EAAE;QAC1C,IAAI,mBAAmB,EAAE,MAAM,KAAK,oBAAoB,EAAE;YACxD,OAAO,8BAA8B,CAAC,GAAG,CAAC,CAAA;SAC3C;QAED,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,qCAAqC,mBAAmB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;KACzJ;IAED,kCAAkC;IAClC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IAChE,IAAI,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE;QAChC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,yBAAyB,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;KACzH;IAED,sGAAsG;IACtG,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAA;AACtF,CAAC;AAED,SAAS,gBAAgB,CAAE,GAAU;IACnC,uEAAuE;IAEvE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACf,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAA;KACrG;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAA;IAClC,QAAQ,QAAQ,EAAE;QAChB,KAAK,SAAS;YACZ,wBAAwB;YACxB,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAA;QAExF,KAAK,SAAS;YACZ,gFAAgF;YAChF,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAA;QAExC,KAAK,WAAW,CAAC,CAAC,4DAA4D;QAC9E,KAAK,QAAQ,CAAC,CAAC,4DAA4D;QAC3E,KAAK,SAAS,CAAC;QACf;YACE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,6BAA6B,QAAQ,EAAE,EAAE,CAAA;KACjG;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAE,MAAiB,EAAE,GAAU;IACxD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAA;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAA;IACzC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,oCAAoC;IACvF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IAED,MAAM,MAAM,GAAG,MAAM,CAAA;IACrB,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,SAAS,GAAG,GAAG,CAAA;IACrB,MAAM,UAAU,GAAG,IAAI,CAAA;IACvB,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAC1K,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,iCAAiC;QACjC,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAE,MAAiB,EAAE,GAAU;IAC9D,yDAAyD;IAEzD,8BAA8B;IAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAEvC,mDAAmD;IACnD,IAAI,SAAS,CAAC,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;KAClC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE,SAAS,CAAC,CAAA;IAC3D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,KAAK,UAAU,KAAK,CAAE,EAAU;IAC9B,OAAO,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAE,SAAiB;IAChE,MAAM,CAAC,IAAI,CAAC,kDAAkD,SAAS,EAAE,CAAC,CAAA;IAE1E,wDAAwD;IACxD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IAC7C,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;KACzE;IAED,wCAAwC;IACxC,IAAI,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,yDAAyD,cAAc,sBAAsB,CAAC,CAAA;KAC/G;IAED,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;IAC3B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAE1C,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,OAAO;IAEnD,OAAO,IAAI,EAAE;QACX,mBAAmB;QACnB,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,wBAAwB;QAEpF,QAAQ,SAAS,CAAC,KAAK,EAAE;YACvB,KAAK,kBAAkB,CAAC,KAAK;gBAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;gBAC9C,qFAAqF;gBACrF,OAAO,CAAC,CAAA;YAEV,KAAK,kBAAkB,CAAC,MAAM;gBAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;gBACzC,OAAO,CAAC,CAAA;YAEV,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;gBACxC,MAAK;YAEP,KAAK,kBAAkB,CAAC,OAAO,CAAC;YAChC;gBACE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;gBAC1C,MAAK;SACR;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE;YAC3B,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;YAClE,OAAO,GAAG,CAAA,CAAC,UAAU;SACtB;QAED,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;KAClB;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,kBAAkB,CAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;YAC7D,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7E,CAAC;KACF;CACF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,KAAa;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret_store.js","sourceRoot":"","sources":["../../src/secret_store.ts"],"names":[],"mappings":"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"}
|