@aws/nx-plugin 1.0.0-rc.5 → 1.0.0-rc.50

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 (1198) hide show
  1. package/LICENSE-THIRD-PARTY +5300 -5843
  2. package/README.md +7 -7
  3. package/generators.json +120 -8
  4. package/migrations.json +21 -0
  5. package/package.json +39 -20
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +61 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +26 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +166 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +71 -0
  33. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  34. package/src/connection/agent-local-dev.js +42 -0
  35. package/src/connection/agent-local-dev.js.map +1 -0
  36. package/src/connection/agent-runtime-config.d.ts +1 -1
  37. package/src/connection/agent-runtime-config.js +9 -14
  38. package/src/connection/agent-runtime-config.js.map +1 -1
  39. package/src/connection/generator.d.ts +7 -14
  40. package/src/connection/generator.js +167 -194
  41. package/src/connection/generator.js.map +1 -1
  42. package/src/connection/local-dev.d.ts +15 -0
  43. package/src/connection/local-dev.js +37 -0
  44. package/src/connection/local-dev.js.map +1 -0
  45. package/src/connection/schema.d.js +6 -0
  46. package/src/connection/schema.d.js.map +1 -0
  47. package/src/connection/schema.d.ts +1 -0
  48. package/src/connection/schema.json +5 -0
  49. package/src/connection/supported-connections.d.ts +107 -0
  50. package/src/connection/supported-connections.js +151 -0
  51. package/src/connection/supported-connections.js.map +1 -0
  52. package/src/index.js +2 -5
  53. package/src/index.js.map +1 -1
  54. package/src/infra/app/__snapshots__/generator.spec.ts.snap +106 -100
  55. package/src/infra/app/files/app/src/main.ts.template +1 -1
  56. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +146 -123
  59. package/src/infra/app/generator.js.map +1 -1
  60. package/src/infra/app/schema.d.js +6 -0
  61. package/src/infra/app/schema.d.js.map +1 -0
  62. package/src/infra/app/schema.d.ts +1 -1
  63. package/src/infra/app/schema.json +5 -0
  64. package/src/init/generator.d.ts +18 -0
  65. package/src/init/generator.js +35 -0
  66. package/src/init/generator.js.map +1 -0
  67. package/src/init/schema.d.js +6 -0
  68. package/src/init/schema.d.js.map +1 -0
  69. package/src/init/schema.d.ts +16 -0
  70. package/src/init/schema.json +35 -0
  71. package/src/license/config-types.d.ts +2 -2
  72. package/src/license/config-types.js +8 -2
  73. package/src/license/config-types.js.map +1 -1
  74. package/src/license/config.d.ts +4 -4
  75. package/src/license/config.js +267 -242
  76. package/src/license/config.js.map +1 -1
  77. package/src/license/dependency-check/check.d.ts +6 -2
  78. package/src/license/dependency-check/check.js +51 -46
  79. package/src/license/dependency-check/check.js.map +1 -1
  80. package/src/license/dependency-check/collectors/collector.js +41 -71
  81. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  82. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  83. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  84. package/src/license/dependency-check/collectors/python-collector.d.ts +4 -0
  85. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  86. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  87. package/src/license/dependency-check/evaluator.d.ts +1 -1
  88. package/src/license/dependency-check/evaluator.js +40 -68
  89. package/src/license/dependency-check/evaluator.js.map +1 -1
  90. package/src/license/dependency-check/executor.d.ts +1 -1
  91. package/src/license/dependency-check/executor.js +30 -22
  92. package/src/license/dependency-check/executor.js.map +1 -1
  93. package/src/license/dependency-check/pre-approved.js +949 -336
  94. package/src/license/dependency-check/pre-approved.js.map +1 -1
  95. package/src/license/dependency-check/types.js +2 -3
  96. package/src/license/dependency-check/types.js.map +1 -1
  97. package/src/license/generator.d.ts +3 -3
  98. package/src/license/generator.js +65 -68
  99. package/src/license/generator.js.map +1 -1
  100. package/src/license/index.d.ts +2 -2
  101. package/src/license/index.js +3 -9
  102. package/src/license/index.js.map +1 -1
  103. package/src/license/known-exceptions.d.ts +2 -2
  104. package/src/license/known-exceptions.js +19 -13
  105. package/src/license/known-exceptions.js.map +1 -1
  106. package/src/license/schema.d.js +6 -0
  107. package/src/license/schema.d.js.map +1 -0
  108. package/src/license/schema.d.ts +2 -0
  109. package/src/license/schema.json +5 -0
  110. package/src/license/sync/generator.d.ts +2 -2
  111. package/src/license/sync/generator.js +94 -119
  112. package/src/license/sync/generator.js.map +1 -1
  113. package/src/license/sync/project-file-sync.d.ts +2 -2
  114. package/src/license/sync/project-file-sync.js +28 -35
  115. package/src/license/sync/project-file-sync.js.map +1 -1
  116. package/src/mcp-server/dev-server.d.ts +1 -0
  117. package/src/mcp-server/dev-server.js +18 -0
  118. package/src/mcp-server/dev-server.js.map +1 -0
  119. package/src/mcp-server/generator-info.d.ts +5 -1
  120. package/src/mcp-server/generator-info.js +149 -165
  121. package/src/mcp-server/generator-info.js.map +1 -1
  122. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  123. package/src/mcp-server/guide-pipeline.js +199 -206
  124. package/src/mcp-server/guide-pipeline.js.map +1 -1
  125. package/src/mcp-server/guide-render.js +10 -25
  126. package/src/mcp-server/guide-render.js.map +1 -1
  127. package/src/mcp-server/index.js +6 -10
  128. package/src/mcp-server/index.js.map +1 -1
  129. package/src/mcp-server/mdx-ast.js +42 -56
  130. package/src/mcp-server/mdx-ast.js.map +1 -1
  131. package/src/mcp-server/option-filter.js +33 -47
  132. package/src/mcp-server/option-filter.js.map +1 -1
  133. package/src/mcp-server/schema-registry.d.ts +9 -3
  134. package/src/mcp-server/schema-registry.js +41 -38
  135. package/src/mcp-server/schema-registry.js.map +1 -1
  136. package/src/mcp-server/schema.d.ts +1 -1
  137. package/src/mcp-server/schema.js +9 -7
  138. package/src/mcp-server/schema.js.map +1 -1
  139. package/src/mcp-server/server.js +24 -24
  140. package/src/mcp-server/server.js.map +1 -1
  141. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  142. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  143. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  144. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  145. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  146. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  147. package/src/mcp-server/tools/general-guidance.d.ts +3 -3
  148. package/src/mcp-server/tools/general-guidance.js +53 -31
  149. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  150. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  151. package/src/mcp-server/tools/generator-guide.js +29 -37
  152. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  153. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  154. package/src/mcp-server/tools/list-generators.js +19 -25
  155. package/src/mcp-server/tools/list-generators.js.map +1 -1
  156. package/src/mcp-server/tools/upgrade-workspace.d.ts +11 -0
  157. package/src/mcp-server/tools/upgrade-workspace.js +32 -0
  158. package/src/mcp-server/tools/upgrade-workspace.js.map +1 -0
  159. package/src/migrations/latest/modernize-function-props-cast/migration.d.ts +6 -0
  160. package/src/migrations/latest/modernize-function-props-cast/migration.js +66 -0
  161. package/src/migrations/latest/modernize-function-props-cast/migration.js.map +1 -0
  162. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.d.ts +6 -0
  163. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.js +110 -0
  164. package/src/migrations/latest/restrict-cors-to-custom-domains/migration.js.map +1 -0
  165. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.d.ts +6 -0
  166. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.js +129 -0
  167. package/src/migrations/latest/terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -0
  168. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  169. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  170. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  171. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  172. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  173. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  174. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  175. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  176. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  177. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  178. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  179. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  180. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +101 -25
  181. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  182. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  183. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  184. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  185. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  186. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  187. package/src/open-api/ts-client/generator.d.ts +3 -3
  188. package/src/open-api/ts-client/generator.js +41 -26
  189. package/src/open-api/ts-client/generator.js.map +1 -1
  190. package/src/open-api/ts-client/schema.d.js +6 -0
  191. package/src/open-api/ts-client/schema.d.js.map +1 -0
  192. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  193. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  194. package/src/open-api/ts-hooks/generator.js +17 -21
  195. package/src/open-api/ts-hooks/generator.js.map +1 -1
  196. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  197. package/src/open-api/ts-hooks/schema.d.js +6 -0
  198. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  199. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  200. package/src/open-api/ts-metadata/generator.js +12 -20
  201. package/src/open-api/ts-metadata/generator.js.map +1 -1
  202. package/src/open-api/ts-metadata/schema.d.js +6 -0
  203. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  204. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  205. package/src/open-api/utils/codegen-data/languages.js +59 -66
  206. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  207. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  208. package/src/open-api/utils/codegen-data/types.js +54 -30
  209. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  210. package/src/open-api/utils/codegen-data.d.ts +8 -4
  211. package/src/open-api/utils/codegen-data.js +494 -674
  212. package/src/open-api/utils/codegen-data.js.map +1 -1
  213. package/src/open-api/utils/normalise.d.ts +5 -1
  214. package/src/open-api/utils/normalise.js +437 -246
  215. package/src/open-api/utils/normalise.js.map +1 -1
  216. package/src/open-api/utils/parse.d.ts +2 -2
  217. package/src/open-api/utils/parse.js +11 -13
  218. package/src/open-api/utils/parse.js.map +1 -1
  219. package/src/open-api/utils/parser.d.ts +55 -0
  220. package/src/open-api/utils/parser.js +787 -0
  221. package/src/open-api/utils/parser.js.map +1 -0
  222. package/src/open-api/utils/refs.d.ts +1 -1
  223. package/src/open-api/utils/refs.js +12 -22
  224. package/src/open-api/utils/refs.js.map +1 -1
  225. package/src/open-api/utils/types.d.ts +18 -0
  226. package/src/open-api/utils/types.js +5 -2
  227. package/src/open-api/utils/types.js.map +1 -1
  228. package/src/preset/__snapshots__/generator.spec.ts.snap +149 -28
  229. package/src/preset/generator.d.ts +4 -4
  230. package/src/preset/generator.js +66 -147
  231. package/src/preset/generator.js.map +1 -1
  232. package/src/preset/schema.d.js +6 -0
  233. package/src/preset/schema.d.js.map +1 -0
  234. package/src/preset/schema.d.ts +6 -2
  235. package/src/preset/schema.json +16 -5
  236. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +321 -0
  237. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  238. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +182 -314
  239. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  240. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  241. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  242. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  243. package/src/py/agent/a2a-connection/generator.js +113 -85
  244. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  245. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  246. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  247. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  248. package/src/py/agent/a2a-connection/schema.json +5 -0
  249. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  250. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  251. package/src/py/agent/files/common/agent.py.template +2 -0
  252. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  253. package/src/py/agent/files/deploy/Dockerfile.template +1 -1
  254. package/src/py/agent/files/http/init.py.template +7 -25
  255. package/src/py/agent/files/http/main.py.template +3 -4
  256. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  257. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  258. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  259. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  260. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  261. package/src/py/agent/gateway-connection/generator.js +119 -0
  262. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  263. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  264. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  265. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  266. package/src/py/agent/gateway-connection/schema.json +31 -0
  267. package/src/py/agent/generator.d.ts +3 -3
  268. package/src/py/agent/generator.js +290 -183
  269. package/src/py/agent/generator.js.map +1 -1
  270. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  271. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  272. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  273. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  274. package/src/py/agent/mcp-connection/generator.js +65 -126
  275. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  276. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  277. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  278. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  279. package/src/py/agent/mcp-connection/schema.json +5 -0
  280. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  281. package/src/py/agent/react-connection/generator.d.ts +4 -4
  282. package/src/py/agent/react-connection/generator.js +55 -59
  283. package/src/py/agent/react-connection/generator.js.map +1 -1
  284. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  285. package/src/py/agent/react-connection/local-dev.js +36 -0
  286. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  287. package/src/py/agent/react-connection/schema.d.js +8 -0
  288. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  289. package/src/py/agent/react-connection/schema.d.ts +1 -0
  290. package/src/py/agent/react-connection/schema.json +5 -0
  291. package/src/py/agent/schema.d.js +6 -0
  292. package/src/py/agent/schema.d.js.map +1 -0
  293. package/src/py/agent/schema.d.ts +2 -1
  294. package/src/py/agent/schema.json +6 -1
  295. package/src/py/api/generator.d.ts +3 -3
  296. package/src/py/api/generator.js +12 -11
  297. package/src/py/api/generator.js.map +1 -1
  298. package/src/py/api/schema.d.js +6 -0
  299. package/src/py/api/schema.d.js.map +1 -0
  300. package/src/py/api/schema.d.ts +1 -0
  301. package/src/py/api/schema.json +5 -0
  302. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1522 -0
  303. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  304. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  305. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  306. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  307. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  308. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  309. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  310. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  311. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  312. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  313. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  314. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  315. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  316. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  317. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  318. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  319. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  320. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  321. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  322. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  323. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  324. package/src/py/dynamodb/files/config.json.template +24 -0
  325. package/src/py/dynamodb/generator.d.ts +10 -0
  326. package/src/py/dynamodb/generator.js +110 -0
  327. package/src/py/dynamodb/generator.js.map +1 -0
  328. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  329. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  330. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  331. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  332. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  333. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  334. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  335. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  336. package/src/py/dynamodb/schema.d.js +6 -0
  337. package/src/py/dynamodb/schema.d.js.map +1 -0
  338. package/src/py/dynamodb/schema.d.ts +16 -0
  339. package/src/py/dynamodb/schema.json +75 -0
  340. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +238 -4694
  341. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  342. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  343. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  344. package/src/py/fast-api/generator.d.ts +3 -3
  345. package/src/py/fast-api/generator.js +90 -87
  346. package/src/py/fast-api/generator.js.map +1 -1
  347. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  348. package/src/py/fast-api/react/generator.d.ts +4 -4
  349. package/src/py/fast-api/react/generator.js +25 -25
  350. package/src/py/fast-api/react/generator.js.map +1 -1
  351. package/src/py/fast-api/react/open-api.d.ts +1 -1
  352. package/src/py/fast-api/react/open-api.js +31 -29
  353. package/src/py/fast-api/react/open-api.js.map +1 -1
  354. package/src/py/fast-api/react/schema.d.js +6 -0
  355. package/src/py/fast-api/react/schema.d.js.map +1 -0
  356. package/src/py/fast-api/react/schema.d.ts +1 -0
  357. package/src/py/fast-api/react/schema.json +5 -0
  358. package/src/py/fast-api/schema.d.js +6 -0
  359. package/src/py/fast-api/schema.d.js.map +1 -0
  360. package/src/py/fast-api/schema.d.ts +1 -0
  361. package/src/py/fast-api/schema.json +5 -0
  362. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  363. package/src/py/lambda-function/generator.d.ts +3 -3
  364. package/src/py/lambda-function/generator.js +60 -59
  365. package/src/py/lambda-function/generator.js.map +1 -1
  366. package/src/py/lambda-function/schema.d.js +6 -0
  367. package/src/py/lambda-function/schema.d.js.map +1 -0
  368. package/src/py/lambda-function/schema.d.ts +1 -0
  369. package/src/py/lambda-function/schema.json +5 -0
  370. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +209 -19
  371. package/src/py/mcp-server/files/deploy/Dockerfile.template +1 -1
  372. package/src/py/mcp-server/generator.d.ts +3 -3
  373. package/src/py/mcp-server/generator.js +163 -127
  374. package/src/py/mcp-server/generator.js.map +1 -1
  375. package/src/py/mcp-server/schema.d.js +6 -0
  376. package/src/py/mcp-server/schema.d.js.map +1 -0
  377. package/src/py/mcp-server/schema.d.ts +1 -0
  378. package/src/py/mcp-server/schema.json +5 -0
  379. package/src/py/project/generator.d.ts +17 -4
  380. package/src/py/project/generator.js +229 -130
  381. package/src/py/project/generator.js.map +1 -1
  382. package/src/py/project/schema.d.js +6 -0
  383. package/src/py/project/schema.d.js.map +1 -0
  384. package/src/py/project/schema.d.ts +1 -0
  385. package/src/py/project/schema.json +5 -0
  386. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2070 -0
  387. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +104 -0
  388. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  389. package/src/py/rdb/agent-connection/generator.js +46 -0
  390. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  391. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  392. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  393. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  394. package/src/py/rdb/agent-connection/schema.json +27 -0
  395. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +44 -0
  396. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  397. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  398. package/src/py/rdb/fast-api-connection/generator.js +54 -0
  399. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  400. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  401. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  402. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  403. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  404. package/src/py/rdb/files/Dockerfile.create-db-user.template +14 -0
  405. package/src/py/rdb/files/Dockerfile.migration.template +14 -0
  406. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  407. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  408. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  409. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  410. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  411. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  412. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  413. package/src/py/rdb/files/alembic.ini.template +38 -0
  414. package/src/py/rdb/files/config.json.template +14 -0
  415. package/src/py/rdb/files/migrations/env.py.template +80 -0
  416. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  417. package/src/py/rdb/generator.d.ts +6 -0
  418. package/src/py/rdb/generator.js +280 -0
  419. package/src/py/rdb/generator.js.map +1 -0
  420. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +101 -0
  421. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  422. package/src/py/rdb/mcp-server-connection/generator.js +46 -0
  423. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  424. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  425. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  426. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  427. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  428. package/src/py/rdb/schema.d.js +6 -0
  429. package/src/py/rdb/schema.d.js.map +1 -0
  430. package/src/py/rdb/schema.d.ts +16 -0
  431. package/src/py/rdb/schema.json +77 -0
  432. package/src/py/rdb/utils.d.ts +6 -0
  433. package/src/py/rdb/utils.js +16 -0
  434. package/src/py/rdb/utils.js.map +1 -0
  435. package/src/sdk/agentcore-gateway.d.ts +6 -0
  436. package/src/sdk/agentcore-gateway.js +7 -0
  437. package/src/sdk/agentcore-gateway.js.map +1 -0
  438. package/src/sdk/connection.d.ts +6 -0
  439. package/src/sdk/connection.js +6 -0
  440. package/src/sdk/connection.js.map +1 -0
  441. package/src/sdk/license.d.ts +8 -0
  442. package/src/sdk/license.js +7 -0
  443. package/src/sdk/license.js.map +1 -0
  444. package/src/sdk/open-api.d.ts +10 -0
  445. package/src/sdk/open-api.js +8 -0
  446. package/src/sdk/open-api.js.map +1 -0
  447. package/src/sdk/py.d.ts +16 -0
  448. package/src/sdk/py.js +11 -0
  449. package/src/sdk/py.js.map +1 -0
  450. package/src/sdk/terraform.d.ts +6 -0
  451. package/src/sdk/terraform.js +7 -0
  452. package/src/sdk/terraform.js.map +1 -0
  453. package/src/sdk/ts.d.ts +37 -0
  454. package/src/sdk/ts.js +39 -0
  455. package/src/sdk/ts.js.map +1 -0
  456. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  457. package/src/sdk/utils/ast.js +6 -0
  458. package/src/sdk/utils/ast.js.map +1 -0
  459. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  460. package/src/sdk/utils/format.js +6 -0
  461. package/src/sdk/utils/format.js.map +1 -0
  462. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  463. package/src/sdk/utils/test.js +6 -0
  464. package/src/sdk/utils/test.js.map +1 -0
  465. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  466. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  467. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  468. package/src/smithy/project/generator.d.ts +3 -3
  469. package/src/smithy/project/generator.js +64 -57
  470. package/src/smithy/project/generator.js.map +1 -1
  471. package/src/smithy/project/schema.d.js +6 -0
  472. package/src/smithy/project/schema.d.js.map +1 -0
  473. package/src/smithy/project/schema.d.ts +1 -0
  474. package/src/smithy/project/schema.json +5 -0
  475. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  476. package/src/smithy/react-connection/generator.d.ts +3 -3
  477. package/src/smithy/react-connection/generator.js +39 -47
  478. package/src/smithy/react-connection/generator.js.map +1 -1
  479. package/src/smithy/react-connection/schema.d.js +6 -0
  480. package/src/smithy/react-connection/schema.d.js.map +1 -0
  481. package/src/smithy/react-connection/schema.d.ts +1 -0
  482. package/src/smithy/react-connection/schema.json +5 -0
  483. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +850 -136
  484. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  485. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  486. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  487. package/src/smithy/ts/api/files/service.ts.template +3 -3
  488. package/src/smithy/ts/api/generator.d.ts +3 -3
  489. package/src/smithy/ts/api/generator.js +131 -105
  490. package/src/smithy/ts/api/generator.js.map +1 -1
  491. package/src/smithy/ts/api/schema.d.js +6 -0
  492. package/src/smithy/ts/api/schema.d.js.map +1 -0
  493. package/src/smithy/ts/api/schema.d.ts +1 -0
  494. package/src/smithy/ts/api/schema.json +5 -0
  495. package/src/terraform/project/files/application/scripts/bootstrap.ts.template +40 -1
  496. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  497. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  498. package/src/terraform/project/generator.d.ts +3 -3
  499. package/src/terraform/project/generator.js +159 -104
  500. package/src/terraform/project/generator.js.map +1 -1
  501. package/src/terraform/project/schema.d.js +9 -0
  502. package/src/terraform/project/schema.d.js.map +1 -0
  503. package/src/terraform/project/schema.d.ts +1 -0
  504. package/src/terraform/project/schema.json +5 -0
  505. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1180 -185
  506. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  507. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  508. package/src/trpc/backend/files/src/index.ts.template +5 -5
  509. package/src/trpc/backend/files/src/init.ts.template +1 -1
  510. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  511. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  512. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  513. package/src/trpc/backend/files/src/router.ts.template +2 -2
  514. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  515. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  516. package/src/trpc/backend/generator.d.ts +4 -4
  517. package/src/trpc/backend/generator.js +100 -84
  518. package/src/trpc/backend/generator.js.map +1 -1
  519. package/src/trpc/backend/schema.d.js +6 -0
  520. package/src/trpc/backend/schema.d.js.map +1 -0
  521. package/src/trpc/backend/schema.d.ts +3 -2
  522. package/src/trpc/backend/schema.json +5 -0
  523. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  524. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  525. package/src/trpc/react/generator.d.ts +4 -4
  526. package/src/trpc/react/generator.js +64 -59
  527. package/src/trpc/react/generator.js.map +1 -1
  528. package/src/trpc/react/schema.d.js +6 -0
  529. package/src/trpc/react/schema.d.js.map +1 -0
  530. package/src/trpc/react/schema.d.ts +1 -0
  531. package/src/trpc/react/schema.json +5 -0
  532. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +792 -23
  533. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +257 -0
  534. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  535. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  536. package/src/ts/agent/a2a-connection/generator.js +65 -55
  537. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  538. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  539. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  540. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  541. package/src/ts/agent/a2a-connection/schema.json +5 -0
  542. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  543. package/src/ts/agent/files/ag-ui/index.ts.template +26 -10
  544. package/src/ts/agent/files/common/agent.ts.template +7 -2
  545. package/src/ts/agent/files/deploy/Dockerfile.template +13 -2
  546. package/src/ts/agent/files/http/client.ts.template +2 -2
  547. package/src/ts/agent/files/http/index.ts.template +2 -2
  548. package/src/ts/agent/files/http/router.ts.template +5 -5
  549. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +221 -0
  550. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  551. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  552. package/src/ts/agent/gateway-connection/generator.js +117 -0
  553. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  554. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  555. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  556. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  557. package/src/ts/agent/gateway-connection/schema.json +31 -0
  558. package/src/ts/agent/generator.d.ts +3 -3
  559. package/src/ts/agent/generator.js +213 -145
  560. package/src/ts/agent/generator.js.map +1 -1
  561. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +193 -111
  562. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  563. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  564. package/src/ts/agent/mcp-connection/generator.js +56 -60
  565. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  566. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  567. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  568. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  569. package/src/ts/agent/mcp-connection/schema.json +5 -0
  570. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  571. package/src/ts/agent/react-connection/generator.js +88 -91
  572. package/src/ts/agent/react-connection/generator.js.map +1 -1
  573. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  574. package/src/ts/agent/react-connection/local-dev.js +17 -0
  575. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  576. package/src/ts/agent/react-connection/schema.d.js +8 -0
  577. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  578. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  579. package/src/ts/agent/react-connection/schema.json +5 -0
  580. package/src/ts/agent/schema.d.js +6 -0
  581. package/src/ts/agent/schema.d.js.map +1 -0
  582. package/src/ts/agent/schema.d.ts +1 -0
  583. package/src/ts/agent/schema.json +5 -0
  584. package/src/ts/api/generator.d.ts +3 -3
  585. package/src/ts/api/generator.js +16 -16
  586. package/src/ts/api/generator.js.map +1 -1
  587. package/src/ts/api/schema.d.js +6 -0
  588. package/src/ts/api/schema.d.js.map +1 -0
  589. package/src/ts/api/schema.d.ts +3 -1
  590. package/src/ts/api/schema.json +5 -0
  591. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  592. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  593. package/src/ts/astro-docs/generator.d.ts +3 -3
  594. package/src/ts/astro-docs/generator.js +80 -54
  595. package/src/ts/astro-docs/generator.js.map +1 -1
  596. package/src/ts/astro-docs/schema.d.js +6 -0
  597. package/src/ts/astro-docs/schema.d.js.map +1 -0
  598. package/src/ts/astro-docs/schema.d.ts +2 -2
  599. package/src/ts/astro-docs/schema.json +3 -3
  600. package/src/ts/dcr-proxy/__snapshots__/generator.spec.ts.snap +982 -0
  601. package/src/ts/dcr-proxy/generator.d.ts +10 -0
  602. package/src/ts/dcr-proxy/generator.js +98 -0
  603. package/src/ts/dcr-proxy/generator.js.map +1 -0
  604. package/src/ts/dcr-proxy/schema.d.js +6 -0
  605. package/src/ts/dcr-proxy/schema.d.js.map +1 -0
  606. package/src/ts/dcr-proxy/schema.d.ts +13 -0
  607. package/src/ts/dcr-proxy/schema.json +44 -0
  608. package/src/ts/docs/generator.d.ts +3 -3
  609. package/src/ts/docs/generator.js +10 -10
  610. package/src/ts/docs/generator.js.map +1 -1
  611. package/src/ts/docs/schema.d.js +6 -0
  612. package/src/ts/docs/schema.d.js.map +1 -0
  613. package/src/ts/docs/schema.d.ts +1 -4
  614. package/src/ts/docs/schema.json +3 -3
  615. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +402 -518
  616. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  617. package/src/ts/dynamodb/agent-connection/generator.d.ts +3 -3
  618. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  619. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  620. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  621. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  622. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  623. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  624. package/src/ts/dynamodb/files/config.json.template +24 -0
  625. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  626. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  627. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  628. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  629. package/src/ts/dynamodb/generator.d.ts +3 -3
  630. package/src/ts/dynamodb/generator.js +76 -63
  631. package/src/ts/dynamodb/generator.js.map +1 -1
  632. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  633. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +3 -3
  634. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  635. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  636. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  637. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  638. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  639. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  640. package/src/ts/dynamodb/schema.d.js +6 -0
  641. package/src/ts/dynamodb/schema.d.js.map +1 -0
  642. package/src/ts/dynamodb/schema.d.ts +2 -0
  643. package/src/ts/dynamodb/schema.json +25 -2
  644. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  645. package/src/ts/dynamodb/smithy-connection/generator.d.ts +3 -3
  646. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  647. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  648. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  649. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  650. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  651. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  652. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  653. package/src/ts/dynamodb/trpc-connection/generator.d.ts +3 -3
  654. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  655. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  656. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  657. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  658. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  659. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  660. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +8 -6
  661. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +2 -1
  662. package/src/ts/lambda-function/generator.d.ts +3 -3
  663. package/src/ts/lambda-function/generator.js +60 -56
  664. package/src/ts/lambda-function/generator.js.map +1 -1
  665. package/src/ts/lambda-function/io.js +83 -52
  666. package/src/ts/lambda-function/io.js.map +1 -1
  667. package/src/ts/lambda-function/schema.d.js +6 -0
  668. package/src/ts/lambda-function/schema.d.js.map +1 -0
  669. package/src/ts/lambda-function/schema.d.ts +1 -0
  670. package/src/ts/lambda-function/schema.json +5 -0
  671. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +98 -93
  672. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  673. package/src/ts/lib/biome.d.ts +7 -0
  674. package/src/ts/lib/biome.js +91 -0
  675. package/src/ts/lib/biome.js.map +1 -0
  676. package/src/ts/lib/generator.d.ts +3 -3
  677. package/src/ts/lib/generator.js +107 -108
  678. package/src/ts/lib/generator.js.map +1 -1
  679. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  680. package/src/ts/lib/schema.d.js +6 -0
  681. package/src/ts/lib/schema.d.js.map +1 -0
  682. package/src/ts/lib/schema.d.ts +1 -1
  683. package/src/ts/lib/schema.json +5 -0
  684. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  685. package/src/ts/lib/ts-project-utils.js +95 -71
  686. package/src/ts/lib/ts-project-utils.js.map +1 -1
  687. package/src/ts/lib/types.d.ts +6 -0
  688. package/src/ts/lib/types.js +5 -2
  689. package/src/ts/lib/types.js.map +1 -1
  690. package/src/ts/lib/vitest.d.ts +2 -2
  691. package/src/ts/lib/vitest.js +30 -26
  692. package/src/ts/lib/vitest.js.map +1 -1
  693. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +209 -42
  694. package/src/ts/mcp-server/files/Dockerfile.template +13 -2
  695. package/src/ts/mcp-server/generator.d.ts +3 -3
  696. package/src/ts/mcp-server/generator.js +183 -140
  697. package/src/ts/mcp-server/generator.js.map +1 -1
  698. package/src/ts/mcp-server/schema.d.js +6 -0
  699. package/src/ts/mcp-server/schema.d.js.map +1 -0
  700. package/src/ts/mcp-server/schema.d.ts +1 -0
  701. package/src/ts/mcp-server/schema.json +5 -0
  702. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  703. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  704. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  705. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  706. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  707. package/src/ts/nx-generator/generator.d.ts +2 -2
  708. package/src/ts/nx-generator/generator.js +118 -73
  709. package/src/ts/nx-generator/generator.js.map +1 -1
  710. package/src/ts/nx-generator/schema.d.js +6 -0
  711. package/src/ts/nx-generator/schema.d.js.map +1 -0
  712. package/src/ts/nx-generator/schema.d.ts +1 -0
  713. package/src/ts/nx-generator/schema.json +5 -0
  714. package/src/ts/nx-migration/files/migration.spec.ts.template +26 -0
  715. package/src/ts/nx-migration/files/migration.ts.template +61 -0
  716. package/src/ts/nx-migration/files/prompt.md.template +46 -0
  717. package/src/ts/nx-migration/generator.d.ts +24 -0
  718. package/src/ts/nx-migration/generator.js +122 -0
  719. package/src/ts/nx-migration/generator.js.map +1 -0
  720. package/src/ts/nx-migration/schema.d.js +6 -0
  721. package/src/ts/nx-migration/schema.d.js.map +1 -0
  722. package/src/ts/nx-migration/schema.d.ts +13 -0
  723. package/src/ts/nx-migration/schema.json +63 -0
  724. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +36 -25
  725. package/src/ts/nx-plugin/files/mcp-server/resources/GENERAL_GUIDANCE.md.template +5 -6
  726. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  727. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  728. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  729. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  730. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  731. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +4 -4
  732. package/src/ts/nx-plugin/generator.d.ts +3 -3
  733. package/src/ts/nx-plugin/generator.js +61 -50
  734. package/src/ts/nx-plugin/generator.js.map +1 -1
  735. package/src/ts/nx-plugin/schema.d.js +9 -0
  736. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  737. package/src/ts/nx-plugin/schema.json +5 -0
  738. package/src/ts/nx-plugin/utils.d.ts +21 -1
  739. package/src/ts/nx-plugin/utils.js +60 -51
  740. package/src/ts/nx-plugin/utils.js.map +1 -1
  741. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +551 -642
  742. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  743. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  744. package/src/ts/rdb/agent-connection/generator.js +37 -39
  745. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  746. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  747. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  748. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  749. package/src/ts/rdb/agent-connection/schema.json +5 -0
  750. package/src/ts/rdb/files/Dockerfile.template +19 -1
  751. package/src/ts/rdb/files/config.json.template +14 -0
  752. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  753. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  754. package/src/ts/rdb/files/src/index.ts.template +1 -2
  755. package/src/ts/rdb/files/src/migration-handler.ts.template +5 -30
  756. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  757. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  758. package/src/ts/rdb/generator.d.ts +3 -7
  759. package/src/ts/rdb/generator.js +177 -131
  760. package/src/ts/rdb/generator.js.map +1 -1
  761. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  762. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  763. package/src/ts/rdb/mcp-server-connection/generator.js +35 -37
  764. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  765. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  766. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  767. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  768. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  769. package/src/ts/rdb/schema.d.js +6 -0
  770. package/src/ts/rdb/schema.d.js.map +1 -0
  771. package/src/ts/rdb/schema.d.ts +1 -0
  772. package/src/ts/rdb/schema.json +6 -1
  773. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  774. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  775. package/src/ts/rdb/smithy-connection/generator.js +45 -43
  776. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  777. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  778. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  779. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  780. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  781. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  782. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  783. package/src/ts/rdb/trpc-connection/generator.js +35 -31
  784. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  785. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  786. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  787. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  788. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  789. package/src/ts/rdb/utils.d.ts +1 -1
  790. package/src/ts/rdb/utils.js +9 -11
  791. package/src/ts/rdb/utils.js.map +1 -1
  792. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  793. package/src/ts/react-website/agui/generator.d.ts +1 -1
  794. package/src/ts/react-website/agui/generator.js +70 -62
  795. package/src/ts/react-website/agui/generator.js.map +1 -1
  796. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1387 -813
  797. package/src/ts/react-website/app/generator.d.ts +4 -4
  798. package/src/ts/react-website/app/generator.js +241 -196
  799. package/src/ts/react-website/app/generator.js.map +1 -1
  800. package/src/ts/react-website/app/schema.d.js +6 -0
  801. package/src/ts/react-website/app/schema.d.js.map +1 -0
  802. package/src/ts/react-website/app/schema.d.ts +1 -1
  803. package/src/ts/react-website/app/schema.json +11 -6
  804. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +139 -26
  805. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +48 -12
  806. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  807. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  808. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  809. package/src/ts/react-website/cognito-auth/generator.js +65 -63
  810. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  811. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  812. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  813. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  814. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  815. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  816. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  817. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  818. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  819. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  820. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  821. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  822. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  823. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  824. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  825. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  826. package/src/ts/react-website/runtime-config/generator.js +29 -31
  827. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  828. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  829. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  830. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  831. package/src/ts/react-website/runtime-config/schema.json +5 -0
  832. package/src/ts/sync/generator.d.ts +3 -3
  833. package/src/ts/sync/generator.js +137 -60
  834. package/src/ts/sync/generator.js.map +1 -1
  835. package/src/ts/website/app/generator.d.ts +3 -3
  836. package/src/ts/website/app/generator.js +10 -10
  837. package/src/ts/website/app/generator.js.map +1 -1
  838. package/src/ts/website/app/schema.d.js +6 -0
  839. package/src/ts/website/app/schema.d.js.map +1 -0
  840. package/src/ts/website/app/schema.d.ts +1 -1
  841. package/src/ts/website/app/schema.json +11 -6
  842. package/src/ts/website/auth/generator.d.ts +4 -4
  843. package/src/ts/website/auth/generator.js +11 -10
  844. package/src/ts/website/auth/generator.js.map +1 -1
  845. package/src/ts/website/auth/schema.d.js +6 -0
  846. package/src/ts/website/auth/schema.d.js.map +1 -0
  847. package/src/ts/website/auth/schema.d.ts +1 -0
  848. package/src/ts/website/auth/schema.json +5 -0
  849. package/src/utils/__snapshots__/shared-constructs.spec.ts.snap +21 -0
  850. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  851. package/src/utils/agent-chat/agent-chat.js +31 -0
  852. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  853. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  854. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  855. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  856. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  857. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  858. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  859. package/src/utils/agent-connection/agent-connection.js +467 -103
  860. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  861. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  862. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  863. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  864. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  865. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  866. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  867. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  868. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  869. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  870. package/src/utils/agent-connection/files/core-strands/base/tool-errors-strands.ts.template +22 -0
  871. 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
  872. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  873. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  874. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  875. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  876. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  877. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  878. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  879. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  880. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  881. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  882. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  883. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  884. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  885. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  886. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  887. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  888. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +12 -3
  889. package/src/utils/agent-core-constructs/agent-core-constructs.js +104 -38
  890. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  891. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +31 -4
  892. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +85 -0
  893. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +497 -0
  894. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  895. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +32 -0
  896. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +488 -0
  897. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  898. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +151 -13
  899. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  900. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  901. package/src/utils/api-constructs/api-constructs.js +50 -31
  902. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  903. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +20 -15
  904. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +24 -16
  905. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  906. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  907. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  908. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +54 -18
  909. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  910. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  911. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  912. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  913. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  914. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  915. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  916. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  917. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  918. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  919. package/src/utils/ast/website.d.ts +5 -1
  920. package/src/utils/ast/website.js +18 -20
  921. package/src/utils/ast/website.js.map +1 -1
  922. package/src/utils/ast.d.ts +5 -1
  923. package/src/utils/ast.js +107 -89
  924. package/src/utils/ast.js.map +1 -1
  925. package/src/utils/base-tsconfig.d.ts +30 -0
  926. package/src/utils/base-tsconfig.js +32 -0
  927. package/src/utils/base-tsconfig.js.map +1 -0
  928. package/src/utils/bundle/bundle.d.ts +1 -1
  929. package/src/utils/bundle/bundle.js +51 -47
  930. package/src/utils/bundle/bundle.js.map +1 -1
  931. package/src/utils/commands.d.ts +15 -5
  932. package/src/utils/commands.js +87 -28
  933. package/src/utils/commands.js.map +1 -1
  934. package/src/utils/config/index.d.ts +21 -5
  935. package/src/utils/config/index.js +5 -4
  936. package/src/utils/config/index.js.map +1 -1
  937. package/src/utils/config/utils.d.ts +5 -4
  938. package/src/utils/config/utils.js +50 -59
  939. package/src/utils/config/utils.js.map +1 -1
  940. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  941. package/src/utils/connection/open-api/react.d.ts +6 -6
  942. package/src/utils/connection/open-api/react.js +82 -77
  943. package/src/utils/connection/open-api/react.js.map +1 -1
  944. package/src/utils/containers.d.ts +1 -1
  945. package/src/utils/containers.js +22 -23
  946. package/src/utils/containers.js.map +1 -1
  947. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +38 -0
  948. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js +93 -0
  949. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -0
  950. package/src/utils/dcr-proxy-constructs/files/cdk/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.ts.template +227 -0
  951. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorization-server-metadata.ts.template +39 -0
  952. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/authorize.ts.template +26 -0
  953. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/mcp-proxy.ts.template +89 -0
  954. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/protected-resource-metadata.ts.template +13 -0
  955. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/register.ts.template +70 -0
  956. package/src/utils/dcr-proxy-constructs/files/project/src/handlers/token.ts.template +75 -0
  957. package/src/utils/dcr-proxy-constructs/files/terraform/app/dcr-proxies/__nameKebabCase__/__nameKebabCase__.tf.template +410 -0
  958. package/src/utils/dependencies.d.ts +18 -0
  959. package/src/utils/dependencies.js +206 -0
  960. package/src/utils/dependencies.js.map +1 -0
  961. package/src/utils/docker.d.ts +53 -0
  962. package/src/utils/docker.js +92 -0
  963. package/src/utils/docker.js.map +1 -0
  964. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +3 -3
  965. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  966. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  967. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  968. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  969. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  970. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  971. package/src/utils/files/common/constructs/src/core/cloudfront.ts.template +14 -0
  972. package/src/utils/files/common/constructs/src/core/index.ts.template +5 -4
  973. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  974. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  975. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  976. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  977. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  978. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  979. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +104 -0
  980. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  981. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  982. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  983. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  984. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  985. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  986. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  987. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +115 -0
  988. package/src/utils/files/common/shadcn/readme/README.md.template +3 -3
  989. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  990. package/src/utils/files/shadcn/components.json.template +1 -1
  991. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  992. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  993. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  994. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  995. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  996. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  997. package/src/utils/format.d.ts +70 -2
  998. package/src/utils/format.js +326 -108
  999. package/src/utils/format.js.map +1 -1
  1000. package/src/utils/fs.d.ts +1 -1
  1001. package/src/utils/fs.js +14 -13
  1002. package/src/utils/fs.js.map +1 -1
  1003. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  1004. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  1005. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  1006. package/src/utils/function-constructs/function-constructs.js +22 -25
  1007. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  1008. package/src/utils/generators.d.ts +4 -0
  1009. package/src/utils/generators.js +18 -20
  1010. package/src/utils/generators.js.map +1 -1
  1011. package/src/utils/git.d.ts +1 -1
  1012. package/src/utils/git.js +19 -34
  1013. package/src/utils/git.js.map +1 -1
  1014. package/src/utils/iac-providers.js +5 -5
  1015. package/src/utils/iac-providers.js.map +1 -1
  1016. package/src/utils/iac.d.ts +1 -1
  1017. package/src/utils/iac.js +12 -14
  1018. package/src/utils/iac.js.map +1 -1
  1019. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +131 -24
  1020. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  1021. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  1022. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  1023. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  1024. package/src/utils/identity-constructs/identity-constructs.js +42 -31
  1025. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  1026. package/src/utils/init.d.ts +59 -0
  1027. package/src/utils/init.js +282 -0
  1028. package/src/utils/init.js.map +1 -0
  1029. package/src/utils/install.d.ts +32 -0
  1030. package/src/utils/install.js +58 -0
  1031. package/src/utils/install.js.map +1 -0
  1032. package/src/utils/js.d.ts +4 -0
  1033. package/src/utils/js.js +27 -20
  1034. package/src/utils/js.js.map +1 -1
  1035. package/src/utils/mcp.d.ts +10 -1
  1036. package/src/utils/mcp.js +42 -41
  1037. package/src/utils/mcp.js.map +1 -1
  1038. package/src/utils/metrics.d.ts +9 -3
  1039. package/src/utils/metrics.js +61 -46
  1040. package/src/utils/metrics.js.map +1 -1
  1041. package/src/utils/migration-versions.d.ts +95 -0
  1042. package/src/utils/migration-versions.js +128 -0
  1043. package/src/utils/migration-versions.js.map +1 -0
  1044. package/src/utils/mock-project-graph.js +8 -12
  1045. package/src/utils/mock-project-graph.js.map +1 -1
  1046. package/src/utils/module-format.d.ts +25 -0
  1047. package/src/utils/module-format.js +45 -0
  1048. package/src/utils/module-format.js.map +1 -0
  1049. package/src/utils/names.d.ts +22 -0
  1050. package/src/utils/names.js +44 -48
  1051. package/src/utils/names.js.map +1 -1
  1052. package/src/utils/npm-scope.d.ts +1 -5
  1053. package/src/utils/npm-scope.js +7 -20
  1054. package/src/utils/npm-scope.js.map +1 -1
  1055. package/src/utils/nx.d.ts +57 -4
  1056. package/src/utils/nx.js +192 -75
  1057. package/src/utils/nx.js.map +1 -1
  1058. package/src/utils/nxlv-python.d.ts +1 -1
  1059. package/src/utils/nxlv-python.js +27 -15
  1060. package/src/utils/nxlv-python.js.map +1 -1
  1061. package/src/utils/object.js +5 -11
  1062. package/src/utils/object.js.map +1 -1
  1063. package/src/utils/paths.d.ts +1 -1
  1064. package/src/utils/paths.js +11 -15
  1065. package/src/utils/paths.js.map +1 -1
  1066. package/src/utils/pkg-manager.js +4 -9
  1067. package/src/utils/pkg-manager.js.map +1 -1
  1068. package/src/utils/pnpm-workspace.d.ts +1 -12
  1069. package/src/utils/pnpm-workspace.js +16 -43
  1070. package/src/utils/pnpm-workspace.js.map +1 -1
  1071. package/src/utils/port.d.ts +29 -7
  1072. package/src/utils/port.js +67 -28
  1073. package/src/utils/port.js.map +1 -1
  1074. package/src/utils/project-package-json.d.ts +39 -0
  1075. package/src/utils/project-package-json.js +119 -0
  1076. package/src/utils/project-package-json.js.map +1 -0
  1077. package/src/utils/py.d.ts +16 -3
  1078. package/src/utils/py.js +72 -47
  1079. package/src/utils/py.js.map +1 -1
  1080. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1081. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +112 -88
  1082. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1083. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +60 -53
  1084. package/src/utils/rdb-constructs/rdb-constructs.d.ts +15 -4
  1085. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1086. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1087. package/src/utils/ruff.d.ts +59 -0
  1088. package/src/utils/ruff.js +140 -0
  1089. package/src/utils/ruff.js.map +1 -0
  1090. package/src/utils/shared-constructs-constants.d.ts +1 -0
  1091. package/src/utils/shared-constructs-constants.js +16 -15
  1092. package/src/utils/shared-constructs-constants.js.map +1 -1
  1093. package/src/utils/shared-constructs.d.ts +2 -2
  1094. package/src/utils/shared-constructs.js +61 -67
  1095. package/src/utils/shared-constructs.js.map +1 -1
  1096. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  1097. package/src/utils/shared-dynamodb-scripts.js +27 -0
  1098. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1099. package/src/utils/shared-infra-config.d.ts +1 -1
  1100. package/src/utils/shared-infra-config.js +31 -30
  1101. package/src/utils/shared-infra-config.js.map +1 -1
  1102. package/src/utils/shared-infra-scripts.d.ts +11 -0
  1103. package/src/utils/shared-infra-scripts.js +43 -0
  1104. package/src/utils/shared-infra-scripts.js.map +1 -0
  1105. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  1106. package/src/utils/shared-rdb-scripts.js +45 -0
  1107. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1108. package/src/utils/shared-scripts.d.ts +2 -5
  1109. package/src/utils/shared-scripts.js +12 -38
  1110. package/src/utils/shared-scripts.js.map +1 -1
  1111. package/src/utils/shared-shadcn.d.ts +1 -1
  1112. package/src/utils/shared-shadcn.js +69 -72
  1113. package/src/utils/shared-shadcn.js.map +1 -1
  1114. package/src/utils/test-git.d.ts +39 -0
  1115. package/src/utils/test-git.js +117 -0
  1116. package/src/utils/test-git.js.map +1 -0
  1117. package/src/utils/test.d.ts +15 -1
  1118. package/src/utils/test.js +46 -23
  1119. package/src/utils/test.js.map +1 -1
  1120. package/src/utils/toml.d.ts +6 -1
  1121. package/src/utils/toml.js +20 -14
  1122. package/src/utils/toml.js.map +1 -1
  1123. package/src/utils/versions.d.ts +161 -99
  1124. package/src/utils/versions.js +177 -116
  1125. package/src/utils/versions.js.map +1 -1
  1126. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1127. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +203 -41
  1128. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1129. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1130. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  1131. package/src/utils/website-constructs/website-constructs.js +38 -30
  1132. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1133. package/bin/aws-nx-mcp.d.ts +0 -2
  1134. package/bin/aws-nx-mcp.js +0 -17
  1135. package/bin/aws-nx-mcp.js.map +0 -1
  1136. package/sdk/connection.d.ts +0 -6
  1137. package/sdk/connection.js +0 -10
  1138. package/sdk/connection.js.map +0 -1
  1139. package/sdk/license.d.ts +0 -8
  1140. package/sdk/license.js +0 -13
  1141. package/sdk/license.js.map +0 -1
  1142. package/sdk/open-api.d.ts +0 -10
  1143. package/sdk/open-api.js +0 -15
  1144. package/sdk/open-api.js.map +0 -1
  1145. package/sdk/py.d.ts +0 -14
  1146. package/sdk/py.js +0 -18
  1147. package/sdk/py.js.map +0 -1
  1148. package/sdk/terraform.d.ts +0 -6
  1149. package/sdk/terraform.js +0 -11
  1150. package/sdk/terraform.js.map +0 -1
  1151. package/sdk/ts.d.ts +0 -29
  1152. package/sdk/ts.js +0 -47
  1153. package/sdk/ts.js.map +0 -1
  1154. package/sdk/utils/ast.js +0 -12
  1155. package/sdk/utils/ast.js.map +0 -1
  1156. package/sdk/utils/format.js +0 -10
  1157. package/sdk/utils/format.js.map +0 -1
  1158. package/sdk/utils/test.js +0 -10
  1159. package/sdk/utils/test.js.map +0 -1
  1160. package/src/connection/agent-serve-local.js +0 -48
  1161. package/src/connection/agent-serve-local.js.map +0 -1
  1162. package/src/connection/serve-local.d.ts +0 -15
  1163. package/src/connection/serve-local.js +0 -41
  1164. package/src/connection/serve-local.js.map +0 -1
  1165. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1166. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1167. package/src/py/agent/react-connection/serve-local.js +0 -30
  1168. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1169. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1170. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1171. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1172. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  1173. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1174. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1175. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1176. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1177. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1178. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1179. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1180. package/src/ts/lib/eslint.d.ts +0 -14
  1181. package/src/ts/lib/eslint.js +0 -90
  1182. package/src/ts/lib/eslint.js.map +0 -1
  1183. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1184. package/src/ts/rdb/files/scripts/pull-image.ts.template +0 -15
  1185. package/src/ts/rdb/files/scripts/start-container.ts.template +0 -84
  1186. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1187. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1188. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1189. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1190. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1191. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1192. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1193. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1194. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1195. /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
  1196. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1197. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1198. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -0,0 +1,282 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { generateFiles, joinPathFragments, OverwriteStrategy, readNxJson, updateJson, updateNxJson } from "@nx/devkit";
