@aws/nx-plugin 1.0.0-rc.17 → 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 (110) hide show
  1. package/generators.json +9 -1
  2. package/package.json +1 -1
  3. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  4. package/src/agentcore-gateway/attach-upstream.js +41 -0
  5. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  6. package/src/agentcore-gateway/files/project/serve-local.ts.template +3 -2
  7. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  8. package/src/agentcore-gateway/gateway-connection/generator.js +102 -0
  9. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  10. package/src/agentcore-gateway/gateway-connection/schema.d.ts +12 -0
  11. package/src/agentcore-gateway/gateway-connection/schema.json +26 -0
  12. package/src/agentcore-gateway/mcp-connection/generator.js +8 -24
  13. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  14. package/src/connection/generator.js +66 -63
  15. package/src/connection/generator.js.map +1 -1
  16. package/src/license/generator.js +8 -19
  17. package/src/license/generator.js.map +1 -1
  18. package/src/license/known-exceptions.d.ts +0 -1
  19. package/src/license/known-exceptions.js +1 -8
  20. package/src/license/known-exceptions.js.map +1 -1
  21. package/src/py/agent/__snapshots__/generator.spec.ts.snap +15 -6
  22. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +201 -0
  23. package/src/py/agent/a2a-connection/files/agent-connection/app/{__targetAgentSnakeCase___client.py.template → __targetAgentSnakeCase___client_strands.py.template} +7 -5
  24. package/src/py/agent/a2a-connection/generator.js +6 -5
  25. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  26. package/src/py/agent/files/http/main.py.template +2 -2
  27. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +197 -0
  28. package/src/py/agent/gateway-connection/files/agent-connection/app/{__gatewaySnakeCase___client.py.template → __gatewaySnakeCase___client_strands.py.template} +6 -6
  29. package/src/py/agent/gateway-connection/generator.js +5 -5
  30. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  31. package/src/py/agent/generator.js +3 -5
  32. package/src/py/agent/generator.js.map +1 -1
  33. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +157 -79
  34. package/src/py/agent/mcp-connection/files/agent-connection/app/{__mcpServerSnakeCase___client.py.template → __mcpServerSnakeCase___client_strands.py.template} +7 -5
  35. package/src/py/agent/mcp-connection/generator.js +5 -5
  36. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  37. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +37 -3
  38. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  39. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
  40. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +1 -0
  41. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  42. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  43. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +35 -4
  44. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  45. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  46. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +14 -5
  47. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  48. package/src/ts/agent/a2a-connection/files/agent-connection/app/{__targetAgentKebabCase__-client.ts.template → __targetAgentKebabCase__-client-strands.ts.template} +5 -5
  49. package/src/ts/agent/a2a-connection/generator.js +3 -3
  50. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  51. package/src/ts/agent/files/http/router.ts.template +1 -1
  52. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  53. package/src/ts/agent/gateway-connection/files/agent-connection/app/{__gatewayKebabCase__-client.ts.template → __gatewayKebabCase__-client-strands.ts.template} +5 -5
  54. package/src/ts/agent/gateway-connection/generator.js +3 -3
  55. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  56. package/src/ts/agent/generator.js +3 -0
  57. package/src/ts/agent/generator.js.map +1 -1
  58. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +183 -110
  59. package/src/ts/agent/mcp-connection/files/agent-connection/app/{__mcpServerKebabCase__-client.ts.template → __mcpServerKebabCase__-client-strands.ts.template} +5 -5
  60. package/src/ts/agent/mcp-connection/generator.js +3 -3
  61. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  62. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
  63. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +64 -24
  64. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +13 -4
  65. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +9 -3
  66. package/src/utils/agent-connection/agent-connection.d.ts +50 -24
  67. package/src/utils/agent-connection/agent-connection.js +137 -45
  68. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  69. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  70. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  71. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  72. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  73. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  74. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  75. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  76. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  77. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  78. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  79. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  80. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  81. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  82. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  83. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  84. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  85. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  86. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  87. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +3 -0
  88. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +110 -28
  89. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +95 -2
  90. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +13 -4
  91. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +9 -0
  92. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +23 -1
  93. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +9 -3
  94. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +7 -2
  95. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +9 -3
  96. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +22 -8
  97. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +10 -4
  98. package/src/utils/versions.d.ts +1 -1
  99. package/src/utils/versions.js +1 -1
  100. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +13 -4
  101. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  102. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-client.ts.template +0 -78
  103. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  104. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  105. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_client.py.template +0 -78
  106. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  107. /package/src/utils/agent-connection/files/{core-runtime-config/model-errors.ts.template → core-strands/base/model-errors-strands.ts.template} +0 -0
  108. /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
  109. /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
  110. /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
