fridayy 1.0.1 → 1.0.2
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/start.d.ts +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +17 -8
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +16 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui/banner.d.ts +1 -1
- package/dist/cli/ui/banner.d.ts.map +1 -1
- package/dist/cli/ui/banner.js +12 -11
- package/dist/cli/ui/banner.js.map +1 -1
- package/dist/cli/ui/startup-animation.d.ts +10 -0
- package/dist/cli/ui/startup-animation.d.ts.map +1 -0
- package/dist/cli/ui/startup-animation.js +47 -0
- package/dist/cli/ui/startup-animation.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D3D"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - Start Command
|
|
3
|
-
* Boots the MCP server
|
|
3
|
+
* Boots the MCP server with animated startup diagnostics.
|
|
4
4
|
*/
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { defaultConfigManager } from '../../config/config-manager.js';
|
|
7
7
|
import { FridayyMcpServer } from '../../mcp/server/fridayy-server.js';
|
|
8
8
|
import { defaultAdapterRegistry } from '../../adapters/registry.js';
|
|
9
|
-
import {
|
|
9
|
+
import { printBanner } from '../ui/banner.js';
|
|
10
|
+
import { runStartupAnimation } from '../ui/startup-animation.js';
|
|
10
11
|
export function registerStartCommand(program) {
|
|
11
12
|
program
|
|
12
13
|
.command('start')
|
|
13
|
-
.description('Start the Fridayy MCP server')
|
|
14
|
+
.description('Start the Fridayy MCP server with animated runtime diagnostics')
|
|
14
15
|
.option('-t, --transport <type>', 'Transport mechanism: stdio or sse', 'stdio')
|
|
15
16
|
.option('-p, --port <port>', 'Port number for SSE transport', '3000')
|
|
16
17
|
.option('-h, --host <host>', 'Host address for SSE transport', 'localhost')
|
|
18
|
+
.option('--no-animation', 'Skip startup animation')
|
|
17
19
|
.action(async (options) => {
|
|
18
20
|
const rootDir = process.cwd();
|
|
19
21
|
if (!defaultConfigManager.configExists(rootDir)) {
|
|
@@ -28,25 +30,32 @@ export function registerStartCommand(program) {
|
|
|
28
30
|
adapterRegistry: defaultAdapterRegistry
|
|
29
31
|
});
|
|
30
32
|
const exposedTools = server.getToolRegistry().getExposedTools();
|
|
33
|
+
const transport = options.transport || config.server?.transport || 'stdio';
|
|
34
|
+
if (transport === 'sse' || process.stdout.isTTY) {
|
|
35
|
+
printBanner();
|
|
36
|
+
if (options.animation !== false) {
|
|
37
|
+
await runStartupAnimation();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
31
40
|
if (exposedTools.length === 0) {
|
|
32
41
|
console.error(chalk.yellow('⚠ Warning: No tools are currently APPROVED. MCP clients will discover 0 tools.'));
|
|
33
42
|
console.error(chalk.gray(' Run `fridayy review --approve-read` or `fridayy review --approve-all` to approve tools.'));
|
|
34
43
|
}
|
|
35
|
-
const transport = options.transport || config.server?.transport || 'stdio';
|
|
36
44
|
if (transport === 'sse') {
|
|
37
45
|
const port = parseInt(options.port || String(config.server?.port || 3000), 10);
|
|
38
46
|
const host = options.host || config.server?.host || 'localhost';
|
|
39
|
-
console.log(getBanner());
|
|
40
47
|
console.log(chalk.green(`✓ Fridayy MCP Server (SSE) running at http://${host}:${port}`));
|
|
41
48
|
console.log(chalk.cyan(` - SSE Endpoint: http://${host}:${port}/sse`));
|
|
42
49
|
console.log(chalk.cyan(` - Messages Post: http://${host}:${port}/messages`));
|
|
43
50
|
console.log(chalk.cyan(` - Health Check: http://${host}:${port}/health`));
|
|
44
|
-
console.log(`\nExposing ${chalk.bold.green(exposedTools.length)} approved tools to MCP clients
|
|
51
|
+
console.log(`\nExposing ${chalk.bold.green(exposedTools.length)} approved tools to MCP clients.\n`);
|
|
45
52
|
await server.startSse(port, host);
|
|
46
53
|
}
|
|
47
54
|
else {
|
|
48
|
-
// Stdio transport: Logs
|
|
49
|
-
|
|
55
|
+
// Stdio transport: Logs go to stderr to keep stdout pristine for JSON-RPC messages
|
|
56
|
+
if (!process.stdout.isTTY) {
|
|
57
|
+
console.error(chalk.cyan(`[fridayy] Stdio MCP Server active with ${exposedTools.length} approved tools.`));
|
|
58
|
+
}
|
|
50
59
|
await server.startStdio();
|
|
51
60
|
}
|
|
52
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,SAAS,IAAI,OAAO,CA+BnC;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -11,13 +11,27 @@ import { registerStartCommand } from './commands/start.js';
|
|
|
11
11
|
import { registerToolsCommand } from './commands/tools.js';
|
|
12
12
|
import { registerConfigCommand } from './commands/config.js';
|
|
13
13
|
import { registerDoctorCommand } from './commands/doctor.js';
|
|
14
|
+
import { printBanner } from './ui/banner.js';
|
|
15
|
+
import { runStartupAnimation } from './ui/startup-animation.js';
|
|
14
16
|
export function createCli() {
|
|
15
17
|
const program = new Command();
|
|
16
18
|
program
|
|
17
19
|
.name('fridayy')
|
|
18
20
|
.description('Universal Application-to-MCP Platform — Turn existing APIs into AI-ready MCP tools')
|
|
19
|
-
.version('1.0.
|
|
20
|
-
|
|
21
|
+
.version('1.0.2')
|
|
22
|
+
.action(async () => {
|
|
23
|
+
printBanner();
|
|
24
|
+
await runStartupAnimation();
|
|
25
|
+
console.log('Available Commands:');
|
|
26
|
+
console.log(' fridayy init → Initialize configuration');
|
|
27
|
+
console.log(' fridayy scan → Scan API endpoints and specs');
|
|
28
|
+
console.log(' fridayy generate → Generate candidate MCP tools');
|
|
29
|
+
console.log(' fridayy review → Review and approve tools');
|
|
30
|
+
console.log(' fridayy start → Start the MCP server');
|
|
31
|
+
console.log(' fridayy tools → List all tools and statuses');
|
|
32
|
+
console.log(' fridayy doctor → Run diagnostics and health check\n');
|
|
33
|
+
});
|
|
34
|
+
// Register subcommands
|
|
21
35
|
registerInitCommand(program);
|
|
22
36
|
registerScanCommand(program);
|
|
23
37
|
registerGenerateCommand(program);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,oFAAoF,CAAC;SACjG,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,WAAW,EAAE,CAAC;QACd,MAAM,mBAAmB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,uBAAuB;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9K,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cli/ui/banner.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - CLI Banner & Styling Helpers
|
|
3
|
-
*
|
|
3
|
+
* Exact layout and styling matching Fridayy design specifications.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getBanner(): string;
|
|
6
6
|
export declare function printBanner(force?: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,SAAS,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/banner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,SAAS,IAAI,MAAM,CAgBlC;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,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - CLI Banner & Styling Helpers
|
|
3
|
-
*
|
|
3
|
+
* Exact layout and styling matching Fridayy design specifications.
|
|
4
4
|
*/
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
export function getBanner() {
|
|
7
|
-
const line1 = chalk.
|
|
8
|
-
const line2 = chalk.
|
|
9
|
-
const line3 = chalk.
|
|
10
|
-
const line4 = chalk.
|
|
11
|
-
const line5 = chalk.
|
|
12
|
-
const line6 = chalk.
|
|
7
|
+
const line1 = chalk.bold.white(' ███████╗██████╗ ██╗██████╗ █████╗ ██╗ ██╗██╗ ██╗');
|
|
8
|
+
const line2 = chalk.bold.white(' ██╔════╝██╔══██╗██║██╔══██╗██╔══██╗╚██╗ ██╔╝╚██╗ ██╔╝');
|
|
9
|
+
const line3 = chalk.bold.white(' █████╗ ██████╔╝██║██║ ██║███████║ ╚████╔╝ ╚████╔╝ ');
|
|
10
|
+
const line4 = chalk.bold.white(' ██╔══╝ ██╔══██╗██║██║ ██║██╔══██║ ╚██╔╝ ╚██╔╝ ');
|
|
11
|
+
const line5 = chalk.bold.white(' ██║ ██║ ██║██║██████╔╝██║ ██║ ██║ ██║ ');
|
|
12
|
+
const line6 = chalk.bold.white(' ╚═╝ ╚═╝ ╚═╝╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ');
|
|
13
13
|
const logo = `\n${line1}\n${line2}\n${line3}\n${line4}\n${line5}\n${line6}\n`;
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
14
|
+
const authorSub = chalk.gray(' sabarivasan\n');
|
|
15
|
+
const tagline = chalk.bold.white(' Universal Application-to-MCP Platform – Turn existing APIs into AI tools\n');
|
|
16
|
+
const badges = ` ${chalk.cyan.bold('v1.0.2')} ${chalk.bgHex('#5e17eb').white.bold(' MCP Standard ')} ${chalk.gray('•')} ${chalk.yellow('⚡')} Developed with ${chalk.red('❤️')} by ${chalk.hex('#00f5d4').bold('Sabarivasan')}\n`;
|
|
17
|
+
const repo = ` ${chalk.gray('Repository:')} ${chalk.underline.hex('#00d2ff')('https://github.com/Sabari-Vasan-SM/fridayy')}\n`;
|
|
18
|
+
return `${logo}${authorSub}${tagline}${badges}${repo}`;
|
|
18
19
|
}
|
|
19
20
|
let bannerPrinted = false;
|
|
20
21
|
export function printBanner(force = false) {
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC;IAE9E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAClH,MAAM,MAAM,GAAG,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC9O,MAAM,IAAI,GAAG,oBAAoB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,4CAA4C,CAAC,IAAI,CAAC;IAE/I,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;AACzD,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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fridayy - Startup Animation & Visual Experience
|
|
3
|
+
* Exact terminal animation sequence matching Fridayy brand design.
|
|
4
|
+
*/
|
|
5
|
+
export interface StartupAnimationOptions {
|
|
6
|
+
interactive?: boolean;
|
|
7
|
+
onComplete?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function runStartupAnimation(options?: StartupAnimationOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=startup-animation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-animation.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/startup-animation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9F"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fridayy - Startup Animation & Visual Experience
|
|
3
|
+
* Exact terminal animation sequence matching Fridayy brand design.
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
const SPINNER_FRAMES = ['◐', '◓', '◑', '◒'];
|
|
7
|
+
export async function runStartupAnimation(options = {}) {
|
|
8
|
+
const isTTY = process.stdout.isTTY && !process.env.CI;
|
|
9
|
+
const steps = [
|
|
10
|
+
{ text: 'Pulling project context...', color: '#00d2ff' },
|
|
11
|
+
{ text: 'Initialising MCP runtime...', color: '#0096c7' },
|
|
12
|
+
{ text: 'Turning existing APIs into tools...', color: '#7209b7' },
|
|
13
|
+
{ text: 'Orchestrating AI capabilities...', color: '#00f5d4' },
|
|
14
|
+
{ text: 'Connecting MCP interface...', color: '#52b788' }
|
|
15
|
+
];
|
|
16
|
+
console.log(chalk.bold.white('> Starting Fridayy\n'));
|
|
17
|
+
if (!isTTY) {
|
|
18
|
+
// Fast path for non-TTY environments
|
|
19
|
+
for (const step of steps) {
|
|
20
|
+
console.log(` ${chalk.green('✔')} ${step.text}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// Animated sequence for interactive terminal
|
|
25
|
+
for (let i = 0; i < steps.length; i++) {
|
|
26
|
+
const step = steps[i];
|
|
27
|
+
const frameDelay = 45;
|
|
28
|
+
const totalFrames = 8;
|
|
29
|
+
for (let f = 0; f < totalFrames; f++) {
|
|
30
|
+
const spinner = chalk.hex(step.color)(SPINNER_FRAMES[f % SPINNER_FRAMES.length]);
|
|
31
|
+
process.stdout.write(`\r ${spinner} ${step.text}`);
|
|
32
|
+
await new Promise(r => setTimeout(r, frameDelay));
|
|
33
|
+
}
|
|
34
|
+
// Settle on completed checkmark
|
|
35
|
+
process.stdout.write(`\r ${chalk.green('✔')} ${step.text}\n`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
console.log('\n' + chalk.bold.green('✔ DONE') + ' ' + chalk.bold.white('Fridayy is ready.\n'));
|
|
39
|
+
// Status block
|
|
40
|
+
console.log(` ${chalk.white('MCP Server')} ${chalk.green('●')} ${chalk.green('Ready')}`);
|
|
41
|
+
console.log(` ${chalk.white('AI Tools')} ${chalk.green('●')} ${chalk.green('Connected')}`);
|
|
42
|
+
console.log(` ${chalk.white('Runtime')} ${chalk.green('●')} ${chalk.green('Active')}\n`);
|
|
43
|
+
// Signature footer
|
|
44
|
+
console.log(` ${chalk.cyan.bold('friday')} - ${chalk.gray('build once. connect everywhere.')}`);
|
|
45
|
+
console.log(` ${chalk.gray('Developed by sabarivasan')}\n`);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=startup-animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-animation.js","sourceRoot":"","sources":["../../../src/cli/ui/startup-animation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED