@aws/nx-plugin 1.0.0-rc.6 → 1.0.0-rc.61

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 (1271) hide show
  1. package/LICENSE-THIRD-PARTY +7104 -6167
  2. package/README.md +8 -7
  3. package/generators.json +145 -10
  4. package/migrations.json +116 -0
  5. package/package.json +41 -22
  6. package/src/agentcore-gateway/__snapshots__/generator.spec.ts.snap +273 -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/connection/agent-local-dev.d.ts +49 -0
  51. package/src/connection/agent-local-dev.js +84 -0
  52. package/src/connection/agent-local-dev.js.map +1 -0
  53. package/src/connection/agent-runtime-config.js +9 -14
  54. package/src/connection/agent-runtime-config.js.map +1 -1
  55. package/src/connection/gateway-runtime-config.d.ts +19 -0
  56. package/src/connection/gateway-runtime-config.js +47 -0
  57. package/src/connection/gateway-runtime-config.js.map +1 -0
  58. package/src/connection/generator.d.ts +3 -10
  59. package/src/connection/generator.js +172 -194
  60. package/src/connection/generator.js.map +1 -1
  61. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  62. package/src/connection/local-dev.js +37 -0
  63. package/src/connection/local-dev.js.map +1 -0
  64. package/src/connection/scaffold-catalog.d.ts +267 -0
  65. package/src/connection/scaffold-catalog.js +347 -0
  66. package/src/connection/scaffold-catalog.js.map +1 -0
  67. package/src/connection/schema-resolver.d.ts +5 -0
  68. package/src/connection/schema-resolver.js +27 -0
  69. package/src/connection/schema-resolver.js.map +1 -0
  70. package/src/connection/schema.d.js +6 -0
  71. package/src/connection/schema.d.js.map +1 -0
  72. package/src/connection/schema.d.ts +1 -0
  73. package/src/connection/schema.json +5 -0
  74. package/src/connection/supported-connections.d.ts +116 -0
  75. package/src/connection/supported-connections.js +163 -0
  76. package/src/connection/supported-connections.js.map +1 -0
  77. package/src/index.js +2 -5
  78. package/src/index.js.map +1 -1
  79. package/src/infra/app/__snapshots__/generator.spec.ts.snap +91 -72
  80. package/src/infra/app/files/app/src/main.ts.template +1 -1
  81. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  82. package/src/infra/app/generator.d.ts +43 -0
  83. package/src/infra/app/generator.js +179 -127
  84. package/src/infra/app/generator.js.map +1 -1
  85. package/src/infra/app/schema.d.js +6 -0
  86. package/src/infra/app/schema.d.js.map +1 -0
  87. package/src/infra/app/schema.d.ts +1 -1
  88. package/src/infra/app/schema.json +5 -0
  89. package/src/init/generator.d.ts +31 -0
  90. package/src/init/generator.js +46 -0
  91. package/src/init/generator.js.map +1 -0
  92. package/src/init/schema.d.js +6 -0
  93. package/src/init/schema.d.js.map +1 -0
  94. package/src/init/schema.d.ts +16 -0
  95. package/src/init/schema.json +35 -0
  96. package/src/internal/test-matrix/generator.d.ts +29 -0
  97. package/src/internal/test-matrix/generator.js +698 -0
  98. package/src/internal/test-matrix/generator.js.map +1 -0
  99. package/src/internal/test-matrix/schema.d.js +6 -0
  100. package/src/internal/test-matrix/schema.d.js.map +1 -0
  101. package/src/internal/test-matrix/schema.d.ts +12 -0
  102. package/src/internal/test-matrix/schema.json +21 -0
  103. package/src/license/config-types.js +5 -3
  104. package/src/license/config-types.js.map +1 -1
  105. package/src/license/config.d.ts +1 -1
  106. package/src/license/config.js +267 -242
  107. package/src/license/config.js.map +1 -1
  108. package/src/license/dependency-check/check.js +51 -46
  109. package/src/license/dependency-check/check.js.map +1 -1
  110. package/src/license/dependency-check/collectors/collector.js +41 -71
  111. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  112. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  113. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  114. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  115. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  116. package/src/license/dependency-check/evaluator.js +40 -68
  117. package/src/license/dependency-check/evaluator.js.map +1 -1
  118. package/src/license/dependency-check/executor.js +30 -22
  119. package/src/license/dependency-check/executor.js.map +1 -1
  120. package/src/license/dependency-check/pre-approved.js +949 -336
  121. package/src/license/dependency-check/pre-approved.js.map +1 -1
  122. package/src/license/dependency-check/types.js +2 -3
  123. package/src/license/dependency-check/types.js.map +1 -1
  124. package/src/license/generator.js +65 -68
  125. package/src/license/generator.js.map +1 -1
  126. package/src/license/index.js +3 -9
  127. package/src/license/index.js.map +1 -1
  128. package/src/license/known-exceptions.d.ts +1 -1
  129. package/src/license/known-exceptions.js +19 -13
  130. package/src/license/known-exceptions.js.map +1 -1
  131. package/src/license/schema.d.js +6 -0
  132. package/src/license/schema.d.js.map +1 -0
  133. package/src/license/schema.d.ts +2 -0
  134. package/src/license/schema.json +5 -0
  135. package/src/license/sync/generator.js +94 -119
  136. package/src/license/sync/generator.js.map +1 -1
  137. package/src/license/sync/project-file-sync.js +28 -35
  138. package/src/license/sync/project-file-sync.js.map +1 -1
  139. package/src/mcp-server/dev-server.d.ts +1 -0
  140. package/src/mcp-server/dev-server.js +18 -0
  141. package/src/mcp-server/dev-server.js.map +1 -0
  142. package/src/mcp-server/generator-info.js +149 -165
  143. package/src/mcp-server/generator-info.js.map +1 -1
  144. package/src/mcp-server/guide-pipeline.js +199 -206
  145. package/src/mcp-server/guide-pipeline.js.map +1 -1
  146. package/src/mcp-server/guide-render.js +10 -25
  147. package/src/mcp-server/guide-render.js.map +1 -1
  148. package/src/mcp-server/index.js +6 -10
  149. package/src/mcp-server/index.js.map +1 -1
  150. package/src/mcp-server/mdx-ast.js +39 -57
  151. package/src/mcp-server/mdx-ast.js.map +1 -1
  152. package/src/mcp-server/option-filter.js +33 -47
  153. package/src/mcp-server/option-filter.js.map +1 -1
  154. package/src/mcp-server/schema-registry.d.ts +9 -3
  155. package/src/mcp-server/schema-registry.js +41 -38
  156. package/src/mcp-server/schema-registry.js.map +1 -1
  157. package/src/mcp-server/schema.d.ts +1 -1
  158. package/src/mcp-server/schema.js +9 -7
  159. package/src/mcp-server/schema.js.map +1 -1
  160. package/src/mcp-server/server.js +24 -24
  161. package/src/mcp-server/server.js.map +1 -1
  162. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  163. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  164. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  165. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  166. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  167. package/src/mcp-server/tools/general-guidance.d.ts +1 -1
  168. package/src/mcp-server/tools/general-guidance.js +53 -31
  169. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  170. package/src/mcp-server/tools/generator-guide.js +29 -37
  171. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  172. package/src/mcp-server/tools/list-generators.js +19 -25
  173. package/src/mcp-server/tools/list-generators.js.map +1 -1
  174. package/src/mcp-server/tools/upgrade-workspace.d.ts +11 -0
  175. package/src/mcp-server/tools/upgrade-workspace.js +32 -0
  176. package/src/mcp-server/tools/upgrade-workspace.js.map +1 -0
  177. package/src/migrations/latest/gateway-agent-targets/__snapshots__/migration.spec.ts.snap +223 -0
  178. package/src/migrations/latest/gateway-agent-targets/metadata.json +3 -0
  179. package/src/migrations/latest/gateway-agent-targets/migration.d.ts +6 -0
  180. package/src/migrations/latest/gateway-agent-targets/migration.js +217 -0
  181. package/src/migrations/latest/gateway-agent-targets/migration.js.map +1 -0
  182. package/src/migrations/latest/gateway-cognito-passthrough/__snapshots__/migration.spec.ts.snap +149 -0
  183. package/src/migrations/latest/gateway-cognito-passthrough/metadata.json +3 -0
  184. package/src/migrations/latest/gateway-cognito-passthrough/migration.d.ts +6 -0
  185. package/src/migrations/latest/gateway-cognito-passthrough/migration.js +195 -0
  186. package/src/migrations/latest/gateway-cognito-passthrough/migration.js.map +1 -0
  187. package/src/migrations/latest/py-agent-lifespan-construction/metadata.json +3 -0
  188. package/src/migrations/latest/py-agent-lifespan-construction/migration.d.ts +6 -0
  189. package/src/migrations/latest/py-agent-lifespan-construction/migration.js +412 -0
  190. package/src/migrations/latest/py-agent-lifespan-construction/migration.js.map +1 -0
  191. package/src/migrations/latest/smithy-ssdk-bundle-pins/metadata.json +3 -0
  192. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.d.ts +6 -0
  193. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.js +78 -0
  194. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.js.map +1 -0
  195. package/src/migrations/latest/strip-pip-from-python-images/__snapshots__/migration.spec.ts.snap +48 -0
  196. package/src/migrations/latest/strip-pip-from-python-images/metadata.json +3 -0
  197. package/src/migrations/latest/strip-pip-from-python-images/migration.d.ts +6 -0
  198. package/src/migrations/latest/strip-pip-from-python-images/migration.js +91 -0
  199. package/src/migrations/latest/strip-pip-from-python-images/migration.js.map +1 -0
  200. package/src/migrations/latest/waf-log-group-removal/__snapshots__/migration.spec.ts.snap +57 -0
  201. package/src/migrations/latest/waf-log-group-removal/metadata.json +3 -0
  202. package/src/migrations/latest/waf-log-group-removal/migration.d.ts +6 -0
  203. package/src/migrations/latest/waf-log-group-removal/migration.js +77 -0
  204. package/src/migrations/latest/waf-log-group-removal/migration.js.map +1 -0
  205. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/metadata.json +3 -0
  206. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.d.ts +6 -0
  207. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.js +65 -0
  208. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.js.map +1 -0
  209. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/metadata.json +3 -0
  210. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.d.ts +6 -0
  211. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.js +108 -0
  212. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.js.map +1 -0
  213. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/metadata.json +3 -0
  214. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.d.ts +6 -0
  215. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.js +128 -0
  216. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -0
  217. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/metadata.json +3 -0
  218. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.d.ts +6 -0
  219. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.js +215 -0
  220. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.js.map +1 -0
  221. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/metadata.json +3 -0
  222. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.d.ts +6 -0
  223. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.js +93 -0
  224. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.js.map +1 -0
  225. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/metadata.json +3 -0
  226. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.d.ts +96 -0
  227. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.js +670 -0
  228. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.js.map +1 -0
  229. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/metadata.json +3 -0
  230. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.d.ts +6 -0
  231. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.js +89 -0
  232. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.js.map +1 -0
  233. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/metadata.json +3 -0
  234. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.d.ts +6 -0
  235. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.js +449 -0
  236. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.js.map +1 -0
  237. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  238. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  239. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  240. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  241. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  242. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  243. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  244. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  245. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  246. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  247. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  248. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  249. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +100 -24
  250. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  251. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  252. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  253. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  254. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  255. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  256. package/src/open-api/ts-client/generator.js +41 -26
  257. package/src/open-api/ts-client/generator.js.map +1 -1
  258. package/src/open-api/ts-client/schema.d.js +6 -0
  259. package/src/open-api/ts-client/schema.d.js.map +1 -0
  260. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  261. package/src/open-api/ts-hooks/generator.js +17 -21
  262. package/src/open-api/ts-hooks/generator.js.map +1 -1
  263. package/src/open-api/ts-hooks/generator.spec.tsx +70 -0
  264. package/src/open-api/ts-hooks/schema.d.js +6 -0
  265. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  266. package/src/open-api/ts-metadata/generator.js +12 -20
  267. package/src/open-api/ts-metadata/generator.js.map +1 -1
  268. package/src/open-api/ts-metadata/schema.d.js +6 -0
  269. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  270. package/src/open-api/utils/codegen-data/languages.d.ts +0 -6
  271. package/src/open-api/utils/codegen-data/languages.js +59 -66
  272. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  273. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  274. package/src/open-api/utils/codegen-data/types.js +54 -30
  275. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  276. package/src/open-api/utils/codegen-data.d.ts +2 -2
  277. package/src/open-api/utils/codegen-data.js +494 -674
  278. package/src/open-api/utils/codegen-data.js.map +1 -1
  279. package/src/open-api/utils/normalise.js +437 -246
  280. package/src/open-api/utils/normalise.js.map +1 -1
  281. package/src/open-api/utils/parse.js +8 -14
  282. package/src/open-api/utils/parse.js.map +1 -1
  283. package/src/open-api/utils/parser.d.ts +55 -0
  284. package/src/open-api/utils/parser.js +787 -0
  285. package/src/open-api/utils/parser.js.map +1 -0
  286. package/src/open-api/utils/refs.js +12 -22
  287. package/src/open-api/utils/refs.js.map +1 -1
  288. package/src/open-api/utils/types.d.ts +18 -0
  289. package/src/open-api/utils/types.js +5 -2
  290. package/src/open-api/utils/types.js.map +1 -1
  291. package/src/preset/__snapshots__/generator.spec.ts.snap +99 -20
  292. package/src/preset/generator.d.ts +14 -1
  293. package/src/preset/generator.js +76 -151
  294. package/src/preset/generator.js.map +1 -1
  295. package/src/preset/schema.d.js +6 -0
  296. package/src/preset/schema.d.js.map +1 -0
  297. package/src/preset/schema.d.ts +4 -1
  298. package/src/preset/schema.json +16 -5
  299. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +326 -0
  300. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +738 -0
  301. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +191 -315
  302. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +190 -0
  303. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +31 -0
  304. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +29 -0
  305. package/src/py/agent/a2a-connection/generator.d.ts +24 -0
  306. package/src/py/agent/a2a-connection/generator.js +145 -88
  307. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  308. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  309. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  310. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  311. package/src/py/agent/a2a-connection/schema.json +5 -0
  312. package/src/py/agent/files/deploy/Dockerfile.template +8 -1
  313. package/src/py/agent/files/langchain/a2a/main.py.template +89 -0
  314. package/src/py/agent/files/langchain/ag-ui/main.py.template +87 -0
  315. package/src/py/agent/files/langchain/common/agent.py.template +30 -0
  316. package/src/py/agent/files/{http → langchain/http}/init.py.template +17 -25
  317. package/src/py/agent/files/langchain/http/main.py.template +81 -0
  318. package/src/py/agent/files/strands/ag-ui/main.py.template +89 -0
  319. package/src/py/agent/files/{common → strands/common}/agent.py.template +2 -0
  320. package/src/py/agent/files/strands/http/init.py.template +97 -0
  321. package/src/py/agent/files/{http → strands/http}/main.py.template +4 -13
  322. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  323. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  324. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  325. package/src/py/agent/gateway-connection/generator.d.ts +33 -0
  326. package/src/py/agent/gateway-connection/generator.js +153 -0
  327. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  328. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  329. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  330. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  331. package/src/py/agent/gateway-connection/schema.json +31 -0
  332. package/src/py/agent/generator.d.ts +146 -1
  333. package/src/py/agent/generator.js +396 -197
  334. package/src/py/agent/generator.js.map +1 -1
  335. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +154 -89
  336. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +31 -0
  337. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +31 -0
  338. package/src/py/agent/mcp-connection/generator.d.ts +23 -0
  339. package/src/py/agent/mcp-connection/generator.js +103 -130
  340. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  341. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  342. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  343. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  344. package/src/py/agent/mcp-connection/schema.json +5 -0
  345. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +17 -19
  346. package/src/py/agent/react-connection/generator.d.ts +150 -1
  347. package/src/py/agent/react-connection/generator.js +105 -65
  348. package/src/py/agent/react-connection/generator.js.map +1 -1
  349. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  350. package/src/py/agent/react-connection/local-dev.js +36 -0
  351. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  352. package/src/py/agent/react-connection/schema.d.js +8 -0
  353. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  354. package/src/py/agent/react-connection/schema.d.ts +1 -0
  355. package/src/py/agent/react-connection/schema.json +5 -0
  356. package/src/py/agent/schema.d.js +6 -0
  357. package/src/py/agent/schema.d.js.map +1 -0
  358. package/src/py/agent/schema.d.ts +5 -1
  359. package/src/py/agent/schema.json +15 -1
  360. package/src/py/api/generator.js +12 -11
  361. package/src/py/api/generator.js.map +1 -1
  362. package/src/py/api/schema.d.js +6 -0
  363. package/src/py/api/schema.d.js.map +1 -0
  364. package/src/py/api/schema.d.ts +1 -0
  365. package/src/py/api/schema.json +5 -0
  366. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1520 -0
  367. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +63 -0
  368. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  369. package/src/py/dynamodb/agent-connection/generator.js +45 -0
  370. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  371. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  372. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  373. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  374. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  375. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +32 -0
  376. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  377. package/src/py/dynamodb/fast-api-connection/generator.js +39 -0
  378. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  379. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  380. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  381. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  382. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  383. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  384. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  385. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  386. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  387. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  388. package/src/py/dynamodb/files/config.json.template +24 -0
  389. package/src/py/dynamodb/generator.d.ts +39 -0
  390. package/src/py/dynamodb/generator.js +130 -0
  391. package/src/py/dynamodb/generator.js.map +1 -0
  392. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +63 -0
  393. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  394. package/src/py/dynamodb/mcp-server-connection/generator.js +45 -0
  395. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  396. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  397. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  398. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  399. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  400. package/src/py/dynamodb/schema.d.js +6 -0
  401. package/src/py/dynamodb/schema.d.js.map +1 -0
  402. package/src/py/dynamodb/schema.d.ts +16 -0
  403. package/src/py/dynamodb/schema.json +76 -0
  404. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +240 -4693
  405. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  406. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  407. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  408. package/src/py/fast-api/generator.d.ts +68 -0
  409. package/src/py/fast-api/generator.js +134 -95
  410. package/src/py/fast-api/generator.js.map +1 -1
  411. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  412. package/src/py/fast-api/react/generator.d.ts +16 -1
  413. package/src/py/fast-api/react/generator.js +38 -26
  414. package/src/py/fast-api/react/generator.js.map +1 -1
  415. package/src/py/fast-api/react/open-api.js +31 -29
  416. package/src/py/fast-api/react/open-api.js.map +1 -1
  417. package/src/py/fast-api/react/schema.d.js +6 -0
  418. package/src/py/fast-api/react/schema.d.js.map +1 -0
  419. package/src/py/fast-api/react/schema.d.ts +1 -0
  420. package/src/py/fast-api/react/schema.json +5 -0
  421. package/src/py/fast-api/schema.d.js +6 -0
  422. package/src/py/fast-api/schema.d.js.map +1 -0
  423. package/src/py/fast-api/schema.d.ts +1 -0
  424. package/src/py/fast-api/schema.json +6 -0
  425. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  426. package/src/py/lambda-function/generator.d.ts +21 -0
  427. package/src/py/lambda-function/generator.js +82 -62
  428. package/src/py/lambda-function/generator.js.map +1 -1
  429. package/src/py/lambda-function/schema.d.js +6 -0
  430. package/src/py/lambda-function/schema.d.js.map +1 -0
  431. package/src/py/lambda-function/schema.d.ts +1 -0
  432. package/src/py/lambda-function/schema.json +5 -0
  433. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +221 -21
  434. package/src/py/mcp-server/files/deploy/Dockerfile.template +8 -1
  435. package/src/py/mcp-server/generator.d.ts +60 -0
  436. package/src/py/mcp-server/generator.js +204 -131
  437. package/src/py/mcp-server/generator.js.map +1 -1
  438. package/src/py/mcp-server/schema.d.js +6 -0
  439. package/src/py/mcp-server/schema.d.js.map +1 -0
  440. package/src/py/mcp-server/schema.d.ts +1 -0
  441. package/src/py/mcp-server/schema.json +6 -0
  442. package/src/py/project/generator.d.ts +27 -1
  443. package/src/py/project/generator.js +248 -130
  444. package/src/py/project/generator.js.map +1 -1
  445. package/src/py/project/schema.d.js +6 -0
  446. package/src/py/project/schema.d.js.map +1 -0
  447. package/src/py/project/schema.d.ts +1 -0
  448. package/src/py/project/schema.json +5 -0
  449. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2070 -0
  450. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +123 -0
  451. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  452. package/src/py/rdb/agent-connection/generator.js +52 -0
  453. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  454. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  455. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  456. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  457. package/src/py/rdb/agent-connection/schema.json +27 -0
  458. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +51 -0
  459. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  460. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  461. package/src/py/rdb/fast-api-connection/generator.js +56 -0
  462. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  463. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  464. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  465. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  466. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  467. package/src/py/rdb/files/Dockerfile.create-db-user.template +14 -0
  468. package/src/py/rdb/files/Dockerfile.migration.template +14 -0
  469. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  470. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  471. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  472. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  473. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  474. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  475. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  476. package/src/py/rdb/files/alembic.ini.template +38 -0
  477. package/src/py/rdb/files/config.json.template +14 -0
  478. package/src/py/rdb/files/migrations/env.py.template +80 -0
  479. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  480. package/src/py/rdb/generator.d.ts +95 -0
  481. package/src/py/rdb/generator.js +328 -0
  482. package/src/py/rdb/generator.js.map +1 -0
  483. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +119 -0
  484. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  485. package/src/py/rdb/mcp-server-connection/generator.js +52 -0
  486. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  487. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  488. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  489. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  490. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  491. package/src/py/rdb/schema.d.js +6 -0
  492. package/src/py/rdb/schema.d.js.map +1 -0
  493. package/src/py/rdb/schema.d.ts +16 -0
  494. package/src/py/rdb/schema.json +78 -0
  495. package/src/py/rdb/utils.d.ts +6 -0
  496. package/src/py/rdb/utils.js +16 -0
  497. package/src/py/rdb/utils.js.map +1 -0
  498. package/src/sdk/agentcore-gateway.d.ts +6 -0
  499. package/src/sdk/agentcore-gateway.js +7 -0
  500. package/src/sdk/agentcore-gateway.js.map +1 -0
  501. package/src/sdk/connection.d.ts +6 -0
  502. package/src/sdk/connection.js +6 -0
  503. package/src/sdk/connection.js.map +1 -0
  504. package/src/sdk/license.d.ts +8 -0
  505. package/src/sdk/license.js +7 -0
  506. package/src/sdk/license.js.map +1 -0
  507. package/src/sdk/open-api.d.ts +10 -0
  508. package/src/sdk/open-api.js +8 -0
  509. package/src/sdk/open-api.js.map +1 -0
  510. package/src/sdk/py.d.ts +18 -0
  511. package/src/sdk/py.js +12 -0
  512. package/src/sdk/py.js.map +1 -0
  513. package/src/sdk/terraform.d.ts +6 -0
  514. package/src/sdk/terraform.js +7 -0
  515. package/src/sdk/terraform.js.map +1 -0
  516. package/src/sdk/ts.d.ts +39 -0
  517. package/src/sdk/ts.js +41 -0
  518. package/src/sdk/ts.js.map +1 -0
  519. package/{sdk/utils/format.d.ts → src/sdk/utils/ast.d.ts} +1 -1
  520. package/src/sdk/utils/ast.js +6 -0
  521. package/src/sdk/utils/ast.js.map +1 -0
  522. package/{sdk/utils/ast.d.ts → src/sdk/utils/format.d.ts} +1 -2
  523. package/src/sdk/utils/format.js +6 -0
  524. package/src/sdk/utils/format.js.map +1 -0
  525. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  526. package/src/sdk/utils/test.js +6 -0
  527. package/src/sdk/utils/test.js.map +1 -0
  528. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +132 -32
  529. package/src/smithy/project/files/{build.Dockerfile.template → service/build.Dockerfile.template} +3 -6
  530. package/src/smithy/project/files/{src → service/src}/operations/echo.smithy.template +1 -0
  531. package/src/smithy/project/files/shapes/build.Dockerfile.template +33 -0
  532. package/src/smithy/project/files/shapes/smithy-build.json.template +7 -0
  533. package/src/smithy/project/files/shapes/src/main.smithy.template +11 -0
  534. package/src/smithy/project/generator.d.ts +32 -0
  535. package/src/smithy/project/generator.js +101 -56
  536. package/src/smithy/project/generator.js.map +1 -1
  537. package/src/smithy/project/schema.d.js +6 -0
  538. package/src/smithy/project/schema.d.js.map +1 -0
  539. package/src/smithy/project/schema.d.ts +2 -0
  540. package/src/smithy/project/schema.json +28 -1
  541. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  542. package/src/smithy/react-connection/generator.d.ts +15 -0
  543. package/src/smithy/react-connection/generator.js +54 -48
  544. package/src/smithy/react-connection/generator.js.map +1 -1
  545. package/src/smithy/react-connection/schema.d.js +6 -0
  546. package/src/smithy/react-connection/schema.d.js.map +1 -0
  547. package/src/smithy/react-connection/schema.d.ts +1 -0
  548. package/src/smithy/react-connection/schema.json +5 -0
  549. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +847 -104
  550. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  551. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  552. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  553. package/src/smithy/ts/api/files/service.ts.template +3 -3
  554. package/src/smithy/ts/api/generator.d.ts +84 -0
  555. package/src/smithy/ts/api/generator.js +187 -114
  556. package/src/smithy/ts/api/generator.js.map +1 -1
  557. package/src/smithy/ts/api/schema.d.js +6 -0
  558. package/src/smithy/ts/api/schema.d.js.map +1 -0
  559. package/src/smithy/ts/api/schema.d.ts +1 -0
  560. package/src/smithy/ts/api/schema.json +6 -0
  561. package/src/terraform/project/files/application/scripts/bootstrap.ts.template +40 -1
  562. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  563. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  564. package/src/terraform/project/generator.d.ts +50 -0
  565. package/src/terraform/project/generator.js +212 -111
  566. package/src/terraform/project/generator.js.map +1 -1
  567. package/src/terraform/project/schema.d.js +9 -0
  568. package/src/terraform/project/schema.d.js.map +1 -0
  569. package/src/terraform/project/schema.d.ts +1 -0
  570. package/src/terraform/project/schema.json +5 -0
  571. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1182 -184
  572. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  573. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  574. package/src/trpc/backend/files/src/index.ts.template +5 -5
  575. package/src/trpc/backend/files/src/init.ts.template +1 -1
  576. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  577. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  578. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  579. package/src/trpc/backend/files/src/router.ts.template +2 -2
  580. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  581. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  582. package/src/trpc/backend/generator.d.ts +90 -1
  583. package/src/trpc/backend/generator.js +177 -100
  584. package/src/trpc/backend/generator.js.map +1 -1
  585. package/src/trpc/backend/schema.d.js +6 -0
  586. package/src/trpc/backend/schema.d.js.map +1 -0
  587. package/src/trpc/backend/schema.d.ts +1 -0
  588. package/src/trpc/backend/schema.json +6 -0
  589. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  590. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  591. package/src/trpc/react/generator.d.ts +38 -1
  592. package/src/trpc/react/generator.js +105 -63
  593. package/src/trpc/react/generator.js.map +1 -1
  594. package/src/trpc/react/schema.d.js +6 -0
  595. package/src/trpc/react/schema.d.js.map +1 -0
  596. package/src/trpc/react/schema.d.ts +1 -0
  597. package/src/trpc/react/schema.json +5 -0
  598. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1452 -25
  599. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +258 -0
  600. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  601. package/src/ts/agent/a2a-connection/generator.d.ts +46 -0
  602. package/src/ts/agent/a2a-connection/generator.js +110 -63
  603. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  604. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  605. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  606. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  607. package/src/ts/agent/a2a-connection/schema.json +5 -0
  608. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  609. package/src/ts/agent/files/ag-ui/index.ts.template +36 -11
  610. package/src/ts/agent/files/common/agent.ts.template +15 -2
  611. package/src/ts/agent/files/common/session.ts.template +43 -0
  612. package/src/ts/agent/files/deploy/Dockerfile.template +13 -2
  613. package/src/ts/agent/files/http/client.ts.template +2 -2
  614. package/src/ts/agent/files/http/index.ts.template +2 -2
  615. package/src/ts/agent/files/http/router.ts.template +5 -5
  616. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +222 -0
  617. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  618. package/src/ts/agent/gateway-connection/generator.d.ts +47 -0
  619. package/src/ts/agent/gateway-connection/generator.js +144 -0
  620. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  621. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  622. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  623. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  624. package/src/ts/agent/gateway-connection/schema.json +31 -0
  625. package/src/ts/agent/generator.d.ts +197 -0
  626. package/src/ts/agent/generator.js +339 -156
  627. package/src/ts/agent/generator.js.map +1 -1
  628. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +194 -113
  629. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +23 -0
  630. package/src/ts/agent/mcp-connection/generator.d.ts +37 -0
  631. package/src/ts/agent/mcp-connection/generator.js +88 -65
  632. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  633. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  634. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  635. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  636. package/src/ts/agent/mcp-connection/schema.json +5 -0
  637. package/src/ts/agent/react-connection/__snapshots__/generator.spec.ts.snap +8 -4
  638. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +2 -1
  639. package/src/ts/agent/react-connection/generator.d.ts +202 -1
  640. package/src/ts/agent/react-connection/generator.js +158 -99
  641. package/src/ts/agent/react-connection/generator.js.map +1 -1
  642. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  643. package/src/ts/agent/react-connection/local-dev.js +17 -0
  644. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  645. package/src/ts/agent/react-connection/schema.d.js +8 -0
  646. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  647. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  648. package/src/ts/agent/react-connection/schema.json +5 -0
  649. package/src/ts/agent/schema.d.js +6 -0
  650. package/src/ts/agent/schema.d.js.map +1 -0
  651. package/src/ts/agent/schema.d.ts +4 -0
  652. package/src/ts/agent/schema.json +14 -0
  653. package/src/ts/api/generator.js +16 -16
  654. package/src/ts/api/generator.js.map +1 -1
  655. package/src/ts/api/schema.d.js +6 -0
  656. package/src/ts/api/schema.d.js.map +1 -0
  657. package/src/ts/api/schema.d.ts +1 -0
  658. package/src/ts/api/schema.json +5 -0
  659. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +14 -14
  660. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  661. package/src/ts/astro-docs/generator.d.ts +38 -0
  662. package/src/ts/astro-docs/generator.js +126 -61
  663. package/src/ts/astro-docs/generator.js.map +1 -1
  664. package/src/ts/astro-docs/schema.d.js +6 -0
  665. package/src/ts/astro-docs/schema.d.js.map +1 -0
  666. package/src/ts/astro-docs/schema.d.ts +2 -2
  667. package/src/ts/astro-docs/schema.json +3 -3
  668. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +982 -0
  669. package/src/ts/dcr-proxy/generator.d.ts +34 -0
  670. package/src/ts/dcr-proxy/generator.js +115 -0
  671. package/src/ts/dcr-proxy/generator.js.map +1 -0
  672. package/src/ts/dcr-proxy/schema.d.js +6 -0
  673. package/src/ts/dcr-proxy/schema.d.js.map +1 -0
  674. package/src/ts/dcr-proxy/schema.d.ts +13 -0
  675. package/src/ts/dcr-proxy/schema.json +44 -0
  676. package/src/ts/docs/generator.js +10 -10
  677. package/src/ts/docs/generator.js.map +1 -1
  678. package/src/ts/docs/schema.d.js +6 -0
  679. package/src/ts/docs/schema.d.js.map +1 -0
  680. package/src/ts/docs/schema.d.ts +1 -4
  681. package/src/ts/docs/schema.json +3 -3
  682. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +400 -518
  683. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +23 -5
  684. package/src/ts/dynamodb/agent-connection/generator.js +27 -23
  685. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  686. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  687. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  688. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  689. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  690. package/src/ts/dynamodb/files/config.json.template +24 -0
  691. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  692. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  693. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  694. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  695. package/src/ts/dynamodb/generator.d.ts +41 -0
  696. package/src/ts/dynamodb/generator.js +106 -64
  697. package/src/ts/dynamodb/generator.js.map +1 -1
  698. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +23 -5
  699. package/src/ts/dynamodb/mcp-server-connection/generator.js +27 -23
  700. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  701. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  702. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  703. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  704. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  705. package/src/ts/dynamodb/schema.d.js +6 -0
  706. package/src/ts/dynamodb/schema.d.js.map +1 -0
  707. package/src/ts/dynamodb/schema.d.ts +2 -0
  708. package/src/ts/dynamodb/schema.json +26 -2
  709. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +12 -3
  710. package/src/ts/dynamodb/smithy-connection/generator.js +22 -22
  711. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  712. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  713. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  714. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  715. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  716. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  717. package/src/ts/dynamodb/trpc-connection/generator.js +22 -22
  718. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  719. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  720. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  721. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  722. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  723. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +8 -6
  724. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  725. package/src/ts/lambda-function/generator.d.ts +38 -0
  726. package/src/ts/lambda-function/generator.js +98 -65
  727. package/src/ts/lambda-function/generator.js.map +1 -1
  728. package/src/ts/lambda-function/io.js +83 -52
  729. package/src/ts/lambda-function/io.js.map +1 -1
  730. package/src/ts/lambda-function/schema.d.js +6 -0
  731. package/src/ts/lambda-function/schema.d.js.map +1 -0
  732. package/src/ts/lambda-function/schema.d.ts +1 -0
  733. package/src/ts/lambda-function/schema.json +5 -0
  734. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +83 -45
  735. package/src/ts/lib/biome.js +71 -35
  736. package/src/ts/lib/biome.js.map +1 -1
  737. package/src/ts/lib/generator.d.ts +7 -0
  738. package/src/ts/lib/generator.js +115 -103
  739. package/src/ts/lib/generator.js.map +1 -1
  740. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  741. package/src/ts/lib/schema.d.js +6 -0
  742. package/src/ts/lib/schema.d.js.map +1 -0
  743. package/src/ts/lib/schema.d.ts +1 -1
  744. package/src/ts/lib/schema.json +5 -0
  745. package/src/ts/lib/ts-project-utils.d.ts +13 -1
  746. package/src/ts/lib/ts-project-utils.js +96 -71
  747. package/src/ts/lib/ts-project-utils.js.map +1 -1
  748. package/src/ts/lib/types.d.ts +6 -0
  749. package/src/ts/lib/types.js +5 -2
  750. package/src/ts/lib/types.js.map +1 -1
  751. package/src/ts/lib/vitest.d.ts +10 -1
  752. package/src/ts/lib/vitest.js +42 -26
  753. package/src/ts/lib/vitest.js.map +1 -1
  754. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +221 -44
  755. package/src/ts/mcp-server/files/Dockerfile.template +13 -2
  756. package/src/ts/mcp-server/generator.d.ts +102 -0
  757. package/src/ts/mcp-server/generator.js +231 -148
  758. package/src/ts/mcp-server/generator.js.map +1 -1
  759. package/src/ts/mcp-server/schema.d.js +6 -0
  760. package/src/ts/mcp-server/schema.d.js.map +1 -0
  761. package/src/ts/mcp-server/schema.d.ts +1 -0
  762. package/src/ts/mcp-server/schema.json +6 -0
  763. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -12
  764. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  765. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  766. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  767. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  768. package/src/ts/nx-generator/generator.d.ts +3 -0
  769. package/src/ts/nx-generator/generator.js +124 -73
  770. package/src/ts/nx-generator/generator.js.map +1 -1
  771. package/src/ts/nx-generator/schema.d.js +6 -0
  772. package/src/ts/nx-generator/schema.d.js.map +1 -0
  773. package/src/ts/nx-generator/schema.d.ts +1 -0
  774. package/src/ts/nx-generator/schema.json +5 -0
  775. package/src/ts/nx-migration/files/migration.spec.ts.template +26 -0
  776. package/src/ts/nx-migration/files/migration.ts.template +65 -0
  777. package/src/ts/nx-migration/files/prompt.md.template +46 -0
  778. package/src/ts/nx-migration/generator.d.ts +27 -0
  779. package/src/ts/nx-migration/generator.js +141 -0
  780. package/src/ts/nx-migration/generator.js.map +1 -0
  781. package/src/ts/nx-migration/schema.d.js +6 -0
  782. package/src/ts/nx-migration/schema.d.js.map +1 -0
  783. package/src/ts/nx-migration/schema.d.ts +13 -0
  784. package/src/ts/nx-migration/schema.json +63 -0
  785. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +36 -25
  786. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  787. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  788. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  789. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  790. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  791. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  792. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +4 -4
  793. package/src/ts/nx-plugin/generator.d.ts +3 -0
  794. package/src/ts/nx-plugin/generator.js +67 -50
  795. package/src/ts/nx-plugin/generator.js.map +1 -1
  796. package/src/ts/nx-plugin/schema.d.js +9 -0
  797. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  798. package/src/ts/nx-plugin/schema.json +5 -0
  799. package/src/ts/nx-plugin/utils.d.ts +27 -2
  800. package/src/ts/nx-plugin/utils.js +66 -51
  801. package/src/ts/nx-plugin/utils.js.map +1 -1
  802. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +551 -642
  803. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +16 -6
  804. package/src/ts/rdb/agent-connection/generator.js +44 -39
  805. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  806. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  807. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  808. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  809. package/src/ts/rdb/agent-connection/schema.json +5 -0
  810. package/src/ts/rdb/files/Dockerfile.template +19 -1
  811. package/src/ts/rdb/files/config.json.template +14 -0
  812. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  813. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  814. package/src/ts/rdb/files/src/index.ts.template +1 -2
  815. package/src/ts/rdb/files/src/migration-handler.ts.template +5 -30
  816. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  817. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  818. package/src/ts/rdb/generator.d.ts +109 -4
  819. package/src/ts/rdb/generator.js +257 -138
  820. package/src/ts/rdb/generator.js.map +1 -1
  821. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +16 -6
  822. package/src/ts/rdb/mcp-server-connection/generator.js +42 -37
  823. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  824. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  825. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  826. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  827. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  828. package/src/ts/rdb/schema.d.js +6 -0
  829. package/src/ts/rdb/schema.d.js.map +1 -0
  830. package/src/ts/rdb/schema.d.ts +1 -0
  831. package/src/ts/rdb/schema.json +7 -1
  832. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +12 -3
  833. package/src/ts/rdb/smithy-connection/generator.js +48 -43
  834. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  835. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  836. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  837. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  838. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  839. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  840. package/src/ts/rdb/trpc-connection/generator.js +37 -31
  841. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  842. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  843. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  844. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  845. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  846. package/src/ts/rdb/utils.js +9 -11
  847. package/src/ts/rdb/utils.js.map +1 -1
  848. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +17 -16
  849. package/src/ts/react-website/agui/generator.d.ts +97 -0
  850. package/src/ts/react-website/agui/generator.js +114 -67
  851. package/src/ts/react-website/agui/generator.js.map +1 -1
  852. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1381 -634
  853. package/src/ts/react-website/app/generator.d.ts +142 -2
  854. package/src/ts/react-website/app/generator.js +330 -206
  855. package/src/ts/react-website/app/generator.js.map +1 -1
  856. package/src/ts/react-website/app/schema.d.js +6 -0
  857. package/src/ts/react-website/app/schema.d.js.map +1 -0
  858. package/src/ts/react-website/app/schema.d.ts +1 -1
  859. package/src/ts/react-website/app/schema.json +12 -6
  860. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +161 -26
  861. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +48 -12
  862. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  863. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  864. package/src/ts/react-website/cognito-auth/generator.d.ts +25 -1
  865. package/src/ts/react-website/cognito-auth/generator.js +79 -64
  866. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  867. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +3 -1
  868. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  869. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  870. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  871. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  872. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  873. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  874. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  875. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  876. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  877. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  878. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  879. package/src/ts/react-website/runtime-config/generator.js +29 -31
  880. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  881. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  882. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  883. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  884. package/src/ts/react-website/runtime-config/schema.json +5 -0
  885. package/src/ts/sync/generator.js +137 -60
  886. package/src/ts/sync/generator.js.map +1 -1
  887. package/src/ts/website/app/generator.js +10 -10
  888. package/src/ts/website/app/generator.js.map +1 -1
  889. package/src/ts/website/app/schema.d.js +6 -0
  890. package/src/ts/website/app/schema.d.js.map +1 -0
  891. package/src/ts/website/app/schema.d.ts +1 -1
  892. package/src/ts/website/app/schema.json +11 -6
  893. package/src/ts/website/auth/generator.d.ts +1 -1
  894. package/src/ts/website/auth/generator.js +11 -10
  895. package/src/ts/website/auth/generator.js.map +1 -1
  896. package/src/ts/website/auth/schema.d.js +6 -0
  897. package/src/ts/website/auth/schema.d.js.map +1 -0
  898. package/src/ts/website/auth/schema.d.ts +1 -0
  899. package/src/ts/website/auth/schema.json +5 -0
  900. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +21 -0
  901. package/src/utils/add-dependencies.d.ts +38 -0
  902. package/src/utils/add-dependencies.js +83 -0
  903. package/src/utils/add-dependencies.js.map +1 -0
  904. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  905. package/src/utils/agent-chat/agent-chat.js +31 -0
  906. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  907. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  908. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  909. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  910. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  911. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  912. package/src/utils/agent-connection/agent-connection.d.ts +139 -26
  913. package/src/utils/agent-connection/agent-connection.js +500 -103
  914. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  915. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  916. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  917. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  918. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  919. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  920. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +33 -33
  921. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  922. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  923. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +47 -0
  924. package/src/utils/agent-connection/files/core-strands/base/tool-errors-strands.ts.template +29 -0
  925. 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
  926. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  927. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  928. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  929. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  930. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  931. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  932. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  933. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  934. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  935. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  936. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +6 -18
  937. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  938. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  939. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  940. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  941. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  942. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +54 -0
  943. package/src/utils/agent-core-constructs/agent-core-constructs.js +153 -38
  944. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  945. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +170 -6
  946. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +87 -0
  947. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +624 -0
  948. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  949. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +212 -1
  950. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +505 -0
  951. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  952. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +159 -13
  953. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  954. package/src/utils/api-constructs/api-constructs.d.ts +30 -2
  955. package/src/utils/api-constructs/api-constructs.js +82 -32
  956. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  957. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +20 -15
  958. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -16
  959. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  960. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  961. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  962. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +56 -17
  963. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  964. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  965. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  966. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  967. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  968. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  969. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  970. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  971. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  972. package/src/utils/ast/website.js +18 -20
  973. package/src/utils/ast/website.js.map +1 -1
  974. package/src/utils/ast.d.ts +9 -0
  975. package/src/utils/ast.js +125 -86
  976. package/src/utils/ast.js.map +1 -1
  977. package/src/utils/base-tsconfig.d.ts +30 -0
  978. package/src/utils/base-tsconfig.js +32 -0
  979. package/src/utils/base-tsconfig.js.map +1 -0
  980. package/src/utils/bundle/bundle.d.ts +6 -1
  981. package/src/utils/bundle/bundle.js +57 -47
  982. package/src/utils/bundle/bundle.js.map +1 -1
  983. package/src/utils/commands.d.ts +14 -3
  984. package/src/utils/commands.js +83 -28
  985. package/src/utils/commands.js.map +1 -1
  986. package/src/utils/config/index.d.ts +18 -2
  987. package/src/utils/config/index.js +5 -4
  988. package/src/utils/config/index.js.map +1 -1
  989. package/src/utils/config/utils.d.ts +8 -2
  990. package/src/utils/config/utils.js +56 -59
  991. package/src/utils/config/utils.js.map +1 -1
  992. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +16 -3
  993. package/src/utils/connection/open-api/react.d.ts +31 -5
  994. package/src/utils/connection/open-api/react.js +106 -76
  995. package/src/utils/connection/open-api/react.js.map +1 -1
  996. package/src/utils/containers.js +22 -23
  997. package/src/utils/containers.js.map +1 -1
  998. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +38 -0
  999. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +93 -0
  1000. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -0
  1001. package/src/utils/dcr-proxy-constructs/files/cdk/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.ts.template +227 -0
  1002. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorization-server-metadata.ts.template +39 -0
  1003. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorize.ts.template +26 -0
  1004. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/mcp-proxy.ts.template +89 -0
  1005. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/protected-resource-metadata.ts.template +13 -0
  1006. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/register.ts.template +70 -0
  1007. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/token.ts.template +75 -0
  1008. package/src/utils/dcr-proxy-constructs/files/terraform/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.tf.template +410 -0
  1009. package/src/utils/declared-dependencies.d.ts +140 -0
  1010. package/src/utils/declared-dependencies.js +64 -0
  1011. package/src/utils/declared-dependencies.js.map +1 -0
  1012. package/src/utils/dependencies.d.ts +18 -0
  1013. package/src/utils/dependencies.js +206 -0
  1014. package/src/utils/dependencies.js.map +1 -0
  1015. package/src/utils/docker.d.ts +87 -0
  1016. package/src/utils/docker.js +125 -0
  1017. package/src/utils/docker.js.map +1 -0
  1018. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +1 -1
  1019. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  1020. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  1021. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  1022. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  1023. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  1024. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  1025. package/src/utils/files/common/constructs/src/core/cloudfront.ts.template +14 -0
  1026. package/src/utils/files/common/constructs/src/core/index.ts.template +5 -4
  1027. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  1028. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  1029. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  1030. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  1031. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  1032. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  1033. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +103 -0
  1034. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  1035. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  1036. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  1037. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  1038. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  1039. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  1040. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  1041. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +115 -0
  1042. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  1043. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  1044. package/src/utils/files/shadcn/components.json.template +1 -1
  1045. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  1046. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  1047. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  1048. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  1049. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  1050. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  1051. package/src/utils/format.d.ts +39 -4
  1052. package/src/utils/format.js +327 -127
  1053. package/src/utils/format.js.map +1 -1
  1054. package/src/utils/fs.d.ts +16 -5
  1055. package/src/utils/fs.js +29 -15
  1056. package/src/utils/fs.js.map +1 -1
  1057. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  1058. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  1059. package/src/utils/function-constructs/function-constructs.js +22 -25
  1060. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  1061. package/src/utils/generators.js +18 -20
  1062. package/src/utils/generators.js.map +1 -1
  1063. package/src/utils/git.js +19 -34
  1064. package/src/utils/git.js.map +1 -1
  1065. package/src/utils/iac-providers.js +5 -5
  1066. package/src/utils/iac-providers.js.map +1 -1
  1067. package/src/utils/iac.js +12 -14
  1068. package/src/utils/iac.js.map +1 -1
  1069. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +153 -24
  1070. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  1071. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +129 -12
  1072. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  1073. package/src/utils/identity-constructs/identity-constructs.d.ts +10 -0
  1074. package/src/utils/identity-constructs/identity-constructs.js +52 -31
  1075. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  1076. package/src/utils/init.d.ts +72 -0
  1077. package/src/utils/init.js +300 -0
  1078. package/src/utils/init.js.map +1 -0
  1079. package/src/utils/install.d.ts +32 -0
  1080. package/src/utils/install.js +58 -0
  1081. package/src/utils/install.js.map +1 -0
  1082. package/src/utils/js.js +27 -20
  1083. package/src/utils/js.js.map +1 -1
  1084. package/src/utils/mcp.d.ts +9 -0
  1085. package/src/utils/mcp.js +42 -41
  1086. package/src/utils/mcp.js.map +1 -1
  1087. package/src/utils/metrics.d.ts +7 -1
  1088. package/src/utils/metrics.js +61 -46
  1089. package/src/utils/metrics.js.map +1 -1
  1090. package/src/utils/migration-manifest.d.ts +58 -0
  1091. package/src/utils/migration-manifest.js +76 -0
  1092. package/src/utils/migration-manifest.js.map +1 -0
  1093. package/src/utils/migration-versions.d.ts +145 -0
  1094. package/src/utils/migration-versions.js +250 -0
  1095. package/src/utils/migration-versions.js.map +1 -0
  1096. package/src/utils/mock-project-graph.js +8 -12
  1097. package/src/utils/mock-project-graph.js.map +1 -1
  1098. package/src/utils/module-format.d.ts +25 -0
  1099. package/src/utils/module-format.js +45 -0
  1100. package/src/utils/module-format.js.map +1 -0
  1101. package/src/utils/names.d.ts +22 -0
  1102. package/src/utils/names.js +44 -48
  1103. package/src/utils/names.js.map +1 -1
  1104. package/src/utils/npm-scope.d.ts +0 -4
  1105. package/src/utils/npm-scope.js +7 -20
  1106. package/src/utils/npm-scope.js.map +1 -1
  1107. package/src/utils/nx.d.ts +74 -3
  1108. package/src/utils/nx.js +196 -75
  1109. package/src/utils/nx.js.map +1 -1
  1110. package/src/utils/nxlv-python.js +27 -15
  1111. package/src/utils/nxlv-python.js.map +1 -1
  1112. package/src/utils/object.js +5 -11
  1113. package/src/utils/object.js.map +1 -1
  1114. package/src/utils/paths.js +11 -15
  1115. package/src/utils/paths.js.map +1 -1
  1116. package/src/utils/pkg-manager.js +4 -9
  1117. package/src/utils/pkg-manager.js.map +1 -1
  1118. package/src/utils/pnpm-workspace.d.ts +1 -12
  1119. package/src/utils/pnpm-workspace.js +16 -43
  1120. package/src/utils/pnpm-workspace.js.map +1 -1
  1121. package/src/utils/port.d.ts +28 -6
  1122. package/src/utils/port.js +67 -28
  1123. package/src/utils/port.js.map +1 -1
  1124. package/src/utils/project-package-json.d.ts +39 -0
  1125. package/src/utils/project-package-json.js +119 -0
  1126. package/src/utils/project-package-json.js.map +1 -0
  1127. package/src/utils/py.d.ts +17 -3
  1128. package/src/utils/py.js +73 -48
  1129. package/src/utils/py.js.map +1 -1
  1130. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1131. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +112 -88
  1132. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1133. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +60 -53
  1134. package/src/utils/rdb-constructs/rdb-constructs.d.ts +12 -1
  1135. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1136. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1137. package/src/utils/ruff.d.ts +59 -0
  1138. package/src/utils/ruff.js +140 -0
  1139. package/src/utils/ruff.js.map +1 -0
  1140. package/src/utils/shared-constructs-constants.d.ts +46 -4
  1141. package/src/utils/shared-constructs-constants.js +50 -15
  1142. package/src/utils/shared-constructs-constants.js.map +1 -1
  1143. package/src/utils/shared-constructs.d.ts +4 -1
  1144. package/src/utils/shared-constructs.js +62 -67
  1145. package/src/utils/shared-constructs.js.map +1 -1
  1146. package/src/utils/shared-dynamodb-scripts.d.ts +18 -0
  1147. package/src/utils/shared-dynamodb-scripts.js +35 -0
  1148. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1149. package/src/utils/shared-infra-config.js +31 -30
  1150. package/src/utils/shared-infra-config.js.map +1 -1
  1151. package/src/utils/shared-infra-scripts.d.ts +26 -0
  1152. package/src/utils/shared-infra-scripts.js +58 -0
  1153. package/src/utils/shared-infra-scripts.js.map +1 -0
  1154. package/src/utils/shared-rdb-scripts.d.ts +27 -0
  1155. package/src/utils/shared-rdb-scripts.js +59 -0
  1156. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1157. package/src/utils/shared-scripts.d.ts +1 -4
  1158. package/src/utils/shared-scripts.js +12 -38
  1159. package/src/utils/shared-scripts.js.map +1 -1
  1160. package/src/utils/shared-shadcn.d.ts +26 -1
  1161. package/src/utils/shared-shadcn.js +93 -67
  1162. package/src/utils/shared-shadcn.js.map +1 -1
  1163. package/src/utils/test-git.d.ts +39 -0
  1164. package/src/utils/test-git.js +117 -0
  1165. package/src/utils/test-git.js.map +1 -0
  1166. package/src/utils/test.d.ts +10 -0
  1167. package/src/utils/test.js +44 -25
  1168. package/src/utils/test.js.map +1 -1
  1169. package/src/utils/toml.d.ts +5 -0
  1170. package/src/utils/toml.js +17 -15
  1171. package/src/utils/toml.js.map +1 -1
  1172. package/src/utils/version-upgrade-migration/migration.d.ts +14 -0
  1173. package/src/utils/version-upgrade-migration/migration.js +16 -0
  1174. package/src/utils/version-upgrade-migration/migration.js.map +1 -0
  1175. package/src/utils/version-upgrade-migration/nx-package-updates.d.ts +45 -0
  1176. package/src/utils/version-upgrade-migration/nx-package-updates.js +50 -0
  1177. package/src/utils/version-upgrade-migration/nx-package-updates.js.map +1 -0
  1178. package/src/utils/version-upgrade-migration/owned-dependencies.d.ts +76 -0
  1179. package/src/utils/version-upgrade-migration/owned-dependencies.js +146 -0
  1180. package/src/utils/version-upgrade-migration/owned-dependencies.js.map +1 -0
  1181. package/src/utils/version-upgrade-migration/register.d.ts +29 -0
  1182. package/src/utils/version-upgrade-migration/register.js +42 -0
  1183. package/src/utils/version-upgrade-migration/register.js.map +1 -0
  1184. package/src/utils/version-upgrade-migration/sync-embedded-versions.d.ts +26 -0
  1185. package/src/utils/version-upgrade-migration/sync-embedded-versions.js +304 -0
  1186. package/src/utils/version-upgrade-migration/sync-embedded-versions.js.map +1 -0
  1187. package/src/utils/version-upgrade-migration/sync-metrics-version.d.ts +13 -0
  1188. package/src/utils/version-upgrade-migration/sync-metrics-version.js +33 -0
  1189. package/src/utils/version-upgrade-migration/sync-metrics-version.js.map +1 -0
  1190. package/src/utils/version-upgrade-migration/sync-vended-versions.d.ts +10 -0
  1191. package/src/utils/version-upgrade-migration/sync-vended-versions.js +518 -0
  1192. package/src/utils/version-upgrade-migration/sync-vended-versions.js.map +1 -0
  1193. package/src/utils/version-upgrade-migration/vended-upgrade.d.ts +14 -0
  1194. package/src/utils/version-upgrade-migration/vended-upgrade.js +40 -0
  1195. package/src/utils/version-upgrade-migration/vended-upgrade.js.map +1 -0
  1196. package/src/utils/versions.d.ts +206 -106
  1197. package/src/utils/versions.js +238 -119
  1198. package/src/utils/versions.js.map +1 -1
  1199. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1200. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +207 -41
  1201. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1202. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1203. package/src/utils/website-constructs/website-constructs.d.ts +11 -0
  1204. package/src/utils/website-constructs/website-constructs.js +49 -30
  1205. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1206. package/bin/aws-nx-mcp.d.ts +0 -2
  1207. package/bin/aws-nx-mcp.js +0 -17
  1208. package/bin/aws-nx-mcp.js.map +0 -1
  1209. package/sdk/connection.d.ts +0 -6
  1210. package/sdk/connection.js +0 -10
  1211. package/sdk/connection.js.map +0 -1
  1212. package/sdk/license.d.ts +0 -8
  1213. package/sdk/license.js +0 -13
  1214. package/sdk/license.js.map +0 -1
  1215. package/sdk/open-api.d.ts +0 -10
  1216. package/sdk/open-api.js +0 -15
  1217. package/sdk/open-api.js.map +0 -1
  1218. package/sdk/py.d.ts +0 -14
  1219. package/sdk/py.js +0 -18
  1220. package/sdk/py.js.map +0 -1
  1221. package/sdk/terraform.d.ts +0 -6
  1222. package/sdk/terraform.js +0 -11
  1223. package/sdk/terraform.js.map +0 -1
  1224. package/sdk/ts.d.ts +0 -29
  1225. package/sdk/ts.js +0 -47
  1226. package/sdk/ts.js.map +0 -1
  1227. package/sdk/utils/ast.js +0 -12
  1228. package/sdk/utils/ast.js.map +0 -1
  1229. package/sdk/utils/format.js +0 -10
  1230. package/sdk/utils/format.js.map +0 -1
  1231. package/sdk/utils/test.js +0 -10
  1232. package/sdk/utils/test.js.map +0 -1
  1233. package/src/connection/agent-serve-local.d.ts +0 -33
  1234. package/src/connection/agent-serve-local.js +0 -48
  1235. package/src/connection/agent-serve-local.js.map +0 -1
  1236. package/src/connection/serve-local.js +0 -41
  1237. package/src/connection/serve-local.js.map +0 -1
  1238. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1239. package/src/py/agent/files/ag-ui/main.py.template +0 -37
  1240. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1241. package/src/py/agent/react-connection/serve-local.js +0 -30
  1242. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1243. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1244. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1245. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1246. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1247. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1248. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1249. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1250. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1251. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1252. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1253. package/src/ts/rdb/files/scripts/pull-image.ts.template +0 -15
  1254. package/src/ts/rdb/files/scripts/start-container.ts.template +0 -84
  1255. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1256. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1257. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1258. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1259. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1260. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1261. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1262. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1263. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1264. /package/src/py/agent/files/{a2a → strands/a2a}/main.py.template +0 -0
  1265. /package/src/py/agent/files/{common → strands/common}/__init__.py.template +0 -0
  1266. /package/src/smithy/project/files/{smithy-build.json.template → service/smithy-build.json.template} +0 -0
  1267. /package/src/smithy/project/files/{src → service/src}/main.smithy.template +0 -0
  1268. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  1269. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1270. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1271. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import type { IPyDepVersion, ITsDepVersion } from './versions';
