@aws/nx-plugin 1.0.0-rc.96 → 1.0.0-rc.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-THIRD-PARTY +9 -9
- package/migrations.json +124 -84
- package/package.json +3 -3
- package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/agentcore-gateway/generator.js +6 -0
- package/src/agentcore-gateway/generator.js.map +1 -1
- package/src/agentcore-gateway/react-connection/__snapshots__/generator.spec.ts.snap +4 -1
- package/src/agentcore-harness/__snapshots__/generator.spec.ts.snap +68 -4
- package/src/agentcore-harness/generator.js +6 -0
- package/src/agentcore-harness/generator.js.map +1 -1
- package/src/connection/gateway-runtime-config.js +1 -1
- package/src/connection/gateway-runtime-config.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +10 -10
- package/src/infra/app/generator.js +39 -9
- package/src/infra/app/generator.js.map +1 -1
- package/src/init/generator.d.ts +1 -1
- package/src/init/generator.js +8 -6
- package/src/init/generator.js.map +1 -1
- package/src/init/schema.d.js.map +1 -1
- package/src/init/schema.d.ts +1 -0
- package/src/init/schema.json +5 -0
- package/src/internal/test-matrix/generator.js +2 -2
- package/src/internal/test-matrix/generator.js.map +1 -1
- package/src/license/sync/generator.d.ts +10 -0
- package/src/license/sync/generator.js +1 -1
- package/src/license/sync/generator.js.map +1 -1
- package/src/mcp-server/server.js +2 -0
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/best-practices.d.ts +28 -0
- package/src/mcp-server/tools/best-practices.js +43 -0
- package/src/mcp-server/tools/best-practices.js.map +1 -0
- package/src/mcp-server/tools/general-guidance.d.ts +1 -1
- package/src/mcp-server/tools/general-guidance.js +13 -4
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/migrations/latest/sandbox-pattern-nested-stacks/metadata.json +3 -0
- package/src/migrations/latest/sandbox-pattern-nested-stacks/migration.js +68 -0
- package/src/migrations/latest/sandbox-pattern-nested-stacks/migration.js.map +1 -0
- package/src/migrations/latest/shadcn-cn-package/metadata.json +3 -0
- package/src/migrations/latest/shadcn-cn-package/migration.js +114 -0
- package/src/migrations/latest/shadcn-cn-package/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0001-dev-target-depends-on-pull-image/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0002-open-api-codegen-executor/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0003-terraform-provider-plugin-cache/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0004-python-test-input-scoping/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0005-vitest-coverage-output-dir/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0006-add-assemble-target/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0007-docker-target-cache-soundness/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0008-declare-cacheable-target-inputs/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.90/0009-terraform-fmt-check/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.92/0001-react-website-unique-dev-ports/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.94/0001-infra-deploy-express-mode/metadata.json +3 -0
- package/src/migrations/{latest/infra-deploy-express-mode → v1.0.0-rc.94/0001-infra-deploy-express-mode}/migration.js +26 -28
- package/src/migrations/v1.0.0-rc.94/0001-infra-deploy-express-mode/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.94/0002-shx-fs-commands/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.94/0003-agent-core-vendor-target/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.95/0001-rolldown-config-bundle-transient/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.95/0001-rolldown-config-bundle-transient/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.95/0002-agent-connection-pin-strands-peers/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.95/0003-ignore-package-manager-temp-files/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.95/0004-shadcn-package-imports-exports/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.95/0004-shadcn-package-imports-exports/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/__snapshots__/migration.spec.ts.snap +84 -0
- package/src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/migration.js +94 -0
- package/src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0002-checkov-scan-cache-inputs/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0002-checkov-scan-cache-inputs/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.97/0002-checkov-scan-cache-inputs/migration.js +58 -0
- package/src/migrations/v1.0.0-rc.97/0002-checkov-scan-cache-inputs/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0003-terraform-validate-without-backend/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0003-terraform-validate-without-backend/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.97/0003-terraform-validate-without-backend/migration.js +84 -0
- package/src/migrations/v1.0.0-rc.97/0003-terraform-validate-without-backend/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0004-py-lambda-powertools-context/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0004-py-lambda-powertools-context/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.97/0004-py-lambda-powertools-context/migration.js +58 -0
- package/src/migrations/v1.0.0-rc.97/0004-py-lambda-powertools-context/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/__snapshots__/migration.spec.ts.snap +25 -0
- package/src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/migration.d.ts +28 -0
- package/src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/migration.js +75 -0
- package/src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/migration.js.map +1 -0
- package/src/migrations/v1.0.0-rc.97/0006-script-project-quality-gates/metadata.json +3 -0
- package/src/migrations/v1.0.0-rc.97/0006-script-project-quality-gates/migration.d.ts +6 -0
- package/src/migrations/v1.0.0-rc.97/0006-script-project-quality-gates/migration.js +53 -0
- package/src/migrations/v1.0.0-rc.97/0006-script-project-quality-gates/migration.js.map +1 -0
- package/src/preset/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/preset/generator.js +4 -25
- package/src/preset/generator.js.map +1 -1
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +2 -2
- package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +4 -4
- package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +4 -4
- package/src/py/agent/a2a-connection/generator.d.ts +1 -1
- package/src/py/agent/gateway-connection/generator.d.ts +1 -1
- package/src/py/agent/mcp-connection/generator.d.ts +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +4 -1
- package/src/py/agent/react-connection/generator.d.ts +1 -7
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +10 -12
- package/src/py/dynamodb/generator.js +34 -7
- package/src/py/dynamodb/generator.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +12 -12
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -3
- package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +2 -1
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/project/schema.json +3 -1
- package/src/py/rdb/__snapshots__/generator.spec.ts.snap +31 -15
- package/src/py/rdb/files/Dockerfile.create-db-user.template +7 -3
- package/src/py/rdb/files/Dockerfile.migration.template +7 -3
- package/src/py/rdb/generator.js +29 -28
- package/src/py/rdb/generator.js.map +1 -1
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/smithy/react-connection/files/model/extensions.smithy.template +3 -3
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/smithy/ts/api/generator.js +7 -2
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/terraform/project/generator.js +34 -10
- package/src/terraform/project/generator.js.map +1 -1
- package/src/terraform/project/schema.d.js +0 -3
- package/src/terraform/project/schema.d.js.map +1 -1
- package/src/terraform/project/schema.d.ts +0 -4
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +12 -12
- package/src/trpc/backend/generator.js +7 -1
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/react/generator.js +6 -0
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/agent/generator.js +3 -3
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/agent/react-connection/generator.d.ts +1 -9
- package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +47 -2
- package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +6 -4
- package/src/ts/dynamodb/generator.js +30 -6
- package/src/ts/dynamodb/generator.js.map +1 -1
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/lib/biome.d.ts +15 -1
- package/src/ts/lib/biome.js +79 -63
- package/src/ts/lib/biome.js.map +1 -1
- package/src/ts/lib/generator.js +11 -7
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/ts-project-utils.d.ts +14 -0
- package/src/ts/lib/ts-project-utils.js +24 -0
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/mcp-server/files/app/http.ts.template +1 -1
- package/src/ts/mcp-server/generator.js +3 -3
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/nx-generator/files/local/generator.spec.ts.template +2 -2
- package/src/ts/nx-migration/generator.js +3 -1
- package/src/ts/nx-migration/generator.js.map +1 -1
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +1 -25
- package/src/ts/nx-plugin/generator.js +19 -17
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/utils.d.ts +21 -0
- package/src/ts/nx-plugin/utils.js +41 -1
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +13 -8
- package/src/ts/rdb/files/Dockerfile.template +5 -0
- package/src/ts/rdb/generator.d.ts +8 -0
- package/src/ts/rdb/generator.js +28 -24
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +39 -0
- package/src/ts/rdb/trpc-connection/generator.js +13 -0
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/react-website/agui/files/common/src/components/__agentNameKebabCase__-chat.tsx.template +9 -0
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +4 -1
- package/src/ts/react-website/agui/generator.d.ts +1 -5
- package/src/ts/react-website/agui/generator.js +6 -2
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +26 -26
- package/src/ts/react-website/app/generator.d.ts +1 -5
- package/src/ts/react-website/app/generator.js +3 -8
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +2 -2
- package/src/utils/agent-connection/agent-connection.d.ts +2 -1
- package/src/utils/agent-connection/agent-connection.js +6 -1
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +11 -7
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +14 -6
- package/src/utils/agent-core-packaging.js +5 -5
- package/src/utils/agent-core-packaging.js.map +1 -1
- package/src/utils/api-constructs/api-constructs.d.ts +5 -0
- package/src/utils/api-constructs/api-constructs.js +8 -0
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +4 -2
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +4 -2
- package/src/utils/ast.d.ts +10 -0
- package/src/utils/ast.js +87 -15
- package/src/utils/ast.js.map +1 -1
- package/src/utils/dependencies.d.ts +10 -0
- package/src/utils/dependencies.js +93 -1
- package/src/utils/dependencies.js.map +1 -1
- package/src/utils/docker.d.ts +11 -0
- package/src/utils/docker.js +16 -3
- package/src/utils/docker.js.map +1 -1
- package/src/utils/dynamodb-config.d.ts +48 -0
- package/src/utils/dynamodb-config.js +44 -0
- package/src/utils/dynamodb-config.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +8 -4
- package/src/utils/files/common/shadcn/src/components/ui/alert.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/avatar.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/breadcrumb.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/button.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/card.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/input.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/separator.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/sheet.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/sidebar.tsx.template +1 -1
- package/src/utils/files/common/shadcn/src/components/ui/skeleton.tsx.template +1 -1
- package/src/utils/files/common/shadcn/src/components/ui/spinner.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/textarea.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/components/ui/tooltip.tsx.template +1 -2
- package/src/utils/files/common/shadcn/src/lib/utils.ts.template +1 -6
- package/src/utils/git-secrets.d.ts +28 -0
- package/src/utils/git-secrets.js +66 -0
- package/src/utils/git-secrets.js.map +1 -0
- package/src/utils/init.js +7 -6
- package/src/utils/init.js.map +1 -1
- package/src/utils/local-project-dependency.d.ts +28 -0
- package/src/utils/local-project-dependency.js +40 -0
- package/src/utils/local-project-dependency.js.map +1 -0
- package/src/utils/nx.d.ts +14 -0
- package/src/utils/nx.js +30 -0
- package/src/utils/nx.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +11 -6
- package/src/utils/script-project-targets.d.ts +26 -0
- package/src/utils/script-project-targets.js +75 -0
- package/src/utils/script-project-targets.js.map +1 -0
- package/src/utils/shared-shadcn.d.ts +1 -3
- package/src/utils/shared-shadcn.js +1 -4
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/versions.d.ts +52 -50
- package/src/utils/versions.js +55 -49
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +8 -4
- package/src/migrations/latest/add-assemble-target/migration.js.map +0 -1
- package/src/migrations/latest/agent-connection-pin-strands-peers/migration.js.map +0 -1
- package/src/migrations/latest/agent-core-vendor-target/migration.js.map +0 -1
- package/src/migrations/latest/declare-cacheable-target-inputs/migration.js.map +0 -1
- package/src/migrations/latest/dev-target-depends-on-pull-image/migration.js.map +0 -1
- package/src/migrations/latest/docker-target-cache-soundness/migration.js.map +0 -1
- package/src/migrations/latest/ignore-package-manager-temp-files/migration.js.map +0 -1
- package/src/migrations/latest/infra-deploy-express-mode/metadata.json +0 -3
- package/src/migrations/latest/infra-deploy-express-mode/migration.js.map +0 -1
- package/src/migrations/latest/open-api-codegen-executor/migration.js.map +0 -1
- package/src/migrations/latest/python-test-input-scoping/migration.js.map +0 -1
- package/src/migrations/latest/react-website-unique-dev-ports/migration.js.map +0 -1
- package/src/migrations/latest/rolldown-config-bundle-transient/migration.js.map +0 -1
- package/src/migrations/latest/shadcn-package-imports-exports/migration.js.map +0 -1
- package/src/migrations/latest/shx-fs-commands/migration.js.map +0 -1
- package/src/migrations/latest/terraform-fmt-check/migration.js.map +0 -1
- package/src/migrations/latest/terraform-provider-plugin-cache/migration.js.map +0 -1
- package/src/migrations/latest/vitest-coverage-output-dir/migration.js.map +0 -1
- package/src/py/dynamodb/files/__name__/__init__.py.template +0 -6
- package/src/py/dynamodb/files/__name__/entities/__init__.py.template +0 -4
- package/src/py/dynamodb/files/config.json.template +0 -24
- package/src/ts/dynamodb/files/config.json.template +0 -24
- package/src/ts/dynamodb/files/src/entities/index.ts.template +0 -1
- package/src/ts/dynamodb/files/src/index.ts.template +0 -2
- /package/src/migrations/latest/{add-assemble-target → sandbox-pattern-nested-stacks}/migration.d.ts +0 -0
- /package/src/migrations/latest/{agent-core-vendor-target → shadcn-cn-package}/migration.d.ts +0 -0
- /package/src/migrations/{latest/dev-target-depends-on-pull-image → v1.0.0-rc.90/0001-dev-target-depends-on-pull-image}/metadata.json +0 -0
- /package/src/migrations/{latest/declare-cacheable-target-inputs → v1.0.0-rc.90/0001-dev-target-depends-on-pull-image}/migration.d.ts +0 -0
- /package/src/migrations/{latest/dev-target-depends-on-pull-image → v1.0.0-rc.90/0001-dev-target-depends-on-pull-image}/migration.js +0 -0
- /package/src/migrations/{latest/open-api-codegen-executor → v1.0.0-rc.90/0002-open-api-codegen-executor}/metadata.json +0 -0
- /package/src/migrations/{latest/dev-target-depends-on-pull-image → v1.0.0-rc.90/0002-open-api-codegen-executor}/migration.d.ts +0 -0
- /package/src/migrations/{latest/open-api-codegen-executor → v1.0.0-rc.90/0002-open-api-codegen-executor}/migration.js +0 -0
- /package/src/migrations/{latest/terraform-provider-plugin-cache → v1.0.0-rc.90/0003-terraform-provider-plugin-cache}/metadata.json +0 -0
- /package/src/migrations/{latest/docker-target-cache-soundness → v1.0.0-rc.90/0003-terraform-provider-plugin-cache}/migration.d.ts +0 -0
- /package/src/migrations/{latest/terraform-provider-plugin-cache → v1.0.0-rc.90/0003-terraform-provider-plugin-cache}/migration.js +0 -0
- /package/src/migrations/{latest/python-test-input-scoping → v1.0.0-rc.90/0004-python-test-input-scoping}/metadata.json +0 -0
- /package/src/migrations/{latest/infra-deploy-express-mode → v1.0.0-rc.90/0004-python-test-input-scoping}/migration.d.ts +0 -0
- /package/src/migrations/{latest/python-test-input-scoping → v1.0.0-rc.90/0004-python-test-input-scoping}/migration.js +0 -0
- /package/src/migrations/{latest/vitest-coverage-output-dir → v1.0.0-rc.90/0005-vitest-coverage-output-dir}/metadata.json +0 -0
- /package/src/migrations/{latest/open-api-codegen-executor → v1.0.0-rc.90/0005-vitest-coverage-output-dir}/migration.d.ts +0 -0
- /package/src/migrations/{latest/vitest-coverage-output-dir → v1.0.0-rc.90/0005-vitest-coverage-output-dir}/migration.js +0 -0
- /package/src/migrations/{latest/add-assemble-target → v1.0.0-rc.90/0006-add-assemble-target}/metadata.json +0 -0
- /package/src/migrations/{latest/python-test-input-scoping → v1.0.0-rc.90/0006-add-assemble-target}/migration.d.ts +0 -0
- /package/src/migrations/{latest/add-assemble-target → v1.0.0-rc.90/0006-add-assemble-target}/migration.js +0 -0
- /package/src/migrations/{latest/docker-target-cache-soundness → v1.0.0-rc.90/0007-docker-target-cache-soundness}/metadata.json +0 -0
- /package/src/migrations/{latest/react-website-unique-dev-ports → v1.0.0-rc.90/0007-docker-target-cache-soundness}/migration.d.ts +0 -0
- /package/src/migrations/{latest/docker-target-cache-soundness → v1.0.0-rc.90/0007-docker-target-cache-soundness}/migration.js +0 -0
- /package/src/migrations/{latest/declare-cacheable-target-inputs → v1.0.0-rc.90/0008-declare-cacheable-target-inputs}/metadata.json +0 -0
- /package/src/migrations/{latest/rolldown-config-bundle-transient → v1.0.0-rc.90/0008-declare-cacheable-target-inputs}/migration.d.ts +0 -0
- /package/src/migrations/{latest/declare-cacheable-target-inputs → v1.0.0-rc.90/0008-declare-cacheable-target-inputs}/migration.js +0 -0
- /package/src/migrations/{latest/terraform-fmt-check → v1.0.0-rc.90/0009-terraform-fmt-check}/metadata.json +0 -0
- /package/src/migrations/{latest/shadcn-package-imports-exports → v1.0.0-rc.90/0009-terraform-fmt-check}/migration.d.ts +0 -0
- /package/src/migrations/{latest/terraform-fmt-check → v1.0.0-rc.90/0009-terraform-fmt-check}/migration.js +0 -0
- /package/src/migrations/{latest/react-website-unique-dev-ports → v1.0.0-rc.92/0001-react-website-unique-dev-ports}/metadata.json +0 -0
- /package/src/migrations/{latest/shx-fs-commands → v1.0.0-rc.92/0001-react-website-unique-dev-ports}/migration.d.ts +0 -0
- /package/src/migrations/{latest/react-website-unique-dev-ports → v1.0.0-rc.92/0001-react-website-unique-dev-ports}/migration.js +0 -0
- /package/src/migrations/{latest/terraform-fmt-check → v1.0.0-rc.94/0001-infra-deploy-express-mode}/migration.d.ts +0 -0
- /package/src/migrations/{latest/shx-fs-commands → v1.0.0-rc.94/0002-shx-fs-commands}/metadata.json +0 -0
- /package/src/migrations/{latest/terraform-provider-plugin-cache → v1.0.0-rc.94/0002-shx-fs-commands}/migration.d.ts +0 -0
- /package/src/migrations/{latest/shx-fs-commands → v1.0.0-rc.94/0002-shx-fs-commands}/migration.js +0 -0
- /package/src/migrations/{latest/agent-core-vendor-target → v1.0.0-rc.94/0003-agent-core-vendor-target}/metadata.json +0 -0
- /package/src/migrations/{latest/vitest-coverage-output-dir → v1.0.0-rc.94/0003-agent-core-vendor-target}/migration.d.ts +0 -0
- /package/src/migrations/{latest/agent-core-vendor-target → v1.0.0-rc.94/0003-agent-core-vendor-target}/migration.js +0 -0
- /package/src/migrations/{latest/rolldown-config-bundle-transient → v1.0.0-rc.95/0001-rolldown-config-bundle-transient}/metadata.json +0 -0
- /package/src/migrations/{latest/rolldown-config-bundle-transient → v1.0.0-rc.95/0001-rolldown-config-bundle-transient}/migration.js +0 -0
- /package/src/migrations/{latest/agent-connection-pin-strands-peers → v1.0.0-rc.95/0002-agent-connection-pin-strands-peers}/metadata.json +0 -0
- /package/src/migrations/{latest/agent-connection-pin-strands-peers → v1.0.0-rc.95/0002-agent-connection-pin-strands-peers}/migration.d.ts +0 -0
- /package/src/migrations/{latest/agent-connection-pin-strands-peers → v1.0.0-rc.95/0002-agent-connection-pin-strands-peers}/migration.js +0 -0
- /package/src/migrations/{latest/ignore-package-manager-temp-files → v1.0.0-rc.95/0003-ignore-package-manager-temp-files}/metadata.json +0 -0
- /package/src/migrations/{latest/ignore-package-manager-temp-files → v1.0.0-rc.95/0003-ignore-package-manager-temp-files}/migration.d.ts +0 -0
- /package/src/migrations/{latest/ignore-package-manager-temp-files → v1.0.0-rc.95/0003-ignore-package-manager-temp-files}/migration.js +0 -0
- /package/src/migrations/{latest/shadcn-package-imports-exports → v1.0.0-rc.95/0004-shadcn-package-imports-exports}/metadata.json +0 -0
- /package/src/migrations/{latest/shadcn-package-imports-exports → v1.0.0-rc.95/0004-shadcn-package-imports-exports}/migration.js +0 -0
package/LICENSE-THIRD-PARTY
CHANGED
|
@@ -217,7 +217,7 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|
|
217
217
|
|
|
218
218
|
---
|
|
219
219
|
|
|
220
|
-
The following software may be included in this product: @astral-sh/ruff-wasm-nodejs (0.16.
|
|
220
|
+
The following software may be included in this product: @astral-sh/ruff-wasm-nodejs (0.16.6)
|
|
221
221
|
This software contains the following license and notice below:
|
|
222
222
|
|
|
223
223
|
MIT License
|
|
@@ -4945,7 +4945,7 @@ SOFTWARE.
|
|
|
4945
4945
|
|
|
4946
4946
|
---
|
|
4947
4947
|
|
|
4948
|
-
The following software may be included in this product: @oxc-project/types (0.
|
|
4948
|
+
The following software may be included in this product: @oxc-project/types (0.148.0)
|
|
4949
4949
|
This software contains the following license and notice below:
|
|
4950
4950
|
|
|
4951
4951
|
MIT License
|
|
@@ -5282,7 +5282,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
5282
5282
|
|
|
5283
5283
|
---
|
|
5284
5284
|
|
|
5285
|
-
The following software may be included in this product: @rolldown/binding-linux-x64-gnu (1.2.
|
|
5285
|
+
The following software may be included in this product: @rolldown/binding-linux-x64-gnu (1.2.7)
|
|
5286
5286
|
This software contains the following license and notice below:
|
|
5287
5287
|
|
|
5288
5288
|
MIT License
|
|
@@ -5982,7 +5982,7 @@ SOFTWARE
|
|
|
5982
5982
|
|
|
5983
5983
|
---
|
|
5984
5984
|
|
|
5985
|
-
The following software may be included in this product: @types/node (26.4.
|
|
5985
|
+
The following software may be included in this product: @types/node (26.4.1)
|
|
5986
5986
|
This software contains the following license and notice below:
|
|
5987
5987
|
|
|
5988
5988
|
MIT License
|
|
@@ -6522,7 +6522,7 @@ SOFTWARE.
|
|
|
6522
6522
|
|
|
6523
6523
|
---
|
|
6524
6524
|
|
|
6525
|
-
The following software may be included in this product: @verdaccio/ui-theme (9.0.0-next-9.
|
|
6525
|
+
The following software may be included in this product: @verdaccio/ui-theme (9.0.0-next-9.30)
|
|
6526
6526
|
This software contains the following license and notice below:
|
|
6527
6527
|
|
|
6528
6528
|
MIT License
|
|
@@ -20141,7 +20141,7 @@ SOFTWARE.
|
|
|
20141
20141
|
|
|
20142
20142
|
---
|
|
20143
20143
|
|
|
20144
|
-
The following software may be included in this product: rolldown (1.2.
|
|
20144
|
+
The following software may be included in this product: rolldown (1.2.7)
|
|
20145
20145
|
This software contains the following license and notice below:
|
|
20146
20146
|
|
|
20147
20147
|
MIT License
|
|
@@ -22318,7 +22318,7 @@ SOFTWARE.
|
|
|
22318
22318
|
|
|
22319
22319
|
---
|
|
22320
22320
|
|
|
22321
|
-
The following software may be included in this product: tsx (4.23.
|
|
22321
|
+
The following software may be included in this product: tsx (4.23.13)
|
|
22322
22322
|
This software contains the following license and notice below:
|
|
22323
22323
|
|
|
22324
22324
|
MIT License
|
|
@@ -22488,7 +22488,7 @@ THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
22488
22488
|
|
|
22489
22489
|
---
|
|
22490
22490
|
|
|
22491
|
-
The following software may be included in this product: undici (7.
|
|
22491
|
+
The following software may be included in this product: undici (7.29.0)
|
|
22492
22492
|
This software contains the following license and notice below:
|
|
22493
22493
|
|
|
22494
22494
|
MIT License
|
|
@@ -23060,7 +23060,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
23060
23060
|
|
|
23061
23061
|
---
|
|
23062
23062
|
|
|
23063
|
-
The following software may be included in this product: verdaccio (6.10.
|
|
23063
|
+
The following software may be included in this product: verdaccio (6.10.2)
|
|
23064
23064
|
This software contains the following license and notice below:
|
|
23065
23065
|
|
|
23066
23066
|
MIT License
|
package/migrations.json
CHANGED
|
@@ -2,90 +2,15 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/schema",
|
|
3
3
|
"name": "@aws/nx-plugin",
|
|
4
4
|
"generators": {
|
|
5
|
-
"latest-
|
|
6
|
-
"version": "1.0.0-rc.
|
|
7
|
-
"description": "
|
|
8
|
-
"implementation": "./src/migrations/latest/
|
|
9
|
-
},
|
|
10
|
-
"latest-open-api-codegen-executor": {
|
|
11
|
-
"version": "1.0.0-rc.90",
|
|
12
|
-
"description": "Switch generated OpenAPI codegen targets to the in-process open-api-codegen executor",
|
|
13
|
-
"implementation": "./src/migrations/latest/open-api-codegen-executor/migration"
|
|
14
|
-
},
|
|
15
|
-
"latest-terraform-provider-plugin-cache": {
|
|
16
|
-
"version": "1.0.0-rc.90",
|
|
17
|
-
"description": "Share Terraform provider downloads across terraform init targets via TF_PLUGIN_CACHE_DIR",
|
|
18
|
-
"implementation": "./src/migrations/latest/terraform-provider-plugin-cache/migration"
|
|
19
|
-
},
|
|
20
|
-
"latest-python-test-input-scoping": {
|
|
21
|
-
"version": "1.0.0-rc.90",
|
|
22
|
-
"description": "Exclude Python test files from the production named input and scope dependent task outputs to dist so Python test edits do not invalidate build tasks",
|
|
23
|
-
"implementation": "./src/migrations/latest/python-test-input-scoping/migration"
|
|
24
|
-
},
|
|
25
|
-
"latest-vitest-coverage-output-dir": {
|
|
26
|
-
"version": "1.0.0-rc.90",
|
|
27
|
-
"description": "Write vitest coverage reports to the project's dist directory rather than inside the project",
|
|
28
|
-
"implementation": "./src/migrations/latest/vitest-coverage-output-dir/migration"
|
|
29
|
-
},
|
|
30
|
-
"latest-add-assemble-target": {
|
|
31
|
-
"version": "1.0.0-rc.90",
|
|
32
|
-
"description": "Add an assemble target as the artifact-only sibling of build, point the deploy targets at it, and narrow compile targets depending on ^build to ^compile",
|
|
33
|
-
"implementation": "./src/migrations/latest/add-assemble-target/migration"
|
|
34
|
-
},
|
|
35
|
-
"latest-docker-target-cache-soundness": {
|
|
36
|
-
"version": "1.0.0-rc.90",
|
|
37
|
-
"description": "Make container image build and scan targets non-cacheable, so a cache hit can never report success for an image the container engine no longer has",
|
|
38
|
-
"implementation": "./src/migrations/latest/docker-target-cache-soundness/migration"
|
|
39
|
-
},
|
|
40
|
-
"latest-declare-cacheable-target-inputs": {
|
|
41
|
-
"version": "1.0.0-rc.90",
|
|
42
|
-
"description": "Declare explicit inputs on cacheable bundle, openapi, operations and checkov targets so they no longer read a dependency's whole project directory through Nx's implicit inputs",
|
|
43
|
-
"implementation": "./src/migrations/latest/declare-cacheable-target-inputs/migration"
|
|
44
|
-
},
|
|
45
|
-
"latest-terraform-fmt-check": {
|
|
46
|
-
"version": "1.0.0-rc.90",
|
|
47
|
-
"description": "Make the terraform fmt target check formatting rather than rewrite its own inputs, moving the write to a fix configuration, and add a lint target which orchestrates it",
|
|
48
|
-
"implementation": "./src/migrations/latest/terraform-fmt-check/migration"
|
|
5
|
+
"latest-sandbox-pattern-nested-stacks": {
|
|
6
|
+
"version": "1.0.0-rc.98",
|
|
7
|
+
"description": "Update the deploy-sandbox and destroy-sandbox stage patterns to match stacks nested below the stage's stacks, so cdk destroy removes the website WebACL stack",
|
|
8
|
+
"implementation": "./src/migrations/latest/sandbox-pattern-nested-stacks/migration"
|
|
49
9
|
},
|
|
50
|
-
"latest-
|
|
51
|
-
"version": "1.0.0-rc.
|
|
52
|
-
"description": "
|
|
53
|
-
"implementation": "./src/migrations/latest/
|
|
54
|
-
},
|
|
55
|
-
"latest-infra-deploy-express-mode": {
|
|
56
|
-
"version": "1.0.0-rc.94",
|
|
57
|
-
"description": "Deploy using CloudFormation express mode from the deploy and deploy-sandbox targets of ts#infra projects",
|
|
58
|
-
"implementation": "./src/migrations/latest/infra-deploy-express-mode/migration"
|
|
59
|
-
},
|
|
60
|
-
"latest-shx-fs-commands": {
|
|
61
|
-
"version": "1.0.0-rc.94",
|
|
62
|
-
"description": "Replace the ncp, rimraf, make-dir-cli and cpy-cli filesystem CLIs with shx",
|
|
63
|
-
"implementation": "./src/migrations/latest/shx-fs-commands/migration"
|
|
64
|
-
},
|
|
65
|
-
"latest-agent-core-vendor-target": {
|
|
66
|
-
"version": "1.0.0-rc.94",
|
|
67
|
-
"description": "Cache the AgentCore ADOT install in its own target so editing an agent no longer re-runs it",
|
|
68
|
-
"implementation": "./src/migrations/latest/agent-core-vendor-target/migration"
|
|
69
|
-
},
|
|
70
|
-
"latest-rolldown-config-bundle-transient": {
|
|
71
|
-
"version": "1.0.0-rc.95",
|
|
72
|
-
"description": "Exclude the transient bundle rolldown writes while loading a TypeScript config from Biome and from git, so a concurrent format or lint target cannot fail on it",
|
|
73
|
-
"implementation": "./src/migrations/latest/rolldown-config-bundle-transient/migration"
|
|
74
|
-
},
|
|
75
|
-
"latest-agent-connection-pin-strands-peers": {
|
|
76
|
-
"version": "1.0.0-rc.95",
|
|
77
|
-
"description": "Declare @aws-sdk/client-s3 in the shared agent-connection project so @strands-agents/sdk resolves to a single peer-suffixed instance",
|
|
78
|
-
"implementation": "./src/migrations/latest/agent-connection-pin-strands-peers/migration"
|
|
79
|
-
},
|
|
80
|
-
"latest-ignore-package-manager-temp-files": {
|
|
81
|
-
"version": "1.0.0-rc.95",
|
|
82
|
-
"description": "Ignore the temporary files pnpm writes at the workspace root while materialising packages, which otherwise invalidate the Nx project graph",
|
|
83
|
-
"implementation": "./src/migrations/latest/ignore-package-manager-temp-files/migration"
|
|
84
|
-
},
|
|
85
|
-
"latest-shadcn-package-imports-exports": {
|
|
86
|
-
"version": "1.0.0-rc.95",
|
|
87
|
-
"description": "Move the shared shadcn package from a tsconfig paths alias to package.json imports/exports, matching the shadcn CLI's own monorepo resolution",
|
|
88
|
-
"implementation": "./src/migrations/latest/shadcn-package-imports-exports/migration"
|
|
10
|
+
"latest-shadcn-cn-package": {
|
|
11
|
+
"version": "1.0.0-rc.98",
|
|
12
|
+
"description": "Move the shared shadcn package's components onto the cn package the shadcn registry now depends on",
|
|
13
|
+
"implementation": "./src/migrations/latest/shadcn-cn-package/migration"
|
|
89
14
|
},
|
|
90
15
|
"v1.0.0-rc.50-0001-modernize-function-props-cast": {
|
|
91
16
|
"version": "1.0.0-rc.50",
|
|
@@ -327,8 +252,123 @@
|
|
|
327
252
|
"description": "Set nx.json parallel to 8 so full builds use available cores, preserving an existing value",
|
|
328
253
|
"implementation": "./src/migrations/v1.0.0-rc.89/0001-nx-parallel-default/migration"
|
|
329
254
|
},
|
|
255
|
+
"v1.0.0-rc.90-0001-dev-target-depends-on-pull-image": {
|
|
256
|
+
"version": "1.0.0-rc.90",
|
|
257
|
+
"description": "Add dependsOn pull-image to the dev target of ts#dynamodb and ts#rdb projects",
|
|
258
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0001-dev-target-depends-on-pull-image/migration"
|
|
259
|
+
},
|
|
260
|
+
"v1.0.0-rc.90-0002-open-api-codegen-executor": {
|
|
261
|
+
"version": "1.0.0-rc.90",
|
|
262
|
+
"description": "Switch generated OpenAPI codegen targets to the in-process open-api-codegen executor",
|
|
263
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0002-open-api-codegen-executor/migration"
|
|
264
|
+
},
|
|
265
|
+
"v1.0.0-rc.90-0003-terraform-provider-plugin-cache": {
|
|
266
|
+
"version": "1.0.0-rc.90",
|
|
267
|
+
"description": "Share Terraform provider downloads across terraform init targets via TF_PLUGIN_CACHE_DIR",
|
|
268
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0003-terraform-provider-plugin-cache/migration"
|
|
269
|
+
},
|
|
270
|
+
"v1.0.0-rc.90-0004-python-test-input-scoping": {
|
|
271
|
+
"version": "1.0.0-rc.90",
|
|
272
|
+
"description": "Exclude Python test files from the production named input and scope dependent task outputs to dist so Python test edits do not invalidate build tasks",
|
|
273
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0004-python-test-input-scoping/migration"
|
|
274
|
+
},
|
|
275
|
+
"v1.0.0-rc.90-0005-vitest-coverage-output-dir": {
|
|
276
|
+
"version": "1.0.0-rc.90",
|
|
277
|
+
"description": "Write vitest coverage reports to the project's dist directory rather than inside the project",
|
|
278
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0005-vitest-coverage-output-dir/migration"
|
|
279
|
+
},
|
|
280
|
+
"v1.0.0-rc.90-0006-add-assemble-target": {
|
|
281
|
+
"version": "1.0.0-rc.90",
|
|
282
|
+
"description": "Add an assemble target as the artifact-only sibling of build, point the deploy targets at it, and narrow compile targets depending on ^build to ^compile",
|
|
283
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0006-add-assemble-target/migration"
|
|
284
|
+
},
|
|
285
|
+
"v1.0.0-rc.90-0007-docker-target-cache-soundness": {
|
|
286
|
+
"version": "1.0.0-rc.90",
|
|
287
|
+
"description": "Make container image build and scan targets non-cacheable, so a cache hit can never report success for an image the container engine no longer has",
|
|
288
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0007-docker-target-cache-soundness/migration"
|
|
289
|
+
},
|
|
290
|
+
"v1.0.0-rc.90-0008-declare-cacheable-target-inputs": {
|
|
291
|
+
"version": "1.0.0-rc.90",
|
|
292
|
+
"description": "Declare explicit inputs on cacheable bundle, openapi, operations and checkov targets so they no longer read a dependency's whole project directory through Nx's implicit inputs",
|
|
293
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0008-declare-cacheable-target-inputs/migration"
|
|
294
|
+
},
|
|
295
|
+
"v1.0.0-rc.90-0009-terraform-fmt-check": {
|
|
296
|
+
"version": "1.0.0-rc.90",
|
|
297
|
+
"description": "Make the terraform fmt target check formatting rather than rewrite its own inputs, moving the write to a fix configuration, and add a lint target which orchestrates it",
|
|
298
|
+
"implementation": "./src/migrations/v1.0.0-rc.90/0009-terraform-fmt-check/migration"
|
|
299
|
+
},
|
|
300
|
+
"v1.0.0-rc.92-0001-react-website-unique-dev-ports": {
|
|
301
|
+
"version": "1.0.0-rc.92",
|
|
302
|
+
"description": "Assign each react-website project its own dev-server and preview port, and allow-list them for any connected Cognito auth",
|
|
303
|
+
"implementation": "./src/migrations/v1.0.0-rc.92/0001-react-website-unique-dev-ports/migration"
|
|
304
|
+
},
|
|
305
|
+
"v1.0.0-rc.94-0001-infra-deploy-express-mode": {
|
|
306
|
+
"version": "1.0.0-rc.94",
|
|
307
|
+
"description": "Deploy using CloudFormation express mode from the deploy-sandbox target of ts#infra projects, and wait for full stabilization from deploy",
|
|
308
|
+
"implementation": "./src/migrations/v1.0.0-rc.94/0001-infra-deploy-express-mode/migration"
|
|
309
|
+
},
|
|
310
|
+
"v1.0.0-rc.94-0002-shx-fs-commands": {
|
|
311
|
+
"version": "1.0.0-rc.94",
|
|
312
|
+
"description": "Replace the ncp, rimraf, make-dir-cli and cpy-cli filesystem CLIs with shx",
|
|
313
|
+
"implementation": "./src/migrations/v1.0.0-rc.94/0002-shx-fs-commands/migration"
|
|
314
|
+
},
|
|
315
|
+
"v1.0.0-rc.94-0003-agent-core-vendor-target": {
|
|
316
|
+
"version": "1.0.0-rc.94",
|
|
317
|
+
"description": "Cache the AgentCore ADOT install in its own target so editing an agent no longer re-runs it",
|
|
318
|
+
"implementation": "./src/migrations/v1.0.0-rc.94/0003-agent-core-vendor-target/migration"
|
|
319
|
+
},
|
|
320
|
+
"v1.0.0-rc.95-0001-rolldown-config-bundle-transient": {
|
|
321
|
+
"version": "1.0.0-rc.95",
|
|
322
|
+
"description": "Exclude the transient bundle rolldown writes while loading a TypeScript config from Biome and from git, so a concurrent format or lint target cannot fail on it",
|
|
323
|
+
"implementation": "./src/migrations/v1.0.0-rc.95/0001-rolldown-config-bundle-transient/migration"
|
|
324
|
+
},
|
|
325
|
+
"v1.0.0-rc.95-0002-agent-connection-pin-strands-peers": {
|
|
326
|
+
"version": "1.0.0-rc.95",
|
|
327
|
+
"description": "Declare @aws-sdk/client-s3 in the shared agent-connection project so @strands-agents/sdk resolves to a single peer-suffixed instance",
|
|
328
|
+
"implementation": "./src/migrations/v1.0.0-rc.95/0002-agent-connection-pin-strands-peers/migration"
|
|
329
|
+
},
|
|
330
|
+
"v1.0.0-rc.95-0003-ignore-package-manager-temp-files": {
|
|
331
|
+
"version": "1.0.0-rc.95",
|
|
332
|
+
"description": "Ignore the temporary files pnpm writes at the workspace root while materialising packages, which otherwise invalidate the Nx project graph",
|
|
333
|
+
"implementation": "./src/migrations/v1.0.0-rc.95/0003-ignore-package-manager-temp-files/migration"
|
|
334
|
+
},
|
|
335
|
+
"v1.0.0-rc.95-0004-shadcn-package-imports-exports": {
|
|
336
|
+
"version": "1.0.0-rc.95",
|
|
337
|
+
"description": "Move the shared shadcn package from a tsconfig paths alias to package.json imports/exports, matching the shadcn CLI's own monorepo resolution",
|
|
338
|
+
"implementation": "./src/migrations/v1.0.0-rc.95/0004-shadcn-package-imports-exports/migration"
|
|
339
|
+
},
|
|
340
|
+
"v1.0.0-rc.97-0001-gateway-url-accessor": {
|
|
341
|
+
"version": "1.0.0-rc.97",
|
|
342
|
+
"description": "Expose a non-optional gatewayUrl accessor on the vended AgentCoreGateway construct",
|
|
343
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0001-gateway-url-accessor/migration"
|
|
344
|
+
},
|
|
345
|
+
"v1.0.0-rc.97-0002-checkov-scan-cache-inputs": {
|
|
346
|
+
"version": "1.0.0-rc.97",
|
|
347
|
+
"description": "Scope the CDK infrastructure checkov target's cache inputs so the security scan cannot serve a stale pass",
|
|
348
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0002-checkov-scan-cache-inputs/migration"
|
|
349
|
+
},
|
|
350
|
+
"v1.0.0-rc.97-0003-terraform-validate-without-backend": {
|
|
351
|
+
"version": "1.0.0-rc.97",
|
|
352
|
+
"description": "Run the Terraform validate target with -backend=false so it works before bootstrap",
|
|
353
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0003-terraform-validate-without-backend/migration"
|
|
354
|
+
},
|
|
355
|
+
"v1.0.0-rc.97-0004-py-lambda-powertools-context": {
|
|
356
|
+
"version": "1.0.0-rc.97",
|
|
357
|
+
"description": "Add powertools Lambda context injection and cold start metrics to Python Lambda handlers",
|
|
358
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0004-py-lambda-powertools-context/migration"
|
|
359
|
+
},
|
|
360
|
+
"v1.0.0-rc.97-0005-smithy-extension-trait-aliases": {
|
|
361
|
+
"version": "1.0.0-rc.97",
|
|
362
|
+
"description": "Alias the extensions.smithy vendor-extension traits so Smithy emits x-query / x-mutation / x-cursor",
|
|
363
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0005-smithy-extension-trait-aliases/migration"
|
|
364
|
+
},
|
|
365
|
+
"v1.0.0-rc.97-0006-script-project-quality-gates": {
|
|
366
|
+
"version": "1.0.0-rc.97",
|
|
367
|
+
"description": "Add build, lint, format and typecheck targets plus a tsconfig.json to AgentCore Gateway and Harness projects",
|
|
368
|
+
"implementation": "./src/migrations/v1.0.0-rc.97/0006-script-project-quality-gates/migration"
|
|
369
|
+
},
|
|
330
370
|
"sync-vended-versions": {
|
|
331
|
-
"version": "1.0.0-rc.
|
|
371
|
+
"version": "1.0.0-rc.98",
|
|
332
372
|
"description": "Sync vended dependency versions and the tracked plugin version to those vended by this release",
|
|
333
373
|
"implementation": "./src/utils/version-upgrade-migration/migration"
|
|
334
374
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/nx-plugin",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.98",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@apidevtools/swagger-parser": "12.1.0",
|
|
43
|
-
"@astral-sh/ruff-wasm-nodejs": "0.16.
|
|
43
|
+
"@astral-sh/ruff-wasm-nodejs": "0.16.6",
|
|
44
44
|
"@biomejs/js-api": "6.0.0",
|
|
45
|
-
"@biomejs/wasm-nodejs": "2.5.
|
|
45
|
+
"@biomejs/wasm-nodejs": "2.5.12",
|
|
46
46
|
"@getgrit/gritql": "0.0.3",
|
|
47
47
|
"@iarna/toml": "2.2.5",
|
|
48
48
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
@@ -7,7 +7,7 @@ exports[`agentcore-gateway generator > protocol: http > omits protocol_type from
|
|
|
7
7
|
required_providers {
|
|
8
8
|
aws = {
|
|
9
9
|
source = "hashicorp/aws"
|
|
10
|
-
version = "6.
|
|
10
|
+
version = "6.63.0"
|
|
11
11
|
}
|
|
12
12
|
time = {
|
|
13
13
|
source = "hashicorp/time"
|
|
@@ -336,7 +336,7 @@ export class MyGateway extends AgentCoreGateway {
|
|
|
336
336
|
const rc = RuntimeConfig.ensure(this);
|
|
337
337
|
rc.set('agentcore', 'gateways', {
|
|
338
338
|
...rc.get('agentcore').gateways,
|
|
339
|
-
MyGateway: this.
|
|
339
|
+
MyGateway: this.gatewayUrl,
|
|
340
340
|
});
|
|
341
341
|
}
|
|
342
342
|
}
|
|
@@ -14,6 +14,7 @@ import { getNpmScopePrefix } from "../utils/npm-scope.js";
|
|
|
14
14
|
import { addGeneratorMetadata, getGeneratorInfo, projectExists, readProjectConfigurationUnqualified } from "../utils/nx.js";
|
|
15
15
|
import { assignPort } from "../utils/port.js";
|
|
16
16
|
import { ensureProjectPackageJson } from "../utils/project-package-json.js";
|
|
17
|
+
import { addScriptProjectTargets } from "../utils/script-project-targets.js";
|
|
17
18
|
import { SHARED_CONSTRUCTS_DEPENDENCIES, sharedConstructsGenerator } from "../utils/shared-constructs.js";
|
|
18
19
|
// The gateway's local-dev server needs these whatever the auth; only the MCP
|
|
19
20
|
// SDK is protocol-specific (the http local gateway is a plain proxy).
|
|
@@ -117,6 +118,11 @@ export const agentcoreGatewayGenerator = async (tree, options)=>{
|
|
|
117
118
|
project.targets ??= {};
|
|
118
119
|
project.targets['serve'] ??= localGatewayTarget(port);
|
|
119
120
|
project.targets['dev'] ??= localGatewayTarget(port);
|
|
121
|
+
// local-dev.ts is TypeScript the connection generators edit and the user is
|
|
122
|
+
// invited to tune, so it goes through the workspace's build sweep.
|
|
123
|
+
addScriptProjectTargets(tree, {
|
|
124
|
+
project
|
|
125
|
+
});
|
|
120
126
|
updateProjectConfiguration(tree, project.name, project);
|
|
121
127
|
// Scaffold the gateway project: local-dev.ts (+ Cedar policies if requested)
|
|
122
128
|
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'project', protocol), projectRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/nx-plugin/src/agentcore-gateway/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n logger,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { addTsDependencies } from '../utils/add-dependencies.js';\nimport {\n AGENT_CORE_CONSTRUCTS_DEPENDENCIES,\n AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES,\n addAgentCoreGatewayInfra,\n} from '../utils/agent-core-constructs/agent-core-constructs.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../utils/format.js';\nimport { resolveIac } from '../utils/iac.js';\nimport { installDependencies } from '../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../utils/metrics.js';\nimport { kebabCase, toClassName } from '../utils/names.js';\nimport { getNpmScopePrefix } from '../utils/npm-scope.js';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n readProjectConfigurationUnqualified,\n} from '../utils/nx.js';\nimport { assignPort } from '../utils/port.js';\nimport { ensureProjectPackageJson } from '../utils/project-package-json.js';\nimport {\n SHARED_CONSTRUCTS_DEPENDENCIES,\n sharedConstructsGenerator,\n} from '../utils/shared-constructs.js';\nimport type { IacMetadata } from '../utils/shared-constructs-constants.js';\nimport type { AgentcoreGatewayGeneratorSchema } from './schema';\n\n// The gateway's local-dev server needs these whatever the auth; only the MCP\n// SDK is protocol-specific (the http local gateway is a plain proxy).\nexport const DEPENDENCIES = declareDependencies<AgentCoreGatewayMetadata>()({\n ts: [\n { name: '@modelcontextprotocol/sdk', when: (m) => m.protocol === 'mcp' },\n { name: 'express' },\n { name: '@types/express', dev: true },\n // local-dev.ts runs via tsx, which is shared tooling.\n { name: 'tsx', dev: true, root: true },\n ...ownedElsewhere(AGENT_CORE_CONSTRUCTS_DEPENDENCIES),\n ...ownedElsewhere(SHARED_CONSTRUCTS_DEPENDENCIES),\n ],\n py: ownedElsewhere(AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES),\n});\n\nexport const AGENTCORE_GATEWAY_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const agentcoreGatewayGenerator = async (\n tree: Tree,\n options: AgentcoreGatewayGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const name = kebabCase(options.name);\n const nameClassName = toClassName(name);\n const parentDir = options.directory ?? 'packages';\n const subDir = options.subDirectory ?? name;\n const projectRoot = joinPathFragments(parentDir, subDir);\n const fullyQualifiedName = `${getNpmScopePrefix(tree)}${name}`;\n\n // Protocol is mcp (aggregate MCP server targets into one MCP endpoint) or\n // http (proxy agent runtime targets via path-based routing). Persisted in\n // metadata so connection generators can validate it.\n const protocol = options.protocol ?? 'mcp';\n // Inbound auth is iam (default) or cognito. Persisted in metadata so\n // connection generators can validate it (agent -> gateway connections\n // require an IAM gateway).\n const auth = options.auth ?? 'iam';\n // Cedar policies authorize MCP tool actions, which an http gateway has none\n // of — its runtime targets are plain proxied endpoints — so the policy\n // engine only applies to mcp gateways. cedarPolicy defaults to true in the\n // schema, so an http gateway quietly drops it rather than requiring\n // --cedarPolicy=false.\n if (protocol === 'http' && options.cedarPolicy) {\n logger.warn(\n 'Cedar policies authorize MCP tool actions, so cedarPolicy is ignored for http-protocol gateways.',\n );\n }\n const cedarPolicy = protocol === 'mcp' && (options.cedarPolicy ?? true);\n const infra = options.infra ?? 'agentcore';\n\n // local-dev.ts is the local gateway: a continuous MCP aggregator chaining\n // onto attached MCP servers' dev targets (added by the mcp-connection\n // generator), so a single `nx dev <gateway>` boots the gateway and every\n // attached MCP server together.\n //\n // `serve` exists for parity with other generators; the deployed Gateway is\n // a managed AWS resource, so `serve`-mode agents talk to it via runtime\n // config and the local gateway sits idle.\n const localGatewayTarget = (port: number) => ({\n executor: 'nx:run-commands' as const,\n continuous: true,\n options: {\n command: 'tsx local-dev.ts',\n cwd: '{projectRoot}',\n env: { PORT: `${port}` },\n },\n dependsOn: [] as Array<string | { projects: string[]; target: string }>,\n });\n let project: ProjectConfiguration;\n if (projectExists(tree, fullyQualifiedName)) {\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n } else {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: projectRoot,\n projectType: 'library',\n sourceRoot: projectRoot,\n tags: [],\n targets: {},\n metadata: {\n generator: AGENTCORE_GATEWAY_GENERATOR_INFO.id,\n } as any,\n });\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n }\n // Ensure the project has its own package.json so its runtime dependencies\n // (added below) are declared in it rather than the workspace root.\n ensureProjectPackageJson(tree, {\n dir: projectRoot,\n fullyQualifiedName,\n });\n const port = assignPort(tree, project, 8100);\n // A gateway is its own standalone project, so it uses plain `serve` / `dev`\n // targets. Re-run: keep existing targets (their dependsOn may have been\n // populated by the mcp-connection generator), just ensure both exist.\n project.targets ??= {};\n project.targets['serve'] ??= localGatewayTarget(port);\n project.targets['dev'] ??= localGatewayTarget(port);\n updateProjectConfiguration(tree, project.name, project);\n\n // Scaffold the gateway project: local-dev.ts (+ Cedar policies if requested)\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'project', protocol),\n projectRoot,\n {\n nameClassName,\n nameKebabCase: name,\n port,\n attachedMcpServers: [],\n attachedAgents: [],\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n if (cedarPolicy) {\n // The default permit-all policy differs by auth type: AgentCore represents\n // IAM callers as `AgentCore::IamEntity` and Cognito/JWT callers as\n // `AgentCore::OAuthUser`, so the two policies match different principals.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cedar'),\n projectRoot,\n { nameClassName, auth },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n // Recorded in the metadata below so the version sync can tell a CDK\n // project from a Terraform one; undefined when no infrastructure was\n // generated, in which case neither provider's packages were added.\n const iac =\n infra !== 'none' ? await resolveIac(tree, options.iac) : undefined;\n\n // Recorded below and read by the declaration's predicates, so the packages\n // added here are exactly the ones the version sync will own.\n const metadata: AgentCoreGatewayMetadata = {\n name,\n rc: nameClassName,\n protocol,\n auth,\n port,\n ...(iac ? { iac } : {}),\n };\n\n addGeneratorMetadata(\n tree,\n fullyQualifiedName,\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n metadata,\n );\n\n addTsDependencies(tree, DEPENDENCIES, { metadata, projectRoot });\n\n // Wire up infra (CDK or Terraform); re-running with infra=agentcore adds\n // the infrastructure to a previously infra-less gateway.\n\n if (infra === 'agentcore') {\n await sharedConstructsGenerator(tree, { iac }, DEPENDENCIES);\n\n await addAgentCoreGatewayInfra(\n tree,\n {\n gatewayNameClassName: nameClassName,\n gatewayNameKebabCase: name,\n projectName: fullyQualifiedName,\n projectDirectory: projectRoot,\n cedarPolicy,\n auth,\n protocol,\n iac,\n },\n DEPENDENCIES,\n );\n }\n\n await addGeneratorMetricsIfApplicable(tree, [\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\n/**\n * Gateway details stored in the gateway project's metadata.\n */\nexport interface AgentCoreGatewayMetadata extends IacMetadata {\n name: string;\n rc: string;\n protocol: string;\n auth: string;\n port: number;\n}\n\n/**\n * Read a gateway project's metadata, validating it was generated by the\n * agentcore-gateway generator.\n */\nexport const readAgentCoreGatewayMetadata = (\n project: ProjectConfiguration,\n): AgentCoreGatewayMetadata => {\n const metadata = project.metadata as any;\n if (metadata?.generator !== AGENTCORE_GATEWAY_GENERATOR_INFO.id) {\n throw new Error(\n `Project '${project.name}' was not generated by the '${AGENTCORE_GATEWAY_GENERATOR_INFO.id}' generator.`,\n );\n }\n return metadata as AgentCoreGatewayMetadata;\n};\n\nexport default agentcoreGatewayGenerator;\n"],"names":["addProjectConfiguration","generateFiles","joinPathFragments","logger","OverwriteStrategy","updateProjectConfiguration","addTsDependencies","AGENT_CORE_CONSTRUCTS_DEPENDENCIES","AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES","addAgentCoreGatewayInfra","declareDependencies","ownedElsewhere","formatFilesInSubtree","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","readProjectConfigurationUnqualified","assignPort","ensureProjectPackageJson","SHARED_CONSTRUCTS_DEPENDENCIES","sharedConstructsGenerator","DEPENDENCIES","ts","name","when","m","protocol","dev","root","py","AGENTCORE_GATEWAY_GENERATOR_INFO","filename","agentcoreGatewayGenerator","tree","options","nameClassName","parentDir","directory","subDir","subDirectory","projectRoot","fullyQualifiedName","auth","cedarPolicy","warn","infra","localGatewayTarget","port","executor","continuous","command","cwd","env","PORT","dependsOn","project","projectType","sourceRoot","tags","targets","metadata","generator","id","dir","dirname","nameKebabCase","attachedMcpServers","attachedAgents","overwriteStrategy","KeepExisting","iac","undefined","rc","gatewayNameClassName","gatewayNameKebabCase","projectName","projectDirectory","preferInstallDependencies","languages","readAgentCoreGatewayMetadata","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/agentcore-gateway/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n logger,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { addTsDependencies } from '../utils/add-dependencies.js';\nimport {\n AGENT_CORE_CONSTRUCTS_DEPENDENCIES,\n AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES,\n addAgentCoreGatewayInfra,\n} from '../utils/agent-core-constructs/agent-core-constructs.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../utils/format.js';\nimport { resolveIac } from '../utils/iac.js';\nimport { installDependencies } from '../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../utils/metrics.js';\nimport { kebabCase, toClassName } from '../utils/names.js';\nimport { getNpmScopePrefix } from '../utils/npm-scope.js';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n readProjectConfigurationUnqualified,\n} from '../utils/nx.js';\nimport { assignPort } from '../utils/port.js';\nimport { ensureProjectPackageJson } from '../utils/project-package-json.js';\nimport { addScriptProjectTargets } from '../utils/script-project-targets.js';\nimport {\n SHARED_CONSTRUCTS_DEPENDENCIES,\n sharedConstructsGenerator,\n} from '../utils/shared-constructs.js';\nimport type { IacMetadata } from '../utils/shared-constructs-constants.js';\nimport type { AgentcoreGatewayGeneratorSchema } from './schema';\n\n// The gateway's local-dev server needs these whatever the auth; only the MCP\n// SDK is protocol-specific (the http local gateway is a plain proxy).\nexport const DEPENDENCIES = declareDependencies<AgentCoreGatewayMetadata>()({\n ts: [\n { name: '@modelcontextprotocol/sdk', when: (m) => m.protocol === 'mcp' },\n { name: 'express' },\n { name: '@types/express', dev: true },\n // local-dev.ts runs via tsx, which is shared tooling.\n { name: 'tsx', dev: true, root: true },\n ...ownedElsewhere(AGENT_CORE_CONSTRUCTS_DEPENDENCIES),\n ...ownedElsewhere(SHARED_CONSTRUCTS_DEPENDENCIES),\n ],\n py: ownedElsewhere(AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES),\n});\n\nexport const AGENTCORE_GATEWAY_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const agentcoreGatewayGenerator = async (\n tree: Tree,\n options: AgentcoreGatewayGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const name = kebabCase(options.name);\n const nameClassName = toClassName(name);\n const parentDir = options.directory ?? 'packages';\n const subDir = options.subDirectory ?? name;\n const projectRoot = joinPathFragments(parentDir, subDir);\n const fullyQualifiedName = `${getNpmScopePrefix(tree)}${name}`;\n\n // Protocol is mcp (aggregate MCP server targets into one MCP endpoint) or\n // http (proxy agent runtime targets via path-based routing). Persisted in\n // metadata so connection generators can validate it.\n const protocol = options.protocol ?? 'mcp';\n // Inbound auth is iam (default) or cognito. Persisted in metadata so\n // connection generators can validate it (agent -> gateway connections\n // require an IAM gateway).\n const auth = options.auth ?? 'iam';\n // Cedar policies authorize MCP tool actions, which an http gateway has none\n // of — its runtime targets are plain proxied endpoints — so the policy\n // engine only applies to mcp gateways. cedarPolicy defaults to true in the\n // schema, so an http gateway quietly drops it rather than requiring\n // --cedarPolicy=false.\n if (protocol === 'http' && options.cedarPolicy) {\n logger.warn(\n 'Cedar policies authorize MCP tool actions, so cedarPolicy is ignored for http-protocol gateways.',\n );\n }\n const cedarPolicy = protocol === 'mcp' && (options.cedarPolicy ?? true);\n const infra = options.infra ?? 'agentcore';\n\n // local-dev.ts is the local gateway: a continuous MCP aggregator chaining\n // onto attached MCP servers' dev targets (added by the mcp-connection\n // generator), so a single `nx dev <gateway>` boots the gateway and every\n // attached MCP server together.\n //\n // `serve` exists for parity with other generators; the deployed Gateway is\n // a managed AWS resource, so `serve`-mode agents talk to it via runtime\n // config and the local gateway sits idle.\n const localGatewayTarget = (port: number) => ({\n executor: 'nx:run-commands' as const,\n continuous: true,\n options: {\n command: 'tsx local-dev.ts',\n cwd: '{projectRoot}',\n env: { PORT: `${port}` },\n },\n dependsOn: [] as Array<string | { projects: string[]; target: string }>,\n });\n let project: ProjectConfiguration;\n if (projectExists(tree, fullyQualifiedName)) {\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n } else {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: projectRoot,\n projectType: 'library',\n sourceRoot: projectRoot,\n tags: [],\n targets: {},\n metadata: {\n generator: AGENTCORE_GATEWAY_GENERATOR_INFO.id,\n } as any,\n });\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n }\n // Ensure the project has its own package.json so its runtime dependencies\n // (added below) are declared in it rather than the workspace root.\n ensureProjectPackageJson(tree, {\n dir: projectRoot,\n fullyQualifiedName,\n });\n const port = assignPort(tree, project, 8100);\n // A gateway is its own standalone project, so it uses plain `serve` / `dev`\n // targets. Re-run: keep existing targets (their dependsOn may have been\n // populated by the mcp-connection generator), just ensure both exist.\n project.targets ??= {};\n project.targets['serve'] ??= localGatewayTarget(port);\n project.targets['dev'] ??= localGatewayTarget(port);\n // local-dev.ts is TypeScript the connection generators edit and the user is\n // invited to tune, so it goes through the workspace's build sweep.\n addScriptProjectTargets(tree, { project });\n updateProjectConfiguration(tree, project.name, project);\n\n // Scaffold the gateway project: local-dev.ts (+ Cedar policies if requested)\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'project', protocol),\n projectRoot,\n {\n nameClassName,\n nameKebabCase: name,\n port,\n attachedMcpServers: [],\n attachedAgents: [],\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n if (cedarPolicy) {\n // The default permit-all policy differs by auth type: AgentCore represents\n // IAM callers as `AgentCore::IamEntity` and Cognito/JWT callers as\n // `AgentCore::OAuthUser`, so the two policies match different principals.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cedar'),\n projectRoot,\n { nameClassName, auth },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n // Recorded in the metadata below so the version sync can tell a CDK\n // project from a Terraform one; undefined when no infrastructure was\n // generated, in which case neither provider's packages were added.\n const iac =\n infra !== 'none' ? await resolveIac(tree, options.iac) : undefined;\n\n // Recorded below and read by the declaration's predicates, so the packages\n // added here are exactly the ones the version sync will own.\n const metadata: AgentCoreGatewayMetadata = {\n name,\n rc: nameClassName,\n protocol,\n auth,\n port,\n ...(iac ? { iac } : {}),\n };\n\n addGeneratorMetadata(\n tree,\n fullyQualifiedName,\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n metadata,\n );\n\n addTsDependencies(tree, DEPENDENCIES, { metadata, projectRoot });\n\n // Wire up infra (CDK or Terraform); re-running with infra=agentcore adds\n // the infrastructure to a previously infra-less gateway.\n\n if (infra === 'agentcore') {\n await sharedConstructsGenerator(tree, { iac }, DEPENDENCIES);\n\n await addAgentCoreGatewayInfra(\n tree,\n {\n gatewayNameClassName: nameClassName,\n gatewayNameKebabCase: name,\n projectName: fullyQualifiedName,\n projectDirectory: projectRoot,\n cedarPolicy,\n auth,\n protocol,\n iac,\n },\n DEPENDENCIES,\n );\n }\n\n await addGeneratorMetricsIfApplicable(tree, [\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\n/**\n * Gateway details stored in the gateway project's metadata.\n */\nexport interface AgentCoreGatewayMetadata extends IacMetadata {\n name: string;\n rc: string;\n protocol: string;\n auth: string;\n port: number;\n}\n\n/**\n * Read a gateway project's metadata, validating it was generated by the\n * agentcore-gateway generator.\n */\nexport const readAgentCoreGatewayMetadata = (\n project: ProjectConfiguration,\n): AgentCoreGatewayMetadata => {\n const metadata = project.metadata as any;\n if (metadata?.generator !== AGENTCORE_GATEWAY_GENERATOR_INFO.id) {\n throw new Error(\n `Project '${project.name}' was not generated by the '${AGENTCORE_GATEWAY_GENERATOR_INFO.id}' generator.`,\n );\n }\n return metadata as AgentCoreGatewayMetadata;\n};\n\nexport default agentcoreGatewayGenerator;\n"],"names":["addProjectConfiguration","generateFiles","joinPathFragments","logger","OverwriteStrategy","updateProjectConfiguration","addTsDependencies","AGENT_CORE_CONSTRUCTS_DEPENDENCIES","AGENT_CORE_CONSTRUCTS_PY_DEPENDENCIES","addAgentCoreGatewayInfra","declareDependencies","ownedElsewhere","formatFilesInSubtree","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","readProjectConfigurationUnqualified","assignPort","ensureProjectPackageJson","addScriptProjectTargets","SHARED_CONSTRUCTS_DEPENDENCIES","sharedConstructsGenerator","DEPENDENCIES","ts","name","when","m","protocol","dev","root","py","AGENTCORE_GATEWAY_GENERATOR_INFO","filename","agentcoreGatewayGenerator","tree","options","nameClassName","parentDir","directory","subDir","subDirectory","projectRoot","fullyQualifiedName","auth","cedarPolicy","warn","infra","localGatewayTarget","port","executor","continuous","command","cwd","env","PORT","dependsOn","project","projectType","sourceRoot","tags","targets","metadata","generator","id","dir","dirname","nameKebabCase","attachedMcpServers","attachedAgents","overwriteStrategy","KeepExisting","iac","undefined","rc","gatewayNameClassName","gatewayNameKebabCase","projectName","projectDirectory","preferInstallDependencies","languages","readAgentCoreGatewayMetadata","Error"],"mappings":"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"}
|
|
@@ -51,6 +51,9 @@ class SigV4HttpAgent extends HttpAgent {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
// The id this agent is registered under, used as \`agentId\` by CopilotKit components.
|
|
55
|
+
export const MY_AGENT_ID = 'my-agent';
|
|
56
|
+
|
|
54
57
|
export const useAguiMyAgent = (): Record<string, AbstractAgent> => {
|
|
55
58
|
const runtimeConfig = useRuntimeConfig();
|
|
56
59
|
const gatewayUrl = runtimeConfig.gateways.MyGateway;
|
|
@@ -61,7 +64,7 @@ export const useAguiMyAgent = (): Record<string, AbstractAgent> => {
|
|
|
61
64
|
return useMemo((): Record<string, AbstractAgent> => {
|
|
62
65
|
const agent = new SigV4HttpAgent({ url }, sigv4);
|
|
63
66
|
|
|
64
|
-
return {
|
|
67
|
+
return { [MY_AGENT_ID]: agent };
|
|
65
68
|
}, [url, sigv4]);
|
|
66
69
|
};
|
|
67
70
|
"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`agentcore-harness generator > snapshot > snapshots the
|
|
3
|
+
exports[`agentcore-harness generator > snapshot > snapshots the rendered harness project files > packages/my-harness/README.md 1`] = `
|
|
4
4
|
"# @proj/my-harness
|
|
5
5
|
|
|
6
6
|
An [Amazon Bedrock AgentCore Harness](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness.html)
|
|
@@ -86,7 +86,7 @@ files and to \`src/PROMPT.md\` are preserved.
|
|
|
86
86
|
"
|
|
87
87
|
`;
|
|
88
88
|
|
|
89
|
-
exports[`agentcore-harness generator > snapshot > snapshots the
|
|
89
|
+
exports[`agentcore-harness generator > snapshot > snapshots the rendered harness project files > packages/my-harness/project.json 1`] = `
|
|
90
90
|
"{
|
|
91
91
|
"name": "@proj/my-harness",
|
|
92
92
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
@@ -101,19 +101,64 @@ exports[`agentcore-harness generator > snapshot > snapshots the four rendered ha
|
|
|
101
101
|
"iac": "cdk"
|
|
102
102
|
},
|
|
103
103
|
"targets": {
|
|
104
|
+
"build": {
|
|
105
|
+
"dependsOn": ["lint", "typecheck"]
|
|
106
|
+
},
|
|
104
107
|
"chat": {
|
|
105
108
|
"executor": "nx:run-commands",
|
|
106
109
|
"options": {
|
|
107
110
|
"commands": ["tsx ./scripts/chat.ts"],
|
|
108
111
|
"cwd": "{projectRoot}"
|
|
109
112
|
}
|
|
113
|
+
},
|
|
114
|
+
"format": {
|
|
115
|
+
"executor": "nx:run-commands",
|
|
116
|
+
"cache": true,
|
|
117
|
+
"inputs": ["biome"],
|
|
118
|
+
"options": {
|
|
119
|
+
"command": "biome format {projectRoot}"
|
|
120
|
+
},
|
|
121
|
+
"configurations": {
|
|
122
|
+
"fix": {
|
|
123
|
+
"command": "biome format --write {projectRoot}"
|
|
124
|
+
},
|
|
125
|
+
"skip-lint": {
|
|
126
|
+
"command": "node -e \\"\\""
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"lint": {
|
|
131
|
+
"executor": "nx:run-commands",
|
|
132
|
+
"cache": true,
|
|
133
|
+
"inputs": ["biome"],
|
|
134
|
+
"dependsOn": ["format"],
|
|
135
|
+
"options": {
|
|
136
|
+
"command": "biome lint {projectRoot}"
|
|
137
|
+
},
|
|
138
|
+
"configurations": {
|
|
139
|
+
"fix": {
|
|
140
|
+
"command": "biome check --write {projectRoot}"
|
|
141
|
+
},
|
|
142
|
+
"skip-lint": {
|
|
143
|
+
"command": "node -e \\"\\""
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"typecheck": {
|
|
148
|
+
"executor": "nx:run-commands",
|
|
149
|
+
"cache": true,
|
|
150
|
+
"inputs": ["default", "^default"],
|
|
151
|
+
"options": {
|
|
152
|
+
"command": "tsc --noEmit -p tsconfig.json",
|
|
153
|
+
"cwd": "{projectRoot}"
|
|
154
|
+
}
|
|
110
155
|
}
|
|
111
156
|
}
|
|
112
157
|
}
|
|
113
158
|
"
|
|
114
159
|
`;
|
|
115
160
|
|
|
116
|
-
exports[`agentcore-harness generator > snapshot > snapshots the
|
|
161
|
+
exports[`agentcore-harness generator > snapshot > snapshots the rendered harness project files > packages/my-harness/scripts/chat.ts 1`] = `
|
|
117
162
|
"// Chat CLI for MyHarness. Invokes the deployed Harness with InvokeHarness.
|
|
118
163
|
import { randomUUID } from 'node:crypto';
|
|
119
164
|
import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';
|
|
@@ -216,7 +261,7 @@ await chatLoop(new HarnessAdapter(), '');
|
|
|
216
261
|
"
|
|
217
262
|
`;
|
|
218
263
|
|
|
219
|
-
exports[`agentcore-harness generator > snapshot > snapshots the
|
|
264
|
+
exports[`agentcore-harness generator > snapshot > snapshots the rendered harness project files > packages/my-harness/src/PROMPT.md 1`] = `
|
|
220
265
|
"# MyHarness
|
|
221
266
|
|
|
222
267
|
You are a helpful AI assistant.
|
|
@@ -235,3 +280,22 @@ When tools are available, prefer them over recollection for anything you can
|
|
|
235
280
|
look up, and report what a tool returned, including when it fails.
|
|
236
281
|
"
|
|
237
282
|
`;
|
|
283
|
+
|
|
284
|
+
exports[`agentcore-harness generator > snapshot > snapshots the rendered harness project files > packages/my-harness/tsconfig.json 1`] = `
|
|
285
|
+
"{
|
|
286
|
+
"extends": "../../tsconfig.base.json",
|
|
287
|
+
"compilerOptions": {
|
|
288
|
+
"composite": false,
|
|
289
|
+
"declarationMap": false,
|
|
290
|
+
"emitDeclarationOnly": false,
|
|
291
|
+
"noEmit": true,
|
|
292
|
+
"types": [
|
|
293
|
+
"node"
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
"include": [
|
|
297
|
+
"**/*.ts"
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
"
|
|
301
|
+
`;
|
|
@@ -12,6 +12,7 @@ import { addGeneratorMetricsIfApplicable } from "../utils/metrics.js";
|
|
|
12
12
|
import { kebabCase, toClassName } from "../utils/names.js";
|
|
13
13
|
import { getNpmScopePrefix } from "../utils/npm-scope.js";
|
|
14
14
|
import { addGeneratorMetadata, getGeneratorInfo, projectExists, readProjectConfigurationUnqualified } from "../utils/nx.js";
|
|
15
|
+
import { addScriptProjectTargets } from "../utils/script-project-targets.js";
|
|
15
16
|
import { SHARED_CONSTRUCTS_DEPENDENCIES, sharedConstructsGenerator } from "../utils/shared-constructs.js";
|
|
16
17
|
// scripts/chat.ts needs all of these whatever the infrastructure choice, so no
|
|
17
18
|
// entry is conditional. The harness project holds no manifest of its own, so
|
|
@@ -91,6 +92,11 @@ export const agentcoreHarnessGenerator = async (tree, options)=>{
|
|
|
91
92
|
cwd: '{projectRoot}'
|
|
92
93
|
}
|
|
93
94
|
};
|
|
95
|
+
// scripts/chat.ts is TypeScript the user runs and customises, so it goes
|
|
96
|
+
// through the workspace's build sweep.
|
|
97
|
+
addScriptProjectTargets(tree, {
|
|
98
|
+
project
|
|
99
|
+
});
|
|
94
100
|
updateProjectConfiguration(tree, project.name, project);
|
|
95
101
|
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'project'), projectRoot, {
|
|
96
102
|
nameClassName,
|