@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.30
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 +7246 -5532
- package/README.md +8 -8
- package/executors.json +9 -0
- package/generators.json +100 -1
- package/package.json +35 -16
- 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.reserved-keywords.spec.ts.snap +1 -1
- 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/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 +14 -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 +5 -1
- package/src/open-api/utils/codegen-data/languages.js +42 -60
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.js +31 -30
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.d.ts +6 -2
- package/src/open-api/utils/codegen-data.js +253 -269
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.d.ts +5 -1
- package/src/open-api/utils/normalise.js +242 -241
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.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/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.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 +16 -0
- package/src/utils/names.js +39 -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,195 +1,503 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PY_CORE_TEMPLATES = exports.TS_CORE_TEMPLATES = exports.AGENT_CONNECTION_PROJECT_DIR = void 0;
|
|
4
|
-
exports.getPythonAgentConnectionProjectDir = getPythonAgentConnectionProjectDir;
|
|
5
|
-
exports.getPythonAgentConnectionModuleName = getPythonAgentConnectionModuleName;
|
|
6
|
-
exports.getPythonAgentConnectionPackageName = getPythonAgentConnectionPackageName;
|
|
7
|
-
exports.ensureTypeScriptAgentConnectionProject = ensureTypeScriptAgentConnectionProject;
|
|
8
|
-
exports.addTypeScriptCoreClient = addTypeScriptCoreClient;
|
|
9
|
-
exports.ensurePythonAgentConnectionProject = ensurePythonAgentConnectionProject;
|
|
10
|
-
exports.addPythonCoreClient = addPythonCoreClient;
|
|
11
|
-
exports.addPythonReExport = addPythonReExport;
|
|
12
|
-
const tslib_1 = require("tslib");
|
|
13
1
|
/**
|
|
14
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
15
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
/** Prefix a GritQL pattern with `language python` */
|
|
23
|
-
const py = (pattern) => `language python\n${pattern}`;
|
|
4
|
+
*/ import { generateFiles, joinPathFragments, OverwriteStrategy } from "@nx/devkit";
|
|
5
|
+
import pyProjectGenerator, { getPyProjectDetails } from "../../py/project/generator.js";
|
|
6
|
+
import tsProjectGenerator from "../../ts/lib/generator.js";
|
|
7
|
+
import { addStarExport, applyGritQL, matchGritQL } from "../ast.js";
|
|
8
|
+
import { addDependenciesToPyProjectToml } from "../py.js";
|
|
9
|
+
/** Prefix a GritQL pattern with `language python` */ const py = (pattern)=>`language python\n${pattern}`;
|
|
24
10
|
const AGENT_CONNECTION_DIR = 'agent-connection';
|
|
25
11
|
const PACKAGES_DIR = 'packages';
|
|
26
12
|
const COMMON_DIR = 'common';
|
|
27
|
-
|
|
13
|
+
export const AGENT_CONNECTION_PROJECT_DIR = joinPathFragments(PACKAGES_DIR, COMMON_DIR, AGENT_CONNECTION_DIR);
|
|
28
14
|
const PY_AGENT_CONNECTION_NAME = 'agent_connection';
|
|
29
15
|
/**
|
|
30
16
|
* Get the directory of the shared Python agent-connection project.
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
const { dir } = (0, generator_2.getPyProjectDetails)(tree, {
|
|
17
|
+
*/ export function getPythonAgentConnectionProjectDir(tree) {
|
|
18
|
+
const { dir } = getPyProjectDetails(tree, {
|
|
34
19
|
name: PY_AGENT_CONNECTION_NAME,
|
|
35
|
-
directory:
|
|
20
|
+
directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
|
|
36
21
|
});
|
|
37
22
|
return dir;
|
|
38
23
|
}
|
|
39
24
|
/**
|
|
40
25
|
* Get the Python module name of the shared agent-connection project.
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
const { normalizedModuleName } = (0, generator_2.getPyProjectDetails)(tree, {
|
|
26
|
+
*/ export function getPythonAgentConnectionModuleName(tree) {
|
|
27
|
+
const { normalizedModuleName } = getPyProjectDetails(tree, {
|
|
44
28
|
name: PY_AGENT_CONNECTION_NAME,
|
|
45
|
-
directory:
|
|
29
|
+
directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
|
|
46
30
|
});
|
|
47
31
|
return normalizedModuleName;
|
|
48
32
|
}
|
|
49
33
|
/**
|
|
50
|
-
* Get the
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
* Get the shared agent-connection project as `{ name, root }`, suitable for
|
|
35
|
+
* passing to {@link addWorkspaceDependencyToPyProject} (which derives the
|
|
36
|
+
* dependency's PEP 503 distribution name from the project itself, so callers
|
|
37
|
+
* never construct the name).
|
|
38
|
+
*/ export function getPythonAgentConnectionProject(tree) {
|
|
39
|
+
const { fullyQualifiedName, dir } = getPyProjectDetails(tree, {
|
|
54
40
|
name: PY_AGENT_CONNECTION_NAME,
|
|
55
|
-
directory:
|
|
41
|
+
directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
|
|
56
42
|
});
|
|
57
|
-
return
|
|
43
|
+
return {
|
|
44
|
+
name: fullyQualifiedName,
|
|
45
|
+
root: dir
|
|
46
|
+
};
|
|
58
47
|
}
|
|
59
48
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
|
-
|
|
49
|
+
* Resolve an agent component's framework, defaulting to `strands`. Connection
|
|
50
|
+
* generators dispatch on the returned framework to pick the matching templates
|
|
51
|
+
* and agent.py/agent.ts transforms.
|
|
52
|
+
*/ export function resolveAgentFramework(framework) {
|
|
53
|
+
return framework === 'langchain' ? 'langchain' : 'strands';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Framework-agnostic Layer-1 templates, keyed by protocol. These resolve the
|
|
57
|
+
* endpoint and build the signed transport/client-config; they contain no
|
|
58
|
+
* framework dependency.
|
|
59
|
+
*/ const TS_PROTOCOL_TEMPLATES = {
|
|
65
60
|
mcp: 'core-mcp',
|
|
66
|
-
|
|
61
|
+
gateway: 'core-gateway',
|
|
62
|
+
a2a: 'core-a2a'
|
|
67
63
|
};
|
|
68
|
-
|
|
64
|
+
const PY_PROTOCOL_TEMPLATES = {
|
|
69
65
|
mcp: 'py-core-mcp',
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
gateway: 'py-core-gateway',
|
|
67
|
+
a2a: 'py-core-a2a'
|
|
68
|
+
};
|
|
69
|
+
const FRAMEWORKS = {
|
|
70
|
+
strands: {
|
|
71
|
+
ts: {
|
|
72
|
+
base: 'core-strands/base',
|
|
73
|
+
baseReExports: [
|
|
74
|
+
{
|
|
75
|
+
fromModule: './core/with-session-id-strands.js',
|
|
76
|
+
importName: '*'
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
fromModule: './core/model-errors-strands.js',
|
|
80
|
+
importName: '*'
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
protocols: {
|
|
84
|
+
mcp: 'core-strands/mcp',
|
|
85
|
+
gateway: 'core-strands/gateway',
|
|
86
|
+
a2a: 'core-strands/a2a'
|
|
87
|
+
},
|
|
88
|
+
deps: []
|
|
89
|
+
},
|
|
90
|
+
py: {
|
|
91
|
+
base: 'py-core-strands/base',
|
|
92
|
+
baseReExports: [
|
|
93
|
+
{
|
|
94
|
+
fromModule: '.core.with_session_id_strands',
|
|
95
|
+
importName: 'with_session_id'
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
fromModule: '.core.model_errors_strands',
|
|
99
|
+
importName: 'log_model_errors'
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
protocols: {
|
|
103
|
+
mcp: 'py-core-strands/mcp',
|
|
104
|
+
gateway: 'py-core-strands/gateway',
|
|
105
|
+
a2a: 'py-core-strands/a2a'
|
|
106
|
+
},
|
|
107
|
+
deps: [
|
|
108
|
+
'strands-agents'
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
langchain: {
|
|
113
|
+
// LangChain is supported for Python agents only (the TypeScript LangChain
|
|
114
|
+
// agent foundation has no in-process AG-UI <-> LangGraph adapter, so it is
|
|
115
|
+
// not scaffolded — see ts#agent). Its Layer-2 clients stay usable after
|
|
116
|
+
// agent construction, so there is no base helper layer (no model-error
|
|
117
|
+
// logger / per-session agent cache) and no strands-agents dependency — its
|
|
118
|
+
// AG-UI foundation reuses only the framework-agnostic session context, and
|
|
119
|
+
// its A2A client drives the a2a SDK directly rather than wrapping Strands'
|
|
120
|
+
// A2AAgent. The per-connection adapter dependency (langchain-mcp-adapters /
|
|
121
|
+
// a2a-sdk) is added by the connection generators.
|
|
122
|
+
py: {
|
|
123
|
+
baseReExports: [],
|
|
124
|
+
protocols: {
|
|
125
|
+
mcp: 'py-core-langchain/mcp',
|
|
126
|
+
gateway: 'py-core-langchain/gateway',
|
|
127
|
+
a2a: 'py-core-langchain/a2a'
|
|
128
|
+
},
|
|
129
|
+
deps: []
|
|
130
|
+
}
|
|
131
|
+
}
|
|
73
132
|
};
|
|
133
|
+
/** Resolve a framework's templates for a language + protocol, or throw. */ function frameworkLanguage(framework, language, protocol) {
|
|
134
|
+
const lang = FRAMEWORKS[framework][language];
|
|
135
|
+
if (!lang) {
|
|
136
|
+
throw new Error(`The '${framework}' framework does not support ${language === 'ts' ? 'TypeScript' : 'Python'} agents.`);
|
|
137
|
+
}
|
|
138
|
+
const protocolDir = lang.protocols[protocol];
|
|
139
|
+
if (!protocolDir) {
|
|
140
|
+
throw new Error(`The '${framework}' framework does not support ${protocol} connections for ${language === 'ts' ? 'TypeScript' : 'Python'} agents.`);
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
...lang,
|
|
144
|
+
protocol: protocolDir
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/** Protocols whose Layer-1 needs the shared MCP transport (`core-shared`). */ const MCP_TRANSPORT_PROTOCOLS = [
|
|
148
|
+
'mcp',
|
|
149
|
+
'gateway'
|
|
150
|
+
];
|
|
151
|
+
const tsCoreDir = ()=>joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'core');
|
|
152
|
+
const emitTs = (tree, templateDir)=>generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', templateDir), tsCoreDir(), {}, {
|
|
153
|
+
overwriteStrategy: OverwriteStrategy.KeepExisting
|
|
154
|
+
});
|
|
74
155
|
/**
|
|
75
156
|
* Ensure the shared TypeScript agent-connection project exists and has the
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
|
|
79
|
-
async function ensureTypeScriptAgentConnectionProject(tree) {
|
|
80
|
-
const projectJsonPath =
|
|
157
|
+
* framework-agnostic core helpers (runtime-config loader, session context).
|
|
158
|
+
* Per-connection generators emit their own protocol + framework client
|
|
159
|
+
* templates via `addTypeScriptCoreClient`.
|
|
160
|
+
*/ export async function ensureTypeScriptAgentConnectionProject(tree) {
|
|
161
|
+
const projectJsonPath = joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'project.json');
|
|
81
162
|
if (!tree.exists(projectJsonPath)) {
|
|
82
|
-
await (
|
|
163
|
+
await tsProjectGenerator(tree, {
|
|
83
164
|
name: AGENT_CONNECTION_DIR,
|
|
84
|
-
directory:
|
|
165
|
+
directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
|
|
85
166
|
});
|
|
86
167
|
}
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
// the agent-connection internals.
|
|
93
|
-
await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'), './core/session-context.js');
|
|
94
|
-
await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'), './core/with-session-id.js');
|
|
168
|
+
// Framework-agnostic runtime-config + session-context helpers.
|
|
169
|
+
emitTs(tree, 'core-runtime-config');
|
|
170
|
+
// Re-export session-context helpers so agent server entry points can set the
|
|
171
|
+
// current session on each inbound request without pulling in internals.
|
|
172
|
+
await addStarExport(tree, joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'), './core/session-context.js');
|
|
95
173
|
}
|
|
96
174
|
/**
|
|
97
|
-
* Emit
|
|
98
|
-
* agent-connection project
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
175
|
+
* Emit a framework's base Layer-2 helpers (model-error logging + per-session
|
|
176
|
+
* agent cache) into the agent-connection project and re-export them. The agent
|
|
177
|
+
* server entry point imports these regardless of whether any connection client
|
|
178
|
+
* is wired in, so the agent generator calls this directly; connection
|
|
179
|
+
* generators call it transitively via `addTypeScriptCoreClient`.
|
|
180
|
+
*/ export async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
|
|
181
|
+
const lang = FRAMEWORKS[framework].ts;
|
|
182
|
+
if (!lang) {
|
|
183
|
+
throw new Error(`The '${framework}' framework does not support TypeScript agents.`);
|
|
184
|
+
}
|
|
185
|
+
if (lang.base) {
|
|
186
|
+
emitTs(tree, lang.base);
|
|
187
|
+
}
|
|
188
|
+
const indexPath = joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts');
|
|
189
|
+
for (const reExport of lang.baseReExports){
|
|
190
|
+
await addStarExport(tree, indexPath, reExport.fromModule);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Emit the TypeScript client templates for a connection protocol and agent
|
|
195
|
+
* framework into the agent-connection project's `src/core/` directory. Safe to
|
|
196
|
+
* call multiple times — `KeepExisting` preserves customised files.
|
|
197
|
+
*
|
|
198
|
+
* Layers emitted:
|
|
199
|
+
* - Layer 0 `core-auth` (signed fetch + endpoint resolution) — always
|
|
200
|
+
* - Layer 1 `core-shared` MCP transport — for mcp/gateway protocols
|
|
201
|
+
* - Layer 1 the protocol's transport/client-config — always
|
|
202
|
+
* - Layer 2 the framework's base helpers + protocol client — per framework
|
|
203
|
+
*/ export async function addTypeScriptCoreClient(tree, protocol, framework = 'strands') {
|
|
204
|
+
const fw = frameworkLanguage(framework, 'ts', protocol);
|
|
205
|
+
emitTs(tree, 'core-auth');
|
|
206
|
+
if (MCP_TRANSPORT_PROTOCOLS.includes(protocol)) {
|
|
207
|
+
emitTs(tree, 'core-shared');
|
|
208
|
+
}
|
|
209
|
+
emitTs(tree, TS_PROTOCOL_TEMPLATES[protocol]);
|
|
210
|
+
// Framework Layer 2: base helpers (re-exported for the agent server) + the
|
|
211
|
+
// thin protocol client.
|
|
212
|
+
await addTypeScriptFrameworkBase(tree, framework);
|
|
213
|
+
emitTs(tree, fw.protocol);
|
|
103
214
|
}
|
|
104
215
|
/**
|
|
105
216
|
* Ensure the shared Python agent-connection project exists.
|
|
106
217
|
* Only creates the project shell — per-connection generators are responsible
|
|
107
218
|
* for emitting their own core client templates.
|
|
108
|
-
*/
|
|
109
|
-
async function ensurePythonAgentConnectionProject(tree) {
|
|
219
|
+
*/ export async function ensurePythonAgentConnectionProject(tree) {
|
|
110
220
|
const projectDir = getPythonAgentConnectionProjectDir(tree);
|
|
111
221
|
const moduleName = getPythonAgentConnectionModuleName(tree);
|
|
112
|
-
const projectJsonPath =
|
|
222
|
+
const projectJsonPath = joinPathFragments(projectDir, 'project.json');
|
|
113
223
|
if (!tree.exists(projectJsonPath)) {
|
|
114
224
|
// Create the Python project using the standard py#project generator
|
|
115
|
-
await (
|
|
225
|
+
await pyProjectGenerator(tree, {
|
|
116
226
|
name: PY_AGENT_CONNECTION_NAME,
|
|
117
|
-
directory:
|
|
118
|
-
type: 'library'
|
|
227
|
+
directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR),
|
|
228
|
+
type: 'library'
|
|
119
229
|
});
|
|
120
230
|
}
|
|
121
|
-
const moduleDir =
|
|
231
|
+
const moduleDir = joinPathFragments(projectDir, moduleName);
|
|
122
232
|
// Ensure core/__init__.py exists
|
|
123
|
-
const coreDir =
|
|
124
|
-
if (!tree.exists(
|
|
125
|
-
tree.write(
|
|
233
|
+
const coreDir = joinPathFragments(moduleDir, 'core');
|
|
234
|
+
if (!tree.exists(joinPathFragments(coreDir, '__init__.py'))) {
|
|
235
|
+
tree.write(joinPathFragments(coreDir, '__init__.py'), '');
|
|
126
236
|
}
|
|
127
237
|
// Ensure app/__init__.py exists
|
|
128
|
-
const appInitPath =
|
|
238
|
+
const appInitPath = joinPathFragments(moduleDir, 'app', '__init__.py');
|
|
129
239
|
if (!tree.exists(appInitPath)) {
|
|
130
240
|
tree.write(appInitPath, '');
|
|
131
241
|
}
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
//
|
|
137
|
-
//
|
|
138
|
-
const moduleInitPath =
|
|
242
|
+
// Framework-agnostic runtime-config + session-context helpers.
|
|
243
|
+
generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'py-core-runtime-config'), coreDir, {}, {
|
|
244
|
+
overwriteStrategy: OverwriteStrategy.KeepExisting
|
|
245
|
+
});
|
|
246
|
+
// Re-export the session id context so agent server entry points can set the
|
|
247
|
+
// current session on each inbound request without importing internals.
|
|
248
|
+
const moduleInitPath = joinPathFragments(moduleDir, '__init__.py');
|
|
139
249
|
await addPythonReExport(tree, moduleInitPath, '.core.session_context', 'get_current_session_id');
|
|
140
250
|
await addPythonReExport(tree, moduleInitPath, '.core.session_context', 'session_id_context');
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
251
|
+
// The runtime-config loader reads AppConfig via aws-lambda-powertools.
|
|
252
|
+
addDependenciesToPyProjectToml(tree, projectDir, [
|
|
253
|
+
'aws-lambda-powertools'
|
|
254
|
+
]);
|
|
144
255
|
}
|
|
256
|
+
const pyCoreDir = (tree)=>joinPathFragments(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), 'core');
|
|
257
|
+
const emitPy = (tree, templateDir)=>generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', templateDir), pyCoreDir(tree), {}, {
|
|
258
|
+
overwriteStrategy: OverwriteStrategy.KeepExisting
|
|
259
|
+
});
|
|
145
260
|
/**
|
|
146
|
-
* Emit a
|
|
147
|
-
* agent-connection project
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const
|
|
153
|
-
|
|
261
|
+
* Emit a framework's base Layer-2 helpers (model-error logging + per-session
|
|
262
|
+
* agent cache) into the Python agent-connection project and re-export them.
|
|
263
|
+
* The agent server entry point imports these regardless of whether a connection
|
|
264
|
+
* client is wired in, so the agent generator calls this directly; connection
|
|
265
|
+
* generators call it transitively via `addPythonCoreClient`.
|
|
266
|
+
*/ export async function addPythonFrameworkBase(tree, framework = 'strands') {
|
|
267
|
+
const lang = FRAMEWORKS[framework].py;
|
|
268
|
+
if (!lang) {
|
|
269
|
+
throw new Error(`The '${framework}' framework does not support Python agents.`);
|
|
270
|
+
}
|
|
271
|
+
if (lang.base) {
|
|
272
|
+
emitPy(tree, lang.base);
|
|
273
|
+
}
|
|
274
|
+
const moduleInitPath = joinPathFragments(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), '__init__.py');
|
|
275
|
+
for (const reExport of lang.baseReExports){
|
|
276
|
+
await addPythonReExport(tree, moduleInitPath, reExport.fromModule, reExport.importName);
|
|
277
|
+
}
|
|
278
|
+
if (lang.deps.length > 0) {
|
|
279
|
+
addDependenciesToPyProjectToml(tree, getPythonAgentConnectionProjectDir(tree), lang.deps);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Emit the Python client templates for a connection protocol and agent
|
|
284
|
+
* framework into the agent-connection project's core directory.
|
|
285
|
+
*
|
|
286
|
+
* Layers emitted:
|
|
287
|
+
* - Layer 0 `py-core-auth` (SigV4 httpx.Auth, session auth, endpoints) — always
|
|
288
|
+
* - Layer 1 `py-core-shared` MCP transport — for mcp/gateway protocols
|
|
289
|
+
* - Layer 1 the protocol's transport/client-config — always
|
|
290
|
+
* - Layer 2 the framework's base helpers + protocol client — per framework
|
|
291
|
+
*/ export async function addPythonCoreClient(tree, protocol, framework = 'strands') {
|
|
292
|
+
const fw = frameworkLanguage(framework, 'py', protocol);
|
|
293
|
+
emitPy(tree, 'py-core-auth');
|
|
294
|
+
if (MCP_TRANSPORT_PROTOCOLS.includes(protocol)) {
|
|
295
|
+
emitPy(tree, 'py-core-shared');
|
|
296
|
+
}
|
|
297
|
+
emitPy(tree, PY_PROTOCOL_TEMPLATES[protocol]);
|
|
298
|
+
// Framework Layer 2: base helpers + the thin protocol client.
|
|
299
|
+
await addPythonFrameworkBase(tree, framework);
|
|
300
|
+
emitPy(tree, fw.protocol);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Patch a TypeScript agent.ts to create a connection client and register it
|
|
304
|
+
* in the Agent's tools. Used by the MCP and gateway connection generators —
|
|
305
|
+
* the client class must expose a static async `create()` returning a value
|
|
306
|
+
* accepted by `Agent.tools` (e.g. an `McpClient`).
|
|
307
|
+
*/ export async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
|
|
308
|
+
const clientCreationStmt = `const ${clientVarName} = await ${clientClassName}.create();`;
|
|
309
|
+
// Transform the arrow function that contains `new Agent`:
|
|
310
|
+
// - Expression body: wrap in block with client creation and return
|
|
311
|
+
// - Block body: prepend client creation statement
|
|
312
|
+
await applyGritQL(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
|
|
313
|
+
${clientCreationStmt}
|
|
314
|
+
return new Agent($args);
|
|
315
|
+
}\` where { $program <: not contains \`${clientClassName}.create\` }, \`async ($p) => { $body }\` => raw\`async ($p) => {
|
|
316
|
+
${clientCreationStmt}
|
|
317
|
+
$body
|
|
318
|
+
}\` where { $body <: contains \`new Agent($_)\`, $program <: not contains \`${clientClassName}.create\` } }`);
|
|
319
|
+
// Prepend the client to the tools array
|
|
320
|
+
await applyGritQL(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
|
|
154
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Patch a Python agent.py to create a context-managed connection client,
|
|
324
|
+
* enter it in the `with` block around `yield Agent(...)`, and spread its
|
|
325
|
+
* `list_tools_sync()` into the Agent's tools. Used by the MCP and gateway
|
|
326
|
+
* connection generators — the client class must expose a static `create()`
|
|
327
|
+
* returning a context manager with `list_tools_sync()` (e.g. an `MCPClient`).
|
|
328
|
+
*/ async function addPythonClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
|
|
329
|
+
await addPythonClientTools(tree, agentFilePath, clientVarName);
|
|
330
|
+
await addPythonClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Append `*<clientVarName>.list_tools_sync()` to the Agent's tools list.
|
|
334
|
+
*/ const addPythonClientTools = async (tree, filePath, clientVarName)=>{
|
|
335
|
+
if (await matchGritQL(tree, filePath, py(`\`${clientVarName}.list_tools_sync()\``))) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
await applyGritQL(tree, filePath, py(`\`tools=$old\` where {
|
|
339
|
+
$old <: not contains \`${clientVarName}\`,
|
|
340
|
+
if ($old <: \`[]\`) {
|
|
341
|
+
$old => \`[*${clientVarName}.list_tools_sync()]\`
|
|
342
|
+
} else {
|
|
343
|
+
$old <: \`[$items]\` where { $items += \`, *${clientVarName}.list_tools_sync()\` }
|
|
344
|
+
}
|
|
345
|
+
}`));
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Create the client in get_agent and enter it in the `with` block.
|
|
349
|
+
*
|
|
350
|
+
* First connection: rewrites `def get_agent` to wrap the body in a with
|
|
351
|
+
* block. Subsequent connections: adds to the existing with items and
|
|
352
|
+
* prepends the creation line.
|
|
353
|
+
*/ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, clientVarName)=>{
|
|
354
|
+
if (await matchGritQL(tree, filePath, py(`\`${clientClassName}.create()\``))) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
// Try the "add to existing with block" pattern first.
|
|
358
|
+
// If it succeeds, there was already a with block from a previous connection.
|
|
359
|
+
const addedToWith = await applyGritQL(tree, filePath, py(`\`with ($items,): $body\` where {
|
|
360
|
+
$items <: not contains \`${clientVarName}\`,
|
|
361
|
+
$items += \`, ${clientVarName}\`
|
|
362
|
+
}`));
|
|
363
|
+
if (addedToWith) {
|
|
364
|
+
// Subsequent connection — prepend the creation line to the function body
|
|
365
|
+
// (a single anchor, so the line is inserted exactly once).
|
|
366
|
+
await applyGritQL(tree, filePath, py(`\`def get_agent($params):
|
|
367
|
+
$body\` where {
|
|
368
|
+
$body <: contains \`yield Agent($_)\`,
|
|
369
|
+
$body <: not contains \`${clientClassName}.create\`
|
|
370
|
+
} => \`def get_agent($params):
|
|
371
|
+
${clientVarName} = ${clientClassName}.create()
|
|
372
|
+
$body\``));
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
// First connection — wrap the existing `def get_agent` body in a single
|
|
376
|
+
// `with (<var>,):` block.
|
|
377
|
+
await applyGritQL(tree, filePath, py(`\`def get_agent($params):
|
|
378
|
+
$body\` where {
|
|
379
|
+
$body <: contains \`yield Agent($_)\`,
|
|
380
|
+
$body <: not contains \`${clientClassName}.create\`
|
|
381
|
+
} => \`def get_agent($params):
|
|
382
|
+
${clientVarName} = ${clientClassName}.create()
|
|
383
|
+
with (
|
|
384
|
+
${clientVarName},
|
|
385
|
+
):
|
|
386
|
+
$body\``));
|
|
387
|
+
};
|
|
388
|
+
/**
|
|
389
|
+
* Patch a LangChain agent.py to load connection tools and spread them into the
|
|
390
|
+
* `create_agent(...)` tools list. Used by the MCP and gateway connection
|
|
391
|
+
* generators when the source agent uses the `langchain` framework — the client
|
|
392
|
+
* class must expose a static `create()` returning a `list[BaseTool]`. The tools
|
|
393
|
+
* come from langchain-mcp-adapters' `MultiServerMCPClient`, which keeps the
|
|
394
|
+
* connection config on each tool and opens a fresh MCP session per call, so the
|
|
395
|
+
* tools stay usable after `get_agent` returns — no `with` block is needed.
|
|
396
|
+
* Mirrors {@link addPythonClientToAgent} for the Strands shape.
|
|
397
|
+
*/ async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
|
|
398
|
+
await addPythonLangchainClientTools(tree, agentFilePath, clientVarName);
|
|
399
|
+
await addPythonLangchainClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Spread `*<clientVarName>` into the `create_agent(...)` tools list.
|
|
403
|
+
*
|
|
404
|
+
* Scoped via `$old <: within \`create_agent($_)\`` so only the agent's own
|
|
405
|
+
* tools= keyword argument is touched (not an unrelated function with a
|
|
406
|
+
* `tools=` parameter).
|
|
407
|
+
*/ const addPythonLangchainClientTools = async (tree, filePath, clientVarName)=>{
|
|
408
|
+
await applyGritQL(tree, filePath, py(`\`tools=$old\` where {
|
|
409
|
+
$old <: within \`create_agent($_)\`,
|
|
410
|
+
$old <: not contains \`*${clientVarName}\`,
|
|
411
|
+
if ($old <: \`[]\`) {
|
|
412
|
+
$old => \`[*${clientVarName}]\`
|
|
413
|
+
} else {
|
|
414
|
+
$old <: \`[$items]\` where { $items += \`, *${clientVarName}\` }
|
|
415
|
+
}
|
|
416
|
+
}`));
|
|
417
|
+
};
|
|
418
|
+
/**
|
|
419
|
+
* Prepend `<clientVarName> = <clientClassName>.create()` to the get_agent body
|
|
420
|
+
* (which loads the connection's tools). No `with` block — the LangChain client
|
|
421
|
+
* hands langchain-mcp-adapters a connection config, so each tool opens its own
|
|
422
|
+
* MCP session per call and the tools are safe to use after get_agent returns.
|
|
423
|
+
* Idempotent via the `not contains <clientClassName>.create` guard.
|
|
424
|
+
*/ const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassName, clientVarName)=>{
|
|
425
|
+
if (await matchGritQL(tree, filePath, py(`\`${clientClassName}.create()\``))) {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
await applyGritQL(tree, filePath, py(`\`def get_agent($params):
|
|
429
|
+
$body\` where {
|
|
430
|
+
$body <: contains \`create_agent($_)\`,
|
|
431
|
+
$body <: not contains \`${clientClassName}.create\`
|
|
432
|
+
} => \`def get_agent($params):
|
|
433
|
+
${clientVarName} = ${clientClassName}.create()
|
|
434
|
+
$body\``));
|
|
435
|
+
};
|
|
436
|
+
export const PY_CLIENT_NAMING = {
|
|
437
|
+
strands: {
|
|
438
|
+
clientClassSuffix: 'Strands',
|
|
439
|
+
clientModuleSuffix: 'strands',
|
|
440
|
+
appTemplateSubdir: joinPathFragments('agent-connection', 'app')
|
|
441
|
+
},
|
|
442
|
+
langchain: {
|
|
443
|
+
clientClassSuffix: 'LangChain',
|
|
444
|
+
clientModuleSuffix: 'langchain',
|
|
445
|
+
appTemplateSubdir: joinPathFragments('langchain', 'agent-connection', 'app')
|
|
446
|
+
}
|
|
447
|
+
};
|
|
448
|
+
export const PY_MCP_FAMILY_CONNECTIONS = {
|
|
449
|
+
strands: {
|
|
450
|
+
...PY_CLIENT_NAMING.strands,
|
|
451
|
+
deps: [],
|
|
452
|
+
wireClientIntoAgent: addPythonClientToAgent
|
|
453
|
+
},
|
|
454
|
+
langchain: {
|
|
455
|
+
...PY_CLIENT_NAMING.langchain,
|
|
456
|
+
// langchain-mcp-adapters backs the LangChain client; it must not pull Strands in.
|
|
457
|
+
deps: [
|
|
458
|
+
'langchain-mcp-adapters'
|
|
459
|
+
],
|
|
460
|
+
wireClientIntoAgent: addPythonLangchainClientToAgent
|
|
461
|
+
}
|
|
462
|
+
};
|
|
155
463
|
/**
|
|
156
464
|
* Add a re-export to the Python agent-connection module's __init__.py.
|
|
157
465
|
* Equivalent to addStarExport for TS.
|
|
158
466
|
* Uses `__all__` to mark re-exports as public (satisfies ruff F401).
|
|
159
467
|
* Uses GritQL for AST-aware transforms where possible.
|
|
160
|
-
*/
|
|
161
|
-
async function addPythonReExport(tree, initFilePath, fromModule, importName) {
|
|
468
|
+
*/ export async function addPythonReExport(tree, initFilePath, fromModule, importName) {
|
|
162
469
|
// Check if already exported
|
|
163
|
-
if (await
|
|
470
|
+
if (await matchGritQL(tree, initFilePath, `\`${importName}\``)) {
|
|
164
471
|
return;
|
|
165
472
|
}
|
|
166
473
|
const importLine = `from ${fromModule} import ${importName}`;
|
|
167
474
|
const allEntry = `"${importName}"`;
|
|
168
475
|
// If there's already an import from the same module, merge into its name list
|
|
169
476
|
// (ruff I001 rejects two `from X import ...` lines for the same module).
|
|
170
|
-
const mergedImport = await
|
|
477
|
+
const mergedImport = await applyGritQL(tree, initFilePath, py(`\`from ${fromModule} import $names\` where {
|
|
171
478
|
$names <: not contains \`${importName}\`,
|
|
172
479
|
$names += \`, ${importName}\`
|
|
173
480
|
}`));
|
|
174
481
|
if (mergedImport) {
|
|
175
|
-
await
|
|
482
|
+
await applyGritQL(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
|
|
176
483
|
return;
|
|
177
484
|
}
|
|
178
485
|
// Try to append import after existing import using +=
|
|
179
|
-
const appendedImport = await
|
|
486
|
+
const appendedImport = await applyGritQL(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
|
|
180
487
|
$program <: not contains \`${importName}\`,
|
|
181
488
|
$stmt += \`\n${importLine}\`
|
|
182
489
|
}`));
|
|
183
490
|
if (appendedImport) {
|
|
184
491
|
// Also append to existing __all__
|
|
185
|
-
await
|
|
492
|
+
await applyGritQL(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
|
|
186
493
|
return;
|
|
187
494
|
}
|
|
188
495
|
// No existing imports — first re-export. Try to anchor after docstring.
|
|
189
|
-
const anchoredImport = await
|
|
496
|
+
const anchoredImport = await applyGritQL(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
|
|
190
497
|
if (!anchoredImport) {
|
|
191
498
|
// Completely empty file or no docstring — write directly
|
|
192
499
|
tree.write(initFilePath, `${importLine}\n\n__all__ = [${allEntry}]\n`);
|
|
193
500
|
}
|
|
194
501
|
}
|
|
502
|
+
|
|
195
503
|
//# sourceMappingURL=agent-connection.js.map
|