5
+ import { initGenerator } from "@nx/js";
6
+ import yaml from "js-yaml";
7
+ import { readModulePackageJson } from "nx/src/utils/package-json";
8
+ import GeneratorsJson from "../../generators.json" with {
9
+ type: 'json'
10
+ };
11
+ import { SYNC_GENERATOR_NAME as TS_SYNC_GENERATOR_NAME } from "../ts/sync/generator.js";
12
+ import { BASE_TSCONFIG_COMPILER_OPTIONS } from "./base-tsconfig.js";
13
+ import { ensureAwsNxPluginConfig, updateAwsNxPluginConfig } from "./config/utils.js";
14
+ import { inferContainers } from "./containers.js";
15
+ import { addDependenciesToPackageJson, detectWorkspacePackageManager } from "./dependencies.js";
16
+ import { getDefaultBiomeConfig } from "./format.js";
17
+ import { configureMcpServers } from "./mcp.js";
18
+ import { getNpmScope } from "./npm-scope.js";
19
+ import { mergeTargetDefault, nxPluginMcpDependency, nxPluginSelfDependency } from "./nx.js";
20
+ import { getPackageManagerDisplayCommands } from "./pkg-manager.js";
21
+ import { workspaceGlobs } from "./project-package-json.js";
22
+ import { withVersions } from "./versions.js";
23
+ const WORKSPACES = [
24
+ 'packages/*'
25
+ ];
26
+ const NX_TYPESCRIPT_SYNC_GENERATOR = '@nx/js:typescript-sync';
27
+ // Built dependencies whose install scripts the generated workspace trusts.
28
+ // `onlyBuiltDependencies` is the pnpm 10 key (silently ignored by pnpm 11);
29
+ // pnpm 11 reads `allowBuilds` instead. Any dep NOT in this allowlist will
30
+ // have its install scripts skipped with a warning — matching pnpm 10's
31
+ // default behaviour. The user can opt-in later via `pnpm approve-builds`.
32
+ export const PNPM_BUILT_DEPENDENCIES = [
33
+ '@swc/core',
34
+ 'esbuild',
35
+ 'nx',
36
+ 'sharp'
37
+ ];
38
+ /**
39
+ * Add or repair the pnpm `allowBuilds` / `onlyBuiltDependencies` allowlist for
40
+ * the workspace's `packages` globs, without clobbering any packages the user
41
+ * has already declared.
42
+ *
43
+ * A workspace not created by the preset commonly has either no
44
+ * `pnpm-workspace.yaml`, one missing the `packages` globs, or one carrying the
45
+ * broken `set this to true or false` placeholder pnpm writes when it skips a
46
+ * build script. This makes the file self-consistent so the first generator's
47
+ * install doesn't fail with `ERR_PNPM_IGNORED_BUILDS`.
48
+ */ const setUpPnpmWorkspace = (tree, catalogs)=>{
49
+ const existing = tree.exists('pnpm-workspace.yaml') ? yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') ?? {} : {};
50
+ // Preserve any packages globs the user already has, ensuring ours are present.
51
+ const packages = Array.from(new Set([
52
+ ...existing.packages ?? [],
53
+ ...WORKSPACES
54
+ ]));
55
+ const allowBuilds = {
56
+ ...typeof existing.allowBuilds === 'object' && existing.allowBuilds ? existing.allowBuilds : {},
57
+ // Overwrite any non-boolean (e.g. the "set this to true or false"
58
+ // placeholder) with an explicit true for the deps we trust.
59
+ ...Object.fromEntries(PNPM_BUILT_DEPENDENCIES.map((dep)=>[
60
+ dep,
61
+ true
62
+ ]))
63
+ };
64
+ // `strict` makes `pnpm add` record new deps in the catalog; it only gates
65
+ // that flow, so pre-declared direct ranges (e.g. tslib) still install.
66
+ // Preserve an explicit user choice.
67
+ const catalogMode = catalogs ? existing.catalogMode ?? 'strict' : existing.catalogMode;
68
+ tree.write('pnpm-workspace.yaml', yaml.dump({
69
+ ...existing,
70
+ packages,
71
+ allowBuilds,
72
+ onlyBuiltDependencies: PNPM_BUILT_DEPENDENCIES,
73
+ ...catalogMode ? {
74
+ catalogMode
75
+ } : {}
76
+ }, {
77
+ quotingType: "'"
78
+ }));
79
+ };
80
+ /**
81
+ * Configure the workspace's package manager for a monorepo layout.
82
+ *
83
+ * pnpm workspaces are declared in `pnpm-workspace.yaml`; every other package
84
+ * manager reads the `workspaces` field of the root `package.json`.
85
+ */ const setUpWorkspaces = (tree, catalogs)=>{
86
+ if (detectWorkspacePackageManager(tree) === 'pnpm') {
87
+ setUpPnpmWorkspace(tree, catalogs);
88
+ } else {
89
+ updateJson(tree, 'package.json', (json)=>{
90
+ // The `workspaces` field may be the object form ({ "packages": [...] })
91
+ // accepted by yarn and bun — extend the globs while preserving the form.
92
+ const globs = Array.from(new Set([
93
+ ...workspaceGlobs(json.workspaces),
94
+ ...WORKSPACES
95
+ ]));
96
+ return {
97
+ ...json,
98
+ workspaces: json.workspaces !== undefined && !Array.isArray(json.workspaces) ? {
99
+ ...json.workspaces,
100
+ packages: globs
101
+ } : globs
102
+ };
103
+ });
104
+ }
105
+ };
106
+ /**
107
+ * Ensure the workspace has a `tsconfig.base.json`.
108
+ *
109
+ * `@nx/js` `initGenerator` (with `addTsPlugin`) normally creates this, but it
110
+ * short-circuits when the workspace already has a root `tsconfig.json` — in
111
+ * which case no base file is written and the next project generator fails with
112
+ * `Cannot find tsconfig.base.json`. So we create a compatible one when it's
113
+ * absent. An existing base is left untouched: the user may have tuned it, and
114
+ * rewriting shared compiler options can break other projects (see the
115
+ * "add to an existing workspace" guide).
116
+ */ const ensureBaseTsConfig = (tree)=>{
117
+ if (tree.exists('tsconfig.base.json')) {
118
+ return;
119
+ }
120
+ tree.write('tsconfig.base.json', JSON.stringify({
121
+ compilerOptions: {
122
+ ...BASE_TSCONFIG_COMPILER_OPTIONS,
123
+ customConditions: [
124
+ getNpmScope(tree)
125
+ ]
126
+ }
127
+ }, null, 2));
128
+ };
129
+ /**
130
+ * Ensure the workspace has a root `tsconfig.json`.
131
+ *
132
+ * Nx's `@nx/js:typescript-sync` generator hard-fails with
133
+ * `Missing root "tsconfig.json"` when it's absent. The plugin's TypeScript
134
+ * projects reference each other via this file, so we guarantee a minimal one
135
+ * exists (sync populates its `references`).
136
+ */ const ensureRootTsConfig = (tree)=>{
137
+ if (tree.exists('tsconfig.json')) {
138
+ return;
139
+ }
140
+ tree.write('tsconfig.json', JSON.stringify({
141
+ extends: './tsconfig.base.json',
142
+ files: [],
143
+ references: []
144
+ }, null, 2));
145
+ };
146
+ /**
147
+ * Transform an Nx workspace into one ready to run `@aws/nx-plugin` generators.
148
+ *
149
+ * This is the deterministic core shared by the workspace preset and the `init`
150
+ * generator. It is safe to re-run: every step is idempotent (config merges,
151
+ * keyed nx.json / package.json entries, create-if-missing files), so running
152
+ * it against an already-initialised workspace is a no-op.
153
+ *
154
+ * It preserves the workspace's module format: the root package.json `type`
155
+ * field is owned by the preset (written from its `--module` option) and left
156
+ * untouched here. It does NOT rewrite an existing `tsconfig.base.json`'s
157
+ * compiler options, migrate a workspace's package manager, or restructure
158
+ * existing projects — those are decisions for the user (see the "add to an
159
+ * existing workspace" guide).
160
+ */ export const applyWorkspaceInit = async (tree, { iac, containers, mcp, readmeOverwriteStrategy = OverwriteStrategy.KeepExisting, overwriteScripts = false, catalogs = true })=>{
161
+ const resolvedContainers = !containers || containers === 'infer' ? inferContainers() : containers;
162
+ // The catalogs flag is written explicitly (even when true) so the workspace
163
+ // records its dependency-management choice.
164
+ await ensureAwsNxPluginConfig(tree);
165
+ await updateAwsNxPluginConfig(tree, {
166
+ iac: {
167
+ provider: iac
168
+ },
169
+ containers: {
170
+ engine: resolvedContainers
171
+ },
172
+ packageManager: {
173
+ catalogs
174
+ }
175
+ });
176
+ // Set up the TypeScript plugin, base tsconfig, formatter etc. `@nx/js`
177
+ // creates `tsconfig.base.json` when absent, but skips it when a root
178
+ // `tsconfig.json` already exists — so we ensure both explicitly below.
179
+ await initGenerator(tree, {
180
+ formatter: 'none',
181
+ addTsPlugin: true
182
+ });
183
+ ensureBaseTsConfig(tree);
184
+ ensureRootTsConfig(tree);
185
+ setUpWorkspaces(tree, catalogs);
186
+ const nxJson = readNxJson(tree);
187
+ updateNxJson(tree, {
188
+ ...nxJson,
189
+ // Preserve an explicit analytics choice in an existing workspace.
190
+ analytics: nxJson.analytics ?? false,
191
+ targetDefaults: {
192
+ ...nxJson.targetDefaults,
193
+ compile: mergeTargetDefault(nxJson.targetDefaults?.compile, (base)=>({
194
+ ...base,
195
+ syncGenerators: [
196
+ ...(base.syncGenerators ?? []).filter((g)=>![
197
+ TS_SYNC_GENERATOR_NAME,
198
+ NX_TYPESCRIPT_SYNC_GENERATOR
199
+ ].includes(g)),
200
+ NX_TYPESCRIPT_SYNC_GENERATOR,
201
+ TS_SYNC_GENERATOR_NAME
202
+ ]
203
+ }))
204
+ }
205
+ });
206
+ const CONVENIENCE_SCRIPTS = {
207
+ dev: 'nx run-many --target dev',
208
+ build: 'nx run-many --target build',
209
+ lint: 'nx run-many --target lint --configuration=fix',
210
+ test: 'nx run-many --target test --all',
211
+ // Trivy container image scanning is not part of `build` (its result
212
+ // depends on the ever-changing vulnerability database); run it explicitly,
213
+ // e.g. in CI.
214
+ trivy: 'nx run-many --target trivy --all',
215
+ 'build:skip-lint': 'nx run-many --target build --configuration=skip-lint',
216
+ 'build:all': 'nx run-many --target build --all',
217
+ 'affected:all': 'nx affected --target build'
218
+ };
219
+ updateJson(tree, 'package.json', (packageJson)=>({
220
+ ...packageJson,
221
+ // The root `type` field is owned by the preset (written explicitly from
222
+ // its `--module` option). `init` preserves an existing workspace's field
223
+ // as-is: an ESM workspace already carries `type: "module"` (that is how
224
+ // the format is inferred), and introducing a `type` into a CommonJS
225
+ // workspace that lacks one changes behaviour for frameworks that parse it
226
+ // (e.g. Next.js starts treating the app's ESM source as CJS).
227
+ scripts: overwriteScripts ? {
228
+ ...packageJson.scripts,
229
+ ...CONVENIENCE_SCRIPTS
230
+ } : {
231
+ ...CONVENIENCE_SCRIPTS,
232
+ ...packageJson.scripts
233
+ }
234
+ }));
235
+ // Pin the workspace's `nx` to the version the plugin's @nx/* packages are
236
+ // built against. A mismatched workspace nx (even a patch apart) hoists a
237
+ // second nested nx under @nx/js, and the two instances deadlock `nx sync`.
238
+ // `@nx/js` must be a root dependency for the `@nx/js:typescript-sync`
239
+ // generator registered in nx.json to resolve (npm doesn't hoist the
240
+ // plugin's own copy reliably).
241
+ const nxVersion = readModulePackageJson('@nx/js').packageJson.version;
242
+ addDependenciesToPackageJson(tree, {}, {
243
+ nx: nxVersion,
244
+ '@nx/js': nxVersion,
245
+ '@nx/workspace': nxVersion,
246
+ ...withVersions([
247
+ 'typescript',
248
+ '@biomejs/biome'
249
+ ]),
250
+ // Declare the plugin the generators are running from, plus the MCP server
251
+ // package the vended config runs, so both are pinned in the workspace's
252
+ // lockfile and upgrading them upgrades what the agents use.
253
+ ...nxPluginSelfDependency(tree),
254
+ ...nxPluginMcpDependency(tree)
255
+ });
256
+ // Write biome.json for formatting and linting
257
+ if (!tree.exists('biome.json')) {
258
+ tree.write('biome.json', JSON.stringify(getDefaultBiomeConfig(tree), null, 2));
259
+ }
260
+ generateFiles(tree, joinPathFragments(import.meta.dirname, '..', 'preset', 'files'), '.', {
261
+ projectName: getNpmScope(tree),
262
+ generators: Object.entries(GeneratorsJson.generators).filter(([_, v])=>!v['hidden']).map(([k, v])=>({
263
+ name: k,
264
+ description: v.description
265
+ })),
266
+ ...(()=>{
267
+ const cmds = getPackageManagerDisplayCommands();
268
+ return {
269
+ pkgMgrCmd: cmds.exec,
270
+ buildCmd: `${cmds.run} build`,
271
+ lintCmd: `${cmds.run} lint`
272
+ };
273
+ })()
274
+ }, {
275
+ overwriteStrategy: readmeOverwriteStrategy
276
+ });
277
+ if (mcp !== false) {
278
+ configureMcpServers(tree);
279
+ }
280
+ };
281
+
282
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/init.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n readNxJson,\n type Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { initGenerator } from '@nx/js';\nimport { readFileSync } from 'fs';\nimport yaml from 'js-yaml';\nimport { readModulePackageJson } from 'nx/src/utils/package-json';\nimport GeneratorsJson from '../../generators.json' with { type: 'json' };\nimport { SYNC_GENERATOR_NAME as TS_SYNC_GENERATOR_NAME } from '../ts/sync/generator';\nimport { BASE_TSCONFIG_COMPILER_OPTIONS } from './base-tsconfig';\nimport {\n ensureAwsNxPluginConfig,\n updateAwsNxPluginConfig,\n} from './config/utils';\nimport { type Containers, inferContainers } from './containers';\nimport {\n addDependenciesToPackageJson,\n detectWorkspacePackageManager,\n} from './dependencies';\nimport { getDefaultBiomeConfig } from './format';\nimport type { Iac } from './iac';\nimport { configureMcpServers } from './mcp';\nimport { getNpmScope } from './npm-scope';\nimport {\n mergeTargetDefault,\n nxPluginMcpDependency,\n nxPluginSelfDependency,\n} from './nx';\nimport { getPackageManagerDisplayCommands } from './pkg-manager';\nimport { workspaceGlobs } from './project-package-json';\nimport { withVersions } from './versions';\n\nconst WORKSPACES = ['packages/*'];\nconst NX_TYPESCRIPT_SYNC_GENERATOR = '@nx/js:typescript-sync';\n\n// Built dependencies whose install scripts the generated workspace trusts.\n// `onlyBuiltDependencies` is the pnpm 10 key (silently ignored by pnpm 11);\n// pnpm 11 reads `allowBuilds` instead. Any dep NOT in this allowlist will\n// have its install scripts skipped with a warning — matching pnpm 10's\n// default behaviour. The user can opt-in later via `pnpm approve-builds`.\nexport const PNPM_BUILT_DEPENDENCIES = ['@swc/core', 'esbuild', 'nx', 'sharp'];\n\n/**\n * Options controlling how the workspace is initialised. These mirror the\n * preset schema so a workspace created via the preset and one initialised via\n * the `init` generator end up in the same shape.\n */\nexport interface ApplyWorkspaceInitOptions {\n /** The IaC provider to record in the plugin config. */\n readonly iac: Iac;\n /**\n * The container engine to record. `undefined`/`'infer'` picks docker when\n * installed, else finch.\n */\n readonly containers?: Containers | 'infer';\n /** Whether to configure MCP servers for coding agents. Defaults to true. */\n readonly mcp?: boolean;\n /**\n * How to treat the generated workspace README. The preset owns the README of\n * a greenfield workspace (`Overwrite`); the `init` generator must not clobber\n * an existing workspace's README (`KeepExisting`, the default).\n */\n readonly readmeOverwriteStrategy?: OverwriteStrategy;\n /**\n * Whether to overwrite root package.json scripts that already exist. The\n * preset owns a greenfield workspace's scripts (`true`); the `init`\n * generator must not clobber an existing workspace's scripts (`false`,\n * the default) — it only adds the convenience scripts that are absent.\n */\n readonly overwriteScripts?: boolean;\n /**\n * Whether generators use the package manager's dependency catalog. On pnpm\n * this also sets `catalogMode: strict` so `pnpm add` records new deps in the\n * catalog. Defaults to true.\n */\n readonly catalogs?: boolean;\n}\n\n/**\n * Add or repair the pnpm `allowBuilds` / `onlyBuiltDependencies` allowlist for\n * the workspace's `packages` globs, without clobbering any packages the user\n * has already declared.\n *\n * A workspace not created by the preset commonly has either no\n * `pnpm-workspace.yaml`, one missing the `packages` globs, or one carrying the\n * broken `set this to true or false` placeholder pnpm writes when it skips a\n * build script. This makes the file self-consistent so the first generator's\n * install doesn't fail with `ERR_PNPM_IGNORED_BUILDS`.\n */\nconst setUpPnpmWorkspace = (tree: Tree, catalogs: boolean) => {\n const existing = tree.exists('pnpm-workspace.yaml')\n ? ((yaml.load(tree.read('pnpm-workspace.yaml', 'utf-8') ?? '') as Record<\n string,\n unknown\n >) ?? {})\n : {};\n\n // Preserve any packages globs the user already has, ensuring ours are present.\n const packages = Array.from(\n new Set([...((existing.packages as string[]) ?? []), ...WORKSPACES]),\n );\n\n const allowBuilds = {\n ...(typeof existing.allowBuilds === 'object' && existing.allowBuilds\n ? (existing.allowBuilds as Record<string, unknown>)\n : {}),\n // Overwrite any non-boolean (e.g. the \"set this to true or false\"\n // placeholder) with an explicit true for the deps we trust.\n ...Object.fromEntries(PNPM_BUILT_DEPENDENCIES.map((dep) => [dep, true])),\n };\n\n // `strict` makes `pnpm add` record new deps in the catalog; it only gates\n // that flow, so pre-declared direct ranges (e.g. tslib) still install.\n // Preserve an explicit user choice.\n const catalogMode = catalogs\n ? (existing.catalogMode ?? 'strict')\n : existing.catalogMode;\n\n tree.write(\n 'pnpm-workspace.yaml',\n yaml.dump(\n {\n ...existing,\n packages,\n allowBuilds,\n onlyBuiltDependencies: PNPM_BUILT_DEPENDENCIES,\n ...(catalogMode ? { catalogMode } : {}),\n },\n { quotingType: \"'\" },\n ),\n );\n};\n\n/**\n * Configure the workspace's package manager for a monorepo layout.\n *\n * pnpm workspaces are declared in `pnpm-workspace.yaml`; every other package\n * manager reads the `workspaces` field of the root `package.json`.\n */\nconst setUpWorkspaces = (tree: Tree, catalogs: boolean) => {\n if (detectWorkspacePackageManager(tree) === 'pnpm') {\n setUpPnpmWorkspace(tree, catalogs);\n } else {\n updateJson(tree, 'package.json', (json) => {\n // The `workspaces` field may be the object form ({ \"packages\": [...] })\n // accepted by yarn and bun — extend the globs while preserving the form.\n const globs = Array.from(\n new Set([...workspaceGlobs(json.workspaces), ...WORKSPACES]),\n );\n return {\n ...json,\n workspaces:\n json.workspaces !== undefined && !Array.isArray(json.workspaces)\n ? { ...json.workspaces, packages: globs }\n : globs,\n };\n });\n }\n};\n\n/**\n * Ensure the workspace has a `tsconfig.base.json`.\n *\n * `@nx/js` `initGenerator` (with `addTsPlugin`) normally creates this, but it\n * short-circuits when the workspace already has a root `tsconfig.json` — in\n * which case no base file is written and the next project generator fails with\n * `Cannot find tsconfig.base.json`. So we create a compatible one when it's\n * absent. An existing base is left untouched: the user may have tuned it, and\n * rewriting shared compiler options can break other projects (see the\n * \"add to an existing workspace\" guide).\n */\nconst ensureBaseTsConfig = (tree: Tree) => {\n if (tree.exists('tsconfig.base.json')) {\n return;\n }\n tree.write(\n 'tsconfig.base.json',\n JSON.stringify(\n {\n compilerOptions: {\n ...BASE_TSCONFIG_COMPILER_OPTIONS,\n customConditions: [getNpmScope(tree)],\n },\n },\n null,\n 2,\n ),\n );\n};\n\n/**\n * Ensure the workspace has a root `tsconfig.json`.\n *\n * Nx's `@nx/js:typescript-sync` generator hard-fails with\n * `Missing root \"tsconfig.json\"` when it's absent. The plugin's TypeScript\n * projects reference each other via this file, so we guarantee a minimal one\n * exists (sync populates its `references`).\n */\nconst ensureRootTsConfig = (tree: Tree) => {\n if (tree.exists('tsconfig.json')) {\n return;\n }\n tree.write(\n 'tsconfig.json',\n JSON.stringify(\n {\n extends: './tsconfig.base.json',\n files: [],\n references: [],\n },\n null,\n 2,\n ),\n );\n};\n\n/**\n * Transform an Nx workspace into one ready to run `@aws/nx-plugin` generators.\n *\n * This is the deterministic core shared by the workspace preset and the `init`\n * generator. It is safe to re-run: every step is idempotent (config merges,\n * keyed nx.json / package.json entries, create-if-missing files), so running\n * it against an already-initialised workspace is a no-op.\n *\n * It preserves the workspace's module format: the root package.json `type`\n * field is owned by the preset (written from its `--module` option) and left\n * untouched here. It does NOT rewrite an existing `tsconfig.base.json`'s\n * compiler options, migrate a workspace's package manager, or restructure\n * existing projects — those are decisions for the user (see the \"add to an\n * existing workspace\" guide).\n */\nexport const applyWorkspaceInit = async (\n tree: Tree,\n {\n iac,\n containers,\n mcp,\n readmeOverwriteStrategy = OverwriteStrategy.KeepExisting,\n overwriteScripts = false,\n catalogs = true,\n }: ApplyWorkspaceInitOptions,\n) => {\n const resolvedContainers =\n !containers || containers === 'infer' ? inferContainers() : containers;\n\n // The catalogs flag is written explicitly (even when true) so the workspace\n // records its dependency-management choice.\n await ensureAwsNxPluginConfig(tree);\n await updateAwsNxPluginConfig(tree, {\n iac: { provider: iac },\n containers: { engine: resolvedContainers },\n packageManager: { catalogs },\n });\n\n // Set up the TypeScript plugin, base tsconfig, formatter etc. `@nx/js`\n // creates `tsconfig.base.json` when absent, but skips it when a root\n // `tsconfig.json` already exists — so we ensure both explicitly below.\n await initGenerator(tree, {\n formatter: 'none',\n addTsPlugin: true,\n });\n\n ensureBaseTsConfig(tree);\n ensureRootTsConfig(tree);\n\n setUpWorkspaces(tree, catalogs);\n\n const nxJson = readNxJson(tree);\n updateNxJson(tree, {\n ...nxJson,\n // Preserve an explicit analytics choice in an existing workspace.\n analytics: (nxJson as { analytics?: boolean }).analytics ?? false,\n targetDefaults: {\n ...nxJson.targetDefaults,\n compile: mergeTargetDefault(nxJson.targetDefaults?.compile, (base) => ({\n ...base,\n syncGenerators: [\n ...(base.syncGenerators ?? []).filter(\n (g) =>\n ![TS_SYNC_GENERATOR_NAME, NX_TYPESCRIPT_SYNC_GENERATOR].includes(\n g,\n ),\n ),\n NX_TYPESCRIPT_SYNC_GENERATOR,\n TS_SYNC_GENERATOR_NAME,\n ],\n })),\n },\n });\n\n const CONVENIENCE_SCRIPTS = {\n dev: 'nx run-many --target dev',\n build: 'nx run-many --target build',\n lint: 'nx run-many --target lint --configuration=fix',\n test: 'nx run-many --target test --all',\n // Trivy container image scanning is not part of `build` (its result\n // depends on the ever-changing vulnerability database); run it explicitly,\n // e.g. in CI.\n trivy: 'nx run-many --target trivy --all',\n 'build:skip-lint': 'nx run-many --target build --configuration=skip-lint',\n 'build:all': 'nx run-many --target build --all',\n 'affected:all': 'nx affected --target build',\n };\n updateJson(tree, 'package.json', (packageJson) => ({\n ...packageJson,\n // The root `type` field is owned by the preset (written explicitly from\n // its `--module` option). `init` preserves an existing workspace's field\n // as-is: an ESM workspace already carries `type: \"module\"` (that is how\n // the format is inferred), and introducing a `type` into a CommonJS\n // workspace that lacks one changes behaviour for frameworks that parse it\n // (e.g. Next.js starts treating the app's ESM source as CJS).\n scripts: overwriteScripts\n ? { ...packageJson.scripts, ...CONVENIENCE_SCRIPTS }\n : { ...CONVENIENCE_SCRIPTS, ...packageJson.scripts },\n }));\n\n // Pin the workspace's `nx` to the version the plugin's @nx/* packages are\n // built against. A mismatched workspace nx (even a patch apart) hoists a\n // second nested nx under @nx/js, and the two instances deadlock `nx sync`.\n // `@nx/js` must be a root dependency for the `@nx/js:typescript-sync`\n // generator registered in nx.json to resolve (npm doesn't hoist the\n // plugin's own copy reliably).\n const nxVersion = readModulePackageJson('@nx/js').packageJson.version;\n addDependenciesToPackageJson(\n tree,\n {},\n {\n nx: nxVersion,\n '@nx/js': nxVersion,\n '@nx/workspace': nxVersion,\n ...withVersions(['typescript', '@biomejs/biome']),\n // Declare the plugin the generators are running from, plus the MCP server\n // package the vended config runs, so both are pinned in the workspace's\n // lockfile and upgrading them upgrades what the agents use.\n ...nxPluginSelfDependency(tree),\n ...nxPluginMcpDependency(tree),\n },\n );\n\n // Write biome.json for formatting and linting\n if (!tree.exists('biome.json')) {\n tree.write(\n 'biome.json',\n JSON.stringify(getDefaultBiomeConfig(tree), null, 2),\n );\n }\n\n generateFiles(\n tree, // the virtual file system\n joinPathFragments(import.meta.dirname, '..', 'preset', 'files'),\n '.',\n {\n projectName: getNpmScope(tree),\n generators: Object.entries(GeneratorsJson.generators)\n .filter(([_, v]) => !v['hidden'])\n .map(([k, v]) => ({ name: k, description: v.description })),\n ...(() => {\n const cmds = getPackageManagerDisplayCommands();\n return {\n pkgMgrCmd: cmds.exec,\n buildCmd: `${cmds.run} build`,\n lintCmd: `${cmds.run} lint`,\n };\n })(),\n },\n {\n overwriteStrategy: readmeOverwriteStrategy,\n },\n );\n\n if (mcp !== false) {\n configureMcpServers(tree);\n }\n};\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","readNxJson","updateJson","updateNxJson","initGenerator","yaml","readModulePackageJson","GeneratorsJson","type","SYNC_GENERATOR_NAME","TS_SYNC_GENERATOR_NAME","BASE_TSCONFIG_COMPILER_OPTIONS","ensureAwsNxPluginConfig","updateAwsNxPluginConfig","inferContainers","addDependenciesToPackageJson","detectWorkspacePackageManager","getDefaultBiomeConfig","configureMcpServers","getNpmScope","mergeTargetDefault","nxPluginMcpDependency","nxPluginSelfDependency","getPackageManagerDisplayCommands","workspaceGlobs","withVersions","WORKSPACES","NX_TYPESCRIPT_SYNC_GENERATOR","PNPM_BUILT_DEPENDENCIES","setUpPnpmWorkspace","tree","catalogs","existing","exists","load","read","packages","Array","from","Set","allowBuilds","Object","fromEntries","map","dep","catalogMode","write","dump","onlyBuiltDependencies","quotingType","setUpWorkspaces","json","globs","workspaces","undefined","isArray","ensureBaseTsConfig","JSON","stringify","compilerOptions","customConditions","ensureRootTsConfig","extends","files","references","applyWorkspaceInit","iac","containers","mcp","readmeOverwriteStrategy","KeepExisting","overwriteScripts","resolvedContainers","provider","engine","packageManager","formatter","addTsPlugin","nxJson","analytics","targetDefaults","compile","base","syncGenerators","filter","g","includes","CONVENIENCE_SCRIPTS","dev","build","lint","test","trivy","packageJson","scripts","nxVersion","version","nx","dirname","projectName","generators","entries","_","v","k","name","description","cmds","pkgMgrCmd","exec","buildCmd","run","lintCmd","overwriteStrategy"],"mappings":"AAAA;;;CAGC,GACD,SACEA,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAU,EAEVC,UAAU,EACVC,YAAY,QACP,aAAa;AACpB,SAASC,aAAa,QAAQ,SAAS;AAEvC,OAAOC,UAAU,UAAU;AAC3B,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,OAAOC,oBAAoB,6BAA6B;IAAEC,MAAM;AAAO,EAAE;AACzE,SAASC,uBAAuBC,sBAAsB,QAAQ,0BAAuB;AACrF,SAASC,8BAA8B,QAAQ,qBAAkB;AACjE,SACEC,uBAAuB,EACvBC,uBAAuB,QAClB,oBAAiB;AACxB,SAA0BC,eAAe,QAAQ,kBAAe;AAChE,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,oBAAiB;AACxB,SAASC,qBAAqB,QAAQ,cAAW;AAEjD,SAASC,mBAAmB,QAAQ,WAAQ;AAC5C,SAASC,WAAW,QAAQ,iBAAc;AAC1C,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,sBAAsB,QACjB,UAAO;AACd,SAASC,gCAAgC,QAAQ,mBAAgB;AACjE,SAASC,cAAc,QAAQ,4BAAyB;AACxD,SAASC,YAAY,QAAQ,gBAAa;AAE1C,MAAMC,aAAa;IAAC;CAAa;AACjC,MAAMC,+BAA+B;AAErC,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,MAAMC,0BAA0B;IAAC;IAAa;IAAW;IAAM;CAAQ,CAAC;AAsC/E;;;;;;;;;;CAUC,GACD,MAAMC,qBAAqB,CAACC,MAAYC;IACtC,MAAMC,WAAWF,KAAKG,MAAM,CAAC,yBACxB,AAAC5B,KAAK6B,IAAI,CAACJ,KAAKK,IAAI,CAAC,uBAAuB,YAAY,OAGnD,CAAC,IACP,CAAC;IAEL,+EAA+E;IAC/E,MAAMC,WAAWC,MAAMC,IAAI,CACzB,IAAIC,IAAI;WAAK,AAACP,SAASI,QAAQ,IAAiB,EAAE;WAAMV;KAAW;IAGrE,MAAMc,cAAc;QAClB,GAAI,OAAOR,SAASQ,WAAW,KAAK,YAAYR,SAASQ,WAAW,GAC/DR,SAASQ,WAAW,GACrB,CAAC,CAAC;QACN,kEAAkE;QAClE,4DAA4D;QAC5D,GAAGC,OAAOC,WAAW,CAACd,wBAAwBe,GAAG,CAAC,CAACC,MAAQ;gBAACA;gBAAK;aAAK,EAAE;IAC1E;IAEA,0EAA0E;IAC1E,uEAAuE;IACvE,oCAAoC;IACpC,MAAMC,cAAcd,WACfC,SAASa,WAAW,IAAI,WACzBb,SAASa,WAAW;IAExBf,KAAKgB,KAAK,CACR,uBACAzC,KAAK0C,IAAI,CACP;QACE,GAAGf,QAAQ;QACXI;QACAI;QACAQ,uBAAuBpB;QACvB,GAAIiB,cAAc;YAAEA;QAAY,IAAI,CAAC,CAAC;IACxC,GACA;QAAEI,aAAa;IAAI;AAGzB;AAEA;;;;;CAKC,GACD,MAAMC,kBAAkB,CAACpB,MAAYC;IACnC,IAAIf,8BAA8Bc,UAAU,QAAQ;QAClDD,mBAAmBC,MAAMC;IAC3B,OAAO;QACL7B,WAAW4B,MAAM,gBAAgB,CAACqB;YAChC,wEAAwE;YACxE,yEAAyE;YACzE,MAAMC,QAAQf,MAAMC,IAAI,CACtB,IAAIC,IAAI;mBAAIf,eAAe2B,KAAKE,UAAU;mBAAM3B;aAAW;YAE7D,OAAO;gBACL,GAAGyB,IAAI;gBACPE,YACEF,KAAKE,UAAU,KAAKC,aAAa,CAACjB,MAAMkB,OAAO,CAACJ,KAAKE,UAAU,IAC3D;oBAAE,GAAGF,KAAKE,UAAU;oBAAEjB,UAAUgB;gBAAM,IACtCA;YACR;QACF;IACF;AACF;AAEA;;;;;;;;;;CAUC,GACD,MAAMI,qBAAqB,CAAC1B;IAC1B,IAAIA,KAAKG,MAAM,CAAC,uBAAuB;QACrC;IACF;IACAH,KAAKgB,KAAK,CACR,sBACAW,KAAKC,SAAS,CACZ;QACEC,iBAAiB;YACf,GAAGhD,8BAA8B;YACjCiD,kBAAkB;gBAACzC,YAAYW;aAAM;QACvC;IACF,GACA,MACA;AAGN;AAEA;;;;;;;CAOC,GACD,MAAM+B,qBAAqB,CAAC/B;IAC1B,IAAIA,KAAKG,MAAM,CAAC,kBAAkB;QAChC;IACF;IACAH,KAAKgB,KAAK,CACR,iBACAW,KAAKC,SAAS,CACZ;QACEI,SAAS;QACTC,OAAO,EAAE;QACTC,YAAY,EAAE;IAChB,GACA,MACA;AAGN;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,MAAMC,qBAAqB,OAChCnC,MACA,EACEoC,GAAG,EACHC,UAAU,EACVC,GAAG,EACHC,0BAA0BrE,kBAAkBsE,YAAY,EACxDC,mBAAmB,KAAK,EACxBxC,WAAW,IAAI,EACW;IAE5B,MAAMyC,qBACJ,CAACL,cAAcA,eAAe,UAAUrD,oBAAoBqD;IAE9D,4EAA4E;IAC5E,4CAA4C;IAC5C,MAAMvD,wBAAwBkB;IAC9B,MAAMjB,wBAAwBiB,MAAM;QAClCoC,KAAK;YAAEO,UAAUP;QAAI;QACrBC,YAAY;YAAEO,QAAQF;QAAmB;QACzCG,gBAAgB;YAAE5C;QAAS;IAC7B;IAEA,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM3B,cAAc0B,MAAM;QACxB8C,WAAW;QACXC,aAAa;IACf;IAEArB,mBAAmB1B;IACnB+B,mBAAmB/B;IAEnBoB,gBAAgBpB,MAAMC;IAEtB,MAAM+C,SAAS7E,WAAW6B;IAC1B3B,aAAa2B,MAAM;QACjB,GAAGgD,MAAM;QACT,kEAAkE;QAClEC,WAAW,AAACD,OAAmCC,SAAS,IAAI;QAC5DC,gBAAgB;YACd,GAAGF,OAAOE,cAAc;YACxBC,SAAS7D,mBAAmB0D,OAAOE,cAAc,EAAEC,SAAS,CAACC,OAAU,CAAA;oBACrE,GAAGA,IAAI;oBACPC,gBAAgB;2BACX,AAACD,CAAAA,KAAKC,cAAc,IAAI,EAAE,AAAD,EAAGC,MAAM,CACnC,CAACC,IACC,CAAC;gCAAC3E;gCAAwBiB;6BAA6B,CAAC2D,QAAQ,CAC9DD;wBAGN1D;wBACAjB;qBACD;gBACH,CAAA;QACF;IACF;IAEA,MAAM6E,sBAAsB;QAC1BC,KAAK;QACLC,OAAO;QACPC,MAAM;QACNC,MAAM;QACN,oEAAoE;QACpE,2EAA2E;QAC3E,cAAc;QACdC,OAAO;QACP,mBAAmB;QACnB,aAAa;QACb,gBAAgB;IAClB;IACA1F,WAAW4B,MAAM,gBAAgB,CAAC+D,cAAiB,CAAA;YACjD,GAAGA,WAAW;YACd,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,oEAAoE;YACpE,0EAA0E;YAC1E,8DAA8D;YAC9DC,SAASvB,mBACL;gBAAE,GAAGsB,YAAYC,OAAO;gBAAE,GAAGP,mBAAmB;YAAC,IACjD;gBAAE,GAAGA,mBAAmB;gBAAE,GAAGM,YAAYC,OAAO;YAAC;QACvD,CAAA;IAEA,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,oEAAoE;IACpE,+BAA+B;IAC/B,MAAMC,YAAYzF,sBAAsB,UAAUuF,WAAW,CAACG,OAAO;IACrEjF,6BACEe,MACA,CAAC,GACD;QACEmE,IAAIF;QACJ,UAAUA;QACV,iBAAiBA;QACjB,GAAGtE,aAAa;YAAC;YAAc;SAAiB,CAAC;QACjD,0EAA0E;QAC1E,wEAAwE;QACxE,4DAA4D;QAC5D,GAAGH,uBAAuBQ,KAAK;QAC/B,GAAGT,sBAAsBS,KAAK;IAChC;IAGF,8CAA8C;IAC9C,IAAI,CAACA,KAAKG,MAAM,CAAC,eAAe;QAC9BH,KAAKgB,KAAK,CACR,cACAW,KAAKC,SAAS,CAACzC,sBAAsBa,OAAO,MAAM;IAEtD;IAEAhC,cACEgC,MACA/B,kBAAkB,YAAYmG,OAAO,EAAE,MAAM,UAAU,UACvD,KACA;QACEC,aAAahF,YAAYW;QACzBsE,YAAY3D,OAAO4D,OAAO,CAAC9F,eAAe6F,UAAU,EACjDhB,MAAM,CAAC,CAAC,CAACkB,GAAGC,EAAE,GAAK,CAACA,CAAC,CAAC,SAAS,EAC/B5D,GAAG,CAAC,CAAC,CAAC6D,GAAGD,EAAE,GAAM,CAAA;gBAAEE,MAAMD;gBAAGE,aAAaH,EAAEG,WAAW;YAAC,CAAA;QAC1D,GAAG,AAAC,CAAA;YACF,MAAMC,OAAOpF;YACb,OAAO;gBACLqF,WAAWD,KAAKE,IAAI;gBACpBC,UAAU,GAAGH,KAAKI,GAAG,CAAC,MAAM,CAAC;gBAC7BC,SAAS,GAAGL,KAAKI,GAAG,CAAC,KAAK,CAAC;YAC7B;QACF,CAAA,GAAI;IACN,GACA;QACEE,mBAAmB5C;IACrB;IAGF,IAAID,QAAQ,OAAO;QACjBlD,oBAAoBY;IACtB;AACF,EAAE"}
@@ -0,0 +1,32 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ import type { ITsDepVersion } from './versions';
3
+ /**
4
+ * Languages whose dependencies a generator may install.
5
+ */
6
+ export type InstallLanguage = 'typescript' | 'python';
7
+ export interface InstallDependenciesOptions {
8
+ /** Languages to install dependencies for. */
9
+ languages: InstallLanguage[];
10
+ /**
11
+ * Packages that must resolve from the workspace after this generator, because
12
+ * a config file it writes (e.g. `vite.config.mts`) imports them and Nx loads
13
+ * that config when computing the project graph. When the caller prefers to
14
+ * defer installing, we honour that only if these already resolve.
15
+ *
16
+ * The per-language graph deps in `LANGUAGE_GRAPH_DEPS` are always included, so
17
+ * callers only list packages beyond those.
18
+ */
19
+ ensureResolvable?: ITsDepVersion[];
20
+ }
21
+ /**
22
+ * Installs dependencies for the given languages.
23
+ *
24
+ * Call from a generator's returned callback:
25
+ * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.
26
+ *
27
+ * `preferInstallDependencies` is a preference: when `false` the install is
28
+ * deferred so a batch installs once at the end — unless an `ensureResolvable`
29
+ * package is missing, in which case it runs anyway so the next `nx` command can
30
+ * still compute the project graph.
31
+ */
32
+ export declare const installDependencies: (tree: Tree, preferInstallDependencies: boolean | undefined, options: InstallDependenciesOptions) => Promise<void>;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { existsSync } from "node:fs";
5
+ import { join } from "node:path";
6
+ import { installPackagesTask } from "@nx/devkit";
7
+ import { Logger, UVProvider } from "./nxlv-python.js";
8
+ /**
9
+ * Packages each language always needs resolvable for Nx to compute the project
10
+ * graph, so a deferred install still runs whenever it would otherwise break.
11
+ */ const LANGUAGE_GRAPH_DEPS = {
12
+ typescript: [
13
+ 'vitest'
14
+ ],
15
+ python: [
16
+ '@nxlv/python'
17
+ ]
18
+ };
19
+ /**
20
+ * Returns true if every package is linked at `<root>/node_modules/<pkg>`.
21
+ *
22
+ * This is the condition Nx's inferred plugins need when they load a generated
23
+ * config (e.g. `vite.config.mts`) during graph computation: the config's
24
+ * imports resolve from inside the workspace's own `node_modules`. We avoid
25
+ * `require.resolve`, which can succeed via an ancestor `node_modules` even when
26
+ * the package isn't linked here. `existsSync` follows symlinks, so pnpm's store
27
+ * links resolve, and Nx always uses a `node_modules` linker (never PnP).
28
+ */ const allResolvable = (root, packages)=>packages.every((pkg)=>existsSync(join(root, 'node_modules', pkg)));
29
+ /**
30
+ * Installs dependencies for the given languages.
31
+ *
32
+ * Call from a generator's returned callback:
33
+ * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.
34
+ *
35
+ * `preferInstallDependencies` is a preference: when `false` the install is
36
+ * deferred so a batch installs once at the end — unless an `ensureResolvable`
37
+ * package is missing, in which case it runs anyway so the next `nx` command can
38
+ * still compute the project graph.
39
+ */ export const installDependencies = async (tree, preferInstallDependencies, options)=>{
40
+ const { languages, ensureResolvable = [] } = options;
41
+ const mustResolve = [
42
+ ...ensureResolvable,
43
+ ...languages.flatMap((language)=>LANGUAGE_GRAPH_DEPS[language])
44
+ ];
45
+ if (preferInstallDependencies === false && allResolvable(tree.root, mustResolve)) {
46
+ return;
47
+ }
48
+ if (languages.includes('typescript')) {
49
+ // Force the install: devkit's default only installs when the root
50
+ // package.json changed, but deps land in per-project manifests.
51
+ installPackagesTask(tree, true);
52
+ }
53
+ if (languages.includes('python')) {
54
+ await new UVProvider(tree.root, new Logger(), tree).install();
55
+ }
56
+ };
57
+
58
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/install.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { existsSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { installPackagesTask, type Tree } from '@nx/devkit';\nimport { Logger, UVProvider } from './nxlv-python';\nimport type { ITsDepVersion } from './versions';\n\n/**\n * Languages whose dependencies a generator may install.\n */\nexport type InstallLanguage = 'typescript' | 'python';\n\nexport interface InstallDependenciesOptions {\n /** Languages to install dependencies for. */\n languages: InstallLanguage[];\n /**\n * Packages that must resolve from the workspace after this generator, because\n * a config file it writes (e.g. `vite.config.mts`) imports them and Nx loads\n * that config when computing the project graph. When the caller prefers to\n * defer installing, we honour that only if these already resolve.\n *\n * The per-language graph deps in `LANGUAGE_GRAPH_DEPS` are always included, so\n * callers only list packages beyond those.\n */\n ensureResolvable?: ITsDepVersion[];\n}\n\n/**\n * Packages each language always needs resolvable for Nx to compute the project\n * graph, so a deferred install still runs whenever it would otherwise break.\n */\nconst LANGUAGE_GRAPH_DEPS: Record<InstallLanguage, string[]> = {\n typescript: ['vitest'], // every TypeScript project has a `vitest.config.mts`\n python: ['@nxlv/python'], // every Python project registers this inference plugin\n};\n\n/**\n * Returns true if every package is linked at `<root>/node_modules/<pkg>`.\n *\n * This is the condition Nx's inferred plugins need when they load a generated\n * config (e.g. `vite.config.mts`) during graph computation: the config's\n * imports resolve from inside the workspace's own `node_modules`. We avoid\n * `require.resolve`, which can succeed via an ancestor `node_modules` even when\n * the package isn't linked here. `existsSync` follows symlinks, so pnpm's store\n * links resolve, and Nx always uses a `node_modules` linker (never PnP).\n */\nconst allResolvable = (root: string, packages: string[]): boolean =>\n packages.every((pkg) => existsSync(join(root, 'node_modules', pkg)));\n\n/**\n * Installs dependencies for the given languages.\n *\n * Call from a generator's returned callback:\n * `return () => installDependencies(tree, options.preferInstallDependencies, { ... })`.\n *\n * `preferInstallDependencies` is a preference: when `false` the install is\n * deferred so a batch installs once at the end — unless an `ensureResolvable`\n * package is missing, in which case it runs anyway so the next `nx` command can\n * still compute the project graph.\n */\nexport const installDependencies = async (\n tree: Tree,\n preferInstallDependencies: boolean | undefined,\n options: InstallDependenciesOptions,\n): Promise<void> => {\n const { languages, ensureResolvable = [] } = options;\n const mustResolve = [\n ...ensureResolvable,\n ...languages.flatMap((language) => LANGUAGE_GRAPH_DEPS[language]),\n ];\n if (\n preferInstallDependencies === false &&\n allResolvable(tree.root, mustResolve)\n ) {\n return;\n }\n if (languages.includes('typescript')) {\n // Force the install: devkit's default only installs when the root\n // package.json changed, but deps land in per-project manifests.\n installPackagesTask(tree, true);\n }\n if (languages.includes('python')) {\n await new UVProvider(tree.root, new Logger(), tree).install();\n }\n};\n"],"names":["existsSync","join","installPackagesTask","Logger","UVProvider","LANGUAGE_GRAPH_DEPS","typescript","python","allResolvable","root","packages","every","pkg","installDependencies","tree","preferInstallDependencies","options","languages","ensureResolvable","mustResolve","flatMap","language","includes","install"],"mappings":"AAAA;;;CAGC,GACD,SAASA,UAAU,QAAQ,UAAU;AACrC,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,mBAAmB,QAAmB,aAAa;AAC5D,SAASC,MAAM,EAAEC,UAAU,QAAQ,mBAAgB;AAuBnD;;;CAGC,GACD,MAAMC,sBAAyD;IAC7DC,YAAY;QAAC;KAAS;IACtBC,QAAQ;QAAC;KAAe;AAC1B;AAEA;;;;;;;;;CASC,GACD,MAAMC,gBAAgB,CAACC,MAAcC,WACnCA,SAASC,KAAK,CAAC,CAACC,MAAQZ,WAAWC,KAAKQ,MAAM,gBAAgBG;AAEhE;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,sBAAsB,OACjCC,MACAC,2BACAC;IAEA,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAE,EAAE,GAAGF;IAC7C,MAAMG,cAAc;WACfD;WACAD,UAAUG,OAAO,CAAC,CAACC,WAAahB,mBAAmB,CAACgB,SAAS;KACjE;IACD,IACEN,8BAA8B,SAC9BP,cAAcM,KAAKL,IAAI,EAAEU,cACzB;QACA;IACF;IACA,IAAIF,UAAUK,QAAQ,CAAC,eAAe;QACpC,kEAAkE;QAClE,gEAAgE;QAChEpB,oBAAoBY,MAAM;IAC5B;IACA,IAAIG,UAAUK,QAAQ,CAAC,WAAW;QAChC,MAAM,IAAIlB,WAAWU,KAAKL,IAAI,EAAE,IAAIN,UAAUW,MAAMS,OAAO;IAC7D;AACF,EAAE"}
package/src/utils/js.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
1
5
  /**
2
6
  * Imports a javascript module from a string of js code
3
7
  */
package/src/utils/js.js CHANGED
@@ -1,33 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.importTypeScriptModule = exports.importJavaScriptModule = 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 typescript_1 = tslib_1.__importDefault(require("typescript"));
10
- const config_utils_1 = require("@nx/devkit/src/utils/config-utils");
4
+ */ import ts from "typescript";
5
+ // A real runtime `import()`, wrapped in `new Function` so transpilers (tsc's
6
+ // CommonJS output, @swc-node/register) cannot rewrite it to `require()` —
7
+ // `require()` cannot load the `data:` urls we import below. Under a test VM
8
+ // (vitest) this `new Function` import has no dynamic-import callback, so we
9
+ // fall back to a literal `import()` which the test runner wires up correctly.
10
+ const nodeImport = new Function('modulePath', 'return import(modulePath);');
11
+ const dynamicImport = async (modulePath)=>{
12
+ try {
13
+ return await nodeImport(modulePath);
14
+ } catch (e) {
15
+ if (e instanceof TypeError && e.message.includes('dynamic import callback')) {
16
+ return import(/* @vite-ignore */ modulePath);
17
+ }
18
+ throw e;
19
+ }
20
+ };
11
21
  /**
12
22
  * Imports a javascript module from a string of js code
13
- */
14
- const importJavaScriptModule = async (jsCode) => {
15
- // Use nx's dynamic import to ensure that transpilers (namely @swc-node/register) don't process the import and it's
16
- // instead processed by node at runtime, which allows for data urls
17
- const module = await (0, config_utils_1.dynamicImport)(`data:text/javascript,${encodeURIComponent(jsCode)}`);
23
+ */ export const importJavaScriptModule = async (jsCode)=>{
24
+ const module = await dynamicImport(`data:text/javascript,${encodeURIComponent(jsCode)}`);
18
25
  // Return the default export if available, otherwise the full module
19
- return (module.default ?? module);
26
+ return module.default ?? module;
20
27
  };
21
- exports.importJavaScriptModule = importJavaScriptModule;
22
28
  /**
23
29
  * Imports a typescript module from a string of typescript code
24
- */
25
- const importTypeScriptModule = async (tsCode) => {
30
+ */ export const importTypeScriptModule = async (tsCode)=>{
26
31
  // Transpile to js and then import as a js module
27
- const jsCode = typescript_1.default.transpileModule(tsCode, {
28
- compilerOptions: { module: typescript_1.default.ModuleKind.ESNext },
32
+ const jsCode = ts.transpileModule(tsCode, {
33
+ compilerOptions: {
34
+ module: ts.ModuleKind.ESNext
35
+ }
29
36
  }).outputText;
30
- return await (0, exports.importJavaScriptModule)(jsCode);
37
+ return await importJavaScriptModule(jsCode);
31
38
  };
32
- exports.importTypeScriptModule = importTypeScriptModule;
39
+
33
40
  //# sourceMappingURL=js.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/js.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oEAA4B;AAC5B,oEAAkE;AAElE;;GAEG;AACI,MAAM,sBAAsB,GAAG,KAAK,EAAK,MAAc,EAAc,EAAE;IAC5E,mHAAmH;IACnH,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAChC,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACrD,CAAC;IAEF,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAM,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEF;;GAEG;AACI,MAAM,sBAAsB,GAAG,KAAK,EAAK,MAAc,EAAc,EAAE;IAC5E,iDAAiD;IACjD,MAAM,MAAM,GAAG,oBAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACxC,eAAe,EAAE,EAAE,MAAM,EAAE,oBAAE,CAAC,UAAU,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC,UAAU,CAAC;IACd,OAAO,MAAM,IAAA,8BAAsB,EAAI,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AANW,QAAA,sBAAsB,0BAMjC"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/utils/js.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport ts from 'typescript';\n\n// A real runtime `import()`, wrapped in `new Function` so transpilers (tsc's\n// CommonJS output, @swc-node/register) cannot rewrite it to `require()` —\n// `require()` cannot load the `data:` urls we import below. Under a test VM\n// (vitest) this `new Function` import has no dynamic-import callback, so we\n// fall back to a literal `import()` which the test runner wires up correctly.\nconst nodeImport = new Function('modulePath', 'return import(modulePath);') as (\n modulePath: string,\n) => Promise<Record<string, unknown>>;\n\nconst dynamicImport = async (\n modulePath: string,\n): Promise<Record<string, unknown>> => {\n try {\n return await nodeImport(modulePath);\n } catch (e) {\n if (\n e instanceof TypeError &&\n e.message.includes('dynamic import callback')\n ) {\n return import(/* @vite-ignore */ modulePath);\n }\n throw e;\n }\n};\n\n/**\n * Imports a javascript module from a string of js code\n */\nexport const importJavaScriptModule = async <T>(jsCode: string): Promise<T> => {\n const module = await dynamicImport(\n `data:text/javascript,${encodeURIComponent(jsCode)}`,\n );\n\n // Return the default export if available, otherwise the full module\n return (module.default ?? module) as T;\n};\n\n/**\n * Imports a typescript module from a string of typescript code\n */\nexport const importTypeScriptModule = async <T>(tsCode: string): Promise<T> => {\n // Transpile to js and then import as a js module\n const jsCode = ts.transpileModule(tsCode, {\n compilerOptions: { module: ts.ModuleKind.ESNext },\n }).outputText;\n return await importJavaScriptModule<T>(jsCode);\n};\n"],"names":["ts","nodeImport","Function","dynamicImport","modulePath","e","TypeError","message","includes","importJavaScriptModule","jsCode","module","encodeURIComponent","default","importTypeScriptModule","tsCode","transpileModule","compilerOptions","ModuleKind","ESNext","outputText"],"mappings":"AAAA;;;CAGC,GAED,OAAOA,QAAQ,aAAa;AAE5B,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAMC,aAAa,IAAIC,SAAS,cAAc;AAI9C,MAAMC,gBAAgB,OACpBC;IAEA,IAAI;QACF,OAAO,MAAMH,WAAWG;IAC1B,EAAE,OAAOC,GAAG;QACV,IACEA,aAAaC,aACbD,EAAEE,OAAO,CAACC,QAAQ,CAAC,4BACnB;YACA,OAAO,MAAM,CAAC,gBAAgB,GAAGJ;QACnC;QACA,MAAMC;IACR;AACF;AAEA;;CAEC,GACD,OAAO,MAAMI,yBAAyB,OAAUC;IAC9C,MAAMC,SAAS,MAAMR,cACnB,CAAC,qBAAqB,EAAES,mBAAmBF,SAAS;IAGtD,oEAAoE;IACpE,OAAQC,OAAOE,OAAO,IAAIF;AAC5B,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMG,yBAAyB,OAAUC;IAC9C,iDAAiD;IACjD,MAAML,SAASV,GAAGgB,eAAe,CAACD,QAAQ;QACxCE,iBAAiB;YAAEN,QAAQX,GAAGkB,UAAU,CAACC,MAAM;QAAC;IAClD,GAAGC,UAAU;IACb,OAAO,MAAMX,uBAA0BC;AACzC,EAAE"}
@@ -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 { Tree } from '@nx/devkit';
5
+ import { type Tree } from '@nx/devkit';
6
6
  /**
7
7
  * Name of the Nx Plugin for AWS MCP server, used as the key in each agent's config.
8
8
  */
@@ -11,8 +11,17 @@ export declare const NX_PLUGIN_MCP_SERVER_NAME = "nx-plugin-for-aws";
11
11
  * Command used to launch the Nx Plugin for AWS MCP server.
12
12
  */
13
13
  export declare const NX_PLUGIN_MCP_SERVER_COMMAND = "npx";
14
+ /**
15
+ * Package providing the Nx Plugin for AWS MCP server.
16
+ */
17
+ export declare const NX_PLUGIN_MCP_PACKAGE_NAME = "@aws/nx-plugin-mcp";
14
18
  /**
15
19
  * Arguments used to launch the Nx Plugin for AWS MCP server.
20
+ *
21
+ * npx prefers a locally installed package over the registry, and generators
22
+ * declare this package as a workspace devDependency, so the server tracks the
23
+ * version in the workspace's lockfile. `-y` falls back to fetching from the
24
+ * registry for a workspace where it isn't installed.
16
25
  */
17
26
  export declare const NX_PLUGIN_MCP_SERVER_ARGS: string[];
18
27
  /**