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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (996) hide show
  1. package/LICENSE-THIRD-PARTY +7246 -5532
  2. package/README.md +8 -8
  3. package/executors.json +9 -0
  4. package/generators.json +100 -1
  5. package/package.json +35 -16
  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.reserved-keywords.spec.ts.snap +1 -1
  149. package/src/open-api/ts-client/generator.d.ts +3 -3
  150. package/src/open-api/ts-client/generator.js +16 -26
  151. package/src/open-api/ts-client/generator.js.map +1 -1
  152. package/src/open-api/ts-client/schema.d.js +6 -0
  153. package/src/open-api/ts-client/schema.d.js.map +1 -0
  154. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  155. package/src/open-api/ts-hooks/generator.js +13 -21
  156. package/src/open-api/ts-hooks/generator.js.map +1 -1
  157. package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
  158. package/src/open-api/ts-hooks/schema.d.js +6 -0
  159. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  160. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  161. package/src/open-api/ts-metadata/generator.js +12 -20
  162. package/src/open-api/ts-metadata/generator.js.map +1 -1
  163. package/src/open-api/ts-metadata/schema.d.js +6 -0
  164. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  165. package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
  166. package/src/open-api/utils/codegen-data/languages.js +42 -60
  167. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  168. package/src/open-api/utils/codegen-data/types.js +31 -30
  169. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  170. package/src/open-api/utils/codegen-data.d.ts +6 -2
  171. package/src/open-api/utils/codegen-data.js +253 -269
  172. package/src/open-api/utils/codegen-data.js.map +1 -1
  173. package/src/open-api/utils/normalise.d.ts +5 -1
  174. package/src/open-api/utils/normalise.js +242 -241
  175. package/src/open-api/utils/normalise.js.map +1 -1
  176. package/src/open-api/utils/parse.d.ts +2 -2
  177. package/src/open-api/utils/parse.js +11 -13
  178. package/src/open-api/utils/parse.js.map +1 -1
  179. package/src/open-api/utils/refs.d.ts +1 -1
  180. package/src/open-api/utils/refs.js +12 -22
  181. package/src/open-api/utils/refs.js.map +1 -1
  182. package/src/open-api/utils/types.js +5 -2
  183. package/src/open-api/utils/types.js.map +1 -1
  184. package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
  185. package/src/preset/generator.d.ts +4 -4
  186. package/src/preset/generator.js +140 -112
  187. package/src/preset/generator.js.map +1 -1
  188. package/src/preset/schema.d.js +6 -0
  189. package/src/preset/schema.d.js.map +1 -0
  190. package/src/preset/schema.d.ts +4 -2
  191. package/src/preset/schema.json +10 -5
  192. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  193. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  194. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
  195. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  196. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  197. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  198. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  199. package/src/py/agent/a2a-connection/generator.js +113 -85
  200. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  201. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  202. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  203. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  204. package/src/py/agent/a2a-connection/schema.json +5 -0
  205. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  206. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  207. package/src/py/agent/files/common/agent.py.template +2 -0
  208. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  209. package/src/py/agent/files/http/init.py.template +7 -25
  210. package/src/py/agent/files/http/main.py.template +2 -3
  211. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  212. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  213. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  214. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  215. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  216. package/src/py/agent/gateway-connection/generator.js +119 -0
  217. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  218. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  219. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  220. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  221. package/src/py/agent/gateway-connection/schema.json +31 -0
  222. package/src/py/agent/generator.d.ts +3 -3
  223. package/src/py/agent/generator.js +280 -180
  224. package/src/py/agent/generator.js.map +1 -1
  225. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  226. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  227. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  228. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  229. package/src/py/agent/mcp-connection/generator.js +65 -126
  230. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  231. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  232. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  233. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  234. package/src/py/agent/mcp-connection/schema.json +5 -0
  235. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  236. package/src/py/agent/react-connection/generator.d.ts +4 -4
  237. package/src/py/agent/react-connection/generator.js +55 -59
  238. package/src/py/agent/react-connection/generator.js.map +1 -1
  239. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  240. package/src/py/agent/react-connection/local-dev.js +36 -0
  241. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  242. package/src/py/agent/react-connection/schema.d.js +8 -0
  243. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  244. package/src/py/agent/react-connection/schema.d.ts +1 -0
  245. package/src/py/agent/react-connection/schema.json +5 -0
  246. package/src/py/agent/schema.d.js +6 -0
  247. package/src/py/agent/schema.d.js.map +1 -0
  248. package/src/py/agent/schema.d.ts +2 -1
  249. package/src/py/agent/schema.json +6 -1
  250. package/src/py/api/generator.d.ts +3 -3
  251. package/src/py/api/generator.js +12 -11
  252. package/src/py/api/generator.js.map +1 -1
  253. package/src/py/api/schema.d.js +6 -0
  254. package/src/py/api/schema.d.js.map +1 -0
  255. package/src/py/api/schema.d.ts +1 -0
  256. package/src/py/api/schema.json +5 -0
  257. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  258. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  259. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  260. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  261. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  262. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  263. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  264. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  265. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  266. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  267. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  268. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  269. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  270. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  271. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  272. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  273. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  274. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  275. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  276. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  277. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  278. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  279. package/src/py/dynamodb/files/config.json.template +24 -0
  280. package/src/py/dynamodb/generator.d.ts +10 -0
  281. package/src/py/dynamodb/generator.js +110 -0
  282. package/src/py/dynamodb/generator.js.map +1 -0
  283. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  284. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  285. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  286. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  287. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  288. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  289. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  290. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  291. package/src/py/dynamodb/schema.d.js +6 -0
  292. package/src/py/dynamodb/schema.d.js.map +1 -0
  293. package/src/py/dynamodb/schema.d.ts +16 -0
  294. package/src/py/dynamodb/schema.json +75 -0
  295. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  296. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  297. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  298. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  299. package/src/py/fast-api/generator.d.ts +3 -3
  300. package/src/py/fast-api/generator.js +90 -87
  301. package/src/py/fast-api/generator.js.map +1 -1
  302. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  303. package/src/py/fast-api/react/generator.d.ts +4 -4
  304. package/src/py/fast-api/react/generator.js +25 -25
  305. package/src/py/fast-api/react/generator.js.map +1 -1
  306. package/src/py/fast-api/react/open-api.d.ts +1 -1
  307. package/src/py/fast-api/react/open-api.js +31 -29
  308. package/src/py/fast-api/react/open-api.js.map +1 -1
  309. package/src/py/fast-api/react/schema.d.js +6 -0
  310. package/src/py/fast-api/react/schema.d.js.map +1 -0
  311. package/src/py/fast-api/react/schema.d.ts +1 -0
  312. package/src/py/fast-api/react/schema.json +5 -0
  313. package/src/py/fast-api/schema.d.js +6 -0
  314. package/src/py/fast-api/schema.d.js.map +1 -0
  315. package/src/py/fast-api/schema.d.ts +1 -0
  316. package/src/py/fast-api/schema.json +5 -0
  317. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  318. package/src/py/lambda-function/generator.d.ts +3 -3
  319. package/src/py/lambda-function/generator.js +60 -59
  320. package/src/py/lambda-function/generator.js.map +1 -1
  321. package/src/py/lambda-function/schema.d.js +6 -0
  322. package/src/py/lambda-function/schema.d.js.map +1 -0
  323. package/src/py/lambda-function/schema.d.ts +1 -0
  324. package/src/py/lambda-function/schema.json +5 -0
  325. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
  326. package/src/py/mcp-server/generator.d.ts +3 -3
  327. package/src/py/mcp-server/generator.js +152 -125
  328. package/src/py/mcp-server/generator.js.map +1 -1
  329. package/src/py/mcp-server/schema.d.js +6 -0
  330. package/src/py/mcp-server/schema.d.js.map +1 -0
  331. package/src/py/mcp-server/schema.d.ts +1 -0
  332. package/src/py/mcp-server/schema.json +5 -0
  333. package/src/py/project/generator.d.ts +17 -4
  334. package/src/py/project/generator.js +205 -127
  335. package/src/py/project/generator.js.map +1 -1
  336. package/src/py/project/schema.d.js +6 -0
  337. package/src/py/project/schema.d.js.map +1 -0
  338. package/src/py/project/schema.d.ts +1 -0
  339. package/src/py/project/schema.json +5 -0
  340. package/src/sdk/agentcore-gateway.d.ts +6 -0
  341. package/src/sdk/agentcore-gateway.js +7 -0
  342. package/src/sdk/agentcore-gateway.js.map +1 -0
  343. package/src/sdk/connection.d.ts +6 -0
  344. package/src/sdk/connection.js +6 -0
  345. package/src/sdk/connection.js.map +1 -0
  346. package/src/sdk/license.d.ts +8 -0
  347. package/src/sdk/license.js +7 -0
  348. package/src/sdk/license.js.map +1 -0
  349. package/src/sdk/open-api.d.ts +10 -0
  350. package/src/sdk/open-api.js +8 -0
  351. package/src/sdk/open-api.js.map +1 -0
  352. package/src/sdk/py.d.ts +14 -0
  353. package/src/sdk/py.js +10 -0
  354. package/src/sdk/py.js.map +1 -0
  355. package/src/sdk/terraform.d.ts +6 -0
  356. package/src/sdk/terraform.js +7 -0
  357. package/src/sdk/terraform.js.map +1 -0
  358. package/src/sdk/ts.d.ts +33 -0
  359. package/src/sdk/ts.js +35 -0
  360. package/src/sdk/ts.js.map +1 -0
  361. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  362. package/src/sdk/utils/ast.js +6 -0
  363. package/src/sdk/utils/ast.js.map +1 -0
  364. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  365. package/src/sdk/utils/format.js +6 -0
  366. package/src/sdk/utils/format.js.map +1 -0
  367. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  368. package/src/sdk/utils/test.js +6 -0
  369. package/src/sdk/utils/test.js.map +1 -0
  370. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  371. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  372. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  373. package/src/smithy/project/generator.d.ts +3 -3
  374. package/src/smithy/project/generator.js +64 -57
  375. package/src/smithy/project/generator.js.map +1 -1
  376. package/src/smithy/project/schema.d.js +6 -0
  377. package/src/smithy/project/schema.d.js.map +1 -0
  378. package/src/smithy/project/schema.d.ts +1 -0
  379. package/src/smithy/project/schema.json +5 -0
  380. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  381. package/src/smithy/react-connection/generator.d.ts +3 -3
  382. package/src/smithy/react-connection/generator.js +39 -47
  383. package/src/smithy/react-connection/generator.js.map +1 -1
  384. package/src/smithy/react-connection/schema.d.js +6 -0
  385. package/src/smithy/react-connection/schema.d.js.map +1 -0
  386. package/src/smithy/react-connection/schema.d.ts +1 -0
  387. package/src/smithy/react-connection/schema.json +5 -0
  388. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
  389. package/src/smithy/ts/api/generator.d.ts +3 -3
  390. package/src/smithy/ts/api/generator.js +127 -106
  391. package/src/smithy/ts/api/generator.js.map +1 -1
  392. package/src/smithy/ts/api/schema.d.js +6 -0
  393. package/src/smithy/ts/api/schema.d.js.map +1 -0
  394. package/src/smithy/ts/api/schema.d.ts +1 -0
  395. package/src/smithy/ts/api/schema.json +5 -0
  396. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  397. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  398. package/src/terraform/project/generator.d.ts +3 -3
  399. package/src/terraform/project/generator.js +156 -104
  400. package/src/terraform/project/generator.js.map +1 -1
  401. package/src/terraform/project/schema.d.js +9 -0
  402. package/src/terraform/project/schema.d.js.map +1 -0
  403. package/src/terraform/project/schema.d.ts +1 -0
  404. package/src/terraform/project/schema.json +5 -0
  405. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
  406. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  407. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  408. package/src/trpc/backend/generator.d.ts +4 -4
  409. package/src/trpc/backend/generator.js +97 -85
  410. package/src/trpc/backend/generator.js.map +1 -1
  411. package/src/trpc/backend/schema.d.js +6 -0
  412. package/src/trpc/backend/schema.d.js.map +1 -0
  413. package/src/trpc/backend/schema.d.ts +3 -2
  414. package/src/trpc/backend/schema.json +5 -0
  415. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  416. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  417. package/src/trpc/react/generator.d.ts +4 -4
  418. package/src/trpc/react/generator.js +63 -58
  419. package/src/trpc/react/generator.js.map +1 -1
  420. package/src/trpc/react/schema.d.js +6 -0
  421. package/src/trpc/react/schema.d.js.map +1 -0
  422. package/src/trpc/react/schema.d.ts +1 -0
  423. package/src/trpc/react/schema.json +5 -0
  424. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
  425. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  426. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  427. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  428. package/src/ts/agent/a2a-connection/generator.js +63 -56
  429. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  430. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  431. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  432. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  433. package/src/ts/agent/a2a-connection/schema.json +5 -0
  434. package/src/ts/agent/files/common/agent.ts.template +6 -2
  435. package/src/ts/agent/files/http/router.ts.template +1 -1
  436. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  437. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  438. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  439. package/src/ts/agent/gateway-connection/generator.js +114 -0
  440. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  441. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  442. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  443. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  444. package/src/ts/agent/gateway-connection/schema.json +31 -0
  445. package/src/ts/agent/generator.d.ts +3 -3
  446. package/src/ts/agent/generator.js +188 -144
  447. package/src/ts/agent/generator.js.map +1 -1
  448. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  449. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  450. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  451. package/src/ts/agent/mcp-connection/generator.js +53 -60
  452. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  453. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  454. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  455. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  456. package/src/ts/agent/mcp-connection/schema.json +5 -0
  457. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  458. package/src/ts/agent/react-connection/generator.js +86 -80
  459. package/src/ts/agent/react-connection/generator.js.map +1 -1
  460. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  461. package/src/ts/agent/react-connection/local-dev.js +17 -0
  462. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  463. package/src/ts/agent/react-connection/schema.d.js +8 -0
  464. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  465. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  466. package/src/ts/agent/react-connection/schema.json +5 -0
  467. package/src/ts/agent/schema.d.js +6 -0
  468. package/src/ts/agent/schema.d.js.map +1 -0
  469. package/src/ts/agent/schema.d.ts +1 -0
  470. package/src/ts/agent/schema.json +5 -0
  471. package/src/ts/api/generator.d.ts +3 -3
  472. package/src/ts/api/generator.js +16 -16
  473. package/src/ts/api/generator.js.map +1 -1
  474. package/src/ts/api/schema.d.js +6 -0
  475. package/src/ts/api/schema.d.js.map +1 -0
  476. package/src/ts/api/schema.d.ts +3 -1
  477. package/src/ts/api/schema.json +5 -0
  478. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  479. package/src/ts/astro-docs/generator.d.ts +3 -3
  480. package/src/ts/astro-docs/generator.js +69 -54
  481. package/src/ts/astro-docs/generator.js.map +1 -1
  482. package/src/ts/astro-docs/schema.d.js +6 -0
  483. package/src/ts/astro-docs/schema.d.js.map +1 -0
  484. package/src/ts/astro-docs/schema.d.ts +2 -2
  485. package/src/ts/astro-docs/schema.json +3 -3
  486. package/src/ts/docs/generator.d.ts +3 -3
  487. package/src/ts/docs/generator.js +10 -10
  488. package/src/ts/docs/generator.js.map +1 -1
  489. package/src/ts/docs/schema.d.js +6 -0
  490. package/src/ts/docs/schema.d.js.map +1 -0
  491. package/src/ts/docs/schema.d.ts +1 -4
  492. package/src/ts/docs/schema.json +3 -3
  493. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
  494. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  495. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  496. package/src/ts/dynamodb/agent-connection/generator.js +30 -0
  497. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  498. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  499. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  500. package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
  501. package/src/ts/dynamodb/agent-connection/schema.json +27 -0
  502. package/src/ts/dynamodb/files/config.json.template +24 -0
  503. package/src/ts/dynamodb/files/src/client.ts.template +61 -0
  504. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  505. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  506. package/src/ts/dynamodb/files/src/index.ts.template +2 -0
  507. package/src/ts/dynamodb/generator.d.ts +10 -0
  508. package/src/ts/dynamodb/generator.js +116 -0
  509. package/src/ts/dynamodb/generator.js.map +1 -0
  510. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  511. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  512. package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
  513. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  514. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  515. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  516. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  517. package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
  518. package/src/ts/dynamodb/schema.d.js +6 -0
  519. package/src/ts/dynamodb/schema.d.js.map +1 -0
  520. package/src/ts/dynamodb/schema.d.ts +16 -0
  521. package/src/ts/dynamodb/schema.json +75 -0
  522. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  523. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  524. package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
  525. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  526. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  527. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  528. package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
  529. package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
  530. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  531. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  532. package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
  533. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  534. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  535. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  536. package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
  537. package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
  538. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  539. package/src/ts/lambda-function/generator.d.ts +3 -3
  540. package/src/ts/lambda-function/generator.js +59 -56
  541. package/src/ts/lambda-function/generator.js.map +1 -1
  542. package/src/ts/lambda-function/io.js +83 -52
  543. package/src/ts/lambda-function/io.js.map +1 -1
  544. package/src/ts/lambda-function/schema.d.js +6 -0
  545. package/src/ts/lambda-function/schema.d.js.map +1 -0
  546. package/src/ts/lambda-function/schema.d.ts +1 -0
  547. package/src/ts/lambda-function/schema.json +5 -0
  548. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
  549. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  550. package/src/ts/lib/biome.d.ts +7 -0
  551. package/src/ts/lib/biome.js +58 -0
  552. package/src/ts/lib/biome.js.map +1 -0
  553. package/src/ts/lib/generator.d.ts +3 -3
  554. package/src/ts/lib/generator.js +96 -96
  555. package/src/ts/lib/generator.js.map +1 -1
  556. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  557. package/src/ts/lib/schema.d.js +6 -0
  558. package/src/ts/lib/schema.d.js.map +1 -0
  559. package/src/ts/lib/schema.d.ts +1 -1
  560. package/src/ts/lib/schema.json +5 -0
  561. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  562. package/src/ts/lib/ts-project-utils.js +80 -65
  563. package/src/ts/lib/ts-project-utils.js.map +1 -1
  564. package/src/ts/lib/types.js +5 -2
  565. package/src/ts/lib/types.js.map +1 -1
  566. package/src/ts/lib/vitest.d.ts +2 -2
  567. package/src/ts/lib/vitest.js +29 -26
  568. package/src/ts/lib/vitest.js.map +1 -1
  569. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
  570. package/src/ts/mcp-server/generator.d.ts +3 -3
  571. package/src/ts/mcp-server/generator.js +164 -120
  572. package/src/ts/mcp-server/generator.js.map +1 -1
  573. package/src/ts/mcp-server/schema.d.js +6 -0
  574. package/src/ts/mcp-server/schema.d.js.map +1 -0
  575. package/src/ts/mcp-server/schema.d.ts +1 -0
  576. package/src/ts/mcp-server/schema.json +5 -0
  577. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  578. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  579. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  580. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  581. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  582. package/src/ts/nx-generator/generator.d.ts +2 -2
  583. package/src/ts/nx-generator/generator.js +111 -74
  584. package/src/ts/nx-generator/generator.js.map +1 -1
  585. package/src/ts/nx-generator/schema.d.js +6 -0
  586. package/src/ts/nx-generator/schema.d.js.map +1 -0
  587. package/src/ts/nx-generator/schema.d.ts +1 -0
  588. package/src/ts/nx-generator/schema.json +5 -0
  589. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  590. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  591. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  592. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  593. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  594. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  595. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  596. package/src/ts/nx-plugin/generator.d.ts +3 -3
  597. package/src/ts/nx-plugin/generator.js +60 -51
  598. package/src/ts/nx-plugin/generator.js.map +1 -1
  599. package/src/ts/nx-plugin/schema.d.js +9 -0
  600. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  601. package/src/ts/nx-plugin/schema.json +5 -0
  602. package/src/ts/nx-plugin/utils.d.ts +1 -1
  603. package/src/ts/nx-plugin/utils.js +32 -38
  604. package/src/ts/nx-plugin/utils.js.map +1 -1
  605. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
  606. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  607. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  608. package/src/ts/rdb/agent-connection/generator.js +38 -39
  609. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  610. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  611. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  612. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  613. package/src/ts/rdb/agent-connection/schema.json +5 -0
  614. package/src/ts/rdb/files/config.json.template +14 -0
  615. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  616. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
  617. package/src/ts/rdb/files/src/index.ts.template +0 -1
  618. package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
  619. package/src/ts/rdb/files/src/prisma.ts.template +28 -23
  620. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  621. package/src/ts/rdb/generator.d.ts +3 -7
  622. package/src/ts/rdb/generator.js +158 -130
  623. package/src/ts/rdb/generator.js.map +1 -1
  624. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  625. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  626. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  627. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  628. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  629. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  630. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  631. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  632. package/src/ts/rdb/schema.d.js +6 -0
  633. package/src/ts/rdb/schema.d.js.map +1 -0
  634. package/src/ts/rdb/schema.d.ts +1 -0
  635. package/src/ts/rdb/schema.json +5 -0
  636. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  637. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  638. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  639. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  640. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  641. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  642. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  643. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  644. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  645. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  646. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  647. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  648. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  649. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  650. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  651. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  652. package/src/ts/rdb/utils.d.ts +1 -1
  653. package/src/ts/rdb/utils.js +9 -11
  654. package/src/ts/rdb/utils.js.map +1 -1
  655. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  656. package/src/ts/react-website/agui/generator.d.ts +1 -1
  657. package/src/ts/react-website/agui/generator.js +69 -62
  658. package/src/ts/react-website/agui/generator.js.map +1 -1
  659. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
  660. package/src/ts/react-website/app/generator.d.ts +4 -4
  661. package/src/ts/react-website/app/generator.js +217 -192
  662. package/src/ts/react-website/app/generator.js.map +1 -1
  663. package/src/ts/react-website/app/schema.d.js +6 -0
  664. package/src/ts/react-website/app/schema.d.js.map +1 -0
  665. package/src/ts/react-website/app/schema.d.ts +1 -1
  666. package/src/ts/react-website/app/schema.json +11 -6
  667. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  668. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  669. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  670. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  671. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  672. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  673. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  674. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  675. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  676. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  677. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  678. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  679. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  680. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  681. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  682. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  683. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  684. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  685. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  686. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  687. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  688. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  689. package/src/ts/react-website/runtime-config/generator.js +29 -31
  690. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  691. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  692. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  693. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  694. package/src/ts/react-website/runtime-config/schema.json +5 -0
  695. package/src/ts/sync/generator.d.ts +3 -3
  696. package/src/ts/sync/generator.js +60 -59
  697. package/src/ts/sync/generator.js.map +1 -1
  698. package/src/ts/website/app/generator.d.ts +3 -3
  699. package/src/ts/website/app/generator.js +10 -10
  700. package/src/ts/website/app/generator.js.map +1 -1
  701. package/src/ts/website/app/schema.d.js +6 -0
  702. package/src/ts/website/app/schema.d.js.map +1 -0
  703. package/src/ts/website/app/schema.d.ts +1 -1
  704. package/src/ts/website/app/schema.json +11 -6
  705. package/src/ts/website/auth/generator.d.ts +4 -4
  706. package/src/ts/website/auth/generator.js +11 -10
  707. package/src/ts/website/auth/generator.js.map +1 -1
  708. package/src/ts/website/auth/schema.d.js +6 -0
  709. package/src/ts/website/auth/schema.d.js.map +1 -0
  710. package/src/ts/website/auth/schema.d.ts +1 -0
  711. package/src/ts/website/auth/schema.json +5 -0
  712. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  713. package/src/utils/agent-chat/agent-chat.js +29 -0
  714. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  715. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  716. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  717. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  718. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  719. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  720. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  721. package/src/utils/agent-connection/agent-connection.js +411 -103
  722. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  723. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  724. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  725. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  726. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  727. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  728. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  729. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  730. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  731. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  732. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  733. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  734. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  735. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  736. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  737. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  738. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  739. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  740. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  741. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  742. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  743. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  744. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  745. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  746. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  747. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  748. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  749. package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
  750. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  751. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  752. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  753. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  754. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  755. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  756. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  757. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
  758. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  759. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  760. package/src/utils/api-constructs/api-constructs.js +30 -31
  761. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  762. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
  763. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
  764. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  765. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  766. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
  767. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  768. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  769. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
  770. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  771. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  772. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  773. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  774. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  775. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  776. package/src/utils/ast/website.d.ts +5 -1
  777. package/src/utils/ast/website.js +18 -20
  778. package/src/utils/ast/website.js.map +1 -1
  779. package/src/utils/ast.d.ts +33 -1
  780. package/src/utils/ast.js +130 -70
  781. package/src/utils/ast.js.map +1 -1
  782. package/src/utils/bundle/bundle.d.ts +1 -1
  783. package/src/utils/bundle/bundle.js +50 -47
  784. package/src/utils/bundle/bundle.js.map +1 -1
  785. package/src/utils/commands.js +47 -26
  786. package/src/utils/commands.js.map +1 -1
  787. package/src/utils/config/index.d.ts +5 -5
  788. package/src/utils/config/index.js +5 -4
  789. package/src/utils/config/index.js.map +1 -1
  790. package/src/utils/config/utils.d.ts +13 -3
  791. package/src/utils/config/utils.js +65 -43
  792. package/src/utils/config/utils.js.map +1 -1
  793. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  794. package/src/utils/connection/open-api/react.d.ts +6 -6
  795. package/src/utils/connection/open-api/react.js +81 -77
  796. package/src/utils/connection/open-api/react.js.map +1 -1
  797. package/src/utils/containers.d.ts +1 -1
  798. package/src/utils/containers.js +22 -23
  799. package/src/utils/containers.js.map +1 -1
  800. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  801. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
  802. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  803. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
  804. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  805. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
  806. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  807. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
  808. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  809. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  810. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  811. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  812. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  813. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  814. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  815. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  816. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  817. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  818. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  819. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  820. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  821. package/src/utils/format.d.ts +45 -2
  822. package/src/utils/format.js +323 -81
  823. package/src/utils/format.js.map +1 -1
  824. package/src/utils/fs.d.ts +1 -1
  825. package/src/utils/fs.js +14 -13
  826. package/src/utils/fs.js.map +1 -1
  827. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  828. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  829. package/src/utils/function-constructs/function-constructs.js +21 -26
  830. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  831. package/src/utils/generators.d.ts +4 -0
  832. package/src/utils/generators.js +18 -20
  833. package/src/utils/generators.js.map +1 -1
  834. package/src/utils/git.d.ts +1 -1
  835. package/src/utils/git.js +19 -34
  836. package/src/utils/git.js.map +1 -1
  837. package/src/utils/iac-providers.js +5 -5
  838. package/src/utils/iac-providers.js.map +1 -1
  839. package/src/utils/iac.d.ts +1 -1
  840. package/src/utils/iac.js +12 -14
  841. package/src/utils/iac.js.map +1 -1
  842. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
  843. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  844. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  845. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  846. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  847. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  848. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  849. package/src/utils/install.d.ts +32 -0
  850. package/src/utils/install.js +56 -0
  851. package/src/utils/install.js.map +1 -0
  852. package/src/utils/js.d.ts +4 -0
  853. package/src/utils/js.js +27 -20
  854. package/src/utils/js.js.map +1 -1
  855. package/src/utils/mcp.d.ts +25 -0
  856. package/src/utils/mcp.js +74 -0
  857. package/src/utils/mcp.js.map +1 -0
  858. package/src/utils/metrics.d.ts +9 -3
  859. package/src/utils/metrics.js +61 -46
  860. package/src/utils/metrics.js.map +1 -1
  861. package/src/utils/mock-project-graph.js +8 -12
  862. package/src/utils/mock-project-graph.js.map +1 -1
  863. package/src/utils/names.d.ts +16 -0
  864. package/src/utils/names.js +39 -48
  865. package/src/utils/names.js.map +1 -1
  866. package/src/utils/npm-scope.d.ts +1 -1
  867. package/src/utils/npm-scope.js +9 -17
  868. package/src/utils/npm-scope.js.map +1 -1
  869. package/src/utils/nx.d.ts +25 -4
  870. package/src/utils/nx.js +144 -75
  871. package/src/utils/nx.js.map +1 -1
  872. package/src/utils/nxlv-python.d.ts +1 -1
  873. package/src/utils/nxlv-python.js +27 -15
  874. package/src/utils/nxlv-python.js.map +1 -1
  875. package/src/utils/object.js +5 -11
  876. package/src/utils/object.js.map +1 -1
  877. package/src/utils/paths.d.ts +1 -1
  878. package/src/utils/paths.js +11 -15
  879. package/src/utils/paths.js.map +1 -1
  880. package/src/utils/pkg-manager.js +4 -9
  881. package/src/utils/pkg-manager.js.map +1 -1
  882. package/src/utils/pnpm-workspace.d.ts +1 -1
  883. package/src/utils/pnpm-workspace.js +22 -22
  884. package/src/utils/pnpm-workspace.js.map +1 -1
  885. package/src/utils/port.d.ts +31 -3
  886. package/src/utils/port.js +72 -12
  887. package/src/utils/port.js.map +1 -1
  888. package/src/utils/py.d.ts +16 -3
  889. package/src/utils/py.js +72 -47
  890. package/src/utils/py.js.map +1 -1
  891. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
  892. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
  893. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
  894. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
  895. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
  896. package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
  897. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  898. package/src/utils/shared-constructs-constants.d.ts +1 -0
  899. package/src/utils/shared-constructs-constants.js +16 -15
  900. package/src/utils/shared-constructs-constants.js.map +1 -1
  901. package/src/utils/shared-constructs.d.ts +2 -2
  902. package/src/utils/shared-constructs.js +57 -54
  903. package/src/utils/shared-constructs.js.map +1 -1
  904. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  905. package/src/utils/shared-dynamodb-scripts.js +25 -0
  906. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  907. package/src/utils/shared-infra-config.d.ts +1 -1
  908. package/src/utils/shared-infra-config.js +30 -31
  909. package/src/utils/shared-infra-config.js.map +1 -1
  910. package/src/utils/shared-infra-scripts.d.ts +11 -0
  911. package/src/utils/shared-infra-scripts.js +40 -0
  912. package/src/utils/shared-infra-scripts.js.map +1 -0
  913. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  914. package/src/utils/shared-rdb-scripts.js +28 -0
  915. package/src/utils/shared-rdb-scripts.js.map +1 -0
  916. package/src/utils/shared-scripts.d.ts +2 -5
  917. package/src/utils/shared-scripts.js +12 -38
  918. package/src/utils/shared-scripts.js.map +1 -1
  919. package/src/utils/shared-shadcn.d.ts +1 -1
  920. package/src/utils/shared-shadcn.js +64 -72
  921. package/src/utils/shared-shadcn.js.map +1 -1
  922. package/src/utils/test.d.ts +13 -1
  923. package/src/utils/test.js +35 -23
  924. package/src/utils/test.js.map +1 -1
  925. package/src/utils/toml.d.ts +1 -1
  926. package/src/utils/toml.js +10 -14
  927. package/src/utils/toml.js.map +1 -1
  928. package/src/utils/versions.d.ts +116 -84
  929. package/src/utils/versions.js +124 -102
  930. package/src/utils/versions.js.map +1 -1
  931. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
  932. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  933. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
  934. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  935. package/src/utils/website-constructs/website-constructs.js +31 -30
  936. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  937. package/bin/aws-nx-mcp.js +0 -17
  938. package/bin/aws-nx-mcp.js.map +0 -1
  939. package/sdk/connection.d.ts +0 -6
  940. package/sdk/connection.js +0 -10
  941. package/sdk/connection.js.map +0 -1
  942. package/sdk/open-api.d.ts +0 -10
  943. package/sdk/open-api.js +0 -15
  944. package/sdk/open-api.js.map +0 -1
  945. package/sdk/py.d.ts +0 -14
  946. package/sdk/py.js +0 -18
  947. package/sdk/py.js.map +0 -1
  948. package/sdk/terraform.d.ts +0 -6
  949. package/sdk/terraform.js +0 -11
  950. package/sdk/terraform.js.map +0 -1
  951. package/sdk/ts.d.ts +0 -29
  952. package/sdk/ts.js +0 -47
  953. package/sdk/ts.js.map +0 -1
  954. package/sdk/utils/ast.js +0 -12
  955. package/sdk/utils/ast.js.map +0 -1
  956. package/sdk/utils/format.js +0 -10
  957. package/sdk/utils/format.js.map +0 -1
  958. package/sdk/utils/test.js +0 -10
  959. package/sdk/utils/test.js.map +0 -1
  960. package/src/connection/agent-serve-local.js +0 -48
  961. package/src/connection/agent-serve-local.js.map +0 -1
  962. package/src/connection/serve-local.d.ts +0 -15
  963. package/src/connection/serve-local.js +0 -41
  964. package/src/connection/serve-local.js.map +0 -1
  965. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  966. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  967. package/src/py/agent/react-connection/serve-local.js +0 -30
  968. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  969. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  970. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  971. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  972. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  973. package/src/ts/agent/react-connection/serve-local.js +0 -19
  974. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  975. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  976. package/src/ts/lib/eslint.d.ts +0 -14
  977. package/src/ts/lib/eslint.js +0 -90
  978. package/src/ts/lib/eslint.js.map +0 -1
  979. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  980. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  981. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  982. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  983. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  984. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  985. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  986. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  987. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  988. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  989. /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
  990. /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
  991. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  992. /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
  993. /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
  994. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  995. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
  996. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -0,0 +1,27 @@
