@aws/nx-plugin 1.0.0-rc.63 → 1.0.0-rc.64

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.
Files changed (41) hide show
  1. package/migrations.json +7 -2
  2. package/package.json +1 -1
  3. package/src/{smithy/project/files/service/build.Dockerfile.template → migrations/latest/smithy-build-without-docker/legacy-service.Dockerfile.fixture} +2 -2
  4. package/src/migrations/latest/smithy-build-without-docker/metadata.json +3 -0
  5. package/src/migrations/latest/smithy-build-without-docker/migration.d.ts +6 -0
  6. package/src/migrations/latest/smithy-build-without-docker/migration.js +154 -0
  7. package/src/migrations/latest/smithy-build-without-docker/migration.js.map +1 -0
  8. package/src/migrations/latest/smithy-ssdk-bundle-pins/rc57-service.Dockerfile.fixture +95 -0
  9. package/src/py/agent/a2a-connection/generator.d.ts +1 -1
  10. package/src/py/agent/gateway-connection/generator.d.ts +1 -1
  11. package/src/py/agent/generator.d.ts +8 -0
  12. package/src/py/agent/mcp-connection/generator.d.ts +1 -1
  13. package/src/py/fast-api/generator.d.ts +4 -0
  14. package/src/py/mcp-server/generator.d.ts +8 -0
  15. package/src/py/rdb/generator.d.ts +8 -0
  16. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +163 -260
  17. package/src/smithy/project/files/service/smithy-build.json.template +5 -5
  18. package/src/smithy/project/files/shapes/smithy-build.json.template +1 -1
  19. package/src/smithy/project/files/ssdk-bundle/ssdk.rolldown.config.mjs.template +52 -0
  20. package/src/smithy/project/generator.d.ts +76 -18
  21. package/src/smithy/project/generator.js +160 -38
  22. package/src/smithy/project/generator.js.map +1 -1
  23. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +22 -3
  24. package/src/smithy/ts/api/generator.d.ts +4 -0
  25. package/src/ts/agent/generator.d.ts +8 -0
  26. package/src/ts/mcp-server/generator.d.ts +8 -0
  27. package/src/ts/rdb/generator.d.ts +8 -0
  28. package/src/utils/docker.d.ts +2 -0
  29. package/src/utils/fs.d.ts +8 -0
  30. package/src/utils/fs.js +11 -0
  31. package/src/utils/fs.js.map +1 -1
  32. package/src/utils/smithy.d.ts +59 -0
  33. package/src/utils/smithy.js +73 -0
  34. package/src/utils/smithy.js.map +1 -0
  35. package/src/utils/version-upgrade-migration/sync-embedded-versions.d.ts +2 -2
  36. package/src/utils/version-upgrade-migration/sync-embedded-versions.js +53 -5
  37. package/src/utils/version-upgrade-migration/sync-embedded-versions.js.map +1 -1
  38. package/src/utils/versions.d.ts +33 -1
  39. package/src/utils/versions.js +26 -1
  40. package/src/utils/versions.js.map +1 -1
  41. package/src/smithy/project/files/shapes/build.Dockerfile.template +0 -33
package/migrations.json CHANGED
@@ -42,6 +42,11 @@
42
42
  "description": "Add a deploy-sandbox target to CDK infrastructure projects which deploys the sandbox stage",
43
43
  "implementation": "./src/migrations/latest/add-deploy-sandbox-target/migration"
44
44
  },
45
+ "latest-smithy-build-without-docker": {
46
+ "version": "1.0.0-rc.64",
47
+ "description": "Build Smithy projects with the Smithy CLI directly rather than in a container, removing the Docker prerequisite",
48
+ "implementation": "./src/migrations/latest/smithy-build-without-docker/migration"
49
+ },
45
50
  "v1.0.0-rc.50-0001-modernize-function-props-cast": {
46
51
  "version": "1.0.0-rc.50",
47
52
  "description": "Replace the legacy angle-bracket FunctionProps type assertion with the modern as syntax in generated API constructs",
@@ -83,14 +88,14 @@
83
88
  "implementation": "./src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration"
84
89
  },
85
90
  "sync-vended-versions": {
86
- "version": "1.0.0-rc.63",
91
+ "version": "1.0.0-rc.64",
87
92
  "description": "Sync vended dependency versions and the tracked plugin version to those vended by this release",
88
93
  "implementation": "./src/utils/version-upgrade-migration/migration"
89
94
  }
90
95
  },
