@aws/nx-plugin 1.0.0-rc.22 → 1.0.0-rc.24
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 +2088 -971
- package/package.json +25 -10
- package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
- package/src/agentcore-gateway/attach-upstream.js +19 -22
- package/src/agentcore-gateway/attach-upstream.js.map +1 -1
- package/src/agentcore-gateway/gateway-connection/generator.d.ts +3 -3
- package/src/agentcore-gateway/gateway-connection/generator.js +42 -45
- package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
- 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/generator.js +89 -72
- package/src/agentcore-gateway/generator.js.map +1 -1
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +2 -2
- package/src/agentcore-gateway/mcp-connection/generator.js +24 -30
- package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
- 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/schema.d.js +6 -0
- package/src/agentcore-gateway/schema.d.js.map +1 -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} +5 -5
- 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.js +9 -14
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/generator.js +262 -207
- package/src/connection/generator.js.map +1 -1
- package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
- 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/index.js +2 -5
- package/src/index.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +4 -26
- package/src/infra/app/generator.js +133 -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/license/config-types.js +5 -3
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +1 -1
- package/src/license/config.js +267 -242
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.js +51 -46
- package/src/license/dependency-check/check.js.map +1 -1
- package/src/license/dependency-check/collectors/collector.js +41 -71
- package/src/license/dependency-check/collectors/collector.js.map +1 -1
- package/src/license/dependency-check/collectors/npm-collector.js +34 -41
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
- package/src/license/dependency-check/collectors/python-collector.js +55 -62
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
- package/src/license/dependency-check/evaluator.js +40 -68
- package/src/license/dependency-check/evaluator.js.map +1 -1
- package/src/license/dependency-check/executor.js +30 -22
- package/src/license/dependency-check/executor.js.map +1 -1
- package/src/license/dependency-check/pre-approved.js +949 -336
- package/src/license/dependency-check/pre-approved.js.map +1 -1
- package/src/license/dependency-check/types.js +2 -3
- package/src/license/dependency-check/types.js.map +1 -1
- package/src/license/generator.js +55 -60
- package/src/license/generator.js.map +1 -1
- package/src/license/index.js +3 -9
- package/src/license/index.js.map +1 -1
- package/src/license/known-exceptions.js +14 -13
- package/src/license/known-exceptions.js.map +1 -1
- package/src/license/schema.d.js +6 -0
- package/src/license/schema.d.js.map +1 -0
- package/src/license/sync/generator.js +94 -119
- package/src/license/sync/generator.js.map +1 -1
- 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.js +130 -160
- package/src/mcp-server/generator-info.js.map +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 +39 -57
- 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.js +27 -40
- 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.js +23 -24
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.js +28 -25
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- 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.js +19 -25
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- 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/generator.js +13 -21
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- 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.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.js +42 -60
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.js +31 -30
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.js +253 -269
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.js +242 -241
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.js +8 -14
- package/src/open-api/utils/parse.js.map +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.js +5 -2
- package/src/open-api/utils/types.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +31 -6
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +130 -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 +0 -1
- package/src/preset/schema.json +0 -5
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
- package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +18 -845
- package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
- package/src/py/agent/a2a-connection/generator.js +70 -75
- 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/files/ag-ui-langchain/main.py.template +10 -0
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
- package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
- package/src/py/agent/gateway-connection/generator.js +61 -58
- package/src/py/agent/gateway-connection/generator.js.map +1 -1
- 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/generator.js +227 -194
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
- package/src/py/agent/mcp-connection/generator.js +53 -52
- 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/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
- package/src/py/agent/react-connection/generator.js +51 -58
- 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} +4 -4
- 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/schema.d.js +6 -0
- package/src/py/agent/schema.d.js.map +1 -0
- package/src/py/api/generator.js +12 -12
- 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/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/dynamodb/agent-connection/generator.js +27 -29
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
- 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/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/dynamodb/fast-api-connection/generator.js +26 -28
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
- 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/files/__name__/client.py.template +5 -5
- package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
- package/src/py/dynamodb/files/config.json.template +1 -1
- package/src/py/dynamodb/generator.js +63 -62
- package/src/py/dynamodb/generator.js.map +1 -1
- package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/dynamodb/mcp-server-connection/generator.js +27 -29
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
- 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/schema.d.js +6 -0
- package/src/py/dynamodb/schema.d.js.map +1 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
- package/src/py/fast-api/generator.js +79 -85
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
- package/src/py/fast-api/react/generator.js +22 -24
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.js +28 -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/schema.d.js +6 -0
- package/src/py/fast-api/schema.d.js.map +1 -0
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/lambda-function/generator.js +57 -58
- 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/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/mcp-server/generator.js +149 -131
- 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/project/generator.d.ts +14 -1
- package/src/py/project/generator.js +137 -88
- 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/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/{sdk → src/sdk}/license.d.ts +4 -4
- 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 +2 -2
- package/src/sdk/utils/ast.js +7 -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 +2 -8
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/generator.js +44 -42
- 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/react-connection/generator.js +35 -46
- 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/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
- package/src/smithy/ts/api/generator.js +121 -111
- 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/terraform/project/files/application/src/providers.tf.template +1 -1
- package/src/terraform/project/generator.js +141 -103
- 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/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
- package/src/trpc/backend/generator.js +93 -86
- 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/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/generator.js +59 -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/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
- package/src/ts/agent/a2a-connection/generator.js +58 -54
- 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/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
- package/src/ts/agent/gateway-connection/generator.js +57 -52
- package/src/ts/agent/gateway-connection/generator.js.map +1 -1
- 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/generator.js +165 -136
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
- package/src/ts/agent/mcp-connection/generator.js +48 -46
- 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/react-connection/generator.js +79 -79
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
- 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/schema.d.js +6 -0
- package/src/ts/agent/schema.d.js.map +1 -0
- package/src/ts/api/generator.js +16 -18
- 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/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/ts/astro-docs/generator.js +59 -48
- 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/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/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/dynamodb/agent-connection/generator.js +21 -23
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
- 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/files/config.json.template +1 -1
- package/src/ts/dynamodb/files/src/client.ts.template +7 -7
- package/src/ts/dynamodb/generator.js +64 -63
- package/src/ts/dynamodb/generator.js.map +1 -1
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
- 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/schema.d.js +6 -0
- package/src/ts/dynamodb/schema.d.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
- 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/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
- 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/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/lambda-function/generator.js +55 -55
- 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/lib/__snapshots__/generator.spec.ts.snap +23 -36
- package/src/ts/lib/biome.js +37 -37
- package/src/ts/lib/biome.js.map +1 -1
- package/src/ts/lib/generator.js +75 -77
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/schema.d.js +6 -0
- package/src/ts/lib/schema.d.js.map +1 -0
- package/src/ts/lib/ts-project-utils.js +65 -70
- 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.js +29 -26
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/ts/mcp-server/generator.js +157 -138
- 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/nx-generator/__snapshots__/generator.spec.ts.snap +14 -9
- 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 +4 -4
- package/src/ts/nx-generator/generator.js +84 -83
- 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-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.js +49 -48
- 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/utils.js +32 -44
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +34 -30
- package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
- 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/files/config.json.template +1 -1
- package/src/ts/rdb/files/prisma.config.ts.template +2 -2
- package/src/ts/rdb/files/src/prisma.ts.template +7 -7
- package/src/ts/rdb/files/src/utils.ts.template +3 -0
- package/src/ts/rdb/generator.js +130 -117
- 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.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/schema.d.js +6 -0
- package/src/ts/rdb/schema.d.js.map +1 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +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/trpc-connection/__snapshots__/generator.spec.ts.snap +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/utils.js +9 -11
- package/src/ts/rdb/utils.js.map +1 -1
- package/src/ts/react-website/agui/generator.js +69 -61
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +179 -332
- package/src/ts/react-website/app/generator.js +197 -188
- 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.json +6 -6
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +27 -7
- package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
- package/src/ts/react-website/cognito-auth/generator.js +60 -60
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -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/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.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/sync/generator.js +60 -59
- package/src/ts/sync/generator.js.map +1 -1
- 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.json +6 -6
- package/src/ts/website/auth/generator.js +11 -11
- 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/utils/agent-chat/agent-chat.d.ts +1 -1
- package/src/utils/agent-chat/agent-chat.js +11 -12
- package/src/utils/agent-chat/agent-chat.js.map +1 -1
- package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
- package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
- package/src/utils/agent-connection/agent-connection.d.ts +9 -3
- package/src/utils/agent-connection/agent-connection.js +133 -147
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
- package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +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/core/api/http/http-api.ts.template +14 -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 +28 -14
- 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 +91 -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.js +22 -22
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.js +17 -19
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.js +72 -97
- package/src/utils/ast.js.map +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 +2 -2
- package/src/utils/config/index.js +5 -4
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/config/utils.js +48 -58
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/react.d.ts +5 -5
- 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.js +22 -23
- package/src/utils/containers.js.map +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
- package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
- package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
- package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
- 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/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
- package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
- 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 +3 -3
- 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 +2 -2
- package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
- package/src/utils/format.js +153 -99
- package/src/utils/format.js.map +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.js +21 -26
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.js +18 -20
- package/src/utils/generators.js.map +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.js +12 -14
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +19 -6
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
- package/src/utils/identity-constructs/identity-constructs.js +24 -28
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/js.js +27 -20
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.js +34 -41
- package/src/utils/mcp.js.map +1 -1
- package/src/utils/metrics.js +30 -45
- 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 +16 -0
- package/src/utils/names.js +39 -48
- package/src/utils/names.js.map +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 +18 -2
- package/src/utils/nx.js +111 -74
- package/src/utils/nx.js.map +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.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.js +22 -22
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.js +26 -36
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +14 -1
- package/src/utils/py.js +63 -45
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
- package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs-constants.js +16 -16
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.js +57 -54
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-dynamodb-scripts.js +16 -14
- package/src/utils/shared-dynamodb-scripts.js.map +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.js +30 -25
- package/src/utils/shared-infra-scripts.js.map +1 -1
- package/src/utils/shared-rdb-scripts.d.ts +8 -3
- package/src/utils/shared-rdb-scripts.js +21 -13
- package/src/utils/shared-rdb-scripts.js.map +1 -1
- package/src/utils/shared-scripts.js +12 -17
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.js +64 -60
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +8 -0
- package/src/utils/test.js +33 -25
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.js +7 -15
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +31 -4
- package/src/utils/versions.js +40 -23
- package/src/utils/versions.js.map +1 -1
- 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 +4 -4
- 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/agentcore-gateway.d.ts +0 -6
- package/sdk/agentcore-gateway.js +0 -11
- package/sdk/agentcore-gateway.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/license.js +0 -14
- package/sdk/license.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 -33
- package/sdk/ts.js +0 -53
- 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.js +0 -41
- package/src/connection/serve-local.js.map +0 -1
- package/src/py/agent/react-connection/serve-local.js +0 -38
- package/src/py/agent/react-connection/serve-local.js.map +0 -1
- 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/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
- /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
- /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/ import { renderFilterableOptionsAsync, renderGeneratorInfo } from "../generator-info.js";
|
|
5
|
+
import { PackageManagerSchema } from "../schema.js";
|
|
6
6
|
/**
|
|
7
7
|
* Adds a tool which lists details about the available generators.
|
|
8
8
|
*
|
|
@@ -14,34 +14,28 @@ const schema_1 = require("../schema");
|
|
|
14
14
|
* - The union of `when:` frontmatter keys across the generator's guide
|
|
15
15
|
* pages (lets multi-variant generators like `connection` surface
|
|
16
16
|
* `sourceType` / `targetType` / `protocol` without any bespoke config).
|
|
17
|
-
*/
|
|
18
|
-
const addListGeneratorsTool = (server, generators) => {
|
|
17
|
+
*/ export const addListGeneratorsTool = (server, generators)=>{
|
|
19
18
|
server.registerTool('list-generators', {
|
|
20
|
-
description: 'Tool to discover the available generators and how to run them. ' +
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
const filterable = await (0, generator_info_1.renderFilterableOptionsAsync)(g);
|
|
19
|
+
description: 'Tool to discover the available generators and how to run them. ' + 'Each entry includes a "Filterable options" section — pass those ' + 'keys to `generator-guide` before invoking a generator so the guide ' + 'is narrowed to the variant you intend to scaffold.',
|
|
20
|
+
inputSchema: {
|
|
21
|
+
packageManager: PackageManagerSchema
|
|
22
|
+
}
|
|
23
|
+
}, async ({ packageManager })=>{
|
|
24
|
+
const entries = await Promise.all(generators.map(async (g)=>{
|
|
25
|
+
const info = renderGeneratorInfo(packageManager, g);
|
|
26
|
+
const filterable = await renderFilterableOptionsAsync(g);
|
|
29
27
|
return `### ${info}${filterable ? `\n${filterable}\n` : ''}`;
|
|
30
28
|
}));
|
|
31
|
-
const guidance = 'Before running any generator below, call `generator-guide` with the ' +
|
|
32
|
-
"generator's id and `options` populated from its `generator-guide options` " +
|
|
33
|
-
'list — the guide is returned narrowed to the branches that apply to ' +
|
|
34
|
-
'those choices, which keeps you from mixing configuration from a ' +
|
|
35
|
-
'different variant.';
|
|
29
|
+
const guidance = 'Before running any generator below, call `generator-guide` with the ' + "generator's id and `options` populated from its `generator-guide options` " + 'list — the guide is returned narrowed to the branches that apply to ' + 'those choices, which keeps you from mixing configuration from a ' + 'different variant.';
|
|
36
30
|
return {
|
|
37
31
|
content: [
|
|
38
32
|
{
|
|
39
33
|
type: 'text',
|
|
40
|
-
text: `## Available Generators\n\n${guidance}\n\n${entries.join('\n\n')}\n
|
|
41
|
-
}
|
|
42
|
-
]
|
|
34
|
+
text: `## Available Generators\n\n${guidance}\n\n${entries.join('\n\n')}\n`
|
|
35
|
+
}
|
|
36
|
+
]
|
|
43
37
|
};
|
|
44
38
|
});
|
|
45
39
|
};
|
|
46
|
-
|
|
40
|
+
|
|
47
41
|
//# sourceMappingURL=list-generators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/list-generators.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { NxGeneratorInfo } from '../../utils/generators';\nimport {\n renderFilterableOptionsAsync,\n renderGeneratorInfo,\n} from '../generator-info';\nimport { PackageManagerSchema } from '../schema';\n\n/**\n * Adds a tool which lists details about the available generators.\n *\n * Each entry carries a \"Filterable options\" section that tells the agent\n * which keys it can pass to `generator-guide` to narrow the guide response\n * to only the branches relevant to its selection. The keys come from two\n * sources, merged transparently:\n * - Enum properties from the generator's JSON schema.\n * - The union of `when:` frontmatter keys across the generator's guide\n * pages (lets multi-variant generators like `connection` surface\n * `sourceType` / `targetType` / `protocol` without any bespoke config).\n */\nexport const addListGeneratorsTool = (\n server: McpServer,\n generators: NxGeneratorInfo[],\n) => {\n server.registerTool(\n 'list-generators',\n {\n description:\n 'Tool to discover the available generators and how to run them. ' +\n 'Each entry includes a \"Filterable options\" section — pass those ' +\n 'keys to `generator-guide` before invoking a generator so the guide ' +\n 'is narrowed to the variant you intend to scaffold.',\n inputSchema: { packageManager: PackageManagerSchema },\n },\n async ({ packageManager }) => {\n const entries = await Promise.all(\n generators.map(async (g) => {\n const info = renderGeneratorInfo(packageManager, g);\n const filterable = await renderFilterableOptionsAsync(g);\n return `### ${info}${filterable ? `\\n${filterable}\\n` : ''}`;\n }),\n );\n const guidance =\n 'Before running any generator below, call `generator-guide` with the ' +\n \"generator's id and `options` populated from its `generator-guide options` \" +\n 'list — the guide is returned narrowed to the branches that apply to ' +\n 'those choices, which keeps you from mixing configuration from a ' +\n 'different variant.';\n return {\n content: [\n {\n type: 'text' as const,\n text: `## Available Generators\\n\\n${guidance}\\n\\n${entries.join('\\n\\n')}\\n`,\n },\n ],\n };\n },\n );\n};\n"],"names":["renderFilterableOptionsAsync","renderGeneratorInfo","PackageManagerSchema","addListGeneratorsTool","server","generators","registerTool","description","inputSchema","packageManager","entries","Promise","all","map","g","info","filterable","guidance","content","type","text","join"],"mappings":"AAAA;;;CAGC,GAGD,SACEA,4BAA4B,EAC5BC,mBAAmB,QACd,uBAAoB;AAC3B,SAASC,oBAAoB,QAAQ,eAAY;AAEjD;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,wBAAwB,CACnCC,QACAC;IAEAD,OAAOE,YAAY,CACjB,mBACA;QACEC,aACE,oEACA,qEACA,wEACA;QACFC,aAAa;YAAEC,gBAAgBP;QAAqB;IACtD,GACA,OAAO,EAAEO,cAAc,EAAE;QACvB,MAAMC,UAAU,MAAMC,QAAQC,GAAG,CAC/BP,WAAWQ,GAAG,CAAC,OAAOC;YACpB,MAAMC,OAAOd,oBAAoBQ,gBAAgBK;YACjD,MAAME,aAAa,MAAMhB,6BAA6Bc;YACtD,OAAO,CAAC,IAAI,EAAEC,OAAOC,aAAa,CAAC,EAAE,EAAEA,WAAW,EAAE,CAAC,GAAG,IAAI;QAC9D;QAEF,MAAMC,WACJ,yEACA,+EACA,yEACA,qEACA;QACF,OAAO;YACLC,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,2BAA2B,EAAEH,SAAS,IAAI,EAAEP,QAAQW,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7E;aACD;QACH;IACF;AAEJ,EAAE"}
|
|
@@ -1,39 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateOpenApiTsClient = exports.buildOpenApiCodeGenerationData = exports.openApiTsClientGenerator = 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
|
-
|
|
12
|
-
|
|
13
|
-
const parse_1 = require("../utils/parse");
|
|
4
|
+
*/ import { generateFiles } from "@nx/devkit";
|
|
5
|
+
import * as path from "path";
|
|
6
|
+
import { formatFilesInSubtree } from "../../utils/format.js";
|
|
7
|
+
import { buildOpenApiCodeGenData } from "../utils/codegen-data.js";
|
|
8
|
+
import { parseOpenApiSpec } from "../utils/parse.js";
|
|
14
9
|
/**
|
|
15
10
|
* Generates typescript client from an openapi spec
|
|
16
|
-
*/
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
await (0, format_1.formatFilesInSubtree)(tree);
|
|
11
|
+
*/ export const openApiTsClientGenerator = async (tree, options)=>{
|
|
12
|
+
const data = await buildOpenApiCodeGenerationData(tree, options.openApiSpecPath);
|
|
13
|
+
generateOpenApiTsClient(tree, data, options.outputPath);
|
|
14
|
+
await formatFilesInSubtree(tree);
|
|
21
15
|
};
|
|
22
|
-
exports.openApiTsClientGenerator = openApiTsClientGenerator;
|
|
23
16
|
/**
|
|
24
17
|
* Build a data structure which can be used to generate code from OpenAPI
|
|
25
|
-
*/
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
return await (0, codegen_data_1.buildOpenApiCodeGenData)(spec);
|
|
18
|
+
*/ export const buildOpenApiCodeGenerationData = async (tree, specPath)=>{
|
|
19
|
+
const spec = await parseOpenApiSpec(tree, specPath);
|
|
20
|
+
return await buildOpenApiCodeGenData(spec);
|
|
29
21
|
};
|
|
30
|
-
exports.buildOpenApiCodeGenerationData = buildOpenApiCodeGenerationData;
|
|
31
22
|
/**
|
|
32
23
|
* Generate an OpenAPI typescript client in the target directory
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), outputPath, data);
|
|
24
|
+
*/ export const generateOpenApiTsClient = (tree, data, outputPath)=>{
|
|
25
|
+
generateFiles(tree, path.join(import.meta.dirname, 'files'), outputPath, data);
|
|
36
26
|
};
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
export default openApiTsClientGenerator;
|
|
28
|
+
|
|
39
29
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-client/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { generateFiles, type Tree } from '@nx/devkit';\nimport * as path from 'path';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { buildOpenApiCodeGenData } from '../utils/codegen-data';\nimport type { CodeGenData } from '../utils/codegen-data/types';\nimport { parseOpenApiSpec } from '../utils/parse';\nimport type { OpenApiTsClientGeneratorSchema } from './schema';\n\n/**\n * Generates typescript client from an openapi spec\n */\nexport const openApiTsClientGenerator = async (\n tree: Tree,\n options: OpenApiTsClientGeneratorSchema,\n) => {\n const data = await buildOpenApiCodeGenerationData(\n tree,\n options.openApiSpecPath,\n );\n\n generateOpenApiTsClient(tree, data, options.outputPath);\n\n await formatFilesInSubtree(tree);\n};\n\n/**\n * Build a data structure which can be used to generate code from OpenAPI\n */\nexport const buildOpenApiCodeGenerationData = async (\n tree: Tree,\n specPath: string,\n) => {\n const spec = await parseOpenApiSpec(tree, specPath);\n return await buildOpenApiCodeGenData(spec);\n};\n\n/**\n * Generate an OpenAPI typescript client in the target directory\n */\nexport const generateOpenApiTsClient = (\n tree: Tree,\n data: CodeGenData,\n outputPath: string,\n) => {\n generateFiles(\n tree,\n path.join(import.meta.dirname, 'files'),\n outputPath,\n data,\n );\n};\n\nexport default openApiTsClientGenerator;\n"],"names":["generateFiles","path","formatFilesInSubtree","buildOpenApiCodeGenData","parseOpenApiSpec","openApiTsClientGenerator","tree","options","data","buildOpenApiCodeGenerationData","openApiSpecPath","generateOpenApiTsClient","outputPath","specPath","spec","join","dirname"],"mappings":"AAAA;;;CAGC,GACD,SAASA,aAAa,QAAmB,aAAa;AACtD,YAAYC,UAAU,OAAO;AAC7B,SAASC,oBAAoB,QAAQ,wBAAqB;AAC1D,SAASC,uBAAuB,QAAQ,2BAAwB;AAEhE,SAASC,gBAAgB,QAAQ,oBAAiB;AAGlD;;CAEC,GACD,OAAO,MAAMC,2BAA2B,OACtCC,MACAC;IAEA,MAAMC,OAAO,MAAMC,+BACjBH,MACAC,QAAQG,eAAe;IAGzBC,wBAAwBL,MAAME,MAAMD,QAAQK,UAAU;IAEtD,MAAMV,qBAAqBI;AAC7B,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMG,iCAAiC,OAC5CH,MACAO;IAEA,MAAMC,OAAO,MAAMV,iBAAiBE,MAAMO;IAC1C,OAAO,MAAMV,wBAAwBW;AACvC,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMH,0BAA0B,CACrCL,MACAE,MACAI;IAEAZ,cACEM,MACAL,KAAKc,IAAI,CAAC,YAAYC,OAAO,EAAE,UAC/BJ,YACAJ;AAEJ,EAAE;AAEF,eAAeH,yBAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-client/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface OpenApiTsClientGeneratorSchema {\n openApiSpecPath: string;\n outputPath: string;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAED,WAGC"}
|
|
@@ -1,31 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateOpenApiTsHooks = exports.openApiTsHooksGenerator = 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
|
-
|
|
12
|
-
const generator_1 = require("../ts-client/generator");
|
|
4
|
+
*/ import { generateFiles } from "@nx/devkit";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { formatFilesInSubtree } from "../../utils/format.js";
|
|
7
|
+
import { buildOpenApiCodeGenerationData, generateOpenApiTsClient } from "../ts-client/generator.js";
|
|
13
8
|
/**
|
|
14
9
|
* Generates typescript hooks from an openapi spec
|
|
15
|
-
*/
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
(
|
|
19
|
-
|
|
20
|
-
await (0, format_1.formatFilesInSubtree)(tree);
|
|
10
|
+
*/ export const openApiTsHooksGenerator = async (tree, options)=>{
|
|
11
|
+
const data = await buildOpenApiCodeGenerationData(tree, options.openApiSpecPath);
|
|
12
|
+
generateOpenApiTsClient(tree, data, options.outputPath);
|
|
13
|
+
generateOpenApiTsHooks(tree, data, options.outputPath);
|
|
14
|
+
await formatFilesInSubtree(tree);
|
|
21
15
|
};
|
|
22
|
-
exports.openApiTsHooksGenerator = openApiTsHooksGenerator;
|
|
23
16
|
/**
|
|
24
17
|
* Generate OpenAPI typescript hooks in the target directory
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
(0, devkit_1.generateFiles)(tree, path_1.default.join(__dirname, 'files'), outputPath, data);
|
|
18
|
+
*/ export const generateOpenApiTsHooks = (tree, data, outputPath)=>{
|
|
19
|
+
generateFiles(tree, path.join(import.meta.dirname, 'files'), outputPath, data);
|
|
28
20
|
};
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
export default openApiTsHooksGenerator;
|
|
22
|
+
|
|
31
23
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-hooks/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { generateFiles, type Tree } from '@nx/devkit';\nimport path from 'path';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport {\n buildOpenApiCodeGenerationData,\n generateOpenApiTsClient,\n} from '../ts-client/generator';\nimport type { CodeGenData } from '../utils/codegen-data/types';\nimport type { OpenApiTsHooksGeneratorSchema } from './schema';\n\n/**\n * Generates typescript hooks from an openapi spec\n */\nexport const openApiTsHooksGenerator = async (\n tree: Tree,\n options: OpenApiTsHooksGeneratorSchema,\n) => {\n const data = await buildOpenApiCodeGenerationData(\n tree,\n options.openApiSpecPath,\n );\n\n generateOpenApiTsClient(tree, data, options.outputPath);\n generateOpenApiTsHooks(tree, data, options.outputPath);\n\n await formatFilesInSubtree(tree);\n};\n\n/**\n * Generate OpenAPI typescript hooks in the target directory\n */\nexport const generateOpenApiTsHooks = (\n tree: Tree,\n data: CodeGenData,\n outputPath: string,\n) => {\n generateFiles(\n tree,\n path.join(import.meta.dirname, 'files'),\n outputPath,\n data,\n );\n};\n\nexport default openApiTsHooksGenerator;\n"],"names":["generateFiles","path","formatFilesInSubtree","buildOpenApiCodeGenerationData","generateOpenApiTsClient","openApiTsHooksGenerator","tree","options","data","openApiSpecPath","outputPath","generateOpenApiTsHooks","join","dirname"],"mappings":"AAAA;;;CAGC,GACD,SAASA,aAAa,QAAmB,aAAa;AACtD,OAAOC,UAAU,OAAO;AACxB,SAASC,oBAAoB,QAAQ,wBAAqB;AAC1D,SACEC,8BAA8B,EAC9BC,uBAAuB,QAClB,4BAAyB;AAIhC;;CAEC,GACD,OAAO,MAAMC,0BAA0B,OACrCC,MACAC;IAEA,MAAMC,OAAO,MAAML,+BACjBG,MACAC,QAAQE,eAAe;IAGzBL,wBAAwBE,MAAME,MAAMD,QAAQG,UAAU;IACtDC,uBAAuBL,MAAME,MAAMD,QAAQG,UAAU;IAErD,MAAMR,qBAAqBI;AAC7B,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMK,yBAAyB,CACpCL,MACAE,MACAE;IAEAV,cACEM,MACAL,KAAKW,IAAI,CAAC,YAAYC,OAAO,EAAE,UAC/BH,YACAF;AAEJ,EAAE;AAEF,eAAeH,wBAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-hooks/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface OpenApiTsHooksGeneratorSchema {\n openApiSpecPath: string;\n outputPath: string;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAED,WAGC"}
|
|
@@ -1,30 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateOpenApiTsMetadata = exports.openApiTsMetadataGenerator = 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
|
-
|
|
12
|
-
const generator_1 = require("../ts-client/generator");
|
|
4
|
+
*/ import { generateFiles } from "@nx/devkit";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { formatFilesInSubtree } from "../../utils/format.js";
|
|
7
|
+
import { buildOpenApiCodeGenerationData } from "../ts-client/generator.js";
|
|
13
8
|
/**
|
|
14
9
|
* Generates typescript metadata from an openapi spec
|
|
15
|
-
*/
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
await (0, format_1.formatFilesInSubtree)(tree);
|
|
10
|
+
*/ export const openApiTsMetadataGenerator = async (tree, options)=>{
|
|
11
|
+
const data = await buildOpenApiCodeGenerationData(tree, options.openApiSpecPath);
|
|
12
|
+
generateOpenApiTsMetadata(tree, data, options.outputPath);
|
|
13
|
+
await formatFilesInSubtree(tree);
|
|
20
14
|
};
|
|
21
|
-
exports.openApiTsMetadataGenerator = openApiTsMetadataGenerator;
|
|
22
15
|
/**
|
|
23
16
|
* Generate OpenAPI typescript metadata in the target directory
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
(0, devkit_1.generateFiles)(tree, path_1.default.join(__dirname, 'files'), outputPath, data);
|
|
17
|
+
*/ export const generateOpenApiTsMetadata = (tree, data, outputPath)=>{
|
|
18
|
+
generateFiles(tree, path.join(import.meta.dirname, 'files'), outputPath, data);
|
|
27
19
|
};
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
export default openApiTsMetadataGenerator;
|
|
21
|
+
|
|
30
22
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-metadata/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { generateFiles, type Tree } from '@nx/devkit';\nimport path from 'path';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { buildOpenApiCodeGenerationData } from '../ts-client/generator';\nimport type { CodeGenData } from '../utils/codegen-data/types';\nimport type { OpenApiTsMetadataGeneratorSchema } from './schema';\n\n/**\n * Generates typescript metadata from an openapi spec\n */\nexport const openApiTsMetadataGenerator = async (\n tree: Tree,\n options: OpenApiTsMetadataGeneratorSchema,\n) => {\n const data = await buildOpenApiCodeGenerationData(\n tree,\n options.openApiSpecPath,\n );\n\n generateOpenApiTsMetadata(tree, data, options.outputPath);\n\n await formatFilesInSubtree(tree);\n};\n\n/**\n * Generate OpenAPI typescript metadata in the target directory\n */\nexport const generateOpenApiTsMetadata = (\n tree: Tree,\n data: CodeGenData,\n outputPath: string,\n) => {\n generateFiles(\n tree,\n path.join(import.meta.dirname, 'files'),\n outputPath,\n data,\n );\n};\n\nexport default openApiTsMetadataGenerator;\n"],"names":["generateFiles","path","formatFilesInSubtree","buildOpenApiCodeGenerationData","openApiTsMetadataGenerator","tree","options","data","openApiSpecPath","generateOpenApiTsMetadata","outputPath","join","dirname"],"mappings":"AAAA;;;CAGC,GACD,SAASA,aAAa,QAAmB,aAAa;AACtD,OAAOC,UAAU,OAAO;AACxB,SAASC,oBAAoB,QAAQ,wBAAqB;AAC1D,SAASC,8BAA8B,QAAQ,4BAAyB;AAIxE;;CAEC,GACD,OAAO,MAAMC,6BAA6B,OACxCC,MACAC;IAEA,MAAMC,OAAO,MAAMJ,+BACjBE,MACAC,QAAQE,eAAe;IAGzBC,0BAA0BJ,MAAME,MAAMD,QAAQI,UAAU;IAExD,MAAMR,qBAAqBG;AAC7B,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMI,4BAA4B,CACvCJ,MACAE,MACAG;IAEAV,cACEK,MACAJ,KAAKU,IAAI,CAAC,YAAYC,OAAO,EAAE,UAC/BF,YACAH;AAEJ,EAAE;AAEF,eAAeH,2BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/ts-metadata/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface OpenApiTsMetadataGeneratorSchema {\n openApiSpecPath: string;\n outputPath: string;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAED,WAGC"}
|
|
@@ -1,57 +1,50 @@
|
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (property.type === 'string' &&
|
|
14
|
-
['date', 'date-time'].includes(property.format ?? '')) {
|
|
4
|
+
*/ import camelCase from "lodash.camelcase";
|
|
5
|
+
import { snakeCase, toClassName } from "../../../utils/names.js";
|
|
6
|
+
import { flattenModelLink, PRIMITIVE_TYPES } from "./types.js";
|
|
7
|
+
const toTypescriptPrimitive = (property)=>{
|
|
8
|
+
if (property.type === 'string' && [
|
|
9
|
+
'date',
|
|
10
|
+
'date-time'
|
|
11
|
+
].includes(property.format ?? '')) {
|
|
15
12
|
return 'Date';
|
|
16
|
-
}
|
|
17
|
-
else if (property.type === 'binary') {
|
|
13
|
+
} else if (property.type === 'binary') {
|
|
18
14
|
return 'Blob';
|
|
19
15
|
}
|
|
20
16
|
return property.type;
|
|
21
17
|
};
|
|
22
18
|
/**
|
|
23
19
|
* Return the typescript type for the given model
|
|
24
|
-
*/
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
switch (property.export) {
|
|
20
|
+
*/ export const toTypeScriptType = (property)=>{
|
|
21
|
+
const propertyLink = flattenModelLink(property.link);
|
|
22
|
+
switch(property.export){
|
|
28
23
|
case 'enum':
|
|
29
24
|
case 'generic':
|
|
30
25
|
return toTypescriptPrimitive(property);
|
|
31
26
|
case 'array':
|
|
32
|
-
return `Array<${propertyLink && propertyLink.export !== 'enum' ?
|
|
27
|
+
return `Array<${propertyLink && propertyLink.export !== 'enum' ? toTypeScriptType(propertyLink) : property.type}>`;
|
|
33
28
|
case 'dictionary':
|
|
34
|
-
return `{ [key: string]: ${propertyLink && propertyLink.export !== 'enum' ?
|
|
29
|
+
return `{ [key: string]: ${propertyLink && propertyLink.export !== 'enum' ? toTypeScriptType(propertyLink) : property.type}; }`;
|
|
35
30
|
case 'one-of':
|
|
36
31
|
case 'any-of':
|
|
37
32
|
case 'all-of':
|
|
38
|
-
return
|
|
33
|
+
return toTypeScriptModelName(property.name);
|
|
39
34
|
case 'reference':
|
|
40
35
|
default:
|
|
41
36
|
if (property.type === 'unknown') {
|
|
42
37
|
return 'unknown';
|
|
43
38
|
}
|
|
44
|
-
if (
|
|
39
|
+
if (PRIMITIVE_TYPES.has(property.type)) {
|
|
45
40
|
return toTypescriptPrimitive(property);
|
|
46
41
|
}
|
|
47
|
-
return
|
|
42
|
+
return toTypeScriptModelName(property.type);
|
|
48
43
|
}
|
|
49
44
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return (0, lodash_camelcase_1.default)(name);
|
|
45
|
+
export const toTypeScriptName = (name)=>{
|
|
46
|
+
return camelCase(name);
|
|
53
47
|
};
|
|
54
|
-
exports.toTypeScriptName = toTypeScriptName;
|
|
55
48
|
const TYPESCRIPT_RESERVED_MODEL_NAMES = new Set([
|
|
56
49
|
'Date',
|
|
57
50
|
'Blob',
|
|
@@ -73,34 +66,27 @@ const TYPESCRIPT_RESERVED_MODEL_NAMES = new Set([
|
|
|
73
66
|
'Function',
|
|
74
67
|
'Promise',
|
|
75
68
|
'RegExp',
|
|
76
|
-
'JSON'
|
|
69
|
+
'JSON'
|
|
77
70
|
]);
|
|
78
|
-
const toTypeScriptModelName = (name)
|
|
79
|
-
const candidateName =
|
|
71
|
+
export const toTypeScriptModelName = (name)=>{
|
|
72
|
+
const candidateName = toClassName(name);
|
|
80
73
|
// Prepend underscore for any reserved model names
|
|
81
|
-
return TYPESCRIPT_RESERVED_MODEL_NAMES.has(candidateName)
|
|
82
|
-
? `_${candidateName}`
|
|
83
|
-
: candidateName;
|
|
74
|
+
return TYPESCRIPT_RESERVED_MODEL_NAMES.has(candidateName) ? `_${candidateName}` : candidateName;
|
|
84
75
|
};
|
|
85
|
-
|
|
86
|
-
const toPythonPrimitive = (property) => {
|
|
76
|
+
const toPythonPrimitive = (property)=>{
|
|
87
77
|
if (property.type === 'string' && property.format === 'date') {
|
|
88
78
|
return 'date';
|
|
89
|
-
}
|
|
90
|
-
else if (property.type === 'string' && property.format === 'date-time') {
|
|
79
|
+
} else if (property.type === 'string' && property.format === 'date-time') {
|
|
91
80
|
return 'datetime';
|
|
92
|
-
}
|
|
93
|
-
else if (property.type === 'any') {
|
|
81
|
+
} else if (property.type === 'any') {
|
|
94
82
|
return 'object';
|
|
95
|
-
}
|
|
96
|
-
else if (property.type === 'binary') {
|
|
83
|
+
} else if (property.type === 'binary') {
|
|
97
84
|
return 'bytearray';
|
|
98
|
-
}
|
|
99
|
-
else if (property.type === 'number') {
|
|
85
|
+
} else if (property.type === 'number') {
|
|
100
86
|
if (property.openapiType === 'integer') {
|
|
101
87
|
return 'int';
|
|
102
88
|
}
|
|
103
|
-
switch
|
|
89
|
+
switch(property.format){
|
|
104
90
|
case 'int32':
|
|
105
91
|
case 'int64':
|
|
106
92
|
return 'int';
|
|
@@ -109,41 +95,37 @@ const toPythonPrimitive = (property) => {
|
|
|
109
95
|
default:
|
|
110
96
|
return 'float';
|
|
111
97
|
}
|
|
112
|
-
}
|
|
113
|
-
else if (property.type === 'boolean') {
|
|
98
|
+
} else if (property.type === 'boolean') {
|
|
114
99
|
return 'bool';
|
|
115
|
-
}
|
|
116
|
-
else if (property.type === 'string') {
|
|
100
|
+
} else if (property.type === 'string') {
|
|
117
101
|
return 'str';
|
|
118
102
|
}
|
|
119
103
|
return property.type;
|
|
120
104
|
};
|
|
121
105
|
/**
|
|
122
106
|
* Return the python type for a given property
|
|
123
|
-
*/
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
switch (property.export) {
|
|
107
|
+
*/ export const toPythonType = (property)=>{
|
|
108
|
+
const propertyLink = flattenModelLink(property.link);
|
|
109
|
+
switch(property.export){
|
|
127
110
|
case 'generic':
|
|
128
111
|
case 'reference':
|
|
129
112
|
return toPythonPrimitive(property);
|
|
130
113
|
case 'array':
|
|
131
|
-
return `List[${propertyLink && propertyLink.export !== 'enum' ?
|
|
114
|
+
return `List[${propertyLink && propertyLink.export !== 'enum' ? toPythonType(propertyLink) : property.type}]`;
|
|
132
115
|
case 'dictionary':
|
|
133
|
-
return `Dict[str, ${propertyLink && propertyLink.export !== 'enum' ?
|
|
116
|
+
return `Dict[str, ${propertyLink && propertyLink.export !== 'enum' ? toPythonType(propertyLink) : property.type}]`;
|
|
134
117
|
case 'one-of':
|
|
135
118
|
case 'any-of':
|
|
136
119
|
case 'all-of':
|
|
137
120
|
return property.name;
|
|
138
121
|
default:
|
|
139
122
|
// "any" has export = interface
|
|
140
|
-
if (
|
|
123
|
+
if (PRIMITIVE_TYPES.has(property.type)) {
|
|
141
124
|
return toPythonPrimitive(property);
|
|
142
125
|
}
|
|
143
126
|
return property.type;
|
|
144
127
|
}
|
|
145
128
|
};
|
|
146
|
-
exports.toPythonType = toPythonType;
|
|
147
129
|
// @see https://github.com/OpenAPITools/openapi-generator/blob/e2a62ace74de361bef6338b7fa37da8577242aef/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java#L106
|
|
148
130
|
const PYTHON_KEYWORDS = new Set([
|
|
149
131
|
// @property
|
|
@@ -192,15 +174,15 @@ const PYTHON_KEYWORDS = new Set([
|
|
|
192
174
|
'True',
|
|
193
175
|
'False',
|
|
194
176
|
'async',
|
|
195
|
-
'await'
|
|
177
|
+
'await'
|
|
196
178
|
]);
|
|
197
|
-
const toPythonName = (namedEntity, name)
|
|
198
|
-
const nameSnakeCase =
|
|
179
|
+
export const toPythonName = (namedEntity, name)=>{
|
|
180
|
+
const nameSnakeCase = snakeCase(name);
|
|
199
181
|
// Check if the name is a reserved word. Reserved words that overlap with TypeScript will already be escaped
|
|
200
182
|
// with a leading _ by @hey-api/openapi-ts, so we remove this to test
|
|
201
183
|
if (PYTHON_KEYWORDS.has(name.startsWith('_') ? name.slice(1) : name)) {
|
|
202
184
|
const nameSuffix = `_${nameSnakeCase}`;
|
|
203
|
-
switch
|
|
185
|
+
switch(namedEntity){
|
|
204
186
|
case 'model':
|
|
205
187
|
return `model${nameSuffix}`;
|
|
206
188
|
case 'operation':
|
|
@@ -213,5 +195,5 @@ const toPythonName = (namedEntity, name) => {
|
|
|
213
195
|
}
|
|
214
196
|
return nameSnakeCase;
|
|
215
197
|
};
|
|
216
|
-
|
|
198
|
+
|
|
217
199
|
//# sourceMappingURL=languages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data/languages.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport camelCase from 'lodash.camelcase';\nimport { snakeCase, toClassName } from '../../../utils/names';\nimport { flattenModelLink, type Model, PRIMITIVE_TYPES } from './types';\n\nconst toTypescriptPrimitive = (property: Model): string => {\n if (\n property.type === 'string' &&\n ['date', 'date-time'].includes(property.format ?? '')\n ) {\n return 'Date';\n } else if (property.type === 'binary') {\n return 'Blob';\n }\n return property.type;\n};\n\n/**\n * Return the typescript type for the given model\n */\nexport const toTypeScriptType = (property: Model): string => {\n const propertyLink = flattenModelLink(property.link);\n switch (property.export) {\n case 'enum':\n case 'generic':\n return toTypescriptPrimitive(property);\n case 'array':\n return `Array<${propertyLink && propertyLink.export !== 'enum' ? toTypeScriptType(propertyLink) : property.type}>`;\n case 'dictionary':\n return `{ [key: string]: ${propertyLink && propertyLink.export !== 'enum' ? toTypeScriptType(propertyLink) : property.type}; }`;\n case 'one-of':\n case 'any-of':\n case 'all-of':\n return toTypeScriptModelName(property.name);\n case 'reference':\n default:\n if (property.type === 'unknown') {\n return 'unknown';\n }\n if (PRIMITIVE_TYPES.has(property.type)) {\n return toTypescriptPrimitive(property);\n }\n return toTypeScriptModelName(property.type);\n }\n};\n\nexport const toTypeScriptName = (name: string): string => {\n return camelCase(name);\n};\n\nconst TYPESCRIPT_RESERVED_MODEL_NAMES = new Set([\n 'Date',\n 'Blob',\n 'Object',\n 'String',\n 'Boolean',\n 'Integer',\n 'Long',\n 'Float',\n 'Array',\n 'ReadonlyArray',\n 'File',\n 'Error',\n 'Map',\n 'Set',\n 'Number',\n 'Symbol',\n 'BigInt',\n 'Function',\n 'Promise',\n 'RegExp',\n 'JSON',\n]);\n\nexport const toTypeScriptModelName = (name: string): string => {\n const candidateName = toClassName(name);\n\n // Prepend underscore for any reserved model names\n return TYPESCRIPT_RESERVED_MODEL_NAMES.has(candidateName)\n ? `_${candidateName}`\n : candidateName;\n};\n\nconst toPythonPrimitive = (property: Model): string => {\n if (property.type === 'string' && property.format === 'date') {\n return 'date';\n } else if (property.type === 'string' && property.format === 'date-time') {\n return 'datetime';\n } else if (property.type === 'any') {\n return 'object';\n } else if (property.type === 'binary') {\n return 'bytearray';\n } else if (property.type === 'number') {\n if ((property as any).openapiType === 'integer') {\n return 'int';\n }\n\n switch (property.format) {\n case 'int32':\n case 'int64':\n return 'int';\n case 'float':\n case 'double':\n default:\n return 'float';\n }\n } else if (property.type === 'boolean') {\n return 'bool';\n } else if (property.type === 'string') {\n return 'str';\n }\n return property.type;\n};\n\n/**\n * Return the python type for a given property\n */\nexport const toPythonType = (property: Model): string => {\n const propertyLink = flattenModelLink(property.link);\n switch (property.export) {\n case 'generic':\n case 'reference':\n return toPythonPrimitive(property);\n case 'array':\n return `List[${propertyLink && propertyLink.export !== 'enum' ? toPythonType(propertyLink) : property.type}]`;\n case 'dictionary':\n return `Dict[str, ${propertyLink && propertyLink.export !== 'enum' ? toPythonType(propertyLink) : property.type}]`;\n case 'one-of':\n case 'any-of':\n case 'all-of':\n return property.name;\n default:\n // \"any\" has export = interface\n if (PRIMITIVE_TYPES.has(property.type)) {\n return toPythonPrimitive(property);\n }\n return property.type;\n }\n};\n\n// @see https://github.com/OpenAPITools/openapi-generator/blob/e2a62ace74de361bef6338b7fa37da8577242aef/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java#L106\nconst PYTHON_KEYWORDS = new Set([\n // @property\n 'property',\n // typing keywords\n 'schema',\n 'base64',\n 'json',\n 'date',\n 'float',\n // python reserved words\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'class',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'def',\n 'for',\n 'lambda',\n 'try',\n 'self',\n 'nonlocal',\n 'None',\n 'True',\n 'False',\n 'async',\n 'await',\n]);\n\nexport const toPythonName = (\n namedEntity: 'model' | 'property' | 'operation',\n name: string,\n) => {\n const nameSnakeCase = snakeCase(name);\n\n // Check if the name is a reserved word. Reserved words that overlap with TypeScript will already be escaped\n // with a leading _ by @hey-api/openapi-ts, so we remove this to test\n if (PYTHON_KEYWORDS.has(name.startsWith('_') ? name.slice(1) : name)) {\n const nameSuffix = `_${nameSnakeCase}`;\n switch (namedEntity) {\n case 'model':\n return `model${nameSuffix}`;\n case 'operation':\n return `call${nameSuffix}`;\n case 'property':\n return `var${nameSuffix}`;\n default:\n break;\n }\n }\n return nameSnakeCase;\n};\n"],"names":["camelCase","snakeCase","toClassName","flattenModelLink","PRIMITIVE_TYPES","toTypescriptPrimitive","property","type","includes","format","toTypeScriptType","propertyLink","link","export","toTypeScriptModelName","name","has","toTypeScriptName","TYPESCRIPT_RESERVED_MODEL_NAMES","Set","candidateName","toPythonPrimitive","openapiType","toPythonType","PYTHON_KEYWORDS","toPythonName","namedEntity","nameSnakeCase","startsWith","slice","nameSuffix"],"mappings":"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"}
|