@aws/nx-plugin 1.0.0-rc.11 → 1.0.0-rc.13

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 (105) hide show
  1. package/LICENSE-THIRD-PARTY +81 -3
  2. package/generators.json +31 -1
  3. package/package.json +2 -2
  4. package/sdk/agentcore-gateway.d.ts +6 -0
  5. package/sdk/agentcore-gateway.js +11 -0
  6. package/sdk/agentcore-gateway.js.map +1 -0
  7. package/sdk/license.d.ts +4 -4
  8. package/sdk/license.js +5 -4
  9. package/sdk/license.js.map +1 -1
  10. package/sdk/py.d.ts +6 -6
  11. package/sdk/py.js +7 -7
  12. package/sdk/py.js.map +1 -1
  13. package/sdk/ts.d.ts +18 -14
  14. package/sdk/ts.js +38 -32
  15. package/sdk/ts.js.map +1 -1
  16. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  17. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  18. package/src/agentcore-gateway/files/project/serve-local.ts.template +133 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +129 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +79 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.ts +12 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.json +26 -0
  27. package/src/agentcore-gateway/schema.d.ts +16 -0
  28. package/src/agentcore-gateway/schema.json +65 -0
  29. package/src/connection/generator.d.ts +1 -1
  30. package/src/connection/generator.js +64 -46
  31. package/src/connection/generator.js.map +1 -1
  32. package/src/infra/app/__snapshots__/generator.spec.ts.snap +9 -9
  33. package/src/mcp-server/schema-registry.d.ts +9 -3
  34. package/src/mcp-server/schema-registry.js +22 -6
  35. package/src/mcp-server/schema-registry.js.map +1 -1
  36. package/src/preset/__snapshots__/generator.spec.ts.snap +3 -1
  37. package/src/py/agent/__snapshots__/generator.spec.ts.snap +629 -7
  38. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +9 -3
  39. package/src/py/agent/a2a-connection/generator.js +1 -1
  40. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  41. package/src/py/agent/files/http/init.py.template +5 -23
  42. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client.py.template +35 -0
  43. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  44. package/src/py/agent/gateway-connection/generator.js +106 -0
  45. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  46. package/src/py/agent/gateway-connection/schema.d.ts +12 -0
  47. package/src/py/agent/gateway-connection/schema.json +26 -0
  48. package/src/py/agent/generator.js +27 -22
  49. package/src/py/agent/generator.js.map +1 -1
  50. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +8 -4
  51. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +9 -3
  52. package/src/py/agent/mcp-connection/generator.js +2 -72
  53. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  54. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +5 -22
  55. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  56. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +58 -3
  57. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +619 -2
  58. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +10 -6
  59. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client.ts.template +30 -0
  60. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  61. package/src/ts/agent/gateway-connection/generator.js +106 -0
  62. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  63. package/src/ts/agent/gateway-connection/schema.d.ts +12 -0
  64. package/src/ts/agent/gateway-connection/schema.json +26 -0
  65. package/src/ts/agent/generator.js +23 -19
  66. package/src/ts/agent/generator.js.map +1 -1
  67. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +9 -4
  68. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +9 -6
  69. package/src/ts/agent/mcp-connection/generator.js +1 -13
  70. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  71. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +58 -3
  72. package/src/ts/nx-generator/generator.js +29 -0
  73. package/src/ts/nx-generator/generator.js.map +1 -1
  74. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +86 -39
  75. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  76. package/src/utils/agent-chat/agent-chat.js +30 -0
  77. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  78. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  79. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  80. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  81. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  82. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  83. package/src/utils/agent-connection/agent-connection.d.ts +17 -0
  84. package/src/utils/agent-connection/agent-connection.js +94 -0
  85. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  86. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-client.ts.template +78 -0
  87. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  88. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_client.py.template +78 -0
  89. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  90. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +8 -0
  91. package/src/utils/agent-core-constructs/agent-core-constructs.js +54 -1
  92. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  93. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  94. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +37 -0
  95. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +293 -0
  96. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  97. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +242 -0
  98. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  99. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +55 -2
  100. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  101. package/src/utils/versions.d.ts +46 -44
  102. package/src/utils/versions.js +45 -43
  103. package/src/utils/versions.js.map +1 -1
  104. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  105. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
