@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1017) hide show
  1. package/LICENSE-THIRD-PARTY +6746 -6133
  2. package/README.md +7 -7
  3. package/executors.json +9 -0
  4. package/generators.json +100 -1
  5. package/package.json +35 -17
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +149 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +158 -177
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +98 -0
  52. package/src/connection/supported-connections.js +138 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +141 -123
  59. package/src/infra/app/generator.js.map +1 -1
  60. package/src/infra/app/schema.d.js +6 -0
  61. package/src/infra/app/schema.d.js.map +1 -0
  62. package/src/infra/app/schema.d.ts +1 -1
  63. package/src/infra/app/schema.json +5 -0
  64. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  65. package/src/license/config-types.d.ts +18 -1
  66. package/src/license/config-types.js +8 -2
  67. package/src/license/config-types.js.map +1 -1
  68. package/src/license/config.d.ts +65 -7
  69. package/src/license/config.js +442 -109
  70. package/src/license/config.js.map +1 -1
  71. package/src/license/dependency-check/check.d.ts +16 -0
  72. package/src/license/dependency-check/check.js +116 -0
  73. package/src/license/dependency-check/check.js.map +1 -0
  74. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  75. package/src/license/dependency-check/collectors/collector.js +46 -0
  76. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  77. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  78. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  79. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  80. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  81. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  82. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  83. package/src/license/dependency-check/evaluator.d.ts +9 -0
  84. package/src/license/dependency-check/evaluator.js +94 -0
  85. package/src/license/dependency-check/evaluator.js.map +1 -0
  86. package/src/license/dependency-check/executor-schema.json +6 -0
  87. package/src/license/dependency-check/executor.d.ts +9 -0
  88. package/src/license/dependency-check/executor.js +51 -0
  89. package/src/license/dependency-check/executor.js.map +1 -0
  90. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  91. package/src/license/dependency-check/pre-approved.js +1893 -0
  92. package/src/license/dependency-check/pre-approved.js.map +1 -0
  93. package/src/license/dependency-check/types.d.ts +45 -0
  94. package/src/license/dependency-check/types.js +6 -0
  95. package/src/license/dependency-check/types.js.map +1 -0
  96. package/src/license/generator.d.ts +3 -3
  97. package/src/license/generator.js +127 -30
  98. package/src/license/generator.js.map +1 -1
  99. package/src/license/index.d.ts +8 -0
  100. package/src/license/index.js +7 -0
  101. package/src/license/index.js.map +1 -0
  102. package/src/license/known-exceptions.d.ts +7 -0
  103. package/src/license/known-exceptions.js +39 -0
  104. package/src/license/known-exceptions.js.map +1 -0
  105. package/src/license/schema.d.js +6 -0
  106. package/src/license/schema.d.js.map +1 -0
  107. package/src/license/schema.d.ts +7 -0
  108. package/src/license/schema.json +11 -0
  109. package/src/license/sync/generator.d.ts +2 -2
  110. package/src/license/sync/generator.js +100 -125
  111. package/src/license/sync/generator.js.map +1 -1
  112. package/src/license/sync/project-file-sync.d.ts +3 -3
  113. package/src/license/sync/project-file-sync.js +28 -35
  114. package/src/license/sync/project-file-sync.js.map +1 -1
  115. package/src/mcp-server/generator-info.d.ts +5 -1
  116. package/src/mcp-server/generator-info.js +130 -160
  117. package/src/mcp-server/generator-info.js.map +1 -1
  118. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  119. package/src/mcp-server/guide-pipeline.js +184 -206
  120. package/src/mcp-server/guide-pipeline.js.map +1 -1
  121. package/src/mcp-server/guide-render.js +10 -25
  122. package/src/mcp-server/guide-render.js.map +1 -1
  123. package/src/mcp-server/index.js +6 -10
  124. package/src/mcp-server/index.js.map +1 -1
  125. package/src/mcp-server/mdx-ast.js +42 -56
  126. package/src/mcp-server/mdx-ast.js.map +1 -1
  127. package/src/mcp-server/option-filter.js +33 -47
  128. package/src/mcp-server/option-filter.js.map +1 -1
  129. package/src/mcp-server/schema-registry.d.ts +9 -3
  130. package/src/mcp-server/schema-registry.js +41 -38
  131. package/src/mcp-server/schema-registry.js.map +1 -1
  132. package/src/mcp-server/schema.js +9 -7
  133. package/src/mcp-server/schema.js.map +1 -1
  134. package/src/mcp-server/server.js +20 -24
  135. package/src/mcp-server/server.js.map +1 -1
  136. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  137. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  138. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  139. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  140. package/src/mcp-server/tools/general-guidance.js +46 -25
  141. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  142. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  143. package/src/mcp-server/tools/generator-guide.js +29 -37
  144. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  145. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  146. package/src/mcp-server/tools/list-generators.js +19 -25
  147. package/src/mcp-server/tools/list-generators.js.map +1 -1
  148. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  149. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  150. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +286 -62
  151. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +674 -93
  152. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +147 -33
  153. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +196 -44
  154. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5507 -0
  155. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +219 -60
  156. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +351 -80
  157. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +170 -49
  158. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +99 -23
  159. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  160. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  161. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +196 -44
  162. package/src/open-api/ts-client/files/client.gen.ts.template +130 -18
  163. package/src/open-api/ts-client/files/types.gen.ts.template +4 -4
  164. package/src/open-api/ts-client/generator.d.ts +3 -3
  165. package/src/open-api/ts-client/generator.js +16 -26
  166. package/src/open-api/ts-client/generator.js.map +1 -1
  167. package/src/open-api/ts-client/schema.d.js +6 -0
  168. package/src/open-api/ts-client/schema.d.js.map +1 -0
  169. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +5 -0
  170. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  171. package/src/open-api/ts-hooks/generator.js +13 -21
  172. package/src/open-api/ts-hooks/generator.js.map +1 -1
  173. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  174. package/src/open-api/ts-hooks/schema.d.js +6 -0
  175. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  176. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  177. package/src/open-api/ts-metadata/generator.js +12 -20
  178. package/src/open-api/ts-metadata/generator.js.map +1 -1
  179. package/src/open-api/ts-metadata/schema.d.js +6 -0
  180. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  181. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  182. package/src/open-api/utils/codegen-data/languages.js +53 -66
  183. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  184. package/src/open-api/utils/codegen-data/types.d.ts +240 -10
  185. package/src/open-api/utils/codegen-data/types.js +54 -30
  186. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  187. package/src/open-api/utils/codegen-data.d.ts +8 -4
  188. package/src/open-api/utils/codegen-data.js +398 -674
  189. package/src/open-api/utils/codegen-data.js.map +1 -1
  190. package/src/open-api/utils/normalise.d.ts +5 -1
  191. package/src/open-api/utils/normalise.js +386 -247
  192. package/src/open-api/utils/normalise.js.map +1 -1
  193. package/src/open-api/utils/parse.d.ts +2 -2
  194. package/src/open-api/utils/parse.js +11 -13
  195. package/src/open-api/utils/parse.js.map +1 -1
  196. package/src/open-api/utils/parser.d.ts +55 -0
  197. package/src/open-api/utils/parser.js +743 -0
  198. package/src/open-api/utils/parser.js.map +1 -0
  199. package/src/open-api/utils/refs.d.ts +1 -1
  200. package/src/open-api/utils/refs.js +12 -22
  201. package/src/open-api/utils/refs.js.map +1 -1
  202. package/src/open-api/utils/types.d.ts +15 -0
  203. package/src/open-api/utils/types.js +5 -2
  204. package/src/open-api/utils/types.js.map +1 -1
  205. package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
  206. package/src/preset/generator.d.ts +4 -4
  207. package/src/preset/generator.js +140 -112
  208. package/src/preset/generator.js.map +1 -1
  209. package/src/preset/schema.d.js +6 -0
  210. package/src/preset/schema.d.js.map +1 -0
  211. package/src/preset/schema.d.ts +4 -2
  212. package/src/preset/schema.json +10 -5
  213. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  214. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  215. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
  216. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  217. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  218. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  219. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  220. package/src/py/agent/a2a-connection/generator.js +113 -85
  221. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  222. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  223. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  224. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  225. package/src/py/agent/a2a-connection/schema.json +5 -0
  226. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  227. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  228. package/src/py/agent/files/common/agent.py.template +2 -0
  229. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  230. package/src/py/agent/files/http/init.py.template +7 -25
  231. package/src/py/agent/files/http/main.py.template +2 -3
  232. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  233. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  234. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  235. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  236. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  237. package/src/py/agent/gateway-connection/generator.js +119 -0
  238. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  239. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  240. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  241. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  242. package/src/py/agent/gateway-connection/schema.json +31 -0
  243. package/src/py/agent/generator.d.ts +3 -3
  244. package/src/py/agent/generator.js +280 -180
  245. package/src/py/agent/generator.js.map +1 -1
  246. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  247. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  248. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  249. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  250. package/src/py/agent/mcp-connection/generator.js +65 -126
  251. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  252. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  253. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  254. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  255. package/src/py/agent/mcp-connection/schema.json +5 -0
  256. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  257. package/src/py/agent/react-connection/generator.d.ts +4 -4
  258. package/src/py/agent/react-connection/generator.js +55 -59
  259. package/src/py/agent/react-connection/generator.js.map +1 -1
  260. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  261. package/src/py/agent/react-connection/local-dev.js +36 -0
  262. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  263. package/src/py/agent/react-connection/schema.d.js +8 -0
  264. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  265. package/src/py/agent/react-connection/schema.d.ts +1 -0
  266. package/src/py/agent/react-connection/schema.json +5 -0
  267. package/src/py/agent/schema.d.js +6 -0
  268. package/src/py/agent/schema.d.js.map +1 -0
  269. package/src/py/agent/schema.d.ts +2 -1
  270. package/src/py/agent/schema.json +6 -1
  271. package/src/py/api/generator.d.ts +3 -3
  272. package/src/py/api/generator.js +12 -11
  273. package/src/py/api/generator.js.map +1 -1
  274. package/src/py/api/schema.d.js +6 -0
  275. package/src/py/api/schema.d.js.map +1 -0
  276. package/src/py/api/schema.d.ts +1 -0
  277. package/src/py/api/schema.json +5 -0
  278. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  279. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  280. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  281. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  282. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  283. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  284. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  285. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  286. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  287. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  288. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  289. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  290. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  291. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  292. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  293. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  294. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  295. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  296. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  297. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  298. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  299. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  300. package/src/py/dynamodb/files/config.json.template +24 -0
  301. package/src/py/dynamodb/generator.d.ts +10 -0
  302. package/src/py/dynamodb/generator.js +110 -0
  303. package/src/py/dynamodb/generator.js.map +1 -0
  304. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  305. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  306. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  307. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  308. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  309. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  310. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  311. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  312. package/src/py/dynamodb/schema.d.js +6 -0
  313. package/src/py/dynamodb/schema.d.js.map +1 -0
  314. package/src/py/dynamodb/schema.d.ts +16 -0
  315. package/src/py/dynamodb/schema.json +75 -0
  316. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  317. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  318. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  319. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  320. package/src/py/fast-api/generator.d.ts +3 -3
  321. package/src/py/fast-api/generator.js +90 -87
  322. package/src/py/fast-api/generator.js.map +1 -1
  323. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  324. package/src/py/fast-api/react/generator.d.ts +4 -4
  325. package/src/py/fast-api/react/generator.js +25 -25
  326. package/src/py/fast-api/react/generator.js.map +1 -1
  327. package/src/py/fast-api/react/open-api.d.ts +1 -1
  328. package/src/py/fast-api/react/open-api.js +31 -29
  329. package/src/py/fast-api/react/open-api.js.map +1 -1
  330. package/src/py/fast-api/react/schema.d.js +6 -0
  331. package/src/py/fast-api/react/schema.d.js.map +1 -0
  332. package/src/py/fast-api/react/schema.d.ts +1 -0
  333. package/src/py/fast-api/react/schema.json +5 -0
  334. package/src/py/fast-api/schema.d.js +6 -0
  335. package/src/py/fast-api/schema.d.js.map +1 -0
  336. package/src/py/fast-api/schema.d.ts +1 -0
  337. package/src/py/fast-api/schema.json +5 -0
  338. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  339. package/src/py/lambda-function/generator.d.ts +3 -3
  340. package/src/py/lambda-function/generator.js +60 -59
  341. package/src/py/lambda-function/generator.js.map +1 -1
  342. package/src/py/lambda-function/schema.d.js +6 -0
  343. package/src/py/lambda-function/schema.d.js.map +1 -0
  344. package/src/py/lambda-function/schema.d.ts +1 -0
  345. package/src/py/lambda-function/schema.json +5 -0
  346. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
  347. package/src/py/mcp-server/generator.d.ts +3 -3
  348. package/src/py/mcp-server/generator.js +152 -125
  349. package/src/py/mcp-server/generator.js.map +1 -1
  350. package/src/py/mcp-server/schema.d.js +6 -0
  351. package/src/py/mcp-server/schema.d.js.map +1 -0
  352. package/src/py/mcp-server/schema.d.ts +1 -0
  353. package/src/py/mcp-server/schema.json +5 -0
  354. package/src/py/project/generator.d.ts +17 -4
  355. package/src/py/project/generator.js +205 -127
  356. package/src/py/project/generator.js.map +1 -1
  357. package/src/py/project/schema.d.js +6 -0
  358. package/src/py/project/schema.d.js.map +1 -0
  359. package/src/py/project/schema.d.ts +1 -0
  360. package/src/py/project/schema.json +5 -0
  361. package/src/sdk/agentcore-gateway.d.ts +6 -0
  362. package/src/sdk/agentcore-gateway.js +7 -0
  363. package/src/sdk/agentcore-gateway.js.map +1 -0
  364. package/src/sdk/connection.d.ts +6 -0
  365. package/src/sdk/connection.js +6 -0
  366. package/src/sdk/connection.js.map +1 -0
  367. package/src/sdk/license.d.ts +8 -0
  368. package/src/sdk/license.js +7 -0
  369. package/src/sdk/license.js.map +1 -0
  370. package/src/sdk/open-api.d.ts +10 -0
  371. package/src/sdk/open-api.js +8 -0
  372. package/src/sdk/open-api.js.map +1 -0
  373. package/src/sdk/py.d.ts +14 -0
  374. package/src/sdk/py.js +10 -0
  375. package/src/sdk/py.js.map +1 -0
  376. package/src/sdk/terraform.d.ts +6 -0
  377. package/src/sdk/terraform.js +7 -0
  378. package/src/sdk/terraform.js.map +1 -0
  379. package/src/sdk/ts.d.ts +33 -0
  380. package/src/sdk/ts.js +35 -0
  381. package/src/sdk/ts.js.map +1 -0
  382. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  383. package/src/sdk/utils/ast.js +6 -0
  384. package/src/sdk/utils/ast.js.map +1 -0
  385. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  386. package/src/sdk/utils/format.js +6 -0
  387. package/src/sdk/utils/format.js.map +1 -0
  388. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  389. package/src/sdk/utils/test.js +6 -0
  390. package/src/sdk/utils/test.js.map +1 -0
  391. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  392. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  393. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  394. package/src/smithy/project/generator.d.ts +3 -3
  395. package/src/smithy/project/generator.js +64 -57
  396. package/src/smithy/project/generator.js.map +1 -1
  397. package/src/smithy/project/schema.d.js +6 -0
  398. package/src/smithy/project/schema.d.js.map +1 -0
  399. package/src/smithy/project/schema.d.ts +1 -0
  400. package/src/smithy/project/schema.json +5 -0
  401. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  402. package/src/smithy/react-connection/generator.d.ts +3 -3
  403. package/src/smithy/react-connection/generator.js +39 -47
  404. package/src/smithy/react-connection/generator.js.map +1 -1
  405. package/src/smithy/react-connection/schema.d.js +6 -0
  406. package/src/smithy/react-connection/schema.d.js.map +1 -0
  407. package/src/smithy/react-connection/schema.d.ts +1 -0
  408. package/src/smithy/react-connection/schema.json +5 -0
  409. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
  410. package/src/smithy/ts/api/generator.d.ts +3 -3
  411. package/src/smithy/ts/api/generator.js +127 -106
  412. package/src/smithy/ts/api/generator.js.map +1 -1
  413. package/src/smithy/ts/api/schema.d.js +6 -0
  414. package/src/smithy/ts/api/schema.d.js.map +1 -0
  415. package/src/smithy/ts/api/schema.d.ts +1 -0
  416. package/src/smithy/ts/api/schema.json +5 -0
  417. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  418. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  419. package/src/terraform/project/generator.d.ts +3 -3
  420. package/src/terraform/project/generator.js +156 -104
  421. package/src/terraform/project/generator.js.map +1 -1
  422. package/src/terraform/project/schema.d.js +9 -0
  423. package/src/terraform/project/schema.d.js.map +1 -0
  424. package/src/terraform/project/schema.d.ts +1 -0
  425. package/src/terraform/project/schema.json +5 -0
  426. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
  427. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  428. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  429. package/src/trpc/backend/generator.d.ts +4 -4
  430. package/src/trpc/backend/generator.js +97 -85
  431. package/src/trpc/backend/generator.js.map +1 -1
  432. package/src/trpc/backend/schema.d.js +6 -0
  433. package/src/trpc/backend/schema.d.js.map +1 -0
  434. package/src/trpc/backend/schema.d.ts +3 -2
  435. package/src/trpc/backend/schema.json +5 -0
  436. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  437. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  438. package/src/trpc/react/generator.d.ts +4 -4
  439. package/src/trpc/react/generator.js +63 -58
  440. package/src/trpc/react/generator.js.map +1 -1
  441. package/src/trpc/react/schema.d.js +6 -0
  442. package/src/trpc/react/schema.d.js.map +1 -0
  443. package/src/trpc/react/schema.d.ts +1 -0
  444. package/src/trpc/react/schema.json +5 -0
  445. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
  446. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  447. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  448. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  449. package/src/ts/agent/a2a-connection/generator.js +63 -56
  450. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  451. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  452. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  453. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  454. package/src/ts/agent/a2a-connection/schema.json +5 -0
  455. package/src/ts/agent/files/common/agent.ts.template +6 -2
  456. package/src/ts/agent/files/http/router.ts.template +1 -1
  457. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  458. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  459. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  460. package/src/ts/agent/gateway-connection/generator.js +114 -0
  461. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  462. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  463. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  464. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  465. package/src/ts/agent/gateway-connection/schema.json +31 -0
  466. package/src/ts/agent/generator.d.ts +3 -3
  467. package/src/ts/agent/generator.js +188 -144
  468. package/src/ts/agent/generator.js.map +1 -1
  469. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  470. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  471. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  472. package/src/ts/agent/mcp-connection/generator.js +53 -60
  473. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  474. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  475. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  476. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  477. package/src/ts/agent/mcp-connection/schema.json +5 -0
  478. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  479. package/src/ts/agent/react-connection/generator.js +86 -80
  480. package/src/ts/agent/react-connection/generator.js.map +1 -1
  481. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  482. package/src/ts/agent/react-connection/local-dev.js +17 -0
  483. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  484. package/src/ts/agent/react-connection/schema.d.js +8 -0
  485. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  486. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  487. package/src/ts/agent/react-connection/schema.json +5 -0
  488. package/src/ts/agent/schema.d.js +6 -0
  489. package/src/ts/agent/schema.d.js.map +1 -0
  490. package/src/ts/agent/schema.d.ts +1 -0
  491. package/src/ts/agent/schema.json +5 -0
  492. package/src/ts/api/generator.d.ts +3 -3
  493. package/src/ts/api/generator.js +16 -16
  494. package/src/ts/api/generator.js.map +1 -1
  495. package/src/ts/api/schema.d.js +6 -0
  496. package/src/ts/api/schema.d.js.map +1 -0
  497. package/src/ts/api/schema.d.ts +3 -1
  498. package/src/ts/api/schema.json +5 -0
  499. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  500. package/src/ts/astro-docs/generator.d.ts +3 -3
  501. package/src/ts/astro-docs/generator.js +69 -54
  502. package/src/ts/astro-docs/generator.js.map +1 -1
  503. package/src/ts/astro-docs/schema.d.js +6 -0
  504. package/src/ts/astro-docs/schema.d.js.map +1 -0
  505. package/src/ts/astro-docs/schema.d.ts +2 -2
  506. package/src/ts/astro-docs/schema.json +3 -3
  507. package/src/ts/docs/generator.d.ts +3 -3
  508. package/src/ts/docs/generator.js +10 -10
  509. package/src/ts/docs/generator.js.map +1 -1
  510. package/src/ts/docs/schema.d.js +6 -0
  511. package/src/ts/docs/schema.d.js.map +1 -0
  512. package/src/ts/docs/schema.d.ts +1 -4
  513. package/src/ts/docs/schema.json +3 -3
  514. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
  515. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  516. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  517. package/src/ts/dynamodb/agent-connection/generator.js +30 -0
  518. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  519. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  520. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  521. package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
  522. package/src/ts/dynamodb/agent-connection/schema.json +27 -0
  523. package/src/ts/dynamodb/files/config.json.template +24 -0
  524. package/src/ts/dynamodb/files/src/client.ts.template +61 -0
  525. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  526. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  527. package/src/ts/dynamodb/files/src/index.ts.template +2 -0
  528. package/src/ts/dynamodb/generator.d.ts +10 -0
  529. package/src/ts/dynamodb/generator.js +116 -0
  530. package/src/ts/dynamodb/generator.js.map +1 -0
  531. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  532. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  533. package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
  534. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  535. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  536. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  537. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  538. package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
  539. package/src/ts/dynamodb/schema.d.js +6 -0
  540. package/src/ts/dynamodb/schema.d.js.map +1 -0
  541. package/src/ts/dynamodb/schema.d.ts +16 -0
  542. package/src/ts/dynamodb/schema.json +75 -0
  543. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  544. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  545. package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
  546. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  547. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  548. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  549. package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
  550. package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
  551. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  552. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  553. package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
  554. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  555. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  556. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  557. package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
  558. package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
  559. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  560. package/src/ts/lambda-function/generator.d.ts +3 -3
  561. package/src/ts/lambda-function/generator.js +59 -56
  562. package/src/ts/lambda-function/generator.js.map +1 -1
  563. package/src/ts/lambda-function/io.js +83 -52
  564. package/src/ts/lambda-function/io.js.map +1 -1
  565. package/src/ts/lambda-function/schema.d.js +6 -0
  566. package/src/ts/lambda-function/schema.d.js.map +1 -0
  567. package/src/ts/lambda-function/schema.d.ts +1 -0
  568. package/src/ts/lambda-function/schema.json +5 -0
  569. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
  570. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  571. package/src/ts/lib/biome.d.ts +7 -0
  572. package/src/ts/lib/biome.js +58 -0
  573. package/src/ts/lib/biome.js.map +1 -0
  574. package/src/ts/lib/generator.d.ts +3 -3
  575. package/src/ts/lib/generator.js +96 -96
  576. package/src/ts/lib/generator.js.map +1 -1
  577. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  578. package/src/ts/lib/schema.d.js +6 -0
  579. package/src/ts/lib/schema.d.js.map +1 -0
  580. package/src/ts/lib/schema.d.ts +1 -1
  581. package/src/ts/lib/schema.json +5 -0
  582. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  583. package/src/ts/lib/ts-project-utils.js +80 -65
  584. package/src/ts/lib/ts-project-utils.js.map +1 -1
  585. package/src/ts/lib/types.js +5 -2
  586. package/src/ts/lib/types.js.map +1 -1
  587. package/src/ts/lib/vitest.d.ts +2 -2
  588. package/src/ts/lib/vitest.js +29 -26
  589. package/src/ts/lib/vitest.js.map +1 -1
  590. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
  591. package/src/ts/mcp-server/generator.d.ts +3 -3
  592. package/src/ts/mcp-server/generator.js +164 -120
  593. package/src/ts/mcp-server/generator.js.map +1 -1
  594. package/src/ts/mcp-server/schema.d.js +6 -0
  595. package/src/ts/mcp-server/schema.d.js.map +1 -0
  596. package/src/ts/mcp-server/schema.d.ts +1 -0
  597. package/src/ts/mcp-server/schema.json +5 -0
  598. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  599. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  600. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  601. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  602. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  603. package/src/ts/nx-generator/generator.d.ts +2 -2
  604. package/src/ts/nx-generator/generator.js +111 -74
  605. package/src/ts/nx-generator/generator.js.map +1 -1
  606. package/src/ts/nx-generator/schema.d.js +6 -0
  607. package/src/ts/nx-generator/schema.d.js.map +1 -0
  608. package/src/ts/nx-generator/schema.d.ts +1 -0
  609. package/src/ts/nx-generator/schema.json +5 -0
  610. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  611. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  612. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  613. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  614. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  615. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  616. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  617. package/src/ts/nx-plugin/generator.d.ts +3 -3
  618. package/src/ts/nx-plugin/generator.js +60 -51
  619. package/src/ts/nx-plugin/generator.js.map +1 -1
  620. package/src/ts/nx-plugin/schema.d.js +9 -0
  621. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  622. package/src/ts/nx-plugin/schema.json +5 -0
  623. package/src/ts/nx-plugin/utils.d.ts +1 -1
  624. package/src/ts/nx-plugin/utils.js +32 -38
  625. package/src/ts/nx-plugin/utils.js.map +1 -1
  626. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
  627. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  628. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  629. package/src/ts/rdb/agent-connection/generator.js +38 -39
  630. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  631. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  632. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  633. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  634. package/src/ts/rdb/agent-connection/schema.json +5 -0
  635. package/src/ts/rdb/files/config.json.template +14 -0
  636. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  637. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
  638. package/src/ts/rdb/files/src/index.ts.template +0 -1
  639. package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
  640. package/src/ts/rdb/files/src/prisma.ts.template +28 -23
  641. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  642. package/src/ts/rdb/generator.d.ts +3 -7
  643. package/src/ts/rdb/generator.js +158 -130
  644. package/src/ts/rdb/generator.js.map +1 -1
  645. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  646. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  647. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  648. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  649. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  650. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  651. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  652. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  653. package/src/ts/rdb/schema.d.js +6 -0
  654. package/src/ts/rdb/schema.d.js.map +1 -0
  655. package/src/ts/rdb/schema.d.ts +1 -0
  656. package/src/ts/rdb/schema.json +5 -0
  657. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  658. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  659. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  660. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  661. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  662. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  663. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  664. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  665. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  666. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  667. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  668. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  669. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  670. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  671. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  672. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  673. package/src/ts/rdb/utils.d.ts +1 -1
  674. package/src/ts/rdb/utils.js +9 -11
  675. package/src/ts/rdb/utils.js.map +1 -1
  676. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  677. package/src/ts/react-website/agui/generator.d.ts +1 -1
  678. package/src/ts/react-website/agui/generator.js +69 -62
  679. package/src/ts/react-website/agui/generator.js.map +1 -1
  680. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
  681. package/src/ts/react-website/app/generator.d.ts +4 -4
  682. package/src/ts/react-website/app/generator.js +217 -192
  683. package/src/ts/react-website/app/generator.js.map +1 -1
  684. package/src/ts/react-website/app/schema.d.js +6 -0
  685. package/src/ts/react-website/app/schema.d.js.map +1 -0
  686. package/src/ts/react-website/app/schema.d.ts +1 -1
  687. package/src/ts/react-website/app/schema.json +11 -6
  688. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  689. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  690. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  691. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  692. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  693. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  694. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  695. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  696. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  697. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  698. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  699. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  700. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  701. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  702. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  703. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  704. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  705. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  706. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  707. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  708. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  709. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  710. package/src/ts/react-website/runtime-config/generator.js +29 -31
  711. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  712. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  713. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  714. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  715. package/src/ts/react-website/runtime-config/schema.json +5 -0
  716. package/src/ts/sync/generator.d.ts +3 -3
  717. package/src/ts/sync/generator.js +60 -59
  718. package/src/ts/sync/generator.js.map +1 -1
  719. package/src/ts/website/app/generator.d.ts +3 -3
  720. package/src/ts/website/app/generator.js +10 -10
  721. package/src/ts/website/app/generator.js.map +1 -1
  722. package/src/ts/website/app/schema.d.js +6 -0
  723. package/src/ts/website/app/schema.d.js.map +1 -0
  724. package/src/ts/website/app/schema.d.ts +1 -1
  725. package/src/ts/website/app/schema.json +11 -6
  726. package/src/ts/website/auth/generator.d.ts +4 -4
  727. package/src/ts/website/auth/generator.js +11 -10
  728. package/src/ts/website/auth/generator.js.map +1 -1
  729. package/src/ts/website/auth/schema.d.js +6 -0
  730. package/src/ts/website/auth/schema.d.js.map +1 -0
  731. package/src/ts/website/auth/schema.d.ts +1 -0
  732. package/src/ts/website/auth/schema.json +5 -0
  733. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  734. package/src/utils/agent-chat/agent-chat.js +29 -0
  735. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  736. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  737. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  738. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  739. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  740. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  741. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  742. package/src/utils/agent-connection/agent-connection.js +411 -103
  743. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  744. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  745. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  746. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  747. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  748. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  749. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  750. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  751. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  752. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  753. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  754. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  755. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  756. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  757. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  758. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  759. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  760. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  761. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  762. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  763. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  764. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  765. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  766. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  767. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  768. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  769. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  770. package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
  771. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  772. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  773. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  774. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  775. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  776. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  777. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  778. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
  779. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  780. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  781. package/src/utils/api-constructs/api-constructs.js +30 -31
  782. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  783. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
  784. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
  785. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  786. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  787. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
  788. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  789. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  790. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
  791. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  792. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  793. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  794. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  795. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  796. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  797. package/src/utils/ast/website.d.ts +5 -1
  798. package/src/utils/ast/website.js +18 -20
  799. package/src/utils/ast/website.js.map +1 -1
  800. package/src/utils/ast.d.ts +33 -1
  801. package/src/utils/ast.js +130 -70
  802. package/src/utils/ast.js.map +1 -1
  803. package/src/utils/bundle/bundle.d.ts +1 -1
  804. package/src/utils/bundle/bundle.js +50 -47
  805. package/src/utils/bundle/bundle.js.map +1 -1
  806. package/src/utils/commands.js +47 -26
  807. package/src/utils/commands.js.map +1 -1
  808. package/src/utils/config/index.d.ts +5 -5
  809. package/src/utils/config/index.js +5 -4
  810. package/src/utils/config/index.js.map +1 -1
  811. package/src/utils/config/utils.d.ts +13 -3
  812. package/src/utils/config/utils.js +65 -43
  813. package/src/utils/config/utils.js.map +1 -1
  814. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  815. package/src/utils/connection/open-api/react.d.ts +6 -6
  816. package/src/utils/connection/open-api/react.js +81 -77
  817. package/src/utils/connection/open-api/react.js.map +1 -1
  818. package/src/utils/containers.d.ts +1 -1
  819. package/src/utils/containers.js +22 -23
  820. package/src/utils/containers.js.map +1 -1
  821. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  822. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
  823. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  824. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
  825. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  826. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
  827. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  828. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
  829. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  830. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  831. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  832. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  833. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  834. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  835. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  836. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  837. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  838. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  839. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  840. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  841. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  842. package/src/utils/format.d.ts +45 -2
  843. package/src/utils/format.js +323 -81
  844. package/src/utils/format.js.map +1 -1
  845. package/src/utils/fs.d.ts +1 -1
  846. package/src/utils/fs.js +14 -13
  847. package/src/utils/fs.js.map +1 -1
  848. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  849. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  850. package/src/utils/function-constructs/function-constructs.js +21 -26
  851. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  852. package/src/utils/generators.d.ts +4 -0
  853. package/src/utils/generators.js +18 -20
  854. package/src/utils/generators.js.map +1 -1
  855. package/src/utils/git.d.ts +1 -1
  856. package/src/utils/git.js +19 -34
  857. package/src/utils/git.js.map +1 -1
  858. package/src/utils/iac-providers.js +5 -5
  859. package/src/utils/iac-providers.js.map +1 -1
  860. package/src/utils/iac.d.ts +1 -1
  861. package/src/utils/iac.js +12 -14
  862. package/src/utils/iac.js.map +1 -1
  863. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
  864. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  865. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  866. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  867. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  868. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  869. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  870. package/src/utils/install.d.ts +32 -0
  871. package/src/utils/install.js +56 -0
  872. package/src/utils/install.js.map +1 -0
  873. package/src/utils/js.d.ts +4 -0
  874. package/src/utils/js.js +27 -20
  875. package/src/utils/js.js.map +1 -1
  876. package/src/utils/mcp.d.ts +25 -0
  877. package/src/utils/mcp.js +74 -0
  878. package/src/utils/mcp.js.map +1 -0
  879. package/src/utils/metrics.d.ts +9 -3
  880. package/src/utils/metrics.js +61 -46
  881. package/src/utils/metrics.js.map +1 -1
  882. package/src/utils/mock-project-graph.js +8 -12
  883. package/src/utils/mock-project-graph.js.map +1 -1
  884. package/src/utils/names.d.ts +22 -0
  885. package/src/utils/names.js +44 -48
  886. package/src/utils/names.js.map +1 -1
  887. package/src/utils/npm-scope.d.ts +1 -1
  888. package/src/utils/npm-scope.js +9 -17
  889. package/src/utils/npm-scope.js.map +1 -1
  890. package/src/utils/nx.d.ts +25 -4
  891. package/src/utils/nx.js +144 -75
  892. package/src/utils/nx.js.map +1 -1
  893. package/src/utils/nxlv-python.d.ts +1 -1
  894. package/src/utils/nxlv-python.js +27 -15
  895. package/src/utils/nxlv-python.js.map +1 -1
  896. package/src/utils/object.js +5 -11
  897. package/src/utils/object.js.map +1 -1
  898. package/src/utils/paths.d.ts +1 -1
  899. package/src/utils/paths.js +11 -15
  900. package/src/utils/paths.js.map +1 -1
  901. package/src/utils/pkg-manager.js +4 -9
  902. package/src/utils/pkg-manager.js.map +1 -1
  903. package/src/utils/pnpm-workspace.d.ts +1 -1
  904. package/src/utils/pnpm-workspace.js +22 -22
  905. package/src/utils/pnpm-workspace.js.map +1 -1
  906. package/src/utils/port.d.ts +31 -3
  907. package/src/utils/port.js +72 -12
  908. package/src/utils/port.js.map +1 -1
  909. package/src/utils/py.d.ts +16 -3
  910. package/src/utils/py.js +72 -47
  911. package/src/utils/py.js.map +1 -1
  912. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
  913. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
  914. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
  915. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
  916. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
  917. package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
  918. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  919. package/src/utils/shared-constructs-constants.d.ts +1 -0
  920. package/src/utils/shared-constructs-constants.js +16 -15
  921. package/src/utils/shared-constructs-constants.js.map +1 -1
  922. package/src/utils/shared-constructs.d.ts +2 -2
  923. package/src/utils/shared-constructs.js +57 -54
  924. package/src/utils/shared-constructs.js.map +1 -1
  925. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  926. package/src/utils/shared-dynamodb-scripts.js +25 -0
  927. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  928. package/src/utils/shared-infra-config.d.ts +1 -1
  929. package/src/utils/shared-infra-config.js +30 -31
  930. package/src/utils/shared-infra-config.js.map +1 -1
  931. package/src/utils/shared-infra-scripts.d.ts +11 -0
  932. package/src/utils/shared-infra-scripts.js +40 -0
  933. package/src/utils/shared-infra-scripts.js.map +1 -0
  934. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  935. package/src/utils/shared-rdb-scripts.js +28 -0
  936. package/src/utils/shared-rdb-scripts.js.map +1 -0
  937. package/src/utils/shared-scripts.d.ts +2 -5
  938. package/src/utils/shared-scripts.js +12 -38
  939. package/src/utils/shared-scripts.js.map +1 -1
  940. package/src/utils/shared-shadcn.d.ts +1 -1
  941. package/src/utils/shared-shadcn.js +64 -72
  942. package/src/utils/shared-shadcn.js.map +1 -1
  943. package/src/utils/test.d.ts +13 -1
  944. package/src/utils/test.js +35 -23
  945. package/src/utils/test.js.map +1 -1
  946. package/src/utils/toml.d.ts +1 -1
  947. package/src/utils/toml.js +10 -14
  948. package/src/utils/toml.js.map +1 -1
  949. package/src/utils/versions.d.ts +116 -84
  950. package/src/utils/versions.js +124 -102
  951. package/src/utils/versions.js.map +1 -1
  952. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
  953. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  954. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
  955. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  956. package/src/utils/website-constructs/website-constructs.js +31 -30
  957. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  958. package/bin/aws-nx-mcp.js +0 -17
  959. package/bin/aws-nx-mcp.js.map +0 -1
  960. package/sdk/connection.d.ts +0 -6
  961. package/sdk/connection.js +0 -10
  962. package/sdk/connection.js.map +0 -1
  963. package/sdk/open-api.d.ts +0 -10
  964. package/sdk/open-api.js +0 -15
  965. package/sdk/open-api.js.map +0 -1
  966. package/sdk/py.d.ts +0 -14
  967. package/sdk/py.js +0 -18
  968. package/sdk/py.js.map +0 -1
  969. package/sdk/terraform.d.ts +0 -6
  970. package/sdk/terraform.js +0 -11
  971. package/sdk/terraform.js.map +0 -1
  972. package/sdk/ts.d.ts +0 -29
  973. package/sdk/ts.js +0 -47
  974. package/sdk/ts.js.map +0 -1
  975. package/sdk/utils/ast.js +0 -12
  976. package/sdk/utils/ast.js.map +0 -1
  977. package/sdk/utils/format.js +0 -10
  978. package/sdk/utils/format.js.map +0 -1
  979. package/sdk/utils/test.js +0 -10
  980. package/sdk/utils/test.js.map +0 -1
  981. package/src/connection/agent-serve-local.js +0 -48
  982. package/src/connection/agent-serve-local.js.map +0 -1
  983. package/src/connection/serve-local.d.ts +0 -15
  984. package/src/connection/serve-local.js +0 -41
  985. package/src/connection/serve-local.js.map +0 -1
  986. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  987. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  988. package/src/py/agent/react-connection/serve-local.js +0 -30
  989. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  990. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  991. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  992. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  993. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  994. package/src/ts/agent/react-connection/serve-local.js +0 -19
  995. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  996. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  997. package/src/ts/lib/eslint.d.ts +0 -14
  998. package/src/ts/lib/eslint.js +0 -90
  999. package/src/ts/lib/eslint.js.map +0 -1
  1000. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1001. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  1002. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  1003. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1004. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1005. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1006. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1007. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1008. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1009. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  1010. /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
  1011. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  1012. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1013. /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
  1014. /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
  1015. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1016. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
  1017. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/agent/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/py/agent/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 type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { ensureLicenseExceptions } from '../../license/config';\nimport { AG_UI_LANGGRAPH_EXCEPTIONS } from '../../license/known-exceptions';\nimport { addAgentChatScripts } from '../../utils/agent-chat/agent-chat';\nimport {\n addPythonFrameworkBase,\n ensurePythonAgentConnectionProject,\n getPythonAgentConnectionModuleName,\n getPythonAgentConnectionProject,\n} from '../../utils/agent-connection/agent-connection';\nimport { addAgentInfra } from '../../utils/agent-core-constructs/agent-core-constructs';\nimport { addPythonBundleTarget } from '../../utils/bundle/bundle';\nimport { resolveContainers } from '../../utils/containers';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { FsCommands } from '../../utils/fs';\nimport { updateGitIgnore } from '../../utils/git';\nimport { resolveIac } from '../../utils/iac';\nimport { installDependencies } from '../../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { kebabCase, toClassName, toSnakeCase } from '../../utils/names';\nimport { getNpmScope } from '../../utils/npm-scope';\nimport {\n addComponentDevTarget,\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n normalizeTargetKeyOrder,\n readProjectConfigurationUnqualified,\n} from '../../utils/nx';\nimport { sortObjectKeys } from '../../utils/object';\nimport { toProjectRelativePath } from '../../utils/paths';\nimport { assignPort } from '../../utils/port';\nimport {\n addDependenciesToDependencyGroupInPyProjectToml,\n addDependenciesToPyProjectToml,\n addWorkspaceDependencyToPyProject,\n} from '../../utils/py';\nimport { sharedConstructsGenerator } from '../../utils/shared-constructs';\nimport { withVersions } from '../../utils/versions';\nimport type { PyAgentGeneratorSchema } from './schema';\n\nexport const PY_AGENT_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const pyAgentGenerator = async (\n tree: Tree,\n options: PyAgentGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const project = readProjectConfigurationUnqualified(tree, options.project);\n\n const pyProjectPath = joinPathFragments(project.root, 'pyproject.toml');\n\n // Check if the project has a pyproject.toml file\n if (!pyProjectPath) {\n throw new Error(\n `Unsupported project ${options.project}. Expected a Python project (with a pyproject.toml)`,\n );\n }\n\n if (!project.sourceRoot) {\n throw new Error(\n `This project does not have a source root. Please add a source root to the project configuration before running this generator.`,\n );\n }\n\n // Module name is the last part of the source root,\n const sourceParts = project.sourceRoot.split('/');\n const moduleName = sourceParts[sourceParts.length - 1];\n\n const name = kebabCase(\n options.name || `${kebabCase(project.name.split('.').pop())}-agent`,\n );\n const agentTargetPrefix = options.name ? name : 'agent';\n\n const agentNameSnakeCase = toSnakeCase(options.name || 'agent');\n const agentNameClassName = toClassName(name);\n\n const targetSourceDir = joinPathFragments(\n project.sourceRoot,\n agentNameSnakeCase,\n );\n\n const infra = options.infra ?? 'agentcore';\n const protocol = options.protocol ?? 'http';\n const framework = options.framework ?? 'strands';\n\n if (infra === 'none' && options.auth && options.auth !== 'iam') {\n console.warn(\n 'Warning: auth is ignored when no infrastructure is configured (no infrastructure is generated)',\n );\n }\n\n const auth = options.auth ?? 'iam';\n\n // Ensure the shared agent-connection project exists so the server entry\n // point can import `session_id_context` and propagate the AgentCore\n // session ID to any downstream MCP / A2A clients a later connection\n // generator wires into this agent.\n await ensurePythonAgentConnectionProject(tree);\n // The agent server imports the framework base helpers (session cache + model\n // error logging) regardless of whether a connection client is wired in. The\n // langchain framework has no base layer (its AG-UI foundation reuses only the\n // framework-agnostic session context), so this is a no-op for langchain.\n await addPythonFrameworkBase(tree, framework);\n const agentConnectionModuleName = getPythonAgentConnectionModuleName(tree);\n addWorkspaceDependencyToPyProject(\n tree,\n project,\n getPythonAgentConnectionProject(tree),\n );\n\n const templateContext = {\n name,\n agentNameSnakeCase,\n agentNameClassName,\n moduleName,\n agentConnectionModuleName,\n framework,\n };\n\n // Generate common files shared by both protocols. The agent module (agent.py)\n // is framework-specific (Strands yields a contextmanaged Agent; LangChain\n // returns a compiled create_agent graph), so it comes from a per-framework\n // dir. The package __init__.py is framework-agnostic (it stays in `common`).\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'files',\n framework === 'langchain' ? 'common-langchain' : 'common',\n ),\n targetSourceDir,\n templateContext,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n if (framework === 'langchain') {\n // common-langchain only carries agent.py; the empty package __init__.py is\n // framework-agnostic, so emit it from the shared `common` dir.\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'common'),\n targetSourceDir,\n templateContext,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n // Generate protocol-specific files. Each protocol's server entry point is\n // framework-specific (Strands yields a contextmanaged Agent; LangChain drives\n // a compiled create_agent graph), so it comes from a per-framework dir\n // `<protocol>-langchain` for LangChain, or `<protocol>` for Strands.\n const protocolLower = protocol.toLowerCase();\n const protocolTemplateDir =\n framework === 'langchain' ? `${protocolLower}-langchain` : protocolLower;\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', protocolTemplateDir),\n targetSourceDir,\n templateContext,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n // The HTTP server's init.py (the FastAPI app + JsonStreamingResponse) is\n // framework-agnostic and the LangChain http main.py reuses it, so emit it\n // from the shared `http` dir. Emitted after the langchain main.py above so\n // KeepExisting preserves that main.py and only adds init.py (the shared dir's\n // own Strands main.py is skipped).\n if (protocolLower === 'http' && framework === 'langchain') {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'http'),\n targetSourceDir,\n templateContext,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n addDependenciesToPyProjectToml(tree, project.root, [\n 'aws-lambda-powertools',\n 'aws-opentelemetry-distro',\n 'bedrock-agentcore',\n 'boto3',\n 'fastapi',\n 'mcp',\n ...(framework === 'langchain'\n ? // langchain pulls no Strands dependencies — the langchain model binding\n // (langchain, langchain-aws, langgraph) plus the per-protocol server\n // adapter: ag-ui-langgraph for AG-UI, a2a-sdk for A2A, nothing extra for\n // HTTP (FastAPI is added above for every agent).\n ([\n 'langchain',\n 'langchain-aws',\n 'langgraph',\n ...(protocol === 'ag-ui'\n ? (['ag-ui-protocol', 'ag-ui-langgraph'] as const)\n : protocol === 'a2a'\n ? (['a2a-sdk'] as const)\n : ([] as const)),\n ] as const)\n : protocol === 'a2a'\n ? (['strands-agents[a2a]', 'strands-agents-tools'] as const)\n : protocol === 'ag-ui'\n ? ([\n 'strands-agents',\n 'strands-agents-tools',\n 'ag-ui-protocol',\n 'ag-ui-strands',\n ] as const)\n : (['strands-agents', 'strands-agents-tools'] as const)),\n 'uvicorn',\n ]);\n addDependenciesToDependencyGroupInPyProjectToml(tree, project.root, 'dev', [\n 'fastapi[standard]',\n ]);\n\n if (infra === 'agentcore') {\n const containers = await resolveContainers(tree, 'inherit');\n const dockerImageTag = `${getNpmScope(tree)}-${name}:latest`;\n\n // Add bundle target\n const { bundleTargetName, bundleOutputDir } = addPythonBundleTarget(\n project,\n {\n pythonPlatform: 'aarch64-manylinux_2_28',\n },\n );\n\n // Add the Dockerfile\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'deploy'),\n targetSourceDir,\n {\n agentNameSnakeCase,\n moduleName,\n bundleOutputDir,\n protocol,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n const dockerOutputDir = joinPathFragments(\n 'dist',\n project.root,\n 'docker',\n name,\n );\n const dockerTargetName = `${agentTargetPrefix}-docker`;\n\n // Add a docker target that prepares the docker context and builds the image\n const fs = new FsCommands(tree);\n project.targets[dockerTargetName] = {\n cache: true,\n executor: 'nx:run-commands',\n options: {\n commands: [\n fs.rm(dockerOutputDir),\n fs.mkdir(dockerOutputDir),\n fs.cp(bundleOutputDir, dockerOutputDir),\n fs.cp(\n `${targetSourceDir}/Dockerfile`,\n `${dockerOutputDir}/Dockerfile`,\n ),\n `${containers} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,\n ],\n parallel: false,\n },\n dependsOn: [bundleTargetName],\n };\n\n addDependencyToTargetIfNotPresent(project, 'docker', dockerTargetName);\n addDependencyToTargetIfNotPresent(project, 'build', 'docker');\n\n // Add shared constructs\n const iac = await resolveIac(tree, options.iac);\n await sharedConstructsGenerator(tree, { iac });\n\n // Add the construct to deploy the agent.\n // AG-UI uses HTTP as the AgentCore protocol type (AG-UI is HTTP-based with SSE over POST).\n const infraProtocol =\n protocol === 'ag-ui' ? ('http' as const) : (protocol as 'http' | 'a2a');\n await addAgentInfra(tree, {\n agentNameKebabCase: name,\n agentNameClassName,\n dockerImageTag,\n dockerOutputDir,\n iac,\n projectName: project.name,\n auth,\n serverProtocol: infraProtocol,\n containers,\n });\n }\n\n // A2A servers use port 9000 as per the Strands A2A SDK default and AgentCore A2A contract.\n // HTTP and AG-UI agents use port 8081+ to avoid conflict with VS Code server on 8080.\n const localDevPortStart = protocol === 'a2a' ? 9000 : 8081;\n const localDevPort = assignPort(tree, project, localDevPortStart, {\n component: { info: PY_AGENT_GENERATOR_INFO, name: agentTargetPrefix },\n });\n\n // All protocols use fastapi dev for hot reload:\n // - HTTP: FastAPI app directly defined in init.py\n // - A2A: A2AServer.to_fastapi_app() creates a FastAPI app in main.py\n // - AG-UI: create_strands_app() creates a FastAPI app in main.py\n const serveCommand = `uv run fastapi dev ${moduleName}/${agentNameSnakeCase}/main.py --port ${localDevPort}`;\n\n // HTTP chat uses the type-safe TypeScript client generated from the\n // agent's OpenAPI spec (same generated client the react-connection\n // generator produces). A2A and AG-UI speak standard protocols, so\n // we can run `agent-chat-cli` directly as a binary.\n const openApiTargetName = `${agentTargetPrefix}-openapi`;\n const clientGenTargetName = `${agentTargetPrefix}-generate-client`;\n\n const scriptsDir = joinPathFragments(\n project.root,\n 'scripts',\n agentTargetPrefix,\n );\n\n if (protocol === 'http') {\n // Emit the OpenAPI spec generator script (shared with react-connection)\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n 'react-connection',\n 'files',\n 'agent',\n ),\n project.root,\n {\n moduleName,\n agentNameSnakeCase,\n },\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // Ignore the generated client directory\n updateGitIgnore(tree, project.root, (patterns) => [\n ...patterns,\n `scripts/${agentTargetPrefix}/generated/`,\n ]);\n }\n\n // Every protocol gets a standalone `chat.ts`. It connects to the local\n // `dev` server by default, or to the deployed agent (with the\n // appropriate auth) when `RUNTIME_CONFIG_APP_ID` is set.\n addAgentChatScripts(tree, {\n scriptsDir,\n protocol,\n language: 'py',\n agentNameClassName,\n auth,\n });\n\n // TypeScript deps for the chat CLI, which runs standalone via tsx for every\n // protocol and resolves the deployed agent from AppConfig. `agent-chat-cli`\n // transitively bundles the protocol clients (@a2a-js/sdk, @ag-ui/client).\n addDependenciesToPackageJson(\n tree,\n {},\n withVersions([\n 'agent-chat-cli',\n 'tsx',\n '@types/node',\n '@aws-lambda-powertools/parameters',\n '@aws-sdk/client-appconfigdata',\n ...(auth === 'iam'\n ? (['aws4fetch', '@aws-sdk/credential-providers'] as const)\n : ([] as const)),\n ...(protocol === 'a2a' ? (['@a2a-js/sdk'] as const) : ([] as const)),\n ]),\n );\n\n const chatUrl =\n protocol === 'ag-ui'\n ? `http://localhost:${localDevPort}/invocations`\n : `http://localhost:${localDevPort}`;\n const chatCommand = `tsx ./scripts/${agentTargetPrefix}/chat.ts`;\n\n const httpOnlyTargets =\n protocol === 'http'\n ? {\n [openApiTargetName]: {\n cache: true,\n executor: 'nx:run-commands',\n outputs: [\n `{workspaceRoot}/dist/{projectRoot}/openapi/${agentNameSnakeCase}`,\n ],\n options: {\n commands: [\n `uv run python {projectRoot}/scripts/${agentNameSnakeCase}_openapi.py \"dist/{projectRoot}/openapi/${agentNameSnakeCase}/openapi.json\"`,\n ],\n },\n },\n [clientGenTargetName]: {\n cache: true,\n executor: 'nx:run-commands',\n dependsOn: [openApiTargetName],\n inputs: [\n {\n dependentTasksOutputFiles: '**/*.json',\n },\n ],\n outputs: [`{projectRoot}/scripts/${agentTargetPrefix}/generated`],\n options: {\n commands: [\n `nx g @aws/nx-plugin:open-api#ts-client --openApiSpecPath=\"dist/${project.root}/openapi/${agentNameSnakeCase}/openapi.json\" --outputPath=\"${project.root}/scripts/${agentTargetPrefix}/generated\" --no-interactive`,\n ],\n },\n },\n }\n : {};\n\n const agentTargets = {\n ...project.targets,\n ...httpOnlyTargets,\n [`${agentTargetPrefix}-serve`]: {\n executor: 'nx:run-commands',\n continuous: true,\n options: {\n commands: [serveCommand],\n cwd: '{projectRoot}',\n env: {\n PORT: `${localDevPort}`,\n },\n },\n },\n [`${agentTargetPrefix}-dev`]: {\n executor: 'nx:run-commands',\n continuous: true,\n options: {\n commands: [serveCommand],\n cwd: '{projectRoot}',\n env: {\n PORT: `${localDevPort}`,\n LOCAL_DEV: 'true',\n },\n },\n },\n // HTTP chat imports the generated client, so ensure it's built first.\n // No dev dependency — chat runs standalone against a local or\n // deployed agent. normalizeTargetKeyOrder keeps the conditional dependsOn\n // in Nx 23's serialization order so re-runs stay byte-identical.\n [`${agentTargetPrefix}-chat`]: normalizeTargetKeyOrder({\n executor: 'nx:run-commands',\n options: {\n commands: [chatCommand],\n cwd: '{projectRoot}',\n env: {\n URL: chatUrl,\n },\n },\n ...(protocol === 'http' ? { dependsOn: [clientGenTargetName] } : {}),\n }),\n };\n\n // Aggregate `<agent>-dev` under the project-level `dev` target.\n addComponentDevTarget(agentTargets, `${agentTargetPrefix}-dev`);\n\n updateProjectConfiguration(tree, project.name, {\n ...project,\n targets: sortObjectKeys(agentTargets),\n });\n\n addComponentGeneratorMetadata(\n tree,\n project.name,\n PY_AGENT_GENERATOR_INFO,\n toProjectRelativePath(project, targetSourceDir),\n agentTargetPrefix,\n {\n port: localDevPort,\n rc: agentNameClassName,\n auth,\n protocol,\n // The mcp / gateway connection generators dispatch on this field to pick\n // the Strands vs LangChain Layer-2 client + agent.py transform.\n framework,\n },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [PY_AGENT_GENERATOR_INFO]);\n\n // langchain-core (pulled by every langchain agent regardless of protocol)\n // brings jsonpatch/jsonpointer, whose wheels ship without resolvable SPDX\n // license metadata, so register those exceptions so the workspace license\n // check still passes.\n if (framework === 'langchain') {\n await ensureLicenseExceptions(tree, AG_UI_LANGGRAPH_EXCEPTIONS);\n }\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript', 'python'],\n });\n};\n\nexport default pyAgentGenerator;\n"],"names":["addDependenciesToPackageJson","generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","ensureLicenseExceptions","AG_UI_LANGGRAPH_EXCEPTIONS","addAgentChatScripts","addPythonFrameworkBase","ensurePythonAgentConnectionProject","getPythonAgentConnectionModuleName","getPythonAgentConnectionProject","addAgentInfra","addPythonBundleTarget","resolveContainers","formatFilesInSubtree","FsCommands","updateGitIgnore","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","toSnakeCase","getNpmScope","addComponentDevTarget","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","normalizeTargetKeyOrder","readProjectConfigurationUnqualified","sortObjectKeys","toProjectRelativePath","assignPort","addDependenciesToDependencyGroupInPyProjectToml","addDependenciesToPyProjectToml","addWorkspaceDependencyToPyProject","sharedConstructsGenerator","withVersions","PY_AGENT_GENERATOR_INFO","filename","pyAgentGenerator","tree","options","project","pyProjectPath","root","Error","sourceRoot","sourceParts","split","moduleName","length","name","pop","agentTargetPrefix","agentNameSnakeCase","agentNameClassName","targetSourceDir","infra","protocol","framework","auth","console","warn","agentConnectionModuleName","templateContext","dirname","overwriteStrategy","KeepExisting","protocolLower","toLowerCase","protocolTemplateDir","containers","dockerImageTag","bundleTargetName","bundleOutputDir","pythonPlatform","dockerOutputDir","dockerTargetName","fs","targets","cache","executor","commands","rm","mkdir","cp","parallel","dependsOn","iac","infraProtocol","agentNameKebabCase","projectName","serverProtocol","localDevPortStart","localDevPort","component","info","serveCommand","openApiTargetName","clientGenTargetName","scriptsDir","patterns","language","chatUrl","chatCommand","httpOnlyTargets","outputs","inputs","dependentTasksOutputFiles","agentTargets","continuous","cwd","env","PORT","LOCAL_DEV","URL","port","rc","preferInstallDependencies","languages"],"mappings":"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"}
