@aws/nx-plugin 0.87.0 → 0.88.0
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/generators.json +7 -0
- package/package.json +2 -1
- package/src/connection/generator.js +5 -0
- package/src/connection/generator.js.map +1 -1
- package/src/connection/serve-local.d.ts +1 -1
- package/src/connection/serve-local.js +5 -7
- package/src/connection/serve-local.js.map +1 -1
- package/src/preset/generator.js +0 -2
- package/src/preset/generator.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +17 -8
- package/src/py/fast-api/generator.js +1 -1
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +5 -3
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -1
- package/src/py/lambda-function/generator.js +1 -1
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/mcp-server/generator.js +1 -1
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +11 -2
- package/src/py/strands-agent/generator.js +1 -1
- package/src/py/strands-agent/generator.js.map +1 -1
- package/src/py/strands-agent/mcp-connection/__snapshots__/generator.spec.ts.snap +211 -0
- package/src/py/strands-agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +45 -0
- package/src/py/strands-agent/mcp-connection/generator.d.ts +10 -0
- package/src/py/strands-agent/mcp-connection/generator.js +171 -0
- package/src/py/strands-agent/mcp-connection/generator.js.map +1 -0
- package/src/py/strands-agent/mcp-connection/schema.d.ts +15 -0
- package/src/py/strands-agent/mcp-connection/schema.json +26 -0
- package/src/smithy/ts/api/generator.js +1 -1
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/trpc/backend/generator.js +1 -1
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/generator.js +3 -3
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/lambda-function/generator.js +1 -1
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lib/eslint.d.ts +1 -1
- package/src/ts/lib/eslint.js +4 -3
- package/src/ts/lib/eslint.js.map +1 -1
- package/src/ts/lib/generator.js +1 -1
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/ts-project-utils.d.ts +1 -1
- package/src/ts/lib/ts-project-utils.js +4 -3
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/mcp-server/generator.js +1 -1
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/nx-generator/generator.js +1 -1
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/react-website/app/generator.js +7 -7
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/generator.js +7 -7
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +19 -0
- package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +24 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +39 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +15 -0
- package/src/ts/react-website/cognito-auth/utils.d.ts +3 -3
- package/src/ts/react-website/cognito-auth/utils.js +18 -186
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/generator.js +4 -14
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/strands-agent/generator.js +1 -1
- package/src/ts/strands-agent/generator.js.map +1 -1
- package/src/ts/strands-agent/mcp-connection/generator.js +15 -41
- package/src/ts/strands-agent/mcp-connection/generator.js.map +1 -1
- package/src/utils/agent-connection/agent-connection.d.ts +24 -0
- package/src/utils/agent-connection/agent-connection.js +112 -0
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/{py/strands-agent/files/app → utils/agent-connection/files/py-core}/agentcore_mcp_client.py.template +33 -14
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +2 -2
- package/src/utils/agent-core-constructs/agent-core-constructs.js +14 -13
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/api-constructs/api-constructs.d.ts +1 -1
- package/src/utils/api-constructs/api-constructs.js +8 -7
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/ast/website.d.ts +1 -1
- package/src/utils/ast/website.js +4 -3
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +12 -3
- package/src/utils/ast.js +88 -54
- package/src/utils/ast.js.map +1 -1
- package/src/utils/connection/open-api/react.js +3 -3
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/files/terraform/src/metrics/metrics.tf.template +7 -1
- package/src/utils/format.d.ts +2 -1
- package/src/utils/format.js +81 -8
- package/src/utils/format.js.map +1 -1
- package/src/utils/function-constructs/function-constructs.d.ts +1 -1
- package/src/utils/function-constructs/function-constructs.js +8 -7
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/identity-constructs/identity-constructs.d.ts +1 -1
- package/src/utils/identity-constructs/identity-constructs.js +7 -6
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/metrics.d.ts +0 -1
- package/src/utils/metrics.js +23 -39
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/py.d.ts +5 -0
- package/src/utils/py.js +31 -1
- package/src/utils/py.js.map +1 -1
- package/src/utils/shared-constructs.js +1 -5
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-shadcn.js +1 -1
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/website-constructs/website-constructs.d.ts +1 -1
- package/src/utils/website-constructs/website-constructs.js +9 -8
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AGENT_CONNECTION_PROJECT_DIR = void 0;
|
|
4
|
+
exports.getPythonAgentConnectionProjectDir = getPythonAgentConnectionProjectDir;
|
|
5
|
+
exports.getPythonAgentConnectionModuleName = getPythonAgentConnectionModuleName;
|
|
6
|
+
exports.getPythonAgentConnectionPackageName = getPythonAgentConnectionPackageName;
|
|
4
7
|
exports.ensureTypeScriptAgentConnectionProject = ensureTypeScriptAgentConnectionProject;
|
|
8
|
+
exports.ensurePythonAgentConnectionProject = ensurePythonAgentConnectionProject;
|
|
9
|
+
exports.addPythonReExport = addPythonReExport;
|
|
5
10
|
const tslib_1 = require("tslib");
|
|
6
11
|
/**
|
|
7
12
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -9,10 +14,46 @@ const tslib_1 = require("tslib");
|
|
|
9
14
|
*/
|
|
10
15
|
const devkit_1 = require("@nx/devkit");
|
|
11
16
|
const generator_1 = tslib_1.__importDefault(require("../../ts/lib/generator"));
|
|
17
|
+
const generator_2 = tslib_1.__importStar(require("../../py/project/generator"));
|
|
18
|
+
const py_1 = require("../py");
|
|
19
|
+
const ast_1 = require("../ast");
|
|
20
|
+
/** Prefix a GritQL pattern with `language python` */
|
|
21
|
+
const py = (pattern) => `language python\n${pattern}`;
|
|
12
22
|
const AGENT_CONNECTION_DIR = 'agent-connection';
|
|
13
23
|
const PACKAGES_DIR = 'packages';
|
|
14
24
|
const COMMON_DIR = 'common';
|
|
15
25
|
exports.AGENT_CONNECTION_PROJECT_DIR = (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR, AGENT_CONNECTION_DIR);
|
|
26
|
+
const PY_AGENT_CONNECTION_NAME = 'agent_connection';
|
|
27
|
+
/**
|
|
28
|
+
* Get the directory of the shared Python agent-connection project.
|
|
29
|
+
*/
|
|
30
|
+
function getPythonAgentConnectionProjectDir(tree) {
|
|
31
|
+
const { dir } = (0, generator_2.getPyProjectDetails)(tree, {
|
|
32
|
+
name: PY_AGENT_CONNECTION_NAME,
|
|
33
|
+
directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
|
|
34
|
+
});
|
|
35
|
+
return dir;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the Python module name of the shared agent-connection project.
|
|
39
|
+
*/
|
|
40
|
+
function getPythonAgentConnectionModuleName(tree) {
|
|
41
|
+
const { normalizedModuleName } = (0, generator_2.getPyProjectDetails)(tree, {
|
|
42
|
+
name: PY_AGENT_CONNECTION_NAME,
|
|
43
|
+
directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
|
|
44
|
+
});
|
|
45
|
+
return normalizedModuleName;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the fully qualified Python package name of the shared agent-connection project.
|
|
49
|
+
*/
|
|
50
|
+
function getPythonAgentConnectionPackageName(tree) {
|
|
51
|
+
const { fullyQualifiedName } = (0, generator_2.getPyProjectDetails)(tree, {
|
|
52
|
+
name: PY_AGENT_CONNECTION_NAME,
|
|
53
|
+
directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
|
|
54
|
+
});
|
|
55
|
+
return fullyQualifiedName;
|
|
56
|
+
}
|
|
16
57
|
/**
|
|
17
58
|
* Ensure the shared TypeScript agent-connection project exists.
|
|
18
59
|
* Creates the project with the core AgentCoreMcpClient if it doesn't exist.
|
|
@@ -32,4 +73,75 @@ function ensureTypeScriptAgentConnectionProject(tree) {
|
|
|
32
73
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'core'), (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'core'), {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
33
74
|
});
|
|
34
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Ensure the shared Python agent-connection project exists.
|
|
78
|
+
* Creates the project with the core AgentCoreMCPClient if it doesn't exist.
|
|
79
|
+
*/
|
|
80
|
+
function ensurePythonAgentConnectionProject(tree) {
|
|
81
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const projectDir = getPythonAgentConnectionProjectDir(tree);
|
|
83
|
+
const moduleName = getPythonAgentConnectionModuleName(tree);
|
|
84
|
+
const projectJsonPath = (0, devkit_1.joinPathFragments)(projectDir, 'project.json');
|
|
85
|
+
if (tree.exists(projectJsonPath)) {
|
|
86
|
+
return; // Already exists
|
|
87
|
+
}
|
|
88
|
+
// Create the Python project using the standard py#project generator
|
|
89
|
+
yield (0, generator_2.default)(tree, {
|
|
90
|
+
name: PY_AGENT_CONNECTION_NAME,
|
|
91
|
+
directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
|
|
92
|
+
projectType: 'library',
|
|
93
|
+
});
|
|
94
|
+
// Add dependencies needed by the core agentcore_mcp_client
|
|
95
|
+
(0, py_1.addDependenciesToPyProjectToml)(tree, projectDir, [
|
|
96
|
+
'boto3',
|
|
97
|
+
'mcp',
|
|
98
|
+
'strands-agents',
|
|
99
|
+
]);
|
|
100
|
+
const moduleDir = (0, devkit_1.joinPathFragments)(projectDir, moduleName);
|
|
101
|
+
// Generate the core files (agentcore_mcp_client.py)
|
|
102
|
+
const coreDir = (0, devkit_1.joinPathFragments)(moduleDir, 'core');
|
|
103
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'py-core'), coreDir, {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
104
|
+
// Ensure core/__init__.py exists
|
|
105
|
+
if (!tree.exists((0, devkit_1.joinPathFragments)(coreDir, '__init__.py'))) {
|
|
106
|
+
tree.write((0, devkit_1.joinPathFragments)(coreDir, '__init__.py'), '');
|
|
107
|
+
}
|
|
108
|
+
// Ensure app/__init__.py exists
|
|
109
|
+
const appInitPath = (0, devkit_1.joinPathFragments)(moduleDir, 'app', '__init__.py');
|
|
110
|
+
if (!tree.exists(appInitPath)) {
|
|
111
|
+
tree.write(appInitPath, '');
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Add a re-export to the Python agent-connection module's __init__.py.
|
|
117
|
+
* Equivalent to addStarExport for TS.
|
|
118
|
+
* Uses `__all__` to mark re-exports as public (satisfies ruff F401).
|
|
119
|
+
* Uses GritQL for AST-aware transforms where possible.
|
|
120
|
+
*/
|
|
121
|
+
function addPythonReExport(tree, initFilePath, fromModule, importName) {
|
|
122
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
// Check if already exported
|
|
124
|
+
if (yield (0, ast_1.hasGritQLMatch)(tree, initFilePath, `\`${importName}\``)) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const importLine = `from ${fromModule} import ${importName}`;
|
|
128
|
+
const allEntry = `"${importName}"`;
|
|
129
|
+
// Try to append import after existing import using +=
|
|
130
|
+
const appendedImport = yield (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
|
|
131
|
+
$program <: not contains \`${importName}\`,
|
|
132
|
+
$stmt += \`\n${importLine}\`
|
|
133
|
+
}`));
|
|
134
|
+
if (appendedImport) {
|
|
135
|
+
// Also append to existing __all__
|
|
136
|
+
yield (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// No existing imports — first re-export. Try to anchor after docstring.
|
|
140
|
+
const anchoredImport = yield (0, ast_1.applyGritQLTransform)(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
|
|
141
|
+
if (!anchoredImport) {
|
|
142
|
+
// Completely empty file or no docstring — write directly
|
|
143
|
+
tree.write(initFilePath, `${importLine}\n\n__all__ = [${allEntry}]\n`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
35
147
|
//# sourceMappingURL=agent-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-connection.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-connection/agent-connection.ts"],"names":[],"mappings":";;;
|
|
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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"}
|
|
@@ -2,6 +2,7 @@ import hashlib
|
|
|
2
2
|
from collections.abc import Generator
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
+
import boto3
|
|
5
6
|
import httpx
|
|
6
7
|
from botocore.auth import SigV4Auth
|
|
7
8
|
from botocore.awsrequest import AWSRequest
|
|
@@ -40,21 +41,27 @@ class SigV4HTTPXAuth(httpx.Auth):
|
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
class AgentCoreMCPClient:
|
|
43
|
-
"""Factory for clients to call MCP servers hosted on Bedrock AgentCore Runtime"""
|
|
44
|
+
"""Factory for clients to call MCP servers hosted on Bedrock AgentCore Runtime."""
|
|
45
|
+
|
|
46
|
+
@staticmethod
|
|
47
|
+
def _build_url(agent_runtime_arn: str) -> tuple[str, str]:
|
|
48
|
+
"""Extract region from ARN and construct the invocation URL.
|
|
49
|
+
|
|
50
|
+
ARN format: arn:partition:service:region:account-id:resource
|
|
51
|
+
"""
|
|
52
|
+
region = agent_runtime_arn.split(":")[3]
|
|
53
|
+
encoded_arn = agent_runtime_arn.replace(":", "%3A").replace("/", "%2F")
|
|
54
|
+
url = f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{encoded_arn}/invocations?qualifier=DEFAULT"
|
|
55
|
+
return region, url
|
|
44
56
|
|
|
45
57
|
@staticmethod
|
|
46
58
|
def _create(
|
|
47
59
|
agent_runtime_arn: str,
|
|
48
|
-
region: str,
|
|
49
60
|
session_id: str,
|
|
50
61
|
headers: dict = None,
|
|
51
62
|
auth_handler: httpx.Auth = None,
|
|
52
|
-
):
|
|
53
|
-
|
|
54
|
-
encoded_arn = agent_runtime_arn.replace(":", "%3A").replace("/", "%2F")
|
|
55
|
-
url = f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{encoded_arn}/invocations?qualifier=DEFAULT"
|
|
56
|
-
|
|
57
|
-
# Create and return the MCP client
|
|
63
|
+
) -> MCPClient:
|
|
64
|
+
_, url = AgentCoreMCPClient._build_url(agent_runtime_arn)
|
|
58
65
|
return MCPClient(
|
|
59
66
|
lambda: streamablehttp_client(
|
|
60
67
|
url,
|
|
@@ -69,21 +76,33 @@ class AgentCoreMCPClient:
|
|
|
69
76
|
)
|
|
70
77
|
|
|
71
78
|
@staticmethod
|
|
72
|
-
def with_iam_auth(agent_runtime_arn: str,
|
|
73
|
-
"""Create an MCP client with IAM (SigV4) authentication.
|
|
79
|
+
def with_iam_auth(agent_runtime_arn: str, session_id: str) -> MCPClient:
|
|
80
|
+
"""Create an MCP client with IAM (SigV4) authentication.
|
|
81
|
+
|
|
82
|
+
Region and credentials are derived automatically from the ARN
|
|
83
|
+
and the default credential provider chain.
|
|
84
|
+
"""
|
|
85
|
+
region, _ = AgentCoreMCPClient._build_url(agent_runtime_arn)
|
|
86
|
+
boto_session = boto3.Session(region_name=region)
|
|
87
|
+
credentials = boto_session.get_credentials()
|
|
74
88
|
return AgentCoreMCPClient._create(
|
|
75
89
|
agent_runtime_arn=agent_runtime_arn,
|
|
76
|
-
region=region,
|
|
77
90
|
session_id=session_id,
|
|
78
91
|
auth_handler=SigV4HTTPXAuth(credentials, region),
|
|
79
92
|
)
|
|
80
93
|
|
|
81
94
|
@staticmethod
|
|
82
|
-
def with_jwt_auth(agent_runtime_arn: str,
|
|
83
|
-
"""Create an MCP client with JWT authentication.
|
|
95
|
+
def with_jwt_auth(agent_runtime_arn: str, access_token_provider: callable, session_id: str) -> MCPClient:
|
|
96
|
+
"""Create an MCP client with JWT authentication.
|
|
97
|
+
|
|
98
|
+
Args:
|
|
99
|
+
agent_runtime_arn: The ARN of the AgentCore runtime.
|
|
100
|
+
access_token_provider: A callable that returns the JWT access token.
|
|
101
|
+
session_id: Session ID for the connection.
|
|
102
|
+
"""
|
|
103
|
+
access_token = access_token_provider()
|
|
84
104
|
return AgentCoreMCPClient._create(
|
|
85
105
|
agent_runtime_arn=agent_runtime_arn,
|
|
86
|
-
region=region,
|
|
87
106
|
session_id=session_id,
|
|
88
107
|
headers={
|
|
89
108
|
"Authorization": f"Bearer {access_token}",
|
|
@@ -24,7 +24,7 @@ export interface AddMcpServerInfraProps {
|
|
|
24
24
|
/**
|
|
25
25
|
* Add an MCP server CDK construct
|
|
26
26
|
*/
|
|
27
|
-
export declare const addMcpServerInfra: (tree: Tree, options: AddMcpServerInfraProps & IACProvider) => void
|
|
27
|
+
export declare const addMcpServerInfra: (tree: Tree, options: AddMcpServerInfraProps & IACProvider) => Promise<void>;
|
|
28
28
|
export interface AddAgentInfraProps {
|
|
29
29
|
agentNameClassName: string;
|
|
30
30
|
agentNameKebabCase: string;
|
|
@@ -34,5 +34,5 @@ export interface AddAgentInfraProps {
|
|
|
34
34
|
/**
|
|
35
35
|
* Add an MCP server CDK construct
|
|
36
36
|
*/
|
|
37
|
-
export declare const addAgentInfra: (tree: Tree, options: AddAgentInfraProps & IACProvider) => void
|
|
37
|
+
export declare const addAgentInfra: (tree: Tree, options: AddAgentInfraProps & IACProvider) => Promise<void>;
|
|
38
38
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addAgentInfra = exports.addMcpServerInfra = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
/**
|
|
5
6
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
7
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -9,10 +10,10 @@ const devkit_1 = require("@nx/devkit");
|
|
|
9
10
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
11
|
const ast_1 = require("../ast");
|
|
11
12
|
const versions_1 = require("../versions");
|
|
12
|
-
const addAgentCoreInfra = (tree, options) => {
|
|
13
|
+
const addAgentCoreInfra = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
13
14
|
switch (options.iacProvider) {
|
|
14
15
|
case 'CDK':
|
|
15
|
-
addAgentCoreCDKInfra(tree, options);
|
|
16
|
+
yield addAgentCoreCDKInfra(tree, options);
|
|
16
17
|
break;
|
|
17
18
|
case 'Terraform':
|
|
18
19
|
addAgentCoreTerraformInfra(tree, options);
|
|
@@ -35,8 +36,8 @@ const addAgentCoreInfra = (tree, options) => {
|
|
|
35
36
|
];
|
|
36
37
|
return config;
|
|
37
38
|
});
|
|
38
|
-
};
|
|
39
|
-
const addAgentCoreCDKInfra = (tree, options) => {
|
|
39
|
+
});
|
|
40
|
+
const addAgentCoreCDKInfra = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
40
41
|
// Add dependency on bedrock agentcore alpha package
|
|
41
42
|
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['@aws-cdk/aws-bedrock-agentcore-alpha']));
|
|
42
43
|
// Generate app specific CDK construct
|
|
@@ -44,9 +45,9 @@ const addAgentCoreCDKInfra = (tree, options) => {
|
|
|
44
45
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
45
46
|
});
|
|
46
47
|
// Export app specific CDK construct
|
|
47
|
-
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', options.appDirectory, 'index.ts'), `./${options.nameKebabCase}/${options.nameKebabCase}.js`);
|
|
48
|
-
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), `./${options.appDirectory}/index.js`);
|
|
49
|
-
};
|
|
48
|
+
yield (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', options.appDirectory, 'index.ts'), `./${options.nameKebabCase}/${options.nameKebabCase}.js`);
|
|
49
|
+
yield (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), `./${options.appDirectory}/index.js`);
|
|
50
|
+
});
|
|
50
51
|
const addAgentCoreTerraformInfra = (tree, options) => {
|
|
51
52
|
// Add the AgentCore shared module
|
|
52
53
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform', 'core', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'core', 'agent-core'), {}, {
|
|
@@ -60,8 +61,8 @@ const addAgentCoreTerraformInfra = (tree, options) => {
|
|
|
60
61
|
/**
|
|
61
62
|
* Add an MCP server CDK construct
|
|
62
63
|
*/
|
|
63
|
-
const addMcpServerInfra = (tree, options) => {
|
|
64
|
-
addAgentCoreInfra(tree, {
|
|
64
|
+
const addMcpServerInfra = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
+
yield addAgentCoreInfra(tree, {
|
|
65
66
|
nameClassName: options.mcpServerNameClassName,
|
|
66
67
|
nameKebabCase: options.mcpServerNameKebabCase,
|
|
67
68
|
dockerImageTag: options.dockerImageTag,
|
|
@@ -70,13 +71,13 @@ const addMcpServerInfra = (tree, options) => {
|
|
|
70
71
|
serverProtocol: 'MCP',
|
|
71
72
|
iacProvider: options.iacProvider,
|
|
72
73
|
});
|
|
73
|
-
};
|
|
74
|
+
});
|
|
74
75
|
exports.addMcpServerInfra = addMcpServerInfra;
|
|
75
76
|
/**
|
|
76
77
|
* Add an MCP server CDK construct
|
|
77
78
|
*/
|
|
78
|
-
const addAgentInfra = (tree, options) => {
|
|
79
|
-
addAgentCoreInfra(tree, {
|
|
79
|
+
const addAgentInfra = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
+
yield addAgentCoreInfra(tree, {
|
|
80
81
|
nameClassName: options.agentNameClassName,
|
|
81
82
|
nameKebabCase: options.agentNameKebabCase,
|
|
82
83
|
projectName: options.projectName,
|
|
@@ -85,6 +86,6 @@ const addAgentInfra = (tree, options) => {
|
|
|
85
86
|
serverProtocol: 'HTTP',
|
|
86
87
|
iacProvider: options.iacProvider,
|
|
87
88
|
});
|
|
88
|
-
};
|
|
89
|
+
});
|
|
89
90
|
exports.addAgentInfra = addAgentInfra;
|
|
90
91
|
//# sourceMappingURL=agent-core-constructs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addApiGatewayInfra = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
/**
|
|
5
6
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
7
|
* SPDX-License-Identifier: Apache-2.0
|
|
@@ -8,9 +9,9 @@ exports.addApiGatewayInfra = void 0;
|
|
|
8
9
|
const devkit_1 = require("@nx/devkit");
|
|
9
10
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
11
|
const ast_1 = require("../ast");
|
|
11
|
-
const addApiGatewayInfra = (tree, options) => {
|
|
12
|
+
const addApiGatewayInfra = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
12
13
|
if (options.iacProvider === 'CDK') {
|
|
13
|
-
addApiGatewayCdkConstructs(tree, options);
|
|
14
|
+
yield addApiGatewayCdkConstructs(tree, options);
|
|
14
15
|
}
|
|
15
16
|
else if (options.iacProvider === 'Terraform') {
|
|
16
17
|
addApiGatewayTerraformModules(tree, options);
|
|
@@ -34,12 +35,12 @@ const addApiGatewayInfra = (tree, options) => {
|
|
|
34
35
|
];
|
|
35
36
|
return config;
|
|
36
37
|
});
|
|
37
|
-
};
|
|
38
|
+
});
|
|
38
39
|
exports.addApiGatewayInfra = addApiGatewayInfra;
|
|
39
40
|
/**
|
|
40
41
|
* Add an API CDK construct, and update the Runtime Config type to export its url
|
|
41
42
|
*/
|
|
42
|
-
const addApiGatewayCdkConstructs = (tree, options) => {
|
|
43
|
+
const addApiGatewayCdkConstructs = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
43
44
|
const generateCoreApiFile = (name) => {
|
|
44
45
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cdk', 'core', 'api', name), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'api'), {}, {
|
|
45
46
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
@@ -56,9 +57,9 @@ const addApiGatewayCdkConstructs = (tree, options) => {
|
|
|
56
57
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
57
58
|
});
|
|
58
59
|
// Export app specific CDK construct
|
|
59
|
-
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'apis', 'index.ts'), `./${options.apiNameKebabCase}.js`);
|
|
60
|
-
(0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './apis/index.js');
|
|
61
|
-
};
|
|
60
|
+
yield (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'apis', 'index.ts'), `./${options.apiNameKebabCase}.js`);
|
|
61
|
+
yield (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), './apis/index.js');
|
|
62
|
+
});
|
|
62
63
|
/**
|
|
63
64
|
* Add an API terraform module, and update the Runtime Config type to export its url
|
|
64
65
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,4 @@ export interface AddHookResultToRouterProviderContextProps {
|
|
|
4
4
|
module: string;
|
|
5
5
|
contextProp: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const addHookResultToRouterProviderContext: (tree: Tree, mainTsxPath: string, { hook, module, contextProp }: AddHookResultToRouterProviderContextProps) => void
|
|
7
|
+
export declare const addHookResultToRouterProviderContext: (tree: Tree, mainTsxPath: string, { hook, module, contextProp }: AddHookResultToRouterProviderContextProps) => Promise<void>;
|
package/src/utils/ast/website.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addHookResultToRouterProviderContext = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
/**
|
|
5
6
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
7
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
8
|
*/
|
|
8
9
|
const typescript_1 = require("typescript");
|
|
9
10
|
const ast_1 = require("../ast");
|
|
10
|
-
const addHookResultToRouterProviderContext = (tree, mainTsxPath, { hook, module, contextProp })
|
|
11
|
+
const addHookResultToRouterProviderContext = (tree_1, mainTsxPath_1, _a) => tslib_1.__awaiter(void 0, [tree_1, mainTsxPath_1, _a], void 0, function* (tree, mainTsxPath, { hook, module, contextProp }) {
|
|
11
12
|
// Update RouterProviderContext interface to include auth (if it exists)
|
|
12
13
|
const routerProviderContextSelector = 'TypeAliasDeclaration[name.text="RouterProviderContext"] > TypeLiteral';
|
|
13
14
|
const hasRouterProviderContext = (0, ast_1.query)(tree, mainTsxPath, routerProviderContextSelector).length > 0;
|
|
@@ -23,7 +24,7 @@ const addHookResultToRouterProviderContext = (tree, mainTsxPath, { hook, module,
|
|
|
23
24
|
!hasRouterProviderComponent) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
|
-
(0, ast_1.addDestructuredImport)(tree, mainTsxPath, [hook], module);
|
|
27
|
+
yield (0, ast_1.addDestructuredImport)(tree, mainTsxPath, [hook], module);
|
|
27
28
|
(0, ast_1.replace)(tree, mainTsxPath, routerProviderContextSelector, (node) => {
|
|
28
29
|
// Check if auth property already exists
|
|
29
30
|
if (node && node.members) {
|
|
@@ -130,6 +131,6 @@ const addHookResultToRouterProviderContext = (tree, mainTsxPath, { hook, module,
|
|
|
130
131
|
newContextAttr,
|
|
131
132
|
]));
|
|
132
133
|
});
|
|
133
|
-
};
|
|
134
|
+
});
|
|
134
135
|
exports.addHookResultToRouterProviderContext = addHookResultToRouterProviderContext;
|
|
135
136
|
//# sourceMappingURL=website.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/ast/website.ts"],"names":[],"mappings":"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"}
|
package/src/utils/ast.d.ts
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
6
|
import ts, { JsxChild, JsxClosingElement, JsxOpeningElement, Node } from 'typescript';
|
|
7
|
-
export declare const addDestructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => void
|
|
7
|
+
export declare const addDestructuredImport: (tree: Tree, filePath: string, variableNames: string[], from: string) => Promise<void>;
|
|
8
8
|
/**
|
|
9
9
|
* Adds an `import <variableName> from '<from>'; statement to the beginning of the file,
|
|
10
10
|
* if it doesn't already exist
|
|
11
11
|
*/
|
|
12
|
-
export declare const addSingleImport: (tree: Tree, filePath: string, variableName: string, from: string) => void
|
|
12
|
+
export declare const addSingleImport: (tree: Tree, filePath: string, variableName: string, from: string) => Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Adds an `export * from '<from>'; statement to the given TypeScript file.
|
|
15
15
|
* Note that this will create the file if it does not exist in the tree.
|
|
16
16
|
*/
|
|
17
|
-
export declare const addStarExport: (tree: Tree, filePath: string, from: string) => void
|
|
17
|
+
export declare const addStarExport: (tree: Tree, filePath: string, from: string) => Promise<void>;
|
|
18
18
|
/**
|
|
19
19
|
* Replace nodes matching a given selector by applying the transformer on matches
|
|
20
20
|
*/
|
|
@@ -39,3 +39,12 @@ export declare const jsonToAst: (obj: unknown) => Node;
|
|
|
39
39
|
* Return whether or not the given identifier is exported in the source file
|
|
40
40
|
*/
|
|
41
41
|
export declare const hasExportDeclaration: (source: string, identifierName: string) => boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Apply a GritQL pattern to a file in the Nx tree.
|
|
44
|
+
*/
|
|
45
|
+
export declare const applyGritQLTransform: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Check whether a GritQL pattern matches anywhere in a file.
|
|
48
|
+
* Returns true if the pattern matches at least once.
|
|
49
|
+
*/
|
|
50
|
+
export declare const hasGritQLMatch: (tree: Tree, filePath: string, pattern: string) => Promise<boolean>;
|