@aws/nx-plugin 1.0.0 → 1.0.2

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.
Files changed (124) hide show
  1. package/LICENSE-THIRD-PARTY +11686 -23398
  2. package/README.md +18 -0
  3. package/generators.json +7 -0
  4. package/migrations.json +39 -1
  5. package/package.json +6 -6
  6. package/src/agentcore-gateway/agent-connection/generator.js +6 -0
  7. package/src/agentcore-gateway/agent-connection/generator.js.map +1 -1
  8. package/src/agentcore-gateway/schema.json +1 -0
  9. package/src/agentcore-harness/generator.d.ts +1 -1
  10. package/src/connection/scaffold-catalog.d.ts +21 -0
  11. package/src/connection/scaffold-catalog.js +14 -6
  12. package/src/connection/scaffold-catalog.js.map +1 -1
  13. package/src/infra/app/generator.d.ts +1 -1
  14. package/src/init/generator.d.ts +1 -1
  15. package/src/mcp-server/guide-pipeline.d.ts +2 -1
  16. package/src/mcp-server/guide-pipeline.js +6 -0
  17. package/src/mcp-server/guide-pipeline.js.map +1 -1
  18. package/src/mcp-server/mdx-ast.d.ts +7 -0
  19. package/src/mcp-server/mdx-ast.js +15 -0
  20. package/src/mcp-server/mdx-ast.js.map +1 -1
  21. package/src/mcp-server/schema-registry.d.ts +2 -2
  22. package/src/mcp-server/schema-registry.js +2 -2
  23. package/src/mcp-server/schema-registry.js.map +1 -1
  24. package/src/migrations/latest/terraform-harness-environment-variables/metadata.json +3 -0
  25. package/src/migrations/latest/terraform-harness-environment-variables/migration.d.ts +6 -0
  26. package/src/migrations/latest/terraform-harness-environment-variables/migration.js +54 -0
  27. package/src/migrations/latest/terraform-harness-environment-variables/migration.js.map +1 -0
  28. package/src/open-api/py-client/__snapshots__/generator.additional-properties.spec.ts.snap +34 -0
  29. package/src/open-api/py-client/__snapshots__/generator.arrays.spec.ts.snap +1750 -0
  30. package/src/open-api/py-client/__snapshots__/generator.complex-types.spec.ts.snap +82 -0
  31. package/src/open-api/py-client/__snapshots__/generator.composite-types.spec.ts.snap +447 -0
  32. package/src/open-api/py-client/__snapshots__/generator.duplicate-types.spec.ts.snap +404 -0
  33. package/src/open-api/py-client/__snapshots__/generator.errors.spec.ts.snap +430 -0
  34. package/src/open-api/py-client/__snapshots__/generator.fast-api.spec.ts.snap +447 -0
  35. package/src/open-api/py-client/__snapshots__/generator.petstore.spec.ts.snap +3488 -0
  36. package/src/open-api/py-client/__snapshots__/generator.primitive-types.spec.ts.snap +1444 -0
  37. package/src/open-api/py-client/__snapshots__/generator.request.spec.ts.snap +390 -0
  38. package/src/open-api/py-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +364 -0
  39. package/src/open-api/py-client/__snapshots__/generator.response.spec.ts.snap +739 -0
  40. package/src/open-api/py-client/__snapshots__/generator.streaming.spec.ts.snap +384 -0
  41. package/src/open-api/py-client/__snapshots__/generator.tags.spec.ts.snap +414 -0
  42. package/src/open-api/py-client/files/client/__clientModuleName__.py.template +1076 -0
  43. package/src/open-api/py-client/files/shared/__init__.py.template +28 -0
  44. package/src/open-api/py-client/files/shared/errors.py.template +37 -0
  45. package/src/open-api/py-client/files/shared/types.py.template +319 -0
  46. package/src/open-api/py-client/generator.d.ts +53 -0
  47. package/src/open-api/py-client/generator.js +119 -0
  48. package/src/open-api/py-client/generator.js.map +1 -0
  49. package/src/open-api/py-client/schema.d.js +6 -0
  50. package/src/open-api/py-client/schema.d.js.map +1 -0
  51. package/src/open-api/py-client/schema.d.ts +12 -0
  52. package/src/open-api/py-client/schema.json +28 -0
  53. package/src/open-api/py-client/vessel-registry-spec.json +2716 -0
  54. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +274 -0
  55. package/src/open-api/ts-client/petstore-spec.d.ts +6 -0
  56. package/src/open-api/ts-client/petstore-spec.js +1275 -0
  57. package/src/open-api/ts-client/petstore-spec.js.map +1 -0
  58. package/src/open-api/ts-hooks/generator.spec.tsx +1 -1
  59. package/src/open-api/utils/codegen-data/languages.d.ts +68 -2
  60. package/src/open-api/utils/codegen-data/languages.js +433 -21
  61. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  62. package/src/open-api/utils/codegen-data/types.d.ts +187 -0
  63. package/src/open-api/utils/codegen-data/types.js +10 -1
  64. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  65. package/src/open-api/utils/codegen-data.d.ts +40 -1
  66. package/src/open-api/utils/codegen-data.js +622 -17
  67. package/src/open-api/utils/codegen-data.js.map +1 -1
  68. package/src/open-api/utils/normalise.js +175 -41
  69. package/src/open-api/utils/normalise.js.map +1 -1
  70. package/src/open-api/utils/parser.js +1 -1
  71. package/src/open-api/utils/parser.js.map +1 -1
  72. package/src/preset/__snapshots__/generator.spec.ts.snap +3 -3
  73. package/src/preset/generator.d.ts +1 -1
  74. package/src/py/agent/gateway-connection/generator.js +0 -3
  75. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  76. package/src/py/agent/react-connection/generator.d.ts +1 -1
  77. package/src/py/agent/schema.json +2 -0
  78. package/src/py/fast-api/react/generator.d.ts +1 -1
  79. package/src/py/mcp-server/schema.json +1 -0
  80. package/src/sdk/open-api.d.ts +2 -0
  81. package/src/sdk/open-api.js +1 -0
  82. package/src/sdk/open-api.js.map +1 -1
  83. package/src/smithy/project/generator.d.ts +1 -1
  84. package/src/smithy/react-connection/generator.d.ts +1 -1
  85. package/src/terraform/project/generator.d.ts +1 -1
  86. package/src/trpc/react/generator.d.ts +1 -1
  87. package/src/ts/agent/a2a-connection/generator.d.ts +1 -1
  88. package/src/ts/agent/gateway-connection/generator.d.ts +1 -1
  89. package/src/ts/agent/gateway-connection/generator.js +0 -3
  90. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  91. package/src/ts/agent/mcp-connection/generator.d.ts +1 -1
  92. package/src/ts/agent/react-connection/generator.d.ts +1 -1
  93. package/src/ts/agent/schema.json +1 -0
  94. package/src/ts/api/schema.json +2 -0
  95. package/src/ts/astro-docs/generator.d.ts +1 -1
  96. package/src/ts/dcr-proxy/generator.d.ts +1 -1
  97. package/src/ts/dynamodb/generator.d.ts +1 -1
  98. package/src/ts/lambda-function/generator.d.ts +1 -1
  99. package/src/ts/lib/generator.d.ts +1 -1
  100. package/src/ts/mcp-server/schema.json +1 -0
  101. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +1 -1
  102. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
  103. package/src/ts/nx-generator/generator.d.ts +1 -1
  104. package/src/ts/nx-migration/generator.d.ts +1 -1
  105. package/src/ts/nx-plugin/generator.d.ts +1 -1
  106. package/src/ts/rdb/generator.d.ts +1 -1
  107. package/src/ts/react-website/agui/generator.d.ts +1 -1
  108. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +10 -10
  109. package/src/ts/react-website/app/schema.json +1 -0
  110. package/src/ts/website/app/schema.json +1 -0
  111. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-harness/__nameKebabCase__/__nameKebabCase__.tf.template +1 -1
  112. package/src/utils/metrics-assertions.d.ts +18 -0
  113. package/src/utils/metrics-assertions.js +42 -0
  114. package/src/utils/metrics-assertions.js.map +1 -0
  115. package/src/utils/test/python-dependencies.d.ts +8 -0
  116. package/src/utils/test/python-dependencies.js +14 -0
  117. package/src/utils/test/python-dependencies.js.map +1 -0
  118. package/src/utils/test/python-worker/worker.py +703 -0
  119. package/src/utils/test/warm-python-cache.d.ts +18 -0
  120. package/src/utils/test/warm-python-cache.js +46 -0
  121. package/src/utils/test/warm-python-cache.js.map +1 -0
  122. package/src/utils/versions.d.ts +10 -9
  123. package/src/utils/versions.js +9 -8
  124. package/src/utils/versions.js.map +1 -1