91
96
  "packageJsonUpdates": {
92
97
  "nx-23.1.1-nx-packages": {
93
- "version": "1.0.0-rc.63",
98
+ "version": "1.0.0-rc.64",
94
99
  "packages": {
95
100
  "nx": {
96
101
  "version": "23.1.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "1.0.0-rc.63",
3
+ "version": "1.0.0-rc.64",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -17,7 +17,7 @@ RUN smithy-install/smithy/install
17
17
 
18
18
  # Add node dependencies for bundling
19
19
  WORKDIR /project
20
- RUN npm i -g pnpm@11.1.1 rolldown@<%- rolldownVersion %>
20
+ RUN npm i -g pnpm@11.1.1 rolldown@1.0.0-beta.38
21
21
 
22
22
  # Copy project files
23
23
  COPY smithy-build.json .
@@ -39,7 +39,7 @@ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,id=pnpm-store \
39
39
 
40
40
  # Install rolldown plugins with pnpm cache mount
41
41
  RUN --mount=type=cache,target=/root/.local/share/pnpm/store,id=pnpm-store \
42
- pnpm add -D rolldown-plugin-dts@<%- rolldownDtsVersion %> @rollup/plugin-esm-shim@<%- esmShimVersion %>
42
+ pnpm add -D rolldown-plugin-dts@0.16.5 @rollup/plugin-esm-shim@0.1.8
43
43
 
44
44
  RUN cat <<EOF > rolldown.config.js
45
45
  import { dts } from 'rolldown-plugin-dts';
@@ -0,0 +1,3 @@
1
+ {
2
+ "description": "Build Smithy projects with the Smithy CLI directly rather than in a container, removing the Docker prerequisite"
3
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type MigrationReturnObject, type Tree } from '@nx/devkit';
6
+ export default function migration(tree: Tree): Promise<MigrationReturnObject>;
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { getProjects, joinPathFragments, updateProjectConfiguration } from "@nx/devkit";
5
+ import { DEPENDENCIES, SMITHY_PROJECT_GENERATOR_INFO, smithyCompileCommands, smithyCompileOutputs, smithyGenerateSsdkTarget, writeSsdkBundleConfig } from "../../../smithy/project/generator.js";
6
+ import { addTsDependencies } from "../../../utils/add-dependencies.js";
7
+ import { formatFilesInSubtree } from "../../../utils/format.js";
8
+ import { FsCommands } from "../../../utils/fs.js";
9
+ import { warnIfSmithyMissing } from "../../../utils/smithy.js";
10
+ /**
11
+ * Move Smithy projects off the container build onto the Smithy CLI.
12
+ *
13
+ * A Smithy build used to run inside an image: the `build.Dockerfile` installed the
14
+ * CLI, built the model, and — for a service — installed and bundled the generated
15
+ * Server SDK. That made Docker a prerequisite for any workspace holding a Smithy
16
+ * project. The CLI now runs on the machine, so the Dockerfile goes and the
17
+ * `compile` target is rewritten to invoke it.
18
+ *
19
+ * The target's commands are replaced wholesale rather than patched: every one of
20
+ * them changes, and they are generated configuration. A project whose commands the
21
+ * user has edited is left alone and reported, since replacing them would discard
22
+ * those edits.
23
+ */ /** Where a consuming project's Dockerfile brought in a shape library's model. */ const WORKSPACE_CONTEXT_COPY = /COPY\s+--from=workspace\s+(\S+)\s+\S+/g;
24
+ const smithyMetadata = (project)=>project.metadata;
25
+ /**
26
+ * Whether a project's `compile` commands are the ones a previous release
27
+ * generated, so replacing them discards nothing.
28
+ *
29
+ * Matched on the shape of the image build rather than the exact string: the engine
30
+ * is `docker` or `finch` depending on the workspace's configuration, and the
31
+ * commands around it moved between releases.
32
+ */ const hasGeneratedDockerCompile = (project)=>{
33
+ const commands = project.targets?.compile?.options?.commands;
34
+ if (!Array.isArray(commands)) {
35
+ return false;
36
+ }
37
+ const imageBuilds = commands.filter((command)=>typeof command === 'string' && command.includes('build.Dockerfile'));
38
+ // Exactly the one image build the generator wrote, in the form it wrote it.
39
+ // Anything else means the user has been in here.
40
+ return imageBuilds.length === 1 && /^(?:docker|finch) build /.test(imageBuilds[0]) && imageBuilds[0].includes('--target export');
41
+ };
42
+ /**
43
+ * The shape libraries a Dockerfile copied in, as `imports` entries.
44
+ *
45
+ * Consuming a shape library used to need a `COPY --from=workspace` bringing its
46
+ * built model into the image, and an `imports` entry pointing at where it landed.
47
+ * With the build on the machine, `imports` reaches the built model directly — the
48
+ * CLI resolves them relative to `smithy-build.json` — so each copy becomes a
49
+ * relative path, and the Dockerfile is no longer needed to carry it.
50
+ */ const importsFromDockerfileCopies = (dockerfile, projectRoot)=>{
51
+ const upToRoot = projectRoot.split('/').filter(Boolean).map(()=>'..').join('/');
52
+ return [
53
+ ...dockerfile.matchAll(WORKSPACE_CONTEXT_COPY)
54
+ ].map(([, source])=>`${upToRoot}/${source}`);
55
+ };
56
+ /** Add the imports a Dockerfile's copies stood for, keeping the user's own. */ const addImports = (tree, projectRoot, imports)=>{
57
+ if (imports.length === 0) {
58
+ return;
59
+ }
60
+ const path = joinPathFragments(projectRoot, 'smithy-build.json');
61
+ if (!tree.exists(path)) {
62
+ return;
63
+ }
64
+ const smithyBuild = JSON.parse(tree.read(path, 'utf-8') ?? '{}');
65
+ const existing = smithyBuild.imports ?? [];
66
+ smithyBuild.imports = [
67
+ ...existing,
68
+ ...imports.filter((entry)=>!existing.includes(entry))
69
+ ];
70
+ tree.write(path, JSON.stringify(smithyBuild, null, 2));
71
+ };
72
+ const editedNextStep = (projectName)=>`${projectName}: its compile target has been customised, so it was left as it is. Smithy projects now build with the Smithy CLI rather than a container — see https://awslabs.github.io/nx-plugin-for-aws/guides/smithy-project/ for the target it expects.`;
73
+ export default async function migration(tree) {
74
+ const nextSteps = [];
75
+ const migrated = [];
76
+ for (const [name, project] of getProjects(tree)){
77
+ const metadata = smithyMetadata(project);
78
+ if (metadata?.generator !== SMITHY_PROJECT_GENERATOR_INFO.id) {
79
+ continue;
80
+ }
81
+ const dockerfilePath = joinPathFragments(project.root, 'build.Dockerfile');
82
+ if (!tree.exists(dockerfilePath)) {
83
+ continue;
84
+ }
85
+ if (!hasGeneratedDockerCompile(project)) {
86
+ nextSteps.push(editedNextStep(name));
87
+ continue;
88
+ }
89
+ // A project generated before the type was recorded is a service: the shapes
90
+ // type shipped with the metadata already in place.
91
+ const type = metadata.smithyType ?? 'service';
92
+ // Carry over the shape library dependencies the Dockerfile expressed as
93
+ // build-context copies before dropping it.
94
+ addImports(tree, project.root, importsFromDockerfileCopies(tree.read(dockerfilePath, 'utf-8') ?? '', project.root));
95
+ tree.delete(dockerfilePath);
96
+ // Built from the same helpers the generator uses, so the targets a migrated
97
+ // project gets cannot drift from a freshly generated one.
98
+ const cmd = new FsCommands(tree, DEPENDENCIES);
99
+ project.targets ??= {};
100
+ project.targets.compile = {
101
+ ...project.targets.compile,
102
+ outputs: smithyCompileOutputs(type),
103
+ options: {
104
+ ...project.targets.compile?.options,
105
+ commands: smithyCompileCommands(cmd, type)
106
+ }
107
+ };
108
+ // A service's Server SDK moves to its own target, so the model build and the
109
+ // SDK build cache separately.
110
+ if (type === 'service') {
111
+ project.targets['generate-ssdk'] = {
112
+ ...project.targets['generate-ssdk'],
113
+ ...smithyGenerateSsdkTarget()
114
+ };
115
+ project.targets.build = {
116
+ ...project.targets.build,
117
+ dependsOn: [
118
+ 'compile',
119
+ 'generate-ssdk'
120
+ ]
121
+ };
122
+ }
123
+ updateProjectConfiguration(tree, name, project);
124
+ if (type === 'service') {
125
+ writeSsdkBundleConfig(tree, project.root);
126
+ }
127
+ migrated.push({
128
+ smithyType: type,
129
+ namespace: metadata.namespace ?? ''
130
+ });
131
+ }
132
+ // A service's SDK bundler, which the image used to carry. The Smithy CLI needs
133
+ // nothing here — the target fetches mise with `npx`.
134
+ //
135
+ // Added per migrated project rather than once for the workspace, so a mix of
136
+ // services and shape libraries gets the union of what each needs. All of these
137
+ // go to the root manifest, so repeating one is a no-op.
138
+ for (const metadata of migrated){
139
+ addTsDependencies(tree, DEPENDENCIES, {
140
+ metadata
141
+ });
142
+ }
143
+ // On Windows the migrated build runs the Smithy CLI from the PATH rather than
144
+ // through mise, so flag a missing prerequisite when a project was moved across.
145
+ if (migrated.length > 0) {
146
+ warnIfSmithyMissing();
147
+ }
148
+ await formatFilesInSubtree(tree);
149
+ return {
150
+ nextSteps
151
+ };
152
+ }
153
+
154
+ //# sourceMappingURL=migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/latest/smithy-build-without-docker/migration.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n getProjects,\n joinPathFragments,\n type MigrationReturnObject,\n type ProjectConfiguration,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport {\n DEPENDENCIES,\n SMITHY_PROJECT_GENERATOR_INFO,\n type SmithyProjectMetadata,\n smithyCompileCommands,\n smithyCompileOutputs,\n smithyGenerateSsdkTarget,\n writeSsdkBundleConfig,\n} from '../../../smithy/project/generator';\nimport { addTsDependencies } from '../../../utils/add-dependencies';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { FsCommands } from '../../../utils/fs';\nimport { warnIfSmithyMissing } from '../../../utils/smithy';\n\n/**\n * Move Smithy projects off the container build onto the Smithy CLI.\n *\n * A Smithy build used to run inside an image: the `build.Dockerfile` installed the\n * CLI, built the model, and — for a service — installed and bundled the generated\n * Server SDK. That made Docker a prerequisite for any workspace holding a Smithy\n * project. The CLI now runs on the machine, so the Dockerfile goes and the\n * `compile` target is rewritten to invoke it.\n *\n * The target's commands are replaced wholesale rather than patched: every one of\n * them changes, and they are generated configuration. A project whose commands the\n * user has edited is left alone and reported, since replacing them would discard\n * those edits.\n */\n\n/** Where a consuming project's Dockerfile brought in a shape library's model. */\nconst WORKSPACE_CONTEXT_COPY = /COPY\\s+--from=workspace\\s+(\\S+)\\s+\\S+/g;\n\n/**\n * The metadata a Smithy model project records, as a workspace on an older release\n * may hold it — `smithyType` predates neither the generator nor this migration, so\n * it may be absent.\n */\ninterface SmithyMetadata extends Partial<SmithyProjectMetadata> {\n readonly generator?: string;\n}\n\nconst smithyMetadata = (\n project: ProjectConfiguration,\n): SmithyMetadata | undefined => project.metadata as SmithyMetadata | undefined;\n\n/**\n * Whether a project's `compile` commands are the ones a previous release\n * generated, so replacing them discards nothing.\n *\n * Matched on the shape of the image build rather than the exact string: the engine\n * is `docker` or `finch` depending on the workspace's configuration, and the\n * commands around it moved between releases.\n */\nconst hasGeneratedDockerCompile = (project: ProjectConfiguration): boolean => {\n const commands: unknown = project.targets?.compile?.options?.commands;\n if (!Array.isArray(commands)) {\n return false;\n }\n const imageBuilds = commands.filter(\n (command): command is string =>\n typeof command === 'string' && command.includes('build.Dockerfile'),\n );\n // Exactly the one image build the generator wrote, in the form it wrote it.\n // Anything else means the user has been in here.\n return (\n imageBuilds.length === 1 &&\n /^(?:docker|finch) build /.test(imageBuilds[0]) &&\n imageBuilds[0].includes('--target export')\n );\n};\n\n/**\n * The shape libraries a Dockerfile copied in, as `imports` entries.\n *\n * Consuming a shape library used to need a `COPY --from=workspace` bringing its\n * built model into the image, and an `imports` entry pointing at where it landed.\n * With the build on the machine, `imports` reaches the built model directly — the\n * CLI resolves them relative to `smithy-build.json` — so each copy becomes a\n * relative path, and the Dockerfile is no longer needed to carry it.\n */\nconst importsFromDockerfileCopies = (\n dockerfile: string,\n projectRoot: string,\n): string[] => {\n const upToRoot = projectRoot\n .split('/')\n .filter(Boolean)\n .map(() => '..')\n .join('/');\n return [...dockerfile.matchAll(WORKSPACE_CONTEXT_COPY)].map(\n ([, source]) => `${upToRoot}/${source}`,\n );\n};\n\n/** Add the imports a Dockerfile's copies stood for, keeping the user's own. */\nconst addImports = (tree: Tree, projectRoot: string, imports: string[]) => {\n if (imports.length === 0) {\n return;\n }\n const path = joinPathFragments(projectRoot, 'smithy-build.json');\n if (!tree.exists(path)) {\n return;\n }\n const smithyBuild = JSON.parse(tree.read(path, 'utf-8') ?? '{}');\n const existing: string[] = smithyBuild.imports ?? [];\n smithyBuild.imports = [\n ...existing,\n ...imports.filter((entry) => !existing.includes(entry)),\n ];\n tree.write(path, JSON.stringify(smithyBuild, null, 2));\n};\n\nconst editedNextStep = (projectName: string): string =>\n `${projectName}: its compile target has been customised, so it was left as it is. Smithy projects now build with the Smithy CLI rather than a container — see https://awslabs.github.io/nx-plugin-for-aws/guides/smithy-project/ for the target it expects.`;\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n const nextSteps: string[] = [];\n const migrated: SmithyProjectMetadata[] = [];\n\n for (const [name, project] of getProjects(tree)) {\n const metadata = smithyMetadata(project);\n if (metadata?.generator !== SMITHY_PROJECT_GENERATOR_INFO.id) {\n continue;\n }\n\n const dockerfilePath = joinPathFragments(project.root, 'build.Dockerfile');\n if (!tree.exists(dockerfilePath)) {\n continue;\n }\n\n if (!hasGeneratedDockerCompile(project)) {\n nextSteps.push(editedNextStep(name));\n continue;\n }\n\n // A project generated before the type was recorded is a service: the shapes\n // type shipped with the metadata already in place.\n const type = metadata.smithyType ?? 'service';\n\n // Carry over the shape library dependencies the Dockerfile expressed as\n // build-context copies before dropping it.\n addImports(\n tree,\n project.root,\n importsFromDockerfileCopies(\n tree.read(dockerfilePath, 'utf-8') ?? '',\n project.root,\n ),\n );\n tree.delete(dockerfilePath);\n\n // Built from the same helpers the generator uses, so the targets a migrated\n // project gets cannot drift from a freshly generated one.\n const cmd = new FsCommands(tree, DEPENDENCIES);\n project.targets ??= {};\n project.targets.compile = {\n ...project.targets.compile,\n outputs: smithyCompileOutputs(type),\n options: {\n ...project.targets.compile?.options,\n commands: smithyCompileCommands(cmd, type),\n },\n };\n\n // A service's Server SDK moves to its own target, so the model build and the\n // SDK build cache separately.\n if (type === 'service') {\n project.targets['generate-ssdk'] = {\n ...project.targets['generate-ssdk'],\n ...smithyGenerateSsdkTarget(),\n };\n project.targets.build = {\n ...project.targets.build,\n dependsOn: ['compile', 'generate-ssdk'],\n };\n }\n updateProjectConfiguration(tree, name, project);\n\n if (type === 'service') {\n writeSsdkBundleConfig(tree, project.root);\n }\n migrated.push({ smithyType: type, namespace: metadata.namespace ?? '' });\n }\n\n // A service's SDK bundler, which the image used to carry. The Smithy CLI needs\n // nothing here — the target fetches mise with `npx`.\n //\n // Added per migrated project rather than once for the workspace, so a mix of\n // services and shape libraries gets the union of what each needs. All of these\n // go to the root manifest, so repeating one is a no-op.\n for (const metadata of migrated) {\n addTsDependencies(tree, DEPENDENCIES, { metadata });\n }\n\n // On Windows the migrated build runs the Smithy CLI from the PATH rather than\n // through mise, so flag a missing prerequisite when a project was moved across.\n if (migrated.length > 0) {\n warnIfSmithyMissing();\n }\n\n await formatFilesInSubtree(tree);\n\n return { nextSteps };\n}\n"],"names":["getProjects","joinPathFragments","updateProjectConfiguration","DEPENDENCIES","SMITHY_PROJECT_GENERATOR_INFO","smithyCompileCommands","smithyCompileOutputs","smithyGenerateSsdkTarget","writeSsdkBundleConfig","addTsDependencies","formatFilesInSubtree","FsCommands","warnIfSmithyMissing","WORKSPACE_CONTEXT_COPY","smithyMetadata","project","metadata","hasGeneratedDockerCompile","commands","targets","compile","options","Array","isArray","imageBuilds","filter","command","includes","length","test","importsFromDockerfileCopies","dockerfile","projectRoot","upToRoot","split","Boolean","map","join","matchAll","source","addImports","tree","imports","path","exists","smithyBuild","JSON","parse","read","existing","entry","write","stringify","editedNextStep","projectName","migration","nextSteps","migrated","name","generator","id","dockerfilePath","root","push","type","smithyType","delete","cmd","outputs","build","dependsOn","namespace"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ FROM public.ecr.aws/docker/library/node:24 AS builder
2
+ ENV CI=true
3
+
4
+ # Output directory
5
+ RUN mkdir /out
6
+
7
+ # Install Smithy CLI
8
+ # https://smithy.io/2.0/guides/smithy-cli/cli_installation.html
9
+ WORKDIR /smithy
10
+ ARG TARGETPLATFORM
11
+ RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCH="aarch64"; else ARCH="x86_64"; fi && \
12
+ mkdir -p smithy-install/smithy && \
13
+ curl -L https://github.com/smithy-lang/smithy/releases/download/1.61.0/smithy-cli-linux-$ARCH.zip -o smithy-install/smithy-cli-linux-$ARCH.zip && \
14
+ unzip -qo smithy-install/smithy-cli-linux-$ARCH.zip -d smithy-install && \
15
+ mv smithy-install/smithy-cli-linux-$ARCH/* smithy-install/smithy
16
+ RUN smithy-install/smithy/install
17
+
18
+ # Add node dependencies for bundling
19
+ WORKDIR /project
20
+ RUN npm i -g pnpm@11.1.1 rolldown@1.0.0-beta.38
21
+
22
+ # Copy project files
23
+ COPY smithy-build.json .
24
+ COPY src src
25
+
26
+ # Smithy build with Maven cache mount
27
+ RUN --mount=type=cache,target=/root/.m2/repository,id=maven-cache \
28
+ smithy build
29
+
30
+ # Copy OpenAPI specification to output location
31
+ RUN mkdir -p /out/openapi
32
+ RUN cp /project/build/smithy/source/openapi/*.openapi.json /out/openapi/openapi.json
33
+
34
+ WORKDIR /project/build/smithy/source/typescript-ssdk-codegen
35
+
36
+ # Install SSDK dependencies with pnpm cache mount
37
+ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,id=pnpm-store \
38
+ pnpm install --prefer-offline
39
+
40
+ # Install rolldown plugins with pnpm cache mount
41
+ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,id=pnpm-store \
42
+ pnpm add -D rolldown-plugin-dts@0.16.5 @rollup/plugin-esm-shim@0.1.8
43
+
44
+ RUN cat <<EOF > rolldown.config.js
45
+ import { dts } from 'rolldown-plugin-dts';
46
+ import esmShim from '@rollup/plugin-esm-shim';
47
+ import fs from 'fs';
48
+ import path from 'path';
49
+
50
+ // Bundle the re2-wasm wasm file as part of the module
51
+ const re2WasmPlugin = () => ({
52
+ name: 're2-wasm-plugin',
53
+ resolveId: (id) => {
54
+ if (!(id === 're2-wasm' || id.endsWith('/re2-wasm'))) return null;
55
+ try {
56
+ const dir = path.join(path.dirname(require.resolve('re2-wasm/package.json')), 'build/wasm');
57
+ return fs.existsSync(path.join(dir, 're2.wasm')) && fs.existsSync(path.join(dir, 're2.js')) ? path.join(dir, 're2.js') : null;
58
+ } catch { return null; }
59
+ },
60
+ load: (id) => {
61
+ if (!(id.endsWith('re2.js') && id.includes('re2-wasm'))) return null;
62
+ try {
63
+ const wasmPath = path.join(path.dirname(id), 're2.wasm');
64
+ return fs.existsSync(wasmPath) && fs.existsSync(id) ? \`var Module = { wasmBinary: Buffer.from("\${fs.readFileSync(wasmPath).toString('base64')}", "base64") }\n\${fs.readFileSync(id, 'utf8')}\` : null;
65
+ } catch { return null; }
66
+ }
67
+ });
68
+
69
+ export default {
70
+ input: './src/index.ts',
71
+ plugins: [
72
+ re2WasmPlugin(),
73
+ dts({ resolve: true }),
74
+ esmShim(),
75
+ ],
76
+ output: [{
77
+ dir: 'dist',
78
+ format: 'es',
79
+ }],
80
+ resolve: {
81
+ tsconfigFilename: 'tsconfig.es.json',
82
+ },
83
+ platform: 'node',
84
+ };
85
+ EOF
86
+
87
+ # Create SSDK bundle with rolldown
88
+ RUN rolldown -c
89
+
90
+ RUN mkdir -p /out/ssdk
91
+ RUN cp dist/* /out/ssdk/
92
+
93
+ # Export the /out directory
94
+ FROM scratch AS export
95
+ COPY --from=builder /out /
@@ -10,7 +10,7 @@ import type { PyAgentA2aConnectionGeneratorSchema } from './schema';
10
10
  export interface PyAgentA2aConnectionMetadata {
11
11
  readonly framework: AgentFramework;
12
12
  }
13
- export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "@rollup/plugin-esm-shim" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentA2aConnectionMetadata>[], readonly [{
13
+ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "cpy-cli" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "mise" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentA2aConnectionMetadata>[], readonly [{
14
14
  readonly name: "boto3";
15
15
  }, {
16
16
  readonly name: "httpx";
@@ -10,7 +10,7 @@ import type { PyAgentGatewayConnectionGeneratorSchema } from './schema';
10
10
  export interface PyAgentGatewayConnectionMetadata {
11
11
  readonly framework: AgentFramework;
12
12
  }
13
- export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "@rollup/plugin-esm-shim" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentGatewayConnectionMetadata>[], readonly [{
13
+ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "cpy-cli" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "mise" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentGatewayConnectionMetadata>[], readonly [{
14
14
  readonly name: "boto3";
15
15
  }, {
16
16
  readonly name: "httpx";
@@ -65,6 +65,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
65
65
  readonly name: "make-dir-cli";
66
66
  } & {
67
67
  versionOnly: true;
68
+ }, {
69
+ readonly name: "cpy-cli";
70
+ } & {
71
+ versionOnly: true;
68
72
  }, {
69
73
  readonly name: "ncp";
70
74
  } & {
@@ -77,6 +81,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
77
81
  readonly name: "make-dir-cli";
78
82
  } & {
79
83
  versionOnly: true;
84
+ }, {
85
+ readonly name: "cpy-cli";
86
+ } & {
87
+ versionOnly: true;
80
88
  }, {
81
89
  readonly name: "constructs";
82
90
  readonly when: (m: IacMetadata) => boolean;
@@ -10,7 +10,7 @@ import type { PyAgentMcpConnectionGeneratorSchema } from './schema';
10
10
  export interface PyAgentMcpConnectionMetadata {
11
11
  readonly framework: AgentFramework;
12
12
  }
13
- export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "@rollup/plugin-esm-shim" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentMcpConnectionMetadata>[], readonly [{
13
+ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly import("../../../utils/declared-dependencies").DeclaredTsDependency<"@a2a-js/sdk" | "@aws/aws-distro-opentelemetry-node-autoinstrumentation" | "@opentelemetry/propagator-jaeger" | "minimatch" | "@aws-sdk/client-dynamodb" | "@aws-sdk/client-api-gateway" | "@aws-sdk/client-iam" | "@aws-sdk/client-bedrock-agentcore" | "@aws-sdk/client-bedrock-runtime" | "@aws-sdk/client-s3" | "@aws-sdk/client-sts" | "@aws-sdk/credential-providers" | "@aws-sdk/credential-provider-cognito-identity" | "@aws-sdk/client-secrets-manager" | "@aws-sdk/rds-signer" | "@aws-smithy/server-apigateway" | "@aws-smithy/server-node" | "@aws-lambda-powertools/logger" | "@aws-lambda-powertools/metrics" | "@aws-lambda-powertools/parameters" | "@aws-lambda-powertools/tracer" | "@aws-lambda-powertools/parser" | "@aws-sdk/client-appconfigdata" | "@middy/core" | "@nxlv/python" | "@nx-extend/terraform" | "nx" | "@nx/devkit" | "@nx/js" | "@nx/react" | "@nx/vite" | "@nx/vitest" | "@nx/workspace" | "create-nx-workspace" | "@swc-node/register" | "@swc/core" | "@modelcontextprotocol/sdk" | "@modelcontextprotocol/inspector" | "@ag-ui/a2ui-toolkit" | "@ag-ui/aws-strands" | "@ag-ui/client" | "@ag-ui/core" | "@ag-ui/encoder" | "agent-chat-cli" | "@copilotkit/react-core" | "rxjs" | "@strands-agents/sdk" | "@tanstack/react-router" | "@tanstack/router-plugin" | "@tanstack/router-generator" | "@tanstack/virtual-file-routes" | "@tanstack/router-utils" | "@cloudscape-design/board-components" | "@cloudscape-design/chat-components" | "@cloudscape-design/components" | "@cloudscape-design/global-styles" | "@tanstack/react-query" | "@tanstack/react-query-devtools" | "@trpc/tanstack-react-query" | "@trpc/client" | "@trpc/server" | "@types/node" | "@types/aws-lambda" | "@types/cors" | "@types/pg" | "@types/ws" | "@types/express" | "@smithy/config-resolver" | "@smithy/node-config-provider" | "@smithy/node-http-handler" | "@smithy/types" | "@vitest/coverage-v8" | "@vitest/ui" | "@astrojs/react" | "@astrojs/starlight" | "astro" | "aws4fetch" | "aws-cdk" | "aws-cdk-lib" | "aws-xray-sdk-core" | "constructs" | "cors" | "chalk" | "class-variance-authority" | "clsx" | "commander" | "cpy-cli" | "electrodb" | "esbuild" | "event-source-polyfill" | "@types/event-source-polyfill" | "@biomejs/biome" | "@prisma/adapter-mariadb" | "@prisma/adapter-pg" | "@prisma/client" | "ejs" | "@types/ejs" | "express" | "fast-glob" | "husky" | "fs-extra" | "@types/fs-extra" | "make-dir-cli" | "mariadb" | "mise" | "ncp" | "npm" | "npm-check-updates" | "oidc-client-ts" | "pg" | "prisma" | "react-oidc-context" | "react" | "react-dom" | "rimraf" | "rolldown" | "rolldown-plugin-dts" | "simple-git" | "source-map-support" | "starlight-blog" | "tailwindcss" | "@tailwindcss/vite" | "tsx" | "lucide-react" | "radix-ui" | "shadcn" | "tw-animate-css" | "tailwind-merge" | "vite" | "typescript" | "vitest" | "zod" | "ws", PyAgentMcpConnectionMetadata>[], readonly [{
14
14
  readonly name: "boto3";
15
15
  }, {
16
16
  readonly name: "httpx";
@@ -24,6 +24,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
24
24
  readonly name: "make-dir-cli";
25
25
  } & {
26
26
  versionOnly: true;
27
+ }, {
28
+ readonly name: "cpy-cli";
29
+ } & {
30
+ versionOnly: true;
27
31
  }, {
28
32
  readonly name: "constructs";
29
33
  readonly when: (m: IacMetadata) => boolean;
@@ -28,6 +28,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
28
28
  readonly name: "make-dir-cli";
29
29
  } & {
30
30
  versionOnly: true;
31
+ }, {
32
+ readonly name: "cpy-cli";
33
+ } & {
34
+ versionOnly: true;
31
35
  }, {
32
36
  readonly name: "ncp";
33
37
  } & {
@@ -40,6 +44,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
40
44
  readonly name: "make-dir-cli";
41
45
  } & {
42
46
  versionOnly: true;
47
+ }, {
48
+ readonly name: "cpy-cli";
49
+ } & {
50
+ versionOnly: true;
43
51
  }, {
44
52
  readonly name: "constructs";
45
53
  readonly when: (m: IacMetadata) => boolean;
@@ -31,6 +31,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
31
31
  readonly name: "make-dir-cli";
32
32
  } & {
33
33
  versionOnly: true;
34
+ }, {
35
+ readonly name: "cpy-cli";
36
+ } & {
37
+ versionOnly: true;
34
38
  }, {
35
39
  readonly name: "ncp";
36
40
  } & {
@@ -43,6 +47,10 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
43
47
  readonly name: "make-dir-cli";
44
48
  } & {
45
49
  versionOnly: true;
50
+ }, {
51
+ readonly name: "cpy-cli";
52
+ } & {
53
+ versionOnly: true;
46
54
  }, {
47
55
  readonly name: "constructs";
48
56
  readonly when: (m: IacMetadata) => boolean;