@@ -3,143 +3,207 @@
3
3
  exports[`py#agent#mcp-connection generator > should match snapshot for generated files > agent-connection-init.py 1`] = `
4
4
  """"Automatically generated by Nx."""
5
5
 
6
+ from .app.inventory_mcp_client_strands import InventoryMcpClientStrands
7
+ from .core.model_errors_strands import log_model_errors
6
8
  from .core.session_context import get_current_session_id, session_id_context
7
-
8
- from .app.inventory_mcp_client import InventoryMcpClient
9
-
10
- from .core.with_session_id import with_session_id
11
-
9
+ from .core.with_session_id_strands import with_session_id
12
10
 
13
11
  __all__ = [
14
12
  "get_current_session_id",
15
13
  "session_id_context",
16
14
  "with_session_id",
17
- "InventoryMcpClient",
15
+ "log_model_errors",
16
+ "InventoryMcpClientStrands",
18
17
  ]
19
18
  "
20
19
  `;
21
20
 
22
- exports[`py#agent#mcp-connection generator > should match snapshot for generated files > agentcore_mcp_client.py 1`] = `
21
+ exports[`py#agent#mcp-connection generator > should match snapshot for generated files > agentcore_mcp_client_strands.py 1`] = `
23
22
  "from collections.abc import Callable
