@aws/nx-plugin 1.0.0-rc.21 → 1.0.0-rc.23
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.
- package/package.json +1 -1
- package/src/license/generator.js +22 -8
- package/src/license/generator.js.map +1 -1
- package/src/license/known-exceptions.d.ts +1 -0
- package/src/license/known-exceptions.js +13 -1
- package/src/license/known-exceptions.js.map +1 -1
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +167 -3
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
- package/src/py/agent/a2a-connection/generator.js +59 -31
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
- package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
- package/src/py/agent/files/common-langchain/agent.py.template +30 -0
- package/src/py/agent/files/http-langchain/main.py.template +84 -0
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
- package/src/py/agent/gateway-connection/generator.js +15 -9
- package/src/py/agent/gateway-connection/generator.js.map +1 -1
- package/src/py/agent/generator.js +69 -14
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
- package/src/py/agent/mcp-connection/generator.js +15 -11
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/serve-local.js +9 -1
- package/src/py/agent/react-connection/serve-local.js.map +1 -1
- package/src/py/agent/schema.d.ts +1 -1
- package/src/py/agent/schema.json +1 -1
- package/src/py/dynamodb/agent-connection/generator.js +1 -1
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
- package/src/py/dynamodb/fast-api-connection/generator.js +1 -1
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
- package/src/py/dynamodb/mcp-server-connection/generator.js +1 -1
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/project/generator.d.ts +14 -1
- package/src/py/project/generator.js +12 -2
- package/src/py/project/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +4 -0
- package/src/ts/rdb/files/src/utils.ts.template +2 -0
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +25 -72
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +17 -4
- package/src/utils/agent-connection/agent-connection.d.ts +58 -9
- package/src/utils/agent-connection/agent-connection.js +146 -13
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
- package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +1 -1
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +17 -4
- package/src/utils/names.d.ts +16 -0
- package/src/utils/names.js +18 -1
- package/src/utils/names.js.map +1 -1
- package/src/utils/py.d.ts +14 -1
- package/src/utils/py.js +34 -7
- package/src/utils/py.js.map +1 -1
- package/src/utils/versions.d.ts +6 -0
- package/src/utils/versions.js +6 -0
- 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.
|
|
@@ -13,9 +14,15 @@ export declare function getPythonAgentConnectionProjectDir(tree: Tree): string;
|
|
|
13
14
|
*/
|
|
14
15
|
export declare function getPythonAgentConnectionModuleName(tree: Tree): string;
|
|
15
16
|
/**
|
|
16
|
-
* Get the
|
|
17
|
+
* Get the shared agent-connection project as `{ name, root }`, suitable for
|
|
18
|
+
* passing to {@link addWorkspaceDependencyToPyProject} (which derives the
|
|
19
|
+
* dependency's PEP 503 distribution name from the project itself, so callers
|
|
20
|
+
* never construct the name).
|
|
17
21
|
*/
|
|
18
|
-
export declare function
|
|
22
|
+
export declare function getPythonAgentConnectionProject(tree: Tree): {
|
|
23
|
+
name: string;
|
|
24
|
+
root: string;
|
|
25
|
+
};
|
|
19
26
|
/**
|
|
20
27
|
* The connection protocols an agent framework can connect over. Each maps to a
|
|
21
28
|
* framework-agnostic Layer-0/1 template directory plus a per-framework Layer-2
|
|
@@ -29,7 +36,13 @@ export type ConnectionProtocol = 'mcp' | 'gateway' | 'a2a';
|
|
|
29
36
|
* Layer-0/1 (`core-auth`, `core-shared`, the per-protocol transports/configs)
|
|
30
37
|
* is reused unchanged.
|
|
31
38
|
*/
|
|
32
|
-
export type AgentFramework = 'strands';
|
|
39
|
+
export type AgentFramework = 'strands' | 'langchain';
|
|
40
|
+
/**
|
|
41
|
+
* Resolve an agent component's framework, defaulting to `strands`. Connection
|
|
42
|
+
* generators dispatch on the returned framework to pick the matching templates
|
|
43
|
+
* and agent.py/agent.ts transforms.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveAgentFramework(framework: string | undefined): AgentFramework;
|
|
33
46
|
/**
|
|
34
47
|
* Ensure the shared TypeScript agent-connection project exists and has the
|
|
35
48
|
* framework-agnostic core helpers (runtime-config loader, session context).
|
|
@@ -90,13 +103,49 @@ export declare function addPythonCoreClient(tree: Tree, protocol: ConnectionProt
|
|
|
90
103
|
*/
|
|
91
104
|
export declare function addTypeScriptClientToAgent(tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string): Promise<void>;
|
|
92
105
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
* connection
|
|
97
|
-
*
|
|
106
|
+
* Per-framework naming + template layout for a Python per-connection client.
|
|
107
|
+
* Every py#agent connection generator (mcp, gateway, a2a) names its client
|
|
108
|
+
* class `<Name>Client<suffix>`, its module `<name>_client_<suffix>`, and reads
|
|
109
|
+
* the per-connection app-client template from a per-framework sub-path of its
|
|
110
|
+
* own `files/` dir — all of which vary only by framework, so they live here as
|
|
111
|
+
* one source of truth.
|
|
112
|
+
*
|
|
113
|
+
* Keyed by {@link AgentFramework} rather than a boolean so a third framework is
|
|
114
|
+
* an additive entry here — never another `if (isLangchain)` branch in each
|
|
115
|
+
* generator.
|
|
116
|
+
*/
|
|
117
|
+
export interface PyClientNaming {
|
|
118
|
+
/** Class-name suffix on the per-connection app client (`<Name>Client<suffix>`). */
|
|
119
|
+
clientClassSuffix: string;
|
|
120
|
+
/** Module/file-name suffix on the per-connection app client (`<name>_client_<suffix>`). */
|
|
121
|
+
clientModuleSuffix: string;
|
|
122
|
+
/**
|
|
123
|
+
* Sub-path, under a connection generator's `files/` dir, of the per-connection
|
|
124
|
+
* app client template for this framework. Every connection generator lays its
|
|
125
|
+
* templates out the same way, so this resolves against any of them.
|
|
126
|
+
*/
|
|
127
|
+
appTemplateSubdir: string;
|
|
128
|
+
}
|
|
129
|
+
export declare const PY_CLIENT_NAMING: Record<AgentFramework, PyClientNaming>;
|
|
130
|
+
/**
|
|
131
|
+
* How an MCP-family connection (an MCP server or an AgentCore Gateway, both of
|
|
132
|
+
* which expose tools over MCP) is wired into a Python agent of a given
|
|
133
|
+
* framework. The mcp-connection and gateway-connection generators share this:
|
|
134
|
+
* they differ only in the metadata of the thing being connected, not in how
|
|
135
|
+
* the framework's client is shaped or spliced into agent.py. A2A connections
|
|
136
|
+
* wire tools differently, so they reuse only {@link PY_CLIENT_NAMING}.
|
|
98
137
|
*/
|
|
99
|
-
export
|
|
138
|
+
export interface PyMcpFamilyConnection extends PyClientNaming {
|
|
139
|
+
/** Extra Python deps this framework's MCP-family client needs (beyond the shared transport). */
|
|
140
|
+
deps: IPyDepVersion[];
|
|
141
|
+
/**
|
|
142
|
+
* Splice the per-connection client into the agent's `get_agent` in agent.py.
|
|
143
|
+
* Strands enters a context-managed `MCPClient` and spreads `list_tools_sync()`;
|
|
144
|
+
* LangChain loads `BaseTool`s and spreads them into `create_agent(...)`.
|
|
145
|
+
*/
|
|
146
|
+
wireClientIntoAgent: (tree: Tree, agentFilePath: string, clientClassName: string, clientVarName: string) => Promise<void>;
|
|
147
|
+
}
|
|
148
|
+
export declare const PY_MCP_FAMILY_CONNECTIONS: Record<AgentFramework, PyMcpFamilyConnection>;
|
|
100
149
|
/**
|
|
101
150
|
* Add a re-export to the Python agent-connection module's __init__.py.
|
|
102
151
|
* 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
|
-
exports.
|
|
6
|
+
exports.getPythonAgentConnectionProject = getPythonAgentConnectionProject;
|
|
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
|
/**
|
|
@@ -51,14 +51,25 @@ function getPythonAgentConnectionModuleName(tree) {
|
|
|
51
51
|
return normalizedModuleName;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
* Get the
|
|
54
|
+
* Get the shared agent-connection project as `{ name, root }`, suitable for
|
|
55
|
+
* passing to {@link addWorkspaceDependencyToPyProject} (which derives the
|
|
56
|
+
* dependency's PEP 503 distribution name from the project itself, so callers
|
|
57
|
+
* never construct the name).
|
|
55
58
|
*/
|
|
56
|
-
function
|
|
57
|
-
const { fullyQualifiedName } = (0, generator_1.getPyProjectDetails)(tree, {
|
|
59
|
+
function getPythonAgentConnectionProject(tree) {
|
|
60
|
+
const { fullyQualifiedName, dir } = (0, generator_1.getPyProjectDetails)(tree, {
|
|
58
61
|
name: PY_AGENT_CONNECTION_NAME,
|
|
59
62
|
directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
|
|
60
63
|
});
|
|
61
|
-
return fullyQualifiedName;
|
|
64
|
+
return { name: fullyQualifiedName, root: dir };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Resolve an agent component's framework, defaulting to `strands`. Connection
|
|
68
|
+
* generators dispatch on the returned framework to pick the matching templates
|
|
69
|
+
* and agent.py/agent.ts transforms.
|
|
70
|
+
*/
|
|
71
|
+
function resolveAgentFramework(framework) {
|
|
72
|
+
return framework === 'langchain' ? 'langchain' : 'strands';
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* Framework-agnostic Layer-1 templates, keyed by protocol. These resolve the
|
|
@@ -79,6 +90,16 @@ const FRAMEWORKS = {
|
|
|
79
90
|
strands: {
|
|
80
91
|
ts: {
|
|
81
92
|
base: 'core-strands/base',
|
|
93
|
+
baseReExports: [
|
|
94
|
+
{
|
|
95
|
+
fromModule: './core/with-session-id-strands.js',
|
|
96
|
+
importName: '*',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
fromModule: './core/model-errors-strands.js',
|
|
100
|
+
importName: '*',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
82
103
|
protocols: {
|
|
83
104
|
mcp: 'core-strands/mcp',
|
|
84
105
|
gateway: 'core-strands/gateway',
|
|
@@ -88,6 +109,16 @@ const FRAMEWORKS = {
|
|
|
88
109
|
},
|
|
89
110
|
py: {
|
|
90
111
|
base: 'py-core-strands/base',
|
|
112
|
+
baseReExports: [
|
|
113
|
+
{
|
|
114
|
+
fromModule: '.core.with_session_id_strands',
|
|
115
|
+
importName: 'with_session_id',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
fromModule: '.core.model_errors_strands',
|
|
119
|
+
importName: 'log_model_errors',
|
|
120
|
+
},
|
|
121
|
+
],
|
|
91
122
|
protocols: {
|
|
92
123
|
mcp: 'py-core-strands/mcp',
|
|
93
124
|
gateway: 'py-core-strands/gateway',
|
|
@@ -96,6 +127,26 @@ const FRAMEWORKS = {
|
|
|
96
127
|
deps: ['strands-agents'],
|
|
97
128
|
},
|
|
98
129
|
},
|
|
130
|
+
langchain: {
|
|
131
|
+
// LangChain is supported for Python agents only (the TypeScript LangChain
|
|
132
|
+
// agent foundation has no in-process AG-UI <-> LangGraph adapter, so it is
|
|
133
|
+
// not scaffolded — see ts#agent). Its Layer-2 clients stay usable after
|
|
134
|
+
// agent construction, so there is no base helper layer (no model-error
|
|
135
|
+
// logger / per-session agent cache) and no strands-agents dependency — its
|
|
136
|
+
// AG-UI foundation reuses only the framework-agnostic session context, and
|
|
137
|
+
// its A2A client drives the a2a SDK directly rather than wrapping Strands'
|
|
138
|
+
// A2AAgent. The per-connection adapter dependency (langchain-mcp-adapters /
|
|
139
|
+
// a2a-sdk) is added by the connection generators.
|
|
140
|
+
py: {
|
|
141
|
+
baseReExports: [],
|
|
142
|
+
protocols: {
|
|
143
|
+
mcp: 'py-core-langchain/mcp',
|
|
144
|
+
gateway: 'py-core-langchain/gateway',
|
|
145
|
+
a2a: 'py-core-langchain/a2a',
|
|
146
|
+
},
|
|
147
|
+
deps: [],
|
|
148
|
+
},
|
|
149
|
+
},
|
|
99
150
|
};
|
|
100
151
|
/** Resolve a framework's templates for a language + protocol, or throw. */
|
|
101
152
|
function frameworkLanguage(framework, language, protocol) {
|
|
@@ -145,10 +196,13 @@ async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
|
|
|
145
196
|
if (!lang) {
|
|
146
197
|
throw new Error(`The '${framework}' framework does not support TypeScript agents.`);
|
|
147
198
|
}
|
|
148
|
-
|
|
199
|
+
if (lang.base) {
|
|
200
|
+
emitTs(tree, lang.base);
|
|
201
|
+
}
|
|
149
202
|
const indexPath = (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts');
|
|
150
|
-
|
|
151
|
-
|
|
203
|
+
for (const reExport of lang.baseReExports) {
|
|
204
|
+
await (0, ast_1.addStarExport)(tree, indexPath, reExport.fromModule);
|
|
205
|
+
}
|
|
152
206
|
}
|
|
153
207
|
/**
|
|
154
208
|
* Emit the TypeScript client templates for a connection protocol and agent
|
|
@@ -225,10 +279,13 @@ async function addPythonFrameworkBase(tree, framework = 'strands') {
|
|
|
225
279
|
if (!lang) {
|
|
226
280
|
throw new Error(`The '${framework}' framework does not support Python agents.`);
|
|
227
281
|
}
|
|
228
|
-
|
|
282
|
+
if (lang.base) {
|
|
283
|
+
emitPy(tree, lang.base);
|
|
284
|
+
}
|
|
229
285
|
const moduleInitPath = (0, devkit_1.joinPathFragments)(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), '__init__.py');
|
|
230
|
-
|
|
231
|
-
|
|
286
|
+
for (const reExport of lang.baseReExports) {
|
|
287
|
+
await addPythonReExport(tree, moduleInitPath, reExport.fromModule, reExport.importName);
|
|
288
|
+
}
|
|
232
289
|
if (lang.deps.length > 0) {
|
|
233
290
|
(0, py_1.addDependenciesToPyProjectToml)(tree, getPythonAgentConnectionProjectDir(tree), lang.deps);
|
|
234
291
|
}
|
|
@@ -344,6 +401,82 @@ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, client
|
|
|
344
401
|
):
|
|
345
402
|
$body\``));
|
|
346
403
|
};
|
|
404
|
+
/**
|
|
405
|
+
* Patch a LangChain agent.py to load connection tools and spread them into the
|
|
406
|
+
* `create_agent(...)` tools list. Used by the MCP and gateway connection
|
|
407
|
+
* generators when the source agent uses the `langchain` framework — the client
|
|
408
|
+
* class must expose a static `create()` returning a `list[BaseTool]`. The tools
|
|
409
|
+
* come from langchain-mcp-adapters' `MultiServerMCPClient`, which keeps the
|
|
410
|
+
* connection config on each tool and opens a fresh MCP session per call, so the
|
|
411
|
+
* tools stay usable after `get_agent` returns — no `with` block is needed.
|
|
412
|
+
* Mirrors {@link addPythonClientToAgent} for the Strands shape.
|
|
413
|
+
*/
|
|
414
|
+
async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
|
|
415
|
+
await addPythonLangchainClientTools(tree, agentFilePath, clientVarName);
|
|
416
|
+
await addPythonLangchainClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Spread `*<clientVarName>` into the `create_agent(...)` tools list.
|
|
420
|
+
*
|
|
421
|
+
* Scoped via `$old <: within \`create_agent($_)\`` so only the agent's own
|
|
422
|
+
* tools= keyword argument is touched (not an unrelated function with a
|
|
423
|
+
* `tools=` parameter).
|
|
424
|
+
*/
|
|
425
|
+
const addPythonLangchainClientTools = async (tree, filePath, clientVarName) => {
|
|
426
|
+
await (0, ast_1.applyGritQL)(tree, filePath, py(`\`tools=$old\` where {
|
|
427
|
+
$old <: within \`create_agent($_)\`,
|
|
428
|
+
$old <: not contains \`*${clientVarName}\`,
|
|
429
|
+
if ($old <: \`[]\`) {
|
|
430
|
+
$old => \`[*${clientVarName}]\`
|
|
431
|
+
} else {
|
|
432
|
+
$old <: \`[$items]\` where { $items += \`, *${clientVarName}\` }
|
|
433
|
+
}
|
|
434
|
+
}`));
|
|
435
|
+
};
|
|
436
|
+
/**
|
|
437
|
+
* Prepend `<clientVarName> = <clientClassName>.create()` to the get_agent body
|
|
438
|
+
* (which loads the connection's tools). No `with` block — the LangChain client
|
|
439
|
+
* hands langchain-mcp-adapters a connection config, so each tool opens its own
|
|
440
|
+
* MCP session per call and the tools are safe to use after get_agent returns.
|
|
441
|
+
* Idempotent via the `not contains <clientClassName>.create` guard.
|
|
442
|
+
*/
|
|
443
|
+
const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassName, clientVarName) => {
|
|
444
|
+
if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientClassName}.create()\``))) {
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
|
|
448
|
+
$body\` where {
|
|
449
|
+
$body <: contains \`create_agent($_)\`,
|
|
450
|
+
$body <: not contains \`${clientClassName}.create\`
|
|
451
|
+
} => \`def get_agent($params):
|
|
452
|
+
${clientVarName} = ${clientClassName}.create()
|
|
453
|
+
$body\``));
|
|
454
|
+
};
|
|
455
|
+
exports.PY_CLIENT_NAMING = {
|
|
456
|
+
strands: {
|
|
457
|
+
clientClassSuffix: 'Strands',
|
|
458
|
+
clientModuleSuffix: 'strands',
|
|
459
|
+
appTemplateSubdir: (0, devkit_1.joinPathFragments)('agent-connection', 'app'),
|
|
460
|
+
},
|
|
461
|
+
langchain: {
|
|
462
|
+
clientClassSuffix: 'LangChain',
|
|
463
|
+
clientModuleSuffix: 'langchain',
|
|
464
|
+
appTemplateSubdir: (0, devkit_1.joinPathFragments)('langchain', 'agent-connection', 'app'),
|
|
465
|
+
},
|
|
466
|
+
};
|
|
467
|
+
exports.PY_MCP_FAMILY_CONNECTIONS = {
|
|
468
|
+
strands: {
|
|
469
|
+
...exports.PY_CLIENT_NAMING.strands,
|
|
470
|
+
deps: [],
|
|
471
|
+
wireClientIntoAgent: addPythonClientToAgent,
|
|
472
|
+
},
|
|
473
|
+
langchain: {
|
|
474
|
+
...exports.PY_CLIENT_NAMING.langchain,
|
|
475
|
+
// langchain-mcp-adapters backs the LangChain client; it must not pull Strands in.
|
|
476
|
+
deps: ['langchain-mcp-adapters'],
|
|
477
|
+
wireClientIntoAgent: addPythonLangchainClientToAgent,
|
|
478
|
+
},
|
|
479
|
+
};
|
|
347
480
|
/**
|
|
348
481
|
* Add a re-export to the Python agent-connection module's __init__.py.
|
|
349
482
|
* 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())
|
|
@@ -63,6 +63,7 @@ resource "null_resource" "add_callback_url" {
|
|
|
63
63
|
import boto3
|
|
64
64
|
import os
|
|
65
65
|
import sys
|
|
66
|
+
import time
|
|
66
67
|
|
|
67
68
|
# Configuration
|
|
68
69
|
user_pool_id = os.environ['USER_POOL_ID']
|
|
@@ -72,12 +73,24 @@ new_callback_url = os.environ['NEW_CALLBACK_URL']
|
|
|
72
73
|
# Initialize Cognito client
|
|
73
74
|
cognito = boto3.client('cognito-idp')
|
|
74
75
|
|
|
76
|
+
# A freshly created user pool / client can take several minutes to become
|
|
77
|
+
# visible to describe_user_pool_client, so retry on ResourceNotFoundException.
|
|
78
|
+
def describe_with_retry():
|
|
79
|
+
deadline = time.time() + 5 * 60
|
|
80
|
+
while True:
|
|
81
|
+
try:
|
|
82
|
+
return cognito.describe_user_pool_client(
|
|
83
|
+
UserPoolId=user_pool_id,
|
|
84
|
+
ClientId=client_id,
|
|
85
|
+
)
|
|
86
|
+
except cognito.exceptions.ResourceNotFoundException:
|
|
87
|
+
if time.time() >= deadline:
|
|
88
|
+
raise
|
|
89
|
+
time.sleep(5)
|
|
90
|
+
|
|
75
91
|
try:
|
|
76
92
|
# Get current user pool client configuration
|
|
77
|
-
response =
|
|
78
|
-
UserPoolId=user_pool_id,
|
|
79
|
-
ClientId=client_id
|
|
80
|
-
)
|
|
93
|
+
response = describe_with_retry()
|
|
81
94
|
|
|
82
95
|
client_config = response['UserPoolClient']
|
|
83
96
|
current_callback_urls = client_config.get('CallbackURLs', [])
|