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

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 (1262) 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 +111 -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/smithy-ssdk-bundle-pins/metadata.json +3 -0
  188. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.d.ts +6 -0
  189. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.js +78 -0
  190. package/src/migrations/latest/smithy-ssdk-bundle-pins/migration.js.map +1 -0
  191. package/src/migrations/latest/strip-pip-from-python-images/__snapshots__/migration.spec.ts.snap +48 -0
  192. package/src/migrations/latest/strip-pip-from-python-images/metadata.json +3 -0
  193. package/src/migrations/latest/strip-pip-from-python-images/migration.d.ts +6 -0
  194. package/src/migrations/latest/strip-pip-from-python-images/migration.js +91 -0
  195. package/src/migrations/latest/strip-pip-from-python-images/migration.js.map +1 -0
  196. package/src/migrations/latest/waf-log-group-removal/__snapshots__/migration.spec.ts.snap +57 -0
  197. package/src/migrations/latest/waf-log-group-removal/metadata.json +3 -0
  198. package/src/migrations/latest/waf-log-group-removal/migration.d.ts +6 -0
  199. package/src/migrations/latest/waf-log-group-removal/migration.js +77 -0
  200. package/src/migrations/latest/waf-log-group-removal/migration.js.map +1 -0
  201. package/src/migrations/v1.0.0-rc.50/modernize-function-props-cast/metadata.json +3 -0
  202. package/src/migrations/v1.0.0-rc.50/modernize-function-props-cast/migration.d.ts +6 -0
  203. package/src/migrations/v1.0.0-rc.50/modernize-function-props-cast/migration.js +65 -0
  204. package/src/migrations/v1.0.0-rc.50/modernize-function-props-cast/migration.js.map +1 -0
  205. package/src/migrations/v1.0.0-rc.50/restrict-cors-to-custom-domains/metadata.json +3 -0
  206. package/src/migrations/v1.0.0-rc.50/restrict-cors-to-custom-domains/migration.d.ts +6 -0
  207. package/src/migrations/v1.0.0-rc.50/restrict-cors-to-custom-domains/migration.js +108 -0
  208. package/src/migrations/v1.0.0-rc.50/restrict-cors-to-custom-domains/migration.js.map +1 -0
  209. package/src/migrations/v1.0.0-rc.50/terraform-bootstrap-adopt-existing-bucket/metadata.json +3 -0
  210. package/src/migrations/v1.0.0-rc.50/terraform-bootstrap-adopt-existing-bucket/migration.d.ts +6 -0
  211. package/src/migrations/v1.0.0-rc.50/terraform-bootstrap-adopt-existing-bucket/migration.js +128 -0
  212. package/src/migrations/v1.0.0-rc.50/terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -0
  213. package/src/migrations/v1.0.0-rc.52/user-identity-waf-allow-localhost-callback/metadata.json +3 -0
  214. package/src/migrations/v1.0.0-rc.52/user-identity-waf-allow-localhost-callback/migration.d.ts +6 -0
  215. package/src/migrations/v1.0.0-rc.52/user-identity-waf-allow-localhost-callback/migration.js +215 -0
  216. package/src/migrations/v1.0.0-rc.52/user-identity-waf-allow-localhost-callback/migration.js.map +1 -0
  217. package/src/migrations/v1.0.0-rc.54/order-access-log-delivery-after-bucket-policy/metadata.json +3 -0
  218. package/src/migrations/v1.0.0-rc.54/order-access-log-delivery-after-bucket-policy/migration.d.ts +6 -0
  219. package/src/migrations/v1.0.0-rc.54/order-access-log-delivery-after-bucket-policy/migration.js +93 -0
  220. package/src/migrations/v1.0.0-rc.54/order-access-log-delivery-after-bucket-policy/migration.js.map +1 -0
  221. package/src/migrations/v1.0.0-rc.55/backfill-generator-metadata/metadata.json +3 -0
  222. package/src/migrations/v1.0.0-rc.55/backfill-generator-metadata/migration.d.ts +96 -0
  223. package/src/migrations/v1.0.0-rc.55/backfill-generator-metadata/migration.js +670 -0
  224. package/src/migrations/v1.0.0-rc.55/backfill-generator-metadata/migration.js.map +1 -0
  225. package/src/migrations/v1.0.0-rc.56/dynamodb-local-remove-optimize-flag/metadata.json +3 -0
  226. package/src/migrations/v1.0.0-rc.56/dynamodb-local-remove-optimize-flag/migration.d.ts +6 -0
  227. package/src/migrations/v1.0.0-rc.56/dynamodb-local-remove-optimize-flag/migration.js +89 -0
  228. package/src/migrations/v1.0.0-rc.56/dynamodb-local-remove-optimize-flag/migration.js.map +1 -0
  229. package/src/migrations/v1.0.0-rc.57/ts-agent-session-management-support/metadata.json +3 -0
  230. package/src/migrations/v1.0.0-rc.57/ts-agent-session-management-support/migration.d.ts +6 -0
  231. package/src/migrations/v1.0.0-rc.57/ts-agent-session-management-support/migration.js +449 -0
  232. package/src/migrations/v1.0.0-rc.57/ts-agent-session-management-support/migration.js.map +1 -0
  233. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  234. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  235. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  236. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  237. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  238. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  239. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  240. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  241. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  242. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  243. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  244. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  245. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +100 -24
  246. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  247. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  248. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  249. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  250. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  251. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  252. package/src/open-api/ts-client/generator.js +41 -26
  253. package/src/open-api/ts-client/generator.js.map +1 -1
  254. package/src/open-api/ts-client/schema.d.js +6 -0
  255. package/src/open-api/ts-client/schema.d.js.map +1 -0
  256. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  257. package/src/open-api/ts-hooks/generator.js +17 -21
  258. package/src/open-api/ts-hooks/generator.js.map +1 -1
  259. package/src/open-api/ts-hooks/generator.spec.tsx +70 -0
  260. package/src/open-api/ts-hooks/schema.d.js +6 -0
  261. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  262. package/src/open-api/ts-metadata/generator.js +12 -20
  263. package/src/open-api/ts-metadata/generator.js.map +1 -1
  264. package/src/open-api/ts-metadata/schema.d.js +6 -0
  265. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  266. package/src/open-api/utils/codegen-data/languages.d.ts +0 -6
  267. package/src/open-api/utils/codegen-data/languages.js +59 -66
  268. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  269. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  270. package/src/open-api/utils/codegen-data/types.js +54 -30
  271. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  272. package/src/open-api/utils/codegen-data.d.ts +2 -2
  273. package/src/open-api/utils/codegen-data.js +494 -674
  274. package/src/open-api/utils/codegen-data.js.map +1 -1
  275. package/src/open-api/utils/normalise.js +437 -246
  276. package/src/open-api/utils/normalise.js.map +1 -1
  277. package/src/open-api/utils/parse.js +8 -14
  278. package/src/open-api/utils/parse.js.map +1 -1
  279. package/src/open-api/utils/parser.d.ts +55 -0
  280. package/src/open-api/utils/parser.js +787 -0
  281. package/src/open-api/utils/parser.js.map +1 -0
  282. package/src/open-api/utils/refs.js +12 -22
  283. package/src/open-api/utils/refs.js.map +1 -1
  284. package/src/open-api/utils/types.d.ts +18 -0
  285. package/src/open-api/utils/types.js +5 -2
  286. package/src/open-api/utils/types.js.map +1 -1
  287. package/src/preset/__snapshots__/generator.spec.ts.snap +99 -20
  288. package/src/preset/generator.d.ts +14 -1
  289. package/src/preset/generator.js +76 -151
  290. package/src/preset/generator.js.map +1 -1
  291. package/src/preset/schema.d.js +6 -0
  292. package/src/preset/schema.d.js.map +1 -0
  293. package/src/preset/schema.d.ts +4 -1
  294. package/src/preset/schema.json +16 -5
  295. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +334 -0
  296. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  297. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +191 -315
  298. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +190 -0
  299. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +31 -0
  300. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +29 -0
  301. package/src/py/agent/a2a-connection/generator.d.ts +24 -0
  302. package/src/py/agent/a2a-connection/generator.js +145 -88
  303. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  304. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  305. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  306. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  307. package/src/py/agent/a2a-connection/schema.json +5 -0
  308. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  309. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  310. package/src/py/agent/files/common/agent.py.template +2 -0
  311. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  312. package/src/py/agent/files/deploy/Dockerfile.template +8 -1
  313. package/src/py/agent/files/http/init.py.template +7 -25
  314. package/src/py/agent/files/http/main.py.template +3 -4
  315. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  316. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  317. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  318. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  319. package/src/py/agent/gateway-connection/generator.d.ts +33 -0
  320. package/src/py/agent/gateway-connection/generator.js +153 -0
  321. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  322. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  323. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  324. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  325. package/src/py/agent/gateway-connection/schema.json +31 -0
  326. package/src/py/agent/generator.d.ts +146 -1
  327. package/src/py/agent/generator.js +406 -197
  328. package/src/py/agent/generator.js.map +1 -1
  329. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +154 -89
  330. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +31 -0
  331. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +31 -0
  332. package/src/py/agent/mcp-connection/generator.d.ts +23 -0
  333. package/src/py/agent/mcp-connection/generator.js +103 -130
  334. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  335. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  336. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  337. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  338. package/src/py/agent/mcp-connection/schema.json +5 -0
  339. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +17 -19
  340. package/src/py/agent/react-connection/generator.d.ts +150 -1
  341. package/src/py/agent/react-connection/generator.js +105 -65
  342. package/src/py/agent/react-connection/generator.js.map +1 -1
  343. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  344. package/src/py/agent/react-connection/local-dev.js +36 -0
  345. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  346. package/src/py/agent/react-connection/schema.d.js +8 -0
  347. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  348. package/src/py/agent/react-connection/schema.d.ts +1 -0
  349. package/src/py/agent/react-connection/schema.json +5 -0
  350. package/src/py/agent/schema.d.js +6 -0
  351. package/src/py/agent/schema.d.js.map +1 -0
  352. package/src/py/agent/schema.d.ts +5 -1
  353. package/src/py/agent/schema.json +15 -1
  354. package/src/py/api/generator.js +12 -11
  355. package/src/py/api/generator.js.map +1 -1
  356. package/src/py/api/schema.d.js +6 -0
  357. package/src/py/api/schema.d.js.map +1 -0
  358. package/src/py/api/schema.d.ts +1 -0
  359. package/src/py/api/schema.json +5 -0
  360. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1520 -0
  361. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +63 -0
  362. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  363. package/src/py/dynamodb/agent-connection/generator.js +45 -0
  364. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  365. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  366. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  367. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  368. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  369. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +32 -0
  370. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  371. package/src/py/dynamodb/fast-api-connection/generator.js +39 -0
  372. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  373. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  374. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  375. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  376. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  377. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  378. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  379. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  380. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  381. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  382. package/src/py/dynamodb/files/config.json.template +24 -0
  383. package/src/py/dynamodb/generator.d.ts +39 -0
  384. package/src/py/dynamodb/generator.js +130 -0
  385. package/src/py/dynamodb/generator.js.map +1 -0
  386. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +63 -0
  387. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  388. package/src/py/dynamodb/mcp-server-connection/generator.js +45 -0
  389. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  390. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  391. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  392. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  393. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  394. package/src/py/dynamodb/schema.d.js +6 -0
  395. package/src/py/dynamodb/schema.d.js.map +1 -0
  396. package/src/py/dynamodb/schema.d.ts +16 -0
  397. package/src/py/dynamodb/schema.json +76 -0
  398. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +240 -4693
  399. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  400. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  401. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  402. package/src/py/fast-api/generator.d.ts +68 -0
  403. package/src/py/fast-api/generator.js +134 -95
  404. package/src/py/fast-api/generator.js.map +1 -1
  405. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  406. package/src/py/fast-api/react/generator.d.ts +16 -1
  407. package/src/py/fast-api/react/generator.js +38 -26
  408. package/src/py/fast-api/react/generator.js.map +1 -1
  409. package/src/py/fast-api/react/open-api.js +31 -29
  410. package/src/py/fast-api/react/open-api.js.map +1 -1
  411. package/src/py/fast-api/react/schema.d.js +6 -0
  412. package/src/py/fast-api/react/schema.d.js.map +1 -0
  413. package/src/py/fast-api/react/schema.d.ts +1 -0
  414. package/src/py/fast-api/react/schema.json +5 -0
  415. package/src/py/fast-api/schema.d.js +6 -0
  416. package/src/py/fast-api/schema.d.js.map +1 -0
  417. package/src/py/fast-api/schema.d.ts +1 -0
  418. package/src/py/fast-api/schema.json +6 -0
  419. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  420. package/src/py/lambda-function/generator.d.ts +21 -0
  421. package/src/py/lambda-function/generator.js +82 -62
  422. package/src/py/lambda-function/generator.js.map +1 -1
  423. package/src/py/lambda-function/schema.d.js +6 -0
  424. package/src/py/lambda-function/schema.d.js.map +1 -0
  425. package/src/py/lambda-function/schema.d.ts +1 -0
  426. package/src/py/lambda-function/schema.json +5 -0
  427. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +221 -21
  428. package/src/py/mcp-server/files/deploy/Dockerfile.template +8 -1
  429. package/src/py/mcp-server/generator.d.ts +60 -0
  430. package/src/py/mcp-server/generator.js +204 -131
  431. package/src/py/mcp-server/generator.js.map +1 -1
  432. package/src/py/mcp-server/schema.d.js +6 -0
  433. package/src/py/mcp-server/schema.d.js.map +1 -0
  434. package/src/py/mcp-server/schema.d.ts +1 -0
  435. package/src/py/mcp-server/schema.json +6 -0
  436. package/src/py/project/generator.d.ts +27 -1
  437. package/src/py/project/generator.js +248 -130
  438. package/src/py/project/generator.js.map +1 -1
  439. package/src/py/project/schema.d.js +6 -0
  440. package/src/py/project/schema.d.js.map +1 -0
  441. package/src/py/project/schema.d.ts +1 -0
  442. package/src/py/project/schema.json +5 -0
  443. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2070 -0
  444. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +123 -0
  445. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  446. package/src/py/rdb/agent-connection/generator.js +52 -0
  447. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  448. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  449. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  450. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  451. package/src/py/rdb/agent-connection/schema.json +27 -0
  452. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +51 -0
  453. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  454. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  455. package/src/py/rdb/fast-api-connection/generator.js +56 -0
  456. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  457. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  458. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  459. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  460. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  461. package/src/py/rdb/files/Dockerfile.create-db-user.template +14 -0
  462. package/src/py/rdb/files/Dockerfile.migration.template +14 -0
  463. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  464. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  465. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  466. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  467. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  468. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  469. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  470. package/src/py/rdb/files/alembic.ini.template +38 -0
  471. package/src/py/rdb/files/config.json.template +14 -0
  472. package/src/py/rdb/files/migrations/env.py.template +80 -0
  473. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  474. package/src/py/rdb/generator.d.ts +95 -0
  475. package/src/py/rdb/generator.js +328 -0
  476. package/src/py/rdb/generator.js.map +1 -0
  477. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +119 -0
  478. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  479. package/src/py/rdb/mcp-server-connection/generator.js +52 -0
  480. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  481. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  482. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  483. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  484. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  485. package/src/py/rdb/schema.d.js +6 -0
  486. package/src/py/rdb/schema.d.js.map +1 -0
  487. package/src/py/rdb/schema.d.ts +16 -0
  488. package/src/py/rdb/schema.json +78 -0
  489. package/src/py/rdb/utils.d.ts +6 -0
  490. package/src/py/rdb/utils.js +16 -0
  491. package/src/py/rdb/utils.js.map +1 -0
  492. package/src/sdk/agentcore-gateway.d.ts +6 -0
  493. package/src/sdk/agentcore-gateway.js +7 -0
  494. package/src/sdk/agentcore-gateway.js.map +1 -0
  495. package/src/sdk/connection.d.ts +6 -0
  496. package/src/sdk/connection.js +6 -0
  497. package/src/sdk/connection.js.map +1 -0
  498. package/src/sdk/license.d.ts +8 -0
  499. package/src/sdk/license.js +7 -0
  500. package/src/sdk/license.js.map +1 -0
  501. package/src/sdk/open-api.d.ts +10 -0
  502. package/src/sdk/open-api.js +8 -0
  503. package/src/sdk/open-api.js.map +1 -0
  504. package/src/sdk/py.d.ts +18 -0
  505. package/src/sdk/py.js +12 -0
  506. package/src/sdk/py.js.map +1 -0
  507. package/src/sdk/terraform.d.ts +6 -0
  508. package/src/sdk/terraform.js +7 -0
  509. package/src/sdk/terraform.js.map +1 -0
  510. package/src/sdk/ts.d.ts +39 -0
  511. package/src/sdk/ts.js +41 -0
  512. package/src/sdk/ts.js.map +1 -0
  513. package/{sdk/utils/format.d.ts → src/sdk/utils/ast.d.ts} +1 -1
  514. package/src/sdk/utils/ast.js +6 -0
  515. package/src/sdk/utils/ast.js.map +1 -0
  516. package/{sdk/utils/ast.d.ts → src/sdk/utils/format.d.ts} +1 -2
  517. package/src/sdk/utils/format.js +6 -0
  518. package/src/sdk/utils/format.js.map +1 -0
  519. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  520. package/src/sdk/utils/test.js +6 -0
  521. package/src/sdk/utils/test.js.map +1 -0
  522. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +132 -32
  523. package/src/smithy/project/files/{build.Dockerfile.template → service/build.Dockerfile.template} +3 -6
  524. package/src/smithy/project/files/{src → service/src}/operations/echo.smithy.template +1 -0
  525. package/src/smithy/project/files/shapes/build.Dockerfile.template +33 -0
  526. package/src/smithy/project/files/shapes/smithy-build.json.template +7 -0
  527. package/src/smithy/project/files/shapes/src/main.smithy.template +11 -0
  528. package/src/smithy/project/generator.d.ts +32 -0
  529. package/src/smithy/project/generator.js +101 -56
  530. package/src/smithy/project/generator.js.map +1 -1
  531. package/src/smithy/project/schema.d.js +6 -0
  532. package/src/smithy/project/schema.d.js.map +1 -0
  533. package/src/smithy/project/schema.d.ts +2 -0
  534. package/src/smithy/project/schema.json +28 -1
  535. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  536. package/src/smithy/react-connection/generator.d.ts +15 -0
  537. package/src/smithy/react-connection/generator.js +54 -48
  538. package/src/smithy/react-connection/generator.js.map +1 -1
  539. package/src/smithy/react-connection/schema.d.js +6 -0
  540. package/src/smithy/react-connection/schema.d.js.map +1 -0
  541. package/src/smithy/react-connection/schema.d.ts +1 -0
  542. package/src/smithy/react-connection/schema.json +5 -0
  543. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +847 -104
  544. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  545. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  546. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  547. package/src/smithy/ts/api/files/service.ts.template +3 -3
  548. package/src/smithy/ts/api/generator.d.ts +84 -0
  549. package/src/smithy/ts/api/generator.js +187 -114
  550. package/src/smithy/ts/api/generator.js.map +1 -1
  551. package/src/smithy/ts/api/schema.d.js +6 -0
  552. package/src/smithy/ts/api/schema.d.js.map +1 -0
  553. package/src/smithy/ts/api/schema.d.ts +1 -0
  554. package/src/smithy/ts/api/schema.json +6 -0
  555. package/src/terraform/project/files/application/scripts/bootstrap.ts.template +40 -1
  556. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  557. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  558. package/src/terraform/project/generator.d.ts +50 -0
  559. package/src/terraform/project/generator.js +212 -111
  560. package/src/terraform/project/generator.js.map +1 -1
  561. package/src/terraform/project/schema.d.js +9 -0
  562. package/src/terraform/project/schema.d.js.map +1 -0
  563. package/src/terraform/project/schema.d.ts +1 -0
  564. package/src/terraform/project/schema.json +5 -0
  565. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1182 -184
  566. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  567. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  568. package/src/trpc/backend/files/src/index.ts.template +5 -5
  569. package/src/trpc/backend/files/src/init.ts.template +1 -1
  570. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  571. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  572. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  573. package/src/trpc/backend/files/src/router.ts.template +2 -2
  574. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  575. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  576. package/src/trpc/backend/generator.d.ts +90 -1
  577. package/src/trpc/backend/generator.js +177 -100
  578. package/src/trpc/backend/generator.js.map +1 -1
  579. package/src/trpc/backend/schema.d.js +6 -0
  580. package/src/trpc/backend/schema.d.js.map +1 -0
  581. package/src/trpc/backend/schema.d.ts +1 -0
  582. package/src/trpc/backend/schema.json +6 -0
  583. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  584. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  585. package/src/trpc/react/generator.d.ts +38 -1
  586. package/src/trpc/react/generator.js +105 -63
  587. package/src/trpc/react/generator.js.map +1 -1
  588. package/src/trpc/react/schema.d.js +6 -0
  589. package/src/trpc/react/schema.d.js.map +1 -0
  590. package/src/trpc/react/schema.d.ts +1 -0
  591. package/src/trpc/react/schema.json +5 -0
  592. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1452 -25
  593. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +258 -0
  594. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  595. package/src/ts/agent/a2a-connection/generator.d.ts +46 -0
  596. package/src/ts/agent/a2a-connection/generator.js +110 -63
  597. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  598. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  599. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  600. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  601. package/src/ts/agent/a2a-connection/schema.json +5 -0
  602. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  603. package/src/ts/agent/files/ag-ui/index.ts.template +36 -11
  604. package/src/ts/agent/files/common/agent.ts.template +15 -2
  605. package/src/ts/agent/files/common/session.ts.template +43 -0
  606. package/src/ts/agent/files/deploy/Dockerfile.template +13 -2
  607. package/src/ts/agent/files/http/client.ts.template +2 -2
  608. package/src/ts/agent/files/http/index.ts.template +2 -2
  609. package/src/ts/agent/files/http/router.ts.template +5 -5
  610. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +222 -0
  611. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  612. package/src/ts/agent/gateway-connection/generator.d.ts +47 -0
  613. package/src/ts/agent/gateway-connection/generator.js +144 -0
  614. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  615. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  616. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  617. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  618. package/src/ts/agent/gateway-connection/schema.json +31 -0
  619. package/src/ts/agent/generator.d.ts +197 -0
  620. package/src/ts/agent/generator.js +339 -156
  621. package/src/ts/agent/generator.js.map +1 -1
  622. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +194 -113
  623. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +23 -0
  624. package/src/ts/agent/mcp-connection/generator.d.ts +37 -0
  625. package/src/ts/agent/mcp-connection/generator.js +88 -65
  626. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  627. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  628. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  629. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  630. package/src/ts/agent/mcp-connection/schema.json +5 -0
  631. package/src/ts/agent/react-connection/__snapshots__/generator.spec.ts.snap +8 -4
  632. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +2 -1
  633. package/src/ts/agent/react-connection/generator.d.ts +202 -1
  634. package/src/ts/agent/react-connection/generator.js +158 -99
  635. package/src/ts/agent/react-connection/generator.js.map +1 -1
  636. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  637. package/src/ts/agent/react-connection/local-dev.js +17 -0
  638. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  639. package/src/ts/agent/react-connection/schema.d.js +8 -0
  640. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  641. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  642. package/src/ts/agent/react-connection/schema.json +5 -0
  643. package/src/ts/agent/schema.d.js +6 -0
  644. package/src/ts/agent/schema.d.js.map +1 -0
  645. package/src/ts/agent/schema.d.ts +4 -0
  646. package/src/ts/agent/schema.json +14 -0
  647. package/src/ts/api/generator.js +16 -16
  648. package/src/ts/api/generator.js.map +1 -1
  649. package/src/ts/api/schema.d.js +6 -0
  650. package/src/ts/api/schema.d.js.map +1 -0
  651. package/src/ts/api/schema.d.ts +1 -0
  652. package/src/ts/api/schema.json +5 -0
  653. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +14 -14
  654. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  655. package/src/ts/astro-docs/generator.d.ts +38 -0
  656. package/src/ts/astro-docs/generator.js +126 -61
  657. package/src/ts/astro-docs/generator.js.map +1 -1
  658. package/src/ts/astro-docs/schema.d.js +6 -0
  659. package/src/ts/astro-docs/schema.d.js.map +1 -0
  660. package/src/ts/astro-docs/schema.d.ts +2 -2
  661. package/src/ts/astro-docs/schema.json +3 -3
  662. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +982 -0
  663. package/src/ts/dcr-proxy/generator.d.ts +34 -0
  664. package/src/ts/dcr-proxy/generator.js +115 -0
  665. package/src/ts/dcr-proxy/generator.js.map +1 -0
  666. package/src/ts/dcr-proxy/schema.d.js +6 -0
  667. package/src/ts/dcr-proxy/schema.d.js.map +1 -0
  668. package/src/ts/dcr-proxy/schema.d.ts +13 -0
  669. package/src/ts/dcr-proxy/schema.json +44 -0
  670. package/src/ts/docs/generator.js +10 -10
  671. package/src/ts/docs/generator.js.map +1 -1
  672. package/src/ts/docs/schema.d.js +6 -0
  673. package/src/ts/docs/schema.d.js.map +1 -0
  674. package/src/ts/docs/schema.d.ts +1 -4
  675. package/src/ts/docs/schema.json +3 -3
  676. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +400 -518
  677. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +23 -5
  678. package/src/ts/dynamodb/agent-connection/generator.js +27 -23
  679. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  680. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  681. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  682. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  683. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  684. package/src/ts/dynamodb/files/config.json.template +24 -0
  685. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  686. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  687. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  688. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  689. package/src/ts/dynamodb/generator.d.ts +41 -0
  690. package/src/ts/dynamodb/generator.js +106 -64
  691. package/src/ts/dynamodb/generator.js.map +1 -1
  692. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +23 -5
  693. package/src/ts/dynamodb/mcp-server-connection/generator.js +27 -23
  694. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  695. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  696. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  697. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  698. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  699. package/src/ts/dynamodb/schema.d.js +6 -0
  700. package/src/ts/dynamodb/schema.d.js.map +1 -0
  701. package/src/ts/dynamodb/schema.d.ts +2 -0
  702. package/src/ts/dynamodb/schema.json +26 -2
  703. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +12 -3
  704. package/src/ts/dynamodb/smithy-connection/generator.js +22 -22
  705. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  706. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  707. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  708. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  709. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  710. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  711. package/src/ts/dynamodb/trpc-connection/generator.js +22 -22
  712. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  713. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  714. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  715. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  716. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  717. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +8 -6
  718. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  719. package/src/ts/lambda-function/generator.d.ts +38 -0
  720. package/src/ts/lambda-function/generator.js +98 -65
  721. package/src/ts/lambda-function/generator.js.map +1 -1
  722. package/src/ts/lambda-function/io.js +83 -52
  723. package/src/ts/lambda-function/io.js.map +1 -1
  724. package/src/ts/lambda-function/schema.d.js +6 -0
  725. package/src/ts/lambda-function/schema.d.js.map +1 -0
  726. package/src/ts/lambda-function/schema.d.ts +1 -0
  727. package/src/ts/lambda-function/schema.json +5 -0
  728. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +83 -45
  729. package/src/ts/lib/biome.js +71 -35
  730. package/src/ts/lib/biome.js.map +1 -1
  731. package/src/ts/lib/generator.d.ts +7 -0
  732. package/src/ts/lib/generator.js +115 -103
  733. package/src/ts/lib/generator.js.map +1 -1
  734. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  735. package/src/ts/lib/schema.d.js +6 -0
  736. package/src/ts/lib/schema.d.js.map +1 -0
  737. package/src/ts/lib/schema.d.ts +1 -1
  738. package/src/ts/lib/schema.json +5 -0
  739. package/src/ts/lib/ts-project-utils.d.ts +13 -1
  740. package/src/ts/lib/ts-project-utils.js +96 -71
  741. package/src/ts/lib/ts-project-utils.js.map +1 -1
  742. package/src/ts/lib/types.d.ts +6 -0
  743. package/src/ts/lib/types.js +5 -2
  744. package/src/ts/lib/types.js.map +1 -1
  745. package/src/ts/lib/vitest.d.ts +10 -1
  746. package/src/ts/lib/vitest.js +42 -26
  747. package/src/ts/lib/vitest.js.map +1 -1
  748. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +221 -44
  749. package/src/ts/mcp-server/files/Dockerfile.template +13 -2
  750. package/src/ts/mcp-server/generator.d.ts +102 -0
  751. package/src/ts/mcp-server/generator.js +231 -148
  752. package/src/ts/mcp-server/generator.js.map +1 -1
  753. package/src/ts/mcp-server/schema.d.js +6 -0
  754. package/src/ts/mcp-server/schema.d.js.map +1 -0
  755. package/src/ts/mcp-server/schema.d.ts +1 -0
  756. package/src/ts/mcp-server/schema.json +6 -0
  757. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +27 -12
  758. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  759. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  760. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  761. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  762. package/src/ts/nx-generator/generator.d.ts +3 -0
  763. package/src/ts/nx-generator/generator.js +124 -73
  764. package/src/ts/nx-generator/generator.js.map +1 -1
  765. package/src/ts/nx-generator/schema.d.js +6 -0
  766. package/src/ts/nx-generator/schema.d.js.map +1 -0
  767. package/src/ts/nx-generator/schema.d.ts +1 -0
  768. package/src/ts/nx-generator/schema.json +5 -0
  769. package/src/ts/nx-migration/files/migration.spec.ts.template +26 -0
  770. package/src/ts/nx-migration/files/migration.ts.template +65 -0
  771. package/src/ts/nx-migration/files/prompt.md.template +46 -0
  772. package/src/ts/nx-migration/generator.d.ts +27 -0
  773. package/src/ts/nx-migration/generator.js +141 -0
  774. package/src/ts/nx-migration/generator.js.map +1 -0
  775. package/src/ts/nx-migration/schema.d.js +6 -0
  776. package/src/ts/nx-migration/schema.d.js.map +1 -0
  777. package/src/ts/nx-migration/schema.d.ts +13 -0
  778. package/src/ts/nx-migration/schema.json +63 -0
  779. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +36 -25
  780. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  781. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  782. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  783. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  784. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  785. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  786. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +4 -4
  787. package/src/ts/nx-plugin/generator.d.ts +3 -0
  788. package/src/ts/nx-plugin/generator.js +67 -50
  789. package/src/ts/nx-plugin/generator.js.map +1 -1
  790. package/src/ts/nx-plugin/schema.d.js +9 -0
  791. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  792. package/src/ts/nx-plugin/schema.json +5 -0
  793. package/src/ts/nx-plugin/utils.d.ts +27 -2
  794. package/src/ts/nx-plugin/utils.js +66 -51
  795. package/src/ts/nx-plugin/utils.js.map +1 -1
  796. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +551 -642
  797. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +16 -6
  798. package/src/ts/rdb/agent-connection/generator.js +44 -39
  799. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  800. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  801. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  802. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  803. package/src/ts/rdb/agent-connection/schema.json +5 -0
  804. package/src/ts/rdb/files/Dockerfile.template +19 -1
  805. package/src/ts/rdb/files/config.json.template +14 -0
  806. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  807. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  808. package/src/ts/rdb/files/src/index.ts.template +1 -2
  809. package/src/ts/rdb/files/src/migration-handler.ts.template +5 -30
  810. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  811. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  812. package/src/ts/rdb/generator.d.ts +109 -4
  813. package/src/ts/rdb/generator.js +257 -138
  814. package/src/ts/rdb/generator.js.map +1 -1
  815. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +16 -6
  816. package/src/ts/rdb/mcp-server-connection/generator.js +42 -37
  817. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  818. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  819. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  820. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  821. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  822. package/src/ts/rdb/schema.d.js +6 -0
  823. package/src/ts/rdb/schema.d.js.map +1 -0
  824. package/src/ts/rdb/schema.d.ts +1 -0
  825. package/src/ts/rdb/schema.json +7 -1
  826. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +12 -3
  827. package/src/ts/rdb/smithy-connection/generator.js +48 -43
  828. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  829. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  830. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  831. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  832. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  833. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +12 -3
  834. package/src/ts/rdb/trpc-connection/generator.js +37 -31
  835. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  836. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  837. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  838. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  839. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  840. package/src/ts/rdb/utils.js +9 -11
  841. package/src/ts/rdb/utils.js.map +1 -1
  842. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +17 -16
  843. package/src/ts/react-website/agui/generator.d.ts +97 -0
  844. package/src/ts/react-website/agui/generator.js +114 -67
  845. package/src/ts/react-website/agui/generator.js.map +1 -1
  846. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1381 -634
  847. package/src/ts/react-website/app/generator.d.ts +142 -2
  848. package/src/ts/react-website/app/generator.js +330 -206
  849. package/src/ts/react-website/app/generator.js.map +1 -1
  850. package/src/ts/react-website/app/schema.d.js +6 -0
  851. package/src/ts/react-website/app/schema.d.js.map +1 -0
  852. package/src/ts/react-website/app/schema.d.ts +1 -1
  853. package/src/ts/react-website/app/schema.json +12 -6
  854. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +161 -26
  855. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +48 -12
  856. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  857. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  858. package/src/ts/react-website/cognito-auth/generator.d.ts +25 -1
  859. package/src/ts/react-website/cognito-auth/generator.js +79 -64
  860. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  861. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +3 -1
  862. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  863. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  864. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  865. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  866. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  867. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  868. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  869. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  870. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  871. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  872. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  873. package/src/ts/react-website/runtime-config/generator.js +29 -31
  874. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  875. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  876. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  877. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  878. package/src/ts/react-website/runtime-config/schema.json +5 -0
  879. package/src/ts/sync/generator.js +137 -60
  880. package/src/ts/sync/generator.js.map +1 -1
  881. package/src/ts/website/app/generator.js +10 -10
  882. package/src/ts/website/app/generator.js.map +1 -1
  883. package/src/ts/website/app/schema.d.js +6 -0
  884. package/src/ts/website/app/schema.d.js.map +1 -0
  885. package/src/ts/website/app/schema.d.ts +1 -1
  886. package/src/ts/website/app/schema.json +11 -6
  887. package/src/ts/website/auth/generator.d.ts +1 -1
  888. package/src/ts/website/auth/generator.js +11 -10
  889. package/src/ts/website/auth/generator.js.map +1 -1
  890. package/src/ts/website/auth/schema.d.js +6 -0
  891. package/src/ts/website/auth/schema.d.js.map +1 -0
  892. package/src/ts/website/auth/schema.d.ts +1 -0
  893. package/src/ts/website/auth/schema.json +5 -0
  894. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +21 -0
  895. package/src/utils/add-dependencies.d.ts +38 -0
  896. package/src/utils/add-dependencies.js +83 -0
  897. package/src/utils/add-dependencies.js.map +1 -0
  898. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  899. package/src/utils/agent-chat/agent-chat.js +31 -0
  900. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  901. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  902. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  903. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  904. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  905. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  906. package/src/utils/agent-connection/agent-connection.d.ts +139 -26
  907. package/src/utils/agent-connection/agent-connection.js +500 -103
  908. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  909. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  910. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  911. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  912. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  913. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  914. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +33 -33
  915. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  916. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  917. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +47 -0
  918. package/src/utils/agent-connection/files/core-strands/base/tool-errors-strands.ts.template +29 -0
  919. 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
  920. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  921. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  922. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  923. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  924. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  925. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  926. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  927. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  928. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  929. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  930. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +6 -18
  931. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  932. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  933. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  934. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  935. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  936. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +54 -0
  937. package/src/utils/agent-core-constructs/agent-core-constructs.js +153 -38
  938. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  939. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +170 -6
  940. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +87 -0
  941. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +624 -0
  942. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  943. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +212 -1
  944. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +505 -0
  945. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  946. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +159 -13
  947. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  948. package/src/utils/api-constructs/api-constructs.d.ts +30 -2
  949. package/src/utils/api-constructs/api-constructs.js +82 -32
  950. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  951. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +20 -15
  952. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -16
  953. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  954. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  955. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  956. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +56 -17
  957. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  958. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  959. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  960. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  961. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  962. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  963. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  964. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  965. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  966. package/src/utils/ast/website.js +18 -20
  967. package/src/utils/ast/website.js.map +1 -1
  968. package/src/utils/ast.d.ts +9 -0
  969. package/src/utils/ast.js +125 -86
  970. package/src/utils/ast.js.map +1 -1
  971. package/src/utils/base-tsconfig.d.ts +30 -0
  972. package/src/utils/base-tsconfig.js +32 -0
  973. package/src/utils/base-tsconfig.js.map +1 -0
  974. package/src/utils/bundle/bundle.d.ts +6 -1
  975. package/src/utils/bundle/bundle.js +57 -47
  976. package/src/utils/bundle/bundle.js.map +1 -1
  977. package/src/utils/commands.d.ts +14 -3
  978. package/src/utils/commands.js +83 -28
  979. package/src/utils/commands.js.map +1 -1
  980. package/src/utils/config/index.d.ts +18 -2
  981. package/src/utils/config/index.js +5 -4
  982. package/src/utils/config/index.js.map +1 -1
  983. package/src/utils/config/utils.d.ts +8 -2
  984. package/src/utils/config/utils.js +56 -59
  985. package/src/utils/config/utils.js.map +1 -1
  986. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +16 -3
  987. package/src/utils/connection/open-api/react.d.ts +31 -5
  988. package/src/utils/connection/open-api/react.js +106 -76
  989. package/src/utils/connection/open-api/react.js.map +1 -1
  990. package/src/utils/containers.js +22 -23
  991. package/src/utils/containers.js.map +1 -1
  992. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +38 -0
  993. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +93 -0
  994. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -0
  995. package/src/utils/dcr-proxy-constructs/files/cdk/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.ts.template +227 -0
  996. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorization-server-metadata.ts.template +39 -0
  997. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorize.ts.template +26 -0
  998. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/mcp-proxy.ts.template +89 -0
  999. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/protected-resource-metadata.ts.template +13 -0
  1000. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/register.ts.template +70 -0
  1001. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/token.ts.template +75 -0
  1002. package/src/utils/dcr-proxy-constructs/files/terraform/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.tf.template +410 -0
  1003. package/src/utils/declared-dependencies.d.ts +140 -0
  1004. package/src/utils/declared-dependencies.js +64 -0
  1005. package/src/utils/declared-dependencies.js.map +1 -0
  1006. package/src/utils/dependencies.d.ts +18 -0
  1007. package/src/utils/dependencies.js +206 -0
  1008. package/src/utils/dependencies.js.map +1 -0
  1009. package/src/utils/docker.d.ts +87 -0
  1010. package/src/utils/docker.js +125 -0
  1011. package/src/utils/docker.js.map +1 -0
  1012. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +1 -1
  1013. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  1014. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  1015. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  1016. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  1017. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  1018. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  1019. package/src/utils/files/common/constructs/src/core/cloudfront.ts.template +14 -0
  1020. package/src/utils/files/common/constructs/src/core/index.ts.template +5 -4
  1021. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  1022. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  1023. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  1024. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  1025. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  1026. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  1027. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +103 -0
  1028. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  1029. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  1030. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  1031. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  1032. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  1033. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  1034. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  1035. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +115 -0
  1036. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  1037. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  1038. package/src/utils/files/shadcn/components.json.template +1 -1
  1039. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  1040. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  1041. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  1042. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  1043. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  1044. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  1045. package/src/utils/format.d.ts +39 -4
  1046. package/src/utils/format.js +327 -127
  1047. package/src/utils/format.js.map +1 -1
  1048. package/src/utils/fs.d.ts +16 -5
  1049. package/src/utils/fs.js +29 -15
  1050. package/src/utils/fs.js.map +1 -1
  1051. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  1052. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  1053. package/src/utils/function-constructs/function-constructs.js +22 -25
  1054. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  1055. package/src/utils/generators.js +18 -20
  1056. package/src/utils/generators.js.map +1 -1
  1057. package/src/utils/git.js +19 -34
  1058. package/src/utils/git.js.map +1 -1
  1059. package/src/utils/iac-providers.js +5 -5
  1060. package/src/utils/iac-providers.js.map +1 -1
  1061. package/src/utils/iac.js +12 -14
  1062. package/src/utils/iac.js.map +1 -1
  1063. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +153 -24
  1064. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  1065. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +129 -12
  1066. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  1067. package/src/utils/identity-constructs/identity-constructs.d.ts +10 -0
  1068. package/src/utils/identity-constructs/identity-constructs.js +52 -31
  1069. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  1070. package/src/utils/init.d.ts +72 -0
  1071. package/src/utils/init.js +300 -0
  1072. package/src/utils/init.js.map +1 -0
  1073. package/src/utils/install.d.ts +32 -0
  1074. package/src/utils/install.js +58 -0
  1075. package/src/utils/install.js.map +1 -0
  1076. package/src/utils/js.js +27 -20
  1077. package/src/utils/js.js.map +1 -1
  1078. package/src/utils/mcp.d.ts +9 -0
  1079. package/src/utils/mcp.js +42 -41
  1080. package/src/utils/mcp.js.map +1 -1
  1081. package/src/utils/metrics.d.ts +7 -1
  1082. package/src/utils/metrics.js +61 -46
  1083. package/src/utils/metrics.js.map +1 -1
  1084. package/src/utils/migration-manifest.d.ts +58 -0
  1085. package/src/utils/migration-manifest.js +76 -0
  1086. package/src/utils/migration-manifest.js.map +1 -0
  1087. package/src/utils/migration-versions.d.ts +116 -0
  1088. package/src/utils/migration-versions.js +186 -0
  1089. package/src/utils/migration-versions.js.map +1 -0
  1090. package/src/utils/mock-project-graph.js +8 -12
  1091. package/src/utils/mock-project-graph.js.map +1 -1
  1092. package/src/utils/module-format.d.ts +25 -0
  1093. package/src/utils/module-format.js +45 -0
  1094. package/src/utils/module-format.js.map +1 -0
  1095. package/src/utils/names.d.ts +22 -0
  1096. package/src/utils/names.js +44 -48
  1097. package/src/utils/names.js.map +1 -1
  1098. package/src/utils/npm-scope.d.ts +0 -4
  1099. package/src/utils/npm-scope.js +7 -20
  1100. package/src/utils/npm-scope.js.map +1 -1
  1101. package/src/utils/nx.d.ts +74 -3
  1102. package/src/utils/nx.js +196 -75
  1103. package/src/utils/nx.js.map +1 -1
  1104. package/src/utils/nxlv-python.js +27 -15
  1105. package/src/utils/nxlv-python.js.map +1 -1
  1106. package/src/utils/object.js +5 -11
  1107. package/src/utils/object.js.map +1 -1
  1108. package/src/utils/paths.js +11 -15
  1109. package/src/utils/paths.js.map +1 -1
  1110. package/src/utils/pkg-manager.js +4 -9
  1111. package/src/utils/pkg-manager.js.map +1 -1
  1112. package/src/utils/pnpm-workspace.d.ts +1 -12
  1113. package/src/utils/pnpm-workspace.js +16 -43
  1114. package/src/utils/pnpm-workspace.js.map +1 -1
  1115. package/src/utils/port.d.ts +28 -6
  1116. package/src/utils/port.js +67 -28
  1117. package/src/utils/port.js.map +1 -1
  1118. package/src/utils/project-package-json.d.ts +39 -0
  1119. package/src/utils/project-package-json.js +119 -0
  1120. package/src/utils/project-package-json.js.map +1 -0
  1121. package/src/utils/py.d.ts +17 -3
  1122. package/src/utils/py.js +73 -48
  1123. package/src/utils/py.js.map +1 -1
  1124. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1125. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +112 -88
  1126. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1127. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +60 -53
  1128. package/src/utils/rdb-constructs/rdb-constructs.d.ts +12 -1
  1129. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1130. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1131. package/src/utils/ruff.d.ts +59 -0
  1132. package/src/utils/ruff.js +140 -0
  1133. package/src/utils/ruff.js.map +1 -0
  1134. package/src/utils/shared-constructs-constants.d.ts +46 -4
  1135. package/src/utils/shared-constructs-constants.js +50 -15
  1136. package/src/utils/shared-constructs-constants.js.map +1 -1
  1137. package/src/utils/shared-constructs.d.ts +4 -1
  1138. package/src/utils/shared-constructs.js +62 -67
  1139. package/src/utils/shared-constructs.js.map +1 -1
  1140. package/src/utils/shared-dynamodb-scripts.d.ts +18 -0
  1141. package/src/utils/shared-dynamodb-scripts.js +35 -0
  1142. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1143. package/src/utils/shared-infra-config.js +31 -30
  1144. package/src/utils/shared-infra-config.js.map +1 -1
  1145. package/src/utils/shared-infra-scripts.d.ts +26 -0
  1146. package/src/utils/shared-infra-scripts.js +58 -0
  1147. package/src/utils/shared-infra-scripts.js.map +1 -0
  1148. package/src/utils/shared-rdb-scripts.d.ts +27 -0
  1149. package/src/utils/shared-rdb-scripts.js +59 -0
  1150. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1151. package/src/utils/shared-scripts.d.ts +1 -4
  1152. package/src/utils/shared-scripts.js +12 -38
  1153. package/src/utils/shared-scripts.js.map +1 -1
  1154. package/src/utils/shared-shadcn.d.ts +26 -1
  1155. package/src/utils/shared-shadcn.js +93 -67
  1156. package/src/utils/shared-shadcn.js.map +1 -1
  1157. package/src/utils/test-git.d.ts +39 -0
  1158. package/src/utils/test-git.js +117 -0
  1159. package/src/utils/test-git.js.map +1 -0
  1160. package/src/utils/test.d.ts +10 -0
  1161. package/src/utils/test.js +44 -25
  1162. package/src/utils/test.js.map +1 -1
  1163. package/src/utils/toml.d.ts +5 -0
  1164. package/src/utils/toml.js +17 -15
  1165. package/src/utils/toml.js.map +1 -1
  1166. package/src/utils/version-upgrade-migration/migration.d.ts +14 -0
  1167. package/src/utils/version-upgrade-migration/migration.js +16 -0
  1168. package/src/utils/version-upgrade-migration/migration.js.map +1 -0
  1169. package/src/utils/version-upgrade-migration/nx-package-updates.d.ts +45 -0
  1170. package/src/utils/version-upgrade-migration/nx-package-updates.js +50 -0
  1171. package/src/utils/version-upgrade-migration/nx-package-updates.js.map +1 -0
  1172. package/src/utils/version-upgrade-migration/owned-dependencies.d.ts +76 -0
  1173. package/src/utils/version-upgrade-migration/owned-dependencies.js +146 -0
  1174. package/src/utils/version-upgrade-migration/owned-dependencies.js.map +1 -0
  1175. package/src/utils/version-upgrade-migration/register.d.ts +29 -0
  1176. package/src/utils/version-upgrade-migration/register.js +42 -0
  1177. package/src/utils/version-upgrade-migration/register.js.map +1 -0
  1178. package/src/utils/version-upgrade-migration/sync-embedded-versions.d.ts +26 -0
  1179. package/src/utils/version-upgrade-migration/sync-embedded-versions.js +304 -0
  1180. package/src/utils/version-upgrade-migration/sync-embedded-versions.js.map +1 -0
  1181. package/src/utils/version-upgrade-migration/sync-metrics-version.d.ts +13 -0
  1182. package/src/utils/version-upgrade-migration/sync-metrics-version.js +33 -0
  1183. package/src/utils/version-upgrade-migration/sync-metrics-version.js.map +1 -0
  1184. package/src/utils/version-upgrade-migration/sync-vended-versions.d.ts +10 -0
  1185. package/src/utils/version-upgrade-migration/sync-vended-versions.js +518 -0
  1186. package/src/utils/version-upgrade-migration/sync-vended-versions.js.map +1 -0
  1187. package/src/utils/version-upgrade-migration/vended-upgrade.d.ts +14 -0
  1188. package/src/utils/version-upgrade-migration/vended-upgrade.js +40 -0
  1189. package/src/utils/version-upgrade-migration/vended-upgrade.js.map +1 -0
  1190. package/src/utils/versions.d.ts +206 -106
  1191. package/src/utils/versions.js +238 -119
  1192. package/src/utils/versions.js.map +1 -1
  1193. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1194. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +207 -41
  1195. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1196. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1197. package/src/utils/website-constructs/website-constructs.d.ts +11 -0
  1198. package/src/utils/website-constructs/website-constructs.js +49 -30
  1199. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1200. package/bin/aws-nx-mcp.d.ts +0 -2
  1201. package/bin/aws-nx-mcp.js +0 -17
  1202. package/bin/aws-nx-mcp.js.map +0 -1
  1203. package/sdk/connection.d.ts +0 -6
  1204. package/sdk/connection.js +0 -10
  1205. package/sdk/connection.js.map +0 -1
  1206. package/sdk/license.d.ts +0 -8
  1207. package/sdk/license.js +0 -13
  1208. package/sdk/license.js.map +0 -1
  1209. package/sdk/open-api.d.ts +0 -10
  1210. package/sdk/open-api.js +0 -15
  1211. package/sdk/open-api.js.map +0 -1
  1212. package/sdk/py.d.ts +0 -14
  1213. package/sdk/py.js +0 -18
  1214. package/sdk/py.js.map +0 -1
  1215. package/sdk/terraform.d.ts +0 -6
  1216. package/sdk/terraform.js +0 -11
  1217. package/sdk/terraform.js.map +0 -1
  1218. package/sdk/ts.d.ts +0 -29
  1219. package/sdk/ts.js +0 -47
  1220. package/sdk/ts.js.map +0 -1
  1221. package/sdk/utils/ast.js +0 -12
  1222. package/sdk/utils/ast.js.map +0 -1
  1223. package/sdk/utils/format.js +0 -10
  1224. package/sdk/utils/format.js.map +0 -1
  1225. package/sdk/utils/test.js +0 -10
  1226. package/sdk/utils/test.js.map +0 -1
  1227. package/src/connection/agent-serve-local.d.ts +0 -33
  1228. package/src/connection/agent-serve-local.js +0 -48
  1229. package/src/connection/agent-serve-local.js.map +0 -1
  1230. package/src/connection/serve-local.js +0 -41
  1231. package/src/connection/serve-local.js.map +0 -1
  1232. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1233. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1234. package/src/py/agent/react-connection/serve-local.js +0 -30
  1235. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1236. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1237. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1238. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1239. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1240. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1241. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1242. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1243. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1244. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1245. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1246. package/src/ts/rdb/files/scripts/pull-image.ts.template +0 -15
  1247. package/src/ts/rdb/files/scripts/start-container.ts.template +0 -84
  1248. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1249. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1250. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1251. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1252. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1253. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1254. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1255. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1256. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1257. /package/src/smithy/project/files/{smithy-build.json.template → service/smithy-build.json.template} +0 -0
  1258. /package/src/smithy/project/files/{src → service/src}/main.smithy.template +0 -0
  1259. /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
  1260. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1261. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1262. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"names.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/names.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport lodashCamelCase from 'lodash.camelcase';\nimport deburr from 'lodash.deburr';\n\n/**\n * camelCase that first transliterates accents and strips any character that is\n * not a valid identifier character, so inputs like `getFoo≠Bar` or `café` yield\n * valid JS/TS identifiers rather than leaking the raw symbol into generated code.\n */\nexport const camelCase = (str: string): string =>\n lodashCamelCase(deburr(str ?? '').replace(/[^a-zA-Z0-9]+/g, ' '));\n\nexport const toClassName = (str?: string): string => {\n if (!str) {\n return str;\n }\n const words = str.replace(/[^a-zA-Z0-9]/g, ' ').split(/\\s+/);\n return words\n .map((word, index) => {\n if (index === 0 && /^\\d/.test(word)) {\n return '_' + word;\n }\n return word.charAt(0).toUpperCase() + word.slice(1);\n })\n .join('');\n};\n\nexport const toKebabCase = (str?: string): string =>\n str?.split('/').map(kebabCase).join('/');\n\nexport const toSnakeCase = (str?: string): string =>\n str?.split('/').map(snakeCase).join('/');\n\nexport const upperFirst = (str: string): string =>\n str.charAt(0).toUpperCase() + str.slice(1);\n\nexport const pascalCase = (str: string): string => upperFirst(camelCase(str));\n\nexport const snakeCase = (str: string): string => {\n return (\n deburr(str)\n // Replace series of special characters with underscores\n .replace(/[^a-zA-Z0-9]+/g, '_')\n // Replace capital letters preceded by lowercase or numbers with underscore + lowercase\n .replace(/([a-z0-9])([A-Z])/g, '$1_$2')\n // Convert to lowercase\n .toLowerCase()\n // Remove leading/trailing underscores\n .replace(/^_+|_+$/g, '')\n );\n};\n\nexport const kebabCase = (str: string): string => {\n return (\n deburr(str)\n // Replace series of special characters with hyphens\n .replace(/[^a-zA-Z0-9]+/g, '-')\n // Replace capital letters preceded by lowercase or numbers with hyphen + lowercase\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n // Convert to lowercase\n .toLowerCase()\n // Remove leading/trailing hyphens\n .replace(/^-+|-+$/g, '')\n );\n};\n\n/**\n * Normalise a string to a PEP 503 distribution name.\n *\n * PEP 503 (https://peps.python.org/pep-0503/#normalized-names) defines the\n * canonical form of a Python project distribution name: lower-cased, with any\n * run of `.`, `_` or `-` collapsed to a single `-`. This is the name uv writes\n * into `uv.lock` and the form `@nxlv/python` expects when inferring workspace\n * dependency edges from `[project].dependencies` / `[tool.uv.sources]`.\n *\n * Importantly this is NOT kebab-case: it does not split on camelCase humps,\n * spaces or other punctuation, so a dotted nx id like `scope.my_lib` becomes\n * `scope-my-lib` (and only those three separators are touched).\n *\n * eg. `sojourner.agent_connection` -> `sojourner-agent-connection`\n */\nexport const normalizeDistributionName = (str: string): string =>\n str.toLowerCase().replace(/[._-]+/g, '-');\n\n// Convert a string to a dot notation string (eg. lambda_handler/my_handler.py -> lambda_handler.my_handler)\nexport const toDotNotation = (str: string): string =>\n str\n ?.replace(/^\\/|\\/$/g, '') // Remove leading/trailing slashes\n .replace(/\\.[^/.]+$/g, '') // Remove any file extensions\n .split('/')\n .filter(Boolean) // Remove empty segments (in case of double slashes)\n .join('.');\n"],"names":["lodashCamelCase","deburr","camelCase","str","replace","toClassName","words","split","map","word","index","test","charAt","toUpperCase","slice","join","toKebabCase","kebabCase","toSnakeCase","snakeCase","upperFirst","pascalCase","toLowerCase","normalizeDistributionName","toDotNotation","filter","Boolean"],"mappings":"AAAA;;;CAGC,GACD,OAAOA,qBAAqB,mBAAmB;AAC/C,OAAOC,YAAY,gBAAgB;AAEnC;;;;CAIC,GACD,OAAO,MAAMC,YAAY,CAACC,MACxBH,gBAAgBC,OAAOE,OAAO,IAAIC,OAAO,CAAC,kBAAkB,MAAM;AAEpE,OAAO,MAAMC,cAAc,CAACF;IAC1B,IAAI,CAACA,KAAK;QACR,OAAOA;IACT;IACA,MAAMG,QAAQH,IAAIC,OAAO,CAAC,iBAAiB,KAAKG,KAAK,CAAC;IACtD,OAAOD,MACJE,GAAG,CAAC,CAACC,MAAMC;QACV,IAAIA,UAAU,KAAK,MAAMC,IAAI,CAACF,OAAO;YACnC,OAAO,MAAMA;QACf;QACA,OAAOA,KAAKG,MAAM,CAAC,GAAGC,WAAW,KAAKJ,KAAKK,KAAK,CAAC;IACnD,GACCC,IAAI,CAAC;AACV,EAAE;AAEF,OAAO,MAAMC,cAAc,CAACb,MAC1BA,KAAKI,MAAM,KAAKC,IAAIS,WAAWF,KAAK,KAAK;AAE3C,OAAO,MAAMG,cAAc,CAACf,MAC1BA,KAAKI,MAAM,KAAKC,IAAIW,WAAWJ,KAAK,KAAK;AAE3C,OAAO,MAAMK,aAAa,CAACjB,MACzBA,IAAIS,MAAM,CAAC,GAAGC,WAAW,KAAKV,IAAIW,KAAK,CAAC,GAAG;AAE7C,OAAO,MAAMO,aAAa,CAAClB,MAAwBiB,WAAWlB,UAAUC,MAAM;AAE9E,OAAO,MAAMgB,YAAY,CAAChB;IACxB,OACEF,OAAOE,IACL,wDAAwD;KACvDC,OAAO,CAAC,kBAAkB,IAC3B,uFAAuF;KACtFA,OAAO,CAAC,sBAAsB,QAC/B,uBAAuB;KACtBkB,WAAW,EACZ,sCAAsC;KACrClB,OAAO,CAAC,YAAY;AAE3B,EAAE;AAEF,OAAO,MAAMa,YAAY,CAACd;IACxB,OACEF,OAAOE,IACL,oDAAoD;KACnDC,OAAO,CAAC,kBAAkB,IAC3B,mFAAmF;KAClFA,OAAO,CAAC,sBAAsB,QAC/B,uBAAuB;KACtBkB,WAAW,EACZ,kCAAkC;KACjClB,OAAO,CAAC,YAAY;AAE3B,EAAE;AAEF;;;;;;;;;;;;;;CAcC,GACD,OAAO,MAAMmB,4BAA4B,CAACpB,MACxCA,IAAImB,WAAW,GAAGlB,OAAO,CAAC,WAAW,KAAK;AAE5C,4GAA4G;AAC5G,OAAO,MAAMoB,gBAAgB,CAACrB,MAC5BA,KACIC,QAAQ,YAAY,IAAI,kCAAkC;KAC3DA,QAAQ,cAAc,IAAI,6BAA6B;KACvDG,MAAM,KACNkB,OAAOC,SAAS,oDAAoD;KACpEX,KAAK,KAAK"}