24
23
 
25
- import boto3
26
- import httpx
27
- from mcp.client.streamable_http import streamablehttp_client
28
24
  from strands.tools.mcp.mcp_client import MCPClient
29
25
 
30
- from .auth import SigV4HTTPXAuth
31
- from .session_context import get_current_session_id
26
+ from .agentcore_mcp_transport import AgentCoreMCPTransport
32
27
 
33
- SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
34
28
 
29
+ class AgentCoreMCPClientStrands:
30
+ """Factory for Strands MCP clients that connect to an AgentCore runtime."""
35
31
 
36
- class _SessionHeaderAuth(httpx.Auth):
37
- """Stamps the AgentCore session header from the current async context."""
32
+ @staticmethod
33
+ def with_iam_auth(agent_runtime_arn: str) -> MCPClient:
34
+ """SigV4-authenticated client for a Bedrock AgentCore runtime."""
35
+ return MCPClient(AgentCoreMCPTransport.with_iam_auth(agent_runtime_arn))
38
36
 
39
- requires_request_body = True
40
- requires_response_body = True
37
+ @staticmethod
38
+ def with_jwt_auth(agent_runtime_arn: str, access_token_provider: Callable[[], str]) -> MCPClient:
39
+ """Bearer-authenticated client for a Bedrock AgentCore runtime."""
40
+ return MCPClient(AgentCoreMCPTransport.with_jwt_auth(agent_runtime_arn, access_token_provider))
41
41
 
42
- def __init__(self, inner: httpx.Auth | None = None):
43
- self._inner = inner
42
+ @staticmethod
43
+ def without_auth(url: str) -> MCPClient:
44
+ """Plain-HTTP client — for local dev."""
45
+ return MCPClient(AgentCoreMCPTransport.without_auth(url))
46
+ "
47
+ `;
44
48
 
45
- def auth_flow(self, request: httpx.Request): # type: ignore[override]
46
- sid = get_current_session_id()
47
- if sid:
48
- request.headers[SESSION_HEADER] = sid
49
- if self._inner is None:
50
- yield request
51
- return
52
- yield from self._inner.auth_flow(request)
49
+ exports[`py#agent#mcp-connection generator > should match snapshot for generated files > agentcore_mcp_transport.py 1`] = `
50
+ "from collections.abc import Callable
53
51
 
52
+ from .agentcore_endpoints import mcp_url_from_arn, region_from_arn
53
+ from .agentcore_transport import (
54
+ TransportFactory,
55
+ jwt_transport,
56
+ no_auth_transport,
57
+ sigv4_transport,
58
+ )
54
59
 
55
- class AgentCoreMCPClient:
56
- """Factory for MCP clients that forward the current async-context session."""
57
60
 
58
- @staticmethod
59
- def _build_url(agent_runtime_arn: str) -> tuple[str, str]:
60
- """Extract region from ARN and construct the invocation URL.
61
-
62
- ARN format: arn:partition:service:region:account-id:resource
63
- """
64
- region = agent_runtime_arn.split(":")[3]
65
- encoded_arn = agent_runtime_arn.replace(":", "%3A").replace("/", "%2F")
66
- url = (
67
- f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
68
- f"{encoded_arn}/invocations?qualifier=DEFAULT"
69
- )
70
- return region, url
61
+ class AgentCoreMCPTransport:
62
+ """Factory for MCP transport factories that connect to an AgentCore runtime."""
71
63
 
