@aws/nx-plugin 1.0.0-rc.7 → 1.0.0-rc.9

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 (103) hide show
  1. package/LICENSE-THIRD-PARTY +386 -2723
  2. package/README.md +8 -8
  3. package/package.json +5 -5
  4. package/src/connection/agent-serve-local.js +1 -1
  5. package/src/connection/agent-serve-local.js.map +1 -1
  6. package/src/infra/app/__snapshots__/generator.spec.ts.snap +15 -15
  7. package/src/infra/app/generator.js +6 -4
  8. package/src/infra/app/generator.js.map +1 -1
  9. package/src/mcp-server/tools/create-workspace-command.js +2 -2
  10. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  11. package/src/py/agent/__snapshots__/generator.spec.ts.snap +6 -4
  12. package/src/py/agent/files/common/agent.py.template +2 -0
  13. package/src/py/agent/generator.js +3 -1
  14. package/src/py/agent/generator.js.map +1 -1
  15. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
  16. package/src/py/fast-api/generator.js +11 -5
  17. package/src/py/fast-api/generator.js.map +1 -1
  18. package/src/py/fast-api/react/open-api.js +4 -1
  19. package/src/py/fast-api/react/open-api.js.map +1 -1
  20. package/src/py/lambda-function/generator.js +2 -2
  21. package/src/py/lambda-function/generator.js.map +1 -1
  22. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
  23. package/src/py/mcp-server/generator.js +19 -15
  24. package/src/py/mcp-server/generator.js.map +1 -1
  25. package/src/py/project/generator.js +74 -62
  26. package/src/py/project/generator.js.map +1 -1
  27. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +16 -16
  28. package/src/smithy/project/generator.js +25 -23
  29. package/src/smithy/project/generator.js.map +1 -1
  30. package/src/smithy/ts/api/generator.js +8 -0
  31. package/src/smithy/ts/api/generator.js.map +1 -1
  32. package/src/terraform/project/generator.js +7 -2
  33. package/src/terraform/project/generator.js.map +1 -1
  34. package/src/trpc/backend/generator.js +1 -0
  35. package/src/trpc/backend/generator.js.map +1 -1
  36. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +6 -2
  37. package/src/ts/agent/files/common/agent.ts.template +6 -2
  38. package/src/ts/agent/generator.js +8 -3
  39. package/src/ts/agent/generator.js.map +1 -1
  40. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -0
  41. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +6 -6
  42. package/src/ts/astro-docs/generator.js +10 -7
  43. package/src/ts/astro-docs/generator.js.map +1 -1
  44. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +9 -9
  45. package/src/ts/lib/biome.js +5 -2
  46. package/src/ts/lib/biome.js.map +1 -1
  47. package/src/ts/lib/generator.js +21 -17
  48. package/src/ts/lib/generator.js.map +1 -1
  49. package/src/ts/lib/ts-project-utils.d.ts +10 -0
  50. package/src/ts/lib/ts-project-utils.js +22 -8
  51. package/src/ts/lib/ts-project-utils.js.map +1 -1
  52. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
  53. package/src/ts/mcp-server/generator.js +22 -3
  54. package/src/ts/mcp-server/generator.js.map +1 -1
  55. package/src/ts/nx-generator/generator.js +17 -13
  56. package/src/ts/nx-generator/generator.js.map +1 -1
  57. package/src/ts/nx-plugin/generator.js +7 -6
  58. package/src/ts/nx-plugin/generator.js.map +1 -1
  59. package/src/ts/nx-plugin/utils.js +9 -3
  60. package/src/ts/nx-plugin/utils.js.map +1 -1
  61. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +36 -18
  62. package/src/ts/rdb/generator.js +19 -14
  63. package/src/ts/rdb/generator.js.map +1 -1
  64. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +67 -67
  65. package/src/ts/react-website/app/generator.js +8 -4
  66. package/src/ts/react-website/app/generator.js.map +1 -1
  67. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +0 -2
  68. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  69. package/src/ts/react-website/cognito-auth/generator.js +0 -3
  70. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  71. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +3 -1
  72. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  73. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  74. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  75. package/src/utils/agent-connection/agent-connection.js +8 -2
  76. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  77. package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
  78. package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
  79. package/src/utils/agent-core-constructs/agent-core-constructs.js +2 -10
  80. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  81. package/src/utils/ast/website.js +1 -1
  82. package/src/utils/ast.d.ts +4 -0
  83. package/src/utils/ast.js +24 -1
  84. package/src/utils/ast.js.map +1 -1
  85. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +2 -10
  86. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  87. package/src/utils/metrics.d.ts +7 -1
  88. package/src/utils/metrics.js +58 -28
  89. package/src/utils/metrics.js.map +1 -1
  90. package/src/utils/nx.d.ts +5 -0
  91. package/src/utils/nx.js +44 -12
  92. package/src/utils/nx.js.map +1 -1
  93. package/src/utils/port.d.ts +25 -4
  94. package/src/utils/port.js +56 -9
  95. package/src/utils/port.js.map +1 -1
  96. package/src/utils/py.js +12 -5
  97. package/src/utils/py.js.map +1 -1
  98. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
  99. package/src/utils/rdb-constructs/rdb-constructs.js +2 -10
  100. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  101. package/src/utils/versions.d.ts +43 -43
  102. package/src/utils/versions.js +42 -42
  103. package/src/utils/versions.js.map +1 -1
package/src/utils/nx.d.ts CHANGED
@@ -20,6 +20,11 @@ export declare const getPackageVersion: () => string;
20
20
  * Read a project configuration where the project name may not be fully qualified (ie may omit the scope prefix)
21
21
  */
22
22
  export declare const readProjectConfigurationUnqualified: (tree: Tree, projectName: string) => ProjectConfiguration;
23
+ /**
24
+ * Returns whether a project with the given name already exists in the workspace.
25
+ * The project name may be unqualified (ie may omit the scope prefix).
26
+ */
27
+ export declare const projectExists: (tree: Tree, projectName: string) => boolean;
23
28
  /**
24
29
  * Add metadata about the generator that generated the project to the project.json
25
30
  */
package/src/utils/nx.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDependencyToTargetIfNotPresent = exports.addComponentGeneratorMetadata = exports.addGeneratorMetadata = exports.readProjectConfigurationUnqualified = exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = exports.buildGeneratorInfoList = void 0;
3
+ exports.addDependencyToTargetIfNotPresent = exports.addComponentGeneratorMetadata = exports.addGeneratorMetadata = exports.projectExists = exports.readProjectConfigurationUnqualified = exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = exports.buildGeneratorInfoList = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /**
6
6
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -53,18 +53,44 @@ const readProjectConfigurationUnqualified = (tree, projectName) => {
53
53
  }
54
54
  };
55
55
  exports.readProjectConfigurationUnqualified = readProjectConfigurationUnqualified;
56
+ /**
57
+ * Returns whether a project with the given name already exists in the workspace.
58
+ * The project name may be unqualified (ie may omit the scope prefix).
59
+ */
60
+ const projectExists = (tree, projectName) => {
61
+ try {
62
+ (0, exports.readProjectConfigurationUnqualified)(tree, projectName);
63
+ return true;
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ };
69
+ exports.projectExists = projectExists;
56
70
  /**
57
71
  * Add metadata about the generator that generated the project to the project.json
58
72
  */
59
73
  const addGeneratorMetadata = (tree, projectName, info, additionalMetadata) => {
60
74
  const config = (0, exports.readProjectConfigurationUnqualified)(tree, projectName);
75
+ const metadata = {
76
+ ...config?.metadata,
77
+ generator: info.id,
78
+ ...additionalMetadata,
79
+ };
80
+ // Skip the write when nothing changed so re-running doesn't reserialize
81
+ // project.json. metadata is plain JSON built in a fixed key order, so a
82
+ // stringify comparison is exact here.
83
+ if (JSON.stringify(config?.metadata) === JSON.stringify(metadata)) {
84
+ return;
85
+ }
86
+ // Place metadata immediately before targets so the serialized key order is
87
+ // identical whether or not metadata already existed (matching the order Nx
88
+ // normalizes a read config to), keeping the change a pure metadata insert.
89
+ const { targets, ...rest } = config;
61
90
  (0, devkit_1.updateProjectConfiguration)(tree, config.name, {
62
- ...config,
63
- metadata: {
64
- ...config?.metadata,
65
- generator: info.id,
66
- ...additionalMetadata,
67
- },
91
+ ...rest,
92
+ metadata: metadata,
93
+ ...(targets ? { targets } : {}),
68
94
  });
69
95
  };
70
96
  exports.addGeneratorMetadata = addGeneratorMetadata;
@@ -82,12 +108,15 @@ const addComponentGeneratorMetadata = (tree, projectName, info, componentPath, c
82
108
  ...(componentName ? { name: componentName } : {}),
83
109
  ...additionalMetadata,
84
110
  };
111
+ // Place metadata before targets for a stable serialized key order.
112
+ const { targets, ...rest } = config;
85
113
  (0, devkit_1.updateProjectConfiguration)(tree, config.name, {
86
- ...config,
114
+ ...rest,
87
115
  metadata: {
88
116
  ...config?.metadata,
89
117
  components: [...existingComponents, componentMetadata],
90
118
  },
119
+ ...(targets ? { targets } : {}),
91
120
  });
92
121
  }
93
122
  };
