@aws/nx-plugin 0.42.1 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/generators.json +6 -0
- package/package.json +7 -7
- package/sdk/py.d.ts +2 -0
- package/sdk/py.js +3 -1
- package/sdk/py.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +14 -14
- package/src/license/__snapshots__/config.spec.ts.snap +3 -3
- package/src/license/config.js +5 -3
- package/src/license/config.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +5 -3
- package/src/py/fast-api/generator.js +2 -7
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.js +2 -2
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +27 -2
- package/src/py/mcp-server/files/Dockerfile.template +1 -5
- package/src/py/mcp-server/generator.js +10 -6
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.json +3 -3
- package/src/py/project/generator.js +16 -1
- package/src/py/project/generator.js.map +1 -1
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +375 -0
- package/src/py/strands-agent/files/Dockerfile.template +14 -0
- package/src/py/strands-agent/files/__init__.py.template +0 -0
- package/src/py/strands-agent/files/agent.py.template +22 -0
- package/src/py/strands-agent/files/agentcore_mcp_client.py.template +99 -0
- package/src/py/strands-agent/files/main.py.template +24 -0
- package/src/py/strands-agent/generator.d.ts +10 -0
- package/src/py/strands-agent/generator.js +137 -0
- package/src/py/strands-agent/generator.js.map +1 -0
- package/src/py/strands-agent/schema.d.ts +12 -0
- package/src/py/strands-agent/schema.json +33 -0
- package/src/terraform/project/files/application/src/main.tf.template +5 -0
- package/src/terraform/project/generator.js +13 -5
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/generator.js +27 -33
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/generator.js +2 -2
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +22 -1
- package/src/ts/mcp-server/generator.js +4 -3
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.json +3 -3
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +1 -1
- package/src/ts/nx-plugin/generator.js +4 -1
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +33 -484
- package/src/ts/react-website/cognito-auth/generator.js +0 -25
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +6 -5
- package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +3 -1
- package/src/ts/react-website/runtime-config/files/app/hooks/useRuntimeConfig.tsx.template +1 -2
- package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +3 -15
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +16 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.js +33 -8
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/app/{mcp-servers/__mcpServerNameKebabCase__/__mcpServerNameKebabCase__.ts.template → agent-core/__nameKebabCase__/__nameKebabCase__.ts.template} +5 -5
- package/src/utils/agent-core-constructs/files/core/agent-core/runtime.ts.template +22 -1
- package/src/utils/api-constructs/api-constructs.js +0 -30
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/files/common/constructs/src/core/runtime-config.ts.template +3 -4
- package/src/utils/files/terraform/src/metrics/metrics.tf.template +19 -0
- package/src/utils/metrics.d.ts +3 -1
- package/src/utils/metrics.js +36 -3
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/port.d.ts +4 -6
- package/src/utils/port.js +32 -12
- package/src/utils/port.js.map +1 -1
- package/src/utils/shared-constructs-constants.d.ts +0 -2
- package/src/utils/shared-constructs-constants.js +1 -3
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +4 -1
- package/src/utils/shared-constructs.js +49 -45
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/versions.d.ts +7 -2
- package/src/utils/versions.js +6 -1
- package/src/utils/versions.js.map +1 -1
- package/src/utils/files/common/types/src/index.ts.template +0 -1
- package/src/utils/files/common/types/src/runtime-config.ts.template +0 -2
- /package/src/utils/agent-core-constructs/files/app/{mcp-servers/__mcpServerNameKebabCase__ → agent-core/__nameKebabCase__}/Dockerfile.template +0 -0
package/README.md
CHANGED
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
- `py#fast-api` - Generate a FastAPI backend service with [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-python) pre-configured.
|
|
65
65
|
- `py#lambda-function` - Add a lambda function to an existing python project with optional type-safe event sources.
|
|
66
66
|
- `py#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a Python project.
|
|
67
|
+
- `py#strands-agent` Add a [Strands Agent](https://strandsagents.com/) to a Python project
|
|
67
68
|
- `api-connection` - Connect frontend applications to backend APIs.
|
|
68
69
|
- `license` - Automatically manage LICENSE files and source code headers in your workspace.
|
|
69
70
|
|
package/generators.json
CHANGED
|
@@ -169,6 +169,12 @@
|
|
|
169
169
|
"schema": "./src/py/mcp-server/schema.json",
|
|
170
170
|
"description": "Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models",
|
|
171
171
|
"metric": "g24"
|
|
172
|
+
},
|
|
173
|
+
"py#strands-agent": {
|
|
174
|
+
"factory": "./src/py/strands-agent/generator",
|
|
175
|
+
"schema": "./src/py/strands-agent/schema.json",
|
|
176
|
+
"description": "Add a Strands Agent to a Python project",
|
|
177
|
+
"metric": "g25"
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
180
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/nx-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
@@ -20,18 +20,18 @@
|
|
|
20
20
|
"generators": "./generators.json",
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"prettier": "^3.4.2",
|
|
23
|
-
"nx": "~21.
|
|
23
|
+
"nx": "~21.4.1"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@apidevtools/swagger-parser": "^10.1.1",
|
|
27
27
|
"@hey-api/openapi-ts": "0.64.13",
|
|
28
28
|
"@iarna/toml": "^2.2.5",
|
|
29
29
|
"@modelcontextprotocol/sdk": "^1.11.3",
|
|
30
|
-
"@nx/devkit": "~21.
|
|
31
|
-
"@nx/eslint": "~21.
|
|
32
|
-
"@nx/js": "~21.
|
|
33
|
-
"@nx/react": "~21.
|
|
34
|
-
"@nx/vite": "~21.
|
|
30
|
+
"@nx/devkit": "~21.4.1",
|
|
31
|
+
"@nx/eslint": "~21.4.1",
|
|
32
|
+
"@nx/js": "~21.4.1",
|
|
33
|
+
"@nx/react": "~21.4.1",
|
|
34
|
+
"@nx/vite": "~21.4.1",
|
|
35
35
|
"@nxlv/python": "~21.2.0",
|
|
36
36
|
"@phenomnomnominal/tsquery": "6.1.3",
|
|
37
37
|
"enquirer": "^2.4.1",
|
package/sdk/py.d.ts
CHANGED
|
@@ -10,3 +10,5 @@ export { pyLambdaFunctionGenerator } from '../src/py/lambda-function/generator';
|
|
|
10
10
|
export { PyLambdaFunctionGeneratorSchema } from '../src/py/lambda-function/schema';
|
|
11
11
|
export { pyMcpServerGenerator } from '../src/py/mcp-server/generator';
|
|
12
12
|
export { PyMcpServerGeneratorSchema } from '../src/py/mcp-server/schema';
|
|
13
|
+
export { pyStrandsAgentGenerator } from '../src/py/strands-agent/generator';
|
|
14
|
+
export { PyStrandsAgentGeneratorSchema } from '../src/py/strands-agent/schema';
|
package/sdk/py.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.pyMcpServerGenerator = exports.pyLambdaFunctionGenerator = exports.pyFastApiProjectGenerator = exports.pyProjectGenerator = void 0;
|
|
7
|
+
exports.pyStrandsAgentGenerator = exports.pyMcpServerGenerator = exports.pyLambdaFunctionGenerator = exports.pyFastApiProjectGenerator = exports.pyProjectGenerator = void 0;
|
|
8
8
|
var generator_1 = require("../src/py/project/generator");
|
|
9
9
|
Object.defineProperty(exports, "pyProjectGenerator", { enumerable: true, get: function () { return generator_1.pyProjectGenerator; } });
|
|
10
10
|
var generator_2 = require("../src/py/fast-api/generator");
|
|
@@ -13,4 +13,6 @@ var generator_3 = require("../src/py/lambda-function/generator");
|
|
|
13
13
|
Object.defineProperty(exports, "pyLambdaFunctionGenerator", { enumerable: true, get: function () { return generator_3.pyLambdaFunctionGenerator; } });
|
|
14
14
|
var generator_4 = require("../src/py/mcp-server/generator");
|
|
15
15
|
Object.defineProperty(exports, "pyMcpServerGenerator", { enumerable: true, get: function () { return generator_4.pyMcpServerGenerator; } });
|
|
16
|
+
var generator_5 = require("../src/py/strands-agent/generator");
|
|
17
|
+
Object.defineProperty(exports, "pyStrandsAgentGenerator", { enumerable: true, get: function () { return generator_5.pyStrandsAgentGenerator; } });
|
|
16
18
|
//# sourceMappingURL=py.js.map
|
package/sdk/py.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/sdk/py.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAiE;AAAxD,+GAAA,kBAAkB,OAAA;AAG3B,0DAAyE;AAAhE,sHAAA,yBAAyB,OAAA;AAGlC,iEAAgF;AAAvE,sHAAA,yBAAyB,OAAA;AAGlC,4DAAsE;AAA7D,iHAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../packages/nx-plugin/sdk/py.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAiE;AAAxD,+GAAA,kBAAkB,OAAA;AAG3B,0DAAyE;AAAhE,sHAAA,yBAAyB,OAAA;AAGlC,iEAAgF;AAAvE,sHAAA,yBAAyB,OAAA;AAGlC,4DAAsE;AAA7D,iHAAA,oBAAoB,OAAA;AAG7B,+DAA4E;AAAnE,oHAAA,uBAAuB,OAAA"}
|
|
@@ -14,11 +14,11 @@ exports[`infra generator > should add required dependencies to package.json > de
|
|
|
14
14
|
exports[`infra generator > should add required dependencies to package.json > dev-dependencies 1`] = `
|
|
15
15
|
{
|
|
16
16
|
"@eslint/js": "^9.8.0",
|
|
17
|
-
"@nx/eslint": "21.
|
|
18
|
-
"@nx/eslint-plugin": "21.
|
|
19
|
-
"@nx/js": "21.
|
|
20
|
-
"@nx/vite": "21.
|
|
21
|
-
"@nx/web": "21.
|
|
17
|
+
"@nx/eslint": "21.4.1",
|
|
18
|
+
"@nx/eslint-plugin": "21.4.1",
|
|
19
|
+
"@nx/js": "21.4.1",
|
|
20
|
+
"@nx/vite": "21.4.1",
|
|
21
|
+
"@nx/web": "21.4.1",
|
|
22
22
|
"@swc-node/register": "~1.9.1",
|
|
23
23
|
"@swc/core": "~1.5.7",
|
|
24
24
|
"@swc/helpers": "~0.5.11",
|
|
@@ -33,8 +33,8 @@ exports[`infra generator > should add required dependencies to package.json > de
|
|
|
33
33
|
"jsonc-eslint-parser": "^2.4.0",
|
|
34
34
|
"prettier": "^3.5.3",
|
|
35
35
|
"tsx": "4.20.1",
|
|
36
|
-
"typescript": "~5.
|
|
37
|
-
"typescript-eslint": "^8.
|
|
36
|
+
"typescript": "~5.8.2",
|
|
37
|
+
"typescript-eslint": "^8.29.0",
|
|
38
38
|
"vite": "^6.0.0",
|
|
39
39
|
"vitest": "^3.0.0",
|
|
40
40
|
}
|
|
@@ -52,11 +52,11 @@ exports[`infra generator > should add required dependencies to package.json > pa
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@eslint/js": "^9.8.0",
|
|
55
|
-
"@nx/eslint": "21.
|
|
56
|
-
"@nx/eslint-plugin": "21.
|
|
57
|
-
"@nx/js": "21.
|
|
58
|
-
"@nx/vite": "21.
|
|
59
|
-
"@nx/web": "21.
|
|
55
|
+
"@nx/eslint": "21.4.1",
|
|
56
|
+
"@nx/eslint-plugin": "21.4.1",
|
|
57
|
+
"@nx/js": "21.4.1",
|
|
58
|
+
"@nx/vite": "21.4.1",
|
|
59
|
+
"@nx/web": "21.4.1",
|
|
60
60
|
"@swc-node/register": "~1.9.1",
|
|
61
61
|
"@swc/core": "~1.5.7",
|
|
62
62
|
"@swc/helpers": "~0.5.11",
|
|
@@ -71,8 +71,8 @@ exports[`infra generator > should add required dependencies to package.json > pa
|
|
|
71
71
|
"jsonc-eslint-parser": "^2.4.0",
|
|
72
72
|
"prettier": "^3.5.3",
|
|
73
73
|
"tsx": "4.20.1",
|
|
74
|
-
"typescript": "~5.
|
|
75
|
-
"typescript-eslint": "^8.
|
|
74
|
+
"typescript": "~5.8.2",
|
|
75
|
+
"typescript-eslint": "^8.29.0",
|
|
76
76
|
"vite": "^6.0.0",
|
|
77
77
|
"vitest": "^3.0.0",
|
|
78
78
|
},
|
|
@@ -28,7 +28,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
|
|
|
28
28
|
"lineEnd": " *",
|
|
29
29
|
"lineStart": " * ",
|
|
30
30
|
},
|
|
31
|
-
"**/*.{py,sh}": {
|
|
31
|
+
"**/*.{py,sh,tf}": {
|
|
32
32
|
"blockEnd": "######################################################################################################################",
|
|
33
33
|
"blockStart": "######################################################################################################################",
|
|
34
34
|
"lineEnd": " #",
|
|
@@ -59,7 +59,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
|
|
|
59
59
|
"blockStart": "/**",
|
|
60
60
|
"lineStart": " * ",
|
|
61
61
|
},
|
|
62
|
-
"**/*.{py,sh}": {
|
|
62
|
+
"**/*.{py,sh,tf}": {
|
|
63
63
|
"blockEnd": "#",
|
|
64
64
|
"blockStart": "#",
|
|
65
65
|
"lineStart": "# ",
|
|
@@ -90,7 +90,7 @@ exports[`license config > defaultLicenseConfig > should generate default license
|
|
|
90
90
|
"blockStart": "/**",
|
|
91
91
|
"lineStart": " * ",
|
|
92
92
|
},
|
|
93
|
-
"**/*.{py,sh}": {
|
|
93
|
+
"**/*.{py,sh,tf}": {
|
|
94
94
|
"blockEnd": "#",
|
|
95
95
|
"blockStart": "#",
|
|
96
96
|
"lineStart": "# ",
|
package/src/license/config.js
CHANGED
|
@@ -81,7 +81,9 @@ exports.LANGUAGE_COMMENT_SYNTAX = Object.assign(Object.assign(Object.assign(Obje
|
|
|
81
81
|
// PowerShell
|
|
82
82
|
ps1: { line: '#', block: { start: '<#', end: '#>' } }, psm1: { line: '#', block: { start: '<#', end: '#>' } },
|
|
83
83
|
// Markdown
|
|
84
|
-
md: { block: { start: '<!--', end: '-->' } }
|
|
84
|
+
md: { block: { start: '<!--', end: '-->' } },
|
|
85
|
+
// Terraform
|
|
86
|
+
tf: { line: '#', block: { start: '/*', end: '*/' } } });
|
|
85
87
|
/**
|
|
86
88
|
* Build the default license config for a given license
|
|
87
89
|
*/
|
|
@@ -115,7 +117,7 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
|
|
|
115
117
|
lineEnd: ' *',
|
|
116
118
|
blockEnd: ` ***${'*'.repeat(maxLen)}**/`,
|
|
117
119
|
},
|
|
118
|
-
'**/*.{py,sh}': {
|
|
120
|
+
'**/*.{py,sh,tf}': {
|
|
119
121
|
blockStart: `###${'#'.repeat(maxLen)}##`,
|
|
120
122
|
lineStart: '# ',
|
|
121
123
|
lineEnd: ' #',
|
|
@@ -145,7 +147,7 @@ const defaultLicenseConfig = (spdx, copyrightHolder) => {
|
|
|
145
147
|
lineStart: ' * ',
|
|
146
148
|
blockEnd: ' */',
|
|
147
149
|
},
|
|
148
|
-
'**/*.{py,sh}': {
|
|
150
|
+
'**/*.{py,sh,tf}': {
|
|
149
151
|
blockStart: '#',
|
|
150
152
|
lineStart: '# ',
|
|
151
153
|
blockEnd: '#',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/config.ts"],"names":[],"mappings":";;;;AAMA,iDAG+B;AAG/B;;GAEG;AACH,MAAM,kBAAkB,GAA+B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAExE;;GAEG;AACU,QAAA,uBAAuB,6EAE/B,MAAM,CAAC,WAAW,CACnB;IACE,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,WAAW;IACX,KAAK;IACL,SAAS;IACT,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,YAAY;IACZ,GAAG;IACH,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;IACJ,QAAQ;IACR,OAAO;CACR,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CACzE,GAEE,MAAM,CAAC,WAAW,CACnB;IACE,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG;CACJ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CACrC;IACD,SAAS;IACT,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IACzB,SAAS;IACT,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACtD,MAAM;IACN,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAC9C,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC1C,OAAO;IACP,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAEvD,MAAM,CAAC,WAAW,CACnB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACzB,GAAG;IACH,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;CAClD,CAAC,CACH;IACD,eAAe;IACf,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAClB,MAAM;IACN,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,aAAa;IACb,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EACrD,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtD,WAAW;IACX,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IAC5C,YAAY;IACZ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IACpD;AAEF;;GAEG;AACI,MAAM,oBAAoB,GAAG,CAClC,IAA2B,EAC3B,eAAuB,EACR,EAAE;IACjB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,+CAA+C;YAC/C,MAAM,UAAU,GAAG;gBACjB,aAAa,eAAe,wBAAwB;gBACpD,EAAE;gBACF,4GAA4G;gBAC5G,uDAAuD;gBACvD,EAAE;gBACF,gCAAgC;gBAChC,EAAE;gBACF,mHAAmH;gBACnH,gHAAgH;gBAChH,oCAAoC;aACrC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CACvD,CAAC;YACF,OAAO;gBACL,IAAI;gBACJ,eAAe;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,EAAE,KAAK,EAAE;oBAClB,MAAM,EAAE;wBACN,8BAA8B,EAAE;4BAC9B,UAAU,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BACzC,SAAS,EAAE,MAAM;4BACjB,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;yBACzC;wBACD,iBAAiB,EAAE;4BACjB,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;4BACxC,SAAS,EAAE,KAAK;4BAChB,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;yBACvC;qBACF;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;aACF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,qCACE,IAAI;gBACJ,eAAe,IACZ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC9B,CAAC,CAAC;oBACE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACxC;gBACH,CAAC,CAAC,EAAE,CAAC,KACP,MAAM,EAAE;oBACN,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,aAAa,eAAe,wBAAwB;4BACpD,4BAA4B,IAAI,EAAE;yBACnC;qBACF;oBACD,MAAM,EAAE;wBACN,8BAA8B,EAAE;4BAC9B,UAAU,EAAE,KAAK;4BACjB,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,KAAK;yBAChB;wBACD,iBAAiB,EAAE;4BACjB,UAAU,EAAE,GAAG;4BACf,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,GAAG;yBACd;qBACF;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB,IACD;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA/EW,QAAA,oBAAoB,wBA+E/B;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAO,IAAU,EAAE,MAAqB,EAAE,EAAE;IAC5E,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE;QAClC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EAC0B,EAAE;;IACtC,OAAO,MAAA,CAAC,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC,0CAAE,OAAO,CAAC;AACtD,CAAC,CAAA,CAAC;AAJW,QAAA,iBAAiB,qBAI5B"}
|
|
@@ -14,7 +14,7 @@ const addCreateWorkspaceCommandTool = (server) => {
|
|
|
14
14
|
text: `Run the following command to create a workspace:
|
|
15
15
|
|
|
16
16
|
\`\`\`bash
|
|
17
|
-
npx create-nx-workspace@~21.
|
|
17
|
+
npx create-nx-workspace@~21.4.1 ${workspaceName} --pm=${packageManager} --preset=@aws/nx-plugin --ci=skip
|
|
18
18
|
\`\`\`
|
|
19
19
|
|
|
20
20
|
This will create a new workspace within the ${workspaceName} directory.
|
|
@@ -62,6 +62,8 @@ The following list of generators are what is currently available in the \`@aws/n
|
|
|
62
62
|
|
|
63
63
|
- **py#mcp-server**: Generate a Python Model Context Protocol (MCP) server for providing context to Large Language Models
|
|
64
64
|
|
|
65
|
+
- **py#strands-agent**: Add a Strands Agent to a Python project
|
|
66
|
+
|
|
65
67
|
You also have the option of using additional [commmunity plugins](https://nx.dev/plugin-registry) as needed.
|
|
66
68
|
|
|
67
69
|
## Invoking a generator
|
|
@@ -164,13 +166,13 @@ exports[`preset generator > should run successfully > package.json 1`] = `
|
|
|
164
166
|
"name": "@proj/source",
|
|
165
167
|
"dependencies": {},
|
|
166
168
|
"devDependencies": {
|
|
167
|
-
"@nx/js": "21.
|
|
168
|
-
"@nx/workspace": "21.
|
|
169
|
+
"@nx/js": "21.4.1",
|
|
170
|
+
"@nx/workspace": "21.4.1",
|
|
169
171
|
"@swc-node/register": "~1.9.1",
|
|
170
172
|
"@swc/core": "~1.5.7",
|
|
171
173
|
"@swc/helpers": "~0.5.11",
|
|
172
174
|
"prettier": "^2.6.2",
|
|
173
|
-
"typescript": "~5.
|
|
175
|
+
"typescript": "~5.8.2"
|
|
174
176
|
},
|
|
175
177
|
"workspaces": [
|
|
176
178
|
"packages/*"
|
|
@@ -38,7 +38,6 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
38
38
|
});
|
|
39
39
|
const apiNameKebabCase = (0, names_1.toKebabCase)(schema.name);
|
|
40
40
|
const apiNameClassName = (0, names_1.toClassName)(schema.name);
|
|
41
|
-
const port = (0, port_1.getLocalServerPortNumber)(tree, exports.FAST_API_GENERATOR_INFO, 8000);
|
|
42
41
|
yield (0, generator_1.default)(tree, {
|
|
43
42
|
name: schema.name,
|
|
44
43
|
directory: schema.directory,
|
|
@@ -46,6 +45,7 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
46
45
|
projectType: 'application',
|
|
47
46
|
});
|
|
48
47
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
|
|
48
|
+
const port = (0, port_1.assignPort)(tree, projectConfig, 8000);
|
|
49
49
|
(0, bundle_1.addPythonBundleTarget)(projectConfig);
|
|
50
50
|
projectConfig.targets.serve = {
|
|
51
51
|
executor: '@nxlv/python:run-commands',
|
|
@@ -55,12 +55,7 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
|
|
|
55
55
|
},
|
|
56
56
|
continuous: true,
|
|
57
57
|
};
|
|
58
|
-
projectConfig.metadata = {
|
|
59
|
-
apiName: schema.name,
|
|
60
|
-
apiType: 'fast-api',
|
|
61
|
-
auth: schema.auth,
|
|
62
|
-
port,
|
|
63
|
-
};
|
|
58
|
+
projectConfig.metadata = Object.assign(Object.assign({}, projectConfig.metadata), { apiName: schema.name, apiType: 'fast-api', auth: schema.auth });
|
|
64
59
|
projectConfig.targets = (0, object_1.sortObjectKeys)(projectConfig.targets);
|
|
65
60
|
(0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfig);
|
|
66
61
|
// Add OpenAPI spec generation to the project, run as part of build
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,oEAAmE;AACnE,oEAAiE;AACjE,0EAA+E;AAC/E,sCAA+C;AAE/C,qEAA0E;AAC1E,yFAGiD;AACjD,6CAA6D;AAC7D,+CAA0D;AAC1D,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AACtE,8EAAmF;AACnF,+CAAwD;AACxD,yCAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const open_api_1 = require("./open-api");
|
|
|
20
20
|
const serve_local_1 = require("../../../api-connection/serve-local");
|
|
21
21
|
exports.FAST_API_REACT_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
22
22
|
const fastApiReactGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
-
var _a, _b;
|
|
23
|
+
var _a, _b, _c, _d;
|
|
24
24
|
const frontendProjectConfig = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.frontendProjectName);
|
|
25
25
|
const fastApiProjectConfig = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.fastApiProjectName);
|
|
26
26
|
// Add OpenAPI spec generation to the project, run as part of build
|
|
@@ -30,7 +30,7 @@ const fastApiReactGenerator = (tree, options) => tslib_1.__awaiter(void 0, void
|
|
|
30
30
|
const metadata = fastApiProjectConfig.metadata;
|
|
31
31
|
const apiName = metadata === null || metadata === void 0 ? void 0 : metadata.apiName;
|
|
32
32
|
const auth = (_a = metadata === null || metadata === void 0 ? void 0 : metadata.auth) !== null && _a !== void 0 ? _a : 'IAM';
|
|
33
|
-
const port = (_b = metadata === null || metadata === void 0 ? void 0 : metadata.port) !== null && _b !== void 0 ? _b : 8000;
|
|
33
|
+
const port = (_d = (_b = metadata === null || metadata === void 0 ? void 0 : metadata.port) !== null && _b !== void 0 ? _b : (_c = metadata === null || metadata === void 0 ? void 0 : metadata.ports) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : 8000;
|
|
34
34
|
const clientGenTarget = `generate:${(0, names_1.kebabCase)(apiName)}-client`;
|
|
35
35
|
const clientGenWatchTarget = `watch-${clientGenTarget}`;
|
|
36
36
|
const generatedClientDir = (0, devkit_1.joinPathFragments)('generated', (0, names_1.kebabCase)(apiName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/fast-api/react/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAOoB;AAEpB,kFAA4F;AAC5F,kDAAuD;AACvD,gDAA8D;AAC9D,kDAA6D;AAC7D,sDAAuD;AACvD,4CAAqD;AACrD,4CAK4B;AAE5B,0CAI2B;AAC3B,oDAAyE;AACzE,yCAAkD;AAClD,qEAA4E;AAE/D,QAAA,6BAA6B,GACxC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,qBAAqB,GAAG,CACnC,IAAU,EACV,OAAoC,EACpC,EAAE;;IACF,MAAM,qBAAqB,GAAG,IAAA,wCAAmC,EAC/D,IAAI,EACJ,OAAO,CAAC,mBAAmB,CAC5B,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAA,wCAAmC,EAC9D,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IAEF,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE;QAC9C,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAe,CAAC;IACtD,MAAM,OAAO,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC;IAClC,MAAM,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/fast-api/react/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ exports[`py#mcp-server generator > should match snapshot for BedrockAgentCoreRun
|
|
|
7
7
|
PolicyStatement,
|
|
8
8
|
Effect,
|
|
9
9
|
PolicyDocument,
|
|
10
|
+
IGrantable,
|
|
11
|
+
Grant,
|
|
12
|
+
IPrincipal,
|
|
10
13
|
} from 'aws-cdk-lib/aws-iam';
|
|
11
14
|
import {
|
|
12
15
|
AwsCustomResource,
|
|
@@ -33,10 +36,12 @@ export interface AgentCoreRuntimeProps {
|
|
|
33
36
|
/**
|
|
34
37
|
* A construct for creating a Bedrock AgentCore Runtime
|
|
35
38
|
*/
|
|
36
|
-
export class AgentCoreRuntime extends Construct {
|
|
39
|
+
export class AgentCoreRuntime extends Construct implements IGrantable {
|
|
37
40
|
public readonly role: Role;
|
|
38
41
|
public readonly arn: string;
|
|
39
42
|
|
|
43
|
+
public readonly grantPrincipal: IPrincipal;
|
|
44
|
+
|
|
40
45
|
constructor(scope: Construct, id: string, props: AgentCoreRuntimeProps) {
|
|
41
46
|
super(scope, id);
|
|
42
47
|
|
|
@@ -128,6 +133,7 @@ export class AgentCoreRuntime extends Construct {
|
|
|
128
133
|
}),
|
|
129
134
|
},
|
|
130
135
|
});
|
|
136
|
+
this.grantPrincipal = this.role.grantPrincipal;
|
|
131
137
|
|
|
132
138
|
const agentRuntime = new AwsCustomResource(this, 'MCPSeverRuntime', {
|
|
133
139
|
onCreate: {
|
|
@@ -140,6 +146,8 @@ export class AgentCoreRuntime extends Construct {
|
|
|
140
146
|
containerUri: props.containerUri,
|
|
141
147
|
},
|
|
142
148
|
},
|
|
149
|
+
description: props.description,
|
|
150
|
+
environmentVariables: props.environment,
|
|
143
151
|
networkConfiguration: {
|
|
144
152
|
networkMode: 'PUBLIC',
|
|
145
153
|
},
|
|
@@ -162,6 +170,8 @@ export class AgentCoreRuntime extends Construct {
|
|
|
162
170
|
containerUri: props.containerUri,
|
|
163
171
|
},
|
|
164
172
|
},
|
|
173
|
+
description: props.description,
|
|
174
|
+
environmentVariables: props.environment,
|
|
165
175
|
networkConfiguration: {
|
|
166
176
|
networkMode: 'PUBLIC',
|
|
167
177
|
},
|
|
@@ -195,6 +205,17 @@ export class AgentCoreRuntime extends Construct {
|
|
|
195
205
|
|
|
196
206
|
this.arn = agentRuntime.getResponseField('agentRuntimeArn');
|
|
197
207
|
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Grant permissions to invoke the agent runtime (if using IAM auth - not required for JWT auth)
|
|
211
|
+
*/
|
|
212
|
+
public grantInvoke = (grantee: IGrantable) => {
|
|
213
|
+
Grant.addToPrincipal({
|
|
214
|
+
grantee,
|
|
215
|
+
actions: ['bedrock-agentcore:InvokeAgentRuntime'],
|
|
216
|
+
resourceArns: [this.arn, \`\${this.arn}/*\`],
|
|
217
|
+
});
|
|
218
|
+
};
|
|
198
219
|
}
|
|
199
220
|
"
|
|
200
221
|
`;
|
|
@@ -307,7 +328,11 @@ exports[`py#mcp-server generator > should match snapshot for generated files > u
|
|
|
307
328
|
"[project]
|
|
308
329
|
name = "proj.test_project"
|
|
309
330
|
version = "0.1.0"
|
|
310
|
-
dependencies = [
|
|
331
|
+
dependencies = [
|
|
332
|
+
"mcp~=1.13.0",
|
|
333
|
+
"boto3~=1.40.14",
|
|
334
|
+
"aws-opentelemetry-distro~=0.11.0"
|
|
335
|
+
]
|
|
311
336
|
|
|
312
337
|
[dependency-groups]
|
|
313
338
|
dev = [ ]
|
|
@@ -2,10 +2,6 @@ FROM public.ecr.aws/docker/library/python:3.12-slim
|
|
|
2
2
|
|
|
3
3
|
WORKDIR /app
|
|
4
4
|
|
|
5
|
-
# Add AWS Distro for OpenTelemetry for observability
|
|
6
|
-
# https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html
|
|
7
|
-
RUN pip install aws-opentelemetry-distro>=0.10.0
|
|
8
|
-
|
|
9
5
|
# Copy bundled package
|
|
10
6
|
COPY --from=workspace <%- distDir %>/bundle /app
|
|
11
7
|
|
|
@@ -15,4 +11,4 @@ ENV PYTHONPATH=/app
|
|
|
15
11
|
|
|
16
12
|
# Auto-instrument with AWS Distro for OpenTelemetry
|
|
17
13
|
# https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr
|
|
18
|
-
CMD ["opentelemetry-instrument", "python", "-m", "<%- moduleName %>.<%- mcpServerNameSnakeCase %>.http"]
|
|
14
|
+
CMD ["python", "bin/opentelemetry-instrument", "python", "-m", "<%- moduleName %>.<%- mcpServerNameSnakeCase %>.http"]
|
|
@@ -22,7 +22,7 @@ const logger_1 = require("@nxlv/python/src/executors/utils/logger");
|
|
|
22
22
|
const provider_1 = require("@nxlv/python/src/provider/uv/provider");
|
|
23
23
|
exports.PY_MCP_SERVER_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
24
24
|
const pyMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f;
|
|
25
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
26
26
|
const project = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.project);
|
|
27
27
|
const pyProjectPath = (0, devkit_1.joinPathFragments)(project.root, 'pyproject.toml');
|
|
28
28
|
// Check if the project has a pyproject.toml file
|
|
@@ -40,6 +40,7 @@ const pyMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0
|
|
|
40
40
|
const mcpServerNameClassName = (0, names_1.toClassName)(name);
|
|
41
41
|
const targetSourceDir = (0, devkit_1.joinPathFragments)(project.sourceRoot, mcpServerNameSnakeCase);
|
|
42
42
|
const distDir = (0, devkit_1.joinPathFragments)('dist', project.root);
|
|
43
|
+
const computeType = (_c = options.computeType) !== null && _c !== void 0 ? _c : 'BedrockAgentCoreRuntime';
|
|
43
44
|
// Generate example server
|
|
44
45
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), targetSourceDir, {
|
|
45
46
|
name,
|
|
@@ -48,8 +49,12 @@ const pyMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0
|
|
|
48
49
|
moduleName,
|
|
49
50
|
distDir,
|
|
50
51
|
}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
51
|
-
(0, py_1.addDependenciesToPyProjectToml)(tree, project.root, [
|
|
52
|
-
|
|
52
|
+
(0, py_1.addDependenciesToPyProjectToml)(tree, project.root, [
|
|
53
|
+
'mcp',
|
|
54
|
+
'boto3',
|
|
55
|
+
'aws-opentelemetry-distro',
|
|
56
|
+
]);
|
|
57
|
+
if (computeType === 'BedrockAgentCoreRuntime') {
|
|
53
58
|
const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
|
|
54
59
|
// Add bundle target
|
|
55
60
|
(0, bundle_1.addPythonBundleTarget)(project, {
|
|
@@ -69,11 +74,11 @@ const pyMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0
|
|
|
69
74
|
dependsOn: ['bundle'],
|
|
70
75
|
};
|
|
71
76
|
project.targets.docker = Object.assign(Object.assign({}, project.targets.docker), { dependsOn: [
|
|
72
|
-
...((
|
|
77
|
+
...((_e = (_d = project.targets.docker) === null || _d === void 0 ? void 0 : _d.dependsOn) !== null && _e !== void 0 ? _e : []).filter((t) => t !== dockerTargetName),
|
|
73
78
|
dockerTargetName,
|
|
74
79
|
] });
|
|
75
80
|
project.targets.build = Object.assign(Object.assign({}, project.targets.build), { dependsOn: [
|
|
76
|
-
...((
|
|
81
|
+
...((_g = (_f = project.targets.build) === null || _f === void 0 ? void 0 : _f.dependsOn) !== null && _g !== void 0 ? _g : []).filter((t) => t !== 'docker'),
|
|
77
82
|
'docker',
|
|
78
83
|
] });
|
|
79
84
|
// Add shared constructs
|
|
@@ -99,7 +104,6 @@ const pyMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0
|
|
|
99
104
|
mcpServerNameClassName,
|
|
100
105
|
dockerImageTag,
|
|
101
106
|
});
|
|
102
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['@aws-sdk/client-bedrock-agentcore-control']));
|
|
103
107
|
}
|
|
104
108
|
else {
|
|
105
109
|
// No Dockerfile needed for non-hosted MCP
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/mcp-server/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,uCAIwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAAwE;AACxE,uCAAgE;AAChE,qDAAoD;AACpD,mGAAgG;AAChG,qEAA0E;AAC1E,yFAGiD;AACjD,+CAA2D;AAC3D,mDAAoD;AACpD,oEAAiE;AACjE,oEAAmE;AAEtD,QAAA,4BAA4B,GACvC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,oBAAoB,GAAG,CAClC,IAAU,EACV,OAAmC,EACP,EAAE;;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAExE,iDAAiD;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,qDAAqD,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAA,iBAAS,EACpB,MAAA,OAAO,CAAC,IAAI,mCAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CACzE,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,YAAY,CAAC,CAAC;IACzE,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,UAAU,EAClB,sBAAsB,CACvB,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,0BAA0B;IAC1B,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EACrC,eAAe,EACf;QACE,IAAI;QACJ,sBAAsB;QACtB,sBAAsB;QACtB,UAAU;QACV,OAAO;KACR,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,IAAA,mCAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/mcp-server/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
"computeType": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"description": "The type of compute to host your MCP server
|
|
20
|
+
"description": "The type of compute to host your MCP server. Select None for no hosting.",
|
|
21
21
|
"x-prompt": "How would you like to host your MCP server?",
|
|
22
|
-
"enum": ["
|
|
23
|
-
"default": "
|
|
22
|
+
"enum": ["BedrockAgentCoreRuntime", "None"],
|
|
23
|
+
"default": "BedrockAgentCoreRuntime",
|
|
24
24
|
"x-priority": "important"
|
|
25
25
|
},
|
|
26
26
|
"name": {
|
|
@@ -18,6 +18,7 @@ const object_1 = require("../../utils/object");
|
|
|
18
18
|
const git_1 = require("../../utils/git");
|
|
19
19
|
const nx_1 = require("../../utils/nx");
|
|
20
20
|
const metrics_1 = require("../../utils/metrics");
|
|
21
|
+
const toml_1 = require("../../utils/toml");
|
|
21
22
|
exports.PY_PROJECT_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
22
23
|
/**
|
|
23
24
|
* Returns details about the Python project to be created
|
|
@@ -36,7 +37,7 @@ exports.getPyProjectDetails = getPyProjectDetails;
|
|
|
36
37
|
* Generates a Python project
|
|
37
38
|
*/
|
|
38
39
|
const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
-
var _a, _b, _c;
|
|
40
|
+
var _a, _b, _c, _d, _e;
|
|
40
41
|
const { dir, normalizedModuleName, fullyQualifiedName } = (0, exports.getPyProjectDetails)(tree, schema);
|
|
41
42
|
const pythonPlugin = (0, versions_1.withVersions)(['@nxlv/python']);
|
|
42
43
|
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, pythonPlugin);
|
|
@@ -99,6 +100,20 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
|
|
|
99
100
|
outputPath,
|
|
100
101
|
},
|
|
101
102
|
};
|
|
103
|
+
// Set the default line length to 120, as 88 is a little too strict
|
|
104
|
+
(0, toml_1.updateToml)(tree, (0, devkit_1.joinPathFragments)(dir, 'pyproject.toml'), (pyProjectToml) => {
|
|
105
|
+
var _a;
|
|
106
|
+
if ((_a = pyProjectToml.tool) === null || _a === void 0 ? void 0 : _a.ruff) {
|
|
107
|
+
pyProjectToml.tool.ruff['line-length'] = 120;
|
|
108
|
+
}
|
|
109
|
+
return pyProjectToml;
|
|
110
|
+
});
|
|
111
|
+
// Add a dependency on the format target for lint in order to reduce the number of
|
|
112
|
+
// fixable lint errors (eg line too long)
|
|
113
|
+
projectConfiguration.targets.lint = Object.assign(Object.assign({}, projectConfiguration.targets.lint), { dependsOn: [
|
|
114
|
+
...((_e = (_d = projectConfiguration.targets.lint) === null || _d === void 0 ? void 0 : _d.dependsOn) !== null && _e !== void 0 ? _e : []).filter((d) => d !== 'format'),
|
|
115
|
+
'format',
|
|
116
|
+
] });
|
|
102
117
|
projectConfiguration.targets = (0, object_1.sortObjectKeys)(projectConfiguration.targets);
|
|
103
118
|
(0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
|
|
104
119
|
(0, nx_1.addGeneratorMetadata)(tree, fullyQualifiedName, exports.PY_PROJECT_GENERATOR_INFO);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,qHAAwG;AACxG,yGAAkF;AAClF,oEAAmE;AACnE,oEAAiE;AACjE,mDAAoD;AACpD,qDAAoD;AACpD,6CAAgD;AAChD,+CAAoD;AACpD,yCAAkD;AAClD,uCAIwB;AACxB,iDAAsE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
|