1
+ import { McpClient } from '@strands-agents/sdk';
2
+ import {
3
+ AgentCoreMcpTransport,
4
+ type AgentCoreMcpTransportIamOptions,
5
+ type AgentCoreMcpTransportJwtOptions,
6
+ type AgentCoreMcpTransportNoAuthOptions,
7
+ } from './agentcore-mcp-transport.js';
8
+
9
+ /** Strands MCP clients for a Bedrock AgentCore runtime. */
10
+ export class AgentCoreMcpClientStrands {
11
+ /** SigV4-authenticated client for a Bedrock AgentCore runtime. */
12
+ static withIamAuth(options: AgentCoreMcpTransportIamOptions): McpClient {
13
+ return new McpClient({ transport: AgentCoreMcpTransport.withIamAuth(options) });
14
+ }
15
+
16
+ /** Bearer-authenticated client for a Bedrock AgentCore runtime. */
17
+ static withJwtAuth(options: AgentCoreMcpTransportJwtOptions): McpClient {
18
+ return new McpClient({ transport: AgentCoreMcpTransport.withJwtAuth(options) });
19
+ }
20
+
21
+ /** For local dev — plain HTTP, no auth. */
22
+ static withoutAuth(options: AgentCoreMcpTransportNoAuthOptions): McpClient {
23
+ return new McpClient({
24
+ transport: AgentCoreMcpTransport.withoutAuth(options),
25
+ });
26
+ }
27
+ }
@@ -0,0 +1,43 @@
1
+ from collections.abc import Callable
2
+
3
+ import boto3
4
+ import httpx
5
+ from a2a.client import ClientConfig
6
+
7
+ from .agentcore_endpoints import a2a_url_from_arn, region_from_arn
8
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
9
+
10
+
11
+ def _config(url: str, auth: httpx.Auth) -> tuple[str, ClientConfig]:
12
+ httpx_client = httpx.AsyncClient(auth=auth, timeout=120)
13
+ return url, ClientConfig(httpx_client=httpx_client, streaming=False)
14
+
15
+
16
+ class AgentCoreA2aClientConfig:
17
+ """Factory for A2A client configs that connect to a Bedrock AgentCore
18
+ runtime. Each forwards the current async-context session via the AgentCore
19
+ session header. Framework-agnostic — wrap the result in a framework's
20
+ A2A client."""
21
+
22
+ @staticmethod
23
+ def with_iam_auth(agent_runtime_arn: str) -> tuple[str, ClientConfig]:
24
+ """SigV4-authenticated A2A client config for a Bedrock AgentCore runtime."""
25
+ region = region_from_arn(agent_runtime_arn)
26
+ credentials = boto3.Session(region_name=region).get_credentials()
27
+ return _config(
28
+ a2a_url_from_arn(agent_runtime_arn), sigv4_auth(credentials, region)
29
+ )
30
+
31
+ @staticmethod
32
+ def with_jwt_auth(
33
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
34
+ ) -> tuple[str, ClientConfig]:
35
+ """Bearer-authenticated A2A client config for a Bedrock AgentCore runtime."""
36
+ return _config(
37
+ a2a_url_from_arn(agent_runtime_arn), jwt_auth(access_token_provider)
38
+ )
39
+
40
+ @staticmethod
41
+ def without_auth(url: str) -> tuple[str, ClientConfig]:
42
+ """Plain-HTTP A2A client config — for local dev."""
43
+ return _config(url, plain_auth())
@@ -0,0 +1,47 @@
1
+ """Resolve Bedrock AgentCore invocation endpoints from a runtime ARN.
2
+
3
+ Framework-agnostic — reusable by any framework's connection client.
4
+ """
5
+
6
+ import re
7
+ from urllib.parse import quote
8
+
9
+
10
+ def region_from_arn(agent_runtime_arn: str) -> str:
11
+ """Extract the AWS region from a Bedrock AgentCore runtime ARN.
12
+
13
+ ARN format: arn:partition:service:region:account-id:resource
14
+ """
15
+ return agent_runtime_arn.split(":")[3]
16
+
17
+
18
+ def mcp_url_from_arn(agent_runtime_arn: str) -> str:
19
+ """The MCP invocation URL for a runtime ARN."""
20
+ region = region_from_arn(agent_runtime_arn)
21
+ encoded_arn = quote(agent_runtime_arn, safe="")
22
+ return (
23
+ f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
24
+ f"{encoded_arn}/invocations?qualifier=DEFAULT"
25
+ )
26
+
27
+
28
+ def a2a_url_from_arn(agent_runtime_arn: str) -> str:
29
+ """The A2A invocation URL for a runtime ARN. A2A on AgentCore is mounted at
30
+ the `/invocations/` root (trailing slash matters)."""
31
+ region = region_from_arn(agent_runtime_arn)
32
+ encoded_arn = quote(agent_runtime_arn, safe="")
33
+ return (
34
+ f"https://bedrock-agentcore.{region}.amazonaws.com/runtimes/"
35
+ f"{encoded_arn}/invocations/"
36
+ )
37
+
38
+
39
+ def region_from_gateway_url(gateway_url: str) -> str:
40
+ """Extract the AWS region from an AgentCore Gateway MCP URL."""
41
+ match = re.search(r"\.bedrock-agentcore\.([^.]+)\.amazonaws\.com", gateway_url)
42
+ if not match:
43
+ raise ValueError(
44
+ f"Cannot determine region from gateway URL '{gateway_url}'. "
45
+ "Pass region explicitly."
46
+ )
47
+ return match.group(1)
@@ -0,0 +1,51 @@
1
+ from collections.abc import Callable
2
+
3
+ import httpx
4
+
5
+ from ..session_context import get_current_session_id
6
+ from .sigv4 import SigV4HTTPXAuth
7
+
8
+ SESSION_HEADER = "X-Amzn-Bedrock-AgentCore-Runtime-Session-Id"
9
+
10
+
11
+ class SessionHeaderAuth(httpx.Auth):
12
+ """Stamps the AgentCore session header from the current async context,
13
+ then delegates to an optional inner auth (e.g. SigV4)."""
14
+
15
+ requires_request_body = True
16
+ requires_response_body = True
17
+
18
+ def __init__(self, inner: httpx.Auth | None = None):
19
+ self._inner = inner
20
+
21
+ def auth_flow(self, request: httpx.Request): # type: ignore[override]
22
+ sid = get_current_session_id()
23
+ if sid:
24
+ request.headers[SESSION_HEADER] = sid
25
+ if self._inner is None:
26
+ yield request
27
+ return
28
+ yield from self._inner.auth_flow(request)
29
+
30
+
31
+ def sigv4_auth(
32
+ credentials, region: str, service: str = "bedrock-agentcore"
33
+ ) -> httpx.Auth:
34
+ """Session-forwarding SigV4 auth (per-request, body-aware)."""
35
+ return SessionHeaderAuth(SigV4HTTPXAuth(credentials, service, region))
36
+
37
+
38
+ def jwt_auth(access_token_provider: Callable[[], str]) -> httpx.Auth:
39
+ """Session-forwarding bearer-token auth."""
40
+
41
+ class _Bearer(httpx.Auth):
42
+ def auth_flow(self, request: httpx.Request):
43
+ request.headers["Authorization"] = f"Bearer {access_token_provider()}"
44
+ yield request
45
+
46
+ return SessionHeaderAuth(_Bearer())
47
+
48
+
49
+ def plain_auth() -> httpx.Auth:
50
+ """Session-forwarding plain auth — for local dev."""
51
+ return SessionHeaderAuth()
@@ -0,0 +1,28 @@
1
+ from .agentcore_endpoints import region_from_gateway_url
2
+ from .agentcore_transport import (
3
+ TransportFactory,
4
+ no_auth_transport,
5
+ sigv4_transport,
6
+ )
7
+
8
+
9
+ class AgentCoreGatewayMCPTransport:
10
+ """Factory for MCP transport factories that connect to an AgentCore Gateway.
11
+ Forwards the current async-context session via the AgentCore session header,
12
+ which the gateway propagates to downstream MCP server targets.
13
+ """
14
+
15
+ @staticmethod
16
+ def with_iam_auth(
17
+ gateway_url: str,
18
+ region: str | None = None,
19
+ ) -> TransportFactory:
20
+ """Create a gateway MCP transport authenticated with IAM SigV4."""
21
+ return sigv4_transport(
22
+ gateway_url, region or region_from_gateway_url(gateway_url)
23
+ )
24
+
25
+ @staticmethod
26
+ def without_auth(gateway_url: str) -> TransportFactory:
27
+ """Plain-HTTP gateway transport, for the local gateway started by the dev target."""
28
+ return no_auth_transport(gateway_url)
@@ -0,0 +1,99 @@
1
+ import asyncio
2
+ from collections.abc import Callable
3
+ from concurrent.futures import ThreadPoolExecutor
4
+ from uuid import uuid4
5
+
6
+ from a2a.client import A2ACardResolver, ClientConfig, ClientFactory
7
+ from a2a.types import Message, Part, Role, Task, TextPart
8
+
9
+ from .agentcore_a2a_client_config import AgentCoreA2aClientConfig
10
+
11
+
12
+ def _run_sync(coro):
13
+ # The tool is invoked from sync agent code, which under uvicorn runs inside a
14
+ # live event loop where asyncio.run() would raise — fall back to a worker.
15
+ try:
16
+ asyncio.get_running_loop()
17
+ except RuntimeError:
18
+ return asyncio.run(coro)
19
+ with ThreadPoolExecutor(max_workers=1) as pool:
20
+ return pool.submit(asyncio.run, coro).result()
21
+
22
+
23
+ def _text(event) -> str:
24
+ # Collect text parts from a bare Message or a (Task, update) event.
25
+ parts = []
26
+ if isinstance(event, Message):
27
+ parts = event.parts
28
+ elif isinstance(event, tuple):
29
+ task, update = event
30
+ if isinstance(task, Task) and task.artifacts:
31
+ parts = [p for a in task.artifacts for p in (a.parts or [])]
32
+ elif update is not None and getattr(update, "status", None) and update.status.message:
33
+ parts = update.status.message.parts
34
+ return "".join(p.root.text for p in parts if getattr(p.root, "text", None))
35
+
36
+
37
+ class _A2AClient:
38
+ """A synchronously-callable A2A client. Sends a text prompt to the remote
39
+ agent and returns its text reply. Built on the a2a SDK only — no Strands."""
40
+
41
+ def __init__(self, url: str, client_config: ClientConfig):
42
+ self._url = url
43
+ self._config = client_config
44
+
45
+ def __call__(self, prompt: str) -> str:
46
+ return _run_sync(self._invoke(prompt))
47
+
48
+ async def _invoke(self, prompt: str) -> str:
49
+ # AgentCoreA2aClientConfig always sets the signed httpx client.
50
+ httpx_client = self._config.httpx_client
51
+ if httpx_client is None:
52
+ raise RuntimeError("A2A client config is missing an httpx client")
53
+ card = await A2ACardResolver(
54
+ httpx_client=httpx_client, base_url=self._url
55
+ ).get_agent_card()
56
+ client = ClientFactory(self._config).create(card)
57
+ message = Message(
58
+ kind="message",
59
+ role=Role.user,
60
+ message_id=uuid4().hex,
61
+ parts=[Part(TextPart(kind="text", text=prompt))],
62
+ )
63
+ # The client config uses streaming=False, so the last event carries the
64
+ # complete response.
65
+ reply = ""
66
+ async for event in client.send_message(message):
67
+ text = _text(event)
68
+ if text:
69
+ reply = text
70
+ return reply
71
+
72
+
73
+ class AgentCoreA2aClientLangChain:
74
+ """Factory for A2A clients that connect to an AgentCore runtime.
75
+
76
+ Reuses the framework-agnostic Layer-1 ``AgentCoreA2aClientConfig`` (signed
77
+ ``a2a.client.ClientConfig``) and drives the a2a SDK directly, so a LangChain
78
+ agent delegating to an A2A agent pulls in no Strands dependency."""
79
+
80
+ @staticmethod
81
+ def with_iam_auth(agent_runtime_arn: str) -> _A2AClient:
82
+ """SigV4-authenticated client for a Bedrock AgentCore runtime."""
83
+ return _A2AClient(*AgentCoreA2aClientConfig.with_iam_auth(agent_runtime_arn))
84
+
85
+ @staticmethod
86
+ def with_jwt_auth(
87
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
88
+ ) -> _A2AClient:
89
+ """Bearer-authenticated client for a Bedrock AgentCore runtime."""
90
+ return _A2AClient(
91
+ *AgentCoreA2aClientConfig.with_jwt_auth(
92
+ agent_runtime_arn, access_token_provider
93
+ )
94
+ )
95
+
96
+ @staticmethod
97
+ def without_auth(url: str) -> _A2AClient:
98
+ """Plain-HTTP client for local dev."""
99
+ return _A2AClient(*AgentCoreA2aClientConfig.without_auth(url))
@@ -0,0 +1,57 @@
1
+ import asyncio
2
+ from concurrent.futures import ThreadPoolExecutor
3
+
4
+ import boto3
5
+ import httpx
6
+
7
+ from langchain_core.tools import BaseTool
8
+ from langchain_mcp_adapters.client import MultiServerMCPClient
9
+
10
+ from .agentcore_endpoints import region_from_gateway_url
11
+ from .auth.session import plain_auth, sigv4_auth
12
+
13
+
14
+ def _run_sync(coro):
15
+ # Tools load during agent construction, which under uvicorn runs inside a
16
+ # live event loop where asyncio.run() would raise — fall back to a worker.
17
+ try:
18
+ asyncio.get_running_loop()
19
+ except RuntimeError:
20
+ return asyncio.run(coro)
21
+ with ThreadPoolExecutor(max_workers=1) as pool:
22
+ return pool.submit(asyncio.run, coro).result()
23
+
24
+
25
+ def _load_tools(url: str, auth: httpx.Auth) -> list[BaseTool]:
26
+ # Pass a connection config so each tool opens a fresh session per call and
27
+ # stays usable after construction (no shared session to close).
28
+ client = MultiServerMCPClient(
29
+ {
30
+ "server": {
31
+ "transport": "streamable_http",
32
+ "url": url,
33
+ "auth": auth,
34
+ "terminate_on_close": False,
35
+ }
36
+ }
37
+ )
38
+ return _run_sync(client.get_tools())
39
+
40
+
41
+ class AgentCoreGatewayMCPClientLangChain:
42
+ """Loads LangChain tools from an AgentCore Gateway."""
43
+
44
+ @staticmethod
45
+ def with_iam_auth(
46
+ gateway_url: str,
47
+ region: str | None = None,
48
+ ) -> list[BaseTool]:
49
+ """SigV4-authenticated tools for an AgentCore Gateway."""
50
+ resolved_region = region or region_from_gateway_url(gateway_url)
51
+ credentials = boto3.Session(region_name=resolved_region).get_credentials()
52
+ return _load_tools(gateway_url, sigv4_auth(credentials, resolved_region))
53
+
54
+ @staticmethod
55
+ def without_auth(gateway_url: str) -> list[BaseTool]:
56
+ """Plain-HTTP tools for the local gateway started by the dev target."""
57
+ return _load_tools(gateway_url, plain_auth())
@@ -0,0 +1,64 @@
1
+ import asyncio
2
+ from collections.abc import Callable
3
+ from concurrent.futures import ThreadPoolExecutor
4
+
5
+ import boto3
6
+ import httpx
7
+
8
+ from langchain_core.tools import BaseTool
9
+ from langchain_mcp_adapters.client import MultiServerMCPClient
10
+
11
+ from .agentcore_endpoints import mcp_url_from_arn, region_from_arn
12
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
13
+
14
+
15
+ def _run_sync(coro):
16
+ # Tools load during agent construction, which under uvicorn runs inside a
17
+ # live event loop where asyncio.run() would raise — fall back to a worker.
18
+ try:
19
+ asyncio.get_running_loop()
20
+ except RuntimeError:
21
+ return asyncio.run(coro)
22
+ with ThreadPoolExecutor(max_workers=1) as pool:
23
+ return pool.submit(asyncio.run, coro).result()
24
+
25
+
26
+ def _load_tools(url: str, auth: httpx.Auth) -> list[BaseTool]:
27
+ # Pass a connection config so each tool opens a fresh session per call and
28
+ # stays usable after construction (no shared session to close).
29
+ client = MultiServerMCPClient(
30
+ {
31
+ "server": {
32
+ "transport": "streamable_http",
33
+ "url": url,
34
+ "auth": auth,
35
+ "terminate_on_close": False,
36
+ }
37
+ }
38
+ )
39
+ return _run_sync(client.get_tools())
40
+
41
+
42
+ class AgentCoreMCPClientLangChain:
43
+ """Loads LangChain tools from an MCP server on an AgentCore runtime."""
44
+
45
+ @staticmethod
46
+ def with_iam_auth(agent_runtime_arn: str) -> list[BaseTool]:
47
+ """SigV4-authenticated tools for a Bedrock AgentCore runtime."""
48
+ region = region_from_arn(agent_runtime_arn)
49
+ url = mcp_url_from_arn(agent_runtime_arn)
50
+ credentials = boto3.Session(region_name=region).get_credentials()
51
+ return _load_tools(url, sigv4_auth(credentials, region))
52
+
53
+ @staticmethod
54
+ def with_jwt_auth(
55
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
56
+ ) -> list[BaseTool]:
57
+ """Bearer-authenticated tools for a Bedrock AgentCore runtime."""
58
+ url = mcp_url_from_arn(agent_runtime_arn)
59
+ return _load_tools(url, jwt_auth(access_token_provider))
60
+
61
+ @staticmethod
62
+ def without_auth(url: str) -> list[BaseTool]:
63
+ """Plain-HTTP tools for local dev."""
64
+ return _load_tools(url, plain_auth())
@@ -0,0 +1,34 @@
1
+ from collections.abc import Callable
2
+
3
+ from .agentcore_endpoints import mcp_url_from_arn, region_from_arn
4
+ from .agentcore_transport import (
5
+ TransportFactory,
6
+ jwt_transport,
7
+ no_auth_transport,
8
+ sigv4_transport,
9
+ )
10
+
11
+
12
+ class AgentCoreMCPTransport:
13
+ """Factory for MCP transport factories that connect to an AgentCore runtime."""
14
+
15
+ @staticmethod
16
+ def with_iam_auth(agent_runtime_arn: str) -> TransportFactory:
17
+ """SigV4-authenticated transport for a Bedrock AgentCore runtime."""
18
+ return sigv4_transport(
19
+ mcp_url_from_arn(agent_runtime_arn), region_from_arn(agent_runtime_arn)
20
+ )
21
+
22
+ @staticmethod
23
+ def with_jwt_auth(
24
+ agent_runtime_arn: str, access_token_provider: Callable[[], str]
25
+ ) -> TransportFactory:
26
+ """Bearer-authenticated transport for a Bedrock AgentCore runtime."""
27
+ return jwt_transport(
28
+ mcp_url_from_arn(agent_runtime_arn), access_token_provider
29
+ )
30
+
31
+ @staticmethod
32
+ def without_auth(url: str) -> TransportFactory:
33
+ """Plain-HTTP transport — for local dev."""
34
+ return no_auth_transport(url)
@@ -5,9 +5,13 @@ from aws_lambda_powertools.utilities import parameters
5
5
  from botocore.config import Config
