@aws/nx-plugin 1.0.0-rc.7 → 1.0.0-rc.70

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 (1354) hide show
  1. package/LICENSE-THIRD-PARTY +7044 -6135
  2. package/README.md +9 -7
  3. package/generators.json +152 -10
  4. package/migrations.json +156 -0
  5. package/package.json +41 -22
  6. package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +295 -0
  7. package/src/agentcore-gateway/agent-connection/generator.d.ts +19 -0
  8. package/src/agentcore-gateway/agent-connection/generator.js +95 -0
  9. package/src/agentcore-gateway/agent-connection/generator.js.map +1 -0
  10. package/src/agentcore-gateway/agent-connection/schema.d.js +6 -0
  11. package/src/agentcore-gateway/agent-connection/schema.d.js.map +1 -0
  12. package/src/agentcore-gateway/agent-connection/schema.d.ts +13 -0
  13. package/src/agentcore-gateway/agent-connection/schema.json +31 -0
  14. package/src/agentcore-gateway/attach-upstream.d.ts +49 -0
  15. package/src/agentcore-gateway/attach-upstream.js +59 -0
  16. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  17. package/src/agentcore-gateway/files/cedar/policies/README.md +61 -0
  18. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +26 -0
  19. package/src/agentcore-gateway/files/project/http/local-dev.ts.template +77 -0
  20. package/src/agentcore-gateway/files/project/mcp/local-dev.ts.template +134 -0
  21. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  22. package/src/agentcore-gateway/gateway-connection/generator.js +103 -0
  23. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  24. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  25. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  26. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  27. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  28. package/src/agentcore-gateway/generator.d.ts +89 -0
  29. package/src/agentcore-gateway/generator.js +212 -0
  30. package/src/agentcore-gateway/generator.js.map +1 -0
  31. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  32. package/src/agentcore-gateway/mcp-connection/generator.js +61 -0
  33. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  34. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  35. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  36. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  37. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  38. package/src/agentcore-gateway/react-connection/__snapshots__/generator.spec.ts.snap +68 -0
  39. package/src/agentcore-gateway/react-connection/generator.d.ts +19 -0
  40. package/src/agentcore-gateway/react-connection/generator.js +119 -0
  41. package/src/agentcore-gateway/react-connection/generator.js.map +1 -0
  42. package/src/agentcore-gateway/react-connection/schema.d.js +6 -0
  43. package/src/agentcore-gateway/react-connection/schema.d.js.map +1 -0
  44. package/src/agentcore-gateway/react-connection/schema.d.ts +13 -0
  45. package/src/agentcore-gateway/react-connection/schema.json +31 -0
  46. package/src/agentcore-gateway/schema.d.js +6 -0
  47. package/src/agentcore-gateway/schema.d.js.map +1 -0
  48. package/src/agentcore-gateway/schema.d.ts +17 -0
  49. package/src/agentcore-gateway/schema.json +72 -0
  50. package/src/agentcore-harness/__snapshots__/generator.spec.ts.snap +238 -0
  51. package/src/agentcore-harness/files/project/README.md.template +83 -0
  52. package/src/agentcore-harness/files/project/scripts/chat.ts.template +99 -0
  53. package/src/agentcore-harness/files/project/src/PROMPT.md.template +16 -0
  54. package/src/agentcore-harness/generator.d.ts +62 -0
  55. package/src/agentcore-harness/generator.js +158 -0
  56. package/src/agentcore-harness/generator.js.map +1 -0
  57. package/src/agentcore-harness/schema.d.js +8 -0
  58. package/src/agentcore-harness/schema.d.js.map +1 -0
  59. package/src/agentcore-harness/schema.d.ts +17 -0
  60. package/src/agentcore-harness/schema.json +53 -0
  61. package/src/connection/agent-local-dev.d.ts +49 -0
  62. package/src/connection/agent-local-dev.js +84 -0
  63. package/src/connection/agent-local-dev.js.map +1 -0
  64. package/src/connection/agent-runtime-config.js +9 -14
  65. package/src/connection/agent-runtime-config.js.map +1 -1
  66. package/src/connection/gateway-runtime-config.d.ts +19 -0
  67. package/src/connection/gateway-runtime-config.js +47 -0
  68. package/src/connection/gateway-runtime-config.js.map +1 -0
  69. package/src/connection/generator.d.ts +3 -10
  70. package/src/connection/generator.js +172 -194
  71. package/src/connection/generator.js.map +1 -1
  72. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  73. package/src/connection/local-dev.js +37 -0
  74. package/src/connection/local-dev.js.map +1 -0
  75. package/src/connection/scaffold-catalog.d.ts +267 -0
  76. package/src/connection/scaffold-catalog.js +347 -0
  77. package/src/connection/scaffold-catalog.js.map +1 -0
  78. package/src/connection/schema-resolver.d.ts +5 -0
  79. package/src/connection/schema-resolver.js +27 -0
  80. package/src/connection/schema-resolver.js.map +1 -0
  81. package/src/connection/schema.d.js +6 -0
  82. package/src/connection/schema.d.js.map +1 -0
  83. package/src/connection/schema.d.ts +1 -0
  84. package/src/connection/schema.json +5 -0
  85. package/src/connection/supported-connections.d.ts +116 -0
  86. package/src/connection/supported-connections.js +163 -0
  87. package/src/connection/supported-connections.js.map +1 -0
  88. package/src/index.js +2 -5
  89. package/src/index.js.map +1 -1
  90. package/src/infra/app/__snapshots__/generator.spec.ts.snap +119 -72
  91. package/src/infra/app/files/app/README.md.template +8 -4
  92. package/src/infra/app/files/app/src/main.ts.template +5 -1
  93. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  94. package/src/infra/app/generator.d.ts +43 -0
  95. package/src/infra/app/generator.js +195 -127
  96. package/src/infra/app/generator.js.map +1 -1
  97. package/src/infra/app/schema.d.js +6 -0
  98. package/src/infra/app/schema.d.js.map +1 -0
  99. package/src/infra/app/schema.d.ts +1 -1
  100. package/src/infra/app/schema.json +5 -0
  101. package/src/init/generator.d.ts +31 -0
  102. package/src/init/generator.js +46 -0
  103. package/src/init/generator.js.map +1 -0
  104. package/src/init/schema.d.js +6 -0
  105. package/src/init/schema.d.js.map +1 -0
  106. package/src/init/schema.d.ts +16 -0
  107. package/src/init/schema.json +35 -0
  108. package/src/internal/test-matrix/generator.d.ts +29 -0
  109. package/src/internal/test-matrix/generator.js +698 -0
  110. package/src/internal/test-matrix/generator.js.map +1 -0
  111. package/src/internal/test-matrix/schema.d.js +6 -0
  112. package/src/internal/test-matrix/schema.d.js.map +1 -0
  113. package/src/internal/test-matrix/schema.d.ts +12 -0
  114. package/src/internal/test-matrix/schema.json +21 -0
  115. package/src/license/config-types.js +5 -3
  116. package/src/license/config-types.js.map +1 -1
  117. package/src/license/config.d.ts +1 -1
  118. package/src/license/config.js +267 -242
  119. package/src/license/config.js.map +1 -1
  120. package/src/license/dependency-check/check.js +51 -46
  121. package/src/license/dependency-check/check.js.map +1 -1
  122. package/src/license/dependency-check/collectors/collector.js +41 -71
  123. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  124. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  125. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  126. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  127. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  128. package/src/license/dependency-check/evaluator.js +40 -68
  129. package/src/license/dependency-check/evaluator.js.map +1 -1
  130. package/src/license/dependency-check/executor.js +30 -22
  131. package/src/license/dependency-check/executor.js.map +1 -1
  132. package/src/license/dependency-check/pre-approved.js +949 -336
  133. package/src/license/dependency-check/pre-approved.js.map +1 -1
  134. package/src/license/dependency-check/types.js +2 -3
  135. package/src/license/dependency-check/types.js.map +1 -1
  136. package/src/license/generator.js +65 -68
  137. package/src/license/generator.js.map +1 -1
  138. package/src/license/index.js +3 -9
  139. package/src/license/index.js.map +1 -1
  140. package/src/license/known-exceptions.d.ts +1 -1
  141. package/src/license/known-exceptions.js +19 -13
  142. package/src/license/known-exceptions.js.map +1 -1
  143. package/src/license/schema.d.js +6 -0
  144. package/src/license/schema.d.js.map +1 -0
  145. package/src/license/schema.d.ts +2 -0
  146. package/src/license/schema.json +5 -0
  147. package/src/license/sync/generator.js +94 -119
  148. package/src/license/sync/generator.js.map +1 -1
  149. package/src/license/sync/project-file-sync.js +28 -35
  150. package/src/license/sync/project-file-sync.js.map +1 -1
  151. package/src/mcp-server/dev-server.d.ts +1 -0
  152. package/src/mcp-server/dev-server.js +18 -0
  153. package/src/mcp-server/dev-server.js.map +1 -0
  154. package/src/mcp-server/generator-info.js +149 -165
  155. package/src/mcp-server/generator-info.js.map +1 -1
  156. package/src/mcp-server/guide-pipeline.js +199 -206
  157. package/src/mcp-server/guide-pipeline.js.map +1 -1
  158. package/src/mcp-server/guide-render.js +10 -25
  159. package/src/mcp-server/guide-render.js.map +1 -1
  160. package/src/mcp-server/index.js +6 -10
  161. package/src/mcp-server/index.js.map +1 -1
  162. package/src/mcp-server/mdx-ast.js +39 -57
  163. package/src/mcp-server/mdx-ast.js.map +1 -1
  164. package/src/mcp-server/option-filter.js +33 -47
  165. package/src/mcp-server/option-filter.js.map +1 -1
  166. package/src/mcp-server/schema-registry.d.ts +9 -3
  167. package/src/mcp-server/schema-registry.js +41 -38
  168. package/src/mcp-server/schema-registry.js.map +1 -1
  169. package/src/mcp-server/schema.d.ts +1 -1
  170. package/src/mcp-server/schema.js +9 -7
  171. package/src/mcp-server/schema.js.map +1 -1
  172. package/src/mcp-server/server.js +24 -24
  173. package/src/mcp-server/server.js.map +1 -1
  174. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  175. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  176. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  177. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  178. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  179. package/src/mcp-server/tools/general-guidance.d.ts +1 -1
  180. package/src/mcp-server/tools/general-guidance.js +55 -32
  181. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  182. package/src/mcp-server/tools/generator-guide.js +29 -37
  183. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  184. package/src/mcp-server/tools/list-generators.js +19 -25
  185. package/src/mcp-server/tools/list-generators.js.map +1 -1
  186. package/src/mcp-server/tools/upgrade-workspace.d.ts +11 -0
  187. package/src/mcp-server/tools/upgrade-workspace.js +32 -0
  188. package/src/mcp-server/tools/upgrade-workspace.js.map +1 -0
  189. package/src/migrations/latest/py-agent-a2a-lifespan-construction/metadata.json +3 -0
  190. package/src/migrations/latest/py-agent-a2a-lifespan-construction/migration.d.ts +6 -0
  191. package/src/migrations/latest/py-agent-a2a-lifespan-construction/migration.js +234 -0
  192. package/src/migrations/latest/py-agent-a2a-lifespan-construction/migration.js.map +1 -0
  193. package/src/migrations/latest/smithy-server-package-rename/metadata.json +3 -0
  194. package/src/migrations/latest/smithy-server-package-rename/migration.d.ts +6 -0
  195. package/src/migrations/latest/smithy-server-package-rename/migration.js +123 -0
  196. package/src/migrations/latest/smithy-server-package-rename/migration.js.map +1 -0
  197. package/src/migrations/latest/translate-script-whole-file-writes/files/build-system-prompt.ts.fixture +23 -0
  198. package/src/migrations/latest/translate-script-whole-file-writes/files/build-user-prompt.ts.fixture +96 -0
  199. package/src/migrations/latest/translate-script-whole-file-writes/files/config-path.ts.fixture +1 -0
  200. package/src/migrations/latest/translate-script-whole-file-writes/files/file-to-translate.ts.fixture +10 -0
  201. package/src/migrations/latest/translate-script-whole-file-writes/files/get-files-to-translate.ts.fixture +96 -0
  202. package/src/migrations/latest/translate-script-whole-file-writes/files/header.ts.fixture +15 -0
  203. package/src/migrations/latest/translate-script-whole-file-writes/files/log.ts.fixture +18 -0
  204. package/src/migrations/latest/translate-script-whole-file-writes/files/main-call.ts.fixture +6 -0
  205. package/src/migrations/latest/translate-script-whole-file-writes/files/main.ts.fixture +79 -0
  206. package/src/migrations/latest/translate-script-whole-file-writes/files/project-root.ts.fixture +1 -0
  207. package/src/migrations/latest/translate-script-whole-file-writes/files/run-with-concurrency.ts.fixture +57 -0
  208. package/src/migrations/latest/translate-script-whole-file-writes/files/scripts-dir.ts.fixture +1 -0
  209. package/src/migrations/latest/translate-script-whole-file-writes/files/translate-file-for-language.ts.fixture +61 -0
  210. package/src/migrations/latest/translate-script-whole-file-writes/grit/already-migrated.grit +1 -0
  211. package/src/migrations/latest/translate-script-whole-file-writes/grit/build-system-prompt.grit +6 -0
  212. package/src/migrations/latest/translate-script-whole-file-writes/grit/build-user-prompt.grit +6 -0
  213. package/src/migrations/latest/translate-script-whole-file-writes/grit/config-path.grit +1 -0
  214. package/src/migrations/latest/translate-script-whole-file-writes/grit/file-to-translate.grit +11 -0
  215. package/src/migrations/latest/translate-script-whole-file-writes/grit/get-files-to-translate.grit +7 -0
  216. package/src/migrations/latest/translate-script-whole-file-writes/grit/log.grit +3 -0
  217. package/src/migrations/latest/translate-script-whole-file-writes/grit/main-call.grit +1 -0
  218. package/src/migrations/latest/translate-script-whole-file-writes/grit/main.grit +8 -0
  219. package/src/migrations/latest/translate-script-whole-file-writes/grit/project-root.grit +1 -0
  220. package/src/migrations/latest/translate-script-whole-file-writes/grit/run-with-concurrency.grit +6 -0
  221. package/src/migrations/latest/translate-script-whole-file-writes/grit/translate-file-for-language.grit +6 -0
  222. package/src/migrations/latest/translate-script-whole-file-writes/metadata.json +3 -0
  223. package/src/migrations/latest/translate-script-whole-file-writes/migration.d.ts +2 -0
  224. package/src/migrations/latest/translate-script-whole-file-writes/migration.js +103 -0
  225. package/src/migrations/latest/translate-script-whole-file-writes/migration.js.map +1 -0
  226. package/src/migrations/latest/translate-script-whole-file-writes/test-fixtures/released-script-first.ts.fixture +430 -0
  227. package/src/migrations/latest/translate-script-whole-file-writes/test-fixtures/released-script.ts.fixture +431 -0
  228. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/metadata.json +3 -0
  229. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.d.ts +6 -0
  230. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.js +65 -0
  231. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.js.map +1 -0
  232. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/metadata.json +3 -0
  233. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.d.ts +6 -0
  234. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.js +108 -0
  235. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.js.map +1 -0
  236. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/metadata.json +3 -0
  237. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.d.ts +6 -0
  238. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.js +128 -0
  239. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -0
  240. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/metadata.json +3 -0
  241. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.d.ts +6 -0
  242. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.js +215 -0
  243. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.js.map +1 -0
  244. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/metadata.json +3 -0
  245. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.d.ts +6 -0
  246. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.js +93 -0
  247. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.js.map +1 -0
  248. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/metadata.json +3 -0
  249. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.d.ts +96 -0
  250. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.js +670 -0
  251. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.js.map +1 -0
  252. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/metadata.json +3 -0
  253. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.d.ts +6 -0
  254. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.js +89 -0
  255. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.js.map +1 -0
  256. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/metadata.json +3 -0
  257. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.d.ts +6 -0
  258. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.js +449 -0
  259. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.js.map +1 -0
  260. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/metadata.json +3 -0
  261. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/migration.d.ts +6 -0
  262. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/migration.js +78 -0
  263. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/migration.js.map +1 -0
  264. package/src/{smithy/project/files/build.Dockerfile.template → migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/rc57-service.Dockerfile.fixture} +1 -4
  265. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/__snapshots__/migration.spec.ts.snap +223 -0
  266. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/metadata.json +3 -0
  267. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/migration.d.ts +6 -0
  268. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/migration.js +217 -0
  269. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/migration.js.map +1 -0
  270. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/__snapshots__/migration.spec.ts.snap +149 -0
  271. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/metadata.json +3 -0
  272. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/migration.d.ts +6 -0
  273. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/migration.js +195 -0
  274. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/migration.js.map +1 -0
  275. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/__snapshots__/migration.spec.ts.snap +57 -0
  276. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/metadata.json +3 -0
  277. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/migration.d.ts +6 -0
  278. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/migration.js +77 -0
  279. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/migration.js.map +1 -0
  280. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/__snapshots__/migration.spec.ts.snap +48 -0
  281. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/metadata.json +3 -0
  282. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/migration.d.ts +6 -0
  283. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/migration.js +91 -0
  284. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/migration.js.map +1 -0
  285. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/metadata.json +3 -0
  286. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/migration.d.ts +6 -0
  287. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/migration.js +412 -0
  288. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/migration.js.map +1 -0
  289. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/metadata.json +3 -0
  290. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/migration.d.ts +6 -0
  291. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/migration.js +33 -0
  292. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/migration.js.map +1 -0
  293. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/metadata.json +3 -0
  294. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/migration.d.ts +6 -0
  295. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/migration.js +83 -0
  296. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/migration.js.map +1 -0
  297. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/legacy-service.Dockerfile.fixture +95 -0
  298. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/metadata.json +3 -0
  299. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/migration.d.ts +6 -0
  300. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/migration.js +154 -0
  301. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/migration.js.map +1 -0
  302. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/metadata.json +3 -0
  303. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/migration.d.ts +6 -0
  304. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/migration.js +71 -0
  305. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/migration.js.map +1 -0
  306. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/metadata.json +3 -0
  307. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/migration.d.ts +6 -0
  308. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/migration.js +57 -0
  309. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/migration.js.map +1 -0
  310. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  311. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  312. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  313. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  314. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  315. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  316. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  317. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  318. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  319. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  320. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  321. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  322. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +100 -24
  323. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  324. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  325. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  326. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  327. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  328. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  329. package/src/open-api/ts-client/generator.js +41 -26
  330. package/src/open-api/ts-client/generator.js.map +1 -1
  331. package/src/open-api/ts-client/schema.d.js +6 -0
  332. package/src/open-api/ts-client/schema.d.js.map +1 -0
  333. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  334. package/src/open-api/ts-hooks/generator.js +17 -21
  335. package/src/open-api/ts-hooks/generator.js.map +1 -1
  336. package/src/open-api/ts-hooks/generator.spec.tsx +70 -0
  337. package/src/open-api/ts-hooks/schema.d.js +6 -0
  338. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  339. package/src/open-api/ts-metadata/generator.js +12 -20
  340. package/src/open-api/ts-metadata/generator.js.map +1 -1
  341. package/src/open-api/ts-metadata/schema.d.js +6 -0
  342. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  343. package/src/open-api/utils/codegen-data/languages.d.ts +0 -6
  344. package/src/open-api/utils/codegen-data/languages.js +59 -66
  345. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  346. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  347. package/src/open-api/utils/codegen-data/types.js +54 -30
  348. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  349. package/src/open-api/utils/codegen-data.d.ts +2 -2
  350. package/src/open-api/utils/codegen-data.js +494 -674
  351. package/src/open-api/utils/codegen-data.js.map +1 -1
  352. package/src/open-api/utils/normalise.js +437 -246
  353. package/src/open-api/utils/normalise.js.map +1 -1
  354. package/src/open-api/utils/parse.js +8 -14
  355. package/src/open-api/utils/parse.js.map +1 -1
  356. package/src/open-api/utils/parser.d.ts +55 -0
  357. package/src/open-api/utils/parser.js +787 -0
  358. package/src/open-api/utils/parser.js.map +1 -0
  359. package/src/open-api/utils/refs.js +12 -22
  360. package/src/open-api/utils/refs.js.map +1 -1
  361. package/src/open-api/utils/types.d.ts +18 -0
  362. package/src/open-api/utils/types.js +5 -2
  363. package/src/open-api/utils/types.js.map +1 -1
  364. package/src/preset/__snapshots__/generator.spec.ts.snap +101 -20
  365. package/src/preset/generator.d.ts +14 -1
  366. package/src/preset/generator.js +76 -151
  367. package/src/preset/generator.js.map +1 -1
  368. package/src/preset/schema.d.js +6 -0
  369. package/src/preset/schema.d.js.map +1 -0
  370. package/src/preset/schema.d.ts +4 -1
  371. package/src/preset/schema.json +16 -5
  372. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +326 -0
  373. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +738 -0
  374. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +191 -315
  375. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +190 -0
  376. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +31 -0
  377. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +29 -0
  378. package/src/py/agent/a2a-connection/generator.d.ts +24 -0
  379. package/src/py/agent/a2a-connection/generator.js +145 -88
  380. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  381. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  382. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  383. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  384. package/src/py/agent/a2a-connection/schema.json +5 -0
  385. package/src/py/agent/files/deploy/Dockerfile.template +8 -1
  386. package/src/py/agent/files/langchain/a2a/main.py.template +94 -0
  387. package/src/py/agent/files/langchain/ag-ui/main.py.template +87 -0
  388. package/src/py/agent/files/langchain/common/agent.py.template +30 -0
  389. package/src/py/agent/files/{http → langchain/http}/init.py.template +17 -25
  390. package/src/py/agent/files/langchain/http/main.py.template +81 -0
  391. package/src/py/agent/files/{a2a → strands/a2a}/main.py.template +33 -15
  392. package/src/py/agent/files/strands/ag-ui/main.py.template +89 -0
  393. package/src/py/agent/files/{common → strands/common}/agent.py.template +2 -0
  394. package/src/py/agent/files/strands/http/init.py.template +97 -0
  395. package/src/py/agent/files/{http → strands/http}/main.py.template +4 -13
  396. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  397. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  398. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  399. package/src/py/agent/gateway-connection/generator.d.ts +33 -0
  400. package/src/py/agent/gateway-connection/generator.js +153 -0
  401. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  402. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  403. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  404. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  405. package/src/py/agent/gateway-connection/schema.json +31 -0
  406. package/src/py/agent/generator.d.ts +154 -1
  407. package/src/py/agent/generator.js +396 -197
  408. package/src/py/agent/generator.js.map +1 -1
  409. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +154 -89
  410. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +31 -0
  411. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +31 -0
  412. package/src/py/agent/mcp-connection/generator.d.ts +23 -0
  413. package/src/py/agent/mcp-connection/generator.js +103 -130
  414. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  415. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  416. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  417. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  418. package/src/py/agent/mcp-connection/schema.json +5 -0
  419. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +17 -19
  420. package/src/py/agent/react-connection/generator.d.ts +150 -1
  421. package/src/py/agent/react-connection/generator.js +105 -65
  422. package/src/py/agent/react-connection/generator.js.map +1 -1
  423. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  424. package/src/py/agent/react-connection/local-dev.js +36 -0
  425. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  426. package/src/py/agent/react-connection/schema.d.js +8 -0
  427. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  428. package/src/py/agent/react-connection/schema.d.ts +1 -0
  429. package/src/py/agent/react-connection/schema.json +5 -0
  430. package/src/py/agent/schema.d.js +6 -0
  431. package/src/py/agent/schema.d.js.map +1 -0
  432. package/src/py/agent/schema.d.ts +5 -1
  433. package/src/py/agent/schema.json +15 -1
  434. package/src/py/api/generator.js +12 -11
  435. package/src/py/api/generator.js.map +1 -1
  436. package/src/py/api/schema.d.js +6 -0
  437. package/src/py/api/schema.d.js.map +1 -0
  438. package/src/py/api/schema.d.ts +1 -0
  439. package/src/py/api/schema.json +5 -0
  440. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1520 -0
  441. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +63 -0
  442. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  443. package/src/py/dynamodb/agent-connection/generator.js +45 -0
  444. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  445. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  446. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  447. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  448. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  449. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +32 -0
  450. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  451. package/src/py/dynamodb/fast-api-connection/generator.js +39 -0
  452. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  453. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  454. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  455. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  456. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  457. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  458. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  459. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  460. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  461. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  462. package/src/py/dynamodb/files/config.json.template +24 -0
  463. package/src/py/dynamodb/generator.d.ts +39 -0
  464. package/src/py/dynamodb/generator.js +130 -0
  465. package/src/py/dynamodb/generator.js.map +1 -0
  466. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +63 -0
  467. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  468. package/src/py/dynamodb/mcp-server-connection/generator.js +45 -0
  469. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  470. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  471. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  472. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  473. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  474. package/src/py/dynamodb/schema.d.js +6 -0
  475. package/src/py/dynamodb/schema.d.js.map +1 -0
  476. package/src/py/dynamodb/schema.d.ts +16 -0
  477. package/src/py/dynamodb/schema.json +76 -0
  478. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +240 -4693
  479. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  480. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  481. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  482. package/src/py/fast-api/generator.d.ts +72 -0
  483. package/src/py/fast-api/generator.js +134 -95
  484. package/src/py/fast-api/generator.js.map +1 -1
  485. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  486. package/src/py/fast-api/react/generator.d.ts +16 -1
  487. package/src/py/fast-api/react/generator.js +38 -26
  488. package/src/py/fast-api/react/generator.js.map +1 -1
  489. package/src/py/fast-api/react/open-api.js +31 -29
  490. package/src/py/fast-api/react/open-api.js.map +1 -1
  491. package/src/py/fast-api/react/schema.d.js +6 -0
  492. package/src/py/fast-api/react/schema.d.js.map +1 -0
  493. package/src/py/fast-api/react/schema.d.ts +1 -0
  494. package/src/py/fast-api/react/schema.json +5 -0
  495. package/src/py/fast-api/schema.d.js +6 -0
  496. package/src/py/fast-api/schema.d.js.map +1 -0
  497. package/src/py/fast-api/schema.d.ts +1 -0
  498. package/src/py/fast-api/schema.json +6 -0
  499. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  500. package/src/py/lambda-function/generator.d.ts +21 -0
  501. package/src/py/lambda-function/generator.js +82 -62
  502. package/src/py/lambda-function/generator.js.map +1 -1
  503. package/src/py/lambda-function/schema.d.js +6 -0
  504. package/src/py/lambda-function/schema.d.js.map +1 -0
  505. package/src/py/lambda-function/schema.d.ts +1 -0
  506. package/src/py/lambda-function/schema.json +5 -0
  507. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +221 -21
  508. package/src/py/mcp-server/files/deploy/Dockerfile.template +8 -1
  509. package/src/py/mcp-server/generator.d.ts +68 -0
  510. package/src/py/mcp-server/generator.js +204 -131
  511. package/src/py/mcp-server/generator.js.map +1 -1
  512. package/src/py/mcp-server/schema.d.js +6 -0
  513. package/src/py/mcp-server/schema.d.js.map +1 -0
  514. package/src/py/mcp-server/schema.d.ts +1 -0
  515. package/src/py/mcp-server/schema.json +6 -0
  516. package/src/py/project/generator.d.ts +27 -1
  517. package/src/py/project/generator.js +248 -130
  518. package/src/py/project/generator.js.map +1 -1
  519. package/src/py/project/schema.d.js +6 -0
  520. package/src/py/project/schema.d.js.map +1 -0
  521. package/src/py/project/schema.d.ts +1 -0
  522. package/src/py/project/schema.json +5 -0
  523. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2070 -0
  524. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +123 -0
  525. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  526. package/src/py/rdb/agent-connection/generator.js +52 -0
  527. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  528. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  529. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  530. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  531. package/src/py/rdb/agent-connection/schema.json +27 -0
  532. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +51 -0
  533. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  534. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  535. package/src/py/rdb/fast-api-connection/generator.js +56 -0
  536. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  537. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  538. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  539. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  540. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  541. package/src/py/rdb/files/Dockerfile.create-db-user.template +14 -0
  542. package/src/py/rdb/files/Dockerfile.migration.template +14 -0
  543. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  544. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  545. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  546. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  547. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  548. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  549. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  550. package/src/py/rdb/files/alembic.ini.template +38 -0
  551. package/src/py/rdb/files/config.json.template +14 -0
  552. package/src/py/rdb/files/migrations/env.py.template +80 -0
  553. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  554. package/src/py/rdb/generator.d.ts +103 -0
  555. package/src/py/rdb/generator.js +328 -0
  556. package/src/py/rdb/generator.js.map +1 -0
  557. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +119 -0
  558. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  559. package/src/py/rdb/mcp-server-connection/generator.js +52 -0
  560. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  561. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  562. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  563. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  564. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  565. package/src/py/rdb/schema.d.js +6 -0
  566. package/src/py/rdb/schema.d.js.map +1 -0
  567. package/src/py/rdb/schema.d.ts +16 -0
  568. package/src/py/rdb/schema.json +78 -0
  569. package/src/py/rdb/utils.d.ts +6 -0
  570. package/src/py/rdb/utils.js +16 -0
  571. package/src/py/rdb/utils.js.map +1 -0
  572. package/src/sdk/agentcore-gateway.d.ts +6 -0
  573. package/src/sdk/agentcore-gateway.js +7 -0
  574. package/src/sdk/agentcore-gateway.js.map +1 -0
  575. package/src/sdk/connection.d.ts +6 -0
  576. package/src/sdk/connection.js +6 -0
  577. package/src/sdk/connection.js.map +1 -0
  578. package/src/sdk/license.d.ts +8 -0
  579. package/src/sdk/license.js +7 -0
  580. package/src/sdk/license.js.map +1 -0
  581. package/src/sdk/open-api.d.ts +10 -0
  582. package/src/sdk/open-api.js +8 -0
  583. package/src/sdk/open-api.js.map +1 -0
  584. package/src/sdk/py.d.ts +18 -0
  585. package/src/sdk/py.js +12 -0
  586. package/src/sdk/py.js.map +1 -0
  587. package/src/sdk/terraform.d.ts +6 -0
  588. package/src/sdk/terraform.js +7 -0
  589. package/src/sdk/terraform.js.map +1 -0
  590. package/src/sdk/ts.d.ts +39 -0
  591. package/src/sdk/ts.js +41 -0
  592. package/src/sdk/ts.js.map +1 -0
  593. package/{sdk/utils/format.d.ts → src/sdk/utils/ast.d.ts} +1 -1
  594. package/src/sdk/utils/ast.js +6 -0
  595. package/src/sdk/utils/ast.js.map +1 -0
  596. package/{sdk/utils/ast.d.ts → src/sdk/utils/format.d.ts} +1 -2
  597. package/src/sdk/utils/format.js +6 -0
  598. package/src/sdk/utils/format.js.map +1 -0
  599. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  600. package/src/sdk/utils/test.js +6 -0
  601. package/src/sdk/utils/test.js.map +1 -0
  602. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +245 -242
  603. package/src/smithy/project/files/{smithy-build.json.template → service/smithy-build.json.template} +5 -5
  604. package/src/smithy/project/files/{src → service/src}/operations/echo.smithy.template +1 -0
  605. package/src/smithy/project/files/shapes/smithy-build.json.template +7 -0
  606. package/src/smithy/project/files/shapes/src/main.smithy.template +11 -0
  607. package/src/smithy/project/files/ssdk-bundle/ssdk.rolldown.config.mjs.template +52 -0
  608. package/src/smithy/project/generator.d.ts +90 -0
  609. package/src/smithy/project/generator.js +223 -56
  610. package/src/smithy/project/generator.js.map +1 -1
  611. package/src/smithy/project/schema.d.js +6 -0
  612. package/src/smithy/project/schema.d.js.map +1 -0
  613. package/src/smithy/project/schema.d.ts +2 -0
  614. package/src/smithy/project/schema.json +28 -1
  615. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  616. package/src/smithy/react-connection/generator.d.ts +15 -0
  617. package/src/smithy/react-connection/generator.js +54 -48
  618. package/src/smithy/react-connection/generator.js.map +1 -1
  619. package/src/smithy/react-connection/schema.d.js +6 -0
  620. package/src/smithy/react-connection/schema.d.js.map +1 -0
  621. package/src/smithy/react-connection/schema.d.ts +1 -0
  622. package/src/smithy/react-connection/schema.json +5 -0
  623. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +871 -109
  624. package/src/smithy/ts/api/files/handler.ts.template +3 -3
  625. package/src/smithy/ts/api/files/local-server.ts.template +3 -3
  626. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  627. package/src/smithy/ts/api/files/service.ts.template +3 -3
  628. package/src/smithy/ts/api/generator.d.ts +88 -0
  629. package/src/smithy/ts/api/generator.js +187 -114
  630. package/src/smithy/ts/api/generator.js.map +1 -1
  631. package/src/smithy/ts/api/schema.d.js +6 -0
  632. package/src/smithy/ts/api/schema.d.js.map +1 -0
  633. package/src/smithy/ts/api/schema.d.ts +1 -0
  634. package/src/smithy/ts/api/schema.json +6 -0
  635. package/src/terraform/project/files/application/scripts/bootstrap.ts.template +40 -1
  636. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  637. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  638. package/src/terraform/project/generator.d.ts +50 -0
  639. package/src/terraform/project/generator.js +212 -111
  640. package/src/terraform/project/generator.js.map +1 -1
  641. package/src/terraform/project/schema.d.js +9 -0
  642. package/src/terraform/project/schema.d.js.map +1 -0
  643. package/src/terraform/project/schema.d.ts +1 -0
  644. package/src/terraform/project/schema.json +5 -0
  645. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1182 -184
  646. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  647. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  648. package/src/trpc/backend/files/src/index.ts.template +5 -5
  649. package/src/trpc/backend/files/src/init.ts.template +1 -1
  650. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  651. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  652. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  653. package/src/trpc/backend/files/src/router.ts.template +2 -2
  654. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  655. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  656. package/src/trpc/backend/generator.d.ts +90 -1
  657. package/src/trpc/backend/generator.js +177 -100
  658. package/src/trpc/backend/generator.js.map +1 -1
  659. package/src/trpc/backend/schema.d.js +6 -0
  660. package/src/trpc/backend/schema.d.js.map +1 -0
  661. package/src/trpc/backend/schema.d.ts +1 -0
  662. package/src/trpc/backend/schema.json +6 -0
  663. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  664. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  665. package/src/trpc/react/generator.d.ts +38 -1
  666. package/src/trpc/react/generator.js +105 -63
  667. package/src/trpc/react/generator.js.map +1 -1
  668. package/src/trpc/react/schema.d.js +6 -0
  669. package/src/trpc/react/schema.d.js.map +1 -0
  670. package/src/trpc/react/schema.d.ts +1 -0
  671. package/src/trpc/react/schema.json +5 -0
  672. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1452 -25
  673. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +258 -0
  674. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  675. package/src/ts/agent/a2a-connection/generator.d.ts +46 -0
  676. package/src/ts/agent/a2a-connection/generator.js +110 -63
  677. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  678. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  679. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  680. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  681. package/src/ts/agent/a2a-connection/schema.json +5 -0
  682. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  683. package/src/ts/agent/files/ag-ui/index.ts.template +36 -11
  684. package/src/ts/agent/files/common/agent.ts.template +15 -2
  685. package/src/ts/agent/files/common/session.ts.template +43 -0
  686. package/src/ts/agent/files/deploy/Dockerfile.template +13 -2
  687. package/src/ts/agent/files/http/client.ts.template +2 -2
  688. package/src/ts/agent/files/http/index.ts.template +2 -2
  689. package/src/ts/agent/files/http/router.ts.template +5 -5
  690. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +222 -0
  691. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  692. package/src/ts/agent/gateway-connection/generator.d.ts +47 -0
  693. package/src/ts/agent/gateway-connection/generator.js +144 -0
  694. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  695. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  696. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  697. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  698. package/src/ts/agent/gateway-connection/schema.json +31 -0
  699. package/src/ts/agent/generator.d.ts +205 -0
  700. package/src/ts/agent/generator.js +339 -156
  701. package/src/ts/agent/generator.js.map +1 -1
  702. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +194 -113
  703. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +23 -0
  704. package/src/ts/agent/mcp-connection/generator.d.ts +37 -0
  705. package/src/ts/agent/mcp-connection/generator.js +88 -65
  706. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  707. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  708. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  709. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  710. package/src/ts/agent/mcp-connection/schema.json +5 -0
  711. package/src/ts/agent/react-connection/__snapshots__/generator.spec.ts.snap +8 -4
  712. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +2 -1
  713. package/src/ts/agent/react-connection/generator.d.ts +202 -1
  714. package/src/ts/agent/react-connection/generator.js +158 -99
  715. package/src/ts/agent/react-connection/generator.js.map +1 -1
  716. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  717. package/src/ts/agent/react-connection/local-dev.js +17 -0
  718. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  719. package/src/ts/agent/react-connection/schema.d.js +8 -0
  720. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  721. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  722. package/src/ts/agent/react-connection/schema.json +5 -0
  723. package/src/ts/agent/schema.d.js +6 -0
  724. package/src/ts/agent/schema.d.js.map +1 -0
  725. package/src/ts/agent/schema.d.ts +4 -0
  726. package/src/ts/agent/schema.json +14 -0
  727. package/src/ts/api/generator.js +16 -16
  728. package/src/ts/api/generator.js.map +1 -1
  729. package/src/ts/api/schema.d.js +6 -0
  730. package/src/ts/api/schema.d.js.map +1 -0
  731. package/src/ts/api/schema.d.ts +1 -0
  732. package/src/ts/api/schema.json +5 -0
  733. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +28 -14
  734. package/src/ts/astro-docs/files/base/src/content/docs/en/index.mdx.template +2 -2
  735. package/src/ts/astro-docs/files/base/src/content.config.ts.template +4 -4
  736. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +272 -150
  737. package/src/ts/astro-docs/generator.d.ts +38 -0
  738. package/src/ts/astro-docs/generator.js +126 -61
  739. package/src/ts/astro-docs/generator.js.map +1 -1
  740. package/src/ts/astro-docs/schema.d.js +6 -0
  741. package/src/ts/astro-docs/schema.d.js.map +1 -0
  742. package/src/ts/astro-docs/schema.d.ts +2 -2
  743. package/src/ts/astro-docs/schema.json +3 -3
  744. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +982 -0
  745. package/src/ts/dcr-proxy/generator.d.ts +34 -0
  746. package/src/ts/dcr-proxy/generator.js +115 -0
  747. package/src/ts/dcr-proxy/generator.js.map +1 -0
  748. package/src/ts/dcr-proxy/schema.d.js +6 -0
  749. package/src/ts/dcr-proxy/schema.d.js.map +1 -0
  750. package/src/ts/dcr-proxy/schema.d.ts +13 -0
  751. package/src/ts/dcr-proxy/schema.json +44 -0
  752. package/src/ts/docs/generator.js +10 -10
  753. package/src/ts/docs/generator.js.map +1 -1
  754. package/src/ts/docs/schema.d.js +6 -0
  755. package/src/ts/docs/schema.d.js.map +1 -0
  756. package/src/ts/docs/schema.d.ts +1 -4
  757. package/src/ts/docs/schema.json +3 -3
  758. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +400 -518
  759. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +23 -5
  760. package/src/ts/dynamodb/agent-connection/generator.js +27 -23
  761. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  762. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  763. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  764. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  765. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  766. package/src/ts/dynamodb/files/config.json.template +24 -0
  767. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  768. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  769. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  770. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  771. package/src/ts/dynamodb/generator.d.ts +41 -0
  772. package/src/ts/dynamodb/generator.js +106 -64
  773. package/src/ts/dynamodb/generator.js.map +1 -1
  774. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +23 -5
  775. package/src/ts/dynamodb/mcp-server-connection/generator.js +27 -23
  776. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  777. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  778. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  779. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  780. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  781. package/src/ts/dynamodb/schema.d.js +6 -0
  782. package/src/ts/dynamodb/schema.d.js.map +1 -0
  783. package/src/ts/dynamodb/schema.d.ts +2 -0
  784. package/src/ts/dynamodb/schema.json +26 -2
  785. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +12 -3
  786. package/src/ts/dynamodb/smithy-connection/generator.js +22 -22
  787. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  788. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  789. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  790. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  791. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  792. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  793. package/src/ts/dynamodb/trpc-connection/generator.js +22 -22
  794. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  795. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  796. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  797. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  798. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  799. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +8 -6
  800. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  801. package/src/ts/lambda-function/generator.d.ts +38 -0
  802. package/src/ts/lambda-function/generator.js +98 -65
  803. package/src/ts/lambda-function/generator.js.map +1 -1
  804. package/src/ts/lambda-function/io.js +83 -52
  805. package/src/ts/lambda-function/io.js.map +1 -1
  806. package/src/ts/lambda-function/schema.d.js +6 -0
  807. package/src/ts/lambda-function/schema.d.js.map +1 -0
  808. package/src/ts/lambda-function/schema.d.ts +1 -0
  809. package/src/ts/lambda-function/schema.json +5 -0
  810. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +83 -45
  811. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +1 -1
  812. package/src/ts/lib/biome.js +71 -35
  813. package/src/ts/lib/biome.js.map +1 -1
  814. package/src/ts/lib/generator.d.ts +7 -0
  815. package/src/ts/lib/generator.js +115 -103
  816. package/src/ts/lib/generator.js.map +1 -1
  817. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  818. package/src/ts/lib/schema.d.js +6 -0
  819. package/src/ts/lib/schema.d.js.map +1 -0
  820. package/src/ts/lib/schema.d.ts +1 -1
  821. package/src/ts/lib/schema.json +5 -0
  822. package/src/ts/lib/ts-project-utils.d.ts +13 -1
  823. package/src/ts/lib/ts-project-utils.js +96 -71
  824. package/src/ts/lib/ts-project-utils.js.map +1 -1
  825. package/src/ts/lib/types.d.ts +6 -0
  826. package/src/ts/lib/types.js +5 -2
  827. package/src/ts/lib/types.js.map +1 -1
  828. package/src/ts/lib/vitest.d.ts +10 -1
  829. package/src/ts/lib/vitest.js +54 -26
  830. package/src/ts/lib/vitest.js.map +1 -1
  831. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +221 -44
  832. package/src/ts/mcp-server/files/Dockerfile.template +13 -2
  833. package/src/ts/mcp-server/generator.d.ts +110 -0
  834. package/src/ts/mcp-server/generator.js +231 -148
  835. package/src/ts/mcp-server/generator.js.map +1 -1
  836. package/src/ts/mcp-server/schema.d.js +6 -0
  837. package/src/ts/mcp-server/schema.d.js.map +1 -0
  838. package/src/ts/mcp-server/schema.d.ts +1 -0
  839. package/src/ts/mcp-server/schema.json +6 -0
  840. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +28 -13
  841. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  842. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  843. package/src/ts/nx-generator/files/local/generator.spec.ts.template +1 -1
  844. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  845. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  846. package/src/ts/nx-generator/generator.d.ts +3 -0
  847. package/src/ts/nx-generator/generator.js +124 -73
  848. package/src/ts/nx-generator/generator.js.map +1 -1
  849. package/src/ts/nx-generator/schema.d.js +6 -0
  850. package/src/ts/nx-generator/schema.d.js.map +1 -0
  851. package/src/ts/nx-generator/schema.d.ts +1 -0
  852. package/src/ts/nx-generator/schema.json +5 -0
  853. package/src/ts/nx-migration/files/migration.spec.ts.template +26 -0
  854. package/src/ts/nx-migration/files/migration.ts.template +65 -0
  855. package/src/ts/nx-migration/files/prompt.md.template +46 -0
  856. package/src/ts/nx-migration/generator.d.ts +27 -0
  857. package/src/ts/nx-migration/generator.js +147 -0
  858. package/src/ts/nx-migration/generator.js.map +1 -0
  859. package/src/ts/nx-migration/schema.d.js +6 -0
  860. package/src/ts/nx-migration/schema.d.js.map +1 -0
  861. package/src/ts/nx-migration/schema.d.ts +13 -0
  862. package/src/ts/nx-migration/schema.json +63 -0
  863. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +36 -25
  864. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  865. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  866. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  867. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  868. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  869. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  870. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +4 -4
  871. package/src/ts/nx-plugin/generator.d.ts +3 -0
  872. package/src/ts/nx-plugin/generator.js +67 -50
  873. package/src/ts/nx-plugin/generator.js.map +1 -1
  874. package/src/ts/nx-plugin/schema.d.js +9 -0
  875. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  876. package/src/ts/nx-plugin/schema.json +5 -0
  877. package/src/ts/nx-plugin/utils.d.ts +27 -2
  878. package/src/ts/nx-plugin/utils.js +66 -51
  879. package/src/ts/nx-plugin/utils.js.map +1 -1
  880. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +553 -644
  881. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +16 -6
  882. package/src/ts/rdb/agent-connection/generator.js +44 -39
  883. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  884. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  885. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  886. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  887. package/src/ts/rdb/agent-connection/schema.json +5 -0
  888. package/src/ts/rdb/files/Dockerfile.template +19 -1
  889. package/src/ts/rdb/files/config.json.template +14 -0
  890. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  891. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  892. package/src/ts/rdb/files/src/index.ts.template +1 -2
  893. package/src/ts/rdb/files/src/migration-handler.ts.template +5 -30
  894. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  895. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  896. package/src/ts/rdb/generator.d.ts +117 -4
  897. package/src/ts/rdb/generator.js +257 -138
  898. package/src/ts/rdb/generator.js.map +1 -1
  899. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +16 -6
  900. package/src/ts/rdb/mcp-server-connection/generator.js +42 -37
  901. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  902. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  903. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  904. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  905. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  906. package/src/ts/rdb/schema.d.js +6 -0
  907. package/src/ts/rdb/schema.d.js.map +1 -0
  908. package/src/ts/rdb/schema.d.ts +1 -0
  909. package/src/ts/rdb/schema.json +7 -1
  910. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +18 -9
  911. package/src/ts/rdb/smithy-connection/generator.js +48 -43
  912. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  913. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  914. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  915. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  916. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  917. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  918. package/src/ts/rdb/trpc-connection/generator.js +37 -31
  919. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  920. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  921. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  922. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  923. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  924. package/src/ts/rdb/utils.js +9 -11
  925. package/src/ts/rdb/utils.js.map +1 -1
  926. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +17 -16
  927. package/src/ts/react-website/agui/generator.d.ts +97 -0
  928. package/src/ts/react-website/agui/generator.js +114 -67
  929. package/src/ts/react-website/agui/generator.js.map +1 -1
  930. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1391 -644
  931. package/src/ts/react-website/app/files/app/common/README.md.template +1 -1
  932. package/src/ts/react-website/app/generator.d.ts +142 -2
  933. package/src/ts/react-website/app/generator.js +333 -209
  934. package/src/ts/react-website/app/generator.js.map +1 -1
  935. package/src/ts/react-website/app/schema.d.js +6 -0
  936. package/src/ts/react-website/app/schema.d.js.map +1 -0
  937. package/src/ts/react-website/app/schema.d.ts +1 -1
  938. package/src/ts/react-website/app/schema.json +12 -6
  939. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +161 -26
  940. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +48 -12
  941. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  942. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  943. package/src/ts/react-website/cognito-auth/generator.d.ts +25 -1
  944. package/src/ts/react-website/cognito-auth/generator.js +79 -64
  945. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  946. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +3 -1
  947. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  948. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  949. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  950. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  951. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  952. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  953. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  954. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  955. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  956. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  957. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  958. package/src/ts/react-website/runtime-config/generator.js +29 -31
  959. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  960. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  961. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  962. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  963. package/src/ts/react-website/runtime-config/schema.json +5 -0
  964. package/src/ts/sync/generator.js +137 -60
  965. package/src/ts/sync/generator.js.map +1 -1
  966. package/src/ts/website/app/generator.js +10 -10
  967. package/src/ts/website/app/generator.js.map +1 -1
  968. package/src/ts/website/app/schema.d.js +6 -0
  969. package/src/ts/website/app/schema.d.js.map +1 -0
  970. package/src/ts/website/app/schema.d.ts +1 -1
  971. package/src/ts/website/app/schema.json +11 -6
  972. package/src/ts/website/auth/generator.d.ts +1 -1
  973. package/src/ts/website/auth/generator.js +11 -10
  974. package/src/ts/website/auth/generator.js.map +1 -1
  975. package/src/ts/website/auth/schema.d.js +6 -0
  976. package/src/ts/website/auth/schema.d.js.map +1 -0
  977. package/src/ts/website/auth/schema.d.ts +1 -0
  978. package/src/ts/website/auth/schema.json +5 -0
  979. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +21 -0
  980. package/src/utils/add-dependencies.d.ts +38 -0
  981. package/src/utils/add-dependencies.js +83 -0
  982. package/src/utils/add-dependencies.js.map +1 -0
  983. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  984. package/src/utils/agent-chat/agent-chat.js +31 -0
  985. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  986. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  987. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  988. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  989. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  990. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  991. package/src/utils/agent-connection/agent-connection.d.ts +139 -26
  992. package/src/utils/agent-connection/agent-connection.js +500 -103
  993. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  994. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  995. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  996. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  997. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  998. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  999. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +33 -33
  1000. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  1001. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  1002. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +47 -0
  1003. package/src/utils/agent-connection/files/core-strands/base/tool-errors-strands.ts.template +29 -0
  1004. 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
  1005. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  1006. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  1007. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  1008. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  1009. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  1010. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  1011. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  1012. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  1013. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  1014. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  1015. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +6 -18
  1016. package/src/utils/agent-connection/files/py-core-runtime-config/session_context.py.template +2 -2
  1017. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  1018. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  1019. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  1020. 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} +2 -2
  1021. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  1022. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  1023. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +79 -0
  1024. package/src/utils/agent-core-constructs/agent-core-constructs.js +212 -38
  1025. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  1026. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +170 -6
  1027. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +87 -0
  1028. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-harness/__nameKebabCase__/__nameKebabCase__.ts.template +366 -0
  1029. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +624 -0
  1030. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  1031. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +212 -1
  1032. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +521 -0
  1033. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  1034. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-harness/__nameKebabCase__/__nameKebabCase__.tf.template +282 -0
  1035. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +159 -13
  1036. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  1037. package/src/utils/api-constructs/api-constructs.d.ts +30 -2
  1038. package/src/utils/api-constructs/api-constructs.js +82 -32
  1039. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  1040. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +20 -15
  1041. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -16
  1042. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  1043. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  1044. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  1045. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +56 -17
  1046. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  1047. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  1048. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  1049. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  1050. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  1051. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  1052. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  1053. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  1054. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  1055. package/src/utils/ast/website.js +18 -20
  1056. package/src/utils/ast/website.js.map +1 -1
  1057. package/src/utils/ast.d.ts +9 -0
  1058. package/src/utils/ast.js +125 -86
  1059. package/src/utils/ast.js.map +1 -1
  1060. package/src/utils/base-tsconfig.d.ts +30 -0
  1061. package/src/utils/base-tsconfig.js +32 -0
  1062. package/src/utils/base-tsconfig.js.map +1 -0
  1063. package/src/utils/bundle/bundle.d.ts +6 -1
  1064. package/src/utils/bundle/bundle.js +58 -48
  1065. package/src/utils/bundle/bundle.js.map +1 -1
  1066. package/src/utils/commands.d.ts +14 -3
  1067. package/src/utils/commands.js +83 -28
  1068. package/src/utils/commands.js.map +1 -1
  1069. package/src/utils/config/index.d.ts +18 -2
  1070. package/src/utils/config/index.js +5 -4
  1071. package/src/utils/config/index.js.map +1 -1
  1072. package/src/utils/config/utils.d.ts +8 -2
  1073. package/src/utils/config/utils.js +56 -59
  1074. package/src/utils/config/utils.js.map +1 -1
  1075. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +16 -3
  1076. package/src/utils/connection/open-api/react.d.ts +31 -5
  1077. package/src/utils/connection/open-api/react.js +106 -76
  1078. package/src/utils/connection/open-api/react.js.map +1 -1
  1079. package/src/utils/containers.js +22 -23
  1080. package/src/utils/containers.js.map +1 -1
  1081. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +38 -0
  1082. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +93 -0
  1083. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -0
  1084. package/src/utils/dcr-proxy-constructs/files/cdk/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.ts.template +227 -0
  1085. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorization-server-metadata.ts.template +39 -0
  1086. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorize.ts.template +26 -0
  1087. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/mcp-proxy.ts.template +89 -0
  1088. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/protected-resource-metadata.ts.template +13 -0
  1089. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/register.ts.template +70 -0
  1090. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/token.ts.template +75 -0
  1091. package/src/utils/dcr-proxy-constructs/files/terraform/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.tf.template +410 -0
  1092. package/src/utils/declared-dependencies.d.ts +140 -0
  1093. package/src/utils/declared-dependencies.js +64 -0
  1094. package/src/utils/declared-dependencies.js.map +1 -0
  1095. package/src/utils/dependencies.d.ts +18 -0
  1096. package/src/utils/dependencies.js +206 -0
  1097. package/src/utils/dependencies.js.map +1 -0
  1098. package/src/utils/docker.d.ts +89 -0
  1099. package/src/utils/docker.js +125 -0
  1100. package/src/utils/docker.js.map +1 -0
  1101. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +1 -1
  1102. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  1103. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  1104. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  1105. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  1106. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  1107. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  1108. package/src/utils/files/common/constructs/src/core/cloudfront.ts.template +14 -0
  1109. package/src/utils/files/common/constructs/src/core/index.ts.template +5 -4
  1110. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  1111. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  1112. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  1113. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  1114. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  1115. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  1116. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +103 -0
  1117. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  1118. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  1119. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  1120. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  1121. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  1122. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  1123. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  1124. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +115 -0
  1125. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  1126. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  1127. package/src/utils/files/shadcn/components.json.template +1 -1
  1128. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  1129. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  1130. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  1131. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  1132. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  1133. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  1134. package/src/utils/format.d.ts +39 -4
  1135. package/src/utils/format.js +318 -198
  1136. package/src/utils/format.js.map +1 -1
  1137. package/src/utils/fs.d.ts +24 -5
  1138. package/src/utils/fs.js +40 -15
  1139. package/src/utils/fs.js.map +1 -1
  1140. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  1141. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  1142. package/src/utils/function-constructs/function-constructs.js +22 -25
  1143. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  1144. package/src/utils/generators.js +18 -20
  1145. package/src/utils/generators.js.map +1 -1
  1146. package/src/utils/git.js +19 -34
  1147. package/src/utils/git.js.map +1 -1
  1148. package/src/utils/iac-providers.js +5 -5
  1149. package/src/utils/iac-providers.js.map +1 -1
  1150. package/src/utils/iac.js +12 -14
  1151. package/src/utils/iac.js.map +1 -1
  1152. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +153 -24
  1153. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  1154. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +129 -12
  1155. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  1156. package/src/utils/identity-constructs/identity-constructs.d.ts +10 -0
  1157. package/src/utils/identity-constructs/identity-constructs.js +52 -31
  1158. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  1159. package/src/utils/init.d.ts +72 -0
  1160. package/src/utils/init.js +300 -0
  1161. package/src/utils/init.js.map +1 -0
  1162. package/src/utils/install.d.ts +32 -0
  1163. package/src/utils/install.js +58 -0
  1164. package/src/utils/install.js.map +1 -0
  1165. package/src/utils/js.js +27 -20
  1166. package/src/utils/js.js.map +1 -1
  1167. package/src/utils/mcp.d.ts +9 -0
  1168. package/src/utils/mcp.js +42 -41
  1169. package/src/utils/mcp.js.map +1 -1
  1170. package/src/utils/metrics.d.ts +7 -1
  1171. package/src/utils/metrics.js +61 -46
  1172. package/src/utils/metrics.js.map +1 -1
  1173. package/src/utils/migration-manifest.d.ts +58 -0
  1174. package/src/utils/migration-manifest.js +76 -0
  1175. package/src/utils/migration-manifest.js.map +1 -0
  1176. package/src/utils/migration-versions.d.ts +145 -0
  1177. package/src/utils/migration-versions.js +250 -0
  1178. package/src/utils/migration-versions.js.map +1 -0
  1179. package/src/utils/mock-project-graph.js +8 -12
  1180. package/src/utils/mock-project-graph.js.map +1 -1
  1181. package/src/utils/module-format.d.ts +25 -0
  1182. package/src/utils/module-format.js +45 -0
  1183. package/src/utils/module-format.js.map +1 -0
  1184. package/src/utils/names.d.ts +22 -0
  1185. package/src/utils/names.js +44 -48
  1186. package/src/utils/names.js.map +1 -1
  1187. package/src/utils/npm-scope.d.ts +0 -4
  1188. package/src/utils/npm-scope.js +7 -20
  1189. package/src/utils/npm-scope.js.map +1 -1
  1190. package/src/utils/nx.d.ts +74 -3
  1191. package/src/utils/nx.js +196 -75
  1192. package/src/utils/nx.js.map +1 -1
  1193. package/src/utils/nxlv-python.js +27 -15
  1194. package/src/utils/nxlv-python.js.map +1 -1
  1195. package/src/utils/object.js +5 -11
  1196. package/src/utils/object.js.map +1 -1
  1197. package/src/utils/paths.js +11 -15
  1198. package/src/utils/paths.js.map +1 -1
  1199. package/src/utils/pkg-manager.js +4 -9
  1200. package/src/utils/pkg-manager.js.map +1 -1
  1201. package/src/utils/pnpm-workspace.d.ts +1 -12
  1202. package/src/utils/pnpm-workspace.js +16 -43
  1203. package/src/utils/pnpm-workspace.js.map +1 -1
  1204. package/src/utils/port.d.ts +28 -6
  1205. package/src/utils/port.js +67 -28
  1206. package/src/utils/port.js.map +1 -1
  1207. package/src/utils/project-package-json.d.ts +39 -0
  1208. package/src/utils/project-package-json.js +119 -0
  1209. package/src/utils/project-package-json.js.map +1 -0
  1210. package/src/utils/py.d.ts +17 -3
  1211. package/src/utils/py.js +73 -48
  1212. package/src/utils/py.js.map +1 -1
  1213. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1214. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +112 -88
  1215. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1216. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +60 -53
  1217. package/src/utils/rdb-constructs/rdb-constructs.d.ts +12 -1
  1218. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1219. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1220. package/src/utils/ruff.d.ts +59 -0
  1221. package/src/utils/ruff.js +140 -0
  1222. package/src/utils/ruff.js.map +1 -0
  1223. package/src/utils/shared-constructs-constants.d.ts +46 -4
  1224. package/src/utils/shared-constructs-constants.js +50 -15
  1225. package/src/utils/shared-constructs-constants.js.map +1 -1
  1226. package/src/utils/shared-constructs.d.ts +4 -1
  1227. package/src/utils/shared-constructs.js +62 -67
  1228. package/src/utils/shared-constructs.js.map +1 -1
  1229. package/src/utils/shared-dynamodb-scripts.d.ts +18 -0
  1230. package/src/utils/shared-dynamodb-scripts.js +35 -0
  1231. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1232. package/src/utils/shared-infra-config.js +31 -30
  1233. package/src/utils/shared-infra-config.js.map +1 -1
  1234. package/src/utils/shared-infra-scripts.d.ts +26 -0
  1235. package/src/utils/shared-infra-scripts.js +58 -0
  1236. package/src/utils/shared-infra-scripts.js.map +1 -0
  1237. package/src/utils/shared-rdb-scripts.d.ts +27 -0
  1238. package/src/utils/shared-rdb-scripts.js +59 -0
  1239. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1240. package/src/utils/shared-scripts.d.ts +1 -4
  1241. package/src/utils/shared-scripts.js +12 -38
  1242. package/src/utils/shared-scripts.js.map +1 -1
  1243. package/src/utils/shared-shadcn.d.ts +26 -1
  1244. package/src/utils/shared-shadcn.js +93 -67
  1245. package/src/utils/shared-shadcn.js.map +1 -1
  1246. package/src/utils/smithy.d.ts +59 -0
  1247. package/src/utils/smithy.js +73 -0
  1248. package/src/utils/smithy.js.map +1 -0
  1249. package/src/utils/test-git.d.ts +39 -0
  1250. package/src/utils/test-git.js +117 -0
  1251. package/src/utils/test-git.js.map +1 -0
  1252. package/src/utils/test.d.ts +10 -0
  1253. package/src/utils/test.js +44 -25
  1254. package/src/utils/test.js.map +1 -1
  1255. package/src/utils/toml.d.ts +5 -0
  1256. package/src/utils/toml.js +17 -15
  1257. package/src/utils/toml.js.map +1 -1
  1258. package/src/utils/version-upgrade-migration/migration.d.ts +14 -0
  1259. package/src/utils/version-upgrade-migration/migration.js +16 -0
  1260. package/src/utils/version-upgrade-migration/migration.js.map +1 -0
  1261. package/src/utils/version-upgrade-migration/nx-package-updates.d.ts +45 -0
  1262. package/src/utils/version-upgrade-migration/nx-package-updates.js +50 -0
  1263. package/src/utils/version-upgrade-migration/nx-package-updates.js.map +1 -0
  1264. package/src/utils/version-upgrade-migration/owned-dependencies.d.ts +76 -0
  1265. package/src/utils/version-upgrade-migration/owned-dependencies.js +146 -0
  1266. package/src/utils/version-upgrade-migration/owned-dependencies.js.map +1 -0
  1267. package/src/utils/version-upgrade-migration/register.d.ts +29 -0
  1268. package/src/utils/version-upgrade-migration/register.js +42 -0
  1269. package/src/utils/version-upgrade-migration/register.js.map +1 -0
  1270. package/src/utils/version-upgrade-migration/sync-embedded-versions.d.ts +26 -0
  1271. package/src/utils/version-upgrade-migration/sync-embedded-versions.js +352 -0
  1272. package/src/utils/version-upgrade-migration/sync-embedded-versions.js.map +1 -0
  1273. package/src/utils/version-upgrade-migration/sync-metrics-version.d.ts +13 -0
  1274. package/src/utils/version-upgrade-migration/sync-metrics-version.js +33 -0
  1275. package/src/utils/version-upgrade-migration/sync-metrics-version.js.map +1 -0
  1276. package/src/utils/version-upgrade-migration/sync-vended-versions.d.ts +10 -0
  1277. package/src/utils/version-upgrade-migration/sync-vended-versions.js +518 -0
  1278. package/src/utils/version-upgrade-migration/sync-vended-versions.js.map +1 -0
  1279. package/src/utils/version-upgrade-migration/vended-upgrade.d.ts +14 -0
  1280. package/src/utils/version-upgrade-migration/vended-upgrade.js +40 -0
  1281. package/src/utils/version-upgrade-migration/vended-upgrade.js.map +1 -0
  1282. package/src/utils/versions.d.ts +240 -108
  1283. package/src/utils/versions.js +265 -121
  1284. package/src/utils/versions.js.map +1 -1
  1285. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1286. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +207 -41
  1287. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1288. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1289. package/src/utils/website-constructs/website-constructs.d.ts +11 -0
  1290. package/src/utils/website-constructs/website-constructs.js +49 -30
  1291. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1292. package/bin/aws-nx-mcp.d.ts +0 -2
  1293. package/bin/aws-nx-mcp.js +0 -17
  1294. package/bin/aws-nx-mcp.js.map +0 -1
  1295. package/sdk/connection.d.ts +0 -6
  1296. package/sdk/connection.js +0 -10
  1297. package/sdk/connection.js.map +0 -1
  1298. package/sdk/license.d.ts +0 -8
  1299. package/sdk/license.js +0 -13
  1300. package/sdk/license.js.map +0 -1
  1301. package/sdk/open-api.d.ts +0 -10
  1302. package/sdk/open-api.js +0 -15
  1303. package/sdk/open-api.js.map +0 -1
  1304. package/sdk/py.d.ts +0 -14
  1305. package/sdk/py.js +0 -18
  1306. package/sdk/py.js.map +0 -1
  1307. package/sdk/terraform.d.ts +0 -6
  1308. package/sdk/terraform.js +0 -11
  1309. package/sdk/terraform.js.map +0 -1
  1310. package/sdk/ts.d.ts +0 -29
  1311. package/sdk/ts.js +0 -47
  1312. package/sdk/ts.js.map +0 -1
  1313. package/sdk/utils/ast.js +0 -12
  1314. package/sdk/utils/ast.js.map +0 -1
  1315. package/sdk/utils/format.js +0 -10
  1316. package/sdk/utils/format.js.map +0 -1
  1317. package/sdk/utils/test.js +0 -10
  1318. package/sdk/utils/test.js.map +0 -1
  1319. package/src/connection/agent-serve-local.d.ts +0 -33
  1320. package/src/connection/agent-serve-local.js +0 -48
  1321. package/src/connection/agent-serve-local.js.map +0 -1
  1322. package/src/connection/serve-local.js +0 -41
  1323. package/src/connection/serve-local.js.map +0 -1
  1324. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1325. package/src/py/agent/files/ag-ui/main.py.template +0 -37
  1326. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1327. package/src/py/agent/react-connection/serve-local.js +0 -30
  1328. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1329. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1330. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1331. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1332. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1333. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1334. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1335. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1336. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1337. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1338. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1339. package/src/ts/rdb/files/scripts/pull-image.ts.template +0 -15
  1340. package/src/ts/rdb/files/scripts/start-container.ts.template +0 -84
  1341. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1342. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1343. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1344. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1345. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1346. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1347. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1348. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1349. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1350. /package/src/py/agent/files/{common → strands/common}/__init__.py.template +0 -0
  1351. /package/src/smithy/project/files/{src → service/src}/main.smithy.template +0 -0
  1352. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1353. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1354. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -0,0 +1,518 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { addDependenciesToPackageJson, detectPackageManager, readJson, updateJson, visitNotIgnoredFiles } from "@nx/devkit";
