@aws/nx-plugin 1.0.0-rc.0 → 1.0.0-rc.1

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 (210) hide show
  1. package/package.json +1 -1
  2. package/src/connection/generator.js +2 -2
  3. package/src/connection/generator.js.map +1 -1
  4. package/src/infra/app/__snapshots__/generator.spec.ts.snap +11 -11
  5. package/src/infra/app/files/app/src/main.ts.template +2 -2
  6. package/src/infra/app/generator.js +9 -9
  7. package/src/infra/app/generator.js.map +1 -1
  8. package/src/infra/app/schema.d.ts +1 -1
  9. package/src/infra/app/schema.json +1 -1
  10. package/src/mcp-server/guide-pipeline.js +8 -10
  11. package/src/mcp-server/guide-pipeline.js.map +1 -1
  12. package/src/mcp-server/tools/create-workspace-command.js +1 -1
  13. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  14. package/src/mcp-server/tools/generator-guide.js +2 -2
  15. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  16. package/src/preset/__snapshots__/generator.spec.ts.snap +1 -1
  17. package/src/preset/generator.d.ts +1 -1
  18. package/src/preset/generator.js +4 -6
  19. package/src/preset/generator.js.map +1 -1
  20. package/src/preset/schema.d.ts +5 -5
  21. package/src/preset/schema.json +4 -4
  22. package/src/py/agent/__snapshots__/generator.spec.ts.snap +1 -1
  23. package/src/py/agent/a2a-connection/generator.js +4 -3
  24. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  25. package/src/py/agent/files/deploy/Dockerfile.template +3 -3
  26. package/src/py/agent/generator.js +23 -23
  27. package/src/py/agent/generator.js.map +1 -1
  28. package/src/py/agent/mcp-connection/generator.js +1 -1
  29. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  30. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
  31. package/src/py/agent/react-connection/generator.js +4 -4
  32. package/src/py/agent/react-connection/generator.js.map +1 -1
  33. package/src/py/agent/schema.d.ts +8 -8
  34. package/src/py/agent/schema.json +18 -18
  35. package/src/py/api/generator.js +2 -2
  36. package/src/py/api/generator.js.map +1 -1
  37. package/src/py/api/schema.d.ts +4 -6
  38. package/src/py/api/schema.json +15 -15
  39. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
  40. package/src/py/fast-api/generator.js +10 -10
  41. package/src/py/fast-api/generator.js.map +1 -1
  42. package/src/py/fast-api/react/generator.js +1 -1
  43. package/src/py/fast-api/react/generator.js.map +1 -1
  44. package/src/py/fast-api/schema.d.ts +4 -6
  45. package/src/py/fast-api/schema.json +15 -15
  46. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  47. package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
  48. package/src/py/lambda-function/generator.js +9 -9
  49. package/src/py/lambda-function/generator.js.map +1 -1
  50. package/src/py/lambda-function/schema.d.ts +4 -4
  51. package/src/py/lambda-function/schema.json +7 -7
  52. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
  53. package/src/py/mcp-server/generator.js +11 -11
  54. package/src/py/mcp-server/generator.js.map +1 -1
  55. package/src/py/mcp-server/schema.d.ts +5 -9
  56. package/src/py/mcp-server/schema.json +15 -15
  57. package/src/py/project/generator.js +1 -1
  58. package/src/py/project/generator.js.map +1 -1
  59. package/src/py/project/schema.d.ts +1 -1
  60. package/src/py/project/schema.json +2 -2
  61. package/src/smithy/project/generator.js +2 -2
  62. package/src/smithy/project/generator.js.map +1 -1
  63. package/src/smithy/react-connection/generator.js +1 -1
  64. package/src/smithy/react-connection/generator.js.map +1 -1
  65. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +4 -4
  66. package/src/smithy/ts/api/generator.js +8 -8
  67. package/src/smithy/ts/api/generator.js.map +1 -1
  68. package/src/smithy/ts/api/schema.d.ts +4 -6
  69. package/src/smithy/ts/api/schema.json +15 -15
  70. package/src/terraform/project/generator.js +1 -1
  71. package/src/terraform/project/generator.js.map +1 -1
  72. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
  73. package/src/trpc/backend/files/src/client/index.ts.template +5 -5
  74. package/src/trpc/backend/files/src/handler.ts.template +2 -2
  75. package/src/trpc/backend/generator.js +22 -22
  76. package/src/trpc/backend/generator.js.map +1 -1
  77. package/src/trpc/backend/schema.d.ts +4 -4
  78. package/src/trpc/backend/schema.json +15 -15
  79. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
  80. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
  81. package/src/trpc/react/generator.js +6 -5
  82. package/src/trpc/react/generator.js.map +1 -1
  83. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1 -1
  84. package/src/ts/agent/a2a-connection/generator.js +4 -3
  85. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  86. package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
  87. package/src/ts/agent/generator.js +22 -22
  88. package/src/ts/agent/generator.js.map +1 -1
  89. package/src/ts/agent/mcp-connection/generator.js +1 -1
  90. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  91. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
  92. package/src/ts/agent/react-connection/generator.js +6 -6
  93. package/src/ts/agent/react-connection/generator.js.map +1 -1
  94. package/src/ts/agent/react-connection/serve-local.js +2 -2
  95. package/src/ts/agent/schema.d.ts +8 -8
  96. package/src/ts/agent/schema.json +18 -18
  97. package/src/ts/api/generator.js +4 -4
  98. package/src/ts/api/generator.js.map +1 -1
  99. package/src/ts/api/schema.d.ts +4 -4
  100. package/src/ts/api/schema.json +15 -15
  101. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  102. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
  103. package/src/ts/lambda-function/generator.js +12 -12
  104. package/src/ts/lambda-function/generator.js.map +1 -1
  105. package/src/ts/lambda-function/schema.d.ts +4 -4
  106. package/src/ts/lambda-function/schema.json +7 -7
  107. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
  108. package/src/ts/mcp-server/generator.js +12 -12
  109. package/src/ts/mcp-server/generator.js.map +1 -1
  110. package/src/ts/mcp-server/schema.d.ts +5 -9
  111. package/src/ts/mcp-server/schema.json +15 -15
  112. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +1 -1
  113. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
  114. package/src/ts/nx-plugin/generator.js +2 -2
  115. package/src/ts/nx-plugin/generator.js.map +1 -1
  116. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +2 -2
  117. package/src/ts/rdb/files/prisma.config.ts.template +1 -1
  118. package/src/ts/rdb/files/scripts/docker-pull.ts.template +1 -1
  119. package/src/ts/rdb/files/scripts/docker-start.ts.template +3 -3
  120. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
  121. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
  122. package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
  123. package/src/ts/rdb/files/src/prisma.ts.template +2 -2
  124. package/src/ts/rdb/generator.js +18 -18
  125. package/src/ts/rdb/generator.js.map +1 -1
  126. package/src/ts/rdb/schema.d.ts +5 -5
  127. package/src/ts/rdb/schema.json +13 -13
  128. package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
  129. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
  130. package/src/ts/react-website/agui/generator.d.ts +2 -2
  131. package/src/ts/react-website/agui/generator.js +9 -9
  132. package/src/ts/react-website/agui/generator.js.map +1 -1
  133. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +23 -23
  134. package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
  135. package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
  136. package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
  137. package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
  138. package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
  139. package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
  140. package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
  141. package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
  142. package/src/ts/react-website/app/generator.d.ts +3 -3
  143. package/src/ts/react-website/app/generator.js +27 -27
  144. package/src/ts/react-website/app/generator.js.map +1 -1
  145. package/src/ts/react-website/app/schema.d.ts +6 -6
  146. package/src/ts/react-website/app/schema.json +13 -13
  147. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
  148. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -3
  149. package/src/ts/react-website/cognito-auth/generator.js +9 -9
  150. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  151. package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
  152. package/src/ts/react-website/cognito-auth/schema.json +4 -4
  153. package/src/ts/website/app/schema.d.ts +6 -6
  154. package/src/ts/website/app/schema.json +13 -13
  155. package/src/ts/website/auth/generator.js +1 -1
  156. package/src/ts/website/auth/generator.js.map +1 -1
  157. package/src/ts/website/auth/schema.d.ts +2 -2
  158. package/src/ts/website/auth/schema.json +4 -4
  159. package/src/utils/agent-connection/agent-connection.js +1 -1
  160. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  161. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +9 -9
  162. package/src/utils/agent-core-constructs/agent-core-constructs.js +11 -13
  163. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  164. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
  165. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  166. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  167. package/src/utils/api-constructs/api-constructs.d.ts +3 -3
  168. package/src/utils/api-constructs/api-constructs.js +4 -6
  169. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  170. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
  171. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
  172. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
  173. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
  174. package/src/utils/api-constructs/open-api-metadata.d.ts +3 -3
  175. package/src/utils/api-constructs/open-api-metadata.js +2 -2
  176. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  177. package/src/utils/commands.d.ts +1 -1
  178. package/src/utils/commands.js +2 -2
  179. package/src/utils/commands.js.map +1 -1
  180. package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
  181. package/src/utils/config/index.d.ts +2 -2
  182. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
  183. package/src/utils/connection/open-api/react.d.ts +1 -1
  184. package/src/utils/connection/open-api/react.js +3 -3
  185. package/src/utils/containers.d.ts +5 -5
  186. package/src/utils/containers.js +6 -6
  187. package/src/utils/containers.js.map +1 -1
  188. package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
  189. package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
  190. package/src/utils/function-constructs/function-constructs.d.ts +4 -4
  191. package/src/utils/function-constructs/function-constructs.js +5 -7
  192. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  193. package/src/utils/iac-providers.d.ts +3 -3
  194. package/src/utils/iac-providers.js +1 -1
  195. package/src/utils/iac.d.ts +2 -2
  196. package/src/utils/iac.js +6 -6
  197. package/src/utils/iac.js.map +1 -1
  198. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  199. package/src/utils/identity-constructs/identity-constructs.js +3 -3
  200. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  201. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  202. package/src/utils/rdb-constructs/rdb-constructs.d.ts +4 -4
  203. package/src/utils/rdb-constructs/rdb-constructs.js +4 -6
  204. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  205. package/src/utils/shared-constructs.d.ts +2 -2
  206. package/src/utils/shared-constructs.js +3 -3
  207. package/src/utils/shared-constructs.js.map +1 -1
  208. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  209. package/src/utils/website-constructs/website-constructs.js +4 -6
  210. package/src/utils/website-constructs/website-constructs.js.map +1 -1