6
+ /**
7
+ * Which vended dependencies each generator is responsible for, and when each
8
+ * applies.
9
+ *
10
+ * A generator declares every dependency it may add — including those added on
11
+ * its behalf by helpers it calls — once, and `addTsDependencies` /
12
+ * `addPyDependencies` add the subset whose `when` predicate the generator's
13
+ * metadata satisfies. The declaration is the only place packages are listed.
14
+ *
15
+ * The same declaration drives the version sync migration, which replays the
16
+ * predicates against the metadata recorded on each project. Pass the very object
17
+ * you record as metadata, so what a generator added and what the migration owns
18
+ * cannot drift.
19
+ */
20
+ /**
21
+ * The metadata a generator records, which its predicates read. Deliberately
22
+ * `object` rather than an index signature, so a generator can type its
23
+ * declaration against a plain interface.
24
+ */
25
+ export type DependencyMetadata = object;
26
+ /** What every declared dependency carries, whichever language it belongs to. */
27
+ export interface DeclaredDependency<Name, M extends DependencyMetadata> {
28
+ readonly name: Name;
29
+ /**
30
+ * Whether this dependency applies. Reads the metadata the generator records,
31
+ * so the migration can evaluate the same predicate later. Any truthy return
32
+ * counts, so a predicate can hand back the value it read.
33
+ */
34
+ readonly when?: (metadata: M) => unknown;
35
+ /** Added to the workspace root manifest rather than the project's. */
36
+ readonly root?: boolean;
37
+ /**
38
+ * Declared only so the version sync keeps its pinned version current — an
39
+ * `overrides` entry, say. Never installed as a dependency.
40
+ */
41
+ readonly versionOnly?: boolean;
42
+ }
43
+ /**
44
+ * A TypeScript dependency, which may be a dev dependency.
45
+ *
46
+ * `group` is typed as never-present rather than left off, so putting a Python
47
+ * flag on a TypeScript entry is a type error instead of an ignored property.
48
+ */
49
+ export interface DeclaredTsDependency<Name, M extends DependencyMetadata> extends DeclaredDependency<Name, M> {
50
+ /** Added as a dev dependency rather than a runtime one. */
51
+ readonly dev?: boolean;
52
+ readonly group?: never;
53
+ }
54
+ /** A Python dependency, which may belong to a pyproject dependency group. */
55
+ export interface DeclaredPyDependency<Name, M extends DependencyMetadata> extends DeclaredDependency<Name, M> {
56
+ /** Added to this pyproject dependency group rather than the main list. */
57
+ readonly group?: string;
58
+ readonly dev?: never;
59
+ }
60
+ export interface DependencyDeclaration<Ts extends readonly DeclaredTsDependency<ITsDepVersion, never>[] = readonly DeclaredTsDependency<ITsDepVersion, never>[], Py extends readonly DeclaredPyDependency<IPyDepVersion, never>[] = readonly DeclaredPyDependency<IPyDepVersion, never>[]> {
61
+ readonly ts: Ts;
62
+ readonly py: Py;
63
+ }
64
+ /**
65
+ * Declare the dependencies a generator owns, typed against the metadata it
66
+ * records. Spread the `*_DEPENDENCIES` of any helper called, so the declaration
67
+ * covers what those helpers add too.
68
+ */
69
+ export declare const declareDependencies: <M extends DependencyMetadata = Record<string, never>>() => <const Ts extends readonly DeclaredTsDependency<ITsDepVersion, M>[], const Py extends readonly DeclaredPyDependency<IPyDepVersion, M>[]>(declaration: {
70
+ ts?: Ts;
71
+ py?: Py;
72
+ }) => DependencyDeclaration<Ts, Py>;
73
+ /**
74
+ * Narrow entries to a further condition, keeping the one each already carries.
75
+ *
76
+ * For a helper's constant spread into a generator that calls it down one branch:
77
+ * the branch gates the whole set, and each entry's own predicate still gates it
78
+ * within that branch. Replacing `when` outright would widen ownership to the
79
+ * helper's every branch.
80
+ */
81
+ export declare const onlyWhen: <M extends DependencyMetadata, const Entries extends readonly {
82
+ readonly name: unknown;
83
+ }[]>(entries: Entries, condition: (metadata: M) => unknown) => { readonly [K in keyof Entries]: Omit<Entries[K], "when"> & {
84
+ when: (m: M) => boolean;
85
+ }; };
86
+ /**
87
+ * Mark entries as declared for ownership but never installed here — a helper's
88
+ * constant spread into a generator that doesn't own the project the helper adds
89
+ * them to.
90
+ */
91
+ export declare const ownedElsewhere: <const Entries extends readonly unknown[]>(entries: Entries) => { readonly [K in keyof Entries]: Entries[K] & {
92
+ versionOnly: true;
93
+ }; };
94
+ /** Every package a declaration names, whatever its predicate. */
95
+ export declare const declaredNames: <Name>(entries: readonly {
96
+ readonly name: Name;
97
+ }[]) => Name[];
98
+ /**
99
+ * The entries of a declaration whose condition the given metadata satisfies —
100
+ * everything this occurrence is responsible for, installed here or not.
101
+ *
102
+ * A predicate that throws — reading a field the metadata doesn't carry, say —
103
+ * counts as not applying. The migration evaluates these against whatever a
104
+ * project happened to record, and must not claim a branch it cannot confirm.
105
+ */
106
+ export declare const ownedDependencyEntries: <Name, M extends DependencyMetadata, Entry extends DeclaredDependency<Name, M>>(entries: readonly Entry[], metadata: M) => Entry[];
107
+ /**
108
+ * The entries to install for the given metadata: those it owns, less the ones
109
+ * declared for their version alone. A `versionOnly` entry is still owned — the
110
+ * sync keeps its pin current wherever it already sits.
111
+ */
112
+ export declare const applicableDependencies: <Name, M extends DependencyMetadata, Entry extends DeclaredDependency<Name, M>>(entries: readonly Entry[], metadata: M) => Entry[];
113
+ /**
114
+ * Requires a caller's declaration to cover `Needed`, naming whatever is missing
115
+ * in the type error. Helpers that add dependencies take this alongside the
116
+ * declaration so a forgotten spread can't compile.
117
+ */
118
+ export type MustDeclare<Needed extends readonly {
119
+ readonly name: ITsDepVersion;
120
+ }[], D extends DependencyDeclaration> = [Exclude<Needed[number]['name'], D['ts'][number]['name']>] extends [never] ? unknown : {
121
+ __missingDeclaredDependencies: Exclude<Needed[number]['name'], D['ts'][number]['name']>;
122
+ };
123
+ /** `MustDeclare` for Python dependencies. */
124
+ export type MustDeclarePy<Needed extends readonly {
125
+ readonly name: IPyDepVersion;
126
+ }[], D extends DependencyDeclaration> = [Exclude<Needed[number]['name'], D['py'][number]['name']>] extends [never] ? unknown : {
127
+ __missingDeclaredPyDependencies: Exclude<Needed[number]['name'], D['py'][number]['name']>;
128
+ };
129
+ /**
130
+ * The dependencies a declaration covers, for typing a conditional list without
131
+ * widening it to every vended package.
132
+ */
133
+ export type DeclaredTs<D extends DependencyDeclaration> = D['ts'][number]['name'];
134
+ /** `DeclaredTs` for Python dependencies. */
135
+ export type DeclaredPy<D extends DependencyDeclaration> = D['py'][number]['name'];
136
+ /**
137
+ * Narrows a caller's declaration to the subset a helper adds, which
138
+ * `MustDeclare` has already proven the caller covers.
139
+ */
140
+ export declare const forDependencies: <const Ts extends readonly DeclaredDependency<ITsDepVersion, never>[] = [], const Py extends readonly DeclaredDependency<IPyDepVersion, never>[] = []>(declaration: DependencyDeclaration) => DependencyDeclaration<Ts, Py>;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ /**
5
+ * Declare the dependencies a generator owns, typed against the metadata it
6
+ * records. Spread the `*_DEPENDENCIES` of any helper called, so the declaration
7
+ * covers what those helpers add too.
8
+ */ export const declareDependencies = ()=>(declaration)=>({
9
+ ts: declaration.ts ?? [],
10
+ py: declaration.py ?? []
11
+ });
12
+ /**
13
+ * Narrow entries to a further condition, keeping the one each already carries.
14
+ *
15
+ * For a helper's constant spread into a generator that calls it down one branch:
16
+ * the branch gates the whole set, and each entry's own predicate still gates it
17
+ * within that branch. Replacing `when` outright would widen ownership to the
18
+ * helper's every branch.
19
+ */ export const onlyWhen = (entries, condition)=>entries.map((entry)=>{
20
+ // A declaration erases the metadata its predicates read, so calling one back
21
+ // requires naming the type the caller narrows to.
22
+ const own = entry.when;
23
+ return {
24
+ ...entry,
25
+ when: (metadata)=>Boolean(condition(metadata)) && Boolean(own?.(metadata) ?? true)
26
+ };
27
+ });
28
+ /**
29
+ * Mark entries as declared for ownership but never installed here — a helper's
30
+ * constant spread into a generator that doesn't own the project the helper adds
31
+ * them to.
32
+ */ export const ownedElsewhere = (entries)=>entries.map((entry)=>({
33
+ ...entry,
34
+ versionOnly: true
35
+ }));
36
+ /** Every package a declaration names, whatever its predicate. */ export const declaredNames = (entries)=>entries.map((entry)=>entry.name);
37
+ /**
38
+ * The entries of a declaration whose condition the given metadata satisfies —
39
+ * everything this occurrence is responsible for, installed here or not.
40
+ *
41
+ * A predicate that throws — reading a field the metadata doesn't carry, say —
42
+ * counts as not applying. The migration evaluates these against whatever a
43
+ * project happened to record, and must not claim a branch it cannot confirm.
44
+ */ export const ownedDependencyEntries = (entries, metadata)=>entries.filter((entry)=>{
45
+ if (!entry.when) {
46
+ return true;
47
+ }
48
+ try {
49
+ return Boolean(entry.when(metadata));
50
+ } catch {
51
+ return false;
52
+ }
53
+ });
54
+ /**
55
+ * The entries to install for the given metadata: those it owns, less the ones
56
+ * declared for their version alone. A `versionOnly` entry is still owned — the
57
+ * sync keeps its pin current wherever it already sits.
58
+ */ export const applicableDependencies = (entries, metadata)=>ownedDependencyEntries(entries, metadata).filter((entry)=>!entry.versionOnly);
59
+ /**
60
+ * Narrows a caller's declaration to the subset a helper adds, which
61
+ * `MustDeclare` has already proven the caller covers.
62
+ */ export const forDependencies = (declaration)=>declaration;
63
+
64
+ //# sourceMappingURL=declared-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/declared-dependencies.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { IPyDepVersion, ITsDepVersion } from './versions';\n\n/**\n * Which vended dependencies each generator is responsible for, and when each\n * applies.\n *\n * A generator declares every dependency it may add — including those added on\n * its behalf by helpers it calls — once, and `addTsDependencies` /\n * `addPyDependencies` add the subset whose `when` predicate the generator's\n * metadata satisfies. The declaration is the only place packages are listed.\n *\n * The same declaration drives the version sync migration, which replays the\n * predicates against the metadata recorded on each project. Pass the very object\n * you record as metadata, so what a generator added and what the migration owns\n * cannot drift.\n */\n\n/**\n * The metadata a generator records, which its predicates read. Deliberately\n * `object` rather than an index signature, so a generator can type its\n * declaration against a plain interface.\n */\nexport type DependencyMetadata = object;\n\n/** What every declared dependency carries, whichever language it belongs to. */\nexport interface DeclaredDependency<Name, M extends DependencyMetadata> {\n readonly name: Name;\n /**\n * Whether this dependency applies. Reads the metadata the generator records,\n * so the migration can evaluate the same predicate later. Any truthy return\n * counts, so a predicate can hand back the value it read.\n */\n readonly when?: (metadata: M) => unknown;\n /** Added to the workspace root manifest rather than the project's. */\n readonly root?: boolean;\n /**\n * Declared only so the version sync keeps its pinned version current — an\n * `overrides` entry, say. Never installed as a dependency.\n */\n readonly versionOnly?: boolean;\n}\n\n/**\n * A TypeScript dependency, which may be a dev dependency.\n *\n * `group` is typed as never-present rather than left off, so putting a Python\n * flag on a TypeScript entry is a type error instead of an ignored property.\n */\nexport interface DeclaredTsDependency<Name, M extends DependencyMetadata>\n extends DeclaredDependency<Name, M> {\n /** Added as a dev dependency rather than a runtime one. */\n readonly dev?: boolean;\n readonly group?: never;\n}\n\n/** A Python dependency, which may belong to a pyproject dependency group. */\nexport interface DeclaredPyDependency<Name, M extends DependencyMetadata>\n extends DeclaredDependency<Name, M> {\n /** Added to this pyproject dependency group rather than the main list. */\n readonly group?: string;\n readonly dev?: never;\n}\n\nexport interface DependencyDeclaration<\n Ts extends readonly DeclaredTsDependency<\n ITsDepVersion,\n never\n >[] = readonly DeclaredTsDependency<ITsDepVersion, never>[],\n Py extends readonly DeclaredPyDependency<\n IPyDepVersion,\n never\n >[] = readonly DeclaredPyDependency<IPyDepVersion, never>[],\n> {\n readonly ts: Ts;\n readonly py: Py;\n}\n\n/**\n * Declare the dependencies a generator owns, typed against the metadata it\n * records. Spread the `*_DEPENDENCIES` of any helper called, so the declaration\n * covers what those helpers add too.\n */\nexport const declareDependencies =\n <M extends DependencyMetadata = Record<string, never>>() =>\n <\n const Ts extends readonly DeclaredTsDependency<ITsDepVersion, M>[],\n const Py extends readonly DeclaredPyDependency<IPyDepVersion, M>[],\n >(declaration: {\n ts?: Ts;\n py?: Py;\n }): DependencyDeclaration<Ts, Py> =>\n ({\n ts: declaration.ts ?? [],\n py: declaration.py ?? [],\n }) as unknown as DependencyDeclaration<Ts, Py>;\n\n/**\n * Narrow entries to a further condition, keeping the one each already carries.\n *\n * For a helper's constant spread into a generator that calls it down one branch:\n * the branch gates the whole set, and each entry's own predicate still gates it\n * within that branch. Replacing `when` outright would widen ownership to the\n * helper's every branch.\n */\nexport const onlyWhen = <\n M extends DependencyMetadata,\n const Entries extends readonly { readonly name: unknown }[],\n>(\n entries: Entries,\n condition: (metadata: M) => unknown,\n): {\n readonly [K in keyof Entries]: Omit<Entries[K], 'when'> & {\n when: (m: M) => boolean;\n };\n} =>\n entries.map((entry) => {\n // A declaration erases the metadata its predicates read, so calling one back\n // requires naming the type the caller narrows to.\n const own = (entry as { when?: (m: M) => unknown }).when;\n return {\n ...entry,\n when: (metadata: M) =>\n Boolean(condition(metadata)) && Boolean(own?.(metadata) ?? true),\n };\n }) as never;\n\n/**\n * Mark entries as declared for ownership but never installed here — a helper's\n * constant spread into a generator that doesn't own the project the helper adds\n * them to.\n */\nexport const ownedElsewhere = <const Entries extends readonly unknown[]>(\n entries: Entries,\n): { readonly [K in keyof Entries]: Entries[K] & { versionOnly: true } } =>\n entries.map((entry) => ({\n ...(entry as object),\n versionOnly: true,\n })) as never;\n\n/** Every package a declaration names, whatever its predicate. */\nexport const declaredNames = <Name>(\n entries: readonly { readonly name: Name }[],\n): Name[] => entries.map((entry) => entry.name);\n\n/**\n * The entries of a declaration whose condition the given metadata satisfies —\n * everything this occurrence is responsible for, installed here or not.\n *\n * A predicate that throws — reading a field the metadata doesn't carry, say —\n * counts as not applying. The migration evaluates these against whatever a\n * project happened to record, and must not claim a branch it cannot confirm.\n */\nexport const ownedDependencyEntries = <\n Name,\n M extends DependencyMetadata,\n Entry extends DeclaredDependency<Name, M>,\n>(\n entries: readonly Entry[],\n metadata: M,\n): Entry[] =>\n entries.filter((entry) => {\n if (!entry.when) {\n return true;\n }\n try {\n return Boolean(entry.when(metadata));\n } catch {\n return false;\n }\n });\n\n/**\n * The entries to install for the given metadata: those it owns, less the ones\n * declared for their version alone. A `versionOnly` entry is still owned — the\n * sync keeps its pin current wherever it already sits.\n */\nexport const applicableDependencies = <\n Name,\n M extends DependencyMetadata,\n Entry extends DeclaredDependency<Name, M>,\n>(\n entries: readonly Entry[],\n metadata: M,\n): Entry[] =>\n ownedDependencyEntries(entries, metadata).filter(\n (entry) => !entry.versionOnly,\n );\n\n/**\n * Requires a caller's declaration to cover `Needed`, naming whatever is missing\n * in the type error. Helpers that add dependencies take this alongside the\n * declaration so a forgotten spread can't compile.\n */\nexport type MustDeclare<\n Needed extends readonly { readonly name: ITsDepVersion }[],\n D extends DependencyDeclaration,\n> = [Exclude<Needed[number]['name'], D['ts'][number]['name']>] extends [never]\n ? unknown\n : {\n __missingDeclaredDependencies: Exclude<\n Needed[number]['name'],\n D['ts'][number]['name']\n >;\n };\n\n/** `MustDeclare` for Python dependencies. */\nexport type MustDeclarePy<\n Needed extends readonly { readonly name: IPyDepVersion }[],\n D extends DependencyDeclaration,\n> = [Exclude<Needed[number]['name'], D['py'][number]['name']>] extends [never]\n ? unknown\n : {\n __missingDeclaredPyDependencies: Exclude<\n Needed[number]['name'],\n D['py'][number]['name']\n >;\n };\n\n/**\n * The dependencies a declaration covers, for typing a conditional list without\n * widening it to every vended package.\n */\nexport type DeclaredTs<D extends DependencyDeclaration> =\n D['ts'][number]['name'];\n\n/** `DeclaredTs` for Python dependencies. */\nexport type DeclaredPy<D extends DependencyDeclaration> =\n D['py'][number]['name'];\n\n/**\n * Narrows a caller's declaration to the subset a helper adds, which\n * `MustDeclare` has already proven the caller covers.\n */\nexport const forDependencies = <\n const Ts extends readonly DeclaredDependency<ITsDepVersion, never>[] = [],\n const Py extends readonly DeclaredDependency<IPyDepVersion, never>[] = [],\n>(\n declaration: DependencyDeclaration,\n): DependencyDeclaration<Ts, Py> =>\n declaration as unknown as DependencyDeclaration<Ts, Py>;\n"],"names":["declareDependencies","declaration","ts","py","onlyWhen","entries","condition","map","entry","own","when","metadata","Boolean","ownedElsewhere","versionOnly","declaredNames","name","ownedDependencyEntries","filter","applicableDependencies","forDependencies"],"mappings":"AAAA;;;CAGC,GA8ED;;;;CAIC,GACD,OAAO,MAAMA,sBACX,IACA,CAGEC,cAIC,CAAA;YACCC,IAAID,YAAYC,EAAE,IAAI,EAAE;YACxBC,IAAIF,YAAYE,EAAE,IAAI,EAAE;QAC1B,CAAA,EAA+C;AAEnD;;;;;;;CAOC,GACD,OAAO,MAAMC,WAAW,CAItBC,SACAC,YAMAD,QAAQE,GAAG,CAAC,CAACC;QACX,6EAA6E;QAC7E,kDAAkD;QAClD,MAAMC,MAAM,AAACD,MAAuCE,IAAI;QACxD,OAAO;YACL,GAAGF,KAAK;YACRE,MAAM,CAACC,WACLC,QAAQN,UAAUK,cAAcC,QAAQH,MAAME,aAAa;QAC/D;IACF,GAAY;AAEd;;;;CAIC,GACD,OAAO,MAAME,iBAAiB,CAC5BR,UAEAA,QAAQE,GAAG,CAAC,CAACC,QAAW,CAAA;YACtB,GAAIA,KAAK;YACTM,aAAa;QACf,CAAA,GAAa;AAEf,+DAA+D,GAC/D,OAAO,MAAMC,gBAAgB,CAC3BV,UACWA,QAAQE,GAAG,CAAC,CAACC,QAAUA,MAAMQ,IAAI,EAAE;AAEhD;;;;;;;CAOC,GACD,OAAO,MAAMC,yBAAyB,CAKpCZ,SACAM,WAEAN,QAAQa,MAAM,CAAC,CAACV;QACd,IAAI,CAACA,MAAME,IAAI,EAAE;YACf,OAAO;QACT;QACA,IAAI;YACF,OAAOE,QAAQJ,MAAME,IAAI,CAACC;QAC5B,EAAE,OAAM;YACN,OAAO;QACT;IACF,GAAG;AAEL;;;;CAIC,GACD,OAAO,MAAMQ,yBAAyB,CAKpCd,SACAM,WAEAM,uBAAuBZ,SAASM,UAAUO,MAAM,CAC9C,CAACV,QAAU,CAACA,MAAMM,WAAW,EAC7B;AA2CJ;;;CAGC,GACD,OAAO,MAAMM,kBAAkB,CAI7BnB,cAEAA,YAAwD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type GeneratorCallback, type PackageManager, type Tree } from '@nx/devkit';
6
+ export declare const detectWorkspacePackageManager: (tree: Tree) => PackageManager;
7
+ /** Clears the catalog support cache. Only needed by tests. */
8
+ export declare const resetCatalogSupportCache: () => void;
9
+ export declare const getLocalDependencySpecifier: (tree: Tree) => string;
10
+ export declare const supportsCatalogs: (tree: Tree) => boolean;
11
+ export declare const catalogsEnabled: (tree: Tree) => boolean;
12
+ /**
13
+ * Drop-in replacement for devkit's `addDependenciesToPackageJson` that records
14
+ * versions in the package manager's catalog when enabled. Callers pass a
15
+ * project manifest path for runtime deps (so `noUndeclaredDependencies` passes)
16
+ * and the root for shared tooling.
17
+ */
18
+ export declare const addDependenciesToPackageJson: (tree: Tree, dependencies: Record<string, string>, devDependencies: Record<string, string>, packageJsonPath?: string) => GeneratorCallback;
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { detectPackageManager, addDependenciesToPackageJson as devkitAddDependenciesToPackageJson, getPackageManagerVersion, readJson, updateJson } from "@nx/devkit";
5
+ import yaml from "js-yaml";
6
+ import { coerce, gt, gte } from "semver";
7
+ import { readAwsNxPluginConfig } from "./config/utils.js";
8
+ // Minimum version that introduced catalog support per package manager (npm has none).
9
+ const CATALOG_SUPPORT = {
10
+ pnpm: '9.5.0',
11
+ yarn: '4.10.0',
12
+ bun: '1.2.14'
13
+ };
14
+ // Prefer tree markers over devkit's `detectPackageManager`, which reads the
15
+ // real filesystem and is nondeterministic for virtual trees in tests.
16
+ export const detectWorkspacePackageManager = (tree)=>tree.exists('pnpm-workspace.yaml') ? 'pnpm' : detectPackageManager(tree.root);
17
+ // Coerce a single simple range to a version. Rejects compound ranges
18
+ // (whitespace / `||`), which coerce would silently reduce, plus tags/protocols.
19
+ const parseSimpleRange = (version)=>{
20
+ const trimmed = version.trim();
21
+ if (/\s|\|\|/.test(trimmed)) {
22
+ return undefined;
23
+ }
24
+ return coerce(trimmed, {
25
+ includePrerelease: true
26
+ }) ?? undefined;
27
+ };
28
+ const versionAtLeast = (version, minimum)=>gte(parseSimpleRange(version) ?? '0.0.0', parseSimpleRange(minimum) ?? '0.0.0');
29
+ // Only a strict upgrade replaces an existing catalog entry, so generating a
30
+ // project never downgrades a version the user raised. Uncomparable entries
31
+ // (tags, complex ranges) are kept.
32
+ const isVersionUpgrade = (incoming, existing)=>{
33
+ const existingParsed = parseSimpleRange(existing);
34
+ const incomingParsed = parseSimpleRange(incoming);
35
+ if (!existingParsed || !incomingParsed) {
36
+ return false;
37
+ }
38
+ return gt(incomingParsed, existingParsed);
39
+ };
40
+ // Keyed by root + package manager; detecting support shells out for a version.
41
+ const catalogSupportCache = new Map();
42
+ /** Clears the catalog support cache. Only needed by tests. */ export const resetCatalogSupportCache = ()=>{
43
+ catalogSupportCache.clear();
44
+ };
45
+ // Local-project specifier: the `workspace:` protocol where supported (pnpm,
46
+ // bun, yarn berry), `*` on npm and yarn classic which reject it.
47
+ export const getLocalDependencySpecifier = (tree)=>{
48
+ const packageManager = detectWorkspacePackageManager(tree);
49
+ if (packageManager === 'npm') {
50
+ return '*';
51
+ }
52
+ if (packageManager === 'yarn') {
53
+ let major = 2;
54
+ try {
55
+ major = Number.parseInt(getPackageManagerVersion('yarn', tree.root).split('.')[0], 10);
56
+ } catch {
57
+ // Not installed (e.g. tests) — assume berry.
58
+ }
59
+ if (major < 2) {
60
+ return '*';
61
+ }
62
+ }
63
+ return 'workspace:*';
64
+ };
65
+ export const supportsCatalogs = (tree)=>{
66
+ const packageManager = detectWorkspacePackageManager(tree);
67
+ const cacheKey = `${tree.root}|${packageManager}`;
68
+ const cached = catalogSupportCache.get(cacheKey);
69
+ if (cached !== undefined) {
70
+ return cached;
71
+ }
72
+ const minimumVersion = CATALOG_SUPPORT[packageManager];
73
+ let supported = false;
74
+ if (minimumVersion) {
75
+ try {
76
+ supported = versionAtLeast(getPackageManagerVersion(packageManager, tree.root), minimumVersion);
77
+ } catch {
78
+ // Not installed (e.g. tests) — assume a modern version.
79
+ supported = true;
80
+ }
81
+ }
82
+ catalogSupportCache.set(cacheKey, supported);
83
+ return supported;
84
+ };
85
+ // True when the package manager supports catalogs and the workspace hasn't
86
+ // opted out via `packageManager.catalogs: false` in aws-nx-plugin.config.mts.
87
+ export const catalogsEnabled = (tree)=>{
88
+ if (!supportsCatalogs(tree)) {
89
+ return false;
90
+ }
91
+ const config = readAwsNxPluginConfig(tree);
92
+ return config?.packageManager?.catalogs !== false;
93
+ };
94
+ /**
95
+ * Drop-in replacement for devkit's `addDependenciesToPackageJson` that records
96
+ * versions in the package manager's catalog when enabled. Callers pass a
97
+ * project manifest path for runtime deps (so `noUndeclaredDependencies` passes)
98
+ * and the root for shared tooling.
99
+ */ export const addDependenciesToPackageJson = (tree, dependencies, devDependencies, packageJsonPath = 'package.json')=>{
100
+ const callback = devkitAddDependenciesToPackageJson(tree, dependencies, devDependencies, packageJsonPath);
101
+ if (catalogsEnabled(tree)) {
102
+ const packageNames = [
103
+ ...Object.keys(dependencies),
104
+ ...Object.keys(devDependencies)
105
+ ];
106
+ convertDependenciesToCatalog(tree, packageJsonPath, packageNames);
107
+ // Convert any matching root ranges Nx wrote behind our back (e.g.
108
+ // `@types/node`, `react`) so they don't resolve to a second copy alongside
109
+ // the catalog version. Skipped when the caller already targeted the root.
110
+ if (packageJsonPath !== 'package.json') {
111
+ convertDependenciesToCatalog(tree, 'package.json', packageNames);
112
+ }
113
+ }
114
+ return callback;
115
+ };
116
+ // Nx generators read these versions from the root manifest and coerce without
117
+ // a null guard; Nx ships no bun catalog manager, so an unresolved `catalog:`
118
+ // crashes them. Keep direct ranges on bun (react-dom pinned with react).
119
+ const BUN_INTROSPECTED_PACKAGES = new Set([
120
+ 'vite',
121
+ 'react',
122
+ 'react-dom'
123
+ ]);
124
+ const isCatalogExcluded = (tree, packageName)=>detectWorkspacePackageManager(tree) === 'bun' && BUN_INTROSPECTED_PACKAGES.has(packageName);
125
+ // Convert direct version ranges to `catalog:` references in a single manifest
126
+ // and record the range in the workspace catalog. Protocol specifiers
127
+ // (catalog:/workspace:/...) are left alone.
128
+ const convertDependenciesToCatalog = (tree, packageJsonPath, packageNames)=>{
129
+ const catalogUpdates = {};
130
+ updateJson(tree, packageJsonPath, (json)=>{
131
+ for (const field of [
132
+ 'dependencies',
133
+ 'devDependencies'
134
+ ]){
135
+ for (const packageName of packageNames){
136
+ const version = json[field]?.[packageName];
137
+ if (version && !version.includes(':') && !isCatalogExcluded(tree, packageName)) {
138
+ catalogUpdates[packageName] = version;
139
+ json[field][packageName] = 'catalog:';
140
+ }
141
+ }
142
+ }
143
+ return json;
144
+ });
145
+ if (Object.keys(catalogUpdates).length > 0) {
146
+ writeCatalogVersions(tree, catalogUpdates);
147
+ }
148
+ };
149
+ // Record ranges in the default catalog, creating it if absent. Only strict
150
+ // upgrades replace existing entries (see `isVersionUpgrade`).
151
+ const writeCatalogVersions = (tree, updates)=>{
152
+ const applyUpdates = (catalog)=>{
153
+ const existing = catalog ?? {};
154
+ const applicable = Object.fromEntries(Object.entries(updates).filter(([name, version])=>existing[name] === undefined || isVersionUpgrade(version, existing[name])));
155
+ if (Object.keys(applicable).length === 0) {
156
+ return undefined;
157
+ }
158
+ return {
159
+ ...existing,
160
+ ...applicable
161
+ };
162
+ };
163
+ switch(detectWorkspacePackageManager(tree)){
164
+ case 'pnpm':
165
+ {
166
+ const workspaceYaml = yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') ?? {};
167
+ const catalog = applyUpdates(workspaceYaml.catalog);
168
+ if (catalog) {
169
+ tree.write('pnpm-workspace.yaml', yaml.dump({
170
+ ...workspaceYaml,
171
+ catalog
172
+ }, {
173
+ quotingType: "'"
174
+ }));
175
+ }
176
+ break;
177
+ }
178
+ case 'yarn':
179
+ {
180
+ const yarnRc = yaml.load(tree.read('.yarnrc.yml', 'utf-8') ?? '') ?? {};
181
+ const catalog = applyUpdates(yarnRc.catalog);
182
+ if (catalog) {
183
+ tree.write('.yarnrc.yml', yaml.dump({
184
+ ...yarnRc,
185
+ catalog
186
+ }, {
187
+ quotingType: "'"
188
+ }));
189
+ }
190
+ break;
191
+ }
192
+ case 'bun':
193
+ {
194
+ const catalog = applyUpdates(readJson(tree, 'package.json').catalog);
195
+ if (catalog) {
196
+ updateJson(tree, 'package.json', (json)=>({
197
+ ...json,
198
+ catalog
199
+ }));
200
+ }
201
+ break;
202
+ }
203
+ }
204
+ };
205
+
206
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/dependencies.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n detectPackageManager,\n addDependenciesToPackageJson as devkitAddDependenciesToPackageJson,\n type GeneratorCallback,\n getPackageManagerVersion,\n type PackageManager,\n readJson,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport yaml from 'js-yaml';\nimport { coerce, gt, gte } from 'semver';\nimport { readAwsNxPluginConfig } from './config/utils';\n\n// Minimum version that introduced catalog support per package manager (npm has none).\nconst CATALOG_SUPPORT: Partial<Record<PackageManager, string>> = {\n pnpm: '9.5.0',\n yarn: '4.10.0',\n bun: '1.2.14',\n};\n\n// Prefer tree markers over devkit's `detectPackageManager`, which reads the\n// real filesystem and is nondeterministic for virtual trees in tests.\nexport const detectWorkspacePackageManager = (tree: Tree): PackageManager =>\n tree.exists('pnpm-workspace.yaml') ? 'pnpm' : detectPackageManager(tree.root);\n\n// Coerce a single simple range to a version. Rejects compound ranges\n// (whitespace / `||`), which coerce would silently reduce, plus tags/protocols.\nconst parseSimpleRange = (version: string) => {\n const trimmed = version.trim();\n if (/\\s|\\|\\|/.test(trimmed)) {\n return undefined;\n }\n return coerce(trimmed, { includePrerelease: true }) ?? undefined;\n};\n\nconst versionAtLeast = (version: string, minimum: string): boolean =>\n gte(\n parseSimpleRange(version) ?? '0.0.0',\n parseSimpleRange(minimum) ?? '0.0.0',\n );\n\n// Only a strict upgrade replaces an existing catalog entry, so generating a\n// project never downgrades a version the user raised. Uncomparable entries\n// (tags, complex ranges) are kept.\nconst isVersionUpgrade = (incoming: string, existing: string): boolean => {\n const existingParsed = parseSimpleRange(existing);\n const incomingParsed = parseSimpleRange(incoming);\n if (!existingParsed || !incomingParsed) {\n return false;\n }\n return gt(incomingParsed, existingParsed);\n};\n\n// Keyed by root + package manager; detecting support shells out for a version.\nconst catalogSupportCache = new Map<string, boolean>();\n\n/** Clears the catalog support cache. Only needed by tests. */\nexport const resetCatalogSupportCache = (): void => {\n catalogSupportCache.clear();\n};\n\n// Local-project specifier: the `workspace:` protocol where supported (pnpm,\n// bun, yarn berry), `*` on npm and yarn classic which reject it.\nexport const getLocalDependencySpecifier = (tree: Tree): string => {\n const packageManager = detectWorkspacePackageManager(tree);\n if (packageManager === 'npm') {\n return '*';\n }\n if (packageManager === 'yarn') {\n let major = 2;\n try {\n major = Number.parseInt(\n getPackageManagerVersion('yarn', tree.root).split('.')[0],\n 10,\n );\n } catch {\n // Not installed (e.g. tests) — assume berry.\n }\n if (major < 2) {\n return '*';\n }\n }\n return 'workspace:*';\n};\n\nexport const supportsCatalogs = (tree: Tree): boolean => {\n const packageManager = detectWorkspacePackageManager(tree);\n const cacheKey = `${tree.root}|${packageManager}`;\n const cached = catalogSupportCache.get(cacheKey);\n if (cached !== undefined) {\n return cached;\n }\n const minimumVersion = CATALOG_SUPPORT[packageManager];\n let supported = false;\n if (minimumVersion) {\n try {\n supported = versionAtLeast(\n getPackageManagerVersion(packageManager, tree.root),\n minimumVersion,\n );\n } catch {\n // Not installed (e.g. tests) — assume a modern version.\n supported = true;\n }\n }\n catalogSupportCache.set(cacheKey, supported);\n return supported;\n};\n\n// True when the package manager supports catalogs and the workspace hasn't\n// opted out via `packageManager.catalogs: false` in aws-nx-plugin.config.mts.\nexport const catalogsEnabled = (tree: Tree): boolean => {\n if (!supportsCatalogs(tree)) {\n return false;\n }\n const config = readAwsNxPluginConfig(tree);\n return config?.packageManager?.catalogs !== false;\n};\n\n/**\n * Drop-in replacement for devkit's `addDependenciesToPackageJson` that records\n * versions in the package manager's catalog when enabled. Callers pass a\n * project manifest path for runtime deps (so `noUndeclaredDependencies` passes)\n * and the root for shared tooling.\n */\nexport const addDependenciesToPackageJson = (\n tree: Tree,\n dependencies: Record<string, string>,\n devDependencies: Record<string, string>,\n packageJsonPath = 'package.json',\n): GeneratorCallback => {\n const callback = devkitAddDependenciesToPackageJson(\n tree,\n dependencies,\n devDependencies,\n packageJsonPath,\n );\n\n if (catalogsEnabled(tree)) {\n const packageNames = [\n ...Object.keys(dependencies),\n ...Object.keys(devDependencies),\n ];\n convertDependenciesToCatalog(tree, packageJsonPath, packageNames);\n // Convert any matching root ranges Nx wrote behind our back (e.g.\n // `@types/node`, `react`) so they don't resolve to a second copy alongside\n // the catalog version. Skipped when the caller already targeted the root.\n if (packageJsonPath !== 'package.json') {\n convertDependenciesToCatalog(tree, 'package.json', packageNames);\n }\n }\n\n return callback;\n};\n\n// Nx generators read these versions from the root manifest and coerce without\n// a null guard; Nx ships no bun catalog manager, so an unresolved `catalog:`\n// crashes them. Keep direct ranges on bun (react-dom pinned with react).\nconst BUN_INTROSPECTED_PACKAGES = new Set<string>([\n 'vite',\n 'react',\n 'react-dom',\n]);\n\nconst isCatalogExcluded = (tree: Tree, packageName: string): boolean =>\n detectWorkspacePackageManager(tree) === 'bun' &&\n BUN_INTROSPECTED_PACKAGES.has(packageName);\n\n// Convert direct version ranges to `catalog:` references in a single manifest\n// and record the range in the workspace catalog. Protocol specifiers\n// (catalog:/workspace:/...) are left alone.\nconst convertDependenciesToCatalog = (\n tree: Tree,\n packageJsonPath: string,\n packageNames: string[],\n): void => {\n const catalogUpdates: Record<string, string> = {};\n\n updateJson(tree, packageJsonPath, (json) => {\n for (const field of ['dependencies', 'devDependencies'] as const) {\n for (const packageName of packageNames) {\n const version = json[field]?.[packageName];\n if (\n version &&\n !version.includes(':') &&\n !isCatalogExcluded(tree, packageName)\n ) {\n catalogUpdates[packageName] = version;\n json[field][packageName] = 'catalog:';\n }\n }\n }\n return json;\n });\n\n if (Object.keys(catalogUpdates).length > 0) {\n writeCatalogVersions(tree, catalogUpdates);\n }\n};\n\n// Record ranges in the default catalog, creating it if absent. Only strict\n// upgrades replace existing entries (see `isVersionUpgrade`).\nconst writeCatalogVersions = (\n tree: Tree,\n updates: Record<string, string>,\n): void => {\n const applyUpdates = (\n catalog: Record<string, string> | undefined,\n ): Record<string, string> | undefined => {\n const existing = catalog ?? {};\n const applicable = Object.fromEntries(\n Object.entries(updates).filter(\n ([name, version]) =>\n existing[name] === undefined ||\n isVersionUpgrade(version, existing[name]),\n ),\n );\n if (Object.keys(applicable).length === 0) {\n return undefined;\n }\n return { ...existing, ...applicable };\n };\n\n switch (detectWorkspacePackageManager(tree)) {\n case 'pnpm': {\n const workspaceYaml =\n (yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') as Record<\n string,\n unknown\n >) ?? {};\n const catalog = applyUpdates(\n workspaceYaml.catalog as Record<string, string> | undefined,\n );\n if (catalog) {\n tree.write(\n 'pnpm-workspace.yaml',\n yaml.dump({ ...workspaceYaml, catalog }, { quotingType: \"'\" }),\n );\n }\n break;\n }\n case 'yarn': {\n const yarnRc =\n (yaml.load(tree.read('.yarnrc.yml', 'utf-8') ?? '') as Record<\n string,\n unknown\n >) ?? {};\n const catalog = applyUpdates(\n yarnRc.catalog as Record<string, string> | undefined,\n );\n if (catalog) {\n tree.write(\n '.yarnrc.yml',\n yaml.dump({ ...yarnRc, catalog }, { quotingType: \"'\" }),\n );\n }\n break;\n }\n case 'bun': {\n const catalog = applyUpdates(\n readJson<{ catalog?: Record<string, string> }>(tree, 'package.json')\n .catalog,\n );\n if (catalog) {\n updateJson(tree, 'package.json', (json) => ({ ...json, catalog }));\n }\n break;\n }\n }\n};\n"],"names":["detectPackageManager","addDependenciesToPackageJson","devkitAddDependenciesToPackageJson","getPackageManagerVersion","readJson","updateJson","yaml","coerce","gt","gte","readAwsNxPluginConfig","CATALOG_SUPPORT","pnpm","yarn","bun","detectWorkspacePackageManager","tree","exists","root","parseSimpleRange","version","trimmed","trim","test","undefined","includePrerelease","versionAtLeast","minimum","isVersionUpgrade","incoming","existing","existingParsed","incomingParsed","catalogSupportCache","Map","resetCatalogSupportCache","clear","getLocalDependencySpecifier","packageManager","major","Number","parseInt","split","supportsCatalogs","cacheKey","cached","get","minimumVersion","supported","set","catalogsEnabled","config","catalogs","dependencies","devDependencies","packageJsonPath","callback","packageNames","Object","keys","convertDependenciesToCatalog","BUN_INTROSPECTED_PACKAGES","Set","isCatalogExcluded","packageName","has","catalogUpdates","json","field","includes","length","writeCatalogVersions","updates","applyUpdates","catalog","applicable","fromEntries","entries","filter","name","workspaceYaml","load","read","write","dump","quotingType","yarnRc"],"mappings":"AAAA;;;CAGC,GACD,SACEA,oBAAoB,EACpBC,gCAAgCC,kCAAkC,EAElEC,wBAAwB,EAExBC,QAAQ,EAERC,UAAU,QACL,aAAa;AACpB,OAAOC,UAAU,UAAU;AAC3B,SAASC,MAAM,EAAEC,EAAE,EAAEC,GAAG,QAAQ,SAAS;AACzC,SAASC,qBAAqB,QAAQ,oBAAiB;AAEvD,sFAAsF;AACtF,MAAMC,kBAA2D;IAC/DC,MAAM;IACNC,MAAM;IACNC,KAAK;AACP;AAEA,4EAA4E;AAC5E,sEAAsE;AACtE,OAAO,MAAMC,gCAAgC,CAACC,OAC5CA,KAAKC,MAAM,CAAC,yBAAyB,SAASjB,qBAAqBgB,KAAKE,IAAI,EAAE;AAEhF,qEAAqE;AACrE,gFAAgF;AAChF,MAAMC,mBAAmB,CAACC;IACxB,MAAMC,UAAUD,QAAQE,IAAI;IAC5B,IAAI,UAAUC,IAAI,CAACF,UAAU;QAC3B,OAAOG;IACT;IACA,OAAOjB,OAAOc,SAAS;QAAEI,mBAAmB;IAAK,MAAMD;AACzD;AAEA,MAAME,iBAAiB,CAACN,SAAiBO,UACvClB,IACEU,iBAAiBC,YAAY,SAC7BD,iBAAiBQ,YAAY;AAGjC,4EAA4E;AAC5E,2EAA2E;AAC3E,mCAAmC;AACnC,MAAMC,mBAAmB,CAACC,UAAkBC;IAC1C,MAAMC,iBAAiBZ,iBAAiBW;IACxC,MAAME,iBAAiBb,iBAAiBU;IACxC,IAAI,CAACE,kBAAkB,CAACC,gBAAgB;QACtC,OAAO;IACT;IACA,OAAOxB,GAAGwB,gBAAgBD;AAC5B;AAEA,+EAA+E;AAC/E,MAAME,sBAAsB,IAAIC;AAEhC,4DAA4D,GAC5D,OAAO,MAAMC,2BAA2B;IACtCF,oBAAoBG,KAAK;AAC3B,EAAE;AAEF,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,MAAMC,8BAA8B,CAACrB;IAC1C,MAAMsB,iBAAiBvB,8BAA8BC;IACrD,IAAIsB,mBAAmB,OAAO;QAC5B,OAAO;IACT;IACA,IAAIA,mBAAmB,QAAQ;QAC7B,IAAIC,QAAQ;QACZ,IAAI;YACFA,QAAQC,OAAOC,QAAQ,CACrBtC,yBAAyB,QAAQa,KAAKE,IAAI,EAAEwB,KAAK,CAAC,IAAI,CAAC,EAAE,EACzD;QAEJ,EAAE,OAAM;QACN,6CAA6C;QAC/C;QACA,IAAIH,QAAQ,GAAG;YACb,OAAO;QACT;IACF;IACA,OAAO;AACT,EAAE;AAEF,OAAO,MAAMI,mBAAmB,CAAC3B;IAC/B,MAAMsB,iBAAiBvB,8BAA8BC;IACrD,MAAM4B,WAAW,GAAG5B,KAAKE,IAAI,CAAC,CAAC,EAAEoB,gBAAgB;IACjD,MAAMO,SAASZ,oBAAoBa,GAAG,CAACF;IACvC,IAAIC,WAAWrB,WAAW;QACxB,OAAOqB;IACT;IACA,MAAME,iBAAiBpC,eAAe,CAAC2B,eAAe;IACtD,IAAIU,YAAY;IAChB,IAAID,gBAAgB;QAClB,IAAI;YACFC,YAAYtB,eACVvB,yBAAyBmC,gBAAgBtB,KAAKE,IAAI,GAClD6B;QAEJ,EAAE,OAAM;YACN,wDAAwD;YACxDC,YAAY;QACd;IACF;IACAf,oBAAoBgB,GAAG,CAACL,UAAUI;IAClC,OAAOA;AACT,EAAE;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,OAAO,MAAME,kBAAkB,CAAClC;IAC9B,IAAI,CAAC2B,iBAAiB3B,OAAO;QAC3B,OAAO;IACT;IACA,MAAMmC,SAASzC,sBAAsBM;IACrC,OAAOmC,QAAQb,gBAAgBc,aAAa;AAC9C,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAMnD,+BAA+B,CAC1Ce,MACAqC,cACAC,iBACAC,kBAAkB,cAAc;IAEhC,MAAMC,WAAWtD,mCACfc,MACAqC,cACAC,iBACAC;IAGF,IAAIL,gBAAgBlC,OAAO;QACzB,MAAMyC,eAAe;eAChBC,OAAOC,IAAI,CAACN;eACZK,OAAOC,IAAI,CAACL;SAChB;QACDM,6BAA6B5C,MAAMuC,iBAAiBE;QACpD,kEAAkE;QAClE,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAIF,oBAAoB,gBAAgB;YACtCK,6BAA6B5C,MAAM,gBAAgByC;QACrD;IACF;IAEA,OAAOD;AACT,EAAE;AAEF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,MAAMK,4BAA4B,IAAIC,IAAY;IAChD;IACA;IACA;CACD;AAED,MAAMC,oBAAoB,CAAC/C,MAAYgD,cACrCjD,8BAA8BC,UAAU,SACxC6C,0BAA0BI,GAAG,CAACD;AAEhC,8EAA8E;AAC9E,qEAAqE;AACrE,4CAA4C;AAC5C,MAAMJ,+BAA+B,CACnC5C,MACAuC,iBACAE;IAEA,MAAMS,iBAAyC,CAAC;IAEhD7D,WAAWW,MAAMuC,iBAAiB,CAACY;QACjC,KAAK,MAAMC,SAAS;YAAC;YAAgB;SAAkB,CAAW;YAChE,KAAK,MAAMJ,eAAeP,aAAc;gBACtC,MAAMrC,UAAU+C,IAAI,CAACC,MAAM,EAAE,CAACJ,YAAY;gBAC1C,IACE5C,WACA,CAACA,QAAQiD,QAAQ,CAAC,QAClB,CAACN,kBAAkB/C,MAAMgD,cACzB;oBACAE,cAAc,CAACF,YAAY,GAAG5C;oBAC9B+C,IAAI,CAACC,MAAM,CAACJ,YAAY,GAAG;gBAC7B;YACF;QACF;QACA,OAAOG;IACT;IAEA,IAAIT,OAAOC,IAAI,CAACO,gBAAgBI,MAAM,GAAG,GAAG;QAC1CC,qBAAqBvD,MAAMkD;IAC7B;AACF;AAEA,2EAA2E;AAC3E,8DAA8D;AAC9D,MAAMK,uBAAuB,CAC3BvD,MACAwD;IAEA,MAAMC,eAAe,CACnBC;QAEA,MAAM5C,WAAW4C,WAAW,CAAC;QAC7B,MAAMC,aAAajB,OAAOkB,WAAW,CACnClB,OAAOmB,OAAO,CAACL,SAASM,MAAM,CAC5B,CAAC,CAACC,MAAM3D,QAAQ,GACdU,QAAQ,CAACiD,KAAK,KAAKvD,aACnBI,iBAAiBR,SAASU,QAAQ,CAACiD,KAAK;QAG9C,IAAIrB,OAAOC,IAAI,CAACgB,YAAYL,MAAM,KAAK,GAAG;YACxC,OAAO9C;QACT;QACA,OAAO;YAAE,GAAGM,QAAQ;YAAE,GAAG6C,UAAU;QAAC;IACtC;IAEA,OAAQ5D,8BAA8BC;QACpC,KAAK;YAAQ;gBACX,MAAMgE,gBACJ,AAAC1E,KAAK2E,IAAI,CAACjE,KAAKkE,IAAI,CAAC,uBAAuB,YAAY,OAGlD,CAAC;gBACT,MAAMR,UAAUD,aACdO,cAAcN,OAAO;gBAEvB,IAAIA,SAAS;oBACX1D,KAAKmE,KAAK,CACR,uBACA7E,KAAK8E,IAAI,CAAC;wBAAE,GAAGJ,aAAa;wBAAEN;oBAAQ,GAAG;wBAAEW,aAAa;oBAAI;gBAEhE;gBACA;YACF;QACA,KAAK;YAAQ;gBACX,MAAMC,SACJ,AAAChF,KAAK2E,IAAI,CAACjE,KAAKkE,IAAI,CAAC,eAAe,YAAY,OAG1C,CAAC;gBACT,MAAMR,UAAUD,aACda,OAAOZ,OAAO;gBAEhB,IAAIA,SAAS;oBACX1D,KAAKmE,KAAK,CACR,eACA7E,KAAK8E,IAAI,CAAC;wBAAE,GAAGE,MAAM;wBAAEZ;oBAAQ,GAAG;wBAAEW,aAAa;oBAAI;gBAEzD;gBACA;YACF;QACA,KAAK;YAAO;gBACV,MAAMX,UAAUD,aACdrE,SAA+CY,MAAM,gBAClD0D,OAAO;gBAEZ,IAAIA,SAAS;oBACXrE,WAAWW,MAAM,gBAAgB,CAACmD,OAAU,CAAA;4BAAE,GAAGA,IAAI;4BAAEO;wBAAQ,CAAA;gBACjE;gBACA;YACF;IACF;AACF"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { type ProjectConfiguration, type Tree } from '@nx/devkit';
6
+ import { type DependencyDeclaration, type MustDeclare } from './declared-dependencies';
7
+ /** Dependencies a caller must declare to add a Docker scan target. */
8
+ export declare const DOCKER_DEPENDENCIES: readonly [{
9
+ readonly name: "ncp";
10
+ }, {
11
+ readonly name: "rimraf";
12
+ }, {
13
+ readonly name: "make-dir-cli";
14
+ }];
15
+ /**
16
+ * Substitution variables for the vended Node `Dockerfile` templates: the npm
17
+ * version to install globally, and the versions its dependency overrides pin.
18
+ */
19
+ export declare const nodeImageVersions: () => {
20
+ npmVersion: "12.0.2";
21
+ minimatchVersion: "10.2.6";
22
+ };
23
+ /**
24
+ * Packages a vended Node `Dockerfile` pins, which every generator writing one
25
+ * must declare so the version sync keeps those pins current.
26
+ *
27
+ * Spread through `ownedElsewhere`: the pin lives in the image build rather than
28
+ * in any manifest, so nothing is installed into the workspace. Left undeclared
29
+ * these would be the only vended versions never upgraded — and they are
30
+ * precisely the ones held at a version clear of a known HIGH/CRITICAL
31
+ * vulnerability.
32
+ */
33
+ export declare const NODE_IMAGE_DEPENDENCIES: readonly [{
34
+ readonly name: "npm";
35
+ }, {
36
+ readonly name: "minimatch";
37
+ }];
38
+ /**
39
+ * Packages the AWS Distro for OpenTelemetry install in a vended `Dockerfile`
40
+ * pins, for the images that auto-instrument with it. Spread through
41
+ * `ownedElsewhere` for the same reason as {@link NODE_IMAGE_DEPENDENCIES}.
42
+ */
43
+ export declare const ADOT_IMAGE_DEPENDENCIES: readonly [{
44
+ readonly name: "@aws/aws-distro-opentelemetry-node-autoinstrumentation";
45
+ }, {
46
+ readonly name: "@opentelemetry/propagator-jaeger";
47
+ }];
48
+ export interface DockerScanTargetOptions {
49
+ /**
50
+ * Project configuration to add the scan target to (mutated in place).
51
+ */
52
+ readonly project: ProjectConfiguration;
53
+ /**
54
+ * Container engine command to invoke (\`docker\` or \`finch\`).
55
+ */
56
+ readonly containerEngine: string;
57
+ /**
58
+ * Name of the scan target to add, e.g. \`my-agent-trivy\`.
59
+ */
60
+ readonly trivyTargetName: string;
61
+ /**
62
+ * Name of the docker target that builds the image(s) to scan. The scan
63
+ * target depends on it.
64
+ */
65
+ readonly dockerTargetName: string;
66
+ /**
67
+ * Tags of the images built by the docker target which should be scanned.
68
+ */
69
+ readonly imageTags: string[];
70
+ }
71
+ /**
72
+ * Add a cacheable Trivy scan target for the images built by a docker target
73
+ * and wire it under the aggregate \`trivy\` target. The scan is not part of
74
+ * \`build\` — run \`nx run-many --target trivy\` (the root \`trivy\` script) in CI.
75
+ *
76
+ * The scan target depends on the docker target and declares the project source
77
+ * as its inputs, so an unchanged image is never re-scanned (a cache hit skips
78
+ * the scan entirely). Each image is saved to a tarball under
79
+ * \`dist/<projectRoot>/trivy/<scan-key>\` (kept out of any Docker build context)
80
+ * and scanned with the pinned ECR-hosted Trivy image via a workspace-relative
81
+ * bind mount, so the same commands work under both docker and finch. The scan
82
+ * exits non-zero (exit code 1) on HIGH/CRITICAL vulnerabilities.
83
+ *
84
+ * A \`.trivyignore\` is vended at the project root (kept if it already exists)
85
+ * for suppressing findings.
86
+ */
87
+ export declare const addDockerScanTarget: <const D extends DependencyDeclaration>(tree: Tree, options: DockerScanTargetOptions, declaration: D & MustDeclare<typeof DOCKER_DEPENDENCIES, D>) => void;