@aws/nx-plugin 1.0.0-rc.21 → 1.0.0-rc.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/package.json +1 -1
  2. package/src/license/generator.js +22 -8
  3. package/src/license/generator.js.map +1 -1
  4. package/src/license/known-exceptions.d.ts +1 -0
  5. package/src/license/known-exceptions.js +13 -1
  6. package/src/license/known-exceptions.js.map +1 -1
  7. package/src/py/agent/__snapshots__/generator.spec.ts.snap +154 -0
  8. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  9. package/src/py/agent/a2a-connection/generator.js +58 -29
  10. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  11. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  12. package/src/py/agent/files/ag-ui-langchain/main.py.template +73 -0
  13. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  14. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  15. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  16. package/src/py/agent/gateway-connection/generator.js +14 -7
  17. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  18. package/src/py/agent/generator.js +68 -12
  19. package/src/py/agent/generator.js.map +1 -1
  20. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  21. package/src/py/agent/mcp-connection/generator.js +14 -9
  22. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  23. package/src/py/agent/react-connection/serve-local.js +9 -1
  24. package/src/py/agent/react-connection/serve-local.js.map +1 -1
  25. package/src/py/agent/schema.d.ts +1 -1
  26. package/src/py/agent/schema.json +1 -1
  27. package/src/utils/agent-connection/agent-connection.d.ts +50 -7
  28. package/src/utils/agent-connection/agent-connection.js +138 -8
  29. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  30. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  31. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  32. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  33. package/src/utils/versions.d.ts +6 -0
  34. package/src/utils/versions.js +6 -0
  35. package/src/utils/versions.js.map +1 -1
@@ -3,6 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type Tree } from '@nx/devkit';
6
+ import type { IPyDepVersion } from '../versions';
6
7
  export declare const AGENT_CONNECTION_PROJECT_DIR: string;
7
8
  /**
8
9
  * Get the directory of the shared Python agent-connection project.
@@ -29,7 +30,13 @@ export type ConnectionProtocol = 'mcp' | 'gateway' | 'a2a';
29
30
  * Layer-0/1 (`core-auth`, `core-shared`, the per-protocol transports/configs)
30
31
  * is reused unchanged.
31
32
  */
32
- export type AgentFramework = 'strands';
33
+ export type AgentFramework = 'strands' | 'langchain';
34
+ /**
35
+ * Resolve an agent component's framework, defaulting to `strands`. Connection
36
+ * generators dispatch on the returned framework to pick the matching templates
37
+ * and agent.py/agent.ts transforms.
38
+ */
39
+ export declare function resolveAgentFramework(framework: string | undefined): AgentFramework;
33
40
  /**
34
41
  * Ensure the shared TypeScript agent-connection project exists and has the
35
42
  * framework-agnostic core helpers (runtime-config loader, session context).
@@ -90,13 +97,49 @@ export declare function addPythonCoreClient(tree: Tree, protocol: ConnectionProt
90
97
  */
91
98
  export declare function addTypeScriptClientToAgent(tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string): Promise<void>;
