@aws/nx-plugin 1.0.0-rc.18 → 1.0.0-rc.19

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 (87) hide show
  1. package/package.json +1 -1
  2. package/src/py/agent/__snapshots__/generator.spec.ts.snap +15 -6
  3. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +201 -0
  4. package/src/py/agent/a2a-connection/files/agent-connection/app/{__targetAgentSnakeCase___client.py.template → __targetAgentSnakeCase___client_strands.py.template} +7 -5
  5. package/src/py/agent/a2a-connection/generator.js +6 -5
  6. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  7. package/src/py/agent/files/http/main.py.template +2 -2
  8. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +197 -0
  9. package/src/py/agent/gateway-connection/files/agent-connection/app/{__gatewaySnakeCase___client.py.template → __gatewaySnakeCase___client_strands.py.template} +6 -6
  10. package/src/py/agent/gateway-connection/generator.js +5 -5
  11. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  12. package/src/py/agent/generator.js +3 -0
  13. package/src/py/agent/generator.js.map +1 -1
  14. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +157 -79
  15. package/src/py/agent/mcp-connection/files/agent-connection/app/{__mcpServerSnakeCase___client.py.template → __mcpServerSnakeCase___client_strands.py.template} +7 -5
  16. package/src/py/agent/mcp-connection/generator.js +5 -5
  17. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  18. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +37 -3
  19. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  20. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
  21. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +1 -0
  22. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  23. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  24. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +35 -4
  25. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  26. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  27. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +14 -5
  28. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  29. package/src/ts/agent/a2a-connection/files/agent-connection/app/{__targetAgentKebabCase__-client.ts.template → __targetAgentKebabCase__-client-strands.ts.template} +5 -5
  30. package/src/ts/agent/a2a-connection/generator.js +3 -3
  31. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  32. package/src/ts/agent/files/http/router.ts.template +1 -1
  33. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  34. package/src/ts/agent/gateway-connection/files/agent-connection/app/{__gatewayKebabCase__-client.ts.template → __gatewayKebabCase__-client-strands.ts.template} +5 -5
  35. package/src/ts/agent/gateway-connection/generator.js +3 -3
  36. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  37. package/src/ts/agent/generator.js +3 -0
  38. package/src/ts/agent/generator.js.map +1 -1
  39. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +183 -110
  40. package/src/ts/agent/mcp-connection/files/agent-connection/app/{__mcpServerKebabCase__-client.ts.template → __mcpServerKebabCase__-client-strands.ts.template} +5 -5
  41. package/src/ts/agent/mcp-connection/generator.js +3 -3
  42. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  43. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
  44. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +64 -24
  45. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +13 -4
  46. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +9 -3
  47. package/src/utils/agent-connection/agent-connection.d.ts +50 -24
  48. package/src/utils/agent-connection/agent-connection.js +137 -45
  49. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  50. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  51. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  52. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  53. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  54. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  55. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  56. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  57. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  58. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  59. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  60. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  61. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  62. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  63. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  64. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  65. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  66. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  67. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  68. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +7 -2
  69. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +13 -4
  70. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +9 -0
  71. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +23 -1
  72. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +9 -3
  73. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +7 -2
  74. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +9 -3
  75. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +22 -8
  76. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +10 -4
  77. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +13 -4
  78. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  79. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-client.ts.template +0 -78
  80. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  81. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  82. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_client.py.template +0 -78
  83. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  84. /package/src/utils/agent-connection/files/{core-runtime-config/model-errors.ts.template → core-strands/base/model-errors-strands.ts.template} +0 -0
  85. /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
  86. /package/src/utils/agent-connection/files/{py-core-runtime-config/model_errors.py.template → py-core-strands/base/model_errors_strands.py.template} +0 -0
  87. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-connection/agent-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-connection/agent-connection.ts"],"names":[],"mappings":";;;AAoCA,gFAMC;AAKD,gFAMC;AAKD,kFAMC;AAgID,wFAwBC;AASD,gEAmBC;AAaD,0DAiBC;AAOD,gFAyDC;AAyBD,wDAqCC;AAYD,kDAgBC;AAQD,gEA6BC;AASD,wDAaC;AAyGD,8CAqEC;;AArpBD;;;GAGG;AACH,uCAKoB;AACpB,gFAEoC;AACpC,+EAAwD;AACxD,gCAAiE;AACjE,8BAAuD;AAGvD,qDAAqD;AACrD,MAAM,EAAE,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,oBAAoB,OAAO,EAAE,CAAC;AAE9D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAChD,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAEf,QAAA,4BAA4B,GAAG,IAAA,0BAAiB,EAC3D,YAAY,EACZ,UAAU,EACV,oBAAoB,CACrB,CAAC;AAEF,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAEpD;;GAEG;AACH,SAAgB,kCAAkC,CAAC,IAAU;IAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE;QACxC,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,IAAA,0BAAiB,EAAC,YAAY,EAAE,UAAU,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAAC,IAAU;IAC3D,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE;QACzD,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,IAAA,0BAAiB,EAAC,YAAY,EAAE,UAAU,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,mCAAmC,CAAC,IAAU;IAC5D,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE;QACvD,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,IAAA,0BAAiB,EAAC,YAAY,EAAE,UAAU,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAkBD;;;;GAIG;AACH,MAAM,qBAAqB,GAAuC;IAChE,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,cAAc;IACvB,GAAG,EAAE,UAAU;CAChB,CAAC;AACF,MAAM,qBAAqB,GAAuC;IAChE,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,iBAAiB;IAC1B,GAAG,EAAE,aAAa;CACnB,CAAC;AA6BF,MAAM,UAAU,GAA+C;IAC7D,OAAO,EAAE;QACP,EAAE,EAAE;YACF,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE;gBACT,GAAG,EAAE,kBAAkB;gBACvB,OAAO,EAAE,sBAAsB;gBAC/B,GAAG,EAAE,kBAAkB;aACxB;YACD,IAAI,EAAE,EAAE;SACT;QACD,EAAE,EAAE;YACF,IAAI,EAAE,sBAAsB;YAC5B,SAAS,EAAE;gBACT,GAAG,EAAE,qBAAqB;gBAC1B,OAAO,EAAE,yBAAyB;gBAClC,GAAG,EAAE,qBAAqB;aAC3B;YACD,IAAI,EAAE,CAAC,gBAAgB,CAAC;SACzB;KACF;CACF,CAAC;AAEF,2EAA2E;AAC3E,SAAS,iBAAiB,CACxB,SAAyB,EACzB,QAAW,EACX,QAA4B;IAE5B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,QAAQ,SAAS,gCAAgC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,UAAU,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,QAAQ,SAAS,gCAAgC,QAAQ,oBAAoB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,UAAU,CACnI,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAEf,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,MAAM,uBAAuB,GAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAEzE,MAAM,SAAS,GAAG,GAAG,EAAE,CACrB,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,WAAmB,EAAE,EAAE,CACjD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAClD,SAAS,EAAE,EACX,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;AAEJ;;;;;GAKG;AACI,KAAK,UAAU,sCAAsC,CAC1D,IAAU;IAEV,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,oCAA4B,EAC5B,cAAc,CACf,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,MAAM,IAAA,mBAAkB,EAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,IAAA,0BAAiB,EAAC,YAAY,EAAE,UAAU,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAEpC,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,EAClE,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,0BAA0B,CAC9C,IAAU,EACV,YAA4B,SAAS;IAErC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,QAAQ,SAAS,iDAAiD,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,IAAA,0BAAiB,EACjC,oCAA4B,EAC5B,KAAK,EACL,UAAU,CACX,CAAC;IACF,MAAM,IAAA,mBAAa,EAAC,IAAI,EAAE,SAAS,EAAE,mCAAmC,CAAC,CAAC;IAC1E,MAAM,IAAA,mBAAa,EAAC,IAAI,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,uBAAuB,CAC3C,IAAU,EACV,QAA4B,EAC5B,YAA4B,SAAS;IAErC,MAAM,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1B,IAAI,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,2EAA2E;IAC3E,wBAAwB;IACxB,MAAM,0BAA0B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,kCAAkC,CACtD,IAAU;IAEV,MAAM,UAAU,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,oEAAoE;QACpE,MAAM,IAAA,mBAAkB,EAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,IAAA,0BAAiB,EAAC,YAAY,EAAE,UAAU,CAAC;YACtD,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,IAAA,0BAAiB,EAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,EAC/D,OAAO,EACP,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,uBAAuB,EACvB,wBAAwB,CACzB,CAAC;IACF,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,uBAAuB,EACvB,oBAAoB,CACrB,CAAC;IAEF,uEAAuE;IACvE,IAAA,mCAA8B,EAAC,IAAI,EAAE,UAAU,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE,CAC/B,IAAA,0BAAiB,EACf,kCAAkC,CAAC,IAAI,CAAC,EACxC,kCAAkC,CAAC,IAAI,CAAC,EACxC,MAAM,CACP,CAAC;AAEJ,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,WAAmB,EAAE,EAAE,CACjD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAClD,SAAS,CAAC,IAAI,CAAC,EACf,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;AAEJ;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,YAA4B,SAAS;IAErC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,QAAQ,SAAS,6CAA6C,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,kCAAkC,CAAC,IAAI,CAAC,EACxC,kCAAkC,CAAC,IAAI,CAAC,EACxC,aAAa,CACd,CAAC;IACF,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,+BAA+B,EAC/B,iBAAiB,CAClB,CAAC;IACF,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,CACnB,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAA,mCAA8B,EAC5B,IAAI,EACJ,kCAAkC,CAAC,IAAI,CAAC,EACxC,IAAI,CAAC,IAAI,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,QAA4B,EAC5B,YAA4B,SAAS;IAErC,MAAM,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7B,IAAI,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,8DAA8D;IAC9D,MAAM,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,0BAA0B,CAC9C,IAAU,EACV,aAAqB,EACrB,eAAuB,EACvB,aAAqB;IAErB,MAAM,kBAAkB,GAAG,SAAS,aAAa,YAAY,eAAe,YAAY,CAAC;IAEzF,0DAA0D;IAC1D,mEAAmE;IACnE,kDAAkD;IAClD,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,aAAa,EACb;IACA,kBAAkB;;yCAEmB,eAAe;IACpD,kBAAkB;;8EAEwD,eAAe,eAAe,CACzG,CAAC;IAEF,wCAAwC;IACxC,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,aAAa,EACb,oCAAoC,aAAa,oFAAoF,aAAa,MAAM,CACzJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,aAAqB,EACrB,eAAuB,EACvB,aAAqB;IAErB,MAAM,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,yBAAyB,CAC7B,IAAI,EACJ,aAAa,EACb,eAAe,EACf,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,IAAU,EACV,QAAgB,EAChB,aAAqB,EACN,EAAE;IACjB,IACE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,QAAQ,EACR,EAAE,CAAC,KAAK,aAAa,sBAAsB,CAAC,CAC7C,EACD,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,QAAQ,EACR,EAAE,CAAC;2BACoB,aAAa;;kBAEtB,aAAa;;kDAEmB,aAAa;;EAE7D,CAAC,CACA,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,KAAK,EACrC,IAAU,EACV,QAAgB,EAChB,eAAuB,EACvB,aAAqB,EACN,EAAE;IACjB,IACE,MAAM,IAAA,iBAAW,EAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,eAAe,aAAa,CAAC,CAAC,EACxE,CAAC;QACD,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,6EAA6E;IAC7E,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAW,EACnC,IAAI,EACJ,QAAQ,EACR,EAAE,CAAC;6BACsB,aAAa;kBACxB,aAAa;EAC7B,CAAC,CACA,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,QAAQ,EACR,EAAE,CAAC;;;4BAGmB,eAAe;;MAErC,aAAa,MAAM,eAAe;YAC5B,CAAC,CACR,CAAC;QACF,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,0BAA0B;IAC1B,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,QAAQ,EACR,EAAE,CAAC;;;4BAGqB,eAAe;;MAErC,aAAa,MAAM,eAAe;;UAE9B,aAAa;;gBAEP,CAAC,CACd,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,YAAoB,EACpB,UAAkB,EAClB,UAAkB;IAElB,4BAA4B;IAC5B,IAAI,MAAM,IAAA,iBAAW,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,UAAU,WAAW,UAAU,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,UAAU,GAAG,CAAC;IAEnC,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,YAAY,GAAG,MAAM,IAAA,iBAAW,EACpC,IAAI,EACJ,YAAY,EACZ,EAAE,CAAC,UAAU,UAAU;6BACE,UAAU;kBACrB,UAAU;EAC1B,CAAC,CACA,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,YAAY,EACZ,EAAE,CAAC,gDAAgD,QAAQ,MAAM,CAAC,CACnE,CAAC;QACF,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,MAAM,cAAc,GAAG,MAAM,IAAA,iBAAW,EACtC,IAAI,EACJ,YAAY,EACZ,EAAE,CACA;+BACyB,UAAU;iBACxB,UAAU;EACzB,CACG,CACF,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,kCAAkC;QAClC,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,YAAY,EACZ,EAAE,CAAC,gDAAgD,QAAQ,MAAM,CAAC,CACnE,CAAC;QACF,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,MAAM,cAAc,GAAG,MAAM,IAAA,iBAAW,EACtC,IAAI,EACJ,YAAY,EACZ,EAAE,CACA,+DAA+D,UAAU,kBAAkB,QAAQ,KAAK,CACzG,CACF,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,yDAAyD;QACzD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,UAAU,kBAAkB,QAAQ,KAAK,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -0,0 +1,93 @@
