fridayy 1.0.2 → 1.2.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/README.md +12 -0
- package/dist/adapters/nodejs/ast-scanner.d.ts +5 -3
- package/dist/adapters/nodejs/ast-scanner.d.ts.map +1 -1
- package/dist/adapters/nodejs/ast-scanner.js +104 -29
- package/dist/adapters/nodejs/ast-scanner.js.map +1 -1
- package/dist/adapters/rest/adapter.d.ts +1 -0
- package/dist/adapters/rest/adapter.d.ts.map +1 -1
- package/dist/adapters/rest/adapter.js +118 -2
- package/dist/adapters/rest/adapter.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +45 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +11 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +58 -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 +33 -17
- package/dist/cli/commands/scan.js.map +1 -1
- package/dist/cli/commands/use.d.ts +7 -0
- package/dist/cli/commands/use.d.ts.map +1 -0
- package/dist/cli/commands/use.js +89 -0
- package/dist/cli/commands/use.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui/banner.js +1 -1
- package/dist/core/discovery/project-scanner.d.ts.map +1 -1
- package/dist/core/discovery/project-scanner.js +29 -19
- package/dist/core/discovery/project-scanner.js.map +1 -1
- package/dist/core/tool-generator/generator.d.ts +3 -1
- package/dist/core/tool-generator/generator.d.ts.map +1 -1
- package/dist/core/tool-generator/generator.js +33 -5
- package/dist/core/tool-generator/generator.js.map +1 -1
- package/package.json +2 -1
- package/point/AI_INSTRUCTIONS.md +130 -0
- package/point/PROJECT_CONTEXT.md +61 -0
- package/point/QUICK_START_PROMPT.md +27 -0
|
@@ -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,CAkG1D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - Init Command
|
|
3
|
-
* Initializes fridayy.config.json
|
|
3
|
+
* Initializes fridayy.config.json with smart source detection and manual overrides.
|
|
4
4
|
*/
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import ora from 'ora';
|
|
@@ -17,8 +17,9 @@ export function registerInitCommand(program) {
|
|
|
17
17
|
.option('-y, --yes', 'Skip prompts and accept recommended defaults')
|
|
18
18
|
.option('-f, --force', 'Overwrite existing configuration file')
|
|
19
19
|
.option('--name <name>', 'Project name')
|
|
20
|
+
.option('--source <type>', 'Source adapter type: openapi, nodejs, rest, manual')
|
|
20
21
|
.option('--spec <path>', 'Path to OpenAPI specification file')
|
|
21
|
-
.option('--url <url>', 'Target API base URL')
|
|
22
|
+
.option('--url <url>', 'Target API base URL (e.g. http://localhost:4000)')
|
|
22
23
|
.action(async (options) => {
|
|
23
24
|
printBanner();
|
|
24
25
|
const rootDir = process.cwd();
|
|
@@ -32,24 +33,73 @@ export function registerInitCommand(program) {
|
|
|
32
33
|
spinner: 'dots12',
|
|
33
34
|
color: 'cyan'
|
|
34
35
|
}).start();
|
|
35
|
-
await new Promise(r => setTimeout(r, 400));
|
|
36
|
+
await new Promise(r => setTimeout(r, 400));
|
|
36
37
|
const scanResult = await defaultProjectScanner.scan(rootDir);
|
|
37
38
|
spinner.succeed(chalk.green('Project structure analysis complete.'));
|
|
38
39
|
let config = {
|
|
39
40
|
...DEFAULT_CONFIG,
|
|
40
41
|
...scanResult.recommendedConfig
|
|
41
42
|
};
|
|
42
|
-
if (options.name)
|
|
43
|
+
if (options.name) {
|
|
43
44
|
config.name = options.name;
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if (config.server) {
|
|
46
|
+
config.server.name = `${options.name}-mcp`;
|
|
47
|
+
}
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
// Explicit source override
|
|
50
|
+
if (options.source) {
|
|
51
|
+
const srcType = options.source.toLowerCase();
|
|
52
|
+
if (srcType === 'nodejs') {
|
|
53
|
+
config.source = {
|
|
54
|
+
type: 'nodejs',
|
|
55
|
+
rootDir: './',
|
|
56
|
+
baseUrl: options.url || config.source.baseUrl
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
else if (srcType === 'rest') {
|
|
60
|
+
config.source = {
|
|
61
|
+
type: 'rest',
|
|
62
|
+
baseUrl: options.url || 'http://localhost:3000'
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
else if (srcType === 'openapi') {
|
|
66
|
+
config.source = {
|
|
67
|
+
type: 'openapi',
|
|
68
|
+
path: options.spec || scanResult.openApiFiles[0] || './openapi.yaml',
|
|
69
|
+
baseUrl: options.url || config.source.baseUrl
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
config.source = {
|
|
74
|
+
type: srcType,
|
|
75
|
+
baseUrl: options.url || config.source.baseUrl
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// Smart URL handling when no explicit --source is given
|
|
81
|
+
if (options.spec) {
|
|
82
|
+
config.source = {
|
|
83
|
+
type: 'openapi',
|
|
84
|
+
path: options.spec,
|
|
85
|
+
baseUrl: options.url || config.source.baseUrl
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
else if (options.url) {
|
|
89
|
+
config.source.baseUrl = options.url;
|
|
90
|
+
// If no OpenAPI spec exists, ensure source is not stuck on openapi
|
|
91
|
+
if (!scanResult.hasOpenApi) {
|
|
92
|
+
config.source.type = scanResult.hasNodeJs ? 'nodejs' : 'rest';
|
|
93
|
+
if (config.source.type === 'nodejs') {
|
|
94
|
+
config.source.rootDir = './';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
49
98
|
}
|
|
50
99
|
const savedPath = defaultConfigManager.saveConfig(config, rootDir);
|
|
51
100
|
console.log('');
|
|
52
101
|
logger.success(`Created configuration: ${chalk.bold.cyan(path.basename(savedPath))}`);
|
|
102
|
+
console.log(` Source Adapter: ${chalk.cyan.bold(config.source.type.toUpperCase())} ${config.source.path ? `(${config.source.path})` : ''} ${config.source.baseUrl ? `→ ${config.source.baseUrl}` : ''}`);
|
|
53
103
|
console.log(`\n${chalk.bold('Next steps to turn your API into AI tools:')}`);
|
|
54
104
|
console.log(` 1. Run ${chalk.cyan.bold('fridayy scan')} → inspect discovered endpoints`);
|
|
55
105
|
console.log(` 2. Run ${chalk.cyan.bold('fridayy generate')} → build MCP tool definitions`);
|
|
@@ -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,
|
|
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,CA0F1D"}
|
|
@@ -15,6 +15,7 @@ export function registerScanCommand(program) {
|
|
|
15
15
|
.command('scan')
|
|
16
16
|
.description('Scan project or API to detect capabilities, endpoints, and candidate tools')
|
|
17
17
|
.option('--spec <path>', 'Path to OpenAPI specification file')
|
|
18
|
+
.option('--source <type>', 'Force specific source adapter: openapi, nodejs, rest')
|
|
18
19
|
.action(async (options) => {
|
|
19
20
|
printBanner();
|
|
20
21
|
const rootDir = process.cwd();
|
|
@@ -33,8 +34,12 @@ export function registerScanCommand(program) {
|
|
|
33
34
|
console.log(` └─ ${chalk.cyan.bold(spec.path)} (${spec.title}, ${chalk.green(spec.endpointsCount)} endpoints)`);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
37
|
+
else {
|
|
38
|
+
logger.info('No OpenAPI specification file detected in workspace.');
|
|
39
|
+
}
|
|
36
40
|
if (scanResult.hasNodeJs) {
|
|
37
|
-
|
|
41
|
+
const routeCount = scanResult.details.routes?.length || 0;
|
|
42
|
+
logger.success(`Node.js application detected (${chalk.cyan(scanResult.nodeJsFramework || 'standard')}) — ${chalk.green(routeCount)} routes found`);
|
|
38
43
|
}
|
|
39
44
|
logger.success(`${chalk.bold.green(scanResult.discoveredEndpointsCount)} total endpoints discovered`);
|
|
40
45
|
if (scanResult.authSchemesDetected.length > 0) {
|
|
@@ -43,7 +48,7 @@ export function registerScanCommand(program) {
|
|
|
43
48
|
else {
|
|
44
49
|
logger.info('No explicit authentication schemes detected');
|
|
45
50
|
}
|
|
46
|
-
//
|
|
51
|
+
// Determine effective configuration
|
|
47
52
|
let config;
|
|
48
53
|
if (defaultConfigManager.configExists(rootDir)) {
|
|
49
54
|
config = defaultConfigManager.loadConfig(rootDir);
|
|
@@ -53,29 +58,40 @@ export function registerScanCommand(program) {
|
|
|
53
58
|
...DEFAULT_CONFIG,
|
|
54
59
|
...scanResult.recommendedConfig
|
|
55
60
|
};
|
|
56
|
-
if (options.spec) {
|
|
57
|
-
config.source = { type: 'openapi', path: options.spec };
|
|
58
|
-
}
|
|
59
61
|
}
|
|
62
|
+
if (options.spec) {
|
|
63
|
+
config.source = { type: 'openapi', path: options.spec };
|
|
64
|
+
}
|
|
65
|
+
if (options.source) {
|
|
66
|
+
config.source.type = options.source;
|
|
67
|
+
}
|
|
68
|
+
// Generate candidate tools with auto-fallback
|
|
60
69
|
const candidateTools = await defaultToolGenerator.generate({
|
|
61
70
|
config,
|
|
62
|
-
rootDir
|
|
71
|
+
rootDir,
|
|
72
|
+
sourceTypeOverride: options.source
|
|
63
73
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
if (candidateTools.length > 0) {
|
|
75
|
+
console.log('\n' + chalk.bold.underline('Candidate MCP tools:'));
|
|
76
|
+
candidateTools.forEach((tool, index) => {
|
|
77
|
+
const typeBadge = tool.permissions.type === 'READ'
|
|
78
|
+
? chalk.bgGreen.black(' READ ')
|
|
79
|
+
: tool.permissions.type === 'WRITE'
|
|
80
|
+
? chalk.bgYellow.black(' WRITE ')
|
|
81
|
+
: chalk.bgRed.white.bold(' DESTRUCTIVE ');
|
|
82
|
+
console.log(` ${chalk.gray(String(index + 1).padStart(2, '0') + '.')} ${chalk.bold(tool.name)} ${typeBadge} - ${chalk.gray(tool.description)}`);
|
|
83
|
+
});
|
|
84
|
+
console.log(`\n${chalk.bold.green(candidateTools.length)} candidate tools identified.`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
console.log(chalk.yellow('\n⚠ No endpoints or candidate tools generated yet.'));
|
|
88
|
+
console.log(chalk.gray(' Tip: Provide an API base URL with `fridayy init --url http://localhost:4000` or an OpenAPI spec with `--spec <path>`.'));
|
|
89
|
+
}
|
|
74
90
|
console.log(`\nNext step: Run ${chalk.cyan.bold('fridayy review')} to review and approve generated tools.`);
|
|
75
91
|
console.log(` Run ${chalk.cyan.bold('fridayy start')} to launch the MCP server.\n`);
|
|
76
92
|
}
|
|
77
93
|
catch (err) {
|
|
78
|
-
spinner.fail(`Scan
|
|
94
|
+
spinner.fail(`Scan completed with notice: ${err.message}`);
|
|
79
95
|
}
|
|
80
96
|
});
|
|
81
97
|
}
|
|
@@ -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;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC;YACvF,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAEvD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;gBACjD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,iCAAiC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/cli/commands/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fridayy - Use Command (How-To Guide & Product Vision)
|
|
3
|
+
* Explains the application motto, architecture, step-by-step usage, and AI client setups.
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
export declare function registerUseCommand(program: Command): void;
|
|
7
|
+
//# sourceMappingURL=use.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/use.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+FzD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fridayy - Use Command (How-To Guide & Product Vision)
|
|
3
|
+
* Explains the application motto, architecture, step-by-step usage, and AI client setups.
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { printBanner } from '../ui/banner.js';
|
|
7
|
+
export function registerUseCommand(program) {
|
|
8
|
+
program
|
|
9
|
+
.command('use')
|
|
10
|
+
.description('Display detailed how-to guide, product vision, architecture, and client setup instructions')
|
|
11
|
+
.option('--json', 'Output guide in JSON format')
|
|
12
|
+
.action((options) => {
|
|
13
|
+
printBanner();
|
|
14
|
+
if (options.json) {
|
|
15
|
+
const guide = {
|
|
16
|
+
name: 'fridayy',
|
|
17
|
+
tagline: 'Universal Application-to-MCP Platform — Turn existing APIs into AI-ready tools',
|
|
18
|
+
motto: 'Build once. Connect everywhere.',
|
|
19
|
+
author: 'Sabarivasan',
|
|
20
|
+
workflow: [
|
|
21
|
+
{ step: 1, command: 'fridayy init', description: 'Initialize Fridayy configuration' },
|
|
22
|
+
{ step: 2, command: 'fridayy scan', description: 'Detect APIs, routes, and auth schemes' },
|
|
23
|
+
{ step: 3, command: 'fridayy generate', description: 'Generate MCP candidate tools' },
|
|
24
|
+
{ step: 4, command: 'fridayy review', description: 'Approve or block candidate tools' },
|
|
25
|
+
{ step: 5, command: 'fridayy start', description: 'Start standards-compliant MCP server' }
|
|
26
|
+
]
|
|
27
|
+
};
|
|
28
|
+
console.log(JSON.stringify(guide, null, 2));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
console.log(chalk.bold.hex('#00d2ff')('================================================================================'));
|
|
32
|
+
console.log(chalk.bold.hex('#00d2ff')(' 🎯 THE FRIDAYY MOTTO & PRODUCT VISION'));
|
|
33
|
+
console.log(chalk.bold.hex('#00d2ff')('================================================================================\n'));
|
|
34
|
+
console.log(` ${chalk.bold.white('“Turn existing applications and APIs into AI-ready tools with zero code rewriting.”')}\n`);
|
|
35
|
+
console.log(` ${chalk.gray('Existing applications shouldn’t need a complete rewrite to be useful to AI models.')}`);
|
|
36
|
+
console.log(` ${chalk.gray('Fridayy creates a safe, reviewable bridge between your backend and modern AI agents.')}\n`);
|
|
37
|
+
console.log(chalk.bold.hex('#00b4d8')('================================================================================'));
|
|
38
|
+
console.log(chalk.bold.hex('#00b4d8')(' ⚙️ HOW IT WORKS UNDER THE HOOD'));
|
|
39
|
+
console.log(chalk.bold.hex('#00b4d8')('================================================================================\n'));
|
|
40
|
+
console.log(` ${chalk.cyan('1. Capability Discovery:')}`);
|
|
41
|
+
console.log(` Scans OpenAPI specs (v3.0, v3.1, Swagger 2.0) or Node.js Express/Fastify routes.`);
|
|
42
|
+
console.log(` ${chalk.cyan('2. Schema Normalization:')}`);
|
|
43
|
+
console.log(` Merges URL path variables, query parameters, headers, and request bodies into`);
|
|
44
|
+
console.log(` a unified, typed JSON Schema for LLMs.`);
|
|
45
|
+
console.log(` ${chalk.cyan('3. Zero-Trust Security & Risk Engine:')}`);
|
|
46
|
+
console.log(` Classifies actions into ${chalk.green('READ')} (safe), ${chalk.yellow('WRITE')} (mutating), and ${chalk.red.bold('DESTRUCTIVE')} (delete/purge).`);
|
|
47
|
+
console.log(` Destructive tools default to ${chalk.red.bold('BLOCKED')} until you approve them.`);
|
|
48
|
+
console.log(` ${chalk.cyan('4. Zero-Leak Secret Isolation:')}`);
|
|
49
|
+
console.log(` API keys/tokens are loaded strictly from environment variables at execution time`);
|
|
50
|
+
console.log(` and never leaked in LLM prompts or tool schemas.`);
|
|
51
|
+
console.log(` ${chalk.cyan('5. Official MCP Server Transport:')}`);
|
|
52
|
+
console.log(` Exposes tools via standard Stdio & SSE protocols for Claude Desktop, Cursor, etc.\n`);
|
|
53
|
+
console.log(chalk.bold.hex('#7209b7')('================================================================================'));
|
|
54
|
+
console.log(chalk.bold.hex('#7209b7')(' 🚀 STEP-BY-STEP WORKFLOW'));
|
|
55
|
+
console.log(chalk.bold.hex('#7209b7')('================================================================================\n'));
|
|
56
|
+
console.log(` ${chalk.bold.white('Step 1:')} ${chalk.cyan.bold('fridayy init')} ${chalk.gray('→ Creates fridayy.config.json')}`);
|
|
57
|
+
console.log(` ${chalk.bold.white('Step 2:')} ${chalk.cyan.bold('fridayy scan')} ${chalk.gray('→ Inspects your endpoints and auth schemes')}`);
|
|
58
|
+
console.log(` ${chalk.bold.white('Step 3:')} ${chalk.cyan.bold('fridayy generate')} ${chalk.gray('→ Builds candidate MCP tools into fridayy.tools.json')}`);
|
|
59
|
+
console.log(` ${chalk.bold.white('Step 4:')} ${chalk.cyan.bold('fridayy review')} ${chalk.gray('→ Approve safe tools (e.g. fridayy review --approve-read)')}`);
|
|
60
|
+
console.log(` ${chalk.bold.white('Step 5:')} ${chalk.cyan.bold('fridayy start')} ${chalk.gray('→ Launches the live Model Context Protocol server')}\n`);
|
|
61
|
+
console.log(chalk.bold.hex('#b5179e')('================================================================================'));
|
|
62
|
+
console.log(chalk.bold.hex('#b5179e')(' 🤖 CONNECTING TO AI CLIENTS'));
|
|
63
|
+
console.log(chalk.bold.hex('#b5179e')('================================================================================\n'));
|
|
64
|
+
console.log(` ${chalk.bold('1. Claude Desktop')} (add to claude_desktop_config.json):`);
|
|
65
|
+
console.log(chalk.gray(` {`));
|
|
66
|
+
console.log(chalk.gray(` "mcpServers": {`));
|
|
67
|
+
console.log(chalk.gray(` "my-api": {`));
|
|
68
|
+
console.log(chalk.gray(` "command": "npx",`));
|
|
69
|
+
console.log(chalk.gray(` "args": ["fridayy", "start"],`));
|
|
70
|
+
console.log(chalk.gray(` "env": { "FRIDAYY_API_KEY": "your-api-key" }`));
|
|
71
|
+
console.log(chalk.gray(` }`));
|
|
72
|
+
console.log(chalk.gray(` }`));
|
|
73
|
+
console.log(chalk.gray(` }\n`));
|
|
74
|
+
console.log(` ${chalk.bold('2. Cursor IDE')} (Settings → Features → MCP):`);
|
|
75
|
+
console.log(chalk.gray(` Type: command | Command: npx fridayy start\n`));
|
|
76
|
+
console.log(` ${chalk.bold('3. Pointing AI to this Project:')}`);
|
|
77
|
+
console.log(` Simply point your AI agent to ${chalk.cyan.bold('point/AI_INSTRUCTIONS.md')}`);
|
|
78
|
+
console.log(` The AI will automatically understand your architecture and run necessary setup.\n`);
|
|
79
|
+
console.log(chalk.bold.hex('#00f5d4')('================================================================================'));
|
|
80
|
+
console.log(chalk.bold.hex('#00f5d4')(' 💡 PRO TIPS'));
|
|
81
|
+
console.log(chalk.bold.hex('#00f5d4')('================================================================================\n'));
|
|
82
|
+
console.log(` • Run ${chalk.cyan.bold('fridayy doctor')} anytime to check secrets, endpoints, and health.`);
|
|
83
|
+
console.log(` • Use ${chalk.cyan.bold('fridayy tools --approved')} to see active tools exposed to AI.`);
|
|
84
|
+
console.log(` • Use ${chalk.cyan.bold('fridayy start --transport sse --port 3000')} for remote network clients.\n`);
|
|
85
|
+
console.log(` ${chalk.cyan.bold('friday')} - ${chalk.gray('build once. connect everywhere.')}`);
|
|
86
|
+
console.log(` ${chalk.gray('Developed by sabarivasan')}\n`);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/cli/commands/use.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;AAapC,wBAAgB,SAAS,IAAI,OAAO,CAiCnC;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -11,6 +11,7 @@ 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 { registerUseCommand } from './commands/use.js';
|
|
14
15
|
import { printBanner } from './ui/banner.js';
|
|
15
16
|
import { runStartupAnimation } from './ui/startup-animation.js';
|
|
16
17
|
export function createCli() {
|
|
@@ -18,11 +19,12 @@ export function createCli() {
|
|
|
18
19
|
program
|
|
19
20
|
.name('fridayy')
|
|
20
21
|
.description('Universal Application-to-MCP Platform — Turn existing APIs into AI-ready MCP tools')
|
|
21
|
-
.version('1.
|
|
22
|
+
.version('1.2.1')
|
|
22
23
|
.action(async () => {
|
|
23
24
|
printBanner();
|
|
24
25
|
await runStartupAnimation();
|
|
25
26
|
console.log('Available Commands:');
|
|
27
|
+
console.log(' fridayy use → Show guide, product vision & how it works');
|
|
26
28
|
console.log(' fridayy init → Initialize configuration');
|
|
27
29
|
console.log(' fridayy scan → Scan API endpoints and specs');
|
|
28
30
|
console.log(' fridayy generate → Generate candidate MCP tools');
|
|
@@ -32,6 +34,7 @@ export function createCli() {
|
|
|
32
34
|
console.log(' fridayy doctor → Run diagnostics and health check\n');
|
|
33
35
|
});
|
|
34
36
|
// Register subcommands
|
|
37
|
+
registerUseCommand(program);
|
|
35
38
|
registerInitCommand(program);
|
|
36
39
|
registerScanCommand(program);
|
|
37
40
|
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;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"}
|
|
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,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,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,iEAAiE,CAAC,CAAC;QAC/E,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,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,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.js
CHANGED
|
@@ -13,7 +13,7 @@ export function getBanner() {
|
|
|
13
13
|
const logo = `\n${line1}\n${line2}\n${line3}\n${line4}\n${line5}\n${line6}\n`;
|
|
14
14
|
const authorSub = chalk.gray(' sabarivasan\n');
|
|
15
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.
|
|
16
|
+
const badges = ` ${chalk.cyan.bold('v1.2.1')} ${chalk.bgHex('#5e17eb').white.bold(' MCP Standard ')} ${chalk.gray('•')} ${chalk.yellow('⚡')} Developed with ${chalk.red('❤️')} by ${chalk.hex('#00f5d4').bold('Sabarivasan')}\n`;
|
|
17
17
|
const repo = ` ${chalk.gray('Repository:')} ${chalk.underline.hex('#00d2ff')('https://github.com/Sabari-Vasan-SM/fridayy')}\n`;
|
|
18
18
|
return `${logo}${authorSub}${tagline}${badges}${repo}`;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/discovery/project-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAA0B,MAAM,4BAA4B,CAAC;AAIrF,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAuB;gBAEhC,eAAe,GAAE,eAAwC;IAIrE;;OAEG;IACU,IAAI,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/discovery/project-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAA0B,MAAM,4BAA4B,CAAC;AAIrF,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAuB;gBAEhC,eAAe,GAAE,eAAwC;IAIrE;;OAEG;IACU,IAAI,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgHvE,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,cAAc;CAcvB;AAED,eAAO,MAAM,qBAAqB,gBAAuB,CAAC"}
|
|
@@ -38,7 +38,7 @@ export class ProjectScanner {
|
|
|
38
38
|
});
|
|
39
39
|
// Collect security schemes
|
|
40
40
|
if (parsed.securityDefinitions) {
|
|
41
|
-
for (const [schemeName
|
|
41
|
+
for (const [schemeName] of Object.entries(parsed.securityDefinitions)) {
|
|
42
42
|
authSchemesDetected.add(schemeName);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -64,6 +64,8 @@ export class ProjectScanner {
|
|
|
64
64
|
nodeJsFramework = 'koa';
|
|
65
65
|
else if (allDeps['@nestjs/core'])
|
|
66
66
|
nodeJsFramework = 'nestjs';
|
|
67
|
+
else if (allDeps.next)
|
|
68
|
+
nodeJsFramework = 'custom';
|
|
67
69
|
else
|
|
68
70
|
nodeJsFramework = 'custom';
|
|
69
71
|
}
|
|
@@ -71,29 +73,35 @@ export class ProjectScanner {
|
|
|
71
73
|
nodeJsFramework = 'custom';
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
|
-
const discoveredRoutes = await this.nodeJsScanner.scanDirectory(absRoot,
|
|
75
|
-
if (discoveredRoutes.length > 0
|
|
76
|
+
const discoveredRoutes = await this.nodeJsScanner.scanDirectory(absRoot, 500);
|
|
77
|
+
if (!hasOpenApi && discoveredRoutes.length > 0) {
|
|
76
78
|
totalEndpoints += discoveredRoutes.length;
|
|
77
79
|
}
|
|
78
80
|
// 3. Formulate recommended configuration
|
|
79
81
|
const projectName = path.basename(absRoot);
|
|
82
|
+
let recommendedSource;
|
|
83
|
+
if (hasOpenApi) {
|
|
84
|
+
recommendedSource = {
|
|
85
|
+
type: 'openapi',
|
|
86
|
+
path: openApiFiles[0]
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
else if (hasNodeJs) {
|
|
90
|
+
recommendedSource = {
|
|
91
|
+
type: 'nodejs',
|
|
92
|
+
rootDir: './'
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
recommendedSource = {
|
|
97
|
+
type: 'rest',
|
|
98
|
+
baseUrl: 'http://localhost:3000'
|
|
99
|
+
};
|
|
100
|
+
}
|
|
80
101
|
const recommendedConfig = {
|
|
81
102
|
name: projectName,
|
|
82
103
|
version: '1.0.0',
|
|
83
|
-
source:
|
|
84
|
-
? {
|
|
85
|
-
type: 'openapi',
|
|
86
|
-
path: openApiFiles[0]
|
|
87
|
-
}
|
|
88
|
-
: hasNodeJs && discoveredRoutes.length > 0
|
|
89
|
-
? {
|
|
90
|
-
type: 'nodejs',
|
|
91
|
-
rootDir: './'
|
|
92
|
-
}
|
|
93
|
-
: {
|
|
94
|
-
type: 'openapi',
|
|
95
|
-
path: './openapi.yaml'
|
|
96
|
-
},
|
|
104
|
+
source: recommendedSource,
|
|
97
105
|
server: {
|
|
98
106
|
name: `${projectName}-mcp`,
|
|
99
107
|
version: '1.0.0',
|
|
@@ -130,7 +138,9 @@ export class ProjectScanner {
|
|
|
130
138
|
'api/openapi.yaml',
|
|
131
139
|
'api/openapi.json',
|
|
132
140
|
'docs/openapi.yaml',
|
|
133
|
-
'docs/openapi.json'
|
|
141
|
+
'docs/openapi.json',
|
|
142
|
+
'src/openapi.yaml',
|
|
143
|
+
'src/openapi.json'
|
|
134
144
|
];
|
|
135
145
|
const found = [];
|
|
136
146
|
for (const rel of candidates) {
|
|
@@ -138,7 +148,7 @@ export class ProjectScanner {
|
|
|
138
148
|
found.push(rel);
|
|
139
149
|
}
|
|
140
150
|
}
|
|
141
|
-
// Also search root for any *.openapi.json or *.swagger.yaml
|
|
151
|
+
// Also search root and common folders for any *.openapi.json or *.swagger.yaml
|
|
142
152
|
try {
|
|
143
153
|
const files = fs.readdirSync(rootDir);
|
|
144
154
|
for (const file of files) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../../../src/core/discovery/project-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAmB,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,MAAM,OAAO,cAAc;IACjB,eAAe,CAAkB;IACjC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE5C,YAAY,kBAAmC,sBAAsB;QACnE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,mBAAmB,GAAoF,EAAE,CAAC;QAChH,MAAM,mBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QACnD,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,cAAc,IAAI,OAAO,CAAC;gBAE1B,mBAAmB,CAAC,IAAI,CAAC;oBACvB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,cAAc,EAAE,OAAO;iBACxB,CAAC,CAAC;gBAEH,2BAA2B;gBAC3B,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,KAAK,MAAM,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../../../src/core/discovery/project-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fridayy - Tool Generator Engine
|
|
3
3
|
* Coordinates adapters to generate, filter, and normalize candidate MCP tools.
|
|
4
|
+
* Features intelligent auto-fallback across adapters when files are missing.
|
|
4
5
|
*/
|
|
5
6
|
import { FridayyToolDefinition, FridayyConfig } from '../schema/types.js';
|
|
6
7
|
import { AdapterRegistry } from '../../adapters/registry.js';
|
|
7
8
|
export interface GenerationOptions {
|
|
8
9
|
rootDir?: string;
|
|
9
10
|
config: FridayyConfig;
|
|
11
|
+
sourceTypeOverride?: 'openapi' | 'nodejs' | 'rest' | 'manual';
|
|
10
12
|
preserveStatuses?: Map<string, 'APPROVED' | 'PENDING' | 'BLOCKED' | 'REJECTED'>;
|
|
11
13
|
}
|
|
12
14
|
export declare class ToolGenerator {
|
|
13
15
|
private adapterRegistry;
|
|
14
16
|
constructor(adapterRegistry?: AdapterRegistry);
|
|
15
17
|
/**
|
|
16
|
-
* Generates MCP tools
|
|
18
|
+
* Generates MCP tools with automated adapter fallback capabilities.
|
|
17
19
|
*/
|
|
18
20
|
generate(options: GenerationOptions): Promise<FridayyToolDefinition[]>;
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/core/tool-generator/generator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/core/tool-generator/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAA0B,MAAM,4BAA4B,CAAC;AAGrF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,kBAAkB,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9D,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;CACjF;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,eAAe,GAAE,eAAwC;IAIrE;;OAEG;IACU,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAiFpF;AAED,eAAO,MAAM,oBAAoB,eAAsB,CAAC"}
|