92
99
  /**
93
- * Patch a Python agent.py to create a context-managed connection client,
94
- * enter it in the `with` block around `yield Agent(...)`, and spread its
95
- * `list_tools_sync()` into the Agent's tools. Used by the MCP and gateway
96
- * connection generators the client class must expose a static `create()`
97
- * returning a context manager with `list_tools_sync()` (e.g. an `MCPClient`).
100
+ * Per-framework naming + template layout for a Python per-connection client.
101
+ * Every py#agent connection generator (mcp, gateway, a2a) names its client
102
+ * class `<Name>Client<suffix>`, its module `<name>_client_<suffix>`, and reads
103
+ * the per-connection app-client template from a per-framework sub-path of its
104
+ * own `files/` dir all of which vary only by framework, so they live here as
105
+ * one source of truth.
106
+ *
107
+ * Keyed by {@link AgentFramework} rather than a boolean so a third framework is
108
+ * an additive entry here — never another `if (isLangchain)` branch in each
109
+ * generator.
110
+ */
111
+ export interface PyClientNaming {
112
+ /** Class-name suffix on the per-connection app client (`<Name>Client<suffix>`). */
113
+ clientClassSuffix: string;
114
+ /** Module/file-name suffix on the per-connection app client (`<name>_client_<suffix>`). */
115
+ clientModuleSuffix: string;
116
+ /**
117
+ * Sub-path, under a connection generator's `files/` dir, of the per-connection
118
+ * app client template for this framework. Every connection generator lays its
119
+ * templates out the same way, so this resolves against any of them.
120
+ */
121
+ appTemplateSubdir: string;
122
+ }
123
+ export declare const PY_CLIENT_NAMING: Record<AgentFramework, PyClientNaming>;
124
+ /**
125
+ * How an MCP-family connection (an MCP server or an AgentCore Gateway, both of
126
+ * which expose tools over MCP) is wired into a Python agent of a given
127
+ * framework. The mcp-connection and gateway-connection generators share this:
128
+ * they differ only in the metadata of the thing being connected, not in how
129
+ * the framework's client is shaped or spliced into agent.py. A2A connections
130
+ * wire tools differently, so they reuse only {@link PY_CLIENT_NAMING}.
98
131
  */
99
- export declare function addPythonClientToAgent(tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string): Promise<void>;
132
+ export interface PyMcpFamilyConnection extends PyClientNaming {
133
+ /** Extra Python deps this framework's MCP-family client needs (beyond the shared transport). */
134
+ deps: IPyDepVersion[];
135
+ /**
136
+ * Splice the per-connection client into the agent's `get_agent` in agent.py.
137
+ * Strands enters a context-managed `MCPClient` and spreads `list_tools_sync()`;
138
+ * LangChain loads `BaseTool`s and spreads them into `create_agent(...)`.
139
+ */
140
+ wireClientIntoAgent: (tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string) => Promise<void>;
141
+ }
142
+ export declare const PY_MCP_FAMILY_CONNECTIONS: Record<AgentFramework, PyMcpFamilyConnection>;
100
143
  /**
101
144
  * Add a re-export to the Python agent-connection module's __init__.py.
102
145
  * Equivalent to addStarExport for TS.
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AGENT_CONNECTION_PROJECT_DIR = void 0;
3
+ exports.PY_MCP_FAMILY_CONNECTIONS = exports.PY_CLIENT_NAMING = exports.AGENT_CONNECTION_PROJECT_DIR = void 0;
4
4
  exports.getPythonAgentConnectionProjectDir = getPythonAgentConnectionProjectDir;
5
5
  exports.getPythonAgentConnectionModuleName = getPythonAgentConnectionModuleName;
6
6
  exports.getPythonAgentConnectionPackageName = getPythonAgentConnectionPackageName;
7
+ exports.resolveAgentFramework = resolveAgentFramework;
7
8
  exports.ensureTypeScriptAgentConnectionProject = ensureTypeScriptAgentConnectionProject;
8
9
  exports.addTypeScriptFrameworkBase = addTypeScriptFrameworkBase;
9
10
  exports.addTypeScriptCoreClient = addTypeScriptCoreClient;
@@ -11,7 +12,6 @@ exports.ensurePythonAgentConnectionProject = ensurePythonAgentConnectionProject;
11
12
  exports.addPythonFrameworkBase = addPythonFrameworkBase;
12
13
  exports.addPythonCoreClient = addPythonCoreClient;
13
14
  exports.addTypeScriptClientToAgent = addTypeScriptClientToAgent;
14
- exports.addPythonClientToAgent = addPythonClientToAgent;
15
15
  exports.addPythonReExport = addPythonReExport;
16
16
  const tslib_1 = require("tslib");
17
17
  /**
@@ -60,6 +60,14 @@ function getPythonAgentConnectionPackageName(tree) {
60
60
  });
61
61
  return fullyQualifiedName;
62
62
  }
63
+ /**
64
+ * Resolve an agent component's framework, defaulting to `strands`. Connection
65
+ * generators dispatch on the returned framework to pick the matching templates
66
+ * and agent.py/agent.ts transforms.
67
+ */
68
+ function resolveAgentFramework(framework) {
69
+ return framework === 'langchain' ? 'langchain' : 'strands';
70
+ }
63
71
  /**
64
72
  * Framework-agnostic Layer-1 templates, keyed by protocol. These resolve the
65
73
  * endpoint and build the signed transport/client-config; they contain no
@@ -79,6 +87,16 @@ const FRAMEWORKS = {
79
87
  strands: {
80
88
  ts: {
81
89
  base: 'core-strands/base',
90
+ baseReExports: [
91
+ {
92
+ fromModule: './core/with-session-id-strands.js',
93
+ importName: '*',
94
+ },
95
+ {
96
+ fromModule: './core/model-errors-strands.js',
97
+ importName: '*',
98
+ },
99
+ ],
82
100
  protocols: {
83
101
  mcp: 'core-strands/mcp',
84
102
  gateway: 'core-strands/gateway',
@@ -88,6 +106,16 @@ const FRAMEWORKS = {
88
106
  },
89
107
  py: {
90
108
  base: 'py-core-strands/base',
109
+ baseReExports: [
110
+ {
111
+ fromModule: '.core.with_session_id_strands',
112
+ importName: 'with_session_id',
113
+ },
114
+ {
115
+ fromModule: '.core.model_errors_strands',
116
+ importName: 'log_model_errors',
117
+ },
118
+ ],
91
119
  protocols: {
92
120
  mcp: 'py-core-strands/mcp',
93
121
  gateway: 'py-core-strands/gateway',
@@ -96,6 +124,26 @@ const FRAMEWORKS = {
96
124
  deps: ['strands-agents'],
97
125
  },
98
126
  },
127
+ langchain: {
128
+ // LangChain is supported for Python agents only (the TypeScript LangChain
129
+ // agent foundation has no in-process AG-UI <-> LangGraph adapter, so it is
130
+ // not scaffolded — see ts#agent). Its Layer-2 clients stay usable after
131
+ // agent construction, so there is no base helper layer (no model-error
132
+ // logger / per-session agent cache) and no strands-agents dependency — its
133
+ // AG-UI foundation reuses only the framework-agnostic session context, and
134
+ // its A2A client drives the a2a SDK directly rather than wrapping Strands'
135
+ // A2AAgent. The per-connection adapter dependency (langchain-mcp-adapters /
136
+ // a2a-sdk) is added by the connection generators.
137
+ py: {
138
+ baseReExports: [],
139
+ protocols: {
140
+ mcp: 'py-core-langchain/mcp',
141
+ gateway: 'py-core-langchain/gateway',
142
+ a2a: 'py-core-langchain/a2a',
143
+ },
144
+ deps: [],
145
+ },
146
+ },
99
147
  };
100
148
  /** Resolve a framework's templates for a language + protocol, or throw. */
