@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
package/src/utils/mcp.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/ import { readJson, writeJson } from "@nx/devkit";
|
|
5
|
+
import { updateToml } from "./toml.js";
|
|
6
|
+
/**
|
|
7
|
+
* Name of the Nx Plugin for AWS MCP server, used as the key in each agent's config.
|
|
8
|
+
*/ export const NX_PLUGIN_MCP_SERVER_NAME = 'nx-plugin-for-aws';
|
|
9
|
+
/**
|
|
10
|
+
* Command used to launch the Nx Plugin for AWS MCP server.
|
|
11
|
+
*/ export const NX_PLUGIN_MCP_SERVER_COMMAND = 'npx';
|
|
12
|
+
/**
|
|
13
|
+
* Arguments used to launch the Nx Plugin for AWS MCP server.
|
|
14
|
+
*/ export const NX_PLUGIN_MCP_SERVER_ARGS = [
|
|
15
|
+
'-y',
|
|
16
|
+
'@aws/nx-plugin-mcp'
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* A single stdio MCP server entry, shared by agents that use the `mcpServers` config shape.
|
|
20
|
+
*/ const stdioServerEntry = ()=>({
|
|
21
|
+
command: NX_PLUGIN_MCP_SERVER_COMMAND,
|
|
22
|
+
args: NX_PLUGIN_MCP_SERVER_ARGS
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Merge the Nx Plugin for AWS MCP server into a JSON config file under the given key,
|
|
26
|
+
* preserving any other servers already configured. Creates the file if it does not exist.
|
|
27
|
+
*/ const mergeJsonMcpConfig = (tree, filePath, key, entry)=>{
|
|
28
|
+
const config = tree.exists(filePath) ? readJson(tree, filePath) : {};
|
|
29
|
+
config[key] = {
|
|
30
|
+
...config[key],
|
|
31
|
+
[NX_PLUGIN_MCP_SERVER_NAME]: entry
|
|
32
|
+
};
|
|
33
|
+
writeJson(tree, filePath, config);
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Configure the Nx Plugin for AWS MCP server across the project-level config locations
|
|
37
|
+
* used by common coding agents, so agents working in the workspace can use it to scaffold
|
|
38
|
+
* AWS projects with the Nx Plugin for AWS.
|
|
39
|
+
*
|
|
40
|
+
* Existing servers and unrelated config in each file are preserved.
|
|
41
|
+
*/ export const configureMcpServers = (tree)=>{
|
|
42
|
+
// Agents using the `mcpServers` config shape (Claude Code, Cursor, Kiro, Gemini CLI)
|
|
43
|
+
const mcpServersFiles = [
|
|
44
|
+
'.mcp.json',
|
|
45
|
+
'.cursor/mcp.json',
|
|
46
|
+
'.kiro/settings/mcp.json',
|
|
47
|
+
'.gemini/settings.json'
|
|
48
|
+
];
|
|
49
|
+
for (const filePath of mcpServersFiles){
|
|
50
|
+
mergeJsonMcpConfig(tree, filePath, 'mcpServers', stdioServerEntry());
|
|
51
|
+
}
|
|
52
|
+
// GitHub Copilot uses the `servers` key with an explicit `type`
|
|
53
|
+
mergeJsonMcpConfig(tree, '.vscode/mcp.json', 'servers', {
|
|
54
|
+
type: 'stdio',
|
|
55
|
+
...stdioServerEntry()
|
|
56
|
+
});
|
|
57
|
+
// OpenAI Codex CLI uses TOML under the `mcp_servers` table
|
|
58
|
+
const codexConfig = '.codex/config.toml';
|
|
59
|
+
if (!tree.exists(codexConfig)) {
|
|
60
|
+
tree.write(codexConfig, '');
|
|
61
|
+
}
|
|
62
|
+
updateToml(tree, codexConfig, (prev)=>({
|
|
63
|
+
...prev,
|
|
64
|
+
mcp_servers: {
|
|
65
|
+
...prev.mcp_servers,
|
|
66
|
+
[NX_PLUGIN_MCP_SERVER_NAME]: {
|
|
67
|
+
command: NX_PLUGIN_MCP_SERVER_COMMAND,
|
|
68
|
+
args: NX_PLUGIN_MCP_SERVER_ARGS
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/mcp.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { readJson, type Tree, writeJson } from '@nx/devkit';\nimport { updateToml } from './toml';\n\n/**\n * Name of the Nx Plugin for AWS MCP server, used as the key in each agent's config.\n */\nexport const NX_PLUGIN_MCP_SERVER_NAME = 'nx-plugin-for-aws';\n\n/**\n * Command used to launch the Nx Plugin for AWS MCP server.\n */\nexport const NX_PLUGIN_MCP_SERVER_COMMAND = 'npx';\n\n/**\n * Arguments used to launch the Nx Plugin for AWS MCP server.\n */\nexport const NX_PLUGIN_MCP_SERVER_ARGS = ['-y', '@aws/nx-plugin-mcp'];\n\n/**\n * A single stdio MCP server entry, shared by agents that use the `mcpServers` config shape.\n */\nconst stdioServerEntry = () => ({\n command: NX_PLUGIN_MCP_SERVER_COMMAND,\n args: NX_PLUGIN_MCP_SERVER_ARGS,\n});\n\n/**\n * Merge the Nx Plugin for AWS MCP server into a JSON config file under the given key,\n * preserving any other servers already configured. Creates the file if it does not exist.\n */\nconst mergeJsonMcpConfig = (\n tree: Tree,\n filePath: string,\n key: 'mcpServers' | 'servers',\n entry: Record<string, unknown>,\n) => {\n const config = tree.exists(filePath) ? readJson(tree, filePath) : {};\n config[key] = {\n ...config[key],\n [NX_PLUGIN_MCP_SERVER_NAME]: entry,\n };\n writeJson(tree, filePath, config);\n};\n\n/**\n * Configure the Nx Plugin for AWS MCP server across the project-level config locations\n * used by common coding agents, so agents working in the workspace can use it to scaffold\n * AWS projects with the Nx Plugin for AWS.\n *\n * Existing servers and unrelated config in each file are preserved.\n */\nexport const configureMcpServers = (tree: Tree) => {\n // Agents using the `mcpServers` config shape (Claude Code, Cursor, Kiro, Gemini CLI)\n const mcpServersFiles = [\n '.mcp.json', // Claude Code\n '.cursor/mcp.json', // Cursor\n '.kiro/settings/mcp.json', // Kiro\n '.gemini/settings.json', // Gemini CLI\n ];\n for (const filePath of mcpServersFiles) {\n mergeJsonMcpConfig(tree, filePath, 'mcpServers', stdioServerEntry());\n }\n\n // GitHub Copilot uses the `servers` key with an explicit `type`\n mergeJsonMcpConfig(tree, '.vscode/mcp.json', 'servers', {\n type: 'stdio',\n ...stdioServerEntry(),\n });\n\n // OpenAI Codex CLI uses TOML under the `mcp_servers` table\n const codexConfig = '.codex/config.toml';\n if (!tree.exists(codexConfig)) {\n tree.write(codexConfig, '');\n }\n updateToml(tree, codexConfig, (prev) => ({\n ...prev,\n mcp_servers: {\n ...(prev.mcp_servers as object),\n [NX_PLUGIN_MCP_SERVER_NAME]: {\n command: NX_PLUGIN_MCP_SERVER_COMMAND,\n args: NX_PLUGIN_MCP_SERVER_ARGS,\n },\n },\n }));\n};\n"],"names":["readJson","writeJson","updateToml","NX_PLUGIN_MCP_SERVER_NAME","NX_PLUGIN_MCP_SERVER_COMMAND","NX_PLUGIN_MCP_SERVER_ARGS","stdioServerEntry","command","args","mergeJsonMcpConfig","tree","filePath","key","entry","config","exists","configureMcpServers","mcpServersFiles","type","codexConfig","write","prev","mcp_servers"],"mappings":"AAAA;;;CAGC,GACD,SAASA,QAAQ,EAAaC,SAAS,QAAQ,aAAa;AAC5D,SAASC,UAAU,QAAQ,YAAS;AAEpC;;CAEC,GACD,OAAO,MAAMC,4BAA4B,oBAAoB;AAE7D;;CAEC,GACD,OAAO,MAAMC,+BAA+B,MAAM;AAElD;;CAEC,GACD,OAAO,MAAMC,4BAA4B;IAAC;IAAM;CAAqB,CAAC;AAEtE;;CAEC,GACD,MAAMC,mBAAmB,IAAO,CAAA;QAC9BC,SAASH;QACTI,MAAMH;IACR,CAAA;AAEA;;;CAGC,GACD,MAAMI,qBAAqB,CACzBC,MACAC,UACAC,KACAC;IAEA,MAAMC,SAASJ,KAAKK,MAAM,CAACJ,YAAYX,SAASU,MAAMC,YAAY,CAAC;IACnEG,MAAM,CAACF,IAAI,GAAG;QACZ,GAAGE,MAAM,CAACF,IAAI;QACd,CAACT,0BAA0B,EAAEU;IAC/B;IACAZ,UAAUS,MAAMC,UAAUG;AAC5B;AAEA;;;;;;CAMC,GACD,OAAO,MAAME,sBAAsB,CAACN;IAClC,qFAAqF;IACrF,MAAMO,kBAAkB;QACtB;QACA;QACA;QACA;KACD;IACD,KAAK,MAAMN,YAAYM,gBAAiB;QACtCR,mBAAmBC,MAAMC,UAAU,cAAcL;IACnD;IAEA,gEAAgE;IAChEG,mBAAmBC,MAAM,oBAAoB,WAAW;QACtDQ,MAAM;QACN,GAAGZ,kBAAkB;IACvB;IAEA,2DAA2D;IAC3D,MAAMa,cAAc;IACpB,IAAI,CAACT,KAAKK,MAAM,CAACI,cAAc;QAC7BT,KAAKU,KAAK,CAACD,aAAa;IAC1B;IACAjB,WAAWQ,MAAMS,aAAa,CAACE,OAAU,CAAA;YACvC,GAAGA,IAAI;YACPC,aAAa;gBACX,GAAID,KAAKC,WAAW;gBACpB,CAACnB,0BAA0B,EAAE;oBAC3BI,SAASH;oBACTI,MAAMH;gBACR;YACF;QACF,CAAA;AACF,EAAE"}
|
package/src/utils/metrics.d.ts
CHANGED
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
6
|
-
import { NxGeneratorInfo } from './nx';
|
|
5
|
+
import { type Tree } from '@nx/devkit';
|
|
6
|
+
import { type NxGeneratorInfo } from './nx';
|
|
7
7
|
export declare const METRIC_ID = "uksb-4wk0bqpg5s";
|
|
8
8
|
export declare const METRICS_ASPECT_FILE_PATH: string;
|
|
9
9
|
export declare const TERRAFORM_METRICS_FILE_PATH: string;
|
|
10
10
|
/**
|
|
11
11
|
* Instruments metrics by updating the MetricsAspect in common/constructs/src/core/app.ts if the file exists,
|
|
12
|
-
* or updating the Terraform metrics CloudFormation stack if it exists
|
|
12
|
+
* and/or updating the Terraform metrics CloudFormation stack if it exists.
|
|
13
|
+
*
|
|
14
|
+
* Both files are converged to the same tag set (the union of tags already
|
|
15
|
+
* present in either file plus the incoming generators). This keeps the tag set
|
|
16
|
+
* deterministic regardless of the order in which metrics files are created
|
|
17
|
+
* across a multi-generator run, so re-running the same set of generators does
|
|
18
|
+
* not grow the tags.
|
|
13
19
|
*/
|
|
14
20
|
export declare const addGeneratorMetricsIfApplicable: (tree: Tree, generatorInfo: NxGeneratorInfo[]) => Promise<void>;
|
package/src/utils/metrics.js
CHANGED
|
@@ -1,65 +1,80 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addGeneratorMetricsIfApplicable = exports.TERRAFORM_METRICS_FILE_PATH = exports.METRICS_ASPECT_FILE_PATH = exports.METRIC_ID = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const shared_constructs_constants_1 = require("./shared-constructs-constants");
|
|
4
|
+
*/ import { joinPathFragments } from "@nx/devkit";
|
|
5
|
+
import { applyGritQL, captureAllGritQL } from "./ast.js";
|
|
6
|
+
import { formatFilesInSubtree } from "./format.js";
|
|
7
|
+
import { getPackageVersion } from "./nx.js";
|
|
8
|
+
import { PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, SHARED_TERRAFORM_DIR } from "./shared-constructs-constants.js";
|
|
13
9
|
// Used to identify @aws/nx-plugin in AWS metrics
|
|
14
|
-
|
|
10
|
+
export const METRIC_ID = 'uksb-4wk0bqpg5s';
|
|
15
11
|
// File in which the MetricsAspect may exist (CDK)
|
|
16
|
-
|
|
12
|
+
export const METRICS_ASPECT_FILE_PATH = joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'core', 'app.ts');
|
|
17
13
|
// File in which the Terraform metrics CloudFormation stack may exist
|
|
18
|
-
|
|
14
|
+
export const TERRAFORM_METRICS_FILE_PATH = joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'metrics', 'metrics.tf');
|
|
19
15
|
// GritQL `within` clause to scope matches to the MetricsAspect class body
|
|
20
16
|
const WITHIN_METRICS_ASPECT = '$old <: within `class MetricsAspect implements $_ { $_ }`';
|
|
17
|
+
// Strip the surrounding quotes from a captured string literal (eg 'g1' or "g1")
|
|
18
|
+
const unquote = (literal)=>literal.slice(1, -1);
|
|
19
|
+
// Extracts the existing metric tags from the CDK MetricsAspect tags array
|
|
20
|
+
const readCdkMetricTags = async (tree)=>(await captureAllGritQL(tree, METRICS_ASPECT_FILE_PATH, `\`$tag\` where { $tag <: string(), $tag <: within \`const tags: string[] = $_\` }`)).map(unquote);
|
|
21
|
+
// Extracts the existing metric tags from the Terraform metric_tags array
|
|
22
|
+
const readTerraformMetricTags = async (tree)=>(await captureAllGritQL(tree, TERRAFORM_METRICS_FILE_PATH, '`"$tag"` where { $tag <: within `metric_tags = $_` }')).map(unquote);
|
|
21
23
|
/**
|
|
22
24
|
* Instruments metrics by updating the MetricsAspect in common/constructs/src/core/app.ts if the file exists,
|
|
23
|
-
* or updating the Terraform metrics CloudFormation stack if it exists
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
for (const info of generatorInfo) {
|
|
36
|
-
await (0, ast_1.applyGritQL)(tree, exports.METRICS_ASPECT_FILE_PATH, `\`const tags: string[] = $old\`` +
|
|
37
|
-
` where { ${WITHIN_METRICS_ASPECT},` +
|
|
38
|
-
` if ($old <: \`[]\`) { $old => \`['${info.metric}']\` }` +
|
|
39
|
-
` else { $old <: \`[$items]\` where { $items += \`, '${info.metric}'\` } },` +
|
|
40
|
-
` $old <: not contains \`'${info.metric}'\` }`);
|
|
41
|
-
}
|
|
42
|
-
await (0, format_1.formatFilesInSubtree)(tree, exports.METRICS_ASPECT_FILE_PATH);
|
|
25
|
+
* and/or updating the Terraform metrics CloudFormation stack if it exists.
|
|
26
|
+
*
|
|
27
|
+
* Both files are converged to the same tag set (the union of tags already
|
|
28
|
+
* present in either file plus the incoming generators). This keeps the tag set
|
|
29
|
+
* deterministic regardless of the order in which metrics files are created
|
|
30
|
+
* across a multi-generator run, so re-running the same set of generators does
|
|
31
|
+
* not grow the tags.
|
|
32
|
+
*/ export const addGeneratorMetricsIfApplicable = async (tree, generatorInfo)=>{
|
|
33
|
+
const cdkExists = tree.exists(METRICS_ASPECT_FILE_PATH);
|
|
34
|
+
const terraformExists = tree.exists(TERRAFORM_METRICS_FILE_PATH);
|
|
35
|
+
if (!cdkExists && !terraformExists) {
|
|
36
|
+
return;
|
|
43
37
|
}
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
// Converge both files to the union of all known tags so the set is stable
|
|
39
|
+
// regardless of when each metrics file was created.
|
|
40
|
+
const tags = [
|
|
41
|
+
...new Set([
|
|
42
|
+
...await readCdkMetricTags(tree),
|
|
43
|
+
...await readTerraformMetricTags(tree),
|
|
44
|
+
...generatorInfo.map((info)=>info.metric)
|
|
45
|
+
])
|
|
46
|
+
];
|
|
47
|
+
if (cdkExists) {
|
|
48
|
+
await updateCdkMetrics(tree, tags);
|
|
47
49
|
}
|
|
50
|
+
if (terraformExists) {
|
|
51
|
+
await updateTerraformMetrics(tree, tags);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Updates the CDK MetricsAspect with the metric id, version and tags
|
|
56
|
+
*/ const updateCdkMetrics = async (tree, tags)=>{
|
|
57
|
+
// Update the id
|
|
58
|
+
await applyGritQL(tree, METRICS_ASPECT_FILE_PATH, `\`const id = $old\` => \`const id = '${METRIC_ID}'\`` + ` where { ${WITHIN_METRICS_ASPECT} }`);
|
|
59
|
+
// Update the version
|
|
60
|
+
await applyGritQL(tree, METRICS_ASPECT_FILE_PATH, `\`const version = $old\` => \`const version = '${getPackageVersion()}'\`` + ` where { ${WITHIN_METRICS_ASPECT} }`);
|
|
61
|
+
// Add each tag, leaving existing tags in place to keep re-runs stable
|
|
62
|
+
for (const tag of tags){
|
|
63
|
+
await applyGritQL(tree, METRICS_ASPECT_FILE_PATH, `\`const tags: string[] = $old\`` + ` where { ${WITHIN_METRICS_ASPECT},` + ` if ($old <: \`[]\`) { $old => \`['${tag}']\` }` + ` else { $old <: \`[$items]\` where { $items += \`, '${tag}'\` } },` + ` $old <: not contains \`'${tag}'\` }`);
|
|
64
|
+
}
|
|
65
|
+
await formatFilesInSubtree(tree, METRICS_ASPECT_FILE_PATH);
|
|
48
66
|
};
|
|
49
|
-
exports.addGeneratorMetricsIfApplicable = addGeneratorMetricsIfApplicable;
|
|
50
67
|
/**
|
|
51
|
-
* Updates the Terraform metrics CloudFormation stack with
|
|
52
|
-
*/
|
|
53
|
-
const updateTerraformMetrics = async (tree, generatorInfo) => {
|
|
68
|
+
* Updates the Terraform metrics CloudFormation stack with the metric id, version and tags
|
|
69
|
+
*/ const updateTerraformMetrics = async (tree, tags)=>{
|
|
54
70
|
// Update metric_id
|
|
55
|
-
await
|
|
71
|
+
await applyGritQL(tree, TERRAFORM_METRICS_FILE_PATH, `\`metric_id = $old\` => \`metric_id = "${METRIC_ID}"\``);
|
|
56
72
|
// Update metric_version
|
|
57
|
-
await
|
|
58
|
-
//
|
|
59
|
-
for (const
|
|
60
|
-
await
|
|
61
|
-
` \`metric_tags = [$items]\` where { $items += \`, "${info.metric}"\` }` +
|
|
62
|
-
` where { $items <: not contains \`"${info.metric}"\` } }`);
|
|
73
|
+
await applyGritQL(tree, TERRAFORM_METRICS_FILE_PATH, `\`metric_version = $old\` => \`metric_version = "${getPackageVersion()}"\``);
|
|
74
|
+
// Add each tag, leaving existing tags in place to keep re-runs stable
|
|
75
|
+
for (const tag of tags){
|
|
76
|
+
await applyGritQL(tree, TERRAFORM_METRICS_FILE_PATH, `or { \`metric_tags = []\` => \`metric_tags = ["${tag}"]\`,` + ` \`metric_tags = [$items]\` where { $items += \`, "${tag}"\` }` + ` where { $items <: not contains \`"${tag}"\` } }`);
|
|
63
77
|
}
|
|
64
78
|
};
|
|
79
|
+
|
|
65
80
|
//# sourceMappingURL=metrics.js.map
|
package/src/utils/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/metrics.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { joinPathFragments, type Tree } from '@nx/devkit';\nimport { applyGritQL, captureAllGritQL } from './ast';\nimport { formatFilesInSubtree } from './format';\nimport { getPackageVersion, type NxGeneratorInfo } from './nx';\nimport {\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from './shared-constructs-constants';\n\n// Used to identify @aws/nx-plugin in AWS metrics\nexport const METRIC_ID = 'uksb-4wk0bqpg5s';\n\n// File in which the MetricsAspect may exist (CDK)\nexport const METRICS_ASPECT_FILE_PATH = joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'app.ts',\n);\n\n// File in which the Terraform metrics CloudFormation stack may exist\nexport const TERRAFORM_METRICS_FILE_PATH = joinPathFragments(\n PACKAGES_DIR,\n SHARED_TERRAFORM_DIR,\n 'src',\n 'metrics',\n 'metrics.tf',\n);\n\n// GritQL `within` clause to scope matches to the MetricsAspect class body\nconst WITHIN_METRICS_ASPECT =\n '$old <: within `class MetricsAspect implements $_ { $_ }`';\n\n// Strip the surrounding quotes from a captured string literal (eg 'g1' or \"g1\")\nconst unquote = (literal: string): string => literal.slice(1, -1);\n\n// Extracts the existing metric tags from the CDK MetricsAspect tags array\nconst readCdkMetricTags = async (tree: Tree): Promise<string[]> =>\n (\n await captureAllGritQL(\n tree,\n METRICS_ASPECT_FILE_PATH,\n `\\`$tag\\` where { $tag <: string(), $tag <: within \\`const tags: string[] = $_\\` }`,\n )\n ).map(unquote);\n\n// Extracts the existing metric tags from the Terraform metric_tags array\nconst readTerraformMetricTags = async (tree: Tree): Promise<string[]> =>\n (\n await captureAllGritQL(\n tree,\n TERRAFORM_METRICS_FILE_PATH,\n '`\"$tag\"` where { $tag <: within `metric_tags = $_` }',\n )\n ).map(unquote);\n\n/**\n * Instruments metrics by updating the MetricsAspect in common/constructs/src/core/app.ts if the file exists,\n * and/or updating the Terraform metrics CloudFormation stack if it exists.\n *\n * Both files are converged to the same tag set (the union of tags already\n * present in either file plus the incoming generators). This keeps the tag set\n * deterministic regardless of the order in which metrics files are created\n * across a multi-generator run, so re-running the same set of generators does\n * not grow the tags.\n */\nexport const addGeneratorMetricsIfApplicable = async (\n tree: Tree,\n generatorInfo: NxGeneratorInfo[],\n) => {\n const cdkExists = tree.exists(METRICS_ASPECT_FILE_PATH);\n const terraformExists = tree.exists(TERRAFORM_METRICS_FILE_PATH);\n\n if (!cdkExists && !terraformExists) {\n return;\n }\n\n // Converge both files to the union of all known tags so the set is stable\n // regardless of when each metrics file was created.\n const tags = [\n ...new Set([\n ...(await readCdkMetricTags(tree)),\n ...(await readTerraformMetricTags(tree)),\n ...generatorInfo.map((info) => info.metric),\n ]),\n ];\n\n if (cdkExists) {\n await updateCdkMetrics(tree, tags);\n }\n\n if (terraformExists) {\n await updateTerraformMetrics(tree, tags);\n }\n};\n\n/**\n * Updates the CDK MetricsAspect with the metric id, version and tags\n */\nconst updateCdkMetrics = async (tree: Tree, tags: string[]) => {\n // Update the id\n await applyGritQL(\n tree,\n METRICS_ASPECT_FILE_PATH,\n `\\`const id = $old\\` => \\`const id = '${METRIC_ID}'\\`` +\n ` where { ${WITHIN_METRICS_ASPECT} }`,\n );\n\n // Update the version\n await applyGritQL(\n tree,\n METRICS_ASPECT_FILE_PATH,\n `\\`const version = $old\\` => \\`const version = '${getPackageVersion()}'\\`` +\n ` where { ${WITHIN_METRICS_ASPECT} }`,\n );\n\n // Add each tag, leaving existing tags in place to keep re-runs stable\n for (const tag of tags) {\n await applyGritQL(\n tree,\n METRICS_ASPECT_FILE_PATH,\n `\\`const tags: string[] = $old\\`` +\n ` where { ${WITHIN_METRICS_ASPECT},` +\n ` if ($old <: \\`[]\\`) { $old => \\`['${tag}']\\` }` +\n ` else { $old <: \\`[$items]\\` where { $items += \\`, '${tag}'\\` } },` +\n ` $old <: not contains \\`'${tag}'\\` }`,\n );\n }\n\n await formatFilesInSubtree(tree, METRICS_ASPECT_FILE_PATH);\n};\n\n/**\n * Updates the Terraform metrics CloudFormation stack with the metric id, version and tags\n */\nconst updateTerraformMetrics = async (tree: Tree, tags: string[]) => {\n // Update metric_id\n await applyGritQL(\n tree,\n TERRAFORM_METRICS_FILE_PATH,\n `\\`metric_id = $old\\` => \\`metric_id = \"${METRIC_ID}\"\\``,\n );\n\n // Update metric_version\n await applyGritQL(\n tree,\n TERRAFORM_METRICS_FILE_PATH,\n `\\`metric_version = $old\\` => \\`metric_version = \"${getPackageVersion()}\"\\``,\n );\n\n // Add each tag, leaving existing tags in place to keep re-runs stable\n for (const tag of tags) {\n await applyGritQL(\n tree,\n TERRAFORM_METRICS_FILE_PATH,\n `or { \\`metric_tags = []\\` => \\`metric_tags = [\"${tag}\"]\\`,` +\n ` \\`metric_tags = [$items]\\` where { $items += \\`, \"${tag}\"\\` }` +\n ` where { $items <: not contains \\`\"${tag}\"\\` } }`,\n );\n }\n};\n"],"names":["joinPathFragments","applyGritQL","captureAllGritQL","formatFilesInSubtree","getPackageVersion","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","METRIC_ID","METRICS_ASPECT_FILE_PATH","TERRAFORM_METRICS_FILE_PATH","WITHIN_METRICS_ASPECT","unquote","literal","slice","readCdkMetricTags","tree","map","readTerraformMetricTags","addGeneratorMetricsIfApplicable","generatorInfo","cdkExists","exists","terraformExists","tags","Set","info","metric","updateCdkMetrics","updateTerraformMetrics","tag"],"mappings":"AAAA;;;CAGC,GACD,SAASA,iBAAiB,QAAmB,aAAa;AAC1D,SAASC,WAAW,EAAEC,gBAAgB,QAAQ,WAAQ;AACtD,SAASC,oBAAoB,QAAQ,cAAW;AAChD,SAASC,iBAAiB,QAA8B,UAAO;AAC/D,SACEC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,mCAAgC;AAEvC,iDAAiD;AACjD,OAAO,MAAMC,YAAY,kBAAkB;AAE3C,kDAAkD;AAClD,OAAO,MAAMC,2BAA2BT,kBACtCK,cACAC,uBACA,OACA,QACA,UACA;AAEF,qEAAqE;AACrE,OAAO,MAAMI,8BAA8BV,kBACzCK,cACAE,sBACA,OACA,WACA,cACA;AAEF,0EAA0E;AAC1E,MAAMI,wBACJ;AAEF,gFAAgF;AAChF,MAAMC,UAAU,CAACC,UAA4BA,QAAQC,KAAK,CAAC,GAAG,CAAC;AAE/D,0EAA0E;AAC1E,MAAMC,oBAAoB,OAAOC,OAC/B,AACE,CAAA,MAAMd,iBACJc,MACAP,0BACA,CAAC,iFAAiF,CAAC,CACrF,EACAQ,GAAG,CAACL;AAER,yEAAyE;AACzE,MAAMM,0BAA0B,OAAOF,OACrC,AACE,CAAA,MAAMd,iBACJc,MACAN,6BACA,uDACF,EACAO,GAAG,CAACL;AAER;;;;;;;;;CASC,GACD,OAAO,MAAMO,kCAAkC,OAC7CH,MACAI;IAEA,MAAMC,YAAYL,KAAKM,MAAM,CAACb;IAC9B,MAAMc,kBAAkBP,KAAKM,MAAM,CAACZ;IAEpC,IAAI,CAACW,aAAa,CAACE,iBAAiB;QAClC;IACF;IAEA,0EAA0E;IAC1E,oDAAoD;IACpD,MAAMC,OAAO;WACR,IAAIC,IAAI;eACL,MAAMV,kBAAkBC;eACxB,MAAME,wBAAwBF;eAC/BI,cAAcH,GAAG,CAAC,CAACS,OAASA,KAAKC,MAAM;SAC3C;KACF;IAED,IAAIN,WAAW;QACb,MAAMO,iBAAiBZ,MAAMQ;IAC/B;IAEA,IAAID,iBAAiB;QACnB,MAAMM,uBAAuBb,MAAMQ;IACrC;AACF,EAAE;AAEF;;CAEC,GACD,MAAMI,mBAAmB,OAAOZ,MAAYQ;IAC1C,gBAAgB;IAChB,MAAMvB,YACJe,MACAP,0BACA,CAAC,qCAAqC,EAAED,UAAU,GAAG,CAAC,GACpD,CAAC,SAAS,EAAEG,sBAAsB,EAAE,CAAC;IAGzC,qBAAqB;IACrB,MAAMV,YACJe,MACAP,0BACA,CAAC,+CAA+C,EAAEL,oBAAoB,GAAG,CAAC,GACxE,CAAC,SAAS,EAAEO,sBAAsB,EAAE,CAAC;IAGzC,sEAAsE;IACtE,KAAK,MAAMmB,OAAON,KAAM;QACtB,MAAMvB,YACJe,MACAP,0BACA,CAAC,+BAA+B,CAAC,GAC/B,CAAC,SAAS,EAAEE,sBAAsB,CAAC,CAAC,GACpC,CAAC,mCAAmC,EAAEmB,IAAI,MAAM,CAAC,GACjD,CAAC,oDAAoD,EAAEA,IAAI,QAAQ,CAAC,GACpE,CAAC,yBAAyB,EAAEA,IAAI,KAAK,CAAC;IAE5C;IAEA,MAAM3B,qBAAqBa,MAAMP;AACnC;AAEA;;CAEC,GACD,MAAMoB,yBAAyB,OAAOb,MAAYQ;IAChD,mBAAmB;IACnB,MAAMvB,YACJe,MACAN,6BACA,CAAC,uCAAuC,EAAEF,UAAU,GAAG,CAAC;IAG1D,wBAAwB;IACxB,MAAMP,YACJe,MACAN,6BACA,CAAC,iDAAiD,EAAEN,oBAAoB,GAAG,CAAC;IAG9E,sEAAsE;IACtE,KAAK,MAAM0B,OAAON,KAAM;QACtB,MAAMvB,YACJe,MACAN,6BACA,CAAC,+CAA+C,EAAEoB,IAAI,KAAK,CAAC,GAC1D,CAAC,mDAAmD,EAAEA,IAAI,KAAK,CAAC,GAChE,CAAC,mCAAmC,EAAEA,IAAI,OAAO,CAAC;IAExD;AACF"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
/**
|
|
4
|
+
*/ /**
|
|
8
5
|
* Mock createProjectGraphAsync to avoid expensive project graph building in tests.
|
|
9
6
|
*
|
|
10
7
|
* This is the vitest equivalent of Nx's own internal testing utility:
|
|
@@ -15,13 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
12
|
* 2. @nx/devkit's exports are wrapped with read-only getters by vitest
|
|
16
13
|
* 3. The CJS module at nx/src/project-graph/project-graph.js is the actual
|
|
17
14
|
* implementation that @nx/devkit re-exports
|
|
18
|
-
*/
|
|
19
|
-
const
|
|
20
|
-
// @ts-expect-error test utility used by vite only
|
|
21
|
-
const _require = (0, module_1.createRequire)(import.meta.url);
|
|
15
|
+
*/ import { createRequire } from "module";
|
|
16
|
+
const _require = createRequire(import.meta.url);
|
|
22
17
|
const projectGraph = _require('nx/src/project-graph/project-graph');
|
|
23
|
-
projectGraph.createProjectGraphAsync = async ()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
18
|
+
projectGraph.createProjectGraphAsync = async ()=>({
|
|
19
|
+
nodes: {},
|
|
20
|
+
dependencies: {}
|
|
21
|
+
});
|
|
22
|
+
|
|
27
23
|
//# sourceMappingURL=mock-project-graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/mock-project-graph.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Mock createProjectGraphAsync to avoid expensive project graph building in tests.\n *\n * This is the vitest equivalent of Nx's own internal testing utility:\n * https://github.com/nrwl/nx/blob/master/packages/nx/src/internal-testing-utils/mock-project-graph.ts\n *\n * We patch the underlying nx module directly because:\n * 1. vitest's vi.mock only affects ESM imports within the test file\n * 2. @nx/devkit's exports are wrapped with read-only getters by vitest\n * 3. The CJS module at nx/src/project-graph/project-graph.js is the actual\n * implementation that @nx/devkit re-exports\n */\nimport { createRequire } from 'module';\n\nconst _require = createRequire(import.meta.url);\nconst projectGraph = _require('nx/src/project-graph/project-graph');\nprojectGraph.createProjectGraphAsync = async () => ({\n nodes: {},\n dependencies: {},\n});\n"],"names":["createRequire","_require","url","projectGraph","createProjectGraphAsync","nodes","dependencies"],"mappings":"AAAA;;;CAGC,GAED;;;;;;;;;;;CAWC,GACD,SAASA,aAAa,QAAQ,SAAS;AAEvC,MAAMC,WAAWD,cAAc,YAAYE,GAAG;AAC9C,MAAMC,eAAeF,SAAS;AAC9BE,aAAaC,uBAAuB,GAAG,UAAa,CAAA;QAClDC,OAAO,CAAC;QACRC,cAAc,CAAC;IACjB,CAAA"}
|
package/src/utils/names.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* camelCase that first transliterates accents and strips any character that is
|
|
3
|
+
* not a valid identifier character, so inputs like `getFoo≠Bar` or `café` yield
|
|
4
|
+
* valid JS/TS identifiers rather than leaking the raw symbol into generated code.
|
|
5
|
+
*/
|
|
6
|
+
export declare const camelCase: (str: string) => string;
|
|
1
7
|
export declare const toClassName: (str?: string) => string;
|
|
2
8
|
export declare const toKebabCase: (str?: string) => string;
|
|
3
9
|
export declare const toSnakeCase: (str?: string) => string;
|
|
@@ -5,4 +11,20 @@ export declare const upperFirst: (str: string) => string;
|
|
|
5
11
|
export declare const pascalCase: (str: string) => string;
|
|
6
12
|
export declare const snakeCase: (str: string) => string;
|
|
7
13
|
export declare const kebabCase: (str: string) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Normalise a string to a PEP 503 distribution name.
|
|
16
|
+
*
|
|
17
|
+
* PEP 503 (https://peps.python.org/pep-0503/#normalized-names) defines the
|
|
18
|
+
* canonical form of a Python project distribution name: lower-cased, with any
|
|
19
|
+
* run of `.`, `_` or `-` collapsed to a single `-`. This is the name uv writes
|
|
20
|
+
* into `uv.lock` and the form `@nxlv/python` expects when inferring workspace
|
|
21
|
+
* dependency edges from `[project].dependencies` / `[tool.uv.sources]`.
|
|
22
|
+
*
|
|
23
|
+
* Importantly this is NOT kebab-case: it does not split on camelCase humps,
|
|
24
|
+
* spaces or other punctuation, so a dotted nx id like `scope.my_lib` becomes
|
|
25
|
+
* `scope-my-lib` (and only those three separators are touched).
|
|
26
|
+
*
|
|
27
|
+
* eg. `sojourner.agent_connection` -> `sojourner-agent-connection`
|
|
28
|
+
*/
|
|
29
|
+
export declare const normalizeDistributionName: (str: string) => string;
|
|
8
30
|
export declare const toDotNotation: (str: string) => string;
|
package/src/utils/names.js
CHANGED
|
@@ -1,66 +1,62 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toDotNotation = exports.kebabCase = exports.snakeCase = exports.pascalCase = exports.upperFirst = exports.toSnakeCase = exports.toKebabCase = exports.toClassName = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
1
|
/**
|
|
6
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
*/ import lodashCamelCase from "lodash.camelcase";
|
|
5
|
+
import deburr from "lodash.deburr";
|
|
6
|
+
/**
|
|
7
|
+
* camelCase that first transliterates accents and strips any character that is
|
|
8
|
+
* not a valid identifier character, so inputs like `getFoo≠Bar` or `café` yield
|
|
9
|
+
* valid JS/TS identifiers rather than leaking the raw symbol into generated code.
|
|
10
|
+
*/ export const camelCase = (str)=>lodashCamelCase(deburr(str ?? '').replace(/[^a-zA-Z0-9]+/g, ' '));
|
|
11
|
+
export const toClassName = (str)=>{
|
|
12
12
|
if (!str) {
|
|
13
13
|
return str;
|
|
14
14
|
}
|
|
15
15
|
const words = str.replace(/[^a-zA-Z0-9]/g, ' ').split(/\s+/);
|
|
16
|
-
return words
|
|
17
|
-
.map((word, index) => {
|
|
16
|
+
return words.map((word, index)=>{
|
|
18
17
|
if (index === 0 && /^\d/.test(word)) {
|
|
19
18
|
return '_' + word;
|
|
20
19
|
}
|
|
21
20
|
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
22
|
-
})
|
|
23
|
-
.join('');
|
|
21
|
+
}).join('');
|
|
24
22
|
};
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return ((0, lodash_deburr_1.default)(str)
|
|
36
|
-
// Replace series of special characters with underscores
|
|
37
|
-
.replace(/[^a-zA-Z0-9]+/g, '_')
|
|
38
|
-
// Replace capital letters preceded by lowercase or numbers with underscore + lowercase
|
|
39
|
-
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')
|
|
40
|
-
// Convert to lowercase
|
|
41
|
-
.toLowerCase()
|
|
42
|
-
// Remove leading/trailing underscores
|
|
43
|
-
.replace(/^_+|_+$/g, ''));
|
|
23
|
+
export const toKebabCase = (str)=>str?.split('/').map(kebabCase).join('/');
|
|
24
|
+
export const toSnakeCase = (str)=>str?.split('/').map(snakeCase).join('/');
|
|
25
|
+
export const upperFirst = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
|
|
26
|
+
export const pascalCase = (str)=>upperFirst(camelCase(str));
|
|
27
|
+
export const snakeCase = (str)=>{
|
|
28
|
+
return deburr(str)// Replace series of special characters with underscores
|
|
29
|
+
.replace(/[^a-zA-Z0-9]+/g, '_')// Replace capital letters preceded by lowercase or numbers with underscore + lowercase
|
|
30
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')// Convert to lowercase
|
|
31
|
+
.toLowerCase()// Remove leading/trailing underscores
|
|
32
|
+
.replace(/^_+|_+$/g, '');
|
|
44
33
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')
|
|
52
|
-
// Convert to lowercase
|
|
53
|
-
.toLowerCase()
|
|
54
|
-
// Remove leading/trailing hyphens
|
|
55
|
-
.replace(/^-+|-+$/g, ''));
|
|
34
|
+
export const kebabCase = (str)=>{
|
|
35
|
+
return deburr(str)// Replace series of special characters with hyphens
|
|
36
|
+
.replace(/[^a-zA-Z0-9]+/g, '-')// Replace capital letters preceded by lowercase or numbers with hyphen + lowercase
|
|
37
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1-$2')// Convert to lowercase
|
|
38
|
+
.toLowerCase()// Remove leading/trailing hyphens
|
|
39
|
+
.replace(/^-+|-+$/g, '');
|
|
56
40
|
};
|
|
57
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Normalise a string to a PEP 503 distribution name.
|
|
43
|
+
*
|
|
44
|
+
* PEP 503 (https://peps.python.org/pep-0503/#normalized-names) defines the
|
|
45
|
+
* canonical form of a Python project distribution name: lower-cased, with any
|
|
46
|
+
* run of `.`, `_` or `-` collapsed to a single `-`. This is the name uv writes
|
|
47
|
+
* into `uv.lock` and the form `@nxlv/python` expects when inferring workspace
|
|
48
|
+
* dependency edges from `[project].dependencies` / `[tool.uv.sources]`.
|
|
49
|
+
*
|
|
50
|
+
* Importantly this is NOT kebab-case: it does not split on camelCase humps,
|
|
51
|
+
* spaces or other punctuation, so a dotted nx id like `scope.my_lib` becomes
|
|
52
|
+
* `scope-my-lib` (and only those three separators are touched).
|
|
53
|
+
*
|
|
54
|
+
* eg. `sojourner.agent_connection` -> `sojourner-agent-connection`
|
|
55
|
+
*/ export const normalizeDistributionName = (str)=>str.toLowerCase().replace(/[._-]+/g, '-');
|
|
58
56
|
// Convert a string to a dot notation string (eg. lambda_handler/my_handler.py -> lambda_handler.my_handler)
|
|
59
|
-
const toDotNotation = (str)
|
|
60
|
-
?.replace(/^\/|\/$/g, '') // Remove leading/trailing slashes
|
|
57
|
+
export const toDotNotation = (str)=>str?.replace(/^\/|\/$/g, '') // Remove leading/trailing slashes
|
|
61
58
|
.replace(/\.[^/.]+$/g, '') // Remove any file extensions
|
|
62
|
-
.split('/')
|
|
63
|
-
.filter(Boolean) // Remove empty segments (in case of double slashes)
|
|
59
|
+
.split('/').filter(Boolean) // Remove empty segments (in case of double slashes)
|
|
64
60
|
.join('.');
|
|
65
|
-
|
|
61
|
+
|
|
66
62
|
//# sourceMappingURL=names.js.map
|
package/src/utils/names.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/names.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport lodashCamelCase from 'lodash.camelcase';\nimport deburr from 'lodash.deburr';\n\n/**\n * camelCase that first transliterates accents and strips any character that is\n * not a valid identifier character, so inputs like `getFoo≠Bar` or `café` yield\n * valid JS/TS identifiers rather than leaking the raw symbol into generated code.\n */\nexport const camelCase = (str: string): string =>\n lodashCamelCase(deburr(str ?? '').replace(/[^a-zA-Z0-9]+/g, ' '));\n\nexport const toClassName = (str?: string): string => {\n if (!str) {\n return str;\n }\n const words = str.replace(/[^a-zA-Z0-9]/g, ' ').split(/\\s+/);\n return words\n .map((word, index) => {\n if (index === 0 && /^\\d/.test(word)) {\n return '_' + word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join('');\n};\n\nexport const toKebabCase = (str?: string): string =>\n str?.split('/').map(kebabCase).join('/');\n\nexport const toSnakeCase = (str?: string): string =>\n str?.split('/').map(snakeCase).join('/');\n\nexport const upperFirst = (str: string): string =>\n str.charAt(0).toUpperCase() + str.slice(1);\n\nexport const pascalCase = (str: string): string => upperFirst(camelCase(str));\n\nexport const snakeCase = (str: string): string => {\n return (\n deburr(str)\n // Replace series of special characters with underscores\n .replace(/[^a-zA-Z0-9]+/g, '_')\n // Replace capital letters preceded by lowercase or numbers with underscore + lowercase\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n // Convert to lowercase\n .toLowerCase()\n // Remove leading/trailing underscores\n .replace(/^_+|_+$/g, '')\n );\n};\n\nexport const kebabCase = (str: string): string => {\n return (\n deburr(str)\n // Replace series of special characters with hyphens\n .replace(/[^a-zA-Z0-9]+/g, '-')\n // Replace capital letters preceded by lowercase or numbers with hyphen + lowercase\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n // Convert to lowercase\n .toLowerCase()\n // Remove leading/trailing hyphens\n .replace(/^-+|-+$/g, '')\n );\n};\n\n/**\n * Normalise a string to a PEP 503 distribution name.\n *\n * PEP 503 (https://peps.python.org/pep-0503/#normalized-names) defines the\n * canonical form of a Python project distribution name: lower-cased, with any\n * run of `.`, `_` or `-` collapsed to a single `-`. This is the name uv writes\n * into `uv.lock` and the form `@nxlv/python` expects when inferring workspace\n * dependency edges from `[project].dependencies` / `[tool.uv.sources]`.\n *\n * Importantly this is NOT kebab-case: it does not split on camelCase humps,\n * spaces or other punctuation, so a dotted nx id like `scope.my_lib` becomes\n * `scope-my-lib` (and only those three separators are touched).\n *\n * eg. `sojourner.agent_connection` -> `sojourner-agent-connection`\n */\nexport const normalizeDistributionName = (str: string): string =>\n str.toLowerCase().replace(/[._-]+/g, '-');\n\n// Convert a string to a dot notation string (eg. lambda_handler/my_handler.py -> lambda_handler.my_handler)\nexport const toDotNotation = (str: string): string =>\n str\n ?.replace(/^\\/|\\/$/g, '') // Remove leading/trailing slashes\n .replace(/\\.[^/.]+$/g, '') // Remove any file extensions\n .split('/')\n .filter(Boolean) // Remove empty segments (in case of double slashes)\n .join('.');\n"],"names":["lodashCamelCase","deburr","camelCase","str","replace","toClassName","words","split","map","word","index","test","charAt","toUpperCase","slice","join","toKebabCase","kebabCase","toSnakeCase","snakeCase","upperFirst","pascalCase","toLowerCase","normalizeDistributionName","toDotNotation","filter","Boolean"],"mappings":"AAAA;;;CAGC,GACD,OAAOA,qBAAqB,mBAAmB;AAC/C,OAAOC,YAAY,gBAAgB;AAEnC;;;;CAIC,GACD,OAAO,MAAMC,YAAY,CAACC,MACxBH,gBAAgBC,OAAOE,OAAO,IAAIC,OAAO,CAAC,kBAAkB,MAAM;AAEpE,OAAO,MAAMC,cAAc,CAACF;IAC1B,IAAI,CAACA,KAAK;QACR,OAAOA;IACT;IACA,MAAMG,QAAQH,IAAIC,OAAO,CAAC,iBAAiB,KAAKG,KAAK,CAAC;IACtD,OAAOD,MACJE,GAAG,CAAC,CAACC,MAAMC;QACV,IAAIA,UAAU,KAAK,MAAMC,IAAI,CAACF,OAAO;YACnC,OAAO,MAAMA;QACf;QACA,OAAOA,KAAKG,MAAM,CAAC,GAAGC,WAAW,KAAKJ,KAAKK,KAAK,CAAC;IACnD,GACCC,IAAI,CAAC;AACV,EAAE;AAEF,OAAO,MAAMC,cAAc,CAACb,MAC1BA,KAAKI,MAAM,KAAKC,IAAIS,WAAWF,KAAK,KAAK;AAE3C,OAAO,MAAMG,cAAc,CAACf,MAC1BA,KAAKI,MAAM,KAAKC,IAAIW,WAAWJ,KAAK,KAAK;AAE3C,OAAO,MAAMK,aAAa,CAACjB,MACzBA,IAAIS,MAAM,CAAC,GAAGC,WAAW,KAAKV,IAAIW,KAAK,CAAC,GAAG;AAE7C,OAAO,MAAMO,aAAa,CAAClB,MAAwBiB,WAAWlB,UAAUC,MAAM;AAE9E,OAAO,MAAMgB,YAAY,CAAChB;IACxB,OACEF,OAAOE,IACL,wDAAwD;KACvDC,OAAO,CAAC,kBAAkB,IAC3B,uFAAuF;KACtFA,OAAO,CAAC,sBAAsB,QAC/B,uBAAuB;KACtBkB,WAAW,EACZ,sCAAsC;KACrClB,OAAO,CAAC,YAAY;AAE3B,EAAE;AAEF,OAAO,MAAMa,YAAY,CAACd;IACxB,OACEF,OAAOE,IACL,oDAAoD;KACnDC,OAAO,CAAC,kBAAkB,IAC3B,mFAAmF;KAClFA,OAAO,CAAC,sBAAsB,QAC/B,uBAAuB;KACtBkB,WAAW,EACZ,kCAAkC;KACjClB,OAAO,CAAC,YAAY;AAE3B,EAAE;AAEF;;;;;;;;;;;;;;CAcC,GACD,OAAO,MAAMmB,4BAA4B,CAACpB,MACxCA,IAAImB,WAAW,GAAGlB,OAAO,CAAC,WAAW,KAAK;AAE5C,4GAA4G;AAC5G,OAAO,MAAMoB,gBAAgB,CAACrB,MAC5BA,KACIC,QAAQ,YAAY,IAAI,kCAAkC;KAC3DA,QAAQ,cAAc,IAAI,6BAA6B;KACvDG,MAAM,KACNkB,OAAOC,SAAS,oDAAoD;KACpEX,KAAK,KAAK"}
|
package/src/utils/npm-scope.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
5
|
+
import { type Tree } from '@nx/devkit';
|
|
6
6
|
export declare function getNpmScope(tree: Tree): string | undefined;
|
|
7
7
|
export declare function getNpmScopePrefix(tree: Tree): string | undefined;
|
|
8
8
|
/**
|
package/src/utils/npm-scope.js
CHANGED
|
@@ -1,29 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNpmScope = getNpmScope;
|
|
4
|
-
exports.getNpmScopePrefix = getNpmScopePrefix;
|
|
5
|
-
exports.toScopeAlias = toScopeAlias;
|
|
6
1
|
/**
|
|
7
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
: { name: null };
|
|
4
|
+
*/ import { readJson } from "@nx/devkit";
|
|
5
|
+
export function getNpmScope(tree) {
|
|
6
|
+
const { name } = tree.exists('package.json') ? readJson(tree, 'package.json') : {
|
|
7
|
+
name: null
|
|
8
|
+
};
|
|
15
9
|
return name?.startsWith('@') ? name.split('/')[0].substring(1) : 'monorepo';
|
|
16
10
|
}
|
|
17
|
-
function getNpmScopePrefix(tree) {
|
|
11
|
+
export function getNpmScopePrefix(tree) {
|
|
18
12
|
const npmScope = getNpmScope(tree);
|
|
19
13
|
return `@${npmScope}/`;
|
|
20
14
|
}
|
|
21
15
|
/**
|
|
22
16
|
* Returns a safe import alias for local packages to avoid the potential for sniping attacks
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
return npmScopeOrPackageName.startsWith('@')
|
|
26
|
-
? `:${npmScopeOrPackageName.slice(1)}`
|
|
27
|
-
: npmScopeOrPackageName;
|
|
17
|
+
*/ export function toScopeAlias(npmScopeOrPackageName) {
|
|
18
|
+
return npmScopeOrPackageName.startsWith('@') ? `:${npmScopeOrPackageName.slice(1)}` : npmScopeOrPackageName;
|
|
28
19
|
}
|
|
20
|
+
|
|
29
21
|
//# sourceMappingURL=npm-scope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/npm-scope.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { readJson, type Tree } from '@nx/devkit';\nexport function getNpmScope(tree: Tree): string | undefined {\n const { name } = tree.exists('package.json')\n ? readJson<{\n name?: string;\n }>(tree, 'package.json')\n : { name: null };\n return name?.startsWith('@') ? name.split('/')[0].substring(1) : 'monorepo';\n}\nexport function getNpmScopePrefix(tree: Tree): string | undefined {\n const npmScope = getNpmScope(tree);\n return `@${npmScope}/`;\n}\n/**\n * Returns a safe import alias for local packages to avoid the potential for sniping attacks\n */\nexport function toScopeAlias(npmScopeOrPackageName: string): string {\n return npmScopeOrPackageName.startsWith('@')\n ? `:${npmScopeOrPackageName.slice(1)}`\n : npmScopeOrPackageName;\n}\n"],"names":["readJson","getNpmScope","tree","name","exists","startsWith","split","substring","getNpmScopePrefix","npmScope","toScopeAlias","npmScopeOrPackageName","slice"],"mappings":"AAAA;;;CAGC,GACD,SAASA,QAAQ,QAAmB,aAAa;AACjD,OAAO,SAASC,YAAYC,IAAU;IACpC,MAAM,EAAEC,IAAI,EAAE,GAAGD,KAAKE,MAAM,CAAC,kBACzBJ,SAEGE,MAAM,kBACT;QAAEC,MAAM;IAAK;IACjB,OAAOA,MAAME,WAAW,OAAOF,KAAKG,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,SAAS,CAAC,KAAK;AACnE;AACA,OAAO,SAASC,kBAAkBN,IAAU;IAC1C,MAAMO,WAAWR,YAAYC;IAC7B,OAAO,CAAC,CAAC,EAAEO,SAAS,CAAC,CAAC;AACxB;AACA;;CAEC,GACD,OAAO,SAASC,aAAaC,qBAA6B;IACxD,OAAOA,sBAAsBN,UAAU,CAAC,OACpC,CAAC,CAAC,EAAEM,sBAAsBC,KAAK,CAAC,IAAI,GACpCD;AACN"}
|