@aws/nx-plugin 1.0.0-rc.5 → 1.0.0-rc.51

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 (1205) hide show
  1. package/LICENSE-THIRD-PARTY +5300 -5843
  2. package/README.md +7 -7
  3. package/generators.json +127 -8
  4. package/migrations.json +21 -0
  5. package/package.json +39 -20
  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 +61 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +26 -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 +166 -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 +71 -0
  33. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  34. package/src/connection/agent-local-dev.js +42 -0
  35. package/src/connection/agent-local-dev.js.map +1 -0
  36. package/src/connection/agent-runtime-config.d.ts +1 -1
  37. package/src/connection/agent-runtime-config.js +9 -14
  38. package/src/connection/agent-runtime-config.js.map +1 -1
  39. package/src/connection/generator.d.ts +7 -14
  40. package/src/connection/generator.js +167 -194
  41. package/src/connection/generator.js.map +1 -1
  42. package/src/connection/local-dev.d.ts +15 -0
  43. package/src/connection/local-dev.js +37 -0
  44. package/src/connection/local-dev.js.map +1 -0
  45. package/src/connection/schema.d.js +6 -0
  46. package/src/connection/schema.d.js.map +1 -0
  47. package/src/connection/schema.d.ts +1 -0
  48. package/src/connection/schema.json +5 -0
  49. package/src/connection/supported-connections.d.ts +107 -0
  50. package/src/connection/supported-connections.js +151 -0
  51. package/src/connection/supported-connections.js.map +1 -0
  52. package/src/index.js +2 -5
  53. package/src/index.js.map +1 -1
  54. package/src/infra/app/__snapshots__/generator.spec.ts.snap +106 -100
  55. package/src/infra/app/files/app/src/main.ts.template +1 -1
  56. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +146 -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/init/generator.d.ts +18 -0
  65. package/src/init/generator.js +35 -0
  66. package/src/init/generator.js.map +1 -0
  67. package/src/init/schema.d.js +6 -0
  68. package/src/init/schema.d.js.map +1 -0
  69. package/src/init/schema.d.ts +16 -0
  70. package/src/init/schema.json +35 -0
  71. package/src/internal/test-matrix/generator.d.ts +29 -0
  72. package/src/internal/test-matrix/generator.js +660 -0
  73. package/src/internal/test-matrix/generator.js.map +1 -0
  74. package/src/internal/test-matrix/schema.d.js +6 -0
  75. package/src/internal/test-matrix/schema.d.js.map +1 -0
  76. package/src/internal/test-matrix/schema.d.ts +12 -0
  77. package/src/internal/test-matrix/schema.json +21 -0
  78. package/src/license/config-types.d.ts +2 -2
  79. package/src/license/config-types.js +8 -2
  80. package/src/license/config-types.js.map +1 -1
  81. package/src/license/config.d.ts +4 -4
  82. package/src/license/config.js +267 -242
  83. package/src/license/config.js.map +1 -1
  84. package/src/license/dependency-check/check.d.ts +6 -2
  85. package/src/license/dependency-check/check.js +51 -46
  86. package/src/license/dependency-check/check.js.map +1 -1
  87. package/src/license/dependency-check/collectors/collector.js +41 -71
  88. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  89. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  90. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  91. package/src/license/dependency-check/collectors/python-collector.d.ts +4 -0
  92. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  93. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  94. package/src/license/dependency-check/evaluator.d.ts +1 -1
  95. package/src/license/dependency-check/evaluator.js +40 -68
  96. package/src/license/dependency-check/evaluator.js.map +1 -1
  97. package/src/license/dependency-check/executor.d.ts +1 -1
  98. package/src/license/dependency-check/executor.js +30 -22
  99. package/src/license/dependency-check/executor.js.map +1 -1
  100. package/src/license/dependency-check/pre-approved.js +949 -336
  101. package/src/license/dependency-check/pre-approved.js.map +1 -1
  102. package/src/license/dependency-check/types.js +2 -3
  103. package/src/license/dependency-check/types.js.map +1 -1
  104. package/src/license/generator.d.ts +3 -3
  105. package/src/license/generator.js +65 -68
  106. package/src/license/generator.js.map +1 -1
  107. package/src/license/index.d.ts +2 -2
  108. package/src/license/index.js +3 -9
  109. package/src/license/index.js.map +1 -1
  110. package/src/license/known-exceptions.d.ts +2 -2
  111. package/src/license/known-exceptions.js +19 -13
  112. package/src/license/known-exceptions.js.map +1 -1
  113. package/src/license/schema.d.js +6 -0
  114. package/src/license/schema.d.js.map +1 -0
  115. package/src/license/schema.d.ts +2 -0
  116. package/src/license/schema.json +5 -0
  117. package/src/license/sync/generator.d.ts +2 -2
  118. package/src/license/sync/generator.js +94 -119
  119. package/src/license/sync/generator.js.map +1 -1
  120. package/src/license/sync/project-file-sync.d.ts +2 -2
  121. package/src/license/sync/project-file-sync.js +28 -35
  122. package/src/license/sync/project-file-sync.js.map +1 -1
  123. package/src/mcp-server/dev-server.d.ts +1 -0
  124. package/src/mcp-server/dev-server.js +18 -0
  125. package/src/mcp-server/dev-server.js.map +1 -0
  126. package/src/mcp-server/generator-info.d.ts +5 -1
  127. package/src/mcp-server/generator-info.js +149 -165
  128. package/src/mcp-server/generator-info.js.map +1 -1
  129. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  130. package/src/mcp-server/guide-pipeline.js +199 -206
  131. package/src/mcp-server/guide-pipeline.js.map +1 -1
  132. package/src/mcp-server/guide-render.js +10 -25
  133. package/src/mcp-server/guide-render.js.map +1 -1
  134. package/src/mcp-server/index.js +6 -10
  135. package/src/mcp-server/index.js.map +1 -1
  136. package/src/mcp-server/mdx-ast.js +42 -56
  137. package/src/mcp-server/mdx-ast.js.map +1 -1
  138. package/src/mcp-server/option-filter.js +33 -47
  139. package/src/mcp-server/option-filter.js.map +1 -1
  140. package/src/mcp-server/schema-registry.d.ts +9 -3
  141. package/src/mcp-server/schema-registry.js +41 -38
  142. package/src/mcp-server/schema-registry.js.map +1 -1
  143. package/src/mcp-server/schema.d.ts +1 -1
  144. package/src/mcp-server/schema.js +9 -7
  145. package/src/mcp-server/schema.js.map +1 -1
  146. package/src/mcp-server/server.js +24 -24
  147. package/src/mcp-server/server.js.map +1 -1
  148. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  149. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  150. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  151. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  152. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  153. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  154. package/src/mcp-server/tools/general-guidance.d.ts +3 -3
  155. package/src/mcp-server/tools/general-guidance.js +53 -31
  156. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  157. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  158. package/src/mcp-server/tools/generator-guide.js +29 -37
  159. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  160. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  161. package/src/mcp-server/tools/list-generators.js +19 -25
  162. package/src/mcp-server/tools/list-generators.js.map +1 -1
  163. package/src/mcp-server/tools/upgrade-workspace.d.ts +11 -0
  164. package/src/mcp-server/tools/upgrade-workspace.js +32 -0
  165. package/src/mcp-server/tools/upgrade-workspace.js.map +1 -0
  166. package/src/migrations/latest/modernize-function-props-cast/migration.d.ts +6 -0
  167. package/src/migrations/latest/modernize-function-props-cast/migration.js +66 -0
  168. package/src/migrations/latest/modernize-function-props-cast/migration.js.map +1 -0
  169. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.d.ts +6 -0
  170. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.js +110 -0
  171. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.js.map +1 -0
  172. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.d.ts +6 -0
  173. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.js +129 -0
  174. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -0
  175. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  176. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  177. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  178. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  179. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  180. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  181. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  182. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  183. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  184. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  185. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  186. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  187. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +101 -25
  188. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  189. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  190. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  191. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  192. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  193. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  194. package/src/open-api/ts-client/generator.d.ts +3 -3
  195. package/src/open-api/ts-client/generator.js +41 -26
  196. package/src/open-api/ts-client/generator.js.map +1 -1
  197. package/src/open-api/ts-client/schema.d.js +6 -0
  198. package/src/open-api/ts-client/schema.d.js.map +1 -0
  199. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  200. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  201. package/src/open-api/ts-hooks/generator.js +17 -21
  202. package/src/open-api/ts-hooks/generator.js.map +1 -1
  203. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  204. package/src/open-api/ts-hooks/schema.d.js +6 -0
  205. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  206. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  207. package/src/open-api/ts-metadata/generator.js +12 -20
  208. package/src/open-api/ts-metadata/generator.js.map +1 -1
  209. package/src/open-api/ts-metadata/schema.d.js +6 -0
  210. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  211. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  212. package/src/open-api/utils/codegen-data/languages.js +59 -66
  213. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  214. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  215. package/src/open-api/utils/codegen-data/types.js +54 -30
  216. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  217. package/src/open-api/utils/codegen-data.d.ts +8 -4
  218. package/src/open-api/utils/codegen-data.js +494 -674
  219. package/src/open-api/utils/codegen-data.js.map +1 -1
  220. package/src/open-api/utils/normalise.d.ts +5 -1
  221. package/src/open-api/utils/normalise.js +437 -246
  222. package/src/open-api/utils/normalise.js.map +1 -1
  223. package/src/open-api/utils/parse.d.ts +2 -2
  224. package/src/open-api/utils/parse.js +11 -13
  225. package/src/open-api/utils/parse.js.map +1 -1
  226. package/src/open-api/utils/parser.d.ts +55 -0
  227. package/src/open-api/utils/parser.js +787 -0
  228. package/src/open-api/utils/parser.js.map +1 -0
  229. package/src/open-api/utils/refs.d.ts +1 -1
  230. package/src/open-api/utils/refs.js +12 -22
  231. package/src/open-api/utils/refs.js.map +1 -1
  232. package/src/open-api/utils/types.d.ts +18 -0
  233. package/src/open-api/utils/types.js +5 -2
  234. package/src/open-api/utils/types.js.map +1 -1
  235. package/src/preset/__snapshots__/generator.spec.ts.snap +149 -28
  236. package/src/preset/generator.d.ts +4 -4
  237. package/src/preset/generator.js +66 -147
  238. package/src/preset/generator.js.map +1 -1
  239. package/src/preset/schema.d.js +6 -0
  240. package/src/preset/schema.d.js.map +1 -0
  241. package/src/preset/schema.d.ts +6 -2
  242. package/src/preset/schema.json +16 -5
  243. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +321 -0
  244. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  245. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +182 -314
  246. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  247. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  248. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  249. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  250. package/src/py/agent/a2a-connection/generator.js +113 -85
  251. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  252. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  253. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  254. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  255. package/src/py/agent/a2a-connection/schema.json +5 -0
  256. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  257. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  258. package/src/py/agent/files/common/agent.py.template +2 -0
  259. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  260. package/src/py/agent/files/deploy/Dockerfile.template +1 -1
  261. package/src/py/agent/files/http/init.py.template +7 -25
  262. package/src/py/agent/files/http/main.py.template +3 -4
  263. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  264. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  265. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  266. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  267. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  268. package/src/py/agent/gateway-connection/generator.js +119 -0
  269. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  270. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  271. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  272. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  273. package/src/py/agent/gateway-connection/schema.json +31 -0
  274. package/src/py/agent/generator.d.ts +3 -3
  275. package/src/py/agent/generator.js +290 -183
  276. package/src/py/agent/generator.js.map +1 -1
  277. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  278. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  279. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  280. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  281. package/src/py/agent/mcp-connection/generator.js +65 -126
  282. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  283. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  284. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  285. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  286. package/src/py/agent/mcp-connection/schema.json +5 -0
  287. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  288. package/src/py/agent/react-connection/generator.d.ts +4 -4
  289. package/src/py/agent/react-connection/generator.js +55 -59
  290. package/src/py/agent/react-connection/generator.js.map +1 -1
  291. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  292. package/src/py/agent/react-connection/local-dev.js +36 -0
  293. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  294. package/src/py/agent/react-connection/schema.d.js +8 -0
  295. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  296. package/src/py/agent/react-connection/schema.d.ts +1 -0
  297. package/src/py/agent/react-connection/schema.json +5 -0
  298. package/src/py/agent/schema.d.js +6 -0
  299. package/src/py/agent/schema.d.js.map +1 -0
  300. package/src/py/agent/schema.d.ts +2 -1
  301. package/src/py/agent/schema.json +6 -1
  302. package/src/py/api/generator.d.ts +3 -3
  303. package/src/py/api/generator.js +12 -11
  304. package/src/py/api/generator.js.map +1 -1
  305. package/src/py/api/schema.d.js +6 -0
  306. package/src/py/api/schema.d.js.map +1 -0
  307. package/src/py/api/schema.d.ts +1 -0
  308. package/src/py/api/schema.json +5 -0
  309. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1522 -0
  310. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  311. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  312. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  313. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  314. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  315. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  316. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  317. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  318. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  319. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  320. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  321. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  322. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  323. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  324. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  325. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  326. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  327. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  328. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  329. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  330. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  331. package/src/py/dynamodb/files/config.json.template +24 -0
  332. package/src/py/dynamodb/generator.d.ts +10 -0
  333. package/src/py/dynamodb/generator.js +110 -0
  334. package/src/py/dynamodb/generator.js.map +1 -0
  335. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  336. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  337. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  338. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  339. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  340. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  341. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  342. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  343. package/src/py/dynamodb/schema.d.js +6 -0
  344. package/src/py/dynamodb/schema.d.js.map +1 -0
  345. package/src/py/dynamodb/schema.d.ts +16 -0
  346. package/src/py/dynamodb/schema.json +75 -0
  347. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +238 -4694
  348. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  349. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  350. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  351. package/src/py/fast-api/generator.d.ts +3 -3
  352. package/src/py/fast-api/generator.js +90 -87
  353. package/src/py/fast-api/generator.js.map +1 -1
  354. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  355. package/src/py/fast-api/react/generator.d.ts +4 -4
  356. package/src/py/fast-api/react/generator.js +25 -25
  357. package/src/py/fast-api/react/generator.js.map +1 -1
  358. package/src/py/fast-api/react/open-api.d.ts +1 -1
  359. package/src/py/fast-api/react/open-api.js +31 -29
  360. package/src/py/fast-api/react/open-api.js.map +1 -1
  361. package/src/py/fast-api/react/schema.d.js +6 -0
  362. package/src/py/fast-api/react/schema.d.js.map +1 -0
  363. package/src/py/fast-api/react/schema.d.ts +1 -0
  364. package/src/py/fast-api/react/schema.json +5 -0
  365. package/src/py/fast-api/schema.d.js +6 -0
  366. package/src/py/fast-api/schema.d.js.map +1 -0
  367. package/src/py/fast-api/schema.d.ts +1 -0
  368. package/src/py/fast-api/schema.json +5 -0
  369. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  370. package/src/py/lambda-function/generator.d.ts +3 -3
  371. package/src/py/lambda-function/generator.js +60 -59
  372. package/src/py/lambda-function/generator.js.map +1 -1
  373. package/src/py/lambda-function/schema.d.js +6 -0
  374. package/src/py/lambda-function/schema.d.js.map +1 -0
  375. package/src/py/lambda-function/schema.d.ts +1 -0
  376. package/src/py/lambda-function/schema.json +5 -0
  377. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +209 -19
  378. package/src/py/mcp-server/files/deploy/Dockerfile.template +1 -1
  379. package/src/py/mcp-server/generator.d.ts +3 -3
  380. package/src/py/mcp-server/generator.js +163 -127
  381. package/src/py/mcp-server/generator.js.map +1 -1
  382. package/src/py/mcp-server/schema.d.js +6 -0
  383. package/src/py/mcp-server/schema.d.js.map +1 -0
  384. package/src/py/mcp-server/schema.d.ts +1 -0
  385. package/src/py/mcp-server/schema.json +5 -0
  386. package/src/py/project/generator.d.ts +17 -4
  387. package/src/py/project/generator.js +229 -130
  388. package/src/py/project/generator.js.map +1 -1
  389. package/src/py/project/schema.d.js +6 -0
  390. package/src/py/project/schema.d.js.map +1 -0
  391. package/src/py/project/schema.d.ts +1 -0
  392. package/src/py/project/schema.json +5 -0
  393. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2070 -0
  394. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +104 -0
  395. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  396. package/src/py/rdb/agent-connection/generator.js +46 -0
  397. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  398. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  399. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  400. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  401. package/src/py/rdb/agent-connection/schema.json +27 -0
  402. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +44 -0
  403. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  404. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  405. package/src/py/rdb/fast-api-connection/generator.js +54 -0
  406. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  407. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  408. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  409. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  410. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  411. package/src/py/rdb/files/Dockerfile.create-db-user.template +14 -0
  412. package/src/py/rdb/files/Dockerfile.migration.template +14 -0
  413. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  414. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  415. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  416. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  417. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  418. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  419. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  420. package/src/py/rdb/files/alembic.ini.template +38 -0
  421. package/src/py/rdb/files/config.json.template +14 -0
  422. package/src/py/rdb/files/migrations/env.py.template +80 -0
  423. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  424. package/src/py/rdb/generator.d.ts +6 -0
  425. package/src/py/rdb/generator.js +280 -0
  426. package/src/py/rdb/generator.js.map +1 -0
  427. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +101 -0
  428. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  429. package/src/py/rdb/mcp-server-connection/generator.js +46 -0
  430. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  431. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  432. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  433. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  434. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  435. package/src/py/rdb/schema.d.js +6 -0
  436. package/src/py/rdb/schema.d.js.map +1 -0
  437. package/src/py/rdb/schema.d.ts +16 -0
  438. package/src/py/rdb/schema.json +77 -0
  439. package/src/py/rdb/utils.d.ts +6 -0
  440. package/src/py/rdb/utils.js +16 -0
  441. package/src/py/rdb/utils.js.map +1 -0
  442. package/src/sdk/agentcore-gateway.d.ts +6 -0
  443. package/src/sdk/agentcore-gateway.js +7 -0
  444. package/src/sdk/agentcore-gateway.js.map +1 -0
  445. package/src/sdk/connection.d.ts +6 -0
  446. package/src/sdk/connection.js +6 -0
  447. package/src/sdk/connection.js.map +1 -0
  448. package/src/sdk/license.d.ts +8 -0
  449. package/src/sdk/license.js +7 -0
  450. package/src/sdk/license.js.map +1 -0
  451. package/src/sdk/open-api.d.ts +10 -0
  452. package/src/sdk/open-api.js +8 -0
  453. package/src/sdk/open-api.js.map +1 -0
  454. package/src/sdk/py.d.ts +18 -0
  455. package/src/sdk/py.js +12 -0
  456. package/src/sdk/py.js.map +1 -0
  457. package/src/sdk/terraform.d.ts +6 -0
  458. package/src/sdk/terraform.js +7 -0
  459. package/src/sdk/terraform.js.map +1 -0
  460. package/src/sdk/ts.d.ts +39 -0
  461. package/src/sdk/ts.js +41 -0
  462. package/src/sdk/ts.js.map +1 -0
  463. package/{sdk/utils/format.d.ts → src/sdk/utils/ast.d.ts} +1 -1
  464. package/src/sdk/utils/ast.js +6 -0
  465. package/src/sdk/utils/ast.js.map +1 -0
  466. package/{sdk/utils/ast.d.ts → src/sdk/utils/format.d.ts} +1 -2
  467. package/src/sdk/utils/format.js +6 -0
  468. package/src/sdk/utils/format.js.map +1 -0
  469. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  470. package/src/sdk/utils/test.js +6 -0
  471. package/src/sdk/utils/test.js.map +1 -0
  472. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  473. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  474. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  475. package/src/smithy/project/generator.d.ts +3 -3
  476. package/src/smithy/project/generator.js +64 -57
  477. package/src/smithy/project/generator.js.map +1 -1
  478. package/src/smithy/project/schema.d.js +6 -0
  479. package/src/smithy/project/schema.d.js.map +1 -0
  480. package/src/smithy/project/schema.d.ts +1 -0
  481. package/src/smithy/project/schema.json +5 -0
  482. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  483. package/src/smithy/react-connection/generator.d.ts +3 -3
  484. package/src/smithy/react-connection/generator.js +39 -47
  485. package/src/smithy/react-connection/generator.js.map +1 -1
  486. package/src/smithy/react-connection/schema.d.js +6 -0
  487. package/src/smithy/react-connection/schema.d.js.map +1 -0
  488. package/src/smithy/react-connection/schema.d.ts +1 -0
  489. package/src/smithy/react-connection/schema.json +5 -0
  490. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +850 -136
  491. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  492. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  493. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  494. package/src/smithy/ts/api/files/service.ts.template +3 -3
  495. package/src/smithy/ts/api/generator.d.ts +3 -3
  496. package/src/smithy/ts/api/generator.js +131 -105
  497. package/src/smithy/ts/api/generator.js.map +1 -1
  498. package/src/smithy/ts/api/schema.d.js +6 -0
  499. package/src/smithy/ts/api/schema.d.js.map +1 -0
  500. package/src/smithy/ts/api/schema.d.ts +1 -0
  501. package/src/smithy/ts/api/schema.json +5 -0
  502. package/src/terraform/project/files/application/scripts/bootstrap.ts.template +40 -1
  503. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  504. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  505. package/src/terraform/project/generator.d.ts +3 -3
  506. package/src/terraform/project/generator.js +159 -104
  507. package/src/terraform/project/generator.js.map +1 -1
  508. package/src/terraform/project/schema.d.js +9 -0
  509. package/src/terraform/project/schema.d.js.map +1 -0
  510. package/src/terraform/project/schema.d.ts +1 -0
  511. package/src/terraform/project/schema.json +5 -0
  512. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1180 -185
  513. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  514. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  515. package/src/trpc/backend/files/src/index.ts.template +5 -5
  516. package/src/trpc/backend/files/src/init.ts.template +1 -1
  517. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  518. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  519. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  520. package/src/trpc/backend/files/src/router.ts.template +2 -2
  521. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  522. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  523. package/src/trpc/backend/generator.d.ts +4 -4
  524. package/src/trpc/backend/generator.js +100 -84
  525. package/src/trpc/backend/generator.js.map +1 -1
  526. package/src/trpc/backend/schema.d.js +6 -0
  527. package/src/trpc/backend/schema.d.js.map +1 -0
  528. package/src/trpc/backend/schema.d.ts +3 -2
  529. package/src/trpc/backend/schema.json +5 -0
  530. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  531. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  532. package/src/trpc/react/generator.d.ts +4 -4
  533. package/src/trpc/react/generator.js +64 -59
  534. package/src/trpc/react/generator.js.map +1 -1
  535. package/src/trpc/react/schema.d.js +6 -0
  536. package/src/trpc/react/schema.d.js.map +1 -0
  537. package/src/trpc/react/schema.d.ts +1 -0
  538. package/src/trpc/react/schema.json +5 -0
  539. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +792 -23
  540. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +257 -0
  541. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  542. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  543. package/src/ts/agent/a2a-connection/generator.js +65 -55
  544. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  545. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  546. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  547. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  548. package/src/ts/agent/a2a-connection/schema.json +5 -0
  549. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  550. package/src/ts/agent/files/ag-ui/index.ts.template +26 -10
  551. package/src/ts/agent/files/common/agent.ts.template +7 -2
  552. package/src/ts/agent/files/deploy/Dockerfile.template +13 -2
  553. package/src/ts/agent/files/http/client.ts.template +2 -2
  554. package/src/ts/agent/files/http/index.ts.template +2 -2
  555. package/src/ts/agent/files/http/router.ts.template +5 -5
  556. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +221 -0
  557. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  558. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  559. package/src/ts/agent/gateway-connection/generator.js +117 -0
  560. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  561. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  562. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  563. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  564. package/src/ts/agent/gateway-connection/schema.json +31 -0
  565. package/src/ts/agent/generator.d.ts +3 -3
  566. package/src/ts/agent/generator.js +213 -145
  567. package/src/ts/agent/generator.js.map +1 -1
  568. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +193 -111
  569. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  570. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  571. package/src/ts/agent/mcp-connection/generator.js +56 -60
  572. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  573. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  574. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  575. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  576. package/src/ts/agent/mcp-connection/schema.json +5 -0
  577. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  578. package/src/ts/agent/react-connection/generator.js +88 -91
  579. package/src/ts/agent/react-connection/generator.js.map +1 -1
  580. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  581. package/src/ts/agent/react-connection/local-dev.js +17 -0
  582. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  583. package/src/ts/agent/react-connection/schema.d.js +8 -0
  584. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  585. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  586. package/src/ts/agent/react-connection/schema.json +5 -0
  587. package/src/ts/agent/schema.d.js +6 -0
  588. package/src/ts/agent/schema.d.js.map +1 -0
  589. package/src/ts/agent/schema.d.ts +1 -0
  590. package/src/ts/agent/schema.json +5 -0
  591. package/src/ts/api/generator.d.ts +3 -3
  592. package/src/ts/api/generator.js +16 -16
  593. package/src/ts/api/generator.js.map +1 -1
  594. package/src/ts/api/schema.d.js +6 -0
  595. package/src/ts/api/schema.d.js.map +1 -0
  596. package/src/ts/api/schema.d.ts +3 -1
  597. package/src/ts/api/schema.json +5 -0
  598. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  599. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  600. package/src/ts/astro-docs/generator.d.ts +3 -3
  601. package/src/ts/astro-docs/generator.js +80 -54
  602. package/src/ts/astro-docs/generator.js.map +1 -1
  603. package/src/ts/astro-docs/schema.d.js +6 -0
  604. package/src/ts/astro-docs/schema.d.js.map +1 -0
  605. package/src/ts/astro-docs/schema.d.ts +2 -2
  606. package/src/ts/astro-docs/schema.json +3 -3
  607. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +982 -0
  608. package/src/ts/dcr-proxy/generator.d.ts +10 -0
  609. package/src/ts/dcr-proxy/generator.js +98 -0
  610. package/src/ts/dcr-proxy/generator.js.map +1 -0
  611. package/src/ts/dcr-proxy/schema.d.js +6 -0
  612. package/src/ts/dcr-proxy/schema.d.js.map +1 -0
  613. package/src/ts/dcr-proxy/schema.d.ts +13 -0
  614. package/src/ts/dcr-proxy/schema.json +44 -0
  615. package/src/ts/docs/generator.d.ts +3 -3
  616. package/src/ts/docs/generator.js +10 -10
  617. package/src/ts/docs/generator.js.map +1 -1
  618. package/src/ts/docs/schema.d.js +6 -0
  619. package/src/ts/docs/schema.d.js.map +1 -0
  620. package/src/ts/docs/schema.d.ts +1 -4
  621. package/src/ts/docs/schema.json +3 -3
  622. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +402 -518
  623. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  624. package/src/ts/dynamodb/agent-connection/generator.d.ts +3 -3
  625. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  626. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  627. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  628. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  629. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  630. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  631. package/src/ts/dynamodb/files/config.json.template +24 -0
  632. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  633. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  634. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  635. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  636. package/src/ts/dynamodb/generator.d.ts +3 -3
  637. package/src/ts/dynamodb/generator.js +76 -63
  638. package/src/ts/dynamodb/generator.js.map +1 -1
  639. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  640. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +3 -3
  641. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  642. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  643. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  644. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  645. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  646. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  647. package/src/ts/dynamodb/schema.d.js +6 -0
  648. package/src/ts/dynamodb/schema.d.js.map +1 -0
  649. package/src/ts/dynamodb/schema.d.ts +2 -0
  650. package/src/ts/dynamodb/schema.json +25 -2
  651. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  652. package/src/ts/dynamodb/smithy-connection/generator.d.ts +3 -3
  653. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  654. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  655. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  656. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  657. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  658. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  659. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  660. package/src/ts/dynamodb/trpc-connection/generator.d.ts +3 -3
  661. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  662. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  663. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  664. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  665. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  666. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  667. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +8 -6
  668. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  669. package/src/ts/lambda-function/generator.d.ts +3 -3
  670. package/src/ts/lambda-function/generator.js +60 -56
  671. package/src/ts/lambda-function/generator.js.map +1 -1
  672. package/src/ts/lambda-function/io.js +83 -52
  673. package/src/ts/lambda-function/io.js.map +1 -1
  674. package/src/ts/lambda-function/schema.d.js +6 -0
  675. package/src/ts/lambda-function/schema.d.js.map +1 -0
  676. package/src/ts/lambda-function/schema.d.ts +1 -0
  677. package/src/ts/lambda-function/schema.json +5 -0
  678. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +98 -93
  679. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  680. package/src/ts/lib/biome.d.ts +7 -0
  681. package/src/ts/lib/biome.js +91 -0
  682. package/src/ts/lib/biome.js.map +1 -0
  683. package/src/ts/lib/generator.d.ts +3 -3
  684. package/src/ts/lib/generator.js +107 -108
  685. package/src/ts/lib/generator.js.map +1 -1
  686. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  687. package/src/ts/lib/schema.d.js +6 -0
  688. package/src/ts/lib/schema.d.js.map +1 -0
  689. package/src/ts/lib/schema.d.ts +1 -1
  690. package/src/ts/lib/schema.json +5 -0
  691. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  692. package/src/ts/lib/ts-project-utils.js +95 -71
  693. package/src/ts/lib/ts-project-utils.js.map +1 -1
  694. package/src/ts/lib/types.d.ts +6 -0
  695. package/src/ts/lib/types.js +5 -2
  696. package/src/ts/lib/types.js.map +1 -1
  697. package/src/ts/lib/vitest.d.ts +2 -2
  698. package/src/ts/lib/vitest.js +30 -26
  699. package/src/ts/lib/vitest.js.map +1 -1
  700. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +209 -42
  701. package/src/ts/mcp-server/files/Dockerfile.template +13 -2
  702. package/src/ts/mcp-server/generator.d.ts +3 -3
  703. package/src/ts/mcp-server/generator.js +183 -140
  704. package/src/ts/mcp-server/generator.js.map +1 -1
  705. package/src/ts/mcp-server/schema.d.js +6 -0
  706. package/src/ts/mcp-server/schema.d.js.map +1 -0
  707. package/src/ts/mcp-server/schema.d.ts +1 -0
  708. package/src/ts/mcp-server/schema.json +5 -0
  709. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  710. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  711. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  712. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  713. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  714. package/src/ts/nx-generator/generator.d.ts +2 -2
  715. package/src/ts/nx-generator/generator.js +118 -73
  716. package/src/ts/nx-generator/generator.js.map +1 -1
  717. package/src/ts/nx-generator/schema.d.js +6 -0
  718. package/src/ts/nx-generator/schema.d.js.map +1 -0
  719. package/src/ts/nx-generator/schema.d.ts +1 -0
  720. package/src/ts/nx-generator/schema.json +5 -0
  721. package/src/ts/nx-migration/files/migration.spec.ts.template +26 -0
  722. package/src/ts/nx-migration/files/migration.ts.template +61 -0
  723. package/src/ts/nx-migration/files/prompt.md.template +46 -0
  724. package/src/ts/nx-migration/generator.d.ts +24 -0
  725. package/src/ts/nx-migration/generator.js +122 -0
  726. package/src/ts/nx-migration/generator.js.map +1 -0
  727. package/src/ts/nx-migration/schema.d.js +6 -0
  728. package/src/ts/nx-migration/schema.d.js.map +1 -0
  729. package/src/ts/nx-migration/schema.d.ts +13 -0
  730. package/src/ts/nx-migration/schema.json +63 -0
  731. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +36 -25
  732. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  733. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  734. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  735. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  736. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  737. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  738. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +4 -4
  739. package/src/ts/nx-plugin/generator.d.ts +3 -3
  740. package/src/ts/nx-plugin/generator.js +61 -50
  741. package/src/ts/nx-plugin/generator.js.map +1 -1
  742. package/src/ts/nx-plugin/schema.d.js +9 -0
  743. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  744. package/src/ts/nx-plugin/schema.json +5 -0
  745. package/src/ts/nx-plugin/utils.d.ts +21 -1
  746. package/src/ts/nx-plugin/utils.js +60 -51
  747. package/src/ts/nx-plugin/utils.js.map +1 -1
  748. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +551 -642
  749. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  750. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  751. package/src/ts/rdb/agent-connection/generator.js +37 -39
  752. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  753. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  754. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  755. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  756. package/src/ts/rdb/agent-connection/schema.json +5 -0
  757. package/src/ts/rdb/files/Dockerfile.template +19 -1
  758. package/src/ts/rdb/files/config.json.template +14 -0
  759. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  760. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  761. package/src/ts/rdb/files/src/index.ts.template +1 -2
  762. package/src/ts/rdb/files/src/migration-handler.ts.template +5 -30
  763. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  764. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  765. package/src/ts/rdb/generator.d.ts +3 -7
  766. package/src/ts/rdb/generator.js +195 -131
  767. package/src/ts/rdb/generator.js.map +1 -1
  768. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  769. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  770. package/src/ts/rdb/mcp-server-connection/generator.js +35 -37
  771. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  772. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  773. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  774. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  775. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  776. package/src/ts/rdb/schema.d.js +6 -0
  777. package/src/ts/rdb/schema.d.js.map +1 -0
  778. package/src/ts/rdb/schema.d.ts +1 -0
  779. package/src/ts/rdb/schema.json +6 -1
  780. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  781. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  782. package/src/ts/rdb/smithy-connection/generator.js +45 -43
  783. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  784. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  785. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  786. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  787. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  788. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  789. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  790. package/src/ts/rdb/trpc-connection/generator.js +35 -31
  791. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  792. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  793. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  794. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  795. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  796. package/src/ts/rdb/utils.d.ts +1 -1
  797. package/src/ts/rdb/utils.js +9 -11
  798. package/src/ts/rdb/utils.js.map +1 -1
  799. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  800. package/src/ts/react-website/agui/generator.d.ts +1 -1
  801. package/src/ts/react-website/agui/generator.js +70 -62
  802. package/src/ts/react-website/agui/generator.js.map +1 -1
  803. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1455 -881
  804. package/src/ts/react-website/app/generator.d.ts +4 -4
  805. package/src/ts/react-website/app/generator.js +250 -196
  806. package/src/ts/react-website/app/generator.js.map +1 -1
  807. package/src/ts/react-website/app/schema.d.js +6 -0
  808. package/src/ts/react-website/app/schema.d.js.map +1 -0
  809. package/src/ts/react-website/app/schema.d.ts +1 -1
  810. package/src/ts/react-website/app/schema.json +11 -6
  811. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +139 -26
  812. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +48 -12
  813. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  814. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  815. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  816. package/src/ts/react-website/cognito-auth/generator.js +65 -63
  817. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  818. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  819. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  820. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  821. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  822. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  823. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  824. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  825. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  826. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  827. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  828. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  829. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  830. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  831. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  832. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  833. package/src/ts/react-website/runtime-config/generator.js +29 -31
  834. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  835. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  836. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  837. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  838. package/src/ts/react-website/runtime-config/schema.json +5 -0
  839. package/src/ts/sync/generator.d.ts +3 -3
  840. package/src/ts/sync/generator.js +137 -60
  841. package/src/ts/sync/generator.js.map +1 -1
  842. package/src/ts/website/app/generator.d.ts +3 -3
  843. package/src/ts/website/app/generator.js +10 -10
  844. package/src/ts/website/app/generator.js.map +1 -1
  845. package/src/ts/website/app/schema.d.js +6 -0
  846. package/src/ts/website/app/schema.d.js.map +1 -0
  847. package/src/ts/website/app/schema.d.ts +1 -1
  848. package/src/ts/website/app/schema.json +11 -6
  849. package/src/ts/website/auth/generator.d.ts +4 -4
  850. package/src/ts/website/auth/generator.js +11 -10
  851. package/src/ts/website/auth/generator.js.map +1 -1
  852. package/src/ts/website/auth/schema.d.js +6 -0
  853. package/src/ts/website/auth/schema.d.js.map +1 -0
  854. package/src/ts/website/auth/schema.d.ts +1 -0
  855. package/src/ts/website/auth/schema.json +5 -0
  856. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +21 -0
  857. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  858. package/src/utils/agent-chat/agent-chat.js +31 -0
  859. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  860. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  861. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  862. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  863. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  864. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  865. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  866. package/src/utils/agent-connection/agent-connection.js +467 -103
  867. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  868. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  869. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  870. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  871. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  872. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  873. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  874. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  875. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  876. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  877. package/src/utils/agent-connection/files/core-strands/base/tool-errors-strands.ts.template +22 -0
  878. package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +1 -1
  879. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  880. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  881. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  882. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  883. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  884. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  885. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  886. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  887. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  888. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  889. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  890. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  891. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  892. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  893. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  894. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  895. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +12 -3
  896. package/src/utils/agent-core-constructs/agent-core-constructs.js +104 -38
  897. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  898. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +31 -4
  899. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +85 -0
  900. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +497 -0
  901. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  902. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +32 -0
  903. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +488 -0
  904. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  905. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +151 -13
  906. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  907. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  908. package/src/utils/api-constructs/api-constructs.js +50 -31
  909. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  910. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +20 -15
  911. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -16
  912. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  913. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  914. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  915. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +54 -18
  916. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  917. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  918. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  919. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  920. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  921. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  922. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  923. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  924. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  925. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  926. package/src/utils/ast/website.d.ts +5 -1
  927. package/src/utils/ast/website.js +18 -20
  928. package/src/utils/ast/website.js.map +1 -1
  929. package/src/utils/ast.d.ts +5 -1
  930. package/src/utils/ast.js +107 -89
  931. package/src/utils/ast.js.map +1 -1
  932. package/src/utils/base-tsconfig.d.ts +30 -0
  933. package/src/utils/base-tsconfig.js +32 -0
  934. package/src/utils/base-tsconfig.js.map +1 -0
  935. package/src/utils/bundle/bundle.d.ts +1 -1
  936. package/src/utils/bundle/bundle.js +51 -47
  937. package/src/utils/bundle/bundle.js.map +1 -1
  938. package/src/utils/commands.d.ts +15 -5
  939. package/src/utils/commands.js +87 -28
  940. package/src/utils/commands.js.map +1 -1
  941. package/src/utils/config/index.d.ts +21 -5
  942. package/src/utils/config/index.js +5 -4
  943. package/src/utils/config/index.js.map +1 -1
  944. package/src/utils/config/utils.d.ts +5 -4
  945. package/src/utils/config/utils.js +50 -59
  946. package/src/utils/config/utils.js.map +1 -1
  947. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  948. package/src/utils/connection/open-api/react.d.ts +6 -6
  949. package/src/utils/connection/open-api/react.js +82 -77
  950. package/src/utils/connection/open-api/react.js.map +1 -1
  951. package/src/utils/containers.d.ts +1 -1
  952. package/src/utils/containers.js +22 -23
  953. package/src/utils/containers.js.map +1 -1
  954. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +38 -0
  955. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +93 -0
  956. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -0
  957. package/src/utils/dcr-proxy-constructs/files/cdk/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.ts.template +227 -0
  958. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorization-server-metadata.ts.template +39 -0
  959. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorize.ts.template +26 -0
  960. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/mcp-proxy.ts.template +89 -0
  961. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/protected-resource-metadata.ts.template +13 -0
  962. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/register.ts.template +70 -0
  963. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/token.ts.template +75 -0
  964. package/src/utils/dcr-proxy-constructs/files/terraform/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.tf.template +410 -0
  965. package/src/utils/dependencies.d.ts +18 -0
  966. package/src/utils/dependencies.js +206 -0
  967. package/src/utils/dependencies.js.map +1 -0
  968. package/src/utils/docker.d.ts +53 -0
  969. package/src/utils/docker.js +92 -0
  970. package/src/utils/docker.js.map +1 -0
  971. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +3 -3
  972. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  973. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  974. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  975. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  976. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  977. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  978. package/src/utils/files/common/constructs/src/core/cloudfront.ts.template +14 -0
  979. package/src/utils/files/common/constructs/src/core/index.ts.template +5 -4
  980. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  981. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  982. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  983. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  984. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  985. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  986. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +104 -0
  987. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  988. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  989. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  990. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  991. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  992. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  993. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  994. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +115 -0
  995. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  996. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  997. package/src/utils/files/shadcn/components.json.template +1 -1
  998. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  999. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  1000. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  1001. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  1002. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  1003. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  1004. package/src/utils/format.d.ts +81 -3
  1005. package/src/utils/format.js +349 -108
  1006. package/src/utils/format.js.map +1 -1
  1007. package/src/utils/fs.d.ts +1 -1
  1008. package/src/utils/fs.js +14 -13
  1009. package/src/utils/fs.js.map +1 -1
  1010. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  1011. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  1012. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  1013. package/src/utils/function-constructs/function-constructs.js +22 -25
  1014. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  1015. package/src/utils/generators.d.ts +4 -0
  1016. package/src/utils/generators.js +18 -20
  1017. package/src/utils/generators.js.map +1 -1
  1018. package/src/utils/git.d.ts +1 -1
  1019. package/src/utils/git.js +19 -34
  1020. package/src/utils/git.js.map +1 -1
  1021. package/src/utils/iac-providers.js +5 -5
  1022. package/src/utils/iac-providers.js.map +1 -1
  1023. package/src/utils/iac.d.ts +1 -1
  1024. package/src/utils/iac.js +12 -14
  1025. package/src/utils/iac.js.map +1 -1
  1026. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +131 -24
  1027. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  1028. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  1029. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  1030. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  1031. package/src/utils/identity-constructs/identity-constructs.js +42 -31
  1032. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  1033. package/src/utils/init.d.ts +59 -0
  1034. package/src/utils/init.js +282 -0
  1035. package/src/utils/init.js.map +1 -0
  1036. package/src/utils/install.d.ts +32 -0
  1037. package/src/utils/install.js +58 -0
  1038. package/src/utils/install.js.map +1 -0
  1039. package/src/utils/js.d.ts +4 -0
  1040. package/src/utils/js.js +27 -20
  1041. package/src/utils/js.js.map +1 -1
  1042. package/src/utils/mcp.d.ts +10 -1
  1043. package/src/utils/mcp.js +42 -41
  1044. package/src/utils/mcp.js.map +1 -1
  1045. package/src/utils/metrics.d.ts +9 -3
  1046. package/src/utils/metrics.js +61 -46
  1047. package/src/utils/metrics.js.map +1 -1
  1048. package/src/utils/migration-versions.d.ts +95 -0
  1049. package/src/utils/migration-versions.js +128 -0
  1050. package/src/utils/migration-versions.js.map +1 -0
  1051. package/src/utils/mock-project-graph.js +8 -12
  1052. package/src/utils/mock-project-graph.js.map +1 -1
  1053. package/src/utils/module-format.d.ts +25 -0
  1054. package/src/utils/module-format.js +45 -0
  1055. package/src/utils/module-format.js.map +1 -0
  1056. package/src/utils/names.d.ts +22 -0
  1057. package/src/utils/names.js +44 -48
  1058. package/src/utils/names.js.map +1 -1
  1059. package/src/utils/npm-scope.d.ts +1 -5
  1060. package/src/utils/npm-scope.js +7 -20
  1061. package/src/utils/npm-scope.js.map +1 -1
  1062. package/src/utils/nx.d.ts +57 -4
  1063. package/src/utils/nx.js +192 -75
  1064. package/src/utils/nx.js.map +1 -1
  1065. package/src/utils/nxlv-python.d.ts +1 -1
  1066. package/src/utils/nxlv-python.js +27 -15
  1067. package/src/utils/nxlv-python.js.map +1 -1
  1068. package/src/utils/object.js +5 -11
  1069. package/src/utils/object.js.map +1 -1
  1070. package/src/utils/paths.d.ts +1 -1
  1071. package/src/utils/paths.js +11 -15
  1072. package/src/utils/paths.js.map +1 -1
  1073. package/src/utils/pkg-manager.js +4 -9
  1074. package/src/utils/pkg-manager.js.map +1 -1
  1075. package/src/utils/pnpm-workspace.d.ts +1 -12
  1076. package/src/utils/pnpm-workspace.js +16 -43
  1077. package/src/utils/pnpm-workspace.js.map +1 -1
  1078. package/src/utils/port.d.ts +29 -7
  1079. package/src/utils/port.js +67 -28
  1080. package/src/utils/port.js.map +1 -1
  1081. package/src/utils/project-package-json.d.ts +39 -0
  1082. package/src/utils/project-package-json.js +119 -0
  1083. package/src/utils/project-package-json.js.map +1 -0
  1084. package/src/utils/py.d.ts +16 -3
  1085. package/src/utils/py.js +72 -47
  1086. package/src/utils/py.js.map +1 -1
  1087. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1088. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +112 -88
  1089. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1090. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +60 -53
  1091. package/src/utils/rdb-constructs/rdb-constructs.d.ts +15 -4
  1092. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1093. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1094. package/src/utils/ruff.d.ts +59 -0
  1095. package/src/utils/ruff.js +140 -0
  1096. package/src/utils/ruff.js.map +1 -0
  1097. package/src/utils/shared-constructs-constants.d.ts +1 -0
  1098. package/src/utils/shared-constructs-constants.js +16 -15
  1099. package/src/utils/shared-constructs-constants.js.map +1 -1
  1100. package/src/utils/shared-constructs.d.ts +2 -2
  1101. package/src/utils/shared-constructs.js +61 -67
  1102. package/src/utils/shared-constructs.js.map +1 -1
  1103. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  1104. package/src/utils/shared-dynamodb-scripts.js +27 -0
  1105. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1106. package/src/utils/shared-infra-config.d.ts +1 -1
  1107. package/src/utils/shared-infra-config.js +31 -30
  1108. package/src/utils/shared-infra-config.js.map +1 -1
  1109. package/src/utils/shared-infra-scripts.d.ts +11 -0
  1110. package/src/utils/shared-infra-scripts.js +43 -0
  1111. package/src/utils/shared-infra-scripts.js.map +1 -0
  1112. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  1113. package/src/utils/shared-rdb-scripts.js +45 -0
  1114. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1115. package/src/utils/shared-scripts.d.ts +2 -5
  1116. package/src/utils/shared-scripts.js +12 -38
  1117. package/src/utils/shared-scripts.js.map +1 -1
  1118. package/src/utils/shared-shadcn.d.ts +1 -1
  1119. package/src/utils/shared-shadcn.js +69 -72
  1120. package/src/utils/shared-shadcn.js.map +1 -1
  1121. package/src/utils/test-git.d.ts +39 -0
  1122. package/src/utils/test-git.js +117 -0
  1123. package/src/utils/test-git.js.map +1 -0
  1124. package/src/utils/test.d.ts +15 -1
  1125. package/src/utils/test.js +46 -23
  1126. package/src/utils/test.js.map +1 -1
  1127. package/src/utils/toml.d.ts +6 -1
  1128. package/src/utils/toml.js +20 -14
  1129. package/src/utils/toml.js.map +1 -1
  1130. package/src/utils/versions.d.ts +161 -99
  1131. package/src/utils/versions.js +177 -116
  1132. package/src/utils/versions.js.map +1 -1
  1133. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1134. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +203 -41
  1135. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1136. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1137. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  1138. package/src/utils/website-constructs/website-constructs.js +38 -30
  1139. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1140. package/bin/aws-nx-mcp.d.ts +0 -2
  1141. package/bin/aws-nx-mcp.js +0 -17
  1142. package/bin/aws-nx-mcp.js.map +0 -1
  1143. package/sdk/connection.d.ts +0 -6
  1144. package/sdk/connection.js +0 -10
  1145. package/sdk/connection.js.map +0 -1
  1146. package/sdk/license.d.ts +0 -8
  1147. package/sdk/license.js +0 -13
  1148. package/sdk/license.js.map +0 -1
  1149. package/sdk/open-api.d.ts +0 -10
  1150. package/sdk/open-api.js +0 -15
  1151. package/sdk/open-api.js.map +0 -1
  1152. package/sdk/py.d.ts +0 -14
  1153. package/sdk/py.js +0 -18
  1154. package/sdk/py.js.map +0 -1
  1155. package/sdk/terraform.d.ts +0 -6
  1156. package/sdk/terraform.js +0 -11
  1157. package/sdk/terraform.js.map +0 -1
  1158. package/sdk/ts.d.ts +0 -29
  1159. package/sdk/ts.js +0 -47
  1160. package/sdk/ts.js.map +0 -1
  1161. package/sdk/utils/ast.js +0 -12
  1162. package/sdk/utils/ast.js.map +0 -1
  1163. package/sdk/utils/format.js +0 -10
  1164. package/sdk/utils/format.js.map +0 -1
  1165. package/sdk/utils/test.js +0 -10
  1166. package/sdk/utils/test.js.map +0 -1
  1167. package/src/connection/agent-serve-local.js +0 -48
  1168. package/src/connection/agent-serve-local.js.map +0 -1
  1169. package/src/connection/serve-local.d.ts +0 -15
  1170. package/src/connection/serve-local.js +0 -41
  1171. package/src/connection/serve-local.js.map +0 -1
  1172. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1173. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1174. package/src/py/agent/react-connection/serve-local.js +0 -30
  1175. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1176. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1177. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1178. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1179. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  1180. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1181. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1182. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1183. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1184. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1185. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1186. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1187. package/src/ts/lib/eslint.d.ts +0 -14
  1188. package/src/ts/lib/eslint.js +0 -90
  1189. package/src/ts/lib/eslint.js.map +0 -1
  1190. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1191. package/src/ts/rdb/files/scripts/pull-image.ts.template +0 -15
  1192. package/src/ts/rdb/files/scripts/start-container.ts.template +0 -84
  1193. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1194. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1195. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1196. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1197. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1198. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1199. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1200. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1201. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1202. /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
  1203. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1204. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1205. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { Tree } from '@nx/devkit';
