@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.31
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 +6746 -6133
- package/README.md +7 -7
- package/executors.json +9 -0
- package/generators.json +100 -1
- package/package.json +35 -17
- package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
- package/src/agentcore-gateway/attach-upstream.js +38 -0
- package/src/agentcore-gateway/attach-upstream.js.map +1 -0
- package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
- package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
- package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
- package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
- package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
- package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
- package/src/agentcore-gateway/generator.d.ts +25 -0
- package/src/agentcore-gateway/generator.js +149 -0
- package/src/agentcore-gateway/generator.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
- package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
- package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
- package/src/agentcore-gateway/schema.d.js +6 -0
- package/src/agentcore-gateway/schema.d.js.map +1 -0
- package/src/agentcore-gateway/schema.d.ts +17 -0
- package/src/agentcore-gateway/schema.json +70 -0
- package/src/bin/aws-nx-mcp.js +14 -0
- package/src/bin/aws-nx-mcp.js.map +1 -0
- package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
- package/src/connection/agent-local-dev.js +42 -0
- package/src/connection/agent-local-dev.js.map +1 -0
- package/src/connection/agent-runtime-config.d.ts +1 -1
- package/src/connection/agent-runtime-config.js +9 -14
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/generator.d.ts +7 -14
- package/src/connection/generator.js +158 -177
- package/src/connection/generator.js.map +1 -1
- package/src/connection/local-dev.d.ts +15 -0
- package/src/connection/local-dev.js +37 -0
- package/src/connection/local-dev.js.map +1 -0
- package/src/connection/schema.d.js +6 -0
- package/src/connection/schema.d.js.map +1 -0
- package/src/connection/schema.d.ts +1 -0
- package/src/connection/schema.json +5 -0
- package/src/connection/supported-connections.d.ts +98 -0
- package/src/connection/supported-connections.js +138 -0
- package/src/connection/supported-connections.js.map +1 -0
- package/src/index.js +2 -5
- package/src/index.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
- package/src/infra/app/generator.d.ts +3 -3
- package/src/infra/app/generator.js +141 -123
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.js +6 -0
- package/src/infra/app/schema.d.js.map +1 -0
- package/src/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +5 -0
- package/src/license/__snapshots__/config.spec.ts.snap +23 -0
- package/src/license/config-types.d.ts +18 -1
- package/src/license/config-types.js +8 -2
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +65 -7
- package/src/license/config.js +442 -109
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.d.ts +16 -0
- package/src/license/dependency-check/check.js +116 -0
- package/src/license/dependency-check/check.js.map +1 -0
- package/src/license/dependency-check/collectors/collector.d.ts +21 -0
- package/src/license/dependency-check/collectors/collector.js +46 -0
- package/src/license/dependency-check/collectors/collector.js.map +1 -0
- package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
- package/src/license/dependency-check/collectors/npm-collector.js +68 -0
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
- package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
- package/src/license/dependency-check/collectors/python-collector.js +114 -0
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
- package/src/license/dependency-check/evaluator.d.ts +9 -0
- package/src/license/dependency-check/evaluator.js +94 -0
- package/src/license/dependency-check/evaluator.js.map +1 -0
- package/src/license/dependency-check/executor-schema.json +6 -0
- package/src/license/dependency-check/executor.d.ts +9 -0
- package/src/license/dependency-check/executor.js +51 -0
- package/src/license/dependency-check/executor.js.map +1 -0
- package/src/license/dependency-check/pre-approved.d.ts +6 -0
- package/src/license/dependency-check/pre-approved.js +1893 -0
- package/src/license/dependency-check/pre-approved.js.map +1 -0
- package/src/license/dependency-check/types.d.ts +45 -0
- package/src/license/dependency-check/types.js +6 -0
- package/src/license/dependency-check/types.js.map +1 -0
- package/src/license/generator.d.ts +3 -3
- package/src/license/generator.js +127 -30
- package/src/license/generator.js.map +1 -1
- package/src/license/index.d.ts +8 -0
- package/src/license/index.js +7 -0
- package/src/license/index.js.map +1 -0
- package/src/license/known-exceptions.d.ts +7 -0
- package/src/license/known-exceptions.js +39 -0
- package/src/license/known-exceptions.js.map +1 -0
- package/src/license/schema.d.js +6 -0
- package/src/license/schema.d.js.map +1 -0
- package/src/license/schema.d.ts +7 -0
- package/src/license/schema.json +11 -0
- package/src/license/sync/generator.d.ts +2 -2
- package/src/license/sync/generator.js +100 -125
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.d.ts +3 -3
- package/src/license/sync/project-file-sync.js +28 -35
- package/src/license/sync/project-file-sync.js.map +1 -1
- package/src/mcp-server/generator-info.d.ts +5 -1
- package/src/mcp-server/generator-info.js +130 -160
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.d.ts +1 -1
- package/src/mcp-server/guide-pipeline.js +184 -206
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/guide-render.js +10 -25
- package/src/mcp-server/guide-render.js.map +1 -1
- package/src/mcp-server/index.js +6 -10
- package/src/mcp-server/index.js.map +1 -1
- package/src/mcp-server/mdx-ast.js +42 -56
- package/src/mcp-server/mdx-ast.js.map +1 -1
- package/src/mcp-server/option-filter.js +33 -47
- package/src/mcp-server/option-filter.js.map +1 -1
- package/src/mcp-server/schema-registry.d.ts +9 -3
- package/src/mcp-server/schema-registry.js +41 -38
- package/src/mcp-server/schema-registry.js.map +1 -1
- package/src/mcp-server/schema.js +9 -7
- package/src/mcp-server/schema.js.map +1 -1
- package/src/mcp-server/server.js +20 -24
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +23 -24
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.d.ts +2 -2
- package/src/mcp-server/tools/general-guidance.js +46 -25
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.d.ts +2 -2
- package/src/mcp-server/tools/generator-guide.js +29 -37
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.d.ts +2 -2
- package/src/mcp-server/tools/list-generators.js +19 -25
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
- package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +286 -62
- package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +674 -93
- package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +196 -44
- package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5507 -0
- package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +219 -60
- package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +351 -80
- package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +170 -49
- package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +99 -23
- package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
- package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +196 -44
- package/src/open-api/ts-client/files/client.gen.ts.template +130 -18
- package/src/open-api/ts-client/files/types.gen.ts.template +4 -4
- package/src/open-api/ts-client/generator.d.ts +3 -3
- package/src/open-api/ts-client/generator.js +16 -26
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-client/schema.d.js +6 -0
- package/src/open-api/ts-client/schema.d.js.map +1 -0
- package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +5 -0
- package/src/open-api/ts-hooks/generator.d.ts +3 -3
- package/src/open-api/ts-hooks/generator.js +13 -21
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
- package/src/open-api/ts-hooks/schema.d.js +6 -0
- package/src/open-api/ts-hooks/schema.d.js.map +1 -0
- package/src/open-api/ts-metadata/generator.d.ts +3 -3
- package/src/open-api/ts-metadata/generator.js +12 -20
- package/src/open-api/ts-metadata/generator.js.map +1 -1
- package/src/open-api/ts-metadata/schema.d.js +6 -0
- package/src/open-api/ts-metadata/schema.d.js.map +1 -0
- package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
- package/src/open-api/utils/codegen-data/languages.js +53 -66
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.d.ts +240 -10
- package/src/open-api/utils/codegen-data/types.js +54 -30
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.d.ts +8 -4
- package/src/open-api/utils/codegen-data.js +398 -674
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.d.ts +5 -1
- package/src/open-api/utils/normalise.js +386 -247
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.d.ts +2 -2
- package/src/open-api/utils/parse.js +11 -13
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/parser.d.ts +55 -0
- package/src/open-api/utils/parser.js +743 -0
- package/src/open-api/utils/parser.js.map +1 -0
- package/src/open-api/utils/refs.d.ts +1 -1
- package/src/open-api/utils/refs.js +12 -22
- package/src/open-api/utils/refs.js.map +1 -1
- package/src/open-api/utils/types.d.ts +15 -0
- package/src/open-api/utils/types.js +5 -2
- package/src/open-api/utils/types.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
- package/src/preset/generator.d.ts +4 -4
- package/src/preset/generator.js +140 -112
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.js +6 -0
- package/src/preset/schema.d.js.map +1 -0
- package/src/preset/schema.d.ts +4 -2
- package/src/preset/schema.json +10 -5
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
- package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
- package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
- package/src/py/agent/a2a-connection/generator.d.ts +3 -3
- package/src/py/agent/a2a-connection/generator.js +113 -85
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/a2a-connection/schema.d.js +8 -0
- package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/py/agent/a2a-connection/schema.d.ts +1 -0
- package/src/py/agent/a2a-connection/schema.json +5 -0
- package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
- package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
- package/src/py/agent/files/common/agent.py.template +2 -0
- package/src/py/agent/files/common-langchain/agent.py.template +30 -0
- package/src/py/agent/files/http/init.py.template +7 -25
- package/src/py/agent/files/http/main.py.template +2 -3
- package/src/py/agent/files/http-langchain/main.py.template +84 -0
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
- package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
- package/src/py/agent/gateway-connection/generator.d.ts +10 -0
- package/src/py/agent/gateway-connection/generator.js +119 -0
- package/src/py/agent/gateway-connection/generator.js.map +1 -0
- package/src/py/agent/gateway-connection/schema.d.js +6 -0
- package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/py/agent/gateway-connection/schema.d.ts +13 -0
- package/src/py/agent/gateway-connection/schema.json +31 -0
- package/src/py/agent/generator.d.ts +3 -3
- package/src/py/agent/generator.js +280 -180
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
- package/src/py/agent/mcp-connection/generator.d.ts +3 -3
- package/src/py/agent/mcp-connection/generator.js +65 -126
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/schema.d.js +8 -0
- package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/py/agent/mcp-connection/schema.d.ts +1 -0
- package/src/py/agent/mcp-connection/schema.json +5 -0
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
- package/src/py/agent/react-connection/generator.d.ts +4 -4
- package/src/py/agent/react-connection/generator.js +55 -59
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
- package/src/py/agent/react-connection/local-dev.js +36 -0
- package/src/py/agent/react-connection/local-dev.js.map +1 -0
- package/src/py/agent/react-connection/schema.d.js +8 -0
- package/src/py/agent/react-connection/schema.d.js.map +1 -0
- package/src/py/agent/react-connection/schema.d.ts +1 -0
- package/src/py/agent/react-connection/schema.json +5 -0
- package/src/py/agent/schema.d.js +6 -0
- package/src/py/agent/schema.d.js.map +1 -0
- package/src/py/agent/schema.d.ts +2 -1
- package/src/py/agent/schema.json +6 -1
- package/src/py/api/generator.d.ts +3 -3
- package/src/py/api/generator.js +12 -11
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.js +6 -0
- package/src/py/api/schema.d.js.map +1 -0
- package/src/py/api/schema.d.ts +1 -0
- package/src/py/api/schema.json +5 -0
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/agent-connection/generator.js +39 -0
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/agent-connection/schema.json +27 -0
- package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
- package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
- package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
- package/src/py/dynamodb/files/__name__/client.py.template +39 -0
- package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
- package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
- package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
- package/src/py/dynamodb/files/config.json.template +24 -0
- package/src/py/dynamodb/generator.d.ts +10 -0
- package/src/py/dynamodb/generator.js +110 -0
- package/src/py/dynamodb/generator.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/py/dynamodb/schema.d.js +6 -0
- package/src/py/dynamodb/schema.d.js.map +1 -0
- package/src/py/dynamodb/schema.d.ts +16 -0
- package/src/py/dynamodb/schema.json +75 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
- package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
- package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
- package/src/py/fast-api/generator.d.ts +3 -3
- package/src/py/fast-api/generator.js +90 -87
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
- package/src/py/fast-api/react/generator.d.ts +4 -4
- package/src/py/fast-api/react/generator.js +25 -25
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.d.ts +1 -1
- package/src/py/fast-api/react/open-api.js +31 -29
- package/src/py/fast-api/react/open-api.js.map +1 -1
- package/src/py/fast-api/react/schema.d.js +6 -0
- package/src/py/fast-api/react/schema.d.js.map +1 -0
- package/src/py/fast-api/react/schema.d.ts +1 -0
- package/src/py/fast-api/react/schema.json +5 -0
- package/src/py/fast-api/schema.d.js +6 -0
- package/src/py/fast-api/schema.d.js.map +1 -0
- package/src/py/fast-api/schema.d.ts +1 -0
- package/src/py/fast-api/schema.json +5 -0
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/lambda-function/generator.d.ts +3 -3
- package/src/py/lambda-function/generator.js +60 -59
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.js +6 -0
- package/src/py/lambda-function/schema.d.js.map +1 -0
- package/src/py/lambda-function/schema.d.ts +1 -0
- package/src/py/lambda-function/schema.json +5 -0
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
- package/src/py/mcp-server/generator.d.ts +3 -3
- package/src/py/mcp-server/generator.js +152 -125
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.js +6 -0
- package/src/py/mcp-server/schema.d.js.map +1 -0
- package/src/py/mcp-server/schema.d.ts +1 -0
- package/src/py/mcp-server/schema.json +5 -0
- package/src/py/project/generator.d.ts +17 -4
- package/src/py/project/generator.js +205 -127
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.js +6 -0
- package/src/py/project/schema.d.js.map +1 -0
- package/src/py/project/schema.d.ts +1 -0
- package/src/py/project/schema.json +5 -0
- package/src/sdk/agentcore-gateway.d.ts +6 -0
- package/src/sdk/agentcore-gateway.js +7 -0
- package/src/sdk/agentcore-gateway.js.map +1 -0
- package/src/sdk/connection.d.ts +6 -0
- package/src/sdk/connection.js +6 -0
- package/src/sdk/connection.js.map +1 -0
- package/src/sdk/license.d.ts +8 -0
- package/src/sdk/license.js +7 -0
- package/src/sdk/license.js.map +1 -0
- package/src/sdk/open-api.d.ts +10 -0
- package/src/sdk/open-api.js +8 -0
- package/src/sdk/open-api.js.map +1 -0
- package/src/sdk/py.d.ts +14 -0
- package/src/sdk/py.js +10 -0
- package/src/sdk/py.js.map +1 -0
- package/src/sdk/terraform.d.ts +6 -0
- package/src/sdk/terraform.js +7 -0
- package/src/sdk/terraform.js.map +1 -0
- package/src/sdk/ts.d.ts +33 -0
- package/src/sdk/ts.js +35 -0
- package/src/sdk/ts.js.map +1 -0
- package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
- package/src/sdk/utils/ast.js +6 -0
- package/src/sdk/utils/ast.js.map +1 -0
- package/{sdk → src/sdk}/utils/format.d.ts +1 -1
- package/src/sdk/utils/format.js +6 -0
- package/src/sdk/utils/format.js.map +1 -0
- package/{sdk → src/sdk}/utils/test.d.ts +1 -1
- package/src/sdk/utils/test.js +6 -0
- package/src/sdk/utils/test.js.map +1 -0
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
- package/src/smithy/project/generator.d.ts +3 -3
- package/src/smithy/project/generator.js +64 -57
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/project/schema.d.js +6 -0
- package/src/smithy/project/schema.d.js.map +1 -0
- package/src/smithy/project/schema.d.ts +1 -0
- package/src/smithy/project/schema.json +5 -0
- package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/smithy/react-connection/generator.d.ts +3 -3
- package/src/smithy/react-connection/generator.js +39 -47
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/react-connection/schema.d.js +6 -0
- package/src/smithy/react-connection/schema.d.js.map +1 -0
- package/src/smithy/react-connection/schema.d.ts +1 -0
- package/src/smithy/react-connection/schema.json +5 -0
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
- package/src/smithy/ts/api/generator.d.ts +3 -3
- package/src/smithy/ts/api/generator.js +127 -106
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.js +6 -0
- package/src/smithy/ts/api/schema.d.js.map +1 -0
- package/src/smithy/ts/api/schema.d.ts +1 -0
- package/src/smithy/ts/api/schema.json +5 -0
- package/src/terraform/project/files/application/src/main.tf.template +6 -1
- package/src/terraform/project/files/application/src/providers.tf.template +1 -1
- package/src/terraform/project/generator.d.ts +3 -3
- package/src/terraform/project/generator.js +156 -104
- package/src/terraform/project/generator.js.map +1 -1
- package/src/terraform/project/schema.d.js +9 -0
- package/src/terraform/project/schema.d.js.map +1 -0
- package/src/terraform/project/schema.d.ts +1 -0
- package/src/terraform/project/schema.json +5 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
- package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
- package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
- package/src/trpc/backend/generator.d.ts +4 -4
- package/src/trpc/backend/generator.js +97 -85
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.js +6 -0
- package/src/trpc/backend/schema.d.js.map +1 -0
- package/src/trpc/backend/schema.d.ts +3 -2
- package/src/trpc/backend/schema.json +5 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
- package/src/trpc/react/generator.d.ts +4 -4
- package/src/trpc/react/generator.js +63 -58
- package/src/trpc/react/generator.js.map +1 -1
- package/src/trpc/react/schema.d.js +6 -0
- package/src/trpc/react/schema.d.js.map +1 -0
- package/src/trpc/react/schema.d.ts +1 -0
- package/src/trpc/react/schema.json +5 -0
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
- package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
- package/src/ts/agent/a2a-connection/generator.js +63 -56
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/a2a-connection/schema.d.js +8 -0
- package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
- package/src/ts/agent/a2a-connection/schema.json +5 -0
- package/src/ts/agent/files/common/agent.ts.template +6 -2
- package/src/ts/agent/files/http/router.ts.template +1 -1
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
- package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
- package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
- package/src/ts/agent/gateway-connection/generator.js +114 -0
- package/src/ts/agent/gateway-connection/generator.js.map +1 -0
- package/src/ts/agent/gateway-connection/schema.d.js +6 -0
- package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
- package/src/ts/agent/gateway-connection/schema.json +31 -0
- package/src/ts/agent/generator.d.ts +3 -3
- package/src/ts/agent/generator.js +188 -144
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
- package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
- package/src/ts/agent/mcp-connection/generator.js +53 -60
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/schema.d.js +8 -0
- package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
- package/src/ts/agent/mcp-connection/schema.json +5 -0
- package/src/ts/agent/react-connection/generator.d.ts +4 -4
- package/src/ts/agent/react-connection/generator.js +86 -80
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
- package/src/ts/agent/react-connection/local-dev.js +17 -0
- package/src/ts/agent/react-connection/local-dev.js.map +1 -0
- package/src/ts/agent/react-connection/schema.d.js +8 -0
- package/src/ts/agent/react-connection/schema.d.js.map +1 -0
- package/src/ts/agent/react-connection/schema.d.ts +1 -0
- package/src/ts/agent/react-connection/schema.json +5 -0
- package/src/ts/agent/schema.d.js +6 -0
- package/src/ts/agent/schema.d.js.map +1 -0
- package/src/ts/agent/schema.d.ts +1 -0
- package/src/ts/agent/schema.json +5 -0
- package/src/ts/api/generator.d.ts +3 -3
- package/src/ts/api/generator.js +16 -16
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.js +6 -0
- package/src/ts/api/schema.d.js.map +1 -0
- package/src/ts/api/schema.d.ts +3 -1
- package/src/ts/api/schema.json +5 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
- package/src/ts/astro-docs/generator.d.ts +3 -3
- package/src/ts/astro-docs/generator.js +69 -54
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/astro-docs/schema.d.js +6 -0
- package/src/ts/astro-docs/schema.d.js.map +1 -0
- package/src/ts/astro-docs/schema.d.ts +2 -2
- package/src/ts/astro-docs/schema.json +3 -3
- package/src/ts/docs/generator.d.ts +3 -3
- package/src/ts/docs/generator.js +10 -10
- package/src/ts/docs/generator.js.map +1 -1
- package/src/ts/docs/schema.d.js +6 -0
- package/src/ts/docs/schema.d.js.map +1 -0
- package/src/ts/docs/schema.d.ts +1 -4
- package/src/ts/docs/schema.json +3 -3
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/agent-connection/generator.js +30 -0
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/agent-connection/schema.json +27 -0
- package/src/ts/dynamodb/files/config.json.template +24 -0
- package/src/ts/dynamodb/files/src/client.ts.template +61 -0
- package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
- package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
- package/src/ts/dynamodb/files/src/index.ts.template +2 -0
- package/src/ts/dynamodb/generator.d.ts +10 -0
- package/src/ts/dynamodb/generator.js +116 -0
- package/src/ts/dynamodb/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/ts/dynamodb/schema.d.js +6 -0
- package/src/ts/dynamodb/schema.d.js.map +1 -0
- package/src/ts/dynamodb/schema.d.ts +16 -0
- package/src/ts/dynamodb/schema.json +75 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
- package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/lambda-function/generator.d.ts +3 -3
- package/src/ts/lambda-function/generator.js +59 -56
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/io.js +83 -52
- package/src/ts/lambda-function/io.js.map +1 -1
- package/src/ts/lambda-function/schema.d.js +6 -0
- package/src/ts/lambda-function/schema.d.js.map +1 -0
- package/src/ts/lambda-function/schema.d.ts +1 -0
- package/src/ts/lambda-function/schema.json +5 -0
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
- package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
- package/src/ts/lib/biome.d.ts +7 -0
- package/src/ts/lib/biome.js +58 -0
- package/src/ts/lib/biome.js.map +1 -0
- package/src/ts/lib/generator.d.ts +3 -3
- package/src/ts/lib/generator.js +96 -96
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
- package/src/ts/lib/schema.d.js +6 -0
- package/src/ts/lib/schema.d.js.map +1 -0
- package/src/ts/lib/schema.d.ts +1 -1
- package/src/ts/lib/schema.json +5 -0
- package/src/ts/lib/ts-project-utils.d.ts +12 -2
- package/src/ts/lib/ts-project-utils.js +80 -65
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/types.js +5 -2
- package/src/ts/lib/types.js.map +1 -1
- package/src/ts/lib/vitest.d.ts +2 -2
- package/src/ts/lib/vitest.js +29 -26
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
- package/src/ts/mcp-server/generator.d.ts +3 -3
- package/src/ts/mcp-server/generator.js +164 -120
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.js +6 -0
- package/src/ts/mcp-server/schema.d.js.map +1 -0
- package/src/ts/mcp-server/schema.d.ts +1 -0
- package/src/ts/mcp-server/schema.json +5 -0
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
- package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
- package/src/ts/nx-generator/files/common/schema.json.template +5 -0
- package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
- package/src/ts/nx-generator/generator.d.ts +2 -2
- package/src/ts/nx-generator/generator.js +111 -74
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-generator/schema.d.js +6 -0
- package/src/ts/nx-generator/schema.d.js.map +1 -0
- package/src/ts/nx-generator/schema.d.ts +1 -0
- package/src/ts/nx-generator/schema.json +5 -0
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
- package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
- package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
- package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
- package/src/ts/nx-plugin/generator.d.ts +3 -3
- package/src/ts/nx-plugin/generator.js +60 -51
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/schema.d.js +9 -0
- package/src/ts/nx-plugin/schema.d.js.map +1 -0
- package/src/ts/nx-plugin/schema.json +5 -0
- package/src/ts/nx-plugin/utils.d.ts +1 -1
- package/src/ts/nx-plugin/utils.js +32 -38
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
- package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
- package/src/ts/rdb/agent-connection/generator.js +38 -39
- package/src/ts/rdb/agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/agent-connection/schema.d.js +8 -0
- package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
- package/src/ts/rdb/agent-connection/schema.json +5 -0
- package/src/ts/rdb/files/config.json.template +14 -0
- package/src/ts/rdb/files/prisma.config.ts.template +6 -5
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
- package/src/ts/rdb/files/src/index.ts.template +0 -1
- package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
- package/src/ts/rdb/files/src/prisma.ts.template +28 -23
- package/src/ts/rdb/files/src/utils.ts.template +3 -0
- package/src/ts/rdb/generator.d.ts +3 -7
- package/src/ts/rdb/generator.js +158 -130
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
- package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
- package/src/ts/rdb/schema.d.js +6 -0
- package/src/ts/rdb/schema.d.js.map +1 -0
- package/src/ts/rdb/schema.d.ts +1 -0
- package/src/ts/rdb/schema.json +5 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
- package/src/ts/rdb/smithy-connection/generator.js +46 -43
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
- package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
- package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
- package/src/ts/rdb/smithy-connection/schema.json +5 -0
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
- package/src/ts/rdb/trpc-connection/generator.js +36 -31
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
- package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
- package/src/ts/rdb/trpc-connection/schema.json +5 -0
- package/src/ts/rdb/utils.d.ts +1 -1
- package/src/ts/rdb/utils.js +9 -11
- package/src/ts/rdb/utils.js.map +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
- package/src/ts/react-website/agui/generator.d.ts +1 -1
- package/src/ts/react-website/agui/generator.js +69 -62
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
- package/src/ts/react-website/app/generator.d.ts +4 -4
- package/src/ts/react-website/app/generator.js +217 -192
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.js +6 -0
- package/src/ts/react-website/app/schema.d.js.map +1 -0
- package/src/ts/react-website/app/schema.d.ts +1 -1
- package/src/ts/react-website/app/schema.json +11 -6
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
- package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
- package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
- package/src/ts/react-website/cognito-auth/generator.js +64 -63
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
- package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
- package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
- package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
- package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
- package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
- package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
- package/src/ts/react-website/cognito-auth/schema.json +5 -0
- package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
- package/src/ts/react-website/cognito-auth/utils.js +34 -32
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
- package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
- package/src/ts/react-website/runtime-config/generator.js +29 -31
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/react-website/runtime-config/schema.d.js +6 -0
- package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
- package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
- package/src/ts/react-website/runtime-config/schema.json +5 -0
- package/src/ts/sync/generator.d.ts +3 -3
- package/src/ts/sync/generator.js +60 -59
- package/src/ts/sync/generator.js.map +1 -1
- package/src/ts/website/app/generator.d.ts +3 -3
- package/src/ts/website/app/generator.js +10 -10
- package/src/ts/website/app/generator.js.map +1 -1
- package/src/ts/website/app/schema.d.js +6 -0
- package/src/ts/website/app/schema.d.js.map +1 -0
- package/src/ts/website/app/schema.d.ts +1 -1
- package/src/ts/website/app/schema.json +11 -6
- package/src/ts/website/auth/generator.d.ts +4 -4
- package/src/ts/website/auth/generator.js +11 -10
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/ts/website/auth/schema.d.js +6 -0
- package/src/ts/website/auth/schema.d.js.map +1 -0
- package/src/ts/website/auth/schema.d.ts +1 -0
- package/src/ts/website/auth/schema.json +5 -0
- package/src/utils/agent-chat/agent-chat.d.ts +31 -0
- package/src/utils/agent-chat/agent-chat.js +29 -0
- package/src/utils/agent-chat/agent-chat.js.map +1 -0
- package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
- package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
- package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
- package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
- package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
- package/src/utils/agent-connection/agent-connection.d.ts +117 -25
- package/src/utils/agent-connection/agent-connection.js +411 -103
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
- package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
- package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
- package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
- package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
- package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
- package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
- package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
- package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
- package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
- package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
- package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
- package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
- package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
- package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
- package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
- package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
- package/src/utils/api-constructs/api-constructs.d.ts +2 -2
- package/src/utils/api-constructs/api-constructs.js +30 -31
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
- package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
- package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
- package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
- package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
- package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
- package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
- package/src/utils/api-constructs/open-api-metadata.js +22 -22
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.d.ts +5 -1
- package/src/utils/ast/website.js +18 -20
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +33 -1
- package/src/utils/ast.js +130 -70
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.d.ts +1 -1
- package/src/utils/bundle/bundle.js +50 -47
- package/src/utils/bundle/bundle.js.map +1 -1
- package/src/utils/commands.js +47 -26
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/index.d.ts +5 -5
- package/src/utils/config/index.js +5 -4
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/config/utils.d.ts +13 -3
- package/src/utils/config/utils.js +65 -43
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
- package/src/utils/connection/open-api/react.d.ts +6 -6
- package/src/utils/connection/open-api/react.js +81 -77
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/containers.d.ts +1 -1
- package/src/utils/containers.js +22 -23
- package/src/utils/containers.js.map +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
- package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
- package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
- package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
- package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
- package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
- package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
- package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
- package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
- package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
- package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
- package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
- package/src/utils/format.d.ts +45 -2
- package/src/utils/format.js +323 -81
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.d.ts +1 -1
- package/src/utils/fs.js +14 -13
- package/src/utils/fs.js.map +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
- package/src/utils/function-constructs/function-constructs.d.ts +2 -2
- package/src/utils/function-constructs/function-constructs.js +21 -26
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.d.ts +4 -0
- package/src/utils/generators.js +18 -20
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.d.ts +1 -1
- package/src/utils/git.js +19 -34
- package/src/utils/git.js.map +1 -1
- package/src/utils/iac-providers.js +5 -5
- package/src/utils/iac-providers.js.map +1 -1
- package/src/utils/iac.d.ts +1 -1
- package/src/utils/iac.js +12 -14
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +24 -28
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/install.d.ts +32 -0
- package/src/utils/install.js +56 -0
- package/src/utils/install.js.map +1 -0
- package/src/utils/js.d.ts +4 -0
- package/src/utils/js.js +27 -20
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.d.ts +25 -0
- package/src/utils/mcp.js +74 -0
- package/src/utils/mcp.js.map +1 -0
- package/src/utils/metrics.d.ts +9 -3
- package/src/utils/metrics.js +61 -46
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/mock-project-graph.js +8 -12
- package/src/utils/mock-project-graph.js.map +1 -1
- package/src/utils/names.d.ts +22 -0
- package/src/utils/names.js +44 -48
- package/src/utils/names.js.map +1 -1
- package/src/utils/npm-scope.d.ts +1 -1
- package/src/utils/npm-scope.js +9 -17
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +25 -4
- package/src/utils/nx.js +144 -75
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.d.ts +1 -1
- package/src/utils/nxlv-python.js +27 -15
- package/src/utils/nxlv-python.js.map +1 -1
- package/src/utils/object.js +5 -11
- package/src/utils/object.js.map +1 -1
- package/src/utils/paths.d.ts +1 -1
- package/src/utils/paths.js +11 -15
- package/src/utils/paths.js.map +1 -1
- package/src/utils/pkg-manager.js +4 -9
- package/src/utils/pkg-manager.js.map +1 -1
- package/src/utils/pnpm-workspace.d.ts +1 -1
- package/src/utils/pnpm-workspace.js +22 -22
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.d.ts +31 -3
- package/src/utils/port.js +72 -12
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +16 -3
- package/src/utils/py.js +72 -47
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
- package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs-constants.d.ts +1 -0
- package/src/utils/shared-constructs-constants.js +16 -15
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -2
- package/src/utils/shared-constructs.js +57 -54
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
- package/src/utils/shared-dynamodb-scripts.js +25 -0
- package/src/utils/shared-dynamodb-scripts.js.map +1 -0
- package/src/utils/shared-infra-config.d.ts +1 -1
- package/src/utils/shared-infra-config.js +30 -31
- package/src/utils/shared-infra-config.js.map +1 -1
- package/src/utils/shared-infra-scripts.d.ts +11 -0
- package/src/utils/shared-infra-scripts.js +40 -0
- package/src/utils/shared-infra-scripts.js.map +1 -0
- package/src/utils/shared-rdb-scripts.d.ts +16 -0
- package/src/utils/shared-rdb-scripts.js +28 -0
- package/src/utils/shared-rdb-scripts.js.map +1 -0
- package/src/utils/shared-scripts.d.ts +2 -5
- package/src/utils/shared-scripts.js +12 -38
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.d.ts +1 -1
- package/src/utils/shared-shadcn.js +64 -72
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +13 -1
- package/src/utils/test.js +35 -23
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +1 -1
- package/src/utils/toml.js +10 -14
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +116 -84
- package/src/utils/versions.js +124 -102
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
- package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
- package/src/utils/website-constructs/website-constructs.d.ts +2 -2
- package/src/utils/website-constructs/website-constructs.js +31 -30
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
- package/bin/aws-nx-mcp.js +0 -17
- package/bin/aws-nx-mcp.js.map +0 -1
- package/sdk/connection.d.ts +0 -6
- package/sdk/connection.js +0 -10
- package/sdk/connection.js.map +0 -1
- package/sdk/open-api.d.ts +0 -10
- package/sdk/open-api.js +0 -15
- package/sdk/open-api.js.map +0 -1
- package/sdk/py.d.ts +0 -14
- package/sdk/py.js +0 -18
- package/sdk/py.js.map +0 -1
- package/sdk/terraform.d.ts +0 -6
- package/sdk/terraform.js +0 -11
- package/sdk/terraform.js.map +0 -1
- package/sdk/ts.d.ts +0 -29
- package/sdk/ts.js +0 -47
- package/sdk/ts.js.map +0 -1
- package/sdk/utils/ast.js +0 -12
- package/sdk/utils/ast.js.map +0 -1
- package/sdk/utils/format.js +0 -10
- package/sdk/utils/format.js.map +0 -1
- package/sdk/utils/test.js +0 -10
- package/sdk/utils/test.js.map +0 -1
- package/src/connection/agent-serve-local.js +0 -48
- package/src/connection/agent-serve-local.js.map +0 -1
- package/src/connection/serve-local.d.ts +0 -15
- package/src/connection/serve-local.js +0 -41
- package/src/connection/serve-local.js.map +0 -1
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
- package/src/py/agent/react-connection/serve-local.js +0 -30
- package/src/py/agent/react-connection/serve-local.js.map +0 -1
- package/src/py/agent/scripts/http/chat.ts.template +0 -38
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
- package/src/ts/agent/react-connection/serve-local.js +0 -19
- package/src/ts/agent/react-connection/serve-local.js.map +0 -1
- package/src/ts/agent/scripts/http/chat.ts.template +0 -35
- package/src/ts/lib/eslint.d.ts +0 -14
- package/src/ts/lib/eslint.js +0 -90
- package/src/ts/lib/eslint.js.map +0 -1
- package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
- package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
- package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
- package/src/ts/rdb/files/src/constants.ts.template +0 -8
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
- /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
- /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
- /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
- /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
|
@@ -1,35 +1,6 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`tsSmithyApiGenerator > should configure git
|
|
4
|
-
"import baseConfig from '../../eslint.config.mjs';
|
|
5
|
-
|
|
6
|
-
export default [
|
|
7
|
-
...baseConfig,
|
|
8
|
-
{
|
|
9
|
-
files: ['**/*.json'],
|
|
10
|
-
rules: {
|
|
11
|
-
'@nx/dependency-checks': [
|
|
12
|
-
'warn',
|
|
13
|
-
{
|
|
14
|
-
ignoredFiles: [
|
|
15
|
-
'{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}',
|
|
16
|
-
'{projectRoot}/vitest.config.{js,ts,mjs,mts}',
|
|
17
|
-
],
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
},
|
|
21
|
-
languageOptions: {
|
|
22
|
-
parser: await import('jsonc-eslint-parser'),
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
ignores: ['**/out-tsc', '**/generated'],
|
|
27
|
-
},
|
|
28
|
-
];
|
|
29
|
-
"
|
|
30
|
-
`;
|
|
31
|
-
|
|
32
|
-
exports[`tsSmithyApiGenerator > should configure git and eslint ignores for generated code > gitignore 1`] = `"src/generated"`;
|
|
3
|
+
exports[`tsSmithyApiGenerator > should configure git ignores for generated code > gitignore 1`] = `"src/generated"`;
|
|
33
4
|
|
|
34
5
|
exports[`tsSmithyApiGenerator > should generate smithy ts api with Cognito auth > cognito-auth-infra.ts 1`] = `
|
|
35
6
|
"import { Construct } from 'constructs';
|
|
@@ -156,6 +127,9 @@ export class TestApi<
|
|
|
156
127
|
authorizer: new CognitoUserPoolsAuthorizer(scope, 'TestApiAuthorizer', {
|
|
157
128
|
cognitoUserPools: [props.identity.userPool],
|
|
158
129
|
}),
|
|
130
|
+
// Accept access tokens from both sign-in flows: 'openid' (Cognito hosted UI)
|
|
131
|
+
// and 'aws.cognito.signin.user.admin' (Cognito admin/SRP auth APIs).
|
|
132
|
+
authorizationScopes: ['openid', 'aws.cognito.signin.user.admin'],
|
|
159
133
|
},
|
|
160
134
|
deployOptions: {
|
|
161
135
|
tracingEnabled: true,
|
|
@@ -429,11 +403,11 @@ terraform {
|
|
|
429
403
|
required_providers {
|
|
430
404
|
aws = {
|
|
431
405
|
source = "hashicorp/aws"
|
|
432
|
-
version = "
|
|
406
|
+
version = "6.52.0"
|
|
433
407
|
}
|
|
434
408
|
random = {
|
|
435
409
|
source = "hashicorp/random"
|
|
436
|
-
version = "
|
|
410
|
+
version = "3.9.0"
|
|
437
411
|
}
|
|
438
412
|
}
|
|
439
413
|
}
|
|
@@ -503,8 +477,6 @@ data "aws_caller_identity" "current" {}
|
|
|
503
477
|
|
|
504
478
|
# Resources
|
|
505
479
|
|
|
506
|
-
# Note: CloudWatch logging removed due to account-level CloudWatch Logs role ARN requirement
|
|
507
|
-
|
|
508
480
|
# REST API Gateway
|
|
509
481
|
resource "aws_api_gateway_rest_api" "rest_api" {
|
|
510
482
|
name = var.api_name
|
|
@@ -521,10 +493,8 @@ resource "aws_api_gateway_rest_api" "rest_api" {
|
|
|
521
493
|
tags = var.tags
|
|
522
494
|
}
|
|
523
495
|
|
|
524
|
-
# Note: Deployment and
|
|
525
|
-
# after all methods and integrations are defined
|
|
526
|
-
|
|
527
|
-
# Note: CloudWatch Log Group removed due to account-level CloudWatch Logs role ARN requirement
|
|
496
|
+
# Note: Deployment, stage and access logging are created in the consuming module
|
|
497
|
+
# (e.g., foo-api.tf) after all methods and integrations are defined
|
|
528
498
|
|
|
529
499
|
# Gateway Response for CORS (4XX errors)
|
|
530
500
|
resource "aws_api_gateway_gateway_response" "cors_4xx" {
|
|
@@ -682,9 +652,7 @@ output "waf_web_acl_arn" {
|
|
|
682
652
|
value = var.enable_waf ? aws_wafv2_web_acl.api_waf[0].arn : null
|
|
683
653
|
}
|
|
684
654
|
|
|
685
|
-
# Note: Stage and
|
|
686
|
-
|
|
687
|
-
# Note: CloudWatch log group outputs removed due to account-level CloudWatch Logs role ARN requirement"
|
|
655
|
+
# Note: Stage, deployment and access log outputs are provided by the consuming module"
|
|
688
656
|
`;
|
|
689
657
|
|
|
690
658
|
exports[`tsSmithyApiGenerator > should generate smithy ts api with Terraform provider and None auth > none-auth-terraform.tf 1`] = `
|
|
@@ -694,7 +662,7 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with Terraform pro
|
|
|
694
662
|
required_providers {
|
|
695
663
|
aws = {
|
|
696
664
|
source = "hashicorp/aws"
|
|
697
|
-
version = "
|
|
665
|
+
version = "6.52.0"
|
|
698
666
|
}
|
|
699
667
|
}
|
|
700
668
|
}
|
|
@@ -783,6 +751,11 @@ resource "aws_s3_object" "lambda_zip" {
|
|
|
783
751
|
}
|
|
784
752
|
|
|
785
753
|
# Use the core REST API module
|
|
754
|
+
# Account-level CloudWatch role required for REST API access logging
|
|
755
|
+
module "account" {
|
|
756
|
+
source = "../../../core/api/api-gateway-account"
|
|
757
|
+
}
|
|
758
|
+
|
|
786
759
|
module "rest_api" {
|
|
787
760
|
source = "../../../core/api/rest-api"
|
|
788
761
|
|
|
@@ -1108,11 +1081,63 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
1108
1081
|
]
|
|
1109
1082
|
}
|
|
1110
1083
|
|
|
1084
|
+
# KMS key for encrypting access logs at rest
|
|
1085
|
+
resource "aws_kms_key" "access_logs" {
|
|
1086
|
+
description = "TestApi API access log encryption"
|
|
1087
|
+
deletion_window_in_days = 7
|
|
1088
|
+
enable_key_rotation = true
|
|
1089
|
+
|
|
1090
|
+
policy = jsonencode({
|
|
1091
|
+
Version = "2012-10-17"
|
|
1092
|
+
Statement = [
|
|
1093
|
+
{
|
|
1094
|
+
Sid = "Enable IAM User Permissions"
|
|
1095
|
+
Effect = "Allow"
|
|
1096
|
+
Principal = { AWS = "arn:aws:iam::\${data.aws_caller_identity.current.account_id}:root" }
|
|
1097
|
+
Action = "kms:*"
|
|
1098
|
+
Resource = "*"
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
Sid = "Allow CloudWatch Logs"
|
|
1102
|
+
Effect = "Allow"
|
|
1103
|
+
Principal = { Service = "logs.\${data.aws_region.current.region}.amazonaws.com" }
|
|
1104
|
+
Action = [
|
|
1105
|
+
"kms:Encrypt",
|
|
1106
|
+
"kms:Decrypt",
|
|
1107
|
+
"kms:ReEncrypt*",
|
|
1108
|
+
"kms:GenerateDataKey*",
|
|
1109
|
+
"kms:DescribeKey"
|
|
1110
|
+
]
|
|
1111
|
+
Resource = "*"
|
|
1112
|
+
Condition = {
|
|
1113
|
+
ArnEquals = {
|
|
1114
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
]
|
|
1119
|
+
})
|
|
1120
|
+
|
|
1121
|
+
tags = var.tags
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
resource "aws_kms_alias" "access_logs" {
|
|
1125
|
+
name = "alias/test-api-\${random_string.suffix.result}-access-logs"
|
|
1126
|
+
target_key_id = aws_kms_key.access_logs.key_id
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
# Access logs for the API Gateway stage
|
|
1130
|
+
resource "aws_cloudwatch_log_group" "access_logs" {
|
|
1131
|
+
name = "/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
1132
|
+
retention_in_days = 365
|
|
1133
|
+
kms_key_id = aws_kms_key.access_logs.arn
|
|
1134
|
+
tags = var.tags
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1111
1137
|
# API Gateway stage
|
|
1112
1138
|
resource "aws_api_gateway_stage" "api_stage" {
|
|
1113
1139
|
#checkov:skip=CKV_AWS_120:API Gateway caching not required for this use case
|
|
1114
|
-
#checkov:skip=
|
|
1115
|
-
#checkov:skip=CKV2_AWS_4:API Gateway logging level not applicable as access logging is disabled
|
|
1140
|
+
#checkov:skip=CKV2_AWS_4:Access logging is enabled below; verbose execution logging is intentionally not enabled
|
|
1116
1141
|
#checkov:skip=CKV2_AWS_51:Client certificate authentication not required for this use case
|
|
1117
1142
|
#checkov:skip=CKV2_AWS_77:WAFv2 Web ACL is attached via aws_wafv2_web_acl_association when var.enable_waf is true (default) and includes AWSManagedRulesKnownBadInputsRuleSet for Log4j protection; Checkov does not track the association across modules
|
|
1118
1143
|
deployment_id = aws_api_gateway_deployment.api_deployment.id
|
|
@@ -1120,9 +1145,39 @@ resource "aws_api_gateway_stage" "api_stage" {
|
|
|
1120
1145
|
stage_name = "prod"
|
|
1121
1146
|
xray_tracing_enabled = true
|
|
1122
1147
|
|
|
1148
|
+
access_log_settings {
|
|
1149
|
+
destination_arn = aws_cloudwatch_log_group.access_logs.arn
|
|
1150
|
+
format = jsonencode({
|
|
1151
|
+
requestId = "$context.requestId"
|
|
1152
|
+
ip = "$context.identity.sourceIp"
|
|
1153
|
+
caller = "$context.identity.caller"
|
|
1154
|
+
user = "$context.identity.user"
|
|
1155
|
+
requestTime = "$context.requestTime"
|
|
1156
|
+
httpMethod = "$context.httpMethod"
|
|
1157
|
+
resourcePath = "$context.resourcePath"
|
|
1158
|
+
status = "$context.status"
|
|
1159
|
+
protocol = "$context.protocol"
|
|
1160
|
+
responseLength = "$context.responseLength"
|
|
1161
|
+
})
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1123
1164
|
tags = var.tags
|
|
1124
1165
|
|
|
1125
|
-
|
|
1166
|
+
# Ensure the account-level role is configured before the stage is created
|
|
1167
|
+
depends_on = [aws_api_gateway_deployment.api_deployment, module.account]
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
# Default throttling applied to all resource paths and methods
|
|
1171
|
+
resource "aws_api_gateway_method_settings" "throttling" {
|
|
1172
|
+
#checkov:skip=CKV_AWS_225:API Gateway caching not required for this use case
|
|
1173
|
+
rest_api_id = module.rest_api.api_id
|
|
1174
|
+
stage_name = aws_api_gateway_stage.api_stage.stage_name
|
|
1175
|
+
method_path = "*/*"
|
|
1176
|
+
|
|
1177
|
+
settings {
|
|
1178
|
+
throttling_rate_limit = 10000
|
|
1179
|
+
throttling_burst_limit = 5000
|
|
1180
|
+
}
|
|
1126
1181
|
}
|
|
1127
1182
|
|
|
1128
1183
|
# API Gateway Resource Policy
|
|
@@ -1333,42 +1388,38 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with default optio
|
|
|
1333
1388
|
},
|
|
1334
1389
|
"compile": {
|
|
1335
1390
|
"executor": "nx:run-commands",
|
|
1391
|
+
"dependsOn": ["copy-ssdk"],
|
|
1336
1392
|
"outputs": ["{workspaceRoot}/dist/{projectRoot}/tsc"],
|
|
1337
1393
|
"options": {
|
|
1338
1394
|
"command": "tsc --build tsconfig.lib.json",
|
|
1339
1395
|
"cwd": "{projectRoot}"
|
|
1340
|
-
}
|
|
1341
|
-
"dependsOn": ["copy-ssdk"]
|
|
1396
|
+
}
|
|
1342
1397
|
},
|
|
1343
1398
|
"lint": {
|
|
1344
|
-
"executor": "
|
|
1399
|
+
"executor": "nx:run-commands",
|
|
1345
1400
|
"cache": true,
|
|
1346
|
-
"inputs": ["
|
|
1401
|
+
"inputs": ["biome"],
|
|
1402
|
+
"options": {
|
|
1403
|
+
"command": "biome lint {projectRoot}"
|
|
1404
|
+
},
|
|
1347
1405
|
"configurations": {
|
|
1348
1406
|
"fix": {
|
|
1349
|
-
"
|
|
1407
|
+
"command": "biome check --write {projectRoot}"
|
|
1350
1408
|
},
|
|
1351
1409
|
"skip-lint": {
|
|
1352
|
-
"
|
|
1410
|
+
"command": "node -e \\"\\""
|
|
1353
1411
|
}
|
|
1354
1412
|
}
|
|
1355
1413
|
},
|
|
1356
|
-
"test": {
|
|
1357
|
-
"executor": "@nx/vitest:test",
|
|
1358
|
-
"outputs": ["{options.reportsDirectory}"],
|
|
1359
|
-
"options": {
|
|
1360
|
-
"reportsDirectory": "{workspaceRoot}/coverage/{projectRoot}"
|
|
1361
|
-
}
|
|
1362
|
-
},
|
|
1363
1414
|
"bundle": {
|
|
1415
|
+
"executor": "nx:run-commands",
|
|
1416
|
+
"dependsOn": ["compile"],
|
|
1364
1417
|
"cache": true,
|
|
1365
1418
|
"outputs": ["{workspaceRoot}/dist/{projectRoot}/bundle"],
|
|
1366
|
-
"executor": "nx:run-commands",
|
|
1367
1419
|
"options": {
|
|
1368
1420
|
"command": "rolldown -c rolldown.config.ts",
|
|
1369
1421
|
"cwd": "{projectRoot}"
|
|
1370
|
-
}
|
|
1371
|
-
"dependsOn": ["compile"]
|
|
1422
|
+
}
|
|
1372
1423
|
},
|
|
1373
1424
|
"copy-ssdk": {
|
|
1374
1425
|
"cache": true,
|
|
@@ -1391,31 +1442,31 @@ exports[`tsSmithyApiGenerator > should generate smithy ts api with default optio
|
|
|
1391
1442
|
},
|
|
1392
1443
|
"watch-copy-ssdk": {
|
|
1393
1444
|
"executor": "nx:run-commands",
|
|
1445
|
+
"continuous": true,
|
|
1394
1446
|
"options": {
|
|
1395
|
-
"command": "nx watch --projects=@proj/test-api-model --
|
|
1396
|
-
}
|
|
1397
|
-
"continuous": true
|
|
1447
|
+
"command": "nx watch --projects=@proj/test-api-model --includeDependencies -- nx run @proj/test-api:copy-ssdk"
|
|
1448
|
+
}
|
|
1398
1449
|
},
|
|
1399
1450
|
"serve": {
|
|
1400
1451
|
"executor": "nx:run-commands",
|
|
1452
|
+
"dependsOn": ["copy-ssdk", "watch-copy-ssdk"],
|
|
1453
|
+
"continuous": true,
|
|
1401
1454
|
"options": {
|
|
1402
1455
|
"command": "tsx --watch src/local-server.ts",
|
|
1403
1456
|
"cwd": "{projectRoot}"
|
|
1404
|
-
}
|
|
1405
|
-
"continuous": true,
|
|
1406
|
-
"dependsOn": ["copy-ssdk", "watch-copy-ssdk"]
|
|
1457
|
+
}
|
|
1407
1458
|
},
|
|
1408
|
-
"
|
|
1459
|
+
"dev": {
|
|
1409
1460
|
"executor": "nx:run-commands",
|
|
1461
|
+
"dependsOn": ["copy-ssdk", "watch-copy-ssdk"],
|
|
1462
|
+
"continuous": true,
|
|
1410
1463
|
"options": {
|
|
1411
1464
|
"command": "tsx --watch src/local-server.ts",
|
|
1412
1465
|
"cwd": "{projectRoot}",
|
|
1413
1466
|
"env": {
|
|
1414
|
-
"
|
|
1467
|
+
"LOCAL_DEV": "true"
|
|
1415
1468
|
}
|
|
1416
|
-
}
|
|
1417
|
-
"continuous": true,
|
|
1418
|
-
"dependsOn": ["copy-ssdk", "watch-copy-ssdk"]
|
|
1469
|
+
}
|
|
1419
1470
|
}
|
|
1420
1471
|
}
|
|
1421
1472
|
}
|
|
@@ -1708,11 +1759,11 @@ terraform {
|
|
|
1708
1759
|
required_providers {
|
|
1709
1760
|
aws = {
|
|
1710
1761
|
source = "hashicorp/aws"
|
|
1711
|
-
version = "
|
|
1762
|
+
version = "6.52.0"
|
|
1712
1763
|
}
|
|
1713
1764
|
random = {
|
|
1714
1765
|
source = "hashicorp/random"
|
|
1715
|
-
version = "
|
|
1766
|
+
version = "3.9.0"
|
|
1716
1767
|
}
|
|
1717
1768
|
}
|
|
1718
1769
|
}
|
|
@@ -1782,8 +1833,6 @@ data "aws_caller_identity" "current" {}
|
|
|
1782
1833
|
|
|
1783
1834
|
# Resources
|
|
1784
1835
|
|
|
1785
|
-
# Note: CloudWatch logging removed due to account-level CloudWatch Logs role ARN requirement
|
|
1786
|
-
|
|
1787
1836
|
# REST API Gateway
|
|
1788
1837
|
resource "aws_api_gateway_rest_api" "rest_api" {
|
|
1789
1838
|
name = var.api_name
|
|
@@ -1800,10 +1849,8 @@ resource "aws_api_gateway_rest_api" "rest_api" {
|
|
|
1800
1849
|
tags = var.tags
|
|
1801
1850
|
}
|
|
1802
1851
|
|
|
1803
|
-
# Note: Deployment and
|
|
1804
|
-
# after all methods and integrations are defined
|
|
1805
|
-
|
|
1806
|
-
# Note: CloudWatch Log Group removed due to account-level CloudWatch Logs role ARN requirement
|
|
1852
|
+
# Note: Deployment, stage and access logging are created in the consuming module
|
|
1853
|
+
# (e.g., foo-api.tf) after all methods and integrations are defined
|
|
1807
1854
|
|
|
1808
1855
|
# Gateway Response for CORS (4XX errors)
|
|
1809
1856
|
resource "aws_api_gateway_gateway_response" "cors_4xx" {
|
|
@@ -1961,16 +2008,14 @@ output "waf_web_acl_arn" {
|
|
|
1961
2008
|
value = var.enable_waf ? aws_wafv2_web_acl.api_waf[0].arn : null
|
|
1962
2009
|
}
|
|
1963
2010
|
|
|
1964
|
-
# Note: Stage and
|
|
1965
|
-
|
|
1966
|
-
# Note: CloudWatch log group outputs removed due to account-level CloudWatch Logs role ARN requirement",
|
|
2011
|
+
# Note: Stage, deployment and access log outputs are provided by the consuming module",
|
|
1967
2012
|
"test-api.tf": "terraform {
|
|
1968
2013
|
required_version = ">= 1.0"
|
|
1969
2014
|
|
|
1970
2015
|
required_providers {
|
|
1971
2016
|
aws = {
|
|
1972
2017
|
source = "hashicorp/aws"
|
|
1973
|
-
version = "
|
|
2018
|
+
version = "6.52.0"
|
|
1974
2019
|
}
|
|
1975
2020
|
}
|
|
1976
2021
|
}
|
|
@@ -2069,6 +2114,11 @@ resource "aws_s3_object" "lambda_zip" {
|
|
|
2069
2114
|
}
|
|
2070
2115
|
|
|
2071
2116
|
# Use the core REST API module
|
|
2117
|
+
# Account-level CloudWatch role required for REST API access logging
|
|
2118
|
+
module "account" {
|
|
2119
|
+
source = "../../../core/api/api-gateway-account"
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2072
2122
|
module "rest_api" {
|
|
2073
2123
|
source = "../../../core/api/rest-api"
|
|
2074
2124
|
|
|
@@ -2223,6 +2273,9 @@ resource "aws_api_gateway_method" "proxy_method" {
|
|
|
2223
2273
|
|
|
2224
2274
|
authorization = "COGNITO_USER_POOLS"
|
|
2225
2275
|
authorizer_id = aws_api_gateway_authorizer.cognito_authorizer.id
|
|
2276
|
+
# Accept access tokens from both sign-in flows: 'openid' (Cognito hosted UI)
|
|
2277
|
+
# and 'aws.cognito.signin.user.admin' (Cognito admin/SRP auth APIs).
|
|
2278
|
+
authorization_scopes = ["openid", "aws.cognito.signin.user.admin"]
|
|
2226
2279
|
|
|
2227
2280
|
request_parameters = {
|
|
2228
2281
|
"method.request.path.proxy" = true
|
|
@@ -2309,11 +2362,63 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
2309
2362
|
]
|
|
2310
2363
|
}
|
|
2311
2364
|
|
|
2365
|
+
# KMS key for encrypting access logs at rest
|
|
2366
|
+
resource "aws_kms_key" "access_logs" {
|
|
2367
|
+
description = "TestApi API access log encryption"
|
|
2368
|
+
deletion_window_in_days = 7
|
|
2369
|
+
enable_key_rotation = true
|
|
2370
|
+
|
|
2371
|
+
policy = jsonencode({
|
|
2372
|
+
Version = "2012-10-17"
|
|
2373
|
+
Statement = [
|
|
2374
|
+
{
|
|
2375
|
+
Sid = "Enable IAM User Permissions"
|
|
2376
|
+
Effect = "Allow"
|
|
2377
|
+
Principal = { AWS = "arn:aws:iam::\${data.aws_caller_identity.current.account_id}:root" }
|
|
2378
|
+
Action = "kms:*"
|
|
2379
|
+
Resource = "*"
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
Sid = "Allow CloudWatch Logs"
|
|
2383
|
+
Effect = "Allow"
|
|
2384
|
+
Principal = { Service = "logs.\${data.aws_region.current.region}.amazonaws.com" }
|
|
2385
|
+
Action = [
|
|
2386
|
+
"kms:Encrypt",
|
|
2387
|
+
"kms:Decrypt",
|
|
2388
|
+
"kms:ReEncrypt*",
|
|
2389
|
+
"kms:GenerateDataKey*",
|
|
2390
|
+
"kms:DescribeKey"
|
|
2391
|
+
]
|
|
2392
|
+
Resource = "*"
|
|
2393
|
+
Condition = {
|
|
2394
|
+
ArnEquals = {
|
|
2395
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
]
|
|
2400
|
+
})
|
|
2401
|
+
|
|
2402
|
+
tags = var.tags
|
|
2403
|
+
}
|
|
2404
|
+
|
|
2405
|
+
resource "aws_kms_alias" "access_logs" {
|
|
2406
|
+
name = "alias/test-api-\${random_string.suffix.result}-access-logs"
|
|
2407
|
+
target_key_id = aws_kms_key.access_logs.key_id
|
|
2408
|
+
}
|
|
2409
|
+
|
|
2410
|
+
# Access logs for the API Gateway stage
|
|
2411
|
+
resource "aws_cloudwatch_log_group" "access_logs" {
|
|
2412
|
+
name = "/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
2413
|
+
retention_in_days = 365
|
|
2414
|
+
kms_key_id = aws_kms_key.access_logs.arn
|
|
2415
|
+
tags = var.tags
|
|
2416
|
+
}
|
|
2417
|
+
|
|
2312
2418
|
# API Gateway stage
|
|
2313
2419
|
resource "aws_api_gateway_stage" "api_stage" {
|
|
2314
2420
|
#checkov:skip=CKV_AWS_120:API Gateway caching not required for this use case
|
|
2315
|
-
#checkov:skip=
|
|
2316
|
-
#checkov:skip=CKV2_AWS_4:API Gateway logging level not applicable as access logging is disabled
|
|
2421
|
+
#checkov:skip=CKV2_AWS_4:Access logging is enabled below; verbose execution logging is intentionally not enabled
|
|
2317
2422
|
#checkov:skip=CKV2_AWS_51:Client certificate authentication not required for this use case
|
|
2318
2423
|
#checkov:skip=CKV2_AWS_77:WAFv2 Web ACL is attached via aws_wafv2_web_acl_association when var.enable_waf is true (default) and includes AWSManagedRulesKnownBadInputsRuleSet for Log4j protection; Checkov does not track the association across modules
|
|
2319
2424
|
deployment_id = aws_api_gateway_deployment.api_deployment.id
|
|
@@ -2321,9 +2426,39 @@ resource "aws_api_gateway_stage" "api_stage" {
|
|
|
2321
2426
|
stage_name = "prod"
|
|
2322
2427
|
xray_tracing_enabled = true
|
|
2323
2428
|
|
|
2429
|
+
access_log_settings {
|
|
2430
|
+
destination_arn = aws_cloudwatch_log_group.access_logs.arn
|
|
2431
|
+
format = jsonencode({
|
|
2432
|
+
requestId = "$context.requestId"
|
|
2433
|
+
ip = "$context.identity.sourceIp"
|
|
2434
|
+
caller = "$context.identity.caller"
|
|
2435
|
+
user = "$context.identity.user"
|
|
2436
|
+
requestTime = "$context.requestTime"
|
|
2437
|
+
httpMethod = "$context.httpMethod"
|
|
2438
|
+
resourcePath = "$context.resourcePath"
|
|
2439
|
+
status = "$context.status"
|
|
2440
|
+
protocol = "$context.protocol"
|
|
2441
|
+
responseLength = "$context.responseLength"
|
|
2442
|
+
})
|
|
2443
|
+
}
|
|
2444
|
+
|
|
2324
2445
|
tags = var.tags
|
|
2325
2446
|
|
|
2326
|
-
|
|
2447
|
+
# Ensure the account-level role is configured before the stage is created
|
|
2448
|
+
depends_on = [aws_api_gateway_deployment.api_deployment, module.account]
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2451
|
+
# Default throttling applied to all resource paths and methods
|
|
2452
|
+
resource "aws_api_gateway_method_settings" "throttling" {
|
|
2453
|
+
#checkov:skip=CKV_AWS_225:API Gateway caching not required for this use case
|
|
2454
|
+
rest_api_id = module.rest_api.api_id
|
|
2455
|
+
stage_name = aws_api_gateway_stage.api_stage.stage_name
|
|
2456
|
+
method_path = "*/*"
|
|
2457
|
+
|
|
2458
|
+
settings {
|
|
2459
|
+
throttling_rate_limit = 10000
|
|
2460
|
+
throttling_burst_limit = 5000
|
|
2461
|
+
}
|
|
2327
2462
|
}
|
|
2328
2463
|
|
|
2329
2464
|
# API Gateway Resource Policy
|
|
@@ -2503,11 +2638,11 @@ terraform {
|
|
|
2503
2638
|
required_providers {
|
|
2504
2639
|
aws = {
|
|
2505
2640
|
source = "hashicorp/aws"
|
|
2506
|
-
version = "
|
|
2641
|
+
version = "6.52.0"
|
|
2507
2642
|
}
|
|
2508
2643
|
random = {
|
|
2509
2644
|
source = "hashicorp/random"
|
|
2510
|
-
version = "
|
|
2645
|
+
version = "3.9.0"
|
|
2511
2646
|
}
|
|
2512
2647
|
}
|
|
2513
2648
|
}
|
|
@@ -2577,8 +2712,6 @@ data "aws_caller_identity" "current" {}
|
|
|
2577
2712
|
|
|
2578
2713
|
# Resources
|
|
2579
2714
|
|
|
2580
|
-
# Note: CloudWatch logging removed due to account-level CloudWatch Logs role ARN requirement
|
|
2581
|
-
|
|
2582
2715
|
# REST API Gateway
|
|
2583
2716
|
resource "aws_api_gateway_rest_api" "rest_api" {
|
|
2584
2717
|
name = var.api_name
|
|
@@ -2595,10 +2728,8 @@ resource "aws_api_gateway_rest_api" "rest_api" {
|
|
|
2595
2728
|
tags = var.tags
|
|
2596
2729
|
}
|
|
2597
2730
|
|
|
2598
|
-
# Note: Deployment and
|
|
2599
|
-
# after all methods and integrations are defined
|
|
2600
|
-
|
|
2601
|
-
# Note: CloudWatch Log Group removed due to account-level CloudWatch Logs role ARN requirement
|
|
2731
|
+
# Note: Deployment, stage and access logging are created in the consuming module
|
|
2732
|
+
# (e.g., foo-api.tf) after all methods and integrations are defined
|
|
2602
2733
|
|
|
2603
2734
|
# Gateway Response for CORS (4XX errors)
|
|
2604
2735
|
resource "aws_api_gateway_gateway_response" "cors_4xx" {
|
|
@@ -2756,16 +2887,14 @@ output "waf_web_acl_arn" {
|
|
|
2756
2887
|
value = var.enable_waf ? aws_wafv2_web_acl.api_waf[0].arn : null
|
|
2757
2888
|
}
|
|
2758
2889
|
|
|
2759
|
-
# Note: Stage and
|
|
2760
|
-
|
|
2761
|
-
# Note: CloudWatch log group outputs removed due to account-level CloudWatch Logs role ARN requirement",
|
|
2890
|
+
# Note: Stage, deployment and access log outputs are provided by the consuming module",
|
|
2762
2891
|
"test-api.tf": "terraform {
|
|
2763
2892
|
required_version = ">= 1.0"
|
|
2764
2893
|
|
|
2765
2894
|
required_providers {
|
|
2766
2895
|
aws = {
|
|
2767
2896
|
source = "hashicorp/aws"
|
|
2768
|
-
version = "
|
|
2897
|
+
version = "6.52.0"
|
|
2769
2898
|
}
|
|
2770
2899
|
}
|
|
2771
2900
|
}
|
|
@@ -2854,6 +2983,11 @@ resource "aws_s3_object" "lambda_zip" {
|
|
|
2854
2983
|
}
|
|
2855
2984
|
|
|
2856
2985
|
# Use the core REST API module
|
|
2986
|
+
# Account-level CloudWatch role required for REST API access logging
|
|
2987
|
+
module "account" {
|
|
2988
|
+
source = "../../../core/api/api-gateway-account"
|
|
2989
|
+
}
|
|
2990
|
+
|
|
2857
2991
|
module "rest_api" {
|
|
2858
2992
|
source = "../../../core/api/rest-api"
|
|
2859
2993
|
|
|
@@ -3085,11 +3219,63 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
3085
3219
|
]
|
|
3086
3220
|
}
|
|
3087
3221
|
|
|
3222
|
+
# KMS key for encrypting access logs at rest
|
|
3223
|
+
resource "aws_kms_key" "access_logs" {
|
|
3224
|
+
description = "TestApi API access log encryption"
|
|
3225
|
+
deletion_window_in_days = 7
|
|
3226
|
+
enable_key_rotation = true
|
|
3227
|
+
|
|
3228
|
+
policy = jsonencode({
|
|
3229
|
+
Version = "2012-10-17"
|
|
3230
|
+
Statement = [
|
|
3231
|
+
{
|
|
3232
|
+
Sid = "Enable IAM User Permissions"
|
|
3233
|
+
Effect = "Allow"
|
|
3234
|
+
Principal = { AWS = "arn:aws:iam::\${data.aws_caller_identity.current.account_id}:root" }
|
|
3235
|
+
Action = "kms:*"
|
|
3236
|
+
Resource = "*"
|
|
3237
|
+
},
|
|
3238
|
+
{
|
|
3239
|
+
Sid = "Allow CloudWatch Logs"
|
|
3240
|
+
Effect = "Allow"
|
|
3241
|
+
Principal = { Service = "logs.\${data.aws_region.current.region}.amazonaws.com" }
|
|
3242
|
+
Action = [
|
|
3243
|
+
"kms:Encrypt",
|
|
3244
|
+
"kms:Decrypt",
|
|
3245
|
+
"kms:ReEncrypt*",
|
|
3246
|
+
"kms:GenerateDataKey*",
|
|
3247
|
+
"kms:DescribeKey"
|
|
3248
|
+
]
|
|
3249
|
+
Resource = "*"
|
|
3250
|
+
Condition = {
|
|
3251
|
+
ArnEquals = {
|
|
3252
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
}
|
|
3256
|
+
]
|
|
3257
|
+
})
|
|
3258
|
+
|
|
3259
|
+
tags = var.tags
|
|
3260
|
+
}
|
|
3261
|
+
|
|
3262
|
+
resource "aws_kms_alias" "access_logs" {
|
|
3263
|
+
name = "alias/test-api-\${random_string.suffix.result}-access-logs"
|
|
3264
|
+
target_key_id = aws_kms_key.access_logs.key_id
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
# Access logs for the API Gateway stage
|
|
3268
|
+
resource "aws_cloudwatch_log_group" "access_logs" {
|
|
3269
|
+
name = "/aws/apigateway/test-api-\${random_string.suffix.result}/access"
|
|
3270
|
+
retention_in_days = 365
|
|
3271
|
+
kms_key_id = aws_kms_key.access_logs.arn
|
|
3272
|
+
tags = var.tags
|
|
3273
|
+
}
|
|
3274
|
+
|
|
3088
3275
|
# API Gateway stage
|
|
3089
3276
|
resource "aws_api_gateway_stage" "api_stage" {
|
|
3090
3277
|
#checkov:skip=CKV_AWS_120:API Gateway caching not required for this use case
|
|
3091
|
-
#checkov:skip=
|
|
3092
|
-
#checkov:skip=CKV2_AWS_4:API Gateway logging level not applicable as access logging is disabled
|
|
3278
|
+
#checkov:skip=CKV2_AWS_4:Access logging is enabled below; verbose execution logging is intentionally not enabled
|
|
3093
3279
|
#checkov:skip=CKV2_AWS_51:Client certificate authentication not required for this use case
|
|
3094
3280
|
#checkov:skip=CKV2_AWS_77:WAFv2 Web ACL is attached via aws_wafv2_web_acl_association when var.enable_waf is true (default) and includes AWSManagedRulesKnownBadInputsRuleSet for Log4j protection; Checkov does not track the association across modules
|
|
3095
3281
|
deployment_id = aws_api_gateway_deployment.api_deployment.id
|
|
@@ -3097,9 +3283,39 @@ resource "aws_api_gateway_stage" "api_stage" {
|
|
|
3097
3283
|
stage_name = "prod"
|
|
3098
3284
|
xray_tracing_enabled = true
|
|
3099
3285
|
|
|
3286
|
+
access_log_settings {
|
|
3287
|
+
destination_arn = aws_cloudwatch_log_group.access_logs.arn
|
|
3288
|
+
format = jsonencode({
|
|
3289
|
+
requestId = "$context.requestId"
|
|
3290
|
+
ip = "$context.identity.sourceIp"
|
|
3291
|
+
caller = "$context.identity.caller"
|
|
3292
|
+
user = "$context.identity.user"
|
|
3293
|
+
requestTime = "$context.requestTime"
|
|
3294
|
+
httpMethod = "$context.httpMethod"
|
|
3295
|
+
resourcePath = "$context.resourcePath"
|
|
3296
|
+
status = "$context.status"
|
|
3297
|
+
protocol = "$context.protocol"
|
|
3298
|
+
responseLength = "$context.responseLength"
|
|
3299
|
+
})
|
|
3300
|
+
}
|
|
3301
|
+
|
|
3100
3302
|
tags = var.tags
|
|
3101
3303
|
|
|
3102
|
-
|
|
3304
|
+
# Ensure the account-level role is configured before the stage is created
|
|
3305
|
+
depends_on = [aws_api_gateway_deployment.api_deployment, module.account]
|
|
3306
|
+
}
|
|
3307
|
+
|
|
3308
|
+
# Default throttling applied to all resource paths and methods
|
|
3309
|
+
resource "aws_api_gateway_method_settings" "throttling" {
|
|
3310
|
+
#checkov:skip=CKV_AWS_225:API Gateway caching not required for this use case
|
|
3311
|
+
rest_api_id = module.rest_api.api_id
|
|
3312
|
+
stage_name = aws_api_gateway_stage.api_stage.stage_name
|
|
3313
|
+
method_path = "*/*"
|
|
3314
|
+
|
|
3315
|
+
settings {
|
|
3316
|
+
throttling_rate_limit = 10000
|
|
3317
|
+
throttling_burst_limit = 5000
|
|
3318
|
+
}
|
|
3103
3319
|
}
|
|
3104
3320
|
|
|
3105
3321
|
# API Gateway Resource Policy
|
|
@@ -3286,7 +3502,7 @@ exports[`tsSmithyApiGenerator > terraform iac > should generate terraform with c
|
|
|
3286
3502
|
required_providers {
|
|
3287
3503
|
aws = {
|
|
3288
3504
|
source = "hashicorp/aws"
|
|
3289
|
-
version = "
|
|
3505
|
+
version = "6.52.0"
|
|
3290
3506
|
}
|
|
3291
3507
|
}
|
|
3292
3508
|
}
|
|
@@ -3375,6 +3591,11 @@ resource "aws_s3_object" "lambda_zip" {
|
|
|
3375
3591
|
}
|
|
3376
3592
|
|
|
3377
3593
|
# Use the core REST API module
|
|
3594
|
+
# Account-level CloudWatch role required for REST API access logging
|
|
3595
|
+
module "account" {
|
|
3596
|
+
source = "../../../core/api/api-gateway-account"
|
|
3597
|
+
}
|
|
3598
|
+
|
|
3378
3599
|
module "rest_api" {
|
|
3379
3600
|
source = "../../../core/api/rest-api"
|
|
3380
3601
|
|
|
@@ -3700,11 +3921,63 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
3700
3921
|
]
|
|
3701
3922
|
}
|
|
3702
3923
|
|
|
3924
|
+
# KMS key for encrypting access logs at rest
|
|
3925
|
+
resource "aws_kms_key" "access_logs" {
|
|
3926
|
+
description = "CustomApi API access log encryption"
|
|
3927
|
+
deletion_window_in_days = 7
|
|
3928
|
+
enable_key_rotation = true
|
|
3929
|
+
|
|
3930
|
+
policy = jsonencode({
|
|
3931
|
+
Version = "2012-10-17"
|
|
3932
|
+
Statement = [
|
|
3933
|
+
{
|
|
3934
|
+
Sid = "Enable IAM User Permissions"
|
|
3935
|
+
Effect = "Allow"
|
|
3936
|
+
Principal = { AWS = "arn:aws:iam::\${data.aws_caller_identity.current.account_id}:root" }
|
|
3937
|
+
Action = "kms:*"
|
|
3938
|
+
Resource = "*"
|
|
3939
|
+
},
|
|
3940
|
+
{
|
|
3941
|
+
Sid = "Allow CloudWatch Logs"
|
|
3942
|
+
Effect = "Allow"
|
|
3943
|
+
Principal = { Service = "logs.\${data.aws_region.current.region}.amazonaws.com" }
|
|
3944
|
+
Action = [
|
|
3945
|
+
"kms:Encrypt",
|
|
3946
|
+
"kms:Decrypt",
|
|
3947
|
+
"kms:ReEncrypt*",
|
|
3948
|
+
"kms:GenerateDataKey*",
|
|
3949
|
+
"kms:DescribeKey"
|
|
3950
|
+
]
|
|
3951
|
+
Resource = "*"
|
|
3952
|
+
Condition = {
|
|
3953
|
+
ArnEquals = {
|
|
3954
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/custom-api-\${random_string.suffix.result}/access"
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3957
|
+
}
|
|
3958
|
+
]
|
|
3959
|
+
})
|
|
3960
|
+
|
|
3961
|
+
tags = var.tags
|
|
3962
|
+
}
|
|
3963
|
+
|
|
3964
|
+
resource "aws_kms_alias" "access_logs" {
|
|
3965
|
+
name = "alias/custom-api-\${random_string.suffix.result}-access-logs"
|
|
3966
|
+
target_key_id = aws_kms_key.access_logs.key_id
|
|
3967
|
+
}
|
|
3968
|
+
|
|
3969
|
+
# Access logs for the API Gateway stage
|
|
3970
|
+
resource "aws_cloudwatch_log_group" "access_logs" {
|
|
3971
|
+
name = "/aws/apigateway/custom-api-\${random_string.suffix.result}/access"
|
|
3972
|
+
retention_in_days = 365
|
|
3973
|
+
kms_key_id = aws_kms_key.access_logs.arn
|
|
3974
|
+
tags = var.tags
|
|
3975
|
+
}
|
|
3976
|
+
|
|
3703
3977
|
# API Gateway stage
|
|
3704
3978
|
resource "aws_api_gateway_stage" "api_stage" {
|
|
3705
3979
|
#checkov:skip=CKV_AWS_120:API Gateway caching not required for this use case
|
|
3706
|
-
#checkov:skip=
|
|
3707
|
-
#checkov:skip=CKV2_AWS_4:API Gateway logging level not applicable as access logging is disabled
|
|
3980
|
+
#checkov:skip=CKV2_AWS_4:Access logging is enabled below; verbose execution logging is intentionally not enabled
|
|
3708
3981
|
#checkov:skip=CKV2_AWS_51:Client certificate authentication not required for this use case
|
|
3709
3982
|
#checkov:skip=CKV2_AWS_77:WAFv2 Web ACL is attached via aws_wafv2_web_acl_association when var.enable_waf is true (default) and includes AWSManagedRulesKnownBadInputsRuleSet for Log4j protection; Checkov does not track the association across modules
|
|
3710
3983
|
deployment_id = aws_api_gateway_deployment.api_deployment.id
|
|
@@ -3712,9 +3985,39 @@ resource "aws_api_gateway_stage" "api_stage" {
|
|
|
3712
3985
|
stage_name = "prod"
|
|
3713
3986
|
xray_tracing_enabled = true
|
|
3714
3987
|
|
|
3988
|
+
access_log_settings {
|
|
3989
|
+
destination_arn = aws_cloudwatch_log_group.access_logs.arn
|
|
3990
|
+
format = jsonencode({
|
|
3991
|
+
requestId = "$context.requestId"
|
|
3992
|
+
ip = "$context.identity.sourceIp"
|
|
3993
|
+
caller = "$context.identity.caller"
|
|
3994
|
+
user = "$context.identity.user"
|
|
3995
|
+
requestTime = "$context.requestTime"
|
|
3996
|
+
httpMethod = "$context.httpMethod"
|
|
3997
|
+
resourcePath = "$context.resourcePath"
|
|
3998
|
+
status = "$context.status"
|
|
3999
|
+
protocol = "$context.protocol"
|
|
4000
|
+
responseLength = "$context.responseLength"
|
|
4001
|
+
})
|
|
4002
|
+
}
|
|
4003
|
+
|
|
3715
4004
|
tags = var.tags
|
|
3716
4005
|
|
|
3717
|
-
|
|
4006
|
+
# Ensure the account-level role is configured before the stage is created
|
|
4007
|
+
depends_on = [aws_api_gateway_deployment.api_deployment, module.account]
|
|
4008
|
+
}
|
|
4009
|
+
|
|
4010
|
+
# Default throttling applied to all resource paths and methods
|
|
4011
|
+
resource "aws_api_gateway_method_settings" "throttling" {
|
|
4012
|
+
#checkov:skip=CKV_AWS_225:API Gateway caching not required for this use case
|
|
4013
|
+
rest_api_id = module.rest_api.api_id
|
|
4014
|
+
stage_name = aws_api_gateway_stage.api_stage.stage_name
|
|
4015
|
+
method_path = "*/*"
|
|
4016
|
+
|
|
4017
|
+
settings {
|
|
4018
|
+
throttling_rate_limit = 10000
|
|
4019
|
+
throttling_burst_limit = 5000
|
|
4020
|
+
}
|
|
3718
4021
|
}
|
|
3719
4022
|
|
|
3720
4023
|
# API Gateway Resource Policy
|