@aws/nx-plugin 1.0.0-rc.22 → 1.0.0-rc.24

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 (657) hide show
  1. package/LICENSE-THIRD-PARTY +2088 -971
  2. package/package.json +25 -10
  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 +3 -3
  7. package/src/agentcore-gateway/gateway-connection/generator.js +42 -45
  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/generator.js +89 -72
  12. package/src/agentcore-gateway/generator.js.map +1 -1
  13. package/src/agentcore-gateway/mcp-connection/generator.d.ts +2 -2
  14. package/src/agentcore-gateway/mcp-connection/generator.js +24 -30
  15. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  16. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  17. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  18. package/src/agentcore-gateway/schema.d.js +6 -0
  19. package/src/agentcore-gateway/schema.d.js.map +1 -0
  20. package/src/bin/aws-nx-mcp.js +14 -0
  21. package/src/bin/aws-nx-mcp.js.map +1 -0
  22. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
  23. package/src/connection/agent-local-dev.js +42 -0
  24. package/src/connection/agent-local-dev.js.map +1 -0
  25. package/src/connection/agent-runtime-config.js +9 -14
  26. package/src/connection/agent-runtime-config.js.map +1 -1
  27. package/src/connection/generator.js +262 -207
  28. package/src/connection/generator.js.map +1 -1
  29. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  30. package/src/connection/local-dev.js +37 -0
  31. package/src/connection/local-dev.js.map +1 -0
  32. package/src/connection/schema.d.js +6 -0
  33. package/src/connection/schema.d.js.map +1 -0
  34. package/src/index.js +2 -5
  35. package/src/index.js.map +1 -1
  36. package/src/infra/app/__snapshots__/generator.spec.ts.snap +4 -26
  37. package/src/infra/app/generator.js +133 -123
  38. package/src/infra/app/generator.js.map +1 -1
  39. package/src/infra/app/schema.d.js +6 -0
  40. package/src/infra/app/schema.d.js.map +1 -0
  41. package/src/license/config-types.js +5 -3
  42. package/src/license/config-types.js.map +1 -1
  43. package/src/license/config.d.ts +1 -1
  44. package/src/license/config.js +267 -242
  45. package/src/license/config.js.map +1 -1
  46. package/src/license/dependency-check/check.js +51 -46
  47. package/src/license/dependency-check/check.js.map +1 -1
  48. package/src/license/dependency-check/collectors/collector.js +41 -71
  49. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  50. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  51. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  52. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  53. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  54. package/src/license/dependency-check/evaluator.js +40 -68
  55. package/src/license/dependency-check/evaluator.js.map +1 -1
  56. package/src/license/dependency-check/executor.js +30 -22
  57. package/src/license/dependency-check/executor.js.map +1 -1
  58. package/src/license/dependency-check/pre-approved.js +949 -336
  59. package/src/license/dependency-check/pre-approved.js.map +1 -1
  60. package/src/license/dependency-check/types.js +2 -3
  61. package/src/license/dependency-check/types.js.map +1 -1
  62. package/src/license/generator.js +55 -60
  63. package/src/license/generator.js.map +1 -1
  64. package/src/license/index.js +3 -9
  65. package/src/license/index.js.map +1 -1
  66. package/src/license/known-exceptions.js +14 -13
  67. package/src/license/known-exceptions.js.map +1 -1
  68. package/src/license/schema.d.js +6 -0
  69. package/src/license/schema.d.js.map +1 -0
  70. package/src/license/sync/generator.js +94 -119
  71. package/src/license/sync/generator.js.map +1 -1
  72. package/src/license/sync/project-file-sync.js +28 -35
  73. package/src/license/sync/project-file-sync.js.map +1 -1
  74. package/src/mcp-server/generator-info.js +130 -160
  75. package/src/mcp-server/generator-info.js.map +1 -1
  76. package/src/mcp-server/guide-pipeline.js +184 -206
  77. package/src/mcp-server/guide-pipeline.js.map +1 -1
  78. package/src/mcp-server/guide-render.js +10 -25
  79. package/src/mcp-server/guide-render.js.map +1 -1
  80. package/src/mcp-server/index.js +6 -10
  81. package/src/mcp-server/index.js.map +1 -1
  82. package/src/mcp-server/mdx-ast.js +39 -57
  83. package/src/mcp-server/mdx-ast.js.map +1 -1
  84. package/src/mcp-server/option-filter.js +33 -47
  85. package/src/mcp-server/option-filter.js.map +1 -1
  86. package/src/mcp-server/schema-registry.js +27 -40
  87. package/src/mcp-server/schema-registry.js.map +1 -1
  88. package/src/mcp-server/schema.js +9 -7
  89. package/src/mcp-server/schema.js.map +1 -1
  90. package/src/mcp-server/server.js +20 -24
  91. package/src/mcp-server/server.js.map +1 -1
  92. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  93. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  94. package/src/mcp-server/tools/general-guidance.js +28 -25
  95. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  96. package/src/mcp-server/tools/generator-guide.js +29 -37
  97. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  98. package/src/mcp-server/tools/list-generators.js +19 -25
  99. package/src/mcp-server/tools/list-generators.js.map +1 -1
  100. package/src/open-api/ts-client/generator.js +16 -26
  101. package/src/open-api/ts-client/generator.js.map +1 -1
  102. package/src/open-api/ts-client/schema.d.js +6 -0
  103. package/src/open-api/ts-client/schema.d.js.map +1 -0
  104. package/src/open-api/ts-hooks/generator.js +13 -21
  105. package/src/open-api/ts-hooks/generator.js.map +1 -1
  106. package/src/open-api/ts-hooks/schema.d.js +6 -0
  107. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  108. package/src/open-api/ts-metadata/generator.js +12 -20
  109. package/src/open-api/ts-metadata/generator.js.map +1 -1
  110. package/src/open-api/ts-metadata/schema.d.js +6 -0
  111. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  112. package/src/open-api/utils/codegen-data/languages.js +42 -60
  113. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  114. package/src/open-api/utils/codegen-data/types.js +31 -30
  115. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  116. package/src/open-api/utils/codegen-data.js +253 -269
  117. package/src/open-api/utils/codegen-data.js.map +1 -1
  118. package/src/open-api/utils/normalise.js +242 -241
  119. package/src/open-api/utils/normalise.js.map +1 -1
  120. package/src/open-api/utils/parse.js +8 -14
  121. package/src/open-api/utils/parse.js.map +1 -1
  122. package/src/open-api/utils/refs.js +12 -22
  123. package/src/open-api/utils/refs.js.map +1 -1
  124. package/src/open-api/utils/types.js +5 -2
  125. package/src/open-api/utils/types.js.map +1 -1
  126. package/src/preset/__snapshots__/generator.spec.ts.snap +31 -6
  127. package/src/preset/generator.d.ts +1 -1
  128. package/src/preset/generator.js +130 -112
  129. package/src/preset/generator.js.map +1 -1
  130. package/src/preset/schema.d.js +6 -0
  131. package/src/preset/schema.d.js.map +1 -0
  132. package/src/preset/schema.d.ts +0 -1
  133. package/src/preset/schema.json +0 -5
  134. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  135. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +18 -845
  136. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
  137. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
  138. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
  139. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
  140. package/src/py/agent/a2a-connection/generator.js +70 -75
  141. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  142. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  143. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  144. package/src/py/agent/files/ag-ui-langchain/main.py.template +10 -0
  145. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
  146. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
  147. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
  148. package/src/py/agent/gateway-connection/generator.js +61 -58
  149. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  150. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  151. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  152. package/src/py/agent/generator.js +227 -194
  153. package/src/py/agent/generator.js.map +1 -1
  154. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
  155. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
  156. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
  157. package/src/py/agent/mcp-connection/generator.js +53 -52
  158. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  159. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  160. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  161. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
  162. package/src/py/agent/react-connection/generator.js +51 -58
  163. package/src/py/agent/react-connection/generator.js.map +1 -1
  164. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  165. package/src/py/agent/react-connection/local-dev.js +36 -0
  166. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  167. package/src/py/agent/react-connection/schema.d.js +8 -0
  168. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  169. package/src/py/agent/schema.d.js +6 -0
  170. package/src/py/agent/schema.d.js.map +1 -0
  171. package/src/py/api/generator.js +12 -12
  172. package/src/py/api/generator.js.map +1 -1
  173. package/src/py/api/schema.d.js +6 -0
  174. package/src/py/api/schema.d.js.map +1 -0
  175. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
  176. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  177. package/src/py/dynamodb/agent-connection/generator.js +27 -29
  178. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  179. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  180. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  181. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
  182. package/src/py/dynamodb/fast-api-connection/generator.js +26 -28
  183. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  184. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  185. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  186. package/src/py/dynamodb/files/__name__/client.py.template +5 -5
  187. package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
  188. package/src/py/dynamodb/files/config.json.template +1 -1
  189. package/src/py/dynamodb/generator.js +63 -62
  190. package/src/py/dynamodb/generator.js.map +1 -1
  191. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  192. package/src/py/dynamodb/mcp-server-connection/generator.js +27 -29
  193. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  194. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  195. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  196. package/src/py/dynamodb/schema.d.js +6 -0
  197. package/src/py/dynamodb/schema.d.js.map +1 -0
  198. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
  199. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  200. package/src/py/fast-api/generator.js +79 -85
  201. package/src/py/fast-api/generator.js.map +1 -1
  202. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
  203. package/src/py/fast-api/react/generator.js +22 -24
  204. package/src/py/fast-api/react/generator.js.map +1 -1
  205. package/src/py/fast-api/react/open-api.js +28 -29
  206. package/src/py/fast-api/react/open-api.js.map +1 -1
  207. package/src/py/fast-api/react/schema.d.js +6 -0
  208. package/src/py/fast-api/react/schema.d.js.map +1 -0
  209. package/src/py/fast-api/schema.d.js +6 -0
  210. package/src/py/fast-api/schema.d.js.map +1 -0
  211. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  212. package/src/py/lambda-function/generator.js +57 -58
  213. package/src/py/lambda-function/generator.js.map +1 -1
  214. package/src/py/lambda-function/schema.d.js +6 -0
  215. package/src/py/lambda-function/schema.d.js.map +1 -0
  216. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  217. package/src/py/mcp-server/generator.js +149 -131
  218. package/src/py/mcp-server/generator.js.map +1 -1
  219. package/src/py/mcp-server/schema.d.js +6 -0
  220. package/src/py/mcp-server/schema.d.js.map +1 -0
  221. package/src/py/project/generator.d.ts +14 -1
  222. package/src/py/project/generator.js +137 -88
  223. package/src/py/project/generator.js.map +1 -1
  224. package/src/py/project/schema.d.js +6 -0
  225. package/src/py/project/schema.d.js.map +1 -0
  226. package/src/sdk/agentcore-gateway.d.ts +6 -0
  227. package/src/sdk/agentcore-gateway.js +7 -0
  228. package/src/sdk/agentcore-gateway.js.map +1 -0
  229. package/src/sdk/connection.d.ts +6 -0
  230. package/src/sdk/connection.js +6 -0
  231. package/src/sdk/connection.js.map +1 -0
  232. package/{sdk → src/sdk}/license.d.ts +4 -4
  233. package/src/sdk/license.js +7 -0
  234. package/src/sdk/license.js.map +1 -0
  235. package/src/sdk/open-api.d.ts +10 -0
  236. package/src/sdk/open-api.js +8 -0
  237. package/src/sdk/open-api.js.map +1 -0
  238. package/src/sdk/py.d.ts +14 -0
  239. package/src/sdk/py.js +10 -0
  240. package/src/sdk/py.js.map +1 -0
  241. package/src/sdk/terraform.d.ts +6 -0
  242. package/src/sdk/terraform.js +7 -0
  243. package/src/sdk/terraform.js.map +1 -0
  244. package/src/sdk/ts.d.ts +33 -0
  245. package/src/sdk/ts.js +35 -0
  246. package/src/sdk/ts.js.map +1 -0
  247. package/{sdk → src/sdk}/utils/ast.d.ts +2 -2
  248. package/src/sdk/utils/ast.js +7 -0
  249. package/src/sdk/utils/ast.js.map +1 -0
  250. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  251. package/src/sdk/utils/format.js +6 -0
  252. package/src/sdk/utils/format.js.map +1 -0
  253. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  254. package/src/sdk/utils/test.js +6 -0
  255. package/src/sdk/utils/test.js.map +1 -0
  256. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
  257. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  258. package/src/smithy/project/generator.js +44 -42
  259. package/src/smithy/project/generator.js.map +1 -1
  260. package/src/smithy/project/schema.d.js +6 -0
  261. package/src/smithy/project/schema.d.js.map +1 -0
  262. package/src/smithy/react-connection/generator.js +35 -46
  263. package/src/smithy/react-connection/generator.js.map +1 -1
  264. package/src/smithy/react-connection/schema.d.js +6 -0
  265. package/src/smithy/react-connection/schema.d.js.map +1 -0
  266. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
  267. package/src/smithy/ts/api/generator.js +121 -111
  268. package/src/smithy/ts/api/generator.js.map +1 -1
  269. package/src/smithy/ts/api/schema.d.js +6 -0
  270. package/src/smithy/ts/api/schema.d.js.map +1 -0
  271. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  272. package/src/terraform/project/generator.js +141 -103
  273. package/src/terraform/project/generator.js.map +1 -1
  274. package/src/terraform/project/schema.d.js +9 -0
  275. package/src/terraform/project/schema.d.js.map +1 -0
  276. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
  277. package/src/trpc/backend/generator.js +93 -86
  278. package/src/trpc/backend/generator.js.map +1 -1
  279. package/src/trpc/backend/schema.d.js +6 -0
  280. package/src/trpc/backend/schema.d.js.map +1 -0
  281. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  282. package/src/trpc/react/generator.js +59 -58
  283. package/src/trpc/react/generator.js.map +1 -1
  284. package/src/trpc/react/schema.d.js +6 -0
  285. package/src/trpc/react/schema.d.js.map +1 -0
  286. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
  287. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
  288. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
  289. package/src/ts/agent/a2a-connection/generator.js +58 -54
  290. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  291. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  292. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  293. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
  294. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
  295. package/src/ts/agent/gateway-connection/generator.js +57 -52
  296. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  297. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  298. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  299. package/src/ts/agent/generator.js +165 -136
  300. package/src/ts/agent/generator.js.map +1 -1
  301. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  302. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
  303. package/src/ts/agent/mcp-connection/generator.js +48 -46
  304. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  305. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  306. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  307. package/src/ts/agent/react-connection/generator.js +79 -79
  308. package/src/ts/agent/react-connection/generator.js.map +1 -1
  309. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  310. package/src/ts/agent/react-connection/local-dev.js +17 -0
  311. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  312. package/src/ts/agent/react-connection/schema.d.js +8 -0
  313. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  314. package/src/ts/agent/schema.d.js +6 -0
  315. package/src/ts/agent/schema.d.js.map +1 -0
  316. package/src/ts/api/generator.js +16 -18
  317. package/src/ts/api/generator.js.map +1 -1
  318. package/src/ts/api/schema.d.js +6 -0
  319. package/src/ts/api/schema.d.js.map +1 -0
  320. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
  321. package/src/ts/astro-docs/generator.js +59 -48
  322. package/src/ts/astro-docs/generator.js.map +1 -1
  323. package/src/ts/astro-docs/schema.d.js +6 -0
  324. package/src/ts/astro-docs/schema.d.js.map +1 -0
  325. package/src/ts/docs/generator.js +10 -10
  326. package/src/ts/docs/generator.js.map +1 -1
  327. package/src/ts/docs/schema.d.js +6 -0
  328. package/src/ts/docs/schema.d.js.map +1 -0
  329. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
  330. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  331. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  332. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  333. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  334. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  335. package/src/ts/dynamodb/files/config.json.template +1 -1
  336. package/src/ts/dynamodb/files/src/client.ts.template +7 -7
  337. package/src/ts/dynamodb/generator.js +64 -63
  338. package/src/ts/dynamodb/generator.js.map +1 -1
  339. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  340. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  341. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  342. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  343. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  344. package/src/ts/dynamodb/schema.d.js +6 -0
  345. package/src/ts/dynamodb/schema.d.js.map +1 -0
  346. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  347. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  348. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  349. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  350. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  351. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  352. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  353. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  354. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  355. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  356. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  357. package/src/ts/lambda-function/generator.js +55 -55
  358. package/src/ts/lambda-function/generator.js.map +1 -1
  359. package/src/ts/lambda-function/io.js +83 -52
  360. package/src/ts/lambda-function/io.js.map +1 -1
  361. package/src/ts/lambda-function/schema.d.js +6 -0
  362. package/src/ts/lambda-function/schema.d.js.map +1 -0
  363. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
  364. package/src/ts/lib/biome.js +37 -37
  365. package/src/ts/lib/biome.js.map +1 -1
  366. package/src/ts/lib/generator.js +75 -77
  367. package/src/ts/lib/generator.js.map +1 -1
  368. package/src/ts/lib/schema.d.js +6 -0
  369. package/src/ts/lib/schema.d.js.map +1 -0
  370. package/src/ts/lib/ts-project-utils.js +65 -70
  371. package/src/ts/lib/ts-project-utils.js.map +1 -1
  372. package/src/ts/lib/types.js +5 -2
  373. package/src/ts/lib/types.js.map +1 -1
  374. package/src/ts/lib/vitest.js +29 -26
  375. package/src/ts/lib/vitest.js.map +1 -1
  376. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  377. package/src/ts/mcp-server/generator.js +157 -138
  378. package/src/ts/mcp-server/generator.js.map +1 -1
  379. package/src/ts/mcp-server/schema.d.js +6 -0
  380. package/src/ts/mcp-server/schema.d.js.map +1 -0
  381. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +14 -9
  382. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  383. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +4 -4
  384. package/src/ts/nx-generator/generator.js +84 -83
  385. package/src/ts/nx-generator/generator.js.map +1 -1
  386. package/src/ts/nx-generator/schema.d.js +6 -0
  387. package/src/ts/nx-generator/schema.d.js.map +1 -0
  388. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  389. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  390. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  391. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  392. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  393. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  394. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  395. package/src/ts/nx-plugin/generator.js +49 -48
  396. package/src/ts/nx-plugin/generator.js.map +1 -1
  397. package/src/ts/nx-plugin/schema.d.js +9 -0
  398. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  399. package/src/ts/nx-plugin/utils.js +32 -44
  400. package/src/ts/nx-plugin/utils.js.map +1 -1
  401. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +34 -30
  402. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  403. package/src/ts/rdb/agent-connection/generator.js +38 -39
  404. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  405. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  406. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  407. package/src/ts/rdb/files/config.json.template +1 -1
  408. package/src/ts/rdb/files/prisma.config.ts.template +2 -2
  409. package/src/ts/rdb/files/src/prisma.ts.template +7 -7
  410. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  411. package/src/ts/rdb/generator.js +130 -117
  412. package/src/ts/rdb/generator.js.map +1 -1
  413. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  414. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  415. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  416. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  417. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  418. package/src/ts/rdb/schema.d.js +6 -0
  419. package/src/ts/rdb/schema.d.js.map +1 -0
  420. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  421. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  422. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  423. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  424. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  425. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  426. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  427. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  428. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  429. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  430. package/src/ts/rdb/utils.js +9 -11
  431. package/src/ts/rdb/utils.js.map +1 -1
  432. package/src/ts/react-website/agui/generator.js +69 -61
  433. package/src/ts/react-website/agui/generator.js.map +1 -1
  434. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +179 -332
  435. package/src/ts/react-website/app/generator.js +197 -188
  436. package/src/ts/react-website/app/generator.js.map +1 -1
  437. package/src/ts/react-website/app/schema.d.js +6 -0
  438. package/src/ts/react-website/app/schema.d.js.map +1 -0
  439. package/src/ts/react-website/app/schema.json +6 -6
  440. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
  441. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +27 -7
  442. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  443. package/src/ts/react-website/cognito-auth/generator.js +60 -60
  444. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  445. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  446. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  447. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  448. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  449. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  450. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  451. package/src/ts/react-website/runtime-config/generator.js +29 -31
  452. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  453. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  454. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  455. package/src/ts/sync/generator.js +60 -59
  456. package/src/ts/sync/generator.js.map +1 -1
  457. package/src/ts/website/app/generator.js +10 -10
  458. package/src/ts/website/app/generator.js.map +1 -1
  459. package/src/ts/website/app/schema.d.js +6 -0
  460. package/src/ts/website/app/schema.d.js.map +1 -0
  461. package/src/ts/website/app/schema.json +6 -6
  462. package/src/ts/website/auth/generator.js +11 -11
  463. package/src/ts/website/auth/generator.js.map +1 -1
  464. package/src/ts/website/auth/schema.d.js +6 -0
  465. package/src/ts/website/auth/schema.d.js.map +1 -0
  466. package/src/utils/agent-chat/agent-chat.d.ts +1 -1
  467. package/src/utils/agent-chat/agent-chat.js +11 -12
  468. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  469. package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
  470. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
  471. package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
  472. package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
  473. package/src/utils/agent-connection/agent-connection.d.ts +9 -3
  474. package/src/utils/agent-connection/agent-connection.js +133 -147
  475. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  476. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
  477. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
  478. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
  479. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
  480. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
  481. package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
  482. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  483. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  484. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  485. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
  486. package/src/utils/api-constructs/api-constructs.js +30 -31
  487. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  488. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
  489. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  490. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  491. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
  492. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  493. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
  494. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  495. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  496. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  497. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  498. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  499. package/src/utils/ast/website.js +17 -19
  500. package/src/utils/ast/website.js.map +1 -1
  501. package/src/utils/ast.js +72 -97
  502. package/src/utils/ast.js.map +1 -1
  503. package/src/utils/bundle/bundle.js +50 -47
  504. package/src/utils/bundle/bundle.js.map +1 -1
  505. package/src/utils/commands.js +47 -26
  506. package/src/utils/commands.js.map +1 -1
  507. package/src/utils/config/index.d.ts +2 -2
  508. package/src/utils/config/index.js +5 -4
  509. package/src/utils/config/index.js.map +1 -1
  510. package/src/utils/config/utils.js +48 -58
  511. package/src/utils/config/utils.js.map +1 -1
  512. package/src/utils/connection/open-api/react.d.ts +5 -5
  513. package/src/utils/connection/open-api/react.js +81 -77
  514. package/src/utils/connection/open-api/react.js.map +1 -1
  515. package/src/utils/containers.js +22 -23
  516. package/src/utils/containers.js.map +1 -1
  517. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
  518. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  519. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
  520. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  521. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
  522. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
  523. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
  524. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  525. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  526. package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
  527. package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
  528. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  529. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  530. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
  531. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  532. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
  533. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  534. package/src/utils/format.js +153 -99
  535. package/src/utils/format.js.map +1 -1
  536. package/src/utils/fs.js +14 -13
  537. package/src/utils/fs.js.map +1 -1
  538. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  539. package/src/utils/function-constructs/function-constructs.js +21 -26
  540. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  541. package/src/utils/generators.js +18 -20
  542. package/src/utils/generators.js.map +1 -1
  543. package/src/utils/git.js +19 -34
  544. package/src/utils/git.js.map +1 -1
  545. package/src/utils/iac-providers.js +5 -5
  546. package/src/utils/iac-providers.js.map +1 -1
  547. package/src/utils/iac.js +12 -14
  548. package/src/utils/iac.js.map +1 -1
  549. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
  550. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +19 -6
  551. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
  552. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  553. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  554. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  555. package/src/utils/js.js +27 -20
  556. package/src/utils/js.js.map +1 -1
  557. package/src/utils/mcp.js +34 -41
  558. package/src/utils/mcp.js.map +1 -1
  559. package/src/utils/metrics.js +30 -45
  560. package/src/utils/metrics.js.map +1 -1
  561. package/src/utils/mock-project-graph.js +8 -12
  562. package/src/utils/mock-project-graph.js.map +1 -1
  563. package/src/utils/names.d.ts +16 -0
  564. package/src/utils/names.js +39 -48
  565. package/src/utils/names.js.map +1 -1
  566. package/src/utils/npm-scope.js +9 -17
  567. package/src/utils/npm-scope.js.map +1 -1
  568. package/src/utils/nx.d.ts +18 -2
  569. package/src/utils/nx.js +111 -74
  570. package/src/utils/nx.js.map +1 -1
  571. package/src/utils/nxlv-python.js +27 -15
  572. package/src/utils/nxlv-python.js.map +1 -1
  573. package/src/utils/object.js +5 -11
  574. package/src/utils/object.js.map +1 -1
  575. package/src/utils/paths.js +11 -15
  576. package/src/utils/paths.js.map +1 -1
  577. package/src/utils/pkg-manager.js +4 -9
  578. package/src/utils/pkg-manager.js.map +1 -1
  579. package/src/utils/pnpm-workspace.js +22 -22
  580. package/src/utils/pnpm-workspace.js.map +1 -1
  581. package/src/utils/port.js +26 -36
  582. package/src/utils/port.js.map +1 -1
  583. package/src/utils/py.d.ts +14 -1
  584. package/src/utils/py.js +63 -45
  585. package/src/utils/py.js.map +1 -1
  586. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  587. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
  588. package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
  589. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  590. package/src/utils/shared-constructs-constants.js +16 -16
  591. package/src/utils/shared-constructs-constants.js.map +1 -1
  592. package/src/utils/shared-constructs.js +57 -54
  593. package/src/utils/shared-constructs.js.map +1 -1
  594. package/src/utils/shared-dynamodb-scripts.js +16 -14
  595. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  596. package/src/utils/shared-infra-config.js +30 -31
  597. package/src/utils/shared-infra-config.js.map +1 -1
  598. package/src/utils/shared-infra-scripts.js +30 -25
  599. package/src/utils/shared-infra-scripts.js.map +1 -1
  600. package/src/utils/shared-rdb-scripts.d.ts +8 -3
  601. package/src/utils/shared-rdb-scripts.js +21 -13
  602. package/src/utils/shared-rdb-scripts.js.map +1 -1
  603. package/src/utils/shared-scripts.js +12 -17
  604. package/src/utils/shared-scripts.js.map +1 -1
  605. package/src/utils/shared-shadcn.js +64 -60
  606. package/src/utils/shared-shadcn.js.map +1 -1
  607. package/src/utils/test.d.ts +8 -0
  608. package/src/utils/test.js +33 -25
  609. package/src/utils/test.js.map +1 -1
  610. package/src/utils/toml.js +7 -15
  611. package/src/utils/toml.js.map +1 -1
  612. package/src/utils/versions.d.ts +31 -4
  613. package/src/utils/versions.js +40 -23
  614. package/src/utils/versions.js.map +1 -1
  615. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  616. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
  617. package/src/utils/website-constructs/website-constructs.js +31 -30
  618. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  619. package/bin/aws-nx-mcp.js +0 -17
  620. package/bin/aws-nx-mcp.js.map +0 -1
  621. package/sdk/agentcore-gateway.d.ts +0 -6
  622. package/sdk/agentcore-gateway.js +0 -11
  623. package/sdk/agentcore-gateway.js.map +0 -1
  624. package/sdk/connection.d.ts +0 -6
  625. package/sdk/connection.js +0 -10
  626. package/sdk/connection.js.map +0 -1
  627. package/sdk/license.js +0 -14
  628. package/sdk/license.js.map +0 -1
  629. package/sdk/open-api.d.ts +0 -10
  630. package/sdk/open-api.js +0 -15
  631. package/sdk/open-api.js.map +0 -1
  632. package/sdk/py.d.ts +0 -14
  633. package/sdk/py.js +0 -18
  634. package/sdk/py.js.map +0 -1
  635. package/sdk/terraform.d.ts +0 -6
  636. package/sdk/terraform.js +0 -11
  637. package/sdk/terraform.js.map +0 -1
  638. package/sdk/ts.d.ts +0 -33
  639. package/sdk/ts.js +0 -53
  640. package/sdk/ts.js.map +0 -1
  641. package/sdk/utils/ast.js +0 -12
  642. package/sdk/utils/ast.js.map +0 -1
  643. package/sdk/utils/format.js +0 -10
  644. package/sdk/utils/format.js.map +0 -1
  645. package/sdk/utils/test.js +0 -10
  646. package/sdk/utils/test.js.map +0 -1
  647. package/src/connection/agent-serve-local.js +0 -48
  648. package/src/connection/agent-serve-local.js.map +0 -1
  649. package/src/connection/serve-local.js +0 -41
  650. package/src/connection/serve-local.js.map +0 -1
  651. package/src/py/agent/react-connection/serve-local.js +0 -38
  652. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  653. package/src/ts/agent/react-connection/serve-local.js +0 -19
  654. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  655. package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
  656. /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
  657. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