5
+ import type { Tree } from '@nx/devkit';
6
6
  /**
7
7
  * Merge `allowBuilds` (pnpm 11) / `onlyBuiltDependencies` (pnpm 10) entries
8
8
  * into the generated workspace's `pnpm-workspace.yaml`. No-op for non-pnpm
@@ -20,14 +20,3 @@ import { Tree } from '@nx/devkit';
20
20
  * allowlist has no equivalent of the `false` decision).
21
21
  */
22
22
  export declare const registerPnpmBuiltDependencies: (tree: Tree, entries: Record<string, boolean>) => void;
23
- /**
24
- * Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`
25
- * from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.
26
- *
27
- * pnpm 11 no longer honours `ignore-workspace-root-check=true` in `.npmrc`;
28
- * it must live in `pnpm-workspace.yaml` as the camelCased key. pnpm 10 also
29
- * accepts the yaml form, so writing it here works for both majors.
30
- *
31
- * No-op for non-pnpm workspaces or when `pnpm-workspace.yaml` is absent.
32
- */
33
- export declare const ensurePnpmIgnoresWorkspaceRootCheck: (tree: Tree) => boolean;
@@ -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 yaml from "js-yaml";
5
+ import { detectWorkspacePackageManager } from "./dependencies.js";
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 (detectWorkspacePackageManager(tree) !== '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,35 +47,12 @@ 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
- /**
59
- * Set `ignoreWorkspaceRootCheck: true` in `pnpm-workspace.yaml` so `pnpm add`
60
- * from the workspace root does not error with `ERR_PNPM_ADDING_TO_ROOT`.
61
- *
62
- * pnpm 11 no longer honours `ignore-workspace-root-check=true` in `.npmrc`;
63
- * it must live in `pnpm-workspace.yaml` as the camelCased key. pnpm 10 also
64
- * accepts the yaml form, so writing it here works for both majors.
65
- *
66
- * 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') {
70
- return false;
71
- }
72
- if (!tree.exists(WORKSPACE_FILE)) {
73
- return false;
74
- }
75
- const original = tree.read(WORKSPACE_FILE, 'utf-8') ?? '';
76
- const parsed = js_yaml_1.default.load(original) ?? {};
77
- if (parsed.ignoreWorkspaceRootCheck === true) {
78
- return false;
79
- }
80
- parsed.ignoreWorkspaceRootCheck = true;
81
- tree.write(WORKSPACE_FILE, js_yaml_1.default.dump(parsed, { quotingType: "'" }));
82
- return true;
83
- };
84
- exports.ensurePnpmIgnoresWorkspaceRootCheck = ensurePnpmIgnoresWorkspaceRootCheck;
57
+
85
58
  //# 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 type { Tree } from '@nx/devkit';\nimport yaml from 'js-yaml';\nimport { detectWorkspacePackageManager } from './dependencies';\n\nconst WORKSPACE_FILE = 'pnpm-workspace.yaml';\n\ninterface PnpmWorkspaceYaml {\n allowBuilds?: Record<string, boolean>;\n onlyBuiltDependencies?: string[];\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 (detectWorkspacePackageManager(tree) !== '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"],"names":["yaml","detectWorkspacePackageManager","WORKSPACE_FILE","registerPnpmBuiltDependencies","tree","entries","exists","original","read","parsed","load","allowBuilds","onlyBuiltDependencies","Set","changed","pkg","decision","Object","has","add","write","dump","quotingType"],"mappings":"AAAA;;;CAGC,GAED,OAAOA,UAAU,UAAU;AAC3B,SAASC,6BAA6B,QAAQ,oBAAiB;AAE/D,MAAMC,iBAAiB;AAQvB;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMC,gCAAgC,CAC3CC,MACAC;IAEA,IAAIJ,8BAA8BG,UAAU,QAAQ;QAClD;IACF;IACA,IAAI,CAACA,KAAKE,MAAM,CAACJ,iBAAiB;QAChC;IACF;IAEA,MAAMK,WAAWH,KAAKI,IAAI,CAACN,gBAAgB,YAAY;IACvD,MAAMO,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,OAAOZ,OAAO,CAACA,SAAU;QACrD,IAAIM,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;IAEzDR,KAAKgB,KAAK,CAAClB,gBAAgBF,KAAKqB,IAAI,CAACZ,QAAQ;QAAEa,aAAa;IAAI;AAClE,EAAE"}
@@ -2,15 +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
6
  /**
7
- * Assign a port shared across all projects created by the same generator.
8
- * If a sibling project already has a port assigned, reuse it; otherwise assign a fresh one.
9
- * Mutates the project to register the port in its metadata.ports.
7
+ * Options for assigning a port to a target within a project.
10
8
  */
11
- export declare const assignSharedPort: (tree: Tree, project: ProjectConfiguration, generatorId: string, startPort: number) => number;
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;
12
30
  /**
13
31
  * Assign a port for a particular target within a project.
14
- * 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.
15
37
  */
16
- 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,62 +1,101 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assignPort = exports.assignSharedPort = 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";
9
5
  /**
10
- * Assign a port shared across all projects created by the same generator.
11
- * If a sibling project already has a port assigned, reuse it; otherwise assign a fresh one.
12
- * Mutates the project to register the port in its metadata.ports.
13
- */
14
- const assignSharedPort = (tree, project, generatorId, startPort) => {
15
- const existingPort = [...(0, devkit_1.getProjects)(tree).values()].find((p) => p.metadata?.generator === generatorId)?.metadata;
16
- if (existingPort?.ports?.[0] !== undefined) {
17
- const port = existingPort.ports[0];
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) {
18
50
  project.metadata ??= {};
19
51
  project.metadata.ports = [
20
- ...(project.metadata.ports ?? []),
21
- port,
52
+ ...project.metadata.ports ?? [],
53
+ siblingPort
22
54
  ];
23
- return port;
55
+ return siblingPort;
24
56
  }
25
- return (0, exports.assignPort)(tree, project, startPort);
57
+ return assignPort(tree, project, startPort);
26
58
  };
27
- exports.assignSharedPort = assignSharedPort;
28
59
  /**
29
60
  * Assign a port for a particular target within a project.
30
- * Mutates the project to add/update its metadata.ports with the newly assigned port
31
- */
32
- 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
+ }
33
72
  // Find all existing ports
