fridayy 1.0.0 → 1.0.1
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/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +8 -4
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +14 -8
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/scan.d.ts.map +1 -1
- package/dist/cli/commands/scan.js +18 -13
- package/dist/cli/commands/scan.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/ui/banner.d.ts +3 -1
- package/dist/cli/ui/banner.d.ts.map +1 -1
- package/dist/cli/ui/banner.js +21 -12
- package/dist/cli/ui/banner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuD9D"}
|
|
@@ -26,9 +26,13 @@ export function registerGenerateCommand(program) {
|
|
|
26
26
|
if (options.spec) {
|
|
27
27
|
config.source.path = options.spec;
|
|
28
28
|
}
|
|
29
|
-
const spinner = ora(
|
|
29
|
+
const spinner = ora({
|
|
30
|
+
text: chalk.cyan('Generating standardized MCP tools and mapping schemas...'),
|
|
31
|
+
spinner: 'dots12',
|
|
32
|
+
color: 'cyan'
|
|
33
|
+
}).start();
|
|
30
34
|
try {
|
|
31
|
-
|
|
35
|
+
await new Promise(r => setTimeout(r, 400));
|
|
32
36
|
let preserveMap;
|
|
33
37
|
if (!options.force) {
|
|
34
38
|
const existingTools = defaultConfigManager.loadTools(rootDir);
|
|
@@ -47,8 +51,8 @@ export function registerGenerateCommand(program) {
|
|
|
47
51
|
const savedPath = defaultConfigManager.saveTools(tools, config.source.type, rootDir);
|
|
48
52
|
spinner.succeed(`Generated ${chalk.bold.green(tools.length)} MCP tools.`);
|
|
49
53
|
console.log('\n' + createToolsTable(tools) + '\n');
|
|
50
|
-
logger.success(`Saved tools definition to ${chalk.bold(savedPath)}`);
|
|
51
|
-
console.log(`\nNext step: Run ${chalk.cyan('fridayy review')} to approve/reject tools.\n`);
|
|
54
|
+
logger.success(`Saved tools definition to ${chalk.bold.cyan(savedPath)}`);
|
|
55
|
+
console.log(`\nNext step: Run ${chalk.cyan.bold('fridayy review')} to approve/reject candidate tools.\n`);
|
|
52
56
|
}
|
|
53
57
|
catch (err) {
|
|
54
58
|
spinner.fail(`Generation failed: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,SAAS,EAAE,kDAAkD,CAAC;SACrE,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmD1D"}
|
|
@@ -27,9 +27,14 @@ export function registerInitCommand(program) {
|
|
|
27
27
|
logger.info('Use --force to overwrite or run `fridayy scan` to analyze project.');
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
const spinner = ora(
|
|
30
|
+
const spinner = ora({
|
|
31
|
+
text: chalk.cyan('Scanning project structure and detecting API capabilities...'),
|
|
32
|
+
spinner: 'dots12',
|
|
33
|
+
color: 'cyan'
|
|
34
|
+
}).start();
|
|
35
|
+
await new Promise(r => setTimeout(r, 400)); // smooth visual pause
|
|
31
36
|
const scanResult = await defaultProjectScanner.scan(rootDir);
|
|
32
|
-
spinner.succeed('Project analysis complete.');
|
|
37
|
+
spinner.succeed(chalk.green('Project structure analysis complete.'));
|
|
33
38
|
let config = {
|
|
34
39
|
...DEFAULT_CONFIG,
|
|
35
40
|
...scanResult.recommendedConfig
|
|
@@ -43,12 +48,13 @@ export function registerInitCommand(program) {
|
|
|
43
48
|
config.source.baseUrl = options.url;
|
|
44
49
|
}
|
|
45
50
|
const savedPath = defaultConfigManager.saveConfig(config, rootDir);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
console.log(
|
|
49
|
-
console.log(`
|
|
50
|
-
console.log(`
|
|
51
|
-
console.log(`
|
|
51
|
+
console.log('');
|
|
52
|
+
logger.success(`Created configuration: ${chalk.bold.cyan(path.basename(savedPath))}`);
|
|
53
|
+
console.log(`\n${chalk.bold('Next steps to turn your API into AI tools:')}`);
|
|
54
|
+
console.log(` 1. Run ${chalk.cyan.bold('fridayy scan')} → inspect discovered endpoints`);
|
|
55
|
+
console.log(` 2. Run ${chalk.cyan.bold('fridayy generate')} → build MCP tool definitions`);
|
|
56
|
+
console.log(` 3. Run ${chalk.cyan.bold('fridayy review')} → approve candidate tools`);
|
|
57
|
+
console.log(` 4. Run ${chalk.cyan.bold('fridayy start')} → launch your MCP server\n`);
|
|
52
58
|
});
|
|
53
59
|
}
|
|
54
60
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;SACvC,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2E1D"}
|
|
@@ -18,22 +18,27 @@ export function registerScanCommand(program) {
|
|
|
18
18
|
.action(async (options) => {
|
|
19
19
|
printBanner();
|
|
20
20
|
const rootDir = process.cwd();
|
|
21
|
-
const spinner = ora(
|
|
21
|
+
const spinner = ora({
|
|
22
|
+
text: chalk.cyan('Deep scanning project for OpenAPI specs, routes & authentication...'),
|
|
23
|
+
spinner: 'dots12',
|
|
24
|
+
color: 'cyan'
|
|
25
|
+
}).start();
|
|
22
26
|
try {
|
|
27
|
+
await new Promise(r => setTimeout(r, 400));
|
|
23
28
|
const scanResult = await defaultProjectScanner.scan(rootDir);
|
|
24
|
-
spinner.succeed('
|
|
29
|
+
spinner.succeed(chalk.green('Deep scan completed.\n'));
|
|
25
30
|
if (scanResult.hasOpenApi) {
|
|
26
31
|
logger.success('OpenAPI specification detected');
|
|
27
32
|
for (const spec of scanResult.details.openApiSpecs || []) {
|
|
28
|
-
console.log(` └─ ${chalk.cyan(spec.path)} (${spec.title}, ${spec.endpointsCount} endpoints)`);
|
|
33
|
+
console.log(` └─ ${chalk.cyan.bold(spec.path)} (${spec.title}, ${chalk.green(spec.endpointsCount)} endpoints)`);
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
36
|
if (scanResult.hasNodeJs) {
|
|
32
37
|
logger.success(`Node.js application detected (${chalk.cyan(scanResult.nodeJsFramework || 'standard')})`);
|
|
33
38
|
}
|
|
34
|
-
logger.success(`${scanResult.discoveredEndpointsCount} endpoints discovered`);
|
|
39
|
+
logger.success(`${chalk.bold.green(scanResult.discoveredEndpointsCount)} total endpoints discovered`);
|
|
35
40
|
if (scanResult.authSchemesDetected.length > 0) {
|
|
36
|
-
logger.success(`Authentication detected: [${scanResult.authSchemesDetected.join(', ')}]`);
|
|
41
|
+
logger.success(`Authentication detected: [${chalk.yellow(scanResult.authSchemesDetected.join(', '))}]`);
|
|
37
42
|
}
|
|
38
43
|
else {
|
|
39
44
|
logger.info('No explicit authentication schemes detected');
|
|
@@ -56,18 +61,18 @@ export function registerScanCommand(program) {
|
|
|
56
61
|
config,
|
|
57
62
|
rootDir
|
|
58
63
|
});
|
|
59
|
-
console.log('\n' + chalk.bold('Candidate MCP tools:'));
|
|
64
|
+
console.log('\n' + chalk.bold.underline('Candidate MCP tools:'));
|
|
60
65
|
candidateTools.forEach((tool, index) => {
|
|
61
66
|
const typeBadge = tool.permissions.type === 'READ'
|
|
62
|
-
? chalk.
|
|
67
|
+
? chalk.bgGreen.black(' READ ')
|
|
63
68
|
: tool.permissions.type === 'WRITE'
|
|
64
|
-
? chalk.
|
|
65
|
-
: chalk.
|
|
66
|
-
console.log(` ${index + 1
|
|
69
|
+
? chalk.bgYellow.black(' WRITE ')
|
|
70
|
+
: chalk.bgRed.white.bold(' DESTRUCTIVE ');
|
|
71
|
+
console.log(` ${chalk.gray(String(index + 1).padStart(2, '0') + '.')} ${chalk.bold(tool.name)} ${typeBadge} - ${chalk.gray(tool.description)}`);
|
|
67
72
|
});
|
|
68
|
-
console.log(`\n${chalk.bold.green(candidateTools.length)} tools
|
|
69
|
-
console.log(`\
|
|
70
|
-
console.log(`Run ${chalk.cyan('fridayy start')}
|
|
73
|
+
console.log(`\n${chalk.bold.green(candidateTools.length)} candidate tools identified.`);
|
|
74
|
+
console.log(`\nNext step: Run ${chalk.cyan.bold('fridayy review')} to review and approve generated tools.`);
|
|
75
|
+
console.log(` Run ${chalk.cyan.bold('fridayy start')} to launch the MCP server.\n`);
|
|
71
76
|
}
|
|
72
77
|
catch (err) {
|
|
73
78
|
spinner.fail(`Scan failed: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export function createCli() {
|
|
|
16
16
|
program
|
|
17
17
|
.name('fridayy')
|
|
18
18
|
.description('Universal Application-to-MCP Platform — Turn existing APIs into AI-ready MCP tools')
|
|
19
|
-
.version('1.0.
|
|
19
|
+
.version('1.0.1');
|
|
20
20
|
// Register commands
|
|
21
21
|
registerInitCommand(program);
|
|
22
22
|
registerScanCommand(program);
|
package/dist/cli/ui/banner.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - CLI Banner & Styling Helpers
|
|
3
|
+
* Rich ASCII branding, animated effects, and author credits.
|
|
3
4
|
*/
|
|
4
5
|
export declare function getBanner(): string;
|
|
5
|
-
export declare function printBanner(): void;
|
|
6
|
+
export declare function printBanner(force?: boolean): void;
|
|
7
|
+
export declare function resetBannerFlag(): void;
|
|
6
8
|
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,SAAS,IAAI,MAAM,CAelC;AAID,wBAAgB,WAAW,CAAC,KAAK,UAAQ,GAAG,IAAI,CAK/C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
package/dist/cli/ui/banner.js
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - CLI Banner & Styling Helpers
|
|
3
|
+
* Rich ASCII branding, animated effects, and author credits.
|
|
3
4
|
*/
|
|
4
5
|
import chalk from 'chalk';
|
|
5
6
|
export function getBanner() {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
`;
|
|
14
|
-
const
|
|
15
|
-
|
|
7
|
+
const line1 = chalk.hex('#00d2ff').bold(' ███████╗██████╗ ██╗██████╗ █████╗ ██╗ ██╗██╗ ██╗');
|
|
8
|
+
const line2 = chalk.hex('#00b4d8').bold(' ██╔════╝██╔══██╗██║██╔══██╗██╔══██╗╚██╗ ██╔╝╚██╗ ██╔╝');
|
|
9
|
+
const line3 = chalk.hex('#0096c7').bold(' █████╗ ██████╔╝██║██║ ██║███████║ ╚████╔╝ ╚████╔╝ ');
|
|
10
|
+
const line4 = chalk.hex('#0077b6').bold(' ██╔══╝ ██╔══██╗██║██║ ██║██╔══██║ ╚██╔╝ ╚██╔╝ ');
|
|
11
|
+
const line5 = chalk.hex('#7209b7').bold(' ██║ ██║ ██║██║██████╔╝██║ ██║ ██║ ██║ ');
|
|
12
|
+
const line6 = chalk.hex('#b5179e').bold(' ╚═╝ ╚═╝ ╚═╝╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ');
|
|
13
|
+
const logo = `\n${line1}\n${line2}\n${line3}\n${line4}\n${line5}\n${line6}\n`;
|
|
14
|
+
const tagline = ` ${chalk.bold.white('Universal Application-to-MCP Platform')} ${chalk.gray('— Turn existing APIs into AI tools')}`;
|
|
15
|
+
const badges = ` ${chalk.bgCyan.black.bold(' v1.0.1 ')} ${chalk.bgHex('#7209b7').white.bold(' MCP Standard ')} ${chalk.gray('•')} ${chalk.hex('#00f5d4').bold('⚡ Developed with ❤️ by Sabarivasan')}`;
|
|
16
|
+
const link = ` ${chalk.gray('Repository:')} ${chalk.underline.cyan('https://github.com/Sabari-Vasan-SM/fridayy')}\n`;
|
|
17
|
+
return `${logo}\n${tagline}\n${badges}\n${link}`;
|
|
16
18
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
let bannerPrinted = false;
|
|
20
|
+
export function printBanner(force = false) {
|
|
21
|
+
if (!bannerPrinted || force) {
|
|
22
|
+
console.log(getBanner());
|
|
23
|
+
bannerPrinted = true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function resetBannerFlag() {
|
|
27
|
+
bannerPrinted = false;
|
|
19
28
|
}
|
|
20
29
|
//# sourceMappingURL=banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAEnG,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC;IAE9E,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC;IACrI,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC;IACvM,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC;IAEtH,OAAO,GAAG,IAAI,KAAK,OAAO,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,UAAU,WAAW,CAAC,KAAK,GAAG,KAAK;IACvC,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACzB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED