@aws/nx-plugin 1.0.0-rc.23 → 1.0.0-rc.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/LICENSE-THIRD-PARTY +3643 -1208
  2. package/package.json +30 -15
  3. package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
  4. package/src/agentcore-gateway/attach-upstream.js +19 -22
  5. package/src/agentcore-gateway/attach-upstream.js.map +1 -1
  6. package/src/agentcore-gateway/gateway-connection/generator.d.ts +4 -4
  7. package/src/agentcore-gateway/gateway-connection/generator.js +45 -46
  8. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
  9. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  10. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  11. package/src/agentcore-gateway/gateway-connection/schema.d.ts +1 -0
  12. package/src/agentcore-gateway/gateway-connection/schema.json +5 -0
  13. package/src/agentcore-gateway/generator.js +93 -73
  14. package/src/agentcore-gateway/generator.js.map +1 -1
  15. package/src/agentcore-gateway/mcp-connection/generator.d.ts +3 -3
  16. package/src/agentcore-gateway/mcp-connection/generator.js +27 -31
  17. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  18. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  19. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  20. package/src/agentcore-gateway/mcp-connection/schema.d.ts +1 -0
  21. package/src/agentcore-gateway/mcp-connection/schema.json +5 -0
  22. package/src/agentcore-gateway/schema.d.js +6 -0
  23. package/src/agentcore-gateway/schema.d.js.map +1 -0
  24. package/src/agentcore-gateway/schema.d.ts +1 -0
  25. package/src/agentcore-gateway/schema.json +5 -0
  26. package/src/bin/aws-nx-mcp.js +14 -0
  27. package/src/bin/aws-nx-mcp.js.map +1 -0
  28. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
  29. package/src/connection/agent-local-dev.js +42 -0
  30. package/src/connection/agent-local-dev.js.map +1 -0
  31. package/src/connection/agent-runtime-config.js +9 -14
  32. package/src/connection/agent-runtime-config.js.map +1 -1
  33. package/src/connection/generator.d.ts +1 -0
  34. package/src/connection/generator.js +265 -206
  35. package/src/connection/generator.js.map +1 -1
  36. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  37. package/src/connection/local-dev.js +37 -0
  38. package/src/connection/local-dev.js.map +1 -0
  39. package/src/connection/schema.d.js +6 -0
  40. package/src/connection/schema.d.js.map +1 -0
  41. package/src/connection/schema.d.ts +1 -0
  42. package/src/connection/schema.json +5 -0
  43. package/src/index.js +2 -5
  44. package/src/index.js.map +1 -1
  45. package/src/infra/app/__snapshots__/generator.spec.ts.snap +33 -47
  46. package/src/infra/app/generator.js +140 -124
  47. package/src/infra/app/generator.js.map +1 -1
  48. package/src/infra/app/schema.d.js +6 -0
  49. package/src/infra/app/schema.d.js.map +1 -0
  50. package/src/infra/app/schema.d.ts +1 -1
  51. package/src/infra/app/schema.json +5 -0
  52. package/src/license/config-types.js +5 -3
  53. package/src/license/config-types.js.map +1 -1
  54. package/src/license/config.d.ts +1 -1
  55. package/src/license/config.js +267 -242
  56. package/src/license/config.js.map +1 -1
  57. package/src/license/dependency-check/check.js +51 -46
  58. package/src/license/dependency-check/check.js.map +1 -1
  59. package/src/license/dependency-check/collectors/collector.js +41 -71
  60. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  61. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  62. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  63. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  64. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  65. package/src/license/dependency-check/evaluator.js +40 -68
  66. package/src/license/dependency-check/evaluator.js.map +1 -1
  67. package/src/license/dependency-check/executor.js +30 -22
  68. package/src/license/dependency-check/executor.js.map +1 -1
  69. package/src/license/dependency-check/pre-approved.js +949 -336
  70. package/src/license/dependency-check/pre-approved.js.map +1 -1
  71. package/src/license/dependency-check/types.js +2 -3
  72. package/src/license/dependency-check/types.js.map +1 -1
  73. package/src/license/generator.js +55 -60
  74. package/src/license/generator.js.map +1 -1
  75. package/src/license/index.js +3 -9
  76. package/src/license/index.js.map +1 -1
  77. package/src/license/known-exceptions.js +14 -13
  78. package/src/license/known-exceptions.js.map +1 -1
  79. package/src/license/schema.d.js +6 -0
  80. package/src/license/schema.d.js.map +1 -0
  81. package/src/license/schema.d.ts +2 -0
  82. package/src/license/schema.json +5 -0
  83. package/src/license/sync/generator.js +94 -119
  84. package/src/license/sync/generator.js.map +1 -1
  85. package/src/license/sync/project-file-sync.js +28 -35
  86. package/src/license/sync/project-file-sync.js.map +1 -1
  87. package/src/mcp-server/generator-info.js +130 -160
  88. package/src/mcp-server/generator-info.js.map +1 -1
  89. package/src/mcp-server/guide-pipeline.js +184 -206
  90. package/src/mcp-server/guide-pipeline.js.map +1 -1
  91. package/src/mcp-server/guide-render.js +10 -25
  92. package/src/mcp-server/guide-render.js.map +1 -1
  93. package/src/mcp-server/index.js +6 -10
  94. package/src/mcp-server/index.js.map +1 -1
  95. package/src/mcp-server/mdx-ast.js +39 -57
  96. package/src/mcp-server/mdx-ast.js.map +1 -1
  97. package/src/mcp-server/option-filter.js +33 -47
  98. package/src/mcp-server/option-filter.js.map +1 -1
  99. package/src/mcp-server/schema-registry.js +27 -40
  100. package/src/mcp-server/schema-registry.js.map +1 -1
  101. package/src/mcp-server/schema.js +9 -7
  102. package/src/mcp-server/schema.js.map +1 -1
  103. package/src/mcp-server/server.js +20 -24
  104. package/src/mcp-server/server.js.map +1 -1
  105. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  106. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  107. package/src/mcp-server/tools/general-guidance.js +45 -25
  108. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  109. package/src/mcp-server/tools/generator-guide.js +29 -37
  110. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  111. package/src/mcp-server/tools/list-generators.js +19 -25
  112. package/src/mcp-server/tools/list-generators.js.map +1 -1
  113. package/src/open-api/ts-client/generator.js +16 -26
  114. package/src/open-api/ts-client/generator.js.map +1 -1
  115. package/src/open-api/ts-client/schema.d.js +6 -0
  116. package/src/open-api/ts-client/schema.d.js.map +1 -0
  117. package/src/open-api/ts-hooks/generator.js +13 -21
  118. package/src/open-api/ts-hooks/generator.js.map +1 -1
  119. package/src/open-api/ts-hooks/schema.d.js +6 -0
  120. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  121. package/src/open-api/ts-metadata/generator.js +12 -20
  122. package/src/open-api/ts-metadata/generator.js.map +1 -1
  123. package/src/open-api/ts-metadata/schema.d.js +6 -0
  124. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  125. package/src/open-api/utils/codegen-data/languages.js +42 -60
  126. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  127. package/src/open-api/utils/codegen-data/types.js +31 -30
  128. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  129. package/src/open-api/utils/codegen-data.js +253 -269
  130. package/src/open-api/utils/codegen-data.js.map +1 -1
  131. package/src/open-api/utils/normalise.js +242 -241
  132. package/src/open-api/utils/normalise.js.map +1 -1
  133. package/src/open-api/utils/parse.js +8 -14
  134. package/src/open-api/utils/parse.js.map +1 -1
  135. package/src/open-api/utils/refs.js +12 -22
  136. package/src/open-api/utils/refs.js.map +1 -1
  137. package/src/open-api/utils/types.js +5 -2
  138. package/src/open-api/utils/types.js.map +1 -1
  139. package/src/preset/__snapshots__/generator.spec.ts.snap +32 -7
  140. package/src/preset/generator.d.ts +1 -1
  141. package/src/preset/generator.js +134 -113
  142. package/src/preset/generator.js.map +1 -1
  143. package/src/preset/schema.d.js +6 -0
  144. package/src/preset/schema.d.js.map +1 -0
  145. package/src/preset/schema.d.ts +1 -1
  146. package/src/preset/schema.json +5 -5
  147. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  148. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +16 -853
  149. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
  150. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
  151. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
  152. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
  153. package/src/py/agent/a2a-connection/generator.js +74 -75
  154. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  155. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  156. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  157. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  158. package/src/py/agent/a2a-connection/schema.json +5 -0
  159. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
  160. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
  161. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
  162. package/src/py/agent/gateway-connection/generator.js +65 -58
  163. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  164. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  165. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  166. package/src/py/agent/gateway-connection/schema.d.ts +1 -0
  167. package/src/py/agent/gateway-connection/schema.json +5 -0
  168. package/src/py/agent/generator.js +230 -194
  169. package/src/py/agent/generator.js.map +1 -1
  170. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
  171. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
  172. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
  173. package/src/py/agent/mcp-connection/generator.js +57 -52
  174. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  175. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  176. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  177. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  178. package/src/py/agent/mcp-connection/schema.json +5 -0
  179. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
  180. package/src/py/agent/react-connection/generator.d.ts +1 -1
  181. package/src/py/agent/react-connection/generator.js +55 -59
  182. package/src/py/agent/react-connection/generator.js.map +1 -1
  183. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  184. package/src/py/agent/react-connection/local-dev.js +36 -0
  185. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  186. package/src/py/agent/react-connection/schema.d.js +8 -0
  187. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  188. package/src/py/agent/react-connection/schema.d.ts +1 -0
  189. package/src/py/agent/react-connection/schema.json +5 -0
  190. package/src/py/agent/schema.d.js +6 -0
  191. package/src/py/agent/schema.d.js.map +1 -0
  192. package/src/py/agent/schema.d.ts +1 -0
  193. package/src/py/agent/schema.json +5 -0
  194. package/src/py/api/generator.js +12 -11
  195. package/src/py/api/generator.js.map +1 -1
  196. package/src/py/api/schema.d.js +6 -0
  197. package/src/py/api/schema.d.js.map +1 -0
  198. package/src/py/api/schema.d.ts +1 -0
  199. package/src/py/api/schema.json +5 -0
  200. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
  201. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  202. package/src/py/dynamodb/agent-connection/generator.js +30 -30
  203. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  204. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  205. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  206. package/src/py/dynamodb/agent-connection/schema.d.ts +1 -0
  207. package/src/py/dynamodb/agent-connection/schema.json +5 -0
  208. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
  209. package/src/py/dynamodb/fast-api-connection/generator.js +29 -29
  210. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  211. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  212. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  213. package/src/py/dynamodb/fast-api-connection/schema.d.ts +1 -0
  214. package/src/py/dynamodb/fast-api-connection/schema.json +5 -0
  215. package/src/py/dynamodb/files/__name__/client.py.template +5 -5
  216. package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
  217. package/src/py/dynamodb/files/config.json.template +1 -1
  218. package/src/py/dynamodb/generator.js +66 -62
  219. package/src/py/dynamodb/generator.js.map +1 -1
  220. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  221. package/src/py/dynamodb/mcp-server-connection/generator.js +30 -30
  222. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  223. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  224. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  225. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  226. package/src/py/dynamodb/mcp-server-connection/schema.json +5 -0
  227. package/src/py/dynamodb/schema.d.js +6 -0
  228. package/src/py/dynamodb/schema.d.js.map +1 -0
  229. package/src/py/dynamodb/schema.d.ts +1 -0
  230. package/src/py/dynamodb/schema.json +5 -0
  231. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
  232. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  233. package/src/py/fast-api/generator.js +82 -85
  234. package/src/py/fast-api/generator.js.map +1 -1
  235. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
  236. package/src/py/fast-api/react/generator.d.ts +2 -2
  237. package/src/py/fast-api/react/generator.js +25 -25
  238. package/src/py/fast-api/react/generator.js.map +1 -1
  239. package/src/py/fast-api/react/open-api.js +28 -29
  240. package/src/py/fast-api/react/open-api.js.map +1 -1
  241. package/src/py/fast-api/react/schema.d.js +6 -0
  242. package/src/py/fast-api/react/schema.d.js.map +1 -0
  243. package/src/py/fast-api/react/schema.d.ts +1 -0
  244. package/src/py/fast-api/react/schema.json +5 -0
  245. package/src/py/fast-api/schema.d.js +6 -0
  246. package/src/py/fast-api/schema.d.js.map +1 -0
  247. package/src/py/fast-api/schema.d.ts +1 -0
  248. package/src/py/fast-api/schema.json +5 -0
  249. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  250. package/src/py/lambda-function/generator.js +60 -59
  251. package/src/py/lambda-function/generator.js.map +1 -1
  252. package/src/py/lambda-function/schema.d.js +6 -0
  253. package/src/py/lambda-function/schema.d.js.map +1 -0
  254. package/src/py/lambda-function/schema.d.ts +1 -0
  255. package/src/py/lambda-function/schema.json +5 -0
  256. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +8 -8
  257. package/src/py/mcp-server/generator.js +152 -132
  258. package/src/py/mcp-server/generator.js.map +1 -1
  259. package/src/py/mcp-server/schema.d.js +6 -0
  260. package/src/py/mcp-server/schema.d.js.map +1 -0
  261. package/src/py/mcp-server/schema.d.ts +1 -0
  262. package/src/py/mcp-server/schema.json +5 -0
  263. package/src/py/project/generator.js +132 -90
  264. package/src/py/project/generator.js.map +1 -1
  265. package/src/py/project/schema.d.js +6 -0
  266. package/src/py/project/schema.d.js.map +1 -0
  267. package/src/py/project/schema.d.ts +1 -0
  268. package/src/py/project/schema.json +5 -0
  269. package/src/sdk/agentcore-gateway.d.ts +6 -0
  270. package/src/sdk/agentcore-gateway.js +7 -0
  271. package/src/sdk/agentcore-gateway.js.map +1 -0
  272. package/src/sdk/connection.d.ts +6 -0
  273. package/src/sdk/connection.js +6 -0
  274. package/src/sdk/connection.js.map +1 -0
  275. package/{sdk → src/sdk}/license.d.ts +4 -4
  276. package/src/sdk/license.js +7 -0
  277. package/src/sdk/license.js.map +1 -0
  278. package/src/sdk/open-api.d.ts +10 -0
  279. package/src/sdk/open-api.js +8 -0
  280. package/src/sdk/open-api.js.map +1 -0
  281. package/src/sdk/py.d.ts +14 -0
  282. package/src/sdk/py.js +10 -0
  283. package/src/sdk/py.js.map +1 -0
  284. package/src/sdk/terraform.d.ts +6 -0
  285. package/src/sdk/terraform.js +7 -0
  286. package/src/sdk/terraform.js.map +1 -0
  287. package/src/sdk/ts.d.ts +33 -0
  288. package/src/sdk/ts.js +35 -0
  289. package/src/sdk/ts.js.map +1 -0
  290. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  291. package/src/sdk/utils/ast.js +6 -0
  292. package/src/sdk/utils/ast.js.map +1 -0
  293. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  294. package/src/sdk/utils/format.js +6 -0
  295. package/src/sdk/utils/format.js.map +1 -0
  296. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  297. package/src/sdk/utils/test.js +6 -0
  298. package/src/sdk/utils/test.js.map +1 -0
  299. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
  300. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  301. package/src/smithy/project/generator.js +48 -43
  302. package/src/smithy/project/generator.js.map +1 -1
  303. package/src/smithy/project/schema.d.js +6 -0
  304. package/src/smithy/project/schema.d.js.map +1 -0
  305. package/src/smithy/project/schema.d.ts +1 -0
  306. package/src/smithy/project/schema.json +5 -0
  307. package/src/smithy/react-connection/generator.js +39 -47
  308. package/src/smithy/react-connection/generator.js.map +1 -1
  309. package/src/smithy/react-connection/schema.d.js +6 -0
  310. package/src/smithy/react-connection/schema.d.js.map +1 -0
  311. package/src/smithy/react-connection/schema.d.ts +1 -0
  312. package/src/smithy/react-connection/schema.json +5 -0
  313. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
  314. package/src/smithy/ts/api/generator.js +125 -110
  315. package/src/smithy/ts/api/generator.js.map +1 -1
  316. package/src/smithy/ts/api/schema.d.js +6 -0
  317. package/src/smithy/ts/api/schema.d.js.map +1 -0
  318. package/src/smithy/ts/api/schema.d.ts +1 -0
  319. package/src/smithy/ts/api/schema.json +5 -0
  320. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  321. package/src/terraform/project/generator.js +151 -104
  322. package/src/terraform/project/generator.js.map +1 -1
  323. package/src/terraform/project/schema.d.js +9 -0
  324. package/src/terraform/project/schema.d.js.map +1 -0
  325. package/src/terraform/project/schema.d.ts +1 -0
  326. package/src/terraform/project/schema.json +5 -0
  327. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
  328. package/src/trpc/backend/generator.d.ts +1 -1
  329. package/src/trpc/backend/generator.js +97 -86
  330. package/src/trpc/backend/generator.js.map +1 -1
  331. package/src/trpc/backend/schema.d.js +6 -0
  332. package/src/trpc/backend/schema.d.js.map +1 -0
  333. package/src/trpc/backend/schema.d.ts +1 -0
  334. package/src/trpc/backend/schema.json +5 -0
  335. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  336. package/src/trpc/react/generator.d.ts +1 -1
  337. package/src/trpc/react/generator.js +63 -58
  338. package/src/trpc/react/generator.js.map +1 -1
  339. package/src/trpc/react/schema.d.js +6 -0
  340. package/src/trpc/react/schema.d.js.map +1 -0
  341. package/src/trpc/react/schema.d.ts +1 -0
  342. package/src/trpc/react/schema.json +5 -0
  343. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
  344. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
  345. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
  346. package/src/ts/agent/a2a-connection/generator.js +62 -55
  347. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  348. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  349. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  350. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  351. package/src/ts/agent/a2a-connection/schema.json +5 -0
  352. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
  353. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
  354. package/src/ts/agent/gateway-connection/generator.js +61 -53
  355. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  356. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  357. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  358. package/src/ts/agent/gateway-connection/schema.d.ts +1 -0
  359. package/src/ts/agent/gateway-connection/schema.json +5 -0
  360. package/src/ts/agent/generator.js +169 -137
  361. package/src/ts/agent/generator.js.map +1 -1
  362. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  363. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
  364. package/src/ts/agent/mcp-connection/generator.js +52 -47
  365. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  366. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  367. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  368. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  369. package/src/ts/agent/mcp-connection/schema.json +5 -0
  370. package/src/ts/agent/react-connection/generator.d.ts +1 -1
  371. package/src/ts/agent/react-connection/generator.js +86 -80
  372. package/src/ts/agent/react-connection/generator.js.map +1 -1
  373. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  374. package/src/ts/agent/react-connection/local-dev.js +17 -0
  375. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  376. package/src/ts/agent/react-connection/schema.d.js +8 -0
  377. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  378. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  379. package/src/ts/agent/react-connection/schema.json +5 -0
  380. package/src/ts/agent/schema.d.js +6 -0
  381. package/src/ts/agent/schema.d.js.map +1 -0
  382. package/src/ts/agent/schema.d.ts +1 -0
  383. package/src/ts/agent/schema.json +5 -0
  384. package/src/ts/api/generator.js +16 -16
  385. package/src/ts/api/generator.js.map +1 -1
  386. package/src/ts/api/schema.d.js +6 -0
  387. package/src/ts/api/schema.d.js.map +1 -0
  388. package/src/ts/api/schema.d.ts +1 -0
  389. package/src/ts/api/schema.json +5 -0
  390. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
  391. package/src/ts/astro-docs/generator.js +63 -51
  392. package/src/ts/astro-docs/generator.js.map +1 -1
  393. package/src/ts/astro-docs/schema.d.js +6 -0
  394. package/src/ts/astro-docs/schema.d.js.map +1 -0
  395. package/src/ts/astro-docs/schema.d.ts +2 -2
  396. package/src/ts/astro-docs/schema.json +3 -3
  397. package/src/ts/docs/generator.js +10 -10
  398. package/src/ts/docs/generator.js.map +1 -1
  399. package/src/ts/docs/schema.d.js +6 -0
  400. package/src/ts/docs/schema.d.js.map +1 -0
  401. package/src/ts/docs/schema.d.ts +1 -4
  402. package/src/ts/docs/schema.json +3 -3
  403. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
  404. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  405. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  406. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  407. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  408. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  409. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  410. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  411. package/src/ts/dynamodb/files/config.json.template +1 -1
  412. package/src/ts/dynamodb/files/src/client.ts.template +7 -7
  413. package/src/ts/dynamodb/generator.js +68 -63
  414. package/src/ts/dynamodb/generator.js.map +1 -1
  415. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  416. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  417. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  418. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  419. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  420. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  421. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  422. package/src/ts/dynamodb/schema.d.js +6 -0
  423. package/src/ts/dynamodb/schema.d.js.map +1 -0
  424. package/src/ts/dynamodb/schema.d.ts +1 -0
  425. package/src/ts/dynamodb/schema.json +5 -0
  426. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  427. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  428. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  429. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  430. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  431. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  432. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  433. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  434. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  435. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  436. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  437. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  438. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  439. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  440. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  441. package/src/ts/lambda-function/generator.js +59 -56
  442. package/src/ts/lambda-function/generator.js.map +1 -1
  443. package/src/ts/lambda-function/io.js +83 -52
  444. package/src/ts/lambda-function/io.js.map +1 -1
  445. package/src/ts/lambda-function/schema.d.js +6 -0
  446. package/src/ts/lambda-function/schema.d.js.map +1 -0
  447. package/src/ts/lambda-function/schema.d.ts +1 -0
  448. package/src/ts/lambda-function/schema.json +5 -0
  449. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
  450. package/src/ts/lib/biome.js +37 -37
  451. package/src/ts/lib/biome.js.map +1 -1
  452. package/src/ts/lib/generator.js +82 -80
  453. package/src/ts/lib/generator.js.map +1 -1
  454. package/src/ts/lib/schema.d.js +6 -0
  455. package/src/ts/lib/schema.d.js.map +1 -0
  456. package/src/ts/lib/schema.d.ts +1 -1
  457. package/src/ts/lib/schema.json +5 -0
  458. package/src/ts/lib/ts-project-utils.js +65 -70
  459. package/src/ts/lib/ts-project-utils.js.map +1 -1
  460. package/src/ts/lib/types.js +5 -2
  461. package/src/ts/lib/types.js.map +1 -1
  462. package/src/ts/lib/vitest.js +29 -26
  463. package/src/ts/lib/vitest.js.map +1 -1
  464. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  465. package/src/ts/mcp-server/generator.js +161 -139
  466. package/src/ts/mcp-server/generator.js.map +1 -1
  467. package/src/ts/mcp-server/schema.d.js +6 -0
  468. package/src/ts/mcp-server/schema.d.js.map +1 -0
  469. package/src/ts/mcp-server/schema.d.ts +1 -0
  470. package/src/ts/mcp-server/schema.json +5 -0
  471. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -12
  472. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  473. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  474. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  475. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  476. package/src/ts/nx-generator/generator.js +88 -84
  477. package/src/ts/nx-generator/generator.js.map +1 -1
  478. package/src/ts/nx-generator/schema.d.js +6 -0
  479. package/src/ts/nx-generator/schema.d.js.map +1 -0
  480. package/src/ts/nx-generator/schema.d.ts +1 -0
  481. package/src/ts/nx-generator/schema.json +5 -0
  482. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  483. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  484. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  485. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  486. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  487. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  488. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  489. package/src/ts/nx-plugin/generator.js +57 -49
  490. package/src/ts/nx-plugin/generator.js.map +1 -1
  491. package/src/ts/nx-plugin/schema.d.js +9 -0
  492. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  493. package/src/ts/nx-plugin/schema.json +5 -0
  494. package/src/ts/nx-plugin/utils.js +32 -44
  495. package/src/ts/nx-plugin/utils.js.map +1 -1
  496. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +30 -30
  497. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  498. package/src/ts/rdb/agent-connection/generator.js +38 -39
  499. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  500. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  501. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  502. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  503. package/src/ts/rdb/agent-connection/schema.json +5 -0
  504. package/src/ts/rdb/files/config.json.template +1 -1
  505. package/src/ts/rdb/files/prisma.config.ts.template +2 -2
  506. package/src/ts/rdb/files/src/prisma.ts.template +7 -7
  507. package/src/ts/rdb/files/src/utils.ts.template +1 -0
  508. package/src/ts/rdb/generator.js +134 -117
  509. package/src/ts/rdb/generator.js.map +1 -1
  510. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  511. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  512. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  513. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  514. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  515. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  516. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  517. package/src/ts/rdb/schema.d.js +6 -0
  518. package/src/ts/rdb/schema.d.js.map +1 -0
  519. package/src/ts/rdb/schema.d.ts +1 -0
  520. package/src/ts/rdb/schema.json +5 -0
  521. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  522. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  523. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  524. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  525. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  526. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  527. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  528. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  529. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  530. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  531. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  532. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  533. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  534. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  535. package/src/ts/rdb/utils.js +9 -11
  536. package/src/ts/rdb/utils.js.map +1 -1
  537. package/src/ts/react-website/agui/generator.js +69 -61
  538. package/src/ts/react-website/agui/generator.js.map +1 -1
  539. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +178 -284
  540. package/src/ts/react-website/app/generator.d.ts +1 -1
  541. package/src/ts/react-website/app/generator.js +212 -191
  542. package/src/ts/react-website/app/generator.js.map +1 -1
  543. package/src/ts/react-website/app/schema.d.js +6 -0
  544. package/src/ts/react-website/app/schema.d.js.map +1 -0
  545. package/src/ts/react-website/app/schema.d.ts +1 -1
  546. package/src/ts/react-website/app/schema.json +11 -6
  547. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
  548. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +10 -3
  549. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  550. package/src/ts/react-website/cognito-auth/generator.d.ts +1 -1
  551. package/src/ts/react-website/cognito-auth/generator.js +64 -60
  552. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  553. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  554. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  555. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  556. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  557. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  558. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  559. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  560. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  561. package/src/ts/react-website/runtime-config/generator.js +29 -31
  562. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  563. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  564. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  565. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  566. package/src/ts/react-website/runtime-config/schema.json +5 -0
  567. package/src/ts/sync/generator.js +60 -59
  568. package/src/ts/sync/generator.js.map +1 -1
  569. package/src/ts/website/app/generator.js +10 -10
  570. package/src/ts/website/app/generator.js.map +1 -1
  571. package/src/ts/website/app/schema.d.js +6 -0
  572. package/src/ts/website/app/schema.d.js.map +1 -0
  573. package/src/ts/website/app/schema.d.ts +1 -1
  574. package/src/ts/website/app/schema.json +11 -6
  575. package/src/ts/website/auth/generator.d.ts +1 -1
  576. package/src/ts/website/auth/generator.js +11 -10
  577. package/src/ts/website/auth/generator.js.map +1 -1
  578. package/src/ts/website/auth/schema.d.js +6 -0
  579. package/src/ts/website/auth/schema.d.js.map +1 -0
  580. package/src/ts/website/auth/schema.d.ts +1 -0
  581. package/src/ts/website/auth/schema.json +5 -0
  582. package/src/utils/agent-chat/agent-chat.d.ts +1 -1
  583. package/src/utils/agent-chat/agent-chat.js +11 -12
  584. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  585. package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
  586. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
  587. package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
  588. package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
  589. package/src/utils/agent-connection/agent-connection.js +129 -146
  590. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  591. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
  592. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
  593. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
  594. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
  595. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
  596. package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
  597. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  598. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  599. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +4 -4
  600. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
  601. package/src/utils/api-constructs/api-constructs.js +30 -31
  602. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  603. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
  604. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  605. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  606. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
  607. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  608. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
  609. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  610. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  611. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  612. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  613. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  614. package/src/utils/ast/website.js +17 -19
  615. package/src/utils/ast/website.js.map +1 -1
  616. package/src/utils/ast.js +72 -97
  617. package/src/utils/ast.js.map +1 -1
  618. package/src/utils/bundle/bundle.js +50 -47
  619. package/src/utils/bundle/bundle.js.map +1 -1
  620. package/src/utils/commands.js +47 -26
  621. package/src/utils/commands.js.map +1 -1
  622. package/src/utils/config/index.d.ts +2 -2
  623. package/src/utils/config/index.js +5 -4
  624. package/src/utils/config/index.js.map +1 -1
  625. package/src/utils/config/utils.js +48 -58
  626. package/src/utils/config/utils.js.map +1 -1
  627. package/src/utils/connection/open-api/react.d.ts +5 -5
  628. package/src/utils/connection/open-api/react.js +81 -77
  629. package/src/utils/connection/open-api/react.js.map +1 -1
  630. package/src/utils/containers.js +22 -23
  631. package/src/utils/containers.js.map +1 -1
  632. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
  633. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  634. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
  635. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  636. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
  637. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
  638. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
  639. package/src/utils/files/common/scripts/src/infra/stage-credentials/cdk-command.ts.template +11 -3
  640. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  641. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  642. package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
  643. package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
  644. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  645. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  646. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
  647. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  648. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
  649. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  650. package/src/utils/format.js +153 -99
  651. package/src/utils/format.js.map +1 -1
  652. package/src/utils/fs.js +14 -13
  653. package/src/utils/fs.js.map +1 -1
  654. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  655. package/src/utils/function-constructs/function-constructs.js +21 -26
  656. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  657. package/src/utils/generators.js +18 -20
  658. package/src/utils/generators.js.map +1 -1
  659. package/src/utils/git.js +19 -34
  660. package/src/utils/git.js.map +1 -1
  661. package/src/utils/iac-providers.js +5 -5
  662. package/src/utils/iac-providers.js.map +1 -1
  663. package/src/utils/iac.js +12 -14
  664. package/src/utils/iac.js.map +1 -1
  665. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
  666. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +2 -2
  667. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
  668. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  669. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  670. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  671. package/src/utils/install.d.ts +32 -0
  672. package/src/utils/install.js +56 -0
  673. package/src/utils/install.js.map +1 -0
  674. package/src/utils/js.js +27 -20
  675. package/src/utils/js.js.map +1 -1
  676. package/src/utils/mcp.js +34 -41
  677. package/src/utils/mcp.js.map +1 -1
  678. package/src/utils/metrics.js +30 -45
  679. package/src/utils/metrics.js.map +1 -1
  680. package/src/utils/mock-project-graph.js +8 -12
  681. package/src/utils/mock-project-graph.js.map +1 -1
  682. package/src/utils/names.js +25 -51
  683. package/src/utils/names.js.map +1 -1
  684. package/src/utils/npm-scope.js +9 -17
  685. package/src/utils/npm-scope.js.map +1 -1
  686. package/src/utils/nx.d.ts +18 -2
  687. package/src/utils/nx.js +111 -74
  688. package/src/utils/nx.js.map +1 -1
  689. package/src/utils/nxlv-python.js +27 -15
  690. package/src/utils/nxlv-python.js.map +1 -1
  691. package/src/utils/object.js +5 -11
  692. package/src/utils/object.js.map +1 -1
  693. package/src/utils/paths.js +11 -15
  694. package/src/utils/paths.js.map +1 -1
  695. package/src/utils/pkg-manager.js +4 -9
  696. package/src/utils/pkg-manager.js.map +1 -1
  697. package/src/utils/pnpm-workspace.js +22 -22
  698. package/src/utils/pnpm-workspace.js.map +1 -1
  699. package/src/utils/port.js +26 -36
  700. package/src/utils/port.js.map +1 -1
  701. package/src/utils/py.js +43 -52
  702. package/src/utils/py.js.map +1 -1
  703. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  704. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
  705. package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
  706. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  707. package/src/utils/shared-constructs-constants.js +16 -16
  708. package/src/utils/shared-constructs-constants.js.map +1 -1
  709. package/src/utils/shared-constructs.js +57 -54
  710. package/src/utils/shared-constructs.js.map +1 -1
  711. package/src/utils/shared-dynamodb-scripts.js +16 -14
  712. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  713. package/src/utils/shared-infra-config.js +30 -31
  714. package/src/utils/shared-infra-config.js.map +1 -1
  715. package/src/utils/shared-infra-scripts.js +30 -25
  716. package/src/utils/shared-infra-scripts.js.map +1 -1
  717. package/src/utils/shared-rdb-scripts.d.ts +8 -3
  718. package/src/utils/shared-rdb-scripts.js +21 -13
  719. package/src/utils/shared-rdb-scripts.js.map +1 -1
  720. package/src/utils/shared-scripts.js +12 -17
  721. package/src/utils/shared-scripts.js.map +1 -1
  722. package/src/utils/shared-shadcn.js +64 -60
  723. package/src/utils/shared-shadcn.js.map +1 -1
  724. package/src/utils/test.d.ts +8 -0
  725. package/src/utils/test.js +33 -25
  726. package/src/utils/test.js.map +1 -1
  727. package/src/utils/toml.js +7 -15
  728. package/src/utils/toml.js.map +1 -1
  729. package/src/utils/versions.d.ts +93 -66
  730. package/src/utils/versions.js +102 -85
  731. package/src/utils/versions.js.map +1 -1
  732. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  733. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
  734. package/src/utils/website-constructs/website-constructs.js +31 -30
  735. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  736. package/bin/aws-nx-mcp.js +0 -17
  737. package/bin/aws-nx-mcp.js.map +0 -1
  738. package/sdk/agentcore-gateway.d.ts +0 -6
  739. package/sdk/agentcore-gateway.js +0 -11
  740. package/sdk/agentcore-gateway.js.map +0 -1
  741. package/sdk/connection.d.ts +0 -6
  742. package/sdk/connection.js +0 -10
  743. package/sdk/connection.js.map +0 -1
  744. package/sdk/license.js +0 -14
  745. package/sdk/license.js.map +0 -1
  746. package/sdk/open-api.d.ts +0 -10
  747. package/sdk/open-api.js +0 -15
  748. package/sdk/open-api.js.map +0 -1
  749. package/sdk/py.d.ts +0 -14
  750. package/sdk/py.js +0 -18
  751. package/sdk/py.js.map +0 -1
  752. package/sdk/terraform.d.ts +0 -6
  753. package/sdk/terraform.js +0 -11
  754. package/sdk/terraform.js.map +0 -1
  755. package/sdk/ts.d.ts +0 -33
  756. package/sdk/ts.js +0 -53
  757. package/sdk/ts.js.map +0 -1
  758. package/sdk/utils/ast.js +0 -12
  759. package/sdk/utils/ast.js.map +0 -1
  760. package/sdk/utils/format.js +0 -10
  761. package/sdk/utils/format.js.map +0 -1
  762. package/sdk/utils/test.js +0 -10
  763. package/sdk/utils/test.js.map +0 -1
  764. package/src/connection/agent-serve-local.js +0 -48
  765. package/src/connection/agent-serve-local.js.map +0 -1
  766. package/src/connection/serve-local.js +0 -41
  767. package/src/connection/serve-local.js.map +0 -1
  768. package/src/py/agent/react-connection/serve-local.js +0 -38
  769. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  770. package/src/ts/agent/react-connection/serve-local.js +0 -19
  771. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  772. package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
  773. /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
  774. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
@@ -1,29 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readAgentCoreGatewayMetadata = exports.agentcoreGatewayGenerator = exports.AGENTCORE_GATEWAY_GENERATOR_INFO = void 0;
4
1
  /**
5
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
3
  * SPDX-License-Identifier: Apache-2.0
7
- */
8
- const devkit_1 = require("@nx/devkit");
9
- const agent_core_constructs_1 = require("../utils/agent-core-constructs/agent-core-constructs");
10
- const format_1 = require("../utils/format");
11
- const iac_1 = require("../utils/iac");
12
- const metrics_1 = require("../utils/metrics");
13
- const names_1 = require("../utils/names");
14
- const npm_scope_1 = require("../utils/npm-scope");
15
- const nx_1 = require("../utils/nx");
16
- const port_1 = require("../utils/port");
17
- const shared_constructs_1 = require("../utils/shared-constructs");
18
- const versions_1 = require("../utils/versions");
19
- exports.AGENTCORE_GATEWAY_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
20
- const agentcoreGatewayGenerator = async (tree, options) => {
21
- const name = (0, names_1.kebabCase)(options.name);
22
- const nameClassName = (0, names_1.toClassName)(name);
4
+ */ import { addDependenciesToPackageJson, addProjectConfiguration, generateFiles, joinPathFragments, OverwriteStrategy, updateProjectConfiguration } from "@nx/devkit";
5
+ import { addAgentCoreGatewayInfra } from "../utils/agent-core-constructs/agent-core-constructs.js";
6
+ import { formatFilesInSubtree } from "../utils/format.js";
7
+ import { resolveIac } from "../utils/iac.js";
8
+ import { installDependencies } from "../utils/install.js";
9
+ import { addGeneratorMetricsIfApplicable } from "../utils/metrics.js";
10
+ import { kebabCase, toClassName } from "../utils/names.js";
11
+ import { getNpmScopePrefix } from "../utils/npm-scope.js";
12
+ import { addGeneratorMetadata, getGeneratorInfo, projectExists, readProjectConfigurationUnqualified } from "../utils/nx.js";
13
+ import { assignPort } from "../utils/port.js";
14
+ import { sharedConstructsGenerator } from "../utils/shared-constructs.js";
15
+ import { withVersions } from "../utils/versions.js";
16
+ export const AGENTCORE_GATEWAY_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
17
+ export const agentcoreGatewayGenerator = async (tree, options)=>{
18
+ const name = kebabCase(options.name);
19
+ const nameClassName = toClassName(name);
23
20
  const parentDir = options.directory ?? 'packages';
24
21
  const subDir = options.subDirectory ?? name;
25
- const projectRoot = (0, devkit_1.joinPathFragments)(parentDir, subDir);
26
- const fullyQualifiedName = `${(0, npm_scope_1.getNpmScopePrefix)(tree)}${name}`;
22
+ const projectRoot = joinPathFragments(parentDir, subDir);
23
+ const fullyQualifiedName = `${getNpmScopePrefix(tree)}${name}`;
27
24
  // Protocol / auth are fixed to mcp / iam in v1 — the enums accept only
28
25
  // these values, but we still persist the resolved value in metadata so
29
26
  // that connection generators can read it uniformly (and future additions
@@ -32,30 +29,31 @@ const agentcoreGatewayGenerator = async (tree, options) => {
32
29
  const auth = options.auth ?? 'iam';
33
30
  const cedarPolicy = options.cedarPolicy ?? true;
34
31
  const infra = options.infra ?? 'agentcore';
35
- // serve-local.ts is the local gateway: a continuous MCP aggregator chaining
36
- // onto attached MCP servers' serve-local targets (added by the
37
- // mcp-connection generator), so a single `nx run <agent>:<agent>-serve-local`
38
- // boots the gateway and every attached MCP server together.
32
+ // local-dev.ts is the local gateway: a continuous MCP aggregator chaining
33
+ // onto attached MCP servers' dev targets (added by the mcp-connection
34
+ // generator), so a single `nx dev <gateway>` boots the gateway and every
35
+ // attached MCP server together.
39
36
  //
40
37
  // `serve` exists for parity with other generators; the deployed Gateway is
41
38
  // a managed AWS resource, so `serve`-mode agents talk to it via runtime
42
39
  // config and the local gateway sits idle.
43
- const localGatewayTarget = (port) => ({
44
- executor: 'nx:run-commands',
45
- continuous: true,
46
- options: {
47
- command: 'tsx serve-local.ts',
48
- cwd: '{projectRoot}',
49
- env: { PORT: `${port}` },
50
- },
51
- dependsOn: [],
52
- });
40
+ const localGatewayTarget = (port)=>({
41
+ executor: 'nx:run-commands',
42
+ continuous: true,
43
+ options: {
44
+ command: 'tsx local-dev.ts',
45
+ cwd: '{projectRoot}',
46
+ env: {
47
+ PORT: `${port}`
48
+ }
49
+ },
50
+ dependsOn: []
51
+ });
53
52
  let project;
54
- if ((0, nx_1.projectExists)(tree, fullyQualifiedName)) {
55
- project = (0, nx_1.readProjectConfigurationUnqualified)(tree, fullyQualifiedName);
56
- }
57
- else {
58
- (0, devkit_1.addProjectConfiguration)(tree, fullyQualifiedName, {
53
+ if (projectExists(tree, fullyQualifiedName)) {
54
+ project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);
55
+ } else {
56
+ addProjectConfiguration(tree, fullyQualifiedName, {
59
57
  name: fullyQualifiedName,
60
58
  root: projectRoot,
61
59
  projectType: 'library',
@@ -63,67 +61,89 @@ const agentcoreGatewayGenerator = async (tree, options) => {
63
61
  tags: [],
64
62
  targets: {},
65
63
  metadata: {
66
- generator: exports.AGENTCORE_GATEWAY_GENERATOR_INFO.id,
67
- },
64
+ generator: AGENTCORE_GATEWAY_GENERATOR_INFO.id
65
+ }
68
66
  });
69
- project = (0, nx_1.readProjectConfigurationUnqualified)(tree, fullyQualifiedName);
67
+ project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);
70
68
  }
71
- const port = (0, port_1.assignPort)(tree, project, 8100);
72
- // Re-run: keep existing targets (their dependsOn may have been populated
73
- // by the mcp-connection generator), just ensure both exist.
69
+ const port = assignPort(tree, project, 8100);
70
+ // A gateway is its own standalone project, so it uses plain `serve` / `dev`
71
+ // targets. Re-run: keep existing targets (their dependsOn may have been
72
+ // populated by the mcp-connection generator), just ensure both exist.
74
73
  project.targets ??= {};
75
- project.targets[`${name}-serve`] ??= localGatewayTarget(port);
76
- project.targets[`${name}-serve-local`] ??= localGatewayTarget(port);
77
- (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
78
- // Scaffold the gateway project: serve-local.ts (+ Cedar policies if requested)
79
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'project'), projectRoot, { nameClassName, nameKebabCase: name, port, attachedMcpServers: [] }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
74
+ project.targets['serve'] ??= localGatewayTarget(port);
75
+ project.targets['dev'] ??= localGatewayTarget(port);
76
+ updateProjectConfiguration(tree, project.name, project);
77
+ // Scaffold the gateway project: local-dev.ts (+ Cedar policies if requested)
78
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'project'), projectRoot, {
79
+ nameClassName,
80
+ nameKebabCase: name,
81
+ port,
82
+ attachedMcpServers: []
83
+ }, {
84
+ overwriteStrategy: OverwriteStrategy.KeepExisting
85
+ });
80
86
  if (cedarPolicy) {
81
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cedar'), projectRoot, { nameClassName }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
87
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'cedar'), projectRoot, {
88
+ nameClassName
89
+ }, {
90
+ overwriteStrategy: OverwriteStrategy.KeepExisting
91
+ });
82
92
  }
