@aws/nx-plugin 1.0.0-rc.65 → 1.0.0-rc.66

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 (87) hide show
  1. package/LICENSE-THIRD-PARTY +59 -87
  2. package/migrations.json +57 -57
  3. package/package.json +4 -4
  4. package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +1 -1
  5. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/migration.js.map +1 -0
  6. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/migration.js.map +1 -0
  7. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/migration.js.map +1 -0
  8. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/migration.js.map +1 -0
  9. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/migration.js.map +1 -0
  10. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/migration.js.map +1 -0
  11. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/migration.js.map +1 -0
  12. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/migration.js.map +1 -0
  13. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/migration.js.map +1 -0
  14. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/migration.js.map +1 -0
  15. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/migration.js.map +1 -0
  16. package/src/preset/__snapshots__/generator.spec.ts.snap +2 -2
  17. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +4 -4
  18. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +3 -3
  19. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +2 -2
  20. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
  21. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +12 -12
  22. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  23. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
  24. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +3 -3
  25. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +7 -7
  26. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +12 -12
  27. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +2 -2
  28. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +1 -1
  29. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +2 -2
  30. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  31. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
  32. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +4 -4
  33. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +19 -19
  34. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +2 -2
  35. package/src/utils/versions.d.ts +47 -47
  36. package/src/utils/versions.js +46 -46
  37. package/src/utils/versions.js.map +1 -1
  38. package/src/migrations/latest/add-deploy-sandbox-target/migration.js.map +0 -1
  39. package/src/migrations/latest/gateway-agent-targets/migration.js.map +0 -1
  40. package/src/migrations/latest/gateway-cognito-passthrough/migration.js.map +0 -1
  41. package/src/migrations/latest/py-agent-lifespan-construction/migration.js.map +0 -1
  42. package/src/migrations/latest/rename-load-runtime-config-target/migration.js.map +0 -1
  43. package/src/migrations/latest/rolldown-code-splitting/migration.js.map +0 -1
  44. package/src/migrations/latest/smithy-build-without-docker/migration.js.map +0 -1
  45. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.js.map +0 -1
  46. package/src/migrations/latest/strip-pip-from-python-images/migration.js.map +0 -1
  47. package/src/migrations/latest/vite-config-import-meta-dirname/migration.js.map +0 -1
  48. package/src/migrations/latest/waf-log-group-removal/migration.js.map +0 -1
  49. /package/src/migrations/{latest/smithy-ssdk-bundle-pins → v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins}/metadata.json +0 -0
  50. /package/src/migrations/{latest/add-deploy-sandbox-target → v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins}/migration.d.ts +0 -0
  51. /package/src/migrations/{latest/smithy-ssdk-bundle-pins → v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins}/migration.js +0 -0
  52. /package/src/migrations/{latest/smithy-ssdk-bundle-pins → v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins}/rc57-service.Dockerfile.fixture +0 -0
  53. /package/src/migrations/{latest/gateway-agent-targets → v1.0.0-rc.59/0001-gateway-agent-targets}/__snapshots__/migration.spec.ts.snap +0 -0
  54. /package/src/migrations/{latest/gateway-agent-targets → v1.0.0-rc.59/0001-gateway-agent-targets}/metadata.json +0 -0
  55. /package/src/migrations/{latest/gateway-agent-targets → v1.0.0-rc.59/0001-gateway-agent-targets}/migration.d.ts +0 -0
  56. /package/src/migrations/{latest/gateway-agent-targets → v1.0.0-rc.59/0001-gateway-agent-targets}/migration.js +0 -0
  57. /package/src/migrations/{latest/gateway-cognito-passthrough → v1.0.0-rc.60/0001-gateway-cognito-passthrough}/__snapshots__/migration.spec.ts.snap +0 -0
  58. /package/src/migrations/{latest/gateway-cognito-passthrough → v1.0.0-rc.60/0001-gateway-cognito-passthrough}/metadata.json +0 -0
  59. /package/src/migrations/{latest/gateway-cognito-passthrough → v1.0.0-rc.60/0001-gateway-cognito-passthrough}/migration.d.ts +0 -0
  60. /package/src/migrations/{latest/gateway-cognito-passthrough → v1.0.0-rc.60/0001-gateway-cognito-passthrough}/migration.js +0 -0
  61. /package/src/migrations/{latest/waf-log-group-removal → v1.0.0-rc.60/0002-waf-log-group-removal}/__snapshots__/migration.spec.ts.snap +0 -0
  62. /package/src/migrations/{latest/waf-log-group-removal → v1.0.0-rc.60/0002-waf-log-group-removal}/metadata.json +0 -0
  63. /package/src/migrations/{latest/waf-log-group-removal → v1.0.0-rc.60/0002-waf-log-group-removal}/migration.d.ts +0 -0
  64. /package/src/migrations/{latest/waf-log-group-removal → v1.0.0-rc.60/0002-waf-log-group-removal}/migration.js +0 -0
  65. /package/src/migrations/{latest/strip-pip-from-python-images → v1.0.0-rc.60/0003-strip-pip-from-python-images}/__snapshots__/migration.spec.ts.snap +0 -0
  66. /package/src/migrations/{latest/strip-pip-from-python-images → v1.0.0-rc.60/0003-strip-pip-from-python-images}/metadata.json +0 -0
  67. /package/src/migrations/{latest/py-agent-lifespan-construction → v1.0.0-rc.60/0003-strip-pip-from-python-images}/migration.d.ts +0 -0
  68. /package/src/migrations/{latest/strip-pip-from-python-images → v1.0.0-rc.60/0003-strip-pip-from-python-images}/migration.js +0 -0
  69. /package/src/migrations/{latest/py-agent-lifespan-construction → v1.0.0-rc.61/0001-py-agent-lifespan-construction}/metadata.json +0 -0
  70. /package/src/migrations/{latest/rename-load-runtime-config-target → v1.0.0-rc.61/0001-py-agent-lifespan-construction}/migration.d.ts +0 -0
  71. /package/src/migrations/{latest/py-agent-lifespan-construction → v1.0.0-rc.61/0001-py-agent-lifespan-construction}/migration.js +0 -0
  72. /package/src/migrations/{latest/rename-load-runtime-config-target → v1.0.0-rc.62/0001-rename-load-runtime-config-target}/metadata.json +0 -0
  73. /package/src/migrations/{latest/rolldown-code-splitting → v1.0.0-rc.62/0001-rename-load-runtime-config-target}/migration.d.ts +0 -0
  74. /package/src/migrations/{latest/rename-load-runtime-config-target → v1.0.0-rc.62/0001-rename-load-runtime-config-target}/migration.js +0 -0
  75. /package/src/migrations/{latest/add-deploy-sandbox-target → v1.0.0-rc.63/0001-add-deploy-sandbox-target}/metadata.json +0 -0
  76. /package/src/migrations/{latest/smithy-build-without-docker → v1.0.0-rc.63/0001-add-deploy-sandbox-target}/migration.d.ts +0 -0
  77. /package/src/migrations/{latest/add-deploy-sandbox-target → v1.0.0-rc.63/0001-add-deploy-sandbox-target}/migration.js +0 -0
  78. /package/src/migrations/{latest/smithy-build-without-docker → v1.0.0-rc.64/0001-smithy-build-without-docker}/legacy-service.Dockerfile.fixture +0 -0
  79. /package/src/migrations/{latest/smithy-build-without-docker → v1.0.0-rc.64/0001-smithy-build-without-docker}/metadata.json +0 -0
  80. /package/src/migrations/{latest/smithy-ssdk-bundle-pins → v1.0.0-rc.64/0001-smithy-build-without-docker}/migration.d.ts +0 -0
  81. /package/src/migrations/{latest/smithy-build-without-docker → v1.0.0-rc.64/0001-smithy-build-without-docker}/migration.js +0 -0
  82. /package/src/migrations/{latest/vite-config-import-meta-dirname → v1.0.0-rc.65/0001-vite-config-import-meta-dirname}/metadata.json +0 -0
  83. /package/src/migrations/{latest/strip-pip-from-python-images → v1.0.0-rc.65/0001-vite-config-import-meta-dirname}/migration.d.ts +0 -0
  84. /package/src/migrations/{latest/vite-config-import-meta-dirname → v1.0.0-rc.65/0001-vite-config-import-meta-dirname}/migration.js +0 -0
  85. /package/src/migrations/{latest/rolldown-code-splitting → v1.0.0-rc.65/0002-rolldown-code-splitting}/metadata.json +0 -0
  86. /package/src/migrations/{latest/vite-config-import-meta-dirname → v1.0.0-rc.65/0002-rolldown-code-splitting}/migration.d.ts +0 -0
  87. /package/src/migrations/{latest/rolldown-code-splitting → v1.0.0-rc.65/0002-rolldown-code-splitting}/migration.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/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 Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { INFRA_APP_GENERATOR_INFO } from '../../../infra/app/generator';\nimport { captureGritQLVariable } from '../../../utils/ast';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { normalizeTargetKeyOrder } from '../../../utils/nx';\nimport { sortObjectKeys } from '../../../utils/object';\n\n/**\n * CDK infrastructure projects gained a `deploy-sandbox` target, which deploys the\n * sandbox stage without the user having to spell out its stage pattern\n * (`nx deploy-sandbox infra` rather than `nx deploy infra \"my-app-infra-sandbox/*\"`).\n *\n * The stage id is read from `main.ts` rather than recomputed from the project\n * name, so a project whose sandbox stage has been renamed gets a target that\n * deploys the stage it actually declares.\n *\n * How to write a migration:\n * - https://nx.dev/docs/kb/migration-generators\n * - What `nextSteps` means: https://nx.dev/docs/reference/devkit/MigrationReturnObject\n */\n\nconst TARGET = 'deploy-sandbox';\n\n/**\n * Matches `new ApplicationStage(app, '<id>-sandbox', { ... })`, binding the\n * quoted stage id. The regex spans the quotes because it is matched against the\n * whole string literal node; both quote styles are accepted since the user's\n * formatter may have rewritten them.\n *\n * `main.ts` can declare several stages (beta, prod), so the pattern selects the\n * sandbox one rather than whichever comes first.\n */\nconst SANDBOX_STAGE_PATTERN =\n '`new ApplicationStage($app, $id, $props)` where { $id <: r\"[\\'\\\\\"].*-sandbox[\\'\\\\\"]\" }';\n\n/** The id of the sandbox stage a project's `main.ts` instantiates. */\nconst sandboxStageId = async (\n tree: Tree,\n projectRoot: string,\n): Promise<string | undefined> => {\n const captured = await captureGritQLVariable(\n tree,\n joinPathFragments(projectRoot, 'src', 'main.ts'),\n SANDBOX_STAGE_PATTERN,\n 'id',\n );\n // The binding keeps the quotes from the source.\n return captured?.slice(1, -1);\n};\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n const nextSteps: string[] = [];\n\n for (const [projectName, project] of getProjects(tree)) {\n const generator = (project.metadata as { generator?: string } | undefined)\n ?.generator;\n if (\n generator !== INFRA_APP_GENERATOR_INFO.id ||\n project.targets?.[TARGET]\n ) {\n // Not a CDK infrastructure project, or the target is already present.\n continue;\n }\n\n // The new target mirrors `deploy`, so it inherits whatever that resolved to\n // when the project was generated: the `tsx` credential-resolving script\n // under `stageConfig`, plain `cdk deploy` otherwise.\n const deploy = project.targets.deploy;\n const command = deploy?.options?.command;\n const mainPath = joinPathFragments(project.root, 'src/main.ts');\n const stageId = await sandboxStageId(tree, project.root);\n\n if (typeof command !== 'string') {\n nextSteps.push(\n `Add a '${TARGET}' target to ${projectName} by hand if necessary — its 'deploy' target no longer matches the shape the generator produced.`,\n );\n continue;\n }\n if (!stageId) {\n nextSteps.push(\n `Add a '${TARGET}' target to ${projectName} by hand if necessary — no sandbox stage was found in ${mainPath}.`,\n );\n continue;\n }\n\n project.targets[TARGET] = normalizeTargetKeyOrder({\n executor: deploy.executor,\n ...(deploy.dependsOn ? { dependsOn: [...deploy.dependsOn] } : {}),\n // Quoted so the shell does not glob the `*`.\n options: { ...deploy.options, command: `${command} \"${stageId}/*\"` },\n });\n updateProjectConfiguration(tree, projectName, {\n ...project,\n targets: sortObjectKeys(project.targets),\n });\n }\n\n await formatFilesInSubtree(tree);\n\n return { nextSteps };\n}\n"],"names":["getProjects","joinPathFragments","updateProjectConfiguration","INFRA_APP_GENERATOR_INFO","captureGritQLVariable","formatFilesInSubtree","normalizeTargetKeyOrder","sortObjectKeys","TARGET","SANDBOX_STAGE_PATTERN","sandboxStageId","tree","projectRoot","captured","slice","migration","nextSteps","projectName","project","generator","metadata","id","targets","deploy","command","options","mainPath","root","stageId","push","executor","dependsOn"],"mappings":"AAAA;;;CAGC,GACD,SACEA,WAAW,EACXC,iBAAiB,EAGjBC,0BAA0B,QACrB,aAAa;AACpB,SAASC,wBAAwB,QAAQ,kCAA+B;AACxE,SAASC,qBAAqB,QAAQ,wBAAqB;AAC3D,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,uBAAuB,QAAQ,uBAAoB;AAC5D,SAASC,cAAc,QAAQ,2BAAwB;AAEvD;;;;;;;;;;;;CAYC,GAED,MAAMC,SAAS;AAEf;;;;;;;;CAQC,GACD,MAAMC,wBACJ;AAEF,oEAAoE,GACpE,MAAMC,iBAAiB,OACrBC,MACAC;IAEA,MAAMC,WAAW,MAAMT,sBACrBO,MACAV,kBAAkBW,aAAa,OAAO,YACtCH,uBACA;IAEF,gDAAgD;IAChD,OAAOI,UAAUC,MAAM,GAAG,CAAC;AAC7B;AAEA,eAAe,eAAeC,UAC5BJ,IAAU;IAEV,MAAMK,YAAsB,EAAE;IAE9B,KAAK,MAAM,CAACC,aAAaC,QAAQ,IAAIlB,YAAYW,MAAO;QACtD,MAAMQ,YAAaD,QAAQE,QAAQ,EAC/BD;QACJ,IACEA,cAAchB,yBAAyBkB,EAAE,IACzCH,QAAQI,OAAO,EAAE,CAACd,OAAO,EACzB;YAEA;QACF;QAEA,4EAA4E;QAC5E,wEAAwE;QACxE,qDAAqD;QACrD,MAAMe,SAASL,QAAQI,OAAO,CAACC,MAAM;QACrC,MAAMC,UAAUD,QAAQE,SAASD;QACjC,MAAME,WAAWzB,kBAAkBiB,QAAQS,IAAI,EAAE;QACjD,MAAMC,UAAU,MAAMlB,eAAeC,MAAMO,QAAQS,IAAI;QAEvD,IAAI,OAAOH,YAAY,UAAU;YAC/BR,UAAUa,IAAI,CACZ,CAAC,OAAO,EAAErB,OAAO,YAAY,EAAES,YAAY,+FAA+F,CAAC;YAE7I;QACF;QACA,IAAI,CAACW,SAAS;YACZZ,UAAUa,IAAI,CACZ,CAAC,OAAO,EAAErB,OAAO,YAAY,EAAES,YAAY,sDAAsD,EAAES,SAAS,CAAC,CAAC;YAEhH;QACF;QAEAR,QAAQI,OAAO,CAACd,OAAO,GAAGF,wBAAwB;YAChDwB,UAAUP,OAAOO,QAAQ;YACzB,GAAIP,OAAOQ,SAAS,GAAG;gBAAEA,WAAW;uBAAIR,OAAOQ,SAAS;iBAAC;YAAC,IAAI,CAAC,CAAC;YAChE,6CAA6C;YAC7CN,SAAS;gBAAE,GAAGF,OAAOE,OAAO;gBAAED,SAAS,GAAGA,QAAQ,EAAE,EAAEI,QAAQ,GAAG,CAAC;YAAC;QACrE;QACA1B,2BAA2BS,MAAMM,aAAa;YAC5C,GAAGC,OAAO;YACVI,SAASf,eAAeW,QAAQI,OAAO;QACzC;IACF;IAEA,MAAMjB,qBAAqBM;IAE3B,OAAO;QAAEK;IAAU;AACrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.64/0001-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 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/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 Tree,\n} from '@nx/devkit';\nimport { applyGritQL } from '../../../utils/ast';\nimport { formatFilesInSubtree } from '../../../utils/format';\n\n/**\n * Resolve the vended vite and vitest config paths from `import.meta.dirname`\n * rather than `__dirname`.\n *\n * `__dirname` is unavailable to Vite's native config loader, so every generated\n * TypeScript project's config warned that it \"uses features that are unsupported\n * by `configLoader: 'native'`\". That loader is slated to become the default, at\n * which point the config breaks rather than warns.\n *\n * Two shapes are rewritten: the `root` that `@nx/js` writes into every project's\n * config, and the two paths `ts#react-website` passes to the TanStack Router\n * plugin.\n *\n * Guardrails:\n * - Every pattern is anchored to the exact shape the generators produce, and\n * scoped with `some` so it only matches a direct property of the object it\n * names. A `root` nested inside another option, or a `resolve(__dirname, ...)`\n * the user wrote anywhere else in the config, is left alone.\n * - The router paths are matched by option name *and* path literal, so a user who\n * pointed one somewhere else keeps their value.\n * - Idempotent: no pattern matches once rewritten.\n */\n\n/**\n * The `root` of the object the config factory returns. `some` matches a direct\n * property only, so a nested `root` (a `test.alias` entry, say) is not touched.\n */\nconst ROOT_PATTERN = `\\`defineConfig(() => ({ $props }))\\` where {\n $props <: some \\`root: __dirname\\` as $root,\n $root => \\`root: import.meta.dirname\\`\n}`;\n\n/**\n * One of the TanStack Router plugin's path options, matched by name and by the\n * path the generator passes — so a user who repointed it keeps their value.\n * Scoped to the plugin's own option object rather than the file, so a\n * `resolve(__dirname, ...)` elsewhere in the config is left alone.\n */\nconst routerPathPattern = (option: string, path: string): string =>\n `\\`tanstackRouter({ $opts })\\` where {\n $opts <: some \\`${option}: resolve(__dirname, '${path}')\\` as $path,\n $path => \\`${option}: resolve(import.meta.dirname, '${path}')\\`\n }`;\n\n/** The paths `ts#react-website` gives the TanStack Router plugin. */\nconst ROUTER_PATTERNS = [\n routerPathPattern('routesDirectory', 'src/routes'),\n routerPathPattern('generatedRouteTree', 'src/routeTree.gen.ts'),\n];\n\n/** The config filenames a generated project may carry. */\nconst CONFIG_FILES = ['vitest.config.mts', 'vite.config.mts'];\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n for (const project of getProjects(tree).values()) {\n for (const configFile of CONFIG_FILES) {\n const configPath = joinPathFragments(project.root, configFile);\n if (!tree.exists(configPath)) {\n continue;\n }\n for (const pattern of [ROOT_PATTERN, ...ROUTER_PATTERNS]) {\n await applyGritQL(tree, configPath, pattern);\n }\n }\n }\n\n await formatFilesInSubtree(tree);\n\n return {};\n}\n"],"names":["getProjects","joinPathFragments","applyGritQL","formatFilesInSubtree","ROOT_PATTERN","routerPathPattern","option","path","ROUTER_PATTERNS","CONFIG_FILES","migration","tree","project","values","configFile","configPath","root","exists","pattern"],"mappings":"AAAA;;;CAGC,GACD,SACEA,WAAW,EACXC,iBAAiB,QAGZ,aAAa;AACpB,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,oBAAoB,QAAQ,2BAAwB;AAE7D;;;;;;;;;;;;;;;;;;;;;CAqBC,GAED;;;CAGC,GACD,MAAMC,eAAe,CAAC;;;CAGrB,CAAC;AAEF;;;;;CAKC,GACD,MAAMC,oBAAoB,CAACC,QAAgBC,OACzC,CAAC;qBACkB,EAAED,OAAO,sBAAsB,EAAEC,KAAK;gBAC3C,EAAED,OAAO,gCAAgC,EAAEC,KAAK;IAC5D,CAAC;AAEL,mEAAmE,GACnE,MAAMC,kBAAkB;IACtBH,kBAAkB,mBAAmB;IACrCA,kBAAkB,sBAAsB;CACzC;AAED,wDAAwD,GACxD,MAAMI,eAAe;IAAC;IAAqB;CAAkB;AAE7D,eAAe,eAAeC,UAC5BC,IAAU;IAEV,KAAK,MAAMC,WAAWZ,YAAYW,MAAME,MAAM,GAAI;QAChD,KAAK,MAAMC,cAAcL,aAAc;YACrC,MAAMM,aAAad,kBAAkBW,QAAQI,IAAI,EAAEF;YACnD,IAAI,CAACH,KAAKM,MAAM,CAACF,aAAa;gBAC5B;YACF;YACA,KAAK,MAAMG,WAAW;gBAACd;mBAAiBI;aAAgB,CAAE;gBACxD,MAAMN,YAAYS,MAAMI,YAAYG;YACtC;QACF;IACF;IAEA,MAAMf,qBAAqBQ;IAE3B,OAAO,CAAC;AACV"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/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 Tree,\n} from '@nx/devkit';\nimport { applyGritQL } from '../../../utils/ast';\nimport { formatFilesInSubtree } from '../../../utils/format';\n\n/**\n * Move generated rolldown configs onto `codeSplitting: false`.\n *\n * rolldown deprecated the `inlineDynamicImports` output option in favour of\n * `codeSplitting`, and warns once per bundle entry — so a workspace with several\n * bundled projects printed the warning many times over on every build. Both\n * spellings ask for the same thing: the whole bundle in a single file, which is\n * what the vended Lambda and container bundles need.\n *\n * Guardrails:\n * - Both patterns are anchored to a rolldown `output` object and scoped with\n * `some` to its direct properties, so an object of the user's own that happens\n * to carry the same key is left alone. `inlineDynamicImports: false` is also\n * left alone: it means the opposite, so a user who set it deliberately keeps it.\n * - Where an output already carries `codeSplitting`, the deprecated option is\n * dropped rather than renamed, so the rewrite can't produce a duplicate key.\n * - Idempotent: neither pattern matches once the option is gone.\n */\n\n/**\n * Rename the deprecated option, where the output does not already set\n * `codeSplitting`.\n */\nconst RENAME_PATTERN = `\\`output: { $props }\\` where {\n $props <: some \\`inlineDynamicImports: true\\` as $deprecated,\n $props <: not some \\`codeSplitting: $_\\`,\n $deprecated => \\`codeSplitting: false\\`\n}`;\n\n/**\n * Drop the deprecated option where `codeSplitting` is already set — renaming it\n * would leave the output with the key twice.\n */\nconst DROP_PATTERN = `\\`output: { $props }\\` where {\n $props <: some \\`codeSplitting: $_\\`,\n $props <: some \\`inlineDynamicImports: true\\` as $deprecated,\n $deprecated => .\n}`;\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n for (const project of getProjects(tree).values()) {\n const configPath = joinPathFragments(project.root, 'rolldown.config.ts');\n if (!tree.exists(configPath)) {\n continue;\n }\n for (const pattern of [RENAME_PATTERN, DROP_PATTERN]) {\n await applyGritQL(tree, configPath, pattern);\n }\n }\n\n await formatFilesInSubtree(tree);\n\n return {};\n}\n"],"names":["getProjects","joinPathFragments","applyGritQL","formatFilesInSubtree","RENAME_PATTERN","DROP_PATTERN","migration","tree","project","values","configPath","root","exists","pattern"],"mappings":"AAAA;;;CAGC,GACD,SACEA,WAAW,EACXC,iBAAiB,QAGZ,aAAa;AACpB,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,oBAAoB,QAAQ,2BAAwB;AAE7D;;;;;;;;;;;;;;;;;CAiBC,GAED;;;CAGC,GACD,MAAMC,iBAAiB,CAAC;;;;CAIvB,CAAC;AAEF;;;CAGC,GACD,MAAMC,eAAe,CAAC;;;;CAIrB,CAAC;AAEF,eAAe,eAAeC,UAC5BC,IAAU;IAEV,KAAK,MAAMC,WAAWR,YAAYO,MAAME,MAAM,GAAI;QAChD,MAAMC,aAAaT,kBAAkBO,QAAQG,IAAI,EAAE;QACnD,IAAI,CAACJ,KAAKK,MAAM,CAACF,aAAa;YAC5B;QACF;QACA,KAAK,MAAMG,WAAW;YAACT;YAAgBC;SAAa,CAAE;YACpD,MAAMH,YAAYK,MAAMG,YAAYG;QACtC;IACF;IAEA,MAAMV,qBAAqBI;IAE3B,OAAO,CAAC;AACV"}
