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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/LICENSE-THIRD-PARTY +3643 -1208
  2. package/package.json +30 -15
  3. package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
  4. package/src/agentcore-gateway/attach-upstream.js +19 -22
  5. package/src/agentcore-gateway/attach-upstream.js.map +1 -1
  6. package/src/agentcore-gateway/gateway-connection/generator.d.ts +4 -4
  7. package/src/agentcore-gateway/gateway-connection/generator.js +45 -46
  8. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
  9. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  10. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  11. package/src/agentcore-gateway/gateway-connection/schema.d.ts +1 -0
  12. package/src/agentcore-gateway/gateway-connection/schema.json +5 -0
  13. package/src/agentcore-gateway/generator.js +93 -73
  14. package/src/agentcore-gateway/generator.js.map +1 -1
  15. package/src/agentcore-gateway/mcp-connection/generator.d.ts +3 -3
  16. package/src/agentcore-gateway/mcp-connection/generator.js +27 -31
  17. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  18. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  19. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  20. package/src/agentcore-gateway/mcp-connection/schema.d.ts +1 -0
  21. package/src/agentcore-gateway/mcp-connection/schema.json +5 -0
  22. package/src/agentcore-gateway/schema.d.js +6 -0
  23. package/src/agentcore-gateway/schema.d.js.map +1 -0
  24. package/src/agentcore-gateway/schema.d.ts +1 -0
  25. package/src/agentcore-gateway/schema.json +5 -0
  26. package/src/bin/aws-nx-mcp.js +14 -0
  27. package/src/bin/aws-nx-mcp.js.map +1 -0
  28. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
  29. package/src/connection/agent-local-dev.js +42 -0
  30. package/src/connection/agent-local-dev.js.map +1 -0
  31. package/src/connection/agent-runtime-config.js +9 -14
  32. package/src/connection/agent-runtime-config.js.map +1 -1
  33. package/src/connection/generator.d.ts +1 -0
  34. package/src/connection/generator.js +265 -206
  35. package/src/connection/generator.js.map +1 -1
  36. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  37. package/src/connection/local-dev.js +37 -0
  38. package/src/connection/local-dev.js.map +1 -0
  39. package/src/connection/schema.d.js +6 -0
  40. package/src/connection/schema.d.js.map +1 -0
  41. package/src/connection/schema.d.ts +1 -0
  42. package/src/connection/schema.json +5 -0
  43. package/src/index.js +2 -5
  44. package/src/index.js.map +1 -1
  45. package/src/infra/app/__snapshots__/generator.spec.ts.snap +33 -47
  46. package/src/infra/app/generator.js +140 -124
  47. package/src/infra/app/generator.js.map +1 -1
  48. package/src/infra/app/schema.d.js +6 -0
  49. package/src/infra/app/schema.d.js.map +1 -0
  50. package/src/infra/app/schema.d.ts +1 -1
  51. package/src/infra/app/schema.json +5 -0
  52. package/src/license/config-types.js +5 -3
  53. package/src/license/config-types.js.map +1 -1
  54. package/src/license/config.d.ts +1 -1
  55. package/src/license/config.js +267 -242
  56. package/src/license/config.js.map +1 -1
  57. package/src/license/dependency-check/check.js +51 -46
  58. package/src/license/dependency-check/check.js.map +1 -1
  59. package/src/license/dependency-check/collectors/collector.js +41 -71
  60. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  61. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  62. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  63. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  64. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  65. package/src/license/dependency-check/evaluator.js +40 -68
  66. package/src/license/dependency-check/evaluator.js.map +1 -1
  67. package/src/license/dependency-check/executor.js +30 -22
  68. package/src/license/dependency-check/executor.js.map +1 -1
  69. package/src/license/dependency-check/pre-approved.js +949 -336
  70. package/src/license/dependency-check/pre-approved.js.map +1 -1
  71. package/src/license/dependency-check/types.js +2 -3
  72. package/src/license/dependency-check/types.js.map +1 -1
  73. package/src/license/generator.js +55 -60
  74. package/src/license/generator.js.map +1 -1
  75. package/src/license/index.js +3 -9
  76. package/src/license/index.js.map +1 -1
  77. package/src/license/known-exceptions.js +14 -13
  78. package/src/license/known-exceptions.js.map +1 -1
  79. package/src/license/schema.d.js +6 -0
  80. package/src/license/schema.d.js.map +1 -0
  81. package/src/license/schema.d.ts +2 -0
  82. package/src/license/schema.json +5 -0
  83. package/src/license/sync/generator.js +94 -119
  84. package/src/license/sync/generator.js.map +1 -1
  85. package/src/license/sync/project-file-sync.js +28 -35
  86. package/src/license/sync/project-file-sync.js.map +1 -1
  87. package/src/mcp-server/generator-info.js +130 -160
  88. package/src/mcp-server/generator-info.js.map +1 -1
  89. package/src/mcp-server/guide-pipeline.js +184 -206
  90. package/src/mcp-server/guide-pipeline.js.map +1 -1
  91. package/src/mcp-server/guide-render.js +10 -25
  92. package/src/mcp-server/guide-render.js.map +1 -1
  93. package/src/mcp-server/index.js +6 -10
  94. package/src/mcp-server/index.js.map +1 -1
  95. package/src/mcp-server/mdx-ast.js +39 -57
  96. package/src/mcp-server/mdx-ast.js.map +1 -1
  97. package/src/mcp-server/option-filter.js +33 -47
  98. package/src/mcp-server/option-filter.js.map +1 -1
  99. package/src/mcp-server/schema-registry.js +27 -40
  100. package/src/mcp-server/schema-registry.js.map +1 -1
  101. package/src/mcp-server/schema.js +9 -7
  102. package/src/mcp-server/schema.js.map +1 -1
  103. package/src/mcp-server/server.js +20 -24
  104. package/src/mcp-server/server.js.map +1 -1
  105. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  106. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  107. package/src/mcp-server/tools/general-guidance.js +45 -25
  108. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  109. package/src/mcp-server/tools/generator-guide.js +29 -37
  110. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  111. package/src/mcp-server/tools/list-generators.js +19 -25
  112. package/src/mcp-server/tools/list-generators.js.map +1 -1
  113. package/src/open-api/ts-client/generator.js +16 -26
  114. package/src/open-api/ts-client/generator.js.map +1 -1
  115. package/src/open-api/ts-client/schema.d.js +6 -0
  116. package/src/open-api/ts-client/schema.d.js.map +1 -0
  117. package/src/open-api/ts-hooks/generator.js +13 -21
  118. package/src/open-api/ts-hooks/generator.js.map +1 -1
  119. package/src/open-api/ts-hooks/schema.d.js +6 -0
  120. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  121. package/src/open-api/ts-metadata/generator.js +12 -20
  122. package/src/open-api/ts-metadata/generator.js.map +1 -1
  123. package/src/open-api/ts-metadata/schema.d.js +6 -0
  124. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  125. package/src/open-api/utils/codegen-data/languages.js +42 -60
  126. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  127. package/src/open-api/utils/codegen-data/types.js +31 -30
  128. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  129. package/src/open-api/utils/codegen-data.js +253 -269
  130. package/src/open-api/utils/codegen-data.js.map +1 -1
  131. package/src/open-api/utils/normalise.js +242 -241
  132. package/src/open-api/utils/normalise.js.map +1 -1
  133. package/src/open-api/utils/parse.js +8 -14
  134. package/src/open-api/utils/parse.js.map +1 -1
  135. package/src/open-api/utils/refs.js +12 -22
  136. package/src/open-api/utils/refs.js.map +1 -1
  137. package/src/open-api/utils/types.js +5 -2
  138. package/src/open-api/utils/types.js.map +1 -1
  139. package/src/preset/__snapshots__/generator.spec.ts.snap +32 -7
  140. package/src/preset/generator.d.ts +1 -1
  141. package/src/preset/generator.js +134 -113
  142. package/src/preset/generator.js.map +1 -1
  143. package/src/preset/schema.d.js +6 -0
  144. package/src/preset/schema.d.js.map +1 -0
  145. package/src/preset/schema.d.ts +1 -1
  146. package/src/preset/schema.json +5 -5
  147. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  148. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +16 -853
  149. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
  150. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
  151. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
  152. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
  153. package/src/py/agent/a2a-connection/generator.js +74 -75
  154. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  155. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  156. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  157. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  158. package/src/py/agent/a2a-connection/schema.json +5 -0
  159. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
  160. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
  161. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
  162. package/src/py/agent/gateway-connection/generator.js +65 -58
  163. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  164. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  165. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  166. package/src/py/agent/gateway-connection/schema.d.ts +1 -0
  167. package/src/py/agent/gateway-connection/schema.json +5 -0
  168. package/src/py/agent/generator.js +230 -194
  169. package/src/py/agent/generator.js.map +1 -1
  170. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
  171. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
  172. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
  173. package/src/py/agent/mcp-connection/generator.js +57 -52
  174. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  175. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  176. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  177. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  178. package/src/py/agent/mcp-connection/schema.json +5 -0
  179. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
  180. package/src/py/agent/react-connection/generator.d.ts +1 -1
  181. package/src/py/agent/react-connection/generator.js +55 -59
  182. package/src/py/agent/react-connection/generator.js.map +1 -1
  183. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  184. package/src/py/agent/react-connection/local-dev.js +36 -0
  185. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  186. package/src/py/agent/react-connection/schema.d.js +8 -0
  187. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  188. package/src/py/agent/react-connection/schema.d.ts +1 -0
  189. package/src/py/agent/react-connection/schema.json +5 -0
  190. package/src/py/agent/schema.d.js +6 -0
  191. package/src/py/agent/schema.d.js.map +1 -0
  192. package/src/py/agent/schema.d.ts +1 -0
  193. package/src/py/agent/schema.json +5 -0
  194. package/src/py/api/generator.js +12 -11
  195. package/src/py/api/generator.js.map +1 -1
  196. package/src/py/api/schema.d.js +6 -0
  197. package/src/py/api/schema.d.js.map +1 -0
  198. package/src/py/api/schema.d.ts +1 -0
  199. package/src/py/api/schema.json +5 -0
  200. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
  201. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  202. package/src/py/dynamodb/agent-connection/generator.js +30 -30
  203. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  204. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  205. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  206. package/src/py/dynamodb/agent-connection/schema.d.ts +1 -0
  207. package/src/py/dynamodb/agent-connection/schema.json +5 -0
  208. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
  209. package/src/py/dynamodb/fast-api-connection/generator.js +29 -29
  210. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  211. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  212. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  213. package/src/py/dynamodb/fast-api-connection/schema.d.ts +1 -0
  214. package/src/py/dynamodb/fast-api-connection/schema.json +5 -0
  215. package/src/py/dynamodb/files/__name__/client.py.template +5 -5
  216. package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
  217. package/src/py/dynamodb/files/config.json.template +1 -1
  218. package/src/py/dynamodb/generator.js +66 -62
  219. package/src/py/dynamodb/generator.js.map +1 -1
  220. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  221. package/src/py/dynamodb/mcp-server-connection/generator.js +30 -30
  222. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  223. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  224. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  225. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  226. package/src/py/dynamodb/mcp-server-connection/schema.json +5 -0
  227. package/src/py/dynamodb/schema.d.js +6 -0
  228. package/src/py/dynamodb/schema.d.js.map +1 -0
  229. package/src/py/dynamodb/schema.d.ts +1 -0
  230. package/src/py/dynamodb/schema.json +5 -0
  231. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
  232. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  233. package/src/py/fast-api/generator.js +82 -85
  234. package/src/py/fast-api/generator.js.map +1 -1
  235. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
  236. package/src/py/fast-api/react/generator.d.ts +2 -2
  237. package/src/py/fast-api/react/generator.js +25 -25
  238. package/src/py/fast-api/react/generator.js.map +1 -1
  239. package/src/py/fast-api/react/open-api.js +28 -29
  240. package/src/py/fast-api/react/open-api.js.map +1 -1
  241. package/src/py/fast-api/react/schema.d.js +6 -0
  242. package/src/py/fast-api/react/schema.d.js.map +1 -0
  243. package/src/py/fast-api/react/schema.d.ts +1 -0
  244. package/src/py/fast-api/react/schema.json +5 -0
  245. package/src/py/fast-api/schema.d.js +6 -0
  246. package/src/py/fast-api/schema.d.js.map +1 -0
  247. package/src/py/fast-api/schema.d.ts +1 -0
  248. package/src/py/fast-api/schema.json +5 -0
  249. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  250. package/src/py/lambda-function/generator.js +60 -59
  251. package/src/py/lambda-function/generator.js.map +1 -1
  252. package/src/py/lambda-function/schema.d.js +6 -0
  253. package/src/py/lambda-function/schema.d.js.map +1 -0
  254. package/src/py/lambda-function/schema.d.ts +1 -0
  255. package/src/py/lambda-function/schema.json +5 -0
  256. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +8 -8
  257. package/src/py/mcp-server/generator.js +152 -132
  258. package/src/py/mcp-server/generator.js.map +1 -1
  259. package/src/py/mcp-server/schema.d.js +6 -0
  260. package/src/py/mcp-server/schema.d.js.map +1 -0
  261. package/src/py/mcp-server/schema.d.ts +1 -0
  262. package/src/py/mcp-server/schema.json +5 -0
  263. package/src/py/project/generator.js +132 -90
  264. package/src/py/project/generator.js.map +1 -1
  265. package/src/py/project/schema.d.js +6 -0
  266. package/src/py/project/schema.d.js.map +1 -0
  267. package/src/py/project/schema.d.ts +1 -0
  268. package/src/py/project/schema.json +5 -0
  269. package/src/sdk/agentcore-gateway.d.ts +6 -0
  270. package/src/sdk/agentcore-gateway.js +7 -0
  271. package/src/sdk/agentcore-gateway.js.map +1 -0
  272. package/src/sdk/connection.d.ts +6 -0
  273. package/src/sdk/connection.js +6 -0
  274. package/src/sdk/connection.js.map +1 -0
  275. package/{sdk → src/sdk}/license.d.ts +4 -4
  276. package/src/sdk/license.js +7 -0
  277. package/src/sdk/license.js.map +1 -0
  278. package/src/sdk/open-api.d.ts +10 -0
  279. package/src/sdk/open-api.js +8 -0
  280. package/src/sdk/open-api.js.map +1 -0
  281. package/src/sdk/py.d.ts +14 -0
  282. package/src/sdk/py.js +10 -0
  283. package/src/sdk/py.js.map +1 -0
  284. package/src/sdk/terraform.d.ts +6 -0
  285. package/src/sdk/terraform.js +7 -0
  286. package/src/sdk/terraform.js.map +1 -0
  287. package/src/sdk/ts.d.ts +33 -0
  288. package/src/sdk/ts.js +35 -0
  289. package/src/sdk/ts.js.map +1 -0
  290. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  291. package/src/sdk/utils/ast.js +6 -0
  292. package/src/sdk/utils/ast.js.map +1 -0
  293. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  294. package/src/sdk/utils/format.js +6 -0
  295. package/src/sdk/utils/format.js.map +1 -0
  296. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  297. package/src/sdk/utils/test.js +6 -0
  298. package/src/sdk/utils/test.js.map +1 -0
  299. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
  300. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  301. package/src/smithy/project/generator.js +48 -43
  302. package/src/smithy/project/generator.js.map +1 -1
  303. package/src/smithy/project/schema.d.js +6 -0
  304. package/src/smithy/project/schema.d.js.map +1 -0
  305. package/src/smithy/project/schema.d.ts +1 -0
  306. package/src/smithy/project/schema.json +5 -0
  307. package/src/smithy/react-connection/generator.js +39 -47
  308. package/src/smithy/react-connection/generator.js.map +1 -1
  309. package/src/smithy/react-connection/schema.d.js +6 -0
  310. package/src/smithy/react-connection/schema.d.js.map +1 -0
  311. package/src/smithy/react-connection/schema.d.ts +1 -0
  312. package/src/smithy/react-connection/schema.json +5 -0
  313. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
  314. package/src/smithy/ts/api/generator.js +125 -110
  315. package/src/smithy/ts/api/generator.js.map +1 -1
  316. package/src/smithy/ts/api/schema.d.js +6 -0
  317. package/src/smithy/ts/api/schema.d.js.map +1 -0
  318. package/src/smithy/ts/api/schema.d.ts +1 -0
  319. package/src/smithy/ts/api/schema.json +5 -0
  320. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  321. package/src/terraform/project/generator.js +151 -104
  322. package/src/terraform/project/generator.js.map +1 -1
  323. package/src/terraform/project/schema.d.js +9 -0
  324. package/src/terraform/project/schema.d.js.map +1 -0
  325. package/src/terraform/project/schema.d.ts +1 -0
  326. package/src/terraform/project/schema.json +5 -0
  327. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
  328. package/src/trpc/backend/generator.d.ts +1 -1
  329. package/src/trpc/backend/generator.js +97 -86
  330. package/src/trpc/backend/generator.js.map +1 -1
  331. package/src/trpc/backend/schema.d.js +6 -0
  332. package/src/trpc/backend/schema.d.js.map +1 -0
  333. package/src/trpc/backend/schema.d.ts +1 -0
  334. package/src/trpc/backend/schema.json +5 -0
  335. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  336. package/src/trpc/react/generator.d.ts +1 -1
  337. package/src/trpc/react/generator.js +63 -58
  338. package/src/trpc/react/generator.js.map +1 -1
  339. package/src/trpc/react/schema.d.js +6 -0
  340. package/src/trpc/react/schema.d.js.map +1 -0
  341. package/src/trpc/react/schema.d.ts +1 -0
  342. package/src/trpc/react/schema.json +5 -0
  343. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
  344. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
  345. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
  346. package/src/ts/agent/a2a-connection/generator.js +62 -55
  347. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  348. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  349. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  350. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  351. package/src/ts/agent/a2a-connection/schema.json +5 -0
  352. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
  353. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
  354. package/src/ts/agent/gateway-connection/generator.js +61 -53
  355. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  356. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  357. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  358. package/src/ts/agent/gateway-connection/schema.d.ts +1 -0
  359. package/src/ts/agent/gateway-connection/schema.json +5 -0
  360. package/src/ts/agent/generator.js +169 -137
  361. package/src/ts/agent/generator.js.map +1 -1
  362. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  363. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
  364. package/src/ts/agent/mcp-connection/generator.js +52 -47
  365. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  366. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  367. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  368. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  369. package/src/ts/agent/mcp-connection/schema.json +5 -0
  370. package/src/ts/agent/react-connection/generator.d.ts +1 -1
  371. package/src/ts/agent/react-connection/generator.js +86 -80
  372. package/src/ts/agent/react-connection/generator.js.map +1 -1
  373. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  374. package/src/ts/agent/react-connection/local-dev.js +17 -0
  375. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  376. package/src/ts/agent/react-connection/schema.d.js +8 -0
  377. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  378. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  379. package/src/ts/agent/react-connection/schema.json +5 -0
  380. package/src/ts/agent/schema.d.js +6 -0
  381. package/src/ts/agent/schema.d.js.map +1 -0
  382. package/src/ts/agent/schema.d.ts +1 -0
  383. package/src/ts/agent/schema.json +5 -0
  384. package/src/ts/api/generator.js +16 -16
  385. package/src/ts/api/generator.js.map +1 -1
  386. package/src/ts/api/schema.d.js +6 -0
  387. package/src/ts/api/schema.d.js.map +1 -0
  388. package/src/ts/api/schema.d.ts +1 -0
  389. package/src/ts/api/schema.json +5 -0
  390. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
  391. package/src/ts/astro-docs/generator.js +63 -51
  392. package/src/ts/astro-docs/generator.js.map +1 -1
  393. package/src/ts/astro-docs/schema.d.js +6 -0
  394. package/src/ts/astro-docs/schema.d.js.map +1 -0
  395. package/src/ts/astro-docs/schema.d.ts +2 -2
  396. package/src/ts/astro-docs/schema.json +3 -3
  397. package/src/ts/docs/generator.js +10 -10
  398. package/src/ts/docs/generator.js.map +1 -1
  399. package/src/ts/docs/schema.d.js +6 -0
  400. package/src/ts/docs/schema.d.js.map +1 -0
  401. package/src/ts/docs/schema.d.ts +1 -4
  402. package/src/ts/docs/schema.json +3 -3
  403. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
  404. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  405. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  406. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  407. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  408. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  409. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  410. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  411. package/src/ts/dynamodb/files/config.json.template +1 -1
  412. package/src/ts/dynamodb/files/src/client.ts.template +7 -7
  413. package/src/ts/dynamodb/generator.js +68 -63
  414. package/src/ts/dynamodb/generator.js.map +1 -1
  415. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  416. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  417. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  418. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  419. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  420. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  421. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  422. package/src/ts/dynamodb/schema.d.js +6 -0
  423. package/src/ts/dynamodb/schema.d.js.map +1 -0
  424. package/src/ts/dynamodb/schema.d.ts +1 -0
  425. package/src/ts/dynamodb/schema.json +5 -0
  426. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  427. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  428. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  429. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  430. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  431. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  432. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  433. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  434. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  435. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  436. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  437. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  438. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  439. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  440. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  441. package/src/ts/lambda-function/generator.js +59 -56
  442. package/src/ts/lambda-function/generator.js.map +1 -1
  443. package/src/ts/lambda-function/io.js +83 -52
  444. package/src/ts/lambda-function/io.js.map +1 -1
  445. package/src/ts/lambda-function/schema.d.js +6 -0
  446. package/src/ts/lambda-function/schema.d.js.map +1 -0
  447. package/src/ts/lambda-function/schema.d.ts +1 -0
  448. package/src/ts/lambda-function/schema.json +5 -0
  449. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
  450. package/src/ts/lib/biome.js +37 -37
  451. package/src/ts/lib/biome.js.map +1 -1
  452. package/src/ts/lib/generator.js +82 -80
  453. package/src/ts/lib/generator.js.map +1 -1
  454. package/src/ts/lib/schema.d.js +6 -0
  455. package/src/ts/lib/schema.d.js.map +1 -0
  456. package/src/ts/lib/schema.d.ts +1 -1
  457. package/src/ts/lib/schema.json +5 -0
  458. package/src/ts/lib/ts-project-utils.js +65 -70
  459. package/src/ts/lib/ts-project-utils.js.map +1 -1
  460. package/src/ts/lib/types.js +5 -2
  461. package/src/ts/lib/types.js.map +1 -1
  462. package/src/ts/lib/vitest.js +29 -26
  463. package/src/ts/lib/vitest.js.map +1 -1
  464. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  465. package/src/ts/mcp-server/generator.js +161 -139
  466. package/src/ts/mcp-server/generator.js.map +1 -1
  467. package/src/ts/mcp-server/schema.d.js +6 -0
  468. package/src/ts/mcp-server/schema.d.js.map +1 -0
  469. package/src/ts/mcp-server/schema.d.ts +1 -0
  470. package/src/ts/mcp-server/schema.json +5 -0
  471. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -12
  472. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  473. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  474. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  475. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  476. package/src/ts/nx-generator/generator.js +88 -84
  477. package/src/ts/nx-generator/generator.js.map +1 -1
  478. package/src/ts/nx-generator/schema.d.js +6 -0
  479. package/src/ts/nx-generator/schema.d.js.map +1 -0
  480. package/src/ts/nx-generator/schema.d.ts +1 -0
  481. package/src/ts/nx-generator/schema.json +5 -0
  482. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  483. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  484. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  485. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  486. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  487. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  488. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  489. package/src/ts/nx-plugin/generator.js +57 -49
  490. package/src/ts/nx-plugin/generator.js.map +1 -1
  491. package/src/ts/nx-plugin/schema.d.js +9 -0
  492. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  493. package/src/ts/nx-plugin/schema.json +5 -0
  494. package/src/ts/nx-plugin/utils.js +32 -44
  495. package/src/ts/nx-plugin/utils.js.map +1 -1
  496. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +30 -30
  497. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  498. package/src/ts/rdb/agent-connection/generator.js +38 -39
  499. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  500. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  501. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  502. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  503. package/src/ts/rdb/agent-connection/schema.json +5 -0
  504. package/src/ts/rdb/files/config.json.template +1 -1
  505. package/src/ts/rdb/files/prisma.config.ts.template +2 -2
  506. package/src/ts/rdb/files/src/prisma.ts.template +7 -7
  507. package/src/ts/rdb/files/src/utils.ts.template +1 -0
  508. package/src/ts/rdb/generator.js +134 -117
  509. package/src/ts/rdb/generator.js.map +1 -1
  510. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  511. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  512. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  513. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  514. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  515. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  516. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  517. package/src/ts/rdb/schema.d.js +6 -0
  518. package/src/ts/rdb/schema.d.js.map +1 -0
  519. package/src/ts/rdb/schema.d.ts +1 -0
  520. package/src/ts/rdb/schema.json +5 -0
  521. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  522. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  523. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  524. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  525. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  526. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  527. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  528. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  529. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  530. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  531. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  532. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  533. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  534. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  535. package/src/ts/rdb/utils.js +9 -11
  536. package/src/ts/rdb/utils.js.map +1 -1
  537. package/src/ts/react-website/agui/generator.js +69 -61
  538. package/src/ts/react-website/agui/generator.js.map +1 -1
  539. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +178 -284
  540. package/src/ts/react-website/app/generator.d.ts +1 -1
  541. package/src/ts/react-website/app/generator.js +212 -191
  542. package/src/ts/react-website/app/generator.js.map +1 -1
  543. package/src/ts/react-website/app/schema.d.js +6 -0
  544. package/src/ts/react-website/app/schema.d.js.map +1 -0
  545. package/src/ts/react-website/app/schema.d.ts +1 -1
  546. package/src/ts/react-website/app/schema.json +11 -6
  547. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
  548. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +10 -3
  549. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  550. package/src/ts/react-website/cognito-auth/generator.d.ts +1 -1
  551. package/src/ts/react-website/cognito-auth/generator.js +64 -60
  552. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  553. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  554. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  555. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  556. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  557. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  558. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  559. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  560. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  561. package/src/ts/react-website/runtime-config/generator.js +29 -31
  562. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  563. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  564. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  565. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  566. package/src/ts/react-website/runtime-config/schema.json +5 -0
  567. package/src/ts/sync/generator.js +60 -59
  568. package/src/ts/sync/generator.js.map +1 -1
  569. package/src/ts/website/app/generator.js +10 -10
  570. package/src/ts/website/app/generator.js.map +1 -1
  571. package/src/ts/website/app/schema.d.js +6 -0
  572. package/src/ts/website/app/schema.d.js.map +1 -0
  573. package/src/ts/website/app/schema.d.ts +1 -1
  574. package/src/ts/website/app/schema.json +11 -6
  575. package/src/ts/website/auth/generator.d.ts +1 -1
  576. package/src/ts/website/auth/generator.js +11 -10
  577. package/src/ts/website/auth/generator.js.map +1 -1
  578. package/src/ts/website/auth/schema.d.js +6 -0
  579. package/src/ts/website/auth/schema.d.js.map +1 -0
  580. package/src/ts/website/auth/schema.d.ts +1 -0
  581. package/src/ts/website/auth/schema.json +5 -0
  582. package/src/utils/agent-chat/agent-chat.d.ts +1 -1
  583. package/src/utils/agent-chat/agent-chat.js +11 -12
  584. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  585. package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
  586. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
  587. package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
  588. package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
  589. package/src/utils/agent-connection/agent-connection.js +129 -146
  590. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  591. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
  592. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
  593. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
  594. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
  595. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
  596. package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
  597. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  598. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  599. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +4 -4
  600. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
  601. package/src/utils/api-constructs/api-constructs.js +30 -31
  602. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  603. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
  604. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  605. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  606. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
  607. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  608. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
  609. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  610. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  611. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  612. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  613. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  614. package/src/utils/ast/website.js +17 -19
  615. package/src/utils/ast/website.js.map +1 -1
  616. package/src/utils/ast.js +72 -97
  617. package/src/utils/ast.js.map +1 -1
  618. package/src/utils/bundle/bundle.js +50 -47
  619. package/src/utils/bundle/bundle.js.map +1 -1
  620. package/src/utils/commands.js +47 -26
  621. package/src/utils/commands.js.map +1 -1
  622. package/src/utils/config/index.d.ts +2 -2
  623. package/src/utils/config/index.js +5 -4
  624. package/src/utils/config/index.js.map +1 -1
  625. package/src/utils/config/utils.js +48 -58
  626. package/src/utils/config/utils.js.map +1 -1
  627. package/src/utils/connection/open-api/react.d.ts +5 -5
  628. package/src/utils/connection/open-api/react.js +81 -77
  629. package/src/utils/connection/open-api/react.js.map +1 -1
  630. package/src/utils/containers.js +22 -23
  631. package/src/utils/containers.js.map +1 -1
  632. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
  633. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  634. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
  635. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  636. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
  637. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
  638. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
  639. package/src/utils/files/common/scripts/src/infra/stage-credentials/cdk-command.ts.template +11 -3
  640. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  641. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  642. package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
  643. package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
  644. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  645. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  646. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
  647. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  648. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
  649. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  650. package/src/utils/format.js +153 -99
  651. package/src/utils/format.js.map +1 -1
  652. package/src/utils/fs.js +14 -13
  653. package/src/utils/fs.js.map +1 -1
  654. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  655. package/src/utils/function-constructs/function-constructs.js +21 -26
  656. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  657. package/src/utils/generators.js +18 -20
  658. package/src/utils/generators.js.map +1 -1
  659. package/src/utils/git.js +19 -34
  660. package/src/utils/git.js.map +1 -1
  661. package/src/utils/iac-providers.js +5 -5
  662. package/src/utils/iac-providers.js.map +1 -1
  663. package/src/utils/iac.js +12 -14
  664. package/src/utils/iac.js.map +1 -1
  665. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
  666. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +2 -2
  667. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
  668. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  669. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  670. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  671. package/src/utils/install.d.ts +32 -0
  672. package/src/utils/install.js +56 -0
  673. package/src/utils/install.js.map +1 -0
  674. package/src/utils/js.js +27 -20
  675. package/src/utils/js.js.map +1 -1
  676. package/src/utils/mcp.js +34 -41
  677. package/src/utils/mcp.js.map +1 -1
  678. package/src/utils/metrics.js +30 -45
  679. package/src/utils/metrics.js.map +1 -1
  680. package/src/utils/mock-project-graph.js +8 -12
  681. package/src/utils/mock-project-graph.js.map +1 -1
  682. package/src/utils/names.js +25 -51
  683. package/src/utils/names.js.map +1 -1
  684. package/src/utils/npm-scope.js +9 -17
  685. package/src/utils/npm-scope.js.map +1 -1
  686. package/src/utils/nx.d.ts +18 -2
  687. package/src/utils/nx.js +111 -74
  688. package/src/utils/nx.js.map +1 -1
  689. package/src/utils/nxlv-python.js +27 -15
  690. package/src/utils/nxlv-python.js.map +1 -1
  691. package/src/utils/object.js +5 -11
  692. package/src/utils/object.js.map +1 -1
  693. package/src/utils/paths.js +11 -15
  694. package/src/utils/paths.js.map +1 -1
  695. package/src/utils/pkg-manager.js +4 -9
  696. package/src/utils/pkg-manager.js.map +1 -1
  697. package/src/utils/pnpm-workspace.js +22 -22
  698. package/src/utils/pnpm-workspace.js.map +1 -1
  699. package/src/utils/port.js +26 -36
  700. package/src/utils/port.js.map +1 -1
  701. package/src/utils/py.js +43 -52
  702. package/src/utils/py.js.map +1 -1
  703. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  704. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
  705. package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
  706. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  707. package/src/utils/shared-constructs-constants.js +16 -16
  708. package/src/utils/shared-constructs-constants.js.map +1 -1
  709. package/src/utils/shared-constructs.js +57 -54
  710. package/src/utils/shared-constructs.js.map +1 -1
  711. package/src/utils/shared-dynamodb-scripts.js +16 -14
  712. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  713. package/src/utils/shared-infra-config.js +30 -31
  714. package/src/utils/shared-infra-config.js.map +1 -1
  715. package/src/utils/shared-infra-scripts.js +30 -25
  716. package/src/utils/shared-infra-scripts.js.map +1 -1
  717. package/src/utils/shared-rdb-scripts.d.ts +8 -3
  718. package/src/utils/shared-rdb-scripts.js +21 -13
  719. package/src/utils/shared-rdb-scripts.js.map +1 -1
  720. package/src/utils/shared-scripts.js +12 -17
  721. package/src/utils/shared-scripts.js.map +1 -1
  722. package/src/utils/shared-shadcn.js +64 -60
  723. package/src/utils/shared-shadcn.js.map +1 -1
  724. package/src/utils/test.d.ts +8 -0
  725. package/src/utils/test.js +33 -25
  726. package/src/utils/test.js.map +1 -1
  727. package/src/utils/toml.js +7 -15
  728. package/src/utils/toml.js.map +1 -1
  729. package/src/utils/versions.d.ts +93 -66
  730. package/src/utils/versions.js +102 -85
  731. package/src/utils/versions.js.map +1 -1
  732. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  733. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
  734. package/src/utils/website-constructs/website-constructs.js +31 -30
  735. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  736. package/bin/aws-nx-mcp.js +0 -17
  737. package/bin/aws-nx-mcp.js.map +0 -1
  738. package/sdk/agentcore-gateway.d.ts +0 -6
  739. package/sdk/agentcore-gateway.js +0 -11
  740. package/sdk/agentcore-gateway.js.map +0 -1
  741. package/sdk/connection.d.ts +0 -6
  742. package/sdk/connection.js +0 -10
  743. package/sdk/connection.js.map +0 -1
  744. package/sdk/license.js +0 -14
  745. package/sdk/license.js.map +0 -1
  746. package/sdk/open-api.d.ts +0 -10
  747. package/sdk/open-api.js +0 -15
  748. package/sdk/open-api.js.map +0 -1
  749. package/sdk/py.d.ts +0 -14
  750. package/sdk/py.js +0 -18
  751. package/sdk/py.js.map +0 -1
  752. package/sdk/terraform.d.ts +0 -6
  753. package/sdk/terraform.js +0 -11
  754. package/sdk/terraform.js.map +0 -1
  755. package/sdk/ts.d.ts +0 -33
  756. package/sdk/ts.js +0 -53
  757. package/sdk/ts.js.map +0 -1
  758. package/sdk/utils/ast.js +0 -12
  759. package/sdk/utils/ast.js.map +0 -1
  760. package/sdk/utils/format.js +0 -10
  761. package/sdk/utils/format.js.map +0 -1
  762. package/sdk/utils/test.js +0 -10
  763. package/sdk/utils/test.js.map +0 -1
  764. package/src/connection/agent-serve-local.js +0 -48
  765. package/src/connection/agent-serve-local.js.map +0 -1
  766. package/src/connection/serve-local.js +0 -41
  767. package/src/connection/serve-local.js.map +0 -1
  768. package/src/py/agent/react-connection/serve-local.js +0 -38
  769. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  770. package/src/ts/agent/react-connection/serve-local.js +0 -19
  771. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  772. package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
  773. /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
  774. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
@@ -1,37 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pyAgentGenerator = exports.PY_AGENT_GENERATOR_INFO = void 0;
4
1
  /**
5
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
3
  * SPDX-License-Identifier: Apache-2.0
7
- */
8
- const devkit_1 = require("@nx/devkit");
9
- const config_1 = require("../../license/config");
10
- const known_exceptions_1 = require("../../license/known-exceptions");
11
- const agent_chat_1 = require("../../utils/agent-chat/agent-chat");
12
- const agent_connection_1 = require("../../utils/agent-connection/agent-connection");
13
- const agent_core_constructs_1 = require("../../utils/agent-core-constructs/agent-core-constructs");
14
- const bundle_1 = require("../../utils/bundle/bundle");
15
- const containers_1 = require("../../utils/containers");
16
- const format_1 = require("../../utils/format");
17
- const fs_1 = require("../../utils/fs");
18
- const git_1 = require("../../utils/git");
19
- const iac_1 = require("../../utils/iac");
20
- const metrics_1 = require("../../utils/metrics");
21
- const names_1 = require("../../utils/names");
22
- const npm_scope_1 = require("../../utils/npm-scope");
23
- const nx_1 = require("../../utils/nx");
24
- const nxlv_python_1 = require("../../utils/nxlv-python");
25
- const object_1 = require("../../utils/object");
26
- const paths_1 = require("../../utils/paths");
27
- const port_1 = require("../../utils/port");
28
- const py_1 = require("../../utils/py");
29
- const shared_constructs_1 = require("../../utils/shared-constructs");
30
- const versions_1 = require("../../utils/versions");
31
- exports.PY_AGENT_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
32
- const pyAgentGenerator = async (tree, options) => {
33
- const project = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.project);
34
- const pyProjectPath = (0, devkit_1.joinPathFragments)(project.root, 'pyproject.toml');
4
+ */ import { addDependenciesToPackageJson, generateFiles, joinPathFragments, OverwriteStrategy, updateProjectConfiguration } from "@nx/devkit";
5
+ import { ensureLicenseExceptions } from "../../license/config.js";
6
+ import { AG_UI_LANGGRAPH_EXCEPTIONS } from "../../license/known-exceptions.js";
7
+ import { addAgentChatScripts } from "../../utils/agent-chat/agent-chat.js";
8
+ import { addPythonFrameworkBase, ensurePythonAgentConnectionProject, getPythonAgentConnectionModuleName, getPythonAgentConnectionProject } from "../../utils/agent-connection/agent-connection.js";
9
+ import { addAgentInfra } from "../../utils/agent-core-constructs/agent-core-constructs.js";
10
+ import { addPythonBundleTarget } from "../../utils/bundle/bundle.js";
11
+ import { resolveContainers } from "../../utils/containers.js";
12
+ import { formatFilesInSubtree } from "../../utils/format.js";
13
+ import { FsCommands } from "../../utils/fs.js";
14
+ import { updateGitIgnore } from "../../utils/git.js";
15
+ import { resolveIac } from "../../utils/iac.js";
16
+ import { installDependencies } from "../../utils/install.js";
17
+ import { addGeneratorMetricsIfApplicable } from "../../utils/metrics.js";
18
+ import { kebabCase, toClassName, toSnakeCase } from "../../utils/names.js";
19
+ import { getNpmScope } from "../../utils/npm-scope.js";
20
+ import { addComponentDevTarget, addComponentGeneratorMetadata, addDependencyToTargetIfNotPresent, getGeneratorInfo, normalizeTargetKeyOrder, readProjectConfigurationUnqualified } from "../../utils/nx.js";
21
+ import { sortObjectKeys } from "../../utils/object.js";
22
+ import { toProjectRelativePath } from "../../utils/paths.js";
23
+ import { assignPort } from "../../utils/port.js";
24
+ import { addDependenciesToDependencyGroupInPyProjectToml, addDependenciesToPyProjectToml, addWorkspaceDependencyToPyProject } from "../../utils/py.js";
25
+ import { sharedConstructsGenerator } from "../../utils/shared-constructs.js";
26
+ import { withVersions } from "../../utils/versions.js";
27
+ export const PY_AGENT_GENERATOR_INFO = getGeneratorInfo(import.meta.filename);
28
+ export const pyAgentGenerator = async (tree, options)=>{
29
+ const project = readProjectConfigurationUnqualified(tree, options.project);
30
+ const pyProjectPath = joinPathFragments(project.root, 'pyproject.toml');
35
31
  // Check if the project has a pyproject.toml file
36
32
  if (!pyProjectPath) {
37
33
  throw new Error(`Unsupported project ${options.project}. Expected a Python project (with a pyproject.toml)`);
@@ -42,11 +38,11 @@ const pyAgentGenerator = async (tree, options) => {
42
38
  // Module name is the last part of the source root,
43
39
  const sourceParts = project.sourceRoot.split('/');
44
40
  const moduleName = sourceParts[sourceParts.length - 1];
45
- const name = (0, names_1.kebabCase)(options.name || `${(0, names_1.kebabCase)(project.name.split('.').pop())}-agent`);
41
+ const name = kebabCase(options.name || `${kebabCase(project.name.split('.').pop())}-agent`);
46
42
  const agentTargetPrefix = options.name ? name : 'agent';
47
- const agentNameSnakeCase = (0, names_1.toSnakeCase)(options.name || 'agent');
48
- const agentNameClassName = (0, names_1.toClassName)(name);
49
- const targetSourceDir = (0, devkit_1.joinPathFragments)(project.sourceRoot, agentNameSnakeCase);
43
+ const agentNameSnakeCase = toSnakeCase(options.name || 'agent');
44
+ const agentNameClassName = toClassName(name);
45
+ const targetSourceDir = joinPathFragments(project.sourceRoot, agentNameSnakeCase);
50
46
  const infra = options.infra ?? 'agentcore';
51
47
  const protocol = options.protocol ?? 'http';
52
48
  const framework = options.framework ?? 'strands';
@@ -58,31 +54,35 @@ const pyAgentGenerator = async (tree, options) => {
58
54
  // point can import `session_id_context` and propagate the AgentCore
59
55
  // session ID to any downstream MCP / A2A clients a later connection
60
56
  // generator wires into this agent.
61
- await (0, agent_connection_1.ensurePythonAgentConnectionProject)(tree);
57
+ await ensurePythonAgentConnectionProject(tree);
62
58
  // The agent server imports the framework base helpers (session cache + model
63
59
  // error logging) regardless of whether a connection client is wired in. The
64
60
  // langchain framework has no base layer (its AG-UI foundation reuses only the
65
61
  // framework-agnostic session context), so this is a no-op for langchain.
66
- await (0, agent_connection_1.addPythonFrameworkBase)(tree, framework);
67
- const agentConnectionModuleName = (0, agent_connection_1.getPythonAgentConnectionModuleName)(tree);
68
- (0, py_1.addWorkspaceDependencyToPyProject)(tree, project, (0, agent_connection_1.getPythonAgentConnectionProject)(tree));
62
+ await addPythonFrameworkBase(tree, framework);
63
+ const agentConnectionModuleName = getPythonAgentConnectionModuleName(tree);
64
+ addWorkspaceDependencyToPyProject(tree, project, getPythonAgentConnectionProject(tree));
69
65
  const templateContext = {
70
66
  name,
71
67
  agentNameSnakeCase,
72
68
  agentNameClassName,
73
69
  moduleName,
74
70
  agentConnectionModuleName,
75
- framework,
71
+ framework
76
72
  };
77
73
  // Generate common files shared by both protocols. The agent module (agent.py)
78
74
  // is framework-specific (Strands yields a contextmanaged Agent; LangChain
79
75
  // returns a compiled create_agent graph), so it comes from a per-framework
80
76
  // dir. The package __init__.py is framework-agnostic (it stays in `common`).
81
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', framework === 'langchain' ? 'common-langchain' : 'common'), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
77
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', framework === 'langchain' ? 'common-langchain' : 'common'), targetSourceDir, templateContext, {
78
+ overwriteStrategy: OverwriteStrategy.KeepExisting
79
+ });
82
80
  if (framework === 'langchain') {
83
81
  // common-langchain only carries agent.py; the empty package __init__.py is
84
82
  // framework-agnostic, so emit it from the shared `common` dir.
85
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'common'), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
83
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'common'), targetSourceDir, templateContext, {
84
+ overwriteStrategy: OverwriteStrategy.KeepExisting
85
+ });
86
86
  }
