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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (996) hide show
  1. package/LICENSE-THIRD-PARTY +7246 -5532
  2. package/README.md +8 -8
  3. package/executors.json +9 -0
  4. package/generators.json +100 -1
  5. package/package.json +35 -16
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +149 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +158 -177
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +98 -0
  52. package/src/connection/supported-connections.js +138 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +141 -123
  59. package/src/infra/app/generator.js.map +1 -1
  60. package/src/infra/app/schema.d.js +6 -0
  61. package/src/infra/app/schema.d.js.map +1 -0
  62. package/src/infra/app/schema.d.ts +1 -1
  63. package/src/infra/app/schema.json +5 -0
  64. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  65. package/src/license/config-types.d.ts +18 -1
  66. package/src/license/config-types.js +8 -2
  67. package/src/license/config-types.js.map +1 -1
  68. package/src/license/config.d.ts +65 -7
  69. package/src/license/config.js +442 -109
  70. package/src/license/config.js.map +1 -1
  71. package/src/license/dependency-check/check.d.ts +16 -0
  72. package/src/license/dependency-check/check.js +116 -0
  73. package/src/license/dependency-check/check.js.map +1 -0
  74. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  75. package/src/license/dependency-check/collectors/collector.js +46 -0
  76. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  77. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  78. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  79. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  80. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  81. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  82. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  83. package/src/license/dependency-check/evaluator.d.ts +9 -0
  84. package/src/license/dependency-check/evaluator.js +94 -0
  85. package/src/license/dependency-check/evaluator.js.map +1 -0
  86. package/src/license/dependency-check/executor-schema.json +6 -0
  87. package/src/license/dependency-check/executor.d.ts +9 -0
  88. package/src/license/dependency-check/executor.js +51 -0
  89. package/src/license/dependency-check/executor.js.map +1 -0
  90. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  91. package/src/license/dependency-check/pre-approved.js +1893 -0
  92. package/src/license/dependency-check/pre-approved.js.map +1 -0
  93. package/src/license/dependency-check/types.d.ts +45 -0
  94. package/src/license/dependency-check/types.js +6 -0
  95. package/src/license/dependency-check/types.js.map +1 -0
  96. package/src/license/generator.d.ts +3 -3
  97. package/src/license/generator.js +127 -30
  98. package/src/license/generator.js.map +1 -1
  99. package/src/license/index.d.ts +8 -0
  100. package/src/license/index.js +7 -0
  101. package/src/license/index.js.map +1 -0
  102. package/src/license/known-exceptions.d.ts +7 -0
  103. package/src/license/known-exceptions.js +39 -0
  104. package/src/license/known-exceptions.js.map +1 -0
  105. package/src/license/schema.d.js +6 -0
  106. package/src/license/schema.d.js.map +1 -0
  107. package/src/license/schema.d.ts +7 -0
  108. package/src/license/schema.json +11 -0
  109. package/src/license/sync/generator.d.ts +2 -2
  110. package/src/license/sync/generator.js +100 -125
  111. package/src/license/sync/generator.js.map +1 -1
  112. package/src/license/sync/project-file-sync.d.ts +3 -3
  113. package/src/license/sync/project-file-sync.js +28 -35
  114. package/src/license/sync/project-file-sync.js.map +1 -1
  115. package/src/mcp-server/generator-info.d.ts +5 -1
  116. package/src/mcp-server/generator-info.js +130 -160
  117. package/src/mcp-server/generator-info.js.map +1 -1
  118. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  119. package/src/mcp-server/guide-pipeline.js +184 -206
  120. package/src/mcp-server/guide-pipeline.js.map +1 -1
  121. package/src/mcp-server/guide-render.js +10 -25
  122. package/src/mcp-server/guide-render.js.map +1 -1
  123. package/src/mcp-server/index.js +6 -10
  124. package/src/mcp-server/index.js.map +1 -1
  125. package/src/mcp-server/mdx-ast.js +42 -56
  126. package/src/mcp-server/mdx-ast.js.map +1 -1
  127. package/src/mcp-server/option-filter.js +33 -47
  128. package/src/mcp-server/option-filter.js.map +1 -1
  129. package/src/mcp-server/schema-registry.d.ts +9 -3
  130. package/src/mcp-server/schema-registry.js +41 -38
  131. package/src/mcp-server/schema-registry.js.map +1 -1
  132. package/src/mcp-server/schema.js +9 -7
  133. package/src/mcp-server/schema.js.map +1 -1
  134. package/src/mcp-server/server.js +20 -24
  135. package/src/mcp-server/server.js.map +1 -1
  136. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  137. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  138. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  139. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  140. package/src/mcp-server/tools/general-guidance.js +46 -25
  141. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  142. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  143. package/src/mcp-server/tools/generator-guide.js +29 -37
  144. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  145. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  146. package/src/mcp-server/tools/list-generators.js +19 -25
  147. package/src/mcp-server/tools/list-generators.js.map +1 -1
  148. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +1 -1
  149. package/src/open-api/ts-client/generator.d.ts +3 -3
  150. package/src/open-api/ts-client/generator.js +16 -26
  151. package/src/open-api/ts-client/generator.js.map +1 -1
  152. package/src/open-api/ts-client/schema.d.js +6 -0
  153. package/src/open-api/ts-client/schema.d.js.map +1 -0
  154. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  155. package/src/open-api/ts-hooks/generator.js +13 -21
  156. package/src/open-api/ts-hooks/generator.js.map +1 -1
  157. package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
  158. package/src/open-api/ts-hooks/schema.d.js +6 -0
  159. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  160. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  161. package/src/open-api/ts-metadata/generator.js +12 -20
  162. package/src/open-api/ts-metadata/generator.js.map +1 -1
  163. package/src/open-api/ts-metadata/schema.d.js +6 -0
  164. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  165. package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
  166. package/src/open-api/utils/codegen-data/languages.js +42 -60
  167. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  168. package/src/open-api/utils/codegen-data/types.js +31 -30
  169. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  170. package/src/open-api/utils/codegen-data.d.ts +6 -2
  171. package/src/open-api/utils/codegen-data.js +253 -269
  172. package/src/open-api/utils/codegen-data.js.map +1 -1
  173. package/src/open-api/utils/normalise.d.ts +5 -1
  174. package/src/open-api/utils/normalise.js +242 -241
  175. package/src/open-api/utils/normalise.js.map +1 -1
  176. package/src/open-api/utils/parse.d.ts +2 -2
  177. package/src/open-api/utils/parse.js +11 -13
  178. package/src/open-api/utils/parse.js.map +1 -1
  179. package/src/open-api/utils/refs.d.ts +1 -1
  180. package/src/open-api/utils/refs.js +12 -22
  181. package/src/open-api/utils/refs.js.map +1 -1
  182. package/src/open-api/utils/types.js +5 -2
  183. package/src/open-api/utils/types.js.map +1 -1
  184. package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
  185. package/src/preset/generator.d.ts +4 -4
  186. package/src/preset/generator.js +140 -112
  187. package/src/preset/generator.js.map +1 -1
  188. package/src/preset/schema.d.js +6 -0
  189. package/src/preset/schema.d.js.map +1 -0
  190. package/src/preset/schema.d.ts +4 -2
  191. package/src/preset/schema.json +10 -5
  192. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  193. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  194. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
  195. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  196. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  197. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  198. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  199. package/src/py/agent/a2a-connection/generator.js +113 -85
  200. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  201. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  202. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  203. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  204. package/src/py/agent/a2a-connection/schema.json +5 -0
  205. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  206. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  207. package/src/py/agent/files/common/agent.py.template +2 -0
  208. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  209. package/src/py/agent/files/http/init.py.template +7 -25
  210. package/src/py/agent/files/http/main.py.template +2 -3
  211. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  212. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  213. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  214. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  215. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  216. package/src/py/agent/gateway-connection/generator.js +119 -0
  217. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  218. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  219. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  220. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  221. package/src/py/agent/gateway-connection/schema.json +31 -0
  222. package/src/py/agent/generator.d.ts +3 -3
  223. package/src/py/agent/generator.js +280 -180
  224. package/src/py/agent/generator.js.map +1 -1
  225. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  226. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  227. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  228. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  229. package/src/py/agent/mcp-connection/generator.js +65 -126
  230. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  231. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  232. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  233. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  234. package/src/py/agent/mcp-connection/schema.json +5 -0
  235. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  236. package/src/py/agent/react-connection/generator.d.ts +4 -4
  237. package/src/py/agent/react-connection/generator.js +55 -59
  238. package/src/py/agent/react-connection/generator.js.map +1 -1
  239. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  240. package/src/py/agent/react-connection/local-dev.js +36 -0
  241. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  242. package/src/py/agent/react-connection/schema.d.js +8 -0
  243. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  244. package/src/py/agent/react-connection/schema.d.ts +1 -0
  245. package/src/py/agent/react-connection/schema.json +5 -0
  246. package/src/py/agent/schema.d.js +6 -0
  247. package/src/py/agent/schema.d.js.map +1 -0
  248. package/src/py/agent/schema.d.ts +2 -1
  249. package/src/py/agent/schema.json +6 -1
  250. package/src/py/api/generator.d.ts +3 -3
  251. package/src/py/api/generator.js +12 -11
  252. package/src/py/api/generator.js.map +1 -1
  253. package/src/py/api/schema.d.js +6 -0
  254. package/src/py/api/schema.d.js.map +1 -0
  255. package/src/py/api/schema.d.ts +1 -0
  256. package/src/py/api/schema.json +5 -0
  257. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  258. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  259. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  260. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  261. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  262. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  263. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  264. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  265. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  266. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  267. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  268. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  269. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  270. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  271. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  272. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  273. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  274. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  275. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  276. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  277. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  278. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  279. package/src/py/dynamodb/files/config.json.template +24 -0
  280. package/src/py/dynamodb/generator.d.ts +10 -0
  281. package/src/py/dynamodb/generator.js +110 -0
  282. package/src/py/dynamodb/generator.js.map +1 -0
  283. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  284. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  285. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  286. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  287. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  288. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  289. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  290. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  291. package/src/py/dynamodb/schema.d.js +6 -0
  292. package/src/py/dynamodb/schema.d.js.map +1 -0
  293. package/src/py/dynamodb/schema.d.ts +16 -0
  294. package/src/py/dynamodb/schema.json +75 -0
  295. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  296. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  297. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  298. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  299. package/src/py/fast-api/generator.d.ts +3 -3
  300. package/src/py/fast-api/generator.js +90 -87
  301. package/src/py/fast-api/generator.js.map +1 -1
  302. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  303. package/src/py/fast-api/react/generator.d.ts +4 -4
  304. package/src/py/fast-api/react/generator.js +25 -25
  305. package/src/py/fast-api/react/generator.js.map +1 -1
  306. package/src/py/fast-api/react/open-api.d.ts +1 -1
  307. package/src/py/fast-api/react/open-api.js +31 -29
  308. package/src/py/fast-api/react/open-api.js.map +1 -1
  309. package/src/py/fast-api/react/schema.d.js +6 -0
  310. package/src/py/fast-api/react/schema.d.js.map +1 -0
  311. package/src/py/fast-api/react/schema.d.ts +1 -0
  312. package/src/py/fast-api/react/schema.json +5 -0
  313. package/src/py/fast-api/schema.d.js +6 -0
  314. package/src/py/fast-api/schema.d.js.map +1 -0
  315. package/src/py/fast-api/schema.d.ts +1 -0
  316. package/src/py/fast-api/schema.json +5 -0
  317. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  318. package/src/py/lambda-function/generator.d.ts +3 -3
  319. package/src/py/lambda-function/generator.js +60 -59
  320. package/src/py/lambda-function/generator.js.map +1 -1
  321. package/src/py/lambda-function/schema.d.js +6 -0
  322. package/src/py/lambda-function/schema.d.js.map +1 -0
  323. package/src/py/lambda-function/schema.d.ts +1 -0
  324. package/src/py/lambda-function/schema.json +5 -0
  325. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
  326. package/src/py/mcp-server/generator.d.ts +3 -3
  327. package/src/py/mcp-server/generator.js +152 -125
  328. package/src/py/mcp-server/generator.js.map +1 -1
  329. package/src/py/mcp-server/schema.d.js +6 -0
  330. package/src/py/mcp-server/schema.d.js.map +1 -0
  331. package/src/py/mcp-server/schema.d.ts +1 -0
  332. package/src/py/mcp-server/schema.json +5 -0
  333. package/src/py/project/generator.d.ts +17 -4
  334. package/src/py/project/generator.js +205 -127
  335. package/src/py/project/generator.js.map +1 -1
  336. package/src/py/project/schema.d.js +6 -0
  337. package/src/py/project/schema.d.js.map +1 -0
  338. package/src/py/project/schema.d.ts +1 -0
  339. package/src/py/project/schema.json +5 -0
  340. package/src/sdk/agentcore-gateway.d.ts +6 -0
  341. package/src/sdk/agentcore-gateway.js +7 -0
  342. package/src/sdk/agentcore-gateway.js.map +1 -0
  343. package/src/sdk/connection.d.ts +6 -0
  344. package/src/sdk/connection.js +6 -0
  345. package/src/sdk/connection.js.map +1 -0
  346. package/src/sdk/license.d.ts +8 -0
  347. package/src/sdk/license.js +7 -0
  348. package/src/sdk/license.js.map +1 -0
  349. package/src/sdk/open-api.d.ts +10 -0
  350. package/src/sdk/open-api.js +8 -0
  351. package/src/sdk/open-api.js.map +1 -0
  352. package/src/sdk/py.d.ts +14 -0
  353. package/src/sdk/py.js +10 -0
  354. package/src/sdk/py.js.map +1 -0
  355. package/src/sdk/terraform.d.ts +6 -0
  356. package/src/sdk/terraform.js +7 -0
  357. package/src/sdk/terraform.js.map +1 -0
  358. package/src/sdk/ts.d.ts +33 -0
  359. package/src/sdk/ts.js +35 -0
  360. package/src/sdk/ts.js.map +1 -0
  361. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  362. package/src/sdk/utils/ast.js +6 -0
  363. package/src/sdk/utils/ast.js.map +1 -0
  364. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  365. package/src/sdk/utils/format.js +6 -0
  366. package/src/sdk/utils/format.js.map +1 -0
  367. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  368. package/src/sdk/utils/test.js +6 -0
  369. package/src/sdk/utils/test.js.map +1 -0
  370. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  371. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  372. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  373. package/src/smithy/project/generator.d.ts +3 -3
  374. package/src/smithy/project/generator.js +64 -57
  375. package/src/smithy/project/generator.js.map +1 -1
  376. package/src/smithy/project/schema.d.js +6 -0
  377. package/src/smithy/project/schema.d.js.map +1 -0
  378. package/src/smithy/project/schema.d.ts +1 -0
  379. package/src/smithy/project/schema.json +5 -0
  380. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  381. package/src/smithy/react-connection/generator.d.ts +3 -3
  382. package/src/smithy/react-connection/generator.js +39 -47
  383. package/src/smithy/react-connection/generator.js.map +1 -1
  384. package/src/smithy/react-connection/schema.d.js +6 -0
  385. package/src/smithy/react-connection/schema.d.js.map +1 -0
  386. package/src/smithy/react-connection/schema.d.ts +1 -0
  387. package/src/smithy/react-connection/schema.json +5 -0
  388. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
  389. package/src/smithy/ts/api/generator.d.ts +3 -3
  390. package/src/smithy/ts/api/generator.js +127 -106
  391. package/src/smithy/ts/api/generator.js.map +1 -1
  392. package/src/smithy/ts/api/schema.d.js +6 -0
  393. package/src/smithy/ts/api/schema.d.js.map +1 -0
  394. package/src/smithy/ts/api/schema.d.ts +1 -0
  395. package/src/smithy/ts/api/schema.json +5 -0
  396. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  397. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  398. package/src/terraform/project/generator.d.ts +3 -3
  399. package/src/terraform/project/generator.js +156 -104
  400. package/src/terraform/project/generator.js.map +1 -1
  401. package/src/terraform/project/schema.d.js +9 -0
  402. package/src/terraform/project/schema.d.js.map +1 -0
  403. package/src/terraform/project/schema.d.ts +1 -0
  404. package/src/terraform/project/schema.json +5 -0
  405. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
  406. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  407. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  408. package/src/trpc/backend/generator.d.ts +4 -4
  409. package/src/trpc/backend/generator.js +97 -85
  410. package/src/trpc/backend/generator.js.map +1 -1
  411. package/src/trpc/backend/schema.d.js +6 -0
  412. package/src/trpc/backend/schema.d.js.map +1 -0
  413. package/src/trpc/backend/schema.d.ts +3 -2
  414. package/src/trpc/backend/schema.json +5 -0
  415. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  416. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  417. package/src/trpc/react/generator.d.ts +4 -4
  418. package/src/trpc/react/generator.js +63 -58
  419. package/src/trpc/react/generator.js.map +1 -1
  420. package/src/trpc/react/schema.d.js +6 -0
  421. package/src/trpc/react/schema.d.js.map +1 -0
  422. package/src/trpc/react/schema.d.ts +1 -0
  423. package/src/trpc/react/schema.json +5 -0
  424. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
  425. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  426. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  427. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  428. package/src/ts/agent/a2a-connection/generator.js +63 -56
  429. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  430. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  431. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  432. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  433. package/src/ts/agent/a2a-connection/schema.json +5 -0
  434. package/src/ts/agent/files/common/agent.ts.template +6 -2
  435. package/src/ts/agent/files/http/router.ts.template +1 -1
  436. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  437. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  438. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  439. package/src/ts/agent/gateway-connection/generator.js +114 -0
  440. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  441. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  442. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  443. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  444. package/src/ts/agent/gateway-connection/schema.json +31 -0
  445. package/src/ts/agent/generator.d.ts +3 -3
  446. package/src/ts/agent/generator.js +188 -144
  447. package/src/ts/agent/generator.js.map +1 -1
  448. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  449. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  450. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  451. package/src/ts/agent/mcp-connection/generator.js +53 -60
  452. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  453. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  454. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  455. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  456. package/src/ts/agent/mcp-connection/schema.json +5 -0
  457. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  458. package/src/ts/agent/react-connection/generator.js +86 -80
  459. package/src/ts/agent/react-connection/generator.js.map +1 -1
  460. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  461. package/src/ts/agent/react-connection/local-dev.js +17 -0
  462. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  463. package/src/ts/agent/react-connection/schema.d.js +8 -0
  464. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  465. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  466. package/src/ts/agent/react-connection/schema.json +5 -0
  467. package/src/ts/agent/schema.d.js +6 -0
  468. package/src/ts/agent/schema.d.js.map +1 -0
  469. package/src/ts/agent/schema.d.ts +1 -0
  470. package/src/ts/agent/schema.json +5 -0
  471. package/src/ts/api/generator.d.ts +3 -3
  472. package/src/ts/api/generator.js +16 -16
  473. package/src/ts/api/generator.js.map +1 -1
  474. package/src/ts/api/schema.d.js +6 -0
  475. package/src/ts/api/schema.d.js.map +1 -0
  476. package/src/ts/api/schema.d.ts +3 -1
  477. package/src/ts/api/schema.json +5 -0
  478. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  479. package/src/ts/astro-docs/generator.d.ts +3 -3
  480. package/src/ts/astro-docs/generator.js +69 -54
  481. package/src/ts/astro-docs/generator.js.map +1 -1
  482. package/src/ts/astro-docs/schema.d.js +6 -0
  483. package/src/ts/astro-docs/schema.d.js.map +1 -0
  484. package/src/ts/astro-docs/schema.d.ts +2 -2
  485. package/src/ts/astro-docs/schema.json +3 -3
  486. package/src/ts/docs/generator.d.ts +3 -3
  487. package/src/ts/docs/generator.js +10 -10
  488. package/src/ts/docs/generator.js.map +1 -1
  489. package/src/ts/docs/schema.d.js +6 -0
  490. package/src/ts/docs/schema.d.js.map +1 -0
  491. package/src/ts/docs/schema.d.ts +1 -4
  492. package/src/ts/docs/schema.json +3 -3
  493. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
  494. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  495. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  496. package/src/ts/dynamodb/agent-connection/generator.js +30 -0
  497. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  498. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  499. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  500. package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
  501. package/src/ts/dynamodb/agent-connection/schema.json +27 -0
  502. package/src/ts/dynamodb/files/config.json.template +24 -0
  503. package/src/ts/dynamodb/files/src/client.ts.template +61 -0
  504. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  505. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  506. package/src/ts/dynamodb/files/src/index.ts.template +2 -0
  507. package/src/ts/dynamodb/generator.d.ts +10 -0
  508. package/src/ts/dynamodb/generator.js +116 -0
  509. package/src/ts/dynamodb/generator.js.map +1 -0
  510. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  511. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  512. package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
  513. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  514. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  515. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  516. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  517. package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
  518. package/src/ts/dynamodb/schema.d.js +6 -0
  519. package/src/ts/dynamodb/schema.d.js.map +1 -0
  520. package/src/ts/dynamodb/schema.d.ts +16 -0
  521. package/src/ts/dynamodb/schema.json +75 -0
  522. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  523. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  524. package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
  525. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  526. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  527. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  528. package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
  529. package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
  530. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  531. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  532. package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
  533. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  534. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  535. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  536. package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
  537. package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
  538. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  539. package/src/ts/lambda-function/generator.d.ts +3 -3
  540. package/src/ts/lambda-function/generator.js +59 -56
  541. package/src/ts/lambda-function/generator.js.map +1 -1
  542. package/src/ts/lambda-function/io.js +83 -52
  543. package/src/ts/lambda-function/io.js.map +1 -1
  544. package/src/ts/lambda-function/schema.d.js +6 -0
  545. package/src/ts/lambda-function/schema.d.js.map +1 -0
  546. package/src/ts/lambda-function/schema.d.ts +1 -0
  547. package/src/ts/lambda-function/schema.json +5 -0
  548. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
  549. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  550. package/src/ts/lib/biome.d.ts +7 -0
  551. package/src/ts/lib/biome.js +58 -0
  552. package/src/ts/lib/biome.js.map +1 -0
  553. package/src/ts/lib/generator.d.ts +3 -3
  554. package/src/ts/lib/generator.js +96 -96
  555. package/src/ts/lib/generator.js.map +1 -1
  556. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  557. package/src/ts/lib/schema.d.js +6 -0
  558. package/src/ts/lib/schema.d.js.map +1 -0
  559. package/src/ts/lib/schema.d.ts +1 -1
  560. package/src/ts/lib/schema.json +5 -0
  561. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  562. package/src/ts/lib/ts-project-utils.js +80 -65
  563. package/src/ts/lib/ts-project-utils.js.map +1 -1
  564. package/src/ts/lib/types.js +5 -2
  565. package/src/ts/lib/types.js.map +1 -1
  566. package/src/ts/lib/vitest.d.ts +2 -2
  567. package/src/ts/lib/vitest.js +29 -26
  568. package/src/ts/lib/vitest.js.map +1 -1
  569. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
  570. package/src/ts/mcp-server/generator.d.ts +3 -3
  571. package/src/ts/mcp-server/generator.js +164 -120
  572. package/src/ts/mcp-server/generator.js.map +1 -1
  573. package/src/ts/mcp-server/schema.d.js +6 -0
  574. package/src/ts/mcp-server/schema.d.js.map +1 -0
  575. package/src/ts/mcp-server/schema.d.ts +1 -0
  576. package/src/ts/mcp-server/schema.json +5 -0
  577. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  578. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  579. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  580. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  581. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  582. package/src/ts/nx-generator/generator.d.ts +2 -2
  583. package/src/ts/nx-generator/generator.js +111 -74
  584. package/src/ts/nx-generator/generator.js.map +1 -1
  585. package/src/ts/nx-generator/schema.d.js +6 -0
  586. package/src/ts/nx-generator/schema.d.js.map +1 -0
  587. package/src/ts/nx-generator/schema.d.ts +1 -0
  588. package/src/ts/nx-generator/schema.json +5 -0
  589. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  590. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  591. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  592. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  593. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  594. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  595. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  596. package/src/ts/nx-plugin/generator.d.ts +3 -3
  597. package/src/ts/nx-plugin/generator.js +60 -51
  598. package/src/ts/nx-plugin/generator.js.map +1 -1
  599. package/src/ts/nx-plugin/schema.d.js +9 -0
  600. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  601. package/src/ts/nx-plugin/schema.json +5 -0
  602. package/src/ts/nx-plugin/utils.d.ts +1 -1
  603. package/src/ts/nx-plugin/utils.js +32 -38
  604. package/src/ts/nx-plugin/utils.js.map +1 -1
  605. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
  606. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  607. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  608. package/src/ts/rdb/agent-connection/generator.js +38 -39
  609. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  610. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  611. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  612. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  613. package/src/ts/rdb/agent-connection/schema.json +5 -0
  614. package/src/ts/rdb/files/config.json.template +14 -0
  615. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  616. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
  617. package/src/ts/rdb/files/src/index.ts.template +0 -1
  618. package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
  619. package/src/ts/rdb/files/src/prisma.ts.template +28 -23
  620. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  621. package/src/ts/rdb/generator.d.ts +3 -7
  622. package/src/ts/rdb/generator.js +158 -130
  623. package/src/ts/rdb/generator.js.map +1 -1
  624. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  625. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  626. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  627. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  628. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  629. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  630. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  631. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  632. package/src/ts/rdb/schema.d.js +6 -0
  633. package/src/ts/rdb/schema.d.js.map +1 -0
  634. package/src/ts/rdb/schema.d.ts +1 -0
  635. package/src/ts/rdb/schema.json +5 -0
  636. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  637. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  638. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  639. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  640. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  641. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  642. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  643. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  644. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  645. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  646. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  647. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  648. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  649. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  650. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  651. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  652. package/src/ts/rdb/utils.d.ts +1 -1
  653. package/src/ts/rdb/utils.js +9 -11
  654. package/src/ts/rdb/utils.js.map +1 -1
  655. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  656. package/src/ts/react-website/agui/generator.d.ts +1 -1
  657. package/src/ts/react-website/agui/generator.js +69 -62
  658. package/src/ts/react-website/agui/generator.js.map +1 -1
  659. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
  660. package/src/ts/react-website/app/generator.d.ts +4 -4
  661. package/src/ts/react-website/app/generator.js +217 -192
  662. package/src/ts/react-website/app/generator.js.map +1 -1
  663. package/src/ts/react-website/app/schema.d.js +6 -0
  664. package/src/ts/react-website/app/schema.d.js.map +1 -0
  665. package/src/ts/react-website/app/schema.d.ts +1 -1
  666. package/src/ts/react-website/app/schema.json +11 -6
  667. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  668. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  669. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  670. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  671. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  672. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  673. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  674. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  675. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  676. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  677. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  678. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  679. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  680. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  681. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  682. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  683. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  684. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  685. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  686. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  687. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  688. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  689. package/src/ts/react-website/runtime-config/generator.js +29 -31
  690. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  691. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  692. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  693. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  694. package/src/ts/react-website/runtime-config/schema.json +5 -0
  695. package/src/ts/sync/generator.d.ts +3 -3
  696. package/src/ts/sync/generator.js +60 -59
  697. package/src/ts/sync/generator.js.map +1 -1
  698. package/src/ts/website/app/generator.d.ts +3 -3
  699. package/src/ts/website/app/generator.js +10 -10
  700. package/src/ts/website/app/generator.js.map +1 -1
  701. package/src/ts/website/app/schema.d.js +6 -0
  702. package/src/ts/website/app/schema.d.js.map +1 -0
  703. package/src/ts/website/app/schema.d.ts +1 -1
  704. package/src/ts/website/app/schema.json +11 -6
  705. package/src/ts/website/auth/generator.d.ts +4 -4
  706. package/src/ts/website/auth/generator.js +11 -10
  707. package/src/ts/website/auth/generator.js.map +1 -1
  708. package/src/ts/website/auth/schema.d.js +6 -0
  709. package/src/ts/website/auth/schema.d.js.map +1 -0
  710. package/src/ts/website/auth/schema.d.ts +1 -0
  711. package/src/ts/website/auth/schema.json +5 -0
  712. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  713. package/src/utils/agent-chat/agent-chat.js +29 -0
  714. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  715. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  716. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  717. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  718. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  719. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  720. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  721. package/src/utils/agent-connection/agent-connection.js +411 -103
  722. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  723. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  724. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  725. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  726. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  727. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  728. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  729. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  730. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  731. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  732. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  733. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  734. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  735. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  736. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  737. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  738. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  739. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  740. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  741. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  742. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  743. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  744. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  745. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  746. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  747. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  748. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  749. package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
  750. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  751. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  752. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  753. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  754. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  755. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  756. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  757. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
  758. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  759. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  760. package/src/utils/api-constructs/api-constructs.js +30 -31
  761. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  762. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
  763. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
  764. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  765. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  766. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
  767. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  768. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  769. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
  770. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  771. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  772. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  773. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  774. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  775. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  776. package/src/utils/ast/website.d.ts +5 -1
  777. package/src/utils/ast/website.js +18 -20
  778. package/src/utils/ast/website.js.map +1 -1
  779. package/src/utils/ast.d.ts +33 -1
  780. package/src/utils/ast.js +130 -70
  781. package/src/utils/ast.js.map +1 -1
  782. package/src/utils/bundle/bundle.d.ts +1 -1
  783. package/src/utils/bundle/bundle.js +50 -47
  784. package/src/utils/bundle/bundle.js.map +1 -1
  785. package/src/utils/commands.js +47 -26
  786. package/src/utils/commands.js.map +1 -1
  787. package/src/utils/config/index.d.ts +5 -5
  788. package/src/utils/config/index.js +5 -4
  789. package/src/utils/config/index.js.map +1 -1
  790. package/src/utils/config/utils.d.ts +13 -3
  791. package/src/utils/config/utils.js +65 -43
  792. package/src/utils/config/utils.js.map +1 -1
  793. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  794. package/src/utils/connection/open-api/react.d.ts +6 -6
  795. package/src/utils/connection/open-api/react.js +81 -77
  796. package/src/utils/connection/open-api/react.js.map +1 -1
  797. package/src/utils/containers.d.ts +1 -1
  798. package/src/utils/containers.js +22 -23
  799. package/src/utils/containers.js.map +1 -1
  800. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  801. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
  802. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  803. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
  804. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  805. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
  806. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  807. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
  808. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  809. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  810. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  811. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  812. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  813. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  814. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  815. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  816. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  817. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  818. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  819. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  820. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  821. package/src/utils/format.d.ts +45 -2
  822. package/src/utils/format.js +323 -81
  823. package/src/utils/format.js.map +1 -1
  824. package/src/utils/fs.d.ts +1 -1
  825. package/src/utils/fs.js +14 -13
  826. package/src/utils/fs.js.map +1 -1
  827. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  828. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  829. package/src/utils/function-constructs/function-constructs.js +21 -26
  830. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  831. package/src/utils/generators.d.ts +4 -0
  832. package/src/utils/generators.js +18 -20
  833. package/src/utils/generators.js.map +1 -1
  834. package/src/utils/git.d.ts +1 -1
  835. package/src/utils/git.js +19 -34
  836. package/src/utils/git.js.map +1 -1
  837. package/src/utils/iac-providers.js +5 -5
  838. package/src/utils/iac-providers.js.map +1 -1
  839. package/src/utils/iac.d.ts +1 -1
  840. package/src/utils/iac.js +12 -14
  841. package/src/utils/iac.js.map +1 -1
  842. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
  843. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  844. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  845. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  846. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  847. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  848. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  849. package/src/utils/install.d.ts +32 -0
  850. package/src/utils/install.js +56 -0
  851. package/src/utils/install.js.map +1 -0
  852. package/src/utils/js.d.ts +4 -0
  853. package/src/utils/js.js +27 -20
  854. package/src/utils/js.js.map +1 -1
  855. package/src/utils/mcp.d.ts +25 -0
  856. package/src/utils/mcp.js +74 -0
  857. package/src/utils/mcp.js.map +1 -0
  858. package/src/utils/metrics.d.ts +9 -3
  859. package/src/utils/metrics.js +61 -46
  860. package/src/utils/metrics.js.map +1 -1
  861. package/src/utils/mock-project-graph.js +8 -12
  862. package/src/utils/mock-project-graph.js.map +1 -1
  863. package/src/utils/names.d.ts +16 -0
  864. package/src/utils/names.js +39 -48
  865. package/src/utils/names.js.map +1 -1
  866. package/src/utils/npm-scope.d.ts +1 -1
  867. package/src/utils/npm-scope.js +9 -17
  868. package/src/utils/npm-scope.js.map +1 -1
  869. package/src/utils/nx.d.ts +25 -4
  870. package/src/utils/nx.js +144 -75
  871. package/src/utils/nx.js.map +1 -1
  872. package/src/utils/nxlv-python.d.ts +1 -1
  873. package/src/utils/nxlv-python.js +27 -15
  874. package/src/utils/nxlv-python.js.map +1 -1
  875. package/src/utils/object.js +5 -11
  876. package/src/utils/object.js.map +1 -1
  877. package/src/utils/paths.d.ts +1 -1
  878. package/src/utils/paths.js +11 -15
  879. package/src/utils/paths.js.map +1 -1
  880. package/src/utils/pkg-manager.js +4 -9
  881. package/src/utils/pkg-manager.js.map +1 -1
  882. package/src/utils/pnpm-workspace.d.ts +1 -1
  883. package/src/utils/pnpm-workspace.js +22 -22
  884. package/src/utils/pnpm-workspace.js.map +1 -1
  885. package/src/utils/port.d.ts +31 -3
  886. package/src/utils/port.js +72 -12
  887. package/src/utils/port.js.map +1 -1
  888. package/src/utils/py.d.ts +16 -3
  889. package/src/utils/py.js +72 -47
  890. package/src/utils/py.js.map +1 -1
  891. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
  892. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
  893. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
  894. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
  895. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
  896. package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
  897. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  898. package/src/utils/shared-constructs-constants.d.ts +1 -0
  899. package/src/utils/shared-constructs-constants.js +16 -15
  900. package/src/utils/shared-constructs-constants.js.map +1 -1
  901. package/src/utils/shared-constructs.d.ts +2 -2
  902. package/src/utils/shared-constructs.js +57 -54
  903. package/src/utils/shared-constructs.js.map +1 -1
  904. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  905. package/src/utils/shared-dynamodb-scripts.js +25 -0
  906. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  907. package/src/utils/shared-infra-config.d.ts +1 -1
  908. package/src/utils/shared-infra-config.js +30 -31
  909. package/src/utils/shared-infra-config.js.map +1 -1
  910. package/src/utils/shared-infra-scripts.d.ts +11 -0
  911. package/src/utils/shared-infra-scripts.js +40 -0
  912. package/src/utils/shared-infra-scripts.js.map +1 -0
  913. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  914. package/src/utils/shared-rdb-scripts.js +28 -0
  915. package/src/utils/shared-rdb-scripts.js.map +1 -0
  916. package/src/utils/shared-scripts.d.ts +2 -5
  917. package/src/utils/shared-scripts.js +12 -38
  918. package/src/utils/shared-scripts.js.map +1 -1
  919. package/src/utils/shared-shadcn.d.ts +1 -1
  920. package/src/utils/shared-shadcn.js +64 -72
  921. package/src/utils/shared-shadcn.js.map +1 -1
  922. package/src/utils/test.d.ts +13 -1
  923. package/src/utils/test.js +35 -23
  924. package/src/utils/test.js.map +1 -1
  925. package/src/utils/toml.d.ts +1 -1
  926. package/src/utils/toml.js +10 -14
  927. package/src/utils/toml.js.map +1 -1
  928. package/src/utils/versions.d.ts +116 -84
  929. package/src/utils/versions.js +124 -102
  930. package/src/utils/versions.js.map +1 -1
  931. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
  932. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  933. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
  934. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  935. package/src/utils/website-constructs/website-constructs.js +31 -30
  936. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  937. package/bin/aws-nx-mcp.js +0 -17
  938. package/bin/aws-nx-mcp.js.map +0 -1
  939. package/sdk/connection.d.ts +0 -6
  940. package/sdk/connection.js +0 -10
  941. package/sdk/connection.js.map +0 -1
  942. package/sdk/open-api.d.ts +0 -10
  943. package/sdk/open-api.js +0 -15
  944. package/sdk/open-api.js.map +0 -1
  945. package/sdk/py.d.ts +0 -14
  946. package/sdk/py.js +0 -18
  947. package/sdk/py.js.map +0 -1
  948. package/sdk/terraform.d.ts +0 -6
  949. package/sdk/terraform.js +0 -11
  950. package/sdk/terraform.js.map +0 -1
  951. package/sdk/ts.d.ts +0 -29
  952. package/sdk/ts.js +0 -47
  953. package/sdk/ts.js.map +0 -1
  954. package/sdk/utils/ast.js +0 -12
  955. package/sdk/utils/ast.js.map +0 -1
  956. package/sdk/utils/format.js +0 -10
  957. package/sdk/utils/format.js.map +0 -1
  958. package/sdk/utils/test.js +0 -10
  959. package/sdk/utils/test.js.map +0 -1
  960. package/src/connection/agent-serve-local.js +0 -48
  961. package/src/connection/agent-serve-local.js.map +0 -1
  962. package/src/connection/serve-local.d.ts +0 -15
  963. package/src/connection/serve-local.js +0 -41
  964. package/src/connection/serve-local.js.map +0 -1
  965. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  966. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  967. package/src/py/agent/react-connection/serve-local.js +0 -30
  968. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  969. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  970. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  971. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  972. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  973. package/src/ts/agent/react-connection/serve-local.js +0 -19
  974. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  975. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  976. package/src/ts/lib/eslint.d.ts +0 -14
  977. package/src/ts/lib/eslint.js +0 -90
  978. package/src/ts/lib/eslint.js.map +0 -1
  979. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  980. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  981. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  982. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  983. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  984. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  985. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  986. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  987. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  988. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  989. /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
  990. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  991. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  992. /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
  993. /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
  994. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  995. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
  996. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1,13 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensurePnpmIgnoresWorkspaceRootCheck = exports.registerPnpmBuiltDependencies = void 0;