@@ -250,7 +250,7 @@ export default {
250
250
 
251
251
  exports[`preset generator > should run successfully > biome.json 1`] = `
252
252
  "{
253
- "$schema": "https://biomejs.dev/schemas/2.5.6/schema.json",
253
+ "$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
254
254
  "root": true,
255
255
  "formatter": {
256
256
  "enabled": true,
@@ -416,7 +416,7 @@ catalog:
416
416
  '@nx/js': 23.1.1
417
417
  '@nx/workspace': 23.1.1
418
418
  typescript: ~6.0.3
419
- '@biomejs/biome': 2.5.6
419
+ '@biomejs/biome': 2.5.7
420
420
  '@aws/nx-plugin': ^0.0.0
421
421
  '@aws/nx-plugin-mcp': ^0.0.0
422
422
  "
@@ -305,12 +305,12 @@ dependencies = [
305
305
  "proj-agent-connection",
306
306
  "aws-lambda-powertools==3.31.1",
307
307
  "aws-opentelemetry-distro==0.19.0",
308
- "bedrock-agentcore==1.19.0",
309
- "boto3==1.43.63",
308
+ "bedrock-agentcore==1.21.0",
309
+ "boto3==1.43.67",
310
310
  "fastapi==0.141.1",
311
311
  "mcp==1.28.1",
312
- "strands-agents==1.50.2",
313
- "strands-agents-tools==0.8.5",
312
+ "strands-agents==1.51.0",
313
+ "strands-agents-tools==0.8.6",
314
314
  "uvicorn==0.52.1"
315
315
  ]
316
316
 
@@ -714,12 +714,12 @@ dependencies = [
714
714
  "proj-agent-connection",
715
715
  "aws-lambda-powertools==3.31.1",
716
716
  "aws-opentelemetry-distro==0.19.0",
717
- "bedrock-agentcore==1.19.0",
718
- "boto3==1.43.63",
717
+ "bedrock-agentcore==1.21.0",
718
+ "boto3==1.43.67",
719
719
  "fastapi==0.141.1",
720
720
  "mcp==1.28.1",
721
721
  "langchain==1.3.14",
722
- "langchain-aws==1.6.4",
722
+ "langchain-aws==1.7.0",
723
723
  "langgraph==1.2.10",
724
724
  "ag-ui-protocol==0.1.19",
725
725
  "ag-ui-langgraph==0.0.42",
@@ -134,7 +134,7 @@ exports[`py#agent generator > should match snapshot for Terraform generated file
134
134
  required_providers {
135
135
  aws = {
136
136
  source = "hashicorp/aws"
137
- version = "6.57.1"
137
+ version = "6.58.0"
138
138
  }
139
139
  null = {
140
140
  source = "hashicorp/null"
@@ -550,7 +550,7 @@ resource "null_resource" "runtime_ready" {
550
550
 
551
551
  provisioner "local-exec" {
552
552
  command = <<-EOT
553
- uv run --with boto3==1.43.63 python -c "
553
+ uv run --with boto3==1.43.67 python -c "
554
554
  import boto3
555
555
  import json
556
556
  import os
@@ -35,7 +35,7 @@ exports[`py#dynamodb generator > should generate terraform modules when iac is t
35
35
  required_providers {
36
36
  aws = {
37
37
  source = "hashicorp/aws"
38
- version = "6.57.1"
38
+ version = "6.58.0"
39
39
  }
40
40
  }
41
41
  }
@@ -192,7 +192,7 @@ exports[`py#dynamodb generator > should generate terraform modules when iac is t
192
192
  required_providers {
193
193
  aws = {
194
194
  source = "hashicorp/aws"
195
- version = "6.57.1"
195
+ version = "6.58.0"
196
196
  }
197
197
  random = {
198
198
  source = "hashicorp/random"
@@ -11,7 +11,7 @@ terraform {
11
11
  required_providers {
12
12
  aws = {
13
13
  source = "hashicorp/aws"
14
- version = "6.57.1"
14
+ version = "6.58.0"
15
15
  }
16
16
  }
17
17
  }
@@ -258,7 +258,7 @@ output "api_log_group_arn" {
258
258
  required_providers {
259
259
  aws = {
260
260
  source = "hashicorp/aws"
261
- version = "6.57.1"
261
+ version = "6.58.0"
262
262
  }
263
263
  }
264
264
  }
@@ -771,7 +771,7 @@ terraform {
771
771
  required_providers {
772
772
  aws = {
773
773
  source = "hashicorp/aws"
774
- version = "6.57.1"
774
+ version = "6.58.0"
775
775
  }
776
776
  }
777
777
  }
@@ -1018,7 +1018,7 @@ output "api_log_group_arn" {
1018
1018
  required_providers {
1019
1019
  aws = {
1020
1020
  source = "hashicorp/aws"
1021
- version = "6.57.1"
1021
+ version = "6.58.0"
1022
1022
  }
1023
1023
  }
1024
1024
  }
@@ -1603,7 +1603,7 @@ terraform {
1603
1603
  required_providers {
1604
1604
  aws = {
1605
1605
  source = "hashicorp/aws"
1606
- version = "6.57.1"
1606
+ version = "6.58.0"
1607
1607
  }
1608
1608
  }
1609
1609
  }
@@ -1850,7 +1850,7 @@ output "api_log_group_arn" {
1850
1850
  required_providers {
1851
1851
  aws = {
1852
1852
  source = "hashicorp/aws"
1853
- version = "6.57.1"
1853
+ version = "6.58.0"
1854
1854
  }
1855
1855
  }
1856
1856
  }
@@ -2340,7 +2340,7 @@ terraform {
2340
2340
  required_providers {
2341
2341
  aws = {
2342
2342
  source = "hashicorp/aws"
2343
- version = "6.57.1"
2343
+ version = "6.58.0"
2344
2344
  }
2345
2345
  random = {
2346
2346
  source = "hashicorp/random"
@@ -2596,7 +2596,7 @@ output "waf_web_acl_arn" {
2596
2596
  required_providers {
2597
2597
  aws = {
2598
2598
  source = "hashicorp/aws"
2599
- version = "6.57.1"
2599
+ version = "6.58.0"
2600
2600
  }
2601
2601
  }
2602
2602
  }
@@ -3346,7 +3346,7 @@ terraform {
3346
3346
  required_providers {
3347
3347
  aws = {
3348
3348
  source = "hashicorp/aws"
3349
- version = "6.57.1"
3349
+ version = "6.58.0"
3350
3350
  }
3351
3351
  random = {
3352
3352
  source = "hashicorp/random"
@@ -3602,7 +3602,7 @@ output "waf_web_acl_arn" {
3602
3602
  required_providers {
3603
3603
  aws = {
3604
3604
  source = "hashicorp/aws"
3605
- version = "6.57.1"
3605
+ version = "6.58.0"
3606
3606
  }
3607
3607
  }
3608
3608
  }
@@ -4341,7 +4341,7 @@ terraform {
4341
4341
  required_providers {
4342
4342
  aws = {
4343
4343
  source = "hashicorp/aws"
4344
- version = "6.57.1"
4344
+ version = "6.58.0"
4345
4345
  }
4346
4346
  random = {
4347
4347
  source = "hashicorp/random"
@@ -4597,7 +4597,7 @@ output "waf_web_acl_arn" {
4597
4597
  required_providers {
4598
4598
  aws = {
4599
4599
  source = "hashicorp/aws"
4600
- version = "6.57.1"
4600
+ version = "6.58.0"
4601
4601
  }
4602
4602
  }
4603
4603
  }
@@ -70,7 +70,7 @@ exports[`lambda-handler project generator > terraform iac > should generate terr
70
70
  required_providers {
71
71
  aws = {
72
72
  source = "hashicorp/aws"
73
- version = "6.57.1"
73
+ version = "6.58.0"
74
74
  }
75
75
  archive = {
76
76
  source = "hashicorp/archive"
@@ -251,7 +251,7 @@ exports[`lambda-handler project generator > terraform iac > should match snapsho
251
251
  required_providers {
252
252
  aws = {
253
253
  source = "hashicorp/aws"
254
- version = "6.57.1"
254
+ version = "6.58.0"
255
255
  }
256
256
  archive = {
257
257
  source = "hashicorp/archive"
@@ -155,7 +155,7 @@ exports[`py#mcp-server generator > should match snapshot for Terraform generated
155
155
  required_providers {
156
156
  aws = {
157
157
  source = "hashicorp/aws"
158
- version = "6.57.1"
158
+ version = "6.58.0"
159
159
  }
160
160
  null = {
161
161
  source = "hashicorp/null"
@@ -571,7 +571,7 @@ resource "null_resource" "runtime_ready" {
571
571
 
572
572
  provisioner "local-exec" {
573
573
  command = <<-EOT
574
- uv run --with boto3==1.43.63 python -c "
574
+ uv run --with boto3==1.43.67 python -c "
575
575
  import boto3
576
576
  import json
577
577
  import os
@@ -849,7 +849,7 @@ dependencies = [
849
849
  "aws-lambda-powertools==3.31.1",
850
850
  "mcp==1.28.1",
851
851
  "uvicorn==0.52.1",
852
- "boto3==1.43.63",
852
+ "boto3==1.43.67",
853
853
  "aws-opentelemetry-distro==0.19.0"
854
854
  ]
855
855
 
@@ -214,7 +214,7 @@ exports[`py#rdb generator > should generate Terraform modules 1`] = `
214
214
  }
215
215
  aws = {
216
216
  source = "hashicorp/aws"
217
- version = "6.57.1"
217
+ version = "6.58.0"
218
218
  }
219
219
  null = {
220
220
  source = "hashicorp/null"
@@ -1498,10 +1498,10 @@ requires-python = ">=3.14"
1498
1498
  readme = "README.md"
1499
1499
  dependencies = [
1500
1500
  "sqlmodel==0.0.39",
1501
- "alembic==1.18.5",
1501
+ "alembic==1.19.1",
1502
1502
  "greenlet==3.5.4",
1503
1503
  "asyncpg==0.31.0",
1504
- "boto3==1.43.63",
1504
+ "boto3==1.43.67",
1505
1505
  "aws-lambda-powertools==3.31.1"
1506
1506
  ]
1507
1507
 
@@ -413,7 +413,7 @@ terraform {
413
413
  required_providers {
414
414
  aws = {
415
415
  source = "hashicorp/aws"
416
- version = "6.57.1"
416
+ version = "6.58.0"
417
417
  }
418
418
  random = {
419
419
  source = "hashicorp/random"
@@ -672,7 +672,7 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with Terraform pro
672
672
  required_providers {
673
673
  aws = {
674
674
  source = "hashicorp/aws"
675
- version = "6.57.1"
675
+ version = "6.58.0"
676
676
  }
677
677
  }
678
678
  }
@@ -1904,7 +1904,7 @@ terraform {
1904
1904
  required_providers {
1905
1905
  aws = {
1906
1906
  source = "hashicorp/aws"
1907
- version = "6.57.1"
1907
+ version = "6.58.0"
1908
1908
  }
1909
1909
  random = {
1910
1910
  source = "hashicorp/random"
@@ -2160,7 +2160,7 @@ output "waf_web_acl_arn" {
2160
2160
  required_providers {
2161
2161
  aws = {
2162
2162
  source = "hashicorp/aws"
2163
- version = "6.57.1"
2163
+ version = "6.58.0"
2164
2164
  }
2165
2165
  }
2166
2166
  }
@@ -2879,7 +2879,7 @@ terraform {
2879
2879
  required_providers {
2880
2880
  aws = {
2881
2881
  source = "hashicorp/aws"
2882
- version = "6.57.1"
2882
+ version = "6.58.0"
2883
2883
  }
2884
2884
  random = {
2885
2885
  source = "hashicorp/random"
@@ -3135,7 +3135,7 @@ output "waf_web_acl_arn" {
3135
3135
  required_providers {
3136
3136
  aws = {
3137
3137
  source = "hashicorp/aws"
3138
- version = "6.57.1"
3138
+ version = "6.58.0"
3139
3139
  }
3140
3140
  }
3141
3141
  }
@@ -3839,7 +3839,7 @@ exports[`tsSmithyApiGenerator > terraform iac > should generate terraform with c
3839
3839
  required_providers {
3840
3840
  aws = {
3841
3841
  source = "hashicorp/aws"
3842
- version = "6.57.1"
3842
+ version = "6.58.0"
3843
3843
  }
3844
3844
  }
3845
3845
  }
@@ -3175,7 +3175,7 @@ terraform {
3175
3175
  required_providers {
3176
3176
  aws = {
3177
3177
  source = "hashicorp/aws"
3178
- version = "6.57.1"
3178
+ version = "6.58.0"
3179
3179
  }
3180
3180
  }
3181
3181
  }
@@ -3422,7 +3422,7 @@ output "api_log_group_arn" {
3422
3422
  required_providers {
3423
3423
  aws = {
3424
3424
  source = "hashicorp/aws"
3425
- version = "6.57.1"
3425
+ version = "6.58.0"
3426
3426
  }
3427
3427
  }
3428
3428
  }
@@ -3917,7 +3917,7 @@ terraform {
3917
3917
  required_providers {
3918
3918
  aws = {
3919
3919
  source = "hashicorp/aws"
3920
- version = "6.57.1"
3920
+ version = "6.58.0"
3921
3921
  }
3922
3922
  }
3923
3923
  }
@@ -4164,7 +4164,7 @@ output "api_log_group_arn" {
4164
4164
  required_providers {
4165
4165
  aws = {
4166
4166
  source = "hashicorp/aws"
4167
- version = "6.57.1"
4167
+ version = "6.58.0"
4168
4168
  }
4169
4169
  }
4170
4170
  }
@@ -4731,7 +4731,7 @@ terraform {
4731
4731
  required_providers {
4732
4732
  aws = {
4733
4733
  source = "hashicorp/aws"
4734
- version = "6.57.1"
4734
+ version = "6.58.0"
4735
4735
  }
4736
4736
  }
4737
4737
  }
@@ -4978,7 +4978,7 @@ output "api_log_group_arn" {
4978
4978
  required_providers {
4979
4979
  aws = {
4980
4980
  source = "hashicorp/aws"
4981
- version = "6.57.1"
4981
+ version = "6.58.0"
4982
4982
  }
4983
4983
  }
4984
4984
  }
@@ -5450,7 +5450,7 @@ terraform {
5450
5450
  required_providers {
5451
5451
  aws = {
5452
5452
  source = "hashicorp/aws"
5453
- version = "6.57.1"
5453
+ version = "6.58.0"
5454
5454
  }
5455
5455
  random = {
5456
5456
  source = "hashicorp/random"
@@ -5706,7 +5706,7 @@ output "waf_web_acl_arn" {
5706
5706
  required_providers {
5707
5707
  aws = {
5708
5708
  source = "hashicorp/aws"
5709
- version = "6.57.1"
5709
+ version = "6.58.0"
5710
5710
  }
5711
5711
  }
5712
5712
  }
@@ -6426,7 +6426,7 @@ terraform {
6426
6426
  required_providers {
6427
6427
  aws = {
6428
6428
  source = "hashicorp/aws"
6429
- version = "6.57.1"
6429
+ version = "6.58.0"
6430
6430
  }
6431
6431
  random = {
6432
6432
  source = "hashicorp/random"
@@ -6682,7 +6682,7 @@ output "waf_web_acl_arn" {
6682
6682
  required_providers {
6683
6683
  aws = {
6684
6684
  source = "hashicorp/aws"
6685
- version = "6.57.1"
6685
+ version = "6.58.0"
6686
6686
  }
6687
6687
  }
6688
6688
  }
@@ -7391,7 +7391,7 @@ terraform {
7391
7391
  required_providers {
7392
7392
  aws = {
7393
7393
  source = "hashicorp/aws"
7394
- version = "6.57.1"
7394
+ version = "6.58.0"
7395
7395
  }
7396
7396
  random = {
7397
7397
  source = "hashicorp/random"
@@ -7647,7 +7647,7 @@ output "waf_web_acl_arn" {
7647
7647
  required_providers {
7648
7648
  aws = {
7649
7649
  source = "hashicorp/aws"
7650
- version = "6.57.1"
7650
+ version = "6.58.0"
7651
7651
  }
7652
7652
  }
7653
7653
  }
@@ -1263,7 +1263,7 @@ exports[`ts#agent generator > should match snapshot for Terraform generated file
1263
1263
  required_providers {
1264
1264
  aws = {
1265
1265
  source = "hashicorp/aws"
1266
- version = "6.57.1"
1266
+ version = "6.58.0"
1267
1267
  }
1268
1268
  null = {
1269
1269
  source = "hashicorp/null"
@@ -1679,7 +1679,7 @@ resource "null_resource" "runtime_ready" {
1679
1679
 
1680
1680
  provisioner "local-exec" {
1681
1681
  command = <<-EOT
1682
- uv run --with boto3==1.43.63 python -c "
1682
+ uv run --with boto3==1.43.67 python -c "
1683
1683
  import boto3
1684
1684
  import json
1685
1685
  import os
@@ -579,7 +579,7 @@ terraform {
579
579
  required_providers {
580
580
  aws = {
581
581
  source = "hashicorp/aws"
582
- version = "6.57.1"
582
+ version = "6.58.0"
583
583
  }
584
584
  archive = {
585
585
  source = "hashicorp/archive"
@@ -35,7 +35,7 @@ exports[`ts#dynamodb generator > should generate terraform modules when iac is t
35
35
  required_providers {
36
36
  aws = {
37
37
  source = "hashicorp/aws"
38
- version = "6.57.1"
38
+ version = "6.58.0"
39
39
  }
40
40
  }
41
41
  }
@@ -192,7 +192,7 @@ exports[`ts#dynamodb generator > should generate terraform modules when iac is t
192
192
  required_providers {
193
193
  aws = {
194
194
  source = "hashicorp/aws"
195
- version = "6.57.1"
195
+ version = "6.58.0"
196
196
  }
197
197
  random = {
198
198
  source = "hashicorp/random"
@@ -141,7 +141,7 @@ exports[`ts-lambda-function generator > terraform iac > should generate terrafor
141
141
  required_providers {
142
142
  aws = {
143
143
  source = "hashicorp/aws"
144
- version = "6.57.1"
144
+ version = "6.58.0"
145
145
  }
146
146
  archive = {
147
147
  source = "hashicorp/archive"
@@ -322,7 +322,7 @@ exports[`ts-lambda-function generator > terraform iac > should match snapshot fo
322
322
  required_providers {
323
323
  aws = {
324
324
  source = "hashicorp/aws"
325
- version = "6.57.1"
325
+ version = "6.58.0"
326
326
  }
327
327
  archive = {
328
328
  source = "hashicorp/archive"
@@ -155,7 +155,7 @@ exports[`ts#mcp-server generator > should match snapshot for Terraform generated
155
155
  required_providers {
156
156
  aws = {
157
157
  source = "hashicorp/aws"
158
- version = "6.57.1"
158
+ version = "6.58.0"
159
159
  }
160
160
  null = {
161
161
  source = "hashicorp/null"
@@ -571,7 +571,7 @@ resource "null_resource" "runtime_ready" {
571
571
 
572
572
  provisioner "local-exec" {
573
573
  command = <<-EOT
574
- uv run --with boto3==1.43.63 python -c "
574
+ uv run --with boto3==1.43.67 python -c "
575
575
  import boto3
576
576
  import json
577
577
  import os
@@ -799,7 +799,7 @@ terraform {
799
799
  required_providers {
800
800
  aws = {
801
801
  source = "hashicorp/aws"
802
- version = "6.57.1"
802
+ version = "6.58.0"
803
803
  }
804
804
  null = {
805
805
  source = "hashicorp/null"
@@ -1553,7 +1553,7 @@ exports[`ts#rdb generator > should generate terraform modules when iac is Terraf
1553
1553
  }
1554
1554
  aws = {
1555
1555
  source = "hashicorp/aws"
1556
- version = "6.57.1"
1556
+ version = "6.58.0"
1557
1557
  }
1558
1558
  null = {
1559
1559
  source = "hashicorp/null"
@@ -2285,7 +2285,7 @@ terraform {
2285
2285
  required_providers {
2286
2286
  aws = {
2287
2287
  source = "hashicorp/aws"
2288
- version = "6.57.1"
2288
+ version = "6.58.0"
2289
2289
  }
2290
2290
  null = {
2291
2291
  source = "hashicorp/null"
@@ -3039,7 +3039,7 @@ exports[`ts#rdb generator > should generate terraform modules with MySQL engine
3039
3039
  }
3040
3040
  aws = {
3041
3041
  source = "hashicorp/aws"
3042
- version = "6.57.1"
3042
+ version = "6.58.0"
3043
3043
  }
3044
3044
  null = {
3045
3045
  source = "hashicorp/null"