101
149
  function frameworkLanguage(framework, language, protocol) {
@@ -145,10 +193,13 @@ async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
145
193
  if (!lang) {
146
194
  throw new Error(`The '${framework}' framework does not support TypeScript agents.`);
147
195
  }
148
- emitTs(tree, lang.base);
196
+ if (lang.base) {
197
+ emitTs(tree, lang.base);
198
+ }
149
199
  const indexPath = (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts');
150
- await (0, ast_1.addStarExport)(tree, indexPath, './core/with-session-id-strands.js');
151
- await (0, ast_1.addStarExport)(tree, indexPath, './core/model-errors-strands.js');
200
+ for (const reExport of lang.baseReExports) {
201
+ await (0, ast_1.addStarExport)(tree, indexPath, reExport.fromModule);
202
+ }
152
203
  }
153
204
  /**
154
205
  * Emit the TypeScript client templates for a connection protocol and agent
@@ -225,10 +276,13 @@ async function addPythonFrameworkBase(tree, framework = 'strands') {
225
276
  if (!lang) {
226
277
  throw new Error(`The '${framework}' framework does not support Python agents.`);
227
278
  }
228
- emitPy(tree, lang.base);
279
+ if (lang.base) {
280
+ emitPy(tree, lang.base);
281
+ }
229
282
  const moduleInitPath = (0, devkit_1.joinPathFragments)(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), '__init__.py');
230
- await addPythonReExport(tree, moduleInitPath, '.core.with_session_id_strands', 'with_session_id');
231
- await addPythonReExport(tree, moduleInitPath, '.core.model_errors_strands', 'log_model_errors');
283
+ for (const reExport of lang.baseReExports) {
284
+ await addPythonReExport(tree, moduleInitPath, reExport.fromModule, reExport.importName);
285
+ }
232
286
  if (lang.deps.length > 0) {
233
287
  (0, py_1.addDependenciesToPyProjectToml)(tree, getPythonAgentConnectionProjectDir(tree), lang.deps);
234
288
  }
@@ -344,6 +398,82 @@ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, client
344
398
  ):
345
399
  $body\``));
346
400
  };
401
+ /**
402
+ * Patch a LangChain agent.py to load connection tools and spread them into the
403
+ * `create_agent(...)` tools list. Used by the MCP and gateway connection
404
+ * generators when the source agent uses the `langchain` framework — the client
405
+ * class must expose a static `create()` returning a `list[BaseTool]`. The tools
406
+ * come from langchain-mcp-adapters' `MultiServerMCPClient`, which keeps the
407
+ * connection config on each tool and opens a fresh MCP session per call, so the
408
+ * tools stay usable after `get_agent` returns — no `with` block is needed.
409
+ * Mirrors {@link addPythonClientToAgent} for the Strands shape.
410
+ */
411
+ async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
412
+ await addPythonLangchainClientTools(tree, agentFilePath, clientVarName);
413
+ await addPythonLangchainClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
414
+ }
415
+ /**
416
+ * Spread `*<clientVarName>` into the `create_agent(...)` tools list.
417
+ *
418
+ * Scoped via `$old <: within \`create_agent($_)\`` so only the agent's own
419
+ * tools= keyword argument is touched (not an unrelated function with a
420
+ * `tools=` parameter).
421
+ */
422
+ const addPythonLangchainClientTools = async (tree, filePath, clientVarName) => {
423
+ await (0, ast_1.applyGritQL)(tree, filePath, py(`\`tools=$old\` where {
424
+ $old <: within \`create_agent($_)\`,
425
+ $old <: not contains \`*${clientVarName}\`,
426
+ if ($old <: \`[]\`) {
427
+ $old => \`[*${clientVarName}]\`
428
+ } else {
429
+ $old <: \`[$items]\` where { $items += \`, *${clientVarName}\` }
430
+ }
431
+ }`));
432
+ };
433
+ /**
434
+ * Prepend `<clientVarName> = <clientClassName>.create()` to the get_agent body
435
+ * (which loads the connection's tools). No `with` block — the LangChain client
436
+ * hands langchain-mcp-adapters a connection config, so each tool opens its own
437
+ * MCP session per call and the tools are safe to use after get_agent returns.
438
+ * Idempotent via the `not contains <clientClassName>.create` guard.
439
+ */
440
+ const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassName, clientVarName) => {
441
+ if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientClassName}.create()\``))) {
442
+ return;
443
+ }
444
+ await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
445
+ $body\` where {
446
+ $body <: contains \`create_agent($_)\`,
447
+ $body <: not contains \`${clientClassName}.create\`
448
+ } => \`def get_agent($params):
449
+ ${clientVarName} = ${clientClassName}.create()
450
+ $body\``));
451
+ };
452
+ exports.PY_CLIENT_NAMING = {
453
+ strands: {
454
+ clientClassSuffix: 'Strands',
455
+ clientModuleSuffix: 'strands',
456
+ appTemplateSubdir: (0, devkit_1.joinPathFragments)('agent-connection', 'app'),
457
+ },
458
+ langchain: {
459
+ clientClassSuffix: 'LangChain',
460
+ clientModuleSuffix: 'langchain',
461
+ appTemplateSubdir: (0, devkit_1.joinPathFragments)('langchain', 'agent-connection', 'app'),
462
+ },
463
+ };
464
+ exports.PY_MCP_FAMILY_CONNECTIONS = {
465
+ strands: {
466
+ ...exports.PY_CLIENT_NAMING.strands,
467
+ deps: [],
468
+ wireClientIntoAgent: addPythonClientToAgent,
469
+ },
470
+ langchain: {
471
+ ...exports.PY_CLIENT_NAMING.langchain,
472
+ // langchain-mcp-adapters backs the LangChain client; it must not pull Strands in.
473
+ deps: ['langchain-mcp-adapters'],
474
+ wireClientIntoAgent: addPythonLangchainClientToAgent,
475
+ },
476
+ };
347
477
  /**
348
478
  * Add a re-export to the Python agent-connection module's __init__.py.
349
479
  * 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":"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"}
@@ -0,0 +1,99 @@
1
+ import asyncio
2
+ from collections.abc import Callable
3
+ from concurrent.futures import ThreadPoolExecutor
4
+ from uuid import uuid4
5
+
6
+ from a2a.client import A2ACardResolver, ClientConfig, ClientFactory
7
+ from a2a.types import Message, Part, Role, Task, TextPart
8
+
9
+ from .agentcore_a2a_client_config import AgentCoreA2aClientConfig
10
+
11
+
12
+ def _run_sync(coro):
13
+ # The tool is invoked from sync agent code, which under uvicorn runs inside a
14
+ # live event loop where asyncio.run() would raise — fall back to a worker.
15
+ try:
16
+ asyncio.get_running_loop()
17
+ except RuntimeError:
18
+ return asyncio.run(coro)
19
+ with ThreadPoolExecutor(max_workers=1) as pool:
20
+ return pool.submit(asyncio.run, coro).result()
21
+
22
+
23
+ def _text(event) -> str:
24
+ # Collect text parts from a bare Message or a (Task, update) event.
25
+ parts = []
26
+ if isinstance(event, Message):
27
+ parts = event.parts
28
+ elif isinstance(event, tuple):
29
+ task, update = event
30
+ if isinstance(task, Task) and task.artifacts:
31
+ parts = [p for a in task.artifacts for p in (a.parts or [])]
32
+ elif update is not None and getattr(update, "status", None) and update.status.message:
33
+ parts = update.status.message.parts
34
+ return "".join(p.root.text for p in parts if getattr(p.root, "text", None))
35
+
36
+
37
+ class _A2AClient:
38
+ """A synchronously-callable A2A client. Sends a text prompt to the remote
39
+ agent and returns its text reply. Built on the a2a SDK only — no Strands."""
40
+
41
+ def __init__(self, url: str, client_config: ClientConfig):
42
+ self._url = url
43
+ self._config = client_config
44
+
45
+ def __call__(self, prompt: str) -> str:
46
+ return _run_sync(self._invoke(prompt))
47
+
48
+ async def _invoke(self, prompt: str) -> str:
49
+ # AgentCoreA2aClientConfig always sets the signed httpx client.
50
+ httpx_client = self._config.httpx_client
51
+ if httpx_client is None:
52
+ raise RuntimeError("A2A client config is missing an httpx client")
53
+ card = await A2ACardResolver(
54
+ httpx_client=httpx_client, base_url=self._url
55
+ ).get_agent_card()
56
+ client = ClientFactory(self._config).create(card)
57
+ message = Message(
58
+ kind="message",
59
+ role=Role.user,
60
+ message_id=uuid4().hex,
61
+ parts=[Part(TextPart(kind="text", text=prompt))],
62
+ )
63
+ # The client config uses streaming=False, so the last event carries the
64
+ # complete response.
65
+ reply = ""
66
+ async for event in client.send_message(message):
67
+ text = _text(event)
68
+ if text:
69
+ reply = text
70
+ return reply
71
+
72
+
73
+ class AgentCoreA2aClientLangChain:
74
+ """Factory for A2A clients that connect to an AgentCore runtime.
75
+
76
+ Reuses the framework-agnostic Layer-1 ``AgentCoreA2aClientConfig`` (signed
77
+ ``a2a.client.ClientConfig``) and drives the a2a SDK directly, so a LangChain
78
+ agent delegating to an A2A agent pulls in no Strands dependency."""
79
+
80
+ @staticmethod
81
+ def with_iam_auth(agent_runtime_arn: str) -> _A2AClient:
82
+ """SigV4-authenticated client for a Bedrock AgentCore runtime."""
83
+ return _A2AClient(*AgentCoreA2aClientConfig.with_iam_auth(agent_runtime_arn))
84
+
85
+ @staticmethod
86
+ def with_jwt_auth(
87
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
88
+ ) -> _A2AClient:
89
+ """Bearer-authenticated client for a Bedrock AgentCore runtime."""
90
+ return _A2AClient(
91
+ *AgentCoreA2aClientConfig.with_jwt_auth(
92
+ agent_runtime_arn, access_token_provider
93
+ )
94
+ )
95
+
96
+ @staticmethod
97
+ def without_auth(url: str) -> _A2AClient:
98
+ """Plain-HTTP client for local dev."""
99
+ return _A2AClient(*AgentCoreA2aClientConfig.without_auth(url))
@@ -0,0 +1,57 @@
1
+ import asyncio
2
+ from concurrent.futures import ThreadPoolExecutor
3
+
4
+ import boto3
5
+ import httpx
6
+
7
+ from langchain_core.tools import BaseTool
8
+ from langchain_mcp_adapters.client import MultiServerMCPClient
9
+
10
+ from .agentcore_endpoints import region_from_gateway_url
11
+ from .auth.session import plain_auth, sigv4_auth
12
+
13
+
14
+ def _run_sync(coro):
15
+ # Tools load during agent construction, which under uvicorn runs inside a
16
+ # live event loop where asyncio.run() would raise — fall back to a worker.
17
+ try:
18
+ asyncio.get_running_loop()
19
+ except RuntimeError:
20
+ return asyncio.run(coro)
21
+ with ThreadPoolExecutor(max_workers=1) as pool:
22
+ return pool.submit(asyncio.run, coro).result()
23
+
24
+
25
+ def _load_tools(url: str, auth: httpx.Auth) -> list[BaseTool]:
26
+ # Pass a connection config so each tool opens a fresh session per call and
27
+ # stays usable after construction (no shared session to close).
28
+ client = MultiServerMCPClient(
29
+ {
30
+ "server": {
31
+ "transport": "streamable_http",
32
+ "url": url,
33
+ "auth": auth,
34
+ "terminate_on_close": False,
35
+ }
36
+ }
37
+ )
38
+ return _run_sync(client.get_tools())
39
+
40
+
41
+ class AgentCoreGatewayMCPClientLangChain:
42
+ """Loads LangChain tools from an AgentCore Gateway."""
43
+
44
+ @staticmethod
45
+ def with_iam_auth(
46
+ gateway_url: str,
47
+ region: str | None = None,
48
+ ) -> list[BaseTool]:
49
+ """SigV4-authenticated tools for an AgentCore Gateway."""
50
+ resolved_region = region or region_from_gateway_url(gateway_url)
51
+ credentials = boto3.Session(region_name=resolved_region).get_credentials()
52
+ return _load_tools(gateway_url, sigv4_auth(credentials, resolved_region))
53
+
54
+ @staticmethod
55
+ def without_auth(gateway_url: str) -> list[BaseTool]:
56
+ """Plain-HTTP tools for the local gateway started by serve-local."""
57
+ return _load_tools(gateway_url, plain_auth())
@@ -0,0 +1,64 @@
1
+ import asyncio
2
+ from collections.abc import Callable
3
+ from concurrent.futures import ThreadPoolExecutor
4
+
5
+ import boto3
6
+ import httpx
7
+
8
+ from langchain_core.tools import BaseTool
9
+ from langchain_mcp_adapters.client import MultiServerMCPClient
10
+
11
+ from .agentcore_endpoints import mcp_url_from_arn, region_from_arn
12
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
13
+
14
+
15
+ def _run_sync(coro):
16
+ # Tools load during agent construction, which under uvicorn runs inside a
17
+ # live event loop where asyncio.run() would raise — fall back to a worker.
18
+ try:
19
+ asyncio.get_running_loop()
20
+ except RuntimeError:
21
+ return asyncio.run(coro)
22
+ with ThreadPoolExecutor(max_workers=1) as pool:
23
+ return pool.submit(asyncio.run, coro).result()
24
+
25
+
26
+ def _load_tools(url: str, auth: httpx.Auth) -> list[BaseTool]:
27
+ # Pass a connection config so each tool opens a fresh session per call and
28
+ # stays usable after construction (no shared session to close).
29
+ client = MultiServerMCPClient(
30
+ {
31
+ "server": {
32
+ "transport": "streamable_http",
33
+ "url": url,
34
+ "auth": auth,
35
+ "terminate_on_close": False,
36
+ }
37
+ }
38
+ )
39
+ return _run_sync(client.get_tools())
40
+
41
+
42
+ class AgentCoreMCPClientLangChain:
43
+ """Loads LangChain tools from an MCP server on an AgentCore runtime."""
44
+
45
+ @staticmethod
46
+ def with_iam_auth(agent_runtime_arn: str) -> list[BaseTool]:
47
+ """SigV4-authenticated tools for a Bedrock AgentCore runtime."""
48
+ region = region_from_arn(agent_runtime_arn)
49
+ url = mcp_url_from_arn(agent_runtime_arn)
50
+ credentials = boto3.Session(region_name=region).get_credentials()
51
+ return _load_tools(url, sigv4_auth(credentials, region))
52
+
53
+ @staticmethod
54
+ def with_jwt_auth(
55
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
56
+ ) -> list[BaseTool]:
57
+ """Bearer-authenticated tools for a Bedrock AgentCore runtime."""
58
+ url = mcp_url_from_arn(agent_runtime_arn)
59
+ return _load_tools(url, jwt_auth(access_token_provider))
60
+
61
+ @staticmethod
62
+ def without_auth(url: str) -> list[BaseTool]:
63
+ """Plain-HTTP tools for local dev."""
64
+ return _load_tools(url, plain_auth())
@@ -134,6 +134,8 @@ export declare const withVersions: (deps: ITsDepVersion[]) => {
134
134
  * Versions for Python dependencies added by generators
135
135
  */