@@ -54,7 +54,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
54
54
  readonly name: "@aws-sdk/client-s3";
55
55
  } & {
56
56
  versionOnly: true;
57
- }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
57
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
58
58
  export declare const TS_AGENT_A2A_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
59
59
  export declare const tsAgentA2aConnectionGenerator: (tree: Tree, options: TsAgentA2aConnectionGeneratorSchema) => Promise<GeneratorCallback>;
60
60
  export default tsAgentA2aConnectionGenerator;
@@ -45,7 +45,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
45
45
  readonly name: "@aws-sdk/client-s3";
46
46
  } & {
47
47
  versionOnly: true;
48
- }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
48
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
49
49
  export declare const TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
50
50
  export declare const tsAgentGatewayConnectionGenerator: (tree: Tree, options: TsAgentGatewayConnectionGeneratorSchema) => Promise<GeneratorCallback>;
51
51
  export default tsAgentGatewayConnectionGenerator;
@@ -55,9 +55,6 @@ export const tsAgentGatewayConnectionGenerator = async (tree, options)=>{
55
55
  if (gateway.auth !== 'iam') {
56
56
  throw new Error(`Gateway '${gateway.name}' uses auth='${gateway.auth}'. Agent connections currently require the gateway to use IAM authentication.`);
57
57
  }
58
- if (agentComponent.auth && agentComponent.auth !== 'iam') {
59
- throw new Error(`Agent '${agentComponent.name}' uses auth='${agentComponent.auth}'. Only IAM-authenticated agents can connect to IAM gateways.`);
60
- }
61
58
  const gatewayClassName = gateway.rc;
62
59
  const gatewayKebabCase = kebabCase(gatewayClassName);
63
60
  // A gateway is its own standalone project, so it exposes plain serve / dev.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/gateway-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { readAgentCoreGatewayMetadata } from '../../../agentcore-gateway/generator.js';\nimport { addTsDependencies } from '../../../utils/add-dependencies.js';\nimport {\n AGENT_CONNECTION_DEPENDENCIES,\n AGENT_CONNECTION_PROJECT_DIR,\n addTypeScriptClientToAgent,\n addTypeScriptCoreClient,\n ensureTypeScriptAgentConnectionProject,\n} from '../../../utils/agent-connection/agent-connection.js';\nimport { addDestructuredImport, addStarExport } from '../../../utils/ast.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { installDependencies } from '../../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport { esmVars } from '../../../utils/module-format.js';\nimport { kebabCase } from '../../../utils/names.js';\nimport { getNpmScope } from '../../../utils/npm-scope.js';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport { toProjectRelativePath } from '../../../utils/paths.js';\nimport type { TsAgentGatewayConnectionGeneratorSchema } from './schema';\n\n// The gateway core client + vended client need these whatever the connection's\n// options, so no entry is conditional.\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n { name: '@modelcontextprotocol/sdk' },\n { name: '@strands-agents/sdk' },\n { name: '@aws-lambda-powertools/parameters' },\n { name: '@aws-sdk/client-appconfigdata' },\n { name: 'aws4fetch' },\n { name: '@aws-sdk/credential-providers' },\n ...ownedElsewhere(AGENT_CONNECTION_DEPENDENCIES),\n ],\n});\n\nexport const TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsAgentGatewayConnectionGenerator = async (\n tree: Tree,\n options: TsAgentGatewayConnectionGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentComponent = options.sourceComponent;\n if (!agentComponent) {\n throw new Error(\n 'sourceComponent must be provided for ts#agent -> agentcore-gateway connections',\n );\n }\n const gateway = readAgentCoreGatewayMetadata(targetProject);\n\n if (gateway.protocol !== 'mcp') {\n throw new Error(\n `Gateway '${gateway.name}' has protocol='${gateway.protocol}'. Only MCP-protocol gateways are supported.`,\n );\n }\n if (gateway.auth !== 'iam') {\n throw new Error(\n `Gateway '${gateway.name}' uses auth='${gateway.auth}'. Agent connections currently require the gateway to use IAM authentication.`,\n );\n }\n if (agentComponent.auth && agentComponent.auth !== 'iam') {\n throw new Error(\n `Agent '${agentComponent.name}' uses auth='${agentComponent.auth}'. Only IAM-authenticated agents can connect to IAM gateways.`,\n );\n }\n\n const gatewayClassName = gateway.rc;\n const gatewayKebabCase = kebabCase(gatewayClassName);\n // A gateway is its own standalone project, so it exposes plain serve / dev.\n const gatewayServeTargetName = 'serve';\n const gatewayDevTargetName = 'dev';\n\n const npmScope = getNpmScope(tree);\n\n // 1. Ensure the shared agent-connection project exists + has the gateway\n // core client template.\n await ensureTypeScriptAgentConnectionProject(tree, DEPENDENCIES);\n await addTypeScriptCoreClient(tree, 'gateway', DEPENDENCIES);\n\n // 2. Generate the per-connection <Gateway>Client into app/. Local mode\n // points at the gateway project's local gateway port.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'agent-connection', 'app'),\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'app'),\n {\n gatewayKebabCase,\n gatewayClassName,\n gatewayPort: gateway.port,\n ...esmVars(tree),\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Re-export from the agent-connection index\n await addStarExport(\n tree,\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'),\n `./app/${gatewayKebabCase}-client-strands.js`,\n );\n\n // 3. AST-transform agent.ts to add the gateway client (an McpClient in\n // both deployed and local modes) to the agent's tools.\n const agentSourceDir = joinPathFragments(\n sourceProject.root,\n agentComponent.path ?? 'src',\n );\n const agentFilePath = joinPathFragments(agentSourceDir, 'agent.ts');\n\n if (tree.exists(agentFilePath)) {\n const clientClassName = `${gatewayClassName}ClientStrands`;\n const clientVarName =\n gatewayClassName.charAt(0).toLowerCase() + gatewayClassName.slice(1);\n\n await addDestructuredImport(\n tree,\n agentFilePath,\n [clientClassName],\n `@${npmScope}/agent-connection`,\n );\n await addTypeScriptClientToAgent(\n tree,\n agentFilePath,\n clientClassName,\n clientVarName,\n );\n }\n\n // 4. Wire dev chain — agent's dev depends on gateway's\n // aggregator target, which transitively starts each attached MCP server.\n const agentName = agentComponent.name ?? 'agent';\n const serveTargetName = `${agentName}-serve`;\n const devTargetName = `${agentName}-dev`;\n let projectConfigChanged = false;\n if (sourceProject.targets?.[serveTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, serveTargetName, {\n projects: [targetProject.name],\n target: gatewayServeTargetName,\n });\n projectConfigChanged = true;\n }\n if (sourceProject.targets?.[devTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTargetName, {\n projects: [targetProject.name],\n target: gatewayDevTargetName,\n });\n projectConfigChanged = true;\n }\n if (projectConfigChanged) {\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // 5. Dependencies\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: sourceProject.root });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(sourceProject, agentFilePath),\n gatewayClassName,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAgentGatewayConnectionGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","readAgentCoreGatewayMetadata","addTsDependencies","AGENT_CONNECTION_DEPENDENCIES","AGENT_CONNECTION_PROJECT_DIR","addTypeScriptClientToAgent","addTypeScriptCoreClient","ensureTypeScriptAgentConnectionProject","addDestructuredImport","addStarExport","declareDependencies","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","esmVars","kebabCase","getNpmScope","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","ts","name","TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO","filename","tsAgentGatewayConnectionGenerator","tree","options","sourceProject","targetProject","agentComponent","sourceComponent","Error","gateway","protocol","auth","gatewayClassName","rc","gatewayKebabCase","gatewayServeTargetName","gatewayDevTargetName","npmScope","dirname","gatewayPort","port","overwriteStrategy","KeepExisting","agentSourceDir","root","path","agentFilePath","exists","clientClassName","clientVarName","charAt","toLowerCase","slice","agentName","serveTargetName","devTargetName","projectConfigChanged","targets","projects","target","projectRoot","sourcePath","preferInstallDependencies","languages"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/gateway-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { readAgentCoreGatewayMetadata } from '../../../agentcore-gateway/generator.js';\nimport { addTsDependencies } from '../../../utils/add-dependencies.js';\nimport {\n AGENT_CONNECTION_DEPENDENCIES,\n AGENT_CONNECTION_PROJECT_DIR,\n addTypeScriptClientToAgent,\n addTypeScriptCoreClient,\n ensureTypeScriptAgentConnectionProject,\n} from '../../../utils/agent-connection/agent-connection.js';\nimport { addDestructuredImport, addStarExport } from '../../../utils/ast.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { installDependencies } from '../../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport { esmVars } from '../../../utils/module-format.js';\nimport { kebabCase } from '../../../utils/names.js';\nimport { getNpmScope } from '../../../utils/npm-scope.js';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport { toProjectRelativePath } from '../../../utils/paths.js';\nimport type { TsAgentGatewayConnectionGeneratorSchema } from './schema';\n\n// The gateway core client + vended client need these whatever the connection's\n// options, so no entry is conditional.\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n { name: '@modelcontextprotocol/sdk' },\n { name: '@strands-agents/sdk' },\n { name: '@aws-lambda-powertools/parameters' },\n { name: '@aws-sdk/client-appconfigdata' },\n { name: 'aws4fetch' },\n { name: '@aws-sdk/credential-providers' },\n ...ownedElsewhere(AGENT_CONNECTION_DEPENDENCIES),\n ],\n});\n\nexport const TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsAgentGatewayConnectionGenerator = async (\n tree: Tree,\n options: TsAgentGatewayConnectionGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentComponent = options.sourceComponent;\n if (!agentComponent) {\n throw new Error(\n 'sourceComponent must be provided for ts#agent -> agentcore-gateway connections',\n );\n }\n const gateway = readAgentCoreGatewayMetadata(targetProject);\n\n if (gateway.protocol !== 'mcp') {\n throw new Error(\n `Gateway '${gateway.name}' has protocol='${gateway.protocol}'. Only MCP-protocol gateways are supported.`,\n );\n }\n if (gateway.auth !== 'iam') {\n throw new Error(\n `Gateway '${gateway.name}' uses auth='${gateway.auth}'. Agent connections currently require the gateway to use IAM authentication.`,\n );\n }\n\n const gatewayClassName = gateway.rc;\n const gatewayKebabCase = kebabCase(gatewayClassName);\n // A gateway is its own standalone project, so it exposes plain serve / dev.\n const gatewayServeTargetName = 'serve';\n const gatewayDevTargetName = 'dev';\n\n const npmScope = getNpmScope(tree);\n\n // 1. Ensure the shared agent-connection project exists + has the gateway\n // core client template.\n await ensureTypeScriptAgentConnectionProject(tree, DEPENDENCIES);\n await addTypeScriptCoreClient(tree, 'gateway', DEPENDENCIES);\n\n // 2. Generate the per-connection <Gateway>Client into app/. Local mode\n // points at the gateway project's local gateway port.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'agent-connection', 'app'),\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'app'),\n {\n gatewayKebabCase,\n gatewayClassName,\n gatewayPort: gateway.port,\n ...esmVars(tree),\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Re-export from the agent-connection index\n await addStarExport(\n tree,\n joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'),\n `./app/${gatewayKebabCase}-client-strands.js`,\n );\n\n // 3. AST-transform agent.ts to add the gateway client (an McpClient in\n // both deployed and local modes) to the agent's tools.\n const agentSourceDir = joinPathFragments(\n sourceProject.root,\n agentComponent.path ?? 'src',\n );\n const agentFilePath = joinPathFragments(agentSourceDir, 'agent.ts');\n\n if (tree.exists(agentFilePath)) {\n const clientClassName = `${gatewayClassName}ClientStrands`;\n const clientVarName =\n gatewayClassName.charAt(0).toLowerCase() + gatewayClassName.slice(1);\n\n await addDestructuredImport(\n tree,\n agentFilePath,\n [clientClassName],\n `@${npmScope}/agent-connection`,\n );\n await addTypeScriptClientToAgent(\n tree,\n agentFilePath,\n clientClassName,\n clientVarName,\n );\n }\n\n // 4. Wire dev chain — agent's dev depends on gateway's\n // aggregator target, which transitively starts each attached MCP server.\n const agentName = agentComponent.name ?? 'agent';\n const serveTargetName = `${agentName}-serve`;\n const devTargetName = `${agentName}-dev`;\n let projectConfigChanged = false;\n if (sourceProject.targets?.[serveTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, serveTargetName, {\n projects: [targetProject.name],\n target: gatewayServeTargetName,\n });\n projectConfigChanged = true;\n }\n if (sourceProject.targets?.[devTargetName]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTargetName, {\n projects: [targetProject.name],\n target: gatewayDevTargetName,\n });\n projectConfigChanged = true;\n }\n if (projectConfigChanged) {\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // 5. Dependencies\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: sourceProject.root });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(sourceProject, agentFilePath),\n gatewayClassName,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAgentGatewayConnectionGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","readAgentCoreGatewayMetadata","addTsDependencies","AGENT_CONNECTION_DEPENDENCIES","AGENT_CONNECTION_PROJECT_DIR","addTypeScriptClientToAgent","addTypeScriptCoreClient","ensureTypeScriptAgentConnectionProject","addDestructuredImport","addStarExport","declareDependencies","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","esmVars","kebabCase","getNpmScope","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","ts","name","TS_AGENT_GATEWAY_CONNECTION_GENERATOR_INFO","filename","tsAgentGatewayConnectionGenerator","tree","options","sourceProject","targetProject","agentComponent","sourceComponent","Error","gateway","protocol","auth","gatewayClassName","rc","gatewayKebabCase","gatewayServeTargetName","gatewayDevTargetName","npmScope","dirname","gatewayPort","port","overwriteStrategy","KeepExisting","agentSourceDir","root","path","agentFilePath","exists","clientClassName","clientVarName","charAt","toLowerCase","slice","agentName","serveTargetName","devTargetName","projectConfigChanged","targets","projects","target","projectRoot","sourcePath","preferInstallDependencies","languages"],"mappings":"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"}
@@ -45,7 +45,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
45
45
  readonly name: "@aws-sdk/client-s3";
46
46
  } & {
47
47
  versionOnly: true;
48
- }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
48
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
49
49
  export declare const TS_AGENT_MCP_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