1
+ import {
2
+ ClientFactory,
3
+ ClientFactoryOptions,
4
+ DefaultAgentCardResolver,
5
+ JsonRpcTransportFactory,
6
+ } from '@a2a-js/sdk/client';
7
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
8
+ import { a2aUrlFromArn, regionFromArn } from './agentcore-endpoints.js';
9
+ import {
10
+ createJwtFetch,
11
+ createPlainFetch,
12
+ createSigV4Fetch,
13
+ } from './agentcore-fetch.js';
14
+
15
+ /** Common options for resolving an AgentCore A2A endpoint. */
16
+ export interface AgentCoreA2aClientConfigOptions {
17
+ /** The ARN of the Bedrock AgentCore Runtime to connect to. */
18
+ agentRuntimeArn: string;
19
+ }
20
+
21
+ /** Options for an A2A client config with IAM authentication. */
22
+ export interface AgentCoreA2aClientConfigIamOptions
23
+ extends AgentCoreA2aClientConfigOptions {
24
+ /** AWS credential provider; defaults to the standard provider chain. */
25
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
26
+ }
27
+
28
+ /** Options for an A2A client config with JWT authentication. */
29
+ export interface AgentCoreA2aClientConfigJwtOptions
30
+ extends AgentCoreA2aClientConfigOptions {
31
+ /** A function which returns the JWT access token used to authenticate. */
32
+ accessTokenProvider: () => Promise<string>;
33
+ }
34
+
35
+ /** Options for an A2A client config with no auth (local dev). */
36
+ export interface AgentCoreA2aClientConfigNoAuthOptions {
37
+ /** Full URL of the local A2A endpoint. */
38
+ url: string;
39
+ }
40
+
41
+ /** A resolved A2A endpoint and a configured `@a2a-js` client factory. */
42
+ export interface A2aClientConfig {
43
+ /** The A2A endpoint URL. */
44
+ url: string;
45
+ /** A client factory wired with a signed, session-forwarding fetch. */
46
+ clientFactory: ClientFactory;
47
+ }
48
+
49
+ const build = (url: string, fetchFn: typeof fetch): A2aClientConfig => {
50
+ const clientFactory = new ClientFactory({
51
+ ...ClientFactoryOptions.default,
52
+ transports: [new JsonRpcTransportFactory({ fetchImpl: fetchFn })],
53
+ cardResolver: new DefaultAgentCardResolver({ fetchImpl: fetchFn }),
54
+ });
55
+ return { url, clientFactory };
56
+ };
57
+
58
+ /**
59
+ * Factory for A2A client configs that connect to a Bedrock AgentCore runtime.
60
+ * Each forwards the current async-context session via the AgentCore session
61
+ * header. Framework-agnostic — wrap the result in a framework's A2A client.
62
+ */
63
+ export class AgentCoreA2aClientConfig {
64
+ /** SigV4-authenticated A2A client config for a Bedrock AgentCore runtime. */
65
+ static withIamAuth(
66
+ options: AgentCoreA2aClientConfigIamOptions,
67
+ ): A2aClientConfig {
68
+ return build(
69
+ a2aUrlFromArn(options.agentRuntimeArn),
70
+ createSigV4Fetch({
71
+ region: regionFromArn(options.agentRuntimeArn),
72
+ credentialProvider: options.credentialProvider,
73
+ }),
74
+ );
75
+ }
76
+
77
+ /** Bearer-authenticated A2A client config for a Bedrock AgentCore runtime. */
78
+ static withJwtAuth(
79
+ options: AgentCoreA2aClientConfigJwtOptions,
80
+ ): A2aClientConfig {
81
+ return build(
82
+ a2aUrlFromArn(options.agentRuntimeArn),
83
+ createJwtFetch(options.accessTokenProvider),
84
+ );
85
+ }
86
+
87
+ /** For local dev — plain HTTP, no auth. */
88
+ static withoutAuth(
89
+ options: AgentCoreA2aClientConfigNoAuthOptions,
90
+ ): A2aClientConfig {
91
+ return build(options.url, createPlainFetch());
92
+ }
93
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Resolve Bedrock AgentCore invocation endpoints from a runtime ARN.
3
+ * Framework-agnostic — reusable by any framework's connection client.
4
+ */
5
+
6
+ /** Extract the AWS region from a Bedrock AgentCore runtime ARN. */
7
+ export const regionFromArn = (agentRuntimeArn: string): string =>
8
+ agentRuntimeArn.split(':')[3];
9
+
10
+ /**
11
+ * The MCP invocation URL for a runtime ARN.
12
+ * ARN format: arn:partition:service:region:account-id:resource
13
+ */
14
+ export const mcpUrlFromArn = (agentRuntimeArn: string): string => {
15
+ const region = regionFromArn(agentRuntimeArn);
16
+ return `https://bedrock-agentcore.${region}.amazonaws.com/runtimes/${encodeURIComponent(agentRuntimeArn)}/invocations?qualifier=DEFAULT`;
17
+ };
18
+
19
+ /**
20
+ * The A2A invocation URL for a runtime ARN. A2A on AgentCore is mounted at the
21
+ * `/invocations/` root (trailing slash matters).
22
+ */
23
+ export const a2aUrlFromArn = (agentRuntimeArn: string): string => {
24
+ const region = regionFromArn(agentRuntimeArn);
25
+ return `https://bedrock-agentcore.${region}.amazonaws.com/runtimes/${encodeURIComponent(agentRuntimeArn)}/invocations/`;
26
+ };
27
+
28
+ /** Extract the AWS region from an AgentCore Gateway MCP URL. */
29
+ export const regionFromGatewayUrl = (gatewayUrl: string): string => {
30
+ const match = /\.bedrock-agentcore\.([^.]+)\.amazonaws\.com/.exec(gatewayUrl);
31
+ if (!match) {
32
+ throw new Error(
33
+ `Cannot determine region from gateway URL '${gatewayUrl}'. Pass region explicitly.`,
34
+ );
35
+ }
36
+ return match[1];
37
+ };
@@ -0,0 +1,54 @@
1
+ import { AwsClient } from 'aws4fetch';
2
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
+ import { getCurrentSessionId } from './session-context.js';
4
+
5
+ const SESSION_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
6
+
7
+ /** Wrap a fetch so each request carries the current async-context session id. */
8
+ const withSessionHeader =
9
+ (inner: typeof fetch): typeof fetch =>
10
+ async (input, init) => {
11
+ const headers = new Headers(init?.headers);
12
+ const sessionId = getCurrentSessionId();
13
+ if (sessionId) headers.set(SESSION_HEADER, sessionId);
14
+ return inner(input, { ...init, headers });
15
+ };
16
+
17
+ /** Options for a SigV4-signing fetch. */
18
+ export interface SigV4FetchOptions {
19
+ /** AWS region to sign for. */
20
+ region: string;
21
+ /** AWS service to sign for. Defaults to `bedrock-agentcore`. */
22
+ service?: string;
23
+ /** AWS credential provider; defaults to the standard provider chain. */
24
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
25
+ }
26
+
27
+ /** A fetch that signs every request with AWS SigV4 (per-request, body-aware). */
28
+ export const createSigV4Fetch = (options: SigV4FetchOptions): typeof fetch => {
29
+ const { region, service = 'bedrock-agentcore' } = options;
30
+ const credentialProvider =
31
+ options.credentialProvider ?? fromNodeProviderChain();
32
+ const signedFetch: typeof fetch = async (...args) => {
33
+ const client = new AwsClient({
34
+ ...(await credentialProvider()),
35
+ service,
36
+ region,
37
+ });
38
+ return client.fetch(...args);
39
+ };
40
+ return withSessionHeader(signedFetch);
41
+ };
42
+
43
+ /** A fetch that adds a bearer token from the given async provider. */
44
+ export const createJwtFetch = (
45
+ accessTokenProvider: () => Promise<string>,
46
+ ): typeof fetch =>
47
+ withSessionHeader(async (input, init) => {
48
+ const headers = new Headers(init?.headers);
49
+ headers.set('Authorization', `Bearer ${await accessTokenProvider()}`);
50
+ return fetch(input, { ...init, headers });
51
+ });
52
+
53
+ /** A plain fetch (local dev) that still forwards the session id. */
54
+ export const createPlainFetch = (): typeof fetch => withSessionHeader(fetch);
@@ -0,0 +1,41 @@
1
+ import type { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
2
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
+ import { regionFromGatewayUrl } from './agentcore-endpoints.js';
4
+ import { sigV4Transport, noAuthTransport } from './agentcore-transport.js';
5
+
6
+ export interface AgentCoreGatewayMcpTransportIamOptions {
7
+ /**
8
+ * The MCP URL of the AgentCore Gateway, of the form
9
+ * https://<gatewayId>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp
10
+ */
11
+ gatewayUrl: string;
12
+ /** AWS region override; by default parsed from `gatewayUrl`. */
13
+ region?: string;
14
+ /** AWS credential provider; defaults to the standard provider chain. */
15
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
16
+ }
17
+
18
+ /**
19
+ * Factory for MCP transports that connect to an AgentCore Gateway. Forwards the
20
+ * current async-context session via the AgentCore session header, which the
21
+ * gateway propagates to downstream MCP server targets.
22
+ */
23
+ export class AgentCoreGatewayMcpTransport {
24
+ /** Create a gateway MCP transport authenticated with IAM SigV4. */
25
+ static withIamAuth(
26
+ options: AgentCoreGatewayMcpTransportIamOptions,
27
+ ): StreamableHTTPClientTransport {
28
+ return sigV4Transport({
29
+ region: options.region ?? regionFromGatewayUrl(options.gatewayUrl),
30
+ url: options.gatewayUrl,
31
+ credentialProvider: options.credentialProvider,
32
+ });
33
+ }
34
+
35
+ /** Plain-HTTP gateway transport, for the local gateway started by serve-local. */
36
+ static withoutAuth(options: {
37
+ gatewayUrl: string;
38
+ }): StreamableHTTPClientTransport {
39
+ return noAuthTransport({ url: options.gatewayUrl });
40
+ }
41
+ }
@@ -0,0 +1,70 @@
1
+ import type { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
2
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
+ import {
4
+ mcpUrlFromArn,
5
+ regionFromArn,
6
+ } from './agentcore-endpoints.js';
7
+ import {
8
+ sigV4Transport,
9
+ jwtTransport,
10
+ noAuthTransport,
11
+ } from './agentcore-transport.js';
12
+
13
+ /**
14
+ * Options for an MCP transport with IAM authentication.
15
+ */
16
+ export interface AgentCoreMcpTransportIamOptions {
17
+ /** The ARN of the Bedrock AgentCore Runtime to connect to. */
18
+ agentRuntimeArn: string;
19
+ /** AWS credential provider; defaults to the standard provider chain. */
20
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
21
+ }
22
+
23
+ /**
24
+ * Options for an MCP transport with JWT authentication.
25
+ */
26
+ export interface AgentCoreMcpTransportJwtOptions {
27
+ /** The ARN of the Bedrock AgentCore Runtime to connect to. */
28
+ agentRuntimeArn: string;
29
+ /** A function which returns the JWT access token used to authenticate. */
30
+ accessTokenProvider: () => Promise<string>;
31
+ }
32
+
33
+ /**
34
+ * Options for an MCP transport with no auth (local dev).
35
+ */
36
+ export interface AgentCoreMcpTransportNoAuthOptions {
37
+ /** Full URL of the local MCP endpoint. */
38
+ url: string;
39
+ }
40
+
41
+ /** Factory for MCP transports that connect to a Bedrock AgentCore runtime. */
42
+ export class AgentCoreMcpTransport {
43
+ /** SigV4-authenticated transport for a Bedrock AgentCore runtime. */
44
+ static withIamAuth(
45
+ options: AgentCoreMcpTransportIamOptions,
46
+ ): StreamableHTTPClientTransport {
47
+ return sigV4Transport({
48
+ region: regionFromArn(options.agentRuntimeArn),
49
+ url: mcpUrlFromArn(options.agentRuntimeArn),
50
+ credentialProvider: options.credentialProvider,
51
+ });
52
+ }
53
+
54
+ /** Bearer-authenticated transport for a Bedrock AgentCore runtime. */
55
+ static withJwtAuth(
56
+ options: AgentCoreMcpTransportJwtOptions,
57
+ ): StreamableHTTPClientTransport {
58
+ return jwtTransport({
59
+ url: mcpUrlFromArn(options.agentRuntimeArn),
60
+ accessTokenProvider: options.accessTokenProvider,
61
+ });
62
+ }
63
+
64
+ /** For local dev — plain HTTP, no auth. */
65
+ static withoutAuth(
66
+ options: AgentCoreMcpTransportNoAuthOptions,
67
+ ): StreamableHTTPClientTransport {
68
+ return noAuthTransport({ url: options.url });
69
+ }
70
+ }
@@ -0,0 +1,39 @@
1
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
2
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
+ import {
4
+ createSigV4Fetch,
5
+ createJwtFetch,
6
+ createPlainFetch,
7
+ } from './agentcore-fetch.js';
8
+
9
+ const build = (
10
+ url: string,
11
+ fetchFn: typeof fetch,
12
+ ): StreamableHTTPClientTransport =>
13
+ new StreamableHTTPClientTransport(new URL(url), { fetch: fetchFn });
14
+
15
+ /** SigV4-signed transport for a resolved AgentCore endpoint. */
16
+ export const sigV4Transport = (options: {
17
+ region: string;
18
+ url: string;
19
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
20
+ }): StreamableHTTPClientTransport =>
21
+ build(
22
+ options.url,
23
+ createSigV4Fetch({
24
+ region: options.region,
25
+ credentialProvider: options.credentialProvider,
26
+ }),
27
+ );
28
+
29
+ /** Bearer-token transport for a resolved AgentCore endpoint. */
30
+ export const jwtTransport = (options: {
31
+ url: string;
32
+ accessTokenProvider: () => Promise<string>;
33
+ }): StreamableHTTPClientTransport =>
34
+ build(options.url, createJwtFetch(options.accessTokenProvider));
35
+
36
+ /** Plain-HTTP transport — for local dev. */
37
+ export const noAuthTransport = (options: {
38
+ url: string;
39
+ }): StreamableHTTPClientTransport => build(options.url, createPlainFetch());
@@ -0,0 +1,61 @@
1
+ import { A2AAgent } from '@strands-agents/sdk/a2a';
2
+ import {
3
+ type A2aClientConfig,
4
+ AgentCoreA2aClientConfig,
5
+ type AgentCoreA2aClientConfigIamOptions,
6
+ type AgentCoreA2aClientConfigJwtOptions,
7
+ type AgentCoreA2aClientConfigNoAuthOptions,
8
+ } from './agentcore-a2a-client-config.js';
9
+
10
+ /** Optional friendly metadata for the remote agent. */
11
+ export interface StrandsA2aOptions {
12
+ /** Optional friendly name for the remote agent. */
13
+ name?: string;
14
+ /** Optional description for the remote agent. */
15
+ description?: string;
16
+ }
17
+
18
+ /** Strands A2A clients for a Bedrock AgentCore runtime. */
19
+ export class AgentCoreA2aClientStrands {
20
+ private static build(
21
+ { url, clientFactory }: A2aClientConfig,
22
+ options: StrandsA2aOptions,
23
+ ): A2AAgent {
24
+ return new A2AAgent({
25
+ url,
26
+ clientFactory,
27
+ ...(options.name ? { name: options.name } : {}),
28
+ ...(options.description ? { description: options.description } : {}),
29
+ });
30
+ }
31
+
32
+ /** SigV4-authenticated client for a Bedrock AgentCore runtime. */
33
+ static withIamAuth(
34
+ options: AgentCoreA2aClientConfigIamOptions & StrandsA2aOptions,
35
+ ): A2AAgent {
36
+ return AgentCoreA2aClientStrands.build(
37
+ AgentCoreA2aClientConfig.withIamAuth(options),
38
+ options,
39
+ );
40
+ }
41
+
42
+ /** Bearer-authenticated client for a Bedrock AgentCore runtime. */
43
+ static withJwtAuth(
44
+ options: AgentCoreA2aClientConfigJwtOptions & StrandsA2aOptions,
45
+ ): A2AAgent {
46
+ return AgentCoreA2aClientStrands.build(
47
+ AgentCoreA2aClientConfig.withJwtAuth(options),
48
+ options,
49
+ );
50
+ }
51
+
52
+ /** For local dev — plain HTTP, no auth. */
53
+ static withoutAuth(
54
+ options: AgentCoreA2aClientConfigNoAuthOptions & StrandsA2aOptions,
55
+ ): A2AAgent {
56
+ return AgentCoreA2aClientStrands.build(
57
+ AgentCoreA2aClientConfig.withoutAuth(options),
58
+ options,
59
+ );
60
+ }
61
+ }
@@ -0,0 +1,26 @@
1
+ import { McpClient } from '@strands-agents/sdk';
2
+ import {
3
+ AgentCoreGatewayMcpTransport,
4
+ type AgentCoreGatewayMcpTransportIamOptions,
5
+ } from './agentcore-gateway-mcp-transport.js';
6
+
7
+ /**
8
+ * Strands MCP clients that connect to an AgentCore Gateway.
9
+ */
10
+ export class AgentCoreGatewayMcpClientStrands {
11
+ /** Create a gateway MCP client authenticated with IAM SigV4. */
12
+ static withIamAuth(
13
+ options: AgentCoreGatewayMcpTransportIamOptions,
14
+ ): McpClient {
15
+ return new McpClient({
16
+ transport: AgentCoreGatewayMcpTransport.withIamAuth(options),
17
+ });
18
+ }
19
+
20
+ /** Plain-HTTP gateway client, for the local gateway started by serve-local. */
21
+ static withoutAuth(options: { gatewayUrl: string }): McpClient {
22
+ return new McpClient({
23
+ transport: AgentCoreGatewayMcpTransport.withoutAuth(options),
24
+ });
25
+ }
26
+ }
@@ -0,0 +1,27 @@
1
+ import { McpClient } from '@strands-agents/sdk';
2
+ import {
3
+ AgentCoreMcpTransport,
4
+ type AgentCoreMcpTransportIamOptions,
5
+ type AgentCoreMcpTransportJwtOptions,
6
+ type AgentCoreMcpTransportNoAuthOptions,
7
+ } from './agentcore-mcp-transport.js';
8
+
9
+ /** Strands MCP clients for a Bedrock AgentCore runtime. */
10
+ export class AgentCoreMcpClientStrands {
11
+ /** SigV4-authenticated client for a Bedrock AgentCore runtime. */
12
+ static withIamAuth(options: AgentCoreMcpTransportIamOptions): McpClient {
13
+ return new McpClient({ transport: AgentCoreMcpTransport.withIamAuth(options) });
14
+ }
15
+
16
+ /** Bearer-authenticated client for a Bedrock AgentCore runtime. */
17
+ static withJwtAuth(options: AgentCoreMcpTransportJwtOptions): McpClient {
18
+ return new McpClient({ transport: AgentCoreMcpTransport.withJwtAuth(options) });
19
+ }
20
+
21
+ /** For local dev — plain HTTP, no auth. */
22
+ static withoutAuth(options: AgentCoreMcpTransportNoAuthOptions): McpClient {
23
+ return new McpClient({
24
+ transport: AgentCoreMcpTransport.withoutAuth(options),
25
+ });
26
+ }
27
+ }
@@ -0,0 +1,43 @@
1
+ from collections.abc import Callable
2
+
3
+ import boto3
4
+ import httpx
5
+ from a2a.client import ClientConfig
6
+
7
+ from .agentcore_endpoints import a2a_url_from_arn, region_from_arn
8
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
9
+
10
+
11
+ def _config(url: str, auth: httpx.Auth) -> tuple[str, ClientConfig]:
12
+ httpx_client = httpx.AsyncClient(auth=auth, timeout=120)
13
+ return url, ClientConfig(httpx_client=httpx_client, streaming=False)
14
+
15
+
16
+ class AgentCoreA2aClientConfig:
17
+ """Factory for A2A client configs that connect to a Bedrock AgentCore
18
+ runtime. Each forwards the current async-context session via the AgentCore
19
+ session header. Framework-agnostic — wrap the result in a framework's
20
+ A2A client."""
21
+
22
+ @staticmethod
23
+ def with_iam_auth(agent_runtime_arn: str) -> tuple[str, ClientConfig]:
24
+ """SigV4-authenticated A2A client config for a Bedrock AgentCore runtime."""
25
+ region = region_from_arn(agent_runtime_arn)
26
+ credentials = boto3.Session(region_name=region).get_credentials()
27
+ return _config(
28
+ a2a_url_from_arn(agent_runtime_arn), sigv4_auth(credentials, region)
29
+ )
30
+
31
+ @staticmethod
32
+ def with_jwt_auth(
33
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
34
+ ) -> tuple[str, ClientConfig]:
35
+ """Bearer-authenticated A2A client config for a Bedrock AgentCore runtime."""
36
+ return _config(
37
+ a2a_url_from_arn(agent_runtime_arn), jwt_auth(access_token_provider)
38
+ )
39
+
40
+ @staticmethod
41
+ def without_auth(url: str) -> tuple[str, ClientConfig]:
42
+ """Plain-HTTP A2A client config — for local dev."""
43
+ return _config(url, plain_auth())
@@ -0,0 +1,47 @@
1
+ """Resolve Bedrock AgentCore invocation endpoints from a runtime ARN.
2
+
3
+ Framework-agnostic — reusable by any framework's connection client.
4
+ """
5
+
6
+ import re
7
+ from urllib.parse import quote
8
+
9
+
10
+ def region_from_arn(agent_runtime_arn: str) -> str:
11
+ """Extract the AWS region from a Bedrock AgentCore runtime ARN.
12
+
13
+ ARN format: arn:partition:service:region:account-id:resource
14
+ """
15
+ return agent_runtime_arn.split(":")[3]
16
+
17
+
18
+ def mcp_url_from_arn(agent_runtime_arn: str) -> str:
19
+ """The MCP invocation URL for a runtime ARN."""
20
+ region = region_from_arn(agent_runtime_arn)
21
+ encoded_arn = quote(agent_runtime_arn, safe="")
22
+ return (
23
+ f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
24
+ f"{encoded_arn}/invocations?qualifier=DEFAULT"
25
+ )
26
+
27
+
28
+ def a2a_url_from_arn(agent_runtime_arn: str) -> str:
29
+ """The A2A invocation URL for a runtime ARN. A2A on AgentCore is mounted at
30
+ the `/invocations/` root (trailing slash matters)."""
31
+ region = region_from_arn(agent_runtime_arn)
32
+ encoded_arn = quote(agent_runtime_arn, safe="")
33
+ return (
34
+ f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
35
+ f"{encoded_arn}/invocations/"
36
+ )
37
+
38
+
39
+ def region_from_gateway_url(gateway_url: str) -> str:
40
+ """Extract the AWS region from an AgentCore Gateway MCP URL."""
41
+ match = re.search(r"\.bedrock-agentcore\.([^.]+)\.amazonaws\.com", gateway_url)
42
+ if not match:
43
+ raise ValueError(
44
+ f"Cannot determine region from gateway URL '{gateway_url}'. "
45
+ "Pass region explicitly."
46
+ )
47
+ return match.group(1)
@@ -0,0 +1,51 @@
1
+ from collections.abc import Callable
2
+
3
+ import httpx
4
+
5
+ from ..session_context import get_current_session_id
6
+ from .sigv4 import SigV4HTTPXAuth
7
+
8
+ SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
9
+
10
+
11
+ class SessionHeaderAuth(httpx.Auth):
12
+ """Stamps the AgentCore session header from the current async context,
13
+ then delegates to an optional inner auth (e.g. SigV4)."""
14
+
15
+ requires_request_body = True
16
+ requires_response_body = True
17
+
18
+ def __init__(self, inner: httpx.Auth | None = None):
19
+ self._inner = inner
20
+
21
+ def auth_flow(self, request: httpx.Request): # type: ignore[override]
22
+ sid = get_current_session_id()
23
+ if sid:
24
+ request.headers[SESSION_HEADER] = sid
25
+ if self._inner is None:
26
+ yield request
27
+ return
28
+ yield from self._inner.auth_flow(request)
29
+
30
+
31
+ def sigv4_auth(
32
+ credentials, region: str, service: str = "bedrock-agentcore"
33
+ ) -> httpx.Auth:
34
+ """Session-forwarding SigV4 auth (per-request, body-aware)."""
35
+ return SessionHeaderAuth(SigV4HTTPXAuth(credentials, service, region))
36
+
37
+
38
+ def jwt_auth(access_token_provider: Callable[[], str]) -> httpx.Auth:
39
+ """Session-forwarding bearer-token auth."""
40
+
41
+ class _Bearer(httpx.Auth):
42
+ def auth_flow(self, request: httpx.Request):
43
+ request.headers["Authorization"] = f"Bearer {access_token_provider()}"
44
+ yield request
45
+
46
+ return SessionHeaderAuth(_Bearer())
47
+
48
+
49
+ def plain_auth() -> httpx.Auth:
50
+ """Session-forwarding plain auth — for local dev."""
51
+ return SessionHeaderAuth()
@@ -0,0 +1,28 @@
1
+ from .agentcore_endpoints import region_from_gateway_url
2
+ from .agentcore_transport import (
3
+ TransportFactory,
4
+ no_auth_transport,
5
+ sigv4_transport,
6
+ )
7
+
8
+
9
+ class AgentCoreGatewayMCPTransport:
10
+ """Factory for MCP transport factories that connect to an AgentCore Gateway.
11
+ Forwards the current async-context session via the AgentCore session header,
12
+ which the gateway propagates to downstream MCP server targets.
13
+ """
14
+
15
+ @staticmethod
16
+ def with_iam_auth(
17
+ gateway_url: str,
18
+ region: str | None = None,
19
+ ) -> TransportFactory:
20
+ """Create a gateway MCP transport authenticated with IAM SigV4."""
21
+ return sigv4_transport(
22
+ gateway_url, region or region_from_gateway_url(gateway_url)
23
+ )
24
+
25
+ @staticmethod
26
+ def without_auth(gateway_url: str) -> TransportFactory:
27
+ """Plain-HTTP gateway transport, for the local gateway started by serve-local."""
28
+ return no_auth_transport(gateway_url)