@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
@@ -1 +1 @@
1
- {"version":3,"file":"identity-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/identity-constructs/identity-constructs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/utils/identity-constructs/identity-constructs.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n} from '@nx/devkit';\nimport { addStarExport } from '../ast';\nimport type { DeclaredPyDependency } from '../declared-dependencies';\nimport type { Iac } from '../iac';\nimport { esmVars } from '../module-format';\nimport {\n generatedTerraform,\n type IacMetadata,\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n SHARED_TERRAFORM_DIR,\n} from '../shared-constructs-constants';\nimport {\n type IPyDepVersion,\n PY_VERSIONS,\n terraformProviderVersions,\n} from '../versions';\n\n/**\n * Python version the generated Terraform pins in the callback URL module's inline\n * `uv run --with` script. Nothing installs it, so it is declared for its version\n * alone, and only on the Terraform branch that writes the script.\n */\nexport const IDENTITY_CONSTRUCTS_PY_DEPENDENCIES = [\n { name: 'boto3', when: generatedTerraform },\n] as const satisfies readonly DeclaredPyDependency<\n IPyDepVersion,\n IacMetadata\n>[];\n\nexport interface AddIdentityInfraOptions {\n cognitoDomain: string;\n allowSignup: boolean;\n}\n\n/**\n * Add infrastructure for a static website\n */\nexport const addIdentityInfra = async (\n tree: Tree,\n options: AddIdentityInfraOptions & { iac: Iac },\n) => {\n if (options.iac === 'cdk') {\n await addIdentityCdkConstructs(tree, options);\n } else if (options.iac === 'terraform') {\n addIdentityTerraformModules(tree, options);\n } else {\n throw new Error(`Unsupported iac ${options.iac}`);\n }\n};\n\nconst addIdentityCdkConstructs = async (\n tree: Tree,\n options: AddIdentityInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'cdk', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_CONSTRUCTS_DIR, 'src', 'core'),\n { ...options, ...esmVars(tree) },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n await addStarExport(\n tree,\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_CONSTRUCTS_DIR,\n 'src',\n 'core',\n 'index.ts',\n ),\n './user-identity.js',\n );\n};\n\nconst addIdentityTerraformModules = (\n tree: Tree,\n options: AddIdentityInfraOptions,\n) => {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'terraform', 'core'),\n joinPathFragments(PACKAGES_DIR, SHARED_TERRAFORM_DIR, 'src', 'core'),\n {\n ...options,\n boto3Version: PY_VERSIONS.boto3,\n ...terraformProviderVersions(),\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n // Update the static website module to add the callback url\n const staticWebsiteModule = tree.read(\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_TERRAFORM_DIR,\n 'src',\n 'core',\n 'static-website',\n 'static-website.tf',\n ),\n 'utf-8',\n );\n if (\n staticWebsiteModule &&\n !staticWebsiteModule.includes(\n 'source = \"../user-identity/add-callback-url\"',\n )\n ) {\n // Find the aws_cloudfront_distribution.website resource and add the callback URL module after it.\n // Includes the CloudFront domain plus any custom domain names (aliases) configured via var.custom_domain_names.\n const callbackUrlModule = `\n\n# Add CloudFront domain and any custom domain names to user pool client callback URLs.\n# Keyed by statically-known values so for_each keys are resolvable at plan time; the\n# CloudFront domain is only known at apply time, so it appears in the value, not the key.\nlocals {\n callback_urls = merge(\n { cloudfront = \"https://\\${aws_cloudfront_distribution.website.domain_name}\" },\n { for domain in var.custom_domain_names : domain => \"https://\\${domain}\" },\n )\n}\n\nmodule \"add_callback_url\" {\n source = \"../user-identity/add-callback-url\"\n for_each = local.callback_urls\n\n callback_url = each.value\n\n depends_on = [aws_cloudfront_distribution.website]\n}`;\n\n // Find the CloudFront distribution resource using proper brace counting\n // This handles deeply nested structures correctly\n const resourceStartPattern =\n /resource\\s+\"aws_cloudfront_distribution\"\\s+\"website\"\\s*\\{/;\n const resourceStartMatch = staticWebsiteModule.match(resourceStartPattern);\n\n if (resourceStartMatch) {\n const startIndex =\n resourceStartMatch.index! + resourceStartMatch[0].length - 1; // Position at opening brace\n let braceCount = 0;\n let insertionPoint = -1;\n\n // Count braces to find the end of the resource block\n for (let i = startIndex; i < staticWebsiteModule.length; i++) {\n const char = staticWebsiteModule[i];\n if (char === '{') {\n braceCount++;\n } else if (char === '}') {\n braceCount--;\n if (braceCount === 0) {\n // Found the closing brace of the CloudFront resource\n insertionPoint = i + 1;\n break;\n }\n }\n }\n\n if (insertionPoint !== -1) {\n // Insert the callback URL module right after the CloudFront distribution\n const beforeInsertion = staticWebsiteModule.substring(\n 0,\n insertionPoint,\n );\n const afterInsertion = staticWebsiteModule.substring(insertionPoint);\n const updatedContent =\n beforeInsertion + callbackUrlModule + afterInsertion;\n\n tree.write(\n joinPathFragments(\n PACKAGES_DIR,\n SHARED_TERRAFORM_DIR,\n 'src',\n 'core',\n 'static-website',\n 'static-website.tf',\n ),\n updatedContent,\n );\n }\n }\n }\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","addStarExport","esmVars","generatedTerraform","PACKAGES_DIR","SHARED_CONSTRUCTS_DIR","SHARED_TERRAFORM_DIR","PY_VERSIONS","terraformProviderVersions","IDENTITY_CONSTRUCTS_PY_DEPENDENCIES","name","when","addIdentityInfra","tree","options","iac","addIdentityCdkConstructs","addIdentityTerraformModules","Error","dirname","overwriteStrategy","KeepExisting","boto3Version","boto3","staticWebsiteModule","read","includes","callbackUrlModule","resourceStartPattern","resourceStartMatch","match","startIndex","index","length","braceCount","insertionPoint","i","char","beforeInsertion","substring","afterInsertion","updatedContent","write"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,QAEZ,aAAa;AACpB,SAASC,aAAa,QAAQ,YAAS;AAGvC,SAASC,OAAO,QAAQ,sBAAmB;AAC3C,SACEC,kBAAkB,EAElBC,YAAY,EACZC,qBAAqB,EACrBC,oBAAoB,QACf,oCAAiC;AACxC,SAEEC,WAAW,EACXC,yBAAyB,QACpB,iBAAc;AAErB;;;;CAIC,GACD,OAAO,MAAMC,sCAAsC;IACjD;QAAEC,MAAM;QAASC,MAAMR;IAAmB;CAC3C,CAGG;AAOJ;;CAEC,GACD,OAAO,MAAMS,mBAAmB,OAC9BC,MACAC;IAEA,IAAIA,QAAQC,GAAG,KAAK,OAAO;QACzB,MAAMC,yBAAyBH,MAAMC;IACvC,OAAO,IAAIA,QAAQC,GAAG,KAAK,aAAa;QACtCE,4BAA4BJ,MAAMC;IACpC,OAAO;QACL,MAAM,IAAII,MAAM,CAAC,gBAAgB,EAAEJ,QAAQC,GAAG,EAAE;IAClD;AACF,EAAE;AAEF,MAAMC,2BAA2B,OAC/BH,MACAC;IAEAhB,cACEe,MACAd,kBAAkB,YAAYoB,OAAO,EAAE,SAAS,OAAO,SACvDpB,kBAAkBK,cAAcC,uBAAuB,OAAO,SAC9D;QAAE,GAAGS,OAAO;QAAE,GAAGZ,QAAQW,KAAK;IAAC,GAC/B;QACEO,mBAAmBpB,kBAAkBqB,YAAY;IACnD;IAGF,MAAMpB,cACJY,MACAd,kBACEK,cACAC,uBACA,OACA,QACA,aAEF;AAEJ;AAEA,MAAMY,8BAA8B,CAClCJ,MACAC;IAEAhB,cACEe,MACAd,kBAAkB,YAAYoB,OAAO,EAAE,SAAS,aAAa,SAC7DpB,kBAAkBK,cAAcE,sBAAsB,OAAO,SAC7D;QACE,GAAGQ,OAAO;QACVQ,cAAcf,YAAYgB,KAAK;QAC/B,GAAGf,2BAA2B;IAChC,GACA;QACEY,mBAAmBpB,kBAAkBqB,YAAY;IACnD;IAGF,2DAA2D;IAC3D,MAAMG,sBAAsBX,KAAKY,IAAI,CACnC1B,kBACEK,cACAE,sBACA,OACA,QACA,kBACA,sBAEF;IAEF,IACEkB,uBACA,CAACA,oBAAoBE,QAAQ,CAC3B,iDAEF;QACA,kGAAkG;QAClG,gHAAgH;QAChH,MAAMC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;CAmB9B,CAAC;QAEE,wEAAwE;QACxE,kDAAkD;QAClD,MAAMC,uBACJ;QACF,MAAMC,qBAAqBL,oBAAoBM,KAAK,CAACF;QAErD,IAAIC,oBAAoB;YACtB,MAAME,aACJF,mBAAmBG,KAAK,GAAIH,kBAAkB,CAAC,EAAE,CAACI,MAAM,GAAG,GAAG,4BAA4B;YAC5F,IAAIC,aAAa;YACjB,IAAIC,iBAAiB,CAAC;YAEtB,qDAAqD;YACrD,IAAK,IAAIC,IAAIL,YAAYK,IAAIZ,oBAAoBS,MAAM,EAAEG,IAAK;gBAC5D,MAAMC,OAAOb,mBAAmB,CAACY,EAAE;gBACnC,IAAIC,SAAS,KAAK;oBAChBH;gBACF,OAAO,IAAIG,SAAS,KAAK;oBACvBH;oBACA,IAAIA,eAAe,GAAG;wBACpB,qDAAqD;wBACrDC,iBAAiBC,IAAI;wBACrB;oBACF;gBACF;YACF;YAEA,IAAID,mBAAmB,CAAC,GAAG;gBACzB,yEAAyE;gBACzE,MAAMG,kBAAkBd,oBAAoBe,SAAS,CACnD,GACAJ;gBAEF,MAAMK,iBAAiBhB,oBAAoBe,SAAS,CAACJ;gBACrD,MAAMM,iBACJH,kBAAkBX,oBAAoBa;gBAExC3B,KAAK6B,KAAK,CACR3C,kBACEK,cACAE,sBACA,OACA,QACA,kBACA,sBAEFmC;YAEJ;QACF;IACF;AACF"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { OverwriteStrategy, type Tree } from '@nx/devkit';
6
+ import { type Containers } from './containers';
7
+ import { type DependencyDeclaration, type MustDeclare } from './declared-dependencies';
8
+ import type { Iac } from './iac';
9
+ /** Dependencies a caller must declare to apply the workspace init. */
10
+ export declare const INIT_DEPENDENCIES: readonly [{
11
+ readonly name: "nx";
12
+ }, {
13
+ readonly name: "@nx/js";
14
+ }, {
15
+ readonly name: "@nx/workspace";
16
+ }, {
17
+ readonly name: "typescript";
18
+ }, {
19
+ readonly name: "@biomejs/biome";
20
+ }];
21
+ export declare const PNPM_BUILT_DEPENDENCIES: string[];
22
+ /**
23
+ * Options controlling how the workspace is initialised. These mirror the
24
+ * preset schema so a workspace created via the preset and one initialised via
25
+ * the `init` generator end up in the same shape.
26
+ */
27
+ export interface ApplyWorkspaceInitOptions {
28
+ /** The IaC provider to record in the plugin config. */
29
+ readonly iac: Iac;
30
+ /**
31
+ * The container engine to record. `undefined`/`'infer'` picks docker when
32
+ * installed, else finch.
33
+ */
34
+ readonly containers?: Containers | 'infer';
35
+ /** Whether to configure MCP servers for coding agents. Defaults to true. */
36
+ readonly mcp?: boolean;
37
+ /**
38
+ * How to treat the generated workspace README. The preset owns the README of
39
+ * a greenfield workspace (`Overwrite`); the `init` generator must not clobber
40
+ * an existing workspace's README (`KeepExisting`, the default).
41
+ */
42
+ readonly readmeOverwriteStrategy?: OverwriteStrategy;
43
+ /**
44
+ * Whether to overwrite root package.json scripts that already exist. The
45
+ * preset owns a greenfield workspace's scripts (`true`); the `init`
46
+ * generator must not clobber an existing workspace's scripts (`false`,
47
+ * the default) — it only adds the convenience scripts that are absent.
48
+ */
49
+ readonly overwriteScripts?: boolean;
50
+ /**
51
+ * Whether generators use the package manager's dependency catalog. On pnpm
52
+ * this also sets `catalogMode: strict` so `pnpm add` records new deps in the
53
+ * catalog. Defaults to true.
54
+ */
55
+ readonly catalogs?: boolean;
56
+ }
57
+ /**
58
+ * Transform an Nx workspace into one ready to run `@aws/nx-plugin` generators.
59
+ *
60
+ * This is the deterministic core shared by the workspace preset and the `init`
61
+ * generator. It is safe to re-run: every step is idempotent (config merges,
62
+ * keyed nx.json / package.json entries, create-if-missing files), so running
63
+ * it against an already-initialised workspace is a no-op.
64
+ *
65
+ * It preserves the workspace's module format: the root package.json `type`
66
+ * field is owned by the preset (written from its `--module` option) and left
67
+ * untouched here. It does NOT rewrite an existing `tsconfig.base.json`'s
68
+ * compiler options, migrate a workspace's package manager, or restructure
69
+ * existing projects — those are decisions for the user (see the "add to an
70
+ * existing workspace" guide).
71
+ */
72
+ export declare const applyWorkspaceInit: <const D extends DependencyDeclaration>(tree: Tree, { iac, containers, mcp, readmeOverwriteStrategy, overwriteScripts, catalogs, }: ApplyWorkspaceInitOptions, declaration: D & MustDeclare<typeof INIT_DEPENDENCIES, D>) => Promise<void>;
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { generateFiles, joinPathFragments, OverwriteStrategy, readNxJson, updateJson, updateNxJson } from "@nx/devkit";
5
+ import { initGenerator } from "@nx/js";
6
+ import yaml from "js-yaml";
7
+ import GeneratorsJson from "../../generators.json" with {
8
+ type: 'json'
9
+ };
10
+ import { SYNC_GENERATOR_NAME as TS_SYNC_GENERATOR_NAME } from "../ts/sync/generator.js";
11
+ import { BASE_TSCONFIG_COMPILER_OPTIONS } from "./base-tsconfig.js";
12
+ import { ensureAwsNxPluginConfig, updateAwsNxPluginConfig } from "./config/utils.js";
13
+ import { inferContainers } from "./containers.js";
14
+ import { forDependencies } from "./declared-dependencies.js";
15
+ import { addDependenciesToPackageJson, detectWorkspacePackageManager } from "./dependencies.js";
16
+ import { getDefaultBiomeConfig } from "./format.js";
17
+ import { configureMcpServers } from "./mcp.js";
18
+ import { getNpmScope } from "./npm-scope.js";
19
+ import { mergeTargetDefault, nxPluginMcpDependency, nxPluginSelfDependency } from "./nx.js";
20
+ import { getPackageManagerDisplayCommands } from "./pkg-manager.js";
21
+ import { workspaceGlobs } from "./project-package-json.js";
22
+ import { withVersions } from "./versions.js";
23
+ const WORKSPACES = [
24
+ 'packages/*'
25
+ ];
26
+ const NX_TYPESCRIPT_SYNC_GENERATOR = '@nx/js:typescript-sync';
27
+ /** Dependencies a caller must declare to apply the workspace init. */ export const INIT_DEPENDENCIES = [
28
+ {
29
+ name: 'nx'
30
+ },
31
+ {
32
+ name: '@nx/js'
33
+ },
34
+ {
35
+ name: '@nx/workspace'
36
+ },
37
+ {
38
+ name: 'typescript'
39
+ },
40
+ {
41
+ name: '@biomejs/biome'
42
+ }
43
+ ];
44
+ // Built dependencies whose install scripts the generated workspace trusts.
45
+ // `onlyBuiltDependencies` is the pnpm 10 key (silently ignored by pnpm 11);
46
+ // pnpm 11 reads `allowBuilds` instead. Any dep NOT in this allowlist will
47
+ // have its install scripts skipped with a warning — matching pnpm 10's
48
+ // default behaviour. The user can opt-in later via `pnpm approve-builds`.
49
+ export const PNPM_BUILT_DEPENDENCIES = [
50
+ '@swc/core',
51
+ 'esbuild',
52
+ 'nx',
53
+ 'sharp'
54
+ ];
55
+ /**
56
+ * Add or repair the pnpm `allowBuilds` / `onlyBuiltDependencies` allowlist for
57
+ * the workspace's `packages` globs, without clobbering any packages the user
58
+ * has already declared.
59
+ *
60
+ * A workspace not created by the preset commonly has either no
61
+ * `pnpm-workspace.yaml`, one missing the `packages` globs, or one carrying the
62
+ * broken `set this to true or false` placeholder pnpm writes when it skips a
63
+ * build script. This makes the file self-consistent so the first generator's
64
+ * install doesn't fail with `ERR_PNPM_IGNORED_BUILDS`.
65
+ */ const setUpPnpmWorkspace = (tree, catalogs)=>{
66
+ const existing = tree.exists('pnpm-workspace.yaml') ? yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') ?? {} : {};
67
+ // Preserve any packages globs the user already has, ensuring ours are present.
68
+ const packages = Array.from(new Set([
69
+ ...existing.packages ?? [],
70
+ ...WORKSPACES
71
+ ]));
72
+ const allowBuilds = {
73
+ ...typeof existing.allowBuilds === 'object' && existing.allowBuilds ? existing.allowBuilds : {},
74
+ // Overwrite any non-boolean (e.g. the "set this to true or false"
75
+ // placeholder) with an explicit true for the deps we trust.
76
+ ...Object.fromEntries(PNPM_BUILT_DEPENDENCIES.map((dep)=>[
77
+ dep,
78
+ true
79
+ ]))
80
+ };
81
+ // `strict` makes `pnpm add` record new deps in the catalog; it only gates
82
+ // that flow, so pre-declared direct ranges (e.g. tslib) still install.
83
+ // Preserve an explicit user choice.
84
+ const catalogMode = catalogs ? existing.catalogMode ?? 'strict' : existing.catalogMode;
85
+ tree.write('pnpm-workspace.yaml', yaml.dump({
86
+ ...existing,
87
+ packages,
88
+ allowBuilds,
89
+ onlyBuiltDependencies: PNPM_BUILT_DEPENDENCIES,
90
+ ...catalogMode ? {
91
+ catalogMode
92
+ } : {}
93
+ }, {
94
+ quotingType: "'"
95
+ }));
96
+ };
97
+ /**
98
+ * Configure the workspace's package manager for a monorepo layout.
99
+ *
100
+ * pnpm workspaces are declared in `pnpm-workspace.yaml`; every other package
101
+ * manager reads the `workspaces` field of the root `package.json`.
102
+ */ const setUpWorkspaces = (tree, catalogs)=>{
103
+ if (detectWorkspacePackageManager(tree) === 'pnpm') {
104
+ setUpPnpmWorkspace(tree, catalogs);
105
+ } else {
106
+ updateJson(tree, 'package.json', (json)=>{
107
+ // The `workspaces` field may be the object form ({ "packages": [...] })
108
+ // accepted by yarn and bun — extend the globs while preserving the form.
109
+ const globs = Array.from(new Set([
110
+ ...workspaceGlobs(json.workspaces),
111
+ ...WORKSPACES
112
+ ]));
113
+ return {
114
+ ...json,
115
+ workspaces: json.workspaces !== undefined && !Array.isArray(json.workspaces) ? {
116
+ ...json.workspaces,
117
+ packages: globs
118
+ } : globs
119
+ };
120
+ });
121
+ }
122
+ };
123
+ /**
124
+ * Ensure the workspace has a `tsconfig.base.json`.
125
+ *
126
+ * `@nx/js` `initGenerator` (with `addTsPlugin`) normally creates this, but it
127
+ * short-circuits when the workspace already has a root `tsconfig.json` — in
128
+ * which case no base file is written and the next project generator fails with
129
+ * `Cannot find tsconfig.base.json`. So we create a compatible one when it's
130
+ * absent. An existing base is left untouched: the user may have tuned it, and
131
+ * rewriting shared compiler options can break other projects (see the
132
+ * "add to an existing workspace" guide).
133
+ */ const ensureBaseTsConfig = (tree)=>{
134
+ if (tree.exists('tsconfig.base.json')) {
135
+ return;
136
+ }
137
+ tree.write('tsconfig.base.json', JSON.stringify({
138
+ compilerOptions: {
139
+ ...BASE_TSCONFIG_COMPILER_OPTIONS,
140
+ customConditions: [
141
+ getNpmScope(tree)
142
+ ]
143
+ }
144
+ }, null, 2));
145
+ };
146
+ /**
147
+ * Ensure the workspace has a root `tsconfig.json`.
148
+ *
149
+ * Nx's `@nx/js:typescript-sync` generator hard-fails with
150
+ * `Missing root "tsconfig.json"` when it's absent. The plugin's TypeScript
151
+ * projects reference each other via this file, so we guarantee a minimal one
152
+ * exists (sync populates its `references`).
153
+ */ const ensureRootTsConfig = (tree)=>{
154
+ if (tree.exists('tsconfig.json')) {
155
+ return;
156
+ }
157
+ tree.write('tsconfig.json', JSON.stringify({
158
+ extends: './tsconfig.base.json',
159
+ files: [],
160
+ references: []
161
+ }, null, 2));
162
+ };
163
+ /**
164
+ * Transform an Nx workspace into one ready to run `@aws/nx-plugin` generators.
165
+ *
166
+ * This is the deterministic core shared by the workspace preset and the `init`
167
+ * generator. It is safe to re-run: every step is idempotent (config merges,
168
+ * keyed nx.json / package.json entries, create-if-missing files), so running
169
+ * it against an already-initialised workspace is a no-op.
170
+ *
171
+ * It preserves the workspace's module format: the root package.json `type`
172
+ * field is owned by the preset (written from its `--module` option) and left
173
+ * untouched here. It does NOT rewrite an existing `tsconfig.base.json`'s
174
+ * compiler options, migrate a workspace's package manager, or restructure
175
+ * existing projects — those are decisions for the user (see the "add to an
176
+ * existing workspace" guide).
177
+ */ export const applyWorkspaceInit = async (tree, { iac, containers, mcp, readmeOverwriteStrategy = OverwriteStrategy.KeepExisting, overwriteScripts = false, catalogs = true }, declaration)=>{
178
+ const resolvedContainers = !containers || containers === 'infer' ? inferContainers() : containers;
179
+ // The catalogs flag is written explicitly (even when true) so the workspace
180
+ // records its dependency-management choice.
181
+ await ensureAwsNxPluginConfig(tree);
182
+ await updateAwsNxPluginConfig(tree, {
183
+ iac: {
184
+ provider: iac
185
+ },
186
+ containers: {
187
+ engine: resolvedContainers
188
+ },
189
+ packageManager: {
190
+ catalogs
191
+ }
192
+ });
193
+ // Set up the TypeScript plugin, base tsconfig, formatter etc. `@nx/js`
194
+ // creates `tsconfig.base.json` when absent, but skips it when a root
195
+ // `tsconfig.json` already exists — so we ensure both explicitly below.
196
+ await initGenerator(tree, {
197
+ formatter: 'none',
198
+ addTsPlugin: true
199
+ });
200
+ ensureBaseTsConfig(tree);
201
+ ensureRootTsConfig(tree);
202
+ setUpWorkspaces(tree, catalogs);
203
+ const nxJson = readNxJson(tree);
204
+ updateNxJson(tree, {
205
+ ...nxJson,
206
+ // Preserve an explicit analytics choice in an existing workspace.
207
+ analytics: nxJson.analytics ?? false,
208
+ targetDefaults: {
209
+ ...nxJson.targetDefaults,
210
+ compile: mergeTargetDefault(nxJson.targetDefaults?.compile, (base)=>({
211
+ ...base,
212
+ syncGenerators: [
213
+ ...(base.syncGenerators ?? []).filter((g)=>![
214
+ TS_SYNC_GENERATOR_NAME,
215
+ NX_TYPESCRIPT_SYNC_GENERATOR
216
+ ].includes(g)),
217
+ NX_TYPESCRIPT_SYNC_GENERATOR,
218
+ TS_SYNC_GENERATOR_NAME
219
+ ]
220
+ }))
221
+ }
222
+ });
223
+ const CONVENIENCE_SCRIPTS = {
224
+ dev: 'nx run-many --target dev',
225
+ build: 'nx run-many --target build',
226
+ lint: 'nx run-many --target lint --configuration=fix',
227
+ test: 'nx run-many --target test --all',
228
+ // Trivy container image scanning is not part of `build` (its result
229
+ // depends on the ever-changing vulnerability database); run it explicitly,
230
+ // e.g. in CI.
231
+ trivy: 'nx run-many --target trivy --all',
232
+ 'build:skip-lint': 'nx run-many --target build --configuration=skip-lint',
233
+ 'build:all': 'nx run-many --target build --all',
234
+ 'affected:all': 'nx affected --target build'
235
+ };
236
+ updateJson(tree, 'package.json', (packageJson)=>({
237
+ ...packageJson,
238
+ // The root `type` field is owned by the preset (written explicitly from
239
+ // its `--module` option). `init` preserves an existing workspace's field
240
+ // as-is: an ESM workspace already carries `type: "module"` (that is how
241
+ // the format is inferred), and introducing a `type` into a CommonJS
242
+ // workspace that lacks one changes behaviour for frameworks that parse it
243
+ // (e.g. Next.js starts treating the app's ESM source as CJS).
244
+ scripts: overwriteScripts ? {
245
+ ...packageJson.scripts,
246
+ ...CONVENIENCE_SCRIPTS
247
+ } : {
248
+ ...CONVENIENCE_SCRIPTS,
249
+ ...packageJson.scripts
250
+ }
251
+ }));
252
+ // Pin the workspace's `nx` to the version the plugin's @nx/* packages are
253
+ // built against. A mismatched workspace nx (even a patch apart) hoists a
254
+ // second nested nx under @nx/js, and the two instances deadlock `nx sync`.
255
+ // `@nx/js` must be a root dependency for the `@nx/js:typescript-sync`
256
+ // generator registered in nx.json to resolve (npm doesn't hoist the
257
+ // plugin's own copy reliably).
258
+ addDependenciesToPackageJson(tree, {}, {
259
+ ...withVersions(forDependencies(declaration), [
260
+ 'nx',
261
+ '@nx/js',
262
+ '@nx/workspace'
263
+ ]),
264
+ ...withVersions(forDependencies(declaration), [
265
+ 'typescript',
266
+ '@biomejs/biome'
267
+ ]),
268
+ // Declare the plugin the generators are running from, plus the MCP server
269
+ // package the vended config runs, so both are pinned in the workspace's
270
+ // lockfile and upgrading them upgrades what the agents use.
271
+ ...nxPluginSelfDependency(tree),
272
+ ...nxPluginMcpDependency(tree)
273
+ });
274
+ // Write biome.json for formatting and linting
275
+ if (!tree.exists('biome.json')) {
276
+ tree.write('biome.json', JSON.stringify(getDefaultBiomeConfig(tree), null, 2));
277
+ }
278
+ generateFiles(tree, joinPathFragments(import.meta.dirname, '..', 'preset', 'files'), '.', {
279
+ projectName: getNpmScope(tree),
280
+ generators: Object.entries(GeneratorsJson.generators).filter(([_, v])=>!v['hidden']).map(([k, v])=>({
281
+ name: k,
282
+ description: v.description
283
+ })),
284
+ ...(()=>{
285
+ const cmds = getPackageManagerDisplayCommands();
286
+ return {
287
+ pkgMgrCmd: cmds.exec,
288
+ buildCmd: `${cmds.run} build`,
289
+ lintCmd: `${cmds.run} lint`
290
+ };
291
+ })()
292
+ }, {
293
+ overwriteStrategy: readmeOverwriteStrategy
294
+ });
295
+ if (mcp !== false) {
296
+ configureMcpServers(tree);
297
+ }
298
+ };
299
+
300
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/init.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n readNxJson,\n type Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { initGenerator } from '@nx/js';\nimport { readFileSync } from 'fs';\nimport yaml from 'js-yaml';\nimport GeneratorsJson from '../../generators.json' with { type: 'json' };\nimport { SYNC_GENERATOR_NAME as TS_SYNC_GENERATOR_NAME } from '../ts/sync/generator';\nimport { BASE_TSCONFIG_COMPILER_OPTIONS } from './base-tsconfig';\nimport {\n ensureAwsNxPluginConfig,\n updateAwsNxPluginConfig,\n} from './config/utils';\nimport { type Containers, inferContainers } from './containers';\nimport {\n type DependencyDeclaration,\n forDependencies,\n type MustDeclare,\n} from './declared-dependencies';\nimport {\n addDependenciesToPackageJson,\n detectWorkspacePackageManager,\n} from './dependencies';\nimport { getDefaultBiomeConfig } from './format';\nimport type { Iac } from './iac';\nimport { configureMcpServers } from './mcp';\nimport { getNpmScope } from './npm-scope';\nimport {\n mergeTargetDefault,\n nxPluginMcpDependency,\n nxPluginSelfDependency,\n} from './nx';\nimport { getPackageManagerDisplayCommands } from './pkg-manager';\nimport { workspaceGlobs } from './project-package-json';\nimport { type ITsDepVersion, withVersions } from './versions';\n\nconst WORKSPACES = ['packages/*'];\nconst NX_TYPESCRIPT_SYNC_GENERATOR = '@nx/js:typescript-sync';\n\n/** Dependencies a caller must declare to apply the workspace init. */\nexport const INIT_DEPENDENCIES = [\n { name: 'nx' },\n { name: '@nx/js' },\n { name: '@nx/workspace' },\n { name: 'typescript' },\n { name: '@biomejs/biome' },\n] as const satisfies readonly { name: ITsDepVersion }[];\n\n// Built dependencies whose install scripts the generated workspace trusts.\n// `onlyBuiltDependencies` is the pnpm 10 key (silently ignored by pnpm 11);\n// pnpm 11 reads `allowBuilds` instead. Any dep NOT in this allowlist will\n// have its install scripts skipped with a warning — matching pnpm 10's\n// default behaviour. The user can opt-in later via `pnpm approve-builds`.\nexport const PNPM_BUILT_DEPENDENCIES = ['@swc/core', 'esbuild', 'nx', 'sharp'];\n\n/**\n * Options controlling how the workspace is initialised. These mirror the\n * preset schema so a workspace created via the preset and one initialised via\n * the `init` generator end up in the same shape.\n */\nexport interface ApplyWorkspaceInitOptions {\n /** The IaC provider to record in the plugin config. */\n readonly iac: Iac;\n /**\n * The container engine to record. `undefined`/`'infer'` picks docker when\n * installed, else finch.\n */\n readonly containers?: Containers | 'infer';\n /** Whether to configure MCP servers for coding agents. Defaults to true. */\n readonly mcp?: boolean;\n /**\n * How to treat the generated workspace README. The preset owns the README of\n * a greenfield workspace (`Overwrite`); the `init` generator must not clobber\n * an existing workspace's README (`KeepExisting`, the default).\n */\n readonly readmeOverwriteStrategy?: OverwriteStrategy;\n /**\n * Whether to overwrite root package.json scripts that already exist. The\n * preset owns a greenfield workspace's scripts (`true`); the `init`\n * generator must not clobber an existing workspace's scripts (`false`,\n * the default) — it only adds the convenience scripts that are absent.\n */\n readonly overwriteScripts?: boolean;\n /**\n * Whether generators use the package manager's dependency catalog. On pnpm\n * this also sets `catalogMode: strict` so `pnpm add` records new deps in the\n * catalog. Defaults to true.\n */\n readonly catalogs?: boolean;\n}\n\n/**\n * Add or repair the pnpm `allowBuilds` / `onlyBuiltDependencies` allowlist for\n * the workspace's `packages` globs, without clobbering any packages the user\n * has already declared.\n *\n * A workspace not created by the preset commonly has either no\n * `pnpm-workspace.yaml`, one missing the `packages` globs, or one carrying the\n * broken `set this to true or false` placeholder pnpm writes when it skips a\n * build script. This makes the file self-consistent so the first generator's\n * install doesn't fail with `ERR_PNPM_IGNORED_BUILDS`.\n */\nconst setUpPnpmWorkspace = (tree: Tree, catalogs: boolean) => {\n const existing = tree.exists('pnpm-workspace.yaml')\n ? ((yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') as Record<\n string,\n unknown\n >) ?? {})\n : {};\n\n // Preserve any packages globs the user already has, ensuring ours are present.\n const packages = Array.from(\n new Set([...((existing.packages as string[]) ?? []), ...WORKSPACES]),\n );\n\n const allowBuilds = {\n ...(typeof existing.allowBuilds === 'object' && existing.allowBuilds\n ? (existing.allowBuilds as Record<string, unknown>)\n : {}),\n // Overwrite any non-boolean (e.g. the \"set this to true or false\"\n // placeholder) with an explicit true for the deps we trust.\n ...Object.fromEntries(PNPM_BUILT_DEPENDENCIES.map((dep) => [dep, true])),\n };\n\n // `strict` makes `pnpm add` record new deps in the catalog; it only gates\n // that flow, so pre-declared direct ranges (e.g. tslib) still install.\n // Preserve an explicit user choice.\n const catalogMode = catalogs\n ? (existing.catalogMode ?? 'strict')\n : existing.catalogMode;\n\n tree.write(\n 'pnpm-workspace.yaml',\n yaml.dump(\n {\n ...existing,\n packages,\n allowBuilds,\n onlyBuiltDependencies: PNPM_BUILT_DEPENDENCIES,\n ...(catalogMode ? { catalogMode } : {}),\n },\n { quotingType: \"'\" },\n ),\n );\n};\n\n/**\n * Configure the workspace's package manager for a monorepo layout.\n *\n * pnpm workspaces are declared in `pnpm-workspace.yaml`; every other package\n * manager reads the `workspaces` field of the root `package.json`.\n */\nconst setUpWorkspaces = (tree: Tree, catalogs: boolean) => {\n if (detectWorkspacePackageManager(tree) === 'pnpm') {\n setUpPnpmWorkspace(tree, catalogs);\n } else {\n updateJson(tree, 'package.json', (json) => {\n // The `workspaces` field may be the object form ({ \"packages\": [...] })\n // accepted by yarn and bun — extend the globs while preserving the form.\n const globs = Array.from(\n new Set([...workspaceGlobs(json.workspaces), ...WORKSPACES]),\n );\n return {\n ...json,\n workspaces:\n json.workspaces !== undefined && !Array.isArray(json.workspaces)\n ? { ...json.workspaces, packages: globs }\n : globs,\n };\n });\n }\n};\n\n/**\n * Ensure the workspace has a `tsconfig.base.json`.\n *\n * `@nx/js` `initGenerator` (with `addTsPlugin`) normally creates this, but it\n * short-circuits when the workspace already has a root `tsconfig.json` — in\n * which case no base file is written and the next project generator fails with\n * `Cannot find tsconfig.base.json`. So we create a compatible one when it's\n * absent. An existing base is left untouched: the user may have tuned it, and\n * rewriting shared compiler options can break other projects (see the\n * \"add to an existing workspace\" guide).\n */\nconst ensureBaseTsConfig = (tree: Tree) => {\n if (tree.exists('tsconfig.base.json')) {\n return;\n }\n tree.write(\n 'tsconfig.base.json',\n JSON.stringify(\n {\n compilerOptions: {\n ...BASE_TSCONFIG_COMPILER_OPTIONS,\n customConditions: [getNpmScope(tree)],\n },\n },\n null,\n 2,\n ),\n );\n};\n\n/**\n * Ensure the workspace has a root `tsconfig.json`.\n *\n * Nx's `@nx/js:typescript-sync` generator hard-fails with\n * `Missing root \"tsconfig.json\"` when it's absent. The plugin's TypeScript\n * projects reference each other via this file, so we guarantee a minimal one\n * exists (sync populates its `references`).\n */\nconst ensureRootTsConfig = (tree: Tree) => {\n if (tree.exists('tsconfig.json')) {\n return;\n }\n tree.write(\n 'tsconfig.json',\n JSON.stringify(\n {\n extends: './tsconfig.base.json',\n files: [],\n references: [],\n },\n null,\n 2,\n ),\n );\n};\n\n/**\n * Transform an Nx workspace into one ready to run `@aws/nx-plugin` generators.\n *\n * This is the deterministic core shared by the workspace preset and the `init`\n * generator. It is safe to re-run: every step is idempotent (config merges,\n * keyed nx.json / package.json entries, create-if-missing files), so running\n * it against an already-initialised workspace is a no-op.\n *\n * It preserves the workspace's module format: the root package.json `type`\n * field is owned by the preset (written from its `--module` option) and left\n * untouched here. It does NOT rewrite an existing `tsconfig.base.json`'s\n * compiler options, migrate a workspace's package manager, or restructure\n * existing projects — those are decisions for the user (see the \"add to an\n * existing workspace\" guide).\n */\nexport const applyWorkspaceInit = async <const D extends DependencyDeclaration>(\n tree: Tree,\n {\n iac,\n containers,\n mcp,\n readmeOverwriteStrategy = OverwriteStrategy.KeepExisting,\n overwriteScripts = false,\n catalogs = true,\n }: ApplyWorkspaceInitOptions,\n declaration: D & MustDeclare<typeof INIT_DEPENDENCIES, D>,\n) => {\n const resolvedContainers =\n !containers || containers === 'infer' ? inferContainers() : containers;\n\n // The catalogs flag is written explicitly (even when true) so the workspace\n // records its dependency-management choice.\n await ensureAwsNxPluginConfig(tree);\n await updateAwsNxPluginConfig(tree, {\n iac: { provider: iac },\n containers: { engine: resolvedContainers },\n packageManager: { catalogs },\n });\n\n // Set up the TypeScript plugin, base tsconfig, formatter etc. `@nx/js`\n // creates `tsconfig.base.json` when absent, but skips it when a root\n // `tsconfig.json` already exists — so we ensure both explicitly below.\n await initGenerator(tree, {\n formatter: 'none',\n addTsPlugin: true,\n });\n\n ensureBaseTsConfig(tree);\n ensureRootTsConfig(tree);\n\n setUpWorkspaces(tree, catalogs);\n\n const nxJson = readNxJson(tree);\n updateNxJson(tree, {\n ...nxJson,\n // Preserve an explicit analytics choice in an existing workspace.\n analytics: (nxJson as { analytics?: boolean }).analytics ?? false,\n targetDefaults: {\n ...nxJson.targetDefaults,\n compile: mergeTargetDefault(nxJson.targetDefaults?.compile, (base) => ({\n ...base,\n syncGenerators: [\n ...(base.syncGenerators ?? []).filter(\n (g) =>\n ![TS_SYNC_GENERATOR_NAME, NX_TYPESCRIPT_SYNC_GENERATOR].includes(\n g,\n ),\n ),\n NX_TYPESCRIPT_SYNC_GENERATOR,\n TS_SYNC_GENERATOR_NAME,\n ],\n })),\n },\n });\n\n const CONVENIENCE_SCRIPTS = {\n dev: 'nx run-many --target dev',\n build: 'nx run-many --target build',\n lint: 'nx run-many --target lint --configuration=fix',\n test: 'nx run-many --target test --all',\n // Trivy container image scanning is not part of `build` (its result\n // depends on the ever-changing vulnerability database); run it explicitly,\n // e.g. in CI.\n trivy: 'nx run-many --target trivy --all',\n 'build:skip-lint': 'nx run-many --target build --configuration=skip-lint',\n 'build:all': 'nx run-many --target build --all',\n 'affected:all': 'nx affected --target build',\n };\n updateJson(tree, 'package.json', (packageJson) => ({\n ...packageJson,\n // The root `type` field is owned by the preset (written explicitly from\n // its `--module` option). `init` preserves an existing workspace's field\n // as-is: an ESM workspace already carries `type: \"module\"` (that is how\n // the format is inferred), and introducing a `type` into a CommonJS\n // workspace that lacks one changes behaviour for frameworks that parse it\n // (e.g. Next.js starts treating the app's ESM source as CJS).\n scripts: overwriteScripts\n ? { ...packageJson.scripts, ...CONVENIENCE_SCRIPTS }\n : { ...CONVENIENCE_SCRIPTS, ...packageJson.scripts },\n }));\n\n // Pin the workspace's `nx` to the version the plugin's @nx/* packages are\n // built against. A mismatched workspace nx (even a patch apart) hoists a\n // second nested nx under @nx/js, and the two instances deadlock `nx sync`.\n // `@nx/js` must be a root dependency for the `@nx/js:typescript-sync`\n // generator registered in nx.json to resolve (npm doesn't hoist the\n // plugin's own copy reliably).\n addDependenciesToPackageJson(\n tree,\n {},\n {\n ...withVersions(forDependencies<typeof INIT_DEPENDENCIES>(declaration), [\n 'nx',\n '@nx/js',\n '@nx/workspace',\n ]),\n ...withVersions(forDependencies<typeof INIT_DEPENDENCIES>(declaration), [\n 'typescript',\n '@biomejs/biome',\n ]),\n // Declare the plugin the generators are running from, plus the MCP server\n // package the vended config runs, so both are pinned in the workspace's\n // lockfile and upgrading them upgrades what the agents use.\n ...nxPluginSelfDependency(tree),\n ...nxPluginMcpDependency(tree),\n },\n );\n\n // Write biome.json for formatting and linting\n if (!tree.exists('biome.json')) {\n tree.write(\n 'biome.json',\n JSON.stringify(getDefaultBiomeConfig(tree), null, 2),\n );\n }\n\n generateFiles(\n tree, // the virtual file system\n joinPathFragments(import.meta.dirname, '..', 'preset', 'files'),\n '.',\n {\n projectName: getNpmScope(tree),\n generators: Object.entries(GeneratorsJson.generators)\n .filter(([_, v]) => !v['hidden'])\n .map(([k, v]) => ({ name: k, description: v.description })),\n ...(() => {\n const cmds = getPackageManagerDisplayCommands();\n return {\n pkgMgrCmd: cmds.exec,\n buildCmd: `${cmds.run} build`,\n lintCmd: `${cmds.run} lint`,\n };\n })(),\n },\n {\n overwriteStrategy: readmeOverwriteStrategy,\n },\n );\n\n if (mcp !== false) {\n configureMcpServers(tree);\n }\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","readNxJson","updateJson","updateNxJson","initGenerator","yaml","GeneratorsJson","type","SYNC_GENERATOR_NAME","TS_SYNC_GENERATOR_NAME","BASE_TSCONFIG_COMPILER_OPTIONS","ensureAwsNxPluginConfig","updateAwsNxPluginConfig","inferContainers","forDependencies","addDependenciesToPackageJson","detectWorkspacePackageManager","getDefaultBiomeConfig","configureMcpServers","getNpmScope","mergeTargetDefault","nxPluginMcpDependency","nxPluginSelfDependency","getPackageManagerDisplayCommands","workspaceGlobs","withVersions","WORKSPACES","NX_TYPESCRIPT_SYNC_GENERATOR","INIT_DEPENDENCIES","name","PNPM_BUILT_DEPENDENCIES","setUpPnpmWorkspace","tree","catalogs","existing","exists","load","read","packages","Array","from","Set","allowBuilds","Object","fromEntries","map","dep","catalogMode","write","dump","onlyBuiltDependencies","quotingType","setUpWorkspaces","json","globs","workspaces","undefined","isArray","ensureBaseTsConfig","JSON","stringify","compilerOptions","customConditions","ensureRootTsConfig","extends","files","references","applyWorkspaceInit","iac","containers","mcp","readmeOverwriteStrategy","KeepExisting","overwriteScripts","declaration","resolvedContainers","provider","engine","packageManager","formatter","addTsPlugin","nxJson","analytics","targetDefaults","compile","base","syncGenerators","filter","g","includes","CONVENIENCE_SCRIPTS","dev","build","lint","test","trivy","packageJson","scripts","dirname","projectName","generators","entries","_","v","k","description","cmds","pkgMgrCmd","exec","buildCmd","run","lintCmd","overwriteStrategy"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ import type { ITsDepVersion } from './versions';
3
+ /**
4
+ * Languages whose dependencies a generator may install.
5
+ */
6
+ export type InstallLanguage = 'typescript' | 'python';
7
+ export interface InstallDependenciesOptions {
8
+ /** Languages to install dependencies for. */
9
+ languages: InstallLanguage[];
10
+ /**
11
+ * Packages that must resolve from the workspace after this generator, because
12
+ * a config file it writes (e.g. `vite.config.mts`) imports them and Nx loads
13
+ * that config when computing the project graph. When the caller prefers to
14
+ * defer installing, we honour that only if these already resolve.
15
+ *
16
+ * The per-language graph deps in `LANGUAGE_GRAPH_DEPS` are always included, so
17
+ * callers only list packages beyond those.
18
+ */
19
+ ensureResolvable?: ITsDepVersion[];
20
+ }
21
+ /**
22
+ * Installs dependencies for the given languages.
23
+ *
24
+ * Call from a generator's returned callback:
25
+ * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.
26
+ *
27
+ * `preferInstallDependencies` is a preference: when `false` the install is
28
+ * deferred so a batch installs once at the end — unless an `ensureResolvable`
29
+ * package is missing, in which case it runs anyway so the next `nx` command can
30
+ * still compute the project graph.
31
+ */
32
+ export declare const installDependencies: (tree: Tree, preferInstallDependencies: boolean | undefined, options: InstallDependenciesOptions) => Promise<void>;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { existsSync } from "node:fs";
5
+ import { join } from "node:path";
6
+ import { installPackagesTask } from "@nx/devkit";
7
+ import { Logger, UVProvider } from "./nxlv-python.js";
8
+ /**
9
+ * Packages each language always needs resolvable for Nx to compute the project
10
+ * graph, so a deferred install still runs whenever it would otherwise break.
11
+ */ const LANGUAGE_GRAPH_DEPS = {
12
+ typescript: [
13
+ 'vitest'
14
+ ],
15
+ python: [
16
+ '@nxlv/python'
17
+ ]
18
+ };
19
+ /**
20
+ * Returns true if every package is linked at `<root>/node_modules/<pkg>`.
21
+ *
22
+ * This is the condition Nx's inferred plugins need when they load a generated
23
+ * config (e.g. `vite.config.mts`) during graph computation: the config's
24
+ * imports resolve from inside the workspace's own `node_modules`. We avoid
25
+ * `require.resolve`, which can succeed via an ancestor `node_modules` even when
26
+ * the package isn't linked here. `existsSync` follows symlinks, so pnpm's store
27
+ * links resolve, and Nx always uses a `node_modules` linker (never PnP).
28
+ */ const allResolvable = (root, packages)=>packages.every((pkg)=>existsSync(join(root, 'node_modules', pkg)));
29
+ /**
30
+ * Installs dependencies for the given languages.
31
+ *
32
+ * Call from a generator's returned callback:
33
+ * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.
34
+ *
35
+ * `preferInstallDependencies` is a preference: when `false` the install is
36
+ * deferred so a batch installs once at the end — unless an `ensureResolvable`
37
+ * package is missing, in which case it runs anyway so the next `nx` command can
38
+ * still compute the project graph.
39
+ */ export const installDependencies = async (tree, preferInstallDependencies, options)=>{
40
+ const { languages, ensureResolvable = [] } = options;
41
+ const mustResolve = [
42
+ ...ensureResolvable,
43
+ ...languages.flatMap((language)=>LANGUAGE_GRAPH_DEPS[language])
44
+ ];
45
+ if (preferInstallDependencies === false && allResolvable(tree.root, mustResolve)) {
46
+ return;
47
+ }
48
+ if (languages.includes('typescript')) {
49
+ // Force the install: devkit's default only installs when the root
50
+ // package.json changed, but deps land in per-project manifests.
51
+ installPackagesTask(tree, true);
52
+ }
53
+ if (languages.includes('python')) {
54
+ await new UVProvider(tree.root, new Logger(), tree).install();
55
+ }
56
+ };
57
+
58
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/install.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { existsSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { installPackagesTask, type Tree } from '@nx/devkit';\nimport { Logger, UVProvider } from './nxlv-python';\nimport type { ITsDepVersion } from './versions';\n\n/**\n * Languages whose dependencies a generator may install.\n */\nexport type InstallLanguage = 'typescript' | 'python';\n\nexport interface InstallDependenciesOptions {\n /** Languages to install dependencies for. */\n languages: InstallLanguage[];\n /**\n * Packages that must resolve from the workspace after this generator, because\n * a config file it writes (e.g. `vite.config.mts`) imports them and Nx loads\n * that config when computing the project graph. When the caller prefers to\n * defer installing, we honour that only if these already resolve.\n *\n * The per-language graph deps in `LANGUAGE_GRAPH_DEPS` are always included, so\n * callers only list packages beyond those.\n */\n ensureResolvable?: ITsDepVersion[];\n}\n\n/**\n * Packages each language always needs resolvable for Nx to compute the project\n * graph, so a deferred install still runs whenever it would otherwise break.\n */\nconst LANGUAGE_GRAPH_DEPS: Record<InstallLanguage, string[]> = {\n typescript: ['vitest'], // every TypeScript project has a `vitest.config.mts`\n python: ['@nxlv/python'], // every Python project registers this inference plugin\n};\n\n/**\n * Returns true if every package is linked at `<root>/node_modules/<pkg>`.\n *\n * This is the condition Nx's inferred plugins need when they load a generated\n * config (e.g. `vite.config.mts`) during graph computation: the config's\n * imports resolve from inside the workspace's own `node_modules`. We avoid\n * `require.resolve`, which can succeed via an ancestor `node_modules` even when\n * the package isn't linked here. `existsSync` follows symlinks, so pnpm's store\n * links resolve, and Nx always uses a `node_modules` linker (never PnP).\n */\nconst allResolvable = (root: string, packages: string[]): boolean =>\n packages.every((pkg) => existsSync(join(root, 'node_modules', pkg)));\n\n/**\n * Installs dependencies for the given languages.\n *\n * Call from a generator's returned callback:\n * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.\n *\n * `preferInstallDependencies` is a preference: when `false` the install is\n * deferred so a batch installs once at the end — unless an `ensureResolvable`\n * package is missing, in which case it runs anyway so the next `nx` command can\n * still compute the project graph.\n */\nexport const installDependencies = async (\n tree: Tree,\n preferInstallDependencies: boolean | undefined,\n options: InstallDependenciesOptions,\n): Promise<void> => {\n const { languages, ensureResolvable = [] } = options;\n const mustResolve = [\n ...ensureResolvable,\n ...languages.flatMap((language) => LANGUAGE_GRAPH_DEPS[language]),\n ];\n if (\n preferInstallDependencies === false &&\n allResolvable(tree.root, mustResolve)\n ) {\n return;\n }\n if (languages.includes('typescript')) {\n // Force the install: devkit's default only installs when the root\n // package.json changed, but deps land in per-project manifests.\n installPackagesTask(tree, true);\n }\n if (languages.includes('python')) {\n await new UVProvider(tree.root, new Logger(), tree).install();\n }\n};\n"],"names":["existsSync","join","installPackagesTask","Logger","UVProvider","LANGUAGE_GRAPH_DEPS","typescript","python","allResolvable","root","packages","every","pkg","installDependencies","tree","preferInstallDependencies","options","languages","ensureResolvable","mustResolve","flatMap","language","includes","install"],"mappings":"AAAA;;;CAGC,GACD,SAASA,UAAU,QAAQ,UAAU;AACrC,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,mBAAmB,QAAmB,aAAa;AAC5D,SAASC,MAAM,EAAEC,UAAU,QAAQ,mBAAgB;AAuBnD;;;CAGC,GACD,MAAMC,sBAAyD;IAC7DC,YAAY;QAAC;KAAS;IACtBC,QAAQ;QAAC;KAAe;AAC1B;AAEA;;;;;;;;;CASC,GACD,MAAMC,gBAAgB,CAACC,MAAcC,WACnCA,SAASC,KAAK,CAAC,CAACC,MAAQZ,WAAWC,KAAKQ,MAAM,gBAAgBG;AAEhE;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,sBAAsB,OACjCC,MACAC,2BACAC;IAEA,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAE,EAAE,GAAGF;IAC7C,MAAMG,cAAc;WACfD;WACAD,UAAUG,OAAO,CAAC,CAACC,WAAahB,mBAAmB,CAACgB,SAAS;KACjE;IACD,IACEN,8BAA8B,SAC9BP,cAAcM,KAAKL,IAAI,EAAEU,cACzB;QACA;IACF;IACA,IAAIF,UAAUK,QAAQ,CAAC,eAAe;QACpC,kEAAkE;QAClE,gEAAgE;QAChEpB,oBAAoBY,MAAM;IAC5B;IACA,IAAIG,UAAUK,QAAQ,CAAC,WAAW;QAChC,MAAM,IAAIlB,WAAWU,KAAKL,IAAI,EAAE,IAAIN,UAAUW,MAAMS,OAAO;IAC7D;AACF,EAAE"}
package/src/utils/js.js CHANGED
@@ -1,33 +1,40 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
3
  * SPDX-License-Identifier: Apache-2.0
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.importTypeScriptModule = exports.importJavaScriptModule = void 0;
8
- const tslib_1 = require("tslib");
9
- const config_utils_1 = require("@nx/devkit/src/utils/config-utils");
10
- const typescript_1 = tslib_1.__importDefault(require("typescript"));
4
+ */ import ts from "typescript";
5
+ // A real runtime `import()`, wrapped in `new Function` so transpilers (tsc's
6
+ // CommonJS output, @swc-node/register) cannot rewrite it to `require()` —
7
+ // `require()` cannot load the `data:` urls we import below. Under a test VM
8
+ // (vitest) this `new Function` import has no dynamic-import callback, so we
9
+ // fall back to a literal `import()` which the test runner wires up correctly.
10
+ const nodeImport = new Function('modulePath', 'return import(modulePath);');
11
+ const dynamicImport = async (modulePath)=>{
12
+ try {
13
+ return await nodeImport(modulePath);
14
+ } catch (e) {
15
+ if (e instanceof TypeError && e.message.includes('dynamic import callback')) {
16
+ return import(/* @vite-ignore */ modulePath);
17
+ }
18
+ throw e;
19
+ }
20
+ };
11
21
  /**
12
22
  * Imports a javascript module from a string of js code
13
- */
14
- const importJavaScriptModule = async (jsCode) => {
15
- // Use nx's dynamic import to ensure that transpilers (namely @swc-node/register) don't process the import and it's
16
- // instead processed by node at runtime, which allows for data urls
17
- const module = await (0, config_utils_1.dynamicImport)(`data:text/javascript,${encodeURIComponent(jsCode)}`);
23
+ */ export const importJavaScriptModule = async (jsCode)=>{
24
+ const module = await dynamicImport(`data:text/javascript,${encodeURIComponent(jsCode)}`);
18
25
  // Return the default export if available, otherwise the full module
19
- return (module.default ?? module);
26
+ return module.default ?? module;
20
27
  };
21
- exports.importJavaScriptModule = importJavaScriptModule;
22
28
  /**
23
29
  * Imports a typescript module from a string of typescript code
24
- */
25
- const importTypeScriptModule = async (tsCode) => {
30
+ */ export const importTypeScriptModule = async (tsCode)=>{
26
31
  // Transpile to js and then import as a js module
27
- const jsCode = typescript_1.default.transpileModule(tsCode, {
28
- compilerOptions: { module: typescript_1.default.ModuleKind.ESNext },
32
+ const jsCode = ts.transpileModule(tsCode, {
33
+ compilerOptions: {
34
+ module: ts.ModuleKind.ESNext
35
+ }
29
36
  }).outputText;
30
- return await (0, exports.importJavaScriptModule)(jsCode);
37
+ return await importJavaScriptModule(jsCode);
31
38
  };
32
- exports.importTypeScriptModule = importTypeScriptModule;
39
+
33
40
  //# sourceMappingURL=js.js.map