50
50
  export declare const tsAgentMcpConnectionGenerator: (tree: Tree, options: TsAgentMcpConnectionGeneratorSchema) => Promise<GeneratorCallback>;
51
51
  export default tsAgentMcpConnectionGenerator;
@@ -219,7 +219,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
219
219
  when: (m: TsAgentReactConnectionMetadata) => boolean;
220
220
  } & {
221
221
  versionOnly: true;
222
- }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAgentReactConnectionMetadata>[]>;
222
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAgentReactConnectionMetadata>[]>;
223
223
  export declare const TS_AGENT_REACT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
224
224
  /**
225
225
  * Options for routing the website's requests to the agent through an
@@ -32,6 +32,7 @@
32
32
  "auth": {
33
33
  "type": "string",
34
34
  "description": "The method used to authenticate with your Agent. Only applicable when infra is set (ignored when infra is none).",
35
+ "x-when": { "infra": ["agentcore", "agentcore-ecr"] },
35
36
  "default": "iam",
36
37
  "enum": ["iam", "cognito"],
37
38
  "x-prompt": "How would you like to authenticate with your Agent?",
@@ -39,6 +39,7 @@
39
39
  "namespace": {
40
40
  "type": "string",
41
41
  "description": "The namespace for the Smithy API (only applicable for the smithy framework). Defaults to your monorepo scope",
42
+ "x-when": { "framework": "smithy" },
42
43
  "x-prompt": "What namespace would you like your API to have? i.e: com.example"
43
44
  },
44
45
  "integrationPattern": {
@@ -97,6 +98,7 @@
97
98
  "description": "The type of infrastructure to use to deploy this API.",
98
99
  "default": "rest-lambda",
99
100
  "enum": ["rest-lambda", "http-lambda", "none"],
101
+ "x-value-when": { "http-lambda": { "framework": "trpc" } },
100
102
  "x-prompt": "What infrastructure would you like to deploy your API with?",
101
103
  "x-priority": "important"
102
104
  },
@@ -44,7 +44,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
44
44
  readonly when: (m: TsAstroDocsMetadata) => boolean;
45
45
  readonly dev: true;
46
46
  readonly root: true;
47
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAstroDocsMetadata>[]>;
47
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAstroDocsMetadata>[]>;
48
48
  export declare const TS_ASTRO_DOCS_GENERATOR_INFO: NxGeneratorInfo;
49
49
  export declare const tsAstroDocsGenerator: (tree: Tree, schema: TsAstroDocsGeneratorSchema) => Promise<GeneratorCallback>;
50
50
  export default tsAstroDocsGenerator;
@@ -28,7 +28,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
28
28
  readonly name: "@types/node";
29
29
  } & {
30
30
  versionOnly: true;
31
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
31
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
32
32
  export declare const TS_DCR_PROXY_GENERATOR_INFO: NxGeneratorInfo;
33
33
  export declare const tsDcrProxyGenerator: (tree: Tree, options: TsDcrProxyGeneratorSchema) => Promise<GeneratorCallback>;
34
34
  export default tsDcrProxyGenerator;
@@ -45,7 +45,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
45
45
  readonly name: "tsx";
46
46
  } & {
47
47
  versionOnly: true;
48
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
48
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
49
49
  export declare const TS_DYNAMODB_GENERATOR_INFO: NxGeneratorInfo;
50
50
  export declare const tsDynamoDBGenerator: (tree: Tree, options: TsDynamoDBGeneratorSchema) => Promise<GeneratorCallback>;
51
51
  export default tsDynamoDBGenerator;
@@ -42,7 +42,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
42
42
  readonly name: "@types/node";
43
43
  } & {
44
44
  versionOnly: true;
45
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
45
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
46
46
  export declare const TS_LAMBDA_FUNCTION_GENERATOR_INFO: NxGeneratorInfo;
47
47
  /**
48
48
  * Generates a TypeScript Lambda Function to add to a TypeScript project
@@ -24,7 +24,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
24
24
  readonly name: "@types/node";
25
25
  readonly dev: true;
26
26
  readonly root: true;
27
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
27
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
28
28
  export declare const TS_LIB_GENERATOR_INFO: NxGeneratorInfo;
29
29
  /**
30
30
  * Consumes build artifacts produced by a project's dependencies, so a task
@@ -24,6 +24,7 @@
24
24
  "auth": {
25
25
  "type": "string",
26
26
  "description": "The method used to authenticate with your MCP server. Only applicable when infra is set (ignored when infra is none).",
27
+ "x-when": { "infra": ["agentcore", "agentcore-ecr"] },
27
28
  "default": "iam",
28
29
  "enum": ["iam", "cognito"],
29
30
  "x-prompt": "How would you like to authenticate with your MCP server?",
@@ -81,7 +81,7 @@ exports[`nx-generator generator > within @aws/nx-plugin > should generate an exa
81
81
  "import { Tree } from '@nx/devkit';
82
82
  import { fooBarGenerator, FOO_BAR_GENERATOR_INFO } from './generator';
83
83
  import { createTreeUsingTsSolutionSetup } from '../utils/test';
84
- import { expectHasMetricTags } from '../utils/metrics.spec';
84
+ import { expectHasMetricTags } from '../utils/metrics-assertions';
85
85
  import { sharedConstructsGenerator } from '../utils/shared-constructs';
86
86
 
87
87
  describe('foo#bar generator', () => {
@@ -1,7 +1,7 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  import { <%- nameCamelCase %>Generator, <%- nameUpperSnakeCase %>_GENERATOR_INFO } from './generator';
3
3
  import { createTreeUsingTsSolutionSetup } from '<%- pathToProjectSourceRoot %>utils/test';
4
- import { expectHasMetricTags } from '<%- pathToProjectSourceRoot %>utils/metrics.spec';
4
+ import { expectHasMetricTags } from '<%- pathToProjectSourceRoot %>utils/metrics-assertions';
5
5
  import { sharedConstructsGenerator } from '<%- pathToProjectSourceRoot %>utils/shared-constructs';
6
6
 
7
7
  describe('<%- name %> generator', () => {
@@ -6,7 +6,7 @@ import { type GeneratorCallback, type Tree } from '@nx/devkit';
6
6
  import type { TsNxGeneratorGeneratorSchema } from './schema';
7
7
  export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
8
8
  readonly name: "@nx/devkit";
9
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
9
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
10
10
  export declare const NX_GENERATOR_GENERATOR_INFO: import("../../utils/generators").GeneratorInfo;
11
11
  export declare const tsNxGeneratorGenerator: (tree: Tree, options: TsNxGeneratorGeneratorSchema) => Promise<GeneratorCallback | void>;
12
12
  export default tsNxGeneratorGenerator;
@@ -7,7 +7,7 @@ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsNxMigrationGeneratorSchema } from './schema';
8
8
  export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
9
9
  readonly name: "@nx/devkit";
10
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
10
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
11
11
  export declare const NX_MIGRATION_GENERATOR_INFO: NxGeneratorInfo;
12
12
  /**
13
13
  * Scaffolds a migration in an Nx Plugin project and registers it in the
@@ -7,7 +7,7 @@ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsNxPluginGeneratorSchema } from './schema';
8
8
  export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
9
9
  readonly name: "@nx/devkit";
10
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
10
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
11
11
  export declare const TS_NX_PLUGIN_GENERATOR_INFO: NxGeneratorInfo;
12
12
  export declare const tsNxPluginGenerator: (tree: Tree, options: TsNxPluginGeneratorSchema) => Promise<GeneratorCallback>;
13
13
  export default tsNxPluginGenerator;
@@ -101,7 +101,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js"
101
101
  readonly name: "mysql2";
102
102
  } & {
103
103
  versionOnly: true;
104
- }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsRdbMetadata>[]>;
104
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsRdbMetadata>[]>;
105
105
  export declare const TS_RDB_GENERATOR_INFO: NxGeneratorInfo;
106
106
  export declare const tsRdbGenerator: (tree: Tree, options: TsRdbGeneratorSchema) => Promise<GeneratorCallback>;
107
107
  export default tsRdbGenerator;
@@ -98,7 +98,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.
98
98
  readonly root: true;
99
99
  } & {
100
100
  versionOnly: true;
101
- }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", AgUiMetadata>[]>;
101
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"ruff" | "a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "pydantic" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", AgUiMetadata>[]>;
102
102
  export type AgUiAuth = 'iam' | 'cognito' | 'none';
103
103
  export type AgUiTheme = 'cloudscape' | 'shadcn' | 'default';
104
104
  export interface AgUiReactConnectionOptions {
@@ -1241,11 +1241,11 @@ exports[`react-website generator > Tanstack router integration > should generate
1241
1241
  "name": "@proj/source",
1242
1242
  "dependencies": {},
1243
1243
  "devDependencies": {
1244
- "@nx/js": "23.2.0",
1244
+ "@nx/js": "23.2.1",
1245
1245
  "@nx/react": "catalog:",
1246
- "@nx/vite": "23.2.0",
1246
+ "@nx/vite": "23.2.1",
1247
1247
  "@nx/vitest": "catalog:",
1248
- "@nx/web": "23.2.0",
1248
+ "@nx/web": "23.2.1",
1249
1249
  "@swc/helpers": "~0.5.18",
1250
1250
  "@tailwindcss/vite": "catalog:",
1251
1251
  "@testing-library/dom": "10.4.0",
@@ -2330,7 +2330,7 @@ catalog:
2330
2330
  vitest: 4.1.11
2331
2331
  '@vitest/coverage-v8': 4.1.11
2332
2332
  jsdom: 29.1.1
2333
- '@nx/vitest': 23.2.0
2333
+ '@nx/vitest': 23.2.1
2334
2334
  constructs: 10.8.1
2335
2335
  aws-cdk-lib: 2.268.0
2336
2336
  react: 19.2.8
@@ -2339,7 +2339,7 @@ catalog:
2339
2339
  '@cloudscape-design/board-components': 3.0.222
2340
2340
  '@cloudscape-design/global-styles': 1.0.67
2341
2341
  tailwindcss: 4.3.3
2342
- '@nx/react': 23.2.0
2342
+ '@nx/react': 23.2.1
2343
2343
  '@vitest/ui': 4.1.11
2344
2344
  '@tailwindcss/vite': 4.3.3
2345
2345
  "
@@ -3117,11 +3117,11 @@ exports[`react-website generator > Tanstack router integration > should generate
3117
3117
  "name": "@proj/source",
3118
3118
  "dependencies": {},
3119
3119
  "devDependencies": {
3120
- "@nx/js": "23.2.0",
3120
+ "@nx/js": "23.2.1",
3121
3121
  "@nx/react": "catalog:",
3122
- "@nx/vite": "23.2.0",
3122
+ "@nx/vite": "23.2.1",
3123
3123
  "@nx/vitest": "catalog:",
3124
- "@nx/web": "23.2.0",
3124
+ "@nx/web": "23.2.1",
3125
3125
  "@swc/helpers": "~0.5.18",
3126
3126
  "@tailwindcss/vite": "catalog:",
3127
3127
  "@tanstack/router-generator": "catalog:",
@@ -4210,7 +4210,7 @@ catalog:
4210
4210
  vitest: 4.1.11
4211
4211
  '@vitest/coverage-v8': 4.1.11
4212
4212
  jsdom: 29.1.1
4213
- '@nx/vitest': 23.2.0
4213
+ '@nx/vitest': 23.2.1
4214
4214
  constructs: 10.8.1
4215
4215
  aws-cdk-lib: 2.268.0
4216
4216
  react: 19.2.8
@@ -4220,7 +4220,7 @@ catalog:
4220
4220
  '@cloudscape-design/global-styles': 1.0.67
4221
4221
  tailwindcss: 4.3.3
4222
4222
  '@tanstack/react-router': 1.170.32
4223
- '@nx/react': 23.2.0
4223
+ '@nx/react': 23.2.1
4224
4224
  '@vitest/ui': 4.1.11
4225
4225
  '@tailwindcss/vite': 4.3.3
4226
4226
  '@tanstack/router-plugin': 1.168.35
@@ -40,6 +40,7 @@
40
40
  "type": "string",
41
41
  "description": "The preferred UX provider.",
42
42
  "enum": ["none", "cloudscape", "shadcn"],
43
+ "x-value-when": { "shadcn": { "tailwind": "true" } },
43
44
  "x-priority": "important",
44
45
  "default": "shadcn",
45
46
  "x-prompt": {
@@ -47,6 +47,7 @@
47
47
  "type": "string",
48
48
  "description": "The preferred UX provider.",
49
49
  "enum": ["none", "cloudscape", "shadcn"],
50
+ "x-value-when": { "shadcn": { "tailwind": "true" } },
50
51
  "x-priority": "important",
51
52
  "default": "shadcn",
52
53
  "x-prompt": {
@@ -395,7 +395,7 @@ resource "aws_bedrockagentcore_harness" "this" {
395
395
  execution_role_arn = local.execution_role_arn
396
396
 
397
397
  allowed_tools = var.allowed_tools
398
- environment_variables = var.environment_variables
398
+ environment_variables = coalesce(var.environment_variables, {})
399
399
  max_iterations = var.max_iterations
400
400
  timeout_seconds = var.timeout_seconds
401
401
 
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import type { Tree } from '@nx/devkit';
6
+ /**
7
+ * Asserts that the MetricsAspect tags array in the CDK app.ts file
8
+ * contains the expected metric tags.
9
+ *
10
+ * Uses simple string matching on the file content — the tags array
11
+ * in the generated file has the form: const tags: string[] = ['g1', 'g2']
12
+ */
13
+ export declare const expectHasMetricTags: (tree: Tree, ...metrics: string[]) => void;
14
+ /**
15
+ * Asserts that the Terraform metrics locals block contains the expected
16
+ * metric_id, metric_version, and metric_tags values.
17
+ */
18
+ export declare const expectHasTerraformMetricTags: (tree: Tree, ...metrics: string[]) => void;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { expect } from "vitest";
5
+ import { METRIC_ID, METRICS_ASPECT_FILE_PATH, TERRAFORM_METRICS_FILE_PATH } from "./metrics.js";
6
+ /**
7
+ * Asserts that the MetricsAspect tags array in the CDK app.ts file
8
+ * contains the expected metric tags.
9
+ *
10
+ * Uses simple string matching on the file content — the tags array
11
+ * in the generated file has the form: const tags: string[] = ['g1', 'g2']
12
+ */ export const expectHasMetricTags = (tree, ...metrics)=>{
13
+ const content = tree.read(METRICS_ASPECT_FILE_PATH, 'utf-8');
14
+ expect(content).toBeTruthy();
15
+ // Extract the tags array content from the file
16
+ const tagsMatch = content.match(/const tags:\s*string\[\]\s*=\s*\[([^\]]*)\]/);
17
+ expect(tagsMatch).toBeTruthy();
18
+ // Parse individual tag strings from the array literal
19
+ const tagsContent = tagsMatch[1];
20
+ const tags = tagsContent ? tagsContent.match(/'([^']*)'/g)?.map((t)=>t.slice(1, -1)) ?? [] : [];
21
+ expect(tags).toEqual(expect.arrayContaining(metrics));
22
+ };
23
+ /**
24
+ * Asserts that the Terraform metrics locals block contains the expected
25
+ * metric_id, metric_version, and metric_tags values.
26
+ */ export const expectHasTerraformMetricTags = (tree, ...metrics)=>{
27
+ const content = tree.read(TERRAFORM_METRICS_FILE_PATH, 'utf-8');
28
+ expect(content).toBeTruthy();
29
+ // Check metric_id
30
+ expect(content).toContain(`metric_id = "${METRIC_ID}"`);
31
+ // Check metric_version
32
+ expect(content).toContain('metric_version = "0.0.0"');
33
+ // Check metric_tags
34
+ const tagsMatch = content.match(/metric_tags\s*=\s*\[([^\]]*)\]/);
35
+ expect(tagsMatch).toBeTruthy();
36
+ const tags = tagsMatch[1].match(/"([^"]*)"/g)?.map((t)=>t.slice(1, -1)) ?? [];
37
+ metrics.forEach((metric)=>{
38
+ expect(tags).toContain(metric);
39
+ });
40
+ };
41
+
42
+ //# sourceMappingURL=metrics-assertions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/metrics-assertions.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Tree } from '@nx/devkit';\nimport { expect } from 'vitest';\nimport {\n METRIC_ID,\n METRICS_ASPECT_FILE_PATH,\n TERRAFORM_METRICS_FILE_PATH,\n} from './metrics.js';\n\n/**\n * Asserts that the MetricsAspect tags array in the CDK app.ts file\n * contains the expected metric tags.\n *\n * Uses simple string matching on the file content — the tags array\n * in the generated file has the form: const tags: string[] = ['g1', 'g2']\n */\nexport const expectHasMetricTags = (tree: Tree, ...metrics: string[]) => {\n const content = tree.read(METRICS_ASPECT_FILE_PATH, 'utf-8');\n expect(content).toBeTruthy();\n\n // Extract the tags array content from the file\n const tagsMatch = content!.match(\n /const tags:\\s*string\\[\\]\\s*=\\s*\\[([^\\]]*)\\]/,\n );\n expect(tagsMatch).toBeTruthy();\n\n // Parse individual tag strings from the array literal\n const tagsContent = tagsMatch![1];\n const tags = tagsContent\n ? (tagsContent.match(/'([^']*)'/g)?.map((t) => t.slice(1, -1)) ?? [])\n : [];\n\n expect(tags).toEqual(expect.arrayContaining(metrics));\n};\n\n/**\n * Asserts that the Terraform metrics locals block contains the expected\n * metric_id, metric_version, and metric_tags values.\n */\nexport const expectHasTerraformMetricTags = (\n tree: Tree,\n ...metrics: string[]\n) => {\n const content = tree.read(TERRAFORM_METRICS_FILE_PATH, 'utf-8');\n expect(content).toBeTruthy();\n\n // Check metric_id\n expect(content).toContain(`metric_id = \"${METRIC_ID}\"`);\n\n // Check metric_version\n expect(content).toContain('metric_version = \"0.0.0\"');\n\n // Check metric_tags\n const tagsMatch = content!.match(/metric_tags\\s*=\\s*\\[([^\\]]*)\\]/);\n expect(tagsMatch).toBeTruthy();\n const tags =\n tagsMatch![1].match(/\"([^\"]*)\"/g)?.map((t) => t.slice(1, -1)) ?? [];\n metrics.forEach((metric) => {\n expect(tags).toContain(metric);\n });\n};\n"],"names":["expect","METRIC_ID","METRICS_ASPECT_FILE_PATH","TERRAFORM_METRICS_FILE_PATH","expectHasMetricTags","tree","metrics","content","read","toBeTruthy","tagsMatch","match","tagsContent","tags","map","t","slice","toEqual","arrayContaining","expectHasTerraformMetricTags","toContain","forEach","metric"],"mappings":"AAAA;;;CAGC,GAED,SAASA,MAAM,QAAQ,SAAS;AAChC,SACEC,SAAS,EACTC,wBAAwB,EACxBC,2BAA2B,QACtB,eAAe;AAEtB;;;;;;CAMC,GACD,OAAO,MAAMC,sBAAsB,CAACC,MAAY,GAAGC;IACjD,MAAMC,UAAUF,KAAKG,IAAI,CAACN,0BAA0B;IACpDF,OAAOO,SAASE,UAAU;IAE1B,+CAA+C;IAC/C,MAAMC,YAAYH,QAASI,KAAK,CAC9B;IAEFX,OAAOU,WAAWD,UAAU;IAE5B,sDAAsD;IACtD,MAAMG,cAAcF,SAAU,CAAC,EAAE;IACjC,MAAMG,OAAOD,cACRA,YAAYD,KAAK,CAAC,eAAeG,IAAI,CAACC,IAAMA,EAAEC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAClE,EAAE;IAENhB,OAAOa,MAAMI,OAAO,CAACjB,OAAOkB,eAAe,CAACZ;AAC9C,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAMa,+BAA+B,CAC1Cd,MACA,GAAGC;IAEH,MAAMC,UAAUF,KAAKG,IAAI,CAACL,6BAA6B;IACvDH,OAAOO,SAASE,UAAU;IAE1B,kBAAkB;IAClBT,OAAOO,SAASa,SAAS,CAAC,CAAC,aAAa,EAAEnB,UAAU,CAAC,CAAC;IAEtD,uBAAuB;IACvBD,OAAOO,SAASa,SAAS,CAAC;IAE1B,oBAAoB;IACpB,MAAMV,YAAYH,QAASI,KAAK,CAAC;IACjCX,OAAOU,WAAWD,UAAU;IAC5B,MAAMI,OACJH,SAAU,CAAC,EAAE,CAACC,KAAK,CAAC,eAAeG,IAAI,CAACC,IAAMA,EAAEC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE;IACrEV,QAAQe,OAAO,CAAC,CAACC;QACftB,OAAOa,MAAMO,SAAS,CAACE;IACzB;AACF,EAAE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The packages a client generated by `open-api#py-client` imports, at the
3
+ * versions the generator vends — so a worker runs the code under test against
4
+ * exactly what a consumer gets.
5
+ */
6
+ export declare const PY_CLIENT_VERIFIER_DEPENDENCIES: string[];
7
+ /** The type checker every Python worker installs alongside its dependencies. */
8
+ export declare const PY_VERIFIER_TYPE_CHECKER: string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { OPEN_API_PY_CLIENT_DEPENDENCIES } from "../../open-api/py-client/generator.js";
5
+ import { declaredNames } from "../declared-dependencies.js";
6
+ import { PY_VERSIONS, withPyVersions } from "../versions.js";
7
+ /**
8
+ * The packages a client generated by `open-api#py-client` imports, at the
9
+ * versions the generator vends — so a worker runs the code under test against
10
+ * exactly what a consumer gets.
11
+ */ export const PY_CLIENT_VERIFIER_DEPENDENCIES = withPyVersions(OPEN_API_PY_CLIENT_DEPENDENCIES, declaredNames(OPEN_API_PY_CLIENT_DEPENDENCIES.py));
12
+ /** The type checker every Python worker installs alongside its dependencies. */ export const PY_VERIFIER_TYPE_CHECKER = `ty${PY_VERSIONS.ty}`;
13
+
14
+ //# sourceMappingURL=python-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/test/python-dependencies.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { OPEN_API_PY_CLIENT_DEPENDENCIES } from '../../open-api/py-client/generator.js';\nimport { declaredNames } from '../declared-dependencies.js';\nimport { PY_VERSIONS, withPyVersions } from '../versions.js';\n\n/**\n * The packages a client generated by `open-api#py-client` imports, at the\n * versions the generator vends — so a worker runs the code under test against\n * exactly what a consumer gets.\n */\nexport const PY_CLIENT_VERIFIER_DEPENDENCIES: string[] = withPyVersions(\n OPEN_API_PY_CLIENT_DEPENDENCIES,\n declaredNames(OPEN_API_PY_CLIENT_DEPENDENCIES.py),\n);\n\n/** The type checker every Python worker installs alongside its dependencies. */\nexport const PY_VERIFIER_TYPE_CHECKER = `ty${PY_VERSIONS.ty}`;\n"],"names":["OPEN_API_PY_CLIENT_DEPENDENCIES","declaredNames","PY_VERSIONS","withPyVersions","PY_CLIENT_VERIFIER_DEPENDENCIES","py","PY_VERIFIER_TYPE_CHECKER","ty"],"mappings":"AAAA;;;CAGC,GACD,SAASA,+BAA+B,QAAQ,wCAAwC;AACxF,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,WAAW,EAAEC,cAAc,QAAQ,iBAAiB;AAE7D;;;;CAIC,GACD,OAAO,MAAMC,kCAA4CD,eACvDH,iCACAC,cAAcD,gCAAgCK,EAAE,GAChD;AAEF,8EAA8E,GAC9E,OAAO,MAAMC,2BAA2B,CAAC,EAAE,EAAEJ,YAAYK,EAAE,EAAE,CAAC"}