@@ -7,16 +7,15 @@ exports.licenseGenerator = licenseGenerator;
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const generator_1 = require("../py/agent/generator");
11
- const generator_2 = require("../py/mcp-server/generator");
12
- const generator_3 = require("../ts/mcp-server/generator");
10
+ const generator_1 = require("../py/mcp-server/generator");
11
+ const generator_2 = require("../ts/mcp-server/generator");
13
12
  const utils_1 = require("../utils/config/utils");
14
13
  const format_1 = require("../utils/format");
15
14
  const metrics_1 = require("../utils/metrics");
16
15
  const nx_1 = require("../utils/nx");
17
16
  const config_1 = require("./config");
18
17
  const known_exceptions_1 = require("./known-exceptions");
19
- const generator_4 = require("./sync/generator");
18
+ const generator_3 = require("./sync/generator");
20
19
  exports.LICENSE_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
21
20
  async function licenseGenerator(tree, options) {
22
21
  const { license, copyrightHolder } = options;
@@ -45,8 +44,8 @@ async function licenseGenerator(tree, options) {
45
44
  const lintTargetDefault = {
46
45
  ...nxJson.targetDefaults?.lint,
47
46
  syncGenerators: [
48
- ...(nxJson.targetDefaults?.lint?.syncGenerators ?? []).filter((g) => g !== generator_4.SYNC_GENERATOR_NAME),
49
- generator_4.SYNC_GENERATOR_NAME,
47
+ ...(nxJson.targetDefaults?.lint?.syncGenerators ?? []).filter((g) => g !== generator_3.SYNC_GENERATOR_NAME),
48
+ generator_3.SYNC_GENERATOR_NAME,
50
49
  ],
51
50
  };
52
51
  const updatedNxJson = {
@@ -96,12 +95,10 @@ const writeLicenseCheckTarget = async (tree) => {
96
95
  const addExceptionsForExistingProjects = async (tree) => {
97
96
  const projects = (0, devkit_1.getProjects)(tree);
98
97
  let needsMcp = false;
99
- let needsAgUi = false;
100
98
  const mcpIds = [
101
- generator_3.TS_MCP_SERVER_GENERATOR_INFO.id,
102
- generator_2.PY_MCP_SERVER_GENERATOR_INFO.id,
99
+ generator_2.TS_MCP_SERVER_GENERATOR_INFO.id,
100
+ generator_1.PY_MCP_SERVER_GENERATOR_INFO.id,
103
101
  ];
104
- const pyAgentId = generator_1.PY_AGENT_GENERATOR_INFO.id;
105
102
  for (const [, config] of projects) {
106
103
  const components = config.metadata?.components ??
107
104
  config.metadata?.generators ??
@@ -111,17 +108,9 @@ const addExceptionsForExistingProjects = async (tree) => {
111
108
  if (typeof gen === 'string' && mcpIds.includes(gen)) {
112
109
  needsMcp = true;
113
110
  }
114
- if (typeof gen === 'string' && gen === pyAgentId) {
115
- if (comp.protocol === 'AG-UI' || comp.protocol === 'ag-ui') {
116
- needsAgUi = true;
117
- }
118
- }
119
111
  }
120
112
  }
121
- const exceptions = [
122
- ...(needsMcp ? known_exceptions_1.MCP_INSPECTOR_EXCEPTIONS : []),
123
- ...(needsAgUi ? known_exceptions_1.AG_UI_STRANDS_EXCEPTIONS : []),
124
- ];
113
+ const exceptions = [...(needsMcp ? known_exceptions_1.MCP_INSPECTOR_EXCEPTIONS : [])];
125
114
  if (exceptions.length > 0) {
126
115
  await (0, config_1.ensureLicenseExceptions)(tree, exceptions);
127
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/generator.ts"],"names":[],"mappings":";;;AA+BA,4CAwDC;AAvFD;;;GAGG;AACH,uCAA8E;AAC9E,qDAAgE;AAChE,0DAA0E;AAC1E,0DAA0E;AAC1E,iDAAgE;AAChE,4CAAuD;AACvD,8CAAmE;AACnE,oCAAqE;AACrE,qCAQkB;AAClB,yDAG4B;AAE5B,gDAAuD;AAE1C,QAAA,sBAAsB,GACjC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,KAAK,UAAU,gBAAgB,CACpC,IAAU,EACV,OAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,sBAAsB,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAEjE,MAAM,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAA,2BAAkB,EACtB,IAAI,EACJ,IAAA,6BAAoB,EAAC,OAAO,EAAE,eAAe,CAAC,CAC/C,CAAC;IAEF,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAA,mCAA0B,EAAC,IAAI,EAAE;YACrC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;SACpD,CAAC,CAAC;QACH,yEAAyE;QACzE,0EAA0E;QAC1E,8DAA8D;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAA,qCAA4B,EAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACpC,+DAA+D;QAC/D,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAA,wCAA+B,EAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;IAChC,MAAM,iBAAiB,GAAG;QACxB,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI;QAC9B,cAAc,EAAE;YACd,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,+BAAmB,CACjC;YACD,+BAAmB;SACpB;KACF,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,GAAG,MAAM;QACT,cAAc,EAAE;YACd,GAAG,MAAM,CAAC,cAAc;YACxB,IAAI,EAAE,iBAAiB;SACxB;KACF,CAAC;IAEF,IAAA,qBAAY,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAElC,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,8BAAsB,CAAC,CAAC,CAAC;IAEtE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,uBAAuB,GAAG,KAAK,EAAE,IAAU,EAAiB,EAAE;IAClE,MAAM,mBAAmB,GAAG,cAAc,CAAC;IAC3C,IAAI,WAAW,GAAQ,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAE,CAAC,CAAC;IACrE,CAAC;IACD,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;IAChD,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG;QACrC,QAAQ,EAAE,8BAA8B;QACxC,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,IAAA,uCAA8B,EAAC,IAAI,CAAC,CAAC;IAE3C,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,mFAAmF;IACnF,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAE,CAAC,CAAC;QACpE,IACE,CAAC,WAAW,CAAC,EAAE,EAAE,eAAe;YAChC,WAAW,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAC3C,CAAC;YACD,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAU,EAAiB,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,MAAM,GAAG;QACb,wCAA4B,CAAC,EAAE;QAC/B,wCAA4B,CAAC,EAAE;KAChC,CAAC;IACF,MAAM,SAAS,GAAG,mCAAuB,CAAC,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,UAAU,GACb,MAAc,CAAC,QAAQ,EAAE,UAAU;YACnC,MAAc,CAAC,QAAQ,EAAE,UAAU;YACpC,EAAE,CAAC;QACL,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;YACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC3D,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,2CAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,2CAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAA,gCAAuB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAW,EAAE;IAChD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/generator.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,3 @@
4
4
  */
5
5
  import type { DependencyCheckException } from './dependency-check/types';
6
6
  export declare const MCP_INSPECTOR_EXCEPTIONS: DependencyCheckException[];
7
- export declare const AG_UI_STRANDS_EXCEPTIONS: DependencyCheckException[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AG_UI_STRANDS_EXCEPTIONS = exports.MCP_INSPECTOR_EXCEPTIONS = void 0;
3
+ exports.MCP_INSPECTOR_EXCEPTIONS = void 0;
4
4
  exports.MCP_INSPECTOR_EXCEPTIONS = [
5
5
  {
6
6
  package: '@modelcontextprotocol/inspector',
@@ -23,11 +23,4 @@ exports.MCP_INSPECTOR_EXCEPTIONS = [
23
23
  spdx: 'Apache-2.0',
24
24
  },
25
25
  ];
26
- exports.AG_UI_STRANDS_EXCEPTIONS = [
27
- {
28
- package: 'ag_ui_strands',
29
- reason: 'Part of MIT-licensed ag-ui-protocol/ag-ui repo. Wheel ships without license metadata.',
30
- spdx: 'MIT',
31
- },
32
- ];
33
26
  //# sourceMappingURL=known-exceptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"known-exceptions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/known-exceptions.ts"],"names":[],"mappings":";;;AAMa,QAAA,wBAAwB,GAA+B;IAClE;QACE,OAAO,EAAE,iCAAiC;QAC1C,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,qCAAqC;QAC9C,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;CACF,CAAC;AAEW,QAAA,wBAAwB,GAA+B;IAClE;QACE,OAAO,EAAE,eAAe;QACxB,MAAM,EACJ,uFAAuF;QACzF,IAAI,EAAE,KAAK;KACZ;CACF,CAAC"}
1
+ {"version":3,"file":"known-exceptions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/license/known-exceptions.ts"],"names":[],"mappings":";;;AAMa,QAAA,wBAAwB,GAA+B;IAClE;QACE,OAAO,EAAE,iCAAiC;QAC1C,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,qCAAqC;QAC9C,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EACJ,2EAA2E;QAC7E,IAAI,EAAE,YAAY;KACnB;CACF,CAAC"}
@@ -1108,14 +1108,19 @@ resource "null_resource" "docker_publish" {
1108
1108
  provisioner "local-exec" {
1109
1109
  command = <<-EOT
1110
1110
  # Get ECR login token
1111
- aws ecr get-login-password --region \${local.aws_region} | docker login --username AWS --password-stdin \${self.triggers.repository_url}
1111
+ aws ecr get-login-password --region "$AWS_REGION" | docker login --username AWS --password-stdin "$REPOSITORY_URL"
1112
1112
 
1113
1113
  # Tag the image
1114
- docker tag \${self.triggers.docker_image_tag} \${self.triggers.repository_url}:latest
1114
+ docker tag "$DOCKER_IMAGE_TAG" "$REPOSITORY_URL:latest"
1115
1115
 
1116
1116
  # Push the image
1117
- docker push \${self.triggers.repository_url}:latest
1117
+ docker push "$REPOSITORY_URL:latest"
1118
1118
  EOT
1119
+ environment = {
1120
+ AWS_REGION = local.aws_region
1121
+ REPOSITORY_URL = self.triggers.repository_url
1122
+ DOCKER_IMAGE_TAG = self.triggers.docker_image_tag
1123
+ }
1119
1124
  }
1120
1125
 
1121
1126
  depends_on = [aws_ecr_repository_policy.agent_core_ecr_policy]
@@ -1177,10 +1182,11 @@ resource "null_resource" "runtime_ready" {
1177
1182
  uv run --with boto3 python -c "
1178
1183
  import boto3
1179
1184
  import json
1185
+ import os
1180
1186
  import time
1181
1187
  import uuid
1182
1188
 
1183
- runtime_arn = '\${self.triggers.runtime_arn}'
1189
+ runtime_arn = os.environ['RUNTIME_ARN']
1184
1190
  client = boto3.client('bedrock-agentcore')
1185
1191
  initialize_request = json.dumps({
1186
1192
  'jsonrpc': '2.0',
@@ -1212,6 +1218,9 @@ while True:
1212
1218
  print(f'Runtime {runtime_arn} is serving MCP')
1213
1219
  "
1214
1220
  EOT
1221
+ environment = {
1222
+ RUNTIME_ARN = self.triggers.runtime_arn
1223
+ }
1215
1224
  }
1216
1225
  }
1217
1226
 
@@ -1285,7 +1294,7 @@ exports[`py#agent generator > should match snapshot for generated files > agent-
1285
1294
  import uvicorn
1286
1295
  from bedrock_agentcore.runtime.models import PingStatus
1287
1296
  from fastapi import Request
1288
- from pydantic import BaseModel
1297
+ from pydantic import BaseModel, Field
1289
1298
  from starlette.middleware.base import BaseHTTPMiddleware
1290
1299
  from proj_agent_connection import session_id_context, with_session_id
1291
1300
 
@@ -1303,7 +1312,7 @@ _agent = _agent_ctx.__enter__()
1303
1312
 
1304
1313
 
1305
1314
  class InvokeInput(BaseModel):
1306
- message: str
1315
+ message: str = Field(max_length=100000)
1307
1316
 
1308
1317
 
1309
1318
  class StreamChunk(BaseModel):
@@ -0,0 +1,201 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`py#agent#a2a-connection generator > should match snapshot for agent-connection core files > agentcore_a2a_client_config.py 1`] = `
4
+ "from collections.abc import Callable
5
+
6
+ import boto3
7
+ import httpx
8
+ from a2a.client import ClientConfig
9
+
10
+ from .agentcore_endpoints import a2a_url_from_arn, region_from_arn
11
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
12
+
13
+
14
+ def _config(url: str, auth: httpx.Auth) -> tuple[str, ClientConfig]:
15
+ httpx_client = httpx.AsyncClient(auth=auth, timeout=120)
16
+ return url, ClientConfig(httpx_client=httpx_client, streaming=False)
17
+
18
+
19
+ class AgentCoreA2aClientConfig:
20
+ """Factory for A2A client configs that connect to a Bedrock AgentCore
21
+ runtime. Each forwards the current async-context session via the AgentCore
22
+ session header. Framework-agnostic — wrap the result in a framework's
23
+ A2A client."""
24
+
25
+ @staticmethod
26
+ def with_iam_auth(agent_runtime_arn: str) -> tuple[str, ClientConfig]:
27
+ """SigV4-authenticated A2A client config for a Bedrock AgentCore runtime."""
28
+ region = region_from_arn(agent_runtime_arn)
29
+ credentials = boto3.Session(region_name=region).get_credentials()
30
+ return _config(
31
+ a2a_url_from_arn(agent_runtime_arn), sigv4_auth(credentials, region)
32
+ )
33
+
34
+ @staticmethod
35
+ def with_jwt_auth(
36
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
37
+ ) -> tuple[str, ClientConfig]:
38
+ """Bearer-authenticated A2A client config for a Bedrock AgentCore runtime."""
39
+ return _config(
40
+ a2a_url_from_arn(agent_runtime_arn), jwt_auth(access_token_provider)
41
+ )
42
+
43
+ @staticmethod
44
+ def without_auth(url: str) -> tuple[str, ClientConfig]:
45
+ """Plain-HTTP A2A client config — for local dev."""
46
+ return _config(url, plain_auth())
47
+ "
48
+ `;
49
+
50
+ exports[`py#agent#a2a-connection generator > should match snapshot for agent-connection core files > agentcore_a2a_client_strands.py 1`] = `
51
+ "from collections.abc import Callable
52
+
53
+ from strands.agent.a2a_agent import A2AAgent
54
+
55
+ from .agentcore_a2a_client_config import AgentCoreA2aClientConfig
56
+
57
+
58
+ def _build(config: tuple, *, name: str | None, description: str | None) -> A2AAgent:
59
+ url, client_config = config
60
+ kwargs: dict = {"endpoint": url, "client_config": client_config}
61
+ if name:
62
+ kwargs["name"] = name
63
+ if description:
64
+ kwargs["description"] = description
65
+ return A2AAgent(**kwargs)
66
+
67
+
68
+ class AgentCoreA2aClientStrands:
69
+ """Factory for Strands A2A clients that connect to an AgentCore runtime."""
70
+
71
+ @staticmethod
72
+ def with_iam_auth(
73
+ agent_runtime_arn: str,
74
+ *,
75
+ name: str | None = None,
76
+ description: str | None = None,
77
+ ) -> A2AAgent:
78
+ """SigV4-authenticated client for a Bedrock AgentCore runtime."""
79
+ return _build(
80
+ AgentCoreA2aClientConfig.with_iam_auth(agent_runtime_arn),
81
+ name=name,
82
+ description=description,
83
+ )
84
+
85
+ @staticmethod
86
+ def with_jwt_auth(
87
+ agent_runtime_arn: str,
88
+ access_token_provider: Callable[[], str],
89
+ *,
90
+ name: str | None = None,
91
+ description: str | None = None,
92
+ ) -> A2AAgent:
93
+ """Bearer-authenticated client for a Bedrock AgentCore runtime."""
94
+ return _build(
95
+ AgentCoreA2aClientConfig.with_jwt_auth(
96
+ agent_runtime_arn, access_token_provider
97
+ ),
98
+ name=name,
99
+ description=description,
100
+ )
101
+
102
+ @staticmethod
103
+ def without_auth(
104
+ url: str,
105
+ *,
106
+ name: str | None = None,
107
+ description: str | None = None,
108
+ ) -> A2AAgent:
109
+ """Plain-HTTP client — for local dev."""
110
+ return _build(
111
+ AgentCoreA2aClientConfig.without_auth(url),
112
+ name=name,
113
+ description=description,
114
+ )
115
+ "
116
+ `;
117
+
118
+ exports[`py#agent#a2a-connection generator > should match snapshot for agent-connection core files > remote_client_strands.py 1`] = `
119
+ "import os
120
+
121
+ from strands.agent.a2a_agent import A2AAgent
122
+
123
+ from test_agent_connection.core.agentcore_a2a_client_strands import (
124
+ AgentCoreA2aClientStrands,
125
+ )
126
+ from test_agent_connection.core.runtime_config import (
127
+ get_agentcore_runtime_config,
128
+ )
129
+
130
+
131
+ class RemoteClientStrands:
132
+ """Strands client for the Remote A2A agent."""
133
+
134
+ @staticmethod
135
+ def create() -> A2AAgent:
136
+ if os.environ.get("SERVE_LOCAL") == "true":
137
+ return AgentCoreA2aClientStrands.without_auth("http://localhost:9001/")
138
+ config = get_agentcore_runtime_config()
139
+ agent_runtime_arn = config.get("agentRuntimes", {}).get("Remote")
140
+ if not agent_runtime_arn:
141
+ raise RuntimeError(
142
+ "No connected agent runtime named 'Remote' found in runtime configuration."
143
+ )
144
+ return AgentCoreA2aClientStrands.with_iam_auth(agent_runtime_arn)
145
+ "
146
+ `;
147
+
148
+ exports[`py#agent#a2a-connection generator > should match snapshot for agent-connection core files > session.py 1`] = `
149
+ "from collections.abc import Callable
150
+
151
+ import httpx
152
+
153
+ from ..session_context import get_current_session_id
154
+ from .sigv4 import SigV4HTTPXAuth
155
+
156
+ SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
157
+
158
+
159
+ class SessionHeaderAuth(httpx.Auth):
160
+ """Stamps the AgentCore session header from the current async context,
161
+ then delegates to an optional inner auth (e.g. SigV4)."""
162
+
163
+ requires_request_body = True
164
+ requires_response_body = True
165
+
166
+ def __init__(self, inner: httpx.Auth | None = None):
167
+ self._inner = inner
168
+
169
+ def auth_flow(self, request: httpx.Request): # type: ignore[override]
170
+ sid = get_current_session_id()
171
+ if sid:
172
+ request.headers[SESSION_HEADER] = sid
173
+ if self._inner is None:
174
+ yield request
175
+ return
176
+ yield from self._inner.auth_flow(request)
177
+
178
+
179
+ def sigv4_auth(
180
+ credentials, region: str, service: str = "bedrock-agentcore"
181
+ ) -> httpx.Auth:
182
+ """Session-forwarding SigV4 auth (per-request, body-aware)."""
183
+ return SessionHeaderAuth(SigV4HTTPXAuth(credentials, service, region))
184
+
185
+
186
+ def jwt_auth(access_token_provider: Callable[[], str]) -> httpx.Auth:
187
+ """Session-forwarding bearer-token auth."""
188
+
189
+ class _Bearer(httpx.Auth):
190
+ def auth_flow(self, request: httpx.Request):
191
+ request.headers["Authorization"] = f"Bearer {access_token_provider()}"
192
+ yield request
193
+
194
+ return SessionHeaderAuth(_Bearer())
195
+
196
+
197
+ def plain_auth() -> httpx.Auth:
198
+ """Session-forwarding plain auth — for local dev."""
199
+ return SessionHeaderAuth()
200
+ "
201
+ `;
@@ -2,19 +2,21 @@ import os
2
2
 
3
3
  from strands.agent.a2a_agent import A2AAgent
4
4
 
5
- from <%- agentConnectionModuleName %>.core.agentcore_a2a_client import AgentCoreA2aClient
5
+ from <%- agentConnectionModuleName %>.core.agentcore_a2a_client_strands import (
6
+ AgentCoreA2aClientStrands,
7
+ )
6
8
  from <%- agentConnectionModuleName %>.core.runtime_config import (
7
9
  get_agentcore_runtime_config,
8
10
  )
9
11
 
10
12
 
11
- class <%- targetAgentClassName %>Client:
12
- """Client for the <%- targetAgentClassName %> A2A agent."""
13
+ class <%- targetAgentClassName %>ClientStrands:
14
+ """Strands client for the <%- targetAgentClassName %> A2A agent."""
13
15
 
14
16
  @staticmethod
15
17
  def create() -> A2AAgent:
16
18
  if os.environ.get("SERVE_LOCAL") == "true":
17
- return AgentCoreA2aClient.without_auth(
19
+ return AgentCoreA2aClientStrands.without_auth(
18
20
  "http://localhost:<%- targetAgentPort %>/"
19
21
  )
20
22
  config = get_agentcore_runtime_config()
@@ -25,4 +27,4 @@ class <%- targetAgentClassName %>Client:
25
27
  raise RuntimeError(
26
28
  "No connected agent runtime named '<%- targetAgentClassName %>' found in runtime configuration."
27
29
  )
28
- return AgentCoreA2aClient.with_iam_auth(agent_runtime_arn)
30
+ return AgentCoreA2aClientStrands.with_iam_auth(agent_runtime_arn)
@@ -38,12 +38,13 @@ const pyAgentA2aConnectionGenerator = async (tree, options) => {
38
38
  // 1. Ensure the shared Python agent-connection project exists + has the
39
39
  // A2A core client and its shared SigV4 auth helper.
40
40
  await (0, agent_connection_1.ensurePythonAgentConnectionProject)(tree);
41
- (0, agent_connection_1.addPythonCoreClient)(tree, 'auth');
42
- (0, agent_connection_1.addPythonCoreClient)(tree, 'a2a');
41
+ await (0, agent_connection_1.addPythonCoreClient)(tree, 'a2a');
43
42
  const agentConnectionProjectDir = (0, agent_connection_1.getPythonAgentConnectionProjectDir)(tree);
44
43
  const agentConnectionModuleName = (0, agent_connection_1.getPythonAgentConnectionModuleName)(tree);
45
44
  const agentConnectionPackageName = (0, agent_connection_1.getPythonAgentConnectionPackageName)(tree);
46
- // Python deps required by the A2A core client + shared auth helper.
45
+ // Layer 0/1 deps for the A2A client config + shared auth helper, plus the
46
+ // Strands A2A extra the framework's A2A client needs (the base strands-agents
47
+ // dependency is added by addPythonCoreClient).
47
48
  (0, py_1.addDependenciesToPyProjectToml)(tree, agentConnectionProjectDir, [
48
49
  'boto3',
49
50
  'httpx',
@@ -64,12 +65,12 @@ const pyAgentA2aConnectionGenerator = async (tree, options) => {
64
65
  }
65
66
  // Add re-export to module __init__.py
66
67
  const moduleInitPath = (0, devkit_1.joinPathFragments)(agentConnectionProjectDir, agentConnectionModuleName, '__init__.py');
67
- await (0, agent_connection_1.addPythonReExport)(tree, moduleInitPath, `.app.${targetAgentSnakeCase}_client`, `${targetAgentClassName}Client`);
68
+ await (0, agent_connection_1.addPythonReExport)(tree, moduleInitPath, `.app.${targetAgentSnakeCase}_client_strands`, `${targetAgentClassName}ClientStrands`);
68
69
  // 3. Transform agent.py to add the A2A client import + wrap it as a tool
69
70
  const agentSourceDir = (0, devkit_1.joinPathFragments)(sourceProject.root, agentComponent.path ?? 'src');
70
71
  const agentFilePath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'agent.py');
71
72
  if (tree.exists(agentFilePath)) {
72
- const clientClassName = `${targetAgentClassName}Client`;
73
+ const clientClassName = `${targetAgentClassName}ClientStrands`;
73
74
  const clientVarName = targetAgentSnakeCase;
74
75
  const toolName = `ask_${targetAgentSnakeCase}`;
75
76
  await addImportToAgentFile(tree, agentFilePath, agentConnectionModuleName, clientClassName);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/agent/a2a-connection/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/agent/a2a-connection/generator.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import uuid
3
3
  import uvicorn
4
4
  from bedrock_agentcore.runtime.models import PingStatus
5
5
  from fastapi import Request
6
- from pydantic import BaseModel
6
+ from pydantic import BaseModel, Field
7
7
  from starlette.middleware.base import BaseHTTPMiddleware
8
8
  from <%- agentConnectionModuleName %> import session_id_context, with_session_id
9
9
 
@@ -21,7 +21,7 @@ _agent = _agent_ctx.__enter__()
21
21
 
22
22
 
23
23
  class InvokeInput(BaseModel):
24
- message: str
24
+ message: str = Field(max_length=100000)
25
25
 
26
26
 
27
27
  class StreamChunk(BaseModel):