@aws/nx-plugin 1.0.9 → 1.0.10

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 (86) hide show
  1. package/LICENSE-THIRD-PARTY +100 -562
  2. package/migrations.json +64 -26
  3. package/package.json +10 -10
  4. package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +1 -1
  5. package/src/infra/app/__snapshots__/generator.spec.ts.snap +3 -3
  6. package/src/migrations/latest/pin-strands-mcp-client-peer/metadata.json +3 -0
  7. package/src/migrations/latest/pin-strands-mcp-client-peer/migration.d.ts +20 -0
  8. package/src/migrations/latest/pin-strands-mcp-client-peer/migration.js +51 -0
  9. package/src/migrations/latest/pin-strands-mcp-client-peer/migration.js.map +1 -0
  10. package/src/migrations/v1.0.7/0001-pin-strands-express-peer/migration.js.map +1 -0
  11. package/src/migrations/v1.0.7/0002-rdb-drop-lambda-rie/migration.js.map +1 -0
  12. package/src/migrations/v1.0.8/0001-infra-test-loop/migration.js.map +1 -0
  13. package/src/migrations/v1.0.8/0002-py-dynamodb-type-base-model-meta/migration.js.map +1 -0
  14. package/src/migrations/v1.0.8/0003-cache-inputs-outputs/migration.js.map +1 -0
  15. package/src/open-api/py-client/generator.d.ts +1 -1
  16. package/src/preset/__snapshots__/generator.spec.ts.snap +3 -3
  17. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +5 -5
  18. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +9 -9
  19. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +4 -4
  20. package/src/py/agent/a2a-connection/generator.d.ts +1 -1
  21. package/src/py/agent/gateway-connection/generator.d.ts +1 -1
  22. package/src/py/agent/mcp-connection/generator.d.ts +1 -1
  23. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
  24. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +12 -12
  25. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  26. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
  27. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +4 -4
  28. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +5 -5
  29. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +8 -8
  30. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +12 -12
  31. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +4 -4
  32. package/src/ts/agent/a2a-connection/generator.d.ts +2 -2
  33. package/src/ts/agent/gateway-connection/generator.d.ts +3 -1
  34. package/src/ts/agent/gateway-connection/generator.js +4 -0
  35. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  36. package/src/ts/agent/generator.d.ts +3 -1
  37. package/src/ts/agent/generator.js +5 -0
  38. package/src/ts/agent/generator.js.map +1 -1
  39. package/src/ts/agent/mcp-connection/generator.d.ts +3 -1
  40. package/src/ts/agent/mcp-connection/generator.js +4 -0
  41. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  42. package/src/ts/astro-docs/generator.d.ts +1 -1
  43. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +1 -1
  44. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
  45. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  46. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
  47. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +5 -5
  48. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +41 -39
  49. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +2 -2
  50. package/src/utils/agent-connection/agent-connection.d.ts +9 -3
  51. package/src/utils/agent-connection/agent-connection.js +9 -2
  52. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  53. package/src/utils/git.d.ts +5 -0
  54. package/src/utils/git.js +29 -4
  55. package/src/utils/git.js.map +1 -1
  56. package/src/utils/shared-constructs.d.ts +5 -0
  57. package/src/utils/shared-constructs.js +10 -9
  58. package/src/utils/shared-constructs.js.map +1 -1
  59. package/src/utils/version-lockstep/hold.d.ts +5 -2
  60. package/src/utils/version-lockstep/hold.js +7 -0
  61. package/src/utils/version-lockstep/hold.js.map +1 -1
  62. package/src/utils/version-lockstep/lockstep.d.ts +2 -2
  63. package/src/utils/version-lockstep/lockstep.js.map +1 -1
  64. package/src/utils/versions.d.ts +80 -79
  65. package/src/utils/versions.js +78 -77
  66. package/src/utils/versions.js.map +1 -1
  67. package/src/migrations/latest/cache-inputs-outputs/migration.js.map +0 -1
  68. package/src/migrations/latest/infra-test-loop/migration.js.map +0 -1
  69. package/src/migrations/latest/pin-strands-express-peer/migration.js.map +0 -1
  70. package/src/migrations/latest/py-dynamodb-type-base-model-meta/migration.js.map +0 -1
  71. package/src/migrations/latest/rdb-drop-lambda-rie/migration.js.map +0 -1
  72. /package/src/migrations/{latest/pin-strands-express-peer → v1.0.7/0001-pin-strands-express-peer}/metadata.json +0 -0
  73. /package/src/migrations/{latest/pin-strands-express-peer → v1.0.7/0001-pin-strands-express-peer}/migration.d.ts +0 -0
  74. /package/src/migrations/{latest/pin-strands-express-peer → v1.0.7/0001-pin-strands-express-peer}/migration.js +0 -0
  75. /package/src/migrations/{latest/rdb-drop-lambda-rie → v1.0.7/0002-rdb-drop-lambda-rie}/metadata.json +0 -0
  76. /package/src/migrations/{latest/cache-inputs-outputs → v1.0.7/0002-rdb-drop-lambda-rie}/migration.d.ts +0 -0
  77. /package/src/migrations/{latest/rdb-drop-lambda-rie → v1.0.7/0002-rdb-drop-lambda-rie}/migration.js +0 -0
  78. /package/src/migrations/{latest/infra-test-loop → v1.0.8/0001-infra-test-loop}/metadata.json +0 -0
  79. /package/src/migrations/{latest/infra-test-loop → v1.0.8/0001-infra-test-loop}/migration.d.ts +0 -0
  80. /package/src/migrations/{latest/infra-test-loop → v1.0.8/0001-infra-test-loop}/migration.js +0 -0
  81. /package/src/migrations/{latest/py-dynamodb-type-base-model-meta → v1.0.8/0002-py-dynamodb-type-base-model-meta}/metadata.json +0 -0
  82. /package/src/migrations/{latest/py-dynamodb-type-base-model-meta → v1.0.8/0002-py-dynamodb-type-base-model-meta}/migration.d.ts +0 -0
  83. /package/src/migrations/{latest/py-dynamodb-type-base-model-meta → v1.0.8/0002-py-dynamodb-type-base-model-meta}/migration.js +0 -0
  84. /package/src/migrations/{latest/cache-inputs-outputs → v1.0.8/0003-cache-inputs-outputs}/metadata.json +0 -0
  85. /package/src/migrations/{latest/rdb-drop-lambda-rie → v1.0.8/0003-cache-inputs-outputs}/migration.d.ts +0 -0
  86. /package/src/migrations/{latest/cache-inputs-outputs → v1.0.8/0003-cache-inputs-outputs}/migration.js +0 -0
