@aws/nx-plugin 0.39.3 → 0.40.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.
Files changed (35) hide show
  1. package/package.json +2 -2
  2. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +2 -2
  3. package/src/py/fast-api/generator.js +1 -2
  4. package/src/py/fast-api/generator.js.map +1 -1
  5. package/src/py/project/generator.js +2 -0
  6. package/src/py/project/generator.js.map +1 -1
  7. package/src/ts/lambda-function/generator.js +8 -34
  8. package/src/ts/lambda-function/generator.js.map +1 -1
  9. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +369 -12
  10. package/src/ts/mcp-server/files/Dockerfile.template +16 -0
  11. package/src/ts/mcp-server/files/http.ts.template +85 -0
  12. package/src/ts/mcp-server/files/index.ts.template +1 -17
  13. package/src/ts/mcp-server/files/stdio.ts.template +17 -0
  14. package/src/ts/mcp-server/generator.js +68 -12
  15. package/src/ts/mcp-server/generator.js.map +1 -1
  16. package/src/ts/mcp-server/schema.d.ts +3 -0
  17. package/src/ts/mcp-server/schema.json +8 -0
  18. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +105 -11
  19. package/src/ts/react-website/cognito-auth/generator.js +3 -0
  20. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  21. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +14 -0
  22. package/src/utils/agent-core-constructs/agent-core-constructs.js +28 -0
  23. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -0
  24. package/src/utils/agent-core-constructs/files/app/mcp-servers/__mcpServerNameKebabCase__/Dockerfile.template +1 -0
  25. package/src/utils/agent-core-constructs/files/app/mcp-servers/__mcpServerNameKebabCase__/__mcpServerNameKebabCase__.ts.template +38 -0
  26. package/src/utils/agent-core-constructs/files/core/agent-core/runtime.ts.template +195 -0
  27. package/src/utils/api-constructs/api-constructs.d.ts +1 -1
  28. package/src/utils/api-constructs/files/app/apis/http/__apiNameKebabCase__.ts.template +1 -1
  29. package/src/utils/api-constructs/files/app/apis/rest/__apiNameKebabCase__.ts.template +1 -1
  30. package/src/utils/esbuild.d.ts +15 -0
  31. package/src/utils/esbuild.js +46 -0
  32. package/src/utils/esbuild.js.map +1 -0
  33. package/src/utils/versions.d.ts +5 -2
  34. package/src/utils/versions.js +4 -1
  35. 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.39.3",
3
+ "version": "0.40.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -32,7 +32,7 @@
32
32
  "@nx/js": "~21.0.3",
33
33
  "@nx/react": "~21.0.3",
34
34
  "@nx/vite": "~21.0.3",
35
- "@nxlv/python": "^21.0.0",
35
+ "@nxlv/python": "~21.2.0",
36
36
  "@phenomnomnominal/tsquery": "6.1.3",
37
37
  "enquirer": "^2.4.1",
38
38
  "fast-glob": "^3.3.3",
@@ -332,7 +332,7 @@ export class TestApi<
332
332
  operations: OPERATION_DETAILS,