72
64
  @staticmethod
73
- def _create(url: str, auth: httpx.Auth | None = None) -> MCPClient:
74
- return MCPClient(
75
- lambda: streamablehttp_client(
76
- url,
77
- auth=_SessionHeaderAuth(auth),
78
- timeout=120,
79
- terminate_on_close=False,
80
- )
81
- )
65
+ def with_iam_auth(agent_runtime_arn: str) -> TransportFactory:
66
+ """SigV4-authenticated transport for a Bedrock AgentCore runtime."""
67
+ return sigv4_transport(mcp_url_from_arn(agent_runtime_arn), region_from_arn(agent_runtime_arn))
82
68
 
83
69
  @staticmethod
84
- def with_iam_auth(agent_runtime_arn: str) -> MCPClient:
85
- """SigV4-authenticated client for a Bedrock AgentCore runtime."""
86
- region, url = AgentCoreMCPClient._build_url(agent_runtime_arn)
87
- credentials = boto3.Session(region_name=region).get_credentials()
88
- return AgentCoreMCPClient._create(
89
- url, SigV4HTTPXAuth(credentials, "bedrock-agentcore", region)
90
- )
70
+ def with_jwt_auth(agent_runtime_arn: str, access_token_provider: Callable[[], str]) -> TransportFactory:
71
+ """Bearer-authenticated transport for a Bedrock AgentCore runtime."""
72
+ return jwt_transport(mcp_url_from_arn(agent_runtime_arn), access_token_provider)
91
73
 