83
- (0, nx_1.addGeneratorMetadata)(tree, fullyQualifiedName, exports.AGENTCORE_GATEWAY_GENERATOR_INFO, {
93
+ addGeneratorMetadata(tree, fullyQualifiedName, AGENTCORE_GATEWAY_GENERATOR_INFO, {
84
94
  name,
85
95
  rc: nameClassName,
86
96
  protocol,
87
97
  auth,
88
- port,
98
+ port
89
99
  });
90
- // serve-local.ts dependencies (+ ejs for Cedar policy rendering in the
100
+ // local-dev.ts dependencies (+ ejs for Cedar policy rendering in the
91
101
  // shared gateway construct)
92
- (0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)(['@modelcontextprotocol/sdk', 'express']), (0, versions_1.withVersions)(['tsx', '@types/express', 'ejs', '@types/ejs']));
102
+ addDependenciesToPackageJson(tree, withVersions([
103
+ '@modelcontextprotocol/sdk',
104
+ 'express'
105
+ ]), withVersions([
106
+ 'tsx',
107
+ '@types/express',
108
+ 'ejs',
109
+ '@types/ejs'
110
+ ]));
93
111
  // Wire up infra (CDK or Terraform); re-running with infra=agentcore adds
94
112
  // the infrastructure to a previously infra-less gateway.
95
113
  if (infra === 'agentcore') {
96
- const iac = await (0, iac_1.resolveIac)(tree, options.iac);
97
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iac });
98
- await (0, agent_core_constructs_1.addAgentCoreGatewayInfra)(tree, {
114
+ const iac = await resolveIac(tree, options.iac);
115
+ await sharedConstructsGenerator(tree, {
116
+ iac
117
+ });
118
+ await addAgentCoreGatewayInfra(tree, {
99
119
  gatewayNameClassName: nameClassName,
100
120
  gatewayNameKebabCase: name,
101
121
  projectName: fullyQualifiedName,
102
122
  projectDirectory: projectRoot,
103
123
  cedarPolicy,
104
- iac,
124
+ iac
105
125
  });
106
126
  }
107
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
108
- exports.AGENTCORE_GATEWAY_GENERATOR_INFO,
127
+ await addGeneratorMetricsIfApplicable(tree, [
128
+ AGENTCORE_GATEWAY_GENERATOR_INFO
109
129
  ]);
110
- await (0, format_1.formatFilesInSubtree)(tree);
111
- return () => {
112
- (0, devkit_1.installPackagesTask)(tree);
113
- };
130
+ await formatFilesInSubtree(tree);
131
+ return ()=>installDependencies(tree, options.preferInstallDependencies, {
132
+ languages: [
133
+ 'typescript'
134
+ ]
135
+ });
114
136
  };
115
- exports.agentcoreGatewayGenerator = agentcoreGatewayGenerator;
116
137
  /**
117
138
  * Read a gateway project's metadata, validating it was generated by the
118
139
  * agentcore-gateway generator.
119
- */
120
- const readAgentCoreGatewayMetadata = (project) => {
140
+ */ export const readAgentCoreGatewayMetadata = (project)=>{
121
141
  const metadata = project.metadata;
122
- if (metadata?.generator !== exports.AGENTCORE_GATEWAY_GENERATOR_INFO.id) {
123
- throw new Error(`Project '${project.name}' was not generated by the '${exports.AGENTCORE_GATEWAY_GENERATOR_INFO.id}' generator.`);
142
+ if (metadata?.generator !== AGENTCORE_GATEWAY_GENERATOR_INFO.id) {
143
+ throw new Error(`Project '${project.name}' was not generated by the '${AGENTCORE_GATEWAY_GENERATOR_INFO.id}' generator.`);
124
144
  }
125
145
  return metadata;
126
146
  };
127
- exports.readAgentCoreGatewayMetadata = readAgentCoreGatewayMetadata;
128
- exports.default = exports.agentcoreGatewayGenerator;
147
+ export default agentcoreGatewayGenerator;
148
+
129
149
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/agentcore-gateway/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/agentcore-gateway/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addDependenciesToPackageJson,\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { addAgentCoreGatewayInfra } from '../utils/agent-core-constructs/agent-core-constructs';\nimport { formatFilesInSubtree } from '../utils/format';\nimport { resolveIac } from '../utils/iac';\nimport { installDependencies } from '../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../utils/metrics';\nimport { kebabCase, toClassName } from '../utils/names';\nimport { getNpmScopePrefix } from '../utils/npm-scope';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n readProjectConfigurationUnqualified,\n} from '../utils/nx';\nimport { assignPort } from '../utils/port';\nimport { sharedConstructsGenerator } from '../utils/shared-constructs';\nimport { withVersions } from '../utils/versions';\nimport type { AgentcoreGatewayGeneratorSchema } from './schema';\n\nexport const AGENTCORE_GATEWAY_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const agentcoreGatewayGenerator = async (\n tree: Tree,\n options: AgentcoreGatewayGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const name = kebabCase(options.name);\n const nameClassName = toClassName(name);\n const parentDir = options.directory ?? 'packages';\n const subDir = options.subDirectory ?? name;\n const projectRoot = joinPathFragments(parentDir, subDir);\n const fullyQualifiedName = `${getNpmScopePrefix(tree)}${name}`;\n\n // Protocol / auth are fixed to mcp / iam in v1 — the enums accept only\n // these values, but we still persist the resolved value in metadata so\n // that connection generators can read it uniformly (and future additions\n // are non-breaking).\n const protocol = options.protocol ?? 'mcp';\n const auth = options.auth ?? 'iam';\n const cedarPolicy = options.cedarPolicy ?? true;\n const infra = options.infra ?? 'agentcore';\n\n // local-dev.ts is the local gateway: a continuous MCP aggregator chaining\n // onto attached MCP servers' dev targets (added by the mcp-connection\n // generator), so a single `nx dev <gateway>` boots the gateway and every\n // attached MCP server together.\n //\n // `serve` exists for parity with other generators; the deployed Gateway is\n // a managed AWS resource, so `serve`-mode agents talk to it via runtime\n // config and the local gateway sits idle.\n const localGatewayTarget = (port: number) => ({\n executor: 'nx:run-commands' as const,\n continuous: true,\n options: {\n command: 'tsx local-dev.ts',\n cwd: '{projectRoot}',\n env: { PORT: `${port}` },\n },\n dependsOn: [] as Array<string | { projects: string[]; target: string }>,\n });\n let project: ProjectConfiguration;\n if (projectExists(tree, fullyQualifiedName)) {\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n } else {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: projectRoot,\n projectType: 'library',\n sourceRoot: projectRoot,\n tags: [],\n targets: {},\n metadata: {\n generator: AGENTCORE_GATEWAY_GENERATOR_INFO.id,\n } as any,\n });\n project = readProjectConfigurationUnqualified(tree, fullyQualifiedName);\n }\n const port = assignPort(tree, project, 8100);\n // A gateway is its own standalone project, so it uses plain `serve` / `dev`\n // targets. Re-run: keep existing targets (their dependsOn may have been\n // populated by the mcp-connection generator), just ensure both exist.\n project.targets ??= {};\n project.targets['serve'] ??= localGatewayTarget(port);\n project.targets['dev'] ??= localGatewayTarget(port);\n updateProjectConfiguration(tree, project.name, project);\n\n // Scaffold the gateway project: local-dev.ts (+ Cedar policies if requested)\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'project'),\n projectRoot,\n { nameClassName, nameKebabCase: name, port, attachedMcpServers: [] },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n if (cedarPolicy) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cedar'),\n projectRoot,\n { nameClassName },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n addGeneratorMetadata(\n tree,\n fullyQualifiedName,\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n {\n name,\n rc: nameClassName,\n protocol,\n auth,\n port,\n },\n );\n\n // local-dev.ts dependencies (+ ejs for Cedar policy rendering in the\n // shared gateway construct)\n addDependenciesToPackageJson(\n tree,\n withVersions(['@modelcontextprotocol/sdk', 'express']),\n withVersions(['tsx', '@types/express', 'ejs', '@types/ejs']),\n );\n\n // Wire up infra (CDK or Terraform); re-running with infra=agentcore adds\n // the infrastructure to a previously infra-less gateway.\n if (infra === 'agentcore') {\n const iac = await resolveIac(tree, options.iac);\n await sharedConstructsGenerator(tree, { iac });\n\n await addAgentCoreGatewayInfra(tree, {\n gatewayNameClassName: nameClassName,\n gatewayNameKebabCase: name,\n projectName: fullyQualifiedName,\n projectDirectory: projectRoot,\n cedarPolicy,\n iac,\n });\n }\n\n await addGeneratorMetricsIfApplicable(tree, [\n AGENTCORE_GATEWAY_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\n/**\n * Gateway details stored in the gateway project's metadata.\n */\nexport interface AgentCoreGatewayMetadata {\n name: string;\n rc: string;\n protocol: string;\n auth: string;\n port: number;\n}\n\n/**\n * Read a gateway project's metadata, validating it was generated by the\n * agentcore-gateway generator.\n */\nexport const readAgentCoreGatewayMetadata = (\n project: ProjectConfiguration,\n): AgentCoreGatewayMetadata => {\n const metadata = project.metadata as any;\n if (metadata?.generator !== AGENTCORE_GATEWAY_GENERATOR_INFO.id) {\n throw new Error(\n `Project '${project.name}' was not generated by the '${AGENTCORE_GATEWAY_GENERATOR_INFO.id}' generator.`,\n );\n }\n return metadata as AgentCoreGatewayMetadata;\n};\n\nexport default agentcoreGatewayGenerator;\n"],"names":["addDependenciesToPackageJson","addProjectConfiguration","generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","addAgentCoreGatewayInfra","formatFilesInSubtree","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","readProjectConfigurationUnqualified","assignPort","sharedConstructsGenerator","withVersions","AGENTCORE_GATEWAY_GENERATOR_INFO","filename","agentcoreGatewayGenerator","tree","options","name","nameClassName","parentDir","directory","subDir","subDirectory","projectRoot","fullyQualifiedName","protocol","auth","cedarPolicy","infra","localGatewayTarget","port","executor","continuous","command","cwd","env","PORT","dependsOn","project","root","projectType","sourceRoot","tags","targets","metadata","generator","id","dirname","nameKebabCase","attachedMcpServers","overwriteStrategy","KeepExisting","rc","iac","gatewayNameClassName","gatewayNameKebabCase","projectName","projectDirectory","preferInstallDependencies","languages","readAgentCoreGatewayMetadata","Error"],"mappings":"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"}
@@ -2,15 +2,15 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { type GeneratorCallback, type Tree } from '@nx/devkit';
5
+ import type { GeneratorCallback, Tree } from '@nx/devkit';
6
6
  import { type NxGeneratorInfo } from '../../utils/nx';
7
7
  import type { AgentcoreGatewayMcpConnectionGeneratorSchema } from './schema';
8
8
  export declare const AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
9
  /**
10
10
  * Connect an AgentCore Gateway to an MCP server.
11
11
  *
12
- * Chains the gateway's serve-local target to the MCP server's serve-local
13
- * target, and registers the server in the gateway's local serve-local.ts so
12
+ * Chains the gateway's dev target to the MCP server's dev
13
+ * target, and registers the server in the gateway's local local-dev.ts so
14
14
  * the local gateway aggregates its tools. Users must still call
15
15
  * `gateway.addMcpServer(...)` in their application stack to create the
16
16
  * actual CDK/Terraform resource.
@@ -1,31 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.agentcoreGatewayMcpConnectionGenerator = exports.AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO = void 0;
4
1
  /**
5
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
3
  * SPDX-License-Identifier: Apache-2.0
7
- */
8
- const devkit_1 = require("@nx/devkit");
9
- const format_1 = require("../../utils/format");
10
- const metrics_1 = require("../../utils/metrics");
11
- const names_1 = require("../../utils/names");
12
- const nx_1 = require("../../utils/nx");
13
- const attach_upstream_1 = require("../attach-upstream");
14
- const generator_1 = require("../generator");
15
- exports.AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
4
+ */ import { formatFilesInSubtree } from "../../utils/format.js";
5
+ import { installDependencies } from "../../utils/install.js";
6
+ import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
7
+ import { kebabCase } from "../../utils/names.js";
8
+ import { getGeneratorInfo, readProjectConfigurationUnqualified } from "../../utils/nx.js";
9
+ import { attachUpstreamToLocalGateway } from "../attach-upstream.js";
10
+ import { readAgentCoreGatewayMetadata } from "../generator.js";
11
+ export const AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
16
12
  /**
17
13
  * Connect an AgentCore Gateway to an MCP server.
18
14
  *
19
- * Chains the gateway's serve-local target to the MCP server's serve-local
20
- * target, and registers the server in the gateway's local serve-local.ts so
15
+ * Chains the gateway's dev target to the MCP server's dev
16
+ * target, and registers the server in the gateway's local local-dev.ts so
21
17
  * the local gateway aggregates its tools. Users must still call
22
18
  * `gateway.addMcpServer(...)` in their application stack to create the
23
19
  * actual CDK/Terraform resource.
24
- */
25
- const agentcoreGatewayMcpConnectionGenerator = async (tree, options) => {
26
- const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
27
- const targetProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.targetProject);
28
- const gateway = (0, generator_1.readAgentCoreGatewayMetadata)(sourceProject);
20
+ */ export const agentcoreGatewayMcpConnectionGenerator = async (tree, options)=>{
21
+ const sourceProject = readProjectConfigurationUnqualified(tree, options.sourceProject);
22
+ const targetProject = readProjectConfigurationUnqualified(tree, options.targetProject);
23
+ const gateway = readAgentCoreGatewayMetadata(sourceProject);
29
24
  const mcpComponent = options.targetComponent;
30
25
  if (!mcpComponent) {
31
26
  throw new Error(`Target project '${options.targetProject}' has no MCP server component metadata. Did you run the 'ts#mcp-server' or 'py#mcp-server' generator?`);
@@ -36,28 +31,29 @@ const agentcoreGatewayMcpConnectionGenerator = async (tree, options) => {
36
31
  if (mcpComponent.auth && mcpComponent.auth !== 'iam') {
37
32
  throw new Error(`MCP server '${mcpComponent.name}' uses auth='${mcpComponent.auth}'. Gateway->MCP connections currently require the MCP server to use IAM authentication.`);
38
33
  }
39
- const gatewayServeLocalTargetName = `${(0, names_1.kebabCase)(gateway.rc)}-serve-local`;
40
34
  // The target name must match what the deployed Gateway uses
41
35
  // (`mcpServerName` on the MCP construct, derived from the project's class
42
36
  // name) so `<target>___<tool>` resolves identically locally and deployed.
43
37
  // Component-level `name` would clash whenever two MCP server projects
44
38
  // both default to `mcp-server`.
45
- const mcpTargetName = (0, names_1.kebabCase)(mcpComponent.rc);
39
+ const mcpTargetName = kebabCase(mcpComponent.rc);
46
40
  const mcpComponentName = mcpComponent.name ?? 'mcp-server';
47
- await (0, attach_upstream_1.attachUpstreamToLocalGateway)(tree, sourceProject, gatewayServeLocalTargetName, {
41
+ await attachUpstreamToLocalGateway(tree, sourceProject, 'dev', {
48
42
  targetName: mcpTargetName,
49
43
  port: mcpComponent.port ?? 8000,
50
44
  upstreamProjectName: targetProject.name,
51
- upstreamServeLocalTargetName: `${mcpComponentName}-serve-local`,
45
+ upstreamDevTargetName: `${mcpComponentName}-dev`
52
46
  });
53
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [
54
- exports.AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO,
47
+ await addGeneratorMetricsIfApplicable(tree, [
48
+ AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO
55
49
  ]);
56
- await (0, format_1.formatFilesInSubtree)(tree);
57
- return () => {
58
- (0, devkit_1.installPackagesTask)(tree);
59
- };
50
+ await formatFilesInSubtree(tree);
51
+ return ()=>installDependencies(tree, options.preferInstallDependencies, {
52
+ languages: [
53
+ 'typescript'
54
+ ]
55
+ });
60
56
  };
61
- exports.agentcoreGatewayMcpConnectionGenerator = agentcoreGatewayMcpConnectionGenerator;
62
- exports.default = exports.agentcoreGatewayMcpConnectionGenerator;
57
+ export default agentcoreGatewayMcpConnectionGenerator;
58
+
63
59
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/agentcore-gateway/mcp-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAIoB;AACpB,+CAA0D;AAC1D,iDAAsE;AACtE,6CAA8C;AAC9C,uCAIwB;AACxB,wDAAkE;AAClE,4CAA4D;AAG/C,QAAA,+CAA+C,GAC1D,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAE/B;;;;;;;;GAQG;AACI,MAAM,sCAAsC,GAAG,KAAK,EACzD,IAAU,EACV,OAAqD,EACzB,EAAE;IAC9B,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,wCAA4B,EAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAE7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,mBAAmB,OAAO,CAAC,aAAa,uGAAuG,CAChJ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,mBAAmB,OAAO,CAAC,QAAQ,sEAAsE,CAClI,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,CAAC,IAAI,gBAAgB,YAAY,CAAC,IAAI,yFAAyF,CAC3J,CAAC;IACJ,CAAC;IAED,MAAM,2BAA2B,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC;IAE3E,4DAA4D;IAC5D,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,gCAAgC;IAChC,MAAM,aAAa,GAAG,IAAA,iBAAS,EAAC,YAAY,CAAC,EAAY,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC;IAE3D,MAAM,IAAA,8CAA4B,EAChC,IAAI,EACJ,aAAa,EACb,2BAA2B,EAC3B;QACE,UAAU,EAAE,aAAa;QACzB,IAAI,EAAG,YAAY,CAAC,IAA2B,IAAI,IAAI;QACvD,mBAAmB,EAAE,aAAa,CAAC,IAAI;QACvC,4BAA4B,EAAE,GAAG,gBAAgB,cAAc;KAChE,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,uDAA+C;KAChD,CAAC,CAAC;IAEH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAhEW,QAAA,sCAAsC,0CAgEjD;AAEF,kBAAe,8CAAsC,CAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/agentcore-gateway/mcp-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { GeneratorCallback, Tree } from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { installDependencies } from '../../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { kebabCase } from '../../utils/names';\nimport {\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../utils/nx';\nimport { attachUpstreamToLocalGateway } from '../attach-upstream';\nimport { readAgentCoreGatewayMetadata } from '../generator';\nimport type { AgentcoreGatewayMcpConnectionGeneratorSchema } from './schema';\n\nexport const AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\n/**\n * Connect an AgentCore Gateway to an MCP server.\n *\n * Chains the gateway's dev target to the MCP server's dev\n * target, and registers the server in the gateway's local local-dev.ts so\n * the local gateway aggregates its tools. Users must still call\n * `gateway.addMcpServer(...)` in their application stack to create the\n * actual CDK/Terraform resource.\n */\nexport const agentcoreGatewayMcpConnectionGenerator = async (\n tree: Tree,\n options: AgentcoreGatewayMcpConnectionGeneratorSchema,\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 gateway = readAgentCoreGatewayMetadata(sourceProject);\n const mcpComponent = options.targetComponent;\n\n if (!mcpComponent) {\n throw new Error(\n `Target project '${options.targetProject}' has no MCP server component metadata. Did you run the 'ts#mcp-server' or 'py#mcp-server' generator?`,\n );\n }\n\n if (gateway.protocol !== 'mcp') {\n throw new Error(\n `Gateway '${gateway.name}' has protocol='${gateway.protocol}'. MCP server targets can only be attached to MCP-protocol gateways.`,\n );\n }\n if (mcpComponent.auth && mcpComponent.auth !== 'iam') {\n throw new Error(\n `MCP server '${mcpComponent.name}' uses auth='${mcpComponent.auth}'. Gateway->MCP connections currently require the MCP server to use IAM authentication.`,\n );\n }\n\n // The target name must match what the deployed Gateway uses\n // (`mcpServerName` on the MCP construct, derived from the project's class\n // name) so `<target>___<tool>` resolves identically locally and deployed.\n // Component-level `name` would clash whenever two MCP server projects\n // both default to `mcp-server`.\n const mcpTargetName = kebabCase(mcpComponent.rc as string);\n const mcpComponentName = mcpComponent.name ?? 'mcp-server';\n\n await attachUpstreamToLocalGateway(tree, sourceProject, 'dev', {\n targetName: mcpTargetName,\n port: (mcpComponent.port as number | undefined) ?? 8000,\n upstreamProjectName: targetProject.name,\n upstreamDevTargetName: `${mcpComponentName}-dev`,\n });\n\n await addGeneratorMetricsIfApplicable(tree, [\n AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default agentcoreGatewayMcpConnectionGenerator;\n"],"names":["formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","getGeneratorInfo","readProjectConfigurationUnqualified","attachUpstreamToLocalGateway","readAgentCoreGatewayMetadata","AGENTCORE_GATEWAY_MCP_CONNECTION_GENERATOR_INFO","filename","agentcoreGatewayMcpConnectionGenerator","tree","options","sourceProject","targetProject","gateway","mcpComponent","targetComponent","Error","protocol","name","auth","mcpTargetName","rc","mcpComponentName","targetName","port","upstreamProjectName","upstreamDevTargetName","preferInstallDependencies","languages"],"mappings":"AAAA;;;CAGC,GAED,SAASA,oBAAoB,QAAQ,wBAAqB;AAC1D,SAASC,mBAAmB,QAAQ,yBAAsB;AAC1D,SAASC,+BAA+B,QAAQ,yBAAsB;AACtE,SAASC,SAAS,QAAQ,uBAAoB;AAC9C,SACEC,gBAAgB,EAEhBC,mCAAmC,QAC9B,oBAAiB;AACxB,SAASC,4BAA4B,QAAQ,wBAAqB;AAClE,SAASC,4BAA4B,QAAQ,kBAAe;AAG5D,OAAO,MAAMC,kDACXJ,iBAAiB,YAAYK,QAAQ,EAAE;AAEzC;;;;;;;;CAQC,GACD,OAAO,MAAMC,yCAAyC,OACpDC,MACAC;IAEA,MAAMC,gBAAgBR,oCACpBM,MACAC,QAAQC,aAAa;IAEvB,MAAMC,gBAAgBT,oCACpBM,MACAC,QAAQE,aAAa;IAGvB,MAAMC,UAAUR,6BAA6BM;IAC7C,MAAMG,eAAeJ,QAAQK,eAAe;IAE5C,IAAI,CAACD,cAAc;QACjB,MAAM,IAAIE,MACR,CAAC,gBAAgB,EAAEN,QAAQE,aAAa,CAAC,qGAAqG,CAAC;IAEnJ;IAEA,IAAIC,QAAQI,QAAQ,KAAK,OAAO;QAC9B,MAAM,IAAID,MACR,CAAC,SAAS,EAAEH,QAAQK,IAAI,CAAC,gBAAgB,EAAEL,QAAQI,QAAQ,CAAC,oEAAoE,CAAC;IAErI;IACA,IAAIH,aAAaK,IAAI,IAAIL,aAAaK,IAAI,KAAK,OAAO;QACpD,MAAM,IAAIH,MACR,CAAC,YAAY,EAAEF,aAAaI,IAAI,CAAC,aAAa,EAAEJ,aAAaK,IAAI,CAAC,uFAAuF,CAAC;IAE9J;IAEA,4DAA4D;IAC5D,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,gCAAgC;IAChC,MAAMC,gBAAgBnB,UAAUa,aAAaO,EAAE;IAC/C,MAAMC,mBAAmBR,aAAaI,IAAI,IAAI;IAE9C,MAAMd,6BAA6BK,MAAME,eAAe,OAAO;QAC7DY,YAAYH;QACZI,MAAM,AAACV,aAAaU,IAAI,IAA2B;QACnDC,qBAAqBb,cAAcM,IAAI;QACvCQ,uBAAuB,GAAGJ,iBAAiB,IAAI,CAAC;IAClD;IAEA,MAAMtB,gCAAgCS,MAAM;QAC1CH;KACD;IAED,MAAMR,qBAAqBW;IAE3B,OAAO,IACLV,oBAAoBU,MAAMC,QAAQiB,yBAAyB,EAAE;YAC3DC,WAAW;gBAAC;aAAa;QAC3B;AACJ,EAAE;AAEF,eAAepB,uCAAuC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/agentcore-gateway/mcp-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { ComponentMetadata } from '../../utils/nx';\n\nexport interface AgentcoreGatewayMcpConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n targetComponent?: ComponentMetadata;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD,WAMC"}
@@ -9,4 +9,5 @@ export interface AgentcoreGatewayMcpConnectionGeneratorSchema {
9
9
  targetProject: string;
10
10
  sourceComponent?: ComponentMetadata;
11
11
  targetComponent?: ComponentMetadata;
12
+ preferInstallDependencies?: boolean;
12
13
  }
@@ -20,6 +20,11 @@
20
20
  "targetComponent": {
21
21
  "type": "string",
22
22
  "description": "The MCP server component in the target project"
23
+ },
24
+ "preferInstallDependencies": {
25
+ "type": "boolean",
26
+ "description": "Whether to prefer installing dependencies after the generator runs. Set to false to defer installing when batching multiple generators (an install still runs if needed so subsequent generators can compute the Nx project graph); install once at the end.",
27
+ "default": true
23
28
  }
24
29
  },
25
30
  "required": ["sourceProject", "targetProject"]
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ export { };
5
+
6
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/agentcore-gateway/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { IacOption } from '../utils/iac';\n\nexport interface AgentcoreGatewayGeneratorSchema {\n name: string;\n directory?: string;\n subDirectory?: string;\n protocol?: 'mcp';\n auth?: 'iam';\n cedarPolicy?: boolean;\n infra?: 'agentcore' | 'none';\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD,WAUC"}
@@ -13,4 +13,5 @@ export interface AgentcoreGatewayGeneratorSchema {
13
13
  cedarPolicy?: boolean;
14
14
  infra?: 'agentcore' | 'none';
15
15
  iac: IacOption;
16
+ preferInstallDependencies?: boolean;
16
17
  }
@@ -59,6 +59,11 @@
59
59
  "x-priority": "important",
60
60
  "default": "inherit",
61
61
  "x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
62
+ },
63
+ "preferInstallDependencies": {
64
+ "type": "boolean",
65
+ "description": "Whether to prefer installing dependencies after the generator runs. Set to false to defer installing when batching multiple generators (an install still runs if needed so subsequent generators can compute the Nx project graph); install once at the end.",
66
+ "default": true
62
67
  }
63
68
  },
64
69
  "required": ["name"]
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */ import { startMcpServer } from "../mcp-server/index.js";
6
+ void (async ()=>{
7
+ try {
8
+ await startMcpServer();
9
+ } catch (e) {
10
+ console.error(e);
11
+ }
12
+ })();
13
+
14
+ //# sourceMappingURL=aws-nx-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/bin/aws-nx-mcp.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { startMcpServer } from '../mcp-server';\n\nvoid (async () => {\n try {\n await startMcpServer();\n } catch (e) {\n console.error(e);\n }\n})();\n"],"names":["startMcpServer","e","console","error"],"mappings":";AACA;;;CAGC,GACD,SAASA,cAAc,QAAQ,yBAAgB;AAE/C,KAAK,AAAC,CAAA;IACJ,IAAI;QACF,MAAMA;IACR,EAAE,OAAOC,GAAG;QACVC,QAAQC,KAAK,CAACF;IAChB;AACF,CAAA"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { type Tree } from '@nx/devkit';
6
6
  import { type ComponentMetadata } from '../utils/nx';
7
- export interface AgentServeLocalOptions {
7
+ export interface AgentLocalDevOptions {
8
8
  agentNameClassName: string;
9
9
  port: number;
10
10
  targetComponent?: ComponentMetadata;
@@ -18,16 +18,16 @@ export interface AgentServeLocalOptions {
18
18
  */
19
19
  localUrl: string;
20
20
  /**
21
- * Additional targets to add as serve-local dependencies.
21
+ * Additional targets to add as dev dependencies.
22
22
  */
23
23
  additionalDependencyTargets?: string[];
24
24
  }
25
25
  /**
26
- * Adds a Strands Agent's component serve-local target as a dependency of the
27
- * source project's serve-local target, and updates the RuntimeConfig provider
26
+ * Adds a Strands Agent's component dev target as a dependency of the
27
+ * source project's dev target, and updates the RuntimeConfig provider
28
28
  * to point to the agent's local URL.
29
29
  *
30
30
  * This is the shared implementation used by both Python and TypeScript Strands
31
31
  * Agent react-connection generators.
32
32
  */
33
- export declare const addAgentTargetToServeLocal: (tree: Tree, sourceProjectName: string, targetProjectName: string, options: AgentServeLocalOptions) => Promise<void>;
33
+ export declare const addAgentTargetToLocalDev: (tree: Tree, sourceProjectName: string, targetProjectName: string, options: AgentLocalDevOptions) => Promise<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 { joinPathFragments, updateProjectConfiguration } from "@nx/devkit";
5
+ import { applyGritQL } from "../utils/ast.js";
6
+ import { addDependencyToTargetIfNotPresent, readProjectConfigurationUnqualified } from "../utils/nx.js";
7
+ /**
8
+ * Adds a Strands Agent's component dev target as a dependency of the
9
+ * source project's dev target, and updates the RuntimeConfig provider
10
+ * to point to the agent's local URL.
11
+ *
12
+ * This is the shared implementation used by both Python and TypeScript Strands
13
+ * Agent react-connection generators.
14
+ */ export const addAgentTargetToLocalDev = async (tree, sourceProjectName, targetProjectName, options)=>{
15
+ const sourceProject = readProjectConfigurationUnqualified(tree, sourceProjectName);
16
+ const targetProject = readProjectConfigurationUnqualified(tree, targetProjectName);
17
+ // Determine the dev target name for the agent component
18
+ const agentDevTargetName = options.targetComponent?.name ? `${options.targetComponent.name}-dev` : 'agent-dev';
19
+ // Target project must have the agent dev target which is continuous
20
+ if (!(targetProject.targets?.[agentDevTargetName]?.continuous && sourceProject.targets?.['dev'])) {
21
+ return;
22
+ }
23
+ // Add a dependency on the agent dev target (so that the agent's
24
+ // own dev dependencies, such as MCP servers, are also started)
25
+ addDependencyToTargetIfNotPresent(sourceProject, 'dev', {
26
+ projects: [
27
+ targetProject.name
28
+ ],
29
+ target: agentDevTargetName
30
+ });
31
+ for (const additional of options.additionalDependencyTargets ?? []){
32
+ addDependencyToTargetIfNotPresent(sourceProject, 'dev', additional);
33
+ }
34
+ updateProjectConfiguration(tree, sourceProject.name, sourceProject);
35
+ // Add an override to runtime-config for the dev target to use the local url
36
+ const runtimeConfigProvider = joinPathFragments(sourceProject.root, 'src', 'components', 'RuntimeConfig', 'index.tsx');
37
+ if (tree.exists(runtimeConfigProvider)) {
38
+ await applyGritQL(tree, runtimeConfigProvider, `\`if ($cond) { $stmts }\` => raw\`if ($cond) {\n $stmts\n runtimeConfig.${options.runtimeConfigNamespace}.${options.agentNameClassName} = '${options.localUrl}';\n }\` where { $cond <: contains \`'local-dev'\`, $stmts <: within \`const applyOverrides = $_\`, $stmts <: not contains \`runtimeConfig.${options.runtimeConfigNamespace}.${options.agentNameClassName}\` }`);
39
+ }
40
+ };
41
+
42
+ //# sourceMappingURL=agent-local-dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/connection/agent-local-dev.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n joinPathFragments,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { applyGritQL } from '../utils/ast';\nimport {\n addDependencyToTargetIfNotPresent,\n type ComponentMetadata,\n readProjectConfigurationUnqualified,\n} from '../utils/nx';\n\nexport interface AgentLocalDevOptions {\n agentNameClassName: string;\n port: number;\n targetComponent?: ComponentMetadata;\n /**\n * The runtime config namespace to set the local URL on.\n * E.g. 'apis' results in `runtimeConfig.apis.X = url`\n */\n runtimeConfigNamespace: string;\n /**\n * The local URL to set in the runtime config override.\n */\n localUrl: string;\n /**\n * Additional targets to add as dev dependencies.\n */\n additionalDependencyTargets?: string[];\n}\n\n/**\n * Adds a Strands Agent's component dev target as a dependency of the\n * source project's dev target, and updates the RuntimeConfig provider\n * to point to the agent's local URL.\n *\n * This is the shared implementation used by both Python and TypeScript Strands\n * Agent react-connection generators.\n */\nexport const addAgentTargetToLocalDev = async (\n tree: Tree,\n sourceProjectName: string,\n targetProjectName: string,\n options: AgentLocalDevOptions,\n) => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n sourceProjectName,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n targetProjectName,\n );\n\n // Determine the dev target name for the agent component\n const agentDevTargetName = options.targetComponent?.name\n ? `${options.targetComponent.name}-dev`\n : 'agent-dev';\n\n // Target project must have the agent dev target which is continuous\n if (\n !(\n targetProject.targets?.[agentDevTargetName]?.continuous &&\n sourceProject.targets?.['dev']\n )\n ) {\n return;\n }\n\n // Add a dependency on the agent dev target (so that the agent's\n // own dev dependencies, such as MCP servers, are also started)\n addDependencyToTargetIfNotPresent(sourceProject, 'dev', {\n projects: [targetProject.name],\n target: agentDevTargetName,\n });\n for (const additional of options.additionalDependencyTargets ?? []) {\n addDependencyToTargetIfNotPresent(sourceProject, 'dev', additional);\n }\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n\n // Add an override to runtime-config for the dev target to use the local url\n const runtimeConfigProvider = joinPathFragments(\n sourceProject.root,\n 'src',\n 'components',\n 'RuntimeConfig',\n 'index.tsx',\n );\n if (tree.exists(runtimeConfigProvider)) {\n await applyGritQL(\n tree,\n runtimeConfigProvider,\n `\\`if ($cond) { $stmts }\\` => raw\\`if ($cond) {\\n $stmts\\n runtimeConfig.${options.runtimeConfigNamespace}.${options.agentNameClassName} = '${options.localUrl}';\\n }\\` where { $cond <: contains \\`'local-dev'\\`, $stmts <: within \\`const applyOverrides = $_\\`, $stmts <: not contains \\`runtimeConfig.${options.runtimeConfigNamespace}.${options.agentNameClassName}\\` }`,\n );\n }\n};\n"],"names":["joinPathFragments","updateProjectConfiguration","applyGritQL","addDependencyToTargetIfNotPresent","readProjectConfigurationUnqualified","addAgentTargetToLocalDev","tree","sourceProjectName","targetProjectName","options","sourceProject","targetProject","agentDevTargetName","targetComponent","name","targets","continuous","projects","target","additional","additionalDependencyTargets","runtimeConfigProvider","root","exists","runtimeConfigNamespace","agentNameClassName","localUrl"],"mappings":"AAAA;;;CAGC,GACD,SACEA,iBAAiB,EAEjBC,0BAA0B,QACrB,aAAa;AACpB,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SACEC,iCAAiC,EAEjCC,mCAAmC,QAC9B,iBAAc;AAqBrB;;;;;;;CAOC,GACD,OAAO,MAAMC,2BAA2B,OACtCC,MACAC,mBACAC,mBACAC;IAEA,MAAMC,gBAAgBN,oCACpBE,MACAC;IAEF,MAAMI,gBAAgBP,oCACpBE,MACAE;IAGF,wDAAwD;IACxD,MAAMI,qBAAqBH,QAAQI,eAAe,EAAEC,OAChD,GAAGL,QAAQI,eAAe,CAACC,IAAI,CAAC,IAAI,CAAC,GACrC;IAEJ,oEAAoE;IACpE,IACE,CACEH,CAAAA,cAAcI,OAAO,EAAE,CAACH,mBAAmB,EAAEI,cAC7CN,cAAcK,OAAO,EAAE,CAAC,MAAM,AAAD,GAE/B;QACA;IACF;IAEA,gEAAgE;IAChE,+DAA+D;IAC/DZ,kCAAkCO,eAAe,OAAO;QACtDO,UAAU;YAACN,cAAcG,IAAI;SAAC;QAC9BI,QAAQN;IACV;IACA,KAAK,MAAMO,cAAcV,QAAQW,2BAA2B,IAAI,EAAE,CAAE;QAClEjB,kCAAkCO,eAAe,OAAOS;IAC1D;IACAlB,2BAA2BK,MAAMI,cAAcI,IAAI,EAAEJ;IAErD,4EAA4E;IAC5E,MAAMW,wBAAwBrB,kBAC5BU,cAAcY,IAAI,EAClB,OACA,cACA,iBACA;IAEF,IAAIhB,KAAKiB,MAAM,CAACF,wBAAwB;QACtC,MAAMnB,YACJI,MACAe,uBACA,CAAC,8EAA8E,EAAEZ,QAAQe,sBAAsB,CAAC,CAAC,EAAEf,QAAQgB,kBAAkB,CAAC,IAAI,EAAEhB,QAAQiB,QAAQ,CAAC,4IAA4I,EAAEjB,QAAQe,sBAAsB,CAAC,CAAC,EAAEf,QAAQgB,kBAAkB,CAAC,IAAI,CAAC;IAEzX;AACF,EAAE"}