@@ -125,10 +154,13 @@ const targetDependencyEquals = (a, b) => {
125
154
  const addDependencyToTargetIfNotPresent = (project, target, dependency) => {
126
155
  project.targets ??= {};
127
156
  project.targets[target] ??= {};
128
- project.targets[target].dependsOn = [
129
- ...(project.targets[target].dependsOn ?? []).filter((d) => !targetDependencyEquals(d, dependency)),
130
- dependency,
131
- ];
157
+ project.targets[target].dependsOn ??= [];
158
+ const dependsOn = project.targets[target].dependsOn;
159
+ // Leave existing dependencies in place so re-running does not reorder them;
160
+ // only append when the dependency is genuinely absent.
161
+ if (!dependsOn.some((d) => targetDependencyEquals(d, dependency))) {
162
+ dependsOn.push(dependency);
163
+ }
132
164
  };
133
165
  exports.addDependencyToTargetIfNotPresent = addDependencyToTargetIfNotPresent;
134
166
  //# sourceMappingURL=nx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,35 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type ProjectConfiguration, type Tree } from '@nx/devkit';
6
+ /**
7
+ * Options for assigning a port to a target within a project.
8
+ */
9
+ export interface AssignPortOptions {
10
+ /**
11
+ * Identifies the component the port is being assigned for. When provided, a
12
+ * port already assigned to this component is reused so re-runs are
13
+ * idempotent. Use this for projects which host a port per component.
14
+ */
15
+ component?: {
16
+ info: {
17
+ id: string;
18
+ };
19
+ name?: string;
20
+ };
21
+ }
6
22
  /**
7
23
  * Assign a port shared across all projects created by the same generator.
8
- * If a sibling project already has a port assigned, reuse it; otherwise assign a fresh one.
9
- * Mutates the project to register the port in its metadata.ports.
24
+ * If this project already has a port, or a sibling project created by the same
25
+ * generator has one, reuse it; otherwise assign a fresh one. Mutates the
26
+ * project to register the port in its metadata.ports.
10
27
  */
11
28
  export declare const assignSharedPort: (tree: Tree, project: ProjectConfiguration, generatorId: string, startPort: number) => number;
12
29
  /**
13
30
  * Assign a port for a particular target within a project.
14
- * Mutates the project to add/update its metadata.ports with the newly assigned port
31
+ * Mutates the project to add/update its metadata.ports with the newly assigned port.
32
+ *
33
+ * Re-runs are idempotent: a port previously assigned to this project (or, when
34
+ * `options.component` is provided, to this component) is returned as-is without
35
+ * registering a duplicate.
15
36
  */
16
- export declare const assignPort: (tree: Tree, project: ProjectConfiguration, startPort: number) => number;
37
+ export declare const assignPort: (tree: Tree, project: ProjectConfiguration, startPort: number, options?: AssignPortOptions) => number;
package/src/utils/port.js CHANGED
@@ -6,30 +6,77 @@ exports.assignPort = exports.assignSharedPort = void 0;
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
+ /**
10
+ * Return the first port already registered in a project's own metadata, if any.
11
+ * Supports both the metadata.ports array and the legacy metadata.port.
12
+ */
13
+ const getExistingProjectPort = (project) => {
14
+ const metadata = project.metadata;
15
+ if (Array.isArray(metadata?.ports) && typeof metadata.ports[0] === 'number') {
16
+ return metadata.ports[0];
17
+ }
18
+ if (typeof metadata?.port === 'number') {
19
+ return metadata.port;
20
+ }
21
+ return undefined;
22
+ };
23
+ /**
24
+ * Return the port previously assigned to a particular component within a
25
+ * project, if any. Projects which host multiple components (e.g. one agent or
26
+ * MCP server per component) record a port per component in metadata.components.
27
+ */
28
+ const getExistingComponentPort = (project, component) => {
29
+ const components = project.metadata?.components ?? [];
30
+ const match = components.find((c) => c.generator === component.info.id && c.name === component.name);
31
+ return typeof match?.port === 'number' ? match.port : undefined;
32
+ };
9
33
  /**
10
34
  * Assign a port shared across all projects created by the same generator.
11
- * If a sibling project already has a port assigned, reuse it; otherwise assign a fresh one.
12
- * Mutates the project to register the port in its metadata.ports.
35
+ * If this project already has a port, or a sibling project created by the same
36
+ * generator has one, reuse it; otherwise assign a fresh one. Mutates the
37
+ * project to register the port in its metadata.ports.
13
38
  */
14
39
  const assignSharedPort = (tree, project, generatorId, startPort) => {
15
- const existingPort = [...(0, devkit_1.getProjects)(tree).values()].find((p) => p.metadata?.generator === generatorId)?.metadata;
16
- if (existingPort?.ports?.[0] !== undefined) {
17
- const port = existingPort.ports[0];
40
+ // Reuse this project's own port if it already has one (idempotent on re-run)
41
+ const ownPort = getExistingProjectPort(project);
42
+ if (ownPort !== undefined) {
43
+ return ownPort;
44
+ }
45
+ // Otherwise reuse a sibling project's shared port if one exists
46
+ const siblingPort = [...(0, devkit_1.getProjects)(tree).values()]
47
+ .filter((p) => p.name !== project.name)
48
+ .map((p) => ({
49
+ generator: p.metadata?.generator,
50
+ port: getExistingProjectPort(p),
51
+ }))
52
+ .find((p) => p.generator === generatorId && p.port !== undefined)?.port;
53
+ if (siblingPort !== undefined) {
18
54
  project.metadata ??= {};
19
55
  project.metadata.ports = [
20
56
  ...(project.metadata.ports ?? []),
21
- port,
57
+ siblingPort,
22
58
  ];
23
- return port;
59
+ return siblingPort;
24
60
  }
25
61
  return (0, exports.assignPort)(tree, project, startPort);
26
62
  };
27
63
  exports.assignSharedPort = assignSharedPort;
28
64
  /**
29
65
  * Assign a port for a particular target within a project.
30
- * Mutates the project to add/update its metadata.ports with the newly assigned port
66
+ * Mutates the project to add/update its metadata.ports with the newly assigned port.
67
+ *
68
+ * Re-runs are idempotent: a port previously assigned to this project (or, when
69
+ * `options.component` is provided, to this component) is returned as-is without
70
+ * registering a duplicate.
31
71
  */
32
- const assignPort = (tree, project, startPort) => {
72
+ const assignPort = (tree, project, startPort, options) => {
73
+ // Reuse a port already assigned to this project/component on re-run
74
+ const existingPort = options?.component
75
+ ? getExistingComponentPort(project, options.component)
76
+ : getExistingProjectPort(project);
77
+ if (existingPort !== undefined) {
78
+ return existingPort;
79
+ }
33
80
  // Find all existing ports
34
81
  const allPorts = new Set([...(0, devkit_1.getProjects)(tree).values()].flatMap((p) => {
35
82
  const metadata = p.metadata;
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAA+E;AAE/E;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,OAA6B,EAC7B,WAAmB,EACnB,SAAiB,EACT,EAAE;IACV,MAAM,YAAY,GAAG,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,QAAgB,EAAE,SAAS,KAAK,WAAW,CACtD,EAAE,QAAe,CAAC;IAEnB,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;QAC7C,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;YAChC,GAAG,CAAE,OAAO,CAAC,QAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI;SACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,OAA6B,EAC7B,SAAiB,EACjB,EAAE;IACF,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAe,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,IAAI,QAAQ,EAAE,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IACE,QAAQ,EAAE,KAAK;YACf,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IAEF,0DAA0D;IAC1D,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,KAAK,EAAE,CAAC;IACtC,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;QAChC,GAAI,OAAO,CAAC,QAAgB,CAAC,KAAK;QAClC,aAAa;KACd,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"names":[],"mappings":"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"}
package/src/utils/py.js CHANGED
@@ -22,11 +22,18 @@ const depKey = (dep) => {
22
22
  return extras ? `${parsed.name}[${extras}]` : parsed.name;
23
23
  };
24
24
  const mergeDeps = (existing, deps) => {
25
- const incomingKeys = new Set(deps.map(depKey));
26
- return [
27
- ...(existing ?? []).filter((dep) => !incomingKeys.has(depKey(dep))),
28
- ...(0, versions_1.withPyVersions)(deps),
29
- ];
25
+ // Update deps in place by key so re-running does not reorder the list:
26
+ // existing deps keep their position (with their version refreshed), and only
27
+ // genuinely-new deps are appended.
28
+ const incoming = new Map((0, versions_1.withPyVersions)(deps).map((d) => [depKey(d), d]));
29
+ const merged = (existing ?? []).map((dep) => incoming.get(depKey(dep)) ?? dep);
30
+ const existingKeys = new Set((existing ?? []).map(depKey));
31
+ for (const [key, dep] of incoming) {
32
+ if (!existingKeys.has(key)) {
33
+ merged.push(dep);
34
+ }
35
+ }
36
+ return merged;
30
37
  };
31
38
  /**
32
39
  * Add dependencies to a pyproject.toml file
@@ -1 +1 @@
1
- {"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"names":[],"mappings":"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"}
@@ -159,10 +159,19 @@ variable "tags" {
159
159
  default = {}
160
160
  }
161
161
 
162
+ # Suffix appended to physical resource names so that multiple deployments
163
+ # (e.g. separate environments in the same account and region) don't collide.
164
+ resource "random_string" "suffix" {
165
+ length = 8
166
+ special = false
167
+ upper = false
168
+ }
169
+
162
170
  locals {
163
171
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
164
172
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
165
173
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
174
+ cluster_name = "${var.name}-aurora-${random_string.suffix.result}"
166
175
  }
167
176
 
168
177
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -260,7 +269,7 @@ resource "aws_security_group" "database" {
260
269
  }
261
270
 
262
271
  resource "aws_db_subnet_group" "database" {
263
- name = "${var.name}-aurora"
272
+ name = local.cluster_name
264
273
  subnet_ids = var.subnet_ids
265
274
 
266
275
  tags = merge(var.tags, {
@@ -300,7 +309,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
300
309
  resource "aws_rds_cluster" "database" {
301
310
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
302
311
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
303
- cluster_identifier = "${var.name}-aurora"
312
+ cluster_identifier = local.cluster_name
304
313
  engine = var.engine
305
314
  engine_version = coalesce(var.engine_version, local.default_engine_version)
306
315
  database_name = var.database_name
@@ -314,7 +323,7 @@ resource "aws_rds_cluster" "database" {
314
323
  kms_key_id = aws_kms_key.database.arn
315
324
  deletion_protection = var.deletion_protection
316
325
  skip_final_snapshot = var.skip_final_snapshot
317
- final_snapshot_identifier = var.skip_final_snapshot ? null : "${var.name}-aurora-final-snapshot"
326
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "${local.cluster_name}-final-snapshot"
318
327
  iam_database_authentication_enabled = true
319
328
  monitoring_interval = 5
320
329
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -334,7 +343,7 @@ resource "aws_rds_cluster" "database" {
334
343
  resource "aws_rds_cluster_instance" "database" {
335
344
  count = var.instance_count
336
345
 
337
- identifier = "${var.name}-aurora-${count.index + 1}"
346
+ identifier = "${local.cluster_name}-${count.index + 1}"
338
347
  cluster_identifier = aws_rds_cluster.database.id
339
348
  instance_class = "db.serverless"
340
349
  engine = aws_rds_cluster.database.engine
@@ -388,7 +397,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
388
397
  resource "aws_cloudformation_stack" "credentials_rotation" {
389
398
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
390
399
  count = var.enable_credential_rotation ? 1 : 0
391
- name = "${var.name}-aurora-credentials-rotation"
400
+ name = "${local.cluster_name}-credentials-rotation"
392
401
 
393
402
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
394
403
 
@@ -402,7 +411,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
402
411
  SecretId = aws_secretsmanager_secret.credentials.arn
403
412
  HostedRotationLambda = {
404
413
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
405
- RotationLambdaName = "${var.name}-aurora-credentials-rotation"
414
+ RotationLambdaName = "${local.cluster_name}-credentials-rotation"
406
415
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
407
416
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
408
417
  }
@@ -482,7 +491,7 @@ resource "aws_security_group" "proxy" {
482
491
  resource "aws_db_proxy" "aurora" {
483
492
  count = var.enable_rds_proxy ? 1 : 0
484
493
 
485
- name = "${var.name}-proxy"
494
+ name = "${var.name}-proxy-${random_string.suffix.result}"
486
495
  default_auth_scheme = "IAM_AUTH"
487
496
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
488
497
  role_arn = aws_iam_role.proxy[0].arn
@@ -628,7 +637,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
628
637
  resource "aws_backup_vault" "database" {
629
638
  count = var.enable_backup ? 1 : 0
630
639
 
631
- name = "${var.name}-aurora-backup"
640
+ name = "${local.cluster_name}-backup"
632
641
  kms_key_arn = aws_kms_key.database.arn
633
642
  tags = var.tags
634
643
  }
@@ -636,7 +645,7 @@ resource "aws_backup_vault" "database" {
636
645
  resource "aws_backup_plan" "database" {
637
646
  count = var.enable_backup ? 1 : 0
638
647
 
639
- name = "${var.name}-aurora-backup"
648
+ name = "${local.cluster_name}-backup"
640
649
 
641
650
  rule {
642
651
  rule_name = "daily-backup"
@@ -7,6 +7,7 @@ exports.addRdbTerraformModules = exports.addRdbCdkConstructs = exports.addRdbInf
7
7
  */
8
8
  const devkit_1 = require("@nx/devkit");
9
9
  const ast_1 = require("../ast");
10
+ const nx_1 = require("../nx");
10
11
  const shared_constructs_constants_1 = require("../shared-constructs-constants");
11
12
  const addRdbInfra = async (tree, options) => {
12
13
  if (options.iac === 'cdk') {
@@ -19,16 +20,7 @@ const addRdbInfra = async (tree, options) => {
19
20
  throw new Error(`Unsupported iac ${options.iac}`);
20
21
  }
21
22
  (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iac === 'cdk' ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
22
- if (!config.targets) {
23
- config.targets = {};
24
- }
25
- if (!config.targets.build) {
26
- config.targets.build = {};
27
- }
28
- config.targets.build.dependsOn = [
29
- ...(config.targets.build.dependsOn ?? []),
30
- `${options.projectName}:build`,
31
- ];
23
+ (0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.projectName}:build`);
32
24
  return config;
33
25
  });
34
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rdb-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/rdb-constructs/rdb-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gCAAuC;AAGvC,8BAA0D;AAC1D,gFAIwC;AAgBjC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAU,EACV,OAA8C,EAC9C,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAA,2BAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACvC,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,mDAAqB,CAAC,CAAC,CAAC,kDAAoB,EACpE,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAA,sCAAiC,EAC/B,MAAM,EACN,OAAO,EACP,GAAG,OAAO,CAAC,WAAW,QAAQ,CAC/B,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,WAAW,eA4BtB;AAEK,MAAM,mBAAmB,GAAG,KAAK,EACtC,IAAU,EACV,OAA+B,EAC/B,EAAE;IACF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAC3D,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,KAAK,CACN,EACD,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC1D,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC3E,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,UAAU,CACX,EACD,iBAAiB,CAClB,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,KAAK,OAAO,CAAC,aAAa,KAAK,CAChC,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,gBAAgB,CACjB,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,mBAAmB,uBAgE9B;AAEK,MAAM,sBAAsB,GAAG,CACpC,IAAU,EACV,OAA+B,EAC/B,EAAE;IACF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EACjE,IAAA,0BAAiB,EAAC,0CAAY,EAAE,kDAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAC3E,EAAE,EACF;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,EAChE,IAAA,0BAAiB,EAAC,0CAAY,EAAE,kDAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC1E,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,sBAAsB,0BAuBjC"}
@@ -8,14 +8,14 @@
8
8
  export declare const TS_VERSIONS: {
9
9
  readonly '@a2a-js/sdk': "0.3.13";
10
10
  readonly '@aws/aws-distro-opentelemetry-node-autoinstrumentation': "0.11.0";
11
- readonly '@aws-sdk/client-dynamodb': "3.1058.0";
12
- readonly '@aws-sdk/client-bedrock-runtime': "3.1058.0";
13
- readonly '@aws-sdk/client-s3': "3.1058.0";
14
- readonly '@aws-sdk/client-sts': "3.1058.0";
15
- readonly '@aws-sdk/credential-providers': "3.1058.0";
16
- readonly '@aws-sdk/credential-provider-cognito-identity': "3.972.38";
17
- readonly '@aws-sdk/client-secrets-manager': "3.1058.0";
18
- readonly '@aws-sdk/rds-signer': "3.1058.0";
11
+ readonly '@aws-sdk/client-dynamodb': "3.1063.0";
12
+ readonly '@aws-sdk/client-bedrock-runtime': "3.1063.0";
13
+ readonly '@aws-sdk/client-s3': "3.1063.0";
14
+ readonly '@aws-sdk/client-sts': "3.1063.0";
15
+ readonly '@aws-sdk/credential-providers': "3.1063.0";
16
+ readonly '@aws-sdk/credential-provider-cognito-identity': "3.972.42";
17
+ readonly '@aws-sdk/client-secrets-manager': "3.1063.0";
18
+ readonly '@aws-sdk/rds-signer': "3.1063.0";
19
19
  readonly '@aws-smithy/server-apigateway': "1.0.0-alpha.10";
20
20
  readonly '@aws-smithy/server-node': "1.0.0-alpha.10";
21
21
  readonly '@aws-lambda-powertools/logger': "2.33.1";
@@ -23,9 +23,9 @@ export declare const TS_VERSIONS: {
23
23
  readonly '@aws-lambda-powertools/parameters': "2.33.1";
24
24
  readonly '@aws-lambda-powertools/tracer': "2.33.1";
25
25
  readonly '@aws-lambda-powertools/parser': "2.33.1";
26
- readonly '@aws-sdk/client-appconfigdata': "3.1058.0";
26
+ readonly '@aws-sdk/client-appconfigdata': "3.1063.0";
27
27
  readonly '@middy/core': "7.6.5";
28
- readonly '@nxlv/python': "22.1.4";
28
+ readonly '@nxlv/python': "22.2.0";
29
29
  readonly '@nx-extend/terraform': "10.2.1";
30
30
  readonly '@nx/devkit': "22.7.5";
31
31
  readonly '@nx/react': "22.7.5";
@@ -37,41 +37,41 @@ export declare const TS_VERSIONS: {
37
37
  readonly '@ag-ui/core': "0.0.53";
38
38
  readonly '@ag-ui/encoder': "0.0.53";
39
39
  readonly 'agent-chat-cli': "0.2.0";
40
- readonly '@copilotkit/react-core': "1.59.2";
40
+ readonly '@copilotkit/react-core': "1.59.5";
41
41
  readonly rxjs: "7.8.2";
42
- readonly '@strands-agents/sdk': "1.3.0";
43
- readonly '@tanstack/react-router': "1.170.10";
44
- readonly '@tanstack/router-plugin': "1.168.13";
45
- readonly '@tanstack/router-generator': "1.167.12";
42
+ readonly '@strands-agents/sdk': "1.4.0";
43
+ readonly '@tanstack/react-router': "1.170.15";
44
+ readonly '@tanstack/router-plugin': "1.168.18";
45
+ readonly '@tanstack/router-generator': "1.167.17";
46
46
  readonly '@tanstack/virtual-file-routes': "1.162.0";
47
- readonly '@tanstack/router-utils': "1.162.1";
48
- readonly '@cloudscape-design/board-components': "3.0.187";
49
- readonly '@cloudscape-design/chat-components': "1.0.136";
50
- readonly '@cloudscape-design/components': "3.0.1304";
47
+ readonly '@tanstack/router-utils': "1.162.2";
48
+ readonly '@cloudscape-design/board-components': "3.0.189";
49
+ readonly '@cloudscape-design/chat-components': "1.0.138";
50
+ readonly '@cloudscape-design/components': "3.0.1308";
51
51
  readonly '@cloudscape-design/global-styles': "1.0.59";
52
- readonly '@tanstack/react-query': "5.100.14";
53
- readonly '@tanstack/react-query-devtools': "5.100.14";
52
+ readonly '@tanstack/react-query': "5.101.0";
53
+ readonly '@tanstack/react-query-devtools': "5.101.0";
54
54
  readonly '@trpc/tanstack-react-query': "11.17.0";
55
55
  readonly '@trpc/client': "11.17.0";
56
56
  readonly '@trpc/server': "11.17.0";
57
- readonly '@types/node': "25.9.1";
58
- readonly '@types/aws-lambda': "8.10.161";
57
+ readonly '@types/node': "25.9.2";
58
+ readonly '@types/aws-lambda': "8.10.162";
59
59
  readonly '@types/cors': "2.8.19";
60
60
  readonly '@types/pg': "8.20.0";
61
61
  readonly '@types/ws': "8.18.1";
62
62
  readonly '@types/express': "5.0.6";
63
63
  readonly '@smithy/config-resolver': "4.5.6";
64
64
  readonly '@smithy/node-config-provider': "4.4.6";
65
- readonly '@smithy/node-http-handler': "4.7.6";
65
+ readonly '@smithy/node-http-handler': "4.7.7";
66
66
  readonly '@smithy/types': "4.14.3";
67
- readonly '@vitest/coverage-v8': "4.1.7";
68
- readonly '@vitest/ui': "4.1.7";
69
- readonly '@astrojs/react': "5.0.6";
70
- readonly '@astrojs/starlight': "0.39.2";
71
- readonly astro: "6.4.2";
67
+ readonly '@vitest/coverage-v8': "4.1.8";
68
+ readonly '@vitest/ui': "4.1.8";
69
+ readonly '@astrojs/react': "5.0.7";
70
+ readonly '@astrojs/starlight': "0.39.3";
71
+ readonly astro: "6.4.4";
72
72
  readonly aws4fetch: "1.0.20";
73
- readonly 'aws-cdk': "2.1125.0";
74
- readonly 'aws-cdk-lib': "2.257.0";
73
+ readonly 'aws-cdk': "2.1126.0";
74
+ readonly 'aws-cdk-lib': "2.258.0";
75
75
  readonly 'aws-xray-sdk-core': "3.12.0";
76
76
  readonly constructs: "10.6.0";
77
77
  readonly cors: "2.8.6";
@@ -103,21 +103,21 @@ export declare const TS_VERSIONS: {
103
103
  readonly react: "19.2.7";
104
104
  readonly 'react-dom': "19.2.7";
105
105
  readonly rimraf: "6.1.3";
106
- readonly rolldown: "1.0.2";
106
+ readonly rolldown: "1.0.3";
107
107
  readonly 'simple-git': "3.36.0";
108
108
  readonly 'source-map-support': "0.5.21";
109
109
  readonly 'starlight-blog': "0.26.1";
110
- readonly tailwindcss: "4.3.0";
111
- readonly '@tailwindcss/vite': "4.3.0";
110
+ readonly tailwindcss: "4.2.2";
111
+ readonly '@tailwindcss/vite': "4.2.2";
112
112
  readonly tsx: "4.22.4";
113
113
  readonly 'lucide-react': "1.17.0";
114
- readonly 'radix-ui': "1.4.3";
114
+ readonly 'radix-ui': "1.5.0";
115
115
  readonly shadcn: "4.10.0";
116
116
  readonly 'tw-animate-css': "1.4.0";
117
117
  readonly 'tailwind-merge': "3.6.0";
118
- readonly vite: "8.0.14";
118
+ readonly vite: "8.0.16";
119
119
  readonly typescript: "6.0.3";
120
- readonly vitest: "4.1.7";
120
+ readonly vitest: "4.1.8";
121
121
  readonly zod: "4.4.3";
122
122
  readonly ws: "8.21.0";
123
123
  };
@@ -126,7 +126,7 @@ export type ITsDepVersion = keyof typeof TS_VERSIONS;
126
126
  * Add versions to the given dependencies
127
127
  */
128
128
  export declare const withVersions: (deps: ITsDepVersion[]) => {
129
- [k: string]: "0.3.13" | "0.11.0" | "3.1058.0" | "3.972.38" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "22.1.4" | "10.2.1" | "22.7.5" | "1.29.0" | "0.19.0" | "0.1.0" | "0.0.53" | "0.2.0" | "1.59.2" | "7.8.2" | "1.3.0" | "1.170.10" | "1.168.13" | "1.167.12" | "1.162.0" | "1.162.1" | "3.0.187" | "1.0.136" | "3.0.1304" | "1.0.59" | "5.100.14" | "11.17.0" | "25.9.1" | "8.10.161" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.6" | "4.14.3" | "4.1.7" | "0.39.2" | "6.4.2" | "1.0.20" | "2.1125.0" | "2.257.0" | "3.12.0" | "10.6.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "14.0.3" | "3.9.0" | "0.28.0" | "1.0.31" | "1.0.5" | "2.4.16" | "7.8.0" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.5" | "11.0.4" | "4.0.0" | "3.5.2" | "2.0.0" | "19.6.6" | "3.5.0" | "8.21.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.0.2" | "3.36.0" | "0.5.21" | "0.26.1" | "4.3.0" | "4.22.4" | "1.17.0" | "1.4.3" | "4.10.0" | "1.4.0" | "3.6.0" | "8.0.14" | "6.0.3" | "4.4.3";
129
+ [k: string]: "0.3.13" | "0.11.0" | "3.1063.0" | "3.972.42" | "1.0.0-alpha.10" | "2.33.1" | "7.6.5" | "22.2.0" | "10.2.1" | "22.7.5" | "1.29.0" | "0.19.0" | "0.1.0" | "0.0.53" | "0.2.0" | "1.59.5" | "7.8.2" | "1.4.0" | "1.170.15" | "1.168.18" | "1.167.17" | "1.162.0" | "1.162.2" | "3.0.189" | "1.0.138" | "3.0.1308" | "1.0.59" | "5.101.0" | "11.17.0" | "25.9.2" | "8.10.162" | "2.8.19" | "8.20.0" | "8.18.1" | "5.0.6" | "4.5.6" | "4.4.6" | "4.7.7" | "4.14.3" | "4.1.8" | "5.0.7" | "0.39.3" | "6.4.4" | "1.0.20" | "2.1126.0" | "2.258.0" | "3.12.0" | "10.6.0" | "2.8.6" | "5.6.2" | "0.7.1" | "2.1.1" | "14.0.3" | "3.9.0" | "0.28.0" | "1.0.31" | "1.0.5" | "2.4.16" | "7.8.0" | "5.2.1" | "3.3.3" | "9.1.7" | "11.3.5" | "11.0.4" | "4.0.0" | "3.5.2" | "2.0.0" | "19.6.6" | "3.5.0" | "8.21.0" | "3.3.1" | "19.2.7" | "6.1.3" | "1.0.3" | "3.36.0" | "0.5.21" | "0.26.1" | "4.2.2" | "4.22.4" | "1.17.0" | "1.5.0" | "4.10.0" | "3.6.0" | "8.0.16" | "6.0.3" | "4.4.3";
130
130
  };
131
131
  /**
132
132
  * Versions for Python dependencies added by generators
@@ -138,9 +138,9 @@ export declare const PY_VERSIONS: {
138
138
  readonly 'aws-lambda-powertools[tracer]': "==3.29.0";
139
139
  readonly 'aws-lambda-powertools[parser]': "==3.29.0";
140
140
  readonly 'aws-opentelemetry-distro': "==0.17.1";
141
- readonly 'bedrock-agentcore': "==1.13.0";
142
- readonly boto3: "==1.43.20";
143
- readonly checkov: "==3.2.532";
141
+ readonly 'bedrock-agentcore': "==1.14.0";
142
+ readonly boto3: "==1.43.24";
143
+ readonly checkov: "==3.2.533";
144
144
  readonly fastapi: "==0.136.3";
145
145
  readonly 'fastapi[standard]': "==0.136.3";
146
146
  readonly httpx: "==0.28.1";
@@ -149,9 +149,9 @@ export declare const PY_VERSIONS: {
149
149
  readonly 'pip-licenses': "==5.5.5";
150
150
  readonly 'strands-agents': "==1.42.0";
151
151
  readonly 'strands-agents[a2a]': "==1.42.0";
152
- readonly 'strands-agents-tools': "==0.7.0";
152
+ readonly 'strands-agents-tools': "==0.8.0";
153
153
  readonly ty: "==0.0.42";
154
- readonly uvicorn: "==0.48.0";
154
+ readonly uvicorn: "==0.49.0";
155
155
  };
156
156
  export type IPyDepVersion = keyof typeof PY_VERSIONS;
157
157
  /**