@aws/nx-plugin 0.107.0 → 0.109.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/LICENSE-THIRD-PARTY +2401 -175
- package/package.json +19 -8
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +13 -13
- package/src/mcp-server/generator-info.d.ts +95 -13
- package/src/mcp-server/generator-info.js +319 -164
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.d.ts +28 -0
- package/src/mcp-server/guide-pipeline.js +393 -0
- package/src/mcp-server/guide-pipeline.js.map +1 -0
- package/src/mcp-server/guide-render.d.ts +25 -0
- package/src/mcp-server/guide-render.js +50 -0
- package/src/mcp-server/guide-render.js.map +1 -0
- package/src/mcp-server/mdx-ast.d.ts +30 -0
- package/src/mcp-server/mdx-ast.js +96 -0
- package/src/mcp-server/mdx-ast.js.map +1 -0
- package/src/mcp-server/option-filter.d.ts +33 -0
- package/src/mcp-server/option-filter.js +119 -0
- package/src/mcp-server/option-filter.js.map +1 -0
- package/src/mcp-server/schema-registry.d.ts +36 -0
- package/src/mcp-server/schema-registry.js +79 -0
- package/src/mcp-server/schema-registry.js.map +1 -0
- package/src/mcp-server/tools/generator-guide.d.ts +7 -1
- package/src/mcp-server/tools/generator-guide.js +32 -4
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.d.ts +10 -1
- package/src/mcp-server/tools/list-generators.js +34 -13
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/preset/schema.json +2 -2
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/strands-agent/generator.js +95 -2
- package/src/py/strands-agent/generator.js.map +1 -1
- package/src/py/strands-agent/scripts/http/chat.ts.template +38 -0
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +2 -0
- package/src/ts/nx-generator/files/nx-plugin-for-aws/docs/__nameKebabCase__.mdx.template +2 -0
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +27 -27
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +12 -3
- package/src/ts/strands-agent/generator.js +31 -0
- package/src/ts/strands-agent/generator.js.map +1 -1
- package/src/ts/strands-agent/scripts/http/chat.ts.template +35 -0
- package/src/utils/files/common/shadcn/src/components/ui/avatar.tsx.template +60 -4
- package/src/utils/files/common/shadcn/src/components/ui/textarea.tsx.template +1 -1
- package/src/utils/generators.d.ts +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +13 -3
- package/src/utils/versions.d.ts +39 -38
- package/src/utils/versions.js +38 -37
- package/src/utils/versions.js.map +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal chat CLI for <%- agentNameClassName %> (Python FastAPI / JSONL streaming).
|
|
3
|
+
*
|
|
4
|
+
* Uses the type-safe TypeScript client generated from the agent's OpenAPI
|
|
5
|
+
* spec. Connects to the agent at `process.env.URL` (set by the Nx
|
|
6
|
+
* `<%- agentTargetPrefix %>-chat` target).
|
|
7
|
+
*/
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
import { chatLoop, type ChatAdapter } from 'agent-chat-cli';
|
|
10
|
+
import { <%- agentNameClassName %> } from './generated/client.gen.js';
|
|
11
|
+
|
|
12
|
+
const SESSION_ID_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
|
|
13
|
+
|
|
14
|
+
class <%- agentNameClassName %>Adapter implements ChatAdapter {
|
|
15
|
+
private client!: <%- agentNameClassName %>;
|
|
16
|
+
// AgentCore session IDs must be at least 33 characters.
|
|
17
|
+
private readonly sessionId = randomUUID().replaceAll('-', '').padEnd(33, '0');
|
|
18
|
+
|
|
19
|
+
async connect(url: string) {
|
|
20
|
+
this.client = new <%- agentNameClassName %>({
|
|
21
|
+
url,
|
|
22
|
+
fetch: (input, init) => {
|
|
23
|
+
const headers = new Headers(init?.headers);
|
|
24
|
+
headers.set(SESSION_ID_HEADER, this.sessionId);
|
|
25
|
+
return fetch(input, { ...init, headers });
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return { agentName: '<%- agentNameClassName %>' };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async *sendMessage(text: string): AsyncIterable<string> {
|
|
32
|
+
for await (const chunk of this.client.invoke({ message: text })) {
|
|
33
|
+
if (typeof chunk.content === 'string') yield chunk.content;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
await chatLoop(new <%- agentNameClassName %>Adapter(), process.env.URL!);
|
|
@@ -724,10 +724,10 @@ exports[`ts#mcp-server generator > should match snapshot for generated files > u
|
|
|
724
724
|
},
|
|
725
725
|
"dependencies": {
|
|
726
726
|
"@aws-lambda-powertools/parameters": "2.33.0",
|
|
727
|
-
"@aws-sdk/client-appconfigdata": "3.
|
|
727
|
+
"@aws-sdk/client-appconfigdata": "3.1039.0",
|
|
728
728
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
729
729
|
"express": "5.2.1",
|
|
730
|
-
"zod": "4.
|
|
730
|
+
"zod": "4.4.1"
|
|
731
731
|
},
|
|
732
732
|
"devDependencies": {
|
|
733
733
|
"@modelcontextprotocol/inspector": "0.19.0",
|
|
@@ -4,6 +4,7 @@ exports[`nx-generator generator > within @aws/nx-plugin > should add guide page
|
|
|
4
4
|
"---
|
|
5
5
|
title: foo#bar
|
|
6
6
|
description: Some description
|
|
7
|
+
generator: foo#bar
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
import { FileTree } from '@astrojs/starlight/components';
|
|
@@ -11,6 +12,7 @@ import RunGenerator from '@components/run-generator.astro';
|
|
|
11
12
|
import GeneratorParameters from '@components/generator-parameters.astro';
|
|
12
13
|
import Infrastructure from '@components/infrastructure.astro';
|
|
13
14
|
import Snippet from '@components/snippet.astro';
|
|
15
|
+
import OptionFilter from '@components/option-filter.astro';
|
|
14
16
|
|
|
15
17
|
TODO: Add an overview of your generator here.
|
|
16
18
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: <%- name %>
|
|
3
3
|
description: <%- description ?? 'TODO - A short description of your generator' %>
|
|
4
|
+
generator: <%- name %>
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
import { FileTree } from '@astrojs/starlight/components';
|
|
@@ -8,6 +9,7 @@ import RunGenerator from '@components/run-generator.astro';
|
|
|
8
9
|
import GeneratorParameters from '@components/generator-parameters.astro';
|
|
9
10
|
import Infrastructure from '@components/infrastructure.astro';
|
|
10
11
|
import Snippet from '@components/snippet.astro';
|
|
12
|
+
import OptionFilter from '@components/option-filter.astro';
|
|
11
13
|
|
|
12
14
|
TODO: Add an overview of your generator here.
|
|
13
15
|
|
|
@@ -1057,9 +1057,9 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
1057
1057
|
"{
|
|
1058
1058
|
"name": "@proj/source",
|
|
1059
1059
|
"dependencies": {
|
|
1060
|
-
"@cloudscape-design/board-components": "3.0.
|
|
1061
|
-
"@cloudscape-design/components": "3.0.
|
|
1062
|
-
"@cloudscape-design/global-styles": "1.0.
|
|
1060
|
+
"@cloudscape-design/board-components": "3.0.175",
|
|
1061
|
+
"@cloudscape-design/components": "3.0.1287",
|
|
1062
|
+
"@cloudscape-design/global-styles": "1.0.58",
|
|
1063
1063
|
"aws-cdk-lib": "2.251.0",
|
|
1064
1064
|
"constructs": "10.6.0",
|
|
1065
1065
|
"react": "19.2.5",
|
|
@@ -1068,13 +1068,13 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
1068
1068
|
},
|
|
1069
1069
|
"devDependencies": {
|
|
1070
1070
|
"@eslint/js": "^9.8.0",
|
|
1071
|
-
"@nx/eslint": "22.7.
|
|
1072
|
-
"@nx/eslint-plugin": "22.7.
|
|
1073
|
-
"@nx/js": "22.7.
|
|
1074
|
-
"@nx/react": "22.7.
|
|
1075
|
-
"@nx/vite": "22.7.
|
|
1076
|
-
"@nx/vitest": "22.7.
|
|
1077
|
-
"@nx/web": "22.7.
|
|
1071
|
+
"@nx/eslint": "22.7.1",
|
|
1072
|
+
"@nx/eslint-plugin": "22.7.1",
|
|
1073
|
+
"@nx/js": "22.7.1",
|
|
1074
|
+
"@nx/react": "22.7.1",
|
|
1075
|
+
"@nx/vite": "22.7.1",
|
|
1076
|
+
"@nx/vitest": "22.7.1",
|
|
1077
|
+
"@nx/web": "22.7.1",
|
|
1078
1078
|
"@swc-node/register": "~1.11.1",
|
|
1079
1079
|
"@swc/cli": "~0.8.0",
|
|
1080
1080
|
"@swc/core": "~1.15.5",
|
|
@@ -2674,10 +2674,10 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
2674
2674
|
"{
|
|
2675
2675
|
"name": "@proj/source",
|
|
2676
2676
|
"dependencies": {
|
|
2677
|
-
"@cloudscape-design/board-components": "3.0.
|
|
2678
|
-
"@cloudscape-design/components": "3.0.
|
|
2679
|
-
"@cloudscape-design/global-styles": "1.0.
|
|
2680
|
-
"@tanstack/react-router": "1.168.
|
|
2677
|
+
"@cloudscape-design/board-components": "3.0.175",
|
|
2678
|
+
"@cloudscape-design/components": "3.0.1287",
|
|
2679
|
+
"@cloudscape-design/global-styles": "1.0.58",
|
|
2680
|
+
"@tanstack/react-router": "1.168.26",
|
|
2681
2681
|
"aws-cdk-lib": "2.251.0",
|
|
2682
2682
|
"constructs": "10.6.0",
|
|
2683
2683
|
"react": "19.2.5",
|
|
@@ -2686,20 +2686,20 @@ exports[`react-website generator > Tanstack router integration > should generate
|
|
|
2686
2686
|
},
|
|
2687
2687
|
"devDependencies": {
|
|
2688
2688
|
"@eslint/js": "^9.8.0",
|
|
2689
|
-
"@nx/eslint": "22.7.
|
|
2690
|
-
"@nx/eslint-plugin": "22.7.
|
|
2691
|
-
"@nx/js": "22.7.
|
|
2692
|
-
"@nx/react": "22.7.
|
|
2693
|
-
"@nx/vite": "22.7.
|
|
2694
|
-
"@nx/vitest": "22.7.
|
|
2695
|
-
"@nx/web": "22.7.
|
|
2689
|
+
"@nx/eslint": "22.7.1",
|
|
2690
|
+
"@nx/eslint-plugin": "22.7.1",
|
|
2691
|
+
"@nx/js": "22.7.1",
|
|
2692
|
+
"@nx/react": "22.7.1",
|
|
2693
|
+
"@nx/vite": "22.7.1",
|
|
2694
|
+
"@nx/vitest": "22.7.1",
|
|
2695
|
+
"@nx/web": "22.7.1",
|
|
2696
2696
|
"@swc-node/register": "~1.11.1",
|
|
2697
2697
|
"@swc/cli": "~0.8.0",
|
|
2698
2698
|
"@swc/core": "~1.15.5",
|
|
2699
2699
|
"@swc/helpers": "~0.5.18",
|
|
2700
2700
|
"@tailwindcss/vite": "4.2.2",
|
|
2701
|
-
"@tanstack/router-generator": "1.166.
|
|
2702
|
-
"@tanstack/router-plugin": "1.167.
|
|
2701
|
+
"@tanstack/router-generator": "1.166.37",
|
|
2702
|
+
"@tanstack/router-plugin": "1.167.29",
|
|
2703
2703
|
"@tanstack/router-utils": "1.161.7",
|
|
2704
2704
|
"@tanstack/virtual-file-routes": "1.161.7",
|
|
2705
2705
|
"@testing-library/dom": "10.4.0",
|
|
@@ -4956,10 +4956,10 @@ root &&
|
|
|
4956
4956
|
|
|
4957
4957
|
exports[`react-website generator > should handle npm scope prefix correctly > scoped-dependencies 1`] = `
|
|
4958
4958
|
{
|
|
4959
|
-
"@cloudscape-design/board-components": "3.0.
|
|
4960
|
-
"@cloudscape-design/components": "3.0.
|
|
4961
|
-
"@cloudscape-design/global-styles": "1.0.
|
|
4962
|
-
"@tanstack/react-router": "1.168.
|
|
4959
|
+
"@cloudscape-design/board-components": "3.0.175",
|
|
4960
|
+
"@cloudscape-design/components": "3.0.1287",
|
|
4961
|
+
"@cloudscape-design/global-styles": "1.0.58",
|
|
4962
|
+
"@tanstack/react-router": "1.168.26",
|
|
4963
4963
|
"aws-cdk-lib": "2.251.0",
|
|
4964
4964
|
"constructs": "10.6.0",
|
|
4965
4965
|
"react": "19.2.5",
|
|
@@ -90,7 +90,7 @@ exports[`cognito-auth generator > should generate files > user-identity 1`] = `
|
|
|
90
90
|
IdentityPool,
|
|
91
91
|
UserPoolAuthenticationProvider,
|
|
92
92
|
} from 'aws-cdk-lib/aws-cognito-identitypool';
|
|
93
|
-
import { CfnOutput, Duration, Lazy, Stack } from 'aws-cdk-lib';
|
|
93
|
+
import { CfnOutput, CfnResource, Duration, Lazy, Stack } from 'aws-cdk-lib';
|
|
94
94
|
import {
|
|
95
95
|
AccountRecovery,
|
|
96
96
|
CfnManagedLoginBranding,
|
|
@@ -161,8 +161,8 @@ export class UserIdentity extends Construct {
|
|
|
161
161
|
});
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
private createUserPool = () =>
|
|
165
|
-
new UserPool(this, 'UserPool', {
|
|
164
|
+
private createUserPool = () => {
|
|
165
|
+
const userPool = new UserPool(this, 'UserPool', {
|
|
166
166
|
deletionProtection: true,
|
|
167
167
|
passwordPolicy: {
|
|
168
168
|
minLength: 8,
|
|
@@ -194,6 +194,15 @@ export class UserIdentity extends Construct {
|
|
|
194
194
|
phone: true,
|
|
195
195
|
},
|
|
196
196
|
});
|
|
197
|
+
// Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
|
|
198
|
+
const poolCfn = userPool.node.defaultChild as CfnResource;
|
|
199
|
+
const smsRoleCfn = userPool.node.findChild('smsRole').node
|
|
200
|
+
.defaultChild as CfnResource;
|
|
201
|
+
smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
|
|
202
|
+
smsRoleCfn.cfnOptions.updateReplacePolicy =
|
|
203
|
+
poolCfn.cfnOptions.updateReplacePolicy;
|
|
204
|
+
return userPool;
|
|
205
|
+
};
|
|
197
206
|
|
|
198
207
|
private createUserPoolDomain = (userPool: UserPool) =>
|
|
199
208
|
new CfnUserPoolDomain(this, 'UserPoolDomain', {
|
|
@@ -115,6 +115,7 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
115
115
|
]), (0, versions_1.withVersions)([
|
|
116
116
|
'tsx',
|
|
117
117
|
'@types/node',
|
|
118
|
+
'agent-chat-cli',
|
|
118
119
|
...(protocol === 'A2A'
|
|
119
120
|
? ['@types/express']
|
|
120
121
|
: ['@types/ws', '@types/cors']),
|
|
@@ -123,6 +124,25 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
123
124
|
// HTTP agents use port 8081+ to avoid conflict with VS Code server on 8080.
|
|
124
125
|
const localDevPortStart = protocol === 'A2A' ? 9000 : 8081;
|
|
125
126
|
const localDevPort = (0, port_1.assignPort)(tree, project, localDevPortStart);
|
|
127
|
+
// HTTP chat needs a tiny generated script to wrap the project's tRPC
|
|
128
|
+
// WebSocket client in a `ChatAdapter`. A2A speaks the standard A2A
|
|
129
|
+
// protocol, so we can run `agent-chat-cli` directly as a binary.
|
|
130
|
+
if (protocol === 'HTTP') {
|
|
131
|
+
const scriptsDir = (0, devkit_1.joinPathFragments)(project.root, 'scripts', agentTargetPrefix);
|
|
132
|
+
const relativeAgentImport = `../../${targetSourceDirRelativeToProjectRoot}`;
|
|
133
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'scripts', 'http'), scriptsDir, {
|
|
134
|
+
agentNameClassName,
|
|
135
|
+
agentTargetPrefix,
|
|
136
|
+
localDevPort,
|
|
137
|
+
relativeAgentImport,
|
|
138
|
+
}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
139
|
+
}
|
|
140
|
+
const chatUrl = protocol === 'HTTP'
|
|
141
|
+
? `ws://localhost:${localDevPort}/ws`
|
|
142
|
+
: `http://localhost:${localDevPort}`;
|
|
143
|
+
const chatCommand = protocol === 'HTTP'
|
|
144
|
+
? `tsx ./scripts/${agentTargetPrefix}/chat.ts`
|
|
145
|
+
: `agent-chat-cli a2a ${chatUrl}`;
|
|
126
146
|
(0, devkit_1.updateProjectConfiguration)(tree, project.name, {
|
|
127
147
|
...project,
|
|
128
148
|
targets: {
|
|
@@ -150,6 +170,17 @@ const tsStrandsAgentGenerator = async (tree, options) => {
|
|
|
150
170
|
},
|
|
151
171
|
continuous: true,
|
|
152
172
|
},
|
|
173
|
+
[`${agentTargetPrefix}-chat`]: {
|
|
174
|
+
executor: 'nx:run-commands',
|
|
175
|
+
options: {
|
|
176
|
+
commands: [chatCommand],
|
|
177
|
+
cwd: '{projectRoot}',
|
|
178
|
+
env: {
|
|
179
|
+
URL: chatUrl,
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
dependsOn: [`${agentTargetPrefix}-serve-local`],
|
|
183
|
+
},
|
|
153
184
|
},
|
|
154
185
|
});
|
|
155
186
|
(0, nx_1.addComponentGeneratorMetadata)(tree, project.name, exports.TS_STRANDS_AGENT_GENERATOR_INFO, targetSourceDirRelativeToProjectRoot, agentTargetPrefix, { port: localDevPort, rc: agentNameClassName, auth, protocol });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/strands-agent/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/strands-agent/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal chat CLI for <%- agentNameClassName %> (HTTP / tRPC WebSocket).
|
|
3
|
+
*
|
|
4
|
+
* Connects to the agent at `process.env.URL` (set by the Nx `<%- agentTargetPrefix %>-chat` target).
|
|
5
|
+
*/
|
|
6
|
+
import { chatLoop, type ChatAdapter } from 'agent-chat-cli';
|
|
7
|
+
import { <%- agentNameClassName %>Client } from '<%- relativeAgentImport %>/client.js';
|
|
8
|
+
|
|
9
|
+
class TrpcWebSocketAdapter implements ChatAdapter {
|
|
10
|
+
private client!: ReturnType<typeof <%- agentNameClassName %>Client.local>;
|
|
11
|
+
|
|
12
|
+
async connect(url: string) {
|
|
13
|
+
this.client = <%- agentNameClassName %>Client.local({ url });
|
|
14
|
+
return { agentName: '<%- agentNameClassName %>' };
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async *sendMessage(text: string): AsyncIterable<string> {
|
|
18
|
+
const stream = new ReadableStream<string>({
|
|
19
|
+
start: (controller) => {
|
|
20
|
+
this.client.invoke.subscribe(
|
|
21
|
+
{ message: text },
|
|
22
|
+
{
|
|
23
|
+
onData: (chunk: string) => controller.enqueue(chunk),
|
|
24
|
+
onComplete: () => controller.close(),
|
|
25
|
+
onError: (err: unknown) => controller.error(err),
|
|
26
|
+
},
|
|
27
|
+
);
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
yield* stream as unknown as AsyncIterable<string>;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
await chatLoop(new TrpcWebSocketAdapter(), process.env.URL!);
|
|
@@ -7,13 +7,17 @@ import { cn } from "<%= scopeAlias %>common-shadcn/lib/utils"
|
|
|
7
7
|
|
|
8
8
|
function Avatar({
|
|
9
9
|
className,
|
|
10
|
+
size = "default",
|
|
10
11
|
...props
|
|
11
|
-
}: React.ComponentProps<typeof AvatarPrimitive.Root>
|
|
12
|
+
}: React.ComponentProps<typeof AvatarPrimitive.Root> & {
|
|
13
|
+
size?: "default" | "sm" | "lg"
|
|
14
|
+
}) {
|
|
12
15
|
return (
|
|
13
16
|
<AvatarPrimitive.Root
|
|
14
17
|
data-slot="avatar"
|
|
18
|
+
data-size={size}
|
|
15
19
|
className={cn(
|
|
16
|
-
"relative flex size-8 shrink-0 overflow-hidden rounded-full",
|
|
20
|
+
"group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
|
|
17
21
|
className
|
|
18
22
|
)}
|
|
19
23
|
{...props}
|
|
@@ -42,7 +46,7 @@ function AvatarFallback({
|
|
|
42
46
|
<AvatarPrimitive.Fallback
|
|
43
47
|
data-slot="avatar-fallback"
|
|
44
48
|
className={cn(
|
|
45
|
-
"
|
|
49
|
+
"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
|
|
46
50
|
className
|
|
47
51
|
)}
|
|
48
52
|
{...props}
|
|
@@ -50,4 +54,56 @@ function AvatarFallback({
|
|
|
50
54
|
)
|
|
51
55
|
}
|
|
52
56
|
|
|
53
|
-
|
|
57
|
+
function AvatarBadge({ className, ...props }: React.ComponentProps<"span">) {
|
|
58
|
+
return (
|
|
59
|
+
<span
|
|
60
|
+
data-slot="avatar-badge"
|
|
61
|
+
className={cn(
|
|
62
|
+
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
|
|
63
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
64
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
65
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
66
|
+
className
|
|
67
|
+
)}
|
|
68
|
+
{...props}
|
|
69
|
+
/>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function AvatarGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
74
|
+
return (
|
|
75
|
+
<div
|
|
76
|
+
data-slot="avatar-group"
|
|
77
|
+
className={cn(
|
|
78
|
+
"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
|
|
79
|
+
className
|
|
80
|
+
)}
|
|
81
|
+
{...props}
|
|
82
|
+
/>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function AvatarGroupCount({
|
|
87
|
+
className,
|
|
88
|
+
...props
|
|
89
|
+
}: React.ComponentProps<"div">) {
|
|
90
|
+
return (
|
|
91
|
+
<div
|
|
92
|
+
data-slot="avatar-group-count"
|
|
93
|
+
className={cn(
|
|
94
|
+
"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
|
|
95
|
+
className
|
|
96
|
+
)}
|
|
97
|
+
{...props}
|
|
98
|
+
/>
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export {
|
|
103
|
+
Avatar,
|
|
104
|
+
AvatarImage,
|
|
105
|
+
AvatarFallback,
|
|
106
|
+
AvatarBadge,
|
|
107
|
+
AvatarGroup,
|
|
108
|
+
AvatarGroupCount,
|
|
109
|
+
}
|
|
@@ -7,7 +7,7 @@ function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
|
7
7
|
<textarea
|
|
8
8
|
data-slot="textarea"
|
|
9
9
|
className={cn(
|
|
10
|
-
"
|
|
10
|
+
"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
|
|
11
11
|
className
|
|
12
12
|
)}
|
|
13
13
|
{...props}
|
|
@@ -5,7 +5,7 @@ export interface GeneratorInfo {
|
|
|
5
5
|
readonly resolvedSchemaPath: string;
|
|
6
6
|
readonly hidden?: boolean;
|
|
7
7
|
readonly description: string;
|
|
8
|
-
readonly guidePages?: string[];
|
|
8
|
+
readonly guidePages?: readonly string[];
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Alias for GeneratorInfo used by MCP server and generators
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
IdentityPool,
|
|
3
3
|
UserPoolAuthenticationProvider,
|
|
4
4
|
} from 'aws-cdk-lib/aws-cognito-identitypool';
|
|
5
|
-
import { CfnOutput, Duration, Lazy, Stack } from 'aws-cdk-lib';
|
|
5
|
+
import { CfnOutput, CfnResource, Duration, Lazy, Stack } from 'aws-cdk-lib';
|
|
6
6
|
import {
|
|
7
7
|
AccountRecovery,
|
|
8
8
|
CfnManagedLoginBranding,
|
|
@@ -73,8 +73,8 @@ export class UserIdentity extends Construct {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
private createUserPool = () =>
|
|
77
|
-
new UserPool(this, 'UserPool', {
|
|
76
|
+
private createUserPool = () => {
|
|
77
|
+
const userPool = new UserPool(this, 'UserPool', {
|
|
78
78
|
deletionProtection: true,
|
|
79
79
|
passwordPolicy: {
|
|
80
80
|
minLength: 8,
|
|
@@ -106,6 +106,16 @@ export class UserIdentity extends Construct {
|
|
|
106
106
|
phone: true,
|
|
107
107
|
},
|
|
108
108
|
});
|
|
109
|
+
// Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
|
|
110
|
+
const poolCfn = userPool.node.defaultChild as CfnResource;
|
|
111
|
+
const smsRoleCfn = userPool.node
|
|
112
|
+
.findChild('smsRole')
|
|
113
|
+
.node.defaultChild as CfnResource;
|
|
114
|
+
smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
|
|
115
|
+
smsRoleCfn.cfnOptions.updateReplacePolicy =
|
|
116
|
+
poolCfn.cfnOptions.updateReplacePolicy;
|
|
117
|
+
return userPool;
|
|
118
|
+
};
|
|
109
119
|
|
|
110
120
|
private createUserPoolDomain = (userPool: UserPool) =>
|
|
111
121
|
new CfnUserPoolDomain(this, 'UserPoolDomain', {
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
export declare const TS_VERSIONS: {
|
|
9
9
|
readonly '@a2a-js/sdk': "0.3.13";
|
|
10
10
|
readonly '@aws/aws-distro-opentelemetry-node-autoinstrumentation': "0.10.0";
|
|
11
|
-
readonly '@aws-sdk/client-dynamodb': "3.
|
|
12
|
-
readonly '@aws-sdk/client-bedrock-runtime': "3.
|
|
13
|
-
readonly '@aws-sdk/client-sts': "3.
|
|
14
|
-
readonly '@aws-sdk/credential-providers': "3.
|
|
11
|
+
readonly '@aws-sdk/client-dynamodb': "3.1039.0";
|
|
12
|
+
readonly '@aws-sdk/client-bedrock-runtime': "3.1039.0";
|
|
13
|
+
readonly '@aws-sdk/client-sts': "3.1039.0";
|
|
14
|
+
readonly '@aws-sdk/credential-providers': "3.1039.0";
|
|
15
15
|
readonly '@aws-smithy/server-apigateway': "1.0.0-alpha.10";
|
|
16
16
|
readonly '@aws-smithy/server-node': "1.0.0-alpha.10";
|
|
17
17
|
readonly '@aws-lambda-powertools/logger': "2.33.0";
|
|
@@ -19,33 +19,34 @@ export declare const TS_VERSIONS: {
|
|
|
19
19
|
readonly '@aws-lambda-powertools/parameters': "2.33.0";
|
|
20
20
|
readonly '@aws-lambda-powertools/tracer': "2.33.0";
|
|
21
21
|
readonly '@aws-lambda-powertools/parser': "2.33.0";
|
|
22
|
-
readonly '@aws-sdk/client-appconfigdata': "3.
|
|
22
|
+
readonly '@aws-sdk/client-appconfigdata': "3.1039.0";
|
|
23
23
|
readonly '@middy/core': "7.3.3";
|
|
24
24
|
readonly '@nxlv/python': "22.1.3";
|
|
25
25
|
readonly '@nx-extend/terraform': "10.2.1";
|
|
26
|
-
readonly '@nx/devkit': "22.7.
|
|
27
|
-
readonly '@nx/react': "22.7.
|
|
28
|
-
readonly 'create-nx-workspace': "22.7.
|
|
26
|
+
readonly '@nx/devkit': "22.7.1";
|
|
27
|
+
readonly '@nx/react': "22.7.1";
|
|
28
|
+
readonly 'create-nx-workspace': "22.7.1";
|
|
29
29
|
readonly '@modelcontextprotocol/sdk': "1.29.0";
|
|
30
30
|
readonly '@modelcontextprotocol/inspector': "0.19.0";
|
|
31
|
-
readonly '@ag-ui/client': "0.0.
|
|
32
|
-
readonly '
|
|
31
|
+
readonly '@ag-ui/client': "0.0.53";
|
|
32
|
+
readonly 'agent-chat-cli': "0.2.0";
|
|
33
|
+
readonly '@copilotkit/react-core': "1.56.5";
|
|
33
34
|
readonly rxjs: "7.8.2";
|
|
34
|
-
readonly '@strands-agents/sdk': "1.0.0
|
|
35
|
-
readonly '@tanstack/react-router': "1.168.
|
|
36
|
-
readonly '@tanstack/router-plugin': "1.167.
|
|
37
|
-
readonly '@tanstack/router-generator': "1.166.
|
|
35
|
+
readonly '@strands-agents/sdk': "1.0.0";
|
|
36
|
+
readonly '@tanstack/react-router': "1.168.26";
|
|
37
|
+
readonly '@tanstack/router-plugin': "1.167.29";
|
|
38
|
+
readonly '@tanstack/router-generator': "1.166.37";
|
|
38
39
|
readonly '@tanstack/virtual-file-routes': "1.161.7";
|
|
39
40
|
readonly '@tanstack/router-utils': "1.161.7";
|
|
40
|
-
readonly '@cloudscape-design/board-components': "3.0.
|
|
41
|
-
readonly '@cloudscape-design/chat-components': "1.0.
|
|
42
|
-
readonly '@cloudscape-design/components': "3.0.
|
|
43
|
-
readonly '@cloudscape-design/global-styles': "1.0.
|
|
44
|
-
readonly '@tanstack/react-query': "5.100.
|
|
45
|
-
readonly '@tanstack/react-query-devtools': "5.100.
|
|
46
|
-
readonly '@trpc/tanstack-react-query': "11.
|
|
47
|
-
readonly '@trpc/client': "11.
|
|
48
|
-
readonly '@trpc/server': "11.
|
|
41
|
+
readonly '@cloudscape-design/board-components': "3.0.175";
|
|
42
|
+
readonly '@cloudscape-design/chat-components': "1.0.123";
|
|
43
|
+
readonly '@cloudscape-design/components': "3.0.1287";
|
|
44
|
+
readonly '@cloudscape-design/global-styles': "1.0.58";
|
|
45
|
+
readonly '@tanstack/react-query': "5.100.6";
|
|
46
|
+
readonly '@tanstack/react-query-devtools': "5.100.6";
|
|
47
|
+
readonly '@trpc/tanstack-react-query': "11.17.0";
|
|
48
|
+
readonly '@trpc/client': "11.17.0";
|
|
49
|
+
readonly '@trpc/server': "11.17.0";
|
|
49
50
|
readonly '@types/node': "25.6.0";
|
|
50
51
|
readonly '@types/aws-lambda': "8.10.161";
|
|
51
52
|
readonly '@types/cors': "2.8.19";
|
|
@@ -57,9 +58,9 @@ export declare const TS_VERSIONS: {
|
|
|
57
58
|
readonly '@vitest/ui': "4.1.5";
|
|
58
59
|
readonly '@astrojs/react': "5.0.4";
|
|
59
60
|
readonly '@astrojs/starlight': "0.38.4";
|
|
60
|
-
readonly astro: "6.1.
|
|
61
|
+
readonly astro: "6.1.10";
|
|
61
62
|
readonly aws4fetch: "1.0.20";
|
|
62
|
-
readonly 'aws-cdk': "2.
|
|
63
|
+
readonly 'aws-cdk': "2.1120.0";
|
|
63
64
|
readonly 'aws-cdk-lib': "2.251.0";
|
|
64
65
|
readonly '@aws-cdk/aws-bedrock-agentcore-alpha': "2.251.0-alpha.0";
|
|
65
66
|
readonly 'aws-xray-sdk-core': "3.12.0";
|
|
@@ -73,15 +74,15 @@ export declare const TS_VERSIONS: {
|
|
|
73
74
|
readonly esbuild: "0.28.0";
|
|
74
75
|
readonly 'event-source-polyfill': "1.0.31";
|
|
75
76
|
readonly '@types/event-source-polyfill': "1.0.5";
|
|
76
|
-
readonly '@typescript-eslint/eslint-plugin': "8.59.
|
|
77
|
-
readonly '@typescript-eslint/parser': "8.59.
|
|
77
|
+
readonly '@typescript-eslint/eslint-plugin': "8.59.1";
|
|
78
|
+
readonly '@typescript-eslint/parser': "8.59.1";
|
|
78
79
|
readonly 'eslint-plugin-prettier': "5.5.5";
|
|
79
80
|
readonly express: "5.2.1";
|
|
80
81
|
readonly 'fast-glob': "3.3.3";
|
|
81
82
|
readonly 'fs-extra': "11.3.4";
|
|
82
83
|
readonly '@types/fs-extra': "11.0.4";
|
|
83
84
|
readonly 'jsonc-eslint-parser': "3.1.0";
|
|
84
|
-
readonly 'typescript-eslint': "8.59.
|
|
85
|
+
readonly 'typescript-eslint': "8.59.1";
|
|
85
86
|
readonly 'make-dir-cli': "4.0.0";
|
|
86
87
|
readonly ncp: "2.0.0";
|
|
87
88
|
readonly 'npm-check-updates': "19.6.6";
|
|
@@ -98,15 +99,15 @@ export declare const TS_VERSIONS: {
|
|
|
98
99
|
readonly tailwindcss: "4.2.2";
|
|
99
100
|
readonly '@tailwindcss/vite': "4.2.2";
|
|
100
101
|
readonly tsx: "4.21.0";
|
|
101
|
-
readonly 'lucide-react': "1.
|
|
102
|
+
readonly 'lucide-react': "1.14.0";
|
|
102
103
|
readonly 'radix-ui': "1.4.3";
|
|
103
|
-
readonly shadcn: "4.
|
|
104
|
+
readonly shadcn: "4.6.0";
|
|
104
105
|
readonly 'tw-animate-css': "1.4.0";
|
|
105
106
|
readonly 'tailwind-merge': "3.5.0";
|
|
106
107
|
readonly vite: "8.0.8";
|
|
107
108
|
readonly typescript: "6.0.3";
|
|
108
109
|
readonly vitest: "4.1.5";
|
|
109
|
-
readonly zod: "4.
|
|
110
|
+
readonly zod: "4.4.1";
|
|
110
111
|
readonly ws: "8.20.0";
|
|
111
112
|
};
|
|
112
113
|
export type ITsDepVersion = keyof typeof TS_VERSIONS;
|
|
@@ -114,7 +115,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
|
|
|
114
115
|
* Add versions to the given dependencies
|
|
115
116
|
*/
|
|
116
117
|
export declare const withVersions: (deps: ITsDepVersion[]) => {
|
|
117
|
-
[k: string]: "22.7.
|
|
118
|
+
[k: string]: "22.7.1" | "3.8.3" | "1.29.0" | "22.1.3" | "3.3.3" | "6.0.3" | "4.1.5" | "4.4.1" | "0.3.13" | "0.10.0" | "3.1039.0" | "1.0.0-alpha.10" | "2.33.0" | "7.3.3" | "10.2.1" | "0.19.0" | "0.0.53" | "0.2.0" | "1.56.5" | "7.8.2" | "1.0.0" | "1.168.26" | "1.167.29" | "1.166.37" | "1.161.7" | "3.0.175" | "1.0.123" | "3.0.1287" | "1.0.58" | "5.100.6" | "11.17.0" | "25.6.0" | "8.10.161" | "2.8.19" | "8.18.1" | "5.0.6" | "4.6.1" | "4.14.1" | "5.0.4" | "0.38.4" | "6.1.10" | "1.0.20" | "2.1120.0" | "2.251.0" | "2.251.0-alpha.0" | "3.12.0" | "10.6.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "14.0.3" | "3.7.5" | "0.28.0" | "1.0.31" | "1.0.5" | "8.59.1" | "5.5.5" | "5.2.1" | "11.3.4" | "11.0.4" | "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" | "3.36.0" | "0.5.21" | "0.26.1" | "4.2.2" | "4.21.0" | "1.14.0" | "1.4.3" | "4.6.0" | "1.4.0" | "8.0.8" | "8.20.0";
|
|
118
119
|
};
|
|
119
120
|
/**
|
|
120
121
|
* Versions for Python dependencies added by generators
|
|
@@ -126,17 +127,17 @@ export declare const PY_VERSIONS: {
|
|
|
126
127
|
readonly 'aws-lambda-powertools[tracer]': "==3.28.0";
|
|
127
128
|
readonly 'aws-lambda-powertools[parser]': "==3.28.0";
|
|
128
129
|
readonly 'aws-opentelemetry-distro': "==0.17.0";
|
|
129
|
-
readonly 'bedrock-agentcore': "==1.
|
|
130
|
-
readonly boto3: "==1.
|
|
131
|
-
readonly checkov: "==3.2.
|
|
130
|
+
readonly 'bedrock-agentcore': "==1.8.0";
|
|
131
|
+
readonly boto3: "==1.43.1";
|
|
132
|
+
readonly checkov: "==3.2.526";
|
|
132
133
|
readonly fastapi: "==0.136.1";
|
|
133
134
|
readonly 'fastapi[standard]': "==0.136.1";
|
|
134
135
|
readonly httpx: "==0.28.1";
|
|
135
136
|
readonly mcp: "==1.27.0";
|
|
136
137
|
readonly 'pip-check-updates': "==0.28.0";
|
|
137
|
-
readonly 'strands-agents': "==1.
|
|
138
|
-
readonly 'strands-agents[a2a]': "==1.
|
|
139
|
-
readonly 'strands-agents-tools': "==0.5.
|
|
138
|
+
readonly 'strands-agents': "==1.38.0";
|
|
139
|
+
readonly 'strands-agents[a2a]': "==1.38.0";
|
|
140
|
+
readonly 'strands-agents-tools': "==0.5.2";
|
|
140
141
|
readonly uvicorn: "==0.46.0";
|
|
141
142
|
};
|
|
142
143
|
export type IPyDepVersion = keyof typeof PY_VERSIONS;
|