runway-cli 1.0.0 → 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.
@@ -24,7 +24,7 @@ async function domainCommand() {
24
24
  const response = await axios_1.default.get(`${baseUrl}/api/domain`, {
25
25
  headers: config.token ? { Authorization: `Bearer ${config.token}` } : {},
26
26
  });
27
- domainConfig = response.data;
27
+ domainConfig = response.data.data;
28
28
  spinner.succeed('Configuration loaded');
29
29
  }
30
30
  catch (error) {
@@ -40,7 +40,7 @@ async function domainCommand() {
40
40
  logger_1.logger.blank();
41
41
  // Display current status
42
42
  logger_1.logger.info(`Server IP: ${domainConfig.serverIp || 'Unknown'}`);
43
- logger_1.logger.info(`Security Mode: ${domainConfig.securityMode}`);
43
+ logger_1.logger.info(`Security Mode: ${domainConfig.securityMode || 'ip-http'}`);
44
44
  if (domainConfig.domain) {
45
45
  const d = domainConfig.domain;
46
46
  logger_1.logger.info(`Domain: ${d.domain}`);
@@ -173,4 +173,4 @@ async function removeDomain(baseUrl, token) {
173
173
  logger_1.logger.error(error.response?.data?.error || error.message);
174
174
  }
175
175
  }
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWlCQSxzQ0FpRkM7QUFsR0Qsd0RBQWdDO0FBQ2hDLGtEQUEwQjtBQUMxQiw4Q0FBc0I7QUFDdEIsNENBQTBEO0FBQzFELDRDQUF5QztBQWFsQyxLQUFLLFVBQVUsYUFBYTtJQUNqQyxlQUFNLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFN0MsSUFBSSxDQUFDLElBQUEscUJBQVksR0FBRSxFQUFFLENBQUM7UUFDcEIsZUFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzdELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQkFBUyxHQUFFLENBQUM7SUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUVqQyw4QkFBOEI7SUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBQSxhQUFHLEVBQUMsa0NBQWtDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoRSxJQUFJLFlBQTBCLENBQUM7SUFFL0IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxhQUFhLEVBQUU7WUFDeEQsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDekUsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDN0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMs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VCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxhQUFHLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUVsRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLGFBQWEsRUFBRTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDM0QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLGVBQU0sQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlucXVpcmVyIGZyb20gJ2lucXVpcmVyJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgeyBnZXRDb25maWcsIGlzQ29uZmlndXJlZCB9IGZyb20gJy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi91dGlscy9sb2dnZXInO1xuXG5pbnRlcmZhY2UgRG9tYWluQ29uZmlnIHtcbiAgZG9tYWluPzoge1xuICAgIGRvbWFpbjogc3RyaW5nO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbiAgICB2ZXJpZmljYXRpb25TdGF0dXM6ICdwZW5kaW5nJyB8ICd2ZXJpZmllZCcgfCAnZmFpbGVkJztcbiAgICBmYWlsdXJlUmVhc29uPzogc3RyaW5nO1xuICB9O1xuICBzZWN1cml0eU1vZGU6ICdpcC1odHRwJyB8ICdkb21haW4taHR0cHMnO1xuICBzZXJ2ZXJJcD86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvbWFpbkNvbW1hbmQoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxvZ2dlci5oZWFkZXIoJ1J1bndheSBEb21haW4gQ29uZmlndXJhdGlvbicpO1xuXG4gIGlmICghaXNDb25maWd1cmVkKCkpIHtcbiAgICBsb2dnZXIuZXJyb3IoJ0NMSSBub3QgY29uZmlndXJlZC4gUnVuIFwicnVud2F5IGluaXRcIiBmaXJzdC4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgYmFzZVVybCA9IGNvbmZpZy5zZXJ2ZXJVcmw7XG5cbiAgLy8gRmV0Y2ggY3VycmVudCBkb21haW4gY29uZmlnXG4gIGNvbnN0IHNwaW5uZXIgPSBvcmEoJ0ZldGNoaW5nIGRvbWFpbiBjb25maWd1cmF0aW9uLi4uJykuc3RhcnQoKTtcbiAgbGV0IGRvbWFpbkNvbmZpZzogRG9tYWluQ29uZmlnO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoYCR7YmFzZVVybH0vYXBpL2RvbWFpbmAsIHtcbiAgICAgIGhlYWRlcnM6IGNvbmZpZy50b2tlbiA/IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvbmZpZy50b2tlbn1gIH0gOiB7fSxcbiAgICB9KTtcbiAgICBkb21haW5Db25maWcgPSByZXNwb25zZS5kYXRhO1xuICAgIHNwaW5uZXIuc3VjY2VlZCgnQ29uZmlndXJhdGlvbiBsb2FkZWQnKTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGZldGNoIGNvbmZpZ3VyYXRpb24nKTtcbiAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZC4gUnVuIFwicnVud2F5IGluaXRcIiB0byByZS1hdXRoZW50aWNhdGUuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvci5yZXNwb25zZT8uZGF0YT8uZXJyb3IgfHwgZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGxvZ2dlci5ibGFuaygpO1xuXG4gIC8vIERpc3BsYXkgY3VycmVudCBzdGF0dXNcbiAgbG9nZ2VyLmluZm8oYFNlcnZlciBJUDogJHtkb21haW5Db25maWcuc2VydmVySXAgfHwgJ1Vua25vd24nfWApO1xuICBsb2dnZXIuaW5mbyhgU2VjdXJpdHkgTW9kZTogJHtkb21haW5Db25maWcuc2VjdXJpdHlNb2RlfWApO1xuXG4gIGlmIChkb21haW5Db25maWcuZG9tYWluKSB7XG4gICAgY29uc3QgZCA9IGRvbWFpbkNvbmZpZy5kb21haW47XG4gICAgbG9nZ2VyLmluZm8oYERvbWFpbjogJHtkLmRvbWFpbn1gKTtcbiAgICBsb2dnZXIuaW5mbyhgU3RhdHVzOiAke2QudmVyaWZpY2F0aW9uU3RhdHVzfSR7ZC5hY3RpdmUgPyAnIChBY3RpdmUpJyA6ICcnfWApO1xuICAgIGlmIChkLmZhaWx1cmVSZWFzb24pIHtcbiAgICAgIGxvZ2dlci53YXJuKGBGYWlsdXJlOiAke2QuZmFpbHVyZVJlYXNvbn1gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLmRpbSgnTm8gZG9tYWluIGNvbmZpZ3VyZWQnKTtcbiAgfVxuXG4gIGxvZ2dlci5ibGFuaygpO1xuXG4gIC8vIFNob3cgYWN0aW9uIG1lbnVcbiAgY29uc3QgY2hvaWNlcyA9IGRvbWFpbkNvbmZpZy5kb21haW5cbiAgICA/IFtcbiAgICAgICAgeyBuYW1lOiAnUmUtdmVyaWZ5IGRvbWFpbicsIHZhbHVlOiAndmVyaWZ5JyB9LFxuICAgICAgICB7IG5hbWU6ICdDaGFuZ2UgZG9tYWluJywgdmFsdWU6ICdjaGFuZ2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ1JlbW92ZSBkb21haW4nLCB2YWx1ZTogJ3JlbW92ZScgfSxcbiAgICAgICAgeyBuYW1lOiAnRXhpdCcsIHZhbHVlOiAnZXhpdCcgfSxcbiAgICAgIF1cbiAgICA6IFtcbiAgICAgICAgeyBuYW1lOiAnQ29uZmlndXJlIGRvbWFpbicsIHZhbHVlOiAnYWRkJyB9LFxuICAgICAgICB7IG5hbWU6ICdFeGl0JywgdmFsdWU6ICdleGl0JyB9LFxuICAgICAgXTtcblxuICBjb25zdCB7IGFjdGlvbiB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnbGlzdCcsXG4gICAgICBuYW1lOiAnYWN0aW9uJyxcbiAgICAgIG1lc3NhZ2U6ICdXaGF0IHdvdWxkIHlvdSBsaWtlIHRvIGRvPycsXG4gICAgICBjaG9pY2VzLFxuICAgIH0sXG4gIF0pO1xuXG4gIGlmIChhY3Rpb24gPT09ICdleGl0JykgcmV0dXJuO1xuXG4gIGlmIChhY3Rpb24gPT09ICd2ZXJpZnknKSB7XG4gICAgYXdhaXQgdmVyaWZ5RG9tYWluKGJhc2VVcmwhLCBjb25maWcudG9rZW4pO1xuICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ2FkZCcgfHwgYWN0aW9uID09PSAnY2hhbmdlJykge1xuICAgIGF3YWl0IGNvbmZpZ3VyZURvbWFpbihiYXNlVXJsISwgY29uZmlnLnRva2VuLCBkb21haW5Db25maWcuc2VydmVySXApO1xuICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICBhd2FpdCByZW1vdmVEb21haW4oYmFzZVVybCEsIGNvbmZpZy50b2tlbik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlRG9tYWluKFxuICBiYXNlVXJsOiBzdHJpbmcsXG4gIHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHNlcnZlcklwPzogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbG9nZ2VyLmJsYW5rKCk7XG4gIGlmIChzZXJ2ZXJJcCkge1xuICAgIGxvZ2dlci5pbmZvKCdCZWZvcmUgY29uZmlndXJpbmcsIGVuc3VyZSB5b3VyIGRvbWFpbiBoYXMgYW4gQSByZWNvcmQgcG9pbnRpbmcgdG86Jyk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoYCAgJHtzZXJ2ZXJJcH1gKTtcbiAgICBsb2dnZXIuYmxhbmsoKTtcbiAgfVxuXG4gIGNvbnN0IHsgZG9tYWluIH0gPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICBuYW1lOiAnZG9tYWluJyxcbiAgICAgIG1lc3NhZ2U6ICdFbnRlciBkb21haW4gKGUuZy4sIGFwcC5leGFtcGxlLmNvbSk6JyxcbiAgICAgIHZhbGlkYXRlOiAoaW5wdXQ6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoIWlucHV0LnRyaW0oKSkgcmV0dXJuICdEb21haW4gaXMgcmVxdWlyZWQnO1xuICAgICAgICBpZiAoIS9eKFthLXowLTldKygtW2EtejAtOV0rKSpcXC4pK1thLXpdezIsfSQvaS50ZXN0KGlucHV0KSkge1xuICAgICAgICAgIHJldHVybiAnSW52YWxpZCBkb21haW4gZm9ybWF0JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfSxcbiAgXSk7XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnVmVyaWZ5aW5nIGRvbWFpbiBETlMuLi4nKS5zdGFydCgpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KFxuICAgICAgYCR7YmFzZVVybH0vYXBpL2RvbWFpbmAsXG4gICAgICB7IGRvbWFpbjogZG9tYWluLnRvTG93ZXJDYXNlKCkgfSxcbiAgICAgIHsgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5kYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRG9tYWluIGNvbmZpZ3VyZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoXCJIVFRQUyBpcyBub3cgYWN0aXZlIHZpYSBMZXQncyBFbmNyeXB0XCIpO1xuICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgICBsb2dnZXIuaW5mbyhgWW91ciBzZXJ2ZXIgaXMgbm93IGFjY2Vzc2libGUgYXQ6IGh0dHBzOi8vJHtkb21haW4udG9Mb3dlckNhc2UoKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Bpbm5lci5mYWlsKCdEb21haW4gdmVyaWZpY2F0aW9uIGZhaWxlZCcpO1xuICAgICAgaWYgKHJlc3BvbnNlLmRhdGEudmVyaWZpY2F0aW9uUmVzdWx0Py5lcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IocmVzcG9uc2UuZGF0YS52ZXJpZmljYXRpb25SZXN1bHQuZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGNvbmZpZ3VyZSBkb21haW4nKTtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IucmVzcG9uc2U/LmRhdGE/LmVycm9yIHx8IGVycm9yLm1lc3NhZ2UpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHZlcmlmeURvbWFpbihiYXNlVXJsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnUmUtdmVyaWZ5aW5nIGRvbWFpbi4uLicpLnN0YXJ0KCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXG4gICAgICBgJHtiYXNlVXJsfS9hcGkvZG9tYWluL3ZlcmlmeWAsXG4gICAgICB7fSxcbiAgICAgIHsgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5kYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRG9tYWluIHZlcmlmaWVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Bpbm5lci5mYWlsKCdWZXJpZmljYXRpb24gZmFpbGVkJyk7XG4gICAgICBpZiAocmVzcG9uc2UuZGF0YS52ZXJpZmljYXRpb25SZXN1bHQ/LmVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihyZXNwb25zZS5kYXRhLnZlcmlmaWNhdGlvblJlc3VsdC5lcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgc3Bpbm5lci5mYWlsKCdWZXJpZmljYXRpb24gZmFpbGVkJyk7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fCBlcnJvci5tZXNzYWdlKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZW1vdmVEb21haW4oYmFzZVVybDogc3RyaW5nLCB0b2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgY29uZmlybSB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgICBuYW1lOiAnY29uZmlybScsXG4gICAgICBtZXNzYWdlOiAnVGhpcyB3aWxsIHJlbW92ZSBIVFRQUyBhbmQgcmV2ZXJ0IHRvIElQLWJhc2VkIGFjY2Vzcy4gQ29udGludWU/JyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0sXG4gIF0pO1xuXG4gIGlmICghY29uZmlybSkge1xuICAgIGxvZ2dlci53YXJuKCdDYW5jZWxsZWQuJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnUmVtb3ZpbmcgZG9tYWluLi4uJykuc3RhcnQoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGF4aW9zLmRlbGV0ZShgJHtiYXNlVXJsfS9hcGkvZG9tYWluYCwge1xuICAgICAgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSxcbiAgICB9KTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0RvbWFpbiByZW1vdmVkJyk7XG4gICAgbG9nZ2VyLmRpbSgnU2VydmVyIGlzIG5vdyBhY2Nlc3NpYmxlIHZpYSBJUCBhZGRyZXNzIG9ubHknKTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIHJlbW92ZSBkb21haW4nKTtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IucmVzcG9uc2U/LmRhdGE/LmVycm9yIHx8IGVycm9yLm1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSxzQ0FpRkM7QUFwR0Qsd0RBQWdDO0FBQ2hDLGtEQUEwQjtBQUMxQiw4Q0FBc0I7QUFDdEIsNENBQTBEO0FBQzFELDRDQUF5QztBQWVsQyxLQUFLLFVBQVUsYUFBYTtJQUNqQyxlQUFNLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFN0MsSUFBSSxDQUFDLElBQUEscUJBQVksR0FBRSxFQUFFLENBQUM7UUFDcEIsZUFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzdELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQkFBUyxHQUFFLENBQUM7SUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUVqQyw4QkFBOEI7SUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBQSxhQUFHLEVBQUMsa0NBQWtDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoRSxJQUFJLFlBQTBCLENBQUM7SUFFL0IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxhQUFhLEVBQUU7WUFDeEQsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDekUsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMs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LENBQUM7UUFDMUIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFBLGFBQUcsRUFBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRWxELElBQUksQ0FBQztRQUNILE1BQU0sZUFBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sYUFBYSxFQUFFO1lBQzFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMzRCxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEMsZUFBTSxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN4QyxlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5xdWlyZXIgZnJvbSAnaW5xdWlyZXInO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBvcmEgZnJvbSAnb3JhJztcbmltcG9ydCB7IGdldENvbmZpZywgaXNDb25maWd1cmVkIH0gZnJvbSAnLi4vdXRpbHMvY29uZmlnJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL3V0aWxzL2xvZ2dlcic7XG5cbmludGVyZmFjZSBEb21haW5JbmZvIHtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgdmVyaWZpY2F0aW9uU3RhdHVzOiAncGVuZGluZycgfCAndmVyaWZpZWQnIHwgJ2ZhaWxlZCc7XG4gIGZhaWx1cmVSZWFzb24/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBEb21haW5Db25maWcge1xuICBkb21haW46IERvbWFpbkluZm8gfCBudWxsO1xuICBzZWN1cml0eU1vZGU6ICdpcC1odHRwJyB8ICdkb21haW4taHR0cHMnO1xuICBzZXJ2ZXJJcDogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvbWFpbkNvbW1hbmQoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxvZ2dlci5oZWFkZXIoJ1J1bndheSBEb21haW4gQ29uZmlndXJhdGlvbicpO1xuXG4gIGlmICghaXNDb25maWd1cmVkKCkpIHtcbiAgICBsb2dnZXIuZXJyb3IoJ0NMSSBub3QgY29uZmlndXJlZC4gUnVuIFwicnVud2F5IGluaXRcIiBmaXJzdC4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgY29uc3QgYmFzZVVybCA9IGNvbmZpZy5zZXJ2ZXJVcmw7XG5cbiAgLy8gRmV0Y2ggY3VycmVudCBkb21haW4gY29uZmlnXG4gIGNvbnN0IHNwaW5uZXIgPSBvcmEoJ0ZldGNoaW5nIGRvbWFpbiBjb25maWd1cmF0aW9uLi4uJykuc3RhcnQoKTtcbiAgbGV0IGRvbWFpbkNvbmZpZzogRG9tYWluQ29uZmlnO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoYCR7YmFzZVVybH0vYXBpL2RvbWFpbmAsIHtcbiAgICAgIGhlYWRlcnM6IGNvbmZpZy50b2tlbiA/IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvbmZpZy50b2tlbn1gIH0gOiB7fSxcbiAgICB9KTtcbiAgICBkb21haW5Db25maWcgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc3Bpbm5lci5zdWNjZWVkKCdDb25maWd1cmF0aW9uIGxvYWRlZCcpO1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gZmV0Y2ggY29uZmlndXJhdGlvbicpO1xuICAgIGlmIChlcnJvci5yZXNwb25zZT8uc3RhdHVzID09PSA0MDEpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignQXV0aGVudGljYXRpb24gZmFpbGVkLiBSdW4gXCJydW53YXkgaW5pdFwiIHRvIHJlLWF1dGhlbnRpY2F0ZS4nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fCBlcnJvci5tZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbG9nZ2VyLmJsYW5rKCk7XG5cbiAgLy8gRGlzcGxheSBjdXJyZW50IHN0YXR1c1xuICBsb2dnZXIuaW5mbyhgU2VydmVyIElQOiAke2RvbWFpbkNvbmZpZy5zZXJ2ZXJJcCB8fCAnVW5rbm93bid9YCk7XG4gIGxvZ2dlci5pbmZvKGBTZWN1cml0eSBNb2RlOiAke2RvbWFpbkNvbmZpZy5zZWN1cml0eU1vZGUgfHwgJ2lwLWh0dHAnfWApO1xuXG4gIGlmIChkb21haW5Db25maWcuZG9tYWluKSB7XG4gICAgY29uc3QgZCA9IGRvbWFpbkNvbmZpZy5kb21haW47XG4gICAgbG9nZ2VyLmluZm8oYERvbWFpbjogJHtkLmRvbWFpbn1gKTtcbiAgICBsb2dnZXIuaW5mbyhgU3RhdHVzOiAke2QudmVyaWZpY2F0aW9uU3RhdHVzfSR7ZC5hY3RpdmUgPyAnIChBY3RpdmUpJyA6ICcnfWApO1xuICAgIGlmIChkLmZhaWx1cmVSZWFzb24pIHtcbiAgICAgIGxvZ2dlci53YXJuKGBGYWlsdXJlOiAke2QuZmFpbHVyZVJlYXNvbn1gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLmRpbSgnTm8gZG9tYWluIGNvbmZpZ3VyZWQnKTtcbiAgfVxuXG4gIGxvZ2dlci5ibGFuaygpO1xuXG4gIC8vIFNob3cgYWN0aW9uIG1lbnVcbiAgY29uc3QgY2hvaWNlcyA9IGRvbWFpbkNvbmZpZy5kb21haW5cbiAgICA/IFtcbiAgICAgICAgeyBuYW1lOiAnUmUtdmVyaWZ5IGRvbWFpbicsIHZhbHVlOiAndmVyaWZ5JyB9LFxuICAgICAgICB7IG5hbWU6ICdDaGFuZ2UgZG9tYWluJywgdmFsdWU6ICdjaGFuZ2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ1JlbW92ZSBkb21haW4nLCB2YWx1ZTogJ3JlbW92ZScgfSxcbiAgICAgICAgeyBuYW1lOiAnRXhpdCcsIHZhbHVlOiAnZXhpdCcgfSxcbiAgICAgIF1cbiAgICA6IFtcbiAgICAgICAgeyBuYW1lOiAnQ29uZmlndXJlIGRvbWFpbicsIHZhbHVlOiAnYWRkJyB9LFxuICAgICAgICB7IG5hbWU6ICdFeGl0JywgdmFsdWU6ICdleGl0JyB9LFxuICAgICAgXTtcblxuICBjb25zdCB7IGFjdGlvbiB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnbGlzdCcsXG4gICAgICBuYW1lOiAnYWN0aW9uJyxcbiAgICAgIG1lc3NhZ2U6ICdXaGF0IHdvdWxkIHlvdSBsaWtlIHRvIGRvPycsXG4gICAgICBjaG9pY2VzLFxuICAgIH0sXG4gIF0pO1xuXG4gIGlmIChhY3Rpb24gPT09ICdleGl0JykgcmV0dXJuO1xuXG4gIGlmIChhY3Rpb24gPT09ICd2ZXJpZnknKSB7XG4gICAgYXdhaXQgdmVyaWZ5RG9tYWluKGJhc2VVcmwhLCBjb25maWcudG9rZW4pO1xuICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ2FkZCcgfHwgYWN0aW9uID09PSAnY2hhbmdlJykge1xuICAgIGF3YWl0IGNvbmZpZ3VyZURvbWFpbihiYXNlVXJsISwgY29uZmlnLnRva2VuLCBkb21haW5Db25maWcuc2VydmVySXApO1xuICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICBhd2FpdCByZW1vdmVEb21haW4oYmFzZVVybCEsIGNvbmZpZy50b2tlbik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlRG9tYWluKFxuICBiYXNlVXJsOiBzdHJpbmcsXG4gIHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHNlcnZlcklwOiBzdHJpbmcgfCBudWxsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbG9nZ2VyLmJsYW5rKCk7XG4gIGlmIChzZXJ2ZXJJcCkge1xuICAgIGxvZ2dlci5pbmZvKCdCZWZvcmUgY29uZmlndXJpbmcsIGVuc3VyZSB5b3VyIGRvbWFpbiBoYXMgYW4gQSByZWNvcmQgcG9pbnRpbmcgdG86Jyk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoYCAgJHtzZXJ2ZXJJcH1gKTtcbiAgICBsb2dnZXIuYmxhbmsoKTtcbiAgfVxuXG4gIGNvbnN0IHsgZG9tYWluIH0gPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICBuYW1lOiAnZG9tYWluJyxcbiAgICAgIG1lc3NhZ2U6ICdFbnRlciBkb21haW4gKGUuZy4sIGFwcC5leGFtcGxlLmNvbSk6JyxcbiAgICAgIHZhbGlkYXRlOiAoaW5wdXQ6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoIWlucHV0LnRyaW0oKSkgcmV0dXJuICdEb21haW4gaXMgcmVxdWlyZWQnO1xuICAgICAgICBpZiAoIS9eKFthLXowLTldKygtW2EtejAtOV0rKSpcXC4pK1thLXpdezIsfSQvaS50ZXN0KGlucHV0KSkge1xuICAgICAgICAgIHJldHVybiAnSW52YWxpZCBkb21haW4gZm9ybWF0JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfSxcbiAgXSk7XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnVmVyaWZ5aW5nIGRvbWFpbiBETlMuLi4nKS5zdGFydCgpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KFxuICAgICAgYCR7YmFzZVVybH0vYXBpL2RvbWFpbmAsXG4gICAgICB7IGRvbWFpbjogZG9tYWluLnRvTG93ZXJDYXNlKCkgfSxcbiAgICAgIHsgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5kYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRG9tYWluIGNvbmZpZ3VyZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoXCJIVFRQUyBpcyBub3cgYWN0aXZlIHZpYSBMZXQncyBFbmNyeXB0XCIpO1xuICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgICBsb2dnZXIuaW5mbyhgWW91ciBzZXJ2ZXIgaXMgbm93IGFjY2Vzc2libGUgYXQ6IGh0dHBzOi8vJHtkb21haW4udG9Mb3dlckNhc2UoKX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Bpbm5lci5mYWlsKCdEb21haW4gdmVyaWZpY2F0aW9uIGZhaWxlZCcpO1xuICAgICAgaWYgKHJlc3BvbnNlLmRhdGEudmVyaWZpY2F0aW9uUmVzdWx0Py5lcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IocmVzcG9uc2UuZGF0YS52ZXJpZmljYXRpb25SZXN1bHQuZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIGNvbmZpZ3VyZSBkb21haW4nKTtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IucmVzcG9uc2U/LmRhdGE/LmVycm9yIHx8IGVycm9yLm1lc3NhZ2UpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHZlcmlmeURvbWFpbihiYXNlVXJsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnUmUtdmVyaWZ5aW5nIGRvbWFpbi4uLicpLnN0YXJ0KCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXG4gICAgICBgJHtiYXNlVXJsfS9hcGkvZG9tYWluL3ZlcmlmeWAsXG4gICAgICB7fSxcbiAgICAgIHsgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5kYXRhLnN1Y2Nlc3MpIHtcbiAgICAgIHNwaW5uZXIuc3VjY2VlZCgnRG9tYWluIHZlcmlmaWVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Bpbm5lci5mYWlsKCdWZXJpZmljYXRpb24gZmFpbGVkJyk7XG4gICAgICBpZiAocmVzcG9uc2UuZGF0YS52ZXJpZmljYXRpb25SZXN1bHQ/LmVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihyZXNwb25zZS5kYXRhLnZlcmlmaWNhdGlvblJlc3VsdC5lcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgc3Bpbm5lci5mYWlsKCdWZXJpZmljYXRpb24gZmFpbGVkJyk7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fCBlcnJvci5tZXNzYWdlKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZW1vdmVEb21haW4oYmFzZVVybDogc3RyaW5nLCB0b2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgY29uZmlybSB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgICBuYW1lOiAnY29uZmlybScsXG4gICAgICBtZXNzYWdlOiAnVGhpcyB3aWxsIHJlbW92ZSBIVFRQUyBhbmQgcmV2ZXJ0IHRvIElQLWJhc2VkIGFjY2Vzcy4gQ29udGludWU/JyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0sXG4gIF0pO1xuXG4gIGlmICghY29uZmlybSkge1xuICAgIGxvZ2dlci53YXJuKCdDYW5jZWxsZWQuJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3Bpbm5lciA9IG9yYSgnUmVtb3ZpbmcgZG9tYWluLi4uJykuc3RhcnQoKTtcblxuICB0cnkge1xuICAgIGF3YWl0IGF4aW9zLmRlbGV0ZShgJHtiYXNlVXJsfS9hcGkvZG9tYWluYCwge1xuICAgICAgaGVhZGVyczogdG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7fSxcbiAgICB9KTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0RvbWFpbiByZW1vdmVkJyk7XG4gICAgbG9nZ2VyLmRpbSgnU2VydmVyIGlzIG5vdyBhY2Nlc3NpYmxlIHZpYSBJUCBhZGRyZXNzIG9ubHknKTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHNwaW5uZXIuZmFpbCgnRmFpbGVkIHRvIHJlbW92ZSBkb21haW4nKTtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IucmVzcG9uc2U/LmRhdGE/LmVycm9yIHx8IGVycm9yLm1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
@@ -127,11 +127,37 @@ async function initCommand(options) {
127
127
  logger_1.logger.info('Authenticating...');
128
128
  try {
129
129
  const authResult = await authService.authenticate(credentials.username, credentials.password);
130
- // Save configuration with all auth data
131
- (0, config_1.setServerUrl)(serverUrl);
132
- (0, config_1.setAuthData)(authResult.token, authResult.expiresAt, authResult.securityMode);
133
- logger_1.logger.blank();
134
- logger_1.logger.success('Configuration saved successfully!');
130
+ // Check if password reset is required
131
+ if (authResult.mustResetPassword) {
132
+ logger_1.logger.blank();
133
+ logger_1.logger.warn('⚠️ Password reset required');
134
+ logger_1.logger.info('You are using the default password. Please set a new password to continue.');
135
+ logger_1.logger.blank();
136
+ // Prompt for new password
137
+ const resetResult = await promptPasswordReset(authService, credentials.password);
138
+ if (resetResult) {
139
+ // Save configuration with new token
140
+ (0, config_1.setServerUrl)(serverUrl);
141
+ (0, config_1.setAuthData)(resetResult.token, resetResult.expiresAt, resetResult.securityMode);
142
+ logger_1.logger.blank();
143
+ logger_1.logger.success('Password updated and configuration saved!');
144
+ }
145
+ else {
146
+ // User skipped password reset, save with current token but warn
147
+ (0, config_1.setServerUrl)(serverUrl);
148
+ (0, config_1.setAuthData)(authResult.token, authResult.expiresAt, authResult.securityMode);
149
+ logger_1.logger.blank();
150
+ logger_1.logger.warn('Configuration saved, but password reset is still required.');
151
+ logger_1.logger.dim('You will be prompted to reset your password on next login.');
152
+ }
153
+ }
154
+ else {
155
+ // Save configuration with all auth data
156
+ (0, config_1.setServerUrl)(serverUrl);
157
+ (0, config_1.setAuthData)(authResult.token, authResult.expiresAt, authResult.securityMode);
158
+ logger_1.logger.blank();
159
+ logger_1.logger.success('Configuration saved successfully!');
160
+ }
135
161
  logger_1.logger.blank();
136
162
  logger_1.logger.info('You can now deploy projects with:');
137
163
  logger_1.logger.dim(' runway deploy');
@@ -148,6 +174,60 @@ async function initCommand(options) {
148
174
  logger_1.logger.dim('Check your credentials and try again.');
149
175
  }
150
176
  }
177
+ /**
178
+ * Prompt user to reset their password
179
+ */
180
+ async function promptPasswordReset(authService, currentPassword) {
181
+ const { resetNow } = await inquirer_1.default.prompt([
182
+ {
183
+ type: 'confirm',
184
+ name: 'resetNow',
185
+ message: 'Would you like to reset your password now?',
186
+ default: true,
187
+ },
188
+ ]);
189
+ if (!resetNow) {
190
+ return null;
191
+ }
192
+ // Get new password with confirmation
193
+ const newPasswordAnswers = await inquirer_1.default.prompt([
194
+ {
195
+ type: 'password',
196
+ name: 'newPassword',
197
+ message: 'Enter new password (min. 6 characters):',
198
+ validate: (input) => {
199
+ if (input.length < 6) {
200
+ return 'Password must be at least 6 characters';
201
+ }
202
+ return true;
203
+ },
204
+ },
205
+ {
206
+ type: 'password',
207
+ name: 'confirmPassword',
208
+ message: 'Confirm new password:',
209
+ validate: (input, answers) => {
210
+ if (input !== answers?.newPassword) {
211
+ return 'Passwords do not match';
212
+ }
213
+ return true;
214
+ },
215
+ },
216
+ ]);
217
+ logger_1.logger.info('Updating password...');
218
+ try {
219
+ const resetResult = await authService.resetPassword(currentPassword, newPasswordAnswers.newPassword);
220
+ return {
221
+ token: resetResult.token,
222
+ expiresAt: resetResult.expiresAt,
223
+ securityMode: resetResult.securityMode,
224
+ };
225
+ }
226
+ catch (error) {
227
+ logger_1.logger.error('Failed to reset password. Please try again later.');
228
+ return null;
229
+ }
230
+ }
151
231
  /**
152
232
  * Legacy authentication for servers without CLI auth support
153
233
  */
@@ -193,4 +273,4 @@ async function legacyAuth(serverUrl) {
193
273
  }
194
274
  }
195
275
  }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsa0NBeUpDO0FBbktELHdEQUFnQztBQUNoQyxrREFBMEI7QUFDMUIsNENBQXFGO0FBQ3JGLDRDQUF5QztBQUN6Qyx5REFBc0Q7QUFNL0MsS0FBSyxVQUFVLFdBQVcsQ0FBQyxPQUFvQjtJQUNwRCxlQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbEMsOEJBQThCO0lBQzlCLElBQUksSUFBQSxxQkFBWSxHQUFFLEVBQUUsQ0FBQztRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUMzQixlQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixlQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixNQUFNLENBQUMsWUFBWSxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMvRyxDQUFDO1FBRUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUM7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU8sRUFBRSw2QkFBNkI7Z0JBQ3RDLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsZUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixJQUFJLFNBQVMsR0FBRyxPQUFPLENB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QyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDO2FBQU0sQ0FBQztZQUNOLGVBQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbnF1aXJlciBmcm9tICdpbnF1aXJlcic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgc2V0U2VydmVyVXJsLCBzZXRBdXRoRGF0YSwgZ2V0Q29uZmlnLCBpc0NvbmZpZ3VyZWQgfSBmcm9tICcuLi91dGlscy9jb25maWcnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvbG9nZ2VyJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aFNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgSW5pdE9wdGlvbnMge1xuICBzZXJ2ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbml0Q29tbWFuZChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBsb2dnZXIuaGVhZGVyKCdSdW53YXkgQ0xJIFNldHVwJyk7XG5cbiAgLy8gQ2hlY2sgaWYgYWxyZWFkeSBjb25maWd1cmVkXG4gIGlmIChpc0NvbmZpZ3VyZWQoKSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZygpO1xuICAgIGxvZ2dlci5pbmZvKGBDdXJyZW50bHkgY29uZmlndXJlZCB0bzogJHtjb25maWcuc2VydmVyVXJsfWApO1xuICAgIGlmIChjb25maWcuc2VjdXJpdHlNb2RlKSB7XG4gICAgICBsb2dnZXIuZGltKGBTZWN1cml0eSBtb2RlOiAke2NvbmZpZy5zZWN1cml0eU1vZGUgPT09ICdkb21haW4taHR0cHMnID8gJ0hUVFBTIChzZWN1cmUpJyA6ICdIVFRQIChsaW1pdGVkKSd9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZWNvbmZpZ3VyZSB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgICBuYW1lOiAncmVjb25maWd1cmUnLFxuICAgICAgICBtZXNzYWdlOiAnRG8geW91IHdhbnQgdG8gcmVjb25maWd1cmU/JyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgaWYgKCFyZWNvbmZpZ3VyZSkge1xuICAgICAgbG9nZ2VyLmluZm8oJ0NvbmZpZ3VyYXRpb24gdW5jaGFuZ2VkLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBzZXJ2ZXIgVVJMXG4gIGxldCBzZXJ2ZXJVcmwgPSBvcHRpb25zLnNlcnZlcjtcblxuICBpZiAoIXNlcnZlclVybCkge1xuICAgIGNvbnN0IGFuc3dlcnMgPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICBuYW1lOiAnc2VydmVyVXJsJyxcbiAgICAgICAgbWVzc2FnZTogJ0VudGVyIHlvdXIgUnVud2F5IHNlcnZlciBVUkw6JyxcbiAgICAgICAgZGVmYXVsdDogJ2h0dHBzOi8vZGVwbG95LmV4YW1wbGUuY29tJyxcbiAgICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG5ldyBVUkwoaW5wdXQpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gJ1BsZWFzZSBlbnRlciBhIHZhbGlkIFVSTCc7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBzZXJ2ZXJVcmwgPSBhbnN3ZXJzLnNlcnZlclVybCBhcyBzdHJpbmc7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgVVJMXG4gIHNlcnZlclVybCA9IHNlcnZlclVybCEucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG5cbiAgLy8gVGVzdCBjb25uZWN0aW9uXG4gIGxvZ2dlci5pbmZvKCdUZXN0aW5nIGNvbm5lY3Rpb24uLi4nKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBheGlvcy5nZXQoYCR7c2VydmVyVXJsfS9oZWFsdGhgLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgIGxvZ2dlci5zdWNjZXNzKCdTZXJ2ZXIgaXMgcmVhY2hhYmxlJyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBDYW5ub3QgcmVhY2ggc2VydmVyIGF0ICR7c2VydmVyVXJsfWApO1xuICAgIGxvZ2dlci5kaW0oJ01ha2Ugc3VyZSB0aGUgc2VydmVyIGlzIHJ1bm5pbmcgYW5kIHRoZSBVUkwgaXMgY29ycmVjdC4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBJbml0aWFsaXplIGF1dGggc2VydmljZVxuICBjb25zdCBhdXRoU2VydmljZSA9IG5ldyBBdXRoU2VydmljZShzZXJ2ZXJVcmwpO1xuXG4gIC8vIENoZWNrIHNlY3VyaXR5IG1vZGVcbiAgbG9nZ2VyLmluZm8oJ0NoZWNraW5nIHNlcnZlciBzZWN1cml0eSBtb2RlLi4uJyk7XG4gIGxldCBzZWN1cml0eUluZm87XG4gIHRyeSB7XG4gICAgc2VjdXJpdHlJbmZvID0gYXdhaXQgYXV0aFNlcnZpY2UuZ2V0U2VjdXJpdHlNb2RlKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gZ2V0IHNlcnZlciBzZWN1cml0eSBtb2RlJyk7XG4gICAgbG9nZ2VyLmRpbSgnVGhlIHNlcnZlciBtYXkgYmUgcnVubmluZyBhbiBvbGRlciB2ZXJzaW9uIHdpdGhvdXQgQ0xJIGF1dGggc3VwcG9ydC4nKTtcbiAgICBsb2dnZXIuZGltKCdGYWxsaW5nIGJhY2sgdG8gbGVnYWN5IGF1dGhlbnRpY2F0aW9uLi4uJyk7XG4gICAgYXdhaXQgbGVnYWN5QXV0aChzZXJ2ZXJVcmwpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIERpc3BsYXkgc2VjdXJpdHkgaW5mb1xuICBpZiAoc2VjdXJpdHlJbmZvLnNlY3VyaXR5TW9kZSA9PT0gJ2RvbWFpbi1odHRwcycpIHtcbiAgICBsb2dnZXIuc3VjY2VzcyhgU2VydmVyIGhhcyBIVFRQUyBlbmFibGVkOiAke3NlY3VyaXR5SW5mby5kb21haW59YCk7XG4gICAgbG9nZ2VyLmRpbSgnQXV0aGVudGljYXRpb24gd2lsbCB1c2Ugc2VjdXJlIFRMUyBjb25uZWN0aW9uLicpO1xuICB9IGVsc2Uge1xuICAgIGxvZ2dlci53YXJuKCdTZXJ2ZXIgaXMgcnVubmluZyBpbiBIVFRQIG1vZGUgKG5vIGRvbWFpbiBjb25maWd1cmVkKScpO1xuICAgIGxvZ2dlci5kaW0oJ0F1dGhlbnRpY2F0aW9uIHdpbGwgdXNlIFJTQSBrZXkgZXhjaGFuZ2UgKE1JVE0gdnVsbmVyYWJsZSkuJyk7XG4gICAgbG9nZ2VyLmJsYW5rKCk7XG5cbiAgICBjb25zdCB7IHByb2NlZWQgfSA9IGF3YWl0IGlucXVpcmVyLnByb21wdChbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdjb25maXJtJyxcbiAgICAgICAgbmFtZTogJ3Byb2NlZWQnLFxuICAgICAgICBtZXNzYWdlOiAnQ29udGludWUgd2l0aCBSU0EgYXV0aGVudGljYXRpb24/JyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICBpZiAoIXByb2NlZWQpIHtcbiAgICAgIGxvZ2dlci5ibGFuaygpO1xuICAgICAgbG9nZ2VyLmluZm8oJ1RvIGVuYWJsZSBzZWN1cmUgYXV0aGVudGljYXRpb246Jyk7XG4gICAgICBsb2dnZXIuZGltKCcgIDEuIENvbmZpZ3VyZSBhIGRvbWFpbiBvbiB5b3VyIFJ1bndheSBzZXJ2ZXInKTtcbiAgICAgIGxvZ2dlci5kaW0oJyAgMi4gRW5hYmxlIEhUVFBTIHRocm91Z2ggdGhlIFNldHRpbmdzIHBhZ2UnKTtcbiAgICAgIGxvZ2dlci5kaW0oJyAgMy4gUnVuIGBydW53YXkgaW5pdGAgYWdhaW4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgY3JlZGVudGlhbHNcbiAgbG9nZ2VyLmJsYW5rKCk7XG4gIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgbmFtZTogJ3VzZXJuYW1lJyxcbiAgICAgIG1lc3NhZ2U6ICdVc2VybmFtZTonLFxuICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nKSA9PiBpbnB1dC5sZW5ndGggPiAwIHx8ICdVc2VybmFtZSBpcyByZXF1aXJlZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAncGFzc3dvcmQnLFxuICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgIG1lc3NhZ2U6ICdQYXNzd29yZDonLFxuICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nKSA9PiBpbnB1dC5sZW5ndGggPiAwIHx8ICdQYXNzd29yZCBpcyByZXF1aXJlZCcsXG4gICAgfSxcbiAgXSk7XG5cbiAgLy8gQXV0aGVudGljYXRlIHVzaW5nIHRoZSBhdXRoIHNlcnZpY2VcbiAgbG9nZ2VyLmluZm8oJ0F1dGhlbnRpY2F0aW5nLi4uJyk7XG4gIHRyeSB7XG4gICAgY29uc3QgYXV0aFJlc3VsdCA9IGF3YWl0IGF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZShcbiAgICAgIGNyZWRlbnRpYWxzLnVzZXJuYW1lLFxuICAgICAgY3JlZGVudGlhbHMucGFzc3dvcmRcbiAgICApO1xuXG4gICAgLy8gU2F2ZSBjb25maWd1cmF0aW9uIHdpdGggYWxsIGF1dGggZGF0YVxuICAgIHNldFNlcnZlclVybChzZXJ2ZXJVcmwpO1xuICAgIHNldEF1dGhEYXRhKGF1dGhSZXN1bHQudG9rZW4sIGF1dGhSZXN1bHQuZXhwaXJlc0F0LCBhdXRoUmVzdWx0LnNlY3VyaXR5TW9kZSk7XG5cbiAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICBsb2dnZXIuc3VjY2VzcygnQ29uZmlndXJhdGlvbiBzYXZlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgbG9nZ2VyLmluZm8oJ1lvdSBjYW4gbm93IGRlcGxveSBwcm9qZWN0cyB3aXRoOicpO1xuICAgIGxvZ2dlci5kaW0oJyAgcnVud2F5IGRlcGxveScpO1xuICAgIGxvZ2dlci5ibGFuaygpO1xuXG4gICAgLy8gU2hvdyB0b2tlbiBleHBpcnkgd2FybmluZyBmb3IgSFRUUCBtb2RlXG4gICAgaWYgKGF1dGhSZXN1bHQuc2VjdXJpdHlNb2RlID09PSAnaXAtaHR0cCcpIHtcbiAgICAgIGxvZ2dlci53YXJuKCdOb3RlOiBUb2tlbiBleHBpcmVzIGluIDE1IG1pbnV0ZXMgZHVlIHRvIEhUVFAgbW9kZS4nKTtcbiAgICAgIGxvZ2dlci5kaW0oJ1J1biBgcnVud2F5IGluaXRgIHRvIHJlLWF1dGhlbnRpY2F0ZSB3aGVuIG5lZWRlZC4nKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gRXJyb3IgYWxyZWFkeSBsb2dnZWQgYnkgQXV0aFNlcnZpY2VcbiAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICBsb2dnZXIuZGltKCdDaGVjayB5b3VyIGNyZWRlbnRpYWxzIGFuZCB0cnkgYWdhaW4uJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBMZWdhY3kgYXV0aGVudGljYXRpb24gZm9yIHNlcnZlcnMgd2l0aG91dCBDTEkgYXV0aCBzdXBwb3J0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxlZ2FjeUF1dGgoc2VydmVyVXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICBuYW1lOiAndXNlcm5hbWUnLFxuICAgICAgbWVzc2FnZTogJ1VzZXJuYW1lOicsXG4gICAgICB2YWxpZGF0ZTogKGlucHV0OiBzdHJpbmcpID0+IGlucHV0Lmxlbmd0aCA+IDAgfHwgJ1VzZXJuYW1lIGlzIHJlcXVpcmVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdwYXNzd29yZCcsXG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgbWVzc2FnZTogJ1Bhc3N3b3JkOicsXG4gICAgICB2YWxpZGF0ZTogKGlucHV0OiBzdHJpbmcpID0+IGlucHV0Lmxlbmd0aCA+IDAgfHwgJ1Bhc3N3b3JkIGlzIHJlcXVpcmVkJyxcbiAgICB9LFxuICBdKTtcblxuICBsb2dnZXIuaW5mbygnQXV0aGVudGljYXRpbmcuLi4nKTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXG4gICAgICBgJHtzZXJ2ZXJVcmx9L2FwaS9hdXRoL2xvZ2luYCxcbiAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgeyB0aW1lb3V0OiAxMDAwMCB9XG4gICAgKTtcblxuICAgIGlmIChyZXNwb25zZS5kYXRhLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YT8udG9rZW4pIHtcbiAgICAgIC8vIFNhdmUgY29uZmlndXJhdGlvbiAobGVnYWN5IG1vZGUgd2l0aG91dCBleHBpcnkgdHJhY2tpbmcpXG4gICAgICBzZXRTZXJ2ZXJVcmwoc2VydmVyVXJsKTtcbiAgICAgIHNldEF1dGhEYXRhKHJlc3BvbnNlLmRhdGEudG9rZW4sICcnLCAnaXAtaHR0cCcpO1xuXG4gICAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICAgIGxvZ2dlci5zdWNjZXNzKCdDb25maWd1cmF0aW9uIHNhdmVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICAgIGxvZ2dlci5ibGFuaygpO1xuICAgICAgbG9nZ2VyLmluZm8oJ1lvdSBjYW4gbm93IGRlcGxveSBwcm9qZWN0cyB3aXRoOicpO1xuICAgICAgbG9nZ2VyLmRpbSgnICBydW53YXkgZGVwbG95Jyk7XG4gICAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmVycm9yKCdBdXRoZW50aWNhdGlvbiBmYWlsZWQ6ICcgKyAocmVzcG9uc2UuZGF0YS5lcnJvciB8fCAnVW5rbm93biBlcnJvcicpKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignQXV0aGVudGljYXRpb24gZmFpbGVkOiAnICsgKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fCBlcnJvci5tZXNzYWdlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcignQXV0aGVudGljYXRpb24gZmFpbGVkOiAnICsgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsa0NBc0xDO0FBaE1ELHdEQUFnQztBQUNoQyxrREFBMEI7QUFDMUIsNENBQXFGO0FBQ3JGLDRDQUF5QztBQUN6Qyx5REFBc0Q7QUFNL0MsS0FBSyxVQUFVLFdBQVcsQ0FBQyxPQUFvQjtJQUNwRCxlQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbEMsOEJBQThCO0lBQzlCLElBQUksSUFBQSxxQkFBWSxHQUFFLEVBQUUsQ0FBQztRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFTLEdBQUUsQ0FBQztRQUMzQixlQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixlQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixNQUFNLENBQUMsWUFBWSxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMvRyxDQUFDO1FBRUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUM7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU8sRUFBRSw2QkFBNkI7Z0JBQ3RDLE9BQU8sRUFBRSxLQUFLO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsZUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixJQUFJLFNBQVMsR0FBRyxPQUFPLENB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WUFDTixlQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLGVBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixlQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUM7YUFBTSxDQUFDO1lBQ04sZUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlucXVpcmVyIGZyb20gJ2lucXVpcmVyJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBzZXRTZXJ2ZXJVcmwsIHNldEF1dGhEYXRhLCBnZXRDb25maWcsIGlzQ29uZmlndXJlZCB9IGZyb20gJy4uL3V0aWxzL2NvbmZpZyc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi91dGlscy9sb2dnZXInO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoU2VydmljZSc7XG5cbmludGVyZmFjZSBJbml0T3B0aW9ucyB7XG4gIHNlcnZlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRDb21tYW5kKG9wdGlvbnM6IEluaXRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxvZ2dlci5oZWFkZXIoJ1J1bndheSBDTEkgU2V0dXAnKTtcblxuICAvLyBDaGVjayBpZiBhbHJlYWR5IGNvbmZpZ3VyZWRcbiAgaWYgKGlzQ29uZmlndXJlZCgpKSB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgbG9nZ2VyLmluZm8oYEN1cnJlbnRseSBjb25maWd1cmVkIHRvOiAke2NvbmZpZy5zZXJ2ZXJVcmx9YCk7XG4gICAgaWYgKGNvbmZpZy5zZWN1cml0eU1vZGUpIHtcbiAgICAgIGxvZ2dlci5kaW0oYFNlY3VyaXR5IG1vZGU6ICR7Y29uZmlnLnNlY3VyaXR5TW9kZSA9PT0gJ2RvbWFpbi1odHRwcycgPyAnSFRUUFMgKHNlY3VyZSknIDogJ0hUVFAgKGxpbWl0ZWQpJ31gKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHJlY29uZmlndXJlIH0gPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgICAgIG5hbWU6ICdyZWNvbmZpZ3VyZScsXG4gICAgICAgIG1lc3NhZ2U6ICdEbyB5b3Ugd2FudCB0byByZWNvbmZpZ3VyZT8nLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICBpZiAoIXJlY29uZmlndXJlKSB7XG4gICAgICBsb2dnZXIuaW5mbygnQ29uZmlndXJhdGlvbiB1bmNoYW5nZWQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IHNlcnZlciBVUkxcbiAgbGV0IHNlcnZlclVybCA9IG9wdGlvbnMuc2VydmVyO1xuXG4gIGlmICghc2VydmVyVXJsKSB7XG4gICAgY29uc3QgYW5zd2VycyA9IGF3YWl0IGlucXVpcmVyLnByb21wdChbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgIG5hbWU6ICdzZXJ2ZXJVcmwnLFxuICAgICAgICBtZXNzYWdlOiAnRW50ZXIgeW91ciBSdW53YXkgc2VydmVyIFVSTDonLFxuICAgICAgICBkZWZhdWx0OiAnaHR0cHM6Ly9kZXBsb3kuZXhhbXBsZS5jb20nLFxuICAgICAgICB2YWxpZGF0ZTogKGlucHV0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV3IFVSTChpbnB1dCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHJldHVybiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgVVJMJztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0pO1xuICAgIHNlcnZlclVybCA9IGFuc3dlcnMuc2VydmVyVXJsIGFzIHN0cmluZztcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBVUkxcbiAgc2VydmVyVXJsID0gc2VydmVyVXJsIS5yZXBsYWNlKC9cXC8rJC8sICcnKTtcblxuICAvLyBUZXN0IGNvbm5lY3Rpb25cbiAgbG9nZ2VyLmluZm8oJ1Rlc3RpbmcgY29ubmVjdGlvbi4uLicpO1xuICB0cnkge1xuICAgIGF3YWl0IGF4aW9zLmdldChgJHtzZXJ2ZXJVcmx9L2hlYWx0aGAsIHsgdGltZW91dDogMTAwMDAgfSk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoJ1NlcnZlciBpcyByZWFjaGFibGUnKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoYENhbm5vdCByZWFjaCBzZXJ2ZXIgYXQgJHtzZXJ2ZXJVcmx9YCk7XG4gICAgbG9nZ2VyLmRpbSgnTWFrZSBzdXJlIHRoZSBzZXJ2ZXIgaXMgcnVubmluZyBhbmQgdGhlIFVSTCBpcyBjb3JyZWN0LicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIEluaXRpYWxpemUgYXV0aCBzZXJ2aWNlXG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gbmV3IEF1dGhTZXJ2aWNlKHNlcnZlclVybCk7XG5cbiAgLy8gQ2hlY2sgc2VjdXJpdHkgbW9kZVxuICBsb2dnZXIuaW5mbygnQ2hlY2tpbmcgc2VydmVyIHNlY3VyaXR5IG1vZGUuLi4nKTtcbiAgbGV0IHNlY3VyaXR5SW5mbztcbiAgdHJ5IHtcbiAgICBzZWN1cml0eUluZm8gPSBhd2FpdCBhdXRoU2VydmljZS5nZXRTZWN1cml0eU1vZGUoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBnZXQgc2VydmVyIHNlY3VyaXR5IG1vZGUnKTtcbiAgICBsb2dnZXIuZGltKCdUaGUgc2VydmVyIG1heSBiZSBydW5uaW5nIGFuIG9sZGVyIHZlcnNpb24gd2l0aG91dCBDTEkgYXV0aCBzdXBwb3J0LicpO1xuICAgIGxvZ2dlci5kaW0oJ0ZhbGxpbmcgYmFjayB0byBsZWdhY3kgYXV0aGVudGljYXRpb24uLi4nKTtcbiAgICBhd2FpdCBsZWdhY3lBdXRoKHNlcnZlclVybCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gRGlzcGxheSBzZWN1cml0eSBpbmZvXG4gIGlmIChzZWN1cml0eUluZm8uc2VjdXJpdHlNb2RlID09PSAnZG9tYWluLWh0dHBzJykge1xuICAgIGxvZ2dlci5zdWNjZXNzKGBTZXJ2ZXIgaGFzIEhUVFBTIGVuYWJsZWQ6ICR7c2VjdXJpdHlJbmZvLmRvbWFpbn1gKTtcbiAgICBsb2dnZXIuZGltKCdBdXRoZW50aWNhdGlvbiB3aWxsIHVzZSBzZWN1cmUgVExTIGNvbm5lY3Rpb24uJyk7XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLndhcm4oJ1NlcnZlciBpcyBydW5uaW5nIGluIEhUVFAgbW9kZSAobm8gZG9tYWluIGNvbmZpZ3VyZWQpJyk7XG4gICAgbG9nZ2VyLmRpbSgnQXV0aGVudGljYXRpb24gd2lsbCB1c2UgUlNBIGtleSBleGNoYW5nZSAoTUlUTSB2dWxuZXJhYmxlKS4nKTtcbiAgICBsb2dnZXIuYmxhbmsoKTtcblxuICAgIGNvbnN0IHsgcHJvY2VlZCB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgICBuYW1lOiAncHJvY2VlZCcsXG4gICAgICAgIG1lc3NhZ2U6ICdDb250aW51ZSB3aXRoIFJTQSBhdXRoZW50aWNhdGlvbj8nLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIGlmICghcHJvY2VlZCkge1xuICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgICBsb2dnZXIuaW5mbygnVG8gZW5hYmxlIHNlY3VyZSBhdXRoZW50aWNhdGlvbjonKTtcbiAgICAgIGxvZ2dlci5kaW0oJyAgMS4gQ29uZmlndXJlIGEgZG9tYWluIG9uIHlvdXIgUnVud2F5IHNlcnZlcicpO1xuICAgICAgbG9nZ2VyLmRpbSgnICAyLiBFbmFibGUgSFRUUFMgdGhyb3VnaCB0aGUgU2V0dGluZ3MgcGFnZScpO1xuICAgICAgbG9nZ2VyLmRpbSgnICAzLiBSdW4gYHJ1bndheSBpbml0YCBhZ2FpbicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBjcmVkZW50aWFsc1xuICBsb2dnZXIuYmxhbmsoKTtcbiAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBpbnF1aXJlci5wcm9tcHQoW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICBuYW1lOiAndXNlcm5hbWUnLFxuICAgICAgbWVzc2FnZTogJ1VzZXJuYW1lOicsXG4gICAgICB2YWxpZGF0ZTogKGlucHV0OiBzdHJpbmcpID0+IGlucHV0Lmxlbmd0aCA+IDAgfHwgJ1VzZXJuYW1lIGlzIHJlcXVpcmVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdwYXNzd29yZCcsXG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgbWVzc2FnZTogJ1Bhc3N3b3JkOicsXG4gICAgICB2YWxpZGF0ZTogKGlucHV0OiBzdHJpbmcpID0+IGlucHV0Lmxlbmd0aCA+IDAgfHwgJ1Bhc3N3b3JkIGlzIHJlcXVpcmVkJyxcbiAgICB9LFxuICBdKTtcblxuICAvLyBBdXRoZW50aWNhdGUgdXNpbmcgdGhlIGF1dGggc2VydmljZVxuICBsb2dnZXIuaW5mbygnQXV0aGVudGljYXRpbmcuLi4nKTtcbiAgdHJ5IHtcbiAgICBjb25zdCBhdXRoUmVzdWx0ID0gYXdhaXQgYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlKFxuICAgICAgY3JlZGVudGlhbHMudXNlcm5hbWUsXG4gICAgICBjcmVkZW50aWFscy5wYXNzd29yZFxuICAgICk7XG5cbiAgICAvLyBDaGVjayBpZiBwYXNzd29yZCByZXNldCBpcyByZXF1aXJlZFxuICAgIGlmIChhdXRoUmVzdWx0Lm11c3RSZXNldFBhc3N3b3JkKSB7XG4gICAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICAgIGxvZ2dlci53YXJuKCfimqDvuI8gIFBhc3N3b3JkIHJlc2V0IHJlcXVpcmVkJyk7XG4gICAgICBsb2dnZXIuaW5mbygnWW91IGFyZSB1c2luZyB0aGUgZGVmYXVsdCBwYXNzd29yZC4gUGxlYXNlIHNldCBhIG5ldyBwYXNzd29yZCB0byBjb250aW51ZS4nKTtcbiAgICAgIGxvZ2dlci5ibGFuaygpO1xuXG4gICAgICAvLyBQcm9tcHQgZm9yIG5ldyBwYXNzd29yZFxuICAgICAgY29uc3QgcmVzZXRSZXN1bHQgPSBhd2FpdCBwcm9tcHRQYXNzd29yZFJlc2V0KGF1dGhTZXJ2aWNlLCBjcmVkZW50aWFscy5wYXNzd29yZCk7XG5cbiAgICAgIGlmIChyZXNldFJlc3VsdCkge1xuICAgICAgICAvLyBTYXZlIGNvbmZpZ3VyYXRpb24gd2l0aCBuZXcgdG9rZW5cbiAgICAgICAgc2V0U2VydmVyVXJsKHNlcnZlclVybCk7XG4gICAgICAgIHNldEF1dGhEYXRhKHJlc2V0UmVzdWx0LnRva2VuLCByZXNldFJlc3VsdC5leHBpcmVzQXQsIHJlc2V0UmVzdWx0LnNlY3VyaXR5TW9kZSk7XG5cbiAgICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgICAgIGxvZ2dlci5zdWNjZXNzKCdQYXNzd29yZCB1cGRhdGVkIGFuZCBjb25maWd1cmF0aW9uIHNhdmVkIScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNlciBza2lwcGVkIHBhc3N3b3JkIHJlc2V0LCBzYXZlIHdpdGggY3VycmVudCB0b2tlbiBidXQgd2FyblxuICAgICAgICBzZXRTZXJ2ZXJVcmwoc2VydmVyVXJsKTtcbiAgICAgICAgc2V0QXV0aERhdGEoYXV0aFJlc3VsdC50b2tlbiwgYXV0aFJlc3VsdC5leHBpcmVzQXQsIGF1dGhSZXN1bHQuc2VjdXJpdHlNb2RlKTtcblxuICAgICAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICAgICAgbG9nZ2VyLndhcm4oJ0NvbmZpZ3VyYXRpb24gc2F2ZWQsIGJ1dCBwYXNzd29yZCByZXNldCBpcyBzdGlsbCByZXF1aXJlZC4nKTtcbiAgICAgICAgbG9nZ2VyLmRpbSgnWW91IHdpbGwgYmUgcHJvbXB0ZWQgdG8gcmVzZXQgeW91ciBwYXNzd29yZCBvbiBuZXh0IGxvZ2luLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTYXZlIGNvbmZpZ3VyYXRpb24gd2l0aCBhbGwgYXV0aCBkYXRhXG4gICAgICBzZXRTZXJ2ZXJVcmwoc2VydmVyVXJsKTtcbiAgICAgIHNldEF1dGhEYXRhKGF1dGhSZXN1bHQudG9rZW4sIGF1dGhSZXN1bHQuZXhwaXJlc0F0LCBhdXRoUmVzdWx0LnNlY3VyaXR5TW9kZSk7XG5cbiAgICAgIGxvZ2dlci5ibGFuaygpO1xuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoJ0NvbmZpZ3VyYXRpb24gc2F2ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgIH1cblxuICAgIGxvZ2dlci5ibGFuaygpO1xuICAgIGxvZ2dlci5pbmZvKCdZb3UgY2FuIG5vdyBkZXBsb3kgcHJvamVjdHMgd2l0aDonKTtcbiAgICBsb2dnZXIuZGltKCcgIHJ1bndheSBkZXBsb3knKTtcbiAgICBsb2dnZXIuYmxhbmsoKTtcblxuICAgIC8vIFNob3cgdG9rZW4gZXhwaXJ5IHdhcm5pbmcgZm9yIEhUVFAgbW9kZVxuICAgIGlmIChhdXRoUmVzdWx0LnNlY3VyaXR5TW9kZSA9PT0gJ2lwLWh0dHAnKSB7XG4gICAgICBsb2dnZXIud2FybignTm90ZTogVG9rZW4gZXhwaXJlcyBpbiAxNSBtaW51dGVzIGR1ZSB0byBIVFRQIG1vZGUuJyk7XG4gICAgICBsb2dnZXIuZGltKCdSdW4gYHJ1bndheSBpbml0YCB0byByZS1hdXRoZW50aWNhdGUgd2hlbiBuZWVkZWQuJyk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEVycm9yIGFscmVhZHkgbG9nZ2VkIGJ5IEF1dGhTZXJ2aWNlXG4gICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgbG9nZ2VyLmRpbSgnQ2hlY2sgeW91ciBjcmVkZW50aWFscyBhbmQgdHJ5IGFnYWluLicpO1xuICB9XG59XG5cbi8qKlxuICogUHJvbXB0IHVzZXIgdG8gcmVzZXQgdGhlaXIgcGFzc3dvcmRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcHJvbXB0UGFzc3dvcmRSZXNldChcbiAgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICBjdXJyZW50UGFzc3dvcmQ6IHN0cmluZ1xuKTogUHJvbWlzZTx7IHRva2VuOiBzdHJpbmc7IGV4cGlyZXNBdDogc3RyaW5nOyBzZWN1cml0eU1vZGU6ICdpcC1odHRwJyB8ICdkb21haW4taHR0cHMnIH0gfCBudWxsPiB7XG4gIGNvbnN0IHsgcmVzZXROb3cgfSA9IGF3YWl0IGlucXVpcmVyLnByb21wdChbXG4gICAge1xuICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgbmFtZTogJ3Jlc2V0Tm93JyxcbiAgICAgIG1lc3NhZ2U6ICdXb3VsZCB5b3UgbGlrZSB0byByZXNldCB5b3VyIHBhc3N3b3JkIG5vdz8nLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB9LFxuICBdKTtcblxuICBpZiAoIXJlc2V0Tm93KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBHZXQgbmV3IHBhc3N3b3JkIHdpdGggY29uZmlybWF0aW9uXG4gIGNvbnN0IG5ld1Bhc3N3b3JkQW5zd2VycyA9IGF3YWl0IGlucXVpcmVyLnByb21wdChbXG4gICAge1xuICAgICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICAgIG5hbWU6ICduZXdQYXNzd29yZCcsXG4gICAgICBtZXNzYWdlOiAnRW50ZXIgbmV3IHBhc3N3b3JkIChtaW4uIDYgY2hhcmFjdGVycyk6JyxcbiAgICAgIHZhbGlkYXRlOiAoaW5wdXQ6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaW5wdXQubGVuZ3RoIDwgNikge1xuICAgICAgICAgIHJldHVybiAnUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdwYXNzd29yZCcsXG4gICAgICBuYW1lOiAnY29uZmlybVBhc3N3b3JkJyxcbiAgICAgIG1lc3NhZ2U6ICdDb25maXJtIG5ldyBwYXNzd29yZDonLFxuICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nLCBhbnN3ZXJzOiB7IG5ld1Bhc3N3b3JkPzogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgaWYgKGlucHV0ICE9PSBhbnN3ZXJzPy5uZXdQYXNzd29yZCkge1xuICAgICAgICAgIHJldHVybiAnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH0sXG4gIF0pO1xuXG4gIGxvZ2dlci5pbmZvKCdVcGRhdGluZyBwYXNzd29yZC4uLicpO1xuICB0cnkge1xuICAgIGNvbnN0IHJlc2V0UmVzdWx0ID0gYXdhaXQgYXV0aFNlcnZpY2UucmVzZXRQYXNzd29yZChcbiAgICAgIGN1cnJlbnRQYXNzd29yZCxcbiAgICAgIG5ld1Bhc3N3b3JkQW5zd2Vycy5uZXdQYXNzd29yZFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW46IHJlc2V0UmVzdWx0LnRva2VuLFxuICAgICAgZXhwaXJlc0F0OiByZXNldFJlc3VsdC5leHBpcmVzQXQsXG4gICAgICBzZWN1cml0eU1vZGU6IHJlc2V0UmVzdWx0LnNlY3VyaXR5TW9kZSxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHJlc2V0IHBhc3N3b3JkLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogTGVnYWN5IGF1dGhlbnRpY2F0aW9uIGZvciBzZXJ2ZXJzIHdpdGhvdXQgQ0xJIGF1dGggc3VwcG9ydFxuICovXG5hc3luYyBmdW5jdGlvbiBsZWdhY3lBdXRoKHNlcnZlclVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICB7XG4gICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgbmFtZTogJ3VzZXJuYW1lJyxcbiAgICAgIG1lc3NhZ2U6ICdVc2VybmFtZTonLFxuICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nKSA9PiBpbnB1dC5sZW5ndGggPiAwIHx8ICdVc2VybmFtZSBpcyByZXF1aXJlZCcsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAncGFzc3dvcmQnLFxuICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgIG1lc3NhZ2U6ICdQYXNzd29yZDonLFxuICAgICAgdmFsaWRhdGU6IChpbnB1dDogc3RyaW5nKSA9PiBpbnB1dC5sZW5ndGggPiAwIHx8ICdQYXNzd29yZCBpcyByZXF1aXJlZCcsXG4gICAgfSxcbiAgXSk7XG5cbiAgbG9nZ2VyLmluZm8oJ0F1dGhlbnRpY2F0aW5nLi4uJyk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KFxuICAgICAgYCR7c2VydmVyVXJsfS9hcGkvYXV0aC9sb2dpbmAsXG4gICAgICBjcmVkZW50aWFscyxcbiAgICAgIHsgdGltZW91dDogMTAwMDAgfVxuICAgICk7XG5cbiAgICBpZiAocmVzcG9uc2UuZGF0YS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGE/LnRva2VuKSB7XG4gICAgICAvLyBTYXZlIGNvbmZpZ3VyYXRpb24gKGxlZ2FjeSBtb2RlIHdpdGhvdXQgZXhwaXJ5IHRyYWNraW5nKVxuICAgICAgc2V0U2VydmVyVXJsKHNlcnZlclVybCk7XG4gICAgICBzZXRBdXRoRGF0YShyZXNwb25zZS5kYXRhLnRva2VuLCAnJywgJ2lwLWh0dHAnKTtcblxuICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgICBsb2dnZXIuc3VjY2VzcygnQ29uZmlndXJhdGlvbiBzYXZlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICBsb2dnZXIuYmxhbmsoKTtcbiAgICAgIGxvZ2dlci5pbmZvKCdZb3UgY2FuIG5vdyBkZXBsb3kgcHJvamVjdHMgd2l0aDonKTtcbiAgICAgIGxvZ2dlci5kaW0oJyAgcnVud2F5IGRlcGxveScpO1xuICAgICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcignQXV0aGVudGljYXRpb24gZmFpbGVkOiAnICsgKHJlc3BvbnNlLmRhdGEuZXJyb3IgfHwgJ1Vua25vd24gZXJyb3InKSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChheGlvcy5pc0F4aW9zRXJyb3IoZXJyb3IpKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZDogJyArIChlcnJvci5yZXNwb25zZT8uZGF0YT8uZXJyb3IgfHwgZXJyb3IubWVzc2FnZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZDogJyArIChlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJykpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -20,6 +20,18 @@ export interface PublicKeyResponse {
20
20
  }
21
21
  export interface AuthResponse {
22
22
  success: boolean;
23
+ data: {
24
+ token: string;
25
+ expiresIn: number;
26
+ expiresAt: string;
27
+ tokenType: 'pairing' | 'standard';
28
+ securityMode: SecurityMode;
29
+ mustResetPassword?: boolean;
30
+ };
31
+ }
32
+ export interface ResetPasswordResponse {
33
+ success: boolean;
34
+ message: string;
23
35
  data: {
24
36
  token: string;
25
37
  expiresIn: number;
@@ -57,6 +69,10 @@ export declare class AuthService {
57
69
  * Refresh token (only works in HTTPS mode)
58
70
  */
59
71
  refreshToken(currentToken: string): Promise<AuthResponse['data'] | null>;
72
+ /**
73
+ * Reset password
74
+ */
75
+ resetPassword(currentPassword: string, newPassword: string): Promise<ResetPasswordResponse['data']>;
60
76
  /**
61
77
  * Handle axios errors with user-friendly messages
62
78
  */
@@ -139,6 +139,20 @@ class AuthService {
139
139
  return null;
140
140
  }
141
141
  }
142
+ /**
143
+ * Reset password
144
+ */
145
+ async resetPassword(currentPassword, newPassword) {
146
+ try {
147
+ const response = await axios_1.default.post(`${this.serverUrl}/api/cli/reset-password`, { currentPassword, newPassword }, { timeout: 10000 });
148
+ logger_1.logger.success('Password reset successfully');
149
+ return response.data.data;
150
+ }
151
+ catch (error) {
152
+ this.handleError(error, 'Password reset failed');
153
+ throw error;
154
+ }
155
+ }
142
156
  /**
143
157
  * Handle axios errors with user-friendly messages
144
158
  */
@@ -159,4 +173,4 @@ class AuthService {
159
173
  }
160
174
  }
161
175
  exports.AuthService = AuthService;
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvYXV0aFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLGtEQUEwQztBQUMxQyw0Q0FBeUM7QUFvQ3pDOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVc7SUFHdEIsWUFBWSxTQUFpQjtRQUMzQixnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZUFBZTtRQUNuQixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQzlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsd0JBQXdCLEVBQ3pDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUNuQixDQUFDO1lBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUU5QyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVB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Y3J5cHRvJztcbmltcG9ydCBheGlvcywgeyBBeGlvc0Vycm9yIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvbG9nZ2VyJztcblxuZXhwb3J0IHR5cGUgU2VjdXJpdHlNb2RlID0gJ2lwLWh0dHAnIHwgJ2RvbWFpbi1odHRwcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlNb2RlUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgc2VjdXJpdHlNb2RlOiBTZWN1cml0eU1vZGU7XG4gICAgc2VydmVySXA6IHN0cmluZyB8IG51bGw7XG4gICAgZG9tYWluOiBzdHJpbmcgfCBudWxsO1xuICAgIGRvbWFpbkFjdGl2ZTogYm9vbGVhbjtcbiAgICByZXF1aXJlc1JTQTogYm9vbGVhbjtcbiAgICB0b2tlbk1heEFnZTogbnVtYmVyO1xuICAgIHRva2VuVHlwZTogJ3BhaXJpbmcnIHwgJ3N0YW5kYXJkJztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNLZXlSZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE6IHtcbiAgICBwdWJsaWNLZXk6IHN0cmluZztcbiAgfTtcbiAgd2FybmluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBleHBpcmVzSW46IG51bWJlcjtcbiAgICBleHBpcmVzQXQ6IHN0cmluZztcbiAgICB0b2tlblR5cGU6ICdwYWlyaW5nJyB8ICdzdGFuZGFyZCc7XG4gICAgc2VjdXJpdHlNb2RlOiBTZWN1cml0eU1vZGU7XG4gIH07XG59XG5cbi8qKlxuICogQ0xJIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2VcbiAqXG4gKiBIYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGZsb3cgZm9yIGJvdGggSFRUUCAoUlNBKSBhbmQgSFRUUFMgKGRpcmVjdCkgbW9kZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgc2VydmVyVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2VydmVyVXJsOiBzdHJpbmcpIHtcbiAgICAvLyBOb3JtYWxpemUgVVJMXG4gICAgdGhpcy5zZXJ2ZXJVcmwgPSBzZXJ2ZXJVcmwucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlcnZlciBzZWN1cml0eSBtb2RlIGFuZCBjb25uZWN0aW9uIGluZm9cbiAgICovXG4gIGFzeW5jIGdldFNlY3VyaXR5TW9kZSgpOiBQcm9taXNlPFNlY3VyaXR5TW9kZVJlc3BvbnNlWydkYXRhJ10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQ8U2VjdXJpdHlNb2RlUmVzcG9uc2U+KFxuICAgICAgICBgJHt0aGlzLnNlcnZlclVybH0vYXBpL2NsaS9zZWN1cml0eS1tb2RlYCxcbiAgICAgICAgeyB0aW1lb3V0OiAxMDAwMCB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgJ0ZhaWxlZCB0byBnZXQgc2VjdXJpdHkgbW9kZScpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZSB3aXRoIHRoZSBzZXJ2ZXJcbiAgICogQXV0b21hdGljYWxseSBoYW5kbGVzIFJTQSBvciBkaXJlY3QgYXV0aCBiYXNlZCBvbiBzZWN1cml0eSBtb2RlXG4gICAqL1xuICBhc3luYyBhdXRoZW50aWNhdGUodXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8QXV0aFJlc3BvbnNlWydkYXRhJ10+IHtcbiAgICBjb25zdCBtb2RlSW5mbyA9IGF3YWl0IHRoaXMuZ2V0U2VjdXJpdHlNb2RlKCk7XG5cbiAgICBpZiAobW9kZUluZm8ucmVxdWlyZXNSU0EpIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZVdpdGhSU0EodXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRlRGlyZWN0KHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJTQS1lbmNyeXB0ZWQgYXV0aGVudGljYXRpb24gKEhUVFAgbW9kZSlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYXV0aGVudGljYXRlV2l0aFJTQShcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxBdXRoUmVzcG9uc2VbJ2RhdGEnXT4ge1xuICAgIC8vIFNob3cgTUlUTSB3YXJuaW5nXG4gICAgbG9nZ2VyLmJsYW5rKCk7XG4gICAgbG9nZ2VyLndhcm4oJ1dBUk5JTkc6IFVzaW5nIFJTQSBrZXkgZXhjaGFuZ2Ugb3ZlciBIVFRQJyk7XG4gICAgbG9nZ2VyLndhcm4oJ1RoaXMgbWV0aG9kIGlzIHZ1bG5lcmFibGUgdG8gbWFuLWluLXRoZS1taWRkbGUgYXR0YWNrcy4nKTtcbiAgICBsb2dnZXIud2FybignQ29uZmlndXJlIGEgZG9tYWluIG9uIHlvdXIgc2VydmVyIGZvciBzZWN1cmUgYXV0aGVudGljYXRpb24uJyk7XG4gICAgbG9nZ2VyLmJsYW5rKCk7XG5cbiAgICAvLyBGZXRjaCBwdWJsaWMga2V5XG4gICAgbGV0IHB1YmxpY0tleTogc3RyaW5nO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBrZXlSZXNwb25zZSA9IGF3YWl0IGF4aW9zLmdldDxQdWJsaWNLZXlSZXNwb25zZT4oXG4gICAgICAgIGAke3RoaXMuc2VydmVyVXJsfS9hcGkvY2xpL3B1YmxpYy1rZXlgLFxuICAgICAgICB7IHRpbWVvdXQ6IDEwMDAwIH1cbiAgICAgICk7XG4gICAgICBwdWJsaWNLZXkgPSBrZXlSZXNwb25zZS5kYXRhLmRhdGEucHVibGljS2V5O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCAnRmFpbGVkIHRvIGZldGNoIFJTQSBwdWJsaWMga2V5Jyk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICAvLyBFbmNyeXB0IGNyZWRlbnRpYWxzXG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSBKU09OLnN0cmluZ2lmeSh7IHVzZXJuYW1lLCBwYXNzd29yZCB9KTtcbiAgICBsZXQgZW5jcnlwdGVkOiBzdHJpbmc7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW5jcnlwdGVkQnVmZmVyID0gY3J5cHRvLnB1YmxpY0VuY3J5cHQoXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IHB1YmxpY0tleSxcbiAgICAgICAgICBwYWRkaW5nOiBjcnlwdG8uY29uc3RhbnRzLlJTQV9QS0NTMV9PQUVQX1BBRERJTkcsXG4gICAgICAgICAgb2FlcEhhc2g6ICdzaGEyNTYnLFxuICAgICAgICB9LFxuICAgICAgICBCdWZmZXIuZnJvbShjcmVkZW50aWFscylcbiAgICAgICk7XG4gICAgICBlbmNyeXB0ZWQgPSBlbmNyeXB0ZWRCdWZmZXIudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBlbmNyeXB0IGNyZWRlbnRpYWxzJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VuY3J5cHRpb24gZmFpbGVkJyk7XG4gICAgfVxuXG4gICAgLy8gU2VuZCBlbmNyeXB0ZWQgY3JlZGVudGlhbHNcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXV0aFJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxBdXRoUmVzcG9uc2U+KFxuICAgICAgICBgJHt0aGlzLnNlcnZlclVybH0vYXBpL2NsaS9hdXRoYCxcbiAgICAgICAgeyBlbmNyeXB0ZWRDcmVkZW50aWFsczogZW5jcnlwdGVkIH0sXG4gICAgICAgIHsgdGltZW91dDogMTAwMDAgfVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGF0YSA9IGF1dGhSZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgICBsb2dnZXIuaW5mbyhgVG9rZW4gZXhwaXJlcyBpbiAke01hdGgucm91bmQoZGF0YS5leHBpcmVzSW4gLyA2MDAwMCl9IG1pbnV0ZXNgKTtcbiAgICAgIGxvZ2dlci53YXJuKCdTaG9ydCB0b2tlbiBsaWZldGltZSBkdWUgdG8gSFRUUCBtb2RlLiBSZS1hdXRoZW50aWNhdGUgYXMgbmVlZGVkLicpO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZCcpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERpcmVjdCBhdXRoZW50aWNhdGlvbiAoSFRUUFMgbW9kZSlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYXV0aGVudGljYXRlRGlyZWN0KFxuICAgIHVzZXJuYW1lOiBzdHJpbmcsXG4gICAgcGFzc3dvcmQ6IHN0cmluZ1xuICApOiBQcm9taXNlPEF1dGhSZXNwb25zZVsnZGF0YSddPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxBdXRoUmVzcG9uc2U+KFxuICAgICAgICBgJHt0aGlzLnNlcnZlclVybH0vYXBpL2NsaS9hdXRoYCxcbiAgICAgICAgeyB1c2VybmFtZSwgcGFzc3dvcmQgfSxcbiAgICAgICAgeyB0aW1lb3V0OiAxMDAwMCB9XG4gICAgICApO1xuXG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgICAgY29uc3QgaG91cnMgPSBNYXRoLnJvdW5kKGRhdGEuZXhwaXJlc0luIC8gMzYwMDAwMCk7XG4gICAgICBsb2dnZXIuc3VjY2VzcyhgQXV0aGVudGljYXRlZCBzdWNjZXNzZnVsbHlgKTtcbiAgICAgIGxvZ2dlci5pbmZvKGBUb2tlbiBleHBpcmVzIGluICR7aG91cnN9IGhvdXJzYCk7XG5cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCAnQXV0aGVudGljYXRpb24gZmFpbGVkJyk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaCB0b2tlbiAob25seSB3b3JrcyBpbiBIVFRQUyBtb2RlKVxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaFRva2VuKGN1cnJlbnRUb2tlbjogc3RyaW5nKTogUHJvbWlzZTxBdXRoUmVzcG9uc2VbJ2RhdGEnXSB8IG51bGw+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PEF1dGhSZXNwb25zZT4oXG4gICAgICAgIGAke3RoaXMuc2VydmVyVXJsfS9hcGkvY2xpL3JlZnJlc2hgLFxuICAgICAgICB7fSxcbiAgICAgICAge1xuICAgICAgICAgIHRpbWVvdXQ6IDEwMDAwLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjdXJyZW50VG9rZW59YCxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBsb2dnZXIuc3VjY2VzcygnVG9rZW4gcmVmcmVzaGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gZXJyb3IucmVzcG9uc2U/LnN0YXR1cztcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgLy8gVG9rZW4gcmVmcmVzaCBub3QgYXZhaWxhYmxlIChIVFRQIG1vZGUpXG4gICAgICAgICAgbG9nZ2VyLndhcm4oJ1Rva2VuIHJlZnJlc2ggbm90IGF2YWlsYWJsZS4gUGxlYXNlIHJlLWF1dGhlbnRpY2F0ZS4nKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICBsb2dnZXIud2FybignVG9rZW4gZXhwaXJlZC4gUGxlYXNlIHJlLWF1dGhlbnRpY2F0ZS4nKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcmVmcmVzaCB0b2tlbicpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBheGlvcyBlcnJvcnMgd2l0aCB1c2VyLWZyaWVuZGx5IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiB1bmtub3duLCBjb250ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoYXhpb3MuaXNBeGlvc0Vycm9yKGVycm9yKSkge1xuICAgICAgY29uc3QgYXhpb3NFcnJvciA9IGVycm9yIGFzIEF4aW9zRXJyb3I8eyBlcnJvcj86IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZyB9PjtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICBheGlvc0Vycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fFxuICAgICAgICBheGlvc0Vycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8XG4gICAgICAgIGF4aW9zRXJyb3IubWVzc2FnZTtcbiAgICAgIGxvZ2dlci5lcnJvcihgJHtjb250ZXh0fTogJHttZXNzYWdlfWApO1xuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGAke2NvbnRleHR9OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgJHtjb250ZXh0fTogVW5rbm93biBlcnJvcmApO1xuICAgIH1cbiAgfVxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvYXV0aFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLGtEQUEwQztBQUMxQyw0Q0FBeUM7QUFpRHpDOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVc7SUFHdEIsWUFBWSxTQUFpQjtRQUMzQixnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZUFBZTtRQUNuQixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQzlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsd0JBQXdCLEVBQ3pDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUNuQixDQUFDO1lBQ0YsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUU5QyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVB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Q0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUs7Z0JBQ2hDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU87Z0JBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDckIsZUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztZQUNsQyxlQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxDQUFDO1lBQ04sZUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8saUJBQWlCLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBNU1ELGtDQTRNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCBheGlvcywgeyBBeGlvc0Vycm9yIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvbG9nZ2VyJztcblxuZXhwb3J0IHR5cGUgU2VjdXJpdHlNb2RlID0gJ2lwLWh0dHAnIHwgJ2RvbWFpbi1odHRwcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlNb2RlUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgc2VjdXJpdHlNb2RlOiBTZWN1cml0eU1vZGU7XG4gICAgc2VydmVySXA6IHN0cmluZyB8IG51bGw7XG4gICAgZG9tYWluOiBzdHJpbmcgfCBudWxsO1xuICAgIGRvbWFpbkFjdGl2ZTogYm9vbGVhbjtcbiAgICByZXF1aXJlc1JTQTogYm9vbGVhbjtcbiAgICB0b2tlbk1heEFnZTogbnVtYmVyO1xuICAgIHRva2VuVHlwZTogJ3BhaXJpbmcnIHwgJ3N0YW5kYXJkJztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNLZXlSZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE6IHtcbiAgICBwdWJsaWNLZXk6IHN0cmluZztcbiAgfTtcbiAgd2FybmluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBleHBpcmVzSW46IG51bWJlcjtcbiAgICBleHBpcmVzQXQ6IHN0cmluZztcbiAgICB0b2tlblR5cGU6ICdwYWlyaW5nJyB8ICdzdGFuZGFyZCc7XG4gICAgc2VjdXJpdHlNb2RlOiBTZWN1cml0eU1vZGU7XG4gICAgbXVzdFJlc2V0UGFzc3dvcmQ/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2V0UGFzc3dvcmRSZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGF0YToge1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgZXhwaXJlc0luOiBudW1iZXI7XG4gICAgZXhwaXJlc0F0OiBzdHJpbmc7XG4gICAgdG9rZW5UeXBlOiAncGFpcmluZycgfCAnc3RhbmRhcmQnO1xuICAgIHNlY3VyaXR5TW9kZTogU2VjdXJpdHlNb2RlO1xuICB9O1xufVxuXG4vKipcbiAqIENMSSBBdXRoZW50aWNhdGlvbiBTZXJ2aWNlXG4gKlxuICogSGFuZGxlcyBhdXRoZW50aWNhdGlvbiBmbG93IGZvciBib3RoIEhUVFAgKFJTQSkgYW5kIEhUVFBTIChkaXJlY3QpIG1vZGVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIHNlcnZlclVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNlcnZlclVybDogc3RyaW5nKSB7XG4gICAgLy8gTm9ybWFsaXplIFVSTFxuICAgIHRoaXMuc2VydmVyVXJsID0gc2VydmVyVXJsLnJlcGxhY2UoL1xcLyskLywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzZXJ2ZXIgc2VjdXJpdHkgbW9kZSBhbmQgY29ubmVjdGlvbiBpbmZvXG4gICAqL1xuICBhc3luYyBnZXRTZWN1cml0eU1vZGUoKTogUHJvbWlzZTxTZWN1cml0eU1vZGVSZXNwb25zZVsnZGF0YSddPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0PFNlY3VyaXR5TW9kZVJlc3BvbnNlPihcbiAgICAgICAgYCR7dGhpcy5zZXJ2ZXJVcmx9L2FwaS9jbGkvc2VjdXJpdHktbW9kZWAsXG4gICAgICAgIHsgdGltZW91dDogMTAwMDAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsICdGYWlsZWQgdG8gZ2V0IHNlY3VyaXR5IG1vZGUnKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGUgd2l0aCB0aGUgc2VydmVyXG4gICAqIEF1dG9tYXRpY2FsbHkgaGFuZGxlcyBSU0Egb3IgZGlyZWN0IGF1dGggYmFzZWQgb24gc2VjdXJpdHkgbW9kZVxuICAgKi9cbiAgYXN5bmMgYXV0aGVudGljYXRlKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPEF1dGhSZXNwb25zZVsnZGF0YSddPiB7XG4gICAgY29uc3QgbW9kZUluZm8gPSBhd2FpdCB0aGlzLmdldFNlY3VyaXR5TW9kZSgpO1xuXG4gICAgaWYgKG1vZGVJbmZvLnJlcXVpcmVzUlNBKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGVXaXRoUlNBKHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZURpcmVjdCh1c2VybmFtZSwgcGFzc3dvcmQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSU0EtZW5jcnlwdGVkIGF1dGhlbnRpY2F0aW9uIChIVFRQIG1vZGUpXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGF1dGhlbnRpY2F0ZVdpdGhSU0EoXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcbiAgICBwYXNzd29yZDogc3RyaW5nXG4gICk6IFByb21pc2U8QXV0aFJlc3BvbnNlWydkYXRhJ10+IHtcbiAgICAvLyBTaG93IE1JVE0gd2FybmluZ1xuICAgIGxvZ2dlci5ibGFuaygpO1xuICAgIGxvZ2dlci53YXJuKCdXQVJOSU5HOiBVc2luZyBSU0Ega2V5IGV4Y2hhbmdlIG92ZXIgSFRUUCcpO1xuICAgIGxvZ2dlci53YXJuKCdUaGlzIG1ldGhvZCBpcyB2dWxuZXJhYmxlIHRvIG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MuJyk7XG4gICAgbG9nZ2VyLndhcm4oJ0NvbmZpZ3VyZSBhIGRvbWFpbiBvbiB5b3VyIHNlcnZlciBmb3Igc2VjdXJlIGF1dGhlbnRpY2F0aW9uLicpO1xuICAgIGxvZ2dlci5ibGFuaygpO1xuXG4gICAgLy8gRmV0Y2ggcHVibGljIGtleVxuICAgIGxldCBwdWJsaWNLZXk6IHN0cmluZztcbiAgICB0cnkge1xuICAgICAgY29uc3Qga2V5UmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQ8UHVibGljS2V5UmVzcG9uc2U+KFxuICAgICAgICBgJHt0aGlzLnNlcnZlclVybH0vYXBpL2NsaS9wdWJsaWMta2V5YCxcbiAgICAgICAgeyB0aW1lb3V0OiAxMDAwMCB9XG4gICAgICApO1xuICAgICAgcHVibGljS2V5ID0ga2V5UmVzcG9uc2UuZGF0YS5kYXRhLnB1YmxpY0tleTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgJ0ZhaWxlZCB0byBmZXRjaCBSU0EgcHVibGljIGtleScpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgLy8gRW5jcnlwdCBjcmVkZW50aWFsc1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gSlNPTi5zdHJpbmdpZnkoeyB1c2VybmFtZSwgcGFzc3dvcmQgfSk7XG4gICAgbGV0IGVuY3J5cHRlZDogc3RyaW5nO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVuY3J5cHRlZEJ1ZmZlciA9IGNyeXB0by5wdWJsaWNFbmNyeXB0KFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBwdWJsaWNLZXksXG4gICAgICAgICAgcGFkZGluZzogY3J5cHRvLmNvbnN0YW50cy5SU0FfUEtDUzFfT0FFUF9QQURESU5HLFxuICAgICAgICAgIG9hZXBIYXNoOiAnc2hhMjU2JyxcbiAgICAgICAgfSxcbiAgICAgICAgQnVmZmVyLmZyb20oY3JlZGVudGlhbHMpXG4gICAgICApO1xuICAgICAgZW5jcnlwdGVkID0gZW5jcnlwdGVkQnVmZmVyLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gZW5jcnlwdCBjcmVkZW50aWFscycpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbmNyeXB0aW9uIGZhaWxlZCcpO1xuICAgIH1cblxuICAgIC8vIFNlbmQgZW5jcnlwdGVkIGNyZWRlbnRpYWxzXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGF1dGhSZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8QXV0aFJlc3BvbnNlPihcbiAgICAgICAgYCR7dGhpcy5zZXJ2ZXJVcmx9L2FwaS9jbGkvYXV0aGAsXG4gICAgICAgIHsgZW5jcnlwdGVkQ3JlZGVudGlhbHM6IGVuY3J5cHRlZCB9LFxuICAgICAgICB7IHRpbWVvdXQ6IDEwMDAwIH1cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhdXRoUmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgICAgbG9nZ2VyLmluZm8oYFRva2VuIGV4cGlyZXMgaW4gJHtNYXRoLnJvdW5kKGRhdGEuZXhwaXJlc0luIC8gNjAwMDApfSBtaW51dGVzYCk7XG4gICAgICBsb2dnZXIud2FybignU2hvcnQgdG9rZW4gbGlmZXRpbWUgZHVlIHRvIEhUVFAgbW9kZS4gUmUtYXV0aGVudGljYXRlIGFzIG5lZWRlZC4nKTtcblxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsICdBdXRoZW50aWNhdGlvbiBmYWlsZWQnKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEaXJlY3QgYXV0aGVudGljYXRpb24gKEhUVFBTIG1vZGUpXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGF1dGhlbnRpY2F0ZURpcmVjdChcbiAgICB1c2VybmFtZTogc3RyaW5nLFxuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxBdXRoUmVzcG9uc2VbJ2RhdGEnXT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8QXV0aFJlc3BvbnNlPihcbiAgICAgICAgYCR7dGhpcy5zZXJ2ZXJVcmx9L2FwaS9jbGkvYXV0aGAsXG4gICAgICAgIHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0sXG4gICAgICAgIHsgdGltZW91dDogMTAwMDAgfVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5yb3VuZChkYXRhLmV4cGlyZXNJbiAvIDM2MDAwMDApO1xuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoYEF1dGhlbnRpY2F0ZWQgc3VjY2Vzc2Z1bGx5YCk7XG4gICAgICBsb2dnZXIuaW5mbyhgVG9rZW4gZXhwaXJlcyBpbiAke2hvdXJzfSBob3Vyc2ApO1xuXG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgJ0F1dGhlbnRpY2F0aW9uIGZhaWxlZCcpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggdG9rZW4gKG9ubHkgd29ya3MgaW4gSFRUUFMgbW9kZSlcbiAgICovXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihjdXJyZW50VG9rZW46IHN0cmluZyk6IFByb21pc2U8QXV0aFJlc3BvbnNlWydkYXRhJ10gfCBudWxsPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxBdXRoUmVzcG9uc2U+KFxuICAgICAgICBgJHt0aGlzLnNlcnZlclVybH0vYXBpL2NsaS9yZWZyZXNoYCxcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICB0aW1lb3V0OiAxMDAwMCxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y3VycmVudFRva2VufWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoJ1Rva2VuIHJlZnJlc2hlZCBzdWNjZXNzZnVsbHknKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChheGlvcy5pc0F4aW9zRXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IGVycm9yLnJlc3BvbnNlPy5zdGF0dXM7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgIC8vIFRva2VuIHJlZnJlc2ggbm90IGF2YWlsYWJsZSAoSFRUUCBtb2RlKVxuICAgICAgICAgIGxvZ2dlci53YXJuKCdUb2tlbiByZWZyZXNoIG5vdCBhdmFpbGFibGUuIFBsZWFzZSByZS1hdXRoZW50aWNhdGUuJyk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oJ1Rva2VuIGV4cGlyZWQuIFBsZWFzZSByZS1hdXRoZW50aWNhdGUuJyk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHJlZnJlc2ggdG9rZW4nKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBwYXNzd29yZFxuICAgKi9cbiAgYXN5bmMgcmVzZXRQYXNzd29yZChcbiAgICBjdXJyZW50UGFzc3dvcmQ6IHN0cmluZyxcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nXG4gICk6IFByb21pc2U8UmVzZXRQYXNzd29yZFJlc3BvbnNlWydkYXRhJ10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PFJlc2V0UGFzc3dvcmRSZXNwb25zZT4oXG4gICAgICAgIGAke3RoaXMuc2VydmVyVXJsfS9hcGkvY2xpL3Jlc2V0LXBhc3N3b3JkYCxcbiAgICAgICAgeyBjdXJyZW50UGFzc3dvcmQsIG5ld1Bhc3N3b3JkIH0sXG4gICAgICAgIHsgdGltZW91dDogMTAwMDAgfVxuICAgICAgKTtcblxuICAgICAgbG9nZ2VyLnN1Y2Nlc3MoJ1Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3NmdWxseScpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgJ1Bhc3N3b3JkIHJlc2V0IGZhaWxlZCcpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBheGlvcyBlcnJvcnMgd2l0aCB1c2VyLWZyaWVuZGx5IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiB1bmtub3duLCBjb250ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoYXhpb3MuaXNBeGlvc0Vycm9yKGVycm9yKSkge1xuICAgICAgY29uc3QgYXhpb3NFcnJvciA9IGVycm9yIGFzIEF4aW9zRXJyb3I8eyBlcnJvcj86IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZyB9PjtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICBheGlvc0Vycm9yLnJlc3BvbnNlPy5kYXRhPy5lcnJvciB8fFxuICAgICAgICBheGlvc0Vycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8XG4gICAgICAgIGF4aW9zRXJyb3IubWVzc2FnZTtcbiAgICAgIGxvZ2dlci5lcnJvcihgJHtjb250ZXh0fTogJHttZXNzYWdlfWApO1xuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGAke2NvbnRleHR9OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgJHtjb250ZXh0fTogVW5rbm93biBlcnJvcmApO1xuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runway-cli",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "CLI tool for deploying projects to Runway",
5
5
  "main": "dist/index.js",
6
6
  "bin": {