@@ -3,20 +3,20 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import { IacProviderOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac';
7
7
 
8
- export type TsAgentSdk = 'strands';
9
- export type TsAgentComputeType = 'BedrockAgentCoreRuntime' | 'None';
10
- export type AgentProtocol = 'HTTP' | 'A2A' | 'AG-UI';
8
+ export type TsAgentFramework = 'strands';
9
+ export type TsAgentInfra = 'agentcore' | 'none';
10
+ export type AgentProtocol = 'http' | 'a2a' | 'ag-ui';
11
11
 
12
- export type TsAgentAuth = 'IAM' | 'Cognito';
12
+ export type TsAgentAuth = 'iam' | 'cognito';
13
13
 
14
14
  export interface TsAgentGeneratorSchema {
15
15
  project: string;
16
- sdk?: TsAgentSdk;
16
+ framework?: TsAgentFramework;
17
17
  name?: string;
18
- computeType?: TsAgentComputeType;
18
+ infra?: TsAgentInfra;
19
19
  auth?: TsAgentAuth;
20
20
  protocol?: AgentProtocol;
21
- iacProvider: IacProviderOption;
21
+ iac: IacOption;
22
22
  }
@@ -15,7 +15,7 @@
15
15
  "x-prompt": "Select the TypeScript project to add the Agent to",
16
16
  "x-dropdown": "projects"
17
17
  },
