@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,431 @@
1
+ /**
2
+ * Translate documentation files using a Strands agent powered by Claude on
3
+ * Amazon Bedrock.
4
+ *
5
+ * Configuration lives in ./translate.config.json (sibling to this file).
6
+ * Run from the project root:
7
+ *
8
+ * <%= pkgMgrCmd %> nx translate <%= fullyQualifiedName %> -- --all
9
+ * <%= pkgMgrCmd %> nx translate <%= fullyQualifiedName %> # only files changed since last translate commit
10
+ *
11
+ * The driver gathers the set of changed source docs + their git diffs and hands
12
+ * them to an agent that has read/write access (scoped to the docs directory)
13
+ * via a wrapped version of the built-in `fileEditor` tool. The agent decides
14
+ * how to translate each file and writes the output itself.
15
+ */
16
+ import { Command } from 'commander';
17
+ import fs from 'fs-extra';
18
+ import path from 'path';
19
+ import { simpleGit } from 'simple-git';
20
+ import glob from 'fast-glob';
21
+ import { Agent, BeforeToolCallEvent } from '@strands-agents/sdk';
22
+ import { BedrockModel } from '@strands-agents/sdk/models/bedrock';
23
+ import { fileEditor } from '@strands-agents/sdk/vended-tools/file-editor';
24
+
25
+ interface TranslateConfig {
26
+ sourceLanguage: string;
27
+ targetLanguages: string[];
28
+ docsDir: string;
29
+ include: string[];
30
+ exclude: string[];
31
+ modelId: string;
32
+ awsRegion: string;
33
+ /**
34
+ * Maximum number of (file x language) translations running in parallel. Each one
35
+ * is a fresh agent invocation, so this caps concurrent Bedrock requests.
36
+ * Defaults to 5 when omitted.
37
+ */
38
+ concurrency?: number;
39
+ /**
40
+ * Commit message marker used to identify previous translation commits, so
41
+ * incremental runs only re-translate changes since the last translation.
42
+ * Defaults to "docs: update translations".
43
+ */
44
+ translationCommitMessage?: string;
45
+ }
46
+
47
+ const SCRIPTS_DIR = <% if (esm) { %>import.meta.dirname<% } else { %>__dirname<% } %>;
48
+ const PROJECT_ROOT = path.resolve(SCRIPTS_DIR, '..');
49
+ const CONFIG_PATH = path.resolve(SCRIPTS_DIR, 'translate.config.json');
50
+ const config: TranslateConfig = JSON.parse(
51
+ fs.readFileSync(CONFIG_PATH, 'utf-8'),
52
+ );
53
+ const DOCS_DIR = path.resolve(PROJECT_ROOT, config.docsDir);
54
+ const TRANSLATION_COMMIT_MESSAGE =
55
+ config.translationCommitMessage ?? 'docs: update translations';
56
+
57
+ /**
58
+ * Reject any `fileEditor` call whose `path` resolves outside the configured
59
+ * docs directory. Runs as a `BeforeToolCallEvent` hook so we reuse the
60
+ * built-in tool's schema/description verbatim — nothing else uses fileEditor in
61
+ * this script, so the check is unconditional.
62
+ */
63
+ function rejectOutsideDocsDir(event: BeforeToolCallEvent): void {
64
+ if (event.toolUse.name !== 'fileEditor') return;
65
+ const input = event.toolUse.input as { path?: unknown };
66
+ if (typeof input.path !== 'string') return;
67
+ const resolved = path.resolve(input.path);
68
+ const docsDirWithSep = DOCS_DIR.endsWith(path.sep)
69
+ ? DOCS_DIR
70
+ : DOCS_DIR + path.sep;
71
+ if (resolved !== DOCS_DIR && !resolved.startsWith(docsDirWithSep)) {
72
+ event.cancel = `Path ${resolved} is outside the docs directory (${DOCS_DIR}); refusing access.`;
73
+ }
74
+ }
75
+
76
+ interface FileToTranslate {
77
+ relativePath: string;
78
+ sourceAbsPath: string;
79
+ sourceContent: string;
80
+ /** Empty when this is a newly-added file. */
81
+ diff: string;
82
+ }
83
+
84
+ const program = new Command();
85
+ program
86
+ .name('translate')
87
+ .description('Translate documentation files using a Strands agent')
88
+ .option('-a, --all', 'Translate all source documentation files')
89
+ .option(
90
+ '-l, --languages <languages>',
91
+ 'Comma-separated list of target languages (overrides translate.config.json)',
92
+ )
93
+ .option(
94
+ '-d, --dry-run',
95
+ 'Show what would be translated without invoking the agent',
96
+ )
97
+ .option('-v, --verbose', 'Show verbose output')
98
+ .parse(process.argv);
99
+ const options = program.opts();
100
+
101
+ const log = {
102
+ info: (m: string) => console.log(`[translate] ${m}`),
103
+ warn: (m: string) => console.warn(`[translate] ${m}`),
104
+ error: (m: string) => console.error(`[translate] ERROR ${m}`),
105
+ verbose: (m: string) =>
106
+ options.verbose && console.log(`[translate] ${m}`),
107
+ };
108
+
109
+ /**
110
+ * Gather the set of source-language files to translate, with their diffs.
111
+ */
112
+ async function getFilesToTranslate(): Promise<FileToTranslate[]> {
113
+ const sourceLangRoot = `${DOCS_DIR}/${config.sourceLanguage}`;
114
+ const includePatterns = config.include.map(
115
+ (p) => `${sourceLangRoot}/${p}`,
116
+ );
117
+ const ignorePatterns = config.exclude.map(
118
+ (p) => `${sourceLangRoot}/${p}`,
119
+ );
120
+
121
+ if (options.all) {
122
+ log.info('Translating all source documentation files');
123
+ const files = await glob(includePatterns, { ignore: ignorePatterns });
124
+ return Promise.all(
125
+ files.map(async (file) => ({
126
+ relativePath: path.relative(sourceLangRoot, file),
127
+ sourceAbsPath: file,
128
+ sourceContent: await fs.readFile(file, 'utf-8'),
129
+ diff: '',
130
+ })),
131
+ );
132
+ }
133
+
134
+ const git = simpleGit();
135
+
136
+ let currentBranch: string;
137
+ let mainBranch: string;
138
+ if (process.env.GITHUB_HEAD_REF) {
139
+ currentBranch = `origin/${process.env.GITHUB_HEAD_REF}`;
140
+ mainBranch = 'origin/main';
141
+ } else {
142
+ currentBranch = (await git.branch()).current;
143
+ mainBranch = 'main';
144
+ }
145
+
146
+ try {
147
+ await git.raw(['rev-parse', '--verify', mainBranch]);
148
+ } catch {
149
+ log.warn(
150
+ `Could not find "${mainBranch}"; falling back to --all behaviour`,
151
+ );
152
+ options.all = true;
153
+ return getFilesToTranslate();
154
+ }
155
+
156
+ const mergeBase = (
157
+ await git.raw(['merge-base', mainBranch, currentBranch])
158
+ ).trim();
159
+
160
+ const translationCommits = (
161
+ await git.log({ from: mergeBase, to: 'HEAD' })
162
+ ).all.filter((c) => c.message.includes(TRANSLATION_COMMIT_MESSAGE));
163
+
164
+ const baseCommit =
165
+ translationCommits.length > 0
166
+ ? translationCommits[0].hash
167
+ : mergeBase;
168
+
169
+ log.info(
170
+ translationCommits.length > 0
171
+ ? `Detecting changed files since last translation commit ${baseCommit.substring(0, 7)}`
172
+ : `Detecting changed files since branch creation ${baseCommit.substring(0, 7)}`,
173
+ );
174
+
175
+ const diffNames = (
176
+ await git.diff([
177
+ `${baseCommit}..HEAD`,
178
+ '--name-only',
179
+ '--diff-filter=d',
180
+ ])
181
+ )
182
+ .split('\n')
183
+ .filter(Boolean);
184
+
185
+ const { files: uncommitted } = await git.status();
186
+ const uncommittedNames = uncommitted.map((f) => f.path);
187
+
188
+ const allCandidates = [
189
+ ...new Set([...diffNames, ...uncommittedNames]),
190
+ ].map((p) => path.resolve(process.cwd(), p));
191
+
192
+ // Filter to files inside the source language dir that match include/exclude
193
+ const includedGlob = await glob(includePatterns, {
194
+ ignore: ignorePatterns,
195
+ });
196
+ const includedSet = new Set(includedGlob.map((p) => path.resolve(p)));
197
+
198
+ const changed = allCandidates.filter((abs) => includedSet.has(abs));
199
+
200
+ if (changed.length === 0) {
201
+ log.warn('No changed source documentation files detected');
202
+ return [];
203
+ }
204
+
205
+ return Promise.all(
206
+ changed.map(async (file) => {
207
+ const sourceContent = await fs.readFile(file, 'utf-8');
208
+ let diff = '';
209
+ try {
210
+ diff = await git.diff([
211
+ `${baseCommit}..HEAD`,
212
+ '--',
213
+ path.relative(process.cwd(), file),
214
+ ]);
215
+ } catch {
216
+ // treat as new file
217
+ }
218
+ return {
219
+ relativePath: path.relative(sourceLangRoot, file),
220
+ sourceAbsPath: file,
221
+ sourceContent,
222
+ diff,
223
+ };
224
+ }),
225
+ );
226
+ }
227
+
228
+ function buildSystemPrompt(targetLang: string): string {
229
+ return `You are an expert technical-documentation translator. Your job is to translate a single MDX documentation file from the source locale \`${config.sourceLanguage}\` into the target locale \`${targetLang}\`.
230
+
231
+ Both values are locale codes (e.g. ISO 639-1 / BCP-47 style, or common short forms like \`jp\`, \`zh\`, \`pt\`). Interpret them yourself and translate naturally into the language they identify. If a code is ambiguous, prefer the most widely used written form.
232
+
233
+ You have one tool available: \`fileEditor\`. Use it to:
234
+ - Read the source file (\`command: "view"\`). For large files you can read a portion at a time using \`view_range\`, then request the next range.
235
+ - Read the existing translation if one is provided (\`command: "view"\`).
236
+ - Write the translated file (\`command: "create"\` — it overwrites).
237
+
238
+ Translation rules:
239
+ 1. Translate natural-language prose into the target language. Keep technical accuracy.
240
+ 2. DO NOT translate:
241
+ - Code blocks and inline code (text inside backticks)
242
+ - URLs, link paths, and HTML/JSX/MDX tag names and attributes
243
+ - \`import\` statements, component names, and frontmatter keys
244
+ - Proper names of people, products, or AWS services
245
+ 3. Preserve every aspect of the MDX structure exactly: frontmatter delimiters, headings, lists, code blocks, MDX components, JSX, whitespace, blank lines.
246
+ 4. For frontmatter:
247
+ - Translate only string values for the \`title\` and \`description\` keys.
248
+ - Leave \`date\`, \`authors\`, \`template\`, \`slug\`, and all other keys untouched.
249
+ 5. If any localised link paths embed the source locale (e.g. \`/${config.sourceLanguage}/foo\`), rewrite them to the target locale (\`/${targetLang}/foo\`).
250
+ 6. Efficiency rule: if an existing translation is provided AND a diff is provided, reuse the existing translation verbatim for any section of the document that is NOT touched by the diff. Only retranslate sections that actually changed. Still emit the complete final file.
251
+ 7. If no existing translation exists, translate the whole file.
252
+ 8. Never wrap the file output in triple backticks.
253
+ 9. Always use absolute paths with \`fileEditor\`.
254
+
255
+ When the translated file has been written, reply with a one-line summary and stop.`;
256
+ }
257
+
258
+ function buildUserPrompt(
259
+ file: FileToTranslate,
260
+ targetLang: string,
261
+ ): string {
262
+ const targetLangRoot = path.join(DOCS_DIR, targetLang);
263
+ const targetAbsPath = path.join(targetLangRoot, file.relativePath);
264
+ const existingTranslationExists = fs.existsSync(targetAbsPath);
265
+
266
+ const diffBlock = file.diff
267
+ ? `Git diff showing what changed in the source since the last translation:\n\`\`\`diff\n${file.diff.slice(0, 40_000)}\n\`\`\``
268
+ : 'There is no prior diff for this file — treat it as new content and translate in full.';
269
+
270
+ const existingBlock = existingTranslationExists
271
+ ? `An existing translation for locale \`${targetLang}\` already lives at:\n \`${targetAbsPath}\`\nRead it with \`fileEditor\` (\`command: "view"\`) before writing so you can reuse any sections that have not changed.`
272
+ : `No existing translation exists yet — you will create it fresh.`;
273
+
274
+ return `Translate one file from source locale \`${config.sourceLanguage}\` into target locale \`${targetLang}\`.
275
+
276
+ - Source file (read from here): \`${file.sourceAbsPath}\`
277
+ - Target file (write the translation here, absolute path): \`${targetAbsPath}\`
278
+
279
+ ${existingBlock}
280
+
281
+ ${diffBlock}
282
+
283
+ Steps:
284
+ 1. Read the source file. If it is long, read it in slices using \`view_range\`.
285
+ 2. If an existing translation is present, read it first so you can reuse unchanged sections.
286
+ 3. Write the full translated file to the target path using \`command: "create"\`.
287
+ 4. Reply with a single short confirmation line.`;
288
+ }
289
+
290
+ async function translateFileForLanguage(
291
+ file: FileToTranslate,
292
+ targetLang: string,
293
+ ): Promise<void> {
294
+ const targetAbsPath = path.join(
295
+ DOCS_DIR,
296
+ targetLang,
297
+ file.relativePath,
298
+ );
299
+ const beforeMtimeMs = fs.existsSync(targetAbsPath)
300
+ ? (await fs.stat(targetAbsPath)).mtimeMs
301
+ : 0;
302
+
303
+ const agent = new Agent({
304
+ model: new BedrockModel({
305
+ modelId: config.modelId,
306
+ region: process.env.AWS_REGION ?? config.awsRegion,
307
+ maxTokens: 64_000,
308
+ temperature: 0.2,
309
+ }),
310
+ systemPrompt: buildSystemPrompt(targetLang),
311
+ tools: [fileEditor],
312
+ printer: !!options.verbose,
313
+ });
314
+ agent.addHook(BeforeToolCallEvent, rejectOutsideDocsDir);
315
+
316
+ const result = await agent.invoke(buildUserPrompt(file, targetLang));
317
+
318
+ if (result.stopReason !== 'endTurn') {
319
+ log.warn(
320
+ `agent stopped with reason=${result.stopReason} while translating ${file.relativePath} → ${targetLang} — inspect output above`,
321
+ );
322
+ }
323
+
324
+ // Sanity check: the target file should now exist and have been written during this run.
325
+ if (!fs.existsSync(targetAbsPath)) {
326
+ throw new Error(
327
+ `agent did not write target file ${targetAbsPath} for ${file.relativePath} → ${targetLang}`,
328
+ );
329
+ }
330
+ const afterMtimeMs = (await fs.stat(targetAbsPath)).mtimeMs;
331
+ if (afterMtimeMs <= beforeMtimeMs) {
332
+ log.warn(
333
+ `target ${file.relativePath} → ${targetLang} was not updated (mtime unchanged) — the agent may have decided no change was needed`,
334
+ );
335
+ }
336
+ }
337
+
338
+ /**
339
+ * Simple concurrency-limited runner.
340
+ */
341
+ async function runWithConcurrency<T>(
342
+ tasks: Array<() => Promise<T>>,
343
+ limit: number,
344
+ ): Promise<T[]> {
345
+ const results: T[] = new Array(tasks.length);
346
+ let next = 0;
347
+ async function worker() {
348
+ while (true) {
349
+ const i = next++;
350
+ if (i >= tasks.length) return;
351
+ results[i] = await tasks[i]();
352
+ }
353
+ }
354
+ const workers = Array.from({ length: Math.min(limit, tasks.length) }, worker);
355
+ await Promise.all(workers);
356
+ return results;
357
+ }
358
+
359
+ async function main() {
360
+ const requestedLanguages: string[] = options.languages
361
+ ? options.languages
362
+ .split(',')
363
+ .map((l: string) => l.trim())
364
+ .filter(Boolean)
365
+ : config.targetLanguages;
366
+
367
+ const targetLanguages = requestedLanguages.filter(
368
+ (l) => l !== config.sourceLanguage,
369
+ );
370
+
371
+ if (targetLanguages.length === 0) {
372
+ log.error('No target languages configured');
373
+ process.exit(1);
374
+ }
375
+
376
+ log.info(`Source: ${config.sourceLanguage}`);
377
+ log.info(`Targets: ${targetLanguages.join(', ')}`);
378
+
379
+ const files = await getFilesToTranslate();
380
+
381
+ if (files.length === 0) {
382
+ log.info('Nothing to translate.');
383
+ return;
384
+ }
385
+
386
+ log.info(`Files to translate: ${files.length}`);
387
+ for (const f of files) {
388
+ log.verbose(
389
+ ` - ${f.relativePath}${f.diff ? ' (changed)' : ' (full)'}`,
390
+ );
391
+ }
392
+
393
+ if (options.dryRun) {
394
+ for (const lang of targetLanguages) {
395
+ for (const f of files) {
396
+ log.info(`[dry-run] would translate ${f.relativePath} → ${lang}`);
397
+ }
398
+ }
399
+ log.info('Done (dry-run).');
400
+ return;
401
+ }
402
+
403
+ // Build one task per (file × target language) — each is a fresh agent invocation,
404
+ // so context windows stay small no matter how big the docs site is.
405
+ const tasks = targetLanguages.flatMap((lang) =>
406
+ files.map((file) => async () => {
407
+ log.info(` ${file.relativePath} → ${lang}`);
408
+ try {
409
+ await translateFileForLanguage(file, lang);
410
+ } catch (err) {
411
+ log.error(
412
+ `${file.relativePath} → ${lang}: ${err instanceof Error ? err.message : String(err)}`,
413
+ );
414
+ throw err;
415
+ }
416
+ }),
417
+ );
418
+
419
+ const concurrency = Math.max(1, config.concurrency ?? 5);
420
+ log.info(
421
+ `Running ${tasks.length} translation(s) with concurrency=${concurrency}`,
422
+ );
423
+ await runWithConcurrency(tasks, concurrency);
424
+
425
+ log.info('Done.');
426
+ }
427
+
428
+ main().catch((err) => {
429
+ log.error(err instanceof Error ? err.message : String(err));
430
+ process.exit(1);
431
+ });
@@ -0,0 +1,3 @@
1
+ {
2
+ "description": "Replace the legacy angle-bracket FunctionProps type assertion with the modern as syntax in generated API constructs"
3
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type MigrationReturnObject, type Tree } from '@nx/devkit';
6
+ export default function migration(tree: Tree): Promise<MigrationReturnObject>;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { visitNotIgnoredFiles } from "@nx/devkit";
5
+ import { formatFilesInSubtree } from "../../../utils/format.js";
6
+ import { PACKAGES_DIR, SHARED_CONSTRUCTS_DIR } from "../../../utils/shared-constructs-constants.js";
7
+ /**
8
+ * Replace the legacy angle-bracket FunctionProps type assertion with the modern as syntax in generated API constructs
9
+ *
10
+ * The legacy `<FunctionProps>{ ... }` cast form is not supported by GritQL's
11
+ * TypeScript parser, which silently breaks parsing (and therefore matching)
12
+ * for the entire containing file. Since several other migrations rely on
13
+ * GritQL to update these API construct files, this cast is replaced here with
14
+ * the equivalent, GritQL-compatible `{ ... } as FunctionProps` form. This is
15
+ * matched as an exact literal (rather than via GritQL) since GritQL cannot
16
+ * parse the file while the legacy cast is still present.
17
+ *
18
+ * How to write a migration:
19
+ * - https://nx.dev/docs/kb/migration-generators
20
+ * - What `nextSteps` means: https://nx.dev/docs/reference/devkit/MigrationReturnObject
21
+ *
22
+ * Guardrails:
23
+ * - Pattern-match before writing: skip files that have diverged from the shape
24
+ * your generators produce and report them via `nextSteps`, or consider a
25
+ * hybrid migration, rather than clobbering the user's changes.
26
+ * - Idempotent: re-running must be a no-op.
27
+ * - Format what you write: finish with `formatFilesInSubtree` so the files your
28
+ * migration wrote are formatted correctly.
29
+ */ const APIS_APP_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/app/apis`;
30
+ const OLD_CAST_OPEN = 'defaultIntegrationOptions: <FunctionProps>{';
31
+ const NEW_CAST_OPEN = 'defaultIntegrationOptions: {';
32
+ const OLD_CAST_CLOSE = '\n },\n buildDefaultIntegration:';
33
+ const NEW_CAST_CLOSE = '\n } as FunctionProps,\n buildDefaultIntegration:';
34
+ export default async function migration(tree) {
35
+ const nextSteps = [];
36
+ if (!tree.exists(APIS_APP_DIR)) {
37
+ return {
38
+ nextSteps
39
+ };
40
+ }
41
+ const apiAppFiles = [];
42
+ visitNotIgnoredFiles(tree, APIS_APP_DIR, (filePath)=>{
43
+ apiAppFiles.push(filePath);
44
+ });
45
+ for (const filePath of apiAppFiles){
46
+ if (!filePath.endsWith('.ts') || filePath.endsWith('/index.ts')) {
47
+ continue;
48
+ }
49
+ const contents = tree.read(filePath, 'utf-8') ?? '';
50
+ if (!contents.includes(OLD_CAST_OPEN)) {
51
+ continue;
52
+ }
53
+ if (!contents.includes(OLD_CAST_CLOSE)) {
54
+ nextSteps.push(`${filePath}: the defaultIntegrationOptions cast has diverged from the generated shape - left untouched. Manually replace \`<FunctionProps>{ ... }\` with \`{ ... } as FunctionProps\`.`);
55
+ continue;
56
+ }
57
+ tree.write(filePath, contents.replace(OLD_CAST_OPEN, NEW_CAST_OPEN).replace(OLD_CAST_CLOSE, NEW_CAST_CLOSE));
58
+ }
59
+ await formatFilesInSubtree(tree);
60
+ return {
61
+ nextSteps
62
+ };
63
+ }
64
+
65
+ //# sourceMappingURL=migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type MigrationReturnObject,\n type Tree,\n visitNotIgnoredFiles,\n} from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport {\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n} from '../../../utils/shared-constructs-constants';\n\n/**\n * Replace the legacy angle-bracket FunctionProps type assertion with the modern as syntax in generated API constructs\n *\n * The legacy `<FunctionProps>{ ... }` cast form is not supported by GritQL's\n * TypeScript parser, which silently breaks parsing (and therefore matching)\n * for the entire containing file. Since several other migrations rely on\n * GritQL to update these API construct files, this cast is replaced here with\n * the equivalent, GritQL-compatible `{ ... } as FunctionProps` form. This is\n * matched as an exact literal (rather than via GritQL) since GritQL cannot\n * parse the file while the legacy cast is still present.\n *\n * How to write a migration:\n * - https://nx.dev/docs/kb/migration-generators\n * - What `nextSteps` means: https://nx.dev/docs/reference/devkit/MigrationReturnObject\n *\n * Guardrails:\n * - Pattern-match before writing: skip files that have diverged from the shape\n * your generators produce and report them via `nextSteps`, or consider a\n * hybrid migration, rather than clobbering the user's changes.\n * - Idempotent: re-running must be a no-op.\n * - Format what you write: finish with `formatFilesInSubtree` so the files your\n * migration wrote are formatted correctly.\n */\n\nconst APIS_APP_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/app/apis`;\n\nconst OLD_CAST_OPEN = 'defaultIntegrationOptions: <FunctionProps>{';\nconst NEW_CAST_OPEN = 'defaultIntegrationOptions: {';\nconst OLD_CAST_CLOSE = '\\n },\\n buildDefaultIntegration:';\nconst NEW_CAST_CLOSE =\n '\\n } as FunctionProps,\\n buildDefaultIntegration:';\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n const nextSteps: string[] = [];\n\n if (!tree.exists(APIS_APP_DIR)) {\n return { nextSteps };\n }\n\n const apiAppFiles: string[] = [];\n visitNotIgnoredFiles(tree, APIS_APP_DIR, (filePath) => {\n apiAppFiles.push(filePath);\n });\n\n for (const filePath of apiAppFiles) {\n if (!filePath.endsWith('.ts') || filePath.endsWith('/index.ts')) {\n continue;\n }\n const contents = tree.read(filePath, 'utf-8') ?? '';\n if (!contents.includes(OLD_CAST_OPEN)) {\n // Already migrated, or doesn't use this shape.\n continue;\n }\n if (!contents.includes(OLD_CAST_CLOSE)) {\n nextSteps.push(\n `${filePath}: the defaultIntegrationOptions cast has diverged from the generated shape - left untouched. Manually replace \\`<FunctionProps>{ ... }\\` with \\`{ ... } as FunctionProps\\`.`,\n );\n continue;\n }\n tree.write(\n filePath,\n contents\n .replace(OLD_CAST_OPEN, NEW_CAST_OPEN)\n .replace(OLD_CAST_CLOSE, NEW_CAST_CLOSE),\n );\n }\n\n await formatFilesInSubtree(tree);\n\n return { nextSteps };\n}\n"],"names":["visitNotIgnoredFiles","formatFilesInSubtree","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","APIS_APP_DIR","OLD_CAST_OPEN","NEW_CAST_OPEN","OLD_CAST_CLOSE","NEW_CAST_CLOSE","migration","tree","nextSteps","exists","apiAppFiles","filePath","push","endsWith","contents","read","includes","write","replace"],"mappings":"AAAA;;;CAGC,GACD,SAGEA,oBAAoB,QACf,aAAa;AACpB,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SACEC,YAAY,EACZC,qBAAqB,QAChB,gDAA6C;AAEpD;;;;;;;;;;;;;;;;;;;;;;CAsBC,GAED,MAAMC,eAAe,GAAGF,aAAa,CAAC,EAAEC,sBAAsB,aAAa,CAAC;AAE5E,MAAME,gBAAgB;AACtB,MAAMC,gBAAgB;AACtB,MAAMC,iBAAiB;AACvB,MAAMC,iBACJ;AAEF,eAAe,eAAeC,UAC5BC,IAAU;IAEV,MAAMC,YAAsB,EAAE;IAE9B,IAAI,CAACD,KAAKE,MAAM,CAACR,eAAe;QAC9B,OAAO;YAAEO;QAAU;IACrB;IAEA,MAAME,cAAwB,EAAE;IAChCb,qBAAqBU,MAAMN,cAAc,CAACU;QACxCD,YAAYE,IAAI,CAACD;IACnB;IAEA,KAAK,MAAMA,YAAYD,YAAa;QAClC,IAAI,CAACC,SAASE,QAAQ,CAAC,UAAUF,SAASE,QAAQ,CAAC,cAAc;YAC/D;QACF;QACA,MAAMC,WAAWP,KAAKQ,IAAI,CAACJ,UAAU,YAAY;QACjD,IAAI,CAACG,SAASE,QAAQ,CAACd,gBAAgB;YAErC;QACF;QACA,IAAI,CAACY,SAASE,QAAQ,CAACZ,iBAAiB;YACtCI,UAAUI,IAAI,CACZ,GAAGD,SAAS,2KAA2K,CAAC;YAE1L;QACF;QACAJ,KAAKU,KAAK,CACRN,UACAG,SACGI,OAAO,CAAChB,eAAeC,eACvBe,OAAO,CAACd,gBAAgBC;IAE/B;IAEA,MAAMP,qBAAqBS;IAE3B,OAAO;QAAEC;IAAU;AACrB"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "description": "Include CloudFront custom domain aliases in restrictCorsTo and UserIdentity callback URLs"
3
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type MigrationReturnObject, type Tree } from '@nx/devkit';
6
+ export default function migration(tree: Tree): Promise<MigrationReturnObject>;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { visitNotIgnoredFiles } from "@nx/devkit";
5
+ import { addDestructuredImport, addStarExport, applyGritQL } from "../../../utils/ast.js";
6
+ import { formatFilesInSubtree } from "../../../utils/format.js";
7
+ import { isEsmWorkspace } from "../../../utils/module-format.js";
8
+ import { PACKAGES_DIR, SHARED_CONSTRUCTS_DIR } from "../../../utils/shared-constructs-constants.js";
9
+ /**
10
+ * Include CloudFront custom domain aliases in restrictCorsTo and UserIdentity callback URLs
11
+ *
12
+ * How to write a migration:
13
+ * - https://nx.dev/docs/kb/migration-generators
14
+ * - What `nextSteps` means: https://nx.dev/docs/reference/devkit/MigrationReturnObject
15
+ *
16
+ * Guardrails:
17
+ * - Pattern-match before writing: skip files that have diverged from the shape
18
+ * your generators produce and report them via `nextSteps`, rather than
19
+ * clobbering the user's changes.
20
+ * - Idempotent: re-running must be a no-op.
21
+ * - Format what you write: finish with `formatFilesInSubtree` so the files your
22
+ * migration wrote are formatted correctly.
23
+ */ const CORE_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/core`;
24
+ const APIS_APP_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/app/apis`;
25
+ const CLOUDFRONT_CORE_FILE = `${CORE_DIR}/cloudfront.ts`;
26
+ const CORE_INDEX_FILE = `${CORE_DIR}/index.ts`;
27
+ const USER_IDENTITY_FILE = `${CORE_DIR}/user-identity.ts`;
28
+ const CLOUDFRONT_HELPER_CONTENT = `import { CfnDistribution, Distribution } from 'aws-cdk-lib/aws-cloudfront';
29
+
30
+ /**
31
+ * Finds the domain names associated with a CloudFront distribution.
32
+ *
33
+ * Includes the distribution's default \`*.cloudfront.net\` domain name plus any custom
34
+ * domain names (aliases) configured on it.
35
+ */
36
+ export const findCloudFrontDomainNames = (
37
+ distribution: Distribution,
38
+ ): string[] => {
39
+ const cfnDistribution = distribution.node.defaultChild as CfnDistribution;
40
+ const distributionConfig =
41
+ cfnDistribution.distributionConfig as CfnDistribution.DistributionConfigProperty;
42
+ return [distribution.domainName, ...(distributionConfig.aliases ?? [])];
43
+ };
44
+ `;
45
+ // Rewrites the `restrictCorsTo` body as produced by generators prior to this fix.
46
+ const RESTRICT_CORS_TO_GRITQL_PATTERN = "`origins.map(($o) => typeof $o === 'string' ? $o : 'cloudFrontDistribution' in $o ? $branch1 : $branch2)` where { $branch1 <: contains `distributionDomainName`, $branch2 <: contains `distributionDomainName` } => raw`origins.flatMap(($o) => typeof $o === 'string' ? [$o] : findCloudFrontDomainNames('cloudFrontDistribution' in $o ? $o.cloudFrontDistribution : $o).map((domain) => \\`https://${domain}\\`))`";
47
+ // Rewrites UserIdentity's callback/logout URL logic as produced by generators
48
+ // prior to this fix.
49
+ const USER_IDENTITY_CALLBACK_URLS_GRITQL_PATTERN = '`this.findCloudFrontDomainNames()` => `Stack.of(this).node.findAll().filter((child): child is Distribution => child instanceof Distribution).flatMap(findCloudFrontDomainNames)`';
50
+ export default async function migration(tree) {
51
+ const nextSteps = [];
52
+ if (!tree.exists(CORE_INDEX_FILE)) {
53
+ // No common/constructs shared library in this workspace - nothing to migrate.
54
+ return {
55
+ nextSteps
56
+ };
57
+ }
58
+ const esm = isEsmWorkspace(tree);
59
+ const apiCloudFrontImportSpecifier = esm ? '../../core/cloudfront.js' : '../../core/cloudfront';
60
+ const coreCloudFrontImportSpecifier = esm ? './cloudfront.js' : './cloudfront';
61
+ if (!tree.exists(CLOUDFRONT_CORE_FILE)) {
62
+ tree.write(CLOUDFRONT_CORE_FILE, CLOUDFRONT_HELPER_CONTENT);
63
+ }
64
+ await addStarExport(tree, CORE_INDEX_FILE, './cloudfront.js');
65
+ const apiAppFiles = [];
66
+ visitNotIgnoredFiles(tree, APIS_APP_DIR, (filePath)=>{
67
+ apiAppFiles.push(filePath);
68
+ });
69
+ for (const filePath of apiAppFiles){
70
+ if (!filePath.endsWith('.ts') || filePath.endsWith('/index.ts')) {
71
+ continue;
72
+ }
73
+ const rewrote = await applyGritQL(tree, filePath, RESTRICT_CORS_TO_GRITQL_PATTERN);
74
+ if (rewrote) {
75
+ await addDestructuredImport(tree, filePath, [
76
+ 'findCloudFrontDomainNames'
77
+ ], apiCloudFrontImportSpecifier);
78
+ continue;
79
+ }
80
+ const contents = tree.read(filePath, 'utf-8') ?? '';
81
+ if (!contents.includes('findCloudFrontDomainNames(')) {
82
+ nextSteps.push(`${filePath}: restrictCorsTo has diverged from the generated shape - left untouched. Manually apply the CloudFront custom domain fix (see findCloudFrontDomainNames in common/constructs/src/core/cloudfront.ts).`);
83
+ }
84
+ // Otherwise already migrated - silent skip.
85
+ }
86
+ if (tree.exists(USER_IDENTITY_FILE)) {
87
+ const rewrote = await applyGritQL(tree, USER_IDENTITY_FILE, USER_IDENTITY_CALLBACK_URLS_GRITQL_PATTERN);
88
+ if (rewrote) {
89
+ await applyGritQL(tree, USER_IDENTITY_FILE, "`import { CfnDistribution, Distribution } from 'aws-cdk-lib/aws-cloudfront'` => `import { Distribution } from 'aws-cdk-lib/aws-cloudfront';`");
90
+ await applyGritQL(tree, USER_IDENTITY_FILE, "or { `// Includes each distribution's default domain name plus any custom domain names (aliases) configured on it.` => ., `private findCloudFrontDomainNames = (): string[] => $body` => . }");
91
+ await addDestructuredImport(tree, USER_IDENTITY_FILE, [
92
+ 'findCloudFrontDomainNames'
93
+ ], coreCloudFrontImportSpecifier);
94
+ } else {
95
+ const contents = tree.read(USER_IDENTITY_FILE, 'utf-8') ?? '';
96
+ if (!contents.includes('.flatMap(findCloudFrontDomainNames)')) {
97
+ nextSteps.push(`${USER_IDENTITY_FILE}: the callback URL logic has diverged from the generated shape - left untouched. Manually apply the shared findCloudFrontDomainNames helper (see common/constructs/src/core/cloudfront.ts).`);
98
+ }
99
+ // Otherwise already migrated - silent skip.
100
+ }
101
+ }
102
+ await formatFilesInSubtree(tree);
103
+ return {
104
+ nextSteps
105
+ };
106
+ }
107
+
108
+ //# sourceMappingURL=migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type MigrationReturnObject,\n type Tree,\n visitNotIgnoredFiles,\n} from '@nx/devkit';\nimport {\n addDestructuredImport,\n addStarExport,\n applyGritQL,\n} from '../../../utils/ast';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { isEsmWorkspace } from '../../../utils/module-format';\nimport {\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n} from '../../../utils/shared-constructs-constants';\n\n/**\n * Include CloudFront custom domain aliases in restrictCorsTo and UserIdentity callback URLs\n *\n * How to write a migration:\n * - https://nx.dev/docs/kb/migration-generators\n * - What `nextSteps` means: https://nx.dev/docs/reference/devkit/MigrationReturnObject\n *\n * Guardrails:\n * - Pattern-match before writing: skip files that have diverged from the shape\n * your generators produce and report them via `nextSteps`, rather than\n * clobbering the user's changes.\n * - Idempotent: re-running must be a no-op.\n * - Format what you write: finish with `formatFilesInSubtree` so the files your\n * migration wrote are formatted correctly.\n */\n\nconst CORE_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/core`;\nconst APIS_APP_DIR = `${PACKAGES_DIR}/${SHARED_CONSTRUCTS_DIR}/src/app/apis`;\nconst CLOUDFRONT_CORE_FILE = `${CORE_DIR}/cloudfront.ts`;\nconst CORE_INDEX_FILE = `${CORE_DIR}/index.ts`;\nconst USER_IDENTITY_FILE = `${CORE_DIR}/user-identity.ts`;\n\nconst CLOUDFRONT_HELPER_CONTENT = `import { CfnDistribution, Distribution } from 'aws-cdk-lib/aws-cloudfront';\n\n/**\n * Finds the domain names associated with a CloudFront distribution.\n *\n * Includes the distribution's default \\`*.cloudfront.net\\` domain name plus any custom\n * domain names (aliases) configured on it.\n */\nexport const findCloudFrontDomainNames = (\n distribution: Distribution,\n): string[] => {\n const cfnDistribution = distribution.node.defaultChild as CfnDistribution;\n const distributionConfig =\n cfnDistribution.distributionConfig as CfnDistribution.DistributionConfigProperty;\n return [distribution.domainName, ...(distributionConfig.aliases ?? [])];\n};\n`;\n\n// Rewrites the `restrictCorsTo` body as produced by generators prior to this fix.\nconst RESTRICT_CORS_TO_GRITQL_PATTERN =\n \"`origins.map(($o) => typeof $o === 'string' ? $o : 'cloudFrontDistribution' in $o ? $branch1 : $branch2)` where { $branch1 <: contains `distributionDomainName`, $branch2 <: contains `distributionDomainName` } => raw`origins.flatMap(($o) => typeof $o === 'string' ? [$o] : findCloudFrontDomainNames('cloudFrontDistribution' in $o ? $o.cloudFrontDistribution : $o).map((domain) => \\\\`https://${domain}\\\\`))`\";\n\n// Rewrites UserIdentity's callback/logout URL logic as produced by generators\n// prior to this fix.\nconst USER_IDENTITY_CALLBACK_URLS_GRITQL_PATTERN =\n '`this.findCloudFrontDomainNames()` => `Stack.of(this).node.findAll().filter((child): child is Distribution => child instanceof Distribution).flatMap(findCloudFrontDomainNames)`';\n\nexport default async function migration(\n tree: Tree,\n): Promise<MigrationReturnObject> {\n const nextSteps: string[] = [];\n\n if (!tree.exists(CORE_INDEX_FILE)) {\n // No common/constructs shared library in this workspace - nothing to migrate.\n return { nextSteps };\n }\n\n const esm = isEsmWorkspace(tree);\n const apiCloudFrontImportSpecifier = esm\n ? '../../core/cloudfront.js'\n : '../../core/cloudfront';\n const coreCloudFrontImportSpecifier = esm\n ? './cloudfront.js'\n : './cloudfront';\n\n if (!tree.exists(CLOUDFRONT_CORE_FILE)) {\n tree.write(CLOUDFRONT_CORE_FILE, CLOUDFRONT_HELPER_CONTENT);\n }\n await addStarExport(tree, CORE_INDEX_FILE, './cloudfront.js');\n\n const apiAppFiles: string[] = [];\n visitNotIgnoredFiles(tree, APIS_APP_DIR, (filePath) => {\n apiAppFiles.push(filePath);\n });\n\n for (const filePath of apiAppFiles) {\n if (!filePath.endsWith('.ts') || filePath.endsWith('/index.ts')) {\n continue;\n }\n const rewrote = await applyGritQL(\n tree,\n filePath,\n RESTRICT_CORS_TO_GRITQL_PATTERN,\n );\n if (rewrote) {\n await addDestructuredImport(\n tree,\n filePath,\n ['findCloudFrontDomainNames'],\n apiCloudFrontImportSpecifier,\n );\n continue;\n }\n const contents = tree.read(filePath, 'utf-8') ?? '';\n if (!contents.includes('findCloudFrontDomainNames(')) {\n nextSteps.push(\n `${filePath}: restrictCorsTo has diverged from the generated shape - left untouched. Manually apply the CloudFront custom domain fix (see findCloudFrontDomainNames in common/constructs/src/core/cloudfront.ts).`,\n );\n }\n // Otherwise already migrated - silent skip.\n }\n\n if (tree.exists(USER_IDENTITY_FILE)) {\n const rewrote = await applyGritQL(\n tree,\n USER_IDENTITY_FILE,\n USER_IDENTITY_CALLBACK_URLS_GRITQL_PATTERN,\n );\n if (rewrote) {\n await applyGritQL(\n tree,\n USER_IDENTITY_FILE,\n \"`import { CfnDistribution, Distribution } from 'aws-cdk-lib/aws-cloudfront'` => `import { Distribution } from 'aws-cdk-lib/aws-cloudfront';`\",\n );\n await applyGritQL(\n tree,\n USER_IDENTITY_FILE,\n \"or { `// Includes each distribution's default domain name plus any custom domain names (aliases) configured on it.` => ., `private findCloudFrontDomainNames = (): string[] => $body` => . }\",\n );\n await addDestructuredImport(\n tree,\n USER_IDENTITY_FILE,\n ['findCloudFrontDomainNames'],\n coreCloudFrontImportSpecifier,\n );\n } else {\n const contents = tree.read(USER_IDENTITY_FILE, 'utf-8') ?? '';\n if (!contents.includes('.flatMap(findCloudFrontDomainNames)')) {\n nextSteps.push(\n `${USER_IDENTITY_FILE}: the callback URL logic has diverged from the generated shape - left untouched. Manually apply the shared findCloudFrontDomainNames helper (see common/constructs/src/core/cloudfront.ts).`,\n );\n }\n // Otherwise already migrated - silent skip.\n }\n }\n\n await formatFilesInSubtree(tree);\n\n return { nextSteps };\n}\n"],"names":["visitNotIgnoredFiles","addDestructuredImport","addStarExport","applyGritQL","formatFilesInSubtree","isEsmWorkspace","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","CORE_DIR","APIS_APP_DIR","CLOUDFRONT_CORE_FILE","CORE_INDEX_FILE","USER_IDENTITY_FILE","CLOUDFRONT_HELPER_CONTENT","RESTRICT_CORS_TO_GRITQL_PATTERN","USER_IDENTITY_CALLBACK_URLS_GRITQL_PATTERN","migration","tree","nextSteps","exists","esm","apiCloudFrontImportSpecifier","coreCloudFrontImportSpecifier","write","apiAppFiles","filePath","push","endsWith","rewrote","contents","read","includes"],"mappings":"AAAA;;;CAGC,GACD,SAGEA,oBAAoB,QACf,aAAa;AACpB,SACEC,qBAAqB,EACrBC,aAAa,EACbC,WAAW,QACN,wBAAqB;AAC5B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,cAAc,QAAQ,kCAA+B;AAC9D,SACEC,YAAY,EACZC,qBAAqB,QAChB,gDAA6C;AAEpD;;;;;;;;;;;;;;CAcC,GAED,MAAMC,WAAW,GAAGF,aAAa,CAAC,EAAEC,sBAAsB,SAAS,CAAC;AACpE,MAAME,eAAe,GAAGH,aAAa,CAAC,EAAEC,sBAAsB,aAAa,CAAC;AAC5E,MAAMG,uBAAuB,GAAGF,SAAS,cAAc,CAAC;AACxD,MAAMG,kBAAkB,GAAGH,SAAS,SAAS,CAAC;AAC9C,MAAMI,qBAAqB,GAAGJ,SAAS,iBAAiB,CAAC;AAEzD,MAAMK,4BAA4B,CAAC;;;;;;;;;;;;;;;;AAgBnC,CAAC;AAED,kFAAkF;AAClF,MAAMC,kCACJ;AAEF,8EAA8E;AAC9E,qBAAqB;AACrB,MAAMC,6CACJ;AAEF,eAAe,eAAeC,UAC5BC,IAAU;IAEV,MAAMC,YAAsB,EAAE;IAE9B,IAAI,CAACD,KAAKE,MAAM,CAACR,kBAAkB;QACjC,8EAA8E;QAC9E,OAAO;YAAEO;QAAU;IACrB;IAEA,MAAME,MAAMf,eAAeY;IAC3B,MAAMI,+BAA+BD,MACjC,6BACA;IACJ,MAAME,gCAAgCF,MAClC,oBACA;IAEJ,IAAI,CAACH,KAAKE,MAAM,CAACT,uBAAuB;QACtCO,KAAKM,KAAK,CAACb,sBAAsBG;IACnC;IACA,MAAMX,cAAce,MAAMN,iBAAiB;IAE3C,MAAMa,cAAwB,EAAE;IAChCxB,qBAAqBiB,MAAMR,cAAc,CAACgB;QACxCD,YAAYE,IAAI,CAACD;IACnB;IAEA,KAAK,MAAMA,YAAYD,YAAa;QAClC,IAAI,CAACC,SAASE,QAAQ,CAAC,UAAUF,SAASE,QAAQ,CAAC,cAAc;YAC/D;QACF;QACA,MAAMC,UAAU,MAAMzB,YACpBc,MACAQ,UACAX;QAEF,IAAIc,SAAS;YACX,MAAM3B,sBACJgB,MACAQ,UACA;gBAAC;aAA4B,EAC7BJ;YAEF;QACF;QACA,MAAMQ,WAAWZ,KAAKa,IAAI,CAACL,UAAU,YAAY;QACjD,IAAI,CAACI,SAASE,QAAQ,CAAC,+BAA+B;YACpDb,UAAUQ,IAAI,CACZ,GAAGD,SAAS,qMAAqM,CAAC;QAEtN;IACA,4CAA4C;IAC9C;IAEA,IAAIR,KAAKE,MAAM,CAACP,qBAAqB;QACnC,MAAMgB,UAAU,MAAMzB,YACpBc,MACAL,oBACAG;QAEF,IAAIa,SAAS;YACX,MAAMzB,YACJc,MACAL,oBACA;YAEF,MAAMT,YACJc,MACAL,oBACA;YAEF,MAAMX,sBACJgB,MACAL,oBACA;gBAAC;aAA4B,EAC7BU;QAEJ,OAAO;YACL,MAAMO,WAAWZ,KAAKa,IAAI,CAAClB,oBAAoB,YAAY;YAC3D,IAAI,CAACiB,SAASE,QAAQ,CAAC,wCAAwC;gBAC7Db,UAAUQ,IAAI,CACZ,GAAGd,mBAAmB,2LAA2L,CAAC;YAEtN;QACA,4CAA4C;QAC9C;IACF;IAEA,MAAMR,qBAAqBa;IAE3B,OAAO;QAAEC;IAAU;AACrB"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "description": "Adopt an existing Terraform state bucket in the vended bootstrap script when its state object is missing"
3
+ }