92
74
  @staticmethod
93
- def with_jwt_auth(
94
- agent_runtime_arn: str, access_token_provider: Callable[[], str]
95
- ) -> MCPClient:
96
- """Bearer-authenticated client for a Bedrock AgentCore runtime."""
97
- _, url = AgentCoreMCPClient._build_url(agent_runtime_arn)
98
- return MCPClient(
99
- lambda: streamablehttp_client(
100
- url,
101
- auth=_SessionHeaderAuth(),
102
- headers={"Authorization": f"Bearer {access_token_provider()}"},
103
- timeout=120,
104
- terminate_on_close=False,
105
- )
106
- )
75
+ def without_auth(url: str) -> TransportFactory:
76
+ """Plain-HTTP transport for local dev."""
77
+ return no_auth_transport(url)
78
+ "
79
+ `;
107
80
 
108
- @staticmethod
109
- def without_auth(url: str) -> MCPClient:
110
- """Plain-HTTP client for local dev."""
111
- return AgentCoreMCPClient._create(url)
81
+ exports[`py#agent#mcp-connection generator > should match snapshot for generated files > agentcore_transport.py 1`] = `
82
+ "from collections.abc import Callable
83
+ from typing import Any
84
+
85
+ import boto3
86
+ from mcp.client.streamable_http import streamablehttp_client
87
+
88
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
89
+
90
+ # Agent frameworks wrap a transport *factory* — a no-arg callable returning a
91
+ # streamable-HTTP transport context manager. Typed as \`\`Any\`\` so this layer
92
+ # stays free of any framework-specific transport type.
93
+ TransportFactory = Callable[[], Any]
94
+
95
+
96
+ def _factory(url: str, auth) -> TransportFactory:
97
+ return lambda: streamablehttp_client(
98
+ url,
99
+ auth=auth,
100
+ timeout=120,
101
+ terminate_on_close=False,
102
+ )
103
+
104
+
105
+ def sigv4_transport(url: str, region: str) -> TransportFactory:
106
+ """SigV4-signed transport factory for a resolved AgentCore endpoint."""
107
+ credentials = boto3.Session(region_name=region).get_credentials()
108
+ return _factory(url, sigv4_auth(credentials, region))
109
+
110
+
111
+ def jwt_transport(url: str, access_token_provider: Callable[[], str]) -> TransportFactory:
112
+ """Bearer-token transport factory for a resolved AgentCore endpoint."""
113
+ return _factory(url, jwt_auth(access_token_provider))
114
+
115
+
116
+ def no_auth_transport(url: str) -> TransportFactory:
117
+ """Plain-HTTP transport factory — for local dev."""
118
+ return _factory(url, plain_auth())
112
119
  "