@@ -1,87 +1,70 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PY_MCP_FAMILY_CONNECTIONS = exports.PY_CLIENT_NAMING = exports.AGENT_CONNECTION_PROJECT_DIR = void 0;
4
- exports.getPythonAgentConnectionProjectDir = getPythonAgentConnectionProjectDir;
5
- exports.getPythonAgentConnectionModuleName = getPythonAgentConnectionModuleName;
6
- exports.getPythonAgentConnectionPackageName = getPythonAgentConnectionPackageName;
7
- exports.resolveAgentFramework = resolveAgentFramework;
8
- exports.ensureTypeScriptAgentConnectionProject = ensureTypeScriptAgentConnectionProject;
9
- exports.addTypeScriptFrameworkBase = addTypeScriptFrameworkBase;
10
- exports.addTypeScriptCoreClient = addTypeScriptCoreClient;
11
- exports.ensurePythonAgentConnectionProject = ensurePythonAgentConnectionProject;
12
- exports.addPythonFrameworkBase = addPythonFrameworkBase;
13
- exports.addPythonCoreClient = addPythonCoreClient;
14
- exports.addTypeScriptClientToAgent = addTypeScriptClientToAgent;
15
- exports.addPythonReExport = addPythonReExport;
16
- const tslib_1 = require("tslib");
17
1
  /**
18
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
19
3
  * SPDX-License-Identifier: Apache-2.0
20
- */
21
- const devkit_1 = require("@nx/devkit");
22
- const generator_1 = tslib_1.__importStar(require("../../py/project/generator"));
23
- const generator_2 = tslib_1.__importDefault(require("../../ts/lib/generator"));
24
- const ast_1 = require("../ast");
25
- const py_1 = require("../py");
26
- /** Prefix a GritQL pattern with `language python` */
27
- const py = (pattern) => `language python\n${pattern}`;
4
+ */ import { generateFiles, joinPathFragments, OverwriteStrategy } from "@nx/devkit";
5
+ import pyProjectGenerator, { getPyProjectDetails } from "../../py/project/generator.js";
6
+ import tsProjectGenerator from "../../ts/lib/generator.js";
7
+ import { addStarExport, applyGritQL, matchGritQL } from "../ast.js";
8
+ import { addDependenciesToPyProjectToml } from "../py.js";
9
+ /** Prefix a GritQL pattern with `language python` */ const py = (pattern)=>`language python\n${pattern}`;
28
10
  const AGENT_CONNECTION_DIR = 'agent-connection';