333
333
  defaultIntegrationOptions: {
334
334
  runtime: Runtime.PYTHON_3_12,
335
- handler: 'test_api.main.handler',
335
+ handler: 'proj_test_api.main.handler',
336
336
  code: Code.fromAsset(
337
337
  url.fileURLToPath(
338
338
  new URL(
@@ -817,7 +817,7 @@ export class TestApi<
817
817
  operations: OPERATION_DETAILS,
818
818
  defaultIntegrationOptions: {
819
819
  runtime: Runtime.PYTHON_3_12,
820
- handler: 'test_api.main.handler',
820
+ handler: 'proj_test_api.main.handler',
821
821
  code: Code.fromAsset(
822
822
  url.fileURLToPath(
823
823
  new URL(
@@ -35,7 +35,6 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
35
35
  directory: schema.directory,
36
36
  moduleName: schema.moduleName,
37
37
  });
38
- const apiNameSnakeCase = (0, names_1.toSnakeCase)(schema.name);
39
38
  const apiNameKebabCase = (0, names_1.toKebabCase)(schema.name);
40
39
  const apiNameClassName = (0, names_1.toClassName)(schema.name);
41
40
  const port = (0, port_1.getLocalServerPortNumber)(tree, exports.FAST_API_GENERATOR_INFO, 8000);
@@ -94,7 +93,7 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
94
93
  backend: {
95
94
  type: 'fastapi',
96
95
  dir,
97
- apiNameSnakeCase,
96
+ moduleName: normalizedModuleName,
98
97
  },
99
98
  auth: schema.auth,
100
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,8 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
84
84
  codeCoverageXmlReport: true,
85
85
  unitTestHtmlReport: true,
86
86
  unitTestJUnitReport: true,
87
+ buildSystem: 'hatch',
88
+ srcDir: false,
87
89
  });
88
90
  const outputPath = `{workspaceRoot}/dist/${dir}`;
89
91
  const buildOutputPath = (0, devkit_1.joinPathFragments)(outputPath, 'build');
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAUoB;AAEpB,qHAAwG;AACxG,yGAAkF;AAClF,oEAAmE;AACnE,oEAAiE;AACjE,mDAAoD;AACpD,qDAAoD;AACpD,6CAAgD;AAChD,+CAAoD;AACpD,yCAAkD;AAClD,uCAIwB;AACxB,iDAAsE;AAEzD,QAAA,yBAAyB,GACpC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAiB/B;;GAEG;AACI,MAAM,mBAAmB,GAAG,CACjC,IAAU,EACV,MAAiE,EAC/C,EAAE;;IACpB,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EACtC,MAAA,MAAM,CAAC,UAAU,mCAAI,GAAG,KAAK,IAAI,cAAc,EAAE,CAClD,CAAC;IACF,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,cAAc,EAAE,CAAC;IACxD,MAAM,GAAG,GAAG,IAAA,0BAAiB,EAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,GAAG,EAAE,cAAc,CAAC,CAAC;IACvE,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;AAC3D,CAAC,CAAC;AAZW,QAAA,mBAAmB,uBAY9B;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAChC,IAAU,EACV,MAAgC,EACJ,EAAE;;IAC9B,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,IAAA,2BAAmB,EAC3E,IAAI,EACJ,MAAM,CACP,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,uBAAY,EAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACpD,IAAA,qCAA4B,EAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;IAErD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACvD,IAAA,sBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,IACE,CAAC,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,OAAO,CAAC,KAAK,QAAQ;QACnB,CAAC,CAAC,CAAC,KAAK,cAAc;QACtB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAChC,CAAA,EACD,CAAC;QACD,MAAM,CAAC,OAAO,GAAG;YACf,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;YACzB;gBACE,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI;iBACrB;aACF;SACF,CAAC;QACF,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAA,mBAA4B,EAAC,IAAI,EAAE;YACvC,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,QAAQ;YAC5B,yBAAyB,EAAE,QAAQ;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAA,mBAAkB,EAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,KAAK;QAClB,mBAAmB,EAAE,IAAI;QACzB,4BAA4B,EAAE,IAAI;QAClC,MAAM,EAAE,MAAM;QACd,4BAA4B,EAAE,MAAM;QACpC,kBAAkB,EAAE,QAAQ;QAC5B,yBAAyB,EAAE,QAAQ;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,wBAAwB,EAAE,aAAa;QACvC,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,QAAQ;QACxB,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,IAAI;QAC5B,qBAAqB,EAAE,IAAI;QAC3B,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,wBAAwB,GAAG,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,oBAAoB,GAAG,IAAA,iCAAwB,EACnD,IAAI,EACJ,kBAAkB,CACnB,CAAC;IACF,oBAAoB,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;IACvD,oBAAoB,CAAC,OAAO,CAAC,OAAO,mCAC/B,WAAW,KACd,OAAO,EAAE,CAAC,eAAe,CAAC,EAC1B,OAAO,kCACF,WAAW,CAAC,OAAO,KACtB,UAAU,EAAE,eAAe,MAE9B,CAAC;IACF,oBAAoB,CAAC,OAAO,CAAC,KAAK,GAAG;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE;YACP,UAAU;SACX;KACF,CAAC;IACF,oBAAoB,CAAC,OAAO,GAAG,IAAA,uBAAc,EAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAA,mCAA0B,EAAC,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAE3E,IAAA,yBAAoB,EAAC,IAAI,EAAE,kBAAkB,EAAE,iCAAyB,CAAC,CAAC;IAE1E,yBAAyB;IACzB,IAAA,qBAAe,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpE,kCAAkC;IAClC,IAAA,qBAAe,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvC,GAAG,QAAQ;QACX,gBAAgB;QAChB,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,iCAAyB,CAAC,CAAC,CAAC;IAEzE,OAAO,GAAS,EAAE;QAChB,MAAM,IAAI,qBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,eAAM,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AA9GW,QAAA,kBAAkB,sBA8G7B;AACF,kBAAe,0BAAkB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,13 @@ const metrics_1 = require("../../utils/metrics");
18
18
  const versions_1 = require("../../utils/versions");
19
19
  const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
20
20
  const io_1 = require("./io");
21
+ const esbuild_1 = require("../../utils/esbuild");
21
22
  exports.TS_LAMBDA_FUNCTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
22
23
  /**
23
24
  * Generates a TypeScript Lambda Function to add to a TypeScript project
24
25
  */
25
26
  const tsLambdaFunctionGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
26
- var _a, _b, _c, _d, _e, _f;
27
+ var _a, _b;
27
28
  const projectConfig = (0, nx_1.readProjectConfigurationUnqualified)(tree, schema.project);
28
29
  const tsconfigPath = (0, devkit_1.joinPathFragments)(projectConfig.root, 'tsconfig.json');
29
30
  // Check if the project has a tsconfig.json file
@@ -57,43 +58,16 @@ const tsLambdaFunctionGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
57
58
  lambdaFunctionClassName,
58
59
  lambdaFunctionKebabCase,
59
60
  bundleTargetName, returnType: io_1.TS_HANDLER_RETURN_TYPES[schema.eventSource] });
60
- if (!projectConfig.targets) {
61
- projectConfig.targets = {};
62
- }
63
- // Add the specific bundle target for this lambda function
64
- projectConfig.targets[bundleTargetName] = {
65
- cache: true,
66
- executor: 'nx:run-commands',
67
- outputs: [`{workspaceRoot}/dist/${dir}/${bundleTargetName}`],
68
- options: {
69
- commands: [
70
- `esbuild ${functionPath} --bundle --platform=node --target=node22 --format=cjs --outfile=dist/${dir}/${bundleTargetName}/index.js --external:@aws-sdk/*`,
71
- ],
72
- parallel: false,
73
- },
74
- dependsOn: ['compile'],
75
- };
76
- // Add the bundle target if it doesn't exist
77
- projectConfig.targets.bundle = (_b = projectConfig.targets.bundle) !== null && _b !== void 0 ? _b : {
78
- cache: true,
79
- dependsOn: [],
80
- };
81
- // Add the lambda's bundle target to the main bundle target's dependsOn
82
- projectConfig.targets.bundle.dependsOn = [
83
- ...((_c = projectConfig.targets.bundle.dependsOn) !== null && _c !== void 0 ? _c : []).filter((d) => d !== bundleTargetName),
61
+ // Add a bundle target for the function
62
+ (0, esbuild_1.addEsbuildBundleTarget)(projectConfig, {
84
63
  bundleTargetName,
85
- ];
86
- if (!((_d = projectConfig.targets) === null || _d === void 0 ? void 0 : _d.build)) {
87
- projectConfig.targets.build = {};
88
- }
89
- projectConfig.targets.build.dependsOn = [
90
- ...((_e = projectConfig.targets.build.dependsOn) !== null && _e !== void 0 ? _e : []).filter((t) => t !== 'bundle'),
91
- 'bundle',
92
- ];
64
+ targetFilePath: functionPath,
65
+ extraEsbuildArgs: '--external:@aws-sdk/*',
66
+ });
93
67
  projectConfig.targets = (0, object_1.sortObjectKeys)(projectConfig.targets);
94
68
  (0, devkit_1.updateProjectConfiguration)(tree, projectConfig.name, projectConfig);
95
69
  // Generate the lambda handler file
96
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'handler'), (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, (_f = schema.functionPath) !== null && _f !== void 0 ? _f : ''), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
70
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'handler'), (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, (_b = schema.functionPath) !== null && _b !== void 0 ? _b : ''), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
97
71
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app'), enhancedOptions, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
98
72
  (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './lambda-functions/index.js');
