@aws/nx-plugin 1.0.0-rc.23 → 1.0.0-rc.25
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 +3643 -1208
- package/package.json +30 -15
- 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 +4 -4
- package/src/agentcore-gateway/gateway-connection/generator.js +45 -46
- 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/gateway-connection/schema.d.ts +1 -0
- package/src/agentcore-gateway/gateway-connection/schema.json +5 -0
- package/src/agentcore-gateway/generator.js +93 -73
- package/src/agentcore-gateway/generator.js.map +1 -1
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +3 -3
- package/src/agentcore-gateway/mcp-connection/generator.js +27 -31
- 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/mcp-connection/schema.d.ts +1 -0
- package/src/agentcore-gateway/mcp-connection/schema.json +5 -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 +1 -0
- package/src/agentcore-gateway/schema.json +5 -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.d.ts +1 -0
- package/src/connection/generator.js +265 -206
- 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/connection/schema.d.ts +1 -0
- package/src/connection/schema.json +5 -0
- package/src/index.js +2 -5
- package/src/index.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +33 -47
- package/src/infra/app/generator.js +140 -124
- 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/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/schema.d.ts +2 -0
- package/src/license/schema.json +5 -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 +45 -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 +32 -7
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +134 -113
- 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 +1 -1
- package/src/preset/schema.json +5 -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} +16 -853
- 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 +74 -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/a2a-connection/schema.d.ts +1 -0
- package/src/py/agent/a2a-connection/schema.json +5 -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 +65 -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/gateway-connection/schema.d.ts +1 -0
- package/src/py/agent/gateway-connection/schema.json +5 -0
- package/src/py/agent/generator.js +230 -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 +57 -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/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 +3 -2
- package/src/py/agent/react-connection/generator.d.ts +1 -1
- 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} +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/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 +1 -0
- package/src/py/agent/schema.json +5 -0
- 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 +68 -28
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
- package/src/py/dynamodb/agent-connection/generator.js +30 -30
- 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/agent-connection/schema.d.ts +1 -0
- package/src/py/dynamodb/agent-connection/schema.json +5 -0
- package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/dynamodb/fast-api-connection/generator.js +29 -29
- 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/fast-api-connection/schema.d.ts +1 -0
- package/src/py/dynamodb/fast-api-connection/schema.json +5 -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 +66 -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 +30 -30
- 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/mcp-server-connection/schema.d.ts +1 -0
- package/src/py/dynamodb/mcp-server-connection/schema.json +5 -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 +1 -0
- package/src/py/dynamodb/schema.json +5 -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 +82 -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.d.ts +2 -2
- 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.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/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.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 +8 -8
- package/src/py/mcp-server/generator.js +152 -132
- 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.js +132 -90
- 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/{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 +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 +2 -8
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/generator.js +48 -43
- 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/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 +395 -72
- package/src/smithy/ts/api/generator.js +125 -110
- 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/providers.tf.template +1 -1
- package/src/terraform/project/generator.js +151 -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 +336 -92
- package/src/trpc/backend/generator.d.ts +1 -1
- package/src/trpc/backend/generator.js +97 -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/backend/schema.d.ts +1 -0
- package/src/trpc/backend/schema.json +5 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/generator.d.ts +1 -1
- 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 +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 +62 -55
- 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/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 +61 -53
- 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/gateway-connection/schema.d.ts +1 -0
- package/src/ts/agent/gateway-connection/schema.json +5 -0
- package/src/ts/agent/generator.js +169 -137
- 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 +52 -47
- 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 +1 -1
- 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/{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/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.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 +1 -0
- package/src/ts/api/schema.json +5 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/ts/astro-docs/generator.js +63 -51
- 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.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 +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/agent-connection/schema.d.ts +1 -0
- package/src/ts/dynamodb/agent-connection/schema.json +5 -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 +68 -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/mcp-server-connection/schema.d.ts +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -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 +1 -0
- package/src/ts/dynamodb/schema.json +5 -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/smithy-connection/schema.d.ts +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +5 -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/dynamodb/trpc-connection/schema.d.ts +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- 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 +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 +82 -80
- 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/schema.d.ts +1 -1
- package/src/ts/lib/schema.json +5 -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 +161 -139
- 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 +27 -12
- 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.js +88 -84
- 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.js +57 -49
- 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.js +32 -44
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +30 -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/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 +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 +1 -0
- package/src/ts/rdb/generator.js +134 -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/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.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.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.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 +178 -284
- package/src/ts/react-website/app/generator.d.ts +1 -1
- package/src/ts/react-website/app/generator.js +212 -191
- 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 +118 -4
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +10 -3
- 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 +1 -1
- package/src/ts/react-website/cognito-auth/generator.js +64 -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/schema.d.ts +1 -0
- package/src/ts/react-website/cognito-auth/schema.json +5 -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/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.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.d.ts +1 -1
- package/src/ts/website/app/schema.json +11 -6
- package/src/ts/website/auth/generator.d.ts +1 -1
- 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 +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.js +129 -146
- 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 +4 -4
- 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/infra/stage-credentials/cdk-command.ts.template +11 -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/{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 +2 -2
- 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/install.d.ts +32 -0
- package/src/utils/install.js +56 -0
- package/src/utils/install.js.map +1 -0
- 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.js +25 -51
- 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.js +43 -52
- 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 +93 -66
- package/src/utils/versions.js +102 -85
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-pipeline.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/guide-pipeline.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,oDAAoB;AAepB,gDAK2B;AAE3B,iDAIwB;AACxB,uCAQmB;AACnB,mDAMyB;AAmBzB,IAAI,WAA4C,CAAC;AACjD,MAAM,cAAc,GAAG,GAAwB,EAAE;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC,gEAAa,SAAS,GAAC,CAAC,CAAC,OAAO;YAC1C,WAAW,EAAE,CAAC,gEAAa,cAAc,GAAC,CAAC,CAAC,OAAO;YACnD,SAAS,EAAE,CAAC,gEAAa,YAAY,GAAC,CAAC,CAAC,OAAO;YAC/C,eAAe,EAAE,CAAC,gEAAa,kBAAkB,GAAC,CAAC,CAAC,OAAO;YAC3D,iBAAiB,EAAE,CAAC,gEAAa,oBAAoB,GAAC,CAAC,CAAC,OAAO;SAChE,CAAC,CAAC,EAAE,CAAC;IACR,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,IAAgB,EAAQ,EAAE,CAClE,IAAI;KACD,OAAO,EAAE;KACT,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;KACrB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KACnB,KAAK,CAAC,MAAM,CAAS,CAAC;AAE3B;wEACwE;AACjE,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC9D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB;AAEF,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,IAAgB,EAAU,EAAE,CAC5D,MAAM,CACJ,IAAI;KACD,OAAO,EAAE;KACT,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KACnB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;IACzB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,KAAK;CACtB,CAAC;KACD,SAAS,CAAC,IAAI,CAAC,CACnB,CAAC;AAEG,MAAM,0BAA0B,GAAG,KAAK,EAC7C,KAAa,EACb,IAAqB,EACJ,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE3C,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3C,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC;AAEF,MAAM,cAAc,GAAG,KAAK,EAC1B,IAAU,EACV,IAAqB,EACrB,IAAgB,EACD,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO;IAStB,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,MAAiB,EAAQ,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAyB,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAA,wBAAc,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,IAAI,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,IAAA,kCAA0B,EAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC,CAAC,CACH,CAAC;IAEF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS;gBAAE,SAAS;YACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACpE,QAAQ,EAAE,WAAW,CAAC,QAAyC;aAChE,CAAC;YACF,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvC,OAAkC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/D,CAAC;YACA,MAAM,CAAC,QAA0B,CAAC,MAAM,CACvC,KAAK,EACL,CAAC,EACD,OAAsB,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,IAAU,EACV,OAA2C,EACrC,EAAE;IACR,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,CAAC;IAEzB,MAAM,SAAS,GAAG,CAAC,MAAiB,EAAQ,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAyB,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC;gBAAE,SAAS;YAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI;oBAAE,SAAS,CAAC,0BAA0B;gBAC/C,2EAA2E;gBAC3E,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAA,qBAAW,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,WAAW,GAAG,IAAA,iCAAiB,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC;wBACvD,CAAC,CAAE,KAAK,CAAC,QAA0B;wBACnC,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;oBACtC,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAClD,MAAM,MAAM,GAAsB;wBAChC,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,EAAE;wBACd,QAAQ,EAAE,IAAqC;qBAChD,CAAC;oBACF,SAAS,CAAC,MAAM,CAAC,CAAC;oBAClB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAI,MAAM,CAAC,QAA0B,CAAC,CAAC;oBAC7D,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;gBACD,kEAAkE;gBAClE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAChE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtB,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAAI,KAAK,CAAC,QAA0B,CAAC,IAAI,CACrD,CAAC,CAAC,EAA0B,EAAE,CAC5B,IAAA,sBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CACzC,CAAC;oBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAyB,CAAC;oBAChD,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC/B,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,SAAS;YACX,CAAC;YAED,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,IAAgB,EAChB,GAAwB,EACT,EAAE;IACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,IAAI,GAAI,IAAI,CAAC,QAA0B,CAAC,IAAI,CAChD,CAAC,CAAC,EAA0B,EAAE,CAC5B,IAAA,sBAAY,EAAC,CAAC,CAAC;QACf,CAAC,CAAC,IAAI,KAAK,UAAU;QACrB,IAAA,wBAAc,EAAC,CAAC,EAAE,MAAM,CAAC,KAAK,QAAQ,CACzC,CAAC;IACF,OAAQ,IAAI,EAAE,QAA0B,IAAI,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CACtB,IAAuB,EACvB,OAA2C,EACd,EAAE;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAyB,CAAC;IAChD,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,SAAoB,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,mCAAmB,EAAC,YAAqB,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,IAAA,iCAAiB,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7D,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,SAA0C,CAAC;IAC7D,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAC/C,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACpE,IAAI,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAc,EAAQ,EAAE;IAC/C,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,CACrB,MAAkB,EAClB,SAAoB,EACpB,GAAY,EACC,EAAE;IACf,MAAM,MAAM,GAAG,IAAA,iCAAiB,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,EAAE,WAAW,CAAC;QACpC,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IAC1B,MAAM,WAAW,GAAkB,WAAW,CAAC,GAAG,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAgB,CACzD,CAAC;IACF,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC,GAAG,WAAW,EAAE,GAAI,MAAM,CAAC,QAA0B,CAAU;KAC5D,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAyB,EAAE;IAChE,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,IAAA,mCAAmB,EAAC,MAAe,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,IAAU,EACV,IAAqB,EACrB,IAAgB,EACV,EAAE;IACR,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC;IACzC,MAAM,SAAS,GAAG,CAAC,MAAiB,EAAQ,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAyB,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;gBACtC,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,IAAgB,EAChB,IAAqB,EACrB,EAAU,EACV,IAAgB,EACW,EAAE;IAC7B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,OAAO;gBACL,SAAS,CACP,QAAQ;qBACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAc,EAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC,CACd;aACF,CAAC;QACJ,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YACnC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,OAAO,qBAAqB,CAC1B,IAAA,qCAAsB,EAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,EAChE,IAAI,CACL,CAAC;QACJ,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW;gBAAE,OAAO,SAAS,CAAC;YACnC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,OAAO,qBAAqB,CAAC,IAAA,2BAAY,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YACjC,MAAM,GAAG,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,KAAK,CAGzB,CAAC;YACd,OAAO,CAAC,SAAS,CAAC,IAAA,wCAA6B,EAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GACP,IAAA,wBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAA,4BAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,OAAO;gBACL,SAAS,CAAC,IAAA,8BAAmB,EAAC,EAAE,EAAE,GAAG,EAAE,IAAA,qBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;aAClE,CAAC;QACJ,CAAC;QACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,OAAO;gBACL,SAAS,CACP,QAAQ;qBACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0CAA+B,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC,CACd;aACF,CAAC;QACJ,CAAC;QACD,KAAK,2BAA2B,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,OAAO;gBACL,SAAS,CACP,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yCAA8B,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtE;aACF,CAAC;QACJ,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAC5B,QAAgB,EAChB,IAAgB,EACD,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAS,CAAC;IAC9E,OAAO,QAAQ,CAAC,QAAyB,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,UAA6B,EAC7B,WAAmB,EAGP,EAAE;IACd,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF;2CAC2C;AAC3C,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAwB,EAAE;IAClE,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,IAAA,4CAA4B,EAAC,MAAe,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/guide-pipeline.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport fs from 'fs';\n/**\n * Unified + remark-mdx pipeline for the MCP `generator-guide` tool.\n *\n * Passes (in order, each over the already-transformed tree):\n * 1. Snippet inlining — `<Snippet name>` → recursive post-process.\n * 2. Filter transforms — `<OptionFilter>`, `<Infrastructure>` slot\n * selection, `<Tabs><TabItem _filter>` pruning.\n * 3. Component transforms — `<NxCommands>` / `<RunGenerator>` /\n * `<GeneratorParameters>` / `<CreateNxWorkspaceCommand>` /\n * `<InstallCommand>` / `<PackageManagerShortCommand>` /\n * `<PackageManagerExecCommand>` render down to markdown.\n */\nimport type { Root, RootContent } from 'mdast';\nimport type { MdxJsxFlowElement } from 'mdast-util-mdx-jsx';\nimport {\n buildCreateNxWorkspaceCommand,\n buildInstallCommand,\n buildPackageManagerExecCommand,\n buildPackageManagerShortCommand,\n} from '../utils/commands';\nimport type { NxGeneratorInfo } from '../utils/generators';\nimport {\n buildNxCommand,\n renderGeneratorCommand,\n renderSchema,\n} from './guide-render';\nimport {\n hasBareAttr,\n isJsxElement,\n type JsxElement,\n type JsxParent,\n readEstreeAttr,\n readExpressionAttr,\n readStringAttr,\n} from './mdx-ast';\nimport {\n describePredicate,\n evaluatePredicate,\n extractStringArrayExpression,\n type Predicate,\n parseWhenExpression,\n} from './option-filter';\n\nexport interface PipelineOptions {\n generators: NxGeneratorInfo[];\n packageManager?: string;\n snippetContentProvider?: (name: string) => Promise<string> | string;\n options?: Record<string, string>;\n}\n\n// unified v11 is ESM-only and this package is CJS; dynamic import + rolldown's\n// inlineDynamicImports bundles everything into the published MCP binary.\ninterface RemarkDeps {\n unified: typeof import('unified').unified;\n remarkParse: typeof import('remark-parse').default;\n remarkMdx: typeof import('remark-mdx').default;\n remarkStringify: typeof import('remark-stringify').default;\n remarkFrontmatter: typeof import('remark-frontmatter').default;\n}\n\nlet depsPromise: Promise<RemarkDeps> | undefined;\nconst loadRemarkDeps = (): Promise<RemarkDeps> => {\n if (!depsPromise) {\n depsPromise = (async () => ({\n unified: (await import('unified')).unified,\n remarkParse: (await import('remark-parse')).default,\n remarkMdx: (await import('remark-mdx')).default,\n remarkStringify: (await import('remark-stringify')).default,\n remarkFrontmatter: (await import('remark-frontmatter')).default,\n }))();\n }\n return depsPromise;\n};\n\nconst parseMdxWithDeps = (source: string, deps: RemarkDeps): Root =>\n deps\n .unified()\n .use(deps.remarkParse)\n .use(deps.remarkFrontmatter)\n .use(deps.remarkMdx)\n .parse(source) as Root;\n\n/** Parse MDX (with frontmatter) into mdast. Exposed so callers like\n * `fetchGuideFrontmatters` don't need to re-load remark themselves. */\nexport const parseMdx = async (source: string): Promise<Root> => {\n const deps = await loadRemarkDeps();\n return parseMdxWithDeps(source, deps);\n};\n\nconst stringifyMdx = (tree: Root, deps: RemarkDeps): string =>\n String(\n deps\n .unified()\n .use(deps.remarkFrontmatter)\n .use(deps.remarkMdx)\n .use(deps.remarkStringify, {\n bullet: '-',\n fences: true,\n listItemIndent: 'one',\n })\n .stringify(tree),\n );\n\nexport const postProcessGuideWithRemark = async (\n guide: string,\n opts: PipelineOptions,\n): Promise<string> => {\n const deps = await loadRemarkDeps();\n const tree = parseMdxWithDeps(guide, deps);\n\n await inlineSnippets(tree, opts, deps);\n applyFilterTransforms(tree, opts.options);\n applyComponentTransforms(tree, opts, deps);\n\n return stringifyMdx(tree, deps);\n};\n\nconst inlineSnippets = async (\n tree: Root,\n opts: PipelineOptions,\n deps: RemarkDeps,\n): Promise<void> => {\n const provider = opts.snippetContentProvider;\n if (!provider) return;\n\n interface PendingSnippet {\n parent: JsxParent;\n index: number;\n name: string;\n node: JsxElement;\n }\n\n const pending: PendingSnippet[] = [];\n const walk = (parent: JsxParent): void => {\n const children = parent.children as RootContent[];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (!isJsxElement(child)) continue;\n if (child.name === 'Snippet') {\n const name = readStringAttr(child, 'name');\n if (name) pending.push({ parent, index: i, name, node: child });\n continue;\n }\n walk(child);\n }\n };\n walk(tree);\n if (pending.length === 0) return;\n\n const fetched = await Promise.all(\n pending.map(async (p) => {\n let raw = '';\n try {\n raw = await provider(p.name);\n } catch {\n raw = '';\n }\n if (!raw) return { ...p, replacement: undefined };\n const processed = await postProcessGuideWithRemark(raw.trim(), opts);\n return { ...p, replacement: processed };\n }),\n );\n\n // Splice in descending index order per parent so earlier indices stay valid.\n const byParent = new Map<JsxParent, (typeof fetched)[number][]>();\n for (const f of fetched) {\n const bucket = byParent.get(f.parent) ?? [];\n bucket.push(f);\n byParent.set(f.parent, bucket);\n }\n for (const [parent, items] of byParent) {\n items.sort((a, b) => b.index - a.index);\n for (const { index, name, replacement, node } of items) {\n if (replacement === undefined) continue;\n const snippetTree = parseMdxWithDeps(replacement, deps);\n const wrapper: MdxJsxFlowElement = {\n type: 'mdxJsxFlowElement',\n name: 'Snippet',\n attributes: [{ type: 'mdxJsxAttribute', name: 'name', value: name }],\n children: snippetTree.children as MdxJsxFlowElement['children'],\n };\n if ('position' in node && node.position) {\n (wrapper as { position?: unknown }).position = node.position;\n }\n (parent.children as RootContent[]).splice(\n index,\n 1,\n wrapper as RootContent,\n );\n }\n }\n};\n\nconst applyFilterTransforms = (\n tree: Root,\n options: Record<string, string> | undefined,\n): void => {\n const iac = options?.iac;\n\n const transform = (parent: JsxParent): void => {\n const children = parent.children as RootContent[];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (!isJsxElement(child)) continue;\n\n if (child.name === 'OptionFilter') {\n const when = parseWhenAttr(child);\n if (!when) continue; // malformed — leave alone\n // Recurse first so nested filters collapse before we replace this wrapper.\n transform(child);\n const not = hasBareAttr(child, 'not');\n if (options) {\n const replacement = evaluatePredicate(when, not, options)\n ? (child.children as RootContent[])\n : [];\n children.splice(i, 1, ...replacement);\n i += replacement.length - 1;\n } else {\n children.splice(i, 1, buildNoteQuote(child, when, not));\n }\n continue;\n }\n\n if (child.name === 'Infrastructure') {\n if (iac === 'cdk' || iac === 'terraform') {\n const body = selectInfrastructureSlot(child, iac);\n const pseudo: MdxJsxFlowElement = {\n type: 'mdxJsxFlowElement',\n name: 'tmp',\n attributes: [],\n children: body as MdxJsxFlowElement['children'],\n };\n transform(pseudo);\n children.splice(i, 1, ...(pseudo.children as RootContent[]));\n i--;\n continue;\n }\n // No iac → keep both slots so readers / agents see both variants.\n transform(child);\n continue;\n }\n\n if (child.name === 'Tabs' && child.type === 'mdxJsxFlowElement') {\n transform(child);\n const dropped = applyTabsFilter(child, options);\n if (dropped === 'empty') {\n children.splice(i, 1);\n i--;\n continue;\n }\n if (dropped === 'inline') {\n const survivor = (child.children as RootContent[]).find(\n (c): c is MdxJsxFlowElement =>\n isJsxElement(c) && c.name === 'TabItem',\n )!;\n const body = survivor.children as RootContent[];\n children.splice(i, 1, ...body);\n i += body.length - 1;\n continue;\n }\n continue;\n }\n\n transform(child);\n }\n };\n transform(tree);\n};\n\nconst selectInfrastructureSlot = (\n node: JsxElement,\n iac: 'cdk' | 'terraform',\n): RootContent[] => {\n const slotName = iac.toLowerCase();\n const frag = (node.children as RootContent[]).find(\n (c): c is MdxJsxFlowElement =>\n isJsxElement(c) &&\n c.name === 'Fragment' &&\n readStringAttr(c, 'slot') === slotName,\n );\n return (frag?.children as RootContent[]) ?? [];\n};\n\n/**\n * Prune TabItems whose `_filter` doesn't match `options`. Returns:\n * - `'empty'` if the <Tabs> now has no <TabItem>s — caller drops it.\n * - `'inline'` if exactly one filtered <TabItem> survived — caller\n * inlines the body so agents see just the picked variant.\n * - `'keep'` otherwise.\n */\nconst applyTabsFilter = (\n tabs: MdxJsxFlowElement,\n options: Record<string, string> | undefined,\n): 'empty' | 'inline' | 'keep' => {\n const children = tabs.children as RootContent[];\n const surviving: RootContent[] = [];\n let anyFiltered = false;\n for (const child of children) {\n if (!isJsxElement(child) || child.name !== 'TabItem') {\n surviving.push(child);\n continue;\n }\n const filterEstree = readEstreeAttr(child, '_filter');\n if (!filterEstree) {\n surviving.push(child);\n continue;\n }\n anyFiltered = true;\n let predicate: Predicate;\n try {\n predicate = parseWhenExpression(filterEstree as never);\n } catch {\n stripFilterAttr(child);\n surviving.push(child);\n continue;\n }\n if (!options || evaluatePredicate(predicate, false, options)) {\n stripFilterAttr(child);\n surviving.push(child);\n }\n }\n if (anyFiltered) {\n tabs.children = surviving as MdxJsxFlowElement['children'];\n }\n const tabItems = surviving.filter(\n (c) => isJsxElement(c) && c.name === 'TabItem',\n );\n if (tabItems.length === 0 && surviving.length === 0) return 'empty';\n if (anyFiltered && tabItems.length === 1) return 'inline';\n return 'keep';\n};\n\nconst stripFilterAttr = (el: JsxElement): void => {\n el.attributes = el.attributes.filter(\n (a) => !(a.type === 'mdxJsxAttribute' && a.name === '_filter'),\n );\n};\n\n/**\n * `> [!NOTE] Only when …` blockquote. The alert header goes through as an\n * `html` node so remark-stringify doesn't escape the `[`/`]` brackets —\n * downstream agents match on the literal GitHub alert syntax.\n */\nconst buildNoteQuote = (\n source: JsxElement,\n predicate: Predicate,\n not: boolean,\n): RootContent => {\n const marker = describePredicate(predicate, not);\n const description = readStringAttr(source, 'description');\n const headerLines = description\n ? [`[!NOTE] ${marker}`, description]\n : [`[!NOTE] ${marker}`];\n const headerNodes: RootContent[] = headerLines.map(\n (line) => ({ type: 'html', value: line }) as RootContent,\n );\n return {\n type: 'blockquote',\n children: [...headerNodes, ...(source.children as RootContent[])] as never,\n } as RootContent;\n};\n\nconst parseWhenAttr = (node: JsxElement): Predicate | undefined => {\n const estree = readEstreeAttr(node, 'when');\n if (!estree) return undefined;\n try {\n return parseWhenExpression(estree as never);\n } catch {\n return undefined;\n }\n};\n\nconst applyComponentTransforms = (\n tree: Root,\n opts: PipelineOptions,\n deps: RemarkDeps,\n): void => {\n const pm = opts.packageManager ?? 'pnpm';\n const transform = (parent: JsxParent): void => {\n const children = parent.children as RootContent[];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (!isJsxElement(child)) continue;\n const replacement = renderComponent(child, opts, pm, deps);\n if (replacement !== undefined) {\n children.splice(i, 1, ...replacement);\n i += replacement.length - 1;\n continue;\n }\n transform(child);\n }\n };\n transform(tree);\n};\n\nconst renderComponent = (\n node: JsxElement,\n opts: PipelineOptions,\n pm: string,\n deps: RemarkDeps,\n): RootContent[] | undefined => {\n switch (node.name) {\n case 'NxCommands': {\n const commands = readCommandsAttr(node);\n if (!commands) return undefined;\n return [\n codeBlock(\n commands\n .map((c) => buildNxCommand(c, opts.packageManager))\n .join('\\n'),\n ),\n ];\n }\n case 'RunGenerator': {\n const generatorId = readStringAttr(node, 'generator');\n if (!generatorId) return undefined;\n const schema = findSchema(opts.generators, generatorId);\n if (!schema) return undefined;\n return parseMarkdownFragment(\n renderGeneratorCommand(generatorId, schema, opts.packageManager),\n deps,\n );\n }\n case 'GeneratorParameters': {\n const generatorId = readStringAttr(node, 'generator');\n if (!generatorId) return undefined;\n const schema = findSchema(opts.generators, generatorId);\n if (!schema) return undefined;\n return parseMarkdownFragment(renderSchema(schema), deps);\n }\n case 'CreateNxWorkspaceCommand': {\n const workspace = readStringAttr(node, 'workspace');\n if (!workspace) return undefined;\n const iac = readStringAttr(node, 'iac') as\n | 'cdk'\n | 'terraform'\n | undefined;\n return [codeBlock(buildCreateNxWorkspaceCommand(pm, workspace, iac))];\n }\n case 'InstallCommand': {\n const pkg =\n readStringAttr(node, 'pkg') ?? readExpressionAttr(node, 'pkg');\n if (!pkg) return undefined;\n return [\n codeBlock(buildInstallCommand(pm, pkg, hasBareAttr(node, 'dev'))),\n ];\n }\n case 'PackageManagerShortCommand': {\n const commands = readCommandsAttr(node);\n if (!commands) return undefined;\n return [\n codeBlock(\n commands\n .map((c) => buildPackageManagerShortCommand(pm, c))\n .join('\\n'),\n ),\n ];\n }\n case 'PackageManagerExecCommand': {\n const commands = readCommandsAttr(node);\n if (!commands) return undefined;\n return [\n codeBlock(\n commands.map((c) => buildPackageManagerExecCommand(pm, c)).join('\\n'),\n ),\n ];\n }\n default:\n return undefined;\n }\n};\n\nconst codeBlock = (body: string): RootContent => ({\n type: 'code',\n lang: 'bash',\n value: body,\n});\n\nconst parseMarkdownFragment = (\n markdown: string,\n deps: RemarkDeps,\n): RootContent[] => {\n const fragTree = deps.unified().use(deps.remarkParse).parse(markdown) as Root;\n return fragTree.children as RootContent[];\n};\n\nconst findSchema = (\n generators: NxGeneratorInfo[],\n generatorId: string,\n):\n | { properties?: Record<string, unknown>; required?: string[] }\n | undefined => {\n const info = generators.find((g) => g.id === generatorId);\n if (!info) return undefined;\n try {\n return JSON.parse(fs.readFileSync(info.resolvedSchemaPath, 'utf-8'));\n } catch {\n return undefined;\n }\n};\n\n/** Parse the `commands={[…]}` attribute from the estree that remark-mdx\n * attaches to the JSX attribute value. */\nconst readCommandsAttr = (node: JsxElement): string[] | undefined => {\n const estree = readEstreeAttr(node, 'commands');\n if (!estree) return undefined;\n try {\n return extractStringArrayExpression(estree as never);\n } catch {\n return undefined;\n }\n};\n"],"names":["fs","buildCreateNxWorkspaceCommand","buildInstallCommand","buildPackageManagerExecCommand","buildPackageManagerShortCommand","buildNxCommand","renderGeneratorCommand","renderSchema","hasBareAttr","isJsxElement","readEstreeAttr","readExpressionAttr","readStringAttr","describePredicate","evaluatePredicate","extractStringArrayExpression","parseWhenExpression","depsPromise","loadRemarkDeps","unified","remarkParse","default","remarkMdx","remarkStringify","remarkFrontmatter","parseMdxWithDeps","source","deps","use","parse","parseMdx","stringifyMdx","tree","String","bullet","fences","listItemIndent","stringify","postProcessGuideWithRemark","guide","opts","inlineSnippets","applyFilterTransforms","options","applyComponentTransforms","provider","snippetContentProvider","pending","walk","parent","children","i","length","child","name","push","index","node","fetched","Promise","all","map","p","raw","replacement","undefined","processed","trim","byParent","Map","f","bucket","get","set","items","sort","a","b","snippetTree","wrapper","type","attributes","value","position","splice","iac","transform","when","parseWhenAttr","not","buildNoteQuote","body","selectInfrastructureSlot","pseudo","dropped","applyTabsFilter","survivor","find","c","slotName","toLowerCase","frag","tabs","surviving","anyFiltered","filterEstree","predicate","stripFilterAttr","tabItems","filter","el","marker","description","headerLines","headerNodes","line","estree","pm","packageManager","renderComponent","commands","readCommandsAttr","codeBlock","join","generatorId","schema","findSchema","generators","parseMarkdownFragment","workspace","pkg","lang","markdown","fragTree","info","g","id","JSON","readFileSync","resolvedSchemaPath"],"mappings":"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"}
|
|
@@ -1,50 +1,35 @@
|
|
|
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
|
-
exports.renderGeneratorCommand = exports.renderSchema = exports.buildNxCommand = void 0;
|
|
8
|
-
/**
|
|
4
|
+
*/ /**
|
|
9
5
|
* Shared rendering helpers used by the unified/remark-mdx guide pipeline.
|
|
10
6
|
* Kept in their own module so `generator-info.ts` (which still exports
|
|
11
7
|
* `renderGeneratorInfo` for list-generators) and the pipeline both render
|
|
12
8
|
* identical command strings without either re-implementing the other.
|
|
13
|
-
*/
|
|
14
|
-
const commands_1 = require("../utils/commands");
|
|
9
|
+
*/ import { buildPackageManagerExecCommand } from "../utils/commands.js";
|
|
15
10
|
/**
|
|
16
11
|
* Build an nx command, optionally prefixed by the package manager's exec
|
|
17
12
|
* wrapper. A bare `nx <command>` is returned when no package manager is
|
|
18
13
|
* passed, matching the legacy regex-based post-processor's behaviour.
|
|
19
|
-
*/
|
|
20
|
-
const buildNxCommand = (command, pm) => pm ? (0, commands_1.buildPackageManagerExecCommand)(pm, `nx ${command}`) : `nx ${command}`;
|
|
21
|
-
exports.buildNxCommand = buildNxCommand;
|
|
14
|
+
*/ export const buildNxCommand = (command, pm)=>pm ? buildPackageManagerExecCommand(pm, `nx ${command}`) : `nx ${command}`;
|
|
22
15
|
/**
|
|
23
16
|
* Serialise a generator schema's `properties` map to the bullet list
|
|
24
17
|
* `<GeneratorParameters>` expands to.
|
|
25
|
-
*/
|
|
26
|
-
const renderSchema = (schema) => {
|
|
18
|
+
*/ export const renderSchema = (schema)=>{
|
|
27
19
|
const required = new Set(schema.required ?? []);
|
|
28
|
-
return Object.entries(schema.properties ?? {})
|
|
29
|
-
.map(([parameter, raw]) => {
|
|
20
|
+
return Object.entries(schema.properties ?? {}).map(([parameter, raw])=>{
|
|
30
21
|
const p = raw;
|
|
31
22
|
const enumPart = p.enum ? ` [options: ${p.enum.join(', ')}]` : '';
|
|
32
23
|
const requiredPart = required.has(parameter) ? ` (required)` : '';
|
|
33
24
|
return `- ${parameter} [type: ${p.type}]${enumPart}${requiredPart} ${p.description}`;
|
|
34
|
-
})
|
|
35
|
-
.join('\n');
|
|
25
|
+
}).join('\n');
|
|
36
26
|
};
|
|
37
|
-
exports.renderSchema = renderSchema;
|
|
38
27
|
/**
|
|
39
28
|
* Build the fenced-code invocation that `<RunGenerator>` expands to.
|
|
40
|
-
*/
|
|
41
|
-
const renderGeneratorCommand = (generatorId, schema, packageManager) => {
|
|
29
|
+
*/ export const renderGeneratorCommand = (generatorId, schema, packageManager)=>{
|
|
42
30
|
const required = new Set(schema.required ?? []);
|
|
43
|
-
const args = Object.keys(schema.properties ?? {})
|
|
44
|
-
|
|
45
|
-
.map((k) => `--${k}=<${k}>`)
|
|
46
|
-
.join(' ');
|
|
47
|
-
return `\`\`\`bash\n${(0, exports.buildNxCommand)(`g @aws/nx-plugin:${generatorId} --no-interactive ${args}`, packageManager)}\n\`\`\``;
|
|
31
|
+
const args = Object.keys(schema.properties ?? {}).filter((k)=>required.has(k)).map((k)=>`--${k}=<${k}>`).join(' ');
|
|
32
|
+
return `\`\`\`bash\n${buildNxCommand(`g @aws/nx-plugin:${generatorId} --no-interactive ${args}`, packageManager)}\n\`\`\``;
|
|
48
33
|
};
|
|
49
|
-
|
|
34
|
+
|
|
50
35
|
//# sourceMappingURL=guide-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/guide-render.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Shared rendering helpers used by the unified/remark-mdx guide pipeline.\n * Kept in their own module so `generator-info.ts` (which still exports\n * `renderGeneratorInfo` for list-generators) and the pipeline both render\n * identical command strings without either re-implementing the other.\n */\nimport { buildPackageManagerExecCommand } from '../utils/commands';\n\n/**\n * Build an nx command, optionally prefixed by the package manager's exec\n * wrapper. A bare `nx <command>` is returned when no package manager is\n * passed, matching the legacy regex-based post-processor's behaviour.\n */\nexport const buildNxCommand = (command: string, pm?: string) =>\n pm ? buildPackageManagerExecCommand(pm, `nx ${command}`) : `nx ${command}`;\n\n/**\n * Serialise a generator schema's `properties` map to the bullet list\n * `<GeneratorParameters>` expands to.\n */\nexport const renderSchema = (schema: {\n properties?: Record<string, unknown>;\n required?: string[];\n}): string => {\n const required = new Set(schema.required ?? []);\n return Object.entries(schema.properties ?? {})\n .map(([parameter, raw]) => {\n const p = raw as {\n type?: string;\n enum?: unknown[];\n description?: string;\n };\n const enumPart = p.enum ? ` [options: ${p.enum.join(', ')}]` : '';\n const requiredPart = required.has(parameter) ? ` (required)` : '';\n return `- ${parameter} [type: ${p.type}]${enumPart}${requiredPart} ${p.description}`;\n })\n .join('\\n');\n};\n\n/**\n * Build the fenced-code invocation that `<RunGenerator>` expands to.\n */\nexport const renderGeneratorCommand = (\n generatorId: string,\n schema: { properties?: Record<string, unknown>; required?: string[] },\n packageManager?: string,\n): string => {\n const required = new Set(schema.required ?? []);\n const args = Object.keys(schema.properties ?? {})\n .filter((k) => required.has(k))\n .map((k) => `--${k}=<${k}>`)\n .join(' ');\n return `\\`\\`\\`bash\\n${buildNxCommand(\n `g @aws/nx-plugin:${generatorId} --no-interactive ${args}`,\n packageManager,\n )}\\n\\`\\`\\``;\n};\n"],"names":["buildPackageManagerExecCommand","buildNxCommand","command","pm","renderSchema","schema","required","Set","Object","entries","properties","map","parameter","raw","p","enumPart","enum","join","requiredPart","has","type","description","renderGeneratorCommand","generatorId","packageManager","args","keys","filter","k"],"mappings":"AAAA;;;CAGC,GAED;;;;;CAKC,GACD,SAASA,8BAA8B,QAAQ,uBAAoB;AAEnE;;;;CAIC,GACD,OAAO,MAAMC,iBAAiB,CAACC,SAAiBC,KAC9CA,KAAKH,+BAA+BG,IAAI,CAAC,GAAG,EAAED,SAAS,IAAI,CAAC,GAAG,EAAEA,SAAS,CAAC;AAE7E;;;CAGC,GACD,OAAO,MAAME,eAAe,CAACC;IAI3B,MAAMC,WAAW,IAAIC,IAAIF,OAAOC,QAAQ,IAAI,EAAE;IAC9C,OAAOE,OAAOC,OAAO,CAACJ,OAAOK,UAAU,IAAI,CAAC,GACzCC,GAAG,CAAC,CAAC,CAACC,WAAWC,IAAI;QACpB,MAAMC,IAAID;QAKV,MAAME,WAAWD,EAAEE,IAAI,GAAG,CAAC,WAAW,EAAEF,EAAEE,IAAI,CAACC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG;QAC/D,MAAMC,eAAeZ,SAASa,GAAG,CAACP,aAAa,CAAC,WAAW,CAAC,GAAG;QAC/D,OAAO,CAAC,EAAE,EAAEA,UAAU,QAAQ,EAAEE,EAAEM,IAAI,CAAC,CAAC,EAAEL,WAAWG,aAAa,CAAC,EAAEJ,EAAEO,WAAW,EAAE;IACtF,GACCJ,IAAI,CAAC;AACV,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMK,yBAAyB,CACpCC,aACAlB,QACAmB;IAEA,MAAMlB,WAAW,IAAIC,IAAIF,OAAOC,QAAQ,IAAI,EAAE;IAC9C,MAAMmB,OAAOjB,OAAOkB,IAAI,CAACrB,OAAOK,UAAU,IAAI,CAAC,GAC5CiB,MAAM,CAAC,CAACC,IAAMtB,SAASa,GAAG,CAACS,IAC3BjB,GAAG,CAAC,CAACiB,IAAM,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,CAAC,CAAC,EAC1BX,IAAI,CAAC;IACR,OAAO,CAAC,YAAY,EAAEhB,eACpB,CAAC,iBAAiB,EAAEsB,YAAY,kBAAkB,EAAEE,MAAM,EAC1DD,gBACA,QAAQ,CAAC;AACb,EAAE"}
|
package/src/mcp-server/index.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.startMcpServer = 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
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
await (0, server_1.createServer)().connect(transport);
|
|
4
|
+
*/ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
|
+
import { createServer } from "./server.js";
|
|
6
|
+
export const startMcpServer = async ()=>{
|
|
7
|
+
const transport = new StdioServerTransport();
|
|
8
|
+
await createServer().connect(transport);
|
|
13
9
|
console.error('Nx Plugin for AWS MCP Server listening on STDIO');
|
|
14
10
|
};
|
|
15
|
-
|
|
11
|
+
|
|
16
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/index.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { createServer } from './server';\n\nexport const startMcpServer = async () => {\n const transport = new StdioServerTransport();\n await createServer().connect(transport);\n console.error('Nx Plugin for AWS MCP Server listening on STDIO');\n};\n"],"names":["StdioServerTransport","createServer","startMcpServer","transport","connect","console","error"],"mappings":"AAAA;;;CAGC,GACD,SAASA,oBAAoB,QAAQ,4CAA4C;AACjF,SAASC,YAAY,QAAQ,cAAW;AAExC,OAAO,MAAMC,iBAAiB;IAC5B,MAAMC,YAAY,IAAIH;IACtB,MAAMC,eAAeG,OAAO,CAACD;IAC7BE,QAAQC,KAAK,CAAC;AAChB,EAAE"}
|
|
@@ -1,100 +1,82 @@
|
|
|
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
|
-
const
|
|
10
|
-
const option_filter_1 = require("./option-filter");
|
|
11
|
-
const isJsxElement = (node) => node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement';
|
|
12
|
-
exports.isJsxElement = isJsxElement;
|
|
13
|
-
const findAttr = (node, name) => node.attributes.find((a) => a.type === 'mdxJsxAttribute' && a.name === name);
|
|
14
|
-
const readStringAttr = (node, name) => {
|
|
4
|
+
*/ import yaml from "js-yaml";
|
|
5
|
+
import { parseWhenExpression } from "./option-filter.js";
|
|
6
|
+
export const isJsxElement = (node)=>node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement';
|
|
7
|
+
const findAttr = (node, name)=>node.attributes.find((a)=>a.type === 'mdxJsxAttribute' && a.name === name);
|
|
8
|
+
export const readStringAttr = (node, name)=>{
|
|
15
9
|
const attr = findAttr(node, name);
|
|
16
10
|
return typeof attr?.value === 'string' ? attr.value : undefined;
|
|
17
11
|
};
|
|
18
|
-
|
|
19
|
-
const readExpressionAttr = (node, name) => {
|
|
12
|
+
export const readExpressionAttr = (node, name)=>{
|
|
20
13
|
const attr = findAttr(node, name);
|
|
21
14
|
if (attr && typeof attr.value === 'object' && attr.value !== null) {
|
|
22
15
|
return attr.value.value;
|
|
23
16
|
}
|
|
24
17
|
return undefined;
|
|
25
18
|
};
|
|
26
|
-
|
|
27
|
-
const readEstreeAttr = (node, name) => {
|
|
19
|
+
export const readEstreeAttr = (node, name)=>{
|
|
28
20
|
const attr = findAttr(node, name);
|
|
29
21
|
if (attr && typeof attr.value === 'object' && attr.value !== null) {
|
|
30
22
|
return attr.value.data?.estree;
|
|
31
23
|
}
|
|
32
24
|
return undefined;
|
|
33
25
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
exports.hasBareAttr = hasBareAttr;
|
|
37
|
-
/** Walk every JSX element in the subtree, pre-order. */
|
|
38
|
-
const walkJsx = (parent, visit) => {
|
|
26
|
+
export const hasBareAttr = (node, name)=>node.attributes.some((a)=>a.type === 'mdxJsxAttribute' && a.name === name);
|
|
27
|
+
/** Walk every JSX element in the subtree, pre-order. */ export const walkJsx = (parent, visit)=>{
|
|
39
28
|
const children = parent.children;
|
|
40
|
-
for (const child of children)
|
|
41
|
-
if (!
|
|
42
|
-
continue;
|
|
29
|
+
for (const child of children){
|
|
30
|
+
if (!isJsxElement(child)) continue;
|
|
43
31
|
visit(child, parent);
|
|
44
|
-
|
|
32
|
+
walkJsx(child, visit);
|
|
45
33
|
}
|
|
46
34
|
};
|
|
47
|
-
exports.walkJsx = walkJsx;
|
|
48
35
|
/**
|
|
49
36
|
* Every option key referenced by `<OptionFilter when>` or
|
|
50
37
|
* `<TabItem _filter>` in the subtree. Malformed predicates are skipped.
|
|
51
|
-
*/
|
|
52
|
-
const collectFilterableKeysFromJsx = (tree) => {
|
|
38
|
+
*/ export const collectFilterableKeysFromJsx = (tree)=>{
|
|
53
39
|
const keys = new Set();
|
|
54
|
-
|
|
55
|
-
const attrName = node.name === 'OptionFilter'
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
: undefined;
|
|
60
|
-
if (!attrName)
|
|
61
|
-
return;
|
|
62
|
-
const estree = (0, exports.readEstreeAttr)(node, attrName);
|
|
63
|
-
if (!estree)
|
|
64
|
-
return;
|
|
40
|
+
walkJsx(tree, (node)=>{
|
|
41
|
+
const attrName = node.name === 'OptionFilter' ? 'when' : node.name === 'TabItem' ? '_filter' : undefined;
|
|
42
|
+
if (!attrName) return;
|
|
43
|
+
const estree = readEstreeAttr(node, attrName);
|
|
44
|
+
if (!estree) return;
|
|
65
45
|
try {
|
|
66
|
-
for (const key of Object.keys(
|
|
46
|
+
for (const key of Object.keys(parseWhenExpression(estree))){
|
|
67
47
|
keys.add(key);
|
|
68
48
|
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// Malformed / partially-typed — skip.
|
|
49
|
+
} catch {
|
|
50
|
+
// Malformed / partially-typed — skip.
|
|
72
51
|
}
|
|
73
52
|
});
|
|
74
53
|
return keys;
|
|
75
54
|
};
|
|
76
|
-
exports.collectFilterableKeysFromJsx = collectFilterableKeysFromJsx;
|
|
77
55
|
/**
|
|
78
56
|
* Parse the leading `---…---` YAML frontmatter from an mdast Root produced
|
|
79
57
|
* with `remark-frontmatter`. Returns `{ data, bodyOffset }` where
|
|
80
58
|
* `bodyOffset` is the character index after the closing `---` — slice the
|
|
81
59
|
* original source from it to get the body without re-stringifying the tree.
|
|
82
|
-
*/
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
60
|
+
*/ export const extractFrontmatter = (tree)=>{
|
|
61
|
+
const node = tree.children.find((c)=>c.type === 'yaml');
|
|
62
|
+
if (!node) return {
|
|
63
|
+
data: {},
|
|
64
|
+
bodyOffset: 0
|
|
65
|
+
};
|
|
87
66
|
let parsed;
|
|
88
67
|
try {
|
|
89
|
-
parsed =
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
68
|
+
parsed = yaml.load(node.value);
|
|
69
|
+
} catch {
|
|
70
|
+
return {
|
|
71
|
+
data: {},
|
|
72
|
+
bodyOffset: node.position?.end.offset ?? 0
|
|
73
|
+
};
|
|
93
74
|
}
|
|
94
|
-
const data = parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
75
|
+
const data = parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
|
|
76
|
+
return {
|
|
77
|
+
data,
|
|
78
|
+
bodyOffset: node.position?.end.offset ?? 0
|
|
79
|
+
};
|
|
98
80
|
};
|
|
99
|
-
|
|
81
|
+
|
|
100
82
|
//# sourceMappingURL=mdx-ast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/mdx-ast.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport yaml from 'js-yaml';\nimport type { Root, RootContent, Yaml } from 'mdast';\nimport type {\n MdxJsxAttribute,\n MdxJsxAttributeValueExpression,\n MdxJsxFlowElement,\n MdxJsxTextElement,\n} from 'mdast-util-mdx-jsx';\nimport { parseWhenExpression } from './option-filter';\n\nexport type JsxParent = Root | MdxJsxFlowElement | MdxJsxTextElement;\nexport type JsxElement = MdxJsxFlowElement | MdxJsxTextElement;\n\nexport const isJsxElement = (node: RootContent): node is JsxElement =>\n node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement';\n\nconst findAttr = (\n node: JsxElement,\n name: string,\n): MdxJsxAttribute | undefined =>\n node.attributes.find(\n (a): a is MdxJsxAttribute =>\n a.type === 'mdxJsxAttribute' && a.name === name,\n );\n\nexport const readStringAttr = (\n node: JsxElement,\n name: string,\n): string | undefined => {\n const attr = findAttr(node, name);\n return typeof attr?.value === 'string' ? attr.value : undefined;\n};\n\nexport const readExpressionAttr = (\n node: JsxElement,\n name: string,\n): string | undefined => {\n const attr = findAttr(node, name);\n if (attr && typeof attr.value === 'object' && attr.value !== null) {\n return (attr.value as MdxJsxAttributeValueExpression).value;\n }\n return undefined;\n};\n\nexport const readEstreeAttr = (\n node: JsxElement,\n name: string,\n): unknown | undefined => {\n const attr = findAttr(node, name);\n if (attr && typeof attr.value === 'object' && attr.value !== null) {\n return (attr.value as MdxJsxAttributeValueExpression).data?.estree;\n }\n return undefined;\n};\n\nexport const hasBareAttr = (node: JsxElement, name: string): boolean =>\n node.attributes.some((a) => a.type === 'mdxJsxAttribute' && a.name === name);\n\n/** Walk every JSX element in the subtree, pre-order. */\nexport const walkJsx = (\n parent: JsxParent,\n visit: (node: JsxElement, parent: JsxParent) => void,\n): void => {\n const children = parent.children as RootContent[];\n for (const child of children) {\n if (!isJsxElement(child)) continue;\n visit(child, parent);\n walkJsx(child, visit);\n }\n};\n\n/**\n * Every option key referenced by `<OptionFilter when>` or\n * `<TabItem _filter>` in the subtree. Malformed predicates are skipped.\n */\nexport const collectFilterableKeysFromJsx = (tree: Root): Set<string> => {\n const keys = new Set<string>();\n walkJsx(tree, (node) => {\n const attrName =\n node.name === 'OptionFilter'\n ? 'when'\n : node.name === 'TabItem'\n ? '_filter'\n : undefined;\n if (!attrName) return;\n const estree = readEstreeAttr(node, attrName);\n if (!estree) return;\n try {\n for (const key of Object.keys(parseWhenExpression(estree as never))) {\n keys.add(key);\n }\n } catch {\n // Malformed / partially-typed — skip.\n }\n });\n return keys;\n};\n\n/**\n * Parse the leading `---…---` YAML frontmatter from an mdast Root produced\n * with `remark-frontmatter`. Returns `{ data, bodyOffset }` where\n * `bodyOffset` is the character index after the closing `---` — slice the\n * original source from it to get the body without re-stringifying the tree.\n */\nexport const extractFrontmatter = (\n tree: Root,\n): { data: Record<string, unknown>; bodyOffset: number } => {\n const node = tree.children.find((c): c is Yaml => c.type === 'yaml');\n if (!node) return { data: {}, bodyOffset: 0 };\n let parsed: unknown;\n try {\n parsed = yaml.load(node.value);\n } catch {\n return { data: {}, bodyOffset: node.position?.end.offset ?? 0 };\n }\n const data =\n parsed && typeof parsed === 'object' && !Array.isArray(parsed)\n ? (parsed as Record<string, unknown>)\n : {};\n return { data, bodyOffset: node.position?.end.offset ?? 0 };\n};\n"],"names":["yaml","parseWhenExpression","isJsxElement","node","type","findAttr","name","attributes","find","a","readStringAttr","attr","value","undefined","readExpressionAttr","readEstreeAttr","data","estree","hasBareAttr","some","walkJsx","parent","visit","children","child","collectFilterableKeysFromJsx","tree","keys","Set","attrName","key","Object","add","extractFrontmatter","c","bodyOffset","parsed","load","position","end","offset","Array","isArray"],"mappings":"AAAA;;;CAGC,GAED,OAAOA,UAAU,UAAU;AAQ3B,SAASC,mBAAmB,QAAQ,qBAAkB;AAKtD,OAAO,MAAMC,eAAe,CAACC,OAC3BA,KAAKC,IAAI,KAAK,uBAAuBD,KAAKC,IAAI,KAAK,oBAAoB;AAEzE,MAAMC,WAAW,CACfF,MACAG,OAEAH,KAAKI,UAAU,CAACC,IAAI,CAClB,CAACC,IACCA,EAAEL,IAAI,KAAK,qBAAqBK,EAAEH,IAAI,KAAKA;AAGjD,OAAO,MAAMI,iBAAiB,CAC5BP,MACAG;IAEA,MAAMK,OAAON,SAASF,MAAMG;IAC5B,OAAO,OAAOK,MAAMC,UAAU,WAAWD,KAAKC,KAAK,GAAGC;AACxD,EAAE;AAEF,OAAO,MAAMC,qBAAqB,CAChCX,MACAG;IAEA,MAAMK,OAAON,SAASF,MAAMG;IAC5B,IAAIK,QAAQ,OAAOA,KAAKC,KAAK,KAAK,YAAYD,KAAKC,KAAK,KAAK,MAAM;QACjE,OAAO,AAACD,KAAKC,KAAK,CAAoCA,KAAK;IAC7D;IACA,OAAOC;AACT,EAAE;AAEF,OAAO,MAAME,iBAAiB,CAC5BZ,MACAG;IAEA,MAAMK,OAAON,SAASF,MAAMG;IAC5B,IAAIK,QAAQ,OAAOA,KAAKC,KAAK,KAAK,YAAYD,KAAKC,KAAK,KAAK,MAAM;QACjE,OAAO,AAACD,KAAKC,KAAK,CAAoCI,IAAI,EAAEC;IAC9D;IACA,OAAOJ;AACT,EAAE;AAEF,OAAO,MAAMK,cAAc,CAACf,MAAkBG,OAC5CH,KAAKI,UAAU,CAACY,IAAI,CAAC,CAACV,IAAMA,EAAEL,IAAI,KAAK,qBAAqBK,EAAEH,IAAI,KAAKA,MAAM;AAE/E,sDAAsD,GACtD,OAAO,MAAMc,UAAU,CACrBC,QACAC;IAEA,MAAMC,WAAWF,OAAOE,QAAQ;IAChC,KAAK,MAAMC,SAASD,SAAU;QAC5B,IAAI,CAACrB,aAAasB,QAAQ;QAC1BF,MAAME,OAAOH;QACbD,QAAQI,OAAOF;IACjB;AACF,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAMG,+BAA+B,CAACC;IAC3C,MAAMC,OAAO,IAAIC;IACjBR,QAAQM,MAAM,CAACvB;QACb,MAAM0B,WACJ1B,KAAKG,IAAI,KAAK,iBACV,SACAH,KAAKG,IAAI,KAAK,YACZ,YACAO;QACR,IAAI,CAACgB,UAAU;QACf,MAAMZ,SAASF,eAAeZ,MAAM0B;QACpC,IAAI,CAACZ,QAAQ;QACb,IAAI;YACF,KAAK,MAAMa,OAAOC,OAAOJ,IAAI,CAAC1B,oBAAoBgB,SAAmB;gBACnEU,KAAKK,GAAG,CAACF;YACX;QACF,EAAE,OAAM;QACN,sCAAsC;QACxC;IACF;IACA,OAAOH;AACT,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAMM,qBAAqB,CAChCP;IAEA,MAAMvB,OAAOuB,KAAKH,QAAQ,CAACf,IAAI,CAAC,CAAC0B,IAAiBA,EAAE9B,IAAI,KAAK;IAC7D,IAAI,CAACD,MAAM,OAAO;QAAEa,MAAM,CAAC;QAAGmB,YAAY;IAAE;IAC5C,IAAIC;IACJ,IAAI;QACFA,SAASpC,KAAKqC,IAAI,CAAClC,KAAKS,KAAK;IAC/B,EAAE,OAAM;QACN,OAAO;YAAEI,MAAM,CAAC;YAAGmB,YAAYhC,KAAKmC,QAAQ,EAAEC,IAAIC,UAAU;QAAE;IAChE;IACA,MAAMxB,OACJoB,UAAU,OAAOA,WAAW,YAAY,CAACK,MAAMC,OAAO,CAACN,UAClDA,SACD,CAAC;IACP,OAAO;QAAEpB;QAAMmB,YAAYhC,KAAKmC,QAAQ,EAAEC,IAAIC,UAAU;IAAE;AAC5D,EAAE"}
|
|
@@ -1,21 +1,22 @@
|
|
|
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
|
-
|
|
4
|
+
*/ /**
|
|
5
|
+
* Predicate helpers for `<OptionFilter when>` / `<TabItem _filter>`.
|
|
6
|
+
* Parses the estree AST that remark-mdx attaches to each attribute value
|
|
7
|
+
* — we never evaluate arbitrary JS; only string/number/boolean literals and
|
|
8
|
+
* arrays of them are allowed so the same helpers can run in the browser
|
|
9
|
+
* and in the user's shell.
|
|
10
|
+
*/ /**
|
|
9
11
|
* Turn the `data.estree` of an `MdxJsxAttributeValueExpression` into a
|
|
10
12
|
* `Predicate`. The estree is a Program wrapping a single ObjectExpression.
|
|
11
|
-
*/
|
|
12
|
-
const parseWhenExpression = (estree) => {
|
|
13
|
+
*/ export const parseWhenExpression = (estree)=>{
|
|
13
14
|
const expression = unwrapProgram(estree);
|
|
14
15
|
if (expression.type !== 'ObjectExpression') {
|
|
15
16
|
throw new Error(`[option-filter] Expected object literal in 'when' prop, got ${expression.type}`);
|
|
16
17
|
}
|
|
17
18
|
const result = {};
|
|
18
|
-
for (const prop of expression.properties)
|
|
19
|
+
for (const prop of expression.properties){
|
|
19
20
|
if (prop.type !== 'Property') {
|
|
20
21
|
throw new Error(`[option-filter] Unsupported entry type '${prop.type}' in 'when' prop`);
|
|
21
22
|
}
|
|
@@ -23,97 +24,82 @@ const parseWhenExpression = (estree) => {
|
|
|
23
24
|
}
|
|
24
25
|
return result;
|
|
25
26
|
};
|
|
26
|
-
exports.parseWhenExpression = parseWhenExpression;
|
|
27
27
|
/**
|
|
28
28
|
* AND across keys, OR within a key's values, `not` negates. A key not
|
|
29
29
|
* present in `options` is "no opinion". A predicate whose keys have no
|
|
30
30
|
* intersection with `options` short-circuits to true.
|
|
31
|
-
*/
|
|
32
|
-
const evaluatePredicate = (predicate, not, options) => {
|
|
31
|
+
*/ export const evaluatePredicate = (predicate, not, options)=>{
|
|
33
32
|
let matched = true;
|
|
34
33
|
let anyKeyTested = false;
|
|
35
|
-
for (const [key, values] of Object.entries(predicate))
|
|
34
|
+
for (const [key, values] of Object.entries(predicate)){
|
|
36
35
|
const selected = options[key];
|
|
37
|
-
if (selected === undefined)
|
|
38
|
-
continue;
|
|
36
|
+
if (selected === undefined) continue;
|
|
39
37
|
anyKeyTested = true;
|
|
40
38
|
if (!values.includes(selected)) {
|
|
41
39
|
matched = false;
|
|
42
40
|
break;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
if (!anyKeyTested)
|
|
46
|
-
return true;
|
|
43
|
+
if (!anyKeyTested) return true;
|
|
47
44
|
return not ? !matched : matched;
|
|
48
45
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const describePredicate = (predicate, not) => {
|
|
52
|
-
const parts = Object.entries(predicate).map(([k, vs]) => `${k} = ${vs.join(' | ')}`);
|
|
46
|
+
/** Short human label used on the docs pill and in the `> [!NOTE] Only when …` marker. */ export const describePredicate = (predicate, not)=>{
|
|
47
|
+
const parts = Object.entries(predicate).map(([k, vs])=>`${k} = ${vs.join(' | ')}`);
|
|
53
48
|
return `${not ? 'Not when ' : 'Only when '}${parts.join(', ')}`;
|
|
54
49
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (estree.type !== 'Program')
|
|
58
|
-
return estree;
|
|
50
|
+
const unwrapProgram = (estree)=>{
|
|
51
|
+
if (estree.type !== 'Program') return estree;
|
|
59
52
|
const program = estree;
|
|
60
|
-
if (program.body.length !== 1)
|
|
61
|
-
return estree;
|
|
53
|
+
if (program.body.length !== 1) return estree;
|
|
62
54
|
const stmt = program.body[0];
|
|
63
|
-
return stmt.type === 'ExpressionStatement'
|
|
64
|
-
? stmt.expression
|
|
65
|
-
: estree;
|
|
55
|
+
return stmt.type === 'ExpressionStatement' ? stmt.expression : estree;
|
|
66
56
|
};
|
|
67
|
-
const extractKey = (prop)
|
|
57
|
+
const extractKey = (prop)=>{
|
|
68
58
|
const k = prop.key;
|
|
69
|
-
if (k.type === 'Identifier')
|
|
70
|
-
|
|
71
|
-
if (k.type === 'Literal' && typeof k.value === 'string')
|
|
72
|
-
return k.value;
|
|
59
|
+
if (k.type === 'Identifier') return k.name;
|
|
60
|
+
if (k.type === 'Literal' && typeof k.value === 'string') return k.value;
|
|
73
61
|
throw new Error(`[option-filter] Unsupported key type '${k.type}' in 'when' prop`);
|
|
74
62
|
};
|
|
75
|
-
const extractValues = (value)
|
|
63
|
+
const extractValues = (value)=>{
|
|
76
64
|
if (value.type === 'ArrayExpression') {
|
|
77
65
|
const arr = value;
|
|
78
|
-
return arr.elements.map((el)
|
|
66
|
+
return arr.elements.map((el)=>{
|
|
79
67
|
if (el === null || el.type === 'SpreadElement') {
|
|
80
68
|
throw new Error(`[option-filter] Unsupported array element in 'when' prop`);
|
|
81
69
|
}
|
|
82
70
|
return extractScalar(el);
|
|
83
71
|
});
|
|
84
72
|
}
|
|
85
|
-
return [
|
|
73
|
+
return [
|
|
74
|
+
extractScalar(value)
|
|
75
|
+
];
|
|
86
76
|
};
|
|
87
77
|
/**
|
|
88
78
|
* Extract a `string[]` from the estree of an attribute-value expression
|
|
89
79
|
* like `{['a', 'b']}`. Used by JSX attribute readers (e.g. the
|
|
90
80
|
* `commands={[...]}` prop on <NxCommands>). Throws if anything other than
|
|
91
81
|
* string / number / boolean literal array elements are encountered.
|
|
92
|
-
*/
|
|
93
|
-
const extractStringArrayExpression = (estree) => {
|
|
82
|
+
*/ export const extractStringArrayExpression = (estree)=>{
|
|
94
83
|
const expression = unwrapProgram(estree);
|
|
95
84
|
if (expression.type !== 'ArrayExpression') {
|
|
96
85
|
throw new Error(`[option-filter] Expected array literal, got ${expression.type}`);
|
|
97
86
|
}
|
|
98
87
|
const arr = expression;
|
|
99
|
-
return arr.elements.map((el)
|
|
88
|
+
return arr.elements.map((el)=>{
|
|
100
89
|
if (el === null || el.type === 'SpreadElement') {
|
|
101
90
|
throw new Error(`[option-filter] Unsupported array element`);
|
|
102
91
|
}
|
|
103
92
|
return extractScalar(el);
|
|
104
93
|
});
|
|
105
94
|
};
|
|
106
|
-
|
|
107
|
-
const extractScalar = (node) => {
|
|
95
|
+
const extractScalar = (node)=>{
|
|
108
96
|
if (node.type === 'Literal') {
|
|
109
97
|
const lit = node;
|
|
110
|
-
if (typeof lit.value === 'string' ||
|
|
111
|
-
typeof lit.value === 'number' ||
|
|
112
|
-
typeof lit.value === 'boolean') {
|
|
98
|
+
if (typeof lit.value === 'string' || typeof lit.value === 'number' || typeof lit.value === 'boolean') {
|
|
113
99
|
return String(lit.value);
|
|
114
100
|
}
|
|
115
101
|
}
|
|
116
|
-
throw new Error(`[option-filter] Unsupported value type '${node.type}' in 'when' prop. ` +
|
|
117
|
-
'Use string, number, boolean literals or arrays of them.');
|
|
102
|
+
throw new Error(`[option-filter] Unsupported value type '${node.type}' in 'when' prop. ` + 'Use string, number, boolean literals or arrays of them.');
|
|
118
103
|
};
|
|
104
|
+
|
|
119
105
|
//# sourceMappingURL=option-filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/option-filter.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Predicate helpers for `<OptionFilter when>` / `<TabItem _filter>`.\n * Parses the estree AST that remark-mdx attaches to each attribute value\n * — we never evaluate arbitrary JS; only string/number/boolean literals and\n * arrays of them are allowed so the same helpers can run in the browser\n * and in the user's shell.\n */\n\nimport type {\n ArrayExpression,\n Node as EstreeNode,\n Literal,\n Program,\n Property,\n} from 'estree';\n\nexport type Predicate = Record<string, string[]>;\n\n/**\n * Turn the `data.estree` of an `MdxJsxAttributeValueExpression` into a\n * `Predicate`. The estree is a Program wrapping a single ObjectExpression.\n */\nexport const parseWhenExpression = (estree: EstreeNode): Predicate => {\n const expression = unwrapProgram(estree);\n if (expression.type !== 'ObjectExpression') {\n throw new Error(\n `[option-filter] Expected object literal in 'when' prop, got ${expression.type}`,\n );\n }\n const result: Predicate = {};\n for (const prop of expression.properties) {\n if (prop.type !== 'Property') {\n throw new Error(\n `[option-filter] Unsupported entry type '${prop.type}' in 'when' prop`,\n );\n }\n result[extractKey(prop)] = extractValues(prop.value);\n }\n return result;\n};\n\n/**\n * AND across keys, OR within a key's values, `not` negates. A key not\n * present in `options` is \"no opinion\". A predicate whose keys have no\n * intersection with `options` short-circuits to true.\n */\nexport const evaluatePredicate = (\n predicate: Predicate,\n not: boolean,\n options: Record<string, string>,\n): boolean => {\n let matched = true;\n let anyKeyTested = false;\n for (const [key, values] of Object.entries(predicate)) {\n const selected = options[key];\n if (selected === undefined) continue;\n anyKeyTested = true;\n if (!values.includes(selected)) {\n matched = false;\n break;\n }\n }\n if (!anyKeyTested) return true;\n return not ? !matched : matched;\n};\n\n/** Short human label used on the docs pill and in the `> [!NOTE] Only when …` marker. */\nexport const describePredicate = (\n predicate: Predicate,\n not: boolean,\n): string => {\n const parts = Object.entries(predicate).map(\n ([k, vs]) => `${k} = ${vs.join(' | ')}`,\n );\n return `${not ? 'Not when ' : 'Only when '}${parts.join(', ')}`;\n};\n\nconst unwrapProgram = (estree: EstreeNode): EstreeNode => {\n if (estree.type !== 'Program') return estree;\n const program = estree as Program;\n if (program.body.length !== 1) return estree;\n const stmt = program.body[0];\n return stmt.type === 'ExpressionStatement'\n ? (stmt.expression as EstreeNode)\n : estree;\n};\n\nconst extractKey = (prop: Property): string => {\n const k = prop.key;\n if (k.type === 'Identifier') return k.name;\n if (k.type === 'Literal' && typeof k.value === 'string') return k.value;\n throw new Error(\n `[option-filter] Unsupported key type '${k.type}' in 'when' prop`,\n );\n};\n\nconst extractValues = (value: Property['value']): string[] => {\n if (value.type === 'ArrayExpression') {\n const arr = value as ArrayExpression;\n return arr.elements.map((el) => {\n if (el === null || el.type === 'SpreadElement') {\n throw new Error(\n `[option-filter] Unsupported array element in 'when' prop`,\n );\n }\n return extractScalar(el);\n });\n }\n return [extractScalar(value)];\n};\n\n/**\n * Extract a `string[]` from the estree of an attribute-value expression\n * like `{['a', 'b']}`. Used by JSX attribute readers (e.g. the\n * `commands={[...]}` prop on <NxCommands>). Throws if anything other than\n * string / number / boolean literal array elements are encountered.\n */\nexport const extractStringArrayExpression = (estree: EstreeNode): string[] => {\n const expression = unwrapProgram(estree);\n if (expression.type !== 'ArrayExpression') {\n throw new Error(\n `[option-filter] Expected array literal, got ${expression.type}`,\n );\n }\n const arr = expression as ArrayExpression;\n return arr.elements.map((el) => {\n if (el === null || el.type === 'SpreadElement') {\n throw new Error(`[option-filter] Unsupported array element`);\n }\n return extractScalar(el);\n });\n};\n\nconst extractScalar = (node: EstreeNode): string => {\n if (node.type === 'Literal') {\n const lit = node as Literal;\n if (\n typeof lit.value === 'string' ||\n typeof lit.value === 'number' ||\n typeof lit.value === 'boolean'\n ) {\n return String(lit.value);\n }\n }\n throw new Error(\n `[option-filter] Unsupported value type '${node.type}' in 'when' prop. ` +\n 'Use string, number, boolean literals or arrays of them.',\n );\n};\n"],"names":["parseWhenExpression","estree","expression","unwrapProgram","type","Error","result","prop","properties","extractKey","extractValues","value","evaluatePredicate","predicate","not","options","matched","anyKeyTested","key","values","Object","entries","selected","undefined","includes","describePredicate","parts","map","k","vs","join","program","body","length","stmt","name","arr","elements","el","extractScalar","extractStringArrayExpression","node","lit","String"],"mappings":"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"}
|