@aws/nx-plugin 1.0.0-rc.20 → 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.
- 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 +154 -0
- 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 +58 -29
- 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 +73 -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 +14 -7
- package/src/py/agent/gateway-connection/generator.js.map +1 -1
- package/src/py/agent/generator.js +68 -12
- 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 +14 -9
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +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/fast-api/__snapshots__/generator.spec.ts.snap +3 -0
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +6 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
- package/src/utils/agent-connection/agent-connection.d.ts +50 -7
- package/src/utils/agent-connection/agent-connection.js +138 -8
- 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/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +3 -0
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +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
|
@@ -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())
|
|
@@ -235,6 +235,9 @@ export class <%= apiNameClassName %><
|
|
|
235
235
|
authorizer: new CognitoUserPoolsAuthorizer(scope, '<%= apiNameClassName %>Authorizer', {
|
|
236
236
|
cognitoUserPools: [props.identity.userPool],
|
|
237
237
|
}),
|
|
238
|
+
// Accept access tokens from both sign-in flows: 'openid' (Cognito hosted UI)
|
|
239
|
+
// and 'aws.cognito.signin.user.admin' (Cognito admin/SRP auth APIs).
|
|
240
|
+
authorizationScopes: ['openid', 'aws.cognito.signin.user.admin'],
|
|
238
241
|
<%_ } else if (auth === 'custom') { _%>
|
|
239
242
|
authorizationType: AuthorizationType.CUSTOM,
|
|
240
243
|
authorizer: new TokenAuthorizer(scope, '<%= apiNameClassName %>TokenAuthorizer', {
|
|
@@ -413,6 +413,9 @@ resource "aws_api_gateway_method" "proxy_method" {
|
|
|
413
413
|
<%_ } else if (auth === 'cognito') { _%>
|
|
414
414
|
authorization = "COGNITO_USER_POOLS"
|
|
415
415
|
authorizer_id = aws_api_gateway_authorizer.cognito_authorizer.id
|
|
416
|
+
# Accept access tokens from both sign-in flows: 'openid' (Cognito hosted UI)
|
|
417
|
+
# and 'aws.cognito.signin.user.admin' (Cognito admin/SRP auth APIs).
|
|
418
|
+
authorization_scopes = ["openid", "aws.cognito.signin.user.admin"]
|
|
416
419
|
<%_ } else if (auth === 'custom') { _%>
|
|
417
420
|
authorization = "CUSTOM"
|
|
418
421
|
authorizer_id = aws_api_gateway_authorizer.custom_authorizer.id
|
package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template
CHANGED
|
@@ -39,7 +39,7 @@ const useCreate<%- apiNameClassName %>Client = (): <%- apiNameClassName %> => {
|
|
|
39
39
|
const user = auth?.user;
|
|
40
40
|
const cognitoClient: typeof fetch = (url, init) => {
|
|
41
41
|
const headers = new Headers(init?.headers);
|
|
42
|
-
headers.set('Authorization', `Bearer ${user?.
|
|
42
|
+
headers.set('Authorization', `Bearer ${user?.access_token}`);
|
|
43
43
|
return fetch(url, { ...init, headers });
|
|
44
44
|
};
|
|
45
45
|
<%_ } _%>
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -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";
|
package/src/utils/versions.js
CHANGED
|
@@ -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":";AAAA;;;GAGG;;;AAEH;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,aAAa,EAAE,QAAQ;IACvB,wDAAwD,EAAE,QAAQ;IAClE,0BAA0B,EAAE,UAAU;IACtC,iCAAiC,EAAE,UAAU;IAC7C,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,UAAU;IACjC,+BAA+B,EAAE,UAAU;IAC3C,+CAA+C,EAAE,UAAU;IAC3D,iCAAiC,EAAE,UAAU;IAC7C,qBAAqB,EAAE,UAAU;IACjC,+BAA+B,EAAE,gBAAgB;IACjD,yBAAyB,EAAE,gBAAgB;IAC3C,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,QAAQ;IAC1C,mCAAmC,EAAE,QAAQ;IAC7C,+BAA+B,EAAE,QAAQ;IACzC,+BAA+B,EAAE,QAAQ;IACzC,+BAA+B,EAAE,UAAU;IAC3C,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,QAAQ;IACxB,sBAAsB,EAAE,QAAQ;IAChC,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,QAAQ;IACrB,qBAAqB,EAAE,QAAQ;IAC/B,2BAA2B,EAAE,QAAQ;IACrC,iCAAiC,EAAE,QAAQ;IAC3C,oBAAoB,EAAE,OAAO;IAC7B,eAAe,EAAE,QAAQ;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,QAAQ;IAC1B,gBAAgB,EAAE,OAAO;IACzB,wBAAwB,EAAE,QAAQ;IAClC,IAAI,EAAE,OAAO;IACb,qBAAqB,EAAE,OAAO;IAC9B,wBAAwB,EAAE,UAAU;IACpC,yBAAyB,EAAE,UAAU;IACrC,4BAA4B,EAAE,UAAU;IACxC,+BAA+B,EAAE,SAAS;IAC1C,wBAAwB,EAAE,SAAS;IACnC,qCAAqC,EAAE,SAAS;IAChD,oCAAoC,EAAE,SAAS;IAC/C,+BAA+B,EAAE,UAAU;IAC3C,kCAAkC,EAAE,QAAQ;IAC5C,uBAAuB,EAAE,SAAS;IAClC,gCAAgC,EAAE,SAAS;IAC3C,4BAA4B,EAAE,SAAS;IACvC,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,mBAAmB,EAAE,UAAU;IAC/B,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,OAAO;IACzB,yBAAyB,EAAE,OAAO;IAClC,8BAA8B,EAAE,OAAO;IACvC,2BAA2B,EAAE,OAAO;IACpC,eAAe,EAAE,QAAQ;IACzB,qBAAqB,EAAE,OAAO;IAC9B,YAAY,EAAE,OAAO;IACrB,gBAAgB,EAAE,OAAO;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,UAAU;IACrB,aAAa,EAAE,SAAS;IACxB,mBAAmB,EAAE,QAAQ;IAC7B,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,0BAA0B,EAAE,OAAO;IACnC,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,QAAQ;IACjB,uBAAuB,EAAE,QAAQ;IACjC,8BAA8B,EAAE,OAAO;IACvC,gBAAgB,EAAE,OAAO;IACzB,yBAAyB,EAAE,OAAO;IAClC,oBAAoB,EAAE,OAAO;IAC7B,gBAAgB,EAAE,OAAO;IACzB,GAAG,EAAE,OAAO;IACZ,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,QAAQ;IACpB,iBAAiB,EAAE,QAAQ;IAC3B,cAAc,EAAE,OAAO;IACvB,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,OAAO;IACZ,mBAAmB,EAAE,QAAQ;IAC7B,gBAAgB,EAAE,OAAO;IACzB,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,OAAO;IACf,oBAAoB,EAAE,OAAO;IAC7B,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,YAAY,EAAE,QAAQ;IACtB,oBAAoB,EAAE,QAAQ;IAC9B,gBAAgB,EAAE,QAAQ;IAC1B,WAAW,EAAE,OAAO;IACpB,mBAAmB,EAAE,OAAO;IAC5B,GAAG,EAAE,QAAQ;IACb,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,OAAO;IACzB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,OAAO;IACf,GAAG,EAAE,OAAO;IACZ,EAAE,EAAE,QAAQ;CACJ,CAAC;AAGX;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAE,EAAE,CACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AADpD,QAAA,YAAY,gBACwC;AAEjE;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,UAAU;IACrB,iBAAiB,EAAE,UAAU;IAC7B,gBAAgB,EAAE,UAAU;IAC5B,eAAe,EAAE,SAAS;IAC1B,uBAAuB,EAAE,UAAU;IACnC,+BAA+B,EAAE,UAAU;IAC3C,+BAA+B,EAAE,UAAU;IAC3C,0BAA0B,EAAE,UAAU;IACtC,mBAAmB,EAAE,UAAU;IAC/B,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,mBAAmB,EAAE,WAAW;IAChC,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,SAAS;IAC1B,wBAAwB,EAAE,SAAS;IACnC,SAAS,EAAE,SAAS;IACpB,GAAG,EAAE,UAAU;IACf,mBAAmB,EAAE,UAAU;IAC/B,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,UAAU;IAC5B,qBAAqB,EAAE,UAAU;IACjC,sBAAsB,EAAE,SAAS;IACjC,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,UAAU;CACX,CAAC;AAGX;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAE,EAAE,CACtD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,mBAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AADpC,QAAA,cAAc,kBACsB;AAEjD;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,aAAa,EAAE,OAAO;CACd,CAAC"}
|