6
6
 
7
7
 
8
- def _get_agentcore_runtime_config() -> dict[str, Any]:
8
+ def get_agentcore_runtime_config() -> dict[str, Any]:
9
9
  """Read the runtime-config ``agentcore`` namespace from AppConfig.
10
10
 
11
+ Returns a dict of the shape ``{"agentRuntimes": {name: arn, ...},
12
+ "gateways": {name: url, ...}}``, where keys are the class names of
13
+ connected target constructs.
14
+
11
15
  ``RUNTIME_CONFIG_APP_ID`` is set on the AgentCore runtime by the generated
12
16
  CDK/Terraform construct for this project.
13
17
  """
@@ -23,20 +27,3 @@ def _get_agentcore_runtime_config() -> dict[str, Any]:
23
27
  config=Config(region_name=region) if region else None,
24
28
  )
25
29
  return cast(dict[str, Any], provider.get("agentcore", transform="json"))
26
-
27
-
28
- def get_connected_agent_runtime_arn(name: str) -> str:
29
- """Resolve the AgentCore runtime ARN for a connected agent or MCP server
30
- from this project's runtime configuration.
31
-
32
- ``name`` must match the class name of the target construct
33
- (e.g. ``MyAgent``, ``InventoryMcpServer``).
34
- """
35
- config = _get_agentcore_runtime_config()
36
- agent_runtimes = config.get("agentRuntimes", {}) if config else {}
37
- arn = agent_runtimes.get(name)
38
- if not arn:
39
- raise RuntimeError(
40
- f"No connected agent runtime named '{name}' found in runtime configuration."
41
- )
42
- return arn
@@ -0,0 +1,40 @@
1
+ from collections.abc import Callable
2
+ from typing import Any
3
+
4
+ import boto3
5
+
6
+ from mcp.client.streamable_http import streamablehttp_client
7
+
8
+ from .auth.session import jwt_auth, plain_auth, sigv4_auth
9
+
10
+ # Agent frameworks wrap a transport *factory* — a no-arg callable returning a
11
+ # streamable-HTTP transport context manager. Typed as ``Any`` so this layer
12
+ # stays free of any framework-specific transport type.
13
+ TransportFactory = Callable[[], Any]
14
+
15
+
16
+ def _factory(url: str, auth) -> TransportFactory:
17
+ return lambda: streamablehttp_client(
18
+ url,
19
+ auth=auth,
20
+ timeout=120,
21
+ terminate_on_close=False,
22
+ )
23
+
24
+
25
+ def sigv4_transport(url: str, region: str) -> TransportFactory:
26
+ """SigV4-signed transport factory for a resolved AgentCore endpoint."""
27
+ credentials = boto3.Session(region_name=region).get_credentials()
28
+ return _factory(url, sigv4_auth(credentials, region))
29
+
30
+
31
+ def jwt_transport(
32
+ url: str, access_token_provider: Callable[[], str]
33
+ ) -> TransportFactory:
34
+ """Bearer-token transport factory for a resolved AgentCore endpoint."""
35
+ return _factory(url, jwt_auth(access_token_provider))
36
+
37
+
38
+ def no_auth_transport(url: str) -> TransportFactory:
39
+ """Plain-HTTP transport factory — for local dev."""
40
+ return _factory(url, plain_auth())
@@ -0,0 +1,66 @@
1
+ from collections.abc import Callable
2
+
3
+ from strands.agent.a2a_agent import A2AAgent
4
+
5
+ from .agentcore_a2a_client_config import AgentCoreA2aClientConfig
6
+
7
+
8
+ def _build(
9
+ config: tuple, *, name: str | None, description: str | None
10
+ ) -> A2AAgent:
11
+ url, client_config = config
12
+ kwargs: dict = {"endpoint": url, "client_config": client_config}
13
+ if name:
14
+ kwargs["name"] = name
15
+ if description:
16
+ kwargs["description"] = description
17
+ return A2AAgent(**kwargs)
18
+
19
+
20
+ class AgentCoreA2aClientStrands:
21
+ """Factory for Strands A2A clients that connect to an AgentCore runtime."""
22
+
23
+ @staticmethod
24
+ def with_iam_auth(
25
+ agent_runtime_arn: str,
26
+ *,
27
+ name: str | None = None,
28
+ description: str | None = None,
29
+ ) -> A2AAgent:
30
+ """SigV4-authenticated client for a Bedrock AgentCore runtime."""
31
+ return _build(
32
+ AgentCoreA2aClientConfig.with_iam_auth(agent_runtime_arn),
33
+ name=name,
34
+ description=description,
35
+ )
36
+
37
+ @staticmethod
38
+ def with_jwt_auth(
39
+ agent_runtime_arn: str,
40
+ access_token_provider: Callable[[], str],
41
+ *,
42
+ name: str | None = None,
43
+ description: str | None = None,
44
+ ) -> A2AAgent:
45
+ """Bearer-authenticated client for a Bedrock AgentCore runtime."""
46
+ return _build(
47
+ AgentCoreA2aClientConfig.with_jwt_auth(
48
+ agent_runtime_arn, access_token_provider
49
+ ),
50
+ name=name,
51
+ description=description,
52
+ )
53
+
54
+ @staticmethod
55
+ def without_auth(
56
+ url: str,
57
+ *,
58
+ name: str | None = None,
59
+ description: str | None = None,
60
+ ) -> A2AAgent:
61
+ """Plain-HTTP client — for local dev."""
62
+ return _build(
63
+ AgentCoreA2aClientConfig.without_auth(url),
64
+ name=name,
65
+ description=description,
66
+ )
@@ -0,0 +1,40 @@
1
+ import logging
2
+
3
+ from botocore.exceptions import ClientError, NoCredentialsError, PartialCredentialsError
4
+ from strands.hooks import AfterModelCallEvent, HookRegistry
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+ _NO_CREDENTIALS = (
9
+ "Unable to invoke the model: no AWS credentials found. Configure credentials "
10
+ "(e.g. run `aws configure`, set AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / "
11
+ "AWS_SESSION_TOKEN, or assume a role) before running the agent."
12
+ )
13
+ _ACCESS_DENIED = (
14
+ "Unable to invoke the model: access denied. Grant your AWS principal permission "
15
+ "to call bedrock:InvokeModelWithResponseStream for your model."
16
+ )
17
+
18
+
19
+ def _is_access_denied(error: BaseException) -> bool:
20
+ return isinstance(error, ClientError) and error.response.get("Error", {}).get("Code") == "AccessDeniedException"
21
+
22
+
23
+ class _LogModelErrors:
24
+ def register_hooks(self, registry: HookRegistry, **_kwargs) -> None:
25
+ registry.add_callback(AfterModelCallEvent, self._on_after_model_call)
26
+
27
+ @staticmethod
28
+ def _on_after_model_call(event: AfterModelCallEvent) -> None:
29
+ error = event.exception
30
+ if error is None:
31
+ return
32
+ if isinstance(error, (NoCredentialsError, PartialCredentialsError)):
33
+ logger.error(_NO_CREDENTIALS)
34
+ elif _is_access_denied(error):
35
+ logger.error(_ACCESS_DENIED)
36
+ else:
37
+ logger.error("Model invocation failed: %s", error)
38
+
39
+
40
+ log_model_errors = _LogModelErrors()
@@ -0,0 +1,22 @@
1
+ from strands.tools.mcp.mcp_client import MCPClient
2
+
3
+ from .agentcore_gateway_mcp_transport import AgentCoreGatewayMCPTransport
4
+
5
+
6
+ class AgentCoreGatewayMCPClientStrands:
7
+ """Factory for Strands MCP clients that connect to an AgentCore Gateway."""
8
+
9
+ @staticmethod
10
+ def with_iam_auth(
11
+ gateway_url: str,
12
+ region: str | None = None,
13
+ ) -> MCPClient:
14
+ """Create a gateway MCP client authenticated with IAM SigV4."""
15
+ return MCPClient(
16
+ AgentCoreGatewayMCPTransport.with_iam_auth(gateway_url, region)
17
+ )
18
+
19
+ @staticmethod
20
+ def without_auth(gateway_url: str) -> MCPClient:
21
+ """Plain-HTTP gateway client, for the local gateway started by the dev target."""
22
+ return MCPClient(AgentCoreGatewayMCPTransport.without_auth(gateway_url))