4
- const tslib_1 = require("tslib");
5
1
  /**
6
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
3
  * SPDX-License-Identifier: Apache-2.0
8
- */
9
- const devkit_1 = require("@nx/devkit");
10
- const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
4
+ */ import { detectPackageManager } from "@nx/devkit";
5
+ import yaml from "js-yaml";
11
6
  const WORKSPACE_FILE = 'pnpm-workspace.yaml';
12
7
  /**
13
8
  * Merge `allowBuilds` (pnpm 11) / `onlyBuiltDependencies` (pnpm 10) entries
@@ -24,20 +19,21 @@ const WORKSPACE_FILE = 'pnpm-workspace.yaml';
24
19
  *
25
20
  * Only `true` entries are also added to `onlyBuiltDependencies` (pnpm 10's
26
21
  * allowlist has no equivalent of the `false` decision).
27
- */
28
- const registerPnpmBuiltDependencies = (tree, entries) => {
29
- if ((0, devkit_1.detectPackageManager)(tree.root) !== 'pnpm') {
22
+ */ export const registerPnpmBuiltDependencies = (tree, entries)=>{
23
+ if (detectPackageManager(tree.root) !== 'pnpm') {
30
24
  return;
31
25
  }
32
26
  if (!tree.exists(WORKSPACE_FILE)) {
33
27
  return;
34
28
  }
35
29
  const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';
36
- const parsed = js_yaml_1.default.load(original) ?? {};
37
- const allowBuilds = { ...(parsed.allowBuilds ?? {}) };
30
+ const parsed = yaml.load(original) ?? {};
31
+ const allowBuilds = {
32
+ ...parsed.allowBuilds ?? {}
33
+ };
38
34
  const onlyBuiltDependencies = new Set(parsed.onlyBuiltDependencies ?? []);
39
35
  let changed = false;
40
- for (const [pkg, decision] of Object.entries(entries)) {
36
+ for (const [pkg, decision] of Object.entries(entries)){
41
37
  if (allowBuilds[pkg] !== decision) {
42
38
  allowBuilds[pkg] = decision;
43
39
  changed = true;
@@ -51,10 +47,13 @@ const registerPnpmBuiltDependencies = (tree, entries) => {
51
47
  return;
52
48
  }
53
49
  parsed.allowBuilds = allowBuilds;
54
- parsed.onlyBuiltDependencies = [...onlyBuiltDependencies];
55
- tree.write(WORKSPACE_FILE, js_yaml_1.default.dump(parsed, { quotingType: "'" }));
50
+ parsed.onlyBuiltDependencies = [
51
+ ...onlyBuiltDependencies
52
+ ];
53
+ tree.write(WORKSPACE_FILE, yaml.dump(parsed, {
54
+ quotingType: "'"
55
+ }));
56
56
  };
57
- exports.registerPnpmBuiltDependencies = registerPnpmBuiltDependencies;
58
57
  /**
59
58
  * Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`
60
59
  * from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.
@@ -64,22 +63,23 @@ exports.registerPnpmBuiltDependencies = registerPnpmBuiltDependencies;
64
63
  * accepts the yaml form, so writing it here works for both majors.
65
64
  *
66
65
  * No-op for non-pnpm workspaces or when `pnpm-workspace.yaml` is absent.
67
- */
68
- const ensurePnpmIgnoresWorkspaceRootCheck = (tree) => {
69
- if ((0, devkit_1.detectPackageManager)(tree.root) !== 'pnpm') {
66
+ */ export const ensurePnpmIgnoresWorkspaceRootCheck = (tree)=>{
67
+ if (detectPackageManager(tree.root) !== 'pnpm') {
70
68
  return false;
71
69
  }
72
70
  if (!tree.exists(WORKSPACE_FILE)) {
73
71
  return false;
74
72
  }
75
73
  const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';
76
- const parsed = js_yaml_1.default.load(original) ?? {};
74
+ const parsed = yaml.load(original) ?? {};
77
75
  if (parsed.ignoreWorkspaceRootCheck === true) {
78
76
  return false;
79
77
  }
80
78
  parsed.ignoreWorkspaceRootCheck = true;
81
- tree.write(WORKSPACE_FILE, js_yaml_1.default.dump(parsed, { quotingType: "'" }));
79
+ tree.write(WORKSPACE_FILE, yaml.dump(parsed, {
80
+ quotingType: "'"
81
+ }));
82
82
  return true;
83
83
  };
84
- exports.ensurePnpmIgnoresWorkspaceRootCheck = ensurePnpmIgnoresWorkspaceRootCheck;
84
+
85
85
  //# sourceMappingURL=pnpm-workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm-workspace.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/pnpm-workspace.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAwD;AACxD,8DAA2B;AAE3B,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAS7C;;;;;;;;;;;;;;;GAeG;AACI,MAAM,6BAA6B,GAAG,CAC3C,IAAU,EACV,OAAgC,EAC1B,EAAE;IACR,IAAI,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAI,iBAAI,CAAC,IAAI,CAAC,QAAQ,CAA8B,IAAI,EAAE,CAAC;IAEvE,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACtD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,MAAM,CAAC,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AArCW,QAAA,6BAA6B,iCAqCxC;AAEF;;;;;;;;;GASG;AACI,MAAM,mCAAmC,GAAG,CAAC,IAAU,EAAW,EAAE;IACzE,IAAI,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAI,iBAAI,CAAC,IAAI,CAAC,QAAQ,CAA8B,IAAI,EAAE,CAAC;IAEvE,IAAI,MAAM,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,mCAAmC,uCAkB9C"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/pnpm-workspace.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { detectPackageManager, type Tree } from '@nx/devkit';\nimport yaml from 'js-yaml';\n\nconst WORKSPACE_FILE = 'pnpm-workspace.yaml';\n\ninterface PnpmWorkspaceYaml {\n allowBuilds?: Record<string, boolean>;\n onlyBuiltDependencies?: string[];\n ignoreWorkspaceRootCheck?: boolean;\n [key: string]: unknown;\n}\n\n/**\n * Merge `allowBuilds` (pnpm 11) / `onlyBuiltDependencies` (pnpm 10) entries\n * into the generated workspace's `pnpm-workspace.yaml`. No-op for non-pnpm\n * workspaces.\n *\n * Generators call this when they introduce a dependency whose install\n * script pnpm would otherwise reject under pnpm 11's default\n * `strictDepBuilds=true`. Keeping the allowlist explicit — rather than\n * globally disabling strictness — preserves the supply-chain audit pnpm 11\n * intends: each build-script dep is reviewed by the generator author and\n * entered as either `true` (run the script) or `false` (known dep we\n * don't want to run but have seen).\n *\n * Only `true` entries are also added to `onlyBuiltDependencies` (pnpm 10's\n * allowlist has no equivalent of the `false` decision).\n */\nexport const registerPnpmBuiltDependencies = (\n tree: Tree,\n entries: Record<string, boolean>,\n): void => {\n if (detectPackageManager(tree.root) !== 'pnpm') {\n return;\n }\n if (!tree.exists(WORKSPACE_FILE)) {\n return;\n }\n\n const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';\n const parsed = (yaml.load(original) as PnpmWorkspaceYaml | null) ?? {};\n\n const allowBuilds = { ...(parsed.allowBuilds ?? {}) };\n const onlyBuiltDependencies = new Set(parsed.onlyBuiltDependencies ?? []);\n let changed = false;\n\n for (const [pkg, decision] of Object.entries(entries)) {\n if (allowBuilds[pkg] !== decision) {\n allowBuilds[pkg] = decision;\n changed = true;\n }\n if (decision === true && !onlyBuiltDependencies.has(pkg)) {\n onlyBuiltDependencies.add(pkg);\n changed = true;\n }\n }\n\n if (!changed) {\n return;\n }\n\n parsed.allowBuilds = allowBuilds;\n parsed.onlyBuiltDependencies = [...onlyBuiltDependencies];\n\n tree.write(WORKSPACE_FILE, yaml.dump(parsed, { quotingType: \"'\" }));\n};\n\n/**\n * Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`\n * from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.\n *\n * pnpm 11 no longer honours `ignore-workspace-root-check=true` in `.npmrc`;\n * it must live in `pnpm-workspace.yaml` as the camelCased key. pnpm 10 also\n * accepts the yaml form, so writing it here works for both majors.\n *\n * No-op for non-pnpm workspaces or when `pnpm-workspace.yaml` is absent.\n */\nexport const ensurePnpmIgnoresWorkspaceRootCheck = (tree: Tree): boolean => {\n if (detectPackageManager(tree.root) !== 'pnpm') {\n return false;\n }\n if (!tree.exists(WORKSPACE_FILE)) {\n return false;\n }\n\n const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';\n const parsed = (yaml.load(original) as PnpmWorkspaceYaml | null) ?? {};\n\n if (parsed.ignoreWorkspaceRootCheck === true) {\n return false;\n }\n\n parsed.ignoreWorkspaceRootCheck = true;\n tree.write(WORKSPACE_FILE, yaml.dump(parsed, { quotingType: \"'\" }));\n return true;\n};\n"],"names":["detectPackageManager","yaml","WORKSPACE_FILE","registerPnpmBuiltDependencies","tree","entries","root","exists","original","read","parsed","load","allowBuilds","onlyBuiltDependencies","Set","changed","pkg","decision","Object","has","add","write","dump","quotingType","ensurePnpmIgnoresWorkspaceRootCheck","ignoreWorkspaceRootCheck"],"mappings":"AAAA;;;CAGC,GACD,SAASA,oBAAoB,QAAmB,aAAa;AAC7D,OAAOC,UAAU,UAAU;AAE3B,MAAMC,iBAAiB;AASvB;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMC,gCAAgC,CAC3CC,MACAC;IAEA,IAAIL,qBAAqBI,KAAKE,IAAI,MAAM,QAAQ;QAC9C;IACF;IACA,IAAI,CAACF,KAAKG,MAAM,CAACL,iBAAiB;QAChC;IACF;IAEA,MAAMM,WAAWJ,KAAKK,IAAI,CAACP,gBAAgB,YAAY;IACvD,MAAMQ,SAAS,AAACT,KAAKU,IAAI,CAACH,aAA0C,CAAC;IAErE,MAAMI,cAAc;QAAE,GAAIF,OAAOE,WAAW,IAAI,CAAC,CAAC;IAAE;IACpD,MAAMC,wBAAwB,IAAIC,IAAIJ,OAAOG,qBAAqB,IAAI,EAAE;IACxE,IAAIE,UAAU;IAEd,KAAK,MAAM,CAACC,KAAKC,SAAS,IAAIC,OAAOb,OAAO,CAACA,SAAU;QACrD,IAAIO,WAAW,CAACI,IAAI,KAAKC,UAAU;YACjCL,WAAW,CAACI,IAAI,GAAGC;YACnBF,UAAU;QACZ;QACA,IAAIE,aAAa,QAAQ,CAACJ,sBAAsBM,GAAG,CAACH,MAAM;YACxDH,sBAAsBO,GAAG,CAACJ;YAC1BD,UAAU;QACZ;IACF;IAEA,IAAI,CAACA,SAAS;QACZ;IACF;IAEAL,OAAOE,WAAW,GAAGA;IACrBF,OAAOG,qBAAqB,GAAG;WAAIA;KAAsB;IAEzDT,KAAKiB,KAAK,CAACnB,gBAAgBD,KAAKqB,IAAI,CAACZ,QAAQ;QAAEa,aAAa;IAAI;AAClE,EAAE;AAEF;;;;;;;;;CASC,GACD,OAAO,MAAMC,sCAAsC,CAACpB;IAClD,IAAIJ,qBAAqBI,KAAKE,IAAI,MAAM,QAAQ;QAC9C,OAAO;IACT;IACA,IAAI,CAACF,KAAKG,MAAM,CAACL,iBAAiB;QAChC,OAAO;IACT;IAEA,MAAMM,WAAWJ,KAAKK,IAAI,CAACP,gBAAgB,YAAY;IACvD,MAAMQ,SAAS,AAACT,KAAKU,IAAI,CAACH,aAA0C,CAAC;IAErE,IAAIE,OAAOe,wBAAwB,KAAK,MAAM;QAC5C,OAAO;IACT;IAEAf,OAAOe,wBAAwB,GAAG;IAClCrB,KAAKiB,KAAK,CAACnB,gBAAgBD,KAAKqB,IAAI,CAACZ,QAAQ;QAAEa,aAAa;IAAI;IAChE,OAAO;AACT,EAAE"}
@@ -2,9 +2,37 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { ProjectConfiguration, Tree } from '@nx/devkit';
5
+ import { type ProjectConfiguration, type Tree } from '@nx/devkit';
6
+ /**
7
+ * Options for assigning a port to a target within a project.
8
+ */
9
+ export interface AssignPortOptions {
10
+ /**
11
+ * Identifies the component the port is being assigned for. When provided, a
12
+ * port already assigned to this component is reused so re-runs are
13
+ * idempotent. Use this for projects which host a port per component.
14
+ */
15
+ component?: {
16
+ info: {
17
+ id: string;
18
+ };
19
+ name?: string;
20
+ };
21
+ }
22
+ /**
23
+ * Assign a port shared across all projects created by the same generator (or
24
+ * family of generators). If this project already has a port, or a sibling
25
+ * project created by any of the given generator IDs has one, reuse it;
26
+ * otherwise assign a fresh one. Mutates the project to register the port in
27
+ * its metadata.ports.
28
+ */
29
+ export declare const assignSharedPort: (tree: Tree, project: ProjectConfiguration, generatorId: string | string[], startPort: number) => number;
6
30
  /**
7
31
  * Assign a port for a particular target within a project.
8
- * Mutates the project to add/update its metadata.ports with the newly assigned port
32
+ * Mutates the project to add/update its metadata.ports with the newly assigned port.
33
+ *
34
+ * Re-runs are idempotent: a port previously assigned to this project (or, when
35
+ * `options.component` is provided, to this component) is returned as-is without
36
+ * registering a duplicate.
9
37
  */
10
- export declare const assignPort: (tree: Tree, project: ProjectConfiguration, startPort: number) => number;
38
+ export declare const assignPort: (tree: Tree, project: ProjectConfiguration, startPort: number, options?: AssignPortOptions) => number;
package/src/utils/port.js CHANGED
@@ -1,18 +1,78 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assignPort = 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");
4
+ */ import { getProjects } from "@nx/devkit";
5
+ /**
6
+ * Return the first port already registered in a project's own metadata, if any.
7
+ * Supports both the metadata.ports array and the legacy metadata.port.
8
+ */ const getExistingProjectPort = (project)=>{
9
+ const metadata = project.metadata;
10
+ if (Array.isArray(metadata?.ports) && typeof metadata.ports[0] === 'number') {
11
+ return metadata.ports[0];
12
+ }
13
+ if (typeof metadata?.port === 'number') {
14
+ return metadata.port;
15
+ }
16
+ return undefined;
17
+ };
18
+ /**
19
+ * Return the port previously assigned to a particular component within a
20
+ * project, if any. Projects which host multiple components (e.g. one agent or
21
+ * MCP server per component) record a port per component in metadata.components.
22
+ */ const getExistingComponentPort = (project, component)=>{
23
+ const components = project.metadata?.components ?? [];
24
+ const match = components.find((c)=>c.generator === component.info.id && c.name === component.name);
25
+ return typeof match?.port === 'number' ? match.port : undefined;
26
+ };
27
+ /**
28
+ * Assign a port shared across all projects created by the same generator (or
29
+ * family of generators). If this project already has a port, or a sibling
30
+ * project created by any of the given generator IDs has one, reuse it;
31
+ * otherwise assign a fresh one. Mutates the project to register the port in
32
+ * its metadata.ports.
33
+ */ export const assignSharedPort = (tree, project, generatorId, startPort)=>{
34
+ const generatorIds = Array.isArray(generatorId) ? generatorId : [
35
+ generatorId
36
+ ];
37
+ // Reuse this project's own port if it already has one (idempotent on re-run)
38
+ const ownPort = getExistingProjectPort(project);
39
+ if (ownPort !== undefined) {
40
+ return ownPort;
41
+ }
42
+ // Otherwise reuse a sibling project's shared port if one exists
43
+ const siblingPort = [
44
+ ...getProjects(tree).values()
45
+ ].filter((p)=>p.name !== project.name).map((p)=>({
46
+ generator: p.metadata?.generator,
47
+ port: getExistingProjectPort(p)
48
+ })).find((p)=>generatorIds.includes(p.generator) && p.port !== undefined)?.port;
49
+ if (siblingPort !== undefined) {
50
+ project.metadata ??= {};
51
+ project.metadata.ports = [
52
+ ...project.metadata.ports ?? [],
53
+ siblingPort
54
+ ];
55
+ return siblingPort;
56
+ }
57
+ return assignPort(tree, project, startPort);
58
+ };
9
59
  /**
10
60
  * Assign a port for a particular target within a project.
11
- * Mutates the project to add/update its metadata.ports with the newly assigned port
12
- */
13
- const assignPort = (tree, project, startPort) => {
61
+ * Mutates the project to add/update its metadata.ports with the newly assigned port.
62
+ *
63
+ * Re-runs are idempotent: a port previously assigned to this project (or, when
64
+ * `options.component` is provided, to this component) is returned as-is without
65
+ * registering a duplicate.
66
+ */ export const assignPort = (tree, project, startPort, options)=>{
67
+ // Reuse a port already assigned to this project/component on re-run
68
+ const existingPort = options?.component ? getExistingComponentPort(project, options.component) : getExistingProjectPort(project);
69
+ if (existingPort !== undefined) {
70
+ return existingPort;
71
+ }
14
72
  // Find all existing ports
15
- const allPorts = new Set([...(0, devkit_1.getProjects)(tree).values()].flatMap((p) => {
73
+ const allPorts = new Set([
74
+ ...getProjects(tree).values()
75
+ ].flatMap((p)=>{
16
76
  const metadata = p.metadata;
17
77
  const ports = [];
18
78
  // Support old port assignment where each project registered a single port
@@ -26,16 +86,16 @@ const assignPort = (tree, project, startPort) => {
26
86
  }));
27
87
  // Find the next available port higher than the start port
28
88
  let candidatePort = startPort;
29
- while (allPorts.has(candidatePort)) {
89
+ while(allPorts.has(candidatePort)){
30
90
  candidatePort++;
31
91
  }
32
92
  project.metadata ??= {};
33
93
  project.metadata.ports ??= [];
34
94
  project.metadata.ports = [
35
95
  ...project.metadata.ports,
36
- candidatePort,
96
+ candidatePort
37
97
  ];
38
98
  return candidatePort;
39
99
  };
40
- exports.assignPort = assignPort;
100
+
41
101
  //# sourceMappingURL=port.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAAqE;AAErE;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,OAA6B,EAAE,SAAiB,EAAE,EAAE;IACzF,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrE,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAe,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,IAAI,QAAQ,EAAE,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,EAAE,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3F,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC,CAAC;IAEJ,0DAA0D;IAC1D,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,KAAK,EAAE,CAAC;IACtC,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;QAChC,GAAI,OAAO,CAAC,QAAgB,CAAC,KAAK;QAClC,aAAa;KACd,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AA7BW,QAAA,UAAU,cA6BrB"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/port.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getProjects, type ProjectConfiguration, type Tree } from '@nx/devkit';\n\n/**\n * Return the first port already registered in a project's own metadata, if any.\n * Supports both the metadata.ports array and the legacy metadata.port.\n */\nconst getExistingProjectPort = (\n project: ProjectConfiguration,\n): number | undefined => {\n const metadata = project.metadata as any;\n if (Array.isArray(metadata?.ports) && typeof metadata.ports[0] === 'number') {\n return metadata.ports[0];\n }\n if (typeof metadata?.port === 'number') {\n return metadata.port;\n }\n return undefined;\n};\n\n/**\n * Return the port previously assigned to a particular component within a\n * project, if any. Projects which host multiple components (e.g. one agent or\n * MCP server per component) record a port per component in metadata.components.\n */\nconst getExistingComponentPort = (\n project: ProjectConfiguration,\n component: { info: { id: string }; name?: string },\n): number | undefined => {\n const components = (project.metadata as any)?.components ?? [];\n const match = components.find(\n (c: any) => c.generator === component.info.id && c.name === component.name,\n );\n return typeof match?.port === 'number' ? match.port : undefined;\n};\n\n/**\n * Options for assigning a port to a target within a project.\n */\nexport interface AssignPortOptions {\n /**\n * Identifies the component the port is being assigned for. When provided, a\n * port already assigned to this component is reused so re-runs are\n * idempotent. Use this for projects which host a port per component.\n */\n component?: { info: { id: string }; name?: string };\n}\n\n/**\n * Assign a port shared across all projects created by the same generator (or\n * family of generators). If this project already has a port, or a sibling\n * project created by any of the given generator IDs has one, reuse it;\n * otherwise assign a fresh one. Mutates the project to register the port in\n * its metadata.ports.\n */\nexport const assignSharedPort = (\n tree: Tree,\n project: ProjectConfiguration,\n generatorId: string | string[],\n startPort: number,\n): number => {\n const generatorIds = Array.isArray(generatorId) ? generatorId : [generatorId];\n\n // Reuse this project's own port if it already has one (idempotent on re-run)\n const ownPort = getExistingProjectPort(project);\n if (ownPort !== undefined) {\n return ownPort;\n }\n\n // Otherwise reuse a sibling project's shared port if one exists\n const siblingPort = [...getProjects(tree).values()]\n .filter((p) => p.name !== project.name)\n .map((p) => ({\n generator: (p.metadata as any)?.generator,\n port: getExistingProjectPort(p),\n }))\n .find(\n (p) => generatorIds.includes(p.generator) && p.port !== undefined,\n )?.port;\n\n if (siblingPort !== undefined) {\n project.metadata ??= {};\n (project.metadata as any).ports = [\n ...((project.metadata as any).ports ?? []),\n siblingPort,\n ];\n return siblingPort;\n }\n\n return assignPort(tree, project, startPort);\n};\n\n/**\n * Assign a port for a particular target within a project.\n * Mutates the project to add/update its metadata.ports with the newly assigned port.\n *\n * Re-runs are idempotent: a port previously assigned to this project (or, when\n * `options.component` is provided, to this component) is returned as-is without\n * registering a duplicate.\n */\nexport const assignPort = (\n tree: Tree,\n project: ProjectConfiguration,\n startPort: number,\n options?: AssignPortOptions,\n) => {\n // Reuse a port already assigned to this project/component on re-run\n const existingPort = options?.component\n ? getExistingComponentPort(project, options.component)\n : getExistingProjectPort(project);\n if (existingPort !== undefined) {\n return existingPort;\n }\n\n // Find all existing ports\n const allPorts = new Set(\n [...getProjects(tree).values()].flatMap((p) => {\n const metadata = p.metadata as any;\n const ports: number[] = [];\n // Support old port assignment where each project registered a single port\n if (metadata?.port && typeof metadata.port === 'number') {\n ports.push(metadata.port);\n }\n if (\n metadata?.ports &&\n typeof metadata.ports === 'object' &&\n Array.isArray(metadata.ports)\n ) {\n ports.push(...metadata.ports);\n }\n return ports;\n }),\n );\n\n // Find the next available port higher than the start port\n let candidatePort = startPort;\n while (allPorts.has(candidatePort)) {\n candidatePort++;\n }\n\n project.metadata ??= {};\n (project.metadata as any).ports ??= [];\n (project.metadata as any).ports = [\n ...(project.metadata as any).ports,\n candidatePort,\n ];\n\n return candidatePort;\n};\n"],"names":["getProjects","getExistingProjectPort","project","metadata","Array","isArray","ports","port","undefined","getExistingComponentPort","component","components","match","find","c","generator","info","id","name","assignSharedPort","tree","generatorId","startPort","generatorIds","ownPort","siblingPort","values","filter","p","map","includes","assignPort","options","existingPort","allPorts","Set","flatMap","push","candidatePort","has"],"mappings":"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"}
package/src/utils/py.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Tree } from '@nx/devkit';
2
- import { IPyDepVersion } from './versions';
1
+ import { type Tree } from '@nx/devkit';
2
+ import { type IPyDepVersion } from './versions';
3
3
  /**
4
4
  * Add dependencies to a pyproject.toml file
5
5
  */
@@ -19,5 +19,18 @@ export declare const uvxCommand: (dep: IPyDepVersion, args?: string, withDeps?:
19
19
  /**
20
20
  * Add a workspace dependency from one Python project to another.
21
21
  * Adds the dependency to [project].dependencies and [tool.uv.sources].
22
+ *
23
+ * Both projects are passed as Nx project configurations (not names): the
24
+ * dependency's PEP 503 distribution name is derived from its own
25
+ * `pyproject.toml` here, so callers cannot accidentally pass the dotted Nx id
26
+ * (which @nxlv/python splits on `.` and drops, losing the project-graph edge).
27
+ * This is the single entry point all generators use to wire a Python workspace
28
+ * dependency.
22
29
  */
23
- export declare const addWorkspaceDependencyToPyProject: (tree: Tree, projectRoot: string, dependencyPackageName: string) => void;
30
+ export declare const addWorkspaceDependencyToPyProject: (tree: Tree, dependentProject: {
31
+ name?: string;
32
+ root: string;
33
+ }, dependencyProject: {
34
+ name?: string;
35
+ root: string;
36
+ }) => void;
package/src/utils/py.js CHANGED
@@ -1,90 +1,115 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addWorkspaceDependencyToPyProject = exports.uvxCommand = exports.addDependenciesToDependencyGroupInPyProjectToml = exports.addDependenciesToPyProjectToml = 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 toml_1 = require("@iarna/toml");
9
- const devkit_1 = require("@nx/devkit");
10
- const versions_1 = require("./versions");
11
- const pip_requirements_js_1 = require("pip-requirements-js");
12
- const toml_2 = require("./toml");
4
+ */ import { parse, stringify } from "@iarna/toml";
5
+ import { joinPathFragments } from "@nx/devkit";
6
+ import { parsePipRequirementsLine } from "pip-requirements-js";
7
+ import { normalizeDistributionName } from "./names.js";
8
+ import { readToml, updateToml } from "./toml.js";
9
+ import { withPyVersions } from "./versions.js";
13
10
  // Dedup key that distinguishes bare packages from the same package with
14
11
  // extras (e.g. `foo` vs `foo[bar]`), so adding a bare dep doesn't drop a
15
12
  // previously-added variant with extras.
16
- const depKey = (dep) => {
17
- const parsed = (0, pip_requirements_js_1.parsePipRequirementsLine)(dep);
13
+ const depKey = (dep)=>{
14
+ const parsed = parsePipRequirementsLine(dep);
18
15
  if (parsed?.type !== 'ProjectName') {
19
16
  return dep;
20
17
  }
21
- const extras = [...(parsed.extras ?? [])].sort().join(',');
18
+ const extras = [
19
+ ...parsed.extras ?? []
20
+ ].sort().join(',');
22
21
  return extras ? `${parsed.name}[${extras}]` : parsed.name;
23
22
  };
24
- const mergeDeps = (existing, deps) => {
25
- const incomingKeys = new Set(deps.map(depKey));
26
- return [
27
- ...(existing ?? []).filter((dep) => !incomingKeys.has(depKey(dep))),
28
- ...(0, versions_1.withPyVersions)(deps),
29
- ];
23
+ const mergeDeps = (existing, deps)=>{
24
+ // Update deps in place by key so re-running does not reorder the list:
25
+ // existing deps keep their position (with their version refreshed), and only
26
+ // genuinely-new deps are appended.
27
+ const incoming = new Map(withPyVersions(deps).map((d)=>[
28
+ depKey(d),
29
+ d
30
+ ]));
31
+ const merged = (existing ?? []).map((dep)=>incoming.get(depKey(dep)) ?? dep);
32
+ const existingKeys = new Set((existing ?? []).map(depKey));
33
+ for (const [key, dep] of incoming){
34
+ if (!existingKeys.has(key)) {
35
+ merged.push(dep);
36
+ }
37
+ }
38
+ return merged;
30
39
  };
31
40
  /**
32
41
  * Add dependencies to a pyproject.toml file
33
- */
34
- const addDependenciesToPyProjectToml = (tree, projectRoot, deps) => {
35
- const projectToml = (0, toml_1.parse)(tree.read((0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml'), 'utf8'));
42
+ */ export const addDependenciesToPyProjectToml = (tree, projectRoot, deps)=>{
43
+ const projectToml = parse(tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'));
36
44
  projectToml.project.dependencies = mergeDeps(projectToml.project?.dependencies, deps);
37
- tree.write((0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml'), (0, toml_1.stringify)(projectToml));
45
+ tree.write(joinPathFragments(projectRoot, 'pyproject.toml'), stringify(projectToml));
38
46
  };
39
- exports.addDependenciesToPyProjectToml = addDependenciesToPyProjectToml;
40
- const addDependenciesToDependencyGroupInPyProjectToml = (tree, projectRoot, group, deps) => {
41
- const projectToml = (0, toml_1.parse)(tree.read((0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml'), 'utf8'));
47
+ export const addDependenciesToDependencyGroupInPyProjectToml = (tree, projectRoot, group, deps)=>{
48
+ const projectToml = parse(tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'));
42
49
  projectToml['dependency-groups'] = {
43
50
  ...projectToml['dependency-groups'],
44
- [group]: mergeDeps(projectToml['dependency-groups']?.[group], deps),
51
+ [group]: mergeDeps(projectToml['dependency-groups']?.[group], deps)
45
52
  };
46
- tree.write((0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml'), (0, toml_1.stringify)(projectToml));
53
+ tree.write(joinPathFragments(projectRoot, 'pyproject.toml'), stringify(projectToml));
47
54
  };
48
- exports.addDependenciesToDependencyGroupInPyProjectToml = addDependenciesToDependencyGroupInPyProjectToml;
49
55
  /**
50
56
  * Render a uvx command for a given dependency
51
57
  * Pins the version to the one specified in versions.ts
52
58
  * Optionally specify withDeps to render uvx --with dep==version
53
- */
54
- const uvxCommand = (dep, args, withDeps) => {
55
- return `uvx --from ${(0, versions_1.withPyVersions)([dep])[0]} ${withDeps
56
- ? `${withDeps
57
- .map(({ dep, version, specifier }) => `--with ${dep}${specifier ?? '=='}${version}`)
58
- .join(' ')} `
59
- : ''}${dep}${args ? ` ${args}` : ''}`;
59
+ */ export const uvxCommand = (dep, args, withDeps)=>{
60
+ return `uvx --from ${withPyVersions([
61
+ dep
62
+ ])[0]} ${withDeps ? `${withDeps.map(({ dep, version, specifier })=>`--with ${dep}${specifier ?? '=='}${version}`).join(' ')} ` : ''}${dep}${args ? ` ${args}` : ''}`;
63
+ };
64
+ /**
65
+ * Resolve the PEP 503 distribution name of a Python project from its
66
+ * `pyproject.toml` `[project].name`, falling back to normalising the supplied
67
+ * Nx project id when the project has no readable pyproject yet.
68
+ *
69
+ * This is the authoritative name uv writes into `uv.lock`, so it is the value
70
+ * that must appear in a dependent's `[project].dependencies` /
71
+ * `[tool.uv.sources]` for `@nxlv/python` to infer the workspace dependency
72
+ * edge. Always normalised so the result is a valid distribution name even if
73
+ * an older project still carries a dotted `[project].name`.
74
+ */ const getPyDistributionName = (tree, project)=>{
75
+ const pyprojectPath = joinPathFragments(project.root, 'pyproject.toml');
76
+ const projectName = tree.exists(pyprojectPath) ? readToml(tree, pyprojectPath).project?.name : undefined;
77
+ return normalizeDistributionName(projectName ?? project.name ?? '');
60
78
  };
61
- exports.uvxCommand = uvxCommand;
62
79
  /**
63
80
  * Add a workspace dependency from one Python project to another.
64
81
  * Adds the dependency to [project].dependencies and [tool.uv.sources].
65
- */
66
- const addWorkspaceDependencyToPyProject = (tree, projectRoot, dependencyPackageName) => {
67
- const pyprojectPath = (0, devkit_1.joinPathFragments)(projectRoot, 'pyproject.toml');
82
+ *
83
+ * Both projects are passed as Nx project configurations (not names): the
84
+ * dependency's PEP 503 distribution name is derived from its own
85
+ * `pyproject.toml` here, so callers cannot accidentally pass the dotted Nx id
86
+ * (which @nxlv/python splits on `.` and drops, losing the project-graph edge).
87
+ * This is the single entry point all generators use to wire a Python workspace
88
+ * dependency.
89
+ */ export const addWorkspaceDependencyToPyProject = (tree, dependentProject, dependencyProject)=>{
90
+ const pyprojectPath = joinPathFragments(dependentProject.root, 'pyproject.toml');
68
91
  if (!tree.exists(pyprojectPath)) {
69
92
  return;
70
93
  }
71
- (0, toml_2.updateToml)(tree, pyprojectPath, (toml) => {
94
+ const distributionName = getPyDistributionName(tree, dependencyProject);
95
+ updateToml(tree, pyprojectPath, (toml)=>{
72
96
  // Add to [project].dependencies if not already present
73
97
  const deps = toml.project?.dependencies ?? [];
74
- if (!deps.some((d) => d === dependencyPackageName ||
75
- d.startsWith(`${dependencyPackageName}>=`) ||
76
- d.startsWith(`${dependencyPackageName}==`))) {
77
- toml.project.dependencies = [...deps, dependencyPackageName];
98
+ if (!deps.some((d)=>d === distributionName || d.startsWith(`${distributionName}>=`) || d.startsWith(`${distributionName}==`))) {
99
+ toml.project.dependencies = [
100
+ ...deps,
101
+ distributionName
102
+ ];
78
103
  }
79
104
  // Add to [tool.uv.sources] with workspace = true
80
105
  toml.tool = toml.tool ?? {};
81
106
  toml.tool.uv = toml.tool.uv ?? {};
82
107
  toml.tool.uv.sources = toml.tool.uv.sources ?? {};
83
- toml.tool.uv.sources[dependencyPackageName] = {
84
- workspace: true,
108
+ toml.tool.uv.sources[distributionName] = {
109
+ workspace: true
85
110
  };
86
111
  return toml;
87
112
  });
88
113
  };
89
- exports.addWorkspaceDependencyToPyProject = addWorkspaceDependencyToPyProject;
114
+
90
115
  //# sourceMappingURL=py.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"py.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/py.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { parse, stringify } from '@iarna/toml';\nimport { joinPathFragments, type Tree } from '@nx/devkit';\nimport { parsePipRequirementsLine } from 'pip-requirements-js';\nimport { normalizeDistributionName } from './names';\nimport type { UVPyprojectToml } from './nxlv-python';\nimport { readToml, updateToml } from './toml';\nimport { type IPyDepVersion, withPyVersions } from './versions';\n\n// Dedup key that distinguishes bare packages from the same package with\n// extras (e.g. `foo` vs `foo[bar]`), so adding a bare dep doesn't drop a\n// previously-added variant with extras.\nconst depKey = (dep: string): string => {\n const parsed = parsePipRequirementsLine(dep);\n if (parsed?.type !== 'ProjectName') {\n return dep;\n }\n const extras = [...(parsed.extras ?? [])].sort().join(',');\n return extras ? `${parsed.name}[${extras}]` : parsed.name;\n};\n\nconst mergeDeps = (\n existing: readonly string[] | undefined,\n deps: IPyDepVersion[],\n): string[] => {\n // Update deps in place by key so re-running does not reorder the list:\n // existing deps keep their position (with their version refreshed), and only\n // genuinely-new deps are appended.\n const incoming = new Map(withPyVersions(deps).map((d) => [depKey(d), d]));\n const merged = (existing ?? []).map(\n (dep) => incoming.get(depKey(dep)) ?? dep,\n );\n const existingKeys = new Set((existing ?? []).map(depKey));\n for (const [key, dep] of incoming) {\n if (!existingKeys.has(key)) {\n merged.push(dep);\n }\n }\n return merged;\n};\n\n/**\n * Add dependencies to a pyproject.toml file\n */\nexport const addDependenciesToPyProjectToml = (\n tree: Tree,\n projectRoot: string,\n deps: IPyDepVersion[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml.project.dependencies = mergeDeps(\n projectToml.project?.dependencies,\n deps,\n );\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n};\n\nexport const addDependenciesToDependencyGroupInPyProjectToml = (\n tree: Tree,\n projectRoot: string,\n group: string,\n deps: IPyDepVersion[],\n) => {\n const projectToml = parse(\n tree.read(joinPathFragments(projectRoot, 'pyproject.toml'), 'utf8'),\n ) as UVPyprojectToml;\n projectToml['dependency-groups'] = {\n ...projectToml['dependency-groups'],\n [group]: mergeDeps(projectToml['dependency-groups']?.[group], deps),\n };\n tree.write(\n joinPathFragments(projectRoot, 'pyproject.toml'),\n stringify(projectToml),\n );\n};\n\nexport interface UvxWithDep {\n dep: string;\n version: string;\n specifier?: string;\n}\n\n/**\n * Render a uvx command for a given dependency\n * Pins the version to the one specified in versions.ts\n * Optionally specify withDeps to render uvx --with dep==version\n */\nexport const uvxCommand = (\n dep: IPyDepVersion,\n args?: string,\n withDeps?: UvxWithDep[],\n): string => {\n return `uvx --from ${withPyVersions([dep])[0]} ${\n withDeps\n ? `${withDeps\n .map(\n ({ dep, version, specifier }) =>\n `--with ${dep}${specifier ?? '=='}${version}`,\n )\n .join(' ')} `\n : ''\n }${dep}${args ? ` ${args}` : ''}`;\n};\n\n/**\n * Resolve the PEP 503 distribution name of a Python project from its\n * `pyproject.toml` `[project].name`, falling back to normalising the supplied\n * Nx project id when the project has no readable pyproject yet.\n *\n * This is the authoritative name uv writes into `uv.lock`, so it is the value\n * that must appear in a dependent's `[project].dependencies` /\n * `[tool.uv.sources]` for `@nxlv/python` to infer the workspace dependency\n * edge. Always normalised so the result is a valid distribution name even if\n * an older project still carries a dotted `[project].name`.\n */\nconst getPyDistributionName = (\n tree: Tree,\n project: { name?: string; root: string },\n): string => {\n const pyprojectPath = joinPathFragments(project.root, 'pyproject.toml');\n const projectName = tree.exists(pyprojectPath)\n ? (readToml(tree, pyprojectPath) as unknown as UVPyprojectToml).project\n ?.name\n : undefined;\n return normalizeDistributionName(projectName ?? project.name ?? '');\n};\n\n/**\n * Add a workspace dependency from one Python project to another.\n * Adds the dependency to [project].dependencies and [tool.uv.sources].\n *\n * Both projects are passed as Nx project configurations (not names): the\n * dependency's PEP 503 distribution name is derived from its own\n * `pyproject.toml` here, so callers cannot accidentally pass the dotted Nx id\n * (which @nxlv/python splits on `.` and drops, losing the project-graph edge).\n * This is the single entry point all generators use to wire a Python workspace\n * dependency.\n */\nexport const addWorkspaceDependencyToPyProject = (\n tree: Tree,\n dependentProject: { name?: string; root: string },\n dependencyProject: { name?: string; root: string },\n): void => {\n const pyprojectPath = joinPathFragments(\n dependentProject.root,\n 'pyproject.toml',\n );\n if (!tree.exists(pyprojectPath)) {\n return;\n }\n\n const distributionName = getPyDistributionName(tree, dependencyProject);\n\n updateToml(tree, pyprojectPath, (toml: UVPyprojectToml) => {\n // Add to [project].dependencies if not already present\n const deps = toml.project?.dependencies ?? [];\n if (\n !deps.some(\n (d) =>\n d === distributionName ||\n d.startsWith(`${distributionName}>=`) ||\n d.startsWith(`${distributionName}==`),\n )\n ) {\n toml.project.dependencies = [...deps, distributionName];\n }\n\n // Add to [tool.uv.sources] with workspace = true\n toml.tool = toml.tool ?? {};\n (toml.tool as any).uv = (toml.tool as any).uv ?? {};\n (toml.tool as any).uv.sources = (toml.tool as any).uv.sources ?? {};\n (toml.tool as any).uv.sources[distributionName] = {\n workspace: true,\n };\n\n return toml;\n });\n};\n"],"names":["parse","stringify","joinPathFragments","parsePipRequirementsLine","normalizeDistributionName","readToml","updateToml","withPyVersions","depKey","dep","parsed","type","extras","sort","join","name","mergeDeps","existing","deps","incoming","Map","map","d","merged","get","existingKeys","Set","key","has","push","addDependenciesToPyProjectToml","tree","projectRoot","projectToml","read","project","dependencies","write","addDependenciesToDependencyGroupInPyProjectToml","group","uvxCommand","args","withDeps","version","specifier","getPyDistributionName","pyprojectPath","root","projectName","exists","undefined","addWorkspaceDependencyToPyProject","dependentProject","dependencyProject","distributionName","toml","some","startsWith","tool","uv","sources","workspace"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as path from 'path';
2
2
  import * as url from 'url';
3
+ import { readFileSync } from 'fs';
3
4
  import { Construct } from 'constructs';
4
- import { DB_PACKAGE_NAME } from '<%= databasePackageAlias %>';
5
5
  import {
6
6
  AuroraDatabase,
7
7
  AuroraDatabaseEngines,
@@ -9,6 +9,16 @@ import {
9
9
  } from '../../core/rdb/aurora.js';
10
10
  import { findWorkspaceRoot } from '../../core/workspace.js';
11
11
 
12
+ const { runtimeConfigKey } = JSON.parse(
13
+ readFileSync(
14
+ path.join(
15
+ findWorkspaceRoot(url.fileURLToPath(new URL(import.meta.url))),
16
+ '<%= projectRoot %>/config.json',
17
+ ),
18
+ 'utf-8',
19
+ ),
20
+ ) as { runtimeConfigKey: string };
21
+
12
22
  export type <%= nameClassName %>Props = Omit<
13
23
  AuroraDatabaseProps,
14
24
  | 'databaseName'
@@ -28,7 +38,7 @@ export class <%= nameClassName %> extends AuroraDatabase {
28
38
  ...props,
29
39
  databaseName: '<%= databaseName %>',
30
40
  adminUser: '<%= adminUser %>',
31
- runtimeConfigKey: DB_PACKAGE_NAME,
41
+ runtimeConfigKey,
32
42
  migrationBundleDir: path.join(
33
43
  findWorkspaceRoot(url.fileURLToPath(new URL(import.meta.url))),
34
44
  '<%- migrationBundleDir %>',