@aws/nx-plugin 1.0.0-rc.4 → 1.0.0-rc.41

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 (1138) hide show
  1. package/LICENSE-THIRD-PARTY +5449 -4980
  2. package/README.md +7 -7
  3. package/executors.json +9 -0
  4. package/generators.json +101 -2
  5. package/package.json +35 -17
  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 +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -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 +149 -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 +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +167 -194
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +107 -0
  52. package/src/connection/supported-connections.js +151 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +97 -85
  57. package/src/infra/app/files/app/src/main.ts.template +1 -1
  58. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  59. package/src/infra/app/generator.d.ts +3 -3
  60. package/src/infra/app/generator.js +142 -122
  61. package/src/infra/app/generator.js.map +1 -1
  62. package/src/infra/app/schema.d.js +6 -0
  63. package/src/infra/app/schema.d.js.map +1 -0
  64. package/src/infra/app/schema.d.ts +1 -1
  65. package/src/infra/app/schema.json +5 -0
  66. package/src/init/generator.d.ts +18 -0
  67. package/src/init/generator.js +35 -0
  68. package/src/init/generator.js.map +1 -0
  69. package/src/init/schema.d.js +6 -0
  70. package/src/init/schema.d.js.map +1 -0
  71. package/src/init/schema.d.ts +16 -0
  72. package/src/init/schema.json +35 -0
  73. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  74. package/src/license/config-types.d.ts +18 -1
  75. package/src/license/config-types.js +8 -2
  76. package/src/license/config-types.js.map +1 -1
  77. package/src/license/config.d.ts +65 -7
  78. package/src/license/config.js +442 -109
  79. package/src/license/config.js.map +1 -1
  80. package/src/license/dependency-check/check.d.ts +16 -0
  81. package/src/license/dependency-check/check.js +116 -0
  82. package/src/license/dependency-check/check.js.map +1 -0
  83. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  84. package/src/license/dependency-check/collectors/collector.js +46 -0
  85. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  86. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  87. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  88. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  89. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  90. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  91. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  92. package/src/license/dependency-check/evaluator.d.ts +9 -0
  93. package/src/license/dependency-check/evaluator.js +94 -0
  94. package/src/license/dependency-check/evaluator.js.map +1 -0
  95. package/src/license/dependency-check/executor-schema.json +6 -0
  96. package/src/license/dependency-check/executor.d.ts +9 -0
  97. package/src/license/dependency-check/executor.js +51 -0
  98. package/src/license/dependency-check/executor.js.map +1 -0
  99. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  100. package/src/license/dependency-check/pre-approved.js +1893 -0
  101. package/src/license/dependency-check/pre-approved.js.map +1 -0
  102. package/src/license/dependency-check/types.d.ts +45 -0
  103. package/src/license/dependency-check/types.js +6 -0
  104. package/src/license/dependency-check/types.js.map +1 -0
  105. package/src/license/generator.d.ts +3 -3
  106. package/src/license/generator.js +126 -30
  107. package/src/license/generator.js.map +1 -1
  108. package/src/license/index.d.ts +8 -0
  109. package/src/license/index.js +7 -0
  110. package/src/license/index.js.map +1 -0
  111. package/src/license/known-exceptions.d.ts +7 -0
  112. package/src/license/known-exceptions.js +39 -0
  113. package/src/license/known-exceptions.js.map +1 -0
  114. package/src/license/schema.d.js +6 -0
  115. package/src/license/schema.d.js.map +1 -0
  116. package/src/license/schema.d.ts +7 -0
  117. package/src/license/schema.json +11 -0
  118. package/src/license/sync/generator.d.ts +2 -2
  119. package/src/license/sync/generator.js +100 -125
  120. package/src/license/sync/generator.js.map +1 -1
  121. package/src/license/sync/project-file-sync.d.ts +3 -3
  122. package/src/license/sync/project-file-sync.js +28 -35
  123. package/src/license/sync/project-file-sync.js.map +1 -1
  124. package/src/mcp-server/generator-info.d.ts +5 -1
  125. package/src/mcp-server/generator-info.js +149 -165
  126. package/src/mcp-server/generator-info.js.map +1 -1
  127. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  128. package/src/mcp-server/guide-pipeline.js +199 -206
  129. package/src/mcp-server/guide-pipeline.js.map +1 -1
  130. package/src/mcp-server/guide-render.js +10 -25
  131. package/src/mcp-server/guide-render.js.map +1 -1
  132. package/src/mcp-server/index.js +6 -10
  133. package/src/mcp-server/index.js.map +1 -1
  134. package/src/mcp-server/mdx-ast.js +42 -56
  135. package/src/mcp-server/mdx-ast.js.map +1 -1
  136. package/src/mcp-server/option-filter.js +33 -47
  137. package/src/mcp-server/option-filter.js.map +1 -1
  138. package/src/mcp-server/schema-registry.d.ts +9 -3
  139. package/src/mcp-server/schema-registry.js +41 -38
  140. package/src/mcp-server/schema-registry.js.map +1 -1
  141. package/src/mcp-server/schema.js +9 -7
  142. package/src/mcp-server/schema.js.map +1 -1
  143. package/src/mcp-server/server.js +22 -24
  144. package/src/mcp-server/server.js.map +1 -1
  145. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  146. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  147. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  148. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  149. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  150. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  151. package/src/mcp-server/tools/general-guidance.d.ts +3 -3
  152. package/src/mcp-server/tools/general-guidance.js +47 -25
  153. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  154. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  155. package/src/mcp-server/tools/generator-guide.js +29 -37
  156. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  157. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  158. package/src/mcp-server/tools/list-generators.js +19 -25
  159. package/src/mcp-server/tools/list-generators.js.map +1 -1
  160. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  161. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  162. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  163. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  164. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  165. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  166. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  167. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  168. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  169. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  170. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  171. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  172. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +101 -25
  173. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  174. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  175. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  176. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  177. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  178. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  179. package/src/open-api/ts-client/generator.d.ts +3 -3
  180. package/src/open-api/ts-client/generator.js +41 -26
  181. package/src/open-api/ts-client/generator.js.map +1 -1
  182. package/src/open-api/ts-client/schema.d.js +6 -0
  183. package/src/open-api/ts-client/schema.d.js.map +1 -0
  184. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  185. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  186. package/src/open-api/ts-hooks/generator.js +17 -21
  187. package/src/open-api/ts-hooks/generator.js.map +1 -1
  188. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  189. package/src/open-api/ts-hooks/schema.d.js +6 -0
  190. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  191. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  192. package/src/open-api/ts-metadata/generator.js +12 -20
  193. package/src/open-api/ts-metadata/generator.js.map +1 -1
  194. package/src/open-api/ts-metadata/schema.d.js +6 -0
  195. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  196. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  197. package/src/open-api/utils/codegen-data/languages.js +59 -66
  198. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  199. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  200. package/src/open-api/utils/codegen-data/types.js +54 -30
  201. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  202. package/src/open-api/utils/codegen-data.d.ts +8 -4
  203. package/src/open-api/utils/codegen-data.js +494 -674
  204. package/src/open-api/utils/codegen-data.js.map +1 -1
  205. package/src/open-api/utils/normalise.d.ts +5 -1
  206. package/src/open-api/utils/normalise.js +437 -246
  207. package/src/open-api/utils/normalise.js.map +1 -1
  208. package/src/open-api/utils/parse.d.ts +2 -2
  209. package/src/open-api/utils/parse.js +11 -13
  210. package/src/open-api/utils/parse.js.map +1 -1
  211. package/src/open-api/utils/parser.d.ts +55 -0
  212. package/src/open-api/utils/parser.js +787 -0
  213. package/src/open-api/utils/parser.js.map +1 -0
  214. package/src/open-api/utils/refs.d.ts +1 -1
  215. package/src/open-api/utils/refs.js +12 -22
  216. package/src/open-api/utils/refs.js.map +1 -1
  217. package/src/open-api/utils/types.d.ts +18 -0
  218. package/src/open-api/utils/types.js +5 -2
  219. package/src/open-api/utils/types.js.map +1 -1
  220. package/src/preset/__snapshots__/generator.spec.ts.snap +109 -28
  221. package/src/preset/generator.d.ts +4 -4
  222. package/src/preset/generator.js +64 -147
  223. package/src/preset/generator.js.map +1 -1
  224. package/src/preset/schema.d.js +6 -0
  225. package/src/preset/schema.d.js.map +1 -0
  226. package/src/preset/schema.d.ts +5 -2
  227. package/src/preset/schema.json +11 -5
  228. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +320 -0
  229. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  230. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +182 -314
  231. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  232. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  233. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  234. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  235. package/src/py/agent/a2a-connection/generator.js +113 -85
  236. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  237. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  238. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  239. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  240. package/src/py/agent/a2a-connection/schema.json +5 -0
  241. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  242. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  243. package/src/py/agent/files/common/agent.py.template +2 -0
  244. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  245. package/src/py/agent/files/deploy/Dockerfile.template +1 -1
  246. package/src/py/agent/files/http/init.py.template +7 -25
  247. package/src/py/agent/files/http/main.py.template +3 -4
  248. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  249. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  250. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  251. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  252. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  253. package/src/py/agent/gateway-connection/generator.js +119 -0
  254. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  255. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  256. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  257. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  258. package/src/py/agent/gateway-connection/schema.json +31 -0
  259. package/src/py/agent/generator.d.ts +3 -3
  260. package/src/py/agent/generator.js +290 -179
  261. package/src/py/agent/generator.js.map +1 -1
  262. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  263. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  264. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  265. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  266. package/src/py/agent/mcp-connection/generator.js +65 -126
  267. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  268. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  269. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  270. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  271. package/src/py/agent/mcp-connection/schema.json +5 -0
  272. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  273. package/src/py/agent/react-connection/generator.d.ts +4 -4
  274. package/src/py/agent/react-connection/generator.js +55 -59
  275. package/src/py/agent/react-connection/generator.js.map +1 -1
  276. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  277. package/src/py/agent/react-connection/local-dev.js +36 -0
  278. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  279. package/src/py/agent/react-connection/schema.d.js +8 -0
  280. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  281. package/src/py/agent/react-connection/schema.d.ts +1 -0
  282. package/src/py/agent/react-connection/schema.json +5 -0
  283. package/src/py/agent/schema.d.js +6 -0
  284. package/src/py/agent/schema.d.js.map +1 -0
  285. package/src/py/agent/schema.d.ts +2 -1
  286. package/src/py/agent/schema.json +6 -1
  287. package/src/py/api/generator.d.ts +3 -3
  288. package/src/py/api/generator.js +12 -11
  289. package/src/py/api/generator.js.map +1 -1
  290. package/src/py/api/schema.d.js +6 -0
  291. package/src/py/api/schema.d.js.map +1 -0
  292. package/src/py/api/schema.d.ts +1 -0
  293. package/src/py/api/schema.json +5 -0
  294. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  295. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  296. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  297. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  298. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  299. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  300. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  301. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  302. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  303. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  304. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  305. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  306. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  307. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  308. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  309. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  310. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  311. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  312. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  313. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  314. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  315. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  316. package/src/py/dynamodb/files/config.json.template +24 -0
  317. package/src/py/dynamodb/generator.d.ts +10 -0
  318. package/src/py/dynamodb/generator.js +110 -0
  319. package/src/py/dynamodb/generator.js.map +1 -0
  320. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  321. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  322. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  323. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  324. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  325. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  326. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  327. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  328. package/src/py/dynamodb/schema.d.js +6 -0
  329. package/src/py/dynamodb/schema.d.js.map +1 -0
  330. package/src/py/dynamodb/schema.d.ts +16 -0
  331. package/src/py/dynamodb/schema.json +75 -0
  332. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  333. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  334. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  335. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  336. package/src/py/fast-api/generator.d.ts +3 -3
  337. package/src/py/fast-api/generator.js +90 -87
  338. package/src/py/fast-api/generator.js.map +1 -1
  339. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  340. package/src/py/fast-api/react/generator.d.ts +4 -4
  341. package/src/py/fast-api/react/generator.js +25 -25
  342. package/src/py/fast-api/react/generator.js.map +1 -1
  343. package/src/py/fast-api/react/open-api.d.ts +1 -1
  344. package/src/py/fast-api/react/open-api.js +31 -29
  345. package/src/py/fast-api/react/open-api.js.map +1 -1
  346. package/src/py/fast-api/react/schema.d.js +6 -0
  347. package/src/py/fast-api/react/schema.d.js.map +1 -0
  348. package/src/py/fast-api/react/schema.d.ts +1 -0
  349. package/src/py/fast-api/react/schema.json +5 -0
  350. package/src/py/fast-api/schema.d.js +6 -0
  351. package/src/py/fast-api/schema.d.js.map +1 -0
  352. package/src/py/fast-api/schema.d.ts +1 -0
  353. package/src/py/fast-api/schema.json +5 -0
  354. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  355. package/src/py/lambda-function/generator.d.ts +3 -3
  356. package/src/py/lambda-function/generator.js +60 -59
  357. package/src/py/lambda-function/generator.js.map +1 -1
  358. package/src/py/lambda-function/schema.d.js +6 -0
  359. package/src/py/lambda-function/schema.d.js.map +1 -0
  360. package/src/py/lambda-function/schema.d.ts +1 -0
  361. package/src/py/lambda-function/schema.json +5 -0
  362. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +208 -19
  363. package/src/py/mcp-server/files/deploy/Dockerfile.template +1 -1
  364. package/src/py/mcp-server/generator.d.ts +3 -3
  365. package/src/py/mcp-server/generator.js +162 -124
  366. package/src/py/mcp-server/generator.js.map +1 -1
  367. package/src/py/mcp-server/schema.d.js +6 -0
  368. package/src/py/mcp-server/schema.d.js.map +1 -0
  369. package/src/py/mcp-server/schema.d.ts +1 -0
  370. package/src/py/mcp-server/schema.json +5 -0
  371. package/src/py/project/generator.d.ts +17 -4
  372. package/src/py/project/generator.js +205 -127
  373. package/src/py/project/generator.js.map +1 -1
  374. package/src/py/project/schema.d.js +6 -0
  375. package/src/py/project/schema.d.js.map +1 -0
  376. package/src/py/project/schema.d.ts +1 -0
  377. package/src/py/project/schema.json +5 -0
  378. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2038 -0
  379. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +104 -0
  380. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  381. package/src/py/rdb/agent-connection/generator.js +46 -0
  382. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  383. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  384. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  385. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  386. package/src/py/rdb/agent-connection/schema.json +27 -0
  387. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +44 -0
  388. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  389. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  390. package/src/py/rdb/fast-api-connection/generator.js +54 -0
  391. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  392. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  393. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  394. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  395. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  396. package/src/py/rdb/files/Dockerfile.create-db-user.template +10 -0
  397. package/src/py/rdb/files/Dockerfile.migration.template +10 -0
  398. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  399. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  400. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  401. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  402. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  403. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  404. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  405. package/src/py/rdb/files/alembic.ini.template +38 -0
  406. package/src/py/rdb/files/config.json.template +14 -0
  407. package/src/py/rdb/files/migrations/env.py.template +80 -0
  408. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  409. package/src/py/rdb/generator.d.ts +6 -0
  410. package/src/py/rdb/generator.js +274 -0
  411. package/src/py/rdb/generator.js.map +1 -0
  412. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +101 -0
  413. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  414. package/src/py/rdb/mcp-server-connection/generator.js +46 -0
  415. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  416. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  417. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  418. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  419. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  420. package/src/py/rdb/schema.d.js +6 -0
  421. package/src/py/rdb/schema.d.js.map +1 -0
  422. package/src/py/rdb/schema.d.ts +16 -0
  423. package/src/py/rdb/schema.json +77 -0
  424. package/src/py/rdb/utils.d.ts +6 -0
  425. package/src/py/rdb/utils.js +16 -0
  426. package/src/py/rdb/utils.js.map +1 -0
  427. package/src/sdk/agentcore-gateway.d.ts +6 -0
  428. package/src/sdk/agentcore-gateway.js +7 -0
  429. package/src/sdk/agentcore-gateway.js.map +1 -0
  430. package/src/sdk/connection.d.ts +6 -0
  431. package/src/sdk/connection.js +6 -0
  432. package/src/sdk/connection.js.map +1 -0
  433. package/src/sdk/license.d.ts +8 -0
  434. package/src/sdk/license.js +7 -0
  435. package/src/sdk/license.js.map +1 -0
  436. package/src/sdk/open-api.d.ts +10 -0
  437. package/src/sdk/open-api.js +8 -0
  438. package/src/sdk/open-api.js.map +1 -0
  439. package/src/sdk/py.d.ts +16 -0
  440. package/src/sdk/py.js +11 -0
  441. package/src/sdk/py.js.map +1 -0
  442. package/src/sdk/terraform.d.ts +6 -0
  443. package/src/sdk/terraform.js +7 -0
  444. package/src/sdk/terraform.js.map +1 -0
  445. package/src/sdk/ts.d.ts +33 -0
  446. package/src/sdk/ts.js +35 -0
  447. package/src/sdk/ts.js.map +1 -0
  448. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  449. package/src/sdk/utils/ast.js +6 -0
  450. package/src/sdk/utils/ast.js.map +1 -0
  451. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  452. package/src/sdk/utils/format.js +6 -0
  453. package/src/sdk/utils/format.js.map +1 -0
  454. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  455. package/src/sdk/utils/test.js +6 -0
  456. package/src/sdk/utils/test.js.map +1 -0
  457. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  458. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  459. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  460. package/src/smithy/project/generator.d.ts +3 -3
  461. package/src/smithy/project/generator.js +64 -57
  462. package/src/smithy/project/generator.js.map +1 -1
  463. package/src/smithy/project/schema.d.js +6 -0
  464. package/src/smithy/project/schema.d.js.map +1 -0
  465. package/src/smithy/project/schema.d.ts +1 -0
  466. package/src/smithy/project/schema.json +5 -0
  467. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  468. package/src/smithy/react-connection/generator.d.ts +3 -3
  469. package/src/smithy/react-connection/generator.js +39 -47
  470. package/src/smithy/react-connection/generator.js.map +1 -1
  471. package/src/smithy/react-connection/schema.d.js +6 -0
  472. package/src/smithy/react-connection/schema.d.js.map +1 -0
  473. package/src/smithy/react-connection/schema.d.ts +1 -0
  474. package/src/smithy/react-connection/schema.json +5 -0
  475. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +824 -120
  476. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  477. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  478. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  479. package/src/smithy/ts/api/files/service.ts.template +3 -3
  480. package/src/smithy/ts/api/generator.d.ts +3 -3
  481. package/src/smithy/ts/api/generator.js +128 -105
  482. package/src/smithy/ts/api/generator.js.map +1 -1
  483. package/src/smithy/ts/api/schema.d.js +6 -0
  484. package/src/smithy/ts/api/schema.d.js.map +1 -0
  485. package/src/smithy/ts/api/schema.d.ts +1 -0
  486. package/src/smithy/ts/api/schema.json +5 -0
  487. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  488. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  489. package/src/terraform/project/generator.d.ts +3 -3
  490. package/src/terraform/project/generator.js +156 -104
  491. package/src/terraform/project/generator.js.map +1 -1
  492. package/src/terraform/project/schema.d.js +9 -0
  493. package/src/terraform/project/schema.d.js.map +1 -0
  494. package/src/terraform/project/schema.d.ts +1 -0
  495. package/src/terraform/project/schema.json +5 -0
  496. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1099 -134
  497. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  498. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  499. package/src/trpc/backend/files/src/index.ts.template +5 -5
  500. package/src/trpc/backend/files/src/init.ts.template +1 -1
  501. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  502. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  503. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  504. package/src/trpc/backend/files/src/router.ts.template +2 -2
  505. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  506. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  507. package/src/trpc/backend/generator.d.ts +4 -4
  508. package/src/trpc/backend/generator.js +98 -84
  509. package/src/trpc/backend/generator.js.map +1 -1
  510. package/src/trpc/backend/schema.d.js +6 -0
  511. package/src/trpc/backend/schema.d.js.map +1 -0
  512. package/src/trpc/backend/schema.d.ts +3 -2
  513. package/src/trpc/backend/schema.json +5 -0
  514. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  515. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  516. package/src/trpc/react/generator.d.ts +4 -4
  517. package/src/trpc/react/generator.js +63 -58
  518. package/src/trpc/react/generator.js.map +1 -1
  519. package/src/trpc/react/schema.d.js +6 -0
  520. package/src/trpc/react/schema.d.js.map +1 -0
  521. package/src/trpc/react/schema.d.ts +1 -0
  522. package/src/trpc/react/schema.json +5 -0
  523. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +781 -22
  524. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  525. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  526. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  527. package/src/ts/agent/a2a-connection/generator.js +64 -55
  528. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  529. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  530. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  531. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  532. package/src/ts/agent/a2a-connection/schema.json +5 -0
  533. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  534. package/src/ts/agent/files/ag-ui/index.ts.template +1 -1
  535. package/src/ts/agent/files/common/agent.ts.template +6 -2
  536. package/src/ts/agent/files/deploy/Dockerfile.template +4 -1
  537. package/src/ts/agent/files/http/client.ts.template +2 -2
  538. package/src/ts/agent/files/http/index.ts.template +2 -2
  539. package/src/ts/agent/files/http/router.ts.template +5 -5
  540. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  541. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  542. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  543. package/src/ts/agent/gateway-connection/generator.js +116 -0
  544. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  545. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  546. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  547. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  548. package/src/ts/agent/gateway-connection/schema.json +31 -0
  549. package/src/ts/agent/generator.d.ts +3 -3
  550. package/src/ts/agent/generator.js +203 -144
  551. package/src/ts/agent/generator.js.map +1 -1
  552. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  553. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  554. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  555. package/src/ts/agent/mcp-connection/generator.js +54 -59
  556. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  557. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  558. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  559. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  560. package/src/ts/agent/mcp-connection/schema.json +5 -0
  561. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  562. package/src/ts/agent/react-connection/generator.js +86 -80
  563. package/src/ts/agent/react-connection/generator.js.map +1 -1
  564. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  565. package/src/ts/agent/react-connection/local-dev.js +17 -0
  566. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  567. package/src/ts/agent/react-connection/schema.d.js +8 -0
  568. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  569. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  570. package/src/ts/agent/react-connection/schema.json +5 -0
  571. package/src/ts/agent/schema.d.js +6 -0
  572. package/src/ts/agent/schema.d.js.map +1 -0
  573. package/src/ts/agent/schema.d.ts +1 -0
  574. package/src/ts/agent/schema.json +5 -0
  575. package/src/ts/api/generator.d.ts +3 -3
  576. package/src/ts/api/generator.js +16 -16
  577. package/src/ts/api/generator.js.map +1 -1
  578. package/src/ts/api/schema.d.js +6 -0
  579. package/src/ts/api/schema.d.js.map +1 -0
  580. package/src/ts/api/schema.d.ts +3 -1
  581. package/src/ts/api/schema.json +5 -0
  582. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  583. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  584. package/src/ts/astro-docs/generator.d.ts +3 -3
  585. package/src/ts/astro-docs/generator.js +71 -54
  586. package/src/ts/astro-docs/generator.js.map +1 -1
  587. package/src/ts/astro-docs/schema.d.js +6 -0
  588. package/src/ts/astro-docs/schema.d.js.map +1 -0
  589. package/src/ts/astro-docs/schema.d.ts +2 -2
  590. package/src/ts/astro-docs/schema.json +3 -3
  591. package/src/ts/docs/generator.d.ts +3 -3
  592. package/src/ts/docs/generator.js +10 -10
  593. package/src/ts/docs/generator.js.map +1 -1
  594. package/src/ts/docs/schema.d.js +6 -0
  595. package/src/ts/docs/schema.d.js.map +1 -0
  596. package/src/ts/docs/schema.d.ts +1 -4
  597. package/src/ts/docs/schema.json +3 -3
  598. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +400 -512
  599. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  600. package/src/ts/dynamodb/agent-connection/generator.d.ts +3 -3
  601. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  602. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  603. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  604. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  605. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  606. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  607. package/src/ts/dynamodb/files/config.json.template +24 -0
  608. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  609. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  610. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  611. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  612. package/src/ts/dynamodb/generator.d.ts +3 -3
  613. package/src/ts/dynamodb/generator.js +73 -63
  614. package/src/ts/dynamodb/generator.js.map +1 -1
  615. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  616. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +3 -3
  617. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  618. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  619. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  620. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  621. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  622. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  623. package/src/ts/dynamodb/schema.d.js +6 -0
  624. package/src/ts/dynamodb/schema.d.js.map +1 -0
  625. package/src/ts/dynamodb/schema.d.ts +2 -0
  626. package/src/ts/dynamodb/schema.json +25 -2
  627. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  628. package/src/ts/dynamodb/smithy-connection/generator.d.ts +3 -3
  629. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  630. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  631. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  632. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  633. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  634. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  635. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  636. package/src/ts/dynamodb/trpc-connection/generator.d.ts +3 -3
  637. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  638. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  639. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  640. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  641. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  642. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  643. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  644. package/src/ts/lambda-function/generator.d.ts +3 -3
  645. package/src/ts/lambda-function/generator.js +59 -56
  646. package/src/ts/lambda-function/generator.js.map +1 -1
  647. package/src/ts/lambda-function/io.js +83 -52
  648. package/src/ts/lambda-function/io.js.map +1 -1
  649. package/src/ts/lambda-function/schema.d.js +6 -0
  650. package/src/ts/lambda-function/schema.d.js.map +1 -0
  651. package/src/ts/lambda-function/schema.d.ts +1 -0
  652. package/src/ts/lambda-function/schema.json +5 -0
  653. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +98 -93
  654. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  655. package/src/ts/lib/biome.d.ts +7 -0
  656. package/src/ts/lib/biome.js +91 -0
  657. package/src/ts/lib/biome.js.map +1 -0
  658. package/src/ts/lib/generator.d.ts +3 -3
  659. package/src/ts/lib/generator.js +107 -108
  660. package/src/ts/lib/generator.js.map +1 -1
  661. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  662. package/src/ts/lib/schema.d.js +6 -0
  663. package/src/ts/lib/schema.d.js.map +1 -0
  664. package/src/ts/lib/schema.d.ts +1 -1
  665. package/src/ts/lib/schema.json +5 -0
  666. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  667. package/src/ts/lib/ts-project-utils.js +90 -67
  668. package/src/ts/lib/ts-project-utils.js.map +1 -1
  669. package/src/ts/lib/types.d.ts +6 -0
  670. package/src/ts/lib/types.js +5 -2
  671. package/src/ts/lib/types.js.map +1 -1
  672. package/src/ts/lib/vitest.d.ts +2 -2
  673. package/src/ts/lib/vitest.js +29 -26
  674. package/src/ts/lib/vitest.js.map +1 -1
  675. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +208 -42
  676. package/src/ts/mcp-server/files/Dockerfile.template +4 -1
  677. package/src/ts/mcp-server/generator.d.ts +3 -3
  678. package/src/ts/mcp-server/generator.js +181 -136
  679. package/src/ts/mcp-server/generator.js.map +1 -1
  680. package/src/ts/mcp-server/schema.d.js +6 -0
  681. package/src/ts/mcp-server/schema.d.js.map +1 -0
  682. package/src/ts/mcp-server/schema.d.ts +1 -0
  683. package/src/ts/mcp-server/schema.json +5 -0
  684. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  685. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  686. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  687. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  688. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  689. package/src/ts/nx-generator/generator.d.ts +2 -2
  690. package/src/ts/nx-generator/generator.js +113 -73
  691. package/src/ts/nx-generator/generator.js.map +1 -1
  692. package/src/ts/nx-generator/schema.d.js +6 -0
  693. package/src/ts/nx-generator/schema.d.js.map +1 -0
  694. package/src/ts/nx-generator/schema.d.ts +1 -0
  695. package/src/ts/nx-generator/schema.json +5 -0
  696. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  697. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  698. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  699. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  700. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  701. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  702. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  703. package/src/ts/nx-plugin/generator.d.ts +3 -3
  704. package/src/ts/nx-plugin/generator.js +61 -50
  705. package/src/ts/nx-plugin/generator.js.map +1 -1
  706. package/src/ts/nx-plugin/schema.d.js +9 -0
  707. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  708. package/src/ts/nx-plugin/schema.json +5 -0
  709. package/src/ts/nx-plugin/utils.d.ts +1 -1
  710. package/src/ts/nx-plugin/utils.js +36 -39
  711. package/src/ts/nx-plugin/utils.js.map +1 -1
  712. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +455 -646
  713. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  714. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  715. package/src/ts/rdb/agent-connection/generator.js +38 -39
  716. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  717. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  718. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  719. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  720. package/src/ts/rdb/agent-connection/schema.json +5 -0
  721. package/src/ts/rdb/files/Dockerfile.template +8 -1
  722. package/src/ts/rdb/files/config.json.template +14 -0
  723. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  724. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  725. package/src/ts/rdb/files/src/index.ts.template +1 -2
  726. package/src/ts/rdb/files/src/migration-handler.ts.template +2 -29
  727. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  728. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  729. package/src/ts/rdb/generator.d.ts +3 -7
  730. package/src/ts/rdb/generator.js +173 -131
  731. package/src/ts/rdb/generator.js.map +1 -1
  732. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  733. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  734. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  735. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  736. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  737. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  738. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  739. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  740. package/src/ts/rdb/schema.d.js +6 -0
  741. package/src/ts/rdb/schema.d.js.map +1 -0
  742. package/src/ts/rdb/schema.d.ts +1 -0
  743. package/src/ts/rdb/schema.json +6 -1
  744. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  745. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  746. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  747. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  748. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  749. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  750. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  751. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  752. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  753. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  754. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  755. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  756. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  757. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  758. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  759. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  760. package/src/ts/rdb/utils.d.ts +1 -1
  761. package/src/ts/rdb/utils.js +9 -11
  762. package/src/ts/rdb/utils.js.map +1 -1
  763. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  764. package/src/ts/react-website/agui/generator.d.ts +1 -1
  765. package/src/ts/react-website/agui/generator.js +69 -62
  766. package/src/ts/react-website/agui/generator.js.map +1 -1
  767. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1190 -799
  768. package/src/ts/react-website/app/generator.d.ts +4 -4
  769. package/src/ts/react-website/app/generator.js +217 -192
  770. package/src/ts/react-website/app/generator.js.map +1 -1
  771. package/src/ts/react-website/app/schema.d.js +6 -0
  772. package/src/ts/react-website/app/schema.d.js.map +1 -0
  773. package/src/ts/react-website/app/schema.d.ts +1 -1
  774. package/src/ts/react-website/app/schema.json +11 -6
  775. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  776. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  777. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  778. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  779. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  780. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  781. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  782. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  783. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  784. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  785. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  786. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  787. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  788. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  789. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  790. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  791. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  792. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  793. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  794. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  795. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  796. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  797. package/src/ts/react-website/runtime-config/generator.js +29 -31
  798. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  799. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  800. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  801. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  802. package/src/ts/react-website/runtime-config/schema.json +5 -0
  803. package/src/ts/sync/generator.d.ts +3 -3
  804. package/src/ts/sync/generator.js +58 -59
  805. package/src/ts/sync/generator.js.map +1 -1
  806. package/src/ts/website/app/generator.d.ts +3 -3
  807. package/src/ts/website/app/generator.js +10 -10
  808. package/src/ts/website/app/generator.js.map +1 -1
  809. package/src/ts/website/app/schema.d.js +6 -0
  810. package/src/ts/website/app/schema.d.js.map +1 -0
  811. package/src/ts/website/app/schema.d.ts +1 -1
  812. package/src/ts/website/app/schema.json +11 -6
  813. package/src/ts/website/auth/generator.d.ts +4 -4
  814. package/src/ts/website/auth/generator.js +11 -10
  815. package/src/ts/website/auth/generator.js.map +1 -1
  816. package/src/ts/website/auth/schema.d.js +6 -0
  817. package/src/ts/website/auth/schema.d.js.map +1 -0
  818. package/src/ts/website/auth/schema.d.ts +1 -0
  819. package/src/ts/website/auth/schema.json +5 -0
  820. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  821. package/src/utils/agent-chat/agent-chat.js +31 -0
  822. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  823. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  824. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  825. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  826. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  827. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  828. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  829. package/src/utils/agent-connection/agent-connection.js +414 -103
  830. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  831. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  832. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  833. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  834. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  835. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  836. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  837. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  838. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  839. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  840. 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
  841. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  842. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  843. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  844. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  845. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  846. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  847. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  848. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  849. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  850. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  851. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  852. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  853. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  854. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  855. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  856. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  857. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  858. package/src/utils/agent-core-constructs/agent-core-constructs.js +93 -38
  859. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  860. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +31 -4
  861. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  862. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  863. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  864. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +32 -0
  865. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  866. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  867. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +151 -13
  868. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  869. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  870. package/src/utils/api-constructs/api-constructs.js +36 -31
  871. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  872. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +8 -8
  873. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +11 -8
  874. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  875. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  876. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  877. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +54 -18
  878. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  879. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  880. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  881. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  882. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  883. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  884. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  885. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  886. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  887. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  888. package/src/utils/ast/website.d.ts +5 -1
  889. package/src/utils/ast/website.js +18 -20
  890. package/src/utils/ast/website.js.map +1 -1
  891. package/src/utils/ast.d.ts +33 -1
  892. package/src/utils/ast.js +146 -70
  893. package/src/utils/ast.js.map +1 -1
  894. package/src/utils/base-tsconfig.d.ts +30 -0
  895. package/src/utils/base-tsconfig.js +32 -0
  896. package/src/utils/base-tsconfig.js.map +1 -0
  897. package/src/utils/bundle/bundle.d.ts +1 -1
  898. package/src/utils/bundle/bundle.js +50 -47
  899. package/src/utils/bundle/bundle.js.map +1 -1
  900. package/src/utils/commands.d.ts +10 -3
  901. package/src/utils/commands.js +60 -26
  902. package/src/utils/commands.js.map +1 -1
  903. package/src/utils/config/index.d.ts +5 -5
  904. package/src/utils/config/index.js +5 -4
  905. package/src/utils/config/index.js.map +1 -1
  906. package/src/utils/config/utils.d.ts +13 -3
  907. package/src/utils/config/utils.js +65 -43
  908. package/src/utils/config/utils.js.map +1 -1
  909. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  910. package/src/utils/connection/open-api/react.d.ts +6 -6
  911. package/src/utils/connection/open-api/react.js +81 -77
  912. package/src/utils/connection/open-api/react.js.map +1 -1
  913. package/src/utils/containers.d.ts +1 -1
  914. package/src/utils/containers.js +22 -23
  915. package/src/utils/containers.js.map +1 -1
  916. package/src/utils/docker.d.ts +44 -0
  917. package/src/utils/docker.js +81 -0
  918. package/src/utils/docker.js.map +1 -0
  919. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +3 -3
  920. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  921. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  922. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  923. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  924. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  925. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  926. package/src/utils/files/common/constructs/src/core/index.ts.template +4 -4
  927. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  928. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  929. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  930. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  931. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  932. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  933. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  934. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  935. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  936. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  937. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  938. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  939. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  940. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  941. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  942. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  943. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  944. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  945. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  946. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  947. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  948. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  949. package/src/utils/format.d.ts +45 -2
  950. package/src/utils/format.js +332 -81
  951. package/src/utils/format.js.map +1 -1
  952. package/src/utils/fs.d.ts +1 -1
  953. package/src/utils/fs.js +14 -13
  954. package/src/utils/fs.js.map +1 -1
  955. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  956. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  957. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  958. package/src/utils/function-constructs/function-constructs.js +22 -25
  959. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  960. package/src/utils/generators.d.ts +4 -0
  961. package/src/utils/generators.js +18 -20
  962. package/src/utils/generators.js.map +1 -1
  963. package/src/utils/git.d.ts +1 -1
  964. package/src/utils/git.js +19 -34
  965. package/src/utils/git.js.map +1 -1
  966. package/src/utils/iac-providers.js +5 -5
  967. package/src/utils/iac-providers.js.map +1 -1
  968. package/src/utils/iac.d.ts +1 -1
  969. package/src/utils/iac.js +12 -14
  970. package/src/utils/iac.js.map +1 -1
  971. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +125 -16
  972. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  973. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  974. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  975. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  976. package/src/utils/identity-constructs/identity-constructs.js +28 -28
  977. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  978. package/src/utils/init.d.ts +53 -0
  979. package/src/utils/init.js +252 -0
  980. package/src/utils/init.js.map +1 -0
  981. package/src/utils/install.d.ts +32 -0
  982. package/src/utils/install.js +56 -0
  983. package/src/utils/install.js.map +1 -0
  984. package/src/utils/js.d.ts +4 -0
  985. package/src/utils/js.js +27 -20
  986. package/src/utils/js.js.map +1 -1
  987. package/src/utils/mcp.d.ts +1 -1
  988. package/src/utils/mcp.js +34 -41
  989. package/src/utils/mcp.js.map +1 -1
  990. package/src/utils/metrics.d.ts +9 -3
  991. package/src/utils/metrics.js +61 -46
  992. package/src/utils/metrics.js.map +1 -1
  993. package/src/utils/mock-project-graph.js +8 -12
  994. package/src/utils/mock-project-graph.js.map +1 -1
  995. package/src/utils/module-format.d.ts +28 -0
  996. package/src/utils/module-format.js +28 -0
  997. package/src/utils/module-format.js.map +1 -0
  998. package/src/utils/names.d.ts +22 -0
  999. package/src/utils/names.js +44 -48
  1000. package/src/utils/names.js.map +1 -1
  1001. package/src/utils/npm-scope.d.ts +1 -1
  1002. package/src/utils/npm-scope.js +9 -17
  1003. package/src/utils/npm-scope.js.map +1 -1
  1004. package/src/utils/nx.d.ts +39 -4
  1005. package/src/utils/nx.js +169 -75
  1006. package/src/utils/nx.js.map +1 -1
  1007. package/src/utils/nxlv-python.d.ts +1 -1
  1008. package/src/utils/nxlv-python.js +27 -15
  1009. package/src/utils/nxlv-python.js.map +1 -1
  1010. package/src/utils/object.js +5 -11
  1011. package/src/utils/object.js.map +1 -1
  1012. package/src/utils/paths.d.ts +1 -1
  1013. package/src/utils/paths.js +11 -15
  1014. package/src/utils/paths.js.map +1 -1
  1015. package/src/utils/pkg-manager.js +4 -9
  1016. package/src/utils/pkg-manager.js.map +1 -1
  1017. package/src/utils/pnpm-workspace.d.ts +1 -1
  1018. package/src/utils/pnpm-workspace.js +22 -22
  1019. package/src/utils/pnpm-workspace.js.map +1 -1
  1020. package/src/utils/port.d.ts +29 -7
  1021. package/src/utils/port.js +67 -28
  1022. package/src/utils/port.js.map +1 -1
  1023. package/src/utils/py.d.ts +16 -3
  1024. package/src/utils/py.js +72 -47
  1025. package/src/utils/py.js.map +1 -1
  1026. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1027. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +97 -88
  1028. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1029. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +36 -48
  1030. package/src/utils/rdb-constructs/rdb-constructs.d.ts +16 -5
  1031. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1032. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1033. package/src/utils/shared-constructs-constants.d.ts +1 -0
  1034. package/src/utils/shared-constructs-constants.js +16 -15
  1035. package/src/utils/shared-constructs-constants.js.map +1 -1
  1036. package/src/utils/shared-constructs.d.ts +2 -2
  1037. package/src/utils/shared-constructs.js +60 -67
  1038. package/src/utils/shared-constructs.js.map +1 -1
  1039. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  1040. package/src/utils/shared-dynamodb-scripts.js +25 -0
  1041. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1042. package/src/utils/shared-infra-config.d.ts +1 -1
  1043. package/src/utils/shared-infra-config.js +31 -30
  1044. package/src/utils/shared-infra-config.js.map +1 -1
  1045. package/src/utils/shared-infra-scripts.d.ts +11 -0
  1046. package/src/utils/shared-infra-scripts.js +42 -0
  1047. package/src/utils/shared-infra-scripts.js.map +1 -0
  1048. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  1049. package/src/utils/shared-rdb-scripts.js +32 -0
  1050. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1051. package/src/utils/shared-scripts.d.ts +2 -5
  1052. package/src/utils/shared-scripts.js +12 -38
  1053. package/src/utils/shared-scripts.js.map +1 -1
  1054. package/src/utils/shared-shadcn.d.ts +1 -1
  1055. package/src/utils/shared-shadcn.js +65 -71
  1056. package/src/utils/shared-shadcn.js.map +1 -1
  1057. package/src/utils/test.d.ts +15 -1
  1058. package/src/utils/test.js +41 -23
  1059. package/src/utils/test.js.map +1 -1
  1060. package/src/utils/toml.d.ts +1 -1
  1061. package/src/utils/toml.js +10 -14
  1062. package/src/utils/toml.js.map +1 -1
  1063. package/src/utils/versions.d.ts +150 -97
  1064. package/src/utils/versions.js +157 -115
  1065. package/src/utils/versions.js.map +1 -1
  1066. package/src/utils/warm-ruff-cache.d.ts +12 -0
  1067. package/src/utils/warm-ruff-cache.js +39 -0
  1068. package/src/utils/warm-ruff-cache.js.map +1 -0
  1069. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1070. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +200 -41
  1071. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1072. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1073. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  1074. package/src/utils/website-constructs/website-constructs.js +38 -30
  1075. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1076. package/bin/aws-nx-mcp.js +0 -17
  1077. package/bin/aws-nx-mcp.js.map +0 -1
  1078. package/sdk/connection.d.ts +0 -6
  1079. package/sdk/connection.js +0 -10
  1080. package/sdk/connection.js.map +0 -1
  1081. package/sdk/open-api.d.ts +0 -10
  1082. package/sdk/open-api.js +0 -15
  1083. package/sdk/open-api.js.map +0 -1
  1084. package/sdk/py.d.ts +0 -14
  1085. package/sdk/py.js +0 -18
  1086. package/sdk/py.js.map +0 -1
  1087. package/sdk/terraform.d.ts +0 -6
  1088. package/sdk/terraform.js +0 -11
  1089. package/sdk/terraform.js.map +0 -1
  1090. package/sdk/ts.d.ts +0 -29
  1091. package/sdk/ts.js +0 -47
  1092. package/sdk/ts.js.map +0 -1
  1093. package/sdk/utils/ast.js +0 -12
  1094. package/sdk/utils/ast.js.map +0 -1
  1095. package/sdk/utils/format.js +0 -10
  1096. package/sdk/utils/format.js.map +0 -1
  1097. package/sdk/utils/test.js +0 -10
  1098. package/sdk/utils/test.js.map +0 -1
  1099. package/src/connection/agent-serve-local.js +0 -48
  1100. package/src/connection/agent-serve-local.js.map +0 -1
  1101. package/src/connection/serve-local.d.ts +0 -15
  1102. package/src/connection/serve-local.js +0 -41
  1103. package/src/connection/serve-local.js.map +0 -1
  1104. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1105. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1106. package/src/py/agent/react-connection/serve-local.js +0 -30
  1107. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1108. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1109. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1110. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1111. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  1112. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1113. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1114. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1115. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1116. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1117. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1118. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1119. package/src/ts/lib/eslint.d.ts +0 -14
  1120. package/src/ts/lib/eslint.js +0 -90
  1121. package/src/ts/lib/eslint.js.map +0 -1
  1122. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1123. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  1124. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  1125. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1126. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1127. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1128. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1129. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1130. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1131. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1132. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1133. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1134. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  1135. /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
  1136. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1137. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1138. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1,39 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.postProcessGuide = exports.fetchSnippet = exports.fetchGuidePages = exports.fetchGuideFrontmatters = exports.fetchGuidePagesForGenerator = exports.renderFilterableOptionsAsync = exports.loadFilterableOptionsFromSchema = exports.renderGeneratorInfo = exports.buildNxCommand = 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 names_1 = require("../utils/names");