@@ -24,10 +24,12 @@ export declare function getPythonAgentConnectionPackageName(tree: Tree): string;
24
24
  export declare const TS_CORE_TEMPLATES: {
25
25
  readonly mcp: "core-mcp";
26
26
  readonly a2a: "core-a2a";
27
+ readonly gateway: "core-gateway";
27
28
  };
28
29
  export declare const PY_CORE_TEMPLATES: {
29
30
  readonly mcp: "py-core-mcp";
30
31
  readonly a2a: "py-core-a2a";
32
+ readonly gateway: "py-core-gateway";
31
33
  /** Shared SigV4 `httpx.Auth` used by both MCP and A2A clients. */
32
34
  readonly auth: "py-core-auth";
33
35
  };
@@ -54,6 +56,21 @@ export declare function ensurePythonAgentConnectionProject(tree: Tree): Promise<
54
56
  * agent-connection project's core directory.
55
57
  */
56
58
  export declare function addPythonCoreClient(tree: Tree, kind: keyof typeof PY_CORE_TEMPLATES): void;
59
+ /**
60
+ * Patch a TypeScript agent.ts to create a connection client and register it
61
+ * in the Agent's tools. Used by the MCP and gateway connection generators —
62
+ * the client class must expose a static async `create()` returning a value
63
+ * accepted by `Agent.tools` (e.g. an `McpClient`).
64
+ */
65
+ export declare function addTypeScriptClientToAgent(tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string): Promise<void>;
66
+ /**
67
+ * Patch a Python agent.py to create a context-managed connection client,
68
+ * enter it in the `with` block around `yield Agent(...)`, and spread its
69
+ * `list_tools_sync()` into the Agent's tools. Used by the MCP and gateway
70
+ * connection generators — the client class must expose a static `create()`
71
+ * returning a context manager with `list_tools_sync()` (e.g. an `MCPClient`).
72
+ */
73
+ export declare function addPythonClientToAgent(tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string): Promise<void>;
57
74
  /**
58
75
  * Add a re-export to the Python agent-connection module's __init__.py.
59
76
  * Equivalent to addStarExport for TS.
@@ -8,6 +8,8 @@ exports.ensureTypeScriptAgentConnectionProject = ensureTypeScriptAgentConnection
8
8
  exports.addTypeScriptCoreClient = addTypeScriptCoreClient;
9
9
  exports.ensurePythonAgentConnectionProject = ensurePythonAgentConnectionProject;
10
10
  exports.addPythonCoreClient = addPythonCoreClient;
11
+ exports.addTypeScriptClientToAgent = addTypeScriptClientToAgent;
12
+ exports.addPythonClientToAgent = addPythonClientToAgent;
11
13
  exports.addPythonReExport = addPythonReExport;
12
14
  const tslib_1 = require("tslib");
13
15
  /**
@@ -64,10 +66,12 @@ function getPythonAgentConnectionPackageName(tree) {
64
66
  exports.TS_CORE_TEMPLATES = {
65
67
  mcp: 'core-mcp',
66
68
  a2a: 'core-a2a',
69
+ gateway: 'core-gateway',
67
70
  };
68
71
  exports.PY_CORE_TEMPLATES = {
69
72
  mcp: 'py-core-mcp',
70
73
  a2a: 'py-core-a2a',
74
+ gateway: 'py-core-gateway',
71
75
  /** Shared SigV4 `httpx.Auth` used by both MCP and A2A clients. */
72
76
  auth: 'py-core-auth',
73
77
  };
@@ -158,6 +162,96 @@ function addPythonCoreClient(tree, kind) {
158
162
  const coreDir = (0, devkit_1.joinPathFragments)(projectDir, moduleName, 'core');
159
163
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', exports.PY_CORE_TEMPLATES[kind]), coreDir, {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
160
164
  }
165
+ /**
166
+ * Patch a TypeScript agent.ts to create a connection client and register it
167
+ * in the Agent's tools. Used by the MCP and gateway connection generators —
168
+ * the client class must expose a static async `create()` returning a value
169
+ * accepted by `Agent.tools` (e.g. an `McpClient`).
170
+ */
171
+ async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
172
+ const clientCreationStmt = `const ${clientVarName} = await ${clientClassName}.create();`;
173
+ // Transform the arrow function that contains `new Agent`:
174
+ // - Expression body: wrap in block with client creation and return
175
+ // - Block body: prepend client creation statement
176
+ await (0, ast_1.applyGritQL)(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
177
+ ${clientCreationStmt}
178
+ return new Agent($args);
179
+ }\` where { $program <: not contains \`${clientClassName}.create\` }, \`async ($p) => { $body }\` => raw\`async ($p) => {
180
+ ${clientCreationStmt}
181
+ $body
182
+ }\` where { $body <: contains \`new Agent($_)\`, $program <: not contains \`${clientClassName}.create\` } }`);
183
+ // Prepend the client to the tools array
184
+ await (0, ast_1.applyGritQL)(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
185
+ }
186
+ /**
187
+ * Patch a Python agent.py to create a context-managed connection client,
188
+ * enter it in the `with` block around `yield Agent(...)`, and spread its
189
+ * `list_tools_sync()` into the Agent's tools. Used by the MCP and gateway
190
+ * connection generators — the client class must expose a static `create()`
191
+ * returning a context manager with `list_tools_sync()` (e.g. an `MCPClient`).
192
+ */
193
+ async function addPythonClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
194
+ await addPythonClientTools(tree, agentFilePath, clientVarName);
195
+ await addPythonClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
196
+ }
197
+ /**
198
+ * Append `*<clientVarName>.list_tools_sync()` to the Agent's tools list.
199
+ */
200
+ const addPythonClientTools = async (tree, filePath, clientVarName) => {
201
+ if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientVarName}.list_tools_sync()\``))) {
202
+ return;
203
+ }
204
+ await (0, ast_1.applyGritQL)(tree, filePath, py(`\`tools=$old\` where {
205
+ $old <: not contains \`${clientVarName}\`,
206
+ if ($old <: \`[]\`) {
207
+ $old => \`[*${clientVarName}.list_tools_sync()]\`
208
+ } else {
209
+ $old <: \`[$items]\` where { $items += \`, *${clientVarName}.list_tools_sync()\` }
210
+ }
211
+ }`));
212
+ };
213
+ /**
214
+ * Create the client in get_agent and enter it in the `with` block.
215
+ *
216
+ * First connection: rewrites `def get_agent` to wrap the body in a with
217
+ * block. Subsequent connections: adds to the existing with items and
218
+ * prepends the creation line.
219
+ */
220
+ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, clientVarName) => {
221
+ if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientClassName}.create()\``))) {
222
+ return;
223
+ }
224
+ // Try the "add to existing with block" pattern first.
225
+ // If it succeeds, there was already a with block from a previous connection.
226
+ const addedToWith = await (0, ast_1.applyGritQL)(tree, filePath, py(`\`with ($items,): $body\` where {
227
+ $items <: not contains \`${clientVarName}\`,
228
+ $items += \`, ${clientVarName}\`
229
+ }`));
230
+ if (addedToWith) {
231
+ // Subsequent connection — prepend the creation line to the function body
232
+ // (a single anchor, so the line is inserted exactly once).
233
+ await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
234
+ $body\` where {
235
+ $body <: contains \`yield Agent($_)\`,
236
+ $body <: not contains \`${clientClassName}.create\`
237
+ } => \`def get_agent($params):
238
+ ${clientVarName} = ${clientClassName}.create()
239
+ $body\``));
240
+ return;
241
+ }
242
+ // First connection — wrap the existing `def get_agent` body in a single
243
+ // `with (<var>,):` block.
244
+ await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
245
+ $body\` where {
246
+ $body <: contains \`yield Agent($_)\`,
247
+ $body <: not contains \`${clientClassName}.create\`
248
+ } => \`def get_agent($params):
249
+ ${clientVarName} = ${clientClassName}.create()
250
+ with (
251
+ ${clientVarName},
252
+ ):
253
+ $body\``));
254
+ };
161
255
  /**
162
256
  * Add a re-export to the Python agent-connection module's __init__.py.
163
257
  * Equivalent to addStarExport for TS.
@@ -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":";;;AAmCA,gFAMC;AAKD,gFAMC;AAKD,kFAMC;AA0BD,wFA0CC;AAOD,0DAWC;AAOD,gFA2EC;AAMD,kDAcC;AAQD,gEA6BC;AASD,wDAaC;AAyGD,8CAqEC;;AApeD;;;GAGG;AACH,uCAKoB;AACpB,gFAEoC;AACpC,+EAAwD;AACxD,gCAAiE;AACjE,8BAAuD;AAEvD,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;AAED;;;;GAIG;AACU,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,cAAc;CACf,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,iBAAiB;IAC1B,kEAAkE;IAClE,IAAI,EAAE,cAAc;CACZ,CAAC;AAEX;;;;GAIG;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,sEAAsE;IACtE,6EAA6E;IAC7E,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAC5D,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,EAC9D,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,iEAAiE;IACjE,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,EAClE,2BAA2B,CAC5B,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,EAClE,2BAA2B,CAC5B,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,EAClE,wBAAwB,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,IAAU,EACV,IAAoC;IAEpC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,yBAAiB,CAAC,IAAI,CAAC,CAAC,EAC9D,IAAA,0BAAiB,EAAC,oCAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,EAC9D,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;AACJ,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,sEAAsE;IACtE,wEAAwE;IACxE,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,iEAAiE;IACjE,wEAAwE;IACxE,2CAA2C;IAC3C,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;IACF,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,uBAAuB,EACvB,iBAAiB,CAClB,CAAC;IACF,MAAM,iBAAiB,CACrB,IAAI,EACJ,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;IAEF,2EAA2E;IAC3E,uDAAuD;IACvD,IAAA,mCAA8B,EAAC,IAAI,EAAE,UAAU,EAAE;QAC/C,uBAAuB;QACvB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,IAAU,EACV,IAAoC;IAEpC,MAAM,UAAU,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClE,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,yBAAiB,CAAC,IAAI,CAAC,CAAC,EAC9D,OAAO,EACP,EAAE,EACF,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;AACJ,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,78 @@
1
+ import { McpClient } from '@strands-agents/sdk';
2
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
3
+ import { AwsClient } from 'aws4fetch';
4
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
5
+ import { getCurrentSessionId } from './session-context.js';
6
+
7
+ const SESSION_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
8
+
9
+ export interface AgentCoreGatewayMcpClientIamOptions {
10
+ /**
11
+ * The MCP URL of the AgentCore Gateway, of the form
12
+ * https://<gatewayId>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp
13
+ */
14
+ gatewayUrl: string;
15
+ /** AWS region override; by default parsed from `gatewayUrl`. */
16
+ region?: string;
17
+ /** AWS credential provider; defaults to the standard provider chain. */
18
+ credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
19
+ }
20
+
21
+ /**
22
+ * Factory for MCP clients that connect to an AgentCore Gateway. Forwards the
23
+ * current async-context session via the AgentCore session header, which the
24
+ * gateway propagates to downstream MCP server targets.
25
+ */
26
+ export class AgentCoreGatewayMcpClient {
27
+ /** Create a gateway MCP client authenticated with IAM SigV4. */
28
+ static withIamAuth(options: AgentCoreGatewayMcpClientIamOptions): McpClient {
29
+ const credentialProvider =
30
+ options.credentialProvider ?? fromNodeProviderChain();
31
+ const region =
32
+ options.region ?? parseRegionFromGatewayUrl(options.gatewayUrl);
33
+
34
+ const sigv4Fetch: typeof fetch = async (input, init) => {
35
+ const client = new AwsClient({
36
+ ...(await credentialProvider()),
37
+ service: 'bedrock-agentcore',
38
+ region,
39
+ });
40
+ return client.fetch(input, {
41
+ ...init,
42
+ headers: withSessionHeader(init?.headers),
43
+ });
44
+ };
45
+ return AgentCoreGatewayMcpClient.create(options.gatewayUrl, sigv4Fetch);
46
+ }
47
+
48
+ /** Plain-HTTP gateway client, for the local gateway started by serve-local. */
49
+ static withoutAuth(options: { gatewayUrl: string }): McpClient {
50
+ const plainFetch: typeof fetch = async (input, init) =>
51
+ fetch(input, { ...init, headers: withSessionHeader(init?.headers) });
52
+ return AgentCoreGatewayMcpClient.create(options.gatewayUrl, plainFetch);
53
+ }
54
+
55
+ private static create(gatewayUrl: string, fetchFn: typeof fetch): McpClient {
56
+ const transport = new StreamableHTTPClientTransport(new URL(gatewayUrl), {
57
+ fetch: fetchFn,
58
+ });
59
+ return new McpClient({ transport });
60
+ }
61
+ }
62
+
63
+ const withSessionHeader = (init?: RequestInit['headers']): Headers => {
64
+ const headers = new Headers(init);
65
+ const sessionId = getCurrentSessionId();
66
+ if (sessionId) headers.set(SESSION_HEADER, sessionId);
67
+ return headers;
68
+ };
69
+
70
+ const parseRegionFromGatewayUrl = (gatewayUrl: string): string => {
71
+ const match = /\.bedrock-agentcore\.([^.]+)\.amazonaws\.com/.exec(gatewayUrl);
72
+ if (!match) {
73
+ throw new Error(
74
+ `Cannot determine region from gateway URL '${gatewayUrl}'. Pass region explicitly.`,
75
+ );
76
+ }
77
+ return match[1];
78
+ };
@@ -1,40 +1,30 @@
1
1
  import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';
2
2
 
3
3
  /**
4
- * Read the runtime-config `agentcore` namespace from AppConfig.
5
- * `RUNTIME_CONFIG_APP_ID` is set on the AgentCore runtime by the generated
6
- * CDK/Terraform construct for this project.
4
+ * Shape of this project's runtime configuration in AppConfig. Keys are the
5
+ * class names of connected target constructs (e.g. `MyAgent`, `MyGateway`).
7
6
  */
8
- const getAgentCoreRuntimeConfig = async (): Promise<{
7
+ export interface AgentCoreRuntimeConfig {
9
8
  agentRuntimes?: Record<string, string>;
10
- }> => {
11
- const application = process.env.RUNTIME_CONFIG_APP_ID;
12
- if (!application) {
13
- throw new Error(
14
- 'RUNTIME_CONFIG_APP_ID is not set — cannot resolve connected agent ARNs from AppConfig.',
15
- );
16
- }
17
- return (await getAppConfig('agentcore', {
18
- application,
19
- environment: 'default',
20
- transform: 'json',
21
- })) as { agentRuntimes?: Record<string, string> };
22
- };
9
+ gateways?: Record<string, string>;
10
+ }
23
11
 
24
12
  /**
25
- * Resolve the AgentCore runtime ARN for a connected agent or MCP server
26
- * from this project's runtime configuration. `name` must match the class
27
- * name of the target construct (e.g. `MyAgent`, `InventoryMcpServer`).
13
+ * Read the runtime-config `agentcore` namespace from AppConfig.
14
+ * `RUNTIME_CONFIG_APP_ID` is set on the AgentCore runtime by the generated
15
+ * CDK/Terraform construct for this project.
28
16
  */
29
- export const getConnectedAgentRuntimeArn = async (
30
- name: string,
31
- ): Promise<string> => {
32
- const config = await getAgentCoreRuntimeConfig();
33
- const arn = config.agentRuntimes?.[name];
34
- if (!arn) {
35
- throw new Error(
36
- `No connected agent runtime named '${name}' found in runtime configuration.`,
37
- );
38
- }
39
- return arn;
40
- };
17
+ export const getAgentCoreRuntimeConfig =
18
+ async (): Promise<AgentCoreRuntimeConfig> => {
19
+ const application = process.env.RUNTIME_CONFIG_APP_ID;
20
+ if (!application) {
21
+ throw new Error(
22
+ 'RUNTIME_CONFIG_APP_ID is not set — cannot resolve connected agent ARNs from AppConfig.',
23
+ );
24
+ }
25
+ return (await getAppConfig('agentcore', {
26
+ application,
27
+ environment: 'default',
28
+ transform: 'json',
29
+ })) as AgentCoreRuntimeConfig;
30
+ };
@@ -0,0 +1,78 @@
1
+ import re
2
+
3
+ import boto3
4
+ import httpx
5
+ from mcp.client.streamable_http import streamablehttp_client
6
+ from strands.tools.mcp.mcp_client import MCPClient
7
+
8
+ from .auth import SigV4HTTPXAuth
9
+ from .session_context import get_current_session_id
10
+
11
+ SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
12
+
13
+
14
+ class _SessionHeaderAuth(httpx.Auth):
15
+ """Stamps the AgentCore session header from the current async context."""
16
+
17
+ requires_request_body = True
18
+ requires_response_body = True
19
+
20
+ def __init__(self, inner: httpx.Auth | None = None):
21
+ self._inner = inner
22
+
23
+ def auth_flow(self, request: httpx.Request): # type: ignore[override]
24
+ sid = get_current_session_id()
25
+ if sid:
26
+ request.headers[SESSION_HEADER] = sid
27
+ if self._inner is None:
28
+ yield request
29
+ return
30
+ yield from self._inner.auth_flow(request)
31
+
32
+
33
+ def _parse_region_from_gateway_url(gateway_url: str) -> str:
34
+ match = re.search(r"\.bedrock-agentcore\.([^.]+)\.amazonaws\.com", gateway_url)
35
+ if not match:
36
+ raise ValueError(
37
+ f"Cannot determine region from gateway URL '{gateway_url}'. "
38
+ "Pass region explicitly."
39
+ )
40
+ return match.group(1)
41
+
42
+
43
+ class AgentCoreGatewayMCPClient:
44
+ """Factory for MCP clients that connect to an AgentCore Gateway. Forwards
45
+ the current async-context session via the AgentCore session header, which
46
+ the gateway propagates to downstream MCP server targets.
47
+ """
48
+
49
+ @staticmethod
50
+ def with_iam_auth(
51
+ gateway_url: str,
52
+ region: str | None = None,
53
+ ) -> MCPClient:
54
+ """Create a gateway MCP client authenticated with IAM SigV4."""
55
+ resolved_region = region or _parse_region_from_gateway_url(gateway_url)
56
+ credentials = boto3.Session(region_name=resolved_region).get_credentials()
57
+ return _create_client(
58
+ gateway_url,
59
+ _SessionHeaderAuth(
60
+ SigV4HTTPXAuth(credentials, "bedrock-agentcore", resolved_region),
61
+ ),
62
+ )
63
+
64
+ @staticmethod
65
+ def without_auth(gateway_url: str) -> MCPClient:
66
+ """Plain-HTTP gateway client, for the local gateway started by serve-local."""
67
+ return _create_client(gateway_url, _SessionHeaderAuth())
68
+
69
+
70
+ def _create_client(gateway_url: str, auth: httpx.Auth) -> MCPClient:
71
+ return MCPClient(
72
+ lambda: streamablehttp_client(
73
+ gateway_url,
74
+ auth=auth,
75
+ timeout=120,
76
+ terminate_on_close=False,
77
+ )
78
+ )
@@ -5,9 +5,13 @@ from aws_lambda_powertools.utilities import parameters
5
5
  from botocore.config import Config
6
6
 
7
7
 
8
- def _get_agentcore_runtime_config() -> dict[str, Any]:
8
+ def get_agentcore_runtime_config() -> dict[str, Any]:
9
9
  """Read the runtime-config ``agentcore`` namespace from AppConfig.
10
10
 
11
+ Returns a dict of the shape ``{"agentRuntimes": {name: arn, ...},
12
+ "gateways": {name: url, ...}}``, where keys are the class names of
13
+ connected target constructs.
14
+
11
15
  ``RUNTIME_CONFIG_APP_ID`` is set on the AgentCore runtime by the generated
12
16
  CDK/Terraform construct for this project.
13
17
  """
@@ -23,20 +27,3 @@ def _get_agentcore_runtime_config() -> dict[str, Any]:
23
27
  config=Config(region_name=region) if region else None,
24
28
  )
25
29
  return cast(dict[str, Any], provider.get("agentcore", transform="json"))
26
-
27
-
28
- def get_connected_agent_runtime_arn(name: str) -> str:
29
- """Resolve the AgentCore runtime ARN for a connected agent or MCP server
30
- from this project's runtime configuration.
31
-
32
- ``name`` must match the class name of the target construct
33
- (e.g. ``MyAgent``, ``InventoryMcpServer``).
34
- """
35
- config = _get_agentcore_runtime_config()
36
- agent_runtimes = config.get("agentRuntimes", {}) if config else {}
37
- arn = agent_runtimes.get(name)
38
- if not arn:
39
- raise RuntimeError(
40
- f"No connected agent runtime named '{name}' found in runtime configuration."
41
- )
42
- return arn
@@ -47,4 +47,12 @@ export interface AddAgentInfraProps {
47
47
  * Add an agent CDK construct
48
48
  */
49
49
  export declare const addAgentInfra: (tree: Tree, options: AddAgentInfraProps & IACProvider) => Promise<void>;
50
+ export interface AddAgentCoreGatewayInfraProps {
51
+ gatewayNameClassName: string;
52
+ gatewayNameKebabCase: string;
53
+ projectName: string;
54
+ projectDirectory: string;
55
+ cedarPolicy: boolean;
56
+ }
57
+ export declare const addAgentCoreGatewayInfra: (tree: Tree, options: AddAgentCoreGatewayInfraProps & IACProvider) => Promise<void>;
50
58
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addAgentInfra = exports.addMcpServerInfra = void 0;
3
+ exports.addAgentCoreGatewayInfra = exports.addAgentInfra = exports.addMcpServerInfra = void 0;
4
4
  /**
5
5
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
6
  * SPDX-License-Identifier: Apache-2.0
@@ -79,4 +79,57 @@ const addAgentInfra = async (tree, options) => {
79
79
  });
80
80
  };
81
81
  exports.addAgentInfra = addAgentInfra;
82
+ const addAgentCoreGatewayInfra = async (tree, options) => {
83
+ switch (options.iac) {
84
+ case 'cdk':
85
+ await addAgentCoreGatewayCDKInfra(tree, options);
86
+ break;
87
+ case 'terraform':
88
+ addAgentCoreGatewayTerraformInfra(tree, options);
89
+ break;
90
+ }
91
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
92
+ (0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.projectName}:build`);
93
+ return config;
94
+ });
95
+ };
96
+ exports.addAgentCoreGatewayInfra = addAgentCoreGatewayInfra;
97
+ const addAgentCoreGatewayCDKInfra = async (tree, options) => {
98
+ // Generic gateway construct (readiness probe, policy engine, Cedar policy
99
+ // loading) shared by all gateways
100
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cdk', 'core', 'agentcore-gateway'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'agentcore-gateway'), {}, {
101
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
102
+ });
103
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cdk', 'app', 'agentcore-gateway'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'gateways'), {
104
+ nameClassName: options.gatewayNameClassName,
105
+ nameKebabCase: options.gatewayNameKebabCase,
106
+ projectDirectory: options.projectDirectory,
107
+ cedarPolicy: options.cedarPolicy,
108
+ }, {
109
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
110
+ });
111
+ await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'index.ts'), './agentcore-gateway/agentcore-gateway.js');
112
+ await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'gateways', 'index.ts'), `./${options.gatewayNameKebabCase}/${options.gatewayNameKebabCase}.js`);
113
+ await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './gateways/index.js');
114
+ };
115
+ const addAgentCoreGatewayTerraformInfra = (tree, options) => {
116
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform', 'core', 'agentcore-gateway'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'core', 'agentcore-gateway'), {}, {
117
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
118
+ });
119
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform', 'app', 'agentcore-gateway'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'app', 'gateways'), {
120
+ nameClassName: options.gatewayNameClassName,
121
+ nameKebabCase: options.gatewayNameKebabCase,
122
+ projectDirectory: options.projectDirectory,
123
+ cedarPolicy: options.cedarPolicy,
124
+ }, {
125
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
126
+ });
127
+ // The Cedar render script is only needed when policies are enabled
128
+ if (!options.cedarPolicy) {
129
+ const renderScript = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'app', 'gateways', options.gatewayNameKebabCase, 'render-cedar.cjs');
130
+ if (tree.exists(renderScript)) {
131
+ tree.delete(renderScript);
132
+ }
133
+ }
134
+ };
82
135
  //# sourceMappingURL=agent-core-constructs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,10 @@ export type <%- nameClassName %>Props = Omit<
49
49
  export class <%- nameClassName %> extends Construct implements IGrantable, IConnectable {
50
50
  public readonly dockerImage: AgentRuntimeArtifact;
51
51
  public readonly agentCoreRuntime: Runtime;
52
+ <%_ if (serverProtocol === 'mcp') { _%>
53
+ /** Default Gateway target name for this MCP server. */
54
+ public readonly mcpServerName = '<%- nameKebabCase %>';
55
+ <%_ } _%>
52
56
 
53
57
  constructor(scope: Construct, id: string, props<%_ if (auth !== 'cognito') { _%>?<%_ } _%>: <%- nameClassName %>Props) {
54
58
  super(scope, id);
@@ -0,0 +1,37 @@
1
+ import { Construct } from 'constructs';
2
+ <%_ if (cedarPolicy) { _%>
3
+ import * as path from 'node:path';
4
+ import * as url from 'node:url';
5
+ <%_ } _%>
6
+ import { AgentCoreGateway } from '../../../core/agentcore-gateway/agentcore-gateway.js';
7
+ import { RuntimeConfig } from '../../../core/runtime-config.js';
8
+ <%_ if (cedarPolicy) { _%>
9
+ import { findWorkspaceRoot } from '../../../core/workspace.js';
10
+ <%_ } _%>
11
+
12
+ /**
13
+ * AgentCore Gateway wired for MCP protocol with IAM inbound auth.
14
+ <%_ if (cedarPolicy) { _%>
15
+ *
16
+ * Cedar policies are loaded from the gateway project's policies/ directory
17
+ * at synth time and attached to a PolicyEngine running in ENFORCE mode.
18
+ <%_ } _%>
19
+ */
20
+ export class <%- nameClassName %> extends AgentCoreGateway {
21
+ constructor(scope: Construct, id: string) {
22
+ super(scope, id, {
23
+ <%_ if (cedarPolicy) { _%>
24
+ cedarPolicyPath: path.join(
25
+ findWorkspaceRoot(url.fileURLToPath(new URL(import.meta.url))),
26
+ '<%- projectDirectory %>/policies',
27
+ ),
28
+ <%_ } _%>
29
+ });
30
+
31
+ const rc = RuntimeConfig.ensure(this);
32
+ rc.set('agentcore', 'gateways', {
33
+ ...rc.get('agentcore').gateways,
34
+ <%- nameClassName %>: this.gateway.gatewayUrl,
35
+ });
36
+ }
37
+ }