@aws/nx-plugin 0.113.0 → 0.114.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generators.json +33 -1
- package/package.json +1 -1
- package/src/connection/generator.d.ts +2 -2
- package/src/connection/generator.js +19 -0
- package/src/connection/generator.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/strands-agent/files/ag-ui/main.py.template +17 -0
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/smithy/project/files/build.Dockerfile.template +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +4 -3
- package/src/ts/mcp-server/files/http.ts.template +1 -1
- package/src/ts/mcp-server/files/server.ts.template +1 -1
- package/src/ts/mcp-server/files/stdio.ts.template +2 -1
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +3 -2
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +54 -44
- package/src/ts/rdb/files/src/prisma.ts.template +54 -46
- package/src/ts/rdb/generator.js +3 -0
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +117 -0
- package/src/ts/rdb/mcp-server-connection/generator.d.ts +10 -0
- package/src/ts/rdb/mcp-server-connection/generator.js +59 -0
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.ts +14 -0
- package/src/ts/rdb/mcp-server-connection/schema.json +22 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +286 -0
- package/src/ts/rdb/smithy-connection/generator.d.ts +10 -0
- package/src/ts/rdb/smithy-connection/generator.js +72 -0
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -0
- package/src/ts/rdb/smithy-connection/schema.d.ts +12 -0
- package/src/ts/rdb/smithy-connection/schema.json +18 -0
- package/src/ts/rdb/strands-agent-connection/__snapshots__/generator.spec.ts.snap +183 -0
- package/src/ts/rdb/strands-agent-connection/generator.d.ts +10 -0
- package/src/ts/rdb/strands-agent-connection/generator.js +65 -0
- package/src/ts/rdb/strands-agent-connection/generator.js.map +1 -0
- package/src/ts/rdb/strands-agent-connection/schema.d.ts +14 -0
- package/src/ts/rdb/strands-agent-connection/schema.json +22 -0
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +75 -0
- package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +32 -0
- package/src/ts/rdb/trpc-connection/generator.d.ts +10 -0
- package/src/ts/rdb/trpc-connection/generator.js +41 -0
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -0
- package/src/ts/rdb/trpc-connection/schema.d.ts +12 -0
- package/src/ts/rdb/trpc-connection/schema.json +18 -0
- package/src/ts/strands-agent/__snapshots__/generator.spec.ts.snap +4 -13
- package/src/ts/strands-agent/files/http/init.ts.template +1 -12
- package/src/ts/strands-agent/files/http/router.ts.template +3 -1
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -1
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -1
- package/src/utils/ast.js +9 -2
- package/src/utils/ast.js.map +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__functionNameKebabCase__/__functionNameKebabCase__.tf.template +1 -1
- package/src/utils/pnpm-workspace.d.ts +11 -0
- package/src/utils/pnpm-workspace.js +28 -1
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/shared-shadcn.js +2 -19
- package/src/utils/shared-shadcn.js.map +1 -1
|
@@ -265,7 +265,7 @@ export const handler = async () => {
|
|
|
265
265
|
exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/src/prisma.ts 1`] = `
|
|
266
266
|
"import { PrismaMariaDb } from '@prisma/adapter-mariadb';
|
|
267
267
|
import { Signer } from '@aws-sdk/rds-signer';
|
|
268
|
-
import { PrismaClient } from '../generated/prisma/client.js';
|
|
268
|
+
import { Prisma, PrismaClient } from '../generated/prisma/client.js';
|
|
269
269
|
import {
|
|
270
270
|
DB_PACKAGE_NAME,
|
|
271
271
|
LOCAL_DB_HOST,
|
|
@@ -276,7 +276,9 @@ import {
|
|
|
276
276
|
} from './constants.js';
|
|
277
277
|
import { getDatabaseConfig } from './utils.js';
|
|
278
278
|
|
|
279
|
-
export const getPrisma = async
|
|
279
|
+
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
280
|
+
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
281
|
+
): Promise<PrismaClient<LogOpts>> => {
|
|
280
282
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
281
283
|
const adapter = new PrismaMariaDb({
|
|
282
284
|
host: LOCAL_DB_HOST,
|
|
@@ -286,7 +288,10 @@ export const getPrisma = async (): Promise<PrismaClient> => {
|
|
|
286
288
|
password: LOCAL_DB_PASSWORD,
|
|
287
289
|
allowPublicKeyRetrieval: true,
|
|
288
290
|
});
|
|
289
|
-
return new PrismaClient({
|
|
291
|
+
return new PrismaClient({
|
|
292
|
+
adapter,
|
|
293
|
+
log,
|
|
294
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
290
295
|
}
|
|
291
296
|
|
|
292
297
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -309,7 +314,10 @@ export const getPrisma = async (): Promise<PrismaClient> => {
|
|
|
309
314
|
},
|
|
310
315
|
});
|
|
311
316
|
|
|
312
|
-
return new PrismaClient({
|
|
317
|
+
return new PrismaClient({
|
|
318
|
+
adapter,
|
|
319
|
+
log,
|
|
320
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
313
321
|
};
|
|
314
322
|
"
|
|
315
323
|
`;
|
|
@@ -4078,8 +4086,8 @@ export const handler = async () => {
|
|
|
4078
4086
|
exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/src/prisma.ts 1`] = `
|
|
4079
4087
|
"import { PrismaPg } from '@prisma/adapter-pg';
|
|
4080
4088
|
import { Signer } from '@aws-sdk/rds-signer';
|
|
4089
|
+
import { Prisma, PrismaClient } from '../generated/prisma/client.js';
|
|
4081
4090
|
import { Pool } from 'pg';
|
|
4082
|
-
import { PrismaClient } from '../generated/prisma/client.js';
|
|
4083
4091
|
import {
|
|
4084
4092
|
DB_PACKAGE_NAME,
|
|
4085
4093
|
LOCAL_DB_HOST,
|
|
@@ -4090,52 +4098,54 @@ import {
|
|
|
4090
4098
|
} from './constants.js';
|
|
4091
4099
|
import { getDatabaseConfig } from './utils.js';
|
|
4092
4100
|
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
if (process.env.SERVE_LOCAL === 'true') {
|
|
4098
|
-
const adapter = new PrismaPg(
|
|
4099
|
-
new Pool({
|
|
4100
|
-
host: LOCAL_DB_HOST,
|
|
4101
|
-
port: LOCAL_DB_PORT,
|
|
4102
|
-
database: LOCAL_DB_NAME,
|
|
4103
|
-
user: LOCAL_DB_USER,
|
|
4104
|
-
password: LOCAL_DB_PASSWORD,
|
|
4105
|
-
allowExitOnIdle: true,
|
|
4106
|
-
}),
|
|
4107
|
-
);
|
|
4108
|
-
return new PrismaClient({ adapter });
|
|
4109
|
-
}
|
|
4110
|
-
|
|
4111
|
-
const { hostname, port, database, dbUser, region } =
|
|
4112
|
-
await getDatabaseConfig(DB_PACKAGE_NAME);
|
|
4101
|
+
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
4102
|
+
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
4103
|
+
): Promise<PrismaClient<LogOpts>> => {
|
|
4104
|
+
if (process.env.SERVE_LOCAL === 'true') {
|
|
4113
4105
|
const adapter = new PrismaPg(
|
|
4114
4106
|
new Pool({
|
|
4115
|
-
host:
|
|
4116
|
-
port,
|
|
4117
|
-
database,
|
|
4118
|
-
user:
|
|
4119
|
-
|
|
4120
|
-
rejectUnauthorized: true,
|
|
4121
|
-
},
|
|
4107
|
+
host: LOCAL_DB_HOST,
|
|
4108
|
+
port: LOCAL_DB_PORT,
|
|
4109
|
+
database: LOCAL_DB_NAME,
|
|
4110
|
+
user: LOCAL_DB_USER,
|
|
4111
|
+
password: LOCAL_DB_PASSWORD,
|
|
4122
4112
|
allowExitOnIdle: true,
|
|
4123
|
-
password: async () => {
|
|
4124
|
-
const token = await new Signer({
|
|
4125
|
-
hostname,
|
|
4126
|
-
port,
|
|
4127
|
-
region,
|
|
4128
|
-
username: dbUser,
|
|
4129
|
-
}).getAuthToken();
|
|
4130
|
-
return token;
|
|
4131
|
-
},
|
|
4132
4113
|
}),
|
|
4133
4114
|
);
|
|
4115
|
+
return new PrismaClient({
|
|
4116
|
+
adapter,
|
|
4117
|
+
log,
|
|
4118
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
4119
|
+
}
|
|
4134
4120
|
|
|
4135
|
-
|
|
4136
|
-
|
|
4121
|
+
const { hostname, port, database, dbUser, region } =
|
|
4122
|
+
await getDatabaseConfig(DB_PACKAGE_NAME);
|
|
4123
|
+
const adapter = new PrismaPg(
|
|
4124
|
+
new Pool({
|
|
4125
|
+
host: hostname,
|
|
4126
|
+
port,
|
|
4127
|
+
database,
|
|
4128
|
+
user: dbUser,
|
|
4129
|
+
ssl: {
|
|
4130
|
+
rejectUnauthorized: true,
|
|
4131
|
+
},
|
|
4132
|
+
allowExitOnIdle: true,
|
|
4133
|
+
password: async () => {
|
|
4134
|
+
const token = await new Signer({
|
|
4135
|
+
hostname,
|
|
4136
|
+
port,
|
|
4137
|
+
region,
|
|
4138
|
+
username: dbUser,
|
|
4139
|
+
}).getAuthToken();
|
|
4140
|
+
return token;
|
|
4141
|
+
},
|
|
4142
|
+
}),
|
|
4143
|
+
);
|
|
4137
4144
|
|
|
4138
|
-
return
|
|
4145
|
+
return new PrismaClient({
|
|
4146
|
+
adapter,
|
|
4147
|
+
log,
|
|
4148
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
4139
4149
|
};
|
|
4140
4150
|
"
|
|
4141
4151
|
`;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { <%= prismaAdapterClassName %> } from '<%= prismaAdapterPackage %>';
|
|
2
2
|
import { Signer } from '@aws-sdk/rds-signer';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<%_ } else { _%>
|
|
3
|
+
import { Prisma, PrismaClient } from '../generated/prisma/client.js';
|
|
4
|
+
<%_ if (engine === 'PostgreSQL') { _%>
|
|
6
5
|
import { Pool } from 'pg';
|
|
7
|
-
import { PrismaClient } from '../generated/prisma/client.js';
|
|
8
6
|
<%_ } _%>
|
|
9
7
|
import {
|
|
10
8
|
DB_PACKAGE_NAME,
|
|
@@ -17,7 +15,9 @@ import {
|
|
|
17
15
|
import { getDatabaseConfig } from './utils.js';
|
|
18
16
|
<%_ if (engine === 'MySQL') { _%>
|
|
19
17
|
|
|
20
|
-
export const getPrisma = async
|
|
18
|
+
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
19
|
+
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
20
|
+
): Promise<PrismaClient<LogOpts>> => {
|
|
21
21
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
22
22
|
const adapter = new PrismaMariaDb({
|
|
23
23
|
host: LOCAL_DB_HOST,
|
|
@@ -27,7 +27,10 @@ export const getPrisma = async (): Promise<PrismaClient> => {
|
|
|
27
27
|
password: LOCAL_DB_PASSWORD,
|
|
28
28
|
allowPublicKeyRetrieval: true,
|
|
29
29
|
});
|
|
30
|
-
return new PrismaClient({
|
|
30
|
+
return new PrismaClient({
|
|
31
|
+
adapter,
|
|
32
|
+
log,
|
|
33
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -50,55 +53,60 @@ export const getPrisma = async (): Promise<PrismaClient> => {
|
|
|
50
53
|
},
|
|
51
54
|
});
|
|
52
55
|
|
|
53
|
-
return new PrismaClient({
|
|
56
|
+
return new PrismaClient({
|
|
57
|
+
adapter,
|
|
58
|
+
log,
|
|
59
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
54
60
|
};
|
|
55
61
|
<%_ } else { _%>
|
|
56
62
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (process.env.SERVE_LOCAL === 'true') {
|
|
62
|
-
const adapter = new PrismaPg(
|
|
63
|
-
new Pool({
|
|
64
|
-
host: LOCAL_DB_HOST,
|
|
65
|
-
port: LOCAL_DB_PORT,
|
|
66
|
-
database: LOCAL_DB_NAME,
|
|
67
|
-
user: LOCAL_DB_USER,
|
|
68
|
-
password: LOCAL_DB_PASSWORD,
|
|
69
|
-
allowExitOnIdle: true,
|
|
70
|
-
}),
|
|
71
|
-
);
|
|
72
|
-
return new PrismaClient({ adapter });
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const { hostname, port, database, dbUser, region } =
|
|
76
|
-
await getDatabaseConfig(DB_PACKAGE_NAME);
|
|
63
|
+
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
64
|
+
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
65
|
+
): Promise<PrismaClient<LogOpts>> => {
|
|
66
|
+
if (process.env.SERVE_LOCAL === 'true') {
|
|
77
67
|
const adapter = new PrismaPg(
|
|
78
68
|
new Pool({
|
|
79
|
-
host:
|
|
80
|
-
port,
|
|
81
|
-
database,
|
|
82
|
-
user:
|
|
83
|
-
|
|
84
|
-
rejectUnauthorized: true,
|
|
85
|
-
},
|
|
69
|
+
host: LOCAL_DB_HOST,
|
|
70
|
+
port: LOCAL_DB_PORT,
|
|
71
|
+
database: LOCAL_DB_NAME,
|
|
72
|
+
user: LOCAL_DB_USER,
|
|
73
|
+
password: LOCAL_DB_PASSWORD,
|
|
86
74
|
allowExitOnIdle: true,
|
|
87
|
-
password: async () => {
|
|
88
|
-
const token = await new Signer({
|
|
89
|
-
hostname,
|
|
90
|
-
port,
|
|
91
|
-
region,
|
|
92
|
-
username: dbUser,
|
|
93
|
-
}).getAuthToken();
|
|
94
|
-
return token;
|
|
95
|
-
},
|
|
96
75
|
}),
|
|
97
76
|
);
|
|
77
|
+
return new PrismaClient({
|
|
78
|
+
adapter,
|
|
79
|
+
log,
|
|
80
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
81
|
+
}
|
|
98
82
|
|
|
99
|
-
|
|
100
|
-
|
|
83
|
+
const { hostname, port, database, dbUser, region } =
|
|
84
|
+
await getDatabaseConfig(DB_PACKAGE_NAME);
|
|
85
|
+
const adapter = new PrismaPg(
|
|
86
|
+
new Pool({
|
|
87
|
+
host: hostname,
|
|
88
|
+
port,
|
|
89
|
+
database,
|
|
90
|
+
user: dbUser,
|
|
91
|
+
ssl: {
|
|
92
|
+
rejectUnauthorized: true,
|
|
93
|
+
},
|
|
94
|
+
allowExitOnIdle: true,
|
|
95
|
+
password: async () => {
|
|
96
|
+
const token = await new Signer({
|
|
97
|
+
hostname,
|
|
98
|
+
port,
|
|
99
|
+
region,
|
|
100
|
+
username: dbUser,
|
|
101
|
+
}).getAuthToken();
|
|
102
|
+
return token;
|
|
103
|
+
},
|
|
104
|
+
}),
|
|
105
|
+
);
|
|
101
106
|
|
|
102
|
-
return
|
|
107
|
+
return new PrismaClient({
|
|
108
|
+
adapter,
|
|
109
|
+
log,
|
|
110
|
+
}) as unknown as PrismaClient<LogOpts>;
|
|
103
111
|
};
|
|
104
112
|
<%_ } _%>
|
package/src/ts/rdb/generator.js
CHANGED
|
@@ -155,6 +155,9 @@ const tsRdbGenerator = async (tree, options) => {
|
|
|
155
155
|
}
|
|
156
156
|
(0, nx_1.addDependencyToTargetIfNotPresent)(projectConfig, 'compile', 'generate');
|
|
157
157
|
(0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfig);
|
|
158
|
+
(0, nx_1.addGeneratorMetadata)(tree, fullyQualifiedName, exports.TS_RDB_GENERATOR_INFO, {
|
|
159
|
+
engine: options.engine,
|
|
160
|
+
});
|
|
158
161
|
await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iacProvider });
|
|
159
162
|
await (0, rdb_constructs_1.addRdbInfra)(tree, {
|
|
160
163
|
iacProvider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/rdb/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAUoB;AAEpB,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/rdb/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dependency to the mcp-server prefixed serve-local 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"components": [
|
|
8
|
+
{
|
|
9
|
+
"generator": "ts#mcp-server",
|
|
10
|
+
"name": "my-mcp",
|
|
11
|
+
"path": "src/my-mcp",
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
"name": "my-service",
|
|
16
|
+
"root": "packages/my-service",
|
|
17
|
+
"targets": {
|
|
18
|
+
"my-mcp-serve-local": {
|
|
19
|
+
"continuous": true,
|
|
20
|
+
"dependsOn": [
|
|
21
|
+
{
|
|
22
|
+
"projects": [
|
|
23
|
+
"db",
|
|
24
|
+
],
|
|
25
|
+
"target": "serve-local",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
"executor": "nx:run-commands",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
exports[`ts#rdb mcp-server-connection generator > should be idempotent for server.ts 1`] = `
|
|
35
|
+
"import { getPrisma as getDb } from 'db';
|
|
36
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
37
|
+
|
|
38
|
+
export const createServer = async () => {
|
|
39
|
+
const db = await getDb();
|
|
40
|
+
db.$on('error', console.error);
|
|
41
|
+
const server = new McpServer({
|
|
42
|
+
name: 'my-service',
|
|
43
|
+
version: '1.0.0',
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
return server;
|
|
47
|
+
};
|
|
48
|
+
"
|
|
49
|
+
`;
|
|
50
|
+
|
|
51
|
+
exports[`ts#rdb mcp-server-connection generator > should fall back to mcp-server-serve-local when no component name 1`] = `
|
|
52
|
+
{
|
|
53
|
+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
54
|
+
"metadata": {
|
|
55
|
+
"components": [
|
|
56
|
+
{
|
|
57
|
+
"generator": "ts#mcp-server",
|
|
58
|
+
"name": "mcp-server",
|
|
59
|
+
"path": "src/mcp-server",
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
"name": "my-service",
|
|
64
|
+
"root": "packages/my-service",
|
|
65
|
+
"targets": {
|
|
66
|
+
"mcp-server-serve-local": {
|
|
67
|
+
"continuous": true,
|
|
68
|
+
"dependsOn": [
|
|
69
|
+
{
|
|
70
|
+
"projects": [
|
|
71
|
+
"db",
|
|
72
|
+
],
|
|
73
|
+
"target": "serve-local",
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
"executor": "nx:run-commands",
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
}
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
exports[`ts#rdb mcp-server-connection generator > should inject db into server.ts 1`] = `
|
|
83
|
+
"import { getPrisma as getDb } from 'db';
|
|
84
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
85
|
+
|
|
86
|
+
export const createServer = async () => {
|
|
87
|
+
const db = await getDb();
|
|
88
|
+
db.$on('error', console.error);
|
|
89
|
+
const server = new McpServer({
|
|
90
|
+
name: 'my-service',
|
|
91
|
+
version: '1.0.0',
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
return server;
|
|
95
|
+
};
|
|
96
|
+
"
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
exports[`ts#rdb mcp-server-connection generator > should support multiple rdb connections 1`] = `
|
|
100
|
+
"import { getPrisma as getMysqlDb } from 'mysql-db';
|
|
101
|
+
import { getPrisma as getPostgresDb } from 'postgres-db';
|
|
102
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
103
|
+
|
|
104
|
+
export const createServer = async () => {
|
|
105
|
+
const mysqlDb = await getMysqlDb();
|
|
106
|
+
mysqlDb.$on('error', console.error);
|
|
107
|
+
const postgresDb = await getPostgresDb();
|
|
108
|
+
postgresDb.$on('error', console.error);
|
|
109
|
+
const server = new McpServer({
|
|
110
|
+
name: 'my-service',
|
|
111
|
+
version: '1.0.0',
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
return server;
|
|
115
|
+
};
|
|
116
|
+
"
|
|
117
|
+
`;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Tree } from '@nx/devkit';
|
|
6
|
+
import { TsRdbMcpServerConnectionGeneratorSchema } from './schema';
|
|
7
|
+
import { NxGeneratorInfo } from '../../../utils/nx';
|
|
8
|
+
export declare const TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
|
+
export declare const tsRdbMcpServerConnectionGenerator: (tree: Tree, options: TsRdbMcpServerConnectionGeneratorSchema) => Promise<void>;
|
|
10
|
+
export default tsRdbMcpServerConnectionGenerator;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tsRdbMcpServerConnectionGenerator = exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const devkit_1 = require("@nx/devkit");
|
|
10
|
+
const nx_1 = require("../../../utils/nx");
|
|
11
|
+
const metrics_1 = require("../../../utils/metrics");
|
|
12
|
+
const format_1 = require("../../../utils/format");
|
|
13
|
+
const names_1 = require("../../../utils/names");
|
|
14
|
+
const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
|
|
15
|
+
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
|
+
const ast_1 = require("../../../utils/ast");
|
|
17
|
+
exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
18
|
+
const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
|
|
19
|
+
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
20
|
+
const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
|
|
21
|
+
const mcpServerName = options.sourceComponent?.name ?? 'mcp-server';
|
|
22
|
+
const serveLocalTarget = `${mcpServerName}-serve-local`;
|
|
23
|
+
if (sourceProject.targets?.[serveLocalTarget]) {
|
|
24
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, serveLocalTarget, {
|
|
25
|
+
projects: [targetProject.name],
|
|
26
|
+
target: 'serve-local',
|
|
27
|
+
});
|
|
28
|
+
(0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
|
|
29
|
+
}
|
|
30
|
+
const rdbBaseName = targetProject.name.split('/').pop();
|
|
31
|
+
const rdbNameCamel = (0, lodash_camelcase_1.default)(rdbBaseName);
|
|
32
|
+
const rdbNamePascal = (0, names_1.pascalCase)(rdbBaseName);
|
|
33
|
+
const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
|
|
34
|
+
const getterAlias = `getPrisma as get${rdbNamePascal}`;
|
|
35
|
+
const serverPath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'server.ts');
|
|
36
|
+
// server.ts: inject db inside createServer body
|
|
37
|
+
if (tree.exists(serverPath)) {
|
|
38
|
+
await (0, ast_1.addDestructuredImport)(tree, serverPath, [getterAlias], rdbPackageAlias);
|
|
39
|
+
await (0, ast_1.applyGritQL)(tree, serverPath, `\`export const createServer = async () => { $body }\` => raw\`export const createServer = async () => {
|
|
40
|
+
const ${rdbNameCamel} = await get${rdbNamePascal}();
|
|
41
|
+
$body
|
|
42
|
+
}\` where { $body <: not some \`const ${rdbNameCamel} = await get${rdbNamePascal}()\` }`);
|
|
43
|
+
// Add $on error handler after the db declaration.
|
|
44
|
+
// Done via string replacement because GritQL treats $on as a metavariable.
|
|
45
|
+
const dbDecl = `const ${rdbNameCamel} = await get${rdbNamePascal}();`;
|
|
46
|
+
const onCall = `${rdbNameCamel}.$on('error', console.error);`;
|
|
47
|
+
const content = tree.read(serverPath, 'utf-8');
|
|
48
|
+
if (content.includes(dbDecl) && !content.includes(`${rdbNameCamel}.$on`)) {
|
|
49
|
+
tree.write(serverPath, content.replace(dbDecl, `${dbDecl}\n ${onCall}`));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
|
|
53
|
+
exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO,
|
|
54
|
+
]);
|
|
55
|
+
await (0, format_1.formatFilesInSubtree)(tree);
|
|
56
|
+
};
|
|
57
|
+
exports.tsRdbMcpServerConnectionGenerator = tsRdbMcpServerConnectionGenerator;
|
|
58
|
+
exports.default = exports.tsRdbMcpServerConnectionGenerator;
|
|
59
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;AAE3D,QAAA,2CAA2C,GACtD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,iCAAiC,GAAG,KAAK,EACpD,IAAU,EACV,OAAgD,EACjC,EAAE;IACjB,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,YAAY,CAAC;IACpE,MAAM,gBAAgB,GAAG,GAAG,aAAa,cAAc,CAAC;IAExD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,IAAA,sCAAiC,EAAC,aAAa,EAAE,gBAAgB,EAAE;YACjE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,IAAA,mCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,IAAA,0BAAS,EAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,aAAa,EAAE,CAAC;IAEvD,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAClC,aAAa,CAAC,IAAI,EAClB,KAAK,EACL,aAAa,EACb,WAAW,CACZ,CAAC;IAEF,gDAAgD;IAChD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,UAAU,EACV,CAAC,WAAW,CAAC,EACb,eAAe,CAChB,CAAC;QAEF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,UAAU,EACV;UACI,YAAY,eAAe,aAAa;;wCAEV,YAAY,eAAe,aAAa,QAAQ,CACnF,CAAC;QAEF,kDAAkD;QAClD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,SAAS,YAAY,eAAe,aAAa,KAAK,CAAC;QACtE,MAAM,MAAM,GAAG,GAAG,YAAY,+BAA+B,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAE,CAAC;QAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,MAAM,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,mDAA2C;KAC5C,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AArEW,QAAA,iCAAiC,qCAqE5C;AAEF,kBAAe,yCAAiC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { ComponentMetadata } from '../../../utils/nx';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* TypeScript types for options defined in schema.json
|
|
9
|
+
*/
|
|
10
|
+
export interface TsRdbMcpServerConnectionGeneratorSchema {
|
|
11
|
+
sourceProject: string;
|
|
12
|
+
targetProject: string;
|
|
13
|
+
sourceComponent?: ComponentMetadata;
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "ts#rdb#mcp-server-connection",
|
|
4
|
+
"title": "ts#rdb#mcp-server-connection",
|
|
5
|
+
"description": "Connect a ts#mcp-server to a ts#rdb project",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"sourceProject": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The project containing the ts#mcp-server to connect from"
|
|
11
|
+
},
|
|
12
|
+
"targetProject": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The ts#rdb project to connect to"
|
|
15
|
+
},
|
|
16
|
+
"sourceComponent": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "The MCP server component name"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["sourceProject", "targetProject"]
|
|
22
|
+
}
|