29
11
  const PACKAGES_DIR = 'packages';
30
12
  const COMMON_DIR = 'common';
31
- exports.AGENT_CONNECTION_PROJECT_DIR = (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR, AGENT_CONNECTION_DIR);
13
+ export const AGENT_CONNECTION_PROJECT_DIR = joinPathFragments(PACKAGES_DIR, COMMON_DIR, AGENT_CONNECTION_DIR);
32
14
  const PY_AGENT_CONNECTION_NAME = 'agent_connection';
33
15
  /**
34
16
  * Get the directory of the shared Python agent-connection project.
35
- */
36
- function getPythonAgentConnectionProjectDir(tree) {
37
- const { dir } = (0, generator_1.getPyProjectDetails)(tree, {
17
+ */ export function getPythonAgentConnectionProjectDir(tree) {
18
+ const { dir } = getPyProjectDetails(tree, {
38
19
  name: PY_AGENT_CONNECTION_NAME,
39
- directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
20
+ directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
40
21
  });
41
22
  return dir;
42
23
  }
43
24
  /**
44
25
  * Get the Python module name of the shared agent-connection project.
45
- */
46
- function getPythonAgentConnectionModuleName(tree) {
47
- const { normalizedModuleName } = (0, generator_1.getPyProjectDetails)(tree, {
26
+ */ export function getPythonAgentConnectionModuleName(tree) {
27
+ const { normalizedModuleName } = getPyProjectDetails(tree, {
48
28
  name: PY_AGENT_CONNECTION_NAME,
49
- directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
29
+ directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
50
30
  });
51
31
  return normalizedModuleName;
52
32
  }
53
33
  /**
54
- * Get the fully qualified Python package name of the shared agent-connection project.
55
- */
56
- function getPythonAgentConnectionPackageName(tree) {
57
- const { fullyQualifiedName } = (0, generator_1.getPyProjectDetails)(tree, {
34
+ * Get the shared agent-connection project as `{ name, root }`, suitable for
35
+ * passing to {@link addWorkspaceDependencyToPyProject} (which derives the
36
+ * dependency's PEP 503 distribution name from the project itself, so callers
37
+ * never construct the name).
38
+ */ export function getPythonAgentConnectionProject(tree) {
39
+ const { fullyQualifiedName, dir } = getPyProjectDetails(tree, {
58
40
  name: PY_AGENT_CONNECTION_NAME,
59
- directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
41
+ directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
60
42
  });
61
- return fullyQualifiedName;
43
+ return {
44
+ name: fullyQualifiedName,
45
+ root: dir
46
+ };
62
47
  }
63
48
  /**
64
49
  * Resolve an agent component's framework, defaulting to `strands`. Connection
65
50
  * generators dispatch on the returned framework to pick the matching templates
66
51
  * and agent.py/agent.ts transforms.
67
- */
68
- function resolveAgentFramework(framework) {
52
+ */ export function resolveAgentFramework(framework) {
69
53
  return framework === 'langchain' ? 'langchain' : 'strands';
70
54
  }
71
55
  /**
72
56
  * Framework-agnostic Layer-1 templates, keyed by protocol. These resolve the
73
57
  * endpoint and build the signed transport/client-config; they contain no
74
58
  * framework dependency.
75
- */
76
- const TS_PROTOCOL_TEMPLATES = {
59
+ */ const TS_PROTOCOL_TEMPLATES = {
77
60
  mcp: 'core-mcp',
78
61
  gateway: 'core-gateway',
79
- a2a: 'core-a2a',
62
+ a2a: 'core-a2a'
80
63
  };
81
64
  const PY_PROTOCOL_TEMPLATES = {
82
65
  mcp: 'py-core-mcp',
83
66
  gateway: 'py-core-gateway',
84
- a2a: 'py-core-a2a',
67
+ a2a: 'py-core-a2a'
85
68
  };
86
69
  const FRAMEWORKS = {
87
70
  strands: {
@@ -90,39 +73,41 @@ const FRAMEWORKS = {
90
73
  baseReExports: [
91
74
  {
92
75
  fromModule: './core/with-session-id-strands.js',
93
- importName: '*',
76
+ importName: '*'
94
77
  },
95
78
  {
96
79
  fromModule: './core/model-errors-strands.js',
97
- importName: '*',
98
- },
80
+ importName: '*'
81
+ }
99
82
  ],
100
83
  protocols: {
101
84
  mcp: 'core-strands/mcp',
102
85
  gateway: 'core-strands/gateway',
103
- a2a: 'core-strands/a2a',
86
+ a2a: 'core-strands/a2a'
104
87
  },
105
- deps: [],
88
+ deps: []
106
89
  },
107
90
  py: {
108
91
  base: 'py-core-strands/base',
109
92
  baseReExports: [
110
93
  {
111
94
  fromModule: '.core.with_session_id_strands',
112
- importName: 'with_session_id',
95
+ importName: 'with_session_id'
113
96
  },
114
97
  {
115
98
  fromModule: '.core.model_errors_strands',
116
- importName: 'log_model_errors',
117
- },
99
+ importName: 'log_model_errors'
100
+ }
118
101
  ],
119
102
  protocols: {
120
103
  mcp: 'py-core-strands/mcp',
121
104
  gateway: 'py-core-strands/gateway',
122
- a2a: 'py-core-strands/a2a',
105
+ a2a: 'py-core-strands/a2a'
123
106
  },
124
- deps: ['strands-agents'],
125
- },
107
+ deps: [
108
+ 'strands-agents'
109
+ ]
110
+ }
126
111
  },
127
112
  langchain: {
128
113
  // LangChain is supported for Python agents only (the TypeScript LangChain
@@ -139,14 +124,13 @@ const FRAMEWORKS = {
139
124
  protocols: {
140
125
  mcp: 'py-core-langchain/mcp',
141
126
  gateway: 'py-core-langchain/gateway',
142
- a2a: 'py-core-langchain/a2a',
127
+ a2a: 'py-core-langchain/a2a'
143
128
  },
144
- deps: [],
145
- },
146
- },
129
+ deps: []
130
+ }
131
+ }
147
132
  };
148
- /** Resolve a framework's templates for a language + protocol, or throw. */
149
- function frameworkLanguage(framework, language, protocol) {
133
+ /** Resolve a framework's templates for a language + protocol, or throw. */ function frameworkLanguage(framework, language, protocol) {
150
134
  const lang = FRAMEWORKS[framework][language];
151
135
  if (!lang) {
152
136
  throw new Error(`The '${framework}' framework does not support ${language === 'ts' ? 'TypeScript' : 'Python'} agents.`);
@@ -155,31 +139,37 @@ function frameworkLanguage(framework, language, protocol) {
155
139
  if (!protocolDir) {
156
140
  throw new Error(`The '${framework}' framework does not support ${protocol} connections for ${language === 'ts' ? 'TypeScript' : 'Python'} agents.`);
157
141
  }
158
- return { ...lang, protocol: protocolDir };
142
+ return {
143
+ ...lang,
144
+ protocol: protocolDir
145
+ };
159
146
  }
160
- /** Protocols whose Layer-1 needs the shared MCP transport (`core-shared`). */
161
- const MCP_TRANSPORT_PROTOCOLS = ['mcp', 'gateway'];
162
- const tsCoreDir = () => (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'core');
163
- const emitTs = (tree, templateDir) => (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', templateDir), tsCoreDir(), {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
147
+ /** Protocols whose Layer-1 needs the shared MCP transport (`core-shared`). */ const MCP_TRANSPORT_PROTOCOLS = [
148
+ 'mcp',
149
+ 'gateway'
150
+ ];
151
+ const tsCoreDir = ()=>joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'core');
152
+ const emitTs = (tree, templateDir)=>generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', templateDir), tsCoreDir(), {}, {
153
+ overwriteStrategy: OverwriteStrategy.KeepExisting
154
+ });
164
155
  /**
165
156
  * Ensure the shared TypeScript agent-connection project exists and has the
166
157
  * framework-agnostic core helpers (runtime-config loader, session context).
167
158
  * Per-connection generators emit their own protocol + framework client
168
159
  * templates via `addTypeScriptCoreClient`.
169
- */
170
- async function ensureTypeScriptAgentConnectionProject(tree) {
171
- const projectJsonPath = (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'project.json');
160
+ */ export async function ensureTypeScriptAgentConnectionProject(tree) {
161
+ const projectJsonPath = joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'project.json');
172
162
  if (!tree.exists(projectJsonPath)) {
173
- await (0, generator_2.default)(tree, {
163
+ await tsProjectGenerator(tree, {
174
164
  name: AGENT_CONNECTION_DIR,
175
- directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
165
+ directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR)
176
166
  });
177
167
  }
178
168
  // Framework-agnostic runtime-config + session-context helpers.
179
169
  emitTs(tree, 'core-runtime-config');
180
170
  // Re-export session-context helpers so agent server entry points can set the
181
171
  // current session on each inbound request without pulling in internals.
182
- await (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'), './core/session-context.js');
172
+ await addStarExport(tree, joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts'), './core/session-context.js');
183
173
  }
184
174
  /**
185
175
  * Emit a framework's base Layer-2 helpers (model-error logging + per-session
@@ -187,8 +177,7 @@ async function ensureTypeScriptAgentConnectionProject(tree) {
187
177
  * server entry point imports these regardless of whether any connection client
188
178
  * is wired in, so the agent generator calls this directly; connection
189
179
  * generators call it transitively via `addTypeScriptCoreClient`.
190
- */
191
- async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
180
+ */ export async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
192
181
  const lang = FRAMEWORKS[framework].ts;
193
182
  if (!lang) {
194
183
  throw new Error(`The '${framework}' framework does not support TypeScript agents.`);
@@ -196,9 +185,9 @@ async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
196
185
  if (lang.base) {
197
186
  emitTs(tree, lang.base);
198
187
  }
199
- const indexPath = (0, devkit_1.joinPathFragments)(exports.AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts');
200
- for (const reExport of lang.baseReExports) {
201
- await (0, ast_1.addStarExport)(tree, indexPath, reExport.fromModule);
188
+ const indexPath = joinPathFragments(AGENT_CONNECTION_PROJECT_DIR, 'src', 'index.ts');
189
+ for (const reExport of lang.baseReExports){
190
+ await addStarExport(tree, indexPath, reExport.fromModule);
202
191
  }
203
192
  }
204
193
  /**
@@ -211,8 +200,7 @@ async function addTypeScriptFrameworkBase(tree, framework = 'strands') {
211
200
  * - Layer 1 `core-shared` MCP transport — for mcp/gateway protocols
212
201
  * - Layer 1 the protocol's transport/client-config — always
213
202
  * - Layer 2 the framework's base helpers + protocol client — per framework
214
- */
215
- async function addTypeScriptCoreClient(tree, protocol, framework = 'strands') {
203
+ */ export async function addTypeScriptCoreClient(tree, protocol, framework = 'strands') {
216
204
  const fw = frameworkLanguage(framework, 'ts', protocol);
217
205
  emitTs(tree, 'core-auth');
218
206
  if (MCP_TRANSPORT_PROTOCOLS.includes(protocol)) {
@@ -228,50 +216,54 @@ async function addTypeScriptCoreClient(tree, protocol, framework = 'strands') {
228
216
  * Ensure the shared Python agent-connection project exists.
229
217
  * Only creates the project shell — per-connection generators are responsible
230
218
  * for emitting their own core client templates.
231
- */
232
- async function ensurePythonAgentConnectionProject(tree) {
219
+ */ export async function ensurePythonAgentConnectionProject(tree) {
233
220
  const projectDir = getPythonAgentConnectionProjectDir(tree);
234
221
  const moduleName = getPythonAgentConnectionModuleName(tree);
235
- const projectJsonPath = (0, devkit_1.joinPathFragments)(projectDir, 'project.json');
222
+ const projectJsonPath = joinPathFragments(projectDir, 'project.json');
236
223
  if (!tree.exists(projectJsonPath)) {
237
224
  // Create the Python project using the standard py#project generator
238
- await (0, generator_1.default)(tree, {
225
+ await pyProjectGenerator(tree, {
239
226
  name: PY_AGENT_CONNECTION_NAME,
240
- directory: (0, devkit_1.joinPathFragments)(PACKAGES_DIR, COMMON_DIR),
241
- type: 'library',
227
+ directory: joinPathFragments(PACKAGES_DIR, COMMON_DIR),
228
+ type: 'library'
242
229
  });
243
230
  }
244
- const moduleDir = (0, devkit_1.joinPathFragments)(projectDir, moduleName);
231
+ const moduleDir = joinPathFragments(projectDir, moduleName);
245
232
  // Ensure core/__init__.py exists
246
- const coreDir = (0, devkit_1.joinPathFragments)(moduleDir, 'core');
247
- if (!tree.exists((0, devkit_1.joinPathFragments)(coreDir, '__init__.py'))) {
248
- tree.write((0, devkit_1.joinPathFragments)(coreDir, '__init__.py'), '');
233
+ const coreDir = joinPathFragments(moduleDir, 'core');
234
+ if (!tree.exists(joinPathFragments(coreDir, '__init__.py'))) {
235
+ tree.write(joinPathFragments(coreDir, '__init__.py'), '');
249
236
  }
250
237
  // Ensure app/__init__.py exists
251
- const appInitPath = (0, devkit_1.joinPathFragments)(moduleDir, 'app', '__init__.py');
238
+ const appInitPath = joinPathFragments(moduleDir, 'app', '__init__.py');
252
239
  if (!tree.exists(appInitPath)) {
253
240
  tree.write(appInitPath, '');
254
241
  }
255
242
  // Framework-agnostic runtime-config + session-context helpers.
256
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'py-core-runtime-config'), coreDir, {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
243
+ generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', 'py-core-runtime-config'), coreDir, {}, {
244
+ overwriteStrategy: OverwriteStrategy.KeepExisting
245
+ });
257
246
  // Re-export the session id context so agent server entry points can set the
258
247
  // current session on each inbound request without importing internals.
259
- const moduleInitPath = (0, devkit_1.joinPathFragments)(moduleDir, '__init__.py');
248
+ const moduleInitPath = joinPathFragments(moduleDir, '__init__.py');
260
249
  await addPythonReExport(tree, moduleInitPath, '.core.session_context', 'get_current_session_id');
261
250
  await addPythonReExport(tree, moduleInitPath, '.core.session_context', 'session_id_context');
262
251
  // The runtime-config loader reads AppConfig via aws-lambda-powertools.
263
- (0, py_1.addDependenciesToPyProjectToml)(tree, projectDir, ['aws-lambda-powertools']);
252
+ addDependenciesToPyProjectToml(tree, projectDir, [
253
+ 'aws-lambda-powertools'
254
+ ]);
264
255
  }
265
- const pyCoreDir = (tree) => (0, devkit_1.joinPathFragments)(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), 'core');
266
- const emitPy = (tree, templateDir) => (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', templateDir), pyCoreDir(tree), {}, { overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting });
256
+ const pyCoreDir = (tree)=>joinPathFragments(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), 'core');
257
+ const emitPy = (tree, templateDir)=>generateFiles(tree, joinPathFragments(import.meta.dirname, 'files', templateDir), pyCoreDir(tree), {}, {
258
+ overwriteStrategy: OverwriteStrategy.KeepExisting
259
+ });
267
260
  /**
268
261
  * Emit a framework's base Layer-2 helpers (model-error logging + per-session
269
262
  * agent cache) into the Python agent-connection project and re-export them.
270
263
  * The agent server entry point imports these regardless of whether a connection
271
264
  * client is wired in, so the agent generator calls this directly; connection
272
265
  * generators call it transitively via `addPythonCoreClient`.
273
- */
274
- async function addPythonFrameworkBase(tree, framework = 'strands') {
266
+ */ export async function addPythonFrameworkBase(tree, framework = 'strands') {
275
267
  const lang = FRAMEWORKS[framework].py;
276
268
  if (!lang) {
277
269
  throw new Error(`The '${framework}' framework does not support Python agents.`);
@@ -279,12 +271,12 @@ async function addPythonFrameworkBase(tree, framework = 'strands') {
279
271
  if (lang.base) {
280
272
  emitPy(tree, lang.base);
281
273
  }
282
- const moduleInitPath = (0, devkit_1.joinPathFragments)(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), '__init__.py');
283
- for (const reExport of lang.baseReExports) {
274
+ const moduleInitPath = joinPathFragments(getPythonAgentConnectionProjectDir(tree), getPythonAgentConnectionModuleName(tree), '__init__.py');
275
+ for (const reExport of lang.baseReExports){
284
276
  await addPythonReExport(tree, moduleInitPath, reExport.fromModule, reExport.importName);
285
277
  }
286
278
  if (lang.deps.length > 0) {
287
- (0, py_1.addDependenciesToPyProjectToml)(tree, getPythonAgentConnectionProjectDir(tree), lang.deps);
279
+ addDependenciesToPyProjectToml(tree, getPythonAgentConnectionProjectDir(tree), lang.deps);
288
280
  }
289
281
  }
290
282
  /**
@@ -296,8 +288,7 @@ async function addPythonFrameworkBase(tree, framework = 'strands') {
296
288
  * - Layer 1 `py-core-shared` MCP transport — for mcp/gateway protocols
297
289
  * - Layer 1 the protocol's transport/client-config — always
298
290
  * - Layer 2 the framework's base helpers + protocol client — per framework
299
- */
300
- async function addPythonCoreClient(tree, protocol, framework = 'strands') {
291
+ */ export async function addPythonCoreClient(tree, protocol, framework = 'strands') {
301
292
  const fw = frameworkLanguage(framework, 'py', protocol);
302
293
  emitPy(tree, 'py-core-auth');
303
294
  if (MCP_TRANSPORT_PROTOCOLS.includes(protocol)) {
@@ -313,13 +304,12 @@ async function addPythonCoreClient(tree, protocol, framework = 'strands') {
313
304
  * in the Agent's tools. Used by the MCP and gateway connection generators —
314
305
  * the client class must expose a static async `create()` returning a value
315
306
  * accepted by `Agent.tools` (e.g. an `McpClient`).
316
- */
317
- async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
307
+ */ export async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
318
308
  const clientCreationStmt = `const ${clientVarName} = await ${clientClassName}.create();`;
319
309
  // Transform the arrow function that contains `new Agent`:
320
310
  // - Expression body: wrap in block with client creation and return
321
311
  // - Block body: prepend client creation statement
322
- await (0, ast_1.applyGritQL)(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
312
+ await applyGritQL(tree, agentFilePath, `or { \`async ($p) => new Agent($args)\` => raw\`async ($p) => {
323
313
  ${clientCreationStmt}
324
314
  return new Agent($args);
325
315
  }\` where { $program <: not contains \`${clientClassName}.create\` }, \`async ($p) => { $body }\` => raw\`async ($p) => {
@@ -327,7 +317,7 @@ async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName,
327
317
  $body
328
318
  }\` where { $body <: contains \`new Agent($_)\`, $program <: not contains \`${clientClassName}.create\` } }`);
329
319
  // Prepend the client to the tools array
330
- await (0, ast_1.applyGritQL)(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
320
+ await applyGritQL(tree, agentFilePath, `\`tools: [$items]\` => \`tools: [${clientVarName}, $items]\` where { $items <: within \`new Agent($_)\`, $items <: not contains \`${clientVarName}\` }`);
331
321
  }
332
322
  /**
333
323
  * Patch a Python agent.py to create a context-managed connection client,
@@ -335,19 +325,17 @@ async function addTypeScriptClientToAgent(tree, agentFilePath, clientClassName,
335
325
  * `list_tools_sync()` into the Agent's tools. Used by the MCP and gateway
336
326
  * connection generators — the client class must expose a static `create()`
337
327
  * returning a context manager with `list_tools_sync()` (e.g. an `MCPClient`).
338
- */
339
- async function addPythonClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
328
+ */ async function addPythonClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
340
329
  await addPythonClientTools(tree, agentFilePath, clientVarName);
341
330
  await addPythonClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
342
331
  }
343
332
  /**
344
333
  * Append `*<clientVarName>.list_tools_sync()` to the Agent's tools list.
345
- */
346
- const addPythonClientTools = async (tree, filePath, clientVarName) => {
347
- if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientVarName}.list_tools_sync()\``))) {
334
+ */ const addPythonClientTools = async (tree, filePath, clientVarName)=>{
335
+ if (await matchGritQL(tree, filePath, py(`\`${clientVarName}.list_tools_sync()\``))) {
348
336
  return;
349
337
  }
350
- await (0, ast_1.applyGritQL)(tree, filePath, py(`\`tools=$old\` where {
338
+ await applyGritQL(tree, filePath, py(`\`tools=$old\` where {
351
339
  $old <: not contains \`${clientVarName}\`,
352
340
  if ($old <: \`[]\`) {
353
341
  $old => \`[*${clientVarName}.list_tools_sync()]\`
@@ -362,21 +350,20 @@ const addPythonClientTools = async (tree, filePath, clientVarName) => {
362
350
  * First connection: rewrites `def get_agent` to wrap the body in a with
363
351
  * block. Subsequent connections: adds to the existing with items and
364
352
  * prepends the creation line.
365
- */
366
- const addPythonClientToGetAgent = async (tree, filePath, clientClassName, clientVarName) => {
367
- if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientClassName}.create()\``))) {
353
+ */ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, clientVarName)=>{
354
+ if (await matchGritQL(tree, filePath, py(`\`${clientClassName}.create()\``))) {
368
355
  return;
369
356
  }
370
357
  // Try the "add to existing with block" pattern first.
371
358
  // If it succeeds, there was already a with block from a previous connection.
372
- const addedToWith = await (0, ast_1.applyGritQL)(tree, filePath, py(`\`with ($items,): $body\` where {
359
+ const addedToWith = await applyGritQL(tree, filePath, py(`\`with ($items,): $body\` where {
373
360
  $items <: not contains \`${clientVarName}\`,
374
361
  $items += \`, ${clientVarName}\`
375
362
  }`));
376
363
  if (addedToWith) {
377
364
  // Subsequent connection — prepend the creation line to the function body
378
365
  // (a single anchor, so the line is inserted exactly once).
379
- await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
366
+ await applyGritQL(tree, filePath, py(`\`def get_agent($params):
380
367
  $body\` where {
381
368
  $body <: contains \`yield Agent($_)\`,
382
369
  $body <: not contains \`${clientClassName}.create\`
@@ -387,7 +374,7 @@ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, client
387
374
  }
388
375
  // First connection — wrap the existing `def get_agent` body in a single
389
376
  // `with (<var>,):` block.
390
- await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
377
+ await applyGritQL(tree, filePath, py(`\`def get_agent($params):
391
378
  $body\` where {
392
379
  $body <: contains \`yield Agent($_)\`,
393
380
  $body <: not contains \`${clientClassName}.create\`
@@ -407,8 +394,7 @@ const addPythonClientToGetAgent = async (tree, filePath, clientClassName, client
407
394
  * connection config on each tool and opens a fresh MCP session per call, so the
408
395
  * tools stay usable after `get_agent` returns — no `with` block is needed.
409
396
  * Mirrors {@link addPythonClientToAgent} for the Strands shape.
410
- */
411
- async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
397
+ */ async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassName, clientVarName) {
412
398
  await addPythonLangchainClientTools(tree, agentFilePath, clientVarName);
413
399
  await addPythonLangchainClientToGetAgent(tree, agentFilePath, clientClassName, clientVarName);
414
400
  }
@@ -418,9 +404,8 @@ async function addPythonLangchainClientToAgent(tree, agentFilePath, clientClassN
418
404
  * Scoped via `$old <: within \`create_agent($_)\`` so only the agent's own
419
405
  * tools= keyword argument is touched (not an unrelated function with a
420
406
  * `tools=` parameter).
421
- */
422
- const addPythonLangchainClientTools = async (tree, filePath, clientVarName) => {
423
- await (0, ast_1.applyGritQL)(tree, filePath, py(`\`tools=$old\` where {
407
+ */ const addPythonLangchainClientTools = async (tree, filePath, clientVarName)=>{
408
+ await applyGritQL(tree, filePath, py(`\`tools=$old\` where {
424
409
  $old <: within \`create_agent($_)\`,
425
410
  $old <: not contains \`*${clientVarName}\`,
426
411
  if ($old <: \`[]\`) {
@@ -436,12 +421,11 @@ const addPythonLangchainClientTools = async (tree, filePath, clientVarName) => {
436
421
  * hands langchain-mcp-adapters a connection config, so each tool opens its own
437
422
  * MCP session per call and the tools are safe to use after get_agent returns.
438
423
  * Idempotent via the `not contains <clientClassName>.create` guard.
439
- */
440
- const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassName, clientVarName) => {
441
- if (await (0, ast_1.matchGritQL)(tree, filePath, py(`\`${clientClassName}.create()\``))) {
424
+ */ const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassName, clientVarName)=>{
425
+ if (await matchGritQL(tree, filePath, py(`\`${clientClassName}.create()\``))) {
442
426
  return;
443
427
  }
444
- await (0, ast_1.applyGritQL)(tree, filePath, py(`\`def get_agent($params):
428
+ await applyGritQL(tree, filePath, py(`\`def get_agent($params):
445
429
  $body\` where {
446
430
  $body <: contains \`create_agent($_)\`,
447
431
  $body <: not contains \`${clientClassName}.create\`
@@ -449,69 +433,71 @@ const addPythonLangchainClientToGetAgent = async (tree, filePath, clientClassNam
449
433
  ${clientVarName} = ${clientClassName}.create()
450
434
  $body\``));
451
435
  };
452
- exports.PY_CLIENT_NAMING = {
436
+ export const PY_CLIENT_NAMING = {
453
437
  strands: {
454
438
  clientClassSuffix: 'Strands',
455
439
  clientModuleSuffix: 'strands',
456
- appTemplateSubdir: (0, devkit_1.joinPathFragments)('agent-connection', 'app'),
440
+ appTemplateSubdir: joinPathFragments('agent-connection', 'app')
457
441
  },
458
442
  langchain: {
459
443
  clientClassSuffix: 'LangChain',
460
444
  clientModuleSuffix: 'langchain',
461
- appTemplateSubdir: (0, devkit_1.joinPathFragments)('langchain', 'agent-connection', 'app'),
462
- },
445
+ appTemplateSubdir: joinPathFragments('langchain', 'agent-connection', 'app')
446
+ }
463
447
  };
464
- exports.PY_MCP_FAMILY_CONNECTIONS = {
448
+ export const PY_MCP_FAMILY_CONNECTIONS = {
465
449
  strands: {
466
- ...exports.PY_CLIENT_NAMING.strands,
450
+ ...PY_CLIENT_NAMING.strands,
467
451
  deps: [],
468
- wireClientIntoAgent: addPythonClientToAgent,
452
+ wireClientIntoAgent: addPythonClientToAgent
469
453
  },
470
454
  langchain: {
471
- ...exports.PY_CLIENT_NAMING.langchain,
455
+ ...PY_CLIENT_NAMING.langchain,
472
456
  // langchain-mcp-adapters backs the LangChain client; it must not pull Strands in.
473
- deps: ['langchain-mcp-adapters'],
474
- wireClientIntoAgent: addPythonLangchainClientToAgent,
475
- },
457
+ deps: [
458
+ 'langchain-mcp-adapters'
459
+ ],
460
+ wireClientIntoAgent: addPythonLangchainClientToAgent
461
+ }
476
462
  };
477
463
  /**
478
464
  * Add a re-export to the Python agent-connection module's __init__.py.
479
465
  * Equivalent to addStarExport for TS.
480
466
  * Uses `__all__` to mark re-exports as public (satisfies ruff F401).
481
467
  * Uses GritQL for AST-aware transforms where possible.
482
- */
483
- async function addPythonReExport(tree, initFilePath, fromModule, importName) {
468
+ */ export async function addPythonReExport(tree, initFilePath, fromModule, importName) {
484
469
  // Check if already exported
485
- if (await (0, ast_1.matchGritQL)(tree, initFilePath, `\`${importName}\``)) {
470
+ if (await matchGritQL(tree, initFilePath, `\`${importName}\``)) {
486
471
  return;
487
472
  }
488
473
  const importLine = `from ${fromModule} import ${importName}`;
489
474
  const allEntry = `"${importName}"`;
490
475
  // If there's already an import from the same module, merge into its name list
491
476
  // (ruff I001 rejects two `from X import ...` lines for the same module).
492
- const mergedImport = await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`from ${fromModule} import $names\` where {
477
+ const mergedImport = await applyGritQL(tree, initFilePath, py(`\`from ${fromModule} import $names\` where {
493
478
  $names <: not contains \`${importName}\`,
494
479
  $names += \`, ${importName}\`
495
480
  }`));
496
481
  if (mergedImport) {
497
- await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
482
+ await applyGritQL(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
498
483
  return;
499
484
  }
500
485
  // Try to append import after existing import using +=
501
- const appendedImport = await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
486
+ const appendedImport = await applyGritQL(tree, initFilePath, py(`\`from $mod import $name\` as $stmt where {
502
487
  $program <: not contains \`${importName}\`,
503
488
  $stmt += \`\n${importLine}\`
504
489
  }`));
505
490
  if (appendedImport) {
506
491
  // Also append to existing __all__
507
- await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
492
+ await applyGritQL(tree, initFilePath, py(`\`__all__ = [$items]\` where { $items += \`, ${allEntry}\` }`));
508
493
  return;
509
494
  }
510
495
  // No existing imports — first re-export. Try to anchor after docstring.
511
- const anchoredImport = await (0, ast_1.applyGritQL)(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
496
+ const anchoredImport = await applyGritQL(tree, initFilePath, py(`\`"""Automatically generated by Nx."""\` as $doc => \`$doc\n${importLine}\n\n__all__ = [${allEntry}]\``));
512
497
  if (!anchoredImport) {
513
498
  // Completely empty file or no docstring — write directly
514
499
  tree.write(initFilePath, `${importLine}\n\n__all__ = [${allEntry}]\n`);
515
500
  }
516
501
  }
502
+
517
503
  //# sourceMappingURL=agent-connection.js.map