113
120
  `;
114
121
 
115
- exports[`py#agent#mcp-connection generator > should match snapshot for generated files > inventory_mcp_client.py 1`] = `
122
+ exports[`py#agent#mcp-connection generator > should match snapshot for generated files > inventory_mcp_client_strands.py 1`] = `
116
123
  "import os
117
124
 
118
125
  from strands.tools.mcp.mcp_client import MCPClient
119
126
 
120
- from proj_agent_connection.core.agentcore_mcp_client import AgentCoreMCPClient
127
+ from proj_agent_connection.core.agentcore_mcp_client_strands import (
128
+ AgentCoreMCPClientStrands,
129
+ )
121
130
  from proj_agent_connection.core.runtime_config import (
122
- get_connected_agent_runtime_arn,
131
+ get_agentcore_runtime_config,
123
132
  )
124
133
 
125
134
 
126
- class InventoryMcpClient:
127
- """Client for the InventoryMcp MCP server."""
135
+ class InventoryMcpClientStrands:
136
+ """Strands client for the InventoryMcp MCP server."""
128
137
 
129
138
  @staticmethod
130
139
  def create() -> MCPClient:
131
- if os.environ.get("SERVE_LOCAL") == "true":
132
- return AgentCoreMCPClient.without_auth("http://localhost:8082/mcp")
133
- return AgentCoreMCPClient.with_iam_auth(
134
- get_connected_agent_runtime_arn("InventoryMcp")
135
- )
140
+ if os.environ.get("LOCAL_DEV") == "true":
141
+ return AgentCoreMCPClientStrands.without_auth("http://localhost:8082/mcp")
142
+ config = get_agentcore_runtime_config()
143
+ agent_runtime_arn = config.get("agentRuntimes", {}).get("InventoryMcp")
144
+ if not agent_runtime_arn:
145
+ raise RuntimeError("No connected MCP server runtime named 'InventoryMcp' found in runtime configuration.")
146
+ return AgentCoreMCPClientStrands.with_iam_auth(agent_runtime_arn)
147
+ "
148
+ `;
149
+
150
+ exports[`py#agent#mcp-connection generator > should match snapshot for generated files > session.py 1`] = `
151
+ "from collections.abc import Callable
152
+
153
+ import httpx
154
+
155
+ from ..session_context import get_current_session_id
156
+ from .sigv4 import SigV4HTTPXAuth
157
+
158
+ SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
159
+
160
+
161
+ class SessionHeaderAuth(httpx.Auth):
162
+ """Stamps the AgentCore session header from the current async context,
163
+ then delegates to an optional inner auth (e.g. SigV4)."""
164
+
165
+ requires_request_body = True
166
+ requires_response_body = True
167
+
168
+ def __init__(self, inner: httpx.Auth | None = None):
169
+ self._inner = inner
170
+
171
+ def auth_flow(self, request: httpx.Request): # type: ignore[override]
172
+ sid = get_current_session_id()
173
+ if sid:
174
+ request.headers[SESSION_HEADER] = sid
175
+ if self._inner is None:
176
+ yield request
177
+ return
178
+ yield from self._inner.auth_flow(request)
179
+
180
+
181
+ def sigv4_auth(credentials, region: str, service: str = "bedrock-agentcore") -> httpx.Auth:
182
+ """Session-forwarding SigV4 auth (per-request, body-aware)."""
183
+ return SessionHeaderAuth(SigV4HTTPXAuth(credentials, service, region))
184
+
185
+
186
+ def jwt_auth(access_token_provider: Callable[[], str]) -> httpx.Auth:
187
+ """Session-forwarding bearer-token auth."""
188
+
189
+ class _Bearer(httpx.Auth):
190
+ def auth_flow(self, request: httpx.Request):
191
+ request.headers["Authorization"] = f"Bearer {access_token_provider()}"
192
+ yield request
193
+
194
+ return SessionHeaderAuth(_Bearer())
195
+
196
+
197
+ def plain_auth() -> httpx.Auth:
198
+ """Session-forwarding plain auth — for local dev."""
199
+ return SessionHeaderAuth()
136
200
  "
137
201
  `;
