@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-THIRD-PARTY +6746 -6133
- package/README.md +7 -7
- package/executors.json +9 -0
- package/generators.json +100 -1
- package/package.json +35 -17
- package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
- package/src/agentcore-gateway/attach-upstream.js +38 -0
- package/src/agentcore-gateway/attach-upstream.js.map +1 -0
- package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
- package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
- package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
- package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
- package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
- package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
- package/src/agentcore-gateway/generator.d.ts +25 -0
- package/src/agentcore-gateway/generator.js +149 -0
- package/src/agentcore-gateway/generator.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
- package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
- package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
- package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
- package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
- package/src/agentcore-gateway/schema.d.js +6 -0
- package/src/agentcore-gateway/schema.d.js.map +1 -0
- package/src/agentcore-gateway/schema.d.ts +17 -0
- package/src/agentcore-gateway/schema.json +70 -0
- package/src/bin/aws-nx-mcp.js +14 -0
- package/src/bin/aws-nx-mcp.js.map +1 -0
- package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
- package/src/connection/agent-local-dev.js +42 -0
- package/src/connection/agent-local-dev.js.map +1 -0
- package/src/connection/agent-runtime-config.d.ts +1 -1
- package/src/connection/agent-runtime-config.js +9 -14
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/generator.d.ts +7 -14
- package/src/connection/generator.js +158 -177
- package/src/connection/generator.js.map +1 -1
- package/src/connection/local-dev.d.ts +15 -0
- package/src/connection/local-dev.js +37 -0
- package/src/connection/local-dev.js.map +1 -0
- package/src/connection/schema.d.js +6 -0
- package/src/connection/schema.d.js.map +1 -0
- package/src/connection/schema.d.ts +1 -0
- package/src/connection/schema.json +5 -0
- package/src/connection/supported-connections.d.ts +98 -0
- package/src/connection/supported-connections.js +138 -0
- package/src/connection/supported-connections.js.map +1 -0
- package/src/index.js +2 -5
- package/src/index.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
- package/src/infra/app/generator.d.ts +3 -3
- package/src/infra/app/generator.js +141 -123
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.js +6 -0
- package/src/infra/app/schema.d.js.map +1 -0
- package/src/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +5 -0
- package/src/license/__snapshots__/config.spec.ts.snap +23 -0
- package/src/license/config-types.d.ts +18 -1
- package/src/license/config-types.js +8 -2
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +65 -7
- package/src/license/config.js +442 -109
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.d.ts +16 -0
- package/src/license/dependency-check/check.js +116 -0
- package/src/license/dependency-check/check.js.map +1 -0
- package/src/license/dependency-check/collectors/collector.d.ts +21 -0
- package/src/license/dependency-check/collectors/collector.js +46 -0
- package/src/license/dependency-check/collectors/collector.js.map +1 -0
- package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
- package/src/license/dependency-check/collectors/npm-collector.js +68 -0
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
- package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
- package/src/license/dependency-check/collectors/python-collector.js +114 -0
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
- package/src/license/dependency-check/evaluator.d.ts +9 -0
- package/src/license/dependency-check/evaluator.js +94 -0
- package/src/license/dependency-check/evaluator.js.map +1 -0
- package/src/license/dependency-check/executor-schema.json +6 -0
- package/src/license/dependency-check/executor.d.ts +9 -0
- package/src/license/dependency-check/executor.js +51 -0
- package/src/license/dependency-check/executor.js.map +1 -0
- package/src/license/dependency-check/pre-approved.d.ts +6 -0
- package/src/license/dependency-check/pre-approved.js +1893 -0
- package/src/license/dependency-check/pre-approved.js.map +1 -0
- package/src/license/dependency-check/types.d.ts +45 -0
- package/src/license/dependency-check/types.js +6 -0
- package/src/license/dependency-check/types.js.map +1 -0
- package/src/license/generator.d.ts +3 -3
- package/src/license/generator.js +127 -30
- package/src/license/generator.js.map +1 -1
- package/src/license/index.d.ts +8 -0
- package/src/license/index.js +7 -0
- package/src/license/index.js.map +1 -0
- package/src/license/known-exceptions.d.ts +7 -0
- package/src/license/known-exceptions.js +39 -0
- package/src/license/known-exceptions.js.map +1 -0
- package/src/license/schema.d.js +6 -0
- package/src/license/schema.d.js.map +1 -0
- package/src/license/schema.d.ts +7 -0
- package/src/license/schema.json +11 -0
- package/src/license/sync/generator.d.ts +2 -2
- package/src/license/sync/generator.js +100 -125
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.d.ts +3 -3
- package/src/license/sync/project-file-sync.js +28 -35
- package/src/license/sync/project-file-sync.js.map +1 -1
- package/src/mcp-server/generator-info.d.ts +5 -1
- package/src/mcp-server/generator-info.js +130 -160
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.d.ts +1 -1
- package/src/mcp-server/guide-pipeline.js +184 -206
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/guide-render.js +10 -25
- package/src/mcp-server/guide-render.js.map +1 -1
- package/src/mcp-server/index.js +6 -10
- package/src/mcp-server/index.js.map +1 -1
- package/src/mcp-server/mdx-ast.js +42 -56
- package/src/mcp-server/mdx-ast.js.map +1 -1
- package/src/mcp-server/option-filter.js +33 -47
- package/src/mcp-server/option-filter.js.map +1 -1
- package/src/mcp-server/schema-registry.d.ts +9 -3
- package/src/mcp-server/schema-registry.js +41 -38
- package/src/mcp-server/schema-registry.js.map +1 -1
- package/src/mcp-server/schema.js +9 -7
- package/src/mcp-server/schema.js.map +1 -1
- package/src/mcp-server/server.js +20 -24
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +23 -24
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.d.ts +2 -2
- package/src/mcp-server/tools/general-guidance.js +46 -25
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.d.ts +2 -2
- package/src/mcp-server/tools/generator-guide.js +29 -37
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.d.ts +2 -2
- package/src/mcp-server/tools/list-generators.js +19 -25
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
- package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +286 -62
- package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +674 -93
- package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +196 -44
- package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5507 -0
- package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +219 -60
- package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +351 -80
- package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +170 -49
- package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +99 -23
- package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
- package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
- package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +196 -44
- package/src/open-api/ts-client/files/client.gen.ts.template +130 -18
- package/src/open-api/ts-client/files/types.gen.ts.template +4 -4
- package/src/open-api/ts-client/generator.d.ts +3 -3
- package/src/open-api/ts-client/generator.js +16 -26
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-client/schema.d.js +6 -0
- package/src/open-api/ts-client/schema.d.js.map +1 -0
- package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +5 -0
- package/src/open-api/ts-hooks/generator.d.ts +3 -3
- package/src/open-api/ts-hooks/generator.js +13 -21
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
- package/src/open-api/ts-hooks/schema.d.js +6 -0
- package/src/open-api/ts-hooks/schema.d.js.map +1 -0
- package/src/open-api/ts-metadata/generator.d.ts +3 -3
- package/src/open-api/ts-metadata/generator.js +12 -20
- package/src/open-api/ts-metadata/generator.js.map +1 -1
- package/src/open-api/ts-metadata/schema.d.js +6 -0
- package/src/open-api/ts-metadata/schema.d.js.map +1 -0
- package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
- package/src/open-api/utils/codegen-data/languages.js +53 -66
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.d.ts +240 -10
- package/src/open-api/utils/codegen-data/types.js +54 -30
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.d.ts +8 -4
- package/src/open-api/utils/codegen-data.js +398 -674
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.d.ts +5 -1
- package/src/open-api/utils/normalise.js +386 -247
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.d.ts +2 -2
- package/src/open-api/utils/parse.js +11 -13
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/parser.d.ts +55 -0
- package/src/open-api/utils/parser.js +743 -0
- package/src/open-api/utils/parser.js.map +1 -0
- package/src/open-api/utils/refs.d.ts +1 -1
- package/src/open-api/utils/refs.js +12 -22
- package/src/open-api/utils/refs.js.map +1 -1
- package/src/open-api/utils/types.d.ts +15 -0
- package/src/open-api/utils/types.js +5 -2
- package/src/open-api/utils/types.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
- package/src/preset/generator.d.ts +4 -4
- package/src/preset/generator.js +140 -112
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.js +6 -0
- package/src/preset/schema.d.js.map +1 -0
- package/src/preset/schema.d.ts +4 -2
- package/src/preset/schema.json +10 -5
- package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
- package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
- package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
- package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
- package/src/py/agent/a2a-connection/generator.d.ts +3 -3
- package/src/py/agent/a2a-connection/generator.js +113 -85
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/a2a-connection/schema.d.js +8 -0
- package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/py/agent/a2a-connection/schema.d.ts +1 -0
- package/src/py/agent/a2a-connection/schema.json +5 -0
- package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
- package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
- package/src/py/agent/files/common/agent.py.template +2 -0
- package/src/py/agent/files/common-langchain/agent.py.template +30 -0
- package/src/py/agent/files/http/init.py.template +7 -25
- package/src/py/agent/files/http/main.py.template +2 -3
- package/src/py/agent/files/http-langchain/main.py.template +84 -0
- package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
- package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
- package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
- package/src/py/agent/gateway-connection/generator.d.ts +10 -0
- package/src/py/agent/gateway-connection/generator.js +119 -0
- package/src/py/agent/gateway-connection/generator.js.map +1 -0
- package/src/py/agent/gateway-connection/schema.d.js +6 -0
- package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/py/agent/gateway-connection/schema.d.ts +13 -0
- package/src/py/agent/gateway-connection/schema.json +31 -0
- package/src/py/agent/generator.d.ts +3 -3
- package/src/py/agent/generator.js +280 -180
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
- package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
- package/src/py/agent/mcp-connection/generator.d.ts +3 -3
- package/src/py/agent/mcp-connection/generator.js +65 -126
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/schema.d.js +8 -0
- package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/py/agent/mcp-connection/schema.d.ts +1 -0
- package/src/py/agent/mcp-connection/schema.json +5 -0
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
- package/src/py/agent/react-connection/generator.d.ts +4 -4
- package/src/py/agent/react-connection/generator.js +55 -59
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
- package/src/py/agent/react-connection/local-dev.js +36 -0
- package/src/py/agent/react-connection/local-dev.js.map +1 -0
- package/src/py/agent/react-connection/schema.d.js +8 -0
- package/src/py/agent/react-connection/schema.d.js.map +1 -0
- package/src/py/agent/react-connection/schema.d.ts +1 -0
- package/src/py/agent/react-connection/schema.json +5 -0
- package/src/py/agent/schema.d.js +6 -0
- package/src/py/agent/schema.d.js.map +1 -0
- package/src/py/agent/schema.d.ts +2 -1
- package/src/py/agent/schema.json +6 -1
- package/src/py/api/generator.d.ts +3 -3
- package/src/py/api/generator.js +12 -11
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.js +6 -0
- package/src/py/api/schema.d.js.map +1 -0
- package/src/py/api/schema.d.ts +1 -0
- package/src/py/api/schema.json +5 -0
- package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
- package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/agent-connection/generator.js +39 -0
- package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/agent-connection/schema.json +27 -0
- package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
- package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
- package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
- package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
- package/src/py/dynamodb/files/__name__/client.py.template +39 -0
- package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
- package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
- package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
- package/src/py/dynamodb/files/config.json.template +24 -0
- package/src/py/dynamodb/generator.d.ts +10 -0
- package/src/py/dynamodb/generator.js +110 -0
- package/src/py/dynamodb/generator.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
- package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
- package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/py/dynamodb/schema.d.js +6 -0
- package/src/py/dynamodb/schema.d.js.map +1 -0
- package/src/py/dynamodb/schema.d.ts +16 -0
- package/src/py/dynamodb/schema.json +75 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
- package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
- package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
- package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
- package/src/py/fast-api/generator.d.ts +3 -3
- package/src/py/fast-api/generator.js +90 -87
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
- package/src/py/fast-api/react/generator.d.ts +4 -4
- package/src/py/fast-api/react/generator.js +25 -25
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.d.ts +1 -1
- package/src/py/fast-api/react/open-api.js +31 -29
- package/src/py/fast-api/react/open-api.js.map +1 -1
- package/src/py/fast-api/react/schema.d.js +6 -0
- package/src/py/fast-api/react/schema.d.js.map +1 -0
- package/src/py/fast-api/react/schema.d.ts +1 -0
- package/src/py/fast-api/react/schema.json +5 -0
- package/src/py/fast-api/schema.d.js +6 -0
- package/src/py/fast-api/schema.d.js.map +1 -0
- package/src/py/fast-api/schema.d.ts +1 -0
- package/src/py/fast-api/schema.json +5 -0
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/lambda-function/generator.d.ts +3 -3
- package/src/py/lambda-function/generator.js +60 -59
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.js +6 -0
- package/src/py/lambda-function/schema.d.js.map +1 -0
- package/src/py/lambda-function/schema.d.ts +1 -0
- package/src/py/lambda-function/schema.json +5 -0
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
- package/src/py/mcp-server/generator.d.ts +3 -3
- package/src/py/mcp-server/generator.js +152 -125
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.js +6 -0
- package/src/py/mcp-server/schema.d.js.map +1 -0
- package/src/py/mcp-server/schema.d.ts +1 -0
- package/src/py/mcp-server/schema.json +5 -0
- package/src/py/project/generator.d.ts +17 -4
- package/src/py/project/generator.js +205 -127
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.js +6 -0
- package/src/py/project/schema.d.js.map +1 -0
- package/src/py/project/schema.d.ts +1 -0
- package/src/py/project/schema.json +5 -0
- package/src/sdk/agentcore-gateway.d.ts +6 -0
- package/src/sdk/agentcore-gateway.js +7 -0
- package/src/sdk/agentcore-gateway.js.map +1 -0
- package/src/sdk/connection.d.ts +6 -0
- package/src/sdk/connection.js +6 -0
- package/src/sdk/connection.js.map +1 -0
- package/src/sdk/license.d.ts +8 -0
- package/src/sdk/license.js +7 -0
- package/src/sdk/license.js.map +1 -0
- package/src/sdk/open-api.d.ts +10 -0
- package/src/sdk/open-api.js +8 -0
- package/src/sdk/open-api.js.map +1 -0
- package/src/sdk/py.d.ts +14 -0
- package/src/sdk/py.js +10 -0
- package/src/sdk/py.js.map +1 -0
- package/src/sdk/terraform.d.ts +6 -0
- package/src/sdk/terraform.js +7 -0
- package/src/sdk/terraform.js.map +1 -0
- package/src/sdk/ts.d.ts +33 -0
- package/src/sdk/ts.js +35 -0
- package/src/sdk/ts.js.map +1 -0
- package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
- package/src/sdk/utils/ast.js +6 -0
- package/src/sdk/utils/ast.js.map +1 -0
- package/{sdk → src/sdk}/utils/format.d.ts +1 -1
- package/src/sdk/utils/format.js +6 -0
- package/src/sdk/utils/format.js.map +1 -0
- package/{sdk → src/sdk}/utils/test.d.ts +1 -1
- package/src/sdk/utils/test.js +6 -0
- package/src/sdk/utils/test.js.map +1 -0
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
- package/src/smithy/project/files/build.Dockerfile.template +1 -4
- package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
- package/src/smithy/project/generator.d.ts +3 -3
- package/src/smithy/project/generator.js +64 -57
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/project/schema.d.js +6 -0
- package/src/smithy/project/schema.d.js.map +1 -0
- package/src/smithy/project/schema.d.ts +1 -0
- package/src/smithy/project/schema.json +5 -0
- package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/smithy/react-connection/generator.d.ts +3 -3
- package/src/smithy/react-connection/generator.js +39 -47
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/react-connection/schema.d.js +6 -0
- package/src/smithy/react-connection/schema.d.js.map +1 -0
- package/src/smithy/react-connection/schema.d.ts +1 -0
- package/src/smithy/react-connection/schema.json +5 -0
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
- package/src/smithy/ts/api/generator.d.ts +3 -3
- package/src/smithy/ts/api/generator.js +127 -106
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.js +6 -0
- package/src/smithy/ts/api/schema.d.js.map +1 -0
- package/src/smithy/ts/api/schema.d.ts +1 -0
- package/src/smithy/ts/api/schema.json +5 -0
- package/src/terraform/project/files/application/src/main.tf.template +6 -1
- package/src/terraform/project/files/application/src/providers.tf.template +1 -1
- package/src/terraform/project/generator.d.ts +3 -3
- package/src/terraform/project/generator.js +156 -104
- package/src/terraform/project/generator.js.map +1 -1
- package/src/terraform/project/schema.d.js +9 -0
- package/src/terraform/project/schema.d.js.map +1 -0
- package/src/terraform/project/schema.d.ts +1 -0
- package/src/terraform/project/schema.json +5 -0
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
- package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
- package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
- package/src/trpc/backend/generator.d.ts +4 -4
- package/src/trpc/backend/generator.js +97 -85
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.js +6 -0
- package/src/trpc/backend/schema.d.js.map +1 -0
- package/src/trpc/backend/schema.d.ts +3 -2
- package/src/trpc/backend/schema.json +5 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
- package/src/trpc/react/generator.d.ts +4 -4
- package/src/trpc/react/generator.js +63 -58
- package/src/trpc/react/generator.js.map +1 -1
- package/src/trpc/react/schema.d.js +6 -0
- package/src/trpc/react/schema.d.js.map +1 -0
- package/src/trpc/react/schema.d.ts +1 -0
- package/src/trpc/react/schema.json +5 -0
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
- package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
- package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
- package/src/ts/agent/a2a-connection/generator.js +63 -56
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/a2a-connection/schema.d.js +8 -0
- package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
- package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
- package/src/ts/agent/a2a-connection/schema.json +5 -0
- package/src/ts/agent/files/common/agent.ts.template +6 -2
- package/src/ts/agent/files/http/router.ts.template +1 -1
- package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
- package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
- package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
- package/src/ts/agent/gateway-connection/generator.js +114 -0
- package/src/ts/agent/gateway-connection/generator.js.map +1 -0
- package/src/ts/agent/gateway-connection/schema.d.js +6 -0
- package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
- package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
- package/src/ts/agent/gateway-connection/schema.json +31 -0
- package/src/ts/agent/generator.d.ts +3 -3
- package/src/ts/agent/generator.js +188 -144
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
- package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
- package/src/ts/agent/mcp-connection/generator.js +53 -60
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/schema.d.js +8 -0
- package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
- package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
- package/src/ts/agent/mcp-connection/schema.json +5 -0
- package/src/ts/agent/react-connection/generator.d.ts +4 -4
- package/src/ts/agent/react-connection/generator.js +86 -80
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
- package/src/ts/agent/react-connection/local-dev.js +17 -0
- package/src/ts/agent/react-connection/local-dev.js.map +1 -0
- package/src/ts/agent/react-connection/schema.d.js +8 -0
- package/src/ts/agent/react-connection/schema.d.js.map +1 -0
- package/src/ts/agent/react-connection/schema.d.ts +1 -0
- package/src/ts/agent/react-connection/schema.json +5 -0
- package/src/ts/agent/schema.d.js +6 -0
- package/src/ts/agent/schema.d.js.map +1 -0
- package/src/ts/agent/schema.d.ts +1 -0
- package/src/ts/agent/schema.json +5 -0
- package/src/ts/api/generator.d.ts +3 -3
- package/src/ts/api/generator.js +16 -16
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.js +6 -0
- package/src/ts/api/schema.d.js.map +1 -0
- package/src/ts/api/schema.d.ts +3 -1
- package/src/ts/api/schema.json +5 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
- package/src/ts/astro-docs/generator.d.ts +3 -3
- package/src/ts/astro-docs/generator.js +69 -54
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/astro-docs/schema.d.js +6 -0
- package/src/ts/astro-docs/schema.d.js.map +1 -0
- package/src/ts/astro-docs/schema.d.ts +2 -2
- package/src/ts/astro-docs/schema.json +3 -3
- package/src/ts/docs/generator.d.ts +3 -3
- package/src/ts/docs/generator.js +10 -10
- package/src/ts/docs/generator.js.map +1 -1
- package/src/ts/docs/schema.d.js +6 -0
- package/src/ts/docs/schema.d.js.map +1 -0
- package/src/ts/docs/schema.d.ts +1 -4
- package/src/ts/docs/schema.json +3 -3
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/agent-connection/generator.js +30 -0
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/agent-connection/schema.json +27 -0
- package/src/ts/dynamodb/files/config.json.template +24 -0
- package/src/ts/dynamodb/files/src/client.ts.template +61 -0
- package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
- package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
- package/src/ts/dynamodb/files/src/index.ts.template +2 -0
- package/src/ts/dynamodb/generator.d.ts +10 -0
- package/src/ts/dynamodb/generator.js +116 -0
- package/src/ts/dynamodb/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
- package/src/ts/dynamodb/schema.d.js +6 -0
- package/src/ts/dynamodb/schema.d.js.map +1 -0
- package/src/ts/dynamodb/schema.d.ts +16 -0
- package/src/ts/dynamodb/schema.json +75 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
- package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/ts/lambda-function/generator.d.ts +3 -3
- package/src/ts/lambda-function/generator.js +59 -56
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/io.js +83 -52
- package/src/ts/lambda-function/io.js.map +1 -1
- package/src/ts/lambda-function/schema.d.js +6 -0
- package/src/ts/lambda-function/schema.d.js.map +1 -0
- package/src/ts/lambda-function/schema.d.ts +1 -0
- package/src/ts/lambda-function/schema.json +5 -0
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
- package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
- package/src/ts/lib/biome.d.ts +7 -0
- package/src/ts/lib/biome.js +58 -0
- package/src/ts/lib/biome.js.map +1 -0
- package/src/ts/lib/generator.d.ts +3 -3
- package/src/ts/lib/generator.js +96 -96
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
- package/src/ts/lib/schema.d.js +6 -0
- package/src/ts/lib/schema.d.js.map +1 -0
- package/src/ts/lib/schema.d.ts +1 -1
- package/src/ts/lib/schema.json +5 -0
- package/src/ts/lib/ts-project-utils.d.ts +12 -2
- package/src/ts/lib/ts-project-utils.js +80 -65
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/types.js +5 -2
- package/src/ts/lib/types.js.map +1 -1
- package/src/ts/lib/vitest.d.ts +2 -2
- package/src/ts/lib/vitest.js +29 -26
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
- package/src/ts/mcp-server/generator.d.ts +3 -3
- package/src/ts/mcp-server/generator.js +164 -120
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.js +6 -0
- package/src/ts/mcp-server/schema.d.js.map +1 -0
- package/src/ts/mcp-server/schema.d.ts +1 -0
- package/src/ts/mcp-server/schema.json +5 -0
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
- package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
- package/src/ts/nx-generator/files/common/schema.json.template +5 -0
- package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
- package/src/ts/nx-generator/generator.d.ts +2 -2
- package/src/ts/nx-generator/generator.js +111 -74
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-generator/schema.d.js +6 -0
- package/src/ts/nx-generator/schema.d.js.map +1 -0
- package/src/ts/nx-generator/schema.d.ts +1 -0
- package/src/ts/nx-generator/schema.json +5 -0
- package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
- package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
- package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
- package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
- package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
- package/src/ts/nx-plugin/generator.d.ts +3 -3
- package/src/ts/nx-plugin/generator.js +60 -51
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/schema.d.js +9 -0
- package/src/ts/nx-plugin/schema.d.js.map +1 -0
- package/src/ts/nx-plugin/schema.json +5 -0
- package/src/ts/nx-plugin/utils.d.ts +1 -1
- package/src/ts/nx-plugin/utils.js +32 -38
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
- package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
- package/src/ts/rdb/agent-connection/generator.js +38 -39
- package/src/ts/rdb/agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/agent-connection/schema.d.js +8 -0
- package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
- package/src/ts/rdb/agent-connection/schema.json +5 -0
- package/src/ts/rdb/files/config.json.template +14 -0
- package/src/ts/rdb/files/prisma.config.ts.template +6 -5
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
- package/src/ts/rdb/files/src/index.ts.template +0 -1
- package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
- package/src/ts/rdb/files/src/prisma.ts.template +28 -23
- package/src/ts/rdb/files/src/utils.ts.template +3 -0
- package/src/ts/rdb/generator.d.ts +3 -7
- package/src/ts/rdb/generator.js +158 -130
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
- package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
- package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
- package/src/ts/rdb/schema.d.js +6 -0
- package/src/ts/rdb/schema.d.js.map +1 -0
- package/src/ts/rdb/schema.d.ts +1 -0
- package/src/ts/rdb/schema.json +5 -0
- package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
- package/src/ts/rdb/smithy-connection/generator.js +46 -43
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
- package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
- package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
- package/src/ts/rdb/smithy-connection/schema.json +5 -0
- package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
- package/src/ts/rdb/trpc-connection/generator.js +36 -31
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
- package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
- package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
- package/src/ts/rdb/trpc-connection/schema.json +5 -0
- package/src/ts/rdb/utils.d.ts +1 -1
- package/src/ts/rdb/utils.js +9 -11
- package/src/ts/rdb/utils.js.map +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
- package/src/ts/react-website/agui/generator.d.ts +1 -1
- package/src/ts/react-website/agui/generator.js +69 -62
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
- package/src/ts/react-website/app/generator.d.ts +4 -4
- package/src/ts/react-website/app/generator.js +217 -192
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.js +6 -0
- package/src/ts/react-website/app/schema.d.js.map +1 -0
- package/src/ts/react-website/app/schema.d.ts +1 -1
- package/src/ts/react-website/app/schema.json +11 -6
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
- package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
- package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
- package/src/ts/react-website/cognito-auth/generator.js +64 -63
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
- package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
- package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
- package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
- package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
- package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
- package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
- package/src/ts/react-website/cognito-auth/schema.json +5 -0
- package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
- package/src/ts/react-website/cognito-auth/utils.js +34 -32
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
- package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
- package/src/ts/react-website/runtime-config/generator.js +29 -31
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/react-website/runtime-config/schema.d.js +6 -0
- package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
- package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
- package/src/ts/react-website/runtime-config/schema.json +5 -0
- package/src/ts/sync/generator.d.ts +3 -3
- package/src/ts/sync/generator.js +60 -59
- package/src/ts/sync/generator.js.map +1 -1
- package/src/ts/website/app/generator.d.ts +3 -3
- package/src/ts/website/app/generator.js +10 -10
- package/src/ts/website/app/generator.js.map +1 -1
- package/src/ts/website/app/schema.d.js +6 -0
- package/src/ts/website/app/schema.d.js.map +1 -0
- package/src/ts/website/app/schema.d.ts +1 -1
- package/src/ts/website/app/schema.json +11 -6
- package/src/ts/website/auth/generator.d.ts +4 -4
- package/src/ts/website/auth/generator.js +11 -10
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/ts/website/auth/schema.d.js +6 -0
- package/src/ts/website/auth/schema.d.js.map +1 -0
- package/src/ts/website/auth/schema.d.ts +1 -0
- package/src/ts/website/auth/schema.json +5 -0
- package/src/utils/agent-chat/agent-chat.d.ts +31 -0
- package/src/utils/agent-chat/agent-chat.js +29 -0
- package/src/utils/agent-chat/agent-chat.js.map +1 -0
- package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
- package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
- package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
- package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
- package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
- package/src/utils/agent-connection/agent-connection.d.ts +117 -25
- package/src/utils/agent-connection/agent-connection.js +411 -103
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
- package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
- package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
- package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
- package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
- package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
- package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
- package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
- package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
- package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
- package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
- package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
- package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
- package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
- package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
- package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
- package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
- package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
- package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
- package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
- package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
- package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
- package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
- package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
- package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
- package/src/utils/api-constructs/api-constructs.d.ts +2 -2
- package/src/utils/api-constructs/api-constructs.js +30 -31
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
- package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
- package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
- package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
- package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
- package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
- package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
- package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
- package/src/utils/api-constructs/open-api-metadata.js +22 -22
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.d.ts +5 -1
- package/src/utils/ast/website.js +18 -20
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +33 -1
- package/src/utils/ast.js +130 -70
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.d.ts +1 -1
- package/src/utils/bundle/bundle.js +50 -47
- package/src/utils/bundle/bundle.js.map +1 -1
- package/src/utils/commands.js +47 -26
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/index.d.ts +5 -5
- package/src/utils/config/index.js +5 -4
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/config/utils.d.ts +13 -3
- package/src/utils/config/utils.js +65 -43
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
- package/src/utils/connection/open-api/react.d.ts +6 -6
- package/src/utils/connection/open-api/react.js +81 -77
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/containers.d.ts +1 -1
- package/src/utils/containers.js +22 -23
- package/src/utils/containers.js.map +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
- package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
- package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
- package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
- package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
- package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
- package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
- package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
- package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
- package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
- package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
- package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
- package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
- package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
- package/src/utils/format.d.ts +45 -2
- package/src/utils/format.js +323 -81
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.d.ts +1 -1
- package/src/utils/fs.js +14 -13
- package/src/utils/fs.js.map +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
- package/src/utils/function-constructs/function-constructs.d.ts +2 -2
- package/src/utils/function-constructs/function-constructs.js +21 -26
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.d.ts +4 -0
- package/src/utils/generators.js +18 -20
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.d.ts +1 -1
- package/src/utils/git.js +19 -34
- package/src/utils/git.js.map +1 -1
- package/src/utils/iac-providers.js +5 -5
- package/src/utils/iac-providers.js.map +1 -1
- package/src/utils/iac.d.ts +1 -1
- package/src/utils/iac.js +12 -14
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
- package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
- package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +24 -28
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/install.d.ts +32 -0
- package/src/utils/install.js +56 -0
- package/src/utils/install.js.map +1 -0
- package/src/utils/js.d.ts +4 -0
- package/src/utils/js.js +27 -20
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.d.ts +25 -0
- package/src/utils/mcp.js +74 -0
- package/src/utils/mcp.js.map +1 -0
- package/src/utils/metrics.d.ts +9 -3
- package/src/utils/metrics.js +61 -46
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/mock-project-graph.js +8 -12
- package/src/utils/mock-project-graph.js.map +1 -1
- package/src/utils/names.d.ts +22 -0
- package/src/utils/names.js +44 -48
- package/src/utils/names.js.map +1 -1
- package/src/utils/npm-scope.d.ts +1 -1
- package/src/utils/npm-scope.js +9 -17
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +25 -4
- package/src/utils/nx.js +144 -75
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.d.ts +1 -1
- package/src/utils/nxlv-python.js +27 -15
- package/src/utils/nxlv-python.js.map +1 -1
- package/src/utils/object.js +5 -11
- package/src/utils/object.js.map +1 -1
- package/src/utils/paths.d.ts +1 -1
- package/src/utils/paths.js +11 -15
- package/src/utils/paths.js.map +1 -1
- package/src/utils/pkg-manager.js +4 -9
- package/src/utils/pkg-manager.js.map +1 -1
- package/src/utils/pnpm-workspace.d.ts +1 -1
- package/src/utils/pnpm-workspace.js +22 -22
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.d.ts +31 -3
- package/src/utils/port.js +72 -12
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +16 -3
- package/src/utils/py.js +72 -47
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
- package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs-constants.d.ts +1 -0
- package/src/utils/shared-constructs-constants.js +16 -15
- package/src/utils/shared-constructs-constants.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -2
- package/src/utils/shared-constructs.js +57 -54
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
- package/src/utils/shared-dynamodb-scripts.js +25 -0
- package/src/utils/shared-dynamodb-scripts.js.map +1 -0
- package/src/utils/shared-infra-config.d.ts +1 -1
- package/src/utils/shared-infra-config.js +30 -31
- package/src/utils/shared-infra-config.js.map +1 -1
- package/src/utils/shared-infra-scripts.d.ts +11 -0
- package/src/utils/shared-infra-scripts.js +40 -0
- package/src/utils/shared-infra-scripts.js.map +1 -0
- package/src/utils/shared-rdb-scripts.d.ts +16 -0
- package/src/utils/shared-rdb-scripts.js +28 -0
- package/src/utils/shared-rdb-scripts.js.map +1 -0
- package/src/utils/shared-scripts.d.ts +2 -5
- package/src/utils/shared-scripts.js +12 -38
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.d.ts +1 -1
- package/src/utils/shared-shadcn.js +64 -72
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +13 -1
- package/src/utils/test.js +35 -23
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +1 -1
- package/src/utils/toml.js +10 -14
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +116 -84
- package/src/utils/versions.js +124 -102
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
- package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
- package/src/utils/website-constructs/website-constructs.d.ts +2 -2
- package/src/utils/website-constructs/website-constructs.js +31 -30
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
- package/bin/aws-nx-mcp.js +0 -17
- package/bin/aws-nx-mcp.js.map +0 -1
- package/sdk/connection.d.ts +0 -6
- package/sdk/connection.js +0 -10
- package/sdk/connection.js.map +0 -1
- package/sdk/open-api.d.ts +0 -10
- package/sdk/open-api.js +0 -15
- package/sdk/open-api.js.map +0 -1
- package/sdk/py.d.ts +0 -14
- package/sdk/py.js +0 -18
- package/sdk/py.js.map +0 -1
- package/sdk/terraform.d.ts +0 -6
- package/sdk/terraform.js +0 -11
- package/sdk/terraform.js.map +0 -1
- package/sdk/ts.d.ts +0 -29
- package/sdk/ts.js +0 -47
- package/sdk/ts.js.map +0 -1
- package/sdk/utils/ast.js +0 -12
- package/sdk/utils/ast.js.map +0 -1
- package/sdk/utils/format.js +0 -10
- package/sdk/utils/format.js.map +0 -1
- package/sdk/utils/test.js +0 -10
- package/sdk/utils/test.js.map +0 -1
- package/src/connection/agent-serve-local.js +0 -48
- package/src/connection/agent-serve-local.js.map +0 -1
- package/src/connection/serve-local.d.ts +0 -15
- package/src/connection/serve-local.js +0 -41
- package/src/connection/serve-local.js.map +0 -1
- package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
- package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
- package/src/py/agent/react-connection/serve-local.js +0 -30
- package/src/py/agent/react-connection/serve-local.js.map +0 -1
- package/src/py/agent/scripts/http/chat.ts.template +0 -38
- package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
- package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
- package/src/ts/agent/react-connection/serve-local.js +0 -19
- package/src/ts/agent/react-connection/serve-local.js.map +0 -1
- package/src/ts/agent/scripts/http/chat.ts.template +0 -35
- package/src/ts/lib/eslint.d.ts +0 -14
- package/src/ts/lib/eslint.js +0 -90
- package/src/ts/lib/eslint.js.map +0 -1
- package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
- package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
- package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
- package/src/ts/rdb/files/src/constants.ts.template +0 -8
- package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
- package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
- package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
- /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
- /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
- /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
- /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
- /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalise.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/normalise.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,wFAAiD;AAEjD,iCAAmE;AAEnE,6CAAwE;AACxE,gFAAyC;AAczC;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAQ,EAAE;IAChD,MAAM,iBAAiB,GAAkC,EAAE,CAAC;IAC5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAC5C,CAAC;IAEF,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QACzC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,mEAAmE;YACnE,IAAI,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,6BAA6B,cAAc,kHAAkH,CAC1M,CAAC;YACJ,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACjD,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,IAAA,YAAK,EAAC,CAAC,CAAC,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY;gBACzB,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EACtB,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,EAAE,IAAI,EAAE,wBAAwB,OAAO,EAAE,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;QAC/D,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAA8B,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAErD,MAAM,oBAAoB,GAAG,CAC3B,MAA2D,EACzB,EAAE,CACpC,CAAC,CAAC,MAAM;IACR,CAAC,IAAA,YAAK,EAAC,MAAM,CAAC;IACd,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAW,CAAC;QAC/C,iBAAiB,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,GAAG;QACZ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjD,MAAM,4BAA4B,GAAG,CACnC,OAA+D,EAC/D,SAAmB,EACnB,cAAsB,EACtB,QAA6B,EAChB,EAAE;IACf,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAc;gBAC3B,SAAS,EAAE,CAAC,CAAC,KAAK;oBAChB,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC,CAAC;wBACE,GAAG,SAAS;wBACZ,GAAG,cAAc,GAAG,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;qBACvE;gBACL,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;aAC3B,CAAC;YACF,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAC5B,SAAmB,EACnB,mBAA+C,EACvC,EAAE;IACV,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAE9D,qDAAqD;IACrD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,wDAAwD;IACxD,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;IACrC,OAAO,GAAG,aAAa,GAAG,kBAAkB,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,SAAmB,EACnB,MAA8B,EAC9B,mBAA+C,EAC/B,EAAE;IAClB,iDAAiD;IACjD,MAAM,gBAAgB,GAAgB;QACpC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC;YAClC,CAAC,CAAC;gBACE;oBACE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK;wBAC1B,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;oBACzB,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,QAAQ,EAAE,CAAC,KAAK,CAAC;iBAClB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;gBAC7D,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;gBAC7D,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;gBAC7D,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC;gBACE;oBACE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK;wBAC5B,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC;oBAC1B,MAAM,EAAE,MAAM,CAAC,KAAK;oBACpB,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,SAAS,EAAG,CAA4B,CAAC,KAAK;gBAC5C,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAE,CAA4B,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC;YACxB,MAAM,EAAE,CAA2B;YACnC,QAAQ,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;SAC/B,CAAC,CAAC;QACL,GAAG,CAAC,OAAO,MAAM,CAAC,oBAAoB,KAAK,SAAS;YACpD,oBAAoB,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAC/C,CAAC,CAAC;gBACE;oBACE,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAAE,KAAK;wBAC3C,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;wBAClD,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC;oBAC3B,MAAM,EAAE,MAAM,CAAC,oBAAoB;oBACnC,QAAQ,EAAE,CAAC,sBAAsB,CAAC;iBACnC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM,CAAC,OAAO,CAAE,MAAc,CAAC,iBAAiB,IAAI,EAAE,CAAC;aACvD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,SAAS,EAAG,CAA4B,CAAC,KAAK;gBAC5C,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAE,CAA4B,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,CAA2B;YACnC,QAAQ,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC;SACzC,CAAC,CAAC;KACN,CAAC;IAEF,mFAAmF;IACnF,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,2BAA2B,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CACxE,CAAC;IAEF,wIAAwI;IACxI,MAAM,IAAI,GAAG,gBAAgB;SAC1B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACnD,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAK,CAAC,CAAC,MAAc,CAAC,iBAAiB,CAAC;QACnE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAChD;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,wBAAwB,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG;YACV,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,eAAe,CAAC;gBACtB,GAAG,CAAC,CAAC,MAAM;gBACX,kBAAkB,EAAE,IAAI;aACzB,CAAC;SACH,CAAC;QAEF,gDAAgD;QAChD,MAAM,uBAAuB,GAAG,CAAC,CAAC,QAAQ;aACvC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,MAAM,CACL,CAAC,gBAAgB,EAAE,QAAQ,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAC5D,MAAM,CACP,CAAC;QACJ,IAAI,uBAAuB,EAAE,CAAC;YAC5B,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACxE,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAQ,EAAE,CAC9C,IAAA,8BAAa,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;IACxB,IACE,CAAC;QACD,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;QACZ,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EACd,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,IAAA,8BAAa,EAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACI,MAAM,8BAA8B,GAAG,CAAC,MAAY,EAAQ,EAAE;IACnE,4CAA4C;IAC5C,IAAI,IAAI,GAAG,IAAA,8BAAa,EAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEhC,8BAA8B;IAC9B,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,IAAI,CAAC,UAAU;SACnB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG;YACxB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjD,+EAA+E;IAC/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAA,0BAAS,EAC1B,SAAiB,CAAC,WAAW,IAAI,GAAG,MAAM,IAAI,IAAI,EAAE,CACtD,CAAC;YACD,SAAiB,CAAC,WAAW,GAAG,WAAW,CAAC;YAC7C,IAAI,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,2BAA2B;IAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,qBAAqB,GAA4C,EAAE,CAAC;IAE1E,8CAA8C;IAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAc,SAAiB,CAAC,IAAI,IAAI,EAAE,CAAC;YACrD,MAAM,WAAW,GAAI,SAAiB,CAAC,WAAqB,CAAC;YAE7D,uCAAuC;YACvC,IAAI,gBAAgB,GAAG,WAAW,CAAC;YACnC,IAAI,2BAA2B,GAAG,WAAW,CAAC;YAE9C,qDAAqD;YACrD,IAAI,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,gBAAgB,GAAG,IAAA,0BAAS,EAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,WAAW,CAChD,CAAC;gBACF,2BAA2B;oBACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAA,0BAAS,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,IAAA,0BAAS,EAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;YAEA,SAAiB,CAAC,6BAA6B,CAAC,GAAG,gBAAgB,CAAC;YACpE,SAAiB,CAAC,iCAAiC,CAAC;gBACnD,2BAA2B,CAAC;YAE9B,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAEvC,iFAAiF;YACjF,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3D,IACE,qBAAqB,CAAC,GAAG,CAAC;oBAC1B,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAC3C,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,QAAQ;wBACd,CAAC,CAAC,yDAAyD,WAAW,GAAG;wBACzE,CAAC,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,uCAAuC,WAAW,GAAG,CACtG,CAAC;gBACJ,CAAC;gBAED,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;oBACnC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACrC,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;oBAChE,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACzC,MAAM,kBAAkB,GACtB,QAAQ,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;oBAClD,IACE,kBAAkB;wBAClB,CAAC,IAAA,YAAK,EAAC,kBAAkB,CAAC;wBAC1B,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAK,CAAC;4BACrD,iBAAiB,CAAC,kBAAkB,CAAC;4BACrC,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ;gCACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAC7B,CAAC;wBACD,MAAM,UAAU,GAAG,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,GAAG,IAAI,UAAU,CAAC;wBACpE,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;wBAC3D,QAAS,CAAC,OAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG;4BAC9C,IAAI,EAAE,wBAAwB,UAAU,EAAE;yBAC3C,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,iBAAiB,GACrB,WAAW,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBACrD,IACE,iBAAiB;oBACjB,CAAC,IAAA,YAAK,EAAC,iBAAiB,CAAC;oBACzB,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAK,CAAC;wBACpD,iBAAiB,CAAC,iBAAiB,CAAC;wBACpC,CAAC,iBAAiB,EAAE,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EACnE,CAAC;oBACD,MAAM,UAAU,GAAG,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,gBAAgB,CAAC;oBACnE,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC;oBAC1D,WAAY,CAAC,OAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG;wBACjD,IAAI,EAAE,wBAAwB,UAAU,EAAE;qBAC3C,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;gBAC9B,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzC,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,CAAC;oBAClC,IACE,WAAW;wBACX,CAAC,IAAA,YAAK,EAAC,WAAW,CAAC;wBACnB,iBAAiB,CAAC,WAAqC,CAAC,EACxD,CAAC;wBACD,MAAM,UAAU,GAAG,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,UAAU,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAA,kBAAU,EAAC,IAAA,0BAAS,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBACvH,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;wBACpD,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,CAAC;oBAChE,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,qGAAqG;IACrG,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAElC,4DAA4D;IAC5D,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACrE,CAAC;IAEF,gHAAgH;IAChH,0DAA0D;IAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACxE,IAAI,CAAC,IAAA,YAAK,EAAC,MAAM,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,2BAA2B,CACtC,CAAC,IAAI,CAAC,EACN,MAAM,EACN,mBAAmB,CACpB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnB,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC3C,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,IACE,QAAQ;gBACR,QAAQ,CAAC,IAAI;gBACb,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC1B,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,EAC9C,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;QAC5B,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY;YACzB,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EACtB,CAAC;YACD,OAAO,IAAI,CAAC,UAAW,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3MW,QAAA,8BAA8B,kCA2MzC"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/utils/normalise.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport cloneDeepWith from 'lodash.clonedeepwith';\nimport type { OpenAPIV3 } from 'openapi-types';\nimport {\n camelCase,\n pascalCase,\n toClassName,\n upperFirst,\n} from '../../utils/names';\nimport { STREAMING_CONTENT_TYPES } from './codegen-data/types';\nimport { isRef, resolveIfRef, resolveRef, splitRef } from './refs';\nimport type { Spec } from './types';\n\ninterface SubSchema {\n readonly nameParts: string[];\n readonly schema: OpenAPIV3.SchemaObject;\n readonly propPath: (string | number)[];\n}\n\ninterface SubSchemaRef {\n readonly $ref: string;\n readonly name: string;\n readonly schema: OpenAPIV3.SchemaObject;\n}\n\n/**\n * Normalise schema names to valid TypeScript identifiers.\n * Converts names with hyphens or other invalid characters to PascalCase.\n * Throws an error if normalisation would create a name clash.\n */\nconst normaliseSchemaNames = (spec: Spec): Spec => {\n const schemaNameMapping: { [oldName: string]: string } = {};\n const originalNames = Object.keys(spec.components?.schemas ?? {});\n const existingSchemaNames = new Set(originalNames);\n\n // The name each schema resolves to (its normalised form, or itself when it\n // needs no normalisation). Used to detect two distinct schemas that would\n // collapse onto the same identifier.\n const resolvedNameOwners: { [resolvedName: string]: string } = {};\n\n // Build mapping of old names to new names\n originalNames.forEach((name) => {\n const normalizedName = toClassName(name);\n if (normalizedName !== name) {\n // Check if the normalized name would clash with an existing schema\n if (existingSchemaNames.has(normalizedName)) {\n throw new Error(\n `Schema name normalization conflict: \"${name}\" would be normalized to \"${normalizedName}\", but a schema with that name already exists. Please rename one of these schemas in your OpenAPI specification.`,\n );\n }\n schemaNameMapping[name] = normalizedName;\n }\n\n // Detect two distinct schemas resolving to the same name (e.g. \"Foo-Bar\"\n // and \"Foo.Bar\" both normalise to \"FooBar\"), which would otherwise\n // silently overwrite one another.\n const owner = resolvedNameOwners[normalizedName];\n if (owner !== undefined) {\n throw new Error(\n `Schema name normalization conflict: \"${name}\" and \"${owner}\" both normalize to \"${normalizedName}\". Please rename one of these schemas in your OpenAPI specification.`,\n );\n }\n resolvedNameOwners[normalizedName] = name;\n });\n\n // If no normalization needed, return spec as-is\n if (Object.keys(schemaNameMapping).length === 0) {\n return spec;\n }\n\n // Update all $ref references throughout the spec\n spec = cloneDeepWith(spec, (v) => {\n if (isRef(v)) {\n const parts = splitRef(v.$ref);\n if (\n parts.length === 3 &&\n parts[0] === 'components' &&\n parts[1] === 'schemas'\n ) {\n const oldName = parts[2];\n const newName = schemaNameMapping[oldName];\n if (newName) {\n return { $ref: `#/components/schemas/${newName}` };\n }\n }\n }\n });\n\n // Rename schema keys, recording the original name so downstream code can\n // recover the on-the-wire value (e.g. an implicit discriminator matches on\n // the original schema name, not its normalised identifier).\n Object.entries(schemaNameMapping).forEach(([oldName, newName]) => {\n const schema = spec.components!.schemas![oldName];\n if (schema && !isRef(schema)) {\n (schema as { 'x-aws-nx-original-name'?: string })[\n 'x-aws-nx-original-name'\n ] = oldName;\n }\n spec.components!.schemas![newName] = schema;\n delete spec.components!.schemas![oldName];\n });\n\n return spec;\n};\n\nconst isCompositeSchema = (schema: OpenAPIV3.SchemaObject) =>\n !!schema.allOf || !!schema.anyOf || !!schema.oneOf;\n\n/**\n * The media type whose schema is hoisted for a request/response: prefer\n * `application/json`, falling back to any `+json` vendored type (e.g.\n * `application/problem+json`).\n */\nconst preferredJsonMediaType = (mediaTypes: string[]): string | undefined =>\n mediaTypes.find((mediaType) => mediaType === 'application/json') ??\n mediaTypes.find((mediaType) => mediaType.split(';')[0].endsWith('+json'));\n\nconst hasSubSchemasToVisit = (\n schema?: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject,\n): schema is OpenAPIV3.SchemaObject =>\n !!schema &&\n !isRef(schema) &&\n (['object', 'array'].includes(schema.type as any) ||\n isCompositeSchema(schema) ||\n !!schema.not ||\n (schema.type === 'string' && !!schema.enum));\n\nconst filterInlineCompositeSchemas = (\n schemas: (OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject)[],\n nameParts: string[],\n namePartPrefix: string,\n propPath: (string | number)[],\n): SubSchema[] => {\n let inlineSchemaIndex = 0;\n return schemas.flatMap((s, i) => {\n if (hasSubSchemasToVisit(s)) {\n const subSchema: SubSchema = {\n nameParts: s.title\n ? [pascalCase(s.title)]\n : [\n ...nameParts,\n `${namePartPrefix}${inlineSchemaIndex === 0 ? '' : inlineSchemaIndex}`,\n ],\n schema: s,\n propPath: [...propPath, i],\n };\n inlineSchemaIndex++;\n return [subSchema];\n }\n return [];\n });\n};\n\n/**\n * Returns a unique model/schema name for any models which we hoist\n */\nconst createUniqueModelName = (\n nameParts: string[],\n seenModelNameCounts: { [name: string]: number },\n): string => {\n // Normalise each part to a class-name form (stripping `_`, hyphens, etc) so\n // the hoisted schema name matches what `toTypeScriptModelName`/`toClassName`\n // later derive — otherwise a part like `store_photos` yields a `Store_photos`\n // schema whose reference (`StorePhotos`) no longer resolves.\n const candidateName = nameParts.map(toClassName).join('');\n\n const seenModelNameCount = seenModelNameCounts[candidateName];\n\n // We have not seen this name so we're free to use it\n if (seenModelNameCount === undefined) {\n seenModelNameCounts[candidateName] = 1;\n return candidateName;\n }\n\n // We have seen the name before, so we must disambiguate\n seenModelNameCounts[candidateName]++;\n return `${candidateName}${seenModelNameCount}`;\n};\n\nconst hoistInlineObjectSubSchemas = (\n nameParts: string[],\n schema: OpenAPIV3.SchemaObject,\n seenModelNameCounts: { [name: string]: number },\n): SubSchemaRef[] => {\n // Find all the inline subschemas we should visit\n const inlineSubSchemas: SubSchema[] = [\n ...(hasSubSchemasToVisit(schema.not)\n ? [\n {\n nameParts: schema.not?.title\n ? [pascalCase(schema.not?.title)]\n : [...nameParts, 'Not'],\n schema: schema.not,\n propPath: ['not'],\n },\n ]\n : []),\n ...(schema.anyOf\n ? filterInlineCompositeSchemas(schema.anyOf, nameParts, 'AnyOf', [\n 'anyOf',\n ])\n : []),\n ...(schema.allOf\n ? filterInlineCompositeSchemas(schema.allOf, nameParts, 'AllOf', [\n 'allOf',\n ])\n : []),\n ...(schema.oneOf\n ? filterInlineCompositeSchemas(schema.oneOf, nameParts, 'OneOf', [\n 'oneOf',\n ])\n : []),\n ...('items' in schema && hasSubSchemasToVisit(schema.items)\n ? [\n {\n nameParts: schema.items?.title\n ? [pascalCase(schema.items?.title)]\n : [...nameParts, 'Item'],\n schema: schema.items,\n propPath: ['items'],\n },\n ]\n : []),\n ...Object.entries(schema.properties ?? {})\n .filter(([, s]) => hasSubSchemasToVisit(s))\n .map(([name, s]) => ({\n nameParts: (s as OpenAPIV3.SchemaObject).title\n ? [pascalCase((s as OpenAPIV3.SchemaObject).title)]\n : [...nameParts, name],\n schema: s as OpenAPIV3.SchemaObject,\n propPath: ['properties', name],\n })),\n ...(typeof schema.additionalProperties !== 'boolean' &&\n hasSubSchemasToVisit(schema.additionalProperties)\n ? [\n {\n nameParts: schema.additionalProperties?.title\n ? [pascalCase(schema.additionalProperties?.title)]\n : [...nameParts, 'Value'],\n schema: schema.additionalProperties,\n propPath: ['additionalProperties'],\n },\n ]\n : []),\n ...Object.entries((schema as any).patternProperties ?? {})\n .filter(([, s]) => hasSubSchemasToVisit(s))\n .map(([pattern, s], i) => ({\n nameParts: (s as OpenAPIV3.SchemaObject).title\n ? [pascalCase((s as OpenAPIV3.SchemaObject).title)]\n : [...nameParts, pascalCase(pattern), `${i}`],\n schema: s as OpenAPIV3.SchemaObject,\n propPath: ['patternProperties', pattern],\n })),\n ];\n\n // Hoist these recursively first (ie depth first search) so that we don't miss refs\n const recursiveRefs = inlineSubSchemas.flatMap((s) =>\n hoistInlineObjectSubSchemas(s.nameParts, s.schema, seenModelNameCounts),\n );\n\n // Clone the object subschemas to build the refs. Note that only objects with \"properties\" are hoisted as these are non-dictionary types\n const refs = inlineSubSchemas\n .filter(\n (s) =>\n (s.schema.type === 'object' && s.schema.properties) ||\n isCompositeSchema(s.schema) ||\n (s.schema.type === 'object' && (s.schema as any).patternProperties) ||\n (s.schema.type === 'string' && s.schema.enum),\n )\n .map((s) => {\n const name = createUniqueModelName(s.nameParts, seenModelNameCounts);\n\n const $ref = `#/components/schemas/${name}`;\n const ref = {\n $ref,\n name,\n schema: structuredClone({\n ...s.schema,\n 'x-aws-nx-hoisted': true,\n }),\n };\n\n // Replace each subschema with a ref in the spec\n const schemaWithPropToReplace = s.propPath\n .slice(0, -1)\n .reduce(\n (resolvedInSchema, pathPart) => resolvedInSchema?.[pathPart],\n schema,\n );\n if (schemaWithPropToReplace) {\n schemaWithPropToReplace[s.propPath[s.propPath.length - 1]] = { $ref };\n }\n\n return ref;\n });\n\n return [...refs, ...recursiveRefs];\n};\n\n/**\n * Rewrites OpenAPI 3.1 `const` schemas to the semantically equivalent `enum`\n * form. FastAPI emits `{type: 'string', const: 'X'}` for `Literal['X']`; the\n * parser understands the enum shape, whereas the const shape would synthesise\n * phantom named references.\n */\nconst rewriteConstToEnum = (spec: Spec): Spec => {\n const rewrite = (v: any): any => {\n if (\n v &&\n typeof v === 'object' &&\n !Array.isArray(v) &&\n 'const' in v &&\n !('enum' in v)\n ) {\n const { const: constValue, ...rest } = v;\n // Recurse with the same rewrite so consts nested within a rewritten\n // schema are also rewritten.\n return cloneDeepWith({ ...rest, enum: [constValue] }, rewrite);\n }\n };\n return cloneDeepWith(spec, rewrite);\n};\n\n/**\n * Rewrites a composite schema with sibling `properties`/`required` (a valid\n * JSON Schema conjunction, common in FastAPI/Pydantic output) into an\n * equivalent extra `allOf` member, so the parser sees a pure composite and the\n * sibling fields are neither dropped from the type nor stripped when\n * marshalling.\n */\nconst rewriteCompositeSiblingProperties = (spec: Spec): Spec => {\n const rewrite = (v: any): any => {\n if (\n v &&\n typeof v === 'object' &&\n !Array.isArray(v) &&\n Array.isArray(v.allOf) &&\n v.properties\n ) {\n const { properties, required, type: _type, ...rest } = v;\n return cloneDeepWith(\n {\n ...rest,\n allOf: [\n ...v.allOf,\n {\n type: 'object',\n properties,\n ...(required ? { required } : {}),\n },\n ],\n },\n rewrite,\n );\n }\n };\n return cloneDeepWith(spec, rewrite);\n};\n\n/**\n * Rewrites an OpenAPI 3.1 multi-type schema (`type: ['integer', 'string']`)\n * into the equivalent `anyOf` of single-type schemas, dropping `null` from the\n * list and marking the schema nullable instead. This lets the parser render a\n * proper union rather than collapsing to the first declared type.\n */\nconst rewriteMultiTypeToAnyOf = (spec: Spec): Spec => {\n const rewrite = (v: any): any => {\n if (\n v &&\n typeof v === 'object' &&\n !Array.isArray(v) &&\n Array.isArray(v.type) &&\n !('anyOf' in v) &&\n !('oneOf' in v) &&\n !('allOf' in v) &&\n !('enum' in v)\n ) {\n const { type, nullable, ...rest } = v;\n const nonNull = (type as string[]).filter((t) => t !== 'null');\n const isNullable = nullable === true || nonNull.length !== type.length;\n // Recurse with the same rewrite so multi-type schemas nested within a\n // rewritten schema (e.g. the items of a nullable array) are also\n // rewritten.\n // A single non-null type is not a union; keep it as a plain typed schema.\n if (nonNull.length <= 1) {\n return cloneDeepWith(\n {\n ...rest,\n ...(nonNull.length === 1 ? { type: nonNull[0] } : {}),\n ...(isNullable ? { nullable: true } : {}),\n },\n rewrite,\n );\n }\n return cloneDeepWith(\n {\n ...rest,\n anyOf: nonNull.map((t) => ({ type: t })),\n ...(isNullable ? { nullable: true } : {}),\n },\n rewrite,\n );\n }\n };\n return cloneDeepWith(spec, rewrite);\n};\n\n/**\n * Inlines `$ref` path items so that every operation is visited by the\n * normalisation below (operationId assignment, schema hoisting). Each path\n * gets its own copy, so paths sharing a path item are normalised\n * independently.\n */\nconst inlinePathItemRefs = (spec: Spec): void => {\n Object.entries(spec.paths ?? {}).forEach(([path, pathItem]) => {\n if (isRef(pathItem)) {\n const { $ref, ...rest } = pathItem;\n spec.paths![path] = {\n ...structuredClone(resolveRef(spec, $ref)),\n ...rest,\n };\n }\n });\n};\n\n/**\n * In order to ensure we generate models consistently whether or not users used refs or inline schemas,\n * we hoist any inline refs to non-primitives\n */\nexport const normaliseOpenApiSpecForCodeGen = (inSpec: Spec): Spec => {\n // Clone the spec so we're free to mutate it\n let spec = cloneDeepWith(inSpec);\n\n inlinePathItemRefs(spec);\n spec = rewriteConstToEnum(spec);\n spec = rewriteMultiTypeToAnyOf(spec);\n spec = rewriteCompositeSiblingProperties(spec);\n\n // Ensure spec has schemas set\n if (!spec?.components?.schemas) {\n spec.components = {\n ...spec.components,\n };\n spec.components.schemas = {\n ...spec.components.schemas,\n };\n }\n\n const seenOperationIds = new Set<string>();\n const duplicatedOperationIds = new Set<string>();\n\n // Make sure all operationIds are camelCase, and find which ones are duplicated\n Object.entries(spec.paths ?? {}).forEach(([path, pathOps]) =>\n Object.entries(pathOps ?? {}).forEach(([method, op]) => {\n const operation = resolveIfRef(spec, op);\n if (operation && typeof operation === 'object') {\n const operationId = camelCase(\n (operation as any).operationId ?? `${method}-${path}`,\n );\n (operation as any).operationId = operationId;\n if (seenOperationIds.has(operationId)) {\n duplicatedOperationIds.add(operationId);\n }\n seenOperationIds.add(operationId);\n }\n }),\n );\n\n // Reset seen operation ids\n seenOperationIds.clear();\n\n const untagged = Symbol('untagged');\n const seenOperationIdsByTag: { [tag: string | symbol]: Set<string> } = {};\n\n // \"Hoist\" inline request and response schemas\n Object.entries(spec.paths ?? {}).forEach(([path, pathOps]) =>\n Object.entries(pathOps ?? {}).forEach(([method, op]) => {\n const operation = resolveIfRef(spec, op);\n if (operation && typeof operation === 'object') {\n const tags: string[] = (operation as any).tags ?? [];\n const operationId = (operation as any).operationId as string;\n\n // Allow operations to have the same id\n let deduplicatedOpId = operationId;\n let deduplicatedDotNotationOpId = operationId;\n\n // Attempt to deduplicate the operationId by its tags\n if (duplicatedOperationIds.has(operationId)) {\n deduplicatedOpId = camelCase(\n tags.map((t) => `${t}-`).join('') + operationId,\n );\n deduplicatedDotNotationOpId =\n tags.map((t) => `${camelCase(t)}.`).join('') +\n camelCase(operationId);\n }\n\n (operation as any)['x-aws-nx-deduplicated-op-id'] = deduplicatedOpId;\n (operation as any)['x-aws-nx-deduplicated-dot-op-id'] =\n deduplicatedDotNotationOpId;\n\n seenOperationIds.add(deduplicatedOpId);\n\n // Throw an error for any duplicated operation ids with the same tag, or untagged\n [...(tags.length === 0 ? [untagged] : tags)].forEach((tag) => {\n if (\n seenOperationIdsByTag[tag] &&\n seenOperationIdsByTag[tag].has(operationId)\n ) {\n throw new Error(\n tag === untagged\n ? `Untagged operations cannot have the same operationId (${operationId})`\n : `Operations with the same tag (${String(tag)}) cannot have the same operationId (${operationId})`,\n );\n }\n\n seenOperationIdsByTag[tag] = new Set([\n ...(seenOperationIdsByTag[tag] ?? []),\n operationId,\n ]);\n });\n\n if ('responses' in operation) {\n Object.entries(operation.responses ?? {}).forEach(([code, res]) => {\n const response = resolveIfRef(spec, res);\n const jsonMediaType = preferredJsonMediaType(\n Object.keys(response?.content ?? {}),\n );\n const jsonResponseSchema = jsonMediaType\n ? response!.content![jsonMediaType].schema\n : undefined;\n if (\n jsonResponseSchema &&\n !isRef(jsonResponseSchema) &&\n (['object', 'array'].includes(jsonResponseSchema.type!) ||\n isCompositeSchema(jsonResponseSchema) ||\n (jsonResponseSchema?.type === 'string' &&\n jsonResponseSchema.enum))\n ) {\n const schemaName = `${upperFirst(deduplicatedOpId)}${code}Response`;\n spec.components!.schemas![schemaName] = jsonResponseSchema;\n response!.content![jsonMediaType!].schema = {\n $ref: `#/components/schemas/${schemaName}`,\n };\n }\n\n // Hoist inline streaming item schemas (OpenAPI 3.2 itemSchema) so\n // each streamed item gets a named model.\n STREAMING_CONTENT_TYPES.forEach((mediaType) => {\n const streamingContent = response?.content?.[mediaType] as\n | { itemSchema?: OpenAPIV3.SchemaObject }\n | undefined;\n const itemSchema = streamingContent?.itemSchema;\n if (\n itemSchema &&\n !isRef(itemSchema) &&\n (['object', 'array'].includes(itemSchema.type!) ||\n isCompositeSchema(itemSchema) ||\n (itemSchema.type === 'string' && itemSchema.enum))\n ) {\n const schemaName = `${upperFirst(deduplicatedOpId)}${code}ResponseItem`;\n spec.components!.schemas![schemaName] = itemSchema;\n streamingContent.itemSchema = {\n $ref: `#/components/schemas/${schemaName}`,\n } as OpenAPIV3.SchemaObject;\n }\n });\n });\n }\n if ('requestBody' in operation) {\n const requestBody = resolveIfRef(spec, operation.requestBody);\n const jsonMediaType = preferredJsonMediaType(\n Object.keys(requestBody?.content ?? {}),\n );\n const jsonRequestSchema = jsonMediaType\n ? requestBody!.content![jsonMediaType].schema\n : undefined;\n if (\n jsonRequestSchema &&\n !isRef(jsonRequestSchema) &&\n (['object', 'array'].includes(jsonRequestSchema.type!) ||\n isCompositeSchema(jsonRequestSchema) ||\n (jsonRequestSchema?.type === 'string' && jsonRequestSchema.enum))\n ) {\n const schemaName = `${upperFirst(deduplicatedOpId)}RequestContent`;\n spec.components!.schemas![schemaName] = jsonRequestSchema;\n requestBody!.content![jsonMediaType!].schema = {\n $ref: `#/components/schemas/${schemaName}`,\n };\n }\n }\n\n // Hoist parameter schemas. Composite and inline-object schemas are\n // hoisted to named models so the parameter is fully typed (e.g. a\n // `deepObject` query param's members are marshalled, not left `unknown`).\n if ('parameters' in operation) {\n (operation.parameters ?? []).forEach((p) => {\n const param = resolveIfRef(spec, p);\n const paramSchema = param?.schema as\n | OpenAPIV3.SchemaObject\n | undefined;\n if (\n paramSchema &&\n !isRef(paramSchema) &&\n (isCompositeSchema(paramSchema) ||\n (paramSchema.type === 'object' && !!paramSchema.properties))\n ) {\n const schemaName = `${upperFirst(deduplicatedOpId)}Request${upperFirst(param.in)}${upperFirst(camelCase(param.name))}`;\n spec.components!.schemas![schemaName] = paramSchema;\n param.schema = { $ref: `#/components/schemas/${schemaName}` };\n }\n });\n }\n }\n }),\n );\n\n // Normalize schema names to valid TypeScript identifiers (e.g., \"Message-Output\" -> \"MessageOutput\")\n spec = normaliseSchemaNames(spec);\n\n // Initialise the models that we have seen with all schemas.\n // This is required to ensure we do not create any clashing models below\n const seenModelNameCounts = Object.fromEntries(\n Object.keys(spec.components?.schemas ?? {}).map((name) => [name, 1]),\n );\n\n // \"Hoist\" any nested object definitions in arrays/maps that aren't already refs, as parseOpenapi will treat the\n // type as \"any\" if they're defined inline (and not a ref)\n Object.entries(spec.components?.schemas ?? {}).forEach(([name, schema]) => {\n if (!isRef(schema)) {\n const refs = hoistInlineObjectSubSchemas(\n [name],\n schema,\n seenModelNameCounts,\n );\n refs.forEach((ref) => {\n spec.components!.schemas![ref.name] = ref.schema;\n });\n }\n });\n\n // \"Inline\" any refs to non objects/enums\n const inlinedRefs: Set<string> = new Set();\n spec = cloneDeepWith(spec, (v) => {\n if (v && typeof v === 'object' && v.$ref) {\n const resolved = resolveRef(spec, v.$ref);\n if (\n resolved &&\n resolved.type &&\n resolved.type !== 'object' &&\n !(resolved.type === 'string' && resolved.enum)\n ) {\n inlinedRefs.add(v.$ref);\n return resolved;\n }\n }\n });\n\n // Delete the non object schemas that were inlined\n [...inlinedRefs].forEach((ref) => {\n const parts = splitRef(ref);\n if (\n parts.length === 3 &&\n parts[0] === 'components' &&\n parts[1] === 'schemas'\n ) {\n delete spec.components!.schemas![parts[2]];\n }\n });\n\n return spec;\n};\n"],"names":["cloneDeepWith","camelCase","pascalCase","toClassName","upperFirst","STREAMING_CONTENT_TYPES","isRef","resolveIfRef","resolveRef","splitRef","normaliseSchemaNames","spec","schemaNameMapping","originalNames","Object","keys","components","schemas","existingSchemaNames","Set","resolvedNameOwners","forEach","name","normalizedName","has","Error","owner","undefined","length","v","parts","$ref","oldName","newName","entries","schema","isCompositeSchema","allOf","anyOf","oneOf","preferredJsonMediaType","mediaTypes","find","mediaType","split","endsWith","hasSubSchemasToVisit","includes","type","not","enum","filterInlineCompositeSchemas","nameParts","namePartPrefix","propPath","inlineSchemaIndex","flatMap","s","i","subSchema","title","createUniqueModelName","seenModelNameCounts","candidateName","map","join","seenModelNameCount","hoistInlineObjectSubSchemas","inlineSubSchemas","items","properties","filter","additionalProperties","patternProperties","pattern","recursiveRefs","refs","ref","structuredClone","schemaWithPropToReplace","slice","reduce","resolvedInSchema","pathPart","rewriteConstToEnum","rewrite","Array","isArray","const","constValue","rest","rewriteCompositeSiblingProperties","required","_type","rewriteMultiTypeToAnyOf","nullable","nonNull","t","isNullable","inlinePathItemRefs","paths","path","pathItem","normaliseOpenApiSpecForCodeGen","inSpec","seenOperationIds","duplicatedOperationIds","pathOps","method","op","operation","operationId","add","clear","untagged","Symbol","seenOperationIdsByTag","tags","deduplicatedOpId","deduplicatedDotNotationOpId","tag","String","responses","code","res","response","jsonMediaType","content","jsonResponseSchema","schemaName","streamingContent","itemSchema","requestBody","jsonRequestSchema","parameters","p","param","paramSchema","in","fromEntries","inlinedRefs","resolved"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Tree } from '@nx/devkit';
|
|
6
|
-
import { Spec } from './types';
|
|
5
|
+
import type { Tree } from '@nx/devkit';
|
|
6
|
+
import type { Spec } from './types';
|
|
7
7
|
/**
|
|
8
8
|
* Parse an OpenAPI specification given its path within the tree
|
|
9
9
|
*/
|
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const swagger_parser_1 = tslib_1.__importDefault(require("@apidevtools/swagger-parser"));
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/ import SwaggerParser from "@apidevtools/swagger-parser";
|
|
6
5
|
const TREE_PROTOCOL_PREFIX = 'workspace://';
|
|
7
6
|
/**
|
|
8
7
|
* Parse an OpenAPI specification given its path within the tree
|
|
9
|
-
*/
|
|
10
|
-
const parseOpenApiSpec = async (tree, specPath) => {
|
|
8
|
+
*/ export const parseOpenApiSpec = async (tree, specPath)=>{
|
|
11
9
|
// Use a custom protocol prefix to ensure that the swagger parser doesn't try and read from the filesystem itself
|
|
12
|
-
const spec = await
|
|
10
|
+
const spec = await SwaggerParser.bundle(`${TREE_PROTOCOL_PREFIX}/${specPath}`, {
|
|
13
11
|
resolve: {
|
|
14
12
|
// Use a custom resolver which reads files from the tree rather than directly from the filesystem
|
|
15
13
|
file: {
|
|
16
14
|
order: 1,
|
|
17
|
-
read: (file)
|
|
15
|
+
read: (file)=>{
|
|
18
16
|
const path = file.url.slice(TREE_PROTOCOL_PREFIX.length);
|
|
19
17
|
if (!tree.exists(path)) {
|
|
20
18
|
const message = `Unable to find ${specPath} in workspace ${tree.root}`;
|
|
@@ -24,15 +22,15 @@ const parseOpenApiSpec = async (tree, specPath) => {
|
|
|
24
22
|
}
|
|
25
23
|
return tree.read(path);
|
|
26
24
|
},
|
|
27
|
-
canRead: (file)
|
|
25
|
+
canRead: (file)=>file.url.startsWith(TREE_PROTOCOL_PREFIX)
|
|
28
26
|
},
|
|
29
|
-
http: false
|
|
30
|
-
}
|
|
27
|
+
http: false
|
|
28
|
+
}
|
|
31
29
|
});
|
|
32
30
|
if ('swagger' in spec) {
|
|
33
31
|
throw new Error(`OpenAPI v2 specifications are not supported. Please use OpenAPI v3`);
|
|
34
32
|
}
|
|
35
33
|
return spec;
|
|
36
34
|
};
|
|
37
|
-
|
|
35
|
+
|
|
38
36
|
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/utils/parse.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport SwaggerParser from '@apidevtools/swagger-parser';\nimport type { Tree } from '@nx/devkit';\nimport type { Spec } from './types';\n\nconst TREE_PROTOCOL_PREFIX = 'workspace://';\n\n/**\n * Parse an OpenAPI specification given its path within the tree\n */\nexport const parseOpenApiSpec = async (\n tree: Tree,\n specPath: string,\n): Promise<Spec> => {\n // Use a custom protocol prefix to ensure that the swagger parser doesn't try and read from the filesystem itself\n const spec = await SwaggerParser.bundle(\n `${TREE_PROTOCOL_PREFIX}/${specPath}`,\n {\n resolve: {\n // Use a custom resolver which reads files from the tree rather than directly from the filesystem\n file: {\n order: 1,\n read: (file) => {\n const path = file.url.slice(TREE_PROTOCOL_PREFIX.length);\n if (!tree.exists(path)) {\n const message = `Unable to find ${specPath} in workspace ${tree.root}`;\n\n // Write an error to console as swagger parser's error message may be confusing with our custom protocol prefix\n console.error(message);\n throw new Error(message);\n }\n return tree.read(path);\n },\n canRead: (file) => file.url.startsWith(TREE_PROTOCOL_PREFIX),\n },\n http: false,\n },\n },\n );\n\n if ('swagger' in spec) {\n throw new Error(\n `OpenAPI v2 specifications are not supported. Please use OpenAPI v3`,\n );\n }\n return spec;\n};\n"],"names":["SwaggerParser","TREE_PROTOCOL_PREFIX","parseOpenApiSpec","tree","specPath","spec","bundle","resolve","file","order","read","path","url","slice","length","exists","message","root","console","error","Error","canRead","startsWith","http"],"mappings":"AAAA;;;CAGC,GAED,OAAOA,mBAAmB,8BAA8B;AAIxD,MAAMC,uBAAuB;AAE7B;;CAEC,GACD,OAAO,MAAMC,mBAAmB,OAC9BC,MACAC;IAEA,iHAAiH;IACjH,MAAMC,OAAO,MAAML,cAAcM,MAAM,CACrC,GAAGL,qBAAqB,CAAC,EAAEG,UAAU,EACrC;QACEG,SAAS;YACP,iGAAiG;YACjGC,MAAM;gBACJC,OAAO;gBACPC,MAAM,CAACF;oBACL,MAAMG,OAAOH,KAAKI,GAAG,CAACC,KAAK,CAACZ,qBAAqBa,MAAM;oBACvD,IAAI,CAACX,KAAKY,MAAM,CAACJ,OAAO;wBACtB,MAAMK,UAAU,CAAC,eAAe,EAAEZ,SAAS,cAAc,EAAED,KAAKc,IAAI,EAAE;wBAEtE,+GAA+G;wBAC/GC,QAAQC,KAAK,CAACH;wBACd,MAAM,IAAII,MAAMJ;oBAClB;oBACA,OAAOb,KAAKO,IAAI,CAACC;gBACnB;gBACAU,SAAS,CAACb,OAASA,KAAKI,GAAG,CAACU,UAAU,CAACrB;YACzC;YACAsB,MAAM;QACR;IACF;IAGF,IAAI,aAAalB,MAAM;QACrB,MAAM,IAAIe,MACR,CAAC,kEAAkE,CAAC;IAExE;IACA,OAAOf;AACT,EAAE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
6
|
+
import { type ClientData, type Model, type ModelExport, type ModelsByName, type Operation } from './codegen-data/types';
|
|
7
|
+
import type { OpenApiSchemaOrRef, OpenApiSchema as Schema, Spec } from './types';
|
|
8
|
+
type SchemaOrRef = Schema | OpenAPIV3.ReferenceObject;
|
|
9
|
+
type ParameterOrRef = OpenAPIV3.ParameterObject | OpenAPIV3.ReferenceObject;
|
|
10
|
+
/**
|
|
11
|
+
* A model for an inline sub-schema (property value, array item, dictionary
|
|
12
|
+
* value, composite member, parameter, or response).
|
|
13
|
+
*/
|
|
14
|
+
export declare const buildInlineModel: (spec: Spec, schemaOrRef: SchemaOrRef) => Model;
|
|
15
|
+
/**
|
|
16
|
+
* Look up the spec operation object for a parsed operation.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getSpecOperation: (spec: Spec, op: Operation) => OpenAPIV3.OperationObject | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The `in`-qualified key for a parameter, distinguishing parameters that share
|
|
21
|
+
* a name across positions (e.g. `id` in both path and query).
|
|
22
|
+
*/
|
|
23
|
+
export declare const specParameterKey: (parameter: {
|
|
24
|
+
in: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}) => string;
|
|
27
|
+
/**
|
|
28
|
+
* An operation's resolved parameters indexed by `in:name`, including any
|
|
29
|
+
* path-level parameters inherited from the containing path item
|
|
30
|
+
* (operation-level parameters take precedence when both declare the same
|
|
31
|
+
* `name` + `in`).
|
|
32
|
+
*/
|
|
33
|
+
export declare const getSpecParametersByKey: (spec: Spec, specOp: OpenAPIV3.OperationObject | undefined, pathParameters?: ParameterOrRef[]) => {
|
|
34
|
+
[key: string]: OpenAPIV3.ParameterObject;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The path-level parameters declared on the path item containing an operation.
|
|
38
|
+
*/
|
|
39
|
+
export declare const getSpecPathParameters: (spec: Spec, op: Operation) => ParameterOrRef[];
|
|
40
|
+
/**
|
|
41
|
+
* The member sub-schemas of a composite (allOf/anyOf/oneOf) schema, in order.
|
|
42
|
+
*/
|
|
43
|
+
export declare const compositeMemberSchemas: (schema: Schema, compositeExport: ModelExport) => OpenApiSchemaOrRef[];
|
|
44
|
+
/**
|
|
45
|
+
* Recursively stitch a model's collection `link` to the named model it
|
|
46
|
+
* references (ref values are left null by the builders, since the target model
|
|
47
|
+
* does not exist until every definition is built).
|
|
48
|
+
*/
|
|
49
|
+
export declare const linkModel: (spec: Spec, modelsByName: ModelsByName, model: Model, schema: Schema, visited?: Set<Model>) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Build the client data structure from a (normalised) OpenAPI spec: a fully
|
|
52
|
+
* linked model graph with composite members resolved, ready for augmentation.
|
|
53
|
+
*/
|
|
54
|
+
export declare const buildClientData: (spec: Spec) => ClientData;
|
|
55
|
+
export {};
|