10
- const option_filter_1 = require("./option-filter");
11
- const guide_render_1 = require("./guide-render");
12
- const guide_pipeline_1 = require("./guide-pipeline");
13
- const mdx_ast_1 = require("./mdx-ast");
14
- const schema_registry_1 = require("./schema-registry");
15
- const fs_1 = tslib_1.__importDefault(require("fs"));
16
- const path_1 = tslib_1.__importDefault(require("path"));
4
+ */ import fs from "fs";
5
+ import path from "path";
6
+ import { kebabCase } from "../utils/names.js";
7
+ import { parseMdx, postProcessGuideWithRemark } from "./guide-pipeline.js";
8
+ import { renderGeneratorCommand, renderSchema } from "./guide-render.js";
9
+ import { collectFilterableKeysFromJsx, extractFrontmatter } from "./mdx-ast.js";
10
+ import { evaluatePredicate } from "./option-filter.js";
11
+ import { filterableOptionsFromSchema } from "./schema-registry.js";
17
12
  // Re-export so existing callers of `generator-info` continue working.
18
- var guide_render_2 = require("./guide-render");
19
- Object.defineProperty(exports, "buildNxCommand", { enumerable: true, get: function () { return guide_render_2.buildNxCommand; } });
13
+ export { buildNxCommand } from "./guide-render.js";
20
14
  /**
21
15
  * Render summary information about a generator
22
- */
23
- const renderGeneratorInfo = (packageManager, info) => {
24
- const schema = JSON.parse(fs_1.default.readFileSync(info.resolvedSchemaPath, 'utf-8'));
16
+ */ export const renderGeneratorInfo = (packageManager, info)=>{
17
+ const schema = JSON.parse(fs.readFileSync(info.resolvedSchemaPath, 'utf-8'));
25
18
  return `${info.id}
26
19
 
27
20
  Description: ${info.description}
28
21
 
29
22
  Available Parameters:
30
- ${(0, guide_render_1.renderSchema)(schema)}
23
+ ${renderSchema(schema)}
31
24
 
32
25
  Command:
33
- ${(0, guide_render_1.renderGeneratorCommand)(info.id, schema, packageManager)}
26
+ ${renderGeneratorCommand(info.id, schema, packageManager)}
34
27
  `;
35
28
  };
36
- exports.renderGeneratorInfo = renderGeneratorInfo;
37
29
  /**
38
30
  * Enum properties from the generator's JSON schema — the options a user
39
31
  * could pass on the CLI. Agents use this list to pick `options` values
@@ -42,42 +34,40 @@ exports.renderGeneratorInfo = renderGeneratorInfo;
42
34
  * Multi-variant generators (e.g. `connection`) layer additional keys on
43
35
  * top via each guide page's `when:` frontmatter — merged in by
44
36
  * `collectFrontmatterFilterableOptions` / `renderFilterableOptionsAsync`.
45
- */
46
- const loadFilterableOptionsFromSchema = (info) => {
37
+ */ export const loadFilterableOptionsFromSchema = (info)=>{
47
38
  try {
48
- const schema = JSON.parse(fs_1.default.readFileSync(info.resolvedSchemaPath, 'utf-8'));
49
- return (0, schema_registry_1.filterableOptionsFromSchema)(schema);
50
- }
51
- catch {
39
+ const schema = JSON.parse(fs.readFileSync(info.resolvedSchemaPath, 'utf-8'));
40
+ return filterableOptionsFromSchema(schema);
41
+ } catch {
52
42
  return [];
53
43
  }
54
44
  };
55
- exports.loadFilterableOptionsFromSchema = loadFilterableOptionsFromSchema;
56
45
  /**
57
46
  * Look at the `when:` frontmatter of every guide page belonging to a
58
47
  * generator and add any keys not already surfaced via the JSON schema.
59
48
  * This lets the `connection` generator advertise `sourceType` /
60
49
  * `targetType` / `protocol` without touching `generators.json`.
61
- */
62
- const collectFrontmatterFilterableOptions = (fetched, fromSchema) => {
50
+ */ const collectFrontmatterFilterableOptions = (fetched, fromSchema)=>{
63
51
  const extras = new Map();
64
- for (const guide of fetched) {
52
+ for (const guide of fetched){
65
53
  const when = guide.frontmatter.when;
66
- if (!when)
67
- continue;
68
- for (const [key, rawValues] of Object.entries(when)) {
54
+ if (!when) continue;
55
+ for (const [key, rawValues] of Object.entries(when)){
69
56
  const bucket = extras.get(key) ?? new Set();
70
- for (const v of rawValues)
71
- bucket.add(v);
57
+ for (const v of rawValues)bucket.add(v);
72
58
  extras.set(key, bucket);
73
59
  }
74
60
  }
75
61
  const out = [];
76
- const seen = new Set(fromSchema.map((o) => o.key));
77
- for (const [key, values] of extras) {
78
- if (seen.has(key))
79
- continue;
80
- out.push({ key, enum: [...values] });
62
+ const seen = new Set(fromSchema.map((o)=>o.key));
63
+ for (const [key, values] of extras){
64
+ if (seen.has(key)) continue;
65
+ out.push({
66
+ key,
67
+ enum: [
68
+ ...values
69
+ ]
70
+ });
81
71
  }
82
72
  return out;
83
73
  };
@@ -91,47 +81,35 @@ const collectFrontmatterFilterableOptions = (fetched, fromSchema) => {
91
81
  * across a generator's guide pages. A generator with no `when:` predicates
92
82
  * on any of its pages (the common case — `ts#trpc-api`, `py#fast-api` …)
93
83
  * opts out of the check automatically.
94
- */
95
- const describeUnsupportedCombinationFromFetched = (info, fetched, options) => {
96
- if (!options)
97
- return undefined;
98
- const predicates = fetched
99
- .map((g) => g.frontmatter.when)
100
- .filter((w) => w !== undefined);
101
- if (predicates.length === 0)
102
- return undefined;
84
+ */ const describeUnsupportedCombinationFromFetched = (info, fetched, options)=>{
85
+ if (!options) return undefined;
86
+ const predicates = fetched.map((g)=>g.frontmatter.when).filter((w)=>w !== undefined);
87
+ if (predicates.length === 0) return undefined;
103
88
  // Consider only the option keys that actually participate in at least
104
89
  // one predicate — other options (e.g. schema enums) are orthogonal.
105
90
  const predicateKeys = new Set();
106
- for (const p of predicates)
107
- for (const k of Object.keys(p))
108
- predicateKeys.add(k);
109
- const suppliedPredicateKeys = [...predicateKeys].filter((k) => options[k] !== undefined);
110
- if (suppliedPredicateKeys.length === 0)
111
- return undefined;
91
+ for (const p of predicates)for (const k of Object.keys(p))predicateKeys.add(k);
92
+ const suppliedPredicateKeys = [
93
+ ...predicateKeys
94
+ ].filter((k)=>options[k] !== undefined);
95
+ if (suppliedPredicateKeys.length === 0) return undefined;
112
96
  // If any predicate is still reachable given the keys the agent has
113
97
  // committed to so far, treat this as a partial (valid) selection and
114
98
  // skip the warning — the agent can keep narrowing.
115
- const stillReachable = predicates.some((pred) => suppliedPredicateKeys.every((k) => {
116
- const values = pred[k];
117
- if (values === undefined)
118
- return true; // predicate doesn't care about this key
119
- return values.includes(options[k]);
120
- }));
121
- if (stillReachable)
122
- return undefined;
99
+ const stillReachable = predicates.some((pred)=>suppliedPredicateKeys.every((k)=>{
100
+ const values = pred[k];
101
+ if (values === undefined) return true; // predicate doesn't care about this key
102
+ return values.includes(options[k]);
103
+ }));
104
+ if (stillReachable) return undefined;
123
105
  return renderUnsupportedMessage(info, options, predicates);
124
106
  };
125
- const renderUnsupportedMessage = (info, requested, predicates) => {
126
- const requestedDesc = Object.entries(requested)
127
- .map(([k, v]) => `${k} = ${v}`)
128
- .join(', ');
129
- const supportedList = predicates
130
- .map((pred) => {
131
- const parts = Object.entries(pred).map(([k, vs]) => `${k} = ${vs.join(' | ')}`);
107
+ const renderUnsupportedMessage = (info, requested, predicates)=>{
108
+ const requestedDesc = Object.entries(requested).map(([k, v])=>`${k} = ${v}`).join(', ');
109
+ const supportedList = predicates.map((pred)=>{
110
+ const parts = Object.entries(pred).map(([k, vs])=>`${k} = ${vs.join(' | ')}`);
132
111
  return `- ${parts.join(', ')}`;
133
- })
134
- .join('\n');
112
+ }).join('\n');
135
113
  return `## ${info.id}
136
114
 
137
115
  > [!WARNING] Unsupported combination: ${requestedDesc}. The \`${info.id}\` generator has no guide variant matching this combination — running it will likely fail.
@@ -154,31 +132,25 @@ Pick a combination from the list above, or choose a different generator.`;
154
132
  * guide pages.
155
133
  * - Per-page `when:` frontmatter blocks (multi-variant generators like
156
134
  * `connection`).
157
- */
158
- const renderFilterableOptionsAsync = async (info) => {
159
- const fetched = await (0, exports.fetchGuideFrontmatters)(info);
135
+ */ export const renderFilterableOptionsAsync = async (info)=>{
136
+ const fetched = await fetchGuideFrontmatters(info);
160
137
  const referenced = new Set();
161
- for (const g of fetched) {
162
- for (const k of g.referencedKeys)
163
- referenced.add(k);
138
+ for (const g of fetched){
139
+ for (const k of g.referencedKeys)referenced.add(k);
164
140
  }
165
- const schemaOptions = (0, exports.loadFilterableOptionsFromSchema)(info).filter((o) => referenced.has(o.key));
141
+ const schemaOptions = loadFilterableOptionsFromSchema(info).filter((o)=>referenced.has(o.key));
166
142
  const frontmatterOptions = collectFrontmatterFilterableOptions(fetched, schemaOptions);
167
143
  return formatFilterableOptions(info, [
168
144
  ...schemaOptions,
169
- ...frontmatterOptions,
145
+ ...frontmatterOptions
170
146
  ]);
171
147
  };
172
- exports.renderFilterableOptionsAsync = renderFilterableOptionsAsync;
173
- const formatFilterableOptions = (_info, filterable) => {
174
- if (filterable.length === 0)
175
- return '';
176
- const entries = filterable
177
- .map((opt) => {
148
+ const formatFilterableOptions = (_info, filterable)=>{
149
+ if (filterable.length === 0) return '';
150
+ const entries = filterable.map((opt)=>{
178
151
  const def = opt.default ? ` (default: ${opt.default})` : '';
179
152
  return `- ${opt.key}: ${opt.enum.join(' | ')}${def}`;
180
- })
181
- .join('\n');
153
+ }).join('\n');
182
154
  return `\`generator-guide\` options:\n${entries}`;
183
155
  };
184
156
  /**
@@ -197,52 +169,60 @@ const formatFilterableOptions = (_info, filterable) => {
197
169
  * If the agent has supplied enough options to identify a combination and
198
170
  * no variant page matches, the result is `{ kind: 'unsupported' }` and the
199
171
  * caller surfaces the warning directly.
200
- */
201
- const fetchGuidePagesForGenerator = async (info, generators, packageManager, snippetContentProvider, options) => {
202
- const fetched = await (0, exports.fetchGuideFrontmatters)(info);
172
+ */ export const fetchGuidePagesForGenerator = async (info, generators, packageManager, snippetContentProvider, options)=>{
173
+ const fetched = await fetchGuideFrontmatters(info);
203
174
  const unsupported = describeUnsupportedCombinationFromFetched(info, fetched, options);
204
175
  if (unsupported !== undefined) {
205
- return { kind: 'unsupported', content: unsupported };
176
+ return {
177
+ kind: 'unsupported',
178
+ content: unsupported
179
+ };
206
180
  }
207
- const kept = fetched.filter((g) => {
208
- if (!g.frontmatter.when)
209
- return true;
210
- if (!options)
211
- return true;
212
- return (0, option_filter_1.evaluatePredicate)(g.frontmatter.when, false, options);
181
+ const kept = fetched.filter((g)=>{
182
+ if (!g.frontmatter.when) return true;
183
+ if (!options) return true;
184
+ return evaluatePredicate(g.frontmatter.when, false, options);
213
185
  });
214
- const processed = await Promise.all(kept.map((g) => (0, exports.postProcessGuide)(g.body, generators, packageManager, snippetContentProvider, options)));
215
- return { kind: 'ok', content: processed.join('\n\n') };
186
+ const processed = await Promise.all(kept.map((g)=>postProcessGuide(g.body, generators, packageManager, snippetContentProvider, options)));
187
+ return {
188
+ kind: 'ok',
189
+ content: processed.join('\n\n')
190
+ };
216
191
  };
217
- exports.fetchGuidePagesForGenerator = fetchGuidePagesForGenerator;
218
192
  /**
219
193
  * Fetch every guide page referenced by a generator, in parallel, and
220
194
  * return { page, raw, body, frontmatter } for each one. Used by both
221
195
  * `fetchGuidePagesForGenerator` (to filter + render) and
222
196
  * `renderFilterableOptionsAsync` (to build the filterable-options list
223
197
  * from the union of frontmatter `when:` keys).
224
- */
225
- const fetchGuideFrontmatters = async (info) => {
226
- const pages = [...(info.guidePages ?? [(0, names_1.kebabCase)(info.id)])];
227
- const results = await Promise.allSettled(pages.map(async (page) => ({ page, raw: await fetchGuideRaw(page) })));
198
+ */ export const fetchGuideFrontmatters = async (info)=>{
199
+ const pages = [
200
+ ...info.guidePages ?? [
201
+ kebabCase(info.id)
202
+ ]
203
+ ];
204
+ const results = await Promise.allSettled(pages.map(async (page)=>({
205
+ page,
206
+ raw: await fetchGuideRaw(page)
207
+ })));
228
208
  const fulfilled = [];
229
- for (const r of results) {
230
- if (r.status === 'fulfilled' && r.value.raw)
231
- fulfilled.push(r.value);
209
+ for (const r of results){
210
+ if (r.status === 'fulfilled' && r.value.raw) fulfilled.push(r.value);
232
211
  }
233
- return Promise.all(fulfilled.map(async ({ page, raw }) => {
212
+ return Promise.all(fulfilled.map(async ({ page, raw })=>{
234
213
  const parsed = await parseGuide(raw);
235
- return { page, raw, ...parsed };
214
+ return {
215
+ page,
216
+ raw,
217
+ ...parsed
218
+ };
236
219
  }));
237
220
  };
238
- exports.fetchGuideFrontmatters = fetchGuideFrontmatters;
239
221
  /**
240
222
  * Read a guide's raw MDX from the local filesystem (bundled or monorepo).
241
- */
242
- const fetchGuideRaw = async (page) => {
223
+ */ const fetchGuideRaw = async (page)=>{
243
224
  const local = fetchLocalGuide(page);
244
- if (local !== undefined)
245
- return local;
225
+ if (local !== undefined) return local;
246
226
  return '';
247
227
  };
248
228
  /**
@@ -250,90 +230,95 @@ const fetchGuideRaw = async (page) => {
250
230
  * set of option keys its `<OptionFilter>` / `<TabItem _filter>` blocks
251
231
  * actually reference. The yaml node's `position.end.offset` gives us the
252
232
  * body slice without re-stringifying the tree.
253
- */
254
- const parseGuide = async (raw) => {
255
- const tree = await (0, guide_pipeline_1.parseMdx)(raw);
256
- const { data, bodyOffset } = (0, mdx_ast_1.extractFrontmatter)(tree);
233
+ */ const parseGuide = async (raw)=>{
234
+ const tree = await parseMdx(raw);
235
+ const { data, bodyOffset } = extractFrontmatter(tree);
257
236
  const body = raw.slice(bodyOffset).replace(/^\r?\n/, '');
258
237
  const frontmatter = {};
259
- if (typeof data.title === 'string')
260
- frontmatter.title = data.title;
238
+ if (typeof data.title === 'string') frontmatter.title = data.title;
261
239
  if (data.when && typeof data.when === 'object' && !Array.isArray(data.when)) {
262
240
  const when = {};
263
- for (const [key, value] of Object.entries(data.when)) {
264
- when[key] = Array.isArray(value) ? value.map(String) : [String(value)];
241
+ for (const [key, value] of Object.entries(data.when)){
242
+ when[key] = Array.isArray(value) ? value.map(String) : [
243
+ String(value)
244
+ ];
265
245
  }
266
246
  frontmatter.when = when;
267
247
  }
268
248
  return {
269
249
  body,
270
250
  frontmatter,
271
- referencedKeys: (0, mdx_ast_1.collectFilterableKeysFromJsx)(tree),
251
+ referencedKeys: collectFilterableKeysFromJsx(tree)
272
252
  };
273
253
  };
274
254
  /**
275
- * Probe paths for finding guide MDX files locally. Checked in order:
255
+ * Base directories to probe for guide MDX files, relative to this module.
256
+ * Each is checked in order:
276
257
  * 1. Bundled docs in the published @aws/nx-plugin-mcp package
277
258
  * 2. Source checkout when running from the monorepo (dev/test)
278
259
  * 3. Rolldown-bundled binary in dist/ (monorepo layout)
279
- */
280
- const GUIDES_RELATIVE_PROBES = [
281
- // Bundled docs inside published @aws/nx-plugin-mcp package (bin/ → ../docs/guides)
282
- '../docs/guides',
260
+ */ const GUIDE_BASE_PROBES = [
261
+ // Bundled docs inside published @aws/nx-plugin-mcp package (bin/ → ../docs)
262
+ '../docs',
283
263
  // nx-plugin package compiled from source (src/mcp-server/…)
284
- '../../../docs/src/content/docs/en/guides',
264
+ '../../../docs/src/content/docs/en',
285
265
  // rolldown-bundled `@aws/nx-plugin-mcp` binary in dist (monorepo layout)
286
- '../../../../docs/src/content/docs/en/guides',
266
+ '../../../../docs/src/content/docs/en'
287
267
  ];
288
- const fetchLocalGuide = (guide) => {
289
- for (const rel of GUIDES_RELATIVE_PROBES) {
290
- const candidate = path_1.default.resolve(__dirname, rel, `${guide}.mdx`);
291
- try {
292
- if (fs_1.default.existsSync(candidate)) {
293
- return fs_1.default.readFileSync(candidate, 'utf-8');
294
- }
295
- }
296
- catch {
268
+ /**
269
+ * Content sub-directories that hold pages a generator may reference via
270
+ * `guidePages`. Both the per-generator reference guides (`guides/`) and the
271
+ * getting-started pages (`get_started/`) are fetchable, so a page can live in
272
+ * whichever section reads best for humans while still being served by the MCP
273
+ * tools. Bare `guidePages` names may also include a sub-path (e.g.
274
+ * `connection/react-trpc`).
275
+ */ const GUIDE_SECTIONS = [
276
+ 'guides',
277
+ 'get_started'
278
+ ];
279
+ const fetchLocalGuide = (guide)=>{
280
+ for (const base of GUIDE_BASE_PROBES){
281
+ for (const section of GUIDE_SECTIONS){
282
+ const candidate = path.resolve(import.meta.dirname, base, section, `${guide}.mdx`);
283
+ try {
284
+ if (fs.existsSync(candidate)) {
285
+ return fs.readFileSync(candidate, 'utf-8');
286
+ }
287
+ } catch {
297
288
  // Probe failure → keep looking.
289
+ }
298
290
  }
299
291
  }
300
292
  return undefined;
301
293
  };
302
294
  /**
303
295
  * Fetch markdown guide pages from the local filesystem (bundled or monorepo).
304
- */
305
- const fetchGuidePages = async (guidePages, generators, packageManager, snippetContentProvider, options) => {
306
- const guides = guidePages
307
- .map((guide) => fetchLocalGuide(guide))
308
- .filter((content) => content !== undefined);
309
- const processed = await Promise.all(guides.map((content) => (0, exports.postProcessGuide)(content, generators, packageManager, snippetContentProvider, options)));
296
+ */ export const fetchGuidePages = async (guidePages, generators, packageManager, snippetContentProvider, options)=>{
297
+ const guides = guidePages.map((guide)=>fetchLocalGuide(guide)).filter((content)=>content !== undefined);
298
+ const processed = await Promise.all(guides.map((content)=>postProcessGuide(content, generators, packageManager, snippetContentProvider, options)));
310
299
  return processed.join('\n\n');
311
300
  };
312
- exports.fetchGuidePages = fetchGuidePages;
313
301
  const SNIPPETS_RELATIVE_PROBES = [
314
302
  // Bundled docs inside published @aws/nx-plugin-mcp package (bin/ → ../docs/snippets)
315
303
  '../docs/snippets',
316
304
  '../../../docs/src/content/docs/en/snippets',
317
- '../../../../docs/src/content/docs/en/snippets',
305
+ '../../../../docs/src/content/docs/en/snippets'
318
306
  ];
319
307
  /**
320
308
  * Fetch a snippet's content from the local filesystem (bundled or monorepo).
321
- */
322
- const fetchSnippet = async (snippetName) => {
323
- for (const rel of SNIPPETS_RELATIVE_PROBES) {
324
- const candidate = path_1.default.resolve(__dirname, rel, `${snippetName}.mdx`);
309
+ */ export const fetchSnippet = async (snippetName)=>{
310
+ for (const rel of SNIPPETS_RELATIVE_PROBES){
311
+ const candidate = path.resolve(import.meta.dirname, rel, `${snippetName}.mdx`);
325
312
  try {
326
- if (fs_1.default.existsSync(candidate)) {
327
- return fs_1.default.readFileSync(candidate, 'utf-8');
313
+ if (fs.existsSync(candidate)) {
314
+ return fs.readFileSync(candidate, 'utf-8');
328
315
  }
329
- }
330
- catch {
331
- // Probe failure — try next path.
316
+ } catch {
317
+ // Probe failure — try next path.
332
318
  }
333
319
  }
334
320
  return '';
335
321
  };
336
- exports.fetchSnippet = fetchSnippet;
337
322
  /**
338
323
  * Post-process a guide page. Thin wrapper around the unified/remark-mdx
339
324
  * pipeline in `guide-pipeline.ts` — the real work (snippet inlining,
@@ -341,14 +326,13 @@ exports.fetchSnippet = fetchSnippet;
341
326
  * happens there. Kept under the same name so other packages
342
327
  * (e.g. the docs site's `markdown-content.astro`) can continue importing
343
328
  * `postProcessGuide` with the same signature.
344
- */
345
- const postProcessGuide = async (guide, generators, packageManager, snippetContentProvider, options) => {
346
- return (0, guide_pipeline_1.postProcessGuideWithRemark)(guide, {
329
+ */ export const postProcessGuide = async (guide, generators, packageManager, snippetContentProvider, options)=>{
330
+ return postProcessGuideWithRemark(guide, {
347
331
  generators,
348
332
  packageManager,
349
- snippetContentProvider: snippetContentProvider ?? exports.fetchSnippet,
350
- options,
333
+ snippetContentProvider: snippetContentProvider ?? fetchSnippet,
334
+ options
351
335
  });
352
336
  };
353
- exports.postProcessGuide = postProcessGuide;
337
+
354
338
  //# sourceMappingURL=generator-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator-info.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/generator-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/generator-info.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport fs from 'fs';\nimport path from 'path';\nimport type { NxGeneratorInfo } from '../utils/generators';\nimport { kebabCase } from '../utils/names';\nimport { parseMdx, postProcessGuideWithRemark } from './guide-pipeline';\nimport {\n buildNxCommand,\n renderGeneratorCommand,\n renderSchema,\n} from './guide-render';\nimport { collectFilterableKeysFromJsx, extractFrontmatter } from './mdx-ast';\nimport { evaluatePredicate } from './option-filter';\nimport {\n filterableOptionsFromSchema,\n type GeneratorSchema,\n} from './schema-registry';\n\n// Re-export so existing callers of `generator-info` continue working.\nexport { buildNxCommand } from './guide-render';\n\n/**\n * Render summary information about a generator\n */\nexport const renderGeneratorInfo = (\n packageManager: string,\n info: NxGeneratorInfo,\n): string => {\n const schema = JSON.parse(fs.readFileSync(info.resolvedSchemaPath, 'utf-8'));\n\n return `${info.id}\n\nDescription: ${info.description}\n\nAvailable Parameters:\n${renderSchema(schema)}\n\nCommand:\n${renderGeneratorCommand(info.id, schema, packageManager)}\n`;\n};\n\nexport type FilterableOption = import('./schema-registry').FilterableOption;\n\n/**\n * Enum properties from the generator's JSON schema — the options a user\n * could pass on the CLI. Agents use this list to pick `options` values\n * when calling `generator-guide`.\n *\n * Multi-variant generators (e.g. `connection`) layer additional keys on\n * top via each guide page's `when:` frontmatter — merged in by\n * `collectFrontmatterFilterableOptions` / `renderFilterableOptionsAsync`.\n */\nexport const loadFilterableOptionsFromSchema = (\n info: NxGeneratorInfo,\n): FilterableOption[] => {\n try {\n const schema = JSON.parse(\n fs.readFileSync(info.resolvedSchemaPath, 'utf-8'),\n ) as GeneratorSchema;\n return filterableOptionsFromSchema(schema);\n } catch {\n return [];\n }\n};\n\n/**\n * Look at the `when:` frontmatter of every guide page belonging to a\n * generator and add any keys not already surfaced via the JSON schema.\n * This lets the `connection` generator advertise `sourceType` /\n * `targetType` / `protocol` without touching `generators.json`.\n */\nconst collectFrontmatterFilterableOptions = (\n fetched: FetchedGuide[],\n fromSchema: FilterableOption[],\n): FilterableOption[] => {\n const extras = new Map<string, Set<string>>();\n for (const guide of fetched) {\n const when = guide.frontmatter.when;\n if (!when) continue;\n for (const [key, rawValues] of Object.entries(when)) {\n const bucket = extras.get(key) ?? new Set<string>();\n for (const v of rawValues) bucket.add(v);\n extras.set(key, bucket);\n }\n }\n const out: FilterableOption[] = [];\n const seen = new Set(fromSchema.map((o) => o.key));\n for (const [key, values] of extras) {\n if (seen.has(key)) continue;\n out.push({ key, enum: [...values] });\n }\n return out;\n};\n\n/**\n * Decide whether the agent-supplied `options` describe a combination the\n * generator actually supports. Returns undefined when the combination is\n * fine (including when the agent hasn't narrowed enough to decide) and a\n * human-readable explanation otherwise.\n *\n * Supported combinations are inferred from the union of `when:` predicates\n * across a generator's guide pages. A generator with no `when:` predicates\n * on any of its pages (the common case — `ts#trpc-api`, `py#fast-api` …)\n * opts out of the check automatically.\n */\nconst describeUnsupportedCombinationFromFetched = (\n info: NxGeneratorInfo,\n fetched: FetchedGuide[],\n options: Record<string, string> | undefined,\n): string | undefined => {\n if (!options) return undefined;\n\n const predicates = fetched\n .map((g) => g.frontmatter.when)\n .filter((w): w is Record<string, string[]> => w !== undefined);\n if (predicates.length === 0) return undefined;\n\n // Consider only the option keys that actually participate in at least\n // one predicate — other options (e.g. schema enums) are orthogonal.\n const predicateKeys = new Set<string>();\n for (const p of predicates)\n for (const k of Object.keys(p)) predicateKeys.add(k);\n const suppliedPredicateKeys = [...predicateKeys].filter(\n (k) => options[k] !== undefined,\n );\n if (suppliedPredicateKeys.length === 0) return undefined;\n\n // If any predicate is still reachable given the keys the agent has\n // committed to so far, treat this as a partial (valid) selection and\n // skip the warning — the agent can keep narrowing.\n const stillReachable = predicates.some((pred) =>\n suppliedPredicateKeys.every((k) => {\n const values = pred[k];\n if (values === undefined) return true; // predicate doesn't care about this key\n return values.includes(options[k]);\n }),\n );\n if (stillReachable) return undefined;\n\n return renderUnsupportedMessage(info, options, predicates);\n};\n\nconst renderUnsupportedMessage = (\n info: NxGeneratorInfo,\n requested: Record<string, string>,\n predicates: Record<string, string[]>[],\n): string => {\n const requestedDesc = Object.entries(requested)\n .map(([k, v]) => `${k} = ${v}`)\n .join(', ');\n const supportedList = predicates\n .map((pred) => {\n const parts = Object.entries(pred).map(\n ([k, vs]) => `${k} = ${vs.join(' | ')}`,\n );\n return `- ${parts.join(', ')}`;\n })\n .join('\\n');\n return `## ${info.id}\n\n> [!WARNING] Unsupported combination: ${requestedDesc}. The \\`${info.id}\\` generator has no guide variant matching this combination — running it will likely fail.\n\nSupported combinations:\n${supportedList}\n\nPick a combination from the list above, or choose a different generator.`;\n};\n\n/**\n * Render the \"Filterable options\" block that list-generators emits for each\n * generator. Only keys the guide pages actually branch on are included —\n * enum properties the schema exposes but no guide filters on are omitted\n * so agents don't waste tokens setting options that won't affect the\n * returned content.\n *\n * Keys come from two sources:\n * - Schema enums, intersected with keys referenced by\n * `<OptionFilter when>` / `<TabItem _filter>` across the generator's\n * guide pages.\n * - Per-page `when:` frontmatter blocks (multi-variant generators like\n * `connection`).\n */\nexport const renderFilterableOptionsAsync = async (\n info: NxGeneratorInfo,\n): Promise<string> => {\n const fetched = await fetchGuideFrontmatters(info);\n\n const referenced = new Set<string>();\n for (const g of fetched) {\n for (const k of g.referencedKeys) referenced.add(k);\n }\n\n const schemaOptions = loadFilterableOptionsFromSchema(info).filter((o) =>\n referenced.has(o.key),\n );\n const frontmatterOptions = collectFrontmatterFilterableOptions(\n fetched,\n schemaOptions,\n );\n return formatFilterableOptions(info, [\n ...schemaOptions,\n ...frontmatterOptions,\n ]);\n};\n\nconst formatFilterableOptions = (\n _info: NxGeneratorInfo,\n filterable: FilterableOption[],\n): string => {\n if (filterable.length === 0) return '';\n const entries = filterable\n .map((opt) => {\n const def = opt.default ? ` (default: ${opt.default})` : '';\n return `- ${opt.key}: ${opt.enum.join(' | ')}${def}`;\n })\n .join('\\n');\n return `\\`generator-guide\\` options:\\n${entries}`;\n};\n\n/**\n * A guide page after its raw MDX has been fetched and the YAML frontmatter\n * parsed. The body excludes the frontmatter delimiter; the parsed\n * `frontmatter.when` predicate drives guide-level filtering.\n */\ninterface FetchedGuide {\n page: string;\n raw: string;\n body: string;\n frontmatter: {\n when?: Record<string, string[]>;\n title?: string;\n };\n /** Option keys referenced by `<OptionFilter when>` / `<TabItem _filter>` in the body. */\n referencedKeys: Set<string>;\n}\n\n/**\n * Result of `fetchGuidePagesForGenerator`. When the agent's options pick\n * a combination no variant page matches, `kind` is `'unsupported'` and\n * `content` holds an explanatory warning the tool should surface on its\n * own (without wrapping it in the usual `## <id>` summary). Otherwise\n * `content` is the rendered guide text.\n */\nexport type GuideFetchResult =\n | { kind: 'ok'; content: string }\n | { kind: 'unsupported'; content: string };\n\n/**\n * Retrieve the markdown guide pages for a generator.\n *\n * Every page listed in `guidePages` (or the kebab-cased generator id when\n * that field is absent) is fetched in parallel — local files first, GitHub\n * fallback — and its YAML frontmatter is parsed to pick up any `when:`\n * predicate. Pages without a `when:` are always included; pages with a\n * `when:` are included when either:\n * - `options` is absent (agent hasn't narrowed yet — keep every variant),\n * or\n * - the predicate matches `options` using the same semantics as\n * `<OptionFilter when={{…}}>` (AND across keys, OR within a key).\n *\n * If the agent has supplied enough options to identify a combination and\n * no variant page matches, the result is `{ kind: 'unsupported' }` and the\n * caller surfaces the warning directly.\n */\nexport const fetchGuidePagesForGenerator = async (\n info: NxGeneratorInfo,\n generators: NxGeneratorInfo[],\n packageManager?: string,\n snippetContentProvider?: SnippetContentProvider,\n options?: Record<string, string>,\n): Promise<GuideFetchResult> => {\n const fetched = await fetchGuideFrontmatters(info);\n\n const unsupported = describeUnsupportedCombinationFromFetched(\n info,\n fetched,\n options,\n );\n if (unsupported !== undefined) {\n return { kind: 'unsupported', content: unsupported };\n }\n\n const kept = fetched.filter((g) => {\n if (!g.frontmatter.when) return true;\n if (!options) return true;\n return evaluatePredicate(g.frontmatter.when, false, options);\n });\n\n const processed = await Promise.all(\n kept.map((g) =>\n postProcessGuide(\n g.body,\n generators,\n packageManager,\n snippetContentProvider,\n options,\n ),\n ),\n );\n return { kind: 'ok', content: processed.join('\\n\\n') };\n};\n\n/**\n * Fetch every guide page referenced by a generator, in parallel, and\n * return { page, raw, body, frontmatter } for each one. Used by both\n * `fetchGuidePagesForGenerator` (to filter + render) and\n * `renderFilterableOptionsAsync` (to build the filterable-options list\n * from the union of frontmatter `when:` keys).\n */\nexport const fetchGuideFrontmatters = async (\n info: NxGeneratorInfo,\n): Promise<FetchedGuide[]> => {\n const pages: string[] = [...(info.guidePages ?? [kebabCase(info.id)])];\n const results = await Promise.allSettled(\n pages.map(async (page) => ({ page, raw: await fetchGuideRaw(page) })),\n );\n const fulfilled: { page: string; raw: string }[] = [];\n for (const r of results) {\n if (r.status === 'fulfilled' && r.value.raw) fulfilled.push(r.value);\n }\n return Promise.all(\n fulfilled.map(async ({ page, raw }) => {\n const parsed = await parseGuide(raw);\n return { page, raw, ...parsed };\n }),\n );\n};\n\n/**\n * Read a guide's raw MDX from the local filesystem (bundled or monorepo).\n */\nconst fetchGuideRaw = async (page: string): Promise<string> => {\n const local = fetchLocalGuide(page);\n if (local !== undefined) return local;\n return '';\n};\n\n/**\n * Parse a guide's MDX once and return the body, the frontmatter, and the\n * set of option keys its `<OptionFilter>` / `<TabItem _filter>` blocks\n * actually reference. The yaml node's `position.end.offset` gives us the\n * body slice without re-stringifying the tree.\n */\nconst parseGuide = async (\n raw: string,\n): Promise<Omit<FetchedGuide, 'page' | 'raw'>> => {\n const tree = await parseMdx(raw);\n const { data, bodyOffset } = extractFrontmatter(tree);\n const body = raw.slice(bodyOffset).replace(/^\\r?\\n/, '');\n const frontmatter: { when?: Record<string, string[]>; title?: string } = {};\n if (typeof data.title === 'string') frontmatter.title = data.title;\n if (data.when && typeof data.when === 'object' && !Array.isArray(data.when)) {\n const when: Record<string, string[]> = {};\n for (const [key, value] of Object.entries(\n data.when as Record<string, unknown>,\n )) {\n when[key] = Array.isArray(value) ? value.map(String) : [String(value)];\n }\n frontmatter.when = when;\n }\n return {\n body,\n frontmatter,\n referencedKeys: collectFilterableKeysFromJsx(tree),\n };\n};\n\n/**\n * Base directories to probe for guide MDX files, relative to this module.\n * Each is checked in order:\n * 1. Bundled docs in the published @aws/nx-plugin-mcp package\n * 2. Source checkout when running from the monorepo (dev/test)\n * 3. Rolldown-bundled binary in dist/ (monorepo layout)\n */\nconst GUIDE_BASE_PROBES = [\n // Bundled docs inside published @aws/nx-plugin-mcp package (bin/ → ../docs)\n '../docs',\n // nx-plugin package compiled from source (src/mcp-server/…)\n '../../../docs/src/content/docs/en',\n // rolldown-bundled `@aws/nx-plugin-mcp` binary in dist (monorepo layout)\n '../../../../docs/src/content/docs/en',\n];\n\n/**\n * Content sub-directories that hold pages a generator may reference via\n * `guidePages`. Both the per-generator reference guides (`guides/`) and the\n * getting-started pages (`get_started/`) are fetchable, so a page can live in\n * whichever section reads best for humans while still being served by the MCP\n * tools. Bare `guidePages` names may also include a sub-path (e.g.\n * `connection/react-trpc`).\n */\nconst GUIDE_SECTIONS = ['guides', 'get_started'];\n\nconst fetchLocalGuide = (guide: string): string | undefined => {\n for (const base of GUIDE_BASE_PROBES) {\n for (const section of GUIDE_SECTIONS) {\n const candidate = path.resolve(\n import.meta.dirname,\n base,\n section,\n `${guide}.mdx`,\n );\n try {\n if (fs.existsSync(candidate)) {\n return fs.readFileSync(candidate, 'utf-8');\n }\n } catch {\n // Probe failure → keep looking.\n }\n }\n }\n return undefined;\n};\n\n/**\n * Fetch markdown guide pages from the local filesystem (bundled or monorepo).\n */\nexport const fetchGuidePages = async (\n guidePages: string[],\n generators: NxGeneratorInfo[],\n packageManager?: string,\n snippetContentProvider?: SnippetContentProvider,\n options?: Record<string, string>,\n): Promise<string> => {\n const guides = guidePages\n .map((guide) => fetchLocalGuide(guide))\n .filter((content): content is string => content !== undefined);\n const processed = await Promise.all(\n guides.map((content) =>\n postProcessGuide(\n content,\n generators,\n packageManager,\n snippetContentProvider,\n options,\n ),\n ),\n );\n return processed.join('\\n\\n');\n};\n\n/**\n * A function which retrieves snippet content given a snippet name.\n */\nexport type SnippetContentProvider = (\n snippetName: string,\n) => Promise<string> | string;\n\nconst SNIPPETS_RELATIVE_PROBES = [\n // Bundled docs inside published @aws/nx-plugin-mcp package (bin/ → ../docs/snippets)\n '../docs/snippets',\n '../../../docs/src/content/docs/en/snippets',\n '../../../../docs/src/content/docs/en/snippets',\n];\n\n/**\n * Fetch a snippet's content from the local filesystem (bundled or monorepo).\n */\nexport const fetchSnippet: SnippetContentProvider = async (\n snippetName: string,\n): Promise<string> => {\n for (const rel of SNIPPETS_RELATIVE_PROBES) {\n const candidate = path.resolve(\n import.meta.dirname,\n rel,\n `${snippetName}.mdx`,\n );\n try {\n if (fs.existsSync(candidate)) {\n return fs.readFileSync(candidate, 'utf-8');\n }\n } catch {\n // Probe failure — try next path.\n }\n }\n return '';\n};\n\n/**\n * Post-process a guide page. Thin wrapper around the unified/remark-mdx\n * pipeline in `guide-pipeline.ts` — the real work (snippet inlining,\n * OptionFilter/Infrastructure/TabItem filtering, command/schema rendering)\n * happens there. Kept under the same name so other packages\n * (e.g. the docs site's `markdown-content.astro`) can continue importing\n * `postProcessGuide` with the same signature.\n */\nexport const postProcessGuide = async (\n guide: string,\n generators: NxGeneratorInfo[],\n packageManager?: string,\n snippetContentProvider?: SnippetContentProvider,\n options?: Record<string, string>,\n): Promise<string> => {\n return postProcessGuideWithRemark(guide, {\n generators,\n packageManager,\n snippetContentProvider: snippetContentProvider ?? fetchSnippet,\n options,\n });\n};\n"],"names":["fs","path","kebabCase","parseMdx","postProcessGuideWithRemark","renderGeneratorCommand","renderSchema","collectFilterableKeysFromJsx","extractFrontmatter","evaluatePredicate","filterableOptionsFromSchema","buildNxCommand","renderGeneratorInfo","packageManager","info","schema","JSON","parse","readFileSync","resolvedSchemaPath","id","description","loadFilterableOptionsFromSchema","collectFrontmatterFilterableOptions","fetched","fromSchema","extras","Map","guide","when","frontmatter","key","rawValues","Object","entries","bucket","get","Set","v","add","set","out","seen","map","o","values","has","push","enum","describeUnsupportedCombinationFromFetched","options","undefined","predicates","g","filter","w","length","predicateKeys","p","k","keys","suppliedPredicateKeys","stillReachable","some","pred","every","includes","renderUnsupportedMessage","requested","requestedDesc","join","supportedList","parts","vs","renderFilterableOptionsAsync","fetchGuideFrontmatters","referenced","referencedKeys","schemaOptions","frontmatterOptions","formatFilterableOptions","_info","filterable","opt","def","default","fetchGuidePagesForGenerator","generators","snippetContentProvider","unsupported","kind","content","kept","processed","Promise","all","postProcessGuide","body","pages","guidePages","results","allSettled","page","raw","fetchGuideRaw","fulfilled","r","status","value","parsed","parseGuide","local","fetchLocalGuide","tree","data","bodyOffset","slice","replace","title","Array","isArray","String","GUIDE_BASE_PROBES","GUIDE_SECTIONS","base","section","candidate","resolve","dirname","existsSync","fetchGuidePages","guides","SNIPPETS_RELATIVE_PROBES","fetchSnippet","snippetName","rel"],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * `<PackageManagerExecCommand>` render down to markdown.
16
16
  */
17
17
  import type { Root } from 'mdast';
18
- import { NxGeneratorInfo } from '../utils/generators';
18
+ import type { NxGeneratorInfo } from '../utils/generators';
19
19
  export interface PipelineOptions {
20
20
  generators: NxGeneratorInfo[];
21
21
  packageManager?: string;