138
202
 
139
203
  exports[`py#agent#mcp-connection generator > should match snapshot for generated files > transformed-agent.py 1`] = `
140
- "from proj_agent_connection import InventoryMcpClient
141
- from contextlib import contextmanager
204
+ "from contextlib import contextmanager
142
205
 
206
+ from proj_agent_connection import InventoryMcpClientStrands
143
207
  from strands import Agent, tool
144
208
  from strands_tools import current_time
145
209
 
@@ -152,7 +216,7 @@ def subtract(a: int, b: int) -> int:
152
216
 
153
217
  @contextmanager
154
218
  def get_agent(session_id: str):
155
- inventory_mcp = InventoryMcpClient.create()
219
+ inventory_mcp = InventoryMcpClientStrands.create()
156
220
  with (
157
221
  inventory_mcp,
158
222
  ):
@@ -0,0 +1,30 @@
1
+ import os
2
+
3
+ from strands.tools.mcp.mcp_client import MCPClient
4
+
5
+ from <%- agentConnectionModuleName %>.core.agentcore_mcp_client_strands import (
6
+ AgentCoreMCPClientStrands,
7
+ )
8
+ from <%- agentConnectionModuleName %>.core.runtime_config import (
9
+ get_agentcore_runtime_config,
10
+ )
11
+
12
+
13
+ class <%- mcpServerClassName %>ClientStrands:
14
+ """Strands client for the <%- mcpServerClassName %> MCP server."""
15
+
16
+ @staticmethod
17
+ def create() -> MCPClient:
18
+ if os.environ.get("LOCAL_DEV") == "true":
19
+ return AgentCoreMCPClientStrands.without_auth(
20
+ "http://localhost:<%- mcpServerPort %>/mcp"
21
+ )
22
+ config = get_agentcore_runtime_config()
23
+ agent_runtime_arn = config.get("agentRuntimes", {}).get(
24
+ "<%- mcpServerClassName %>"
25
+ )
26
+ if not agent_runtime_arn:
27
+ raise RuntimeError(
28
+ "No connected MCP server runtime named '<%- mcpServerClassName %>' found in runtime configuration."
29
+ )
30
+ return AgentCoreMCPClientStrands.with_iam_auth(agent_runtime_arn)
@@ -0,0 +1,30 @@
1
+ import os
2
+
3
+ from langchain_core.tools import BaseTool
4
+
5
+ from <%- agentConnectionModuleName %>.core.agentcore_mcp_client_langchain import (
6
+ AgentCoreMCPClientLangChain,
7
+ )
8
+ from <%- agentConnectionModuleName %>.core.runtime_config import (
9
+ get_agentcore_runtime_config,
10
+ )
11
+
12
+
13
+ class <%- mcpServerClassName %>ClientLangChain:
14
+ """Loads LangChain tools from the <%- mcpServerClassName %> MCP server."""
15
+
16
+ @staticmethod
17
+ def create() -> list[BaseTool]:
18
+ if os.environ.get("LOCAL_DEV") == "true":
19
+ return AgentCoreMCPClientLangChain.without_auth(
20
+ "http://localhost:<%- mcpServerPort %>/mcp"
21
+ )
22
+ config = get_agentcore_runtime_config()
23
+ agent_runtime_arn = config.get("agentRuntimes", {}).get(
24
+ "<%- mcpServerClassName %>"
25
+ )
26
+ if not agent_runtime_arn:
27
+ raise RuntimeError(
28
+ "No connected MCP server runtime named '<%- mcpServerClassName %>' found in runtime configuration."
29
+ )
30
+ return AgentCoreMCPClientLangChain.with_iam_auth(agent_runtime_arn)
@@ -2,9 +2,9 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { GeneratorCallback, Tree } from '@nx/devkit';
6
- import { PyAgentMcpConnectionGeneratorSchema } from './schema';
7
- import { NxGeneratorInfo } from '../../../utils/nx';
5
+ import { type GeneratorCallback, type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx';
7
+ import type { PyAgentMcpConnectionGeneratorSchema } from './schema';
8
8
  export declare const PY_AGENT_MCP_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
9
  export declare const pyAgentMcpConnectionGenerator: (tree: Tree, options: PyAgentMcpConnectionGeneratorSchema) => Promise<GeneratorCallback>;
10
10
  export default pyAgentMcpConnectionGenerator;