87
87
  // Generate protocol-specific files. Each protocol's server entry point is
88
88
  // framework-specific (Strands yields a contextmanaged Agent; LangChain drives
@@ -90,70 +90,76 @@ const pyAgentGenerator = async (tree, options) => {
90
90
  // `<protocol>-langchain` for LangChain, or `<protocol>` for Strands.
91
91
  const protocolLower = protocol.toLowerCase();
92
92
  const protocolTemplateDir = framework === 'langchain' ? `${protocolLower}-langchain` : protocolLower;
93
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', protocolTemplateDir), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
93
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', protocolTemplateDir), targetSourceDir, templateContext, {
94
+ overwriteStrategy: OverwriteStrategy.KeepExisting
95
+ });
94
96
  // The HTTP server's init.py (the FastAPI app + JsonStreamingResponse) is
95
97
  // framework-agnostic and the LangChain http main.py reuses it, so emit it
96
98
  // from the shared `http` dir. Emitted after the langchain main.py above so
97
99
  // KeepExisting preserves that main.py and only adds init.py (the shared dir's
98
100
  // own Strands main.py is skipped).
99
101
  if (protocolLower === 'http' && framework === 'langchain') {
100
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'http'), targetSourceDir, templateContext, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
102
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'http'), targetSourceDir, templateContext, {
103
+ overwriteStrategy: OverwriteStrategy.KeepExisting
104
+ });
101
105
  }