@@ -5,7 +5,3 @@
5
5
  import { type Tree } from '@nx/devkit';
6
6
  export declare function getNpmScope(tree: Tree): string | undefined;
7
7
  export declare function getNpmScopePrefix(tree: Tree): string | undefined;
8
- /**
9
- * Returns a safe import alias for local packages to avoid the potential for sniping attacks
10
- */
11
- export declare function toScopeAlias(npmScopeOrPackageName: string): string;
@@ -1,29 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNpmScope = getNpmScope;
4
- exports.getNpmScopePrefix = getNpmScopePrefix;
5
- exports.toScopeAlias = toScopeAlias;
6
1
  /**
7
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
3
  * SPDX-License-Identifier: Apache-2.0
9
- */
10
- const devkit_1 = require("@nx/devkit");
11
- function getNpmScope(tree) {
12
- const { name } = tree.exists('package.json')
13
- ? (0, devkit_1.readJson)(tree, 'package.json')
14
- : { name: null };
4
+ */ import { readJson } from "@nx/devkit";
5
+ export function getNpmScope(tree) {
6
+ const { name } = tree.exists('package.json') ? readJson(tree, 'package.json') : {
7
+ name: null
8
+ };
15
9
  return name?.startsWith('@') ? name.split('/')[0].substring(1) : 'monorepo';
16
10
  }
17
- function getNpmScopePrefix(tree) {
11
+ export function getNpmScopePrefix(tree) {
18
12
  const npmScope = getNpmScope(tree);
19
13
  return `@${npmScope}/`;
20
14
  }
21
- /**
22
- * Returns a safe import alias for local packages to avoid the potential for sniping attacks
23
- */
24
- function toScopeAlias(npmScopeOrPackageName) {
25
- return npmScopeOrPackageName.startsWith('@')
26
- ? `:${npmScopeOrPackageName.slice(1)}`
27
- : npmScopeOrPackageName;
28
- }
15
+
29
16
  //# sourceMappingURL=npm-scope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-scope.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/npm-scope.ts"],"names":[],"mappings":";;AAKA,kCAOC;AACD,8CAGC;AAID,oCAIC;AAxBD;;;GAGG;AACH,uCAAiD;AACjD,SAAgB,WAAW,CAAC,IAAU;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAC,IAAA,iBAAQ,EAEL,IAAI,EAAE,cAAc,CAAC;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnB,OAAO,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9E,CAAC;AACD,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,QAAQ,GAAG,CAAC;AACzB,CAAC;AACD;;GAEG;AACH,SAAgB,YAAY,CAAC,qBAA6B;IACxD,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtC,CAAC,CAAC,qBAAqB,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/npm-scope.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { readJson, type Tree } from '@nx/devkit';\nexport function getNpmScope(tree: Tree): string | undefined {\n const { name } = tree.exists('package.json')\n ? readJson<{\n name?: string;\n }>(tree, 'package.json')\n : { name: null };\n return name?.startsWith('@') ? name.split('/')[0].substring(1) : 'monorepo';\n}\nexport function getNpmScopePrefix(tree: Tree): string | undefined {\n const npmScope = getNpmScope(tree);\n return `@${npmScope}/`;\n}\n"],"names":["readJson","getNpmScope","tree","name","exists","startsWith","split","substring","getNpmScopePrefix","npmScope"],"mappings":"AAAA;;;CAGC,GACD,SAASA,QAAQ,QAAmB,aAAa;AACjD,OAAO,SAASC,YAAYC,IAAU;IACpC,MAAM,EAAEC,IAAI,EAAE,GAAGD,KAAKE,MAAM,CAAC,kBACzBJ,SAEGE,MAAM,kBACT;QAAEC,MAAM;IAAK;IACjB,OAAOA,MAAME,WAAW,OAAOF,KAAKG,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,SAAS,CAAC,KAAK;AACnE;AACA,OAAO,SAASC,kBAAkBN,IAAU;IAC1C,MAAMO,WAAWR,YAAYC;IAC7B,OAAO,CAAC,CAAC,EAAEO,SAAS,CAAC,CAAC;AACxB"}
package/src/utils/nx.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { type ProjectConfiguration, type Tree } from '@nx/devkit';
5
+ import { type ProjectConfiguration, type TargetConfiguration, type TargetDefaultValue, type Tree } from '@nx/devkit';
6
6
  export type { GeneratorInfo, NxGeneratorInfo } from './generators';
7
7
  export { buildGeneratorInfoList } from './generators';
8
8
  import { type GeneratorInfo } from './generators';
@@ -12,14 +12,37 @@ import { type GeneratorInfo } from './generators';
12
12
  */
13
13
  export declare const listGenerators: (includeHidden?: boolean) => GeneratorInfo[];
14
14
  /**
15
- * Return generator information. Call this from a generator method with __filename
15
+ * Return generator information. Call this from a generator method with import.meta.filename
16
16
  */
17
17
  export declare const getGeneratorInfo: (generatorFileName: string) => GeneratorInfo;
18
18
  export declare const getPackageVersion: () => string;
19
+ /**
20
+ * True inside the plugin's own monorepo, where the plugin is the source rather
21
+ * than a dependency.
22
+ */
23
+ export declare const isNxPluginForAwsWorkspace: (tree: Tree) => boolean;
24
+ /**
25
+ * The `@aws/nx-plugin` devDependency entry for a workspace the plugin generates
26
+ * into, keyed to the version the running generators come from. Empty inside the
27
+ * plugin's own monorepo.
28
+ */
29
+ export declare const nxPluginSelfDependency: (tree: Tree) => Record<string, string>;
30
+ /**
31
+ * The `@aws/nx-plugin-mcp` devDependency entry, keyed to the running generators'
32
+ * version — the two packages are released in lockstep. Declaring it pins the MCP
33
+ * server the vended config runs in the workspace's lockfile, so upgrading it
34
+ * upgrades the server. Empty inside the plugin's own monorepo.
35
+ */
36
+ export declare const nxPluginMcpDependency: (tree: Tree) => Record<string, string>;
19
37
  /**
20
38
  * Read a project configuration where the project name may not be fully qualified (ie may omit the scope prefix)
21
39
  */
22
40
  export declare const readProjectConfigurationUnqualified: (tree: Tree, projectName: string) => ProjectConfiguration;
41
+ /**
42
+ * Returns whether a project with the given name already exists in the workspace.
43
+ * The project name may be unqualified (ie may omit the scope prefix).
44
+ */
45
+ export declare const projectExists: (tree: Tree, projectName: string) => boolean;
23
46
  /**
24
47
  * Add metadata about the generator that generated the project to the project.json
25
48
  */
@@ -34,17 +57,49 @@ export declare const addGeneratorMetadata: (tree: Tree, projectName: string, inf
34
57
  export interface ComponentMetadata {
35
58
  readonly generator: string;
36
59
  readonly name?: string;
60
+ /**
61
+ * What this entry wires up. For a connection that is the target — the thing
62
+ * being connected to — paired with `sourcePath` below.
63
+ */
37
64
  readonly path?: string;
65
+ /**
66
+ * The component the connection is made *from*, when both ends are components
67
+ * of a project rather than whole projects.
68
+ *
69
+ * A connection records the project it lives on and the target it reaches, which
70
+ * alone can't tell which of several components on that project is wired up.
71
+ * Recorded as a path for the same reason `path` is: it identifies a component
72
+ * within its project without depending on a name that may repeat.
73
+ */
74
+ readonly sourcePath?: string;
38
75
  [key: string]: any;
39
76
  }
40
77
  /**
41
78
  * Add metadata about the generator that generated the component to the project.json
79
+ *
80
+ * A connection between two components passes the source's path as
81
+ * `additionalMetadata.sourcePath`, so the pair is identifiable rather than just
82
+ * the two projects.
42
83
  */
43
84
  export declare const addComponentGeneratorMetadata: (tree: Tree, projectName: string, info: {
44
85
  id: string;
45
86
  }, componentPath: string, componentName?: string, additionalMetadata?: {
46
87
  [key: string]: any;
47
88
  }) => void;
89
+ /**
90
+ * Merge a generator's own config into an `nx.json` `targetDefaults` value,
91
+ * preserving whatever the workspace already had. `apply` receives the config to
92
+ * layer onto and returns the merged config (e.g. `(base) => ({ cache: true,
93
+ * ...base })`); it must be idempotent so re-running the generator is a no-op.
94
+ *
95
+ * Nx 23.1 widened each value to either a config object or an ordered array of
96
+ * filtered entries. The plugin only contributes unfiltered (catch-all) config,
97
+ * so the input's shape is preserved: an object (or unset) stays an object;
98
+ * an array keeps the user's filtered entries and `apply` merges into its first
99
+ * unfiltered entry, prepending one as the base if none exists (Nx layers later
100
+ * matches on top, so our catch-all must stay first to not override a filter).
101
+ */
102
+ export declare const mergeTargetDefault: (value: TargetDefaultValue | undefined, apply: (base: Partial<TargetConfiguration>) => Partial<TargetConfiguration>) => TargetDefaultValue;
48
103
  /**
49
104
  * A single entry in an Nx `dependsOn` array.
50
105
  * Matches the shape accepted by Nx without requiring a devkit type import.
@@ -54,12 +109,28 @@ export type TargetDependency = string | {
54
109
  target: string;
55
110
  params?: 'ignore' | 'forward';
56
111
  };
112
+ /**
113
+ * Reorder a target's keys to match Nx's own serialization order. Nx reorders
114
+ * target properties when it rewrites an existing project.json, so applying the
115
+ * same order when first authoring a target keeps generators idempotent.
116
+ */
117
+ export declare const normalizeTargetKeyOrder: <T extends object>(target: T) => T;
57
118
  /**
58
119
  * Mutate the project to add the dependency to the target if not already present
59
120
  * Adds the target if not present.
60
121
  *
61
122
  * Accepts either a string target name (e.g. `'build'`) or a dependency config
62
- * object (e.g. `{ projects: ['foo'], target: 'serve-local' }`). Deduplicates
123
+ * object (e.g. `{ projects: ['foo'], target: 'dev' }`). Deduplicates
63
124
  * using deep equality so re-running a generator does not grow `dependsOn`.
64
125
  */
65
126
  export declare const addDependencyToTargetIfNotPresent: (project: ProjectConfiguration, target: string, dependency: TargetDependency) => void;
127
+ /**
128
+ * Register a component's `<name>-dev` target under the project-level `dev`
129
+ * target, so `nx run <project>:dev` starts every component in the project.
130
+ *
131
+ * Component generators author their own continuous `<name>-dev` runner and call
132
+ * this to aggregate it. Every component added to the project accumulates its
133
+ * `<name>-dev` under `dev`. Nx keys tasks by `project:target`, so any
134
+ * dependencies shared between components run exactly once.
135
+ */
136
+ export declare const addComponentDevTarget: (targets: Record<string, ProjectConfiguration["targets"][string]>, componentDevTargetName: string) => void;
package/src/utils/nx.js CHANGED
@@ -1,134 +1,255 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addDependencyToTargetIfNotPresent = exports.addComponentGeneratorMetadata = exports.addGeneratorMetadata = exports.readProjectConfigurationUnqualified = exports.getPackageVersion = exports.getGeneratorInfo = exports.listGenerators = exports.buildGeneratorInfoList = void 0;
4
- const tslib_1 = require("tslib");
5
1
  /**
6
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
3
  * SPDX-License-Identifier: Apache-2.0
8
- */
9
- const devkit_1 = require("@nx/devkit");
10
- const path = tslib_1.__importStar(require("path"));
11
- const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
12
- const names_1 = require("./names");
13
- const npm_scope_1 = require("./npm-scope");
14
- var generators_1 = require("./generators");
15
- Object.defineProperty(exports, "buildGeneratorInfoList", { enumerable: true, get: function () { return generators_1.buildGeneratorInfoList; } });
16
- const generators_2 = require("./generators");
17
- const GENERATORS = (0, generators_2.buildGeneratorInfoList)(path.resolve(__dirname, '..', '..'));
4
+ */ import { getProjects, readJson, readProjectConfiguration, updateProjectConfiguration } from "@nx/devkit";
5
+ import * as path from "path";
6
+ import PackageJson from "../../package.json" with {
7
+ type: 'json'
8
+ };
9
+ import { NX_PLUGIN_MCP_PACKAGE_NAME } from "./mcp.js";
10
+ import { toSnakeCase } from "./names.js";
11
+ import { getNpmScope, getNpmScopePrefix } from "./npm-scope.js";
12
+ export { buildGeneratorInfoList } from "./generators.js";
13
+ import { buildGeneratorInfoList } from "./generators.js";
14
+ const GENERATORS = buildGeneratorInfoList(path.resolve(import.meta.dirname, '..', '..'));
18
15
  /**
19
16
  * List Nx Plugin for AWS generators
20
17
  * @param includeHidden include hidden generators (default false)
21
- */
22
- const listGenerators = (includeHidden = false) => GENERATORS.filter((g) => includeHidden || !g.hidden);
23
- exports.listGenerators = listGenerators;
18
+ */ export const listGenerators = (includeHidden = false)=>GENERATORS.filter((g)=>includeHidden || !g.hidden);
24
19
  /**
25
- * Return generator information. Call this from a generator method with __filename
26
- */
27
- const getGeneratorInfo = (generatorFileName) => {
20
+ * Return generator information. Call this from a generator method with import.meta.filename
21
+ */ export const getGeneratorInfo = (generatorFileName)=>{
28
22
  const { dir, name } = path.parse(path.resolve(generatorFileName));
29
23
  const resolvedFactoryPath = path.join(dir, name);
30
- return GENERATORS.find((generatorInfo) => generatorInfo.resolvedFactoryPath === resolvedFactoryPath);
24
+ return GENERATORS.find((generatorInfo)=>generatorInfo.resolvedFactoryPath === resolvedFactoryPath);
25
+ };
26
+ export const getPackageVersion = ()=>{
27
+ return PackageJson.version;
31
28
  };
32
- exports.getGeneratorInfo = getGeneratorInfo;
33
- const getPackageVersion = () => {
34
- return package_json_1.default.version;
29
+ /**
30
+ * True inside the plugin's own monorepo, where the plugin is the source rather
31
+ * than a dependency.
32
+ */ export const isNxPluginForAwsWorkspace = (tree)=>{
33
+ const rootPackageJson = tree.exists('package.json') ? readJson(tree, 'package.json') : undefined;
34
+ return rootPackageJson?.name === '@aws/nx-plugin-source';
35
35
  };
36
- exports.getPackageVersion = getPackageVersion;
36
+ /**
37
+ * The `@aws/nx-plugin` devDependency entry for a workspace the plugin generates
38
+ * into, keyed to the version the running generators come from. Empty inside the
39
+ * plugin's own monorepo.
40
+ */ export const nxPluginSelfDependency = (tree)=>isNxPluginForAwsWorkspace(tree) ? {} : {
41
+ [PackageJson.name]: `^${PackageJson.version}`
42
+ };
43
+ /**
44
+ * The `@aws/nx-plugin-mcp` devDependency entry, keyed to the running generators'
45
+ * version — the two packages are released in lockstep. Declaring it pins the MCP
46
+ * server the vended config runs in the workspace's lockfile, so upgrading it
47
+ * upgrades the server. Empty inside the plugin's own monorepo.
48
+ */ export const nxPluginMcpDependency = (tree)=>isNxPluginForAwsWorkspace(tree) ? {} : {
49
+ [NX_PLUGIN_MCP_PACKAGE_NAME]: `^${PackageJson.version}`
50
+ };
37
51
  /**
38
52
  * Read a project configuration where the project name may not be fully qualified (ie may omit the scope prefix)
39
- */
40
- const readProjectConfigurationUnqualified = (tree, projectName) => {
53
+ */ export const readProjectConfigurationUnqualified = (tree, projectName)=>{
41
54
  try {
42
- return (0, devkit_1.readProjectConfiguration)(tree, projectName);
43
- }
44
- catch (e) {
55
+ return readProjectConfiguration(tree, projectName);
56
+ } catch (e) {
45
57
  // Attempt to find the project without the scope
46
- const project = [...(0, devkit_1.getProjects)(tree).values()].find((p) => p.name &&
47
- (p.name === `${(0, npm_scope_1.getNpmScopePrefix)(tree)}${projectName}` || // TypeScript fully-qualified name
48
- p.name === `${(0, names_1.toSnakeCase)((0, npm_scope_1.getNpmScope)(tree))}.${projectName}`));
58
+ const project = [
59
+ ...getProjects(tree).values()
60
+ ].find((p)=>p.name && (p.name === `${getNpmScopePrefix(tree)}${projectName}` || // TypeScript fully-qualified name
61
+ p.name === `${toSnakeCase(getNpmScope(tree))}.${projectName}`));
49
62
  if (project) {
50
63
  return project;
51
64
  }
52
65
  throw e;
53
66
  }
54
67
  };
55
- exports.readProjectConfigurationUnqualified = readProjectConfigurationUnqualified;
68
+ /**
69
+ * Returns whether a project with the given name already exists in the workspace.
70
+ * The project name may be unqualified (ie may omit the scope prefix).
71
+ */ export const projectExists = (tree, projectName)=>{
72
+ try {
73
+ readProjectConfigurationUnqualified(tree, projectName);
74
+ return true;
75
+ } catch {
76
+ return false;
77
+ }
78
+ };
56
79
  /**
57
80
  * Add metadata about the generator that generated the project to the project.json
58
- */
59
- const addGeneratorMetadata = (tree, projectName, info, additionalMetadata) => {
60
- const config = (0, exports.readProjectConfigurationUnqualified)(tree, projectName);
61
- (0, devkit_1.updateProjectConfiguration)(tree, config.name, {
62
- ...config,
63
- metadata: {
64
- ...config?.metadata,
65
- generator: info.id,
66
- ...additionalMetadata,
67
- },
81
+ */ export const addGeneratorMetadata = (tree, projectName, info, additionalMetadata)=>{
82
+ const config = readProjectConfigurationUnqualified(tree, projectName);
83
+ const metadata = {
84
+ ...config?.metadata,
85
+ generator: info.id,
86
+ ...additionalMetadata
87
+ };
88
+ // Skip the write when nothing changed so re-running doesn't reserialize
89
+ // project.json. metadata is plain JSON built in a fixed key order, so a
90
+ // stringify comparison is exact here.
91
+ if (JSON.stringify(config?.metadata) === JSON.stringify(metadata)) {
92
+ return;
93
+ }
94
+ // Place metadata immediately before targets so the serialized key order is
95
+ // identical whether or not metadata already existed (matching the order Nx
96
+ // normalizes a read config to), keeping the change a pure metadata insert.
97
+ const { targets, ...rest } = config;
98
+ updateProjectConfiguration(tree, config.name, {
99
+ ...rest,
100
+ metadata: metadata,
101
+ ...targets ? {
102
+ targets
103
+ } : {}
68
104
  });
69
105
  };
70
- exports.addGeneratorMetadata = addGeneratorMetadata;
71
106
  /**
72
107
  * Add metadata about the generator that generated the component to the project.json
73
- */
74
- const addComponentGeneratorMetadata = (tree, projectName, info, componentPath, componentName, additionalMetadata) => {
75
- const config = (0, exports.readProjectConfigurationUnqualified)(tree, projectName);
108
+ *
109
+ * A connection between two components passes the source's path as
110
+ * `additionalMetadata.sourcePath`, so the pair is identifiable rather than just
111
+ * the two projects.
112
+ */ export const addComponentGeneratorMetadata = (tree, projectName, info, componentPath, componentName, additionalMetadata)=>{
113
+ const config = readProjectConfigurationUnqualified(tree, projectName);
76
114
  const existingComponents = config?.metadata?.components ?? [];
77
- const alreadyAdded = existingComponents.filter((c) => c.generator === info.id && c.name === componentName);
115
+ const alreadyAdded = existingComponents.filter((c)=>c.generator === info.id && c.name === componentName);
78
116
  if (alreadyAdded.length === 0) {
79
117
  const componentMetadata = {
80
118
  generator: info.id,
81
119
  path: componentPath,
82
- ...(componentName ? { name: componentName } : {}),
83
- ...additionalMetadata,
120
+ ...componentName ? {
121
+ name: componentName
122
+ } : {},
123
+ ...additionalMetadata
84
124
  };
85
- (0, devkit_1.updateProjectConfiguration)(tree, config.name, {
86
- ...config,
125
+ // Place metadata before targets for a stable serialized key order.
126
+ const { targets, ...rest } = config;
127
+ updateProjectConfiguration(tree, config.name, {
128
+ ...rest,
87
129
  metadata: {
88
130
  ...config?.metadata,
89
- components: [...existingComponents, componentMetadata],
131
+ components: [
132
+ ...existingComponents,
133
+ componentMetadata
134
+ ]
90
135
  },
136
+ ...targets ? {
137
+ targets
138
+ } : {}
91
139
  });
92
140
  }
93
141
  };
94
- exports.addComponentGeneratorMetadata = addComponentGeneratorMetadata;
95
- const targetDependencyEquals = (a, b) => {
142
+ /**
143
+ * Merge a generator's own config into an `nx.json` `targetDefaults` value,
144
+ * preserving whatever the workspace already had. `apply` receives the config to
145
+ * layer onto and returns the merged config (e.g. `(base) => ({ cache: true,
146
+ * ...base })`); it must be idempotent so re-running the generator is a no-op.
147
+ *
148
+ * Nx 23.1 widened each value to either a config object or an ordered array of
149
+ * filtered entries. The plugin only contributes unfiltered (catch-all) config,
150
+ * so the input's shape is preserved: an object (or unset) stays an object;
151
+ * an array keeps the user's filtered entries and `apply` merges into its first
152
+ * unfiltered entry, prepending one as the base if none exists (Nx layers later
153
+ * matches on top, so our catch-all must stay first to not override a filter).
154
+ */ export const mergeTargetDefault = (value, apply)=>{
155
+ if (!Array.isArray(value)) {
156
+ return apply(value ?? {});
157
+ }
158
+ const catchAllIndex = value.findIndex((entry)=>entry.filter === undefined);
159
+ if (catchAllIndex === -1) {
160
+ return [
161
+ apply({}),
162
+ ...value
163
+ ];
164
+ }
165
+ return value.map((entry, index)=>index === catchAllIndex ? apply(entry) : entry);
166
+ };
167
+ const targetDependencyEquals = (a, b)=>{
96
168
  if (typeof a === 'string' || typeof b === 'string') {
97
169
  return a === b;
98
170
  }
99
171
  if (a.target !== b.target || a.params !== b.params) {
100
172
  return false;
101
173
  }
102
- const aProjects = Array.isArray(a.projects)
103
- ? a.projects
104
- : a.projects !== undefined
105
- ? [a.projects]
106
- : [];
107
- const bProjects = Array.isArray(b.projects)
108
- ? b.projects
109
- : b.projects !== undefined
110
- ? [b.projects]
111
- : [];
174
+ const aProjects = Array.isArray(a.projects) ? a.projects : a.projects !== undefined ? [
175
+ a.projects
176
+ ] : [];
177
+ const bProjects = Array.isArray(b.projects) ? b.projects : b.projects !== undefined ? [
178
+ b.projects
179
+ ] : [];
112
180
  if (aProjects.length !== bProjects.length) {
113
181
  return false;
114
182
  }
115
- return aProjects.every((p, i) => p === bProjects[i]);
183
+ return aProjects.every((p, i)=>p === bProjects[i]);
116
184
  };
185
+ // The order target properties are authored in. Nx preserves a target's
186
+ // authored key order when it reads then rewrites an existing project.json,
187
+ // except `options` and `configurations`, which it always moves to the end (in
188
+ // that order). Keeping `options`/`configurations` last here therefore makes a
189
+ // generator's first-run output byte-identical to subsequent runs (idempotency);
190
+ // the remaining keys are ordered to read intuitively.
191
+ const NX_TARGET_KEY_ORDER = [
192
+ 'executor',
193
+ 'dependsOn',
194
+ 'continuous',
195
+ 'cache',
196
+ 'inputs',
197
+ 'outputs',
198
+ 'metadata',
199
+ 'defaultConfiguration',
200
+ 'options',
201
+ 'configurations'
202
+ ];
203
+ /**
204
+ * Reorder a target's keys to match Nx's own serialization order. Nx reorders
205
+ * target properties when it rewrites an existing project.json, so applying the
206
+ * same order when first authoring a target keeps generators idempotent.
207
+ */ export const normalizeTargetKeyOrder = (target)=>Object.fromEntries(Object.entries(target).sort(([a], [b])=>{
208
+ const ai = NX_TARGET_KEY_ORDER.indexOf(a);
209
+ const bi = NX_TARGET_KEY_ORDER.indexOf(b);
210
+ return (ai === -1 ? NX_TARGET_KEY_ORDER.length : ai) - (bi === -1 ? NX_TARGET_KEY_ORDER.length : bi);
211
+ }));
117
212
  /**
118
213
  * Mutate the project to add the dependency to the target if not already present
119
214
  * Adds the target if not present.
120
215
  *
121
216
  * Accepts either a string target name (e.g. `'build'`) or a dependency config
122
- * object (e.g. `{ projects: ['foo'], target: 'serve-local' }`). Deduplicates
217
+ * object (e.g. `{ projects: ['foo'], target: 'dev' }`). Deduplicates
123
218
  * using deep equality so re-running a generator does not grow `dependsOn`.
124
- */
125
- const addDependencyToTargetIfNotPresent = (project, target, dependency) => {
219
+ */ export const addDependencyToTargetIfNotPresent = (project, target, dependency)=>{
126
220
  project.targets ??= {};
127
221
  project.targets[target] ??= {};
128
- project.targets[target].dependsOn = [
129
- ...(project.targets[target].dependsOn ?? []).filter((d) => !targetDependencyEquals(d, dependency)),
130
- dependency,
131
- ];
222
+ project.targets[target].dependsOn ??= [];
223
+ const dependsOn = project.targets[target].dependsOn;
224
+ // Leave existing dependencies in place so re-running does not reorder them;
225
+ // only append when the dependency is genuinely absent.
226
+ if (!dependsOn.some((d)=>targetDependencyEquals(d, dependency))) {
227
+ dependsOn.push(dependency);
228
+ }
229
+ // Keep key order aligned with Nx's so first run matches subsequent runs.
230
+ project.targets[target] = normalizeTargetKeyOrder(project.targets[target]);
231
+ };
232
+ /**
233
+ * Register a component's `<name>-dev` target under the project-level `dev`
234
+ * target, so `nx run <project>:dev` starts every component in the project.
235
+ *
236
+ * Component generators author their own continuous `<name>-dev` runner and call
237
+ * this to aggregate it. Every component added to the project accumulates its
238
+ * `<name>-dev` under `dev`. Nx keys tasks by `project:target`, so any
239
+ * dependencies shared between components run exactly once.
240
+ */ export const addComponentDevTarget = (targets, componentDevTargetName)=>{
241
+ targets['dev'] ??= {
242
+ continuous: true,
243
+ dependsOn: []
244
+ };
245
+ const projectDev = targets['dev'];
246
+ projectDev.continuous = true;
247
+ projectDev.dependsOn ??= [];
248
+ // Append in component-creation order; dedupe keeps re-runs idempotent.
249
+ if (!projectDev.dependsOn.includes(componentDevTargetName)) {
250
+ projectDev.dependsOn.push(componentDevTargetName);
251
+ }
252
+ targets['dev'] = normalizeTargetKeyOrder(projectDev);
132
253
  };
133
- exports.addDependencyToTargetIfNotPresent = addDependencyToTargetIfNotPresent;
254
+
134
255
  //# sourceMappingURL=nx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/nx.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n getProjects,\n type ProjectConfiguration,\n readJson,\n readProjectConfiguration,\n type TargetConfiguration,\n type TargetDefaultValue,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport * as path from 'path';\nimport PackageJson from '../../package.json' with { type: 'json' };\nimport { NX_PLUGIN_MCP_PACKAGE_NAME } from './mcp';\nimport { toSnakeCase } from './names';\nimport { getNpmScope, getNpmScopePrefix } from './npm-scope';\n\nexport type { GeneratorInfo, NxGeneratorInfo } from './generators';\nexport { buildGeneratorInfoList } from './generators';\n\nimport { buildGeneratorInfoList, type GeneratorInfo } from './generators';\n\nconst GENERATORS = buildGeneratorInfoList(\n path.resolve(import.meta.dirname, '..', '..'),\n);\n\n/**\n * List Nx Plugin for AWS generators\n * @param includeHidden include hidden generators (default false)\n */\nexport const listGenerators = (includeHidden = false) =>\n GENERATORS.filter((g) => includeHidden || !g.hidden);\n\n/**\n * Return generator information. Call this from a generator method with import.meta.filename\n */\nexport const getGeneratorInfo = (generatorFileName: string): GeneratorInfo => {\n const { dir, name } = path.parse(path.resolve(generatorFileName));\n const resolvedFactoryPath = path.join(dir, name);\n return GENERATORS.find(\n (generatorInfo) =>\n generatorInfo.resolvedFactoryPath === resolvedFactoryPath,\n );\n};\n\nexport const getPackageVersion = () => {\n return PackageJson.version;\n};\n\n/**\n * True inside the plugin's own monorepo, where the plugin is the source rather\n * than a dependency.\n */\nexport const isNxPluginForAwsWorkspace = (tree: Tree): boolean => {\n const rootPackageJson = tree.exists('package.json')\n ? readJson(tree, 'package.json')\n : undefined;\n return rootPackageJson?.name === '@aws/nx-plugin-source';\n};\n\n/**\n * The `@aws/nx-plugin` devDependency entry for a workspace the plugin generates\n * into, keyed to the version the running generators come from. Empty inside the\n * plugin's own monorepo.\n */\nexport const nxPluginSelfDependency = (tree: Tree): Record<string, string> =>\n isNxPluginForAwsWorkspace(tree)\n ? {}\n : { [PackageJson.name]: `^${PackageJson.version}` };\n\n/**\n * The `@aws/nx-plugin-mcp` devDependency entry, keyed to the running generators'\n * version — the two packages are released in lockstep. Declaring it pins the MCP\n * server the vended config runs in the workspace's lockfile, so upgrading it\n * upgrades the server. Empty inside the plugin's own monorepo.\n */\nexport const nxPluginMcpDependency = (tree: Tree): Record<string, string> =>\n isNxPluginForAwsWorkspace(tree)\n ? {}\n : { [NX_PLUGIN_MCP_PACKAGE_NAME]: `^${PackageJson.version}` };\n\n/**\n * Read a project configuration where the project name may not be fully qualified (ie may omit the scope prefix)\n */\nexport const readProjectConfigurationUnqualified = (\n tree: Tree,\n projectName: string,\n) => {\n try {\n return readProjectConfiguration(tree, projectName);\n } catch (e) {\n // Attempt to find the project without the scope\n const project = [...getProjects(tree).values()].find(\n (p) =>\n p.name &&\n (p.name === `${getNpmScopePrefix(tree)}${projectName}` || // TypeScript fully-qualified name\n p.name === `${toSnakeCase(getNpmScope(tree))}.${projectName}`), // Python fully-qualified name\n );\n if (project) {\n return project;\n }\n throw e;\n }\n};\n\n/**\n * Returns whether a project with the given name already exists in the workspace.\n * The project name may be unqualified (ie may omit the scope prefix).\n */\nexport const projectExists = (tree: Tree, projectName: string): boolean => {\n try {\n readProjectConfigurationUnqualified(tree, projectName);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Add metadata about the generator that generated the project to the project.json\n */\nexport const addGeneratorMetadata = (\n tree: Tree,\n projectName: string,\n info: { id: string },\n additionalMetadata?: { [key: string]: any },\n) => {\n const config = readProjectConfigurationUnqualified(tree, projectName);\n const metadata = {\n ...config?.metadata,\n generator: info.id,\n ...additionalMetadata,\n };\n // Skip the write when nothing changed so re-running doesn't reserialize\n // project.json. metadata is plain JSON built in a fixed key order, so a\n // stringify comparison is exact here.\n if (JSON.stringify(config?.metadata) === JSON.stringify(metadata)) {\n return;\n }\n // Place metadata immediately before targets so the serialized key order is\n // identical whether or not metadata already existed (matching the order Nx\n // normalizes a read config to), keeping the change a pure metadata insert.\n const { targets, ...rest } = config;\n updateProjectConfiguration(tree, config.name, {\n ...rest,\n metadata: metadata as any,\n ...(targets ? { targets } : {}),\n });\n};\n\n/**\n * Represents a component entry in project metadata\n */\nexport interface ComponentMetadata {\n readonly generator: string;\n readonly name?: string;\n /**\n * What this entry wires up. For a connection that is the target — the thing\n * being connected to — paired with `sourcePath` below.\n */\n readonly path?: string;\n /**\n * The component the connection is made *from*, when both ends are components\n * of a project rather than whole projects.\n *\n * A connection records the project it lives on and the target it reaches, which\n * alone can't tell which of several components on that project is wired up.\n * Recorded as a path for the same reason `path` is: it identifies a component\n * within its project without depending on a name that may repeat.\n */\n readonly sourcePath?: string;\n [key: string]: any;\n}\n\n/**\n * Add metadata about the generator that generated the component to the project.json\n *\n * A connection between two components passes the source's path as\n * `additionalMetadata.sourcePath`, so the pair is identifiable rather than just\n * the two projects.\n */\nexport const addComponentGeneratorMetadata = (\n tree: Tree,\n projectName: string,\n info: { id: string },\n componentPath: string,\n componentName?: string,\n additionalMetadata?: { [key: string]: any },\n) => {\n const config = readProjectConfigurationUnqualified(tree, projectName);\n\n const existingComponents = (config?.metadata as any)?.components ?? [];\n const alreadyAdded = existingComponents.filter(\n (c: any) => c.generator === info.id && c.name === componentName,\n );\n\n if (alreadyAdded.length === 0) {\n const componentMetadata: ComponentMetadata = {\n generator: info.id,\n path: componentPath,\n ...(componentName ? { name: componentName } : {}),\n ...additionalMetadata,\n };\n // Place metadata before targets for a stable serialized key order.\n const { targets, ...rest } = config;\n updateProjectConfiguration(tree, config.name, {\n ...rest,\n metadata: {\n ...config?.metadata,\n components: [...existingComponents, componentMetadata],\n } as any,\n ...(targets ? { targets } : {}),\n });\n }\n};\n\n/**\n * Merge a generator's own config into an `nx.json` `targetDefaults` value,\n * preserving whatever the workspace already had. `apply` receives the config to\n * layer onto and returns the merged config (e.g. `(base) => ({ cache: true,\n * ...base })`); it must be idempotent so re-running the generator is a no-op.\n *\n * Nx 23.1 widened each value to either a config object or an ordered array of\n * filtered entries. The plugin only contributes unfiltered (catch-all) config,\n * so the input's shape is preserved: an object (or unset) stays an object;\n * an array keeps the user's filtered entries and `apply` merges into its first\n * unfiltered entry, prepending one as the base if none exists (Nx layers later\n * matches on top, so our catch-all must stay first to not override a filter).\n */\nexport const mergeTargetDefault = (\n value: TargetDefaultValue | undefined,\n apply: (base: Partial<TargetConfiguration>) => Partial<TargetConfiguration>,\n): TargetDefaultValue => {\n if (!Array.isArray(value)) {\n return apply(value ?? {});\n }\n const catchAllIndex = value.findIndex((entry) => entry.filter === undefined);\n if (catchAllIndex === -1) {\n return [apply({}), ...value];\n }\n return value.map((entry, index) =>\n index === catchAllIndex ? apply(entry) : entry,\n );\n};\n\n/**\n * A single entry in an Nx `dependsOn` array.\n * Matches the shape accepted by Nx without requiring a devkit type import.\n */\nexport type TargetDependency =\n | string\n | {\n projects?: string | string[];\n target: string;\n params?: 'ignore' | 'forward';\n };\n\nconst targetDependencyEquals = (a: TargetDependency, b: TargetDependency) => {\n if (typeof a === 'string' || typeof b === 'string') {\n return a === b;\n }\n if (a.target !== b.target || a.params !== b.params) {\n return false;\n }\n const aProjects = Array.isArray(a.projects)\n ? a.projects\n : a.projects !== undefined\n ? [a.projects]\n : [];\n const bProjects = Array.isArray(b.projects)\n ? b.projects\n : b.projects !== undefined\n ? [b.projects]\n : [];\n if (aProjects.length !== bProjects.length) {\n return false;\n }\n return aProjects.every((p, i) => p === bProjects[i]);\n};\n\n// The order target properties are authored in. Nx preserves a target's\n// authored key order when it reads then rewrites an existing project.json,\n// except `options` and `configurations`, which it always moves to the end (in\n// that order). Keeping `options`/`configurations` last here therefore makes a\n// generator's first-run output byte-identical to subsequent runs (idempotency);\n// the remaining keys are ordered to read intuitively.\nconst NX_TARGET_KEY_ORDER = [\n 'executor',\n 'dependsOn',\n 'continuous',\n 'cache',\n 'inputs',\n 'outputs',\n 'metadata',\n 'defaultConfiguration',\n 'options',\n 'configurations',\n];\n\n/**\n * Reorder a target's keys to match Nx's own serialization order. Nx reorders\n * target properties when it rewrites an existing project.json, so applying the\n * same order when first authoring a target keeps generators idempotent.\n */\nexport const normalizeTargetKeyOrder = <T extends object>(target: T): T =>\n Object.fromEntries(\n Object.entries(target as Record<string, unknown>).sort(([a], [b]) => {\n const ai = NX_TARGET_KEY_ORDER.indexOf(a);\n const bi = NX_TARGET_KEY_ORDER.indexOf(b);\n return (\n (ai === -1 ? NX_TARGET_KEY_ORDER.length : ai) -\n (bi === -1 ? NX_TARGET_KEY_ORDER.length : bi)\n );\n }),\n ) as T;\n\n/**\n * Mutate the project to add the dependency to the target if not already present\n * Adds the target if not present.\n *\n * Accepts either a string target name (e.g. `'build'`) or a dependency config\n * object (e.g. `{ projects: ['foo'], target: 'dev' }`). Deduplicates\n * using deep equality so re-running a generator does not grow `dependsOn`.\n */\nexport const addDependencyToTargetIfNotPresent = (\n project: ProjectConfiguration,\n target: string,\n dependency: TargetDependency,\n) => {\n project.targets ??= {};\n project.targets[target] ??= {};\n project.targets[target].dependsOn ??= [];\n const dependsOn = project.targets[target].dependsOn;\n // Leave existing dependencies in place so re-running does not reorder them;\n // only append when the dependency is genuinely absent.\n if (!dependsOn.some((d) => targetDependencyEquals(d, dependency))) {\n dependsOn.push(dependency);\n }\n // Keep key order aligned with Nx's so first run matches subsequent runs.\n project.targets[target] = normalizeTargetKeyOrder(project.targets[target]);\n};\n\n/**\n * Register a component's `<name>-dev` target under the project-level `dev`\n * target, so `nx run <project>:dev` starts every component in the project.\n *\n * Component generators author their own continuous `<name>-dev` runner and call\n * this to aggregate it. Every component added to the project accumulates its\n * `<name>-dev` under `dev`. Nx keys tasks by `project:target`, so any\n * dependencies shared between components run exactly once.\n */\nexport const addComponentDevTarget = (\n targets: Record<string, ProjectConfiguration['targets'][string]>,\n componentDevTargetName: string,\n) => {\n targets['dev'] ??= { continuous: true, dependsOn: [] };\n const projectDev = targets['dev'];\n projectDev.continuous = true;\n projectDev.dependsOn ??= [];\n // Append in component-creation order; dedupe keeps re-runs idempotent.\n if (!projectDev.dependsOn.includes(componentDevTargetName)) {\n projectDev.dependsOn.push(componentDevTargetName);\n }\n targets['dev'] = normalizeTargetKeyOrder(projectDev);\n};\n"],"names":["getProjects","readJson","readProjectConfiguration","updateProjectConfiguration","path","PackageJson","type","NX_PLUGIN_MCP_PACKAGE_NAME","toSnakeCase","getNpmScope","getNpmScopePrefix","buildGeneratorInfoList","GENERATORS","resolve","dirname","listGenerators","includeHidden","filter","g","hidden","getGeneratorInfo","generatorFileName","dir","name","parse","resolvedFactoryPath","join","find","generatorInfo","getPackageVersion","version","isNxPluginForAwsWorkspace","tree","rootPackageJson","exists","undefined","nxPluginSelfDependency","nxPluginMcpDependency","readProjectConfigurationUnqualified","projectName","e","project","values","p","projectExists","addGeneratorMetadata","info","additionalMetadata","config","metadata","generator","id","JSON","stringify","targets","rest","addComponentGeneratorMetadata","componentPath","componentName","existingComponents","components","alreadyAdded","c","length","componentMetadata","mergeTargetDefault","value","apply","Array","isArray","catchAllIndex","findIndex","entry","map","index","targetDependencyEquals","a","b","target","params","aProjects","projects","bProjects","every","i","NX_TARGET_KEY_ORDER","normalizeTargetKeyOrder","Object","fromEntries","entries","sort","ai","indexOf","bi","addDependencyToTargetIfNotPresent","dependency","dependsOn","some","d","push","addComponentDevTarget","componentDevTargetName","continuous","projectDev","includes"],"mappings":"AAAA;;;CAGC,GACD,SACEA,WAAW,EAEXC,QAAQ,EACRC,wBAAwB,EAIxBC,0BAA0B,QACrB,aAAa;AACpB,YAAYC,UAAU,OAAO;AAC7B,OAAOC,iBAAiB,0BAA0B;IAAEC,MAAM;AAAO,EAAE;AACnE,SAASC,0BAA0B,QAAQ,WAAQ;AACnD,SAASC,WAAW,QAAQ,aAAU;AACtC,SAASC,WAAW,EAAEC,iBAAiB,QAAQ,iBAAc;AAG7D,SAASC,sBAAsB,QAAQ,kBAAe;AAEtD,SAASA,sBAAsB,QAA4B,kBAAe;AAE1E,MAAMC,aAAaD,uBACjBP,KAAKS,OAAO,CAAC,YAAYC,OAAO,EAAE,MAAM;AAG1C;;;CAGC,GACD,OAAO,MAAMC,iBAAiB,CAACC,gBAAgB,KAAK,GAClDJ,WAAWK,MAAM,CAAC,CAACC,IAAMF,iBAAiB,CAACE,EAAEC,MAAM,EAAE;AAEvD;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,MAAM,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGnB,KAAKoB,KAAK,CAACpB,KAAKS,OAAO,CAACQ;IAC9C,MAAMI,sBAAsBrB,KAAKsB,IAAI,CAACJ,KAAKC;IAC3C,OAAOX,WAAWe,IAAI,CACpB,CAACC,gBACCA,cAAcH,mBAAmB,KAAKA;AAE5C,EAAE;AAEF,OAAO,MAAMI,oBAAoB;IAC/B,OAAOxB,YAAYyB,OAAO;AAC5B,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAMC,4BAA4B,CAACC;IACxC,MAAMC,kBAAkBD,KAAKE,MAAM,CAAC,kBAChCjC,SAAS+B,MAAM,kBACfG;IACJ,OAAOF,iBAAiBV,SAAS;AACnC,EAAE;AAEF;;;;CAIC,GACD,OAAO,MAAMa,yBAAyB,CAACJ,OACrCD,0BAA0BC,QACtB,CAAC,IACD;QAAE,CAAC3B,YAAYkB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAElB,YAAYyB,OAAO,EAAE;IAAC,EAAE;AAExD;;;;;CAKC,GACD,OAAO,MAAMO,wBAAwB,CAACL,OACpCD,0BAA0BC,QACtB,CAAC,IACD;QAAE,CAACzB,2BAA2B,EAAE,CAAC,CAAC,EAAEF,YAAYyB,OAAO,EAAE;IAAC,EAAE;AAElE;;CAEC,GACD,OAAO,MAAMQ,sCAAsC,CACjDN,MACAO;IAEA,IAAI;QACF,OAAOrC,yBAAyB8B,MAAMO;IACxC,EAAE,OAAOC,GAAG;QACV,gDAAgD;QAChD,MAAMC,UAAU;eAAIzC,YAAYgC,MAAMU,MAAM;SAAG,CAACf,IAAI,CAClD,CAACgB,IACCA,EAAEpB,IAAI,IACLoB,CAAAA,EAAEpB,IAAI,KAAK,GAAGb,kBAAkBsB,QAAQO,aAAa,IAAI,kCAAkC;YAC1FI,EAAEpB,IAAI,KAAK,GAAGf,YAAYC,YAAYuB,OAAO,CAAC,EAAEO,aAAa,AAAD;QAElE,IAAIE,SAAS;YACX,OAAOA;QACT;QACA,MAAMD;IACR;AACF,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAMI,gBAAgB,CAACZ,MAAYO;IACxC,IAAI;QACFD,oCAAoCN,MAAMO;QAC1C,OAAO;IACT,EAAE,OAAM;QACN,OAAO;IACT;AACF,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMM,uBAAuB,CAClCb,MACAO,aACAO,MACAC;IAEA,MAAMC,SAASV,oCAAoCN,MAAMO;IACzD,MAAMU,WAAW;QACf,GAAGD,QAAQC,QAAQ;QACnBC,WAAWJ,KAAKK,EAAE;QAClB,GAAGJ,kBAAkB;IACvB;IACA,wEAAwE;IACxE,wEAAwE;IACxE,sCAAsC;IACtC,IAAIK,KAAKC,SAAS,CAACL,QAAQC,cAAcG,KAAKC,SAAS,CAACJ,WAAW;QACjE;IACF;IACA,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,EAAEK,OAAO,EAAE,GAAGC,MAAM,GAAGP;IAC7B7C,2BAA2B6B,MAAMgB,OAAOzB,IAAI,EAAE;QAC5C,GAAGgC,IAAI;QACPN,UAAUA;QACV,GAAIK,UAAU;YAAEA;QAAQ,IAAI,CAAC,CAAC;IAChC;AACF,EAAE;AA0BF;;;;;;CAMC,GACD,OAAO,MAAME,gCAAgC,CAC3CxB,MACAO,aACAO,MACAW,eACAC,eACAX;IAEA,MAAMC,SAASV,oCAAoCN,MAAMO;IAEzD,MAAMoB,qBAAqB,AAACX,QAAQC,UAAkBW,cAAc,EAAE;IACtE,MAAMC,eAAeF,mBAAmB1C,MAAM,CAC5C,CAAC6C,IAAWA,EAAEZ,SAAS,KAAKJ,KAAKK,EAAE,IAAIW,EAAEvC,IAAI,KAAKmC;IAGpD,IAAIG,aAAaE,MAAM,KAAK,GAAG;QAC7B,MAAMC,oBAAuC;YAC3Cd,WAAWJ,KAAKK,EAAE;YAClB/C,MAAMqD;YACN,GAAIC,gBAAgB;gBAAEnC,MAAMmC;YAAc,IAAI,CAAC,CAAC;YAChD,GAAGX,kBAAkB;QACvB;QACA,mEAAmE;QACnE,MAAM,EAAEO,OAAO,EAAE,GAAGC,MAAM,GAAGP;QAC7B7C,2BAA2B6B,MAAMgB,OAAOzB,IAAI,EAAE;YAC5C,GAAGgC,IAAI;YACPN,UAAU;gBACR,GAAGD,QAAQC,QAAQ;gBACnBW,YAAY;uBAAID;oBAAoBK;iBAAkB;YACxD;YACA,GAAIV,UAAU;gBAAEA;YAAQ,IAAI,CAAC,CAAC;QAChC;IACF;AACF,EAAE;AAEF;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMW,qBAAqB,CAChCC,OACAC;IAEA,IAAI,CAACC,MAAMC,OAAO,CAACH,QAAQ;QACzB,OAAOC,MAAMD,SAAS,CAAC;IACzB;IACA,MAAMI,gBAAgBJ,MAAMK,SAAS,CAAC,CAACC,QAAUA,MAAMvD,MAAM,KAAKkB;IAClE,IAAImC,kBAAkB,CAAC,GAAG;QACxB,OAAO;YAACH,MAAM,CAAC;eAAOD;SAAM;IAC9B;IACA,OAAOA,MAAMO,GAAG,CAAC,CAACD,OAAOE,QACvBA,UAAUJ,gBAAgBH,MAAMK,SAASA;AAE7C,EAAE;AAcF,MAAMG,yBAAyB,CAACC,GAAqBC;IACnD,IAAI,OAAOD,MAAM,YAAY,OAAOC,MAAM,UAAU;QAClD,OAAOD,MAAMC;IACf;IACA,IAAID,EAAEE,MAAM,KAAKD,EAAEC,MAAM,IAAIF,EAAEG,MAAM,KAAKF,EAAEE,MAAM,EAAE;QAClD,OAAO;IACT;IACA,MAAMC,YAAYZ,MAAMC,OAAO,CAACO,EAAEK,QAAQ,IACtCL,EAAEK,QAAQ,GACVL,EAAEK,QAAQ,KAAK9C,YACb;QAACyC,EAAEK,QAAQ;KAAC,GACZ,EAAE;IACR,MAAMC,YAAYd,MAAMC,OAAO,CAACQ,EAAEI,QAAQ,IACtCJ,EAAEI,QAAQ,GACVJ,EAAEI,QAAQ,KAAK9C,YACb;QAAC0C,EAAEI,QAAQ;KAAC,GACZ,EAAE;IACR,IAAID,UAAUjB,MAAM,KAAKmB,UAAUnB,MAAM,EAAE;QACzC,OAAO;IACT;IACA,OAAOiB,UAAUG,KAAK,CAAC,CAACxC,GAAGyC,IAAMzC,MAAMuC,SAAS,CAACE,EAAE;AACrD;AAEA,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,sDAAsD;AACtD,MAAMC,sBAAsB;IAC1B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED;;;;CAIC,GACD,OAAO,MAAMC,0BAA0B,CAAmBR,SACxDS,OAAOC,WAAW,CAChBD,OAAOE,OAAO,CAACX,QAAmCY,IAAI,CAAC,CAAC,CAACd,EAAE,EAAE,CAACC,EAAE;QAC9D,MAAMc,KAAKN,oBAAoBO,OAAO,CAAChB;QACvC,MAAMiB,KAAKR,oBAAoBO,OAAO,CAACf;QACvC,OACE,AAACc,CAAAA,OAAO,CAAC,IAAIN,oBAAoBtB,MAAM,GAAG4B,EAAC,IAC1CE,CAAAA,OAAO,CAAC,IAAIR,oBAAoBtB,MAAM,GAAG8B,EAAC;IAE/C,IACK;AAET;;;;;;;CAOC,GACD,OAAO,MAAMC,oCAAoC,CAC/CrD,SACAqC,QACAiB;IAEAtD,QAAQa,OAAO,KAAK,CAAC;IACrBb,QAAQa,OAAO,CAACwB,OAAO,KAAK,CAAC;IAC7BrC,QAAQa,OAAO,CAACwB,OAAO,CAACkB,SAAS,KAAK,EAAE;IACxC,MAAMA,YAAYvD,QAAQa,OAAO,CAACwB,OAAO,CAACkB,SAAS;IACnD,4EAA4E;IAC5E,uDAAuD;IACvD,IAAI,CAACA,UAAUC,IAAI,CAAC,CAACC,IAAMvB,uBAAuBuB,GAAGH,cAAc;QACjEC,UAAUG,IAAI,CAACJ;IACjB;IACA,yEAAyE;IACzEtD,QAAQa,OAAO,CAACwB,OAAO,GAAGQ,wBAAwB7C,QAAQa,OAAO,CAACwB,OAAO;AAC3E,EAAE;AAEF;;;;;;;;CAQC,GACD,OAAO,MAAMsB,wBAAwB,CACnC9C,SACA+C;IAEA/C,OAAO,CAAC,MAAM,KAAK;QAAEgD,YAAY;QAAMN,WAAW,EAAE;IAAC;IACrD,MAAMO,aAAajD,OAAO,CAAC,MAAM;IACjCiD,WAAWD,UAAU,GAAG;IACxBC,WAAWP,SAAS,KAAK,EAAE;IAC3B,uEAAuE;IACvE,IAAI,CAACO,WAAWP,SAAS,CAACQ,QAAQ,CAACH,yBAAyB;QAC1DE,WAAWP,SAAS,CAACG,IAAI,CAACE;IAC5B;IACA/C,OAAO,CAAC,MAAM,GAAGgC,wBAAwBiB;AAC3C,EAAE"}