34
- const allPorts = new Set([...(0, devkit_1.getProjects)(tree).values()].flatMap((p) => {
73
+ const allPorts = new Set([
74
+ ...getProjects(tree).values()
75
+ ].flatMap((p)=>{
35
76
  const metadata = p.metadata;
36
77
  const ports = [];
37
78
  // Support old port assignment where each project registered a single port
38
79
  if (metadata?.port && typeof metadata.port === 'number') {
39
80
  ports.push(metadata.port);
40
81
  }
41
- if (metadata?.ports &&
42
- typeof metadata.ports === 'object' &&
43
- Array.isArray(metadata.ports)) {
82
+ if (metadata?.ports && typeof metadata.ports === 'object' && Array.isArray(metadata.ports)) {
44
83
  ports.push(...metadata.ports);
45
84
  }
46
85
  return ports;
47
86
  }));
48
87
  // Find the next available port higher than the start port
49
88
  let candidatePort = startPort;
50
- while (allPorts.has(candidatePort)) {
89
+ while(allPorts.has(candidatePort)){
51
90
  candidatePort++;
52
91
  }
53
92
  project.metadata ??= {};
54
93
  project.metadata.ports ??= [];
55
94
  project.metadata.ports = [
56
95
  ...project.metadata.ports,
57
- candidatePort,
96
+ candidatePort
58
97
  ];
59
98
  return candidatePort;
60
99
  };
61
- exports.assignPort = assignPort;
100
+
62
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;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,OAA6B,EAC7B,WAAmB,EACnB,SAAiB,EACT,EAAE;IACV,MAAM,YAAY,GAAG,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,QAAgB,EAAE,SAAS,KAAK,WAAW,CACtD,EAAE,QAAe,CAAC;IAEnB,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;QAC7C,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,QAAgB,CAAC,KAAK,GAAG;YAChC,GAAG,CAAE,OAAO,CAAC,QAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI;SACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,OAA6B,EAC7B,SAAiB,EACjB,EAAE;IACF,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,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,IACE,QAAQ,EAAE,KAAK;YACf,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IAEF,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;AAvCW,QAAA,UAAU,cAuCrB"}
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":"AAAA;;;CAGC,GACD,SAASA,WAAW,QAA8C,aAAa;AAE/E;;;CAGC,GACD,MAAMC,yBAAyB,CAC7BC;IAEA,MAAMC,WAAWD,QAAQC,QAAQ;IACjC,IAAIC,MAAMC,OAAO,CAACF,UAAUG,UAAU,OAAOH,SAASG,KAAK,CAAC,EAAE,KAAK,UAAU;QAC3E,OAAOH,SAASG,KAAK,CAAC,EAAE;IAC1B;IACA,IAAI,OAAOH,UAAUI,SAAS,UAAU;QACtC,OAAOJ,SAASI,IAAI;IACtB;IACA,OAAOC;AACT;AAEA;;;;CAIC,GACD,MAAMC,2BAA2B,CAC/BP,SACAQ;IAEA,MAAMC,aAAa,AAACT,QAAQC,QAAQ,EAAUQ,cAAc,EAAE;IAC9D,MAAMC,QAAQD,WAAWE,IAAI,CAC3B,CAACC,IAAWA,EAAEC,SAAS,KAAKL,UAAUM,IAAI,CAACC,EAAE,IAAIH,EAAEI,IAAI,KAAKR,UAAUQ,IAAI;IAE5E,OAAO,OAAON,OAAOL,SAAS,WAAWK,MAAML,IAAI,GAAGC;AACxD;AAcA;;;;;;CAMC,GACD,OAAO,MAAMW,mBAAmB,CAC9BC,MACAlB,SACAmB,aACAC;IAEA,MAAMC,eAAenB,MAAMC,OAAO,CAACgB,eAAeA,cAAc;QAACA;KAAY;IAE7E,6EAA6E;IAC7E,MAAMG,UAAUvB,uBAAuBC;IACvC,IAAIsB,YAAYhB,WAAW;QACzB,OAAOgB;IACT;IAEA,gEAAgE;IAChE,MAAMC,cAAc;WAAIzB,YAAYoB,MAAMM,MAAM;KAAG,CAChDC,MAAM,CAAC,CAACC,IAAMA,EAAEV,IAAI,KAAKhB,QAAQgB,IAAI,EACrCW,GAAG,CAAC,CAACD,IAAO,CAAA;YACXb,WAAYa,EAAEzB,QAAQ,EAAUY;YAChCR,MAAMN,uBAAuB2B;QAC/B,CAAA,GACCf,IAAI,CACH,CAACe,IAAML,aAAaO,QAAQ,CAACF,EAAEb,SAAS,KAAKa,EAAErB,IAAI,KAAKC,YACvDD;IAEL,IAAIkB,gBAAgBjB,WAAW;QAC7BN,QAAQC,QAAQ,KAAK,CAAC;QACrBD,QAAQC,QAAQ,CAASG,KAAK,GAAG;eAC5B,AAACJ,QAAQC,QAAQ,CAASG,KAAK,IAAI,EAAE;YACzCmB;SACD;QACD,OAAOA;IACT;IAEA,OAAOM,WAAWX,MAAMlB,SAASoB;AACnC,EAAE;AAEF;;;;;;;CAOC,GACD,OAAO,MAAMS,aAAa,CACxBX,MACAlB,SACAoB,WACAU;IAEA,oEAAoE;IACpE,MAAMC,eAAeD,SAAStB,YAC1BD,yBAAyBP,SAAS8B,QAAQtB,SAAS,IACnDT,uBAAuBC;IAC3B,IAAI+B,iBAAiBzB,WAAW;QAC9B,OAAOyB;IACT;IAEA,0BAA0B;IAC1B,MAAMC,WAAW,IAAIC,IACnB;WAAInC,YAAYoB,MAAMM,MAAM;KAAG,CAACU,OAAO,CAAC,CAACR;QACvC,MAAMzB,WAAWyB,EAAEzB,QAAQ;QAC3B,MAAMG,QAAkB,EAAE;QAC1B,0EAA0E;QAC1E,IAAIH,UAAUI,QAAQ,OAAOJ,SAASI,IAAI,KAAK,UAAU;YACvDD,MAAM+B,IAAI,CAAClC,SAASI,IAAI;QAC1B;QACA,IACEJ,UAAUG,SACV,OAAOH,SAASG,KAAK,KAAK,YAC1BF,MAAMC,OAAO,CAACF,SAASG,KAAK,GAC5B;YACAA,MAAM+B,IAAI,IAAIlC,SAASG,KAAK;QAC9B;QACA,OAAOA;IACT;IAGF,0DAA0D;IAC1D,IAAIgC,gBAAgBhB;IACpB,MAAOY,SAASK,GAAG,CAACD,eAAgB;QAClCA;IACF;IAEApC,QAAQC,QAAQ,KAAK,CAAC;IACrBD,QAAQC,QAAQ,CAASG,KAAK,KAAK,EAAE;IACrCJ,QAAQC,QAAQ,CAASG,KAAK,GAAG;WAC7B,AAACJ,QAAQC,QAAQ,CAASG,KAAK;QAClCgC;KACD;IAED,OAAOA;AACT,EAAE"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type Tree } from '@nx/devkit';
6
+ export interface EnsureProjectPackageJsonOptions {
7
+ /** Directory of the project relative to the workspace root */
8
+ readonly dir: string;
9
+ /** Full package name including scope (eg @foo/bar) */
10
+ readonly fullyQualifiedName: string;
11
+ /** Module format. Defaults to the workspace format, written explicitly. */
12
+ readonly esm?: boolean;
13
+ }
14
+ /**
15
+ * Ensure the project has its own minimal private package.json, so the workspace
16
+ * follows the standard npm package layout (package managers link projects,
17
+ * filtered installs work, nearest-package.json `type` lookup resolves).
18
+ * Cross-project imports resolve via tsconfig `paths` aliases, not the manifest.
19
+ */
20
+ export declare const ensureProjectPackageJson: (tree: Tree, options: EnsureProjectPackageJsonOptions) => void;
21
+ /**
22
+ * Ensure the package manager's workspace globs match the given project
23
+ * directory, so the project's package.json participates in workspace
24
+ * resolution and filtered installs.
25
+ *
26
+ * pnpm reads globs from `pnpm-workspace.yaml`; other package managers read
27
+ * the root package.json `workspaces` field. A directory not covered by an
28
+ * existing glob is added as an exact entry.
29
+ */
30
+ export declare const ensureWorkspaceGlobCovers: (tree: Tree, dir: string) => void;
31
+ /**
32
+ * The root package.json `workspaces` field: an array of globs, or the object
33
+ * form (`{ "packages": [...] }`) accepted by yarn and bun.
34
+ */
35
+ export type WorkspacesField = string[] | {
36
+ packages?: string[];
37
+ };
38
+ /** The workspace globs carried by either form of the `workspaces` field. */
39
+ export declare const workspaceGlobs: (workspaces: WorkspacesField | undefined) => string[];
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { joinPathFragments, readJson, updateJson, writeJson } from "@nx/devkit";
5
+ import yaml from "js-yaml";
6
+ import { minimatch } from "minimatch";
7
+ import { detectWorkspacePackageManager } from "./dependencies.js";
8
+ import { isEsmWorkspace } from "./module-format.js";
9
+ /**
10
+ * Ensure the project has its own minimal private package.json, so the workspace
11
+ * follows the standard npm package layout (package managers link projects,
12
+ * filtered installs work, nearest-package.json `type` lookup resolves).
13
+ * Cross-project imports resolve via tsconfig `paths` aliases, not the manifest.
14
+ */ export const ensureProjectPackageJson = (tree, options)=>{
15
+ const packageJsonPath = joinPathFragments(options.dir, 'package.json');
16
+ const esm = options.esm ?? isEsmWorkspace(tree);
17
+ if (!tree.exists(packageJsonPath)) {
18
+ writeJson(tree, packageJsonPath, {
19
+ name: options.fullyQualifiedName,
20
+ version: '0.0.0',
21
+ private: true
22
+ });
23
+ }
24
+ updateJson(tree, packageJsonPath, (packageJson)=>{
25
+ // Strip @nx/js's default `./dist` entry points: that path doesn't exist in
26
+ // this layout (tsc outputs to `dist/<project>/tsc` at the root) and imports
27
+ // resolve via tsconfig aliases. User-customised entry points are kept.
28
+ for (const field of [
29
+ 'main',
30
+ 'module',
31
+ 'types'
32
+ ]){
33
+ if (packageJson[field]?.startsWith('./dist/')) {
34
+ delete packageJson[field];
35
+ }
36
+ }
37
+ if (packageJson.exports?.['.']?.import?.startsWith('./dist/')) {
38
+ // Drop only the stale default entry; user-added subpath exports are kept.
39
+ // Its './package.json' companion is dropped too, since an exports map
40
+ // without '.' would block root imports.
41
+ delete packageJson.exports['.'];
42
+ const remaining = Object.keys(packageJson.exports);
43
+ if (remaining.length === 0 || remaining.length === 1 && remaining[0] === './package.json') {
44
+ delete packageJson.exports;
45
+ }
46
+ }
47
+ return {
48
+ ...packageJson,
49
+ name: options.fullyQualifiedName,
50
+ private: packageJson.private ?? true,
51
+ // Written explicitly so the module format is stable however consumed.
52
+ type: esm ? 'module' : 'commonjs'
53
+ };
54
+ });
55
+ ensureWorkspaceGlobCovers(tree, options.dir);
56
+ };
57
+ /**
58
+ * Ensure the package manager's workspace globs match the given project
59
+ * directory, so the project's package.json participates in workspace
60
+ * resolution and filtered installs.
61
+ *
62
+ * pnpm reads globs from `pnpm-workspace.yaml`; other package managers read
63
+ * the root package.json `workspaces` field. A directory not covered by an
64
+ * existing glob is added as an exact entry.
65
+ */ export const ensureWorkspaceGlobCovers = (tree, dir)=>{
66
+ // Update whichever markers the workspace carries (both when both are
67
+ // present, e.g. the test helper).
68
+ const usePnpmWorkspace = detectWorkspacePackageManager(tree) === 'pnpm';
69
+ if (usePnpmWorkspace) {
70
+ const parsed = yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') ?? {};
71
+ const packages = parsed.packages ?? [];
72
+ if (!globsCover(packages, dir)) {
73
+ tree.write('pnpm-workspace.yaml', yaml.dump({
74
+ ...parsed,
75
+ packages: [
76
+ ...packages,
77
+ dir
78
+ ]
79
+ }, {
80
+ quotingType: "'"
81
+ }));
82
+ }
83
+ }
84
+ if (tree.exists('package.json')) {
85
+ const { workspaces } = readJson(tree, 'package.json');
86
+ if (workspaces !== undefined && !globsCover(workspaceGlobs(workspaces), dir)) {
87
+ updateJson(tree, 'package.json', (packageJson)=>({
88
+ ...packageJson,
89
+ workspaces: appendWorkspaceGlob(packageJson.workspaces, dir)
90
+ }));
91
+ } else if (workspaces === undefined && !usePnpmWorkspace) {
92
+ updateJson(tree, 'package.json', (packageJson)=>({
93
+ ...packageJson,
94
+ workspaces: [
95
+ dir
96
+ ]
97
+ }));
98
+ }
99
+ }
100
+ };
101
+ /** The workspace globs carried by either form of the `workspaces` field. */ export const workspaceGlobs = (workspaces)=>Array.isArray(workspaces) ? workspaces : workspaces?.packages ?? [];
102
+ /** Append a glob to the `workspaces` field, preserving its existing form. */ const appendWorkspaceGlob = (workspaces, glob)=>{
103
+ const globs = [
104
+ ...workspaceGlobs(workspaces),
105
+ glob
106
+ ];
107
+ return workspaces !== undefined && !Array.isArray(workspaces) ? {
108
+ ...workspaces,
109
+ packages: globs
110
+ } : globs;
111
+ };
112
+ /**
113
+ * Whether the workspace globs match the directory. Negated globs (`!foo`)
114
+ * always exclude, regardless of where they appear in the list — package
115
+ * managers apply exclusions after expanding the positive patterns, so
116
+ * ordering is not significant.
117
+ */ const globsCover = (globs, dir)=>globs.some((glob)=>!glob.startsWith('!') && minimatch(dir, glob)) && !globs.some((glob)=>glob.startsWith('!') && minimatch(dir, glob.slice(1)));
118
+
119
+ //# sourceMappingURL=project-package-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/project-package-json.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n joinPathFragments,\n readJson,\n type Tree,\n updateJson,\n writeJson,\n} from '@nx/devkit';\nimport yaml from 'js-yaml';\nimport { minimatch } from 'minimatch';\nimport { detectWorkspacePackageManager } from './dependencies';\nimport { isEsmWorkspace } from './module-format';\n\nexport interface EnsureProjectPackageJsonOptions {\n /** Directory of the project relative to the workspace root */\n readonly dir: string;\n /** Full package name including scope (eg @foo/bar) */\n readonly fullyQualifiedName: string;\n /** Module format. Defaults to the workspace format, written explicitly. */\n readonly esm?: boolean;\n}\n\n/**\n * Ensure the project has its own minimal private package.json, so the workspace\n * follows the standard npm package layout (package managers link projects,\n * filtered installs work, nearest-package.json `type` lookup resolves).\n * Cross-project imports resolve via tsconfig `paths` aliases, not the manifest.\n */\nexport const ensureProjectPackageJson = (\n tree: Tree,\n options: EnsureProjectPackageJsonOptions,\n): void => {\n const packageJsonPath = joinPathFragments(options.dir, 'package.json');\n const esm = options.esm ?? isEsmWorkspace(tree);\n\n if (!tree.exists(packageJsonPath)) {\n writeJson(tree, packageJsonPath, {\n name: options.fullyQualifiedName,\n version: '0.0.0',\n private: true,\n });\n }\n\n updateJson(tree, packageJsonPath, (packageJson) => {\n // Strip @nx/js's default `./dist` entry points: that path doesn't exist in\n // this layout (tsc outputs to `dist/<project>/tsc` at the root) and imports\n // resolve via tsconfig aliases. User-customised entry points are kept.\n for (const field of ['main', 'module', 'types'] as const) {\n if (packageJson[field]?.startsWith('./dist/')) {\n delete packageJson[field];\n }\n }\n if (packageJson.exports?.['.']?.import?.startsWith('./dist/')) {\n // Drop only the stale default entry; user-added subpath exports are kept.\n // Its './package.json' companion is dropped too, since an exports map\n // without '.' would block root imports.\n delete packageJson.exports['.'];\n const remaining = Object.keys(packageJson.exports);\n if (\n remaining.length === 0 ||\n (remaining.length === 1 && remaining[0] === './package.json')\n ) {\n delete packageJson.exports;\n }\n }\n return {\n ...packageJson,\n name: options.fullyQualifiedName,\n private: packageJson.private ?? true,\n // Written explicitly so the module format is stable however consumed.\n type: esm ? 'module' : 'commonjs',\n };\n });\n\n ensureWorkspaceGlobCovers(tree, options.dir);\n};\n\n/**\n * Ensure the package manager's workspace globs match the given project\n * directory, so the project's package.json participates in workspace\n * resolution and filtered installs.\n *\n * pnpm reads globs from `pnpm-workspace.yaml`; other package managers read\n * the root package.json `workspaces` field. A directory not covered by an\n * existing glob is added as an exact entry.\n */\nexport const ensureWorkspaceGlobCovers = (tree: Tree, dir: string): void => {\n // Update whichever markers the workspace carries (both when both are\n // present, e.g. the test helper).\n const usePnpmWorkspace = detectWorkspacePackageManager(tree) === 'pnpm';\n\n if (usePnpmWorkspace) {\n const parsed =\n (yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') as Record<\n string,\n unknown\n >) ?? {};\n const packages = (parsed.packages as string[]) ?? [];\n if (!globsCover(packages, dir)) {\n tree.write(\n 'pnpm-workspace.yaml',\n yaml.dump(\n { ...parsed, packages: [...packages, dir] },\n { quotingType: \"'\" },\n ),\n );\n }\n }\n\n if (tree.exists('package.json')) {\n const { workspaces } = readJson<{ workspaces?: WorkspacesField }>(\n tree,\n 'package.json',\n );\n if (\n workspaces !== undefined &&\n !globsCover(workspaceGlobs(workspaces), dir)\n ) {\n updateJson(tree, 'package.json', (packageJson) => ({\n ...packageJson,\n workspaces: appendWorkspaceGlob(packageJson.workspaces, dir),\n }));\n } else if (workspaces === undefined && !usePnpmWorkspace) {\n updateJson(tree, 'package.json', (packageJson) => ({\n ...packageJson,\n workspaces: [dir],\n }));\n }\n }\n};\n\n/**\n * The root package.json `workspaces` field: an array of globs, or the object\n * form (`{ \"packages\": [...] }`) accepted by yarn and bun.\n */\nexport type WorkspacesField = string[] | { packages?: string[] };\n\n/** The workspace globs carried by either form of the `workspaces` field. */\nexport const workspaceGlobs = (\n workspaces: WorkspacesField | undefined,\n): string[] =>\n Array.isArray(workspaces) ? workspaces : (workspaces?.packages ?? []);\n\n/** Append a glob to the `workspaces` field, preserving its existing form. */\nconst appendWorkspaceGlob = (\n workspaces: WorkspacesField | undefined,\n glob: string,\n): WorkspacesField => {\n const globs = [...workspaceGlobs(workspaces), glob];\n return workspaces !== undefined && !Array.isArray(workspaces)\n ? { ...workspaces, packages: globs }\n : globs;\n};\n\n/**\n * Whether the workspace globs match the directory. Negated globs (`!foo`)\n * always exclude, regardless of where they appear in the list — package\n * managers apply exclusions after expanding the positive patterns, so\n * ordering is not significant.\n */\nconst globsCover = (globs: string[], dir: string): boolean =>\n globs.some((glob) => !glob.startsWith('!') && minimatch(dir, glob)) &&\n !globs.some((glob) => glob.startsWith('!') && minimatch(dir, glob.slice(1)));\n"],"names":["joinPathFragments","readJson","updateJson","writeJson","yaml","minimatch","detectWorkspacePackageManager","isEsmWorkspace","ensureProjectPackageJson","tree","options","packageJsonPath","dir","esm","exists","name","fullyQualifiedName","version","private","packageJson","field","startsWith","exports","import","remaining","Object","keys","length","type","ensureWorkspaceGlobCovers","usePnpmWorkspace","parsed","load","read","packages","globsCover","write","dump","quotingType","workspaces","undefined","workspaceGlobs","appendWorkspaceGlob","Array","isArray","glob","globs","some","slice"],"mappings":"AAAA;;;CAGC,GACD,SACEA,iBAAiB,EACjBC,QAAQ,EAERC,UAAU,EACVC,SAAS,QACJ,aAAa;AACpB,OAAOC,UAAU,UAAU;AAC3B,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,6BAA6B,QAAQ,oBAAiB;AAC/D,SAASC,cAAc,QAAQ,qBAAkB;AAWjD;;;;;CAKC,GACD,OAAO,MAAMC,2BAA2B,CACtCC,MACAC;IAEA,MAAMC,kBAAkBX,kBAAkBU,QAAQE,GAAG,EAAE;IACvD,MAAMC,MAAMH,QAAQG,GAAG,IAAIN,eAAeE;IAE1C,IAAI,CAACA,KAAKK,MAAM,CAACH,kBAAkB;QACjCR,UAAUM,MAAME,iBAAiB;YAC/BI,MAAML,QAAQM,kBAAkB;YAChCC,SAAS;YACTC,SAAS;QACX;IACF;IAEAhB,WAAWO,MAAME,iBAAiB,CAACQ;QACjC,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,KAAK,MAAMC,SAAS;YAAC;YAAQ;YAAU;SAAQ,CAAW;YACxD,IAAID,WAAW,CAACC,MAAM,EAAEC,WAAW,YAAY;gBAC7C,OAAOF,WAAW,CAACC,MAAM;YAC3B;QACF;QACA,IAAID,YAAYG,OAAO,EAAE,CAAC,IAAI,EAAEC,QAAQF,WAAW,YAAY;YAC7D,0EAA0E;YAC1E,sEAAsE;YACtE,wCAAwC;YACxC,OAAOF,YAAYG,OAAO,CAAC,IAAI;YAC/B,MAAME,YAAYC,OAAOC,IAAI,CAACP,YAAYG,OAAO;YACjD,IACEE,UAAUG,MAAM,KAAK,KACpBH,UAAUG,MAAM,KAAK,KAAKH,SAAS,CAAC,EAAE,KAAK,kBAC5C;gBACA,OAAOL,YAAYG,OAAO;YAC5B;QACF;QACA,OAAO;YACL,GAAGH,WAAW;YACdJ,MAAML,QAAQM,kBAAkB;YAChCE,SAASC,YAAYD,OAAO,IAAI;YAChC,sEAAsE;YACtEU,MAAMf,MAAM,WAAW;QACzB;IACF;IAEAgB,0BAA0BpB,MAAMC,QAAQE,GAAG;AAC7C,EAAE;AAEF;;;;;;;;CAQC,GACD,OAAO,MAAMiB,4BAA4B,CAACpB,MAAYG;IACpD,qEAAqE;IACrE,kCAAkC;IAClC,MAAMkB,mBAAmBxB,8BAA8BG,UAAU;IAEjE,IAAIqB,kBAAkB;QACpB,MAAMC,SACJ,AAAC3B,KAAK4B,IAAI,CAACvB,KAAKwB,IAAI,CAAC,uBAAuB,YAAY,OAGlD,CAAC;QACT,MAAMC,WAAW,AAACH,OAAOG,QAAQ,IAAiB,EAAE;QACpD,IAAI,CAACC,WAAWD,UAAUtB,MAAM;YAC9BH,KAAK2B,KAAK,CACR,uBACAhC,KAAKiC,IAAI,CACP;gBAAE,GAAGN,MAAM;gBAAEG,UAAU;uBAAIA;oBAAUtB;iBAAI;YAAC,GAC1C;gBAAE0B,aAAa;YAAI;QAGzB;IACF;IAEA,IAAI7B,KAAKK,MAAM,CAAC,iBAAiB;QAC/B,MAAM,EAAEyB,UAAU,EAAE,GAAGtC,SACrBQ,MACA;QAEF,IACE8B,eAAeC,aACf,CAACL,WAAWM,eAAeF,aAAa3B,MACxC;YACAV,WAAWO,MAAM,gBAAgB,CAACU,cAAiB,CAAA;oBACjD,GAAGA,WAAW;oBACdoB,YAAYG,oBAAoBvB,YAAYoB,UAAU,EAAE3B;gBAC1D,CAAA;QACF,OAAO,IAAI2B,eAAeC,aAAa,CAACV,kBAAkB;YACxD5B,WAAWO,MAAM,gBAAgB,CAACU,cAAiB,CAAA;oBACjD,GAAGA,WAAW;oBACdoB,YAAY;wBAAC3B;qBAAI;gBACnB,CAAA;QACF;IACF;AACF,EAAE;AAQF,0EAA0E,GAC1E,OAAO,MAAM6B,iBAAiB,CAC5BF,aAEAI,MAAMC,OAAO,CAACL,cAAcA,aAAcA,YAAYL,YAAY,EAAE,CAAE;AAExE,2EAA2E,GAC3E,MAAMQ,sBAAsB,CAC1BH,YACAM;IAEA,MAAMC,QAAQ;WAAIL,eAAeF;QAAaM;KAAK;IACnD,OAAON,eAAeC,aAAa,CAACG,MAAMC,OAAO,CAACL,cAC9C;QAAE,GAAGA,UAAU;QAAEL,UAAUY;IAAM,IACjCA;AACN;AAEA;;;;;CAKC,GACD,MAAMX,aAAa,CAACW,OAAiBlC,MACnCkC,MAAMC,IAAI,CAAC,CAACF,OAAS,CAACA,KAAKxB,UAAU,CAAC,QAAQhB,UAAUO,KAAKiC,UAC7D,CAACC,MAAMC,IAAI,CAAC,CAACF,OAASA,KAAKxB,UAAU,CAAC,QAAQhB,UAAUO,KAAKiC,KAAKG,KAAK,CAAC"}
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;