@aws/nx-plugin 0.114.2 → 0.115.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/LICENSE-THIRD-PARTY +4629 -5062
- package/package.json +11 -11
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +23 -23
- package/src/preset/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +7 -7
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +10 -4
- package/src/ts/rdb/files/src/prisma.ts.template +10 -4
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +42 -0
- package/src/ts/rdb/mcp-server-connection/generator.js +4 -0
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/strands-agent-connection/__snapshots__/generator.spec.ts.snap +63 -0
- package/src/ts/rdb/strands-agent-connection/generator.js +4 -0
- package/src/ts/rdb/strands-agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/utils.d.ts +6 -0
- package/src/ts/rdb/utils.js +20 -0
- package/src/ts/rdb/utils.js.map +1 -0
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +56 -50
- package/src/ts/react-website/app/generator.js +7 -0
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +7 -5
- package/src/ts/strands-agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +7 -6
- package/src/utils/versions.d.ts +67 -67
- package/src/utils/versions.js +66 -66
- package/src/utils/versions.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/nx-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.115.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"generators": "./generators.json",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"nx": "22.7.
|
|
22
|
+
"nx": "22.7.2",
|
|
23
23
|
"prettier": "3.8.3"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"@hey-api/openapi-ts": "0.64.13",
|
|
29
29
|
"@iarna/toml": "2.2.5",
|
|
30
30
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
31
|
-
"@nx/devkit": "22.7.
|
|
32
|
-
"@nx/eslint": "22.7.
|
|
33
|
-
"@nx/js": "22.7.
|
|
34
|
-
"@nx/react": "22.7.
|
|
35
|
-
"@nx/vite": "22.7.
|
|
36
|
-
"@types/estree": "1.0.
|
|
31
|
+
"@nx/devkit": "22.7.2",
|
|
32
|
+
"@nx/eslint": "22.7.2",
|
|
33
|
+
"@nx/js": "22.7.2",
|
|
34
|
+
"@nx/react": "22.7.2",
|
|
35
|
+
"@nx/vite": "22.7.2",
|
|
36
|
+
"@types/estree": "1.0.9",
|
|
37
37
|
"@types/js-yaml": "4.0.9",
|
|
38
38
|
"@types/mdast": "4.0.4",
|
|
39
|
-
"@nxlv/python": "22.1.
|
|
39
|
+
"@nxlv/python": "22.1.4",
|
|
40
40
|
"@phenomnomnominal/tsquery": "6.2.0",
|
|
41
41
|
"enquirer": "2.4.1",
|
|
42
42
|
"fast-glob": "3.3.3",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"unified": "11.0.5",
|
|
60
60
|
"unist-util-visit": "5.1.0",
|
|
61
61
|
"vite": "8.0.10",
|
|
62
|
-
"vitest": "4.1.
|
|
63
|
-
"zod": "4.4.
|
|
62
|
+
"vitest": "4.1.6",
|
|
63
|
+
"zod": "4.4.3"
|
|
64
64
|
},
|
|
65
65
|
"types": "./src/index.d.ts"
|
|
66
66
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`infra generator > should add required dependencies to package.json > dependencies 1`] = `
|
|
4
4
|
{
|
|
5
|
-
"aws-cdk": "2.
|
|
6
|
-
"aws-cdk-lib": "2.
|
|
5
|
+
"aws-cdk": "2.1122.0",
|
|
6
|
+
"aws-cdk-lib": "2.254.0",
|
|
7
7
|
"constructs": "10.6.0",
|
|
8
8
|
"esbuild": "0.28.0",
|
|
9
9
|
"source-map-support": "0.5.21",
|
|
@@ -13,60 +13,60 @@ exports[`infra generator > should add required dependencies to package.json > de
|
|
|
13
13
|
exports[`infra generator > should add required dependencies to package.json > dev-dependencies 1`] = `
|
|
14
14
|
{
|
|
15
15
|
"@eslint/js": "^9.8.0",
|
|
16
|
-
"@nx/eslint": "22.7.
|
|
17
|
-
"@nx/eslint-plugin": "22.7.
|
|
18
|
-
"@nx/js": "22.7.
|
|
19
|
-
"@nx/vitest": "22.7.
|
|
16
|
+
"@nx/eslint": "22.7.2",
|
|
17
|
+
"@nx/eslint-plugin": "22.7.2",
|
|
18
|
+
"@nx/js": "22.7.2",
|
|
19
|
+
"@nx/vitest": "22.7.2",
|
|
20
20
|
"@swc-node/register": "~1.11.1",
|
|
21
21
|
"@swc/core": "~1.15.5",
|
|
22
22
|
"@swc/helpers": "~0.5.18",
|
|
23
|
-
"@types/node": "25.
|
|
24
|
-
"@vitest/coverage-v8": "4.1.
|
|
23
|
+
"@types/node": "25.8.0",
|
|
24
|
+
"@vitest/coverage-v8": "4.1.6",
|
|
25
25
|
"eslint": "^9.8.0",
|
|
26
26
|
"eslint-config-prettier": "^10.0.0",
|
|
27
27
|
"eslint-plugin-prettier": "5.5.5",
|
|
28
28
|
"jsdom": "^27.1.0",
|
|
29
29
|
"jsonc-eslint-parser": "3.1.0",
|
|
30
30
|
"prettier": "3.8.3",
|
|
31
|
-
"tsx": "4.
|
|
31
|
+
"tsx": "4.22.1",
|
|
32
32
|
"typescript": "~5.9.2",
|
|
33
33
|
"typescript-eslint": "^8.40.0",
|
|
34
34
|
"vite": "8.0.8",
|
|
35
|
-
"vitest": "4.1.
|
|
35
|
+
"vitest": "4.1.6",
|
|
36
36
|
}
|
|
37
37
|
`;
|
|
38
38
|
|
|
39
39
|
exports[`infra generator > should add required dependencies to package.json > package-json 1`] = `
|
|
40
40
|
{
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"aws-cdk": "2.
|
|
43
|
-
"aws-cdk-lib": "2.
|
|
42
|
+
"aws-cdk": "2.1122.0",
|
|
43
|
+
"aws-cdk-lib": "2.254.0",
|
|
44
44
|
"constructs": "10.6.0",
|
|
45
45
|
"esbuild": "0.28.0",
|
|
46
46
|
"source-map-support": "0.5.21",
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@eslint/js": "^9.8.0",
|
|
50
|
-
"@nx/eslint": "22.7.
|
|
51
|
-
"@nx/eslint-plugin": "22.7.
|
|
52
|
-
"@nx/js": "22.7.
|
|
53
|
-
"@nx/vitest": "22.7.
|
|
50
|
+
"@nx/eslint": "22.7.2",
|
|
51
|
+
"@nx/eslint-plugin": "22.7.2",
|
|
52
|
+
"@nx/js": "22.7.2",
|
|
53
|
+
"@nx/vitest": "22.7.2",
|
|
54
54
|
"@swc-node/register": "~1.11.1",
|
|
55
55
|
"@swc/core": "~1.15.5",
|
|
56
56
|
"@swc/helpers": "~0.5.18",
|
|
57
|
-
"@types/node": "25.
|
|
58
|
-
"@vitest/coverage-v8": "4.1.
|
|
57
|
+
"@types/node": "25.8.0",
|
|
58
|
+
"@vitest/coverage-v8": "4.1.6",
|
|
59
59
|
"eslint": "^9.8.0",
|
|
60
60
|
"eslint-config-prettier": "^10.0.0",
|
|
61
61
|
"eslint-plugin-prettier": "5.5.5",
|
|
62
62
|
"jsdom": "^27.1.0",
|
|
63
63
|
"jsonc-eslint-parser": "3.1.0",
|
|
64
64
|
"prettier": "3.8.3",
|
|
65
|
-
"tsx": "4.
|
|
65
|
+
"tsx": "4.22.1",
|
|
66
66
|
"typescript": "~5.9.2",
|
|
67
67
|
"typescript-eslint": "^8.40.0",
|
|
68
68
|
"vite": "8.0.8",
|
|
69
|
-
"vitest": "4.1.
|
|
69
|
+
"vitest": "4.1.6",
|
|
70
70
|
},
|
|
71
71
|
"name": "@proj/source",
|
|
72
72
|
"type": "module",
|
|
@@ -84,7 +84,7 @@ exports[`infra generator > should configure Checkov target correctly > checkov-t
|
|
|
84
84
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
85
85
|
],
|
|
86
86
|
"options": {
|
|
87
|
-
"command": "uvx --from checkov==3.2.
|
|
87
|
+
"command": "uvx --from checkov==3.2.529 checkov --config-file {projectRoot}/checkov.yml --directory dist/{projectRoot}/cdk.out --framework cloudformation",
|
|
88
88
|
},
|
|
89
89
|
"outputs": [
|
|
90
90
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -177,7 +177,7 @@ exports[`infra generator > should configure project.json with correct targets >
|
|
|
177
177
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
178
178
|
],
|
|
179
179
|
"options": {
|
|
180
|
-
"command": "uvx --from checkov==3.2.
|
|
180
|
+
"command": "uvx --from checkov==3.2.529 checkov --config-file {projectRoot}/checkov.yml --directory dist/{projectRoot}/cdk.out --framework cloudformation",
|
|
181
181
|
},
|
|
182
182
|
"outputs": [
|
|
183
183
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -739,7 +739,7 @@ exports[`infra generator > should handle custom project names correctly > custom
|
|
|
739
739
|
"{workspaceRoot}/dist/{projectRoot}/cdk.out",
|
|
740
740
|
],
|
|
741
741
|
"options": {
|
|
742
|
-
"command": "uvx --from checkov==3.2.
|
|
742
|
+
"command": "uvx --from checkov==3.2.529 checkov --config-file {projectRoot}/checkov.yml --directory dist/{projectRoot}/cdk.out --framework cloudformation",
|
|
743
743
|
},
|
|
744
744
|
"outputs": [
|
|
745
745
|
"{workspaceRoot}/dist/{projectRoot}/checkov",
|
|
@@ -196,14 +196,14 @@ exports[`preset generator > should run successfully > package.json 1`] = `
|
|
|
196
196
|
"name": "@proj/source",
|
|
197
197
|
"dependencies": {},
|
|
198
198
|
"devDependencies": {
|
|
199
|
-
"@nx/js": "22.7.
|
|
200
|
-
"@nx/workspace": "22.7.
|
|
199
|
+
"@nx/js": "22.7.2",
|
|
200
|
+
"@nx/workspace": "22.7.2",
|
|
201
201
|
"@swc-node/register": "~1.11.1",
|
|
202
202
|
"@swc/core": "~1.15.5",
|
|
203
203
|
"@swc/helpers": "~0.5.18",
|
|
204
204
|
"prettier": "~3.6.2",
|
|
205
205
|
"typescript": "6.0.3",
|
|
206
|
-
"typescript-eslint": "8.59.
|
|
206
|
+
"typescript-eslint": "8.59.3"
|
|
207
207
|
},
|
|
208
208
|
"type": "module",
|
|
209
209
|
"scripts": {
|
|
@@ -646,10 +646,10 @@ exports[`py#mcp-server generator > should match snapshot for generated files > u
|
|
|
646
646
|
name = "proj.test_project"
|
|
647
647
|
version = "0.1.0"
|
|
648
648
|
dependencies = [
|
|
649
|
-
"aws-lambda-powertools==3.
|
|
650
|
-
"mcp==1.27.
|
|
651
|
-
"uvicorn==0.
|
|
652
|
-
"boto3==1.43.
|
|
649
|
+
"aws-lambda-powertools==3.29.0",
|
|
650
|
+
"mcp==1.27.1",
|
|
651
|
+
"uvicorn==0.47.0",
|
|
652
|
+
"boto3==1.43.9",
|
|
653
653
|
"aws-opentelemetry-distro==0.17.0"
|
|
654
654
|
]
|
|
655
655
|
|
|
@@ -746,15 +746,15 @@ name = "proj.test_project"
|
|
|
746
746
|
version = "0.1.0"
|
|
747
747
|
dependencies = [
|
|
748
748
|
"proj.agent_connection",
|
|
749
|
-
"aws-lambda-powertools==3.
|
|
749
|
+
"aws-lambda-powertools==3.29.0",
|
|
750
750
|
"aws-opentelemetry-distro==0.17.0",
|
|
751
|
-
"bedrock-agentcore==1.
|
|
752
|
-
"boto3==1.43.
|
|
751
|
+
"bedrock-agentcore==1.9.1",
|
|
752
|
+
"boto3==1.43.9",
|
|
753
753
|
"fastapi==0.136.1",
|
|
754
|
-
"mcp==1.27.
|
|
755
|
-
"strands-agents==1.
|
|
756
|
-
"strands-agents-tools==0.5.
|
|
757
|
-
"uvicorn==0.
|
|
754
|
+
"mcp==1.27.1",
|
|
755
|
+
"strands-agents==1.40.0",
|
|
756
|
+
"strands-agents-tools==0.5.3",
|
|
757
|
+
"uvicorn==0.47.0"
|
|
758
758
|
]
|
|
759
759
|
|
|
760
760
|
[dependency-groups]
|
|
@@ -727,15 +727,15 @@ exports[`ts#mcp-server generator > should match snapshot for generated files > u
|
|
|
727
727
|
},
|
|
728
728
|
"dependencies": {
|
|
729
729
|
"@aws-lambda-powertools/parameters": "2.33.0",
|
|
730
|
-
"@aws-sdk/client-appconfigdata": "3.
|
|
730
|
+
"@aws-sdk/client-appconfigdata": "3.1048.0",
|
|
731
731
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
732
732
|
"express": "5.2.1",
|
|
733
|
-
"zod": "4.4.
|
|
733
|
+
"zod": "4.4.3"
|
|
734
734
|
},
|
|
735
735
|
"devDependencies": {
|
|
736
736
|
"@modelcontextprotocol/inspector": "0.19.0",
|
|
737
737
|
"@types/express": "5.0.6",
|
|
738
|
-
"tsx": "4.
|
|
738
|
+
"tsx": "4.22.1"
|
|
739
739
|
}
|
|
740
740
|
}
|
|
741
741
|
"
|
|
@@ -4099,9 +4099,13 @@ import {
|
|
|
4099
4099
|
} from './constants.js';
|
|
4100
4100
|
import { getDatabaseConfig } from './utils.js';
|
|
4101
4101
|
|
|
4102
|
+
let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
|
|
4103
|
+
|
|
4102
4104
|
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
4103
4105
|
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
4104
4106
|
): Promise<PrismaClient<LogOpts>> => {
|
|
4107
|
+
if (prismaClient) return prismaClient;
|
|
4108
|
+
|
|
4105
4109
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
4106
4110
|
const adapter = new PrismaPg(
|
|
4107
4111
|
new Pool({
|
|
@@ -4113,10 +4117,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
4113
4117
|
allowExitOnIdle: true,
|
|
4114
4118
|
}),
|
|
4115
4119
|
);
|
|
4116
|
-
|
|
4120
|
+
prismaClient = new PrismaClient({
|
|
4117
4121
|
adapter,
|
|
4118
4122
|
log,
|
|
4119
|
-
}) as unknown as PrismaClient<
|
|
4123
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
4124
|
+
return prismaClient;
|
|
4120
4125
|
}
|
|
4121
4126
|
|
|
4122
4127
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -4143,10 +4148,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
4143
4148
|
}),
|
|
4144
4149
|
);
|
|
4145
4150
|
|
|
4146
|
-
|
|
4151
|
+
prismaClient = new PrismaClient({
|
|
4147
4152
|
adapter,
|
|
4148
4153
|
log,
|
|
4149
|
-
}) as unknown as PrismaClient<
|
|
4154
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
4155
|
+
return prismaClient;
|
|
4150
4156
|
};
|
|
4151
4157
|
"
|
|
4152
4158
|
`;
|
|
@@ -60,9 +60,13 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
60
60
|
};
|
|
61
61
|
<%_ } else { _%>
|
|
62
62
|
|
|
63
|
+
let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
|
|
64
|
+
|
|
63
65
|
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
64
66
|
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
65
67
|
): Promise<PrismaClient<LogOpts>> => {
|
|
68
|
+
if (prismaClient) return prismaClient;
|
|
69
|
+
|
|
66
70
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
67
71
|
const adapter = new PrismaPg(
|
|
68
72
|
new Pool({
|
|
@@ -74,10 +78,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
74
78
|
allowExitOnIdle: true,
|
|
75
79
|
}),
|
|
76
80
|
);
|
|
77
|
-
|
|
81
|
+
prismaClient = new PrismaClient({
|
|
78
82
|
adapter,
|
|
79
83
|
log,
|
|
80
|
-
}) as unknown as PrismaClient<
|
|
84
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
85
|
+
return prismaClient;
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -104,9 +109,10 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
104
109
|
}),
|
|
105
110
|
);
|
|
106
111
|
|
|
107
|
-
|
|
112
|
+
prismaClient = new PrismaClient({
|
|
108
113
|
adapter,
|
|
109
114
|
log,
|
|
110
|
-
}) as unknown as PrismaClient<
|
|
115
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
116
|
+
return prismaClient;
|
|
111
117
|
};
|
|
112
118
|
<%_ } _%>
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
+
exports[`ts#rdb mcp-server-connection generator > should add RDS CA bundle to Dockerfile 1`] = `
|
|
4
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
5
|
+
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
|
|
8
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
9
|
+
|
|
10
|
+
COPY index.js /app
|
|
11
|
+
|
|
12
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
13
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
14
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
15
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
16
|
+
update-ca-certificates
|
|
17
|
+
|
|
18
|
+
EXPOSE 8000
|
|
19
|
+
|
|
20
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
21
|
+
"
|
|
22
|
+
`;
|
|
23
|
+
|
|
3
24
|
exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dependency to the mcp-server prefixed serve-local 1`] = `
|
|
4
25
|
{
|
|
5
26
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
@@ -31,6 +52,27 @@ exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dep
|
|
|
31
52
|
}
|
|
32
53
|
`;
|
|
33
54
|
|
|
55
|
+
exports[`ts#rdb mcp-server-connection generator > should be idempotent for Dockerfile 1`] = `
|
|
56
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
57
|
+
|
|
58
|
+
WORKDIR /app
|
|
59
|
+
|
|
60
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
61
|
+
|
|
62
|
+
COPY index.js /app
|
|
63
|
+
|
|
64
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
65
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
66
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
67
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
68
|
+
update-ca-certificates
|
|
69
|
+
|
|
70
|
+
EXPOSE 8000
|
|
71
|
+
|
|
72
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
73
|
+
"
|
|
74
|
+
`;
|
|
75
|
+
|
|
34
76
|
exports[`ts#rdb mcp-server-connection generator > should be idempotent for server.ts 1`] = `
|
|
35
77
|
"import { getPrisma as getDb } from 'db';
|
|
36
78
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
|
|
|
14
14
|
const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
|
|
15
15
|
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
16
|
const ast_1 = require("../../../utils/ast");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
17
18
|
exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
18
19
|
const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
|
|
19
20
|
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
@@ -33,6 +34,9 @@ const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
|
|
|
33
34
|
const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
|
|
34
35
|
const getterAlias = `getPrisma as get${rdbNamePascal}`;
|
|
35
36
|
const serverPath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'server.ts');
|
|
37
|
+
// Dockerfile: install RDS CA bundle for direct Aurora SSL connections
|
|
38
|
+
const dockerfilePath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'Dockerfile');
|
|
39
|
+
(0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
|
|
36
40
|
// server.ts: inject db inside createServer body
|
|
37
41
|
if (tree.exists(serverPath)) {
|
|
38
42
|
await (0, ast_1.addDestructuredImport)(tree, serverPath, [getterAlias], rdbPackageAlias);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
+
exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (A2A) 1`] = `
|
|
4
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
5
|
+
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
|
|
8
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
9
|
+
|
|
10
|
+
COPY index.js /app
|
|
11
|
+
|
|
12
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
13
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
14
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
15
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
16
|
+
update-ca-certificates
|
|
17
|
+
|
|
18
|
+
EXPOSE 9000
|
|
19
|
+
|
|
20
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
21
|
+
"
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (HTTP) 1`] = `
|
|
25
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
26
|
+
|
|
27
|
+
WORKDIR /app
|
|
28
|
+
|
|
29
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
30
|
+
|
|
31
|
+
COPY index.js /app
|
|
32
|
+
|
|
33
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
34
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
35
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
36
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
37
|
+
update-ca-certificates
|
|
38
|
+
|
|
39
|
+
EXPOSE 8080
|
|
40
|
+
|
|
41
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
42
|
+
"
|
|
43
|
+
`;
|
|
44
|
+
|
|
3
45
|
exports[`ts#rdb strands-agent-connection generator > should add rdb serve-local dependency to the agent prefixed serve-local 1`] = `
|
|
4
46
|
{
|
|
5
47
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
@@ -55,6 +97,27 @@ export const getAgent = async () => {
|
|
|
55
97
|
"
|
|
56
98
|
`;
|
|
57
99
|
|
|
100
|
+
exports[`ts#rdb strands-agent-connection generator > should be idempotent for Dockerfile 1`] = `
|
|
101
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
102
|
+
|
|
103
|
+
WORKDIR /app
|
|
104
|
+
|
|
105
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
106
|
+
|
|
107
|
+
COPY index.js /app
|
|
108
|
+
|
|
109
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
110
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
111
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
112
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
113
|
+
update-ca-certificates
|
|
114
|
+
|
|
115
|
+
EXPOSE 8080
|
|
116
|
+
|
|
117
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
118
|
+
"
|
|
119
|
+
`;
|
|
120
|
+
|
|
58
121
|
exports[`ts#rdb strands-agent-connection generator > should be idempotent for agent.ts injection 1`] = `
|
|
59
122
|
"import { getPrisma as getDb } from 'db';
|
|
60
123
|
import { Agent, tool } from '@strands-agents/sdk';
|
|
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
|
|
|
14
14
|
const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
|
|
15
15
|
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
16
|
const ast_1 = require("../../../utils/ast");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
17
18
|
exports.TS_RDB_STRANDS_AGENT_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
18
19
|
const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
|
|
19
20
|
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
@@ -34,6 +35,9 @@ const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
|
|
|
34
35
|
const getterAlias = `getPrisma as get${rdbNamePascal}`;
|
|
35
36
|
const agentSourceDir = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', agentName);
|
|
36
37
|
const agentPath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'agent.ts');
|
|
38
|
+
// Dockerfile: install RDS CA bundle for direct Aurora SSL connections
|
|
39
|
+
const dockerfilePath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'Dockerfile');
|
|
40
|
+
(0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
|
|
37
41
|
if (tree.exists(agentPath)) {
|
|
38
42
|
await (0, ast_1.addDestructuredImport)(tree, agentPath, [getterAlias], rdbPackageAlias);
|
|
39
43
|
// Block body form: export const getAgent = async () => { ... }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectRdsCaBundleIntoDockerfile = void 0;
|
|
4
|
+
const RDS_CA_RUN = [
|
|
5
|
+
'RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\',
|
|
6
|
+
' rm -rf /var/lib/apt/lists/* && \\',
|
|
7
|
+
' curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\',
|
|
8
|
+
' -o /usr/local/share/ca-certificates/rds-bundle.crt && \\',
|
|
9
|
+
' update-ca-certificates',
|
|
10
|
+
].join('\n');
|
|
11
|
+
const injectRdsCaBundleIntoDockerfile = (tree, dockerfilePath) => {
|
|
12
|
+
if (!tree.exists(dockerfilePath))
|
|
13
|
+
return;
|
|
14
|
+
const content = tree.read(dockerfilePath, 'utf-8');
|
|
15
|
+
if (content.includes('rds-bundle.crt'))
|
|
16
|
+
return;
|
|
17
|
+
tree.write(dockerfilePath, content.replace(/^(EXPOSE \d+)/m, `${RDS_CA_RUN}\n\n$1`));
|
|
18
|
+
};
|
|
19
|
+
exports.injectRdsCaBundleIntoDockerfile = injectRdsCaBundleIntoDockerfile;
|
|
20
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/rdb/utils.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG;IACjB,6FAA6F;IAC7F,uCAAuC;IACvC,uFAAuF;IACvF,8DAA8D;IAC9D,4BAA4B;CAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEN,MAAM,+BAA+B,GAAG,CAC7C,IAAU,EACV,cAAsB,EAChB,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAE,CAAC;IACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO;IAC/C,IAAI,CAAC,KAAK,CACR,cAAc,EACd,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,UAAU,QAAQ,CAAC,CACzD,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,+BAA+B,mCAW1C"}
|