@skillsmith/cli 0.5.7 → 0.5.8
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 +6 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/commands/login.d.ts +0 -20
- package/dist/src/commands/login.d.ts.map +1 -1
- package/dist/src/commands/login.js +280 -92
- package/dist/src/commands/login.js.map +1 -1
- package/dist/src/commands/login.test.d.ts +0 -6
- package/dist/src/commands/login.test.d.ts.map +1 -1
- package/dist/src/commands/login.test.js +336 -148
- package/dist/src/commands/login.test.js.map +1 -1
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +24 -0
- package/dist/src/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Login Command - Authenticate the Skillsmith CLI
|
|
3
|
-
*
|
|
4
|
-
* SMI-2715: CLI Login Device Flow
|
|
5
|
-
*
|
|
6
|
-
* Opens the Skillsmith dashboard in the browser (or prints the URL for
|
|
7
|
-
* headless/CI environments), prompts for an API key with masked input,
|
|
8
|
-
* validates the format, and stores it securely via @skillsmith/core.
|
|
9
|
-
*
|
|
10
|
-
* Security notes:
|
|
11
|
-
* - No --key <value> flag: would expose the secret in ps aux / shell history
|
|
12
|
-
* - Headless path: SKILLSMITH_API_KEY env var (documented in README)
|
|
13
|
-
* - Always-masked input: @inquirer/prompts password() renders bullets
|
|
14
|
-
*/
|
|
15
1
|
import { Command } from 'commander';
|
|
16
|
-
/**
|
|
17
|
-
* Create the `skillsmith login` command.
|
|
18
|
-
*
|
|
19
|
-
* Options:
|
|
20
|
-
* --no-browser Print URL instead of opening browser (for CI/headless)
|
|
21
|
-
*/
|
|
22
2
|
export declare function createLoginCommand(): Command;
|
|
23
3
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsSnC,wBAAgB,kBAAkB,IAAI,OAAO,CAyD5C"}
|
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* Opens the Skillsmith dashboard in the browser (or prints the URL for
|
|
7
|
-
* headless/CI environments), prompts for an API key with masked input,
|
|
8
|
-
* validates the format, and stores it securely via @skillsmith/core.
|
|
9
|
-
*
|
|
10
|
-
* Security notes:
|
|
11
|
-
* - No --key <value> flag: would expose the secret in ps aux / shell history
|
|
12
|
-
* - Headless path: SKILLSMITH_API_KEY env var (documented in README)
|
|
13
|
-
* - Always-masked input: @inquirer/prompts password() renders bullets
|
|
14
|
-
*/
|
|
1
|
+
// SMI-4402: RFC 8628 device-code OAuth flow replacing paste-key model.
|
|
2
|
+
// --paste-legacy retained as deliberate opt-out (L1 deprecation window).
|
|
3
|
+
// SMI-4454: client_meta on auth-device-code; paste-flow ground-truth echo.
|
|
4
|
+
import { hostname } from 'node:os';
|
|
15
5
|
import { Command } from 'commander';
|
|
16
6
|
import { password } from '@inquirer/prompts';
|
|
17
7
|
import chalk from 'chalk';
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
8
|
+
import { getApiKey, getApiBaseUrl, loadCredentials, storeCredentials, storeApiKey, isValidApiKeyFormat, } from '@skillsmith/core';
|
|
9
|
+
import { VERSION as CLI_VERSION } from '../version.js';
|
|
10
|
+
const DEVICE_PAGE_URL = 'https://skillsmith.app/device';
|
|
11
|
+
const DEVICE_CODE_TIMEOUT_MS = 15 * 60 * 1000;
|
|
12
|
+
const POLL_MS = 5_000;
|
|
13
|
+
const SLOW_DOWN_MS = 10_000;
|
|
14
|
+
// Per plan spec §Wave 3 CLI matrix (C6)
|
|
15
|
+
const EXIT = { success: 0, generic: 1, cancelled: 2, authError: 3, timeout: 4, network: 5 };
|
|
16
|
+
function termCols() {
|
|
17
|
+
return Math.max(40, (process.stdout.columns ?? 80) - 4);
|
|
18
|
+
}
|
|
19
|
+
// OSC 8 hyperlink — degrades to plain URL in unsupported terminals
|
|
20
|
+
function oscLink(label, url) {
|
|
21
|
+
if (!process.stdout.isTTY)
|
|
22
|
+
return url;
|
|
23
|
+
return `\x1b]8;;${url}\x07${label}\x1b]8;;\x07`;
|
|
24
|
+
}
|
|
25
|
+
function renderCodeBox(userCode) {
|
|
26
|
+
const raw = userCode.replace(/-/g, '').toUpperCase();
|
|
27
|
+
const display = raw.length >= 8 ? `${raw.slice(0, 4)}-${raw.slice(4, 8)}` : raw;
|
|
28
|
+
const inner = ` ${display} `;
|
|
29
|
+
const bar = '─'.repeat(inner.length);
|
|
30
|
+
return `┌${bar}┐\n│${inner}│\n└${bar}┘`;
|
|
31
|
+
}
|
|
32
|
+
function isHeadless() {
|
|
26
33
|
return process.env['CI'] === 'true' || (process.platform === 'linux' && !process.env['DISPLAY']);
|
|
27
34
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Attempt to open a URL in the default browser.
|
|
30
|
-
* Returns true if the browser was opened, false otherwise.
|
|
31
|
-
*/
|
|
32
35
|
async function tryOpenBrowser(url) {
|
|
33
36
|
try {
|
|
34
37
|
const { default: open } = await import('open');
|
|
@@ -39,83 +42,268 @@ async function tryOpenBrowser(url) {
|
|
|
39
42
|
return false;
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
// Returns the legacy sk_live_* key from env or config file, or null.
|
|
46
|
+
function detectLegacyKey() {
|
|
47
|
+
const envKey = process.env['SKILLSMITH_API_KEY'];
|
|
48
|
+
if (envKey && /^sk_live_/.test(envKey))
|
|
49
|
+
return envKey;
|
|
50
|
+
const cfgKey = getApiKey();
|
|
51
|
+
if (cfgKey && /^sk_live_/.test(cfgKey))
|
|
52
|
+
return cfgKey;
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
function functionUrl(name) {
|
|
56
|
+
const base = getApiBaseUrl();
|
|
57
|
+
// getApiBaseUrl() already ends with /functions/v1 in production
|
|
58
|
+
return base.endsWith('/functions/v1') ? `${base}/${name}` : `${base}/functions/v1/${name}`;
|
|
59
|
+
}
|
|
60
|
+
async function requestDeviceCode() {
|
|
61
|
+
// SMI-4454: send CLI identity so /device approval page can surface a
|
|
62
|
+
// device-recognition cue ("is this really my terminal?") before approve.
|
|
63
|
+
// Server-side length caps (see supabase/migrations/082) are the defense —
|
|
64
|
+
// this payload is best-effort identity, not security-relevant.
|
|
65
|
+
const res = await fetch(functionUrl('auth-device-code'), {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: { 'Content-Type': 'application/json' },
|
|
68
|
+
body: JSON.stringify({
|
|
69
|
+
client_type: 'cli',
|
|
70
|
+
client_meta: {
|
|
71
|
+
cli_version: CLI_VERSION,
|
|
72
|
+
node_version: process.version,
|
|
73
|
+
platform: process.platform,
|
|
74
|
+
arch: process.arch,
|
|
75
|
+
hostname: hostname(),
|
|
76
|
+
},
|
|
77
|
+
}),
|
|
78
|
+
});
|
|
79
|
+
if (!res.ok)
|
|
80
|
+
throw new Error(`auth-device-code HTTP ${res.status}`);
|
|
81
|
+
return res.json();
|
|
82
|
+
}
|
|
83
|
+
async function pollDeviceToken(deviceCode) {
|
|
84
|
+
const res = await fetch(functionUrl('auth-device-token'), {
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers: { 'Content-Type': 'application/json' },
|
|
87
|
+
body: JSON.stringify({ device_code: deviceCode }),
|
|
88
|
+
});
|
|
89
|
+
if (res.status === 428)
|
|
90
|
+
return { ok: false, status: 'pending' };
|
|
91
|
+
if (res.status === 429)
|
|
92
|
+
return { ok: false, status: 'slow_down' };
|
|
93
|
+
const body = (await res.json().catch(() => ({})));
|
|
94
|
+
if (!res.ok) {
|
|
95
|
+
const err = body['error'] ?? '';
|
|
96
|
+
if (err === 'expired_token')
|
|
97
|
+
return { ok: false, status: 'expired' };
|
|
98
|
+
if (err === 'authorization_declined')
|
|
99
|
+
return { ok: false, status: 'declined' };
|
|
100
|
+
throw new Error(`auth-device-token error: ${err || res.status}`);
|
|
101
|
+
}
|
|
102
|
+
if (typeof body['error'] === 'string') {
|
|
103
|
+
const errVal = body['error'];
|
|
104
|
+
if (errVal === 'authorization_pending')
|
|
105
|
+
return { ok: false, status: 'pending' };
|
|
106
|
+
if (errVal === 'slow_down')
|
|
107
|
+
return { ok: false, status: 'slow_down' };
|
|
108
|
+
if (errVal === 'expired_token')
|
|
109
|
+
return { ok: false, status: 'expired' };
|
|
110
|
+
if (errVal === 'authorization_declined')
|
|
111
|
+
return { ok: false, status: 'declined' };
|
|
112
|
+
throw new Error(`auth-device-token error: ${errVal}`);
|
|
113
|
+
}
|
|
114
|
+
const expiresIn = body['expires_in'] ?? 3600;
|
|
115
|
+
return {
|
|
116
|
+
ok: true,
|
|
117
|
+
creds: {
|
|
118
|
+
accessToken: body['access_token'],
|
|
119
|
+
refreshToken: body['refresh_token'],
|
|
120
|
+
expiresAt: Date.now() + expiresIn * 1000,
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
async function runDeviceCodeFlow(noBrowser) {
|
|
125
|
+
let dc;
|
|
126
|
+
try {
|
|
127
|
+
dc = await requestDeviceCode();
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
if (process.stdout.isTTY) {
|
|
131
|
+
console.error(chalk.red('Network error requesting device code.'));
|
|
132
|
+
if (err instanceof Error)
|
|
133
|
+
console.error(chalk.dim(err.message));
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
process.stderr.write(JSON.stringify({
|
|
137
|
+
error: 'network_error',
|
|
138
|
+
message: err instanceof Error ? err.message : String(err),
|
|
139
|
+
}) + '\n');
|
|
140
|
+
}
|
|
141
|
+
process.exit(EXIT.network);
|
|
142
|
+
}
|
|
143
|
+
const approveUrl = `${DEVICE_PAGE_URL}?user_code=${encodeURIComponent(dc.user_code)}`;
|
|
144
|
+
const width = termCols();
|
|
145
|
+
console.log();
|
|
146
|
+
console.log(chalk.bold('Your one-time code:'));
|
|
147
|
+
console.log(chalk.cyan(renderCodeBox(dc.user_code)));
|
|
148
|
+
console.log();
|
|
149
|
+
console.log(`Enter it at: ${oscLink(chalk.cyan(DEVICE_PAGE_URL), DEVICE_PAGE_URL)}`.slice(0, width));
|
|
150
|
+
console.log(chalk.dim('Code expires in 15 minutes.'));
|
|
151
|
+
console.log();
|
|
152
|
+
if (!noBrowser && !isHeadless()) {
|
|
153
|
+
const opened = await tryOpenBrowser(approveUrl);
|
|
154
|
+
console.log(opened
|
|
155
|
+
? chalk.dim('Browser opened — approve the request, then return here.')
|
|
156
|
+
: chalk.dim(`Could not open browser. Visit the URL above.`));
|
|
157
|
+
}
|
|
158
|
+
else if (noBrowser) {
|
|
159
|
+
console.log(chalk.dim('--no-browser: visit the URL above to approve.'));
|
|
160
|
+
}
|
|
161
|
+
console.log(chalk.dim('Waiting for approval…'));
|
|
162
|
+
let pollMs = POLL_MS;
|
|
163
|
+
const deadline = Date.now() + DEVICE_CODE_TIMEOUT_MS;
|
|
164
|
+
while (Date.now() < deadline) {
|
|
165
|
+
await new Promise((r) => setTimeout(r, pollMs));
|
|
166
|
+
let result;
|
|
167
|
+
try {
|
|
168
|
+
result = await pollDeviceToken(dc.device_code);
|
|
59
169
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (opened) {
|
|
66
|
-
console.log(`Opening ${chalk.cyan(CLI_TOKEN_URL)} in your browser...`);
|
|
170
|
+
catch (err) {
|
|
171
|
+
if (process.stdout.isTTY) {
|
|
172
|
+
console.error(chalk.red('\nNetwork error while polling.'));
|
|
173
|
+
if (err instanceof Error)
|
|
174
|
+
console.error(chalk.dim(err.message));
|
|
67
175
|
}
|
|
68
176
|
else {
|
|
69
|
-
|
|
70
|
-
|
|
177
|
+
process.stderr.write(JSON.stringify({
|
|
178
|
+
error: 'network_error',
|
|
179
|
+
message: err instanceof Error ? err.message : String(err),
|
|
180
|
+
}) + '\n');
|
|
71
181
|
}
|
|
182
|
+
process.exit(EXIT.network);
|
|
72
183
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
184
|
+
if (!result.ok) {
|
|
185
|
+
if (result.status === 'pending')
|
|
186
|
+
continue;
|
|
187
|
+
if (result.status === 'slow_down') {
|
|
188
|
+
pollMs = SLOW_DOWN_MS;
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
if (result.status === 'expired') {
|
|
192
|
+
console.error(chalk.red('\nCode expired. Run `skillsmith login` again.'));
|
|
193
|
+
process.exit(EXIT.timeout);
|
|
194
|
+
}
|
|
195
|
+
// declined
|
|
196
|
+
console.error(chalk.red('\nRequest denied. Run `skillsmith login` again if this was a mistake.'));
|
|
197
|
+
process.exit(EXIT.authError);
|
|
76
198
|
}
|
|
77
|
-
|
|
78
|
-
console.log('\
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
199
|
+
await storeCredentials({ ...result.creds, version: 2 });
|
|
200
|
+
console.log(chalk.green('\nLogged in successfully.'));
|
|
201
|
+
// SMI-4447: close the "did it work?" gap post-login. A single concrete command the
|
|
202
|
+
// user can run in-terminal beats a URL (phishing-safe, no browser context switch).
|
|
203
|
+
console.log(chalk.dim(' Try it: skillsmith skills list'));
|
|
204
|
+
process.exit(EXIT.success);
|
|
205
|
+
}
|
|
206
|
+
console.error(chalk.red('\nApproval timed out. Run `skillsmith login` again.'));
|
|
207
|
+
process.exit(EXIT.timeout);
|
|
208
|
+
}
|
|
209
|
+
async function runPasteLegacyFlow() {
|
|
210
|
+
console.log(`\nVisit: ${chalk.cyan('https://skillsmith.app/account/cli-token')}`);
|
|
211
|
+
console.log('Copy your API key and paste it below.\n');
|
|
212
|
+
let attempts = 0;
|
|
213
|
+
try {
|
|
214
|
+
while (attempts < 3) {
|
|
215
|
+
// SMI-4454: default `•` mask is invisible in some embedded PTYs
|
|
216
|
+
// (Claude Code's among them). Denser ASCII mask + post-paste echo
|
|
217
|
+
// gives the user a ground-truth signal even when the mask character
|
|
218
|
+
// is stripped by the terminal emulator. Echo fires for both valid
|
|
219
|
+
// and invalid keys (validation error follows).
|
|
220
|
+
const raw = await password({
|
|
221
|
+
message: 'Paste your API key:',
|
|
222
|
+
mask: '*',
|
|
223
|
+
});
|
|
224
|
+
console.log(chalk.dim(` Received ${raw.length} characters — validating…`));
|
|
225
|
+
if (!isValidApiKeyFormat(raw)) {
|
|
226
|
+
attempts++;
|
|
227
|
+
if (attempts < 3) {
|
|
228
|
+
console.error(chalk.red(`Invalid format (expected sk_live_…). Try again (${attempts}/3).`));
|
|
100
229
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
try {
|
|
233
|
+
await storeApiKey(raw);
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
console.error(chalk.red('Failed to store credentials: ' + (err instanceof Error ? err.message : String(err))));
|
|
237
|
+
process.exit(EXIT.generic);
|
|
104
238
|
}
|
|
239
|
+
console.log(chalk.green('\nLogged in successfully.'));
|
|
240
|
+
console.log(chalk.dim(' Clear your clipboard when done.'));
|
|
241
|
+
process.exit(EXIT.success);
|
|
105
242
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
243
|
+
}
|
|
244
|
+
catch (err) {
|
|
245
|
+
if (err.name === 'ExitPromptError') {
|
|
246
|
+
console.log(chalk.dim('\nCancelled.'));
|
|
247
|
+
process.exit(EXIT.cancelled);
|
|
248
|
+
}
|
|
249
|
+
throw err;
|
|
250
|
+
}
|
|
251
|
+
console.error(chalk.red('\nToo many invalid attempts.'));
|
|
252
|
+
console.error(chalk.cyan('https://skillsmith.app/account/cli-token'));
|
|
253
|
+
process.exit(EXIT.generic);
|
|
254
|
+
}
|
|
255
|
+
export function createLoginCommand() {
|
|
256
|
+
return new Command('login')
|
|
257
|
+
.description('Authenticate the Skillsmith CLI')
|
|
258
|
+
.option('--no-browser', 'Print URL instead of opening browser (for CI/headless)')
|
|
259
|
+
.option('--paste-legacy', 'Use legacy API-key paste flow')
|
|
260
|
+
.action(async (options) => {
|
|
261
|
+
// Already authenticated via JWT?
|
|
262
|
+
const existing = await loadCredentials();
|
|
263
|
+
if (existing && Date.now() < existing.expiresAt) {
|
|
264
|
+
console.log('Already authenticated. Run `skillsmith logout` to switch accounts.');
|
|
265
|
+
process.exit(EXIT.success);
|
|
266
|
+
}
|
|
267
|
+
// Legacy key detection: offer 3-choice menu (M10)
|
|
268
|
+
const legacyKey = detectLegacyKey();
|
|
269
|
+
if (legacyKey && !options.pasteLegacy) {
|
|
270
|
+
console.log();
|
|
271
|
+
console.log(chalk.yellow('A legacy API key is active.'));
|
|
272
|
+
console.log();
|
|
273
|
+
console.log(` ${chalk.bold('(a)')} Keep using this key [Enter]`);
|
|
274
|
+
console.log(` ${chalk.bold('(d)')} Switch to device-code flow`);
|
|
275
|
+
console.log(` ${chalk.bold('(p)')} Paste a new legacy key`);
|
|
276
|
+
console.log();
|
|
277
|
+
const { default: readline } = await import('readline');
|
|
278
|
+
const rl = readline.createInterface({
|
|
279
|
+
input: process.stdin,
|
|
280
|
+
output: process.stdout,
|
|
281
|
+
terminal: false,
|
|
282
|
+
});
|
|
283
|
+
const choice = await new Promise((resolve) => {
|
|
284
|
+
process.stdout.write('Choice [a]: ');
|
|
285
|
+
rl.once('line', (line) => {
|
|
286
|
+
rl.close();
|
|
287
|
+
resolve(line.trim().toLowerCase());
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
if (choice === '' || choice === 'a') {
|
|
291
|
+
console.log(chalk.dim('Keeping existing key.'));
|
|
292
|
+
process.exit(EXIT.success);
|
|
112
293
|
}
|
|
113
|
-
|
|
294
|
+
else if (choice === 'p') {
|
|
295
|
+
await runPasteLegacyFlow();
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
// 'd' or anything else → device flow
|
|
299
|
+
await runDeviceCodeFlow(!options.browser);
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (options.pasteLegacy) {
|
|
303
|
+
await runPasteLegacyFlow();
|
|
304
|
+
return;
|
|
114
305
|
}
|
|
115
|
-
|
|
116
|
-
console.error(chalk.red('\nToo many invalid attempts. Get a new key at:'));
|
|
117
|
-
console.error(chalk.cyan(CLI_TOKEN_URL));
|
|
118
|
-
process.exit(1);
|
|
306
|
+
await runDeviceCodeFlow(!options.browser);
|
|
119
307
|
});
|
|
120
308
|
}
|
|
121
309
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAElF,mDAAmD;AACnD,MAAM,aAAa,GAAG,0CAA0C,CAAA;AAEhE;;;GAGG;AACH,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAClG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,wDAAwD,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QAC9C,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CACT,0BAA0B,MAAM,CAAC,SAAS,QAAQ;gBAChD,qDAAqD,CACxD,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAA;QACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAA;QAEtD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAA;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAA;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QACxC,CAAC;QAED,oEAAoE;QACpE,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAA;QAEjF,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,YAAY,GAAG,CAAC,CAAA;QAEtB,IAAI,CAAC;YACH,OAAO,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAA;gBAE9D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,QAAQ,EAAE,CAAA;oBACV,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;wBAC5B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,8DAA8D;4BAC5D,cAAc,QAAQ,OAAO,YAAY,IAAI,CAChD,CACF,CAAA;oBACH,CAAC;oBACD,SAAQ;gBACV,CAAC;gBAED,gCAAgC;gBAChC,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,iCAAiC;wBAC/B,CAAC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACpE,CACF,CAAA;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,0EAA0E,CAAC,CACtF,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,oEAAoE;YACpE,MAAM,IAAI,GAAI,SAA+B,CAAC,IAAI,CAAA;YAClD,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,SAAS,CAAA;QACjB,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAA;QAC1E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.test.d.ts","sourceRoot":"","sources":["../../../src/commands/login.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.test.d.ts","sourceRoot":"","sources":["../../../src/commands/login.test.ts"],"names":[],"mappings":""}
|