@aws/nx-plugin 0.97.0 → 0.98.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/README.md +131 -61
- package/package.json +1 -1
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +5 -2
- package/src/py/strands-agent/files/a2a/main.py.template +33 -0
- package/src/py/strands-agent/files/{app → common}/agent.py.template +2 -0
- package/src/py/strands-agent/files/deploy/Dockerfile.template +9 -0
- package/src/py/strands-agent/generator.js +29 -16
- package/src/py/strands-agent/generator.js.map +1 -1
- package/src/py/strands-agent/react-connection/generator.js +4 -0
- package/src/py/strands-agent/react-connection/generator.js.map +1 -1
- package/src/py/strands-agent/schema.d.ts +2 -0
- package/src/py/strands-agent/schema.json +8 -0
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +7 -13
- package/src/ts/react-website/app/generator.js +3 -7
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/strands-agent/files/a2a/index.ts.template +28 -0
- package/src/ts/strands-agent/files/deploy/Dockerfile.template +4 -0
- package/src/ts/strands-agent/generator.js +30 -14
- package/src/ts/strands-agent/generator.js.map +1 -1
- package/src/ts/strands-agent/react-connection/generator.js +4 -0
- package/src/ts/strands-agent/react-connection/generator.js.map +1 -1
- package/src/ts/strands-agent/schema.d.ts +2 -0
- package/src/ts/strands-agent/schema.json +8 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +3 -2
- package/src/utils/agent-core-constructs/agent-core-constructs.js +2 -2
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +6 -1
- package/src/utils/versions.d.ts +5 -4
- package/src/utils/versions.js +4 -3
- package/src/utils/versions.js.map +1 -1
- /package/src/py/strands-agent/files/{app → common}/__init__.py.template +0 -0
- /package/src/py/strands-agent/files/{app → http}/init.py.template +0 -0
- /package/src/py/strands-agent/files/{app → http}/main.py.template +0 -0
- /package/src/ts/strands-agent/files/{app → common}/agent.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/agent-core-trpc-client.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/client.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/index.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/init.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/router.ts.template +0 -0
- /package/src/ts/strands-agent/files/{app → http}/schema/z-async-iterable.ts.template +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<h1>Nx Plugin for AWS
|
|
3
|
-
<h3>
|
|
2
|
+
<h1>Nx Plugin for AWS</h1>
|
|
3
|
+
<h3>Build full-stack AWS apps in minutes</h3>
|
|
4
4
|
<a href="https://opensource.org/licenses/Apache-2.0">
|
|
5
5
|
<img
|
|
6
6
|
src="https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg"
|
|
@@ -10,12 +10,6 @@
|
|
|
10
10
|
<a href="https://codecov.io/gh/awslabs/nx-plugin-for-aws">
|
|
11
11
|
<img src="https://codecov.io/gh/awslabs/nx-plugin-for-aws/graph/badge.svg?token=X27pgFfxuQ" />
|
|
12
12
|
</a>
|
|
13
|
-
<a href="https://gitpod.io/new/?workspaceClass=g1-large#https://github.com/awslabs/nx-plugin-for-aws">
|
|
14
|
-
<img
|
|
15
|
-
src="https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod"
|
|
16
|
-
alt="Gitpod ready-to-code"
|
|
17
|
-
/>
|
|
18
|
-
</a>
|
|
19
13
|
<a href="https://github.com/awslabs/nx-plugin-for-aws/actions/workflows/ci.yml">
|
|
20
14
|
<img
|
|
21
15
|
src="https://github.com/awslabs/nx-plugin-for-aws/actions/workflows/ci.yml/badge.svg"
|
|
@@ -28,74 +22,96 @@
|
|
|
28
22
|
alt="Commit activity"
|
|
29
23
|
/>
|
|
30
24
|
</a>
|
|
31
|
-
<br />
|
|
32
|
-
<br />
|
|
33
|
-
<figure>
|
|
34
|
-
<img src="docs/src/content/docs/assets/website-generator.gif" alt="Demo" />
|
|
35
|
-
</figure>
|
|
36
|
-
<br />
|
|
37
|
-
👉 See full documentation on <a href="https://awslabs.github.io/nx-plugin-for-aws">https://awslabs.github.io/nx-plugin-for-aws</a> 👈
|
|
38
25
|
</div>
|
|
39
26
|
|
|
40
|
-
|
|
27
|
+
---
|
|
41
28
|
|
|
42
|
-
|
|
29
|
+
**@aws/nx-plugin** is a collection of code generators that scaffold full-stack, production-ready AWS applications inside an [Nx](https://nx.dev) monorepo. Every generator produces best-practice application code **and** the infrastructure to deploy it — type-safe, locally runnable, and ready to deploy.
|
|
43
30
|
|
|
44
|
-
##
|
|
31
|
+
## Quick Start
|
|
45
32
|
|
|
46
|
-
|
|
47
|
-
- **End-to-end**: Generate application code and CDK/Terraform infrastructure to deploy to AWS.
|
|
48
|
-
- **Component-Based**: Add components to your project as needed, from React websites to serverless APIs using either the CLI or UI.
|
|
49
|
-
- **Learn Once, Use Anywhere**: Consistent patterns across different AWS services and application types.
|
|
50
|
-
- **Open for modification**: All code generated is your code and can be edited as you see fit.
|
|
51
|
-
- **Type safety**: Type-safety is employed to support IDE completions and reduce the number of runtime errors encountered.
|
|
52
|
-
- **Local-first**: Iterate quickly by developing locally before deploying to AWS.
|
|
53
|
-
- **Minimal dependencies**: Getting up and running is simple and only requires langugage level global dependencies.
|
|
33
|
+
### Build with AI
|
|
54
34
|
|
|
55
|
-
|
|
35
|
+
Add the MCP server to your AI assistant and let it build for you.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
claude mcp add nx-plugin-for-aws -- npx -y @aws/nx-plugin-mcp
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
<details>
|
|
42
|
+
<summary><strong>Kiro</strong></summary>
|
|
43
|
+
|
|
44
|
+
Install the [Kiro Power](https://kiro.dev/docs/powers/) for the best experience — no manual MCP configuration needed:
|
|
45
|
+
|
|
46
|
+
1. Open the Kiro Powers panel from the sidebar
|
|
47
|
+
2. Click `+` to add a custom power
|
|
48
|
+
3. Paste: `https://github.com/awslabs/nx-plugin-for-aws/tree/main/powers/nx-plugin-for-aws`
|
|
49
|
+
4. Click install
|
|
50
|
+
|
|
51
|
+
Or add the MCP server manually in `.kiro/mcp.json`:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"mcpServers": {
|
|
56
|
+
"nx-plugin-for-aws": {
|
|
57
|
+
"command": "npx",
|
|
58
|
+
"args": ["-y", "@aws/nx-plugin-mcp"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
- `ts#infra` - Generate a Typescript AWS CDK infrastructure project for your application.
|
|
59
|
-
- `ts#react-website` - Generate a new React based web application using Vite.
|
|
60
|
-
- `ts#react-website#auth` - Add AWS Cognito authentication to your React website.
|
|
61
|
-
- `ts#trpc-api` - Generate a tRPC backend service with Amazon API Gateway/AWS Lambda integrations and [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-typescript) pre-configured.
|
|
62
|
-
- `ts#nx-generator` - Add an [Nx Generator](https://nx.dev/features/generate-code) to a TypeScript project.
|
|
63
|
-
- `ts#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a TypeScript project.
|
|
64
|
-
- `ts#strands-agent` - Add a [Strands Agent](https://strandsagents.com/) to a TypeScript project.
|
|
65
|
-
- `ts#lambda-function` - Generate a TypeScript lambda function with optional type-safe event sources.
|
|
66
|
-
- `terraform#project` - Generate a new Terraform project.
|
|
67
|
-
- `py#project` - Generate a uv based Python project.
|
|
68
|
-
- `py#fast-api` - Generate a FastAPI backend service with [AWS Powertools](https://github.com/aws-powertools/powertools-lambda-python) pre-configured.
|
|
69
|
-
- `py#lambda-function` - Add a lambda function to an existing python project with optional type-safe event sources.
|
|
70
|
-
- `py#mcp-server` - Add a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server to a Python project.
|
|
71
|
-
- `py#strands-agent` Add a [Strands Agent](https://strandsagents.com/) to a Python project.
|
|
72
|
-
- `connection` - Connect projects together (e.g. frontend to backend APIs).
|
|
73
|
-
- `license` - Automatically manage LICENSE files and source code headers in your workspace.
|
|
64
|
+
</details>
|
|
74
65
|
|
|
75
|
-
|
|
66
|
+
<details>
|
|
67
|
+
<summary><strong>Claude Code</strong></summary>
|
|
76
68
|
|
|
77
|
-
|
|
69
|
+
```bash
|
|
70
|
+
claude mcp add nx-plugin-for-aws -- npx -y @aws/nx-plugin-mcp
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
</details>
|
|
74
|
+
|
|
75
|
+
<details>
|
|
76
|
+
<summary><strong>Cursor</strong></summary>
|
|
77
|
+
|
|
78
|
+
Add to `~/.cursor/mcp.json`:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"mcpServers": {
|
|
83
|
+
"nx-plugin-for-aws": {
|
|
84
|
+
"command": "npx",
|
|
85
|
+
"args": ["-y", "@aws/nx-plugin-mcp"]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
78
90
|
|
|
79
|
-
|
|
91
|
+
</details>
|
|
80
92
|
|
|
81
|
-
|
|
93
|
+
<details>
|
|
94
|
+
<summary><strong>Codex</strong></summary>
|
|
82
95
|
|
|
83
|
-
|
|
84
|
-
- [Add @aws/nx-plugin to your existing project](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/tutorials/existing-project/)
|
|
96
|
+
Add to `~/.codex/config.toml`:
|
|
85
97
|
|
|
86
|
-
|
|
98
|
+
```toml
|
|
99
|
+
[mcp_servers.nx-plugin-for-aws]
|
|
100
|
+
command = "npx"
|
|
101
|
+
args = ["-y", "@aws/nx-plugin-mcp"]
|
|
102
|
+
```
|
|
87
103
|
|
|
88
|
-
|
|
104
|
+
</details>
|
|
89
105
|
|
|
90
|
-
|
|
91
|
-
|
|
106
|
+
<details>
|
|
107
|
+
<summary><strong>Other assistants</strong></summary>
|
|
92
108
|
|
|
93
|
-
|
|
109
|
+
Most MCP-compatible assistants use a JSON configuration file. Add the following entry:
|
|
94
110
|
|
|
95
111
|
```json
|
|
96
112
|
{
|
|
97
113
|
"mcpServers": {
|
|
98
|
-
"
|
|
114
|
+
"nx-plugin-for-aws": {
|
|
99
115
|
"command": "npx",
|
|
100
116
|
"args": ["-y", "@aws/nx-plugin-mcp"]
|
|
101
117
|
}
|
|
@@ -103,9 +119,65 @@ Example configuration for Amazon Q CLI MCP (`~/.aws/amazonq/mcp.json`):
|
|
|
103
119
|
}
|
|
104
120
|
```
|
|
105
121
|
|
|
106
|
-
|
|
122
|
+
</details>
|
|
123
|
+
|
|
124
|
+
Then just ask:
|
|
125
|
+
|
|
126
|
+
> _"Use the Nx Plugin for AWS to build a full-stack app with a React website, a tRPC API, Cognito auth, and CDK infrastructure."_
|
|
127
|
+
|
|
128
|
+
Your AI assistant will use the MCP tools to scaffold, connect, and configure everything. See the [Building with AI guide](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/building-with-ai/) for more details.
|
|
129
|
+
|
|
130
|
+
### Build with the CLI
|
|
131
|
+
|
|
132
|
+
Create a workspace and start adding components — zero configuration required:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Create a new workspace
|
|
136
|
+
pnpm create @aws/nx-workspace my-project
|
|
137
|
+
cd my-project
|
|
138
|
+
|
|
139
|
+
# Add a tRPC API
|
|
140
|
+
pnpm nx g @aws/nx-plugin:ts#trpc-api
|
|
141
|
+
|
|
142
|
+
# Add a Strands AI agent (Python)
|
|
143
|
+
pnpm nx g @aws/nx-plugin:py#strands-agent
|
|
144
|
+
|
|
145
|
+
# Add a React website
|
|
146
|
+
pnpm nx g @aws/nx-plugin:ts#react-website
|
|
147
|
+
|
|
148
|
+
# Add authentication to your website
|
|
149
|
+
pnpm nx g @aws/nx-plugin:ts#react-website#auth
|
|
150
|
+
|
|
151
|
+
# Connect your website to your API and agent
|
|
152
|
+
pnpm nx g @aws/nx-plugin:connection
|
|
153
|
+
|
|
154
|
+
# Add CDK infrastructure to deploy it all (or choose Terraform)
|
|
155
|
+
pnpm nx g @aws/nx-plugin:ts#infra
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> See the full [Quick Start guide](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/quick-start) and [Dungeon Adventure tutorial](https://awslabs.github.io/nx-plugin-for-aws/en/get_started/tutorials/dungeon-game/overview/) for a deeper walkthrough.
|
|
107
159
|
|
|
108
|
-
|
|
160
|
+
## Available Generators
|
|
161
|
+
|
|
162
|
+
| Generator | Description |
|
|
163
|
+
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
164
|
+
| `ts#project` | TypeScript library |
|
|
165
|
+
| `ts#trpc-api` | tRPC API with API Gateway + Lambda + [Powertools](https://github.com/aws-powertools/powertools-lambda-typescript) |
|
|
166
|
+
| `ts#react-website` | React app (Vite) |
|
|
167
|
+
| `ts#react-website#auth` | Add Cognito auth to a React website |
|
|
168
|
+
| `ts#infra` | AWS CDK infrastructure project |
|
|
169
|
+
| `ts#lambda-function` | TypeScript Lambda with type-safe event sources |
|
|
170
|
+
| `ts#mcp-server` | MCP server (TypeScript) |
|
|
171
|
+
| `ts#strands-agent` | [Strands Agent](https://strandsagents.com/) (TypeScript) |
|
|
172
|
+
| `ts#nx-generator` | Nx generator scaffold |
|
|
173
|
+
| `py#project` | Python project (uv) |
|
|
174
|
+
| `py#fast-api` | FastAPI with API Gateway + Lambda + [Powertools](https://github.com/aws-powertools/powertools-lambda-python) |
|
|
175
|
+
| `py#lambda-function` | Python Lambda with type-safe event sources |
|
|
176
|
+
| `py#mcp-server` | MCP server (Python) |
|
|
177
|
+
| `py#strands-agent` | [Strands Agent](https://strandsagents.com/) (Python) |
|
|
178
|
+
| `connection` | Connect projects together (e.g. frontend to API) |
|
|
179
|
+
| `terraform#project` | Terraform project |
|
|
180
|
+
| `license` | Manage LICENSE files and source headers |
|
|
109
181
|
|
|
110
182
|
## Community
|
|
111
183
|
|
|
@@ -113,9 +185,7 @@ Join us on Slack in the [#nx-plugin-for-aws](https://cdk-dev.slack.com/archives/
|
|
|
113
185
|
|
|
114
186
|
## Contributing
|
|
115
187
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
Read our [Contributing Guide](/CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to @aws/nx-plugin.
|
|
188
|
+
Read our [Contributing Guide](/CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.
|
|
119
189
|
|
|
120
190
|
## Code of Conduct
|
|
121
191
|
|
package/package.json
CHANGED
|
@@ -11,6 +11,7 @@ COPY --from=workspace dist/apps/test-project/bundle-arm /app
|
|
|
11
11
|
EXPOSE 8080
|
|
12
12
|
|
|
13
13
|
ENV PYTHONPATH=/app
|
|
14
|
+
ENV PATH="/app/bin:\${PATH}"
|
|
14
15
|
|
|
15
16
|
# Auto-instrument with AWS Distro for OpenTelemetry
|
|
16
17
|
# https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr
|
|
@@ -599,6 +600,8 @@ def subtract(a: int, b: int) -> int:
|
|
|
599
600
|
@contextmanager
|
|
600
601
|
def get_agent(session_id: str):
|
|
601
602
|
yield Agent(
|
|
603
|
+
name="SnapshotAgent",
|
|
604
|
+
description="SnapshotAgent Strands Agent",
|
|
602
605
|
system_prompt="""
|
|
603
606
|
You are a mathematical wizard.
|
|
604
607
|
Use your tools for mathematical tasks.
|
|
@@ -683,10 +686,10 @@ dependencies = [
|
|
|
683
686
|
"aws-lambda-powertools==3.27.0",
|
|
684
687
|
"aws-opentelemetry-distro==0.17.0",
|
|
685
688
|
"bedrock-agentcore==1.6.1",
|
|
686
|
-
"fastapi==0.135.3",
|
|
687
689
|
"boto3==1.42.88",
|
|
690
|
+
"fastapi==0.135.3",
|
|
688
691
|
"mcp==1.27.0",
|
|
689
|
-
"strands-agents==1.
|
|
692
|
+
"strands-agents==1.36.0",
|
|
690
693
|
"strands-agents-tools==0.4.1",
|
|
691
694
|
"uvicorn==0.44.0"
|
|
692
695
|
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
from fastapi import FastAPI
|
|
5
|
+
from strands.multiagent.a2a import A2AServer
|
|
6
|
+
|
|
7
|
+
from .agent import get_agent
|
|
8
|
+
|
|
9
|
+
logging.basicConfig(level=logging.INFO)
|
|
10
|
+
|
|
11
|
+
PORT = int(os.environ.get("PORT", "9000"))
|
|
12
|
+
|
|
13
|
+
RUNTIME_URL = os.environ.get("AGENTCORE_RUNTIME_URL", f"http://localhost:{PORT}/")
|
|
14
|
+
|
|
15
|
+
_agent_ctx = get_agent(session_id="default")
|
|
16
|
+
_agent = _agent_ctx.__enter__()
|
|
17
|
+
|
|
18
|
+
a2a_server = A2AServer(
|
|
19
|
+
agent=_agent,
|
|
20
|
+
port=PORT,
|
|
21
|
+
http_url=RUNTIME_URL,
|
|
22
|
+
serve_at_root=True,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
app = FastAPI()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@app.get("/ping")
|
|
29
|
+
def ping() -> dict[str, str]:
|
|
30
|
+
return {"status": "Healthy"}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
app.mount("/", a2a_server.to_fastapi_app())
|
|
@@ -13,6 +13,8 @@ def subtract(a: int, b: int) -> int:
|
|
|
13
13
|
@contextmanager
|
|
14
14
|
def get_agent(session_id: str):
|
|
15
15
|
yield Agent(
|
|
16
|
+
name="<%= agentNameClassName %>",
|
|
17
|
+
description="<%= agentNameClassName %> Strands Agent",
|
|
16
18
|
system_prompt="""
|
|
17
19
|
You are a mathematical wizard.
|
|
18
20
|
Use your tools for mathematical tasks.
|
|
@@ -5,10 +5,19 @@ WORKDIR /app
|
|
|
5
5
|
# Copy bundled package
|
|
6
6
|
COPY --from=workspace <%- bundleOutputDir %> /app
|
|
7
7
|
|
|
8
|
+
<%_ if (protocol === 'A2A') { _%>
|
|
9
|
+
EXPOSE 9000
|
|
10
|
+
<%_ } else { _%>
|
|
8
11
|
EXPOSE 8080
|
|
12
|
+
<%_ } _%>
|
|
9
13
|
|
|
10
14
|
ENV PYTHONPATH=/app
|
|
15
|
+
ENV PATH="/app/bin:${PATH}"
|
|
11
16
|
|
|
12
17
|
# Auto-instrument with AWS Distro for OpenTelemetry
|
|
13
18
|
# https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr
|
|
19
|
+
<%_ if (protocol === 'A2A') { _%>
|
|
20
|
+
CMD ["python", "bin/opentelemetry-instrument", "python", "-m", "uvicorn", "<%- moduleName %>.<%- agentNameSnakeCase %>.main:app", "--host", "0.0.0.0", "--port", "9000"]
|
|
21
|
+
<%_ } else { _%>
|
|
14
22
|
CMD ["python", "bin/opentelemetry-instrument", "python", "-m", "<%- moduleName %>.<%- agentNameSnakeCase %>.main"]
|
|
23
|
+
<%_ } _%>
|
|
@@ -40,21 +40,27 @@ const pyStrandsAgentGenerator = async (tree, options) => {
|
|
|
40
40
|
const targetSourceDir = (0, devkit_1.joinPathFragments)(project.sourceRoot, agentNameSnakeCase);
|
|
41
41
|
const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
|
|
42
42
|
const auth = options.auth ?? 'IAM';
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const protocol = options.protocol ?? 'HTTP';
|
|
44
|
+
const templateContext = {
|
|
45
45
|
name,
|
|
46
46
|
agentNameSnakeCase,
|
|
47
47
|
agentNameClassName,
|
|
48
48
|
moduleName,
|
|
49
|
-
}
|
|
49
|
+
};
|
|
50
|
+
// Generate common files shared by both protocols
|
|
51
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'common'), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
52
|
+
// Generate protocol-specific files
|
|
53
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', protocol.toLowerCase()), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
50
54
|
(0, py_1.addDependenciesToPyProjectToml)(tree, project.root, [
|
|
51
55
|
'aws-lambda-powertools',
|
|
52
56
|
'aws-opentelemetry-distro',
|
|
53
57
|
'bedrock-agentcore',
|
|
54
|
-
'fastapi',
|
|
55
58
|
'boto3',
|
|
59
|
+
'fastapi',
|
|
56
60
|
'mcp',
|
|
57
|
-
'
|
|
61
|
+
...(protocol === 'A2A'
|
|
62
|
+
? ['strands-agents[a2a]']
|
|
63
|
+
: ['strands-agents']),
|
|
58
64
|
'strands-agents-tools',
|
|
59
65
|
'uvicorn',
|
|
60
66
|
]);
|
|
@@ -72,9 +78,10 @@ const pyStrandsAgentGenerator = async (tree, options) => {
|
|
|
72
78
|
agentNameSnakeCase,
|
|
73
79
|
moduleName,
|
|
74
80
|
bundleOutputDir,
|
|
81
|
+
protocol,
|
|
75
82
|
}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
76
83
|
const dockerTargetName = `${agentTargetPrefix}-docker`;
|
|
77
|
-
// Add a docker target specific to this
|
|
84
|
+
// Add a docker target specific to this agent
|
|
78
85
|
project.targets[dockerTargetName] = {
|
|
79
86
|
cache: true,
|
|
80
87
|
executor: 'nx:run-commands',
|
|
@@ -99,12 +106,17 @@ const pyStrandsAgentGenerator = async (tree, options) => {
|
|
|
99
106
|
iacProvider,
|
|
100
107
|
projectName: project.name,
|
|
101
108
|
auth,
|
|
109
|
+
serverProtocol: protocol,
|
|
102
110
|
});
|
|
103
111
|
}
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
const localDevPort = (0, port_1.assignPort)(tree, project,
|
|
112
|
+
// A2A servers use port 9000 as per the Strands A2A SDK default and AgentCore A2A contract.
|
|
113
|
+
// HTTP agents use port 8081+ to avoid conflict with VS Code server on 8080.
|
|
114
|
+
const localDevPortStart = protocol === 'A2A' ? 9000 : 8081;
|
|
115
|
+
const localDevPort = (0, port_1.assignPort)(tree, project, localDevPortStart);
|
|
116
|
+
// Both protocols use fastapi dev for hot reload:
|
|
117
|
+
// - HTTP: FastAPI app directly defined in init.py
|
|
118
|
+
// - A2A: A2AServer.to_fastapi_app() creates a FastAPI app in main.py
|
|
119
|
+
const serveCommand = `uv run fastapi dev ${moduleName}/${agentNameSnakeCase}/main.py --port ${localDevPort}`;
|
|
108
120
|
(0, devkit_1.updateProjectConfiguration)(tree, project.name, {
|
|
109
121
|
...project,
|
|
110
122
|
targets: {
|
|
@@ -112,21 +124,21 @@ const pyStrandsAgentGenerator = async (tree, options) => {
|
|
|
112
124
|
[`${agentTargetPrefix}-serve`]: {
|
|
113
125
|
executor: 'nx:run-commands',
|
|
114
126
|
options: {
|
|
115
|
-
commands: [
|
|
116
|
-
`uv run fastapi dev ${moduleName}/${agentNameSnakeCase}/main.py --port ${localDevPort}`,
|
|
117
|
-
],
|
|
127
|
+
commands: [serveCommand],
|
|
118
128
|
cwd: '{projectRoot}',
|
|
129
|
+
env: {
|
|
130
|
+
PORT: `${localDevPort}`,
|
|
131
|
+
},
|
|
119
132
|
},
|
|
120
133
|
continuous: true,
|
|
121
134
|
},
|
|
122
135
|
[`${agentTargetPrefix}-serve-local`]: {
|
|
123
136
|
executor: 'nx:run-commands',
|
|
124
137
|
options: {
|
|
125
|
-
commands: [
|
|
126
|
-
`uv run fastapi dev ${moduleName}/${agentNameSnakeCase}/main.py --port ${localDevPort}`,
|
|
127
|
-
],
|
|
138
|
+
commands: [serveCommand],
|
|
128
139
|
cwd: '{projectRoot}',
|
|
129
140
|
env: {
|
|
141
|
+
PORT: `${localDevPort}`,
|
|
130
142
|
SERVE_LOCAL: 'true',
|
|
131
143
|
},
|
|
132
144
|
},
|
|
@@ -138,6 +150,7 @@ const pyStrandsAgentGenerator = async (tree, options) => {
|
|
|
138
150
|
port: localDevPort,
|
|
139
151
|
rc: agentNameClassName,
|
|
140
152
|
auth,
|
|
153
|
+
protocol,
|
|
141
154
|
});
|
|
142
155
|
await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
|
|
143
156
|
exports.PY_STRANDS_AGENT_GENERATOR_INFO,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/strands-agent/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAQoB;AAEpB,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAAwE;AACxE,uCAGwB;AACxB,mGAAwF;AAExF,sDAAkE;AAClE,qDAAoD;AACpD,qEAA0E;AAC1E,yDAA6D;AAC7D,yCAAqD;AACrD,2CAA8C;AAC9C,6CAA0D;AAE7C,QAAA,+BAA+B,GAC1C,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,uBAAuB,GAAG,KAAK,EAC1C,IAAU,EACV,OAAsC,EACV,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAExE,iDAAiD;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,qDAAqD,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAA,iBAAS,EACpB,OAAO,CAAC,IAAI,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CACpE,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,UAAU,EAClB,kBAAkB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/strands-agent/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAQoB;AAEpB,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAAwE;AACxE,uCAGwB;AACxB,mGAAwF;AAExF,sDAAkE;AAClE,qDAAoD;AACpD,qEAA0E;AAC1E,yDAA6D;AAC7D,yCAAqD;AACrD,2CAA8C;AAC9C,6CAA0D;AAE7C,QAAA,+BAA+B,GAC1C,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,uBAAuB,GAAG,KAAK,EAC1C,IAAU,EACV,OAAsC,EACV,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAExE,iDAAiD;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,qDAAqD,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAA,iBAAS,EACpB,OAAO,CAAC,IAAI,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CACpE,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,UAAU,EAClB,kBAAkB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAE5C,MAAM,eAAe,GAAG;QACtB,IAAI;QACJ,kBAAkB;QAClB,kBAAkB;QAClB,UAAU;KACX,CAAC;IAEF,iDAAiD;IACjD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC/C,eAAe,EACf,eAAe,EACf,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,mCAAmC;IACnC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC7D,eAAe,EACf,eAAe,EACf,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,IAAA,mCAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QACjD,uBAAuB;QACvB,0BAA0B;QAC1B,mBAAmB;QACnB,OAAO;QACP,SAAS;QACT,KAAK;QACL,GAAG,CAAC,QAAQ,KAAK,KAAK;YACpB,CAAC,CAAE,CAAC,qBAAqB,CAAW;YACpC,CAAC,CAAE,CAAC,gBAAgB,CAAW,CAAC;QAClC,sBAAsB;QACtB,SAAS;KACV,CAAC,CAAC;IACH,IAAA,oDAA+C,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACzE,mBAAmB;KACpB,CAAC,CAAC;IAEH,IAAI,WAAW,KAAK,yBAAyB,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAE7D,oBAAoB;QACpB,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAqB,EACjE,OAAO,EACP;YACE,cAAc,EAAE,wBAAwB;SACzC,CACF,CAAC;QAEF,qBAAqB;QACrB,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC/C,eAAe,EACf;YACE,kBAAkB;YAClB,UAAU;YACV,eAAe;YACf,QAAQ;SACT,EACD,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,SAAS,CAAC;QAEvD,6CAA6C;QAC7C,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG;YAClC,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,0CAA0C,cAAc,IAAI,eAAe,8BAA8B;iBAC1G;gBACD,QAAQ,EAAE,KAAK;aAChB;YACD,SAAS,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;QAEF,IAAA,sCAAiC,EAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvE,IAAA,sCAAiC,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9D,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,IAAA,6CAAyB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAEvD,wCAAwC;QACxC,MAAM,IAAA,qCAAa,EAAC,IAAI,EAAE;YACxB,kBAAkB,EAAE,IAAI;YACxB,kBAAkB;YAClB,cAAc;YACd,WAAW;YACX,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,IAAI;YACJ,cAAc,EAAE,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAElE,iDAAiD;IACjD,kDAAkD;IAClD,qEAAqE;IACrE,MAAM,YAAY,GAAG,sBAAsB,UAAU,IAAI,kBAAkB,mBAAmB,YAAY,EAAE,CAAC;IAE7G,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QAC7C,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,OAAO,CAAC,OAAO;YAClB,CAAC,GAAG,iBAAiB,QAAQ,CAAC,EAAE;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,YAAY,CAAC;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;qBACxB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,CAAC,GAAG,iBAAiB,cAAc,CAAC,EAAE;gBACpC,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,YAAY,CAAC;oBACxB,GAAG,EAAE,eAAe;oBACpB,GAAG,EAAE;wBACH,IAAI,EAAE,GAAG,YAAY,EAAE;wBACvB,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,UAAU,EAAE,IAAI;aACjB;SACF;KACF,CAAC,CAAC;IAEH,IAAA,kCAA6B,EAC3B,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,uCAA+B,EAC/B,IAAA,6BAAqB,EAAC,OAAO,EAAE,eAAe,CAAC,EAC/C,iBAAiB,EACjB;QACE,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,kBAAkB;QACtB,IAAI;QACJ,QAAQ;KACT,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,uCAA+B;KAChC,CAAC,CAAC;IAEH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,EAAE;QAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,IAAI,wBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,oBAAM,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC,CAAC;AA9MW,QAAA,uBAAuB,2BA8MlC;AAEF,kBAAe,+BAAuB,CAAC"}
|
|
@@ -24,6 +24,10 @@ const pyStrandsAgentReactConnectionGenerator = async (tree, options) => {
|
|
|
24
24
|
const agentNameClassName = targetComponent?.rc ?? (0, names_1.toClassName)(agentName);
|
|
25
25
|
const agentPort = targetComponent?.port ?? metadata?.ports?.[0] ?? 8081;
|
|
26
26
|
const auth = targetComponent?.auth ?? metadata?.auth ?? 'IAM';
|
|
27
|
+
if (targetComponent?.protocol === 'A2A') {
|
|
28
|
+
throw new Error(`Cannot connect a React website to an A2A agent. ` +
|
|
29
|
+
`Consider generating an agent with the HTTP protocol instead.`);
|
|
30
|
+
}
|
|
27
31
|
// Determine the module name from the project source root
|
|
28
32
|
const moduleName = getModuleName(agentProjectConfig);
|
|
29
33
|
const agentNameSnakeCase = (0, names_1.toSnakeCase)(agentName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/strands-agent/react-connection/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/strands-agent/react-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { IacProviderOption } from '../../utils/iac';
|
|
7
7
|
|
|
8
8
|
export type PyStrandsAgentComputeType = 'BedrockAgentCoreRuntime' | 'None';
|
|
9
|
+
export type StrandsAgentProtocol = 'HTTP' | 'A2A';
|
|
9
10
|
|
|
10
11
|
export type PyStrandsAgentAuth = 'IAM' | 'Cognito';
|
|
11
12
|
|
|
@@ -14,5 +15,6 @@ export interface PyStrandsAgentGeneratorSchema {
|
|
|
14
15
|
name?: string;
|
|
15
16
|
computeType?: PyStrandsAgentComputeType;
|
|
16
17
|
auth?: PyStrandsAgentAuth;
|
|
18
|
+
protocol?: StrandsAgentProtocol;
|
|
17
19
|
iacProvider: IacProviderOption;
|
|
18
20
|
}
|
|
@@ -36,6 +36,14 @@
|
|
|
36
36
|
"x-prompt": "How would you like to authenticate with your Strands Agent?",
|
|
37
37
|
"x-priority": "important"
|
|
38
38
|
},
|
|
39
|
+
"protocol": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "The server protocol for your Strands Agent. HTTP exposes a FastAPI HTTP server. A2A exposes an Agent-to-Agent protocol server.",
|
|
42
|
+
"x-prompt": "Which protocol would you like to use for your Strands Agent?",
|
|
43
|
+
"enum": ["HTTP", "A2A"],
|
|
44
|
+
"default": "HTTP",
|
|
45
|
+
"x-priority": "important"
|
|
46
|
+
},
|
|
39
47
|
"iacProvider": {
|
|
40
48
|
"type": "string",
|
|
41
49
|
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`react-website generator > TailwindCSS integration > should configure vite with TailwindCSS plugin by default > vite.config.mts-with-tailwind 1`] = `
|
|
4
4
|
"import tailwindcss from '@tailwindcss/vite';
|
|
5
|
-
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
6
5
|
import { resolve } from 'path';
|
|
7
6
|
import { tanstackRouter } from '@tanstack/router-plugin/vite';
|
|
8
7
|
/// <reference types='vitest' />
|
|
@@ -27,7 +26,6 @@ export default defineConfig(() => ({
|
|
|
27
26
|
}),
|
|
28
27
|
react(),
|
|
29
28
|
tailwindcss(),
|
|
30
|
-
tsconfigPaths(),
|
|
31
29
|
],
|
|
32
30
|
// Uncomment this if you are using workers.
|
|
33
31
|
// worker: {
|
|
@@ -54,14 +52,14 @@ export default defineConfig(() => ({
|
|
|
54
52
|
},
|
|
55
53
|
passWithNoTests: true,
|
|
56
54
|
},
|
|
55
|
+
resolve: { tsconfigPaths: true },
|
|
57
56
|
define: { global: {} },
|
|
58
57
|
}));
|
|
59
58
|
"
|
|
60
59
|
`;
|
|
61
60
|
|
|
62
61
|
exports[`react-website generator > TailwindCSS integration > should configure vite without TailwindCSS plugin when disabled > vite.config.mts-without-tailwind 1`] = `
|
|
63
|
-
"import
|
|
64
|
-
import { resolve } from 'path';
|
|
62
|
+
"import { resolve } from 'path';
|
|
65
63
|
import { tanstackRouter } from '@tanstack/router-plugin/vite';
|
|
66
64
|
/// <reference types='vitest' />
|
|
67
65
|
import { defineConfig } from 'vite';
|
|
@@ -84,7 +82,6 @@ export default defineConfig(() => ({
|
|
|
84
82
|
generatedRouteTree: resolve(__dirname, 'src/routeTree.gen.ts'),
|
|
85
83
|
}),
|
|
86
84
|
react(),
|
|
87
|
-
tsconfigPaths(),
|
|
88
85
|
],
|
|
89
86
|
// Uncomment this if you are using workers.
|
|
90
87
|
// worker: {
|
|
@@ -111,6 +108,7 @@ export default defineConfig(() => ({
|
|
|
111
108
|
},
|
|
112
109
|
passWithNoTests: true,
|
|
113
110
|
},
|
|
111
|
+
resolve: { tsconfigPaths: true },
|
|
114
112
|
define: { global: {} },
|
|
115
113
|
}));
|
|
116
114
|
"
|
|
@@ -1102,7 +1100,6 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
1102
1100
|
"typescript": "~5.9.2",
|
|
1103
1101
|
"typescript-eslint": "^8.40.0",
|
|
1104
1102
|
"vite": "8.0.8",
|
|
1105
|
-
"vite-tsconfig-paths": "6.1.1",
|
|
1106
1103
|
"vitest": "4.1.4"
|
|
1107
1104
|
},
|
|
1108
1105
|
"type": "module"
|
|
@@ -2402,7 +2399,6 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
2402
2399
|
|
|
2403
2400
|
exports[`react-website generator > Tanstack router integration > should generate website with no router correctly > test-app/vite.config.mts 1`] = `
|
|
2404
2401
|
"import tailwindcss from '@tailwindcss/vite';
|
|
2405
|
-
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
2406
2402
|
/// <reference types='vitest' />
|
|
2407
2403
|
import { defineConfig } from 'vite';
|
|
2408
2404
|
import react from '@vitejs/plugin-react';
|
|
@@ -2418,7 +2414,7 @@ export default defineConfig(() => ({
|
|
|
2418
2414
|
port: 4300,
|
|
2419
2415
|
host: 'localhost',
|
|
2420
2416
|
},
|
|
2421
|
-
plugins: [react(), tailwindcss()
|
|
2417
|
+
plugins: [react(), tailwindcss()],
|
|
2422
2418
|
// Uncomment this if you are using workers.
|
|
2423
2419
|
// worker: {
|
|
2424
2420
|
// plugins: [],
|
|
@@ -2444,6 +2440,7 @@ export default defineConfig(() => ({
|
|
|
2444
2440
|
},
|
|
2445
2441
|
passWithNoTests: true,
|
|
2446
2442
|
},
|
|
2443
|
+
resolve: { tsconfigPaths: true },
|
|
2447
2444
|
define: { global: {} },
|
|
2448
2445
|
}));
|
|
2449
2446
|
"
|
|
@@ -2699,7 +2696,6 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
2699
2696
|
"typescript": "~5.9.2",
|
|
2700
2697
|
"typescript-eslint": "^8.40.0",
|
|
2701
2698
|
"vite": "8.0.8",
|
|
2702
|
-
"vite-tsconfig-paths": "6.1.1",
|
|
2703
2699
|
"vitest": "4.1.4"
|
|
2704
2700
|
},
|
|
2705
2701
|
"type": "module"
|
|
@@ -4183,7 +4179,6 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
4183
4179
|
|
|
4184
4180
|
exports[`react-website generator > Tanstack router integration > should generate website with router correctly > test-app/vite.config.mts 1`] = `
|
|
4185
4181
|
"import tailwindcss from '@tailwindcss/vite';
|
|
4186
|
-
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
4187
4182
|
import { resolve } from 'path';
|
|
4188
4183
|
import { tanstackRouter } from '@tanstack/router-plugin/vite';
|
|
4189
4184
|
/// <reference types='vitest' />
|
|
@@ -4208,7 +4203,6 @@ export default defineConfig(() => ({
|
|
|
4208
4203
|
}),
|
|
4209
4204
|
react(),
|
|
4210
4205
|
tailwindcss(),
|
|
4211
|
-
tsconfigPaths(),
|
|
4212
4206
|
],
|
|
4213
4207
|
// Uncomment this if you are using workers.
|
|
4214
4208
|
// worker: {
|
|
@@ -4235,6 +4229,7 @@ export default defineConfig(() => ({
|
|
|
4235
4229
|
},
|
|
4236
4230
|
passWithNoTests: true,
|
|
4237
4231
|
},
|
|
4232
|
+
resolve: { tsconfigPaths: true },
|
|
4238
4233
|
define: { global: {} },
|
|
4239
4234
|
}));
|
|
4240
4235
|
"
|
|
@@ -4297,7 +4292,6 @@ exports[`react-website generator > should configure TypeScript correctly > tscon
|
|
|
4297
4292
|
|
|
4298
4293
|
exports[`react-website generator > should configure vite correctly > vite.config.mts 1`] = `
|
|
4299
4294
|
"import tailwindcss from '@tailwindcss/vite';
|
|
4300
|
-
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
4301
4295
|
import { resolve } from 'path';
|
|
4302
4296
|
import { tanstackRouter } from '@tanstack/router-plugin/vite';
|
|
4303
4297
|
/// <reference types='vitest' />
|
|
@@ -4322,7 +4316,6 @@ export default defineConfig(() => ({
|
|
|
4322
4316
|
}),
|
|
4323
4317
|
react(),
|
|
4324
4318
|
tailwindcss(),
|
|
4325
|
-
tsconfigPaths(),
|
|
4326
4319
|
],
|
|
4327
4320
|
// Uncomment this if you are using workers.
|
|
4328
4321
|
// worker: {
|
|
@@ -4349,6 +4342,7 @@ export default defineConfig(() => ({
|
|
|
4349
4342
|
},
|
|
4350
4343
|
passWithNoTests: true,
|
|
4351
4344
|
},
|
|
4345
|
+
resolve: { tsconfigPaths: true },
|
|
4352
4346
|
define: { global: {} },
|
|
4353
4347
|
}));
|
|
4354
4348
|
"
|
|
@@ -227,7 +227,6 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
227
227
|
await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['tanstackRouter'], '@tanstack/router-plugin/vite');
|
|
228
228
|
await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['resolve'], 'path');
|
|
229
229
|
}
|
|
230
|
-
await (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tsconfigPaths', 'vite-tsconfig-paths');
|
|
231
230
|
// Add TailwindCSS import if enabled
|
|
232
231
|
if (enableTailwind) {
|
|
233
232
|
await (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tailwindcss', '@tailwindcss/vite');
|
|
@@ -243,7 +242,8 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
243
242
|
if (enableTailwind) {
|
|
244
243
|
await (0, ast_1.applyGritQL)(tree, viteConfigPath, '`plugins: [$items]` => `plugins: [$items, tailwindcss()]` where { $items <: within `defineConfig($_)`, $items <: not some `tailwindcss()` }');
|
|
245
244
|
}
|
|
246
|
-
|
|
245
|
+
// Use Vite's native tsconfig paths resolution (replaces vite-tsconfig-paths)
|
|
246
|
+
await (0, ast_1.applyGritQL)(tree, viteConfigPath, 'or { `defineConfig(() => ({ $props }))` where { $props <: not some `resolve: $_`, $props += `resolve: { tsconfigPaths: true }` }, `defineConfig({ $props })` where { $props <: not some `resolve: $_`, $props += `resolve: { tsconfigPaths: true }` } }');
|
|
247
247
|
// Add define: { global: {} } to the config (handles both callback and direct forms)
|
|
248
248
|
await (0, ast_1.applyGritQL)(tree, viteConfigPath, 'or { `defineConfig(() => ({ $props }))` where { $props <: not contains `define`, $props += `define: { global: {} }` }, `defineConfig({ $props })` where { $props <: not contains `define`, $props += `define: { global: {} }` } }');
|
|
249
249
|
}
|
|
@@ -274,11 +274,7 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
274
274
|
]
|
|
275
275
|
: tsconfig.references,
|
|
276
276
|
}));
|
|
277
|
-
const devDependencies = [
|
|
278
|
-
'vite-tsconfig-paths',
|
|
279
|
-
'@nx/react',
|
|
280
|
-
'@vitest/ui',
|
|
281
|
-
];
|
|
277
|
+
const devDependencies = ['@nx/react', '@vitest/ui'];
|
|
282
278
|
const dependencies = ['react', 'react-dom'];
|
|
283
279
|
if (uxProvider === 'Cloudscape') {
|
|
284
280
|
dependencies.push('@cloudscape-design/components', '@cloudscape-design/board-components', '@cloudscape-design/global-styles');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":";;;AAyDA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { A2AExpressServer } from '@strands-agents/sdk/a2a/express';
|
|
2
|
+
import express from 'express';
|
|
3
|
+
import { getAgent } from './agent.js';
|
|
4
|
+
|
|
5
|
+
const PORT = parseInt(process.env.PORT || '9000');
|
|
6
|
+
const HOST = '0.0.0.0';
|
|
7
|
+
|
|
8
|
+
void (async () => {
|
|
9
|
+
const httpUrl =
|
|
10
|
+
process.env.AGENTCORE_RUNTIME_URL ?? `http://localhost:${PORT}/`;
|
|
11
|
+
|
|
12
|
+
const server = new A2AExpressServer({
|
|
13
|
+
agent: await getAgent('default'),
|
|
14
|
+
name: '<%= agentNameClassName %>',
|
|
15
|
+
description:
|
|
16
|
+
'A Strands Agent exposed via the Agent-to-Agent (A2A) protocol.',
|
|
17
|
+
host: HOST,
|
|
18
|
+
port: PORT,
|
|
19
|
+
httpUrl,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const app = express();
|
|
23
|
+
app.get('/ping', (_req, res) => res.status(200).json({ status: 'Healthy' }));
|
|
24
|
+
app.use(server.createMiddleware());
|
|
25
|
+
app.listen(PORT, HOST, () => {
|
|
26
|
+
console.log(`A2A server listening on ${HOST}:${PORT}`);
|
|
27
|
+
});
|
|
28
|
+
})();
|
|
@@ -9,7 +9,11 @@ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@<%- adotV
|
|
|
9
9
|
# Copy bundled agent
|
|
10
10
|
COPY --from=workspace <%- distDir %>/bundle/agent/<%- name %>/index.js /app
|
|
11
11
|
|
|
12
|
+
<%_ if (protocol === 'A2A') { _%>
|
|
13
|
+
EXPOSE 9000
|
|
14
|
+
<%_ } else { _%>
|
|
12
15
|
EXPOSE 8080
|
|
16
|
+
<%_ } _%>
|
|
13
17
|
|
|
14
18
|
# Auto-instrument with AWS Distro for OpenTelemetry
|
|
15
19
|
# https://aws-otel.github.io/docs/getting-started/js-sdk/trace-metric-auto-instr
|
|
@@ -33,12 +33,16 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
33
33
|
const distDir = (0, devkit_1.joinPathFragments)('dist', project.root);
|
|
34
34
|
const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
|
|
35
35
|
const auth = options.auth ?? 'IAM';
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
const protocol = options.protocol ?? 'HTTP';
|
|
37
|
+
const templateContext = {
|
|
38
38
|
name,
|
|
39
39
|
agentNameClassName,
|
|
40
40
|
distDir,
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
|
+
// Generate common files shared by both protocols
|
|
43
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'common'), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
44
|
+
// Generate protocol-specific files
|
|
45
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', protocol.toLowerCase()), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
42
46
|
if (computeType === 'BedrockAgentCoreRuntime') {
|
|
43
47
|
const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
|
|
44
48
|
// Add bundle target
|
|
@@ -50,6 +54,7 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
50
54
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'deploy'), targetSourceDir, {
|
|
51
55
|
distDir,
|
|
52
56
|
name,
|
|
57
|
+
protocol,
|
|
53
58
|
adotVersion: versions_1.TS_VERSIONS['@aws/aws-distro-opentelemetry-node-autoinstrumentation'],
|
|
54
59
|
}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
55
60
|
const dockerTargetName = `${agentTargetPrefix}-docker`;
|
|
@@ -73,26 +78,37 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
73
78
|
dockerImageTag,
|
|
74
79
|
iacProvider,
|
|
75
80
|
auth,
|
|
81
|
+
serverProtocol: protocol,
|
|
76
82
|
});
|
|
77
83
|
}
|
|
78
84
|
// Add dependencies
|
|
79
85
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
80
|
-
'@trpc/server',
|
|
81
|
-
'@trpc/client',
|
|
82
86
|
'zod',
|
|
83
87
|
'@strands-agents/sdk',
|
|
84
|
-
'ws',
|
|
85
|
-
'cors',
|
|
86
88
|
'@aws-sdk/credential-providers',
|
|
87
89
|
'@aws-sdk/client-appconfigdata',
|
|
88
90
|
'@aws-lambda-powertools/parameters',
|
|
89
|
-
'aws4fetch',
|
|
90
91
|
'@modelcontextprotocol/sdk',
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
...(protocol === 'A2A'
|
|
93
|
+
? ['express', '@a2a-js/sdk']
|
|
94
|
+
: [
|
|
95
|
+
'@trpc/server',
|
|
96
|
+
'@trpc/client',
|
|
97
|
+
'ws',
|
|
98
|
+
'cors',
|
|
99
|
+
'aws4fetch',
|
|
100
|
+
]),
|
|
101
|
+
]), (0, versions_1.withVersions)([
|
|
102
|
+
'tsx',
|
|
103
|
+
'@types/node',
|
|
104
|
+
...(protocol === 'A2A'
|
|
105
|
+
? ['@types/express']
|
|
106
|
+
: ['@types/ws', '@types/cors']),
|
|
107
|
+
]));
|
|
108
|
+
// A2A servers use port 9000 as per the Strands A2A SDK default and AgentCore A2A contract.
|
|
109
|
+
// HTTP agents use port 8081+ to avoid conflict with VS Code server on 8080.
|
|
110
|
+
const localDevPortStart = protocol === 'A2A' ? 9000 : 8081;
|
|
111
|
+
const localDevPort = (0, port_1.assignPort)(tree, project, localDevPortStart);
|
|
96
112
|
(0, devkit_1.updateProjectConfiguration)(tree, project.name, {
|
|
97
113
|
...project,
|
|
98
114
|
targets: {
|
|
@@ -122,7 +138,7 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
122
138
|
},
|
|
123
139
|
},
|
|
124
140
|
});
|
|
125
|
-
(0, nx_1.addComponentGeneratorMetadata)(tree, project.name, exports.TS_STRANDS_AGENT_GENERATOR_INFO, targetSourceDirRelativeToProjectRoot, agentTargetPrefix, { port: localDevPort, rc: agentNameClassName, auth });
|
|
141
|
+
(0, nx_1.addComponentGeneratorMetadata)(tree, project.name, exports.TS_STRANDS_AGENT_GENERATOR_INFO, targetSourceDirRelativeToProjectRoot, agentTargetPrefix, { port: localDevPort, rc: agentNameClassName, auth, protocol });
|
|
126
142
|
await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
|
|
127
143
|
exports.TS_STRANDS_AGENT_GENERATOR_INFO,
|
|
128
144
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/strands-agent/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAA2D;AAC3D,mDAAiE;AACjE,qDAAoD;AACpD,sDAAsE;AACtE,yCAAqD;AACrD,qEAA0E;AAC1E,mGAAwF;AAExF,2CAA8C;AAEjC,QAAA,+BAA+B,GAC1C,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,uBAAuB,GAAG,KAAK,EAC1C,IAAU,EACV,OAAsC,EACV,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,wDAAwD,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;IACxE,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,MAAM,oCAAoC,GAAG,IAAA,0BAAiB,EAC5D,KAAK,EACL,iBAAiB,CAClB,CAAC;IACF,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,IAAI,EACZ,oCAAoC,CACrC,CAAC;IACF,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/strands-agent/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,10 @@ async function tsStrandsAgentReactConnectionGenerator(tree, options) {
|
|
|
29
29
|
const auth = targetComponent?.auth ?? metadata?.auth ?? 'IAM';
|
|
30
30
|
const agentProjectAlias = (0, npm_scope_1.toScopeAlias)(agentProjectConfig.name);
|
|
31
31
|
const agentPath = targetComponent?.path ?? 'src/agent';
|
|
32
|
+
if (targetComponent?.protocol === 'A2A') {
|
|
33
|
+
throw new Error(`Cannot connect a React website to an A2A agent. ` +
|
|
34
|
+
`Consider generating an agent with the HTTP protocol instead.`);
|
|
35
|
+
}
|
|
32
36
|
// Ensure the agent project has a wildcard path entry in tsconfig.base.json
|
|
33
37
|
// so that deep imports (e.g., for the router type) resolve correctly
|
|
34
38
|
ensureWildcardPathEntry(tree, agentProjectConfig.name, agentProjectConfig.root);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/react-connection/generator.ts"],"names":[],"mappings":";;;AAgCA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/react-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { IacProviderOption } from '../../utils/iac';
|
|
7
7
|
|
|
8
8
|
export type TsStrandsAgentComputeType = 'BedrockAgentCoreRuntime' | 'None';
|
|
9
|
+
export type StrandsAgentProtocol = 'HTTP' | 'A2A';
|
|
9
10
|
|
|
10
11
|
export type TsStrandsAgentAuth = 'IAM' | 'Cognito';
|
|
11
12
|
|
|
@@ -14,5 +15,6 @@ export interface TsStrandsAgentGeneratorSchema {
|
|
|
14
15
|
name?: string;
|
|
15
16
|
computeType?: TsStrandsAgentComputeType;
|
|
16
17
|
auth?: TsStrandsAgentAuth;
|
|
18
|
+
protocol?: StrandsAgentProtocol;
|
|
17
19
|
iacProvider: IacProviderOption;
|
|
18
20
|
}
|
|
@@ -36,6 +36,14 @@
|
|
|
36
36
|
"x-prompt": "How would you like to authenticate with your Strands Agent?",
|
|
37
37
|
"x-priority": "important"
|
|
38
38
|
},
|
|
39
|
+
"protocol": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "The server protocol for your Strands Agent. HTTP exposes a tRPC/WebSocket server. A2A exposes an Agent-to-Agent protocol server.",
|
|
42
|
+
"x-prompt": "Which protocol would you like to use for your Strands Agent?",
|
|
43
|
+
"enum": ["HTTP", "A2A"],
|
|
44
|
+
"default": "HTTP",
|
|
45
|
+
"x-priority": "important"
|
|
46
|
+
},
|
|
39
47
|
"iacProvider": {
|
|
40
48
|
"type": "string",
|
|
41
49
|
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
@@ -14,7 +14,7 @@ export interface AddAgentCoreInfraProps {
|
|
|
14
14
|
projectName: string;
|
|
15
15
|
dockerImageTag: string;
|
|
16
16
|
appDirectory: string;
|
|
17
|
-
serverProtocol: 'MCP' | 'HTTP';
|
|
17
|
+
serverProtocol: 'MCP' | 'HTTP' | 'A2A';
|
|
18
18
|
auth: AgentCoreAuth;
|
|
19
19
|
}
|
|
20
20
|
export interface AddMcpServerInfraProps {
|
|
@@ -34,9 +34,10 @@ export interface AddAgentInfraProps {
|
|
|
34
34
|
projectName: string;
|
|
35
35
|
dockerImageTag: string;
|
|
36
36
|
auth: AgentCoreAuth;
|
|
37
|
+
serverProtocol?: 'HTTP' | 'A2A';
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
|
-
* Add an
|
|
40
|
+
* Add an agent CDK construct
|
|
40
41
|
*/
|
|
41
42
|
export declare const addAgentInfra: (tree: Tree, options: AddAgentInfraProps & IACProvider) => Promise<void>;
|
|
42
43
|
export {};
|
|
@@ -73,7 +73,7 @@ const addMcpServerInfra = async (tree, options) => {
|
|
|
73
73
|
};
|
|
74
74
|
exports.addMcpServerInfra = addMcpServerInfra;
|
|
75
75
|
/**
|
|
76
|
-
* Add an
|
|
76
|
+
* Add an agent CDK construct
|
|
77
77
|
*/
|
|
78
78
|
const addAgentInfra = async (tree, options) => {
|
|
79
79
|
await addAgentCoreInfra(tree, {
|
|
@@ -82,7 +82,7 @@ const addAgentInfra = async (tree, options) => {
|
|
|
82
82
|
projectName: options.projectName,
|
|
83
83
|
dockerImageTag: options.dockerImageTag,
|
|
84
84
|
appDirectory: 'agents',
|
|
85
|
-
serverProtocol: 'HTTP',
|
|
85
|
+
serverProtocol: options.serverProtocol ?? 'HTTP',
|
|
86
86
|
iacProvider: options.iacProvider,
|
|
87
87
|
auth: options.auth,
|
|
88
88
|
});
|
|
@@ -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":";;;AAAA;;;GAGG;AACH,uCAQoB;AACpB,gFAIwC;AACxC,gCAAuC;AAEvC,0CAA2C;AAgB3C,MAAM,iBAAiB,GAAG,KAAK,EAC7B,IAAU,EACV,OAA8D,EAC9D,EAAE;IACF,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,KAAK;YACR,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,WAAW;YACd,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM;IACV,CAAC;IAED,qFAAqF;IACrF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,WAAW,KAAK,KAAK;QAC3B,CAAC,CAAC,mDAAqB;QACvB,CAAC,CAAC,kDAAoB,EACxB,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;YAC/B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,QAAQ,CAC5C;YACD,GAAG,OAAO,CAAC,WAAW,QAAQ;SAC/B,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,
|
|
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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"}
|
|
@@ -121,7 +121,12 @@ export class <%- nameClassName %> extends Construct implements IGrantable {
|
|
|
121
121
|
|
|
122
122
|
Grant.addToPrincipal({
|
|
123
123
|
grantee,
|
|
124
|
-
actions: [
|
|
124
|
+
actions: [
|
|
125
|
+
'bedrock-agentcore:InvokeAgentRuntimeWithWebSocketStream',
|
|
126
|
+
<%_ if (serverProtocol === 'A2A') { _%>
|
|
127
|
+
'bedrock-agentcore:GetAgentCard',
|
|
128
|
+
<%_ } _%>
|
|
129
|
+
],
|
|
125
130
|
resourceArns: [
|
|
126
131
|
this.agentCoreRuntime.agentRuntimeArn,
|
|
127
132
|
`${this.agentCoreRuntime.agentRuntimeArn}/*`,
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Versons for TypeScript dependencies added by generators
|
|
7
7
|
*/
|
|
8
8
|
export declare const TS_VERSIONS: {
|
|
9
|
+
readonly '@a2a-js/sdk': "0.3.13";
|
|
9
10
|
readonly '@aws/aws-distro-opentelemetry-node-autoinstrumentation': "0.10.0";
|
|
10
11
|
readonly '@aws-sdk/client-dynamodb': "3.1029.0";
|
|
11
12
|
readonly '@aws-sdk/client-sts': "3.1029.0";
|
|
@@ -26,7 +27,7 @@ export declare const TS_VERSIONS: {
|
|
|
26
27
|
readonly 'create-nx-workspace': "22.6.5";
|
|
27
28
|
readonly '@modelcontextprotocol/sdk': "1.29.0";
|
|
28
29
|
readonly '@modelcontextprotocol/inspector': "0.19.0";
|
|
29
|
-
readonly '@strands-agents/sdk': "0.
|
|
30
|
+
readonly '@strands-agents/sdk': "1.0.0-rc.4";
|
|
30
31
|
readonly '@tanstack/react-router': "1.168.17";
|
|
31
32
|
readonly '@tanstack/router-plugin': "1.167.16";
|
|
32
33
|
readonly '@tanstack/router-generator': "1.166.28";
|
|
@@ -89,7 +90,6 @@ export declare const TS_VERSIONS: {
|
|
|
89
90
|
readonly vite: "8.0.8";
|
|
90
91
|
readonly typescript: "6.0.2";
|
|
91
92
|
readonly vitest: "4.1.4";
|
|
92
|
-
readonly 'vite-tsconfig-paths': "6.1.1";
|
|
93
93
|
readonly zod: "4.3.6";
|
|
94
94
|
readonly ws: "8.20.0";
|
|
95
95
|
};
|
|
@@ -98,7 +98,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
|
|
|
98
98
|
* Add versions to the given dependencies
|
|
99
99
|
*/
|
|
100
100
|
export declare const withVersions: (deps: ITsDepVersion[]) => {
|
|
101
|
-
[k: string]: "22.6.5" | "3.8.2" | "1.29.0" | "22.1.1" | "6.0.2" | "8.0.8" | "4.1.4" | "4.3.6" | "0.10.0" | "3.1029.0" | "1.0.0-alpha.10" | "2.32.0" | "7.2.1" | "10.2.1" | "0.19.0" | "0.
|
|
101
|
+
[k: string]: "22.6.5" | "3.8.2" | "1.29.0" | "22.1.1" | "6.0.2" | "8.0.8" | "4.1.4" | "4.3.6" | "0.3.13" | "0.10.0" | "3.1029.0" | "1.0.0-alpha.10" | "2.32.0" | "7.2.1" | "10.2.1" | "0.19.0" | "1.0.0-rc.4" | "1.168.17" | "1.167.16" | "1.166.28" | "1.161.7" | "1.161.6" | "3.0.166" | "3.0.1272" | "1.0.57" | "5.99.0" | "11.16.0" | "25.6.0" | "8.10.161" | "2.8.19" | "8.18.1" | "5.0.6" | "4.14.0" | "1.0.20" | "2.1118.0" | "2.248.0" | "2.248.0-alpha.0" | "3.12.0" | "10.6.0" | "2.8.6" | "0.7.1" | "2.1.1" | "3.7.5" | "0.28.0" | "1.0.31" | "1.0.5" | "8.58.1" | "5.5.5" | "5.2.1" | "3.1.0" | "4.0.0" | "2.0.0" | "19.6.6" | "3.5.0" | "3.3.1" | "19.2.5" | "6.1.3" | "1.0.0-rc.15" | "0.5.21" | "4.2.2" | "4.21.0" | "1.8.0" | "1.4.3" | "4.2.0" | "1.4.0" | "8.20.0";
|
|
102
102
|
};
|
|
103
103
|
/**
|
|
104
104
|
* Versions for Python dependencies added by generators
|
|
@@ -115,7 +115,8 @@ export declare const PY_VERSIONS: {
|
|
|
115
115
|
readonly 'fastapi[standard]': "==0.135.3";
|
|
116
116
|
readonly mcp: "==1.27.0";
|
|
117
117
|
readonly 'pip-check-updates': "==0.28.0";
|
|
118
|
-
readonly 'strands-agents': "==1.
|
|
118
|
+
readonly 'strands-agents': "==1.36.0";
|
|
119
|
+
readonly 'strands-agents[a2a]': "==1.36.0";
|
|
119
120
|
readonly 'strands-agents-tools': "==0.4.1";
|
|
120
121
|
readonly uvicorn: "==0.44.0";
|
|
121
122
|
};
|
package/src/utils/versions.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.withPyVersions = exports.PY_VERSIONS = exports.withVersions = exports.TS
|
|
|
9
9
|
* Versons for TypeScript dependencies added by generators
|
|
10
10
|
*/
|
|
11
11
|
exports.TS_VERSIONS = {
|
|
12
|
+
'@a2a-js/sdk': '0.3.13',
|
|
12
13
|
'@aws/aws-distro-opentelemetry-node-autoinstrumentation': '0.10.0',
|
|
13
14
|
'@aws-sdk/client-dynamodb': '3.1029.0',
|
|
14
15
|
'@aws-sdk/client-sts': '3.1029.0',
|
|
@@ -29,7 +30,7 @@ exports.TS_VERSIONS = {
|
|
|
29
30
|
'create-nx-workspace': '22.6.5',
|
|
30
31
|
'@modelcontextprotocol/sdk': '1.29.0',
|
|
31
32
|
'@modelcontextprotocol/inspector': '0.19.0',
|
|
32
|
-
'@strands-agents/sdk': '0.
|
|
33
|
+
'@strands-agents/sdk': '1.0.0-rc.4',
|
|
33
34
|
'@tanstack/react-router': '1.168.17',
|
|
34
35
|
'@tanstack/router-plugin': '1.167.16',
|
|
35
36
|
'@tanstack/router-generator': '1.166.28',
|
|
@@ -92,7 +93,6 @@ exports.TS_VERSIONS = {
|
|
|
92
93
|
vite: '8.0.8',
|
|
93
94
|
typescript: '6.0.2',
|
|
94
95
|
vitest: '4.1.4',
|
|
95
|
-
'vite-tsconfig-paths': '6.1.1',
|
|
96
96
|
zod: '4.3.6',
|
|
97
97
|
ws: '8.20.0',
|
|
98
98
|
};
|
|
@@ -116,7 +116,8 @@ exports.PY_VERSIONS = {
|
|
|
116
116
|
'fastapi[standard]': '==0.135.3',
|
|
117
117
|
mcp: '==1.27.0',
|
|
118
118
|
'pip-check-updates': '==0.28.0',
|
|
119
|
-
'strands-agents': '==1.
|
|
119
|
+
'strands-agents': '==1.36.0',
|
|
120
|
+
'strands-agents[a2a]': '==1.36.0',
|
|
120
121
|
'strands-agents-tools': '==0.4.1',
|
|
121
122
|
uvicorn: '==0.44.0',
|
|
122
123
|
};
|
|
@@ -1 +1 @@
|
|
|
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,wDAAwD,EAAE,QAAQ;IAClE,0BAA0B,EAAE,UAAU;IACtC,qBAAqB,EAAE,UAAU;IACjC,+BAA+B,EAAE,UAAU;IAC3C,+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,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|