@o3r/mcp 14.0.0-next.2 → 14.0.0-next.4
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 +3 -0
- package/package.json +38 -34
- package/src/best-practices/index.d.ts +8 -0
- package/src/best-practices/index.d.ts.map +1 -0
- package/src/best-practices/index.js +52 -0
- package/src/best-practices/index.js.map +1 -0
- package/{cli → src/cli}/index.d.ts.map +1 -1
- package/{cli → src/cli}/index.js +4 -3
- package/src/cli/index.js.map +1 -0
- package/{tools/create-monorepo-with-app.d.ts → src/create-monorepo-with-app/index.d.ts} +1 -1
- package/src/create-monorepo-with-app/index.d.ts.map +1 -0
- package/{tools/create-monorepo-with-app.js → src/create-monorepo-with-app/index.js} +1 -1
- package/src/create-monorepo-with-app/index.js.map +1 -0
- package/src/mcp-server.d.ts +8 -0
- package/src/mcp-server.d.ts.map +1 -0
- package/src/mcp-server.js +62 -0
- package/src/mcp-server.js.map +1 -0
- package/cli/index.js.map +0 -1
- package/instructions/best-practices.d.ts +0 -8
- package/instructions/best-practices.d.ts.map +0 -1
- package/instructions/best-practices.js +0 -24
- package/instructions/best-practices.js.map +0 -1
- package/mcp-server.d.ts +0 -6
- package/mcp-server.d.ts.map +0 -1
- package/mcp-server.js +0 -29
- package/mcp-server.js.map +0 -1
- package/tools/best-practices.d.ts +0 -8
- package/tools/best-practices.d.ts.map +0 -1
- package/tools/best-practices.js +0 -27
- package/tools/best-practices.js.map +0 -1
- package/tools/create-monorepo-with-app.d.ts.map +0 -1
- package/tools/create-monorepo-with-app.js.map +0 -1
- /package/{cli → src/cli}/index.d.ts +0 -0
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/mcp",
|
|
3
|
-
"version": "14.0.0-next.
|
|
3
|
+
"version": "14.0.0-next.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"description": "This module provides a MCP Server",
|
|
7
|
+
"description": "Experimental package — This module provides a MCP Server",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"mcp",
|
|
10
10
|
"otter",
|
|
11
11
|
"otter-module"
|
|
12
12
|
],
|
|
13
13
|
"bin": {
|
|
14
|
-
"o3r-mcp-start": "./cli/index.js"
|
|
14
|
+
"o3r-mcp-start": "./src/cli/index.js"
|
|
15
15
|
},
|
|
16
|
-
"main": "./cli/index.js",
|
|
16
|
+
"main": "./src/cli/index.js",
|
|
17
17
|
"scripts": {
|
|
18
18
|
"nx": "nx",
|
|
19
19
|
"ng": "yarn nx",
|
|
@@ -22,56 +22,60 @@
|
|
|
22
22
|
"compile": "tsc -b ./tsconfig.build.json && yarn copy:resources && yarn cpy package.json dist && patch-package-json-main"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@
|
|
25
|
+
"@ama-mcp/angular": "^14.0.0-next.4",
|
|
26
|
+
"@ama-mcp/core": "^14.0.0-next.4",
|
|
27
|
+
"@ama-mcp/github": "^14.0.0-next.4",
|
|
28
|
+
"@ama-mcp/otter": "^14.0.0-next.4",
|
|
29
|
+
"@modelcontextprotocol/sdk": "~1.20.0",
|
|
30
|
+
"@octokit/rest": "~22.0.0",
|
|
26
31
|
"tslib": "^2.6.2",
|
|
27
32
|
"zod": "~3.25.76"
|
|
28
33
|
},
|
|
29
34
|
"devDependencies": {
|
|
30
|
-
"@angular/
|
|
31
|
-
"@angular/
|
|
32
|
-
"@angular/
|
|
33
|
-
"@angular/
|
|
34
|
-
"@angular/
|
|
35
|
-
"@angular/
|
|
35
|
+
"@angular-devkit/architect": "~0.2003.11",
|
|
36
|
+
"@angular-devkit/schematics": "~20.3.11",
|
|
37
|
+
"@angular/common": "~20.3.13",
|
|
38
|
+
"@angular/compiler": "~20.3.13",
|
|
39
|
+
"@angular/compiler-cli": "~20.3.13",
|
|
40
|
+
"@angular/core": "~20.3.13",
|
|
41
|
+
"@angular/platform-browser": "~20.3.13",
|
|
42
|
+
"@angular/platform-browser-dynamic": "~20.3.13",
|
|
36
43
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
|
|
37
|
-
"@nx/eslint": "~21.
|
|
38
|
-
"@nx/eslint-plugin": "~21.
|
|
39
|
-
"@nx/jest": "~21.
|
|
40
|
-
"@nx/js": "~21.
|
|
41
|
-
"@o3r/build-helpers": "
|
|
42
|
-
"@o3r/eslint-config": "
|
|
43
|
-
"@o3r/eslint-plugin": "
|
|
44
|
-
"@o3r/test-helpers": "
|
|
45
|
-
"@stylistic/eslint-plugin": "~5.
|
|
46
|
-
"@types/jest": "~
|
|
47
|
-
"@types/node": "~22.
|
|
48
|
-
"@typescript-eslint/parser": "~8.
|
|
49
|
-
"angular-eslint": "~20.
|
|
44
|
+
"@nx/eslint": "~21.6.0",
|
|
45
|
+
"@nx/eslint-plugin": "~21.6.0",
|
|
46
|
+
"@nx/jest": "~21.6.0",
|
|
47
|
+
"@nx/js": "~21.6.0",
|
|
48
|
+
"@o3r/build-helpers": "~14.0.0-next.4",
|
|
49
|
+
"@o3r/eslint-config": "~14.0.0-next.4",
|
|
50
|
+
"@o3r/eslint-plugin": "~14.0.0-next.4",
|
|
51
|
+
"@o3r/test-helpers": "~14.0.0-next.4",
|
|
52
|
+
"@stylistic/eslint-plugin": "~5.6.0",
|
|
53
|
+
"@types/jest": "~30.0.0",
|
|
54
|
+
"@types/node": "~22.18.0",
|
|
55
|
+
"@typescript-eslint/parser": "~8.47.0",
|
|
56
|
+
"angular-eslint": "~20.6.0",
|
|
50
57
|
"cpy-cli": "^6.0.0",
|
|
51
|
-
"eslint": "~9.
|
|
58
|
+
"eslint": "~9.39.0",
|
|
52
59
|
"eslint-import-resolver-node": "~0.3.9",
|
|
53
60
|
"eslint-import-resolver-typescript": "~4.4.0",
|
|
54
61
|
"eslint-plugin-import": "~2.32.0",
|
|
55
62
|
"eslint-plugin-import-newlines": "~1.4.0",
|
|
56
|
-
"eslint-plugin-jest": "~29.
|
|
63
|
+
"eslint-plugin-jest": "~29.1.0",
|
|
57
64
|
"eslint-plugin-jsdoc": "~54.7.0",
|
|
58
65
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
59
66
|
"eslint-plugin-unicorn": "~60.0.0",
|
|
60
|
-
"eslint-plugin-unused-imports": "~4.
|
|
67
|
+
"eslint-plugin-unused-imports": "~4.3.0",
|
|
61
68
|
"globals": "^16.0.0",
|
|
62
|
-
"jest": "~
|
|
63
|
-
"jest-environment-jsdom": "~29.7.0",
|
|
69
|
+
"jest": "~30.2.0",
|
|
64
70
|
"jest-junit": "~16.0.0",
|
|
65
|
-
"jest-
|
|
66
|
-
"jest-util": "~29.7.0",
|
|
71
|
+
"jest-util": "~30.2.0",
|
|
67
72
|
"jsonc-eslint-parser": "~2.4.0",
|
|
68
|
-
"nx": "~21.
|
|
73
|
+
"nx": "~21.6.0",
|
|
69
74
|
"rxjs": "^7.8.1",
|
|
70
75
|
"ts-jest": "~29.4.0",
|
|
71
|
-
"ts-node": "~10.9.2",
|
|
72
76
|
"type-fest": "^4.30.1",
|
|
73
77
|
"typescript": "~5.9.2",
|
|
74
|
-
"typescript-eslint": "~8.
|
|
78
|
+
"typescript-eslint": "~8.47.0",
|
|
75
79
|
"zone.js": "~0.15.0"
|
|
76
80
|
},
|
|
77
81
|
"engines": {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Register the best practices tool and resources.
|
|
4
|
+
* @param server
|
|
5
|
+
* @param resourcesPath
|
|
6
|
+
*/
|
|
7
|
+
export declare function registerBestPracticesToolAndResources(server: McpServer, resourcesPath: string): Promise<[PromiseSettledResult<void>, PromiseSettledResult<void>]>;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/best-practices/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,yCAAyC,CAAC;AAuDjD;;;;GAIG;AACH,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qEAM7F"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerBestPracticesToolAndResources = registerBestPracticesToolAndResources;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const core_1 = require("@ama-mcp/core");
|
|
7
|
+
const otter_1 = require("@ama-mcp/otter");
|
|
8
|
+
const uri = `${otter_1.RESOURCE_URI_PREFIX}://best-practices`;
|
|
9
|
+
async function registerBestPracticesResources(server, bestPracticesResourcesPath) {
|
|
10
|
+
const content = await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'output.md'), { encoding: 'utf8' });
|
|
11
|
+
core_1.resourceRegistry.set(uri, content);
|
|
12
|
+
server.registerResource('Best Practices Guide', uri, {
|
|
13
|
+
title: 'Otter Best Practices and Code Generation Guide',
|
|
14
|
+
description: await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'description.md'), { encoding: 'utf8' }),
|
|
15
|
+
mimeType: 'text/markdown'
|
|
16
|
+
}, () => ({ contents: [{ uri, text: content }] }));
|
|
17
|
+
}
|
|
18
|
+
async function registerBestPracticesTool(server, bestPracticesResourcesPath) {
|
|
19
|
+
server.registerTool('get_best_practices', {
|
|
20
|
+
title: 'Get Otter Coding Best Practices Guide',
|
|
21
|
+
description: await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'description.md'), { encoding: 'utf8' }),
|
|
22
|
+
annotations: {
|
|
23
|
+
readOnlyHint: true,
|
|
24
|
+
openWorldHint: false
|
|
25
|
+
}
|
|
26
|
+
}, () => ({
|
|
27
|
+
content: [
|
|
28
|
+
{
|
|
29
|
+
type: 'text',
|
|
30
|
+
text: core_1.resourceRegistry.get(uri) || 'Not found'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'resource_link',
|
|
34
|
+
name: 'Best practices',
|
|
35
|
+
uri
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Register the best practices tool and resources.
|
|
42
|
+
* @param server
|
|
43
|
+
* @param resourcesPath
|
|
44
|
+
*/
|
|
45
|
+
function registerBestPracticesToolAndResources(server, resourcesPath) {
|
|
46
|
+
const bestPracticesResourcesPath = (0, node_path_1.join)(resourcesPath, 'best-practices');
|
|
47
|
+
return Promise.allSettled([
|
|
48
|
+
registerBestPracticesResources(server, bestPracticesResourcesPath),
|
|
49
|
+
registerBestPracticesTool(server, bestPracticesResourcesPath)
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/best-practices/index.ts"],"names":[],"mappings":";;AA0EA,sFAMC;AAhFD,+CAE0B;AAC1B,yCAEmB;AACnB,wCAEuB;AACvB,0CAEwB;AAKxB,MAAM,GAAG,GAAG,GAAG,2BAAmB,mBAAmB,CAAC;AAEtD,KAAK,UAAU,8BAA8B,CAAC,MAAiB,EAAE,0BAAkC;IACjG,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAC5B,IAAA,gBAAI,EAAC,0BAA0B,EAAE,WAAW,CAAC,EAC7C,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,uBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,gBAAgB,CACrB,sBAAsB,EACtB,GAAG,EACH;QACE,KAAK,EAAE,gDAAgD;QACvD,WAAW,EAAE,MAAM,IAAA,mBAAQ,EACzB,IAAA,gBAAI,EAAC,0BAA0B,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB;QACD,QAAQ,EAAE,eAAe;KAC1B,EACD,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAiB,EAAE,0BAAkC;IAC5F,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EAAE,MAAM,IAAA,mBAAQ,EACzB,IAAA,gBAAI,EAAC,0BAA0B,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW;aAC/C;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,gBAAgB;gBACtB,GAAG;aACJ;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,qCAAqC,CAAC,MAAiB,EAAE,aAAqB;IAC5F,MAAM,0BAA0B,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC,UAAU,CAAC;QACxB,8BAA8B,CAAC,MAAM,EAAE,0BAA0B,CAAC;QAClE,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":""}
|
package/{cli → src/cli}/index.js
RENAMED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const core_1 = require("@ama-mcp/core");
|
|
4
5
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
5
6
|
const mcp_server_1 = require("../mcp-server");
|
|
6
7
|
async function startMcpServer() {
|
|
7
|
-
const
|
|
8
|
+
const logger = new core_1.MCPLogger('O3R MCP server', process.env.O3R_MCP_LOG_LEVEL);
|
|
9
|
+
const server = await (0, mcp_server_1.createMcpServer)(logger);
|
|
8
10
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
9
11
|
await server.connect(transport);
|
|
10
|
-
|
|
11
|
-
console.error('Server connected...');
|
|
12
|
+
logger.info('Server connected...');
|
|
12
13
|
}
|
|
13
14
|
void startMcpServer();
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":";;;AACA,wCAGuB;AACvB,wEAEmD;AACnD,8CAEuB;AAEvB,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAG,IAAI,gBAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAA6B,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,cAAc,EAAE,CAAC"}
|
|
@@ -5,4 +5,4 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
5
5
|
* @param resourcesPath
|
|
6
6
|
*/
|
|
7
7
|
export declare function registerCreateMonorepoWithAppTool(server: McpServer, resourcesPath: string): Promise<void>;
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/create-monorepo-with-app/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,yCAAyC,CAAC;AAKjD;;;;GAIG;AACH,wBAAsB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B/G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-monorepo-with-app/index.ts"],"names":[],"mappings":";;AAkBA,8EA8BC;AAhDD,+CAE0B;AAC1B,yCAEmB;AAInB,6BAEa;AAEb;;;;GAIG;AACI,KAAK,UAAU,iCAAiC,CAAC,MAAiB,EAAE,aAAqB;IAC9F,MAAM,mBAAmB,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5G,MAAM,yBAAyB,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAClI,MAAM,0BAA0B,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpI,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAElG,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC9D,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;SAC5E;KACF,EACD,CAAC,EAAE,cAAc,EAAE,eAAe,GAAG,UAAU,EAAE,EAAE,EAAE;QACnD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;yBACf,UAAU,CAAC,kBAAkB,EAAE,cAAc,CAAC;yBAC9C,UAAU,CAAC,mBAAmB,EAAE,eAAe,CAAC;iBACpD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MCPLogger } from '@ama-mcp/core';
|
|
2
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create an MCP server instance.
|
|
5
|
+
* @param logger
|
|
6
|
+
*/
|
|
7
|
+
export declare function createMcpServer(logger: MCPLogger): Promise<McpServer>;
|
|
8
|
+
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/mcp-server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,eAAe,CAAC;AAavB,OAAO,EACL,SAAS,EACV,MAAM,yCAAyC,CAAC;AAQjD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CA8C3E"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMcpServer = createMcpServer;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const angular_1 = require("@ama-mcp/angular");
|
|
7
|
+
const github_1 = require("@ama-mcp/github");
|
|
8
|
+
const otter_1 = require("@ama-mcp/otter");
|
|
9
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
10
|
+
const best_practices_1 = require("./best-practices");
|
|
11
|
+
const create_monorepo_with_app_1 = require("./create-monorepo-with-app");
|
|
12
|
+
/**
|
|
13
|
+
* Create an MCP server instance.
|
|
14
|
+
* @param logger
|
|
15
|
+
*/
|
|
16
|
+
async function createMcpServer(logger) {
|
|
17
|
+
const { name, version } = JSON.parse(await (0, promises_1.readFile)((0, node_path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
|
18
|
+
const server = new mcp_js_1.McpServer({
|
|
19
|
+
name,
|
|
20
|
+
version,
|
|
21
|
+
capabilities: {
|
|
22
|
+
resources: {},
|
|
23
|
+
tools: {}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const resourcesPath = (0, node_path_1.join)(__dirname, '..', 'resources');
|
|
27
|
+
const githubToken = process.env.O3R_MCP_GITHUB_TOKEN;
|
|
28
|
+
const cacheDirPath = process.env.O3R_MCP_CACHE_PATH || '.cache/@o3r/mcp';
|
|
29
|
+
await Promise.allSettled([
|
|
30
|
+
(0, best_practices_1.registerBestPracticesToolAndResources)(server, resourcesPath),
|
|
31
|
+
(0, create_monorepo_with_app_1.registerCreateMonorepoWithAppTool)(server, resourcesPath),
|
|
32
|
+
Promise.resolve((0, angular_1.registerAngularSchematicsTool)(server, {})),
|
|
33
|
+
...(githubToken
|
|
34
|
+
? [
|
|
35
|
+
(0, github_1.registerGetRepositoriesUsingLibraryTool)(server, {
|
|
36
|
+
libraryName: otter_1.LIBRARY_NAME,
|
|
37
|
+
scopes: otter_1.NPM_PACKAGES_SCOPES,
|
|
38
|
+
githubToken,
|
|
39
|
+
cacheFilePath: (0, node_path_1.resolve)(cacheDirPath, 'repos-using-otter.json'),
|
|
40
|
+
cacheEntryExpireAfterDays: Number.isNaN(process.env.O3R_MCP_CACHE_MAX_AGE) ? undefined : +(process.env.O3R_MCP_CACHE_MAX_AGE)
|
|
41
|
+
}),
|
|
42
|
+
(0, github_1.registerSupportedReleasesTool)(server, {
|
|
43
|
+
githubToken,
|
|
44
|
+
owner: otter_1.GITHUB_OWNER,
|
|
45
|
+
repo: otter_1.GITHUB_REPOSITORY_NAME,
|
|
46
|
+
libraryName: otter_1.LIBRARY_NAME
|
|
47
|
+
}),
|
|
48
|
+
(0, github_1.registerReleaseNotes)(server, {
|
|
49
|
+
githubToken,
|
|
50
|
+
owner: otter_1.GITHUB_OWNER,
|
|
51
|
+
repo: otter_1.GITHUB_REPOSITORY_NAME,
|
|
52
|
+
libraryName: otter_1.LIBRARY_NAME,
|
|
53
|
+
uriPrefix: otter_1.RESOURCE_URI_PREFIX
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
: [
|
|
57
|
+
() => logger.error('Missing O3R_MCP_GITHUB_TOKEN environment variable for github tools')
|
|
58
|
+
])
|
|
59
|
+
]);
|
|
60
|
+
return server;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp-server.ts"],"names":[],"mappings":";;AAuCA,0CA8CC;AArFD,+CAE0B;AAC1B,yCAGmB;AACnB,8CAE0B;AAI1B,4CAIyB;AACzB,0CAMwB;AACxB,oEAEiD;AACjD,qDAE0B;AAC1B,yEAEoC;AAEpC;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,MAAiB;IACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAsC,CAAC;IACzI,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI;QACJ,OAAO;QACP,YAAY,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,iBAAiB,CAAC;IAEzE,MAAM,OAAO,CAAC,UAAU,CAAC;QACvB,IAAA,sDAAqC,EAAC,MAAM,EAAE,aAAa,CAAC;QAC5D,IAAA,4DAAiC,EAAC,MAAM,EAAE,aAAa,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,IAAA,uCAA6B,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACA,IAAA,gDAAuC,EAAC,MAAM,EAAE;oBAC9C,WAAW,EAAX,oBAAW;oBACX,MAAM,EAAE,2BAAY;oBACpB,WAAW;oBACX,aAAa,EAAE,IAAA,mBAAO,EAAC,YAAY,EAAE,wBAAwB,CAAC;oBAC9D,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC;iBAC/H,CAAC;gBACF,IAAA,sCAA6B,EAAC,MAAM,EAAE;oBACpC,WAAW;oBACX,KAAK,EAAL,oBAAK;oBACL,IAAI,EAAJ,8BAAI;oBACJ,WAAW,EAAX,oBAAW;iBACZ,CAAC;gBACF,IAAA,6BAAoB,EAAC,MAAM,EAAE;oBAC3B,WAAW;oBACX,KAAK,EAAL,oBAAK;oBACL,IAAI,EAAJ,8BAAI;oBACJ,WAAW,EAAX,oBAAW;oBACX,SAAS,EAAT,2BAAS;iBACV,CAAC;aACH;YACD,CAAC,CAAC;gBACA,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC;aACzF,CAAC;KACL,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/cli/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AACA,wEAEmD;AACnD,8CAEuB;AAEvB,KAAK,UAAU,cAAc;IAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAe,GAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,kIAAkI;IAClI,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,cAAc,EAAE,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
/**
|
|
3
|
-
* Register resources for best practices
|
|
4
|
-
* @param server
|
|
5
|
-
* @param resourcesPath
|
|
6
|
-
*/
|
|
7
|
-
export declare function registerBestPracticesResources(server: McpServer, resourcesPath: string): Promise<void>;
|
|
8
|
-
//# sourceMappingURL=best-practices.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"best-practices.d.ts","sourceRoot":"","sources":["../../src/instructions/best-practices.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,yCAAyC,CAAC;AAEjD;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB5G"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerBestPracticesResources = registerBestPracticesResources;
|
|
4
|
-
const promises_1 = require("node:fs/promises");
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
|
-
/**
|
|
7
|
-
* Register resources for best practices
|
|
8
|
-
* @param server
|
|
9
|
-
* @param resourcesPath
|
|
10
|
-
*/
|
|
11
|
-
async function registerBestPracticesResources(server, resourcesPath) {
|
|
12
|
-
const bestPracticesResourcesPath = (0, node_path_1.join)(resourcesPath, 'best-practices');
|
|
13
|
-
const name = 'instructions';
|
|
14
|
-
const uri = `${name}://best-practices`;
|
|
15
|
-
server.registerResource(name, uri, {
|
|
16
|
-
title: 'Otter Best Practices and Code Generation Guide',
|
|
17
|
-
description: await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'description.md'), { encoding: 'utf8' }),
|
|
18
|
-
mimeType: 'text/markdown'
|
|
19
|
-
}, async () => {
|
|
20
|
-
const text = await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'output.md'), { encoding: 'utf8' });
|
|
21
|
-
return { contents: [{ uri, text }] };
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=best-practices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"best-practices.js","sourceRoot":"","sources":["../../src/instructions/best-practices.ts"],"names":[],"mappings":";;AAeA,wEAwBC;AAvCD,+CAE0B;AAC1B,yCAEmB;AAKnB;;;;GAIG;AACI,KAAK,UAAU,8BAA8B,CAAC,MAAiB,EAAE,aAAqB;IAC3F,MAAM,0BAA0B,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,mBAAmB,CAAC;IACvC,MAAM,CAAC,gBAAgB,CACrB,IAAI,EACJ,GAAG,EACH;QACE,KAAK,EAAE,gDAAgD;QACvD,WAAW,EAAE,MAAM,IAAA,mBAAQ,EACzB,IAAA,gBAAI,EAAC,0BAA0B,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB;QACD,QAAQ,EAAE,eAAe;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EACzB,IAAA,gBAAI,EAAC,0BAA0B,EAAE,WAAW,CAAC,EAC7C,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/mcp-server.d.ts
DELETED
package/mcp-server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,SAAS,EACV,MAAM,yCAAyC,CAAC;AAWjD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC,CAiB1D"}
|
package/mcp-server.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createMcpServer = createMcpServer;
|
|
4
|
-
const promises_1 = require("node:fs/promises");
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
|
-
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
7
|
-
const best_practices_1 = require("./instructions/best-practices");
|
|
8
|
-
const best_practices_2 = require("./tools/best-practices");
|
|
9
|
-
const create_monorepo_with_app_1 = require("./tools/create-monorepo-with-app");
|
|
10
|
-
/**
|
|
11
|
-
* Create an MCP server instance.
|
|
12
|
-
*/
|
|
13
|
-
async function createMcpServer() {
|
|
14
|
-
const { name, version } = JSON.parse(await (0, promises_1.readFile)((0, node_path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
|
15
|
-
const server = new mcp_js_1.McpServer({
|
|
16
|
-
name,
|
|
17
|
-
version,
|
|
18
|
-
capabilities: {
|
|
19
|
-
resources: {},
|
|
20
|
-
tools: {}
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
const resourcesPath = (0, node_path_1.join)(__dirname, 'resources');
|
|
24
|
-
await (0, best_practices_1.registerBestPracticesResources)(server, resourcesPath);
|
|
25
|
-
await (0, best_practices_2.registerBestPracticesTool)(server, resourcesPath);
|
|
26
|
-
await (0, create_monorepo_with_app_1.registerCreateMonorepoWithAppTool)(server, resourcesPath);
|
|
27
|
-
return server;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=mcp-server.js.map
|
package/mcp-server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";;AAsBA,0CAiBC;AAvCD,+CAE0B;AAC1B,yCAEmB;AACnB,oEAEiD;AACjD,kEAEuC;AACvC,2DAEgC;AAChC,+EAE0C;AAE1C;;GAEG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAsC,CAAC;IACzI,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI;QACJ,OAAO;QACP,YAAY,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEnD,MAAM,IAAA,+CAA8B,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,IAAA,0CAAyB,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,IAAA,4DAAiC,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
/**
|
|
3
|
-
* Register the best practices tool.
|
|
4
|
-
* @param server
|
|
5
|
-
* @param resourcesPath
|
|
6
|
-
*/
|
|
7
|
-
export declare function registerBestPracticesTool(server: McpServer, resourcesPath: string): Promise<void>;
|
|
8
|
-
//# sourceMappingURL=best-practices.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"best-practices.d.ts","sourceRoot":"","sources":["../../src/tools/best-practices.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,yCAAyC,CAAC;AAEjD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvG"}
|
package/tools/best-practices.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerBestPracticesTool = registerBestPracticesTool;
|
|
4
|
-
const promises_1 = require("node:fs/promises");
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
|
-
/**
|
|
7
|
-
* Register the best practices tool.
|
|
8
|
-
* @param server
|
|
9
|
-
* @param resourcesPath
|
|
10
|
-
*/
|
|
11
|
-
async function registerBestPracticesTool(server, resourcesPath) {
|
|
12
|
-
const bestPracticesResourcesPath = (0, node_path_1.join)(resourcesPath, 'best-practices');
|
|
13
|
-
server.registerTool('get_best_practices', {
|
|
14
|
-
title: 'Get Otter Coding Best Practices Guide',
|
|
15
|
-
description: await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'description.md'), { encoding: 'utf8' }),
|
|
16
|
-
annotations: {
|
|
17
|
-
readOnlyHint: true,
|
|
18
|
-
openWorldHint: false
|
|
19
|
-
}
|
|
20
|
-
}, async () => {
|
|
21
|
-
const bestPractices = await (0, promises_1.readFile)((0, node_path_1.join)(bestPracticesResourcesPath, 'output.md'), { encoding: 'utf8' });
|
|
22
|
-
const developer = await (0, promises_1.readFile)((0, node_path_1.join)(resourcesPath, 'developer.md'), { encoding: 'utf8' });
|
|
23
|
-
const text = [developer, bestPractices].join('\n\n');
|
|
24
|
-
return { content: [{ type: 'text', text }] };
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=best-practices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"best-practices.js","sourceRoot":"","sources":["../../src/tools/best-practices.ts"],"names":[],"mappings":";;AAeA,8DA+BC;AA9CD,+CAE0B;AAC1B,yCAEmB;AAKnB;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAiB,EAAE,aAAqB;IACtF,MAAM,0BAA0B,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAEzE,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EAAE,MAAM,IAAA,mBAAQ,EACzB,IAAA,gBAAI,EAAC,0BAA0B,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,IAAI,EAAE;QACT,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAQ,EAClC,IAAA,gBAAI,EAAC,0BAA0B,EAAE,WAAW,CAAC,EAC7C,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAC9B,IAAA,gBAAI,EAAC,aAAa,EAAE,cAAc,CAAC,EACnC,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-monorepo-with-app.d.ts","sourceRoot":"","sources":["../../src/tools/create-monorepo-with-app.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,yCAAyC,CAAC;AAKjD;;;;GAIG;AACH,wBAAsB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B/G"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-monorepo-with-app.js","sourceRoot":"","sources":["../../src/tools/create-monorepo-with-app.ts"],"names":[],"mappings":";;AAkBA,8EA8BC;AAhDD,+CAE0B;AAC1B,yCAEmB;AAInB,6BAEa;AAEb;;;;GAIG;AACI,KAAK,UAAU,iCAAiC,CAAC,MAAiB,EAAE,aAAqB;IAC9F,MAAM,mBAAmB,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5G,MAAM,yBAAyB,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAClI,MAAM,0BAA0B,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACpI,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAElG,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC9D,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;SAC5E;KACF,EACD,CAAC,EAAE,cAAc,EAAE,eAAe,GAAG,UAAU,EAAE,EAAE,EAAE;QACnD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;yBACf,UAAU,CAAC,kBAAkB,EAAE,cAAc,CAAC;yBAC9C,UAAU,CAAC,mBAAmB,EAAE,eAAe,CAAC;iBACpD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
File without changes
|