102
- (0, py_1.addDependenciesToPyProjectToml)(tree, project.root, [
106
+ addDependenciesToPyProjectToml(tree, project.root, [
103
107
  'aws-lambda-powertools',
104
108
  'aws-opentelemetry-distro',
105
109
  'bedrock-agentcore',
106
110
  'boto3',
107
111
  'fastapi',
108
112
  'mcp',
109
- ...(framework === 'langchain'
110
- ? // langchain pulls no Strands dependencies the langchain model binding
111
- // (langchain, langchain-aws, langgraph) plus the per-protocol server
112
- // adapter: ag-ui-langgraph for AG-UI, a2a-sdk for A2A, nothing extra for
113
- // HTTP (FastAPI is added above for every agent).
114
- [
115
- 'langchain',
116
- 'langchain-aws',
117
- 'langgraph',
118
- ...(protocol === 'ag-ui'
119
- ? ['ag-ui-protocol', 'ag-ui-langgraph']
120
- : protocol === 'a2a'
121
- ? ['a2a-sdk']
122
- : []),
123
- ]
124
- : protocol === 'a2a'
125
- ? ['strands-agents[a2a]', 'strands-agents-tools']
126
- : protocol === 'ag-ui'
127
- ? [
128
- 'strands-agents',
129
- 'strands-agents-tools',
130
- 'ag-ui-protocol',
131
- 'ag-ui-strands',
132
- ]
133
- : ['strands-agents', 'strands-agents-tools']),
134
- 'uvicorn',
113
+ ...framework === 'langchain' ? // (langchain, langchain-aws, langgraph) plus the per-protocol server
114
+ // adapter: ag-ui-langgraph for AG-UI, a2a-sdk for A2A, nothing extra for
115
+ // HTTP (FastAPI is added above for every agent).
116
+ [
117
+ 'langchain',
118
+ 'langchain-aws',
119
+ 'langgraph',
120
+ ...protocol === 'ag-ui' ? [
121
+ 'ag-ui-protocol',
122
+ 'ag-ui-langgraph'
123
+ ] : protocol === 'a2a' ? [
124
+ 'a2a-sdk'
125
+ ] : []
126
+ ] : protocol === 'a2a' ? [
127
+ 'strands-agents[a2a]',
128
+ 'strands-agents-tools'
129
+ ] : protocol === 'ag-ui' ? [
130
+ 'strands-agents',
131
+ 'strands-agents-tools',
132
+ 'ag-ui-protocol',
133
+ 'ag-ui-strands'
134
+ ] : [
135
+ 'strands-agents',
136
+ 'strands-agents-tools'
137
+ ],
138
+ 'uvicorn'
135
139
  ]);
136
- (0, py_1.addDependenciesToDependencyGroupInPyProjectToml)(tree, project.root, 'dev', [
137
- 'fastapi[standard]',
140
+ addDependenciesToDependencyGroupInPyProjectToml(tree, project.root, 'dev', [
141
+ 'fastapi[standard]'
138
142
  ]);
139
143
  if (infra === 'agentcore') {
140
- const containers = await (0, containers_1.resolveContainers)(tree, 'inherit');
141
- const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
144
+ const containers = await resolveContainers(tree, 'inherit');
145
+ const dockerImageTag = `${getNpmScope(tree)}-${name}:latest`;
142
146
  // Add bundle target
143
- const { bundleTargetName, bundleOutputDir } = (0, bundle_1.addPythonBundleTarget)(project, {
144
- pythonPlatform: 'aarch64-manylinux_2_28',
147
+ const { bundleTargetName, bundleOutputDir } = addPythonBundleTarget(project, {
148
+ pythonPlatform: 'aarch64-manylinux_2_28'
145
149
  });
146
150
  // Add the Dockerfile
147
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'deploy'), targetSourceDir, {
151
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'deploy'), targetSourceDir, {
148
152
  agentNameSnakeCase,
149
153
  moduleName,
150
154
  bundleOutputDir,
151
- protocol,
152
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
153
- const dockerOutputDir = (0, devkit_1.joinPathFragments)('dist', project.root, 'docker', name);
155
+ protocol
156
+ }, {
157
+ overwriteStrategy: OverwriteStrategy.KeepExisting
158
+ });
159
+ const dockerOutputDir = joinPathFragments('dist', project.root, 'docker', name);
154
160
  const dockerTargetName = `${agentTargetPrefix}-docker`;
155
161
  // Add a docker target that prepares the docker context and builds the image
156
- const fs = new fs_1.FsCommands(tree);
162
+ const fs = new FsCommands(tree);
157
163
  project.targets[dockerTargetName] = {
158
164
  cache: true,
159
165
  executor: 'nx:run-commands',
@@ -163,21 +169,25 @@ const pyAgentGenerator = async (tree, options) => {
163
169
  fs.mkdir(dockerOutputDir),
164
170
  fs.cp(bundleOutputDir, dockerOutputDir),
165
171
  fs.cp(`${targetSourceDir}/Dockerfile`, `${dockerOutputDir}/Dockerfile`),
166
- `${containers} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
172
+ `${containers} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`
167
173
  ],
168
- parallel: false,
174
+ parallel: false
169
175
  },
170
- dependsOn: [bundleTargetName],
176
+ dependsOn: [
177
+ bundleTargetName
178
+ ]
171
179
  };
172
- (0, nx_1.addDependencyToTargetIfNotPresent)(project, 'docker', dockerTargetName);
173
- (0, nx_1.addDependencyToTargetIfNotPresent)(project, 'build', 'docker');
180
+ addDependencyToTargetIfNotPresent(project, 'docker', dockerTargetName);
181
+ addDependencyToTargetIfNotPresent(project, 'build', 'docker');
174
182
  // Add shared constructs
175
- const iac = await (0, iac_1.resolveIac)(tree, options.iac);
176
- await (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iac });
183
+ const iac = await resolveIac(tree, options.iac);
184
+ await sharedConstructsGenerator(tree, {
185
+ iac
186
+ });
177
187
  // Add the construct to deploy the agent.
178
188
  // AG-UI uses HTTP as the AgentCore protocol type (AG-UI is HTTP-based with SSE over POST).
179
189
  const infraProtocol = protocol === 'ag-ui' ? 'http' : protocol;
180
- await (0, agent_core_constructs_1.addAgentInfra)(tree, {
190
+ await addAgentInfra(tree, {
181
191
  agentNameKebabCase: name,
182
192
  agentNameClassName,
183
193
  dockerImageTag,
@@ -186,14 +196,17 @@ const pyAgentGenerator = async (tree, options) => {
186
196
  projectName: project.name,
187
197
  auth,
188
198
  serverProtocol: infraProtocol,
189
- containers,
199
+ containers
190
200
  });
191
201
  }
192
202
  // A2A servers use port 9000 as per the Strands A2A SDK default and AgentCore A2A contract.
193
203
  // HTTP and AG-UI agents use port 8081+ to avoid conflict with VS Code server on 8080.
194
204
  const localDevPortStart = protocol === 'a2a' ? 9000 : 8081;
195
- const localDevPort = (0, port_1.assignPort)(tree, project, localDevPortStart, {
196
- component: { info: exports.PY_AGENT_GENERATOR_INFO, name: agentTargetPrefix },
205
+ const localDevPort = assignPort(tree, project, localDevPortStart, {
206
+ component: {
207
+ info: PY_AGENT_GENERATOR_INFO,
208
+ name: agentTargetPrefix
209
+ }
197
210
  });
198
211
  // All protocols use fastapi dev for hot reload:
199
212
  // - HTTP: FastAPI app directly defined in init.py
@@ -206,146 +219,169 @@ const pyAgentGenerator = async (tree, options) => {
206
219
  // we can run `agent-chat-cli` directly as a binary.
207
220
  const openApiTargetName = `${agentTargetPrefix}-openapi`;
208
221
  const clientGenTargetName = `${agentTargetPrefix}-generate-client`;
209
- const scriptsDir = (0, devkit_1.joinPathFragments)(project.root, 'scripts', agentTargetPrefix);
222
+ const scriptsDir = joinPathFragments(project.root, 'scripts', agentTargetPrefix);
210
223
  if (protocol === 'http') {
211
224
  // Emit the OpenAPI spec generator script (shared with react-connection)
212
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'react-connection', 'files', 'agent'), project.root, {
225
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'react-connection', 'files', 'agent'), project.root, {
213
226
  moduleName,
214
- agentNameSnakeCase,
215
- }, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
227
+ agentNameSnakeCase
228
+ }, {
229
+ overwriteStrategy: OverwriteStrategy.KeepExisting
230
+ });
216
231
  // Ignore the generated client directory
217
- (0, git_1.updateGitIgnore)(tree, project.root, (patterns) => [
218
- ...patterns,
219
- `scripts/${agentTargetPrefix}/generated/`,
220
- ]);
232
+ updateGitIgnore(tree, project.root, (patterns)=>[
233
+ ...patterns,
234
+ `scripts/${agentTargetPrefix}/generated/`
235
+ ]);
221
236
  }
222
237
  // Every protocol gets a standalone `chat.ts`. It connects to the local
223
- // `serve-local` server by default, or to the deployed agent (with the
238
+ // `dev` server by default, or to the deployed agent (with the
224
239
  // appropriate auth) when `RUNTIME_CONFIG_APP_ID` is set.
225
- (0, agent_chat_1.addAgentChatScripts)(tree, {
240
+ addAgentChatScripts(tree, {
226
241
  scriptsDir,
227
242
  protocol,
228
243
  language: 'py',
229
244
  agentNameClassName,
230
- auth,
245
+ auth
231
246
  });
232
247
  // TypeScript deps for the chat CLI, which runs standalone via tsx for every
233
248
  // protocol and resolves the deployed agent from AppConfig. `agent-chat-cli`
234
249
  // transitively bundles the protocol clients (@a2a-js/sdk, @ag-ui/client).
235
- (0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)([
250
+ addDependenciesToPackageJson(tree, {}, withVersions([
236
251
  'agent-chat-cli',
237
252
  'tsx',
238
253
  '@types/node',
239
254
  '@aws-lambda-powertools/parameters',
240
255
  '@aws-sdk/client-appconfigdata',
241
- ...(auth === 'iam'
242
- ? ['aws4fetch', '@aws-sdk/credential-providers']
243
- : []),
244
- ...(protocol === 'a2a' ? ['@a2a-js/sdk'] : []),
256
+ ...auth === 'iam' ? [
257
+ 'aws4fetch',
258
+ '@aws-sdk/credential-providers'
259
+ ] : [],
260
+ ...protocol === 'a2a' ? [
261
+ '@a2a-js/sdk'
262
+ ] : []
245
263
  ]));
246
- const chatUrl = protocol === 'ag-ui'
247
- ? `http://localhost:${localDevPort}/invocations`
248
- : `http://localhost:${localDevPort}`;
264
+ const chatUrl = protocol === 'ag-ui' ? `http://localhost:${localDevPort}/invocations` : `http://localhost:${localDevPort}`;
249
265
  const chatCommand = `tsx ./scripts/${agentTargetPrefix}/chat.ts`;
250
- const httpOnlyTargets = protocol === 'http'
251
- ? {
252
- [openApiTargetName]: {
253
- cache: true,
254
- executor: 'nx:run-commands',
255
- outputs: [
256
- `{workspaceRoot}/dist/{projectRoot}/openapi/${agentNameSnakeCase}`,
266
+ const httpOnlyTargets = protocol === 'http' ? {
267
+ [openApiTargetName]: {
268
+ cache: true,
269
+ executor: 'nx:run-commands',
270
+ outputs: [
271
+ `{workspaceRoot}/dist/{projectRoot}/openapi/${agentNameSnakeCase}`
272
+ ],
273
+ options: {
274
+ commands: [
275
+ `uv run python {projectRoot}/scripts/${agentNameSnakeCase}_openapi.py "dist/{projectRoot}/openapi/${agentNameSnakeCase}/openapi.json"`
276
+ ]
277
+ }
278
+ },
279
+ [clientGenTargetName]: {
280
+ cache: true,
281
+ executor: 'nx:run-commands',
282
+ dependsOn: [
283
+ openApiTargetName
284
+ ],
285
+ inputs: [
286
+ {
287
+ dependentTasksOutputFiles: '**/*.json'
288
+ }
289
+ ],
290
+ outputs: [
291
+ `{projectRoot}/scripts/${agentTargetPrefix}/generated`
292
+ ],
293
+ options: {
294
+ commands: [
295
+ `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`
296
+ ]
297
+ }
298
+ }
299
+ } : {};
300
+ const agentTargets = {
301
+ ...project.targets,
302
+ ...httpOnlyTargets,
303
+ [`${agentTargetPrefix}-serve`]: {
304
+ executor: 'nx:run-commands',
305
+ continuous: true,
306
+ options: {
307
+ commands: [
308
+ serveCommand
257
309
  ],
258
- options: {
259
- commands: [
260
- `uv run python {projectRoot}/scripts/${agentNameSnakeCase}_openapi.py "dist/{projectRoot}/openapi/${agentNameSnakeCase}/openapi.json"`,
261
- ],
262
- },
263
- },
264
- [clientGenTargetName]: {
265
- cache: true,
266
- executor: 'nx:run-commands',
267
- inputs: [
268
- {
269
- dependentTasksOutputFiles: '**/*.json',
270
- },
310
+ cwd: '{projectRoot}',
311
+ env: {
312
+ PORT: `${localDevPort}`
313
+ }
314
+ }
315
+ },
316
+ [`${agentTargetPrefix}-dev`]: {
317
+ executor: 'nx:run-commands',
318
+ continuous: true,
319
+ options: {
320
+ commands: [
321
+ serveCommand
271
322
  ],
272
- outputs: [`{projectRoot}/scripts/${agentTargetPrefix}/generated`],
273
- options: {
274
- commands: [
275
- `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`,
276
- ],
277
- },
278
- dependsOn: [openApiTargetName],
323
+ cwd: '{projectRoot}',
324
+ env: {
325
+ PORT: `${localDevPort}`,
326
+ LOCAL_DEV: 'true'
327
+ }
328
+ }
329
+ },
330
+ // HTTP chat imports the generated client, so ensure it's built first.
331
+ // No dev dependency — chat runs standalone against a local or
332
+ // deployed agent. normalizeTargetKeyOrder keeps the conditional dependsOn
333
+ // in Nx 23's serialization order so re-runs stay byte-identical.
334
+ [`${agentTargetPrefix}-chat`]: normalizeTargetKeyOrder({
335
+ executor: 'nx:run-commands',
336
+ options: {
337
+ commands: [
338
+ chatCommand
339
+ ],
340
+ cwd: '{projectRoot}',
341
+ env: {
342
+ URL: chatUrl
343
+ }
279
344
  },
280
- }
281
- : {};
282
- (0, devkit_1.updateProjectConfiguration)(tree, project.name, {
345
+ ...protocol === 'http' ? {
346
+ dependsOn: [
347
+ clientGenTargetName
348
+ ]
349
+ } : {}
350
+ })
351
+ };
352
+ // Aggregate `<agent>-dev` under the project-level `dev` target.
353
+ addComponentDevTarget(agentTargets, `${agentTargetPrefix}-dev`);
354
+ updateProjectConfiguration(tree, project.name, {
283
355
  ...project,
284
- targets: (0, object_1.sortObjectKeys)({
285
- ...project.targets,
286
- ...httpOnlyTargets,
287
- [`${agentTargetPrefix}-serve`]: {
288
- executor: 'nx:run-commands',
289
- options: {
290
- commands: [serveCommand],
291
- cwd: '{projectRoot}',
292
- env: {
293
- PORT: `${localDevPort}`,
294
- },
295
- },
296
- continuous: true,
297
- },
298
- [`${agentTargetPrefix}-serve-local`]: {
299
- executor: 'nx:run-commands',
300
- options: {
301
- commands: [serveCommand],
302
- cwd: '{projectRoot}',
303
- env: {
304
- PORT: `${localDevPort}`,
305
- SERVE_LOCAL: 'true',
306
- },
307
- },
308
- continuous: true,
309
- },
310
- [`${agentTargetPrefix}-chat`]: {
311
- executor: 'nx:run-commands',
312
- options: {
313
- commands: [chatCommand],
314
- cwd: '{projectRoot}',
315
- env: {
316
- URL: chatUrl,
317
- },
318
- },
319
- // HTTP chat imports the generated client, so ensure it's built first.
320
- // No serve-local dependency — chat runs standalone against a local or
321
- // deployed agent.
322
- ...(protocol === 'http' ? { dependsOn: [clientGenTargetName] } : {}),
323
- },
324
- }),
356
+ targets: sortObjectKeys(agentTargets)
325
357
  });
326
- (0, nx_1.addComponentGeneratorMetadata)(tree, project.name, exports.PY_AGENT_GENERATOR_INFO, (0, paths_1.toProjectRelativePath)(project, targetSourceDir), agentTargetPrefix, {
358
+ addComponentGeneratorMetadata(tree, project.name, PY_AGENT_GENERATOR_INFO, toProjectRelativePath(project, targetSourceDir), agentTargetPrefix, {
327
359
  port: localDevPort,
328
360
  rc: agentNameClassName,
329
361
  auth,
330
362
  protocol,
331
363
  // The mcp / gateway connection generators dispatch on this field to pick
332
364
  // the Strands vs LangChain Layer-2 client + agent.py transform.
333
- framework,
365
+ framework
334
366
  });
335
- await (0, metrics_1.addGeneratorMetricsIfApplicable)(tree, [exports.PY_AGENT_GENERATOR_INFO]);
367
+ await addGeneratorMetricsIfApplicable(tree, [
368
+ PY_AGENT_GENERATOR_INFO
369
+ ]);
336
370
  // langchain-core (pulled by every langchain agent regardless of protocol)
337
371
  // brings jsonpatch/jsonpointer, whose wheels ship without resolvable SPDX
338
372
  // license metadata, so register those exceptions so the workspace license
339
373
  // check still passes.
340
374
  if (framework === 'langchain') {
341
- await (0, config_1.ensureLicenseExceptions)(tree, known_exceptions_1.AG_UI_LANGGRAPH_EXCEPTIONS);
375
+ await ensureLicenseExceptions(tree, AG_UI_LANGGRAPH_EXCEPTIONS);
342
376
  }
343
- await (0, format_1.formatFilesInSubtree)(tree);
344
- return async () => {
345
- (0, devkit_1.installPackagesTask)(tree);
346
- await new nxlv_python_1.UVProvider(tree.root, new nxlv_python_1.Logger(), tree).install();
347
- };
377
+ await formatFilesInSubtree(tree);
378
+ return ()=>installDependencies(tree, options.preferInstallDependencies, {
379
+ languages: [
380
+ 'typescript',
381
+ 'python'
382
+ ]
383
+ });
348
384
  };
349
- exports.pyAgentGenerator = pyAgentGenerator;
350
- exports.default = exports.pyAgentGenerator;
385
+ export default pyAgentGenerator;
386
+
351
387
  //# sourceMappingURL=generator.js.map