@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
|
@@ -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 TsRdbStrandsAgentConnectionGeneratorSchema {
|
|
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#strands-agent-connection",
|
|
4
|
+
"title": "ts#rdb#strands-agent-connection",
|
|
5
|
+
"description": "Connect a ts#strands-agent to a ts#rdb project",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"sourceProject": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The project containing the ts#strands-agent 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 agent component name"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["sourceProject", "targetProject"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`ts#rdb trpc-connection generator > should add rdb serve-local dependency to trpc serve-local 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
6
|
+
"name": "api",
|
|
7
|
+
"root": "packages/api",
|
|
8
|
+
"targets": {
|
|
9
|
+
"serve-local": {
|
|
10
|
+
"continuous": true,
|
|
11
|
+
"dependsOn": [
|
|
12
|
+
{
|
|
13
|
+
"projects": [
|
|
14
|
+
"db",
|
|
15
|
+
],
|
|
16
|
+
"target": "serve-local",
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
"executor": "nx:run-commands",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
|
|
25
|
+
exports[`ts#rdb trpc-connection generator > should generate middleware file for PostgreSQL engine 1`] = `
|
|
26
|
+
"import { getPrisma } from 'db';
|
|
27
|
+
import { initTRPC } from '@trpc/server';
|
|
28
|
+
|
|
29
|
+
export interface IDbContext {
|
|
30
|
+
db?: Awaited<ReturnType<typeof getPrisma>>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const createDbPlugin = () => {
|
|
34
|
+
const t = initTRPC.context<IDbContext>().create();
|
|
35
|
+
return t.procedure.use(async (opts) => {
|
|
36
|
+
const db = await getPrisma();
|
|
37
|
+
|
|
38
|
+
return await opts.next({
|
|
39
|
+
ctx: {
|
|
40
|
+
...opts.ctx,
|
|
41
|
+
db,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
"
|
|
47
|
+
`;
|
|
48
|
+
|
|
49
|
+
exports[`ts#rdb trpc-connection generator > should generate middleware file with try/finally for MySQL engine 1`] = `
|
|
50
|
+
"import { getPrisma } from 'db';
|
|
51
|
+
import { initTRPC } from '@trpc/server';
|
|
52
|
+
|
|
53
|
+
export interface IDbContext {
|
|
54
|
+
db?: Awaited<ReturnType<typeof getPrisma>>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const createDbPlugin = () => {
|
|
58
|
+
const t = initTRPC.context<IDbContext>().create();
|
|
59
|
+
return t.procedure.use(async (opts) => {
|
|
60
|
+
const db = await getPrisma();
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
return await opts.next({
|
|
64
|
+
ctx: {
|
|
65
|
+
...opts.ctx,
|
|
66
|
+
db,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
} finally {
|
|
70
|
+
await db.$disconnect();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
"
|
|
75
|
+
`;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getPrisma } from '<%= rdbPackageAlias %>';
|
|
2
|
+
import { initTRPC } from '@trpc/server';
|
|
3
|
+
|
|
4
|
+
export interface I<%= rdbNamePascal %>Context {
|
|
5
|
+
<%= rdbNameCamel %>?: Awaited<ReturnType<typeof getPrisma>>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const create<%= rdbNamePascal %>Plugin = () => {
|
|
9
|
+
const t = initTRPC.context<I<%= rdbNamePascal %>Context>().create();
|
|
10
|
+
return t.procedure.use(async (opts) => {
|
|
11
|
+
const <%= rdbNameCamel %> = await getPrisma();
|
|
12
|
+
<% if (engine === 'MySQL') { %>
|
|
13
|
+
try {
|
|
14
|
+
return await opts.next({
|
|
15
|
+
ctx: {
|
|
16
|
+
...opts.ctx,
|
|
17
|
+
<%= rdbNameCamel %>,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
} finally {
|
|
21
|
+
await <%= rdbNameCamel %>.$disconnect();
|
|
22
|
+
}
|
|
23
|
+
<% } else { %>
|
|
24
|
+
return await opts.next({
|
|
25
|
+
ctx: {
|
|
26
|
+
...opts.ctx,
|
|
27
|
+
<%= rdbNameCamel %>,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
<% } %>
|
|
31
|
+
});
|
|
32
|
+
};
|
|
@@ -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 { TsRdbTrpcConnectionGeneratorSchema } from './schema';
|
|
7
|
+
import { NxGeneratorInfo } from '../../../utils/nx';
|
|
8
|
+
export declare const TS_RDB_TRPC_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
|
+
export declare const tsRdbTrpcConnectionGenerator: (tree: Tree, options: TsRdbTrpcConnectionGeneratorSchema) => Promise<void>;
|
|
10
|
+
export default tsRdbTrpcConnectionGenerator;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tsRdbTrpcConnectionGenerator = exports.TS_RDB_TRPC_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
|
+
exports.TS_RDB_TRPC_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
17
|
+
const tsRdbTrpcConnectionGenerator = async (tree, options) => {
|
|
18
|
+
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
19
|
+
const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
|
|
20
|
+
if (sourceProject.targets?.['serve-local']) {
|
|
21
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, 'serve-local', {
|
|
22
|
+
projects: [targetProject.name],
|
|
23
|
+
target: 'serve-local',
|
|
24
|
+
});
|
|
25
|
+
(0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
|
|
26
|
+
}
|
|
27
|
+
const rdbBaseName = targetProject.name.split('/').pop();
|
|
28
|
+
const rdbNameKebab = (0, names_1.kebabCase)(rdbBaseName);
|
|
29
|
+
const rdbNameCamel = (0, lodash_camelcase_1.default)(rdbBaseName);
|
|
30
|
+
const rdbNamePascal = (0, names_1.pascalCase)(rdbBaseName);
|
|
31
|
+
const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
|
|
32
|
+
const engine = (targetProject.metadata ?? {}).engine ?? 'PostgreSQL';
|
|
33
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), sourceProject.root, { rdbNameKebab, rdbNameCamel, rdbNamePascal, rdbPackageAlias, engine }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
|
|
34
|
+
await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
|
|
35
|
+
exports.TS_RDB_TRPC_CONNECTION_GENERATOR_INFO,
|
|
36
|
+
]);
|
|
37
|
+
await (0, format_1.formatFilesInSubtree)(tree);
|
|
38
|
+
};
|
|
39
|
+
exports.tsRdbTrpcConnectionGenerator = tsRdbTrpcConnectionGenerator;
|
|
40
|
+
exports.default = exports.tsRdbTrpcConnectionGenerator;
|
|
41
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/trpc-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAMoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAA6D;AAC7D,gFAAyC;AACzC,wDAAwD;AAE3C,QAAA,qCAAqC,GAChD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,4BAA4B,GAAG,KAAK,EAC/C,IAAU,EACV,OAA2C,EAC5B,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,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,IAAA,sCAAiC,EAAC,aAAa,EAAE,aAAa,EAAE;YAC9D,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,iBAAS,EAAC,WAAW,CAAC,CAAC;IAC5C,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,MAAM,GAAG,CAAE,aAAa,CAAC,QAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;IAE9E,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EACrC,aAAa,CAAC,IAAI,EAClB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,EACtE,EAAE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY,EAAE,CACtD,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,6CAAqC;KACtC,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAxCW,QAAA,4BAA4B,gCAwCvC;AAEF,kBAAe,oCAA4B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* TypeScript types for options defined in schema.json
|
|
8
|
+
*/
|
|
9
|
+
export interface TsRdbTrpcConnectionGeneratorSchema {
|
|
10
|
+
sourceProject: string;
|
|
11
|
+
targetProject: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "ts#rdb#trpc-connection",
|
|
4
|
+
"title": "ts#rdb#trpc-connection",
|
|
5
|
+
"description": "Connect a ts#trpc-api project to a ts#rdb project",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"sourceProject": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The ts#trpc-api project to connect from"
|
|
11
|
+
},
|
|
12
|
+
"targetProject": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The ts#rdb project to connect to"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": ["sourceProject", "targetProject"]
|
|
18
|
+
}
|
|
@@ -913,7 +913,6 @@ console.log(\`TRPC server listening on port \${PORT}\`);
|
|
|
913
913
|
|
|
914
914
|
exports[`ts#strands-agent generator > should match snapshot for generated files > strands-agent-init.ts 1`] = `
|
|
915
915
|
"import { initTRPC } from '@trpc/server';
|
|
916
|
-
import { enterSessionContext } from ':proj/agent-connection';
|
|
917
916
|
|
|
918
917
|
export interface Context {
|
|
919
918
|
sessionId: string;
|
|
@@ -921,17 +920,7 @@ export interface Context {
|
|
|
921
920
|
|
|
922
921
|
export const t = initTRPC.context<Context>().create();
|
|
923
922
|
|
|
924
|
-
|
|
925
|
-
* Bind the inbound session onto the current async flow so downstream MCP /
|
|
926
|
-
* A2A clients forward it on outbound calls. Uses \`enterWith\` so the binding
|
|
927
|
-
* persists across subscription iterations.
|
|
928
|
-
*/
|
|
929
|
-
const sessionMiddleware = t.middleware(({ ctx, next }) => {
|
|
930
|
-
enterSessionContext(ctx.sessionId);
|
|
931
|
-
return next();
|
|
932
|
-
});
|
|
933
|
-
|
|
934
|
-
export const publicProcedure = t.procedure.use(sessionMiddleware);
|
|
923
|
+
export const publicProcedure = t.procedure;
|
|
935
924
|
"
|
|
936
925
|
`;
|
|
937
926
|
|
|
@@ -939,7 +928,7 @@ exports[`ts#strands-agent generator > should match snapshot for generated files
|
|
|
939
928
|
"import { publicProcedure, t } from './init.js';
|
|
940
929
|
import { z } from 'zod';
|
|
941
930
|
import { zAsyncIterable } from './schema/z-async-iterable.js';
|
|
942
|
-
import { withSessionId } from ':proj/agent-connection';
|
|
931
|
+
import { enterSessionContext, withSessionId } from ':proj/agent-connection';
|
|
943
932
|
import { getAgent } from './agent.js';
|
|
944
933
|
|
|
945
934
|
export const router = t.router;
|
|
@@ -956,6 +945,8 @@ export const appRouter = router({
|
|
|
956
945
|
}),
|
|
957
946
|
)
|
|
958
947
|
.subscription(async function* (opts) {
|
|
948
|
+
// Bind the session ID for this subscription so downstream MCP / A2A clients forward it on outbound calls.
|
|
949
|
+
enterSessionContext(opts.ctx.sessionId);
|
|
959
950
|
for await (const event of agent.stream(opts.input.message)) {
|
|
960
951
|
if (
|
|
961
952
|
event.type === 'modelStreamUpdateEvent' &&
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { initTRPC } from '@trpc/server';
|
|
2
|
-
import { enterSessionContext } from '<%- agentConnectionImport %>';
|
|
3
2
|
|
|
4
3
|
export interface Context {
|
|
5
4
|
sessionId: string;
|
|
@@ -7,14 +6,4 @@ export interface Context {
|
|
|
7
6
|
|
|
8
7
|
export const t = initTRPC.context<Context>().create();
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
* Bind the inbound session onto the current async flow so downstream MCP /
|
|
12
|
-
* A2A clients forward it on outbound calls. Uses `enterWith` so the binding
|
|
13
|
-
* persists across subscription iterations.
|
|
14
|
-
*/
|
|
15
|
-
const sessionMiddleware = t.middleware(({ ctx, next }) => {
|
|
16
|
-
enterSessionContext(ctx.sessionId);
|
|
17
|
-
return next();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
export const publicProcedure = t.procedure.use(sessionMiddleware);
|
|
9
|
+
export const publicProcedure = t.procedure;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { publicProcedure, t } from './init.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { zAsyncIterable } from './schema/z-async-iterable.js';
|
|
4
|
-
import { withSessionId } from '<%- agentConnectionImport %>';
|
|
4
|
+
import { enterSessionContext, withSessionId } from '<%- agentConnectionImport %>';
|
|
5
5
|
import { getAgent } from './agent.js';
|
|
6
6
|
|
|
7
7
|
export const router = t.router;
|
|
@@ -18,6 +18,8 @@ export const appRouter = router({
|
|
|
18
18
|
}),
|
|
19
19
|
)
|
|
20
20
|
.subscription(async function* (opts) {
|
|
21
|
+
// Bind the session ID for this subscription so downstream MCP / A2A clients forward it on outbound calls.
|
|
22
|
+
enterSessionContext(opts.ctx.sessionId);
|
|
21
23
|
for await (const event of agent.stream(opts.input.message)) {
|
|
22
24
|
if (
|
|
23
25
|
event.type === 'modelStreamUpdateEvent' &&
|
|
@@ -108,7 +108,7 @@ data "archive_file" "lambda_zip" {
|
|
|
108
108
|
|
|
109
109
|
resource "aws_s3_object" "lambda_zip" {
|
|
110
110
|
bucket = var.asset_bucket_name
|
|
111
|
-
key = "apis/<%- apiNameKebabCase %>/${data.archive_file.lambda_zip.
|
|
111
|
+
key = "apis/<%- apiNameKebabCase %>/${data.archive_file.lambda_zip.output_sha256}.zip"
|
|
112
112
|
source = data.archive_file.lambda_zip.output_path
|
|
113
113
|
source_hash = data.archive_file.lambda_zip.output_base64sha256
|
|
114
114
|
etag = data.archive_file.lambda_zip.output_md5
|
|
@@ -98,7 +98,7 @@ data "archive_file" "lambda_zip" {
|
|
|
98
98
|
|
|
99
99
|
resource "aws_s3_object" "lambda_zip" {
|
|
100
100
|
bucket = var.asset_bucket_name
|
|
101
|
-
key = "apis/<%- apiNameKebabCase %>/${data.archive_file.lambda_zip.
|
|
101
|
+
key = "apis/<%- apiNameKebabCase %>/${data.archive_file.lambda_zip.output_sha256}.zip"
|
|
102
102
|
source = data.archive_file.lambda_zip.output_path
|
|
103
103
|
source_hash = data.archive_file.lambda_zip.output_base64sha256
|
|
104
104
|
etag = data.archive_file.lambda_zip.output_md5
|
package/src/utils/ast.js
CHANGED
|
@@ -22,10 +22,17 @@ const addDestructuredImport = async (tree, filePath, variableNames, from) => {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
// No existing import — prepend a new one
|
|
25
|
+
// No existing import — prepend a new one (after shebang if present)
|
|
26
26
|
const specifiers = variableNames.join(', ');
|
|
27
27
|
const contents = tree.read(filePath).toString();
|
|
28
|
-
|
|
28
|
+
const newImport = `import { ${specifiers} } from '${from}';\n`;
|
|
29
|
+
if (contents.startsWith('#!')) {
|
|
30
|
+
const newlineIndex = contents.indexOf('\n');
|
|
31
|
+
tree.write(filePath, `${contents.substring(0, newlineIndex + 1)}${newImport}${contents.substring(newlineIndex + 1)}`);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
tree.write(filePath, `${newImport}${contents}`);
|
|
35
|
+
}
|
|
29
36
|
}
|
|
30
37
|
};
|
|
31
38
|
exports.addDestructuredImport = addDestructuredImport;
|
package/src/utils/ast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":";;;AAKA,4CAA+C;AAE/C,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,QAAgB,EAAE,EAAE;IACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAU,EACV,QAAgB,EAChB,aAAuB,EACvB,IAAY,EACZ,EAAE;IACF,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/B,uDAAuD;IACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,mBAAW,EACzC,IAAI,EACJ,QAAQ,EACR,yBAAyB,IAAI,KAAK,CACnC,CAAC;IAEF,IAAI,iBAAiB,EAAE,CAAC;QACtB,6EAA6E;QAC7E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,YAAY,CAAC;YACjB,kFAAkF;YAClF,MAAM,IAAA,mBAAW,EACf,IAAI,EACJ,QAAQ,EACR,+BAA+B,IAAI,+BAA+B,YAAY,YAAY,IAAI,0CAA0C,SAAS,MAAM,CACxJ,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,7 +120,7 @@ data "archive_file" "lambda_zip" {
|
|
|
120
120
|
|
|
121
121
|
resource "aws_s3_object" "lambda_zip" {
|
|
122
122
|
bucket = var.asset_bucket_name
|
|
123
|
-
key = "lambdas/<%- functionNameKebabCase %>/${data.archive_file.lambda_zip.
|
|
123
|
+
key = "lambdas/<%- functionNameKebabCase %>/${data.archive_file.lambda_zip.output_sha256}.zip"
|
|
124
124
|
source = data.archive_file.lambda_zip.output_path
|
|
125
125
|
source_hash = data.archive_file.lambda_zip.output_base64sha256
|
|
126
126
|
etag = data.archive_file.lambda_zip.output_md5
|
|
@@ -20,3 +20,14 @@ import { Tree } from '@nx/devkit';
|
|
|
20
20
|
* allowlist has no equivalent of the `false` decision).
|
|
21
21
|
*/
|
|
22
22
|
export declare const registerPnpmBuiltDependencies: (tree: Tree, entries: Record<string, boolean>) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`
|
|
25
|
+
* from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.
|
|
26
|
+
*
|
|
27
|
+
* pnpm 11 no longer honours `ignore-workspace-root-check=true` in `.npmrc`;
|
|
28
|
+
* it must live in `pnpm-workspace.yaml` as the camelCased key. pnpm 10 also
|
|
29
|
+
* accepts the yaml form, so writing it here works for both majors.
|
|
30
|
+
*
|
|
31
|
+
* No-op for non-pnpm workspaces or when `pnpm-workspace.yaml` is absent.
|
|
32
|
+
*/
|
|
33
|
+
export declare const ensurePnpmIgnoresWorkspaceRootCheck: (tree: Tree) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerPnpmBuiltDependencies = void 0;
|
|
3
|
+
exports.ensurePnpmIgnoresWorkspaceRootCheck = exports.registerPnpmBuiltDependencies = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
/**
|
|
6
6
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -55,4 +55,31 @@ const registerPnpmBuiltDependencies = (tree, entries) => {
|
|
|
55
55
|
tree.write(WORKSPACE_FILE, js_yaml_1.default.dump(parsed, { quotingType: "'" }));
|
|
56
56
|
};
|
|
57
57
|
exports.registerPnpmBuiltDependencies = registerPnpmBuiltDependencies;
|
|
58
|
+
/**
|
|
59
|
+
* Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`
|
|
60
|
+
* from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.
|
|
61
|
+
*
|
|
62
|
+
* pnpm 11 no longer honours `ignore-workspace-root-check=true` in `.npmrc`;
|
|
63
|
+
* it must live in `pnpm-workspace.yaml` as the camelCased key. pnpm 10 also
|
|
64
|
+
* accepts the yaml form, so writing it here works for both majors.
|
|
65
|
+
*
|
|
66
|
+
* No-op for non-pnpm workspaces or when `pnpm-workspace.yaml` is absent.
|
|
67
|
+
*/
|
|
68
|
+
const ensurePnpmIgnoresWorkspaceRootCheck = (tree) => {
|
|
69
|
+
if ((0, devkit_1.detectPackageManager)(tree.root) !== 'pnpm') {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
if (!tree.exists(WORKSPACE_FILE)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';
|
|
76
|
+
const parsed = js_yaml_1.default.load(original) ?? {};
|
|
77
|
+
if (parsed.ignoreWorkspaceRootCheck === true) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
parsed.ignoreWorkspaceRootCheck = true;
|
|
81
|
+
tree.write(WORKSPACE_FILE, js_yaml_1.default.dump(parsed, { quotingType: "'" }));
|
|
82
|
+
return true;
|
|
83
|
+
};
|
|
84
|
+
exports.ensurePnpmIgnoresWorkspaceRootCheck = ensurePnpmIgnoresWorkspaceRootCheck;
|
|
58
85
|
//# sourceMappingURL=pnpm-workspace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm-workspace.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/pnpm-workspace.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAwD;AACxD,8DAA2B;AAE3B,MAAM,cAAc,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"pnpm-workspace.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/pnpm-workspace.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAwD;AACxD,8DAA2B;AAE3B,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAS7C;;;;;;;;;;;;;;;GAeG;AACI,MAAM,6BAA6B,GAAG,CAC3C,IAAU,EACV,OAAgC,EAC1B,EAAE;IACR,IAAI,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAI,iBAAI,CAAC,IAAI,CAAC,QAAQ,CAA8B,IAAI,EAAE,CAAC;IAEvE,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACtD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,MAAM,CAAC,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AArCW,QAAA,6BAA6B,iCAqCxC;AAEF;;;;;;;;;GASG;AACI,MAAM,mCAAmC,GAAG,CAAC,IAAU,EAAW,EAAE;IACzE,IAAI,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAI,iBAAI,CAAC,IAAI,CAAC,QAAQ,CAA8B,IAAI,EAAE,CAAC;IAEvE,IAAI,MAAM,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,mCAAmC,uCAkB9C"}
|
|
@@ -14,6 +14,7 @@ const npm_scope_1 = require("./npm-scope");
|
|
|
14
14
|
const ast_1 = require("./ast");
|
|
15
15
|
const shared_constructs_constants_1 = require("./shared-constructs-constants");
|
|
16
16
|
const versions_1 = require("./versions");
|
|
17
|
+
const pnpm_workspace_1 = require("./pnpm-workspace");
|
|
17
18
|
const SHADCN_DEPS = [
|
|
18
19
|
'class-variance-authority',
|
|
19
20
|
'clsx',
|
|
@@ -22,24 +23,6 @@ const SHADCN_DEPS = [
|
|
|
22
23
|
'tw-animate-css',
|
|
23
24
|
'radix-ui',
|
|
24
25
|
];
|
|
25
|
-
const NPMRC_IGNORE_WORKSPACE_ROOT_CHECK = 'ignore-workspace-root-check=true';
|
|
26
|
-
const ensureNpmrcIgnoresWorkspaceRoot = (tree) => {
|
|
27
|
-
const npmrcPath = '.npmrc';
|
|
28
|
-
if (tree.exists(npmrcPath)) {
|
|
29
|
-
const npmrcContent = tree.read(npmrcPath, 'utf-8');
|
|
30
|
-
const alreadyConfigured = npmrcContent
|
|
31
|
-
.split(/\r?\n/)
|
|
32
|
-
.some((line) => line.trim() === NPMRC_IGNORE_WORKSPACE_ROOT_CHECK);
|
|
33
|
-
if (alreadyConfigured) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
const needsTrailingNewline = npmrcContent.length > 0 && !npmrcContent.endsWith('\n');
|
|
37
|
-
tree.write(npmrcPath, `${npmrcContent}${needsTrailingNewline ? '\n' : ''}${NPMRC_IGNORE_WORKSPACE_ROOT_CHECK}\n`);
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
tree.write(npmrcPath, `${NPMRC_IGNORE_WORKSPACE_ROOT_CHECK}\n`);
|
|
41
|
-
return true;
|
|
42
|
-
};
|
|
43
26
|
const addSharedShadcnEslintRules = async (tree, eslintConfigPath) => {
|
|
44
27
|
if (!tree.exists(eslintConfigPath)) {
|
|
45
28
|
return;
|
|
@@ -57,7 +40,7 @@ async function sharedShadcnGenerator(tree) {
|
|
|
57
40
|
const libraryRoot = (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_SHADCN_DIR);
|
|
58
41
|
const shadcnSrcRoot = (0, devkit_1.joinPathFragments)(libraryRoot, 'src');
|
|
59
42
|
const eslintConfigPath = (0, devkit_1.joinPathFragments)(libraryRoot, 'eslint.config.mjs');
|
|
60
|
-
|
|
43
|
+
(0, pnpm_workspace_1.ensurePnpmIgnoresWorkspaceRootCheck)(tree);
|
|
61
44
|
if (!tree.exists((0, devkit_1.joinPathFragments)(libraryRoot, 'project.json'))) {
|
|
62
45
|
await (0, generator_1.default)(tree, {
|
|
63
46
|
name: shared_constructs_constants_1.SHARED_SHADCN_NAME,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-shadcn.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-shadcn.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"shared-shadcn.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-shadcn.ts"],"names":[],"mappings":"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"}
|