99
73
  (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'lambda-functions', 'index.ts'), `./${constructFunctionNameKebabCase}.js`);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lambda-function/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lambda-function/generator.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,360 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`ts#mcp-server generator > should match snapshot for generated files > mcp-server-index.ts 1`] = `
3
+ exports[`ts#mcp-server generator > should match snapshot for BedrockAgentCoreRuntime generated constructs files > agent-core-runtime.ts 1`] = `
4
+ "import {
5
+ Role,
6
+ ServicePrincipal,
7
+ PolicyStatement,
8
+ Effect,
9
+ PolicyDocument,
10
+ } from 'aws-cdk-lib/aws-iam';
11
+ import {
12
+ AwsCustomResource,
13
+ AwsCustomResourcePolicy,
14
+ PhysicalResourceId,
15
+ PhysicalResourceIdReference,
16
+ } from 'aws-cdk-lib/custom-resources';
17
+ import { Construct } from 'constructs';
18
+ import type { AuthorizerConfiguration } from '@aws-sdk/client-bedrock-agentcore-control';
19
+ import { Stack } from 'aws-cdk-lib';
20
+
21
+ /**
22
+ * Options for the AgentCoreRuntime construct
23
+ */
24
+ export interface AgentCoreRuntimeProps {
25
+ runtimeName: string;
26
+ description?: string;
27
+ containerUri: string;
28
+ serverProtocol: 'MCP' | 'HTTP';
29
+ environment?: Record<string, string>;
30
+ authorizerConfiguration?: AuthorizerConfiguration;
31
+ }
32
+
33
+ /**
34
+ * A construct for creating a Bedrock AgentCore Runtime
35
+ */
36
+ export class AgentCoreRuntime extends Construct {
37
+ public readonly role: Role;
38
+ public readonly arn: string;
39
+
40
+ constructor(scope: Construct, id: string, props: AgentCoreRuntimeProps) {
41
+ super(scope, id);
42
+
43
+ const region = Stack.of(this).region;
44
+ const accountId = Stack.of(this).account;
45
+
46
+ this.role = new Role(this, 'AgentCoreRole', {
47
+ assumedBy: new ServicePrincipal('bedrock-agentcore.amazonaws.com'),
48
+ inlinePolicies: {
49
+ AgentCorePolicy: new PolicyDocument({
50
+ statements: [
51
+ new PolicyStatement({
52
+ sid: 'ECRImageAccess',
53
+ effect: Effect.ALLOW,
54
+ actions: ['ecr:BatchGetImage', 'ecr:GetDownloadUrlForLayer'],
55
+ resources: [\`arn:aws:ecr:\${region}:\${accountId}:repository/*\`],
56
+ }),
57
+ new PolicyStatement({
58
+ effect: Effect.ALLOW,
59
+ actions: ['logs:DescribeLogStreams', 'logs:CreateLogGroup'],
60
+ resources: [
61
+ \`arn:aws:logs:\${region}:\${accountId}:log-group:/aws/bedrock-agentcore/runtimes/*\`,
62
+ ],
63
+ }),
64
+ new PolicyStatement({
65
+ effect: Effect.ALLOW,
66
+ actions: ['logs:DescribeLogGroups'],
67
+ resources: [\`arn:aws:logs:\${region}:\${accountId}:log-group:*\`],
68
+ }),
69
+ new PolicyStatement({
70
+ effect: Effect.ALLOW,
71
+ actions: ['logs:CreateLogStream', 'logs:PutLogEvents'],
72
+ resources: [
73
+ \`arn:aws:logs:\${region}:\${accountId}:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*\`,
74
+ ],
75
+ }),
76
+ new PolicyStatement({
77
+ sid: 'ECRTokenAccess',
78
+ effect: Effect.ALLOW,
79
+ actions: ['ecr:GetAuthorizationToken'],
80
+ resources: ['*'],
81
+ }),
82
+ new PolicyStatement({
83
+ effect: Effect.ALLOW,
84
+ actions: [
85
+ 'xray:PutTraceSegments',
86
+ 'xray:PutTelemetryRecords',
87
+ 'xray:GetSamplingRules',
88
+ 'xray:GetSamplingTargets',
89
+ ],
90
+ resources: ['*'],
91
+ }),
92
+ new PolicyStatement({
93
+ effect: Effect.ALLOW,
94
+ actions: ['cloudwatch:PutMetricData'],
95
+ resources: ['*'],
96
+ conditions: {
97
+ StringEquals: {
98
+ 'cloudwatch:namespace': 'bedrock-agentcore',
99
+ },
100
+ },
101
+ }),
102
+ new PolicyStatement({
103
+ sid: 'GetAgentAccessToken',
104
+ effect: Effect.ALLOW,
105
+ actions: [
106
+ 'bedrock-agentcore:GetWorkloadAccessToken',
107
+ 'bedrock-agentcore:GetWorkloadAccessTokenForJWT',
108
+ 'bedrock-agentcore:GetWorkloadAccessTokenForUserId',
109
+ ],
110
+ resources: [
111
+ \`arn:aws:bedrock-agentcore:\${region}:\${accountId}:workload-identity-directory/default\`,
112
+ \`arn:aws:bedrock-agentcore:\${region}:\${accountId}:workload-identity-directory/default/workload-identity/*\`,
113
+ ],
114
+ }),
115
+ new PolicyStatement({
116
+ sid: 'BedrockModelInvocation',
117
+ effect: Effect.ALLOW,
118
+ actions: [
119
+ 'bedrock:InvokeModel',
120
+ 'bedrock:InvokeModelWithResponseStream',
121
+ ],
122
+ resources: [
123
+ 'arn:aws:bedrock:*::foundation-model/*',
124
+ \`arn:aws:bedrock:\${region}:\${accountId}:*\`,
125
+ ],
126
+ }),
127
+ ],
128
+ }),
129
+ },
130
+ });
131
+
132
+ const agentRuntime = new AwsCustomResource(this, 'MCPSeverRuntime', {
133
+ onCreate: {
134
+ service: 'bedrock-agentcore-control',
135
+ action: 'CreateAgentRuntime',
136
+ parameters: {
137
+ agentRuntimeName: props.runtimeName,
138
+ agentRuntimeArtifact: {
139
+ containerConfiguration: {
140
+ containerUri: props.containerUri,
141
+ },
142
+ },
143
+ networkConfiguration: {
144
+ networkMode: 'PUBLIC',
145
+ },
146
+ protocolConfiguration: {
147
+ serverProtocol: props.serverProtocol,
148
+ },
149
+ roleArn: this.role.roleArn,
150
+ authorizerConfiguration: props.authorizerConfiguration,
151
+ },
152
+ physicalResourceId: PhysicalResourceId.fromResponse('agentRuntimeId'),
153
+ },
154
+ onUpdate: {
155
+ service: 'bedrock-agentcore-control',
156
+ action: 'UpdateAgentRuntime',
157
+ parameters: {
158
+ agentRuntimeId: new PhysicalResourceIdReference(),
159
+ agentRuntimeName: props.runtimeName,
160
+ agentRuntimeArtifact: {
161
+ containerConfiguration: {
162
+ containerUri: props.containerUri,
163
+ },
164
+ },
165
+ networkConfiguration: {
166
+ networkMode: 'PUBLIC',
167
+ },
168
+ protocolConfiguration: {
169
+ serverProtocol: props.serverProtocol,
170
+ },
171
+ roleArn: this.role.roleArn,
172
+ authorizerConfiguration: props.authorizerConfiguration,
173
+ },
174
+ physicalResourceId: PhysicalResourceId.fromResponse('agentRuntimeId'),
175
+ },
176
+ onDelete: {
177
+ service: 'bedrock-agentcore-control',
178
+ action: 'DeleteAgentRuntime',
179
+ parameters: {
180
+ agentRuntimeId: new PhysicalResourceIdReference(),
181
+ },
182
+ },
183
+ policy: AwsCustomResourcePolicy.fromStatements([
184
+ new PolicyStatement({
185
+ actions: ['bedrock-agentcore:*'],
186
+ resources: ['*'],
187
+ }),
188
+ new PolicyStatement({
189
+ actions: ['iam:PassRole'],
190
+ resources: [this.role.roleArn],
191
+ }),
192
+ ]),
193
+ installLatestAwsSdk: true,
194
+ });
195
+
196
+ this.arn = agentRuntime.getResponseField('agentRuntimeArn');
197
+ }
198
+ }
199
+ "
200
+ `;
201
+
202
+ exports[`ts#mcp-server generator > should match snapshot for BedrockAgentCoreRuntime generated constructs files > app-index.ts 1`] = `
203
+ "export * from './mcp-servers/index.js';
204
+ "
205
+ `;
206
+
207
+ exports[`ts#mcp-server generator > should match snapshot for BedrockAgentCoreRuntime generated constructs files > core-index.ts 1`] = `
208
+ "export * from './app.js';
209
+ export * from './runtime-config.js';
210
+ "
211
+ `;
212
+
213
+ exports[`ts#mcp-server generator > should match snapshot for BedrockAgentCoreRuntime generated constructs files > mcp-server-construct.ts 1`] = `
214
+ "import { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';
215
+ import { Construct } from 'constructs';
216
+ import { execSync } from 'child_process';
217
+ import * as path from 'path';
218
+ import * as url from 'url';
219
+ import {
220
+ AgentCoreRuntime,
221
+ AgentCoreRuntimeProps,
222
+ } from '../../../core/agent-core/runtime.js';
223
+
224
+ export type SnapshotBedrockServerProps = Omit<
225
+ AgentCoreRuntimeProps,
226
+ 'runtimeName' | 'serverProtocol' | 'containerUri'
227
+ >;
228
+
229
+ export class SnapshotBedrockServer extends Construct {
230
+ public readonly dockerImage: DockerImageAsset;
231
+ public readonly agentCoreRuntime: AgentCoreRuntime;
232
+
233
+ constructor(
234
+ scope: Construct,
235
+ id: string,
236
+ props?: SnapshotBedrockServerProps,
237
+ ) {
238
+ super(scope, id);
239
+
240
+ this.dockerImage = new DockerImageAsset(this, 'DockerImage', {
241
+ directory: path.dirname(url.fileURLToPath(new URL(import.meta.url))),
242
+ extraHash: execSync(
243
+ \`docker inspect proj-snapshot-bedrock-server:latest --format '{{.Descriptor.digest}}'\`,
244
+ { encoding: 'utf-8' },
245
+ ).trim(),
246
+ });
247
+
248
+ this.agentCoreRuntime = new AgentCoreRuntime(this, 'AgentCore', {
249
+ runtimeName: 'SnapshotBedrockServer',
250
+ serverProtocol: 'MCP',
251
+ containerUri: this.dockerImage.imageUri,
252
+ ...props,
253
+ });
254
+ }
255
+ }
256
+ "
257
+ `;
258
+
259
+ exports[`ts#mcp-server generator > should match snapshot for BedrockAgentCoreRuntime generated constructs files > mcp-servers-index.ts 1`] = `
260
+ "export * from './snapshot-bedrock-server/snapshot-bedrock-server.js';
261
+ "
262
+ `;
263
+
264
+ exports[`ts#mcp-server generator > should match snapshot for generated files > mcp-server-http.ts 1`] = `
4
265
  "#!/usr/bin/env node
5
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
6
266
  import { createServer } from './server';
267
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
268
+ import express, { Request, Response } from 'express';
7
269
 
8
- export const startMcpServer = async () => {
9
- const transport = new StdioServerTransport();
10
- await createServer().connect(transport);
11
- console.error('MCP Server listening on STDIO');
12
- };
270
+ const PORT = 8000;
13
271
 
14
- void (async () => {
272
+ const app = express();
273
+ app.use(express.json());
274
+
275
+ app.post('/mcp', async (req: Request, res: Response) => {
15
276
  try {
16
- await startMcpServer();
17
- } catch (e) {
18
- console.error(e);
277
+ const server = createServer();
278
+ const transport: StreamableHTTPServerTransport =
279
+ new StreamableHTTPServerTransport({
280
+ sessionIdGenerator: undefined,
281
+ });
282
+ res.on('close', () => {
283
+ console.log('Request closed');
284
+ transport.close();
285
+ server.close();
286
+ });
287
+ await server.connect(transport);
288
+ await transport.handleRequest(req, res, {
289
+ ...req.body,
290
+ // AgentCore pings with null parameters where the MCP SDK expects an empty object
291
+ params: req.body.method === 'ping' ? {} : req.body.params,
292
+ });
293
+ } catch (error) {
294
+ console.error('Error handling MCP request:', error);
295
+ if (!res.headersSent) {
296
+ res.status(500).json({
297
+ jsonrpc: '2.0',
298
+ error: {
299
+ code: -32603,
300
+ message: 'Internal server error',
301
+ },
302
+ id: null,
303
+ });
304
+ }
19
305
  }
306
+ });
307
+
308
+ // SSE notifications not supported in stateless mode
309
+ app.get('/mcp', async (req: Request, res: Response) => {
310
+ console.log('Received GET MCP request');
311
+ res.writeHead(405).end(
312
+ JSON.stringify({
313
+ jsonrpc: '2.0',
314
+ error: {
315
+ code: -32000,
316
+ message: 'Method not allowed.',
317
+ },
318
+ id: null,
319
+ }),
320
+ );
321
+ });
322
+
323
+ // Session termination not needed in stateless mode
324
+ app.delete('/mcp', async (req: Request, res: Response) => {
325
+ console.log('Received DELETE MCP request');
326
+ res.writeHead(405).end(
327
+ JSON.stringify({
328
+ jsonrpc: '2.0',
329
+ error: {
330
+ code: -32000,
331
+ message: 'Method not allowed.',
332
+ },
333
+ id: null,
334
+ }),
335
+ );
336
+ });
337
+
338
+ // Start the server
339
+ void (async () => {
340
+ app.listen(PORT, (error) => {
341
+ if (error) {
342
+ console.error('Failed to start server:', error);
343
+ process.exit(1);
344
+ }
345
+ console.log(
346
+ \`MCP Stateless Streamable HTTP Server listening on port \${PORT}\`,
347
+ );
348
+ });
20
349
  })();
21
350
  "
22
351
  `;
23
352
 
353
+ exports[`ts#mcp-server generator > should match snapshot for generated files > mcp-server-index.ts 1`] = `
354
+ "export * from './server';
355
+ "
356
+ `;
357
+
24
358
  exports[`ts#mcp-server generator > should match snapshot for generated files > mcp-server-server.ts 1`] = `
25
359
  "import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
26
360
  import { registerAddTool } from './tools/add';
@@ -43,18 +377,41 @@ export const createServer = () => {
43
377
  "
44
378
  `;
45
379
 
380
+ exports[`ts#mcp-server generator > should match snapshot for generated files > mcp-server-stdio.ts 1`] = `
381
+ "#!/usr/bin/env node
382
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
383
+ import { createServer } from './server';
384
+
385
+ export const startMcpServer = async () => {
386
+ const transport = new StdioServerTransport();
387
+ await createServer().connect(transport);
388
+ console.error('MCP Server listening on STDIO');
389
+ };
390
+
391
+ void (async () => {
392
+ try {
393
+ await startMcpServer();
394
+ } catch (e) {
395
+ console.error(e);
396
+ }
397
+ })();
398
+ "
399
+ `;
400
+
46
401
  exports[`ts#mcp-server generator > should match snapshot for generated files > updated-package.json 1`] = `
47
402
  "{
48
403
  "name": "test-project",
49
404
  "version": "1.0.0",
50
405
  "bin": {
51
- "snapshot-server": "./src/snapshot-server/index.js"
406
+ "snapshot-server": "./src/snapshot-server/stdio.js"
52
407
  },
53
408
  "dependencies": {
54
409
  "@modelcontextprotocol/sdk": "^1.11.3",
410
+ "express": "^5.1.0",
55
411
  "zod-v3": "npm:zod@^3"
56
412
  },
57
413
  "devDependencies": {
414
+ "@types/express": "^5.0.3",
58
415
  "tsx": "4.20.1"
59
416
  }
60
417
  }
@@ -0,0 +1,16 @@
1
+ FROM public.ecr.aws/docker/library/node:lts-jod
2
+
3
+ WORKDIR /app
4
+
5
+ # Add AWS Distro for OpenTelemetry for observability
6
+ # https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability-configure.html
7
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@^0.7.0
8
+
9
+ # Copy bundled streamable http server
10
+ COPY --from=workspace <%- distDir %>/<%- name %>-bundle/index.js /app
11
+
12
+ EXPOSE 8000
13
+
14
+ # Auto-instrument with AWS Distro for OpenTelemetry
15
+ # https://aws-otel.github.io/docs/getting-started/js-sdk/trace-metric-auto-instr
16
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]