@aws/nx-plugin 1.0.0-rc.18 → 1.0.0-rc.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +15 -6
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +201 -0
- package/src/py/agent/a2a-connection/files/agent-connection/app/{__targetAgentSnakeCase___client.py.template → __targetAgentSnakeCase___client_strands.py.template} +7 -5
- package/src/py/agent/a2a-connection/generator.js +6 -5
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/http/main.py.template +2 -2
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +197 -0
- package/src/py/agent/gateway-connection/files/agent-connection/app/{__gatewaySnakeCase___client.py.template → __gatewaySnakeCase___client_strands.py.template} +6 -6
- package/src/py/agent/gateway-connection/generator.js +5 -5
- package/src/py/agent/gateway-connection/generator.js.map +1 -1
- package/src/py/agent/generator.js +3 -0
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +157 -79
- package/src/py/agent/mcp-connection/files/agent-connection/app/{__mcpServerSnakeCase___client.py.template → __mcpServerSnakeCase___client_strands.py.template} +7 -5
- package/src/py/agent/mcp-connection/generator.js +5 -5
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +37 -3
- package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +1 -0
- package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
- package/src/terraform/project/files/application/src/main.tf.template +6 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +35 -4
- package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
- package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +14 -5
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
- package/src/ts/agent/a2a-connection/files/agent-connection/app/{__targetAgentKebabCase__-client.ts.template → __targetAgentKebabCase__-client-strands.ts.template} +5 -5
- package/src/ts/agent/a2a-connection/generator.js +3 -3
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/files/http/router.ts.template +1 -1
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
- package/src/ts/agent/gateway-connection/files/agent-connection/app/{__gatewayKebabCase__-client.ts.template → __gatewayKebabCase__-client-strands.ts.template} +5 -5
- package/src/ts/agent/gateway-connection/generator.js +3 -3
- package/src/ts/agent/gateway-connection/generator.js.map +1 -1
- package/src/ts/agent/generator.js +3 -0
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +183 -110
- package/src/ts/agent/mcp-connection/files/agent-connection/app/{__mcpServerKebabCase__-client.ts.template → __mcpServerKebabCase__-client-strands.ts.template} +5 -5
- package/src/ts/agent/mcp-connection/generator.js +3 -3
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +13 -4
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +64 -24
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +13 -4
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +9 -3
- package/src/utils/agent-connection/agent-connection.d.ts +50 -24
- package/src/utils/agent-connection/agent-connection.js +137 -45
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
- package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
- package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
- package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
- package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
- package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
- package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
- package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +7 -2
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +13 -4
- package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +9 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +23 -1
- package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +9 -3
- package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +7 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +9 -3
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +22 -8
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +10 -4
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +13 -4
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-client.ts.template +0 -78
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_client.py.template +0 -78
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
- /package/src/utils/agent-connection/files/{core-runtime-config/model-errors.ts.template → core-strands/base/model-errors-strands.ts.template} +0 -0
- /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
- /package/src/utils/agent-connection/files/{py-core-runtime-config/model_errors.py.template → py-core-strands/base/model_errors_strands.py.template} +0 -0
- /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
|
@@ -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,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientFactory,
|
|
3
|
+
ClientFactoryOptions,
|
|
4
|
+
DefaultAgentCardResolver,
|
|
5
|
+
JsonRpcTransportFactory,
|
|
6
|
+
} from '@a2a-js/sdk/client';
|
|
7
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
8
|
+
import { a2aUrlFromArn, regionFromArn } from './agentcore-endpoints.js';
|
|
9
|
+
import {
|
|
10
|
+
createJwtFetch,
|
|
11
|
+
createPlainFetch,
|
|
12
|
+
createSigV4Fetch,
|
|
13
|
+
} from './agentcore-fetch.js';
|
|
14
|
+
|
|
15
|
+
/** Common options for resolving an AgentCore A2A endpoint. */
|
|
16
|
+
export interface AgentCoreA2aClientConfigOptions {
|
|
17
|
+
/** The ARN of the Bedrock AgentCore Runtime to connect to. */
|
|
18
|
+
agentRuntimeArn: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Options for an A2A client config with IAM authentication. */
|
|
22
|
+
export interface AgentCoreA2aClientConfigIamOptions
|
|
23
|
+
extends AgentCoreA2aClientConfigOptions {
|
|
24
|
+
/** AWS credential provider; defaults to the standard provider chain. */
|
|
25
|
+
credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Options for an A2A client config with JWT authentication. */
|
|
29
|
+
export interface AgentCoreA2aClientConfigJwtOptions
|
|
30
|
+
extends AgentCoreA2aClientConfigOptions {
|
|
31
|
+
/** A function which returns the JWT access token used to authenticate. */
|
|
32
|
+
accessTokenProvider: () => Promise<string>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Options for an A2A client config with no auth (local dev). */
|
|
36
|
+
export interface AgentCoreA2aClientConfigNoAuthOptions {
|
|
37
|
+
/** Full URL of the local A2A endpoint. */
|
|
38
|
+
url: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** A resolved A2A endpoint and a configured `@a2a-js` client factory. */
|
|
42
|
+
export interface A2aClientConfig {
|
|
43
|
+
/** The A2A endpoint URL. */
|
|
44
|
+
url: string;
|
|
45
|
+
/** A client factory wired with a signed, session-forwarding fetch. */
|
|
46
|
+
clientFactory: ClientFactory;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const build = (url: string, fetchFn: typeof fetch): A2aClientConfig => {
|
|
50
|
+
const clientFactory = new ClientFactory({
|
|
51
|
+
...ClientFactoryOptions.default,
|
|
52
|
+
transports: [new JsonRpcTransportFactory({ fetchImpl: fetchFn })],
|
|
53
|
+
cardResolver: new DefaultAgentCardResolver({ fetchImpl: fetchFn }),
|
|
54
|
+
});
|
|
55
|
+
return { url, clientFactory };
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Factory for A2A client configs that connect to a Bedrock AgentCore runtime.
|
|
60
|
+
* Each forwards the current async-context session via the AgentCore session
|
|
61
|
+
* header. Framework-agnostic — wrap the result in a framework's A2A client.
|
|
62
|
+
*/
|
|
63
|
+
export class AgentCoreA2aClientConfig {
|
|
64
|
+
/** SigV4-authenticated A2A client config for a Bedrock AgentCore runtime. */
|
|
65
|
+
static withIamAuth(
|
|
66
|
+
options: AgentCoreA2aClientConfigIamOptions,
|
|
67
|
+
): A2aClientConfig {
|
|
68
|
+
return build(
|
|
69
|
+
a2aUrlFromArn(options.agentRuntimeArn),
|
|
70
|
+
createSigV4Fetch({
|
|
71
|
+
region: regionFromArn(options.agentRuntimeArn),
|
|
72
|
+
credentialProvider: options.credentialProvider,
|
|
73
|
+
}),
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Bearer-authenticated A2A client config for a Bedrock AgentCore runtime. */
|
|
78
|
+
static withJwtAuth(
|
|
79
|
+
options: AgentCoreA2aClientConfigJwtOptions,
|
|
80
|
+
): A2aClientConfig {
|
|
81
|
+
return build(
|
|
82
|
+
a2aUrlFromArn(options.agentRuntimeArn),
|
|
83
|
+
createJwtFetch(options.accessTokenProvider),
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** For local dev — plain HTTP, no auth. */
|
|
88
|
+
static withoutAuth(
|
|
89
|
+
options: AgentCoreA2aClientConfigNoAuthOptions,
|
|
90
|
+
): A2aClientConfig {
|
|
91
|
+
return build(options.url, createPlainFetch());
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve Bedrock AgentCore invocation endpoints from a runtime ARN.
|
|
3
|
+
* Framework-agnostic — reusable by any framework's connection client.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/** Extract the AWS region from a Bedrock AgentCore runtime ARN. */
|
|
7
|
+
export const regionFromArn = (agentRuntimeArn: string): string =>
|
|
8
|
+
agentRuntimeArn.split(':')[3];
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The MCP invocation URL for a runtime ARN.
|
|
12
|
+
* ARN format: arn:partition:service:region:account-id:resource
|
|
13
|
+
*/
|
|
14
|
+
export const mcpUrlFromArn = (agentRuntimeArn: string): string => {
|
|
15
|
+
const region = regionFromArn(agentRuntimeArn);
|
|
16
|
+
return `https://bedrock-agentcore.${region}.amazonaws.com/runtimes/${encodeURIComponent(agentRuntimeArn)}/invocations?qualifier=DEFAULT`;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The A2A invocation URL for a runtime ARN. A2A on AgentCore is mounted at the
|
|
21
|
+
* `/invocations/` root (trailing slash matters).
|
|
22
|
+
*/
|
|
23
|
+
export const a2aUrlFromArn = (agentRuntimeArn: string): string => {
|
|
24
|
+
const region = regionFromArn(agentRuntimeArn);
|
|
25
|
+
return `https://bedrock-agentcore.${region}.amazonaws.com/runtimes/${encodeURIComponent(agentRuntimeArn)}/invocations/`;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/** Extract the AWS region from an AgentCore Gateway MCP URL. */
|
|
29
|
+
export const regionFromGatewayUrl = (gatewayUrl: string): string => {
|
|
30
|
+
const match = /\.bedrock-agentcore\.([^.]+)\.amazonaws\.com/.exec(gatewayUrl);
|
|
31
|
+
if (!match) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
`Cannot determine region from gateway URL '${gatewayUrl}'. Pass region explicitly.`,
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
return match[1];
|
|
37
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AwsClient } from 'aws4fetch';
|
|
2
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
3
|
+
import { getCurrentSessionId } from './session-context.js';
|
|
4
|
+
|
|
5
|
+
const SESSION_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
|
|
6
|
+
|
|
7
|
+
/** Wrap a fetch so each request carries the current async-context session id. */
|
|
8
|
+
const withSessionHeader =
|
|
9
|
+
(inner: typeof fetch): typeof fetch =>
|
|
10
|
+
async (input, init) => {
|
|
11
|
+
const headers = new Headers(init?.headers);
|
|
12
|
+
const sessionId = getCurrentSessionId();
|
|
13
|
+
if (sessionId) headers.set(SESSION_HEADER, sessionId);
|
|
14
|
+
return inner(input, { ...init, headers });
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/** Options for a SigV4-signing fetch. */
|
|
18
|
+
export interface SigV4FetchOptions {
|
|
19
|
+
/** AWS region to sign for. */
|
|
20
|
+
region: string;
|
|
21
|
+
/** AWS service to sign for. Defaults to `bedrock-agentcore`. */
|
|
22
|
+
service?: string;
|
|
23
|
+
/** AWS credential provider; defaults to the standard provider chain. */
|
|
24
|
+
credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** A fetch that signs every request with AWS SigV4 (per-request, body-aware). */
|
|
28
|
+
export const createSigV4Fetch = (options: SigV4FetchOptions): typeof fetch => {
|
|
29
|
+
const { region, service = 'bedrock-agentcore' } = options;
|
|
30
|
+
const credentialProvider =
|
|
31
|
+
options.credentialProvider ?? fromNodeProviderChain();
|
|
32
|
+
const signedFetch: typeof fetch = async (...args) => {
|
|
33
|
+
const client = new AwsClient({
|
|
34
|
+
...(await credentialProvider()),
|
|
35
|
+
service,
|
|
36
|
+
region,
|
|
37
|
+
});
|
|
38
|
+
return client.fetch(...args);
|
|
39
|
+
};
|
|
40
|
+
return withSessionHeader(signedFetch);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/** A fetch that adds a bearer token from the given async provider. */
|
|
44
|
+
export const createJwtFetch = (
|
|
45
|
+
accessTokenProvider: () => Promise<string>,
|
|
46
|
+
): typeof fetch =>
|
|
47
|
+
withSessionHeader(async (input, init) => {
|
|
48
|
+
const headers = new Headers(init?.headers);
|
|
49
|
+
headers.set('Authorization', `Bearer ${await accessTokenProvider()}`);
|
|
50
|
+
return fetch(input, { ...init, headers });
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
/** A plain fetch (local dev) that still forwards the session id. */
|
|
54
|
+
export const createPlainFetch = (): typeof fetch => withSessionHeader(fetch);
|
package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
2
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
3
|
+
import { regionFromGatewayUrl } from './agentcore-endpoints.js';
|
|
4
|
+
import { sigV4Transport, noAuthTransport } from './agentcore-transport.js';
|
|
5
|
+
|
|
6
|
+
export interface AgentCoreGatewayMcpTransportIamOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The MCP URL of the AgentCore Gateway, of the form
|
|
9
|
+
* https://<gatewayId>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp
|
|
10
|
+
*/
|
|
11
|
+
gatewayUrl: string;
|
|
12
|
+
/** AWS region override; by default parsed from `gatewayUrl`. */
|
|
13
|
+
region?: string;
|
|
14
|
+
/** AWS credential provider; defaults to the standard provider chain. */
|
|
15
|
+
credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Factory for MCP transports that connect to an AgentCore Gateway. Forwards the
|
|
20
|
+
* current async-context session via the AgentCore session header, which the
|
|
21
|
+
* gateway propagates to downstream MCP server targets.
|
|
22
|
+
*/
|
|
23
|
+
export class AgentCoreGatewayMcpTransport {
|
|
24
|
+
/** Create a gateway MCP transport authenticated with IAM SigV4. */
|
|
25
|
+
static withIamAuth(
|
|
26
|
+
options: AgentCoreGatewayMcpTransportIamOptions,
|
|
27
|
+
): StreamableHTTPClientTransport {
|
|
28
|
+
return sigV4Transport({
|
|
29
|
+
region: options.region ?? regionFromGatewayUrl(options.gatewayUrl),
|
|
30
|
+
url: options.gatewayUrl,
|
|
31
|
+
credentialProvider: options.credentialProvider,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Plain-HTTP gateway transport, for the local gateway started by serve-local. */
|
|
36
|
+
static withoutAuth(options: {
|
|
37
|
+
gatewayUrl: string;
|
|
38
|
+
}): StreamableHTTPClientTransport {
|
|
39
|
+
return noAuthTransport({ url: options.gatewayUrl });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
2
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
3
|
+
import {
|
|
4
|
+
mcpUrlFromArn,
|
|
5
|
+
regionFromArn,
|
|
6
|
+
} from './agentcore-endpoints.js';
|
|
7
|
+
import {
|
|
8
|
+
sigV4Transport,
|
|
9
|
+
jwtTransport,
|
|
10
|
+
noAuthTransport,
|
|
11
|
+
} from './agentcore-transport.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Options for an MCP transport with IAM authentication.
|
|
15
|
+
*/
|
|
16
|
+
export interface AgentCoreMcpTransportIamOptions {
|
|
17
|
+
/** The ARN of the Bedrock AgentCore Runtime to connect to. */
|
|
18
|
+
agentRuntimeArn: string;
|
|
19
|
+
/** AWS credential provider; defaults to the standard provider chain. */
|
|
20
|
+
credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Options for an MCP transport with JWT authentication.
|
|
25
|
+
*/
|
|
26
|
+
export interface AgentCoreMcpTransportJwtOptions {
|
|
27
|
+
/** The ARN of the Bedrock AgentCore Runtime to connect to. */
|
|
28
|
+
agentRuntimeArn: string;
|
|
29
|
+
/** A function which returns the JWT access token used to authenticate. */
|
|
30
|
+
accessTokenProvider: () => Promise<string>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Options for an MCP transport with no auth (local dev).
|
|
35
|
+
*/
|
|
36
|
+
export interface AgentCoreMcpTransportNoAuthOptions {
|
|
37
|
+
/** Full URL of the local MCP endpoint. */
|
|
38
|
+
url: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Factory for MCP transports that connect to a Bedrock AgentCore runtime. */
|
|
42
|
+
export class AgentCoreMcpTransport {
|
|
43
|
+
/** SigV4-authenticated transport for a Bedrock AgentCore runtime. */
|
|
44
|
+
static withIamAuth(
|
|
45
|
+
options: AgentCoreMcpTransportIamOptions,
|
|
46
|
+
): StreamableHTTPClientTransport {
|
|
47
|
+
return sigV4Transport({
|
|
48
|
+
region: regionFromArn(options.agentRuntimeArn),
|
|
49
|
+
url: mcpUrlFromArn(options.agentRuntimeArn),
|
|
50
|
+
credentialProvider: options.credentialProvider,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Bearer-authenticated transport for a Bedrock AgentCore runtime. */
|
|
55
|
+
static withJwtAuth(
|
|
56
|
+
options: AgentCoreMcpTransportJwtOptions,
|
|
57
|
+
): StreamableHTTPClientTransport {
|
|
58
|
+
return jwtTransport({
|
|
59
|
+
url: mcpUrlFromArn(options.agentRuntimeArn),
|
|
60
|
+
accessTokenProvider: options.accessTokenProvider,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** For local dev — plain HTTP, no auth. */
|
|
65
|
+
static withoutAuth(
|
|
66
|
+
options: AgentCoreMcpTransportNoAuthOptions,
|
|
67
|
+
): StreamableHTTPClientTransport {
|
|
68
|
+
return noAuthTransport({ url: options.url });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
2
|
+
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
3
|
+
import {
|
|
4
|
+
createSigV4Fetch,
|
|
5
|
+
createJwtFetch,
|
|
6
|
+
createPlainFetch,
|
|
7
|
+
} from './agentcore-fetch.js';
|
|
8
|
+
|
|
9
|
+
const build = (
|
|
10
|
+
url: string,
|
|
11
|
+
fetchFn: typeof fetch,
|
|
12
|
+
): StreamableHTTPClientTransport =>
|
|
13
|
+
new StreamableHTTPClientTransport(new URL(url), { fetch: fetchFn });
|
|
14
|
+
|
|
15
|
+
/** SigV4-signed transport for a resolved AgentCore endpoint. */
|
|
16
|
+
export const sigV4Transport = (options: {
|
|
17
|
+
region: string;
|
|
18
|
+
url: string;
|
|
19
|
+
credentialProvider?: ReturnType<typeof fromNodeProviderChain>;
|
|
20
|
+
}): StreamableHTTPClientTransport =>
|
|
21
|
+
build(
|
|
22
|
+
options.url,
|
|
23
|
+
createSigV4Fetch({
|
|
24
|
+
region: options.region,
|
|
25
|
+
credentialProvider: options.credentialProvider,
|
|
26
|
+
}),
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
/** Bearer-token transport for a resolved AgentCore endpoint. */
|
|
30
|
+
export const jwtTransport = (options: {
|
|
31
|
+
url: string;
|
|
32
|
+
accessTokenProvider: () => Promise<string>;
|
|
33
|
+
}): StreamableHTTPClientTransport =>
|
|
34
|
+
build(options.url, createJwtFetch(options.accessTokenProvider));
|
|
35
|
+
|
|
36
|
+
/** Plain-HTTP transport — for local dev. */
|
|
37
|
+
export const noAuthTransport = (options: {
|
|
38
|
+
url: string;
|
|
39
|
+
}): StreamableHTTPClientTransport => build(options.url, createPlainFetch());
|
package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { A2AAgent } from '@strands-agents/sdk/a2a';
|
|
2
|
+
import {
|
|
3
|
+
type A2aClientConfig,
|
|
4
|
+
AgentCoreA2aClientConfig,
|
|
5
|
+
type AgentCoreA2aClientConfigIamOptions,
|
|
6
|
+
type AgentCoreA2aClientConfigJwtOptions,
|
|
7
|
+
type AgentCoreA2aClientConfigNoAuthOptions,
|
|
8
|
+
} from './agentcore-a2a-client-config.js';
|
|
9
|
+
|
|
10
|
+
/** Optional friendly metadata for the remote agent. */
|
|
11
|
+
export interface StrandsA2aOptions {
|
|
12
|
+
/** Optional friendly name for the remote agent. */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** Optional description for the remote agent. */
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Strands A2A clients for a Bedrock AgentCore runtime. */
|
|
19
|
+
export class AgentCoreA2aClientStrands {
|
|
20
|
+
private static build(
|
|
21
|
+
{ url, clientFactory }: A2aClientConfig,
|
|
22
|
+
options: StrandsA2aOptions,
|
|
23
|
+
): A2AAgent {
|
|
24
|
+
return new A2AAgent({
|
|
25
|
+
url,
|
|
26
|
+
clientFactory,
|
|
27
|
+
...(options.name ? { name: options.name } : {}),
|
|
28
|
+
...(options.description ? { description: options.description } : {}),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** SigV4-authenticated client for a Bedrock AgentCore runtime. */
|
|
33
|
+
static withIamAuth(
|
|
34
|
+
options: AgentCoreA2aClientConfigIamOptions & StrandsA2aOptions,
|
|
35
|
+
): A2AAgent {
|
|
36
|
+
return AgentCoreA2aClientStrands.build(
|
|
37
|
+
AgentCoreA2aClientConfig.withIamAuth(options),
|
|
38
|
+
options,
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Bearer-authenticated client for a Bedrock AgentCore runtime. */
|
|
43
|
+
static withJwtAuth(
|
|
44
|
+
options: AgentCoreA2aClientConfigJwtOptions & StrandsA2aOptions,
|
|
45
|
+
): A2AAgent {
|
|
46
|
+
return AgentCoreA2aClientStrands.build(
|
|
47
|
+
AgentCoreA2aClientConfig.withJwtAuth(options),
|
|
48
|
+
options,
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** For local dev — plain HTTP, no auth. */
|
|
53
|
+
static withoutAuth(
|
|
54
|
+
options: AgentCoreA2aClientConfigNoAuthOptions & StrandsA2aOptions,
|
|
55
|
+
): A2AAgent {
|
|
56
|
+
return AgentCoreA2aClientStrands.build(
|
|
57
|
+
AgentCoreA2aClientConfig.withoutAuth(options),
|
|
58
|
+
options,
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { McpClient } from '@strands-agents/sdk';
|
|
2
|
+
import {
|
|
3
|
+
AgentCoreGatewayMcpTransport,
|
|
4
|
+
type AgentCoreGatewayMcpTransportIamOptions,
|
|
5
|
+
} from './agentcore-gateway-mcp-transport.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Strands MCP clients that connect to an AgentCore Gateway.
|
|
9
|
+
*/
|
|
10
|
+
export class AgentCoreGatewayMcpClientStrands {
|
|
11
|
+
/** Create a gateway MCP client authenticated with IAM SigV4. */
|
|
12
|
+
static withIamAuth(
|
|
13
|
+
options: AgentCoreGatewayMcpTransportIamOptions,
|
|
14
|
+
): McpClient {
|
|
15
|
+
return new McpClient({
|
|
16
|
+
transport: AgentCoreGatewayMcpTransport.withIamAuth(options),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Plain-HTTP gateway client, for the local gateway started by serve-local. */
|
|
21
|
+
static withoutAuth(options: { gatewayUrl: string }): McpClient {
|
|
22
|
+
return new McpClient({
|
|
23
|
+
transport: AgentCoreGatewayMcpTransport.withoutAuth(options),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { McpClient } from '@strands-agents/sdk';
|
|
2
|
+
import {
|
|
3
|
+
AgentCoreMcpTransport,
|
|
4
|
+
type AgentCoreMcpTransportIamOptions,
|
|
5
|
+
type AgentCoreMcpTransportJwtOptions,
|
|
6
|
+
type AgentCoreMcpTransportNoAuthOptions,
|
|
7
|
+
} from './agentcore-mcp-transport.js';
|
|
8
|
+
|
|
9
|
+
/** Strands MCP clients for a Bedrock AgentCore runtime. */
|
|
10
|
+
export class AgentCoreMcpClientStrands {
|
|
11
|
+
/** SigV4-authenticated client for a Bedrock AgentCore runtime. */
|
|
12
|
+
static withIamAuth(options: AgentCoreMcpTransportIamOptions): McpClient {
|
|
13
|
+
return new McpClient({ transport: AgentCoreMcpTransport.withIamAuth(options) });
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** Bearer-authenticated client for a Bedrock AgentCore runtime. */
|
|
17
|
+
static withJwtAuth(options: AgentCoreMcpTransportJwtOptions): McpClient {
|
|
18
|
+
return new McpClient({ transport: AgentCoreMcpTransport.withJwtAuth(options) });
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** For local dev — plain HTTP, no auth. */
|
|
22
|
+
static withoutAuth(options: AgentCoreMcpTransportNoAuthOptions): McpClient {
|
|
23
|
+
return new McpClient({
|
|
24
|
+
transport: AgentCoreMcpTransport.withoutAuth(options),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from collections.abc import Callable
|
|
2
|
+
|
|
3
|
+
import boto3
|
|
4
|
+
import httpx
|
|
5
|
+
from a2a.client import ClientConfig
|
|
6
|
+
|
|
7
|
+
from .agentcore_endpoints import a2a_url_from_arn, region_from_arn
|
|
8
|
+
from .auth.session import jwt_auth, plain_auth, sigv4_auth
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def _config(url: str, auth: httpx.Auth) -> tuple[str, ClientConfig]:
|
|
12
|
+
httpx_client = httpx.AsyncClient(auth=auth, timeout=120)
|
|
13
|
+
return url, ClientConfig(httpx_client=httpx_client, streaming=False)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class AgentCoreA2aClientConfig:
|
|
17
|
+
"""Factory for A2A client configs that connect to a Bedrock AgentCore
|
|
18
|
+
runtime. Each forwards the current async-context session via the AgentCore
|
|
19
|
+
session header. Framework-agnostic — wrap the result in a framework's
|
|
20
|
+
A2A client."""
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
def with_iam_auth(agent_runtime_arn: str) -> tuple[str, ClientConfig]:
|
|
24
|
+
"""SigV4-authenticated A2A client config for a Bedrock AgentCore runtime."""
|
|
25
|
+
region = region_from_arn(agent_runtime_arn)
|
|
26
|
+
credentials = boto3.Session(region_name=region).get_credentials()
|
|
27
|
+
return _config(
|
|
28
|
+
a2a_url_from_arn(agent_runtime_arn), sigv4_auth(credentials, region)
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def with_jwt_auth(
|
|
33
|
+
agent_runtime_arn: str, access_token_provider: Callable[[], str]
|
|
34
|
+
) -> tuple[str, ClientConfig]:
|
|
35
|
+
"""Bearer-authenticated A2A client config for a Bedrock AgentCore runtime."""
|
|
36
|
+
return _config(
|
|
37
|
+
a2a_url_from_arn(agent_runtime_arn), jwt_auth(access_token_provider)
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
@staticmethod
|
|
41
|
+
def without_auth(url: str) -> tuple[str, ClientConfig]:
|
|
42
|
+
"""Plain-HTTP A2A client config — for local dev."""
|
|
43
|
+
return _config(url, plain_auth())
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""Resolve Bedrock AgentCore invocation endpoints from a runtime ARN.
|
|
2
|
+
|
|
3
|
+
Framework-agnostic — reusable by any framework's connection client.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import re
|
|
7
|
+
from urllib.parse import quote
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def region_from_arn(agent_runtime_arn: str) -> str:
|
|
11
|
+
"""Extract the AWS region from a Bedrock AgentCore runtime ARN.
|
|
12
|
+
|
|
13
|
+
ARN format: arn:partition:service:region:account-id:resource
|
|
14
|
+
"""
|
|
15
|
+
return agent_runtime_arn.split(":")[3]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def mcp_url_from_arn(agent_runtime_arn: str) -> str:
|
|
19
|
+
"""The MCP invocation URL for a runtime ARN."""
|
|
20
|
+
region = region_from_arn(agent_runtime_arn)
|
|
21
|
+
encoded_arn = quote(agent_runtime_arn, safe="")
|
|
22
|
+
return (
|
|
23
|
+
f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
|
|
24
|
+
f"{encoded_arn}/invocations?qualifier=DEFAULT"
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def a2a_url_from_arn(agent_runtime_arn: str) -> str:
|
|
29
|
+
"""The A2A invocation URL for a runtime ARN. A2A on AgentCore is mounted at
|
|
30
|
+
the `/invocations/` root (trailing slash matters)."""
|
|
31
|
+
region = region_from_arn(agent_runtime_arn)
|
|
32
|
+
encoded_arn = quote(agent_runtime_arn, safe="")
|
|
33
|
+
return (
|
|
34
|
+
f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
|
|
35
|
+
f"{encoded_arn}/invocations/"
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def region_from_gateway_url(gateway_url: str) -> str:
|
|
40
|
+
"""Extract the AWS region from an AgentCore Gateway MCP URL."""
|
|
41
|
+
match = re.search(r"\.bedrock-agentcore\.([^.]+)\.amazonaws\.com", gateway_url)
|
|
42
|
+
if not match:
|
|
43
|
+
raise ValueError(
|
|
44
|
+
f"Cannot determine region from gateway URL '{gateway_url}'. "
|
|
45
|
+
"Pass region explicitly."
|
|
46
|
+
)
|
|
47
|
+
return match.group(1)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from collections.abc import Callable
|
|
2
|
+
|
|
3
|
+
import httpx
|
|
4
|
+
|
|
5
|
+
from ..session_context import get_current_session_id
|
|
6
|
+
from .sigv4 import SigV4HTTPXAuth
|
|
7
|
+
|
|
8
|
+
SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SessionHeaderAuth(httpx.Auth):
|
|
12
|
+
"""Stamps the AgentCore session header from the current async context,
|
|
13
|
+
then delegates to an optional inner auth (e.g. SigV4)."""
|
|
14
|
+
|
|
15
|
+
requires_request_body = True
|
|
16
|
+
requires_response_body = True
|
|
17
|
+
|
|
18
|
+
def __init__(self, inner: httpx.Auth | None = None):
|
|
19
|
+
self._inner = inner
|
|
20
|
+
|
|
21
|
+
def auth_flow(self, request: httpx.Request): # type: ignore[override]
|
|
22
|
+
sid = get_current_session_id()
|
|
23
|
+
if sid:
|
|
24
|
+
request.headers[SESSION_HEADER] = sid
|
|
25
|
+
if self._inner is None:
|
|
26
|
+
yield request
|
|
27
|
+
return
|
|
28
|
+
yield from self._inner.auth_flow(request)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def sigv4_auth(
|
|
32
|
+
credentials, region: str, service: str = "bedrock-agentcore"
|
|
33
|
+
) -> httpx.Auth:
|
|
34
|
+
"""Session-forwarding SigV4 auth (per-request, body-aware)."""
|
|
35
|
+
return SessionHeaderAuth(SigV4HTTPXAuth(credentials, service, region))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def jwt_auth(access_token_provider: Callable[[], str]) -> httpx.Auth:
|
|
39
|
+
"""Session-forwarding bearer-token auth."""
|
|
40
|
+
|
|
41
|
+
class _Bearer(httpx.Auth):
|
|
42
|
+
def auth_flow(self, request: httpx.Request):
|
|
43
|
+
request.headers["Authorization"] = f"Bearer {access_token_provider()}"
|
|
44
|
+
yield request
|
|
45
|
+
|
|
46
|
+
return SessionHeaderAuth(_Bearer())
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def plain_auth() -> httpx.Auth:
|
|
50
|
+
"""Session-forwarding plain auth — for local dev."""
|
|
51
|
+
return SessionHeaderAuth()
|
package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from .agentcore_endpoints import region_from_gateway_url
|
|
2
|
+
from .agentcore_transport import (
|
|
3
|
+
TransportFactory,
|
|
4
|
+
no_auth_transport,
|
|
5
|
+
sigv4_transport,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class AgentCoreGatewayMCPTransport:
|
|
10
|
+
"""Factory for MCP transport factories that connect to an AgentCore Gateway.
|
|
11
|
+
Forwards the current async-context session via the AgentCore session header,
|
|
12
|
+
which the gateway propagates to downstream MCP server targets.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
def with_iam_auth(
|
|
17
|
+
gateway_url: str,
|
|
18
|
+
region: str | None = None,
|
|
19
|
+
) -> TransportFactory:
|
|
20
|
+
"""Create a gateway MCP transport authenticated with IAM SigV4."""
|
|
21
|
+
return sigv4_transport(
|
|
22
|
+
gateway_url, region or region_from_gateway_url(gateway_url)
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
@staticmethod
|
|
26
|
+
def without_auth(gateway_url: str) -> TransportFactory:
|
|
27
|
+
"""Plain-HTTP gateway transport, for the local gateway started by serve-local."""
|
|
28
|
+
return no_auth_transport(gateway_url)
|