5
+ import yaml from "js-yaml";
6
+ import { getCatalogManager } from "nx/src/utils/catalog";
7
+ import { parsePipRequirementsLine } from "pip-requirements-js";
8
+ import { coerce, parse, satisfies, validRange } from "semver";
9
+ import { applyGritQL, captureAllGritQL } from "../ast.js";
10
+ import { buildInstallCommand } from "../commands.js";
11
+ import { formatFilesInSubtree } from "../format.js";
12
+ import { updateToml } from "../toml.js";
13
+ import { PY_VERSIONS, TERRAFORM_VERSIONS, TS_VERSIONS } from "../versions.js";
14
+ import { isNxPackage } from "./nx-package-updates.js";
15
+ import { ownedDependencies } from "./owned-dependencies.js";
16
+ import { syncEmbeddedVersions } from "./sync-embedded-versions.js";
17
+ import { syncMetricsVersion } from "./sync-metrics-version.js";
18
+ import { isVendedUpgrade } from "./vended-upgrade.js";
19
+ /**
20
+ * Syncs the versions a generated workspace pins to those this release vends:
21
+ * TypeScript dependencies (including those pinned only by an override), Python
22
+ * pins, Terraform providers, and the plugin version the metrics files report.
23
+ *
24
+ * nx and `@nx/*` are excluded — `packageJsonUpdates` owns them so `nx migrate`
25
+ * collects Nx's own migrations (see `nx-package-updates.ts`).
26
+ */ /** Workspace files holding catalog definitions, and pnpm 11's overrides. */ const YAML_WORKSPACE_FILES = [
27
+ 'pnpm-workspace.yaml',
28
+ '.yarnrc.yml'
29
+ ];
30
+ /**
31
+ * Vended version for a dependency this workspace's generators own, or undefined
32
+ * for one the user added themselves.
33
+ */ const vendedTsVersion = (owned, name)=>isNxPackage(name) || !owned.ts.has(name) ? undefined : TS_VERSIONS[name];
34
+ /** PY_VERSIONS records the `==` operator; the pin holds the bare version. */ const vendedPyVersion = (owned, name)=>owned.py.has(name) ? PY_VERSIONS[name]?.replace(/^==/, '') : undefined;
35
+ /** Protocols whose version lives elsewhere, and is synced there instead. */ const REFERENCE_PROTOCOL = /^(?:workspace|file|link|npm|git|git\+|github|portal|patch|exec):/;
36
+ /**
37
+ * Whether devkit may be handed this specifier.
38
+ *
39
+ * `catalog:` is only safe where devkit has a catalog manager (pnpm, yarn).
40
+ * It ships none for bun, and without one it rewrites the reference to a literal
41
+ * version, severing the catalog — so bun's references are synced directly.
42
+ */ const isSyncableSpecifier = (tree, declared)=>{
43
+ // A manifest is the user's file and may hold anything. A version that isn't a
44
+ // string is not one this can reason about, and throwing here would abort the
45
+ // whole `nx migrate` over a file the sync only meant to skip.
46
+ if (typeof declared !== 'string') {
47
+ return false;
48
+ }
49
+ if (REFERENCE_PROTOCOL.test(declared)) {
50
+ return false;
51
+ }
52
+ return !declared.startsWith('catalog:') || getCatalogManager(tree.root) !== null;
53
+ };
54
+ /**
55
+ * Whether the declared range already permits the vended version, following a
56
+ * `catalog:` reference to the range it points at.
57
+ *
58
+ * Devkit would narrow such a range to an exact pin, discarding a user's widened
59
+ * specifier without changing what resolves, so it is left alone.
60
+ */ const alreadyPermitsVended = (tree, packageName, declared, vended)=>{
61
+ let range = declared;
62
+ if (declared.startsWith('catalog:')) {
63
+ const resolved = getCatalogManager(tree.root)?.resolveCatalogReference(tree, packageName, declared);
64
+ if (!resolved) {
65
+ return false;
66
+ }
67
+ range = resolved;
68
+ }
69
+ range = range.trim();
70
+ // An exact pin is the case to upgrade, not a range to preserve.
71
+ if (parse(range) !== null || validRange(range) === null) {
72
+ return false;
73
+ }
74
+ return satisfies(vended, range);
75
+ };
76
+ /**
77
+ * Vended packages a manifest already declares, and the version to move each to.
78
+ *
79
+ * Only packages already present are named: devkit adds whatever it is given, so
80
+ * passing the full vended list would inject all of it into every manifest.
81
+ */ const declaredVendedPackages = (tree, owned, packageJsonPath)=>{
82
+ const json = readJson(tree, packageJsonPath);
83
+ const pick = (field)=>Object.fromEntries(Object.entries(json[field] ?? {}).flatMap(([name, declared])=>{
84
+ const vended = vendedTsVersion(owned, name);
85
+ return vended && isSyncableSpecifier(tree, declared) && !alreadyPermitsVended(tree, name, declared, vended) ? [
86
+ [
87
+ name,
88
+ vended
89
+ ]
90
+ ] : [];
91
+ }));
92
+ return {
93
+ dependencies: pick('dependencies'),
94
+ devDependencies: pick('devDependencies')
95
+ };
96
+ };
97
+ /**
98
+ * Sync the TypeScript dependencies every `package.json` declares.
99
+ *
100
+ * Devkit does the writing: it moves a version wherever the workspace keeps it —
101
+ * through a `catalog:` reference or directly — and refuses anything that isn't a
102
+ * strict upgrade on what is installed.
103
+ *
104
+ * Called directly rather than through this plugin's wrapper, which *migrates*
105
+ * declarations into the catalog; right when generating, wrong for a version bump.
106
+ */ const syncPackageJsons = (tree, owned)=>{
107
+ const updated = [];
108
+ visitNotIgnoredFiles(tree, '.', (path)=>{
109
+ if (!path.endsWith('package.json')) {
110
+ return;
111
+ }
112
+ const { dependencies, devDependencies } = declaredVendedPackages(tree, owned, path);
113
+ if (Object.keys(dependencies).length === 0 && Object.keys(devDependencies).length === 0) {
114
+ return;
115
+ }
116
+ const before = tree.read(path, 'utf-8');
117
+ const catalogsBefore = readCatalogFiles(tree);
118
+ // Install callback dropped: `nx migrate` runs install itself.
119
+ addDependenciesToPackageJson(tree, dependencies, devDependencies, path);
120
+ if (tree.read(path, 'utf-8') !== before || readCatalogFiles(tree) !== catalogsBefore) {
121
+ updated.push(path);
122
+ }
123
+ });
124
+ return updated;
125
+ };
126
+ /** Snapshot of every catalog definition file, for change detection. */ const readCatalogFiles = (tree)=>[
127
+ ...YAML_WORKSPACE_FILES,
128
+ 'package.json'
129
+ ].map((path)=>tree.exists(path) ? tree.read(path, 'utf-8') : '').join('\0');
130
+ /**
131
+ * Upgrade vended catalog entries devkit cannot reach: those no manifest
132
+ * references, and every bun entry (bun has no catalog manager).
133
+ */ const syncOrphanCatalogEntries = (tree, owned)=>{
134
+ const referenced = referencedCatalogPackages(tree);
135
+ const updated = [];
136
+ const syncCatalog = (catalog)=>{
137
+ let changed = false;
138
+ for (const [name, declared] of Object.entries(catalog ?? {})){
139
+ const vended = vendedTsVersion(owned, name);
140
+ if (!vended || referenced.has(name)) {
141
+ continue;
142
+ }
143
+ if (isVendedUpgrade(vended, String(declared))) {
144
+ catalog[name] = vended;
145
+ changed = true;
146
+ }
147
+ }
148
+ return changed;
149
+ };
150
+ for (const path of YAML_WORKSPACE_FILES){
151
+ if (!tree.exists(path)) {
152
+ continue;
153
+ }
154
+ const catalogFile = yaml.load(tree.read(path, 'utf-8') ?? '') ?? {};
155
+ const changed = [
156
+ syncCatalog(catalogFile.catalog),
157
+ ...Object.values(catalogFile.catalogs ?? {}).map(syncCatalog)
158
+ ].some(Boolean);
159
+ if (changed) {
160
+ tree.write(path, yaml.dump(catalogFile, {
161
+ quotingType: "'"
162
+ }));
163
+ updated.push(path);
164
+ }
165
+ }
166
+ // Bun keeps its catalogs in the root manifest.
167
+ if (tree.exists('package.json')) {
168
+ let changed = false;
169
+ updateJson(tree, 'package.json', (json)=>{
170
+ changed = [
171
+ syncCatalog(json.catalog),
172
+ ...Object.values(json.catalogs ?? {}).map(syncCatalog)
173
+ ].some(Boolean);
174
+ return json;
175
+ });
176
+ if (changed) {
177
+ updated.push('package.json');
178
+ }
179
+ }
180
+ return updated;
181
+ };
182
+ /**
183
+ * The package an override key pins, or undefined when the key names none.
184
+ *
185
+ * A key is a package name, optionally preceded by the path it is scoped to and
186
+ * followed by the parent range it applies at:
187
+ *
188
+ * zod -> zod
189
+ * zod@^3 -> zod
190
+ * **/@modelcontextprotocol/sdk/zod -> zod
191
+ * @prisma/adapter-pg/@types/pg -> @types/pg
192
+ *
193
+ * The last segment is the package, since every earlier one is a parent it is
194
+ * scoped under — except that a scope and the name after it are one segment.
195
+ */ const overriddenPackage = (key)=>{
196
+ const segments = key.split('/').reduce((acc, part)=>{
197
+ // A bare `@scope` is only half a name; join it to what follows.
198
+ const previous = acc[acc.length - 1];
199
+ if (previous?.startsWith('@') && !previous.includes('/')) {
200
+ acc[acc.length - 1] = `${previous}/${part}`;
201
+ return acc;
202
+ }
203
+ acc.push(part);
204
+ return acc;
205
+ }, []);
206
+ const name = segments[segments.length - 1];
207
+ if (!name || name === '.') {
208
+ return undefined;
209
+ }
210
+ // A trailing `@range` scopes the override to a parent version.
211
+ const at = name.lastIndexOf('@');
212
+ return at > 0 ? name.slice(0, at) : name;
213
+ };
214
+ /**
215
+ * Sync the owned packages an override pins, wherever the workspace keeps them:
216
+ * npm's `overrides`, yarn and bun's `resolutions`, and pnpm's `pnpm.overrides`
217
+ * (10) or `pnpm-workspace.yaml` `overrides` (11).
218
+ *
219
+ * Devkit does not manage these fields, so an owned package pinned only here
220
+ * would otherwise stay on the version it was generated with. Values are compared
221
+ * with `isVendedUpgrade`, so a range the user widened is left alone.
222
+ */ /**
223
+ * Where the workspace's package manager reads overrides from.
224
+ *
225
+ * Only the root manifest is considered: every package manager resolves overrides
226
+ * from the workspace root, so a nested `overrides` block is inert and rewriting
227
+ * it would imply an effect it doesn't have.
228
+ *
229
+ * pnpm moved the block between majors — 10 reads `pnpm.overrides` in the
230
+ * manifest, 11 reads `overrides` in `pnpm-workspace.yaml` — so both are covered
231
+ * rather than detecting the minor.
232
+ */ const overrideLocations = (tree)=>{
233
+ switch(detectPackageManager(tree.root)){
234
+ case 'npm':
235
+ return {
236
+ manifestFields: [
237
+ 'overrides'
238
+ ]
239
+ };
240
+ case 'yarn':
241
+ return {
242
+ manifestFields: [
243
+ 'resolutions'
244
+ ]
245
+ };
246
+ case 'bun':
247
+ // Bun reads npm's `overrides` and yarn's `resolutions` alike.
248
+ return {
249
+ manifestFields: [
250
+ 'overrides',
251
+ 'resolutions'
252
+ ]
253
+ };
254
+ default:
255
+ return {
256
+ manifestFields: [
257
+ 'pnpm.overrides'
258
+ ],
259
+ workspaceFile: 'pnpm-workspace.yaml'
260
+ };
261
+ }
262
+ };
263
+ const syncOverrides = (tree, owned)=>{
264
+ const updated = [];
265
+ // Nested npm overrides carry the pin under `.`, with sibling keys scoping
266
+ // deeper, so a value may be a string or another override object.
267
+ const syncOverrideTree = (overrides)=>{
268
+ if (typeof overrides !== 'object' || overrides === null) {
269
+ return false;
270
+ }
271
+ let changed = false;
272
+ for (const [key, value] of Object.entries(overrides)){
273
+ if (typeof value === 'object' && value !== null) {
274
+ changed = syncOverrideTree(value) || changed;
275
+ continue;
276
+ }
277
+ if (typeof value !== 'string') {
278
+ continue;
279
+ }
280
+ // `.` pins the package its parent key names.
281
+ const name = key === '.' ? undefined : overriddenPackage(key) ?? undefined;
282
+ const vended = name ? vendedTsVersion(owned, name) : undefined;
283
+ if (vended && isVendedUpgrade(vended, value)) {
284
+ overrides[key] = vended;
285
+ changed = true;
286
+ }
287
+ }
288
+ return changed;
289
+ };
290
+ const { manifestFields, workspaceFile } = overrideLocations(tree);
291
+ if (manifestFields.length > 0) {
292
+ let changed = false;
293
+ updateJson(tree, 'package.json', (json)=>{
294
+ changed = manifestFields.map((field)=>syncOverrideTree(field === 'pnpm.overrides' ? json.pnpm?.overrides : json[field])).some(Boolean);
295
+ return json;
296
+ });
297
+ if (changed) {
298
+ updated.push('package.json');
299
+ }
300
+ }
301
+ if (workspaceFile && tree.exists(workspaceFile)) {
302
+ const contents = yaml.load(tree.read(workspaceFile, 'utf-8') ?? '') ?? {};
303
+ if (syncOverrideTree(contents.overrides)) {
304
+ tree.write(workspaceFile, yaml.dump(contents, {
305
+ quotingType: "'"
306
+ }));
307
+ updated.push(workspaceFile);
308
+ }
309
+ }
310
+ return updated;
311
+ };
312
+ /**
313
+ * Packages devkit already maintains through a `catalog:` reference. Empty
314
+ * without a catalog manager, where no reference resolves.
315
+ */ const referencedCatalogPackages = (tree)=>{
316
+ const referenced = new Set();
317
+ if (getCatalogManager(tree.root) === null) {
318
+ return referenced;
319
+ }
320
+ visitNotIgnoredFiles(tree, '.', (path)=>{
321
+ if (!path.endsWith('package.json')) {
322
+ return;
323
+ }
324
+ const json = readJson(tree, path);
325
+ for (const field of [
326
+ 'dependencies',
327
+ 'devDependencies'
328
+ ]){
329
+ for (const [name, declared] of Object.entries(json[field] ?? {})){
330
+ if (String(declared).startsWith('catalog:')) {
331
+ referenced.add(name);
332
+ }
333
+ }
334
+ }
335
+ });
336
+ return referenced;
337
+ };
338
+ /**
339
+ * Whether the declared specifiers already permit the vended version, so
340
+ * rewriting them would discard the user's range without changing what resolves.
341
+ *
342
+ * This mirrors the TypeScript side: an exact pin is the case to upgrade, a range
343
+ * that already reaches the vended version is left alone, and a range that falls
344
+ * short is moved up.
345
+ *
346
+ * A `*` wildcard or a specifier semver can't read counts as already permitting,
347
+ * so anything not understood is left as the user wrote it.
348
+ */ const pyRangePermitsVended = (specs, vended)=>specs.every((spec)=>{
349
+ if (spec.version.includes('*')) {
350
+ return true;
351
+ }
352
+ const bound = coerce(spec.version, {
353
+ includePrerelease: true
354
+ });
355
+ if (!bound) {
356
+ return true;
357
+ }
358
+ switch(spec.operator){
359
+ // An exact pin permits only itself, so a differing vended version is an
360
+ // upgrade to apply.
361
+ case '==':
362
+ case '===':
363
+ return satisfies(vended, `=${bound.version}`, {
364
+ includePrerelease: true
365
+ });
366
+ // `~=1.2.3` allows the patch series; `~=1.2` the minor series.
367
+ case '~=':
368
+ return satisfies(vended, spec.version.split('.').length > 2 ? `~${bound.version}` : `^${bound.version}`, {
369
+ includePrerelease: true
370
+ });
371
+ case '>=':
372
+ case '>':
373
+ case '<=':
374
+ case '<':
375
+ return satisfies(vended, `${spec.operator}${bound.version}`, {
376
+ includePrerelease: true
377
+ });
378
+ // `!=` only excludes, so it never blocks the vended version by itself.
379
+ case '!=':
380
+ return true;
381
+ default:
382
+ return true;
383
+ }
384
+ });
385
+ /**
386
+ * Upgrade a pip requirement to the vended version, or return it unchanged.
387
+ *
388
+ * Parsed rather than pattern-matched so extras and operators are read the way
389
+ * `uv` reads them. A requirement whose specifiers already permit the vended
390
+ * version keeps them; one that falls short is replaced with an exact pin, which
391
+ * is what the generators write.
392
+ */ const syncPyRequirement = (owned, requirement)=>{
393
+ const parsed = parsePipRequirementsLine(requirement);
394
+ if (parsed?.type !== 'ProjectName' || !parsed.versionSpec?.length) {
395
+ return requirement;
396
+ }
397
+ const name = parsed.extras?.length ? `${parsed.name}[${parsed.extras.join(',')}]` : parsed.name;
398
+ const vended = vendedPyVersion(owned, name);
399
+ if (!vended) {
400
+ return requirement;
401
+ }
402
+ const specs = parsed.versionSpec;
403
+ // Never move a version backwards: a pin above what this release vends is the
404
+ // user's, and a range already reaching it is theirs to keep.
405
+ const [first] = specs;
406
+ const isExactPin = specs.length === 1 && (first.operator === '==' || first.operator === '===');
407
+ if (isExactPin && !isVendedUpgrade(vended, first.version)) {
408
+ return requirement;
409
+ }
410
+ if (!isExactPin && pyRangePermitsVended(specs, vended)) {
411
+ return requirement;
412
+ }
413
+ return `${name}==${vended}`;
414
+ };
415
+ /** Sync pins in every `pyproject.toml`, dependencies and groups alike. */ const syncPyProjects = (tree, owned)=>{
416
+ const updated = [];
417
+ visitNotIgnoredFiles(tree, '.', (path)=>{
418
+ if (!path.endsWith('pyproject.toml')) {
419
+ return;
420
+ }
421
+ let changed = false;
422
+ const syncRequirements = (requirements)=>Array.isArray(requirements) ? requirements.map((requirement)=>{
423
+ if (typeof requirement !== 'string') {
424
+ return requirement;
425
+ }
426
+ const synced = syncPyRequirement(owned, requirement);
427
+ changed ||= synced !== requirement;
428
+ return synced;
429
+ }) : requirements;
430
+ updateToml(tree, path, (toml)=>{
431
+ const project = toml.project;
432
+ if (project?.dependencies) {
433
+ project.dependencies = syncRequirements(project.dependencies);
434
+ }
435
+ const groups = toml['dependency-groups'];
436
+ for (const group of Object.keys(groups ?? {})){
437
+ groups[group] = syncRequirements(groups[group]);
438
+ }
439
+ return toml;
440
+ });
441
+ if (changed) {
442
+ updated.push(path);
443
+ }
444
+ });
445
+ return updated;
446
+ };
447
+ /**
448
+ * GritQL matching one provider's `version` in `required_providers`, scoped by
449
+ * the sibling `source` so an alias or another provider's version can't match.
450
+ *
451
+ * `language hcl` is required — without it the pattern silently matches nothing.
452
+ */ const providerVersionPattern = (provider, rewrite = '')=>`language hcl\n\`version = $version\`${rewrite} where {` + ` $version <: within \`{ source = "hashicorp/${provider}" $... }\` }`;
453
+ /** Version a provider currently declares, if it declares one. */ const declaredProviderVersion = async (tree, path, provider)=>{
454
+ const [captured] = await captureAllGritQL(tree, path, providerVersionPattern(provider));
455
+ // The match is the whole attribute, e.g. `version = "6.40.0"`.
456
+ return /"([^"]+)"/.exec(captured ?? '')?.[1];
457
+ };
458
+ /** Sync vended provider versions in every `.tf` file. */ const syncTerraformProviders = async (tree)=>{
459
+ const updated = [];
460
+ const terraformFiles = [];
461
+ visitNotIgnoredFiles(tree, '.', (path)=>{
462
+ if (path.endsWith('.tf')) {
463
+ terraformFiles.push(path);
464
+ }
465
+ });
466
+ for (const path of terraformFiles){
467
+ let changed = false;
468
+ for (const [provider, vended] of Object.entries(TERRAFORM_VERSIONS)){
469
+ const declared = await declaredProviderVersion(tree, path, provider);
470
+ if (!declared || !isVendedUpgrade(vended, declared)) {
471
+ continue;
472
+ }
473
+ changed = await applyGritQL(tree, path, providerVersionPattern(provider, ` => \`version = "${vended}"\``)) || changed;
474
+ }
475
+ if (changed) {
476
+ updated.push(path);
477
+ }
478
+ }
479
+ return updated;
480
+ };
481
+ /**
482
+ * Sync the versions this release vends, for the dependencies the workspace's
483
+ * generators own.
484
+ */ export const syncVendedVersions = async (tree)=>{
485
+ const nextSteps = [];
486
+ const owned = await ownedDependencies(tree);
487
+ const packageJsons = syncPackageJsons(tree, owned);
488
+ const catalogs = syncOrphanCatalogEntries(tree, owned);
489
+ const overrides = syncOverrides(tree, owned);
490
+ const pyProjects = syncPyProjects(tree, owned);
491
+ const terraformFiles = await syncTerraformProviders(tree);
492
+ const skippedEmbedded = await syncEmbeddedVersions(tree, owned);
493
+ await syncMetricsVersion(tree);
494
+ // Lock files are left to the user: `nx migrate` only installs when the root
495
+ // manifest changes, and never runs `uv` or `terraform`.
496
+ if (catalogs.length > 0 || packageJsons.length > 0 || overrides.length > 0) {
497
+ nextSteps.push(`TypeScript dependency versions were updated. Run \`${buildInstallCommand(detectPackageManager(tree.root))}\` to update the lock file.`);
498
+ }
499
+ if (pyProjects.length > 0) {
500
+ nextSteps.push(`Python dependency versions were updated in ${pyProjects.join(', ')}. Run \`uv sync\` to update uv.lock.`);
501
+ }
502
+ if (terraformFiles.length > 0) {
503
+ nextSteps.push(`Terraform provider versions were updated in ${terraformFiles.length} file(s). Run \`terraform init -upgrade\` in each Terraform project to update its lock file.`);
504
+ }
505
+ // A synced embedded pin needs no next step — it is read the next time the thing
506
+ // holding it runs. A file the sync left alone does: its versions are still the
507
+ // old ones, and only the user can reconcile that.
508
+ if (skippedEmbedded.length > 0) {
509
+ nextSteps.push(`Version pins were left as they are in ${skippedEmbedded.join(', ')}, which repeat a pin more times than this migration rewrites at once. Update them by hand.`);
510
+ }
511
+ // Without this the workspace's own format check fails on the migrated files.
512
+ await formatFilesInSubtree(tree);
513
+ return {
514
+ nextSteps
515
+ };
516
+ };
517
+
518
+ //# sourceMappingURL=sync-vended-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/version-upgrade-migration/sync-vended-versions.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addDependenciesToPackageJson,\n detectPackageManager,\n type MigrationReturnObject,\n readJson,\n type Tree,\n updateJson,\n visitNotIgnoredFiles,\n} from '@nx/devkit';\nimport yaml from 'js-yaml';\nimport { getCatalogManager } from 'nx/src/utils/catalog';\nimport { parsePipRequirementsLine } from 'pip-requirements-js';\nimport { coerce, parse, satisfies, validRange } from 'semver';\nimport { applyGritQL, captureAllGritQL } from '../ast';\nimport { buildInstallCommand } from '../commands';\nimport { formatFilesInSubtree } from '../format';\nimport { updateToml } from '../toml';\nimport { PY_VERSIONS, TERRAFORM_VERSIONS, TS_VERSIONS } from '../versions';\nimport { isNxPackage } from './nx-package-updates';\nimport {\n type OwnedDependencies,\n ownedDependencies,\n} from './owned-dependencies';\nimport { syncEmbeddedVersions } from './sync-embedded-versions';\nimport { syncMetricsVersion } from './sync-metrics-version';\nimport { isVendedUpgrade } from './vended-upgrade';\n\n/**\n * Syncs the versions a generated workspace pins to those this release vends:\n * TypeScript dependencies (including those pinned only by an override), Python\n * pins, Terraform providers, and the plugin version the metrics files report.\n *\n * nx and `@nx/*` are excluded — `packageJsonUpdates` owns them so `nx migrate`\n * collects Nx's own migrations (see `nx-package-updates.ts`).\n */\n\n/** Workspace files holding catalog definitions, and pnpm 11's overrides. */\nconst YAML_WORKSPACE_FILES = ['pnpm-workspace.yaml', '.yarnrc.yml'];\n\n/**\n * Vended version for a dependency this workspace's generators own, or undefined\n * for one the user added themselves.\n */\nconst vendedTsVersion = (\n owned: OwnedDependencies,\n name: string,\n): string | undefined =>\n isNxPackage(name) || !owned.ts.has(name)\n ? undefined\n : TS_VERSIONS[name as keyof typeof TS_VERSIONS];\n\n/** PY_VERSIONS records the `==` operator; the pin holds the bare version. */\nconst vendedPyVersion = (\n owned: OwnedDependencies,\n name: string,\n): string | undefined =>\n owned.py.has(name)\n ? PY_VERSIONS[name as keyof typeof PY_VERSIONS]?.replace(/^==/, '')\n : undefined;\n\n/** Protocols whose version lives elsewhere, and is synced there instead. */\nconst REFERENCE_PROTOCOL =\n /^(?:workspace|file|link|npm|git|git\\+|github|portal|patch|exec):/;\n\n/**\n * Whether devkit may be handed this specifier.\n *\n * `catalog:` is only safe where devkit has a catalog manager (pnpm, yarn).\n * It ships none for bun, and without one it rewrites the reference to a literal\n * version, severing the catalog — so bun's references are synced directly.\n */\nconst isSyncableSpecifier = (tree: Tree, declared: unknown): boolean => {\n // A manifest is the user's file and may hold anything. A version that isn't a\n // string is not one this can reason about, and throwing here would abort the\n // whole `nx migrate` over a file the sync only meant to skip.\n if (typeof declared !== 'string') {\n return false;\n }\n if (REFERENCE_PROTOCOL.test(declared)) {\n return false;\n }\n return (\n !declared.startsWith('catalog:') || getCatalogManager(tree.root) !== null\n );\n};\n\n/**\n * Whether the declared range already permits the vended version, following a\n * `catalog:` reference to the range it points at.\n *\n * Devkit would narrow such a range to an exact pin, discarding a user's widened\n * specifier without changing what resolves, so it is left alone.\n */\nconst alreadyPermitsVended = (\n tree: Tree,\n packageName: string,\n declared: string,\n vended: string,\n): boolean => {\n let range = declared;\n if (declared.startsWith('catalog:')) {\n const resolved = getCatalogManager(tree.root)?.resolveCatalogReference(\n tree,\n packageName,\n declared,\n );\n if (!resolved) {\n return false;\n }\n range = resolved;\n }\n range = range.trim();\n // An exact pin is the case to upgrade, not a range to preserve.\n if (parse(range) !== null || validRange(range) === null) {\n return false;\n }\n return satisfies(vended, range);\n};\n\n/**\n * Vended packages a manifest already declares, and the version to move each to.\n *\n * Only packages already present are named: devkit adds whatever it is given, so\n * passing the full vended list would inject all of it into every manifest.\n */\nconst declaredVendedPackages = (\n tree: Tree,\n owned: OwnedDependencies,\n packageJsonPath: string,\n): {\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n} => {\n const json = readJson(tree, packageJsonPath);\n const pick = (field: 'dependencies' | 'devDependencies') =>\n Object.fromEntries(\n Object.entries((json[field] ?? {}) as Record<string, string>).flatMap(\n ([name, declared]) => {\n const vended = vendedTsVersion(owned, name);\n return vended &&\n isSyncableSpecifier(tree, declared) &&\n !alreadyPermitsVended(tree, name, declared, vended)\n ? [[name, vended] as const]\n : [];\n },\n ),\n );\n return {\n dependencies: pick('dependencies'),\n devDependencies: pick('devDependencies'),\n };\n};\n\n/**\n * Sync the TypeScript dependencies every `package.json` declares.\n *\n * Devkit does the writing: it moves a version wherever the workspace keeps it —\n * through a `catalog:` reference or directly — and refuses anything that isn't a\n * strict upgrade on what is installed.\n *\n * Called directly rather than through this plugin's wrapper, which *migrates*\n * declarations into the catalog; right when generating, wrong for a version bump.\n */\nconst syncPackageJsons = (tree: Tree, owned: OwnedDependencies): string[] => {\n const updated: string[] = [];\n\n visitNotIgnoredFiles(tree, '.', (path) => {\n if (!path.endsWith('package.json')) {\n return;\n }\n const { dependencies, devDependencies } = declaredVendedPackages(\n tree,\n owned,\n path,\n );\n if (\n Object.keys(dependencies).length === 0 &&\n Object.keys(devDependencies).length === 0\n ) {\n return;\n }\n\n const before = tree.read(path, 'utf-8');\n const catalogsBefore = readCatalogFiles(tree);\n // Install callback dropped: `nx migrate` runs install itself.\n addDependenciesToPackageJson(tree, dependencies, devDependencies, path);\n if (\n tree.read(path, 'utf-8') !== before ||\n readCatalogFiles(tree) !== catalogsBefore\n ) {\n updated.push(path);\n }\n });\n\n return updated;\n};\n\n/** Snapshot of every catalog definition file, for change detection. */\nconst readCatalogFiles = (tree: Tree): string =>\n [...YAML_WORKSPACE_FILES, 'package.json']\n .map((path) => (tree.exists(path) ? tree.read(path, 'utf-8') : ''))\n .join('\\0');\n\n/**\n * Upgrade vended catalog entries devkit cannot reach: those no manifest\n * references, and every bun entry (bun has no catalog manager).\n */\nconst syncOrphanCatalogEntries = (\n tree: Tree,\n owned: OwnedDependencies,\n): string[] => {\n const referenced = referencedCatalogPackages(tree);\n const updated: string[] = [];\n\n const syncCatalog = (\n catalog: Record<string, string> | undefined,\n ): boolean => {\n let changed = false;\n for (const [name, declared] of Object.entries(catalog ?? {})) {\n const vended = vendedTsVersion(owned, name);\n if (!vended || referenced.has(name)) {\n continue;\n }\n if (isVendedUpgrade(vended, String(declared))) {\n catalog![name] = vended;\n changed = true;\n }\n }\n return changed;\n };\n\n for (const path of YAML_WORKSPACE_FILES) {\n if (!tree.exists(path)) {\n continue;\n }\n const catalogFile = (yaml.load(tree.read(path, 'utf-8') ?? '') ?? {}) as {\n catalog?: Record<string, string>;\n catalogs?: Record<string, Record<string, string>>;\n };\n const changed = [\n syncCatalog(catalogFile.catalog),\n ...Object.values(catalogFile.catalogs ?? {}).map(syncCatalog),\n ].some(Boolean);\n if (changed) {\n tree.write(path, yaml.dump(catalogFile, { quotingType: \"'\" }));\n updated.push(path);\n }\n }\n\n // Bun keeps its catalogs in the root manifest.\n if (tree.exists('package.json')) {\n let changed = false;\n updateJson(tree, 'package.json', (json) => {\n changed = [\n syncCatalog(json.catalog),\n ...Object.values(\n (json.catalogs ?? {}) as Record<string, Record<string, string>>,\n ).map(syncCatalog),\n ].some(Boolean);\n return json;\n });\n if (changed) {\n updated.push('package.json');\n }\n }\n\n return updated;\n};\n\n/**\n * The package an override key pins, or undefined when the key names none.\n *\n * A key is a package name, optionally preceded by the path it is scoped to and\n * followed by the parent range it applies at:\n *\n * zod -> zod\n * zod@^3 -> zod\n * **&#47;@modelcontextprotocol/sdk/zod -> zod\n * @prisma/adapter-pg/@types/pg -> @types/pg\n *\n * The last segment is the package, since every earlier one is a parent it is\n * scoped under — except that a scope and the name after it are one segment.\n */\nconst overriddenPackage = (key: string): string | undefined => {\n const segments = key.split('/').reduce<string[]>((acc, part) => {\n // A bare `@scope` is only half a name; join it to what follows.\n const previous = acc[acc.length - 1];\n if (previous?.startsWith('@') && !previous.includes('/')) {\n acc[acc.length - 1] = `${previous}/${part}`;\n return acc;\n }\n acc.push(part);\n return acc;\n }, []);\n\n const name = segments[segments.length - 1];\n if (!name || name === '.') {\n return undefined;\n }\n // A trailing `@range` scopes the override to a parent version.\n const at = name.lastIndexOf('@');\n return at > 0 ? name.slice(0, at) : name;\n};\n\n/**\n * Sync the owned packages an override pins, wherever the workspace keeps them:\n * npm's `overrides`, yarn and bun's `resolutions`, and pnpm's `pnpm.overrides`\n * (10) or `pnpm-workspace.yaml` `overrides` (11).\n *\n * Devkit does not manage these fields, so an owned package pinned only here\n * would otherwise stay on the version it was generated with. Values are compared\n * with `isVendedUpgrade`, so a range the user widened is left alone.\n */\n/**\n * Where the workspace's package manager reads overrides from.\n *\n * Only the root manifest is considered: every package manager resolves overrides\n * from the workspace root, so a nested `overrides` block is inert and rewriting\n * it would imply an effect it doesn't have.\n *\n * pnpm moved the block between majors — 10 reads `pnpm.overrides` in the\n * manifest, 11 reads `overrides` in `pnpm-workspace.yaml` — so both are covered\n * rather than detecting the minor.\n */\nconst overrideLocations = (\n tree: Tree,\n): {\n manifestFields: readonly ('overrides' | 'resolutions' | 'pnpm.overrides')[];\n workspaceFile?: string;\n} => {\n switch (detectPackageManager(tree.root)) {\n case 'npm':\n return { manifestFields: ['overrides'] };\n case 'yarn':\n return { manifestFields: ['resolutions'] };\n case 'bun':\n // Bun reads npm's `overrides` and yarn's `resolutions` alike.\n return { manifestFields: ['overrides', 'resolutions'] };\n default:\n return {\n manifestFields: ['pnpm.overrides'],\n workspaceFile: 'pnpm-workspace.yaml',\n };\n }\n};\n\nconst syncOverrides = (tree: Tree, owned: OwnedDependencies): string[] => {\n const updated: string[] = [];\n\n // Nested npm overrides carry the pin under `.`, with sibling keys scoping\n // deeper, so a value may be a string or another override object.\n const syncOverrideTree = (overrides: unknown): boolean => {\n if (typeof overrides !== 'object' || overrides === null) {\n return false;\n }\n let changed = false;\n for (const [key, value] of Object.entries(\n overrides as Record<string, unknown>,\n )) {\n if (typeof value === 'object' && value !== null) {\n changed = syncOverrideTree(value) || changed;\n continue;\n }\n if (typeof value !== 'string') {\n continue;\n }\n // `.` pins the package its parent key names.\n const name =\n key === '.' ? undefined : (overriddenPackage(key) ?? undefined);\n const vended = name ? vendedTsVersion(owned, name) : undefined;\n if (vended && isVendedUpgrade(vended, value)) {\n (overrides as Record<string, unknown>)[key] = vended;\n changed = true;\n }\n }\n return changed;\n };\n\n const { manifestFields, workspaceFile } = overrideLocations(tree);\n\n if (manifestFields.length > 0) {\n let changed = false;\n updateJson(tree, 'package.json', (json) => {\n changed = manifestFields\n .map((field) =>\n syncOverrideTree(\n field === 'pnpm.overrides' ? json.pnpm?.overrides : json[field],\n ),\n )\n .some(Boolean);\n return json;\n });\n if (changed) {\n updated.push('package.json');\n }\n }\n\n if (workspaceFile && tree.exists(workspaceFile)) {\n const contents = (yaml.load(tree.read(workspaceFile, 'utf-8') ?? '') ??\n {}) as Record<string, unknown>;\n if (syncOverrideTree(contents.overrides)) {\n tree.write(workspaceFile, yaml.dump(contents, { quotingType: \"'\" }));\n updated.push(workspaceFile);\n }\n }\n\n return updated;\n};\n\n/**\n * Packages devkit already maintains through a `catalog:` reference. Empty\n * without a catalog manager, where no reference resolves.\n */\nconst referencedCatalogPackages = (tree: Tree): Set<string> => {\n const referenced = new Set<string>();\n if (getCatalogManager(tree.root) === null) {\n return referenced;\n }\n visitNotIgnoredFiles(tree, '.', (path) => {\n if (!path.endsWith('package.json')) {\n return;\n }\n const json = readJson(tree, path);\n for (const field of ['dependencies', 'devDependencies'] as const) {\n for (const [name, declared] of Object.entries(\n (json[field] ?? {}) as Record<string, string>,\n )) {\n if (String(declared).startsWith('catalog:')) {\n referenced.add(name);\n }\n }\n }\n });\n return referenced;\n};\n\n/** Pip specifier as `pip-requirements-js` reports it. */\ninterface PyVersionSpec {\n readonly operator: string;\n readonly version: string;\n}\n\n/**\n * Whether the declared specifiers already permit the vended version, so\n * rewriting them would discard the user's range without changing what resolves.\n *\n * This mirrors the TypeScript side: an exact pin is the case to upgrade, a range\n * that already reaches the vended version is left alone, and a range that falls\n * short is moved up.\n *\n * A `*` wildcard or a specifier semver can't read counts as already permitting,\n * so anything not understood is left as the user wrote it.\n */\nconst pyRangePermitsVended = (\n specs: readonly PyVersionSpec[],\n vended: string,\n): boolean =>\n specs.every((spec) => {\n if (spec.version.includes('*')) {\n return true;\n }\n const bound = coerce(spec.version, { includePrerelease: true });\n if (!bound) {\n return true;\n }\n switch (spec.operator) {\n // An exact pin permits only itself, so a differing vended version is an\n // upgrade to apply.\n case '==':\n case '===':\n return satisfies(vended, `=${bound.version}`, {\n includePrerelease: true,\n });\n // `~=1.2.3` allows the patch series; `~=1.2` the minor series.\n case '~=':\n return satisfies(\n vended,\n spec.version.split('.').length > 2\n ? `~${bound.version}`\n : `^${bound.version}`,\n { includePrerelease: true },\n );\n case '>=':\n case '>':\n case '<=':\n case '<':\n return satisfies(vended, `${spec.operator}${bound.version}`, {\n includePrerelease: true,\n });\n // `!=` only excludes, so it never blocks the vended version by itself.\n case '!=':\n return true;\n default:\n return true;\n }\n });\n\n/**\n * Upgrade a pip requirement to the vended version, or return it unchanged.\n *\n * Parsed rather than pattern-matched so extras and operators are read the way\n * `uv` reads them. A requirement whose specifiers already permit the vended\n * version keeps them; one that falls short is replaced with an exact pin, which\n * is what the generators write.\n */\nconst syncPyRequirement = (\n owned: OwnedDependencies,\n requirement: string,\n): string => {\n const parsed = parsePipRequirementsLine(requirement);\n if (parsed?.type !== 'ProjectName' || !parsed.versionSpec?.length) {\n return requirement;\n }\n\n const name = parsed.extras?.length\n ? `${parsed.name}[${parsed.extras.join(',')}]`\n : parsed.name;\n const vended = vendedPyVersion(owned, name);\n if (!vended) {\n return requirement;\n }\n\n const specs = parsed.versionSpec as readonly PyVersionSpec[];\n // Never move a version backwards: a pin above what this release vends is the\n // user's, and a range already reaching it is theirs to keep.\n const [first] = specs;\n const isExactPin =\n specs.length === 1 && (first.operator === '==' || first.operator === '===');\n if (isExactPin && !isVendedUpgrade(vended, first.version)) {\n return requirement;\n }\n if (!isExactPin && pyRangePermitsVended(specs, vended)) {\n return requirement;\n }\n return `${name}==${vended}`;\n};\n\n/** Sync pins in every `pyproject.toml`, dependencies and groups alike. */\nconst syncPyProjects = (tree: Tree, owned: OwnedDependencies): string[] => {\n const updated: string[] = [];\n\n visitNotIgnoredFiles(tree, '.', (path) => {\n if (!path.endsWith('pyproject.toml')) {\n return;\n }\n\n let changed = false;\n const syncRequirements = (requirements: unknown): unknown =>\n Array.isArray(requirements)\n ? requirements.map((requirement) => {\n if (typeof requirement !== 'string') {\n return requirement;\n }\n const synced = syncPyRequirement(owned, requirement);\n changed ||= synced !== requirement;\n return synced;\n })\n : requirements;\n\n updateToml(tree, path, (toml) => {\n const project = toml.project as Record<string, unknown> | undefined;\n if (project?.dependencies) {\n project.dependencies = syncRequirements(project.dependencies) as never;\n }\n const groups = toml['dependency-groups'] as\n | Record<string, unknown>\n | undefined;\n for (const group of Object.keys(groups ?? {})) {\n groups![group] = syncRequirements(groups![group]) as never;\n }\n return toml;\n });\n\n if (changed) {\n updated.push(path);\n }\n });\n\n return updated;\n};\n\n/**\n * GritQL matching one provider's `version` in `required_providers`, scoped by\n * the sibling `source` so an alias or another provider's version can't match.\n *\n * `language hcl` is required — without it the pattern silently matches nothing.\n */\nconst providerVersionPattern = (provider: string, rewrite = ''): string =>\n `language hcl\\n\\`version = $version\\`${rewrite} where {` +\n ` $version <: within \\`{ source = \"hashicorp/${provider}\" $... }\\` }`;\n\n/** Version a provider currently declares, if it declares one. */\nconst declaredProviderVersion = async (\n tree: Tree,\n path: string,\n provider: string,\n): Promise<string | undefined> => {\n const [captured] = await captureAllGritQL(\n tree,\n path,\n providerVersionPattern(provider),\n );\n // The match is the whole attribute, e.g. `version = \"6.40.0\"`.\n return /\"([^\"]+)\"/.exec(captured ?? '')?.[1];\n};\n\n/** Sync vended provider versions in every `.tf` file. */\nconst syncTerraformProviders = async (tree: Tree): Promise<string[]> => {\n const updated: string[] = [];\n const terraformFiles: string[] = [];\n\n visitNotIgnoredFiles(tree, '.', (path) => {\n if (path.endsWith('.tf')) {\n terraformFiles.push(path);\n }\n });\n\n for (const path of terraformFiles) {\n let changed = false;\n for (const [provider, vended] of Object.entries(TERRAFORM_VERSIONS)) {\n const declared = await declaredProviderVersion(tree, path, provider);\n if (!declared || !isVendedUpgrade(vended, declared)) {\n continue;\n }\n changed =\n (await applyGritQL(\n tree,\n path,\n providerVersionPattern(provider, ` => \\`version = \"${vended}\"\\``),\n )) || changed;\n }\n if (changed) {\n updated.push(path);\n }\n }\n\n return updated;\n};\n\n/**\n * Sync the versions this release vends, for the dependencies the workspace's\n * generators own.\n */\nexport const syncVendedVersions = async (\n tree: Tree,\n): Promise<MigrationReturnObject> => {\n const nextSteps: string[] = [];\n const owned = await ownedDependencies(tree);\n\n const packageJsons = syncPackageJsons(tree, owned);\n const catalogs = syncOrphanCatalogEntries(tree, owned);\n const overrides = syncOverrides(tree, owned);\n const pyProjects = syncPyProjects(tree, owned);\n const terraformFiles = await syncTerraformProviders(tree);\n const skippedEmbedded = await syncEmbeddedVersions(tree, owned);\n await syncMetricsVersion(tree);\n\n // Lock files are left to the user: `nx migrate` only installs when the root\n // manifest changes, and never runs `uv` or `terraform`.\n if (catalogs.length > 0 || packageJsons.length > 0 || overrides.length > 0) {\n nextSteps.push(\n `TypeScript dependency versions were updated. Run \\`${buildInstallCommand(\n detectPackageManager(tree.root),\n )}\\` to update the lock file.`,\n );\n }\n if (pyProjects.length > 0) {\n nextSteps.push(\n `Python dependency versions were updated in ${pyProjects.join(', ')}. Run \\`uv sync\\` to update uv.lock.`,\n );\n }\n if (terraformFiles.length > 0) {\n nextSteps.push(\n `Terraform provider versions were updated in ${terraformFiles.length} file(s). Run \\`terraform init -upgrade\\` in each Terraform project to update its lock file.`,\n );\n }\n // A synced embedded pin needs no next step — it is read the next time the thing\n // holding it runs. A file the sync left alone does: its versions are still the\n // old ones, and only the user can reconcile that.\n if (skippedEmbedded.length > 0) {\n nextSteps.push(\n `Version pins were left as they are in ${skippedEmbedded.join(', ')}, which repeat a pin more times than this migration rewrites at once. Update them by hand.`,\n );\n }\n\n // Without this the workspace's own format check fails on the migrated files.\n await formatFilesInSubtree(tree);\n\n return { nextSteps };\n};\n"],"names":["addDependenciesToPackageJson","detectPackageManager","readJson","updateJson","visitNotIgnoredFiles","yaml","getCatalogManager","parsePipRequirementsLine","coerce","parse","satisfies","validRange","applyGritQL","captureAllGritQL","buildInstallCommand","formatFilesInSubtree","updateToml","PY_VERSIONS","TERRAFORM_VERSIONS","TS_VERSIONS","isNxPackage","ownedDependencies","syncEmbeddedVersions","syncMetricsVersion","isVendedUpgrade","YAML_WORKSPACE_FILES","vendedTsVersion","owned","name","ts","has","undefined","vendedPyVersion","py","replace","REFERENCE_PROTOCOL","isSyncableSpecifier","tree","declared","test","startsWith","root","alreadyPermitsVended","packageName","vended","range","resolved","resolveCatalogReference","trim","declaredVendedPackages","packageJsonPath","json","pick","field","Object","fromEntries","entries","flatMap","dependencies","devDependencies","syncPackageJsons","updated","path","endsWith","keys","length","before","read","catalogsBefore","readCatalogFiles","push","map","exists","join","syncOrphanCatalogEntries","referenced","referencedCatalogPackages","syncCatalog","catalog","changed","String","catalogFile","load","values","catalogs","some","Boolean","write","dump","quotingType","overriddenPackage","key","segments","split","reduce","acc","part","previous","includes","at","lastIndexOf","slice","overrideLocations","manifestFields","workspaceFile","syncOverrides","syncOverrideTree","overrides","value","pnpm","contents","Set","add","pyRangePermitsVended","specs","every","spec","version","bound","includePrerelease","operator","syncPyRequirement","requirement","parsed","type","versionSpec","extras","first","isExactPin","syncPyProjects","syncRequirements","requirements","Array","isArray","synced","toml","project","groups","group","providerVersionPattern","provider","rewrite","declaredProviderVersion","captured","exec","syncTerraformProviders","terraformFiles","syncVendedVersions","nextSteps","packageJsons","pyProjects","skippedEmbedded"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Whether the vended version is a strict upgrade on the declared one.
7
+ *
8
+ * Only an exact declared version is upgraded: a range is the user's choice, and
9
+ * a reference (`catalog:`, `workspace:*`, a tag) holds its version elsewhere.
10
+ *
11
+ * Used for Python pins, Terraform providers and catalog entries no manifest
12
+ * references. TypeScript dependencies go through devkit instead.
13
+ */
14
+ export declare const isVendedUpgrade: (vended: string, declared: string) => boolean;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { coerce, gt, validRange } from "semver";
5
+ /**
6
+ * Whether the vended version is a strict upgrade on the declared one.
7
+ *
8
+ * Only an exact declared version is upgraded: a range is the user's choice, and
9
+ * a reference (`catalog:`, `workspace:*`, a tag) holds its version elsewhere.
10
+ *
11
+ * Used for Python pins, Terraform providers and catalog entries no manifest
12
+ * references. TypeScript dependencies go through devkit instead.
13
+ */ export const isVendedUpgrade = (vended, declared)=>{
14
+ const vendedParsed = coerce(vended, {
15
+ includePrerelease: true
16
+ });
17
+ if (!vendedParsed) {
18
+ return false;
19
+ }
20
+ if (!isSemverRange(declared)) {
21
+ return false;
22
+ }
23
+ const declaredParsed = parseExact(declared);
24
+ return declaredParsed ? gt(vendedParsed, declaredParsed) : false;
25
+ };
26
+ /** Empty is `*` to semver, so it is excluded explicitly. */ const isSemverRange = (specifier)=>{
27
+ const trimmed = specifier.trim();
28
+ return trimmed.length > 0 && validRange(trimmed) !== null;
29
+ };
30
+ /** Coerce only an exact version, leaving ranges unparsed. */ const parseExact = (specifier)=>{
31
+ const trimmed = specifier.trim();
32
+ if (/[\s|^~><*]|\|\||:/.test(trimmed)) {
33
+ return null;
34
+ }
35
+ return coerce(trimmed, {
36
+ includePrerelease: true
37
+ });
38
+ };
39
+
40
+ //# sourceMappingURL=vended-upgrade.js.map