18
- "sdk": {
18
+ "framework": {
19
19
  "type": "string",
20
20
  "description": "The agent SDK to use.",
21
21
  "x-prompt": "Which agent SDK would you like to use?",
@@ -23,14 +23,6 @@
23
23
  "default": "strands",
24
24
  "x-priority": "important"
25
25
  },
26
- "computeType": {
27
- "type": "string",
28
- "description": "The type of compute to host your Agent.",
29
- "x-prompt": "How would you like to host your Agent server?",
30
- "enum": ["BedrockAgentCoreRuntime", "None"],
31
- "default": "BedrockAgentCoreRuntime",
32
- "x-priority": "important"
33
- },
34
26
  "name": {
35
27
  "type": "string",
36
28
  "description": "The name of your Agent (default: agent)",
@@ -38,9 +30,9 @@
38
30
  },
39
31
  "auth": {
40
32
  "type": "string",
41
- "description": "The method used to authenticate with your Agent. Only applicable when computeType is set (ignored when computeType is None).",
42
- "default": "IAM",
43
- "enum": ["IAM", "Cognito"],
33
+ "description": "The method used to authenticate with your Agent. Only applicable when infra is set (ignored when infra is none).",
34
+ "default": "iam",
35
+ "enum": ["iam", "cognito"],
44
36
  "x-prompt": "How would you like to authenticate with your Agent?",
45
37
  "x-priority": "important"
46
38
  },
@@ -48,17 +40,25 @@
48
40
  "type": "string",
49
41
  "description": "The server protocol for your Agent. HTTP exposes a tRPC/WebSocket server. A2A exposes an Agent-to-Agent protocol server. AG-UI exposes an AG-UI protocol server for direct frontend integration with CopilotKit.",
50
42
  "x-prompt": "Which protocol would you like to use for your Agent?",
51
- "enum": ["HTTP", "A2A", "AG-UI"],
52
- "default": "HTTP",
43
+ "enum": ["http", "a2a", "ag-ui"],
44
+ "default": "http",
53
45
  "x-priority": "important"
54
46
  },
55
- "iacProvider": {
47
+ "iac": {
56
48
  "type": "string",
57
49
  "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
58
- "enum": ["Inherit", "CDK", "Terraform"],
50
+ "enum": ["inherit", "cdk", "terraform"],
59
51
  "x-priority": "important",
60
- "default": "Inherit",
61
- "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
52
+ "default": "inherit",
53
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
54
+ },
55
+ "infra": {
56
+ "type": "string",
57
+ "description": "The type of infrastructure to host your Agent.",
58
+ "x-prompt": "How would you like to host your Agent server?",
59
+ "enum": ["agentcore", "none"],
60
+ "default": "agentcore",
61
+ "x-priority": "important"
62
62
  }
63
63
  },
64
64
  "required": ["project"]
@@ -12,23 +12,23 @@ async function tsApiGenerator(tree, options) {
12
12
  case 'trpc':
13
13
  return (0, generator_1.tsTrpcApiGenerator)(tree, {
14
14
  name: options.name,
15
- computeType: options.computeType,
15
+ infra: options.infra,
16
16
  integrationPattern: options.integrationPattern,
17
17
  auth: options.auth,
18
18
  directory: options.directory,
19
19
  subDirectory: options.subDirectory,
20
- iacProvider: options.iacProvider,
20
+ iac: options.iac,
21
21
  });
22
22
  case 'smithy':
23
23
  return (0, generator_2.tsSmithyApiGenerator)(tree, {
24
24
  name: options.name,
25
25
  namespace: options.namespace,
26
- computeType: 'ServerlessApiGatewayRestApi',
26
+ infra: 'rest-lambda',
27
27
  integrationPattern: options.integrationPattern,
28
28
  auth: options.auth,
29
29
  directory: options.directory,
30
30
  subDirectory: options.subDirectory,
31
- iacProvider: options.iacProvider,
31
+ iac: options.iac,
32
32
  });
33
33
  }
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/api/generator.ts"],"names":[],"mappings":";;;AAaA,wCA6BC;AApCD,uCAAmE;AACnE,4DAAkE;AAClE,6DAAqE;AAExD,QAAA,qBAAqB,GAChC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,OAA6B;IAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,IAAA,8BAAkB,EAAC,IAAI,EAAE;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,IAAA,gCAAoB,EAAC,IAAI,EAAE;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,6BAA6B;gBAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/api/generator.ts"],"names":[],"mappings":";;;AAaA,wCA6BC;AApCD,uCAAmE;AACnE,4DAAkE;AAClE,6DAAqE;AAExD,QAAA,qBAAqB,GAChC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,OAA6B;IAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,IAAA,8BAAkB,EAAC,IAAI,EAAE;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,IAAA,gCAAoB,EAAC,IAAI,EAAE;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,aAAa;gBACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,kBAAe,cAAc,CAAC"}
@@ -3,16 +3,16 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { TsProjectGeneratorSchema } from '../lib/schema';
6
- import { IacProviderOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac';
7
7
 
8
8
  export interface TsApiGeneratorSchema {
9
9
  name: string;
10
10
  framework?: 'trpc' | 'smithy';
11
11
  namespace?: string;
12
- computeType: 'ServerlessApiGatewayRestApi' | 'ServerlessApiGatewayHttpApi';
12
+ infra: 'rest-lambda' | 'http-lambda';
13
13
  integrationPattern?: 'isolated' | 'shared';
14
- auth: 'IAM' | 'Cognito' | 'Custom';
14
+ auth: 'iam' | 'cognito' | 'custom';
15
15
  directory?: TsProjectGeneratorSchema['directory'];
16
16
  subDirectory?: TsProjectGeneratorSchema['subDirectory'];
17
- iacProvider: IacProviderOption;
17
+ iac: IacOption;
18
18
  }
@@ -41,14 +41,6 @@
41
41
  "description": "The namespace for the Smithy API (only applicable for the smithy framework). Defaults to your monorepo scope",
42
42
  "x-prompt": "What namespace would you like your API to have? i.e: com.example"
43
43
  },
44
- "computeType": {
45
- "type": "string",
46
- "description": "The type of compute to use to deploy this API.",
47
- "default": "ServerlessApiGatewayRestApi",
48
- "enum": ["ServerlessApiGatewayRestApi", "ServerlessApiGatewayHttpApi"],
49
- "x-prompt": "What compute type would you like to deploy your API with?",
50
- "x-priority": "important"
51
- },
52
44
  "integrationPattern": {
53
45
  "type": "string",
54
46
  "description": "How API Gateway integrations are generated for the API. Choose between isolated (default) and shared.",
@@ -73,9 +65,9 @@
73
65
  },
74
66
  "auth": {
75
67
  "type": "string",
76
- "description": "The method used to authenticate with your API. Choose between IAM (default), Cognito or Custom.",
77
- "default": "IAM",
78
- "enum": ["IAM", "Cognito", "Custom"],
68
+ "description": "The method used to authenticate with your API. Choose between iam (default), cognito or custom.",
69
+ "default": "iam",
70
+ "enum": ["iam", "cognito", "custom"],
79
71
  "x-prompt": "How would you like users to authenticate with your API?",
80
72
  "x-priority": "important"
81
73
  },
@@ -92,13 +84,21 @@
92
84
  "description": "The sub directory the project is placed in. By default this is the project name.",
93
85
  "x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
94
86
  },
95
- "iacProvider": {
87
+ "iac": {
96
88
  "type": "string",
97
89
  "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
98
- "enum": ["Inherit", "CDK", "Terraform"],
90
+ "enum": ["inherit", "cdk", "terraform"],
99
91
  "x-priority": "important",
100
- "default": "Inherit",
101
- "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
92
+ "default": "inherit",
93
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
94
+ },
95
+ "infra": {
96
+ "type": "string",
97
+ "description": "The type of infrastructure to use to deploy this API.",
98
+ "default": "rest-lambda",
99
+ "enum": ["rest-lambda", "http-lambda"],
100
+ "x-prompt": "What infrastructure would you like to deploy your API with?",
101
+ "x-priority": "important"
102
102
  }
103
103
  },
104
104
  "required": ["name"]
@@ -133,7 +133,7 @@ export const handler = middy()
133
133
  "
134
134
  `;
135
135
 
136
- exports[`ts-lambda-function generator > terraform iacProvider > should generate terraform files for lambda function and snapshot them > terraform-lambda-files 1`] = `
136
+ exports[`ts-lambda-function generator > terraform iac > should generate terraform files for lambda function and snapshot them > terraform-lambda-files 1`] = `
137
137
  {
138
138
  "test-project-test-function.tf": "terraform {
139
139
  required_providers {
@@ -315,7 +315,7 @@ output "role_name" {
315
315
  }
316
316
  `;
317
317
 
318
- exports[`ts-lambda-function generator > terraform iacProvider > should match snapshot for terraform generated files with different configurations > terraform-lambda-snapshot-function.tf 1`] = `
318
+ exports[`ts-lambda-function generator > terraform iac > should match snapshot for terraform generated files with different configurations > terraform-lambda-snapshot-function.tf 1`] = `
319
319
  "terraform {
320
320
  required_providers {
321
321
  aws = {
@@ -1,6 +1,6 @@
1
- <%_ if (eventSource !== 'Any') { _%>
1
+ <%_ if (event !== 'Any') { _%>
2
2
  import { parser } from '@aws-lambda-powertools/parser/middleware';
3
- import { <%= eventSource %> } from '@aws-lambda-powertools/parser/schemas';
3
+ import { <%= event %> } from '@aws-lambda-powertools/parser/schemas';
4
4
  import { z } from 'zod';
5
5
  <%_ } _%>
6
6
  import middy from '@middy/core';
@@ -22,19 +22,19 @@ process.env.POWERTOOLS_SERVICE_NAME = "<%= lambdaFunctionClassName %>";
22
22
  const tracer = new Tracer();
23
23
  const logger = new Logger();
24
24
  const metrics = new Metrics();
25
- <%_ const inputType = eventSource === 'Any' ? 'any' : `z.infer<typeof ${eventSource}>`; _%>
25
+ <%_ const inputType = event === 'Any' ? 'any' : `z.infer<typeof ${event}>`; _%>
26
26
  <%_ const outputType = `Promise<${returnType.type}>`; %>
27
27
 
28
28
  export const <%= lambdaFunctionCamelCase %> = async (event: <%- inputType %>): <%- outputType %> => {
29
29
  logger.info("Received event", event);
30
30
 
31
31
  // TODO: implement
32
- <%_ if (['APIGatewayProxyEventSchema', 'APIGatewayProxyEventV2Schema', 'APIGatewayProxyWebsocketEventSchema', 'AlbSchema', 'LambdaFunctionUrlSchema'].includes(eventSource)) { _%>
32
+ <%_ if (['APIGatewayProxyEventSchema', 'APIGatewayProxyEventV2Schema', 'APIGatewayProxyWebsocketEventSchema', 'AlbSchema', 'LambdaFunctionUrlSchema'].includes(event)) { _%>
33
33
  return {
34
34
  statusCode: 200,
35
35
  body: ''
36
36
  };
37
- <%_ } else if (['APIGatewayRequestAuthorizerEventSchema', 'APIGatewayTokenAuthorizerEventSchema', 'APIGatewayRequestAuthorizerEventV2Schema'].includes(eventSource)) { _%>
37
+ <%_ } else if (['APIGatewayRequestAuthorizerEventSchema', 'APIGatewayTokenAuthorizerEventSchema', 'APIGatewayRequestAuthorizerEventV2Schema'].includes(event)) { _%>
38
38
  return {
39
39
  principalId: 'user',
40
40
  policyDocument: {
@@ -48,17 +48,17 @@ export const <%= lambdaFunctionCamelCase %> = async (event: <%- inputType %>): <
48
48
  ]
49
49
  }
50
50
  };
51
- <%_ } else if (['KinesisFirehoseSchema', 'KinesisFirehoseSqsSchema'].includes(eventSource)) { _%>
51
+ <%_ } else if (['KinesisFirehoseSchema', 'KinesisFirehoseSqsSchema'].includes(event)) { _%>
52
52
  return {
53
53
  records: []
54
54
  };
55
- <%_ } else if (eventSource === 'TransferFamilySchema') { _%>
55
+ <%_ } else if (event === 'TransferFamilySchema') { _%>
56
56
  return {
57
57
  Role: '',
58
58
  Policy: '',
59
59
  HomeDirectory: '/'
60
60
  };
61
- <%_ } else if (['PreSignupTriggerSchema', 'PostConfirmationTriggerSchema', 'CustomMessageTriggerSchema', 'MigrateUserTriggerSchema', 'CustomSMSSenderTriggerSchema', 'CustomEmailSenderTriggerSchema', 'DefineAuthChallengeTriggerSchema', 'CreateAuthChallengeTriggerSchema', 'VerifyAuthChallengeTriggerSchema', 'PreTokenGenerationTriggerSchemaV1', 'PreTokenGenerationTriggerSchemaV2AndV3'].includes(eventSource)) { _%>
61
+ <%_ } else if (['PreSignupTriggerSchema', 'PostConfirmationTriggerSchema', 'CustomMessageTriggerSchema', 'MigrateUserTriggerSchema', 'CustomSMSSenderTriggerSchema', 'CustomEmailSenderTriggerSchema', 'DefineAuthChallengeTriggerSchema', 'CreateAuthChallengeTriggerSchema', 'VerifyAuthChallengeTriggerSchema', 'PreTokenGenerationTriggerSchemaV1', 'PreTokenGenerationTriggerSchemaV2AndV3'].includes(event)) { _%>
62
62
  return event;
63
63
  <%_ } else { /* Event sources which don't need to return a response */ _%>
64
64
  <%_ } _%>
@@ -68,7 +68,7 @@ export const handler = middy()
68
68
  .use(captureLambdaHandler(tracer))
69
69
  .use(injectLambdaContext(logger))
70
70
  .use(logMetrics(metrics))
71
- <%_ if (eventSource !== 'Any') { _%>
72
- .use(parser({ schema: <%= eventSource %> }))
71
+ <%_ if (event !== 'Any') { _%>
72
+ .use(parser({ schema: <%= event %> }))
73
73
  <%_ } _%>
74
74
  .handler(<%= lambdaFunctionCamelCase %>);
@@ -36,38 +36,38 @@ const tsLambdaFunctionGenerator = async (tree, schema) => {
36
36
  const dir = projectConfig.root;
37
37
  const projectNameWithOutScope = projectConfig.name.split('/').pop();
38
38
  const projectNameKebabCase = (0, names_1.toKebabCase)(projectNameWithOutScope);
39
- const functionNameKebabCase = (0, names_1.toKebabCase)(schema.functionName);
40
- const constructFunctionNameKebabCase = `${projectNameKebabCase}-${functionNameKebabCase}`;
39
+ const nameKebabCase = (0, names_1.toKebabCase)(schema.name);
40
+ const constructFunctionNameKebabCase = `${projectNameKebabCase}-${nameKebabCase}`;
41
41
  const constructFunctionClassName = (0, names_1.toClassName)(constructFunctionNameKebabCase);
42
- const lambdaFunctionCamelCase = (0, lodash_camelcase_1.default)(schema.functionName);
43
- const lambdaFunctionClassName = (0, names_1.pascalCase)(schema.functionName);
44
- const lambdaFunctionKebabCase = (0, names_1.toKebabCase)(schema.functionName);
42
+ const lambdaFunctionCamelCase = (0, lodash_camelcase_1.default)(schema.name);
43
+ const lambdaFunctionClassName = (0, names_1.pascalCase)(schema.name);
44
+ const lambdaFunctionKebabCase = (0, names_1.toKebabCase)(schema.name);
45
45
  const functionPathFromProjectRoot = (0, devkit_1.joinPathFragments)('src', schema.functionPath ?? '', `${lambdaFunctionKebabCase}.ts`);
46
46
  const functionPath = (0, devkit_1.joinPathFragments)(projectConfig.root, functionPathFromProjectRoot);
47
47
  // Check that the project does not already have a lambda handler
48
48
  if (tree.exists(functionPath)) {
49
- throw new Error(`This project already has a lambda function with the name ${functionNameKebabCase}. Please remove the lambda function before running this generator or use a different name.`);
49
+ throw new Error(`This project already has a lambda function with the name ${nameKebabCase}. Please remove the lambda function before running this generator or use a different name.`);
50
50
  }
51
- const iacProvider = await (0, iac_1.resolveIacProvider)(tree, schema.iacProvider);
51
+ const iac = await (0, iac_1.resolveIac)(tree, schema.iac);
52
52
  await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
53
- iacProvider,
53
+ iac,
54
54
  });
55
55
  const bundleOutputDir = (0, devkit_1.joinPathFragments)('lambda', lambdaFunctionKebabCase);
56
56
  await (0, function_constructs_1.addLambdaFunctionInfra)(tree, {
57
57
  functionProjectName: projectConfig.name,
58
- functionNameClassName: constructFunctionClassName,
59
- functionNameKebabCase: constructFunctionNameKebabCase,
58
+ nameClassName: constructFunctionClassName,
59
+ nameKebabCase: constructFunctionNameKebabCase,
60
60
  handler: 'index.handler',
61
61
  runtime: 'node',
62
62
  bundlePathFromRoot: (0, devkit_1.joinPathFragments)('dist', dir, 'bundle', bundleOutputDir),
63
- iacProvider,
63
+ iac,
64
64
  });
65
65
  const enhancedOptions = {
66
66
  ...schema,
67
67
  lambdaFunctionCamelCase,
68
68
  lambdaFunctionClassName,
69
69
  lambdaFunctionKebabCase,
70
- returnType: io_1.TS_HANDLER_RETURN_TYPES[schema.eventSource],
70
+ returnType: io_1.TS_HANDLER_RETURN_TYPES[schema.event],
71
71
  };
72
72
  // Add a bundle target for the function
73
73
  await (0, bundle_1.addTypeScriptBundleTarget)(tree, projectConfig, {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lambda-function/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/lambda-function/generator.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import { IacProviderOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac';
7
7
 
8
8
  export type EventSource =
9
9
  | 'Any'
@@ -51,8 +51,8 @@ export type EventSource =
51
51
 
52
52
  export interface TsLambdaFunctionGeneratorSchema {
53
53
  readonly project: string;
54
- readonly functionName: string;
54
+ readonly name: string;
55
55
  readonly functionPath?: string;
56
- readonly eventSource?: EventSource;
57
- readonly iacProvider: IacProviderOption;
56
+ readonly event?: EventSource;
57
+ readonly iac: IacOption;
58
58
  }
@@ -11,7 +11,7 @@
11
11
  "x-prompt": "Select the project to add the lambda function to",
12
12
  "x-dropdown": "projects"
13
13
  },
14
- "functionName": {
14
+ "name": {
15
15
  "type": "string",
16
16
  "description": "The name of the function to add",
17
17
  "$default": {
@@ -26,7 +26,7 @@
26
26
  "description": "Optional subdirectory within the project source directory to add the function to",
27
27
  "x-prompt": "Enter the path within the project source directory to add the function to (e.g. 'lambda-functions/')"
28
28
  },
29
- "eventSource": {
29
+ "event": {
30
30
  "type": "string",
31
31
  "description": "Optional event source schema to use for the lambda function",
32
32
  "x-priority": "important",
@@ -77,14 +77,14 @@
77
77
  "default": "Any",
78
78
  "x-prompt": "Enter the event source schema to use for the lambda function"
79
79
  },
80
- "iacProvider": {
80
+ "iac": {
81
81
  "type": "string",
82
82
  "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
83
- "enum": ["Inherit", "CDK", "Terraform"],
83
+ "enum": ["inherit", "cdk", "terraform"],
84
84
  "x-priority": "important",
85
- "default": "Inherit",
86
- "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
85
+ "default": "inherit",
86
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
87
87
  }
88
88
  },
89
- "required": ["project", "functionName"]
89
+ "required": ["project", "name"]
90
90
  }
@@ -162,7 +162,7 @@ variable "server_protocol" {
162
162
  default = "HTTP"
163
163
  validation {
164
164
  condition = contains(["MCP", "HTTP", "A2A"], var.server_protocol)
165
- error_message = "Protocol type must be either 'MCP', 'HTTP', or 'A2A'."
165
+ error_message = "Protocol type must be either 'mcp', 'http', or 'a2a'."
166
166
  }
167
167
  }
168
168
 
@@ -33,11 +33,11 @@ const tsMcpServerGenerator = async (tree, options) => {
33
33
  const targetSourceDir = (0, devkit_1.joinPathFragments)(project.root, targetSourceDirRelativeToProjectRoot);
34
34
  const relativeSourceDir = targetSourceDir.replace(project.root + '/', './');
35
35
  const distDir = (0, devkit_1.joinPathFragments)('dist', project.root);
36
- const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
37
- if (computeType === 'None' && options.auth && options.auth !== 'IAM') {
38
- console.warn('Warning: auth is ignored when no compute type is configured (no infrastructure is generated)');
36
+ const infra = options.infra ?? 'agentcore';
37
+ if (infra === 'none' && options.auth && options.auth !== 'iam') {
38
+ console.warn('Warning: auth is ignored when no infrastructure is configured (no infrastructure is generated)');
39
39
  }
40
- const auth = options.auth ?? 'IAM';
40
+ const auth = options.auth ?? 'iam';
41
41
  // Create a package.json if one doesn't exist, since we want to add the server as a bin target
42
42
  const projectPackageJsonPath = (0, devkit_1.joinPathFragments)(project.root, 'package.json');
43
43
  if (!tree.exists(projectPackageJsonPath)) {
@@ -79,9 +79,9 @@ const tsMcpServerGenerator = async (tree, options) => {
79
79
  '@types/express',
80
80
  '@modelcontextprotocol/inspector',
81
81
  ]);
82
- // Add hosting based on compute type
83
- if (computeType === 'BedrockAgentCoreRuntime') {
84
- const containerEngine = await (0, containers_1.resolveContainerEngine)(tree, 'Inherit');
82
+ // Add hosting based on infra
83
+ if (infra === 'agentcore') {
84
+ const containers = await (0, containers_1.resolveContainers)(tree, 'inherit');
85
85
  const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
86
86
  // Add bundle target
87
87
  await (0, bundle_1.addTypeScriptBundleTarget)(tree, project, {
@@ -98,7 +98,7 @@ const tsMcpServerGenerator = async (tree, options) => {
98
98
  options: {
99
99
  commands: [
100
100
  fs.cp(`${targetSourceDir}/Dockerfile`, `${dockerOutputDir}/Dockerfile`),
101
- `${containerEngine} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
101
+ `${containers} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
102
102
  ],
103
103
  parallel: false,
104
104
  },
@@ -107,8 +107,8 @@ const tsMcpServerGenerator = async (tree, options) => {
107
107
  (0, nx_1.addDependencyToTargetIfNotPresent)(project, 'docker', dockerTargetName);
108
108
  (0, nx_1.addDependencyToTargetIfNotPresent)(project, 'build', 'docker');
109
109
  // Add shared constructs
110
- const iacProvider = await (0, iac_1.resolveIacProvider)(tree, options.iacProvider);
111
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iacProvider });
110
+ const iac = await (0, iac_1.resolveIac)(tree, options.iac);
111
+ await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iac });
112
112
  // Add the construct to deploy the mcp server
113
113
  await (0, agent_core_constructs_1.addMcpServerInfra)(tree, {
114
114
  mcpServerNameKebabCase: name,
@@ -116,9 +116,9 @@ const tsMcpServerGenerator = async (tree, options) => {
116
116
  projectName: project.name,
117
117
  dockerImageTag,
118
118
  dockerOutputDir,
119
- iacProvider,
119
+ iac,
120
120
  auth,
121
- containerEngine,
121
+ containers,
122
122
  });
123
123
  }
124
124
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,16 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import { IacProviderOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac';
7
7
 
8
- export type TsMcpServerComputeType = 'None' | 'BedrockAgentCoreRuntime';
8
+ export type TsMcpServerInfra = 'none' | 'agentcore';
9
9
 
10
- export type TsMcpServerAuth = 'IAM' | 'Cognito';
10
+ export type TsMcpServerAuth = 'iam' | 'cognito';
11
11
 
12
- /**
13
- * TypeScript types for options defined in schema.json
14
- * Update this to match schema.json if you make changes.
15
- */
16
12
  export interface TsMcpServerGeneratorSchema {
17
13
  project: string;
18
14
  name?: string;
19
- computeType?: TsMcpServerComputeType;
15
+ infra?: TsMcpServerInfra;
20
16
  auth?: TsMcpServerAuth;
21
- iacProvider: IacProviderOption;
17
+ iac: IacOption;
22
18
  }
@@ -15,14 +15,6 @@
15
15
  "x-prompt": "Select the TypeScript project to add the MCP server to",
16
16
  "x-dropdown": "projects"
17
17
  },
18
- "computeType": {
19
- "type": "string",
20
- "description": "The type of compute to host your MCP server. Select None for no hosting.",
21
- "x-prompt": "How would you like to host your MCP server?",
22
- "enum": ["BedrockAgentCoreRuntime", "None"],
23
- "default": "BedrockAgentCoreRuntime",
24
- "x-priority": "important"
25
- },
26
18
  "name": {
27
19
  "type": "string",
28
20
  "description": "The name of your MCP server (default: mcp-server)",
@@ -30,19 +22,27 @@
30
22
  },
31
23
  "auth": {
32
24
  "type": "string",
33
- "description": "The method used to authenticate with your MCP server. Only applicable when computeType is set (ignored when computeType is None).",
34
- "default": "IAM",
35
- "enum": ["IAM", "Cognito"],
25
+ "description": "The method used to authenticate with your MCP server. Only applicable when infra is set (ignored when infra is none).",
26
+ "default": "iam",
27
+ "enum": ["iam", "cognito"],
36
28
  "x-prompt": "How would you like to authenticate with your MCP server?",
37
29
  "x-priority": "important"
38
30
  },
39
- "iacProvider": {
31
+ "iac": {
40
32
  "type": "string",
41
33
  "description": "The preferred IaC provider. By default this is inherited from your initial selection.",
42
- "enum": ["Inherit", "CDK", "Terraform"],
34
+ "enum": ["inherit", "cdk", "terraform"],
43
35
  "x-priority": "important",
44
- "default": "Inherit",
45
- "x-prompt": "Which provider would you like to manage your infrastructure? (default: Inherit)"
36
+ "default": "inherit",
37
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
38
+ },
39
+ "infra": {
40
+ "type": "string",
41
+ "description": "The type of infrastructure to host your MCP server. Select none for no hosting.",
42
+ "x-prompt": "How would you like to host your MCP server?",
43
+ "enum": ["agentcore", "none"],
44
+ "default": "agentcore",
45
+ "x-priority": "important"
46
46
  }
47
47
  },
48
48
  "required": ["project"]
@@ -93,7 +93,7 @@ describe('foo#bar generator', () => {
93
93
  });
94
94
 
95
95
  it('should add generator metric to app.ts', async () => {
96
- await sharedConstructsGenerator(tree, { iacProvider: 'CDK' });
96
+ await sharedConstructsGenerator(tree, { iac: 'cdk' });
97
97
 
98
98
  await fooBarGenerator(tree, { exampleOption: 'example' });
99
99
 
@@ -18,7 +18,7 @@ describe('<%- name %> generator', () => {
18
18
  });
19
19
 
20
20
  it('should add generator metric to app.ts', async () => {
21
- await sharedConstructsGenerator(tree, { iacProvider: 'CDK' });
21
+ await sharedConstructsGenerator(tree, { iac: 'cdk' });
22
22
 
23
23
  await <%- nameCamelCase %>Generator(tree, { exampleOption: 'example' });
24
24