@@ -10,7 +10,7 @@ import type { PyAgentMcpConnectionGeneratorSchema } from './schema';
10
10
  export interface PyAgentMcpConnectionMetadata {
11
11
  readonly framework: AgentFramework;
12
12
  }
13
- export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.js").DependencyDeclaration<readonly import("../../../utils/declared-dependencies.js").DeclaredTsDependency<"@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "@biomejs/biome" | "@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "deepmerge-ts" | "mysql2" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/client-cognito-identity-provider" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@smithy/server-apigateway" | "@smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "cookie" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "cn" | "commander" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "mariadb" | "mise" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rolldown" | "rolldown-plugin-dts" | "shx" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "vite" | "typescript" | "vitest" | "jsdom" | "zod" | "ws", PyAgentMcpConnectionMetadata>[], readonly [{
13
+ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.js").DependencyDeclaration<readonly import("../../../utils/declared-dependencies.js").DeclaredTsDependency<"@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "@biomejs/biome" | "@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "deepmerge-ts" | "mysql2" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/client-cognito-identity-provider" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@smithy/server-apigateway" | "@smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/client" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "cookie" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "cn" | "commander" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "mariadb" | "mise" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rolldown" | "rolldown-plugin-dts" | "shx" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "vite" | "typescript" | "vitest" | "jsdom" | "zod" | "ws", PyAgentMcpConnectionMetadata>[], readonly [{
14
14
  readonly name: "boto3";
15
15
  }, {
16
16
  readonly name: "httpx";
@@ -35,7 +35,7 @@ exports[`py#dynamodb generator > should generate terraform modules when iac is t
35
35
  required_providers {
36
36
  aws = {
37
37
  source = "hashicorp/aws"
38
- version = "6.67.0"
38
+ version = "6.68.0"
39
39
  }
40
40
  }
41
41
  }
@@ -232,7 +232,7 @@ exports[`py#dynamodb generator > should generate terraform modules when iac is t
232
232
  required_providers {
233
233
  aws = {
234
234
  source = "hashicorp/aws"
235
- version = "6.67.0"
235
+ version = "6.68.0"
236
236
  }
237
237
  random = {
238
238
  source = "hashicorp/random"
@@ -11,7 +11,7 @@ terraform {
11
11
  required_providers {
12
12
  aws = {
13
13
  source = "hashicorp/aws"
14
- version = "6.67.0"
14
+ version = "6.68.0"
15
15
  }
16
16
  }
17
17
  }
@@ -262,7 +262,7 @@ output "api_log_group_arn" {
262
262
  }
263
263
  aws = {
264
264
  source = "hashicorp/aws"
265
- version = "6.67.0"
265
+ version = "6.68.0"
266
266
  }
267
267
  random = {
268
268
  source = "hashicorp/random"
@@ -908,7 +908,7 @@ terraform {
908
908
  required_providers {
909
909
  aws = {
910
910
  source = "hashicorp/aws"
911
- version = "6.67.0"
911
+ version = "6.68.0"
912
912
  }
913
913
  }
914
914
  }
@@ -1159,7 +1159,7 @@ output "api_log_group_arn" {
1159
1159
  }
1160
1160
  aws = {
1161
1161
  source = "hashicorp/aws"
1162
- version = "6.67.0"
1162
+ version = "6.68.0"
1163
1163
  }
1164
1164
  random = {
1165
1165
  source = "hashicorp/random"
@@ -1878,7 +1878,7 @@ terraform {
1878
1878
  required_providers {
1879
1879
  aws = {
1880
1880
  source = "hashicorp/aws"
1881
- version = "6.67.0"
1881
+ version = "6.68.0"
1882
1882
  }
1883
1883
  }
1884
1884
  }
@@ -2129,7 +2129,7 @@ output "api_log_group_arn" {
2129
2129
  }
2130
2130
  aws = {
2131
2131
  source = "hashicorp/aws"
2132
- version = "6.67.0"
2132
+ version = "6.68.0"
2133
2133
  }
2134
2134
  random = {
2135
2135
  source = "hashicorp/random"
@@ -2752,7 +2752,7 @@ terraform {
2752
2752
  required_providers {
2753
2753
  aws = {
2754
2754
  source = "hashicorp/aws"
2755
- version = "6.67.0"
2755
+ version = "6.68.0"
2756
2756
  }
2757
2757
  random = {
2758
2758
  source = "hashicorp/random"
@@ -3065,7 +3065,7 @@ output "waf_web_acl_arn" {
3065
3065
  }
3066
3066
  aws = {
3067
3067
  source = "hashicorp/aws"
3068
- version = "6.67.0"
3068
+ version = "6.68.0"
3069
3069
  }
3070
3070
  random = {
3071
3071
  source = "hashicorp/random"
@@ -4162,7 +4162,7 @@ terraform {
4162
4162
  required_providers {
4163
4163
  aws = {
4164
4164
  source = "hashicorp/aws"
4165
- version = "6.67.0"
4165
+ version = "6.68.0"
4166
4166
  }
4167
4167
  random = {
4168
4168
  source = "hashicorp/random"
@@ -4475,7 +4475,7 @@ output "waf_web_acl_arn" {
4475
4475
  }
4476
4476
  aws = {
4477
4477
  source = "hashicorp/aws"
4478
- version = "6.67.0"
4478
+ version = "6.68.0"
4479
4479
  }
4480
4480
  random = {
4481
4481
  source = "hashicorp/random"
@@ -5561,7 +5561,7 @@ terraform {
5561
5561
  required_providers {
5562
5562
  aws = {
5563
5563
  source = "hashicorp/aws"
5564
- version = "6.67.0"
5564
+ version = "6.68.0"
5565
5565
  }
5566
5566
  random = {
5567
5567
  source = "hashicorp/random"
@@ -5874,7 +5874,7 @@ output "waf_web_acl_arn" {
5874
5874
  }
5875
5875
  aws = {
5876
5876
  source = "hashicorp/aws"
5877
- version = "6.67.0"
5877
+ version = "6.68.0"
5878
5878
  }
5879
5879
  random = {
5880
5880
  source = "hashicorp/random"
@@ -71,7 +71,7 @@ exports[`lambda-handler project generator > terraform iac > should generate terr
71
71
  required_providers {
72
72
  aws = {
73
73
  source = "hashicorp/aws"
74
- version = "6.67.0"
74
+ version = "6.68.0"
75
75
  }
76
76
  archive = {
77
77
  source = "hashicorp/archive"
@@ -256,7 +256,7 @@ exports[`lambda-handler project generator > terraform iac > should match snapsho
256
256
  required_providers {
257
257
  aws = {
258
258
  source = "hashicorp/aws"
259
- version = "6.67.0"
259
+ version = "6.68.0"
260
260
  }
261
261
  archive = {
262
262
  source = "hashicorp/archive"
@@ -155,7 +155,7 @@ exports[`py#mcp-server generator > should match snapshot for Terraform generated
155
155
  required_providers {
156
156
  aws = {
157
157
  source = "hashicorp/aws"
158
- version = "6.67.0"
158
+ version = "6.68.0"
159
159
  }
160
160
  null = {
161
161
  source = "hashicorp/null"
@@ -514,7 +514,7 @@ resource "null_resource" "runtime_ready" {
514
514
 
515
515
  provisioner "local-exec" {
516
516
  command = <<-EOT
517
- uv run --with boto3==1.43.108 python -c "
517
+ uv run --with boto3==1.43.113 python -c "
518
518
  import boto3
519
519
  import json
520
520
  import os
@@ -804,7 +804,7 @@ dependencies = [
804
804
  "aws-lambda-powertools==3.35.0",
805
805
  "mcp==1.28.1",
806
806
  "uvicorn==0.54.0",
807
- "boto3==1.43.108",
807
+ "boto3==1.43.113",
808
808
  "aws-opentelemetry-distro==0.21.0"
809
809
  ]
810
810
 
@@ -228,7 +228,7 @@ exports[`py#rdb generator > should generate Terraform modules 1`] = `
228
228
  }
229
229
  aws = {
230
230
  source = "hashicorp/aws"
231
- version = "6.67.0"
231
+ version = "6.68.0"
232
232
  }
233
233
  external = {
234
234
  source = "hashicorp/external"
@@ -1503,11 +1503,11 @@ description = "Automatically generated by Nx."
1503
1503
  requires-python = ">=3.14"
1504
1504
  readme = "README.md"
1505
1505
  dependencies = [
1506
- "sqlmodel==0.0.47",
1506
+ "sqlmodel==0.0.48",
1507
1507
  "alembic==1.20.0",
1508
1508
  "greenlet==3.5.6",
1509
- "asyncpg==0.31.0",
1510
- "boto3==1.43.108",
1509
+ "asyncpg==0.32.0",
1510
+ "boto3==1.43.113",
1511
1511
  "aws-lambda-powertools==3.35.0"
1512
1512
  ]
1513
1513
 
@@ -46,7 +46,7 @@ exports[`smithyProjectGenerator > shape libraries > should generate a shape libr
46
46
  "shx rm -rf dist/{projectRoot}/build",
47
47
  "shx rm -rf dist/{projectRoot}/smithy",
48
48
  "shx mkdir -p dist/{projectRoot}/build",
49
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
49
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
50
50
  "shx cp dist/{projectRoot}/smithy/source/model/model.json dist/{projectRoot}/build/model.json"
51
51
  ],
52
52
  "parallel": false,
@@ -124,7 +124,7 @@ exports[`smithyProjectGenerator > should generate smithy project with all custom
124
124
  "shx rm -rf dist/{projectRoot}/build",
125
125
  "shx rm -rf dist/{projectRoot}/smithy",
126
126
  "shx mkdir -p dist/{projectRoot}/build",
127
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
127
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
128
128
  "shx mkdir -p dist/{projectRoot}/build/openapi",
129
129
  "shx cp \\"dist/{projectRoot}/smithy/source/openapi/*.openapi.json\\" dist/{projectRoot}/build/openapi/openapi.json"
130
130
  ],
@@ -184,7 +184,7 @@ exports[`smithyProjectGenerator > should generate smithy project with custom dir
184
184
  "shx rm -rf dist/{projectRoot}/build",
185
185
  "shx rm -rf dist/{projectRoot}/smithy",
186
186
  "shx mkdir -p dist/{projectRoot}/build",
187
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
187
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
188
188
  "shx mkdir -p dist/{projectRoot}/build/openapi",
189
189
  "shx cp \\"dist/{projectRoot}/smithy/source/openapi/*.openapi.json\\" dist/{projectRoot}/build/openapi/openapi.json"
190
190
  ],
@@ -336,7 +336,7 @@ exports[`smithyProjectGenerator > should generate smithy project with default op
336
336
  "shx rm -rf dist/{projectRoot}/build",
337
337
  "shx rm -rf dist/{projectRoot}/smithy",
338
338
  "shx mkdir -p dist/{projectRoot}/build",
339
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
339
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
340
340
  "shx mkdir -p dist/{projectRoot}/build/openapi",
341
341
  "shx cp \\"dist/{projectRoot}/smithy/source/openapi/*.openapi.json\\" dist/{projectRoot}/build/openapi/openapi.json"
342
342
  ],
@@ -482,7 +482,7 @@ exports[`smithyProjectGenerator > should generate smithy project with subdirecto
482
482
  "shx rm -rf dist/{projectRoot}/build",
483
483
  "shx rm -rf dist/{projectRoot}/smithy",
484
484
  "shx mkdir -p dist/{projectRoot}/build",
485
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
485
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
486
486
  "shx mkdir -p dist/{projectRoot}/build/openapi",
487
487
  "shx cp \\"dist/{projectRoot}/smithy/source/openapi/*.openapi.json\\" dist/{projectRoot}/build/openapi/openapi.json"
488
488
  ],
@@ -416,7 +416,7 @@ terraform {
416
416
  required_providers {
417
417
  aws = {
418
418
  source = "hashicorp/aws"
419
- version = "6.67.0"
419
+ version = "6.68.0"
420
420
  }
421
421
  random = {
422
422
  source = "hashicorp/random"
@@ -732,7 +732,7 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with Terraform pro
732
732
  }
733
733
  aws = {
734
734
  source = "hashicorp/aws"
735
- version = "6.67.0"
735
+ version = "6.68.0"
736
736
  }
737
737
  random = {
738
738
  source = "hashicorp/random"
@@ -2176,7 +2176,7 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with default optio
2176
2176
  "shx rm -rf dist/{projectRoot}/build",
2177
2177
  "shx rm -rf dist/{projectRoot}/smithy",
2178
2178
  "shx mkdir -p dist/{projectRoot}/build",
2179
- "npx -y mise@2026.10.1 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
2179
+ "npx -y mise@2026.10.9 exec smithy@1.74.0 -- smithy build -c {projectRoot}/smithy-build.json --output dist/{projectRoot}/smithy",
2180
2180
  "shx mkdir -p dist/{projectRoot}/build/openapi",
2181
2181
  "shx cp \\"dist/{projectRoot}/smithy/source/openapi/*.openapi.json\\" dist/{projectRoot}/build/openapi/openapi.json"
2182
2182
  ],
@@ -2317,7 +2317,7 @@ terraform {
2317
2317
  required_providers {
2318
2318
  aws = {
2319
2319
  source = "hashicorp/aws"
2320
- version = "6.67.0"
2320
+ version = "6.68.0"
2321
2321
  }
2322
2322
  random = {
2323
2323
  source = "hashicorp/random"
@@ -2630,7 +2630,7 @@ output "waf_web_acl_arn" {
2630
2630
  }
2631
2631
  aws = {
2632
2632
  source = "hashicorp/aws"
2633
- version = "6.67.0"
2633
+ version = "6.68.0"
2634
2634
  }
2635
2635
  random = {
2636
2636
  source = "hashicorp/random"
@@ -3692,7 +3692,7 @@ terraform {
3692
3692
  required_providers {
3693
3693
  aws = {
3694
3694
  source = "hashicorp/aws"
3695
- version = "6.67.0"
3695
+ version = "6.68.0"
3696
3696
  }
3697
3697
  random = {
3698
3698
  source = "hashicorp/random"
@@ -4005,7 +4005,7 @@ output "waf_web_acl_arn" {
4005
4005
  }
4006
4006
  aws = {
4007
4007
  source = "hashicorp/aws"
4008
- version = "6.67.0"
4008
+ version = "6.68.0"
4009
4009
  }
4010
4010
  random = {
4011
4011
  source = "hashicorp/random"
@@ -5056,7 +5056,7 @@ exports[`tsSmithyApiGenerator > terraform iac > should generate terraform with c
5056
5056
  }
5057
5057
  aws = {
5058
5058
  source = "hashicorp/aws"
5059
- version = "6.67.0"
5059
+ version = "6.68.0"
5060
5060
  }
5061
5061
  random = {
5062
5062
  source = "hashicorp/random"
@@ -3223,7 +3223,7 @@ terraform {
3223
3223
  required_providers {
3224
3224
  aws = {
3225
3225
  source = "hashicorp/aws"
3226
- version = "6.67.0"
3226
+ version = "6.68.0"
3227
3227
  }
3228
3228
  }
3229
3229
  }
@@ -3474,7 +3474,7 @@ output "api_log_group_arn" {
3474
3474
  }
3475
3475
  aws = {
3476
3476
  source = "hashicorp/aws"
3477
- version = "6.67.0"
3477
+ version = "6.68.0"
3478
3478
  }
3479
3479
  random = {
3480
3480
  source = "hashicorp/random"
@@ -4100,7 +4100,7 @@ terraform {
4100
4100
  required_providers {
4101
4101
  aws = {
4102
4102
  source = "hashicorp/aws"
4103
- version = "6.67.0"
4103
+ version = "6.68.0"
4104
4104
  }
4105
4105
  }
4106
4106
  }
@@ -4351,7 +4351,7 @@ output "api_log_group_arn" {
4351
4351
  }
4352
4352
  aws = {
4353
4353
  source = "hashicorp/aws"
4354
- version = "6.67.0"
4354
+ version = "6.68.0"
4355
4355
  }
4356
4356
  random = {
4357
4357
  source = "hashicorp/random"
@@ -5050,7 +5050,7 @@ terraform {
5050
5050
  required_providers {
5051
5051
  aws = {
5052
5052
  source = "hashicorp/aws"
5053
- version = "6.67.0"
5053
+ version = "6.68.0"
5054
5054
  }
5055
5055
  }
5056
5056
  }
@@ -5301,7 +5301,7 @@ output "api_log_group_arn" {
5301
5301
  }
5302
5302
  aws = {
5303
5303
  source = "hashicorp/aws"
5304
- version = "6.67.0"
5304
+ version = "6.68.0"
5305
5305
  }
5306
5306
  random = {
5307
5307
  source = "hashicorp/random"
@@ -5904,7 +5904,7 @@ terraform {
5904
5904
  required_providers {
5905
5905
  aws = {
5906
5906
  source = "hashicorp/aws"
5907
- version = "6.67.0"
5907
+ version = "6.68.0"
5908
5908
  }
5909
5909
  random = {
5910
5910
  source = "hashicorp/random"
@@ -6217,7 +6217,7 @@ output "waf_web_acl_arn" {
6217
6217
  }
6218
6218
  aws = {
6219
6219
  source = "hashicorp/aws"
6220
- version = "6.67.0"
6220
+ version = "6.68.0"
6221
6221
  }
6222
6222
  random = {
6223
6223
  source = "hashicorp/random"
@@ -7280,7 +7280,7 @@ terraform {
7280
7280
  required_providers {
7281
7281
  aws = {
7282
7282
  source = "hashicorp/aws"
7283
- version = "6.67.0"
7283
+ version = "6.68.0"
7284
7284
  }
7285
7285
  random = {
7286
7286
  source = "hashicorp/random"
@@ -7593,7 +7593,7 @@ output "waf_web_acl_arn" {
7593
7593
  }
7594
7594
  aws = {
7595
7595
  source = "hashicorp/aws"
7596
- version = "6.67.0"
7596
+ version = "6.68.0"
7597
7597
  }
7598
7598
  random = {
7599
7599
  source = "hashicorp/random"
@@ -8645,7 +8645,7 @@ terraform {
8645
8645
  required_providers {
8646
8646
  aws = {
8647
8647
  source = "hashicorp/aws"
8648
- version = "6.67.0"
8648
+ version = "6.68.0"
8649
8649
  }
8650
8650
  random = {
8651
8651
  source = "hashicorp/random"
@@ -8958,7 +8958,7 @@ output "waf_web_acl_arn" {
8958
8958
  }
8959
8959
  aws = {
8960
8960
  source = "hashicorp/aws"
8961
- version = "6.67.0"
8961
+ version = "6.68.0"
8962
8962
  }
8963
8963
  random = {
8964
8964
  source = "hashicorp/random"
@@ -661,7 +661,7 @@ WORKDIR /app
661
661
  # the runtime only needs node, and npm's own bundled dependencies would
662
662
  # otherwise carry vulnerabilities into the image.
663
663
  RUN npm init -y \\
664
- && npm pkg set "overrides.@opentelemetry/propagator-jaeger=2.11.0" \\
664
+ && npm pkg set "overrides.@opentelemetry/propagator-jaeger=2.12.0" \\
665
665
  && npm pkg set "overrides.minimatch=10.2.6" \\
666
666
  && npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.13.0 \\
667
667
  && npm uninstall -g npm
@@ -984,7 +984,7 @@ exports[`ts#agent generator > should match snapshot for Terraform generated file
984
984
  required_providers {
985
985
  aws = {
986
986
  source = "hashicorp/aws"
987
- version = "6.67.0"
987
+ version = "6.68.0"
988
988
  }
989
989
  random = {
990
990
  source = "hashicorp/random"
@@ -1307,7 +1307,7 @@ exports[`ts#agent generator > should match snapshot for Terraform generated file
1307
1307
  required_providers {
1308
1308
  aws = {
1309
1309
  source = "hashicorp/aws"
1310
- version = "6.67.0"
1310
+ version = "6.68.0"
1311
1311
  }
1312
1312
  null = {
1313
1313
  source = "hashicorp/null"
@@ -1666,7 +1666,7 @@ resource "null_resource" "runtime_ready" {
1666
1666
 
1667
1667
  provisioner "local-exec" {
1668
1668
  command = <<-EOT
1669
- uv run --with boto3==1.43.108 python -c "
1669
+ uv run --with boto3==1.43.113 python -c "
1670
1670
  import boto3
1671
1671
  import json
1672
1672
  import os
@@ -9,7 +9,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
9
9
  readonly name: "@a2a-js/sdk";
10
10
  readonly root: true;
11
11
  }, ...({
12
- name: "@aws-sdk/client-s3" | "@strands-agents/sdk" | "express";
12
+ name: "@aws-sdk/client-s3" | "@modelcontextprotocol/client" | "@strands-agents/sdk" | "express";
13
13
  root: boolean;
14
14
  } | ({
15
15
  readonly name: "@aws-lambda-powertools/parameters";
@@ -32,7 +32,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
32
32
  } & {
33
33
  versionOnly: true;
34
34
  }) | ({
35
- name: "@aws-sdk/client-s3" | "@strands-agents/sdk" | "express";
35
+ name: "@aws-sdk/client-s3" | "@modelcontextprotocol/client" | "@strands-agents/sdk" | "express";
36
36
  } & {
37
37
  versionOnly: true;
38
38
  }) | {
@@ -11,6 +11,8 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
11
11
  readonly name: "@strands-agents/sdk";
12
12
  }, {
13
13
  readonly name: "express";
14
+ }, {
15
+ readonly name: "@modelcontextprotocol/client";
14
16
  }, {
15
17
  readonly name: "@aws-lambda-powertools/parameters";
16
18
  }, {
@@ -40,7 +42,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
40
42
  } & {
41
43
  versionOnly: true;
42
44
  }, ...({
43
- name: "@aws-sdk/client-s3" | "@strands-agents/sdk" | "express";
45
+ name: "@aws-sdk/client-s3" | "@modelcontextprotocol/client" | "@strands-agents/sdk" | "express";
44
46
  } & {
45
47
  versionOnly: true;
46
48
  })[]], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
@@ -37,6 +37,10 @@ export const DEPENDENCIES = declareDependencies()({
37
37
  {
38
38
  name: 'express'
39
39
  },
40
+ // strands' required peer, pinned for the same self-sufficiency.
41
+ {
42
+ name: '@modelcontextprotocol/client'
43
+ },
40
44
  {
41
45
  name: '@aws-lambda-powertools/parameters'
42
46
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/gateway-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { readAgentCoreGatewayMetadata } from '../../../agentcore-gateway/generator.js';\nimport { addTsDependencies } from '../../../utils/add-dependencies.js';\nimport {\n AGENT_CONNECTION_DEPENDENCIES,\n AGENT_CONNECTION_PROJECT_DIR,\n addTypeScriptClientToAgent,\n addTypeScriptCoreClient,\n ensureTypeScriptAgentConnectionProject,\n} from '../../../utils/agent-connection/agent-connection.js';\nimport { addDestructuredImport, addStarExport } from '../../../utils/ast.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { installDependencies } from '../../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport { esmVars } from '../../../utils/module-format.js';\nimport { kebabCase } from '../../../utils/names.js';\nimport { getNpmScope } from '../../../utils/npm-scope.js';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport { toProjectRelativePath } from '../../../utils/paths.js';\nimport type { TsAgentGatewayConnectionGeneratorSchema } from './schema';\n\n// The gateway core client + vended client need these whatever the connection's\n// options, so no entry is conditional.\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n { name: '@modelcontextprotocol/sdk' },\n { name: '@strands-agents/sdk' },\n // express is strands' optional peer (see STRANDS_PEER_DEPENDENCY_NAMES in\n // agent-connection.ts). Declared here too, even though it is redundant\n // with ts#agent's own unconditional declaration on the same project, so\n // this generator is self-sufficient. @aws-sdk/client-s3, strands' other\n // required peer, is deliberately NOT added here: ts#agent only declares\n // it when session: 's3' (see generator.ts), and adding it unconditionally\n // from this connection would install an unused S3 client into an\n // in-memory-session agent — a user-visible change outside this fix's\n // scope.\n { name: 'express' },\n { name: '@aws-lambda-powertools/parameters' },\n { name: '@aws-sdk/client-appconfigdata' },\n { name: 'aws4fetch' },\n { name: '@aws-sdk/credential-providers' },\n ...ownedElsewhere(AGENT_CONNECTION_DEPENDENCIES),\n ],\n});\n\nexport const TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsAgentGatewayConnectionGenerator = async (\n tree: Tree,\n options: TsAgentGatewayConnectionGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentComponent = options.sourceComponent;\n if (!agentComponent) {\n throw new Error(\n 'sourceComponent must be provided for ts#agent -> agentcore-gateway connections',\n );\n }\n const gateway = readAgentCoreGatewayMetadata(targetProject);\n\n if (gateway.protocol !== 'mcp') {\n throw new Error(\n `Gateway '${gateway.name}' has protocol='${gateway.protocol}'. Only MCP-protocol gateways are supported.`,\n );\n }\n if (gateway.auth !== 'iam') {\n throw new Error(\n `Gateway '${gateway.name}' uses auth='${gateway.auth}'. Agent connections currently require the gateway to use IAM authentication.`,\n );\n }\n\n const gatewayClassName = gateway.rc;\n const gatewayKebabCase = kebabCase(gatewayClassName);\n // A gateway is its own standalone project, so it exposes plain serve / dev.\n const gatewayServeTargetName = 'serve';\n const gatewayDevTargetName = 'dev';\n\n const npmScope = getNpmScope(tree);\n\n // 1. Ensure the shared agent-connection project exists + has the gateway\n // core client template.\n await ensureTypeScriptAgentConnectionProject(tree, DEPENDENCIES);\n await addTypeScriptCoreClient(tree, 'gateway', DEPENDENCIES);\n\n // 2. Generate the per-connection <Gateway>Client into app/. Local mode\n // points at the gateway project's local gateway port.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'agent-connection', 'app'),\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'app'),\n {\n gatewayKebabCase,\n gatewayClassName,\n gatewayPort: gateway.port,\n ...esmVars(tree),\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Re-export from the agent-connection index\n await addStarExport(\n tree,\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'),\n `./app/${gatewayKebabCase}-client-strands.js`,\n );\n\n // 3. AST-transform agent.ts to add the gateway client (an McpClient in\n // both deployed and local modes) to the agent's tools.\n const agentSourceDir = joinPathFragments(\n sourceProject.root,\n agentComponent.path ?? 'src',\n );\n const agentFilePath = joinPathFragments(agentSourceDir, 'agent.ts');\n\n if (tree.exists(agentFilePath)) {\n const clientClassName = `${gatewayClassName}ClientStrands`;\n const clientVarName =\n gatewayClassName.charAt(0).toLowerCase() + gatewayClassName.slice(1);\n\n await addDestructuredImport(\n tree,\n agentFilePath,\n [clientClassName],\n `@${npmScope}/agent-connection`,\n );\n await addTypeScriptClientToAgent(\n tree,\n agentFilePath,\n clientClassName,\n clientVarName,\n );\n }\n\n // 4. Wire dev chain — agent's dev depends on gateway's\n // aggregator target, which transitively starts each attached MCP server.\n const agentName = agentComponent.name ?? 'agent';\n const serveTargetName = `${agentName}-serve`;\n const devTargetName = `${agentName}-dev`;\n let projectConfigChanged = false;\n if (sourceProject.targets?.[serveTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, serveTargetName, {\n projects: [targetProject.name],\n target: gatewayServeTargetName,\n });\n projectConfigChanged = true;\n }\n if (sourceProject.targets?.[devTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTargetName, {\n projects: [targetProject.name],\n target: gatewayDevTargetName,\n });\n projectConfigChanged = true;\n }\n if (projectConfigChanged) {\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // 5. Dependencies\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: sourceProject.root });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(sourceProject, agentFilePath),\n gatewayClassName,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAgentGatewayConnectionGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","readAgentCoreGatewayMetadata","addTsDependencies","AGENT_CONNECTION_DEPENDENCIES","AGENT_CONNECTION_PROJECT_DIR","addTypeScriptClientToAgent","addTypeScriptCoreClient","ensureTypeScriptAgentConnectionProject","addDestructuredImport","addStarExport","declareDependencies","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","esmVars","kebabCase","getNpmScope","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","ts","name","TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO","filename","tsAgentGatewayConnectionGenerator","tree","options","sourceProject","targetProject","agentComponent","sourceComponent","Error","gateway","protocol","auth","gatewayClassName","rc","gatewayKebabCase","gatewayServeTargetName","gatewayDevTargetName","npmScope","dirname","gatewayPort","port","overwriteStrategy","KeepExisting","agentSourceDir","root","path","agentFilePath","exists","clientClassName","clientVarName","charAt","toLowerCase","slice","agentName","serveTargetName","devTargetName","projectConfigChanged","targets","projects","target","projectRoot","sourcePath","preferInstallDependencies","languages"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/gateway-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { readAgentCoreGatewayMetadata } from '../../../agentcore-gateway/generator.js';\nimport { addTsDependencies } from '../../../utils/add-dependencies.js';\nimport {\n AGENT_CONNECTION_DEPENDENCIES,\n AGENT_CONNECTION_PROJECT_DIR,\n addTypeScriptClientToAgent,\n addTypeScriptCoreClient,\n ensureTypeScriptAgentConnectionProject,\n} from '../../../utils/agent-connection/agent-connection.js';\nimport { addDestructuredImport, addStarExport } from '../../../utils/ast.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { installDependencies } from '../../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport { esmVars } from '../../../utils/module-format.js';\nimport { kebabCase } from '../../../utils/names.js';\nimport { getNpmScope } from '../../../utils/npm-scope.js';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport { toProjectRelativePath } from '../../../utils/paths.js';\nimport type { TsAgentGatewayConnectionGeneratorSchema } from './schema';\n\n// The gateway core client + vended client need these whatever the connection's\n// options, so no entry is conditional.\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n { name: '@modelcontextprotocol/sdk' },\n { name: '@strands-agents/sdk' },\n // express is strands' optional peer (see STRANDS_PEER_DEPENDENCY_NAMES in\n // agent-connection.ts). Declared here too, even though it is redundant\n // with ts#agent's own unconditional declaration on the same project, so\n // this generator is self-sufficient. @aws-sdk/client-s3, strands' other\n // required peer, is deliberately NOT added here: ts#agent only declares\n // it when session: 's3' (see generator.ts), and adding it unconditionally\n // from this connection would install an unused S3 client into an\n // in-memory-session agent — a user-visible change outside this fix's\n // scope.\n { name: 'express' },\n // strands' required peer, pinned for the same self-sufficiency.\n { name: '@modelcontextprotocol/client' },\n { name: '@aws-lambda-powertools/parameters' },\n { name: '@aws-sdk/client-appconfigdata' },\n { name: 'aws4fetch' },\n { name: '@aws-sdk/credential-providers' },\n ...ownedElsewhere(AGENT_CONNECTION_DEPENDENCIES),\n ],\n});\n\nexport const TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsAgentGatewayConnectionGenerator = async (\n tree: Tree,\n options: TsAgentGatewayConnectionGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentComponent = options.sourceComponent;\n if (!agentComponent) {\n throw new Error(\n 'sourceComponent must be provided for ts#agent -> agentcore-gateway connections',\n );\n }\n const gateway = readAgentCoreGatewayMetadata(targetProject);\n\n if (gateway.protocol !== 'mcp') {\n throw new Error(\n `Gateway '${gateway.name}' has protocol='${gateway.protocol}'. Only MCP-protocol gateways are supported.`,\n );\n }\n if (gateway.auth !== 'iam') {\n throw new Error(\n `Gateway '${gateway.name}' uses auth='${gateway.auth}'. Agent connections currently require the gateway to use IAM authentication.`,\n );\n }\n\n const gatewayClassName = gateway.rc;\n const gatewayKebabCase = kebabCase(gatewayClassName);\n // A gateway is its own standalone project, so it exposes plain serve / dev.\n const gatewayServeTargetName = 'serve';\n const gatewayDevTargetName = 'dev';\n\n const npmScope = getNpmScope(tree);\n\n // 1. Ensure the shared agent-connection project exists + has the gateway\n // core client template.\n await ensureTypeScriptAgentConnectionProject(tree, DEPENDENCIES);\n await addTypeScriptCoreClient(tree, 'gateway', DEPENDENCIES);\n\n // 2. Generate the per-connection <Gateway>Client into app/. Local mode\n // points at the gateway project's local gateway port.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'agent-connection', 'app'),\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'app'),\n {\n gatewayKebabCase,\n gatewayClassName,\n gatewayPort: gateway.port,\n ...esmVars(tree),\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Re-export from the agent-connection index\n await addStarExport(\n tree,\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'),\n `./app/${gatewayKebabCase}-client-strands.js`,\n );\n\n // 3. AST-transform agent.ts to add the gateway client (an McpClient in\n // both deployed and local modes) to the agent's tools.\n const agentSourceDir = joinPathFragments(\n sourceProject.root,\n agentComponent.path ?? 'src',\n );\n const agentFilePath = joinPathFragments(agentSourceDir, 'agent.ts');\n\n if (tree.exists(agentFilePath)) {\n const clientClassName = `${gatewayClassName}ClientStrands`;\n const clientVarName =\n gatewayClassName.charAt(0).toLowerCase() + gatewayClassName.slice(1);\n\n await addDestructuredImport(\n tree,\n agentFilePath,\n [clientClassName],\n `@${npmScope}/agent-connection`,\n );\n await addTypeScriptClientToAgent(\n tree,\n agentFilePath,\n clientClassName,\n clientVarName,\n );\n }\n\n // 4. Wire dev chain — agent's dev depends on gateway's\n // aggregator target, which transitively starts each attached MCP server.\n const agentName = agentComponent.name ?? 'agent';\n const serveTargetName = `${agentName}-serve`;\n const devTargetName = `${agentName}-dev`;\n let projectConfigChanged = false;\n if (sourceProject.targets?.[serveTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, serveTargetName, {\n projects: [targetProject.name],\n target: gatewayServeTargetName,\n });\n projectConfigChanged = true;\n }\n if (sourceProject.targets?.[devTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTargetName, {\n projects: [targetProject.name],\n target: gatewayDevTargetName,\n });\n projectConfigChanged = true;\n }\n if (projectConfigChanged) {\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // 5. Dependencies\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: sourceProject.root });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(sourceProject, agentFilePath),\n gatewayClassName,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAgentGatewayConnectionGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","readAgentCoreGatewayMetadata","addTsDependencies","AGENT_CONNECTION_DEPENDENCIES","AGENT_CONNECTION_PROJECT_DIR","addTypeScriptClientToAgent","addTypeScriptCoreClient","ensureTypeScriptAgentConnectionProject","addDestructuredImport","addStarExport","declareDependencies","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","esmVars","kebabCase","getNpmScope","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","ts","name","TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO","filename","tsAgentGatewayConnectionGenerator","tree","options","sourceProject","targetProject","agentComponent","sourceComponent","Error","gateway","protocol","auth","gatewayClassName","rc","gatewayKebabCase","gatewayServeTargetName","gatewayDevTargetName","npmScope","dirname","gatewayPort","port","overwriteStrategy","KeepExisting","agentSourceDir","root","path","agentFilePath","exists","clientClassName","clientVarName","charAt","toLowerCase","slice","agentName","serveTargetName","devTargetName","projectConfigChanged","targets","projects","target","projectRoot","sourcePath","preferInstallDependencies","languages"],"mappings":"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"}
@@ -36,6 +36,8 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
36
36
  readonly when: (m: TsAgentMetadata) => boolean;
37
37
  }, {
38
38
  readonly name: "express";
39
+ }, {
40
+ readonly name: "@modelcontextprotocol/client";
39
41
  }, {
40
42
  readonly name: "@a2a-js/sdk";
41
43
  readonly when: (m: TsAgentMetadata) => boolean;
@@ -129,7 +131,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
129
131
  } & {
130
132
  versionOnly: true;
131
133
  }, ...({
132
- name: "@aws-sdk/client-s3" | "@strands-agents/sdk" | "express";
134
+ name: "@aws-sdk/client-s3" | "@modelcontextprotocol/client" | "@strands-agents/sdk" | "express";
133
135
  } & {
134
136
  versionOnly: true;
135
137
  })[], {
@@ -69,6 +69,11 @@ export const DEPENDENCIES = declareDependencies()({
69
69
  {
70
70
  name: 'express'
71
71
  },
72
+ // strands' required peer (see STRANDS_PEER_DEPENDENCY_NAMES), pinned so
73
+ // it doesn't float to its latest.
74
+ {
75
+ name: '@modelcontextprotocol/client'
76
+ },
72
77
  {
73
78
  name: '@a2a-js/sdk',
74
79
  when: (m)=>m.protocol === 'a2a'