136
136
  export declare const PY_VERSIONS: {
137
+ readonly 'a2a-sdk': "==0.3.26";
138
+ readonly 'ag-ui-langgraph': "==0.0.42";
137
139
  readonly 'ag-ui-protocol': "==0.1.19";
138
140
  readonly 'ag-ui-strands': "==0.2.1";
139
141
  readonly 'aws-lambda-powertools': "==3.29.0";
@@ -146,6 +148,10 @@ export declare const PY_VERSIONS: {
146
148
  readonly fastapi: "==0.137.1";
147
149
  readonly 'fastapi[standard]': "==0.137.1";
148
150
  readonly httpx: "==0.28.1";
151
+ readonly langchain: "==1.3.9";
152
+ readonly 'langchain-aws': "==1.5.1";
153
+ readonly 'langchain-mcp-adapters': "==0.3.0";
154
+ readonly langgraph: "==1.2.5";
149
155
  readonly mcp: "==1.27.2";
150
156
  readonly 'pip-check-updates': "==0.28.0";
151
157
  readonly 'pip-licenses': "==5.5.5";
@@ -135,6 +135,8 @@ exports.withVersions = withVersions;
135
135
  * Versions for Python dependencies added by generators
136
136
  */
137
137
  exports.PY_VERSIONS = {
138
+ 'a2a-sdk': '==0.3.26',
139
+ 'ag-ui-langgraph': '==0.0.42',
138
140
  'ag-ui-protocol': '==0.1.19',
139
141
  'ag-ui-strands': '==0.2.1',
140
142
  'aws-lambda-powertools': '==3.29.0',
@@ -147,6 +149,10 @@ exports.PY_VERSIONS = {
147
149
  fastapi: '==0.137.1',
148
150
  'fastapi[standard]': '==0.137.1',
149
151
  httpx: '==0.28.1',
152
+ langchain: '==1.3.9',
153
+ 'langchain-aws': '==1.5.1',
154
+ 'langchain-mcp-adapters': '==0.3.0',
155
+ langgraph: '==1.2.5',
150
156
  mcp: '==1.27.2',
151
157
  'pip-check-updates': '==0.28.0',
152
158
  'pip-licenses': '==5.5.5',
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}