@aws/nx-plugin 1.0.0-rc.22 → 1.0.0-rc.24

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 (657) hide show
  1. package/LICENSE-THIRD-PARTY +2088 -971
  2. package/package.json +25 -10
  3. package/src/agentcore-gateway/attach-upstream.d.ts +7 -7
  4. package/src/agentcore-gateway/attach-upstream.js +19 -22
  5. package/src/agentcore-gateway/attach-upstream.js.map +1 -1
  6. package/src/agentcore-gateway/gateway-connection/generator.d.ts +3 -3
  7. package/src/agentcore-gateway/gateway-connection/generator.js +42 -45
  8. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
  9. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  10. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  11. package/src/agentcore-gateway/generator.js +89 -72
  12. package/src/agentcore-gateway/generator.js.map +1 -1
  13. package/src/agentcore-gateway/mcp-connection/generator.d.ts +2 -2
  14. package/src/agentcore-gateway/mcp-connection/generator.js +24 -30
  15. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  16. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  17. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  18. package/src/agentcore-gateway/schema.d.js +6 -0
  19. package/src/agentcore-gateway/schema.d.js.map +1 -0
  20. package/src/bin/aws-nx-mcp.js +14 -0
  21. package/src/bin/aws-nx-mcp.js.map +1 -0
  22. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +5 -5
  23. package/src/connection/agent-local-dev.js +42 -0
  24. package/src/connection/agent-local-dev.js.map +1 -0
  25. package/src/connection/agent-runtime-config.js +9 -14
  26. package/src/connection/agent-runtime-config.js.map +1 -1
  27. package/src/connection/generator.js +262 -207
  28. package/src/connection/generator.js.map +1 -1
  29. package/src/connection/{serve-local.d.ts → local-dev.d.ts} +3 -3
  30. package/src/connection/local-dev.js +37 -0
  31. package/src/connection/local-dev.js.map +1 -0
  32. package/src/connection/schema.d.js +6 -0
  33. package/src/connection/schema.d.js.map +1 -0
  34. package/src/index.js +2 -5
  35. package/src/index.js.map +1 -1
  36. package/src/infra/app/__snapshots__/generator.spec.ts.snap +4 -26
  37. package/src/infra/app/generator.js +133 -123
  38. package/src/infra/app/generator.js.map +1 -1
  39. package/src/infra/app/schema.d.js +6 -0
  40. package/src/infra/app/schema.d.js.map +1 -0
  41. package/src/license/config-types.js +5 -3
  42. package/src/license/config-types.js.map +1 -1
  43. package/src/license/config.d.ts +1 -1
  44. package/src/license/config.js +267 -242
  45. package/src/license/config.js.map +1 -1
  46. package/src/license/dependency-check/check.js +51 -46
  47. package/src/license/dependency-check/check.js.map +1 -1
  48. package/src/license/dependency-check/collectors/collector.js +41 -71
  49. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  50. package/src/license/dependency-check/collectors/npm-collector.js +34 -41
  51. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -1
  52. package/src/license/dependency-check/collectors/python-collector.js +55 -62
  53. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  54. package/src/license/dependency-check/evaluator.js +40 -68
  55. package/src/license/dependency-check/evaluator.js.map +1 -1
  56. package/src/license/dependency-check/executor.js +30 -22
  57. package/src/license/dependency-check/executor.js.map +1 -1
  58. package/src/license/dependency-check/pre-approved.js +949 -336
  59. package/src/license/dependency-check/pre-approved.js.map +1 -1
  60. package/src/license/dependency-check/types.js +2 -3
  61. package/src/license/dependency-check/types.js.map +1 -1
  62. package/src/license/generator.js +55 -60
  63. package/src/license/generator.js.map +1 -1
  64. package/src/license/index.js +3 -9
  65. package/src/license/index.js.map +1 -1
  66. package/src/license/known-exceptions.js +14 -13
  67. package/src/license/known-exceptions.js.map +1 -1
  68. package/src/license/schema.d.js +6 -0
  69. package/src/license/schema.d.js.map +1 -0
  70. package/src/license/sync/generator.js +94 -119
  71. package/src/license/sync/generator.js.map +1 -1
  72. package/src/license/sync/project-file-sync.js +28 -35
  73. package/src/license/sync/project-file-sync.js.map +1 -1
  74. package/src/mcp-server/generator-info.js +130 -160
  75. package/src/mcp-server/generator-info.js.map +1 -1
  76. package/src/mcp-server/guide-pipeline.js +184 -206
  77. package/src/mcp-server/guide-pipeline.js.map +1 -1
  78. package/src/mcp-server/guide-render.js +10 -25
  79. package/src/mcp-server/guide-render.js.map +1 -1
  80. package/src/mcp-server/index.js +6 -10
  81. package/src/mcp-server/index.js.map +1 -1
  82. package/src/mcp-server/mdx-ast.js +39 -57
  83. package/src/mcp-server/mdx-ast.js.map +1 -1
  84. package/src/mcp-server/option-filter.js +33 -47
  85. package/src/mcp-server/option-filter.js.map +1 -1
  86. package/src/mcp-server/schema-registry.js +27 -40
  87. package/src/mcp-server/schema-registry.js.map +1 -1
  88. package/src/mcp-server/schema.js +9 -7
  89. package/src/mcp-server/schema.js.map +1 -1
  90. package/src/mcp-server/server.js +20 -24
  91. package/src/mcp-server/server.js.map +1 -1
  92. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  93. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  94. package/src/mcp-server/tools/general-guidance.js +28 -25
  95. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  96. package/src/mcp-server/tools/generator-guide.js +29 -37
  97. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  98. package/src/mcp-server/tools/list-generators.js +19 -25
  99. package/src/mcp-server/tools/list-generators.js.map +1 -1
  100. package/src/open-api/ts-client/generator.js +16 -26
  101. package/src/open-api/ts-client/generator.js.map +1 -1
  102. package/src/open-api/ts-client/schema.d.js +6 -0
  103. package/src/open-api/ts-client/schema.d.js.map +1 -0
  104. package/src/open-api/ts-hooks/generator.js +13 -21
  105. package/src/open-api/ts-hooks/generator.js.map +1 -1
  106. package/src/open-api/ts-hooks/schema.d.js +6 -0
  107. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  108. package/src/open-api/ts-metadata/generator.js +12 -20
  109. package/src/open-api/ts-metadata/generator.js.map +1 -1
  110. package/src/open-api/ts-metadata/schema.d.js +6 -0
  111. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  112. package/src/open-api/utils/codegen-data/languages.js +42 -60
  113. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  114. package/src/open-api/utils/codegen-data/types.js +31 -30
  115. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  116. package/src/open-api/utils/codegen-data.js +253 -269
  117. package/src/open-api/utils/codegen-data.js.map +1 -1
  118. package/src/open-api/utils/normalise.js +242 -241
  119. package/src/open-api/utils/normalise.js.map +1 -1
  120. package/src/open-api/utils/parse.js +8 -14
  121. package/src/open-api/utils/parse.js.map +1 -1
  122. package/src/open-api/utils/refs.js +12 -22
  123. package/src/open-api/utils/refs.js.map +1 -1
  124. package/src/open-api/utils/types.js +5 -2
  125. package/src/open-api/utils/types.js.map +1 -1
  126. package/src/preset/__snapshots__/generator.spec.ts.snap +31 -6
  127. package/src/preset/generator.d.ts +1 -1
  128. package/src/preset/generator.js +130 -112
  129. package/src/preset/generator.js.map +1 -1
  130. package/src/preset/schema.d.js +6 -0
  131. package/src/preset/schema.d.js.map +1 -0
  132. package/src/preset/schema.d.ts +0 -1
  133. package/src/preset/schema.json +0 -5
  134. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  135. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.frameworks.spec.ts.snap} +18 -845
  136. package/src/py/agent/__snapshots__/generator.protocols.spec.ts.snap +535 -0
  137. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -2
  138. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +1 -1
  139. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +1 -1
  140. package/src/py/agent/a2a-connection/generator.js +70 -75
  141. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  142. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  143. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  144. package/src/py/agent/files/ag-ui-langchain/main.py.template +10 -0
  145. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +6 -8
  146. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +3 -3
  147. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +3 -3
  148. package/src/py/agent/gateway-connection/generator.js +61 -58
  149. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  150. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  151. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  152. package/src/py/agent/generator.js +227 -194
  153. package/src/py/agent/generator.js.map +1 -1
  154. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -12
  155. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +1 -1
  156. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +1 -1
  157. package/src/py/agent/mcp-connection/generator.js +53 -52
  158. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  159. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  160. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  161. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -2
  162. package/src/py/agent/react-connection/generator.js +51 -58
  163. package/src/py/agent/react-connection/generator.js.map +1 -1
  164. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +4 -4
  165. package/src/py/agent/react-connection/local-dev.js +36 -0
  166. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  167. package/src/py/agent/react-connection/schema.d.js +8 -0
  168. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  169. package/src/py/agent/schema.d.js +6 -0
  170. package/src/py/agent/schema.d.js.map +1 -0
  171. package/src/py/api/generator.js +12 -12
  172. package/src/py/api/generator.js.map +1 -1
  173. package/src/py/api/schema.d.js +6 -0
  174. package/src/py/api/schema.d.js.map +1 -0
  175. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +68 -28
  176. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  177. package/src/py/dynamodb/agent-connection/generator.js +27 -29
  178. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  179. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  180. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  181. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +3 -3
  182. package/src/py/dynamodb/fast-api-connection/generator.js +26 -28
  183. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  184. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  185. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  186. package/src/py/dynamodb/files/__name__/client.py.template +5 -5
  187. package/src/py/dynamodb/files/__name__/entities/base.py.template +2 -2
  188. package/src/py/dynamodb/files/config.json.template +1 -1
  189. package/src/py/dynamodb/generator.js +63 -62
  190. package/src/py/dynamodb/generator.js.map +1 -1
  191. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  192. package/src/py/dynamodb/mcp-server-connection/generator.js +27 -29
  193. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  194. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  195. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  196. package/src/py/dynamodb/schema.d.js +6 -0
  197. package/src/py/dynamodb/schema.d.js.map +1 -0
  198. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +45 -4632
  199. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  200. package/src/py/fast-api/generator.js +79 -85
  201. package/src/py/fast-api/generator.js.map +1 -1
  202. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +3 -2
  203. package/src/py/fast-api/react/generator.js +22 -24
  204. package/src/py/fast-api/react/generator.js.map +1 -1
  205. package/src/py/fast-api/react/open-api.js +28 -29
  206. package/src/py/fast-api/react/open-api.js.map +1 -1
  207. package/src/py/fast-api/react/schema.d.js +6 -0
  208. package/src/py/fast-api/react/schema.d.js.map +1 -0
  209. package/src/py/fast-api/schema.d.js +6 -0
  210. package/src/py/fast-api/schema.d.js.map +1 -0
  211. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  212. package/src/py/lambda-function/generator.js +57 -58
  213. package/src/py/lambda-function/generator.js.map +1 -1
  214. package/src/py/lambda-function/schema.d.js +6 -0
  215. package/src/py/lambda-function/schema.d.js.map +1 -0
  216. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  217. package/src/py/mcp-server/generator.js +149 -131
  218. package/src/py/mcp-server/generator.js.map +1 -1
  219. package/src/py/mcp-server/schema.d.js +6 -0
  220. package/src/py/mcp-server/schema.d.js.map +1 -0
  221. package/src/py/project/generator.d.ts +14 -1
  222. package/src/py/project/generator.js +137 -88
  223. package/src/py/project/generator.js.map +1 -1
  224. package/src/py/project/schema.d.js +6 -0
  225. package/src/py/project/schema.d.js.map +1 -0
  226. package/src/sdk/agentcore-gateway.d.ts +6 -0
  227. package/src/sdk/agentcore-gateway.js +7 -0
  228. package/src/sdk/agentcore-gateway.js.map +1 -0
  229. package/src/sdk/connection.d.ts +6 -0
  230. package/src/sdk/connection.js +6 -0
  231. package/src/sdk/connection.js.map +1 -0
  232. package/{sdk → src/sdk}/license.d.ts +4 -4
  233. package/src/sdk/license.js +7 -0
  234. package/src/sdk/license.js.map +1 -0
  235. package/src/sdk/open-api.d.ts +10 -0
  236. package/src/sdk/open-api.js +8 -0
  237. package/src/sdk/open-api.js.map +1 -0
  238. package/src/sdk/py.d.ts +14 -0
  239. package/src/sdk/py.js +10 -0
  240. package/src/sdk/py.js.map +1 -0
  241. package/src/sdk/terraform.d.ts +6 -0
  242. package/src/sdk/terraform.js +7 -0
  243. package/src/sdk/terraform.js.map +1 -0
  244. package/src/sdk/ts.d.ts +33 -0
  245. package/src/sdk/ts.js +35 -0
  246. package/src/sdk/ts.js.map +1 -0
  247. package/{sdk → src/sdk}/utils/ast.d.ts +2 -2
  248. package/src/sdk/utils/ast.js +7 -0
  249. package/src/sdk/utils/ast.js.map +1 -0
  250. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  251. package/src/sdk/utils/format.js +6 -0
  252. package/src/sdk/utils/format.js.map +1 -0
  253. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  254. package/src/sdk/utils/test.js +6 -0
  255. package/src/sdk/utils/test.js.map +1 -0
  256. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +2 -8
  257. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  258. package/src/smithy/project/generator.js +44 -42
  259. package/src/smithy/project/generator.js.map +1 -1
  260. package/src/smithy/project/schema.d.js +6 -0
  261. package/src/smithy/project/schema.d.js.map +1 -0
  262. package/src/smithy/react-connection/generator.js +35 -46
  263. package/src/smithy/react-connection/generator.js.map +1 -1
  264. package/src/smithy/react-connection/schema.d.js +6 -0
  265. package/src/smithy/react-connection/schema.d.js.map +1 -0
  266. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +395 -72
  267. package/src/smithy/ts/api/generator.js +121 -111
  268. package/src/smithy/ts/api/generator.js.map +1 -1
  269. package/src/smithy/ts/api/schema.d.js +6 -0
  270. package/src/smithy/ts/api/schema.d.js.map +1 -0
  271. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  272. package/src/terraform/project/generator.js +141 -103
  273. package/src/terraform/project/generator.js.map +1 -1
  274. package/src/terraform/project/schema.d.js +9 -0
  275. package/src/terraform/project/schema.d.js.map +1 -0
  276. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +336 -92
  277. package/src/trpc/backend/generator.js +93 -86
  278. package/src/trpc/backend/generator.js.map +1 -1
  279. package/src/trpc/backend/schema.d.js +6 -0
  280. package/src/trpc/backend/schema.d.js.map +1 -0
  281. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
  282. package/src/trpc/react/generator.js +59 -58
  283. package/src/trpc/react/generator.js.map +1 -1
  284. package/src/trpc/react/schema.d.js +6 -0
  285. package/src/trpc/react/schema.d.js.map +1 -0
  286. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -11
  287. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +1 -1
  288. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +1 -1
  289. package/src/ts/agent/a2a-connection/generator.js +58 -54
  290. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  291. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  292. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  293. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +5 -5
  294. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +3 -3
  295. package/src/ts/agent/gateway-connection/generator.js +57 -52
  296. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  297. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  298. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  299. package/src/ts/agent/generator.js +165 -136
  300. package/src/ts/agent/generator.js.map +1 -1
  301. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +1 -1
  302. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +1 -1
  303. package/src/ts/agent/mcp-connection/generator.js +48 -46
  304. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  305. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  306. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  307. package/src/ts/agent/react-connection/generator.js +79 -79
  308. package/src/ts/agent/react-connection/generator.js.map +1 -1
  309. package/src/ts/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +2 -2
  310. package/src/ts/agent/react-connection/local-dev.js +17 -0
  311. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  312. package/src/ts/agent/react-connection/schema.d.js +8 -0
  313. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  314. package/src/ts/agent/schema.d.js +6 -0
  315. package/src/ts/agent/schema.d.js.map +1 -0
  316. package/src/ts/api/generator.js +16 -18
  317. package/src/ts/api/generator.js.map +1 -1
  318. package/src/ts/api/schema.d.js +6 -0
  319. package/src/ts/api/schema.d.js.map +1 -0
  320. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +8 -8
  321. package/src/ts/astro-docs/generator.js +59 -48
  322. package/src/ts/astro-docs/generator.js.map +1 -1
  323. package/src/ts/astro-docs/schema.d.js +6 -0
  324. package/src/ts/astro-docs/schema.d.js.map +1 -0
  325. package/src/ts/docs/generator.js +10 -10
  326. package/src/ts/docs/generator.js.map +1 -1
  327. package/src/ts/docs/schema.d.js +6 -0
  328. package/src/ts/docs/schema.d.js.map +1 -0
  329. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +68 -30
  330. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  331. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  332. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  333. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  334. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  335. package/src/ts/dynamodb/files/config.json.template +1 -1
  336. package/src/ts/dynamodb/files/src/client.ts.template +7 -7
  337. package/src/ts/dynamodb/generator.js +64 -63
  338. package/src/ts/dynamodb/generator.js.map +1 -1
  339. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  340. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  341. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  342. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  343. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  344. package/src/ts/dynamodb/schema.d.js +6 -0
  345. package/src/ts/dynamodb/schema.d.js.map +1 -0
  346. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  347. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  348. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  349. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  350. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  351. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  352. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  353. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  354. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  355. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  356. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  357. package/src/ts/lambda-function/generator.js +55 -55
  358. package/src/ts/lambda-function/generator.js.map +1 -1
  359. package/src/ts/lambda-function/io.js +83 -52
  360. package/src/ts/lambda-function/io.js.map +1 -1
  361. package/src/ts/lambda-function/schema.d.js +6 -0
  362. package/src/ts/lambda-function/schema.d.js.map +1 -0
  363. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +23 -36
  364. package/src/ts/lib/biome.js +37 -37
  365. package/src/ts/lib/biome.js.map +1 -1
  366. package/src/ts/lib/generator.js +75 -77
  367. package/src/ts/lib/generator.js.map +1 -1
  368. package/src/ts/lib/schema.d.js +6 -0
  369. package/src/ts/lib/schema.d.js.map +1 -0
  370. package/src/ts/lib/ts-project-utils.js +65 -70
  371. package/src/ts/lib/ts-project-utils.js.map +1 -1
  372. package/src/ts/lib/types.js +5 -2
  373. package/src/ts/lib/types.js.map +1 -1
  374. package/src/ts/lib/vitest.js +29 -26
  375. package/src/ts/lib/vitest.js.map +1 -1
  376. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  377. package/src/ts/mcp-server/generator.js +157 -138
  378. package/src/ts/mcp-server/generator.js.map +1 -1
  379. package/src/ts/mcp-server/schema.d.js +6 -0
  380. package/src/ts/mcp-server/schema.d.js.map +1 -0
  381. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +14 -9
  382. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  383. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +4 -4
  384. package/src/ts/nx-generator/generator.js +84 -83
  385. package/src/ts/nx-generator/generator.js.map +1 -1
  386. package/src/ts/nx-generator/schema.d.js +6 -0
  387. package/src/ts/nx-generator/schema.d.js.map +1 -0
  388. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  389. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  390. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  391. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  392. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  393. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  394. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  395. package/src/ts/nx-plugin/generator.js +49 -48
  396. package/src/ts/nx-plugin/generator.js.map +1 -1
  397. package/src/ts/nx-plugin/schema.d.js +9 -0
  398. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  399. package/src/ts/nx-plugin/utils.js +32 -44
  400. package/src/ts/nx-plugin/utils.js.map +1 -1
  401. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +34 -30
  402. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  403. package/src/ts/rdb/agent-connection/generator.js +38 -39
  404. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  405. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  406. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  407. package/src/ts/rdb/files/config.json.template +1 -1
  408. package/src/ts/rdb/files/prisma.config.ts.template +2 -2
  409. package/src/ts/rdb/files/src/prisma.ts.template +7 -7
  410. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  411. package/src/ts/rdb/generator.js +130 -117
  412. package/src/ts/rdb/generator.js.map +1 -1
  413. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  414. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  415. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  416. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  417. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  418. package/src/ts/rdb/schema.d.js +6 -0
  419. package/src/ts/rdb/schema.d.js.map +1 -0
  420. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  421. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  422. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  423. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  424. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  425. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  426. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  427. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  428. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  429. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  430. package/src/ts/rdb/utils.js +9 -11
  431. package/src/ts/rdb/utils.js.map +1 -1
  432. package/src/ts/react-website/agui/generator.js +69 -61
  433. package/src/ts/react-website/agui/generator.js.map +1 -1
  434. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +179 -332
  435. package/src/ts/react-website/app/generator.js +197 -188
  436. package/src/ts/react-website/app/generator.js.map +1 -1
  437. package/src/ts/react-website/app/schema.d.js +6 -0
  438. package/src/ts/react-website/app/schema.d.js.map +1 -0
  439. package/src/ts/react-website/app/schema.json +6 -6
  440. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +118 -4
  441. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +27 -7
  442. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  443. package/src/ts/react-website/cognito-auth/generator.js +60 -60
  444. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  445. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  446. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  447. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  448. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  449. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  450. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  451. package/src/ts/react-website/runtime-config/generator.js +29 -31
  452. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  453. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  454. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  455. package/src/ts/sync/generator.js +60 -59
  456. package/src/ts/sync/generator.js.map +1 -1
  457. package/src/ts/website/app/generator.js +10 -10
  458. package/src/ts/website/app/generator.js.map +1 -1
  459. package/src/ts/website/app/schema.d.js +6 -0
  460. package/src/ts/website/app/schema.d.js.map +1 -0
  461. package/src/ts/website/app/schema.json +6 -6
  462. package/src/ts/website/auth/generator.js +11 -11
  463. package/src/ts/website/auth/generator.js.map +1 -1
  464. package/src/ts/website/auth/schema.d.js +6 -0
  465. package/src/ts/website/auth/schema.d.js.map +1 -0
  466. package/src/utils/agent-chat/agent-chat.d.ts +1 -1
  467. package/src/utils/agent-chat/agent-chat.js +11 -12
  468. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  469. package/src/utils/agent-chat/files/a2a/chat.ts.template +1 -1
  470. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +1 -1
  471. package/src/utils/agent-chat/files/http-py/chat.ts.template +1 -1
  472. package/src/utils/agent-chat/files/http-ts/chat.ts.template +1 -1
  473. package/src/utils/agent-connection/agent-connection.d.ts +9 -3
  474. package/src/utils/agent-connection/agent-connection.js +133 -147
  475. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  476. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +1 -1
  477. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +1 -1
  478. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +1 -1
  479. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +1 -1
  480. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +1 -1
  481. package/src/utils/agent-core-constructs/agent-core-constructs.js +53 -50
  482. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  483. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  484. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  485. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +2 -2
  486. package/src/utils/api-constructs/api-constructs.js +30 -31
  487. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  488. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +14 -6
  489. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  490. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  491. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +28 -14
  492. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  493. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +91 -4
  494. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  495. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  496. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  497. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  498. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  499. package/src/utils/ast/website.js +17 -19
  500. package/src/utils/ast/website.js.map +1 -1
  501. package/src/utils/ast.js +72 -97
  502. package/src/utils/ast.js.map +1 -1
  503. package/src/utils/bundle/bundle.js +50 -47
  504. package/src/utils/bundle/bundle.js.map +1 -1
  505. package/src/utils/commands.js +47 -26
  506. package/src/utils/commands.js.map +1 -1
  507. package/src/utils/config/index.d.ts +2 -2
  508. package/src/utils/config/index.js +5 -4
  509. package/src/utils/config/index.js.map +1 -1
  510. package/src/utils/config/utils.js +48 -58
  511. package/src/utils/config/utils.js.map +1 -1
  512. package/src/utils/connection/open-api/react.d.ts +5 -5
  513. package/src/utils/connection/open-api/react.js +81 -77
  514. package/src/utils/connection/open-api/react.js.map +1 -1
  515. package/src/utils/containers.js +22 -23
  516. package/src/utils/containers.js.map +1 -1
  517. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +32 -33
  518. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  519. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +12 -2
  520. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  521. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +2 -2
  522. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +1 -1
  523. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +17 -2
  524. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  525. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  526. package/src/utils/files/common/scripts/src/rdb/{pull-image.ts.template → shared/pull-image.ts.template} +1 -1
  527. package/src/utils/files/common/scripts/src/rdb/{start-container.ts.template → shared/start-container.ts.template} +16 -1
  528. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  529. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  530. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +3 -3
  531. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  532. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +2 -2
  533. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  534. package/src/utils/format.js +153 -99
  535. package/src/utils/format.js.map +1 -1
  536. package/src/utils/fs.js +14 -13
  537. package/src/utils/fs.js.map +1 -1
  538. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  539. package/src/utils/function-constructs/function-constructs.js +21 -26
  540. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  541. package/src/utils/generators.js +18 -20
  542. package/src/utils/generators.js.map +1 -1
  543. package/src/utils/git.js +19 -34
  544. package/src/utils/git.js.map +1 -1
  545. package/src/utils/iac-providers.js +5 -5
  546. package/src/utils/iac-providers.js.map +1 -1
  547. package/src/utils/iac.js +12 -14
  548. package/src/utils/iac.js.map +1 -1
  549. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +112 -2
  550. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +19 -6
  551. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +104 -2
  552. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  553. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  554. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  555. package/src/utils/js.js +27 -20
  556. package/src/utils/js.js.map +1 -1
  557. package/src/utils/mcp.js +34 -41
  558. package/src/utils/mcp.js.map +1 -1
  559. package/src/utils/metrics.js +30 -45
  560. package/src/utils/metrics.js.map +1 -1
  561. package/src/utils/mock-project-graph.js +8 -12
  562. package/src/utils/mock-project-graph.js.map +1 -1
  563. package/src/utils/names.d.ts +16 -0
  564. package/src/utils/names.js +39 -48
  565. package/src/utils/names.js.map +1 -1
  566. package/src/utils/npm-scope.js +9 -17
  567. package/src/utils/npm-scope.js.map +1 -1
  568. package/src/utils/nx.d.ts +18 -2
  569. package/src/utils/nx.js +111 -74
  570. package/src/utils/nx.js.map +1 -1
  571. package/src/utils/nxlv-python.js +27 -15
  572. package/src/utils/nxlv-python.js.map +1 -1
  573. package/src/utils/object.js +5 -11
  574. package/src/utils/object.js.map +1 -1
  575. package/src/utils/paths.js +11 -15
  576. package/src/utils/paths.js.map +1 -1
  577. package/src/utils/pkg-manager.js +4 -9
  578. package/src/utils/pkg-manager.js.map +1 -1
  579. package/src/utils/pnpm-workspace.js +22 -22
  580. package/src/utils/pnpm-workspace.js.map +1 -1
  581. package/src/utils/port.js +26 -36
  582. package/src/utils/port.js.map +1 -1
  583. package/src/utils/py.d.ts +14 -1
  584. package/src/utils/py.js +63 -45
  585. package/src/utils/py.js.map +1 -1
  586. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  587. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +3 -3
  588. package/src/utils/rdb-constructs/rdb-constructs.js +31 -33
  589. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  590. package/src/utils/shared-constructs-constants.js +16 -16
  591. package/src/utils/shared-constructs-constants.js.map +1 -1
  592. package/src/utils/shared-constructs.js +57 -54
  593. package/src/utils/shared-constructs.js.map +1 -1
  594. package/src/utils/shared-dynamodb-scripts.js +16 -14
  595. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  596. package/src/utils/shared-infra-config.js +30 -31
  597. package/src/utils/shared-infra-config.js.map +1 -1
  598. package/src/utils/shared-infra-scripts.js +30 -25
  599. package/src/utils/shared-infra-scripts.js.map +1 -1
  600. package/src/utils/shared-rdb-scripts.d.ts +8 -3
  601. package/src/utils/shared-rdb-scripts.js +21 -13
  602. package/src/utils/shared-rdb-scripts.js.map +1 -1
  603. package/src/utils/shared-scripts.js +12 -17
  604. package/src/utils/shared-scripts.js.map +1 -1
  605. package/src/utils/shared-shadcn.js +64 -60
  606. package/src/utils/shared-shadcn.js.map +1 -1
  607. package/src/utils/test.d.ts +8 -0
  608. package/src/utils/test.js +33 -25
  609. package/src/utils/test.js.map +1 -1
  610. package/src/utils/toml.js +7 -15
  611. package/src/utils/toml.js.map +1 -1
  612. package/src/utils/versions.d.ts +31 -4
  613. package/src/utils/versions.js +40 -23
  614. package/src/utils/versions.js.map +1 -1
  615. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  616. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +4 -4
  617. package/src/utils/website-constructs/website-constructs.js +31 -30
  618. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  619. package/bin/aws-nx-mcp.js +0 -17
  620. package/bin/aws-nx-mcp.js.map +0 -1
  621. package/sdk/agentcore-gateway.d.ts +0 -6
  622. package/sdk/agentcore-gateway.js +0 -11
  623. package/sdk/agentcore-gateway.js.map +0 -1
  624. package/sdk/connection.d.ts +0 -6
  625. package/sdk/connection.js +0 -10
  626. package/sdk/connection.js.map +0 -1
  627. package/sdk/license.js +0 -14
  628. package/sdk/license.js.map +0 -1
  629. package/sdk/open-api.d.ts +0 -10
  630. package/sdk/open-api.js +0 -15
  631. package/sdk/open-api.js.map +0 -1
  632. package/sdk/py.d.ts +0 -14
  633. package/sdk/py.js +0 -18
  634. package/sdk/py.js.map +0 -1
  635. package/sdk/terraform.d.ts +0 -6
  636. package/sdk/terraform.js +0 -11
  637. package/sdk/terraform.js.map +0 -1
  638. package/sdk/ts.d.ts +0 -33
  639. package/sdk/ts.js +0 -53
  640. package/sdk/ts.js.map +0 -1
  641. package/sdk/utils/ast.js +0 -12
  642. package/sdk/utils/ast.js.map +0 -1
  643. package/sdk/utils/format.js +0 -10
  644. package/sdk/utils/format.js.map +0 -1
  645. package/sdk/utils/test.js +0 -10
  646. package/sdk/utils/test.js.map +0 -1
  647. package/src/connection/agent-serve-local.js +0 -48
  648. package/src/connection/agent-serve-local.js.map +0 -1
  649. package/src/connection/serve-local.js +0 -41
  650. package/src/connection/serve-local.js.map +0 -1
  651. package/src/py/agent/react-connection/serve-local.js +0 -38
  652. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  653. package/src/ts/agent/react-connection/serve-local.js +0 -19
  654. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  655. package/src/utils/files/common/scripts/src/rdb/wait-for-db.ts.template +0 -59
  656. /package/src/agentcore-gateway/files/project/{serve-local.ts.template → local-dev.ts.template} +0 -0
  657. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
@@ -1,95 +1,82 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSchemaLookup = exports.resolveGeneratorsJson = exports.filterableOptionsFromSchema = exports.filterableValuesForProperty = 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 node_fs_1 = tslib_1.__importDefault(require("node:fs"));
10
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
4
+ */ import fs from "node:fs";
5
+ import path from "node:path";
11
6
  /**
12
7
  * The values an option can be filtered on: its enum values, or true/false
13
8
  * for booleans. Returns undefined for non-filterable options.
14
- */
15
- const filterableValuesForProperty = (prop) => {
9
+ */ export const filterableValuesForProperty = (prop)=>{
16
10
  if (Array.isArray(prop.enum) && prop.enum.length > 0) {
17
- return prop.enum.map((v) => String(v));
11
+ return prop.enum.map((v)=>String(v));
18
12
  }
19
13
  if (prop.type === 'boolean') {
20
- return ['true', 'false'];
14
+ return [
15
+ 'true',
16
+ 'false'
17
+ ];
21
18
  }
22
19
  return undefined;
23
20
  };
24
- exports.filterableValuesForProperty = filterableValuesForProperty;
25
21
  /**
26
22
  * Pull out every filterable property (enum or boolean valued) as a
27
23
  * `FilterableOption`. Shared between the MCP server (deriving options from a
28
24
  * generator's schema) and the docs filter bar (mapping user-referenced keys
29
25
  * onto their values).
30
- */
31
- const filterableOptionsFromSchema = (schema) => {
26
+ */ export const filterableOptionsFromSchema = (schema)=>{
32
27
  const props = schema?.properties ?? {};
33
28
  const out = [];
34
- for (const [key, prop] of Object.entries(props)) {
35
- const values = (0, exports.filterableValuesForProperty)(prop);
36
- if (!values)
37
- continue;
29
+ for (const [key, prop] of Object.entries(props)){
30
+ const values = filterableValuesForProperty(prop);
31
+ if (!values) continue;
38
32
  out.push({
39
33
  key,
40
34
  enum: values,
41
35
  default: prop.default !== undefined ? String(prop.default) : undefined,
42
- description: prop.description,
36
+ description: prop.description
43
37
  });
44
38
  }
45
39
  return out;
46
40
  };
47
- exports.filterableOptionsFromSchema = filterableOptionsFromSchema;
48
41
  /**
49
42
  * Locate the monorepo's `packages/nx-plugin/generators.json` by walking
50
43
  * upward from the caller's directory. Used by the docs filter bar and
51
44
  * remark-option-filter; the MCP server resolves schema paths per-generator
52
45
  * via `NxGeneratorInfo.resolvedSchemaPath` instead.
53
- */
54
- const resolveGeneratorsJson = (fromDir) => {
46
+ */ export const resolveGeneratorsJson = (fromDir)=>{
55
47
  let dir = fromDir;
56
- while (true) {
57
- const candidate = node_path_1.default.join(dir, 'packages', 'nx-plugin', 'generators.json');
58
- if (node_fs_1.default.existsSync(candidate))
59
- return candidate;
60
- const parent = node_path_1.default.dirname(dir);
61
- if (parent === dir)
62
- return undefined;
48
+ while(true){
49
+ const candidate = path.join(dir, 'packages', 'nx-plugin', 'generators.json');
50
+ if (fs.existsSync(candidate)) return candidate;
51
+ const parent = path.dirname(dir);
52
+ if (parent === dir) return undefined;
63
53
  dir = parent;
64
54
  }
65
55
  };
66
- exports.resolveGeneratorsJson = resolveGeneratorsJson;
67
56
  /**
68
57
  * Resolve a generator's schema path against a `generators.json` registry,
69
58
  * parse the schema file, and cache the result per-process.
70
- */
71
- const createSchemaLookup = (generatorsJsonPath) => {
72
- const packageDir = node_path_1.default.dirname(generatorsJsonPath);
59
+ */ export const createSchemaLookup = (generatorsJsonPath)=>{
60
+ const packageDir = path.dirname(generatorsJsonPath);
73
61
  let registry;
74
62
  const cache = new Map();
75
- const loadRegistry = () => {
63
+ const loadRegistry = ()=>{
76
64
  if (!registry) {
77
- registry = JSON.parse(node_fs_1.default.readFileSync(generatorsJsonPath, 'utf-8'));
65
+ registry = JSON.parse(fs.readFileSync(generatorsJsonPath, 'utf-8'));
78
66
  }
79
67
  return registry;
80
68
  };
81
- return (generatorId) => {
69
+ return (generatorId)=>{
82
70
  const cached = cache.get(generatorId);
83
- if (cached)
84
- return cached;
71
+ if (cached) return cached;
85
72
  const entry = loadRegistry().generators[generatorId];
86
73
  if (!entry) {
87
74
  throw new Error(`Unknown generator id '${generatorId}'`);
88
75
  }
89
- const schema = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.resolve(packageDir, entry.schema), 'utf-8'));
76
+ const schema = JSON.parse(fs.readFileSync(path.resolve(packageDir, entry.schema), 'utf-8'));
90
77
  cache.set(generatorId, schema);
91
78
  return schema;
92
79
  };
93
80
  };
94
- exports.createSchemaLookup = createSchemaLookup;
81
+
95
82
  //# sourceMappingURL=schema-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-registry.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/schema-registry.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,8DAAyB;AACzB,kEAA6B;AA0B7B;;;GAGG;AACI,MAAM,2BAA2B,GAAG,CACzC,IAAoB,EACE,EAAE;IACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAVW,QAAA,2BAA2B,+BAUtC;AAEF;;;;;GAKG;AACI,MAAM,2BAA2B,GAAG,CACzC,MAAmC,EACf,EAAE;IACtB,MAAM,KAAK,GAAG,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAA,mCAA2B,EAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,GAAG,CAAC,IAAI,CAAC;YACP,GAAG;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAhBW,QAAA,2BAA2B,+BAgBtC;AAEF;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAsB,EAAE;IAC3E,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CACzB,GAAG,EACH,UAAU,EACV,WAAW,EACX,iBAAiB,CAClB,CAAC;QACF,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACrC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,qBAAqB,yBAchC;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,kBAA0B,EAAE,EAAE;IAC/D,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAI,QAAoC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEjD,MAAM,YAAY,GAAG,GAAmB,EAAE;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC,KAAK,CACnB,iBAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAC3B,CAAC;QACtB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,WAAmB,EAAmB,EAAE;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAC9C,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,kBAAkB,sBA2B7B"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/schema-registry.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport fs from 'node:fs';\nimport path from 'node:path';\n\n/** A JSON-schema property narrowed to the bits we care about. */\ninterface SchemaProperty {\n type?: string;\n enum?: unknown[];\n default?: unknown;\n description?: string;\n}\n\nexport interface GeneratorSchema {\n properties?: Record<string, SchemaProperty>;\n required?: string[];\n}\n\nexport interface FilterableOption {\n key: string;\n enum: string[];\n default?: string;\n description?: string;\n}\n\ninterface GeneratorsJson {\n generators: Record<string, { schema: string }>;\n}\n\n/**\n * The values an option can be filtered on: its enum values, or true/false\n * for booleans. Returns undefined for non-filterable options.\n */\nexport const filterableValuesForProperty = (\n prop: SchemaProperty,\n): string[] | undefined => {\n if (Array.isArray(prop.enum) && prop.enum.length > 0) {\n return prop.enum.map((v) => String(v));\n }\n if (prop.type === 'boolean') {\n return ['true', 'false'];\n }\n return undefined;\n};\n\n/**\n * Pull out every filterable property (enum or boolean valued) as a\n * `FilterableOption`. Shared between the MCP server (deriving options from a\n * generator's schema) and the docs filter bar (mapping user-referenced keys\n * onto their values).\n */\nexport const filterableOptionsFromSchema = (\n schema: GeneratorSchema | undefined,\n): FilterableOption[] => {\n const props = schema?.properties ?? {};\n const out: FilterableOption[] = [];\n for (const [key, prop] of Object.entries(props)) {\n const values = filterableValuesForProperty(prop);\n if (!values) continue;\n out.push({\n key,\n enum: values,\n default: prop.default !== undefined ? String(prop.default) : undefined,\n description: prop.description,\n });\n }\n return out;\n};\n\n/**\n * Locate the monorepo's `packages/nx-plugin/generators.json` by walking\n * upward from the caller's directory. Used by the docs filter bar and\n * remark-option-filter; the MCP server resolves schema paths per-generator\n * via `NxGeneratorInfo.resolvedSchemaPath` instead.\n */\nexport const resolveGeneratorsJson = (fromDir: string): string | undefined => {\n let dir = fromDir;\n while (true) {\n const candidate = path.join(\n dir,\n 'packages',\n 'nx-plugin',\n 'generators.json',\n );\n if (fs.existsSync(candidate)) return candidate;\n const parent = path.dirname(dir);\n if (parent === dir) return undefined;\n dir = parent;\n }\n};\n\n/**\n * Resolve a generator's schema path against a `generators.json` registry,\n * parse the schema file, and cache the result per-process.\n */\nexport const createSchemaLookup = (generatorsJsonPath: string) => {\n const packageDir = path.dirname(generatorsJsonPath);\n let registry: GeneratorsJson | undefined;\n const cache = new Map<string, GeneratorSchema>();\n\n const loadRegistry = (): GeneratorsJson => {\n if (!registry) {\n registry = JSON.parse(\n fs.readFileSync(generatorsJsonPath, 'utf-8'),\n ) as GeneratorsJson;\n }\n return registry;\n };\n\n return (generatorId: string): GeneratorSchema => {\n const cached = cache.get(generatorId);\n if (cached) return cached;\n const entry = loadRegistry().generators[generatorId];\n if (!entry) {\n throw new Error(`Unknown generator id '${generatorId}'`);\n }\n const schema = JSON.parse(\n fs.readFileSync(path.resolve(packageDir, entry.schema), 'utf-8'),\n ) as GeneratorSchema;\n cache.set(generatorId, schema);\n return schema;\n };\n};\n"],"names":["fs","path","filterableValuesForProperty","prop","Array","isArray","enum","length","map","v","String","type","undefined","filterableOptionsFromSchema","schema","props","properties","out","key","Object","entries","values","push","default","description","resolveGeneratorsJson","fromDir","dir","candidate","join","existsSync","parent","dirname","createSchemaLookup","generatorsJsonPath","packageDir","registry","cache","Map","loadRegistry","JSON","parse","readFileSync","generatorId","cached","get","entry","generators","Error","resolve","set"],"mappings":"AAAA;;;CAGC,GACD,OAAOA,QAAQ,UAAU;AACzB,OAAOC,UAAU,YAAY;AA0B7B;;;CAGC,GACD,OAAO,MAAMC,8BAA8B,CACzCC;IAEA,IAAIC,MAAMC,OAAO,CAACF,KAAKG,IAAI,KAAKH,KAAKG,IAAI,CAACC,MAAM,GAAG,GAAG;QACpD,OAAOJ,KAAKG,IAAI,CAACE,GAAG,CAAC,CAACC,IAAMC,OAAOD;IACrC;IACA,IAAIN,KAAKQ,IAAI,KAAK,WAAW;QAC3B,OAAO;YAAC;YAAQ;SAAQ;IAC1B;IACA,OAAOC;AACT,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAMC,8BAA8B,CACzCC;IAEA,MAAMC,QAAQD,QAAQE,cAAc,CAAC;IACrC,MAAMC,MAA0B,EAAE;IAClC,KAAK,MAAM,CAACC,KAAKf,KAAK,IAAIgB,OAAOC,OAAO,CAACL,OAAQ;QAC/C,MAAMM,SAASnB,4BAA4BC;QAC3C,IAAI,CAACkB,QAAQ;QACbJ,IAAIK,IAAI,CAAC;YACPJ;YACAZ,MAAMe;YACNE,SAASpB,KAAKoB,OAAO,KAAKX,YAAYF,OAAOP,KAAKoB,OAAO,IAAIX;YAC7DY,aAAarB,KAAKqB,WAAW;QAC/B;IACF;IACA,OAAOP;AACT,EAAE;AAEF;;;;;CAKC,GACD,OAAO,MAAMQ,wBAAwB,CAACC;IACpC,IAAIC,MAAMD;IACV,MAAO,KAAM;QACX,MAAME,YAAY3B,KAAK4B,IAAI,CACzBF,KACA,YACA,aACA;QAEF,IAAI3B,GAAG8B,UAAU,CAACF,YAAY,OAAOA;QACrC,MAAMG,SAAS9B,KAAK+B,OAAO,CAACL;QAC5B,IAAII,WAAWJ,KAAK,OAAOf;QAC3Be,MAAMI;IACR;AACF,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAME,qBAAqB,CAACC;IACjC,MAAMC,aAAalC,KAAK+B,OAAO,CAACE;IAChC,IAAIE;IACJ,MAAMC,QAAQ,IAAIC;IAElB,MAAMC,eAAe;QACnB,IAAI,CAACH,UAAU;YACbA,WAAWI,KAAKC,KAAK,CACnBzC,GAAG0C,YAAY,CAACR,oBAAoB;QAExC;QACA,OAAOE;IACT;IAEA,OAAO,CAACO;QACN,MAAMC,SAASP,MAAMQ,GAAG,CAACF;QACzB,IAAIC,QAAQ,OAAOA;QACnB,MAAME,QAAQP,eAAeQ,UAAU,CAACJ,YAAY;QACpD,IAAI,CAACG,OAAO;YACV,MAAM,IAAIE,MAAM,CAAC,sBAAsB,EAAEL,YAAY,CAAC,CAAC;QACzD;QACA,MAAM7B,SAAS0B,KAAKC,KAAK,CACvBzC,GAAG0C,YAAY,CAACzC,KAAKgD,OAAO,CAACd,YAAYW,MAAMhC,MAAM,GAAG;QAE1DuB,MAAMa,GAAG,CAACP,aAAa7B;QACvB,OAAOA;IACT;AACF,EAAE"}
@@ -1,11 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageManagerSchema = exports.PACKAGE_MANAGERS = void 0;
4
1
  /**
5
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
3
  * SPDX-License-Identifier: Apache-2.0
7
- */
8
- const zod_1 = require("zod");
9
- exports.PACKAGE_MANAGERS = ['pnpm', 'yarn', 'npm', 'bun'];
10
- exports.PackageManagerSchema = zod_1.z.enum(exports.PACKAGE_MANAGERS);
4
+ */ import { z } from "zod";
5
+ export const PACKAGE_MANAGERS = [
6
+ 'pnpm',
7
+ 'yarn',
8
+ 'npm',
9
+ 'bun'
10
+ ];
11
+ export const PackageManagerSchema = z.enum(PACKAGE_MANAGERS);
12
+
11
13
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/schema.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,6BAAwB;AAEX,QAAA,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC3D,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/schema.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { z } from 'zod';\n\nexport const PACKAGE_MANAGERS = ['pnpm', 'yarn', 'npm', 'bun'] as const;\nexport const PackageManagerSchema = z.enum(PACKAGE_MANAGERS);\n"],"names":["z","PACKAGE_MANAGERS","PackageManagerSchema","enum"],"mappings":"AAAA;;;CAGC,GACD,SAASA,CAAC,QAAQ,MAAM;AAExB,OAAO,MAAMC,mBAAmB;IAAC;IAAQ;IAAQ;IAAO;CAAM,CAAU;AACxE,OAAO,MAAMC,uBAAuBF,EAAEG,IAAI,CAACF,kBAAkB"}
@@ -1,26 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createServer = 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 mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
10
- const package_json_1 = tslib_1.__importDefault(require("../../package.json"));
11
- const nx_1 = require("../utils/nx");
12
- const create_workspace_command_1 = require("./tools/create-workspace-command");
13
- const general_guidance_1 = require("./tools/general-guidance");
14
- const generator_guide_1 = require("./tools/generator-guide");
15
- const list_generators_1 = require("./tools/list-generators");
4
+ */ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import PackageJson from "../../package.json" with {
6
+ type: 'json'
7
+ };
8
+ import { listGenerators } from "../utils/nx.js";
9
+ import { addCreateWorkspaceCommandTool } from "./tools/create-workspace-command.js";
10
+ import { addGeneralGuidanceTool, TOOL_SELECTION_GUIDE } from "./tools/general-guidance.js";
11
+ import { addGeneratorGuideTool } from "./tools/generator-guide.js";
12
+ import { addListGeneratorsTool } from "./tools/list-generators.js";
16
13
  /**
17
14
  * Create the MCP Server
18
- */
19
- const createServer = () => {
20
- const generators = (0, nx_1.listGenerators)();
21
- const server = new mcp_js_1.McpServer({
15
+ */ export const createServer = ()=>{
16
+ const generators = listGenerators();
17
+ const server = new McpServer({
22
18
  name: 'nx-plugin-for-aws',
23
- version: package_json_1.default.version,
19
+ version: PackageJson.version
24
20
  }, {
25
21
  instructions: `# Nx Plugin for AWS MCP Server
26
22
 
@@ -29,14 +25,14 @@ This server provides resources and tools for quickly scaffolding AWS projects wi
29
25
  The Nx Plugin for AWS provides "generators" to add projects or functionality to your workspace. Use this to build the foundations of any project you are building
30
26
  on AWS, if the generators apply to your use case.
31
27
 
32
- ${general_guidance_1.TOOL_SELECTION_GUIDE}
33
- `,
28
+ ${TOOL_SELECTION_GUIDE}
29
+ `
34
30
  });
35
- (0, general_guidance_1.addGeneralGuidanceTool)(server, generators);
36
- (0, create_workspace_command_1.addCreateWorkspaceCommandTool)(server);
37
- (0, list_generators_1.addListGeneratorsTool)(server, generators);
38
- (0, generator_guide_1.addGeneratorGuideTool)(server, generators);
31
+ addGeneralGuidanceTool(server, generators);
32
+ addCreateWorkspaceCommandTool(server);
33
+ addListGeneratorsTool(server, generators);
34
+ addGeneratorGuideTool(server, generators);
39
35
  return server;
40
36
  };
41
- exports.createServer = createServer;
37
+
42
38
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/mcp-server/server.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,oEAAoE;AACpE,8EAA6C;AAC7C,oCAA6C;AAC7C,+EAAiF;AACjF,+DAGkC;AAClC,6DAAgE;AAChE,6DAAgE;AAEhE;;GAEG;AACI,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,IAAA,mBAAc,GAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAI,kBAAS,CAC1B;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAW,CAAC,OAAO;KAC7B,EACD;QACE,YAAY,EAAE;;;;;;;EAOlB,uCAAoB;CACrB;KACI,CACF,CAAC;IAEF,IAAA,yCAAsB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,IAAA,wDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,uCAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAA,uCAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,YAAY,gBA2BvB"}
1
+ {"version":3,"sources":["../../../../../packages/nx-plugin/src/mcp-server/server.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport PackageJson from '../../package.json' with { type: 'json' };\nimport { listGenerators } from '../utils/nx';\nimport { addCreateWorkspaceCommandTool } from './tools/create-workspace-command';\nimport {\n addGeneralGuidanceTool,\n TOOL_SELECTION_GUIDE,\n} from './tools/general-guidance';\nimport { addGeneratorGuideTool } from './tools/generator-guide';\nimport { addListGeneratorsTool } from './tools/list-generators';\n\n/**\n * Create the MCP Server\n */\nexport const createServer = () => {\n const generators = listGenerators();\n\n const server = new McpServer(\n {\n name: 'nx-plugin-for-aws',\n version: PackageJson.version,\n },\n {\n instructions: `# Nx Plugin for AWS MCP Server\n\nThis server provides resources and tools for quickly scaffolding AWS projects within an Nx workspace (monorepo), using the Nx Plugin for AWS (@aws/nx-plugin).\n\nThe Nx Plugin for AWS provides \"generators\" to add projects or functionality to your workspace. Use this to build the foundations of any project you are building\non AWS, if the generators apply to your use case.\n\n${TOOL_SELECTION_GUIDE}\n`,\n },\n );\n\n addGeneralGuidanceTool(server, generators);\n addCreateWorkspaceCommandTool(server);\n addListGeneratorsTool(server, generators);\n addGeneratorGuideTool(server, generators);\n\n return server;\n};\n"],"names":["McpServer","PackageJson","type","listGenerators","addCreateWorkspaceCommandTool","addGeneralGuidanceTool","TOOL_SELECTION_GUIDE","addGeneratorGuideTool","addListGeneratorsTool","createServer","generators","server","name","version","instructions"],"mappings":"AAAA;;;CAGC,GACD,SAASA,SAAS,QAAQ,0CAA0C;AACpE,OAAOC,iBAAiB,0BAA0B;IAAEC,MAAM;AAAO,EAAE;AACnE,SAASC,cAAc,QAAQ,iBAAc;AAC7C,SAASC,6BAA6B,QAAQ,sCAAmC;AACjF,SACEC,sBAAsB,EACtBC,oBAAoB,QACf,8BAA2B;AAClC,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,qBAAqB,QAAQ,6BAA0B;AAEhE;;CAEC,GACD,OAAO,MAAMC,eAAe;IAC1B,MAAMC,aAAaP;IAEnB,MAAMQ,SAAS,IAAIX,UACjB;QACEY,MAAM;QACNC,SAASZ,YAAYY,OAAO;IAC9B,GACA;QACEC,cAAc,CAAC;;;;;;;AAOrB,EAAER,qBAAqB;AACvB,CAAC;IACG;IAGFD,uBAAuBM,QAAQD;IAC/BN,8BAA8BO;IAC9BH,sBAAsBG,QAAQD;IAC9BH,sBAAsBI,QAAQD;IAE9B,OAAOC;AACT,EAAE"}
@@ -1,26 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCreateWorkspaceCommandTool = void 0;
4
- const commands_1 = require("../../utils/commands");
5
- const iac_providers_1 = require("../../utils/iac-providers");
6
- const schema_1 = require("../schema");
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { buildCreateNxWorkspaceCommand } from "../../utils/commands.js";
5
+ import { IAC_PROVIDERS } from "../../utils/iac-providers.js";
6
+ import { PackageManagerSchema } from "../schema.js";
7
7
  /**
8
8
  * Add a tool which tells a model how to create an Nx workspace
9
- */
10
- const addCreateWorkspaceCommandTool = (server) => {
9
+ */ export const addCreateWorkspaceCommandTool = (server)=>{
11
10
  server.registerTool('create-workspace-command', {
12
11
  description: 'Tool to discover how to create a workspace to start a new project.',
13
12
  inputSchema: {
14
- packageManager: schema_1.PackageManagerSchema,
15
- },
16
- }, ({ packageManager }) => ({
17
- content: [
18
- {
19
- type: 'text',
20
- text: `Run the following command to create a workspace:
13
+ packageManager: PackageManagerSchema
14
+ }
15
+ }, ({ packageManager })=>({
16
+ content: [
17
+ {
18
+ type: 'text',
19
+ text: `Run the following command to create a workspace:
21
20
 
22
21
  \`\`\`bash
23
- ${(0, commands_1.buildCreateNxWorkspaceCommand)(packageManager, '<workspace-name>', undefined, 'next')} --no-interactive
22
+ ${buildCreateNxWorkspaceCommand(packageManager, '<workspace-name>', undefined, 'next')} --no-interactive
24
23
  \`\`\`
25
24
 
26
25
  This will create a new workspace within the \`<workspace-name>\` directory.
@@ -28,20 +27,20 @@ This will create a new workspace within the \`<workspace-name>\` directory.
28
27
  If you are already inside an empty directory intended for this project, you can pass \`.\` as the workspace name to create the workspace in the current directory:
29
28
 
30
29
  \`\`\`bash
31
- ${(0, commands_1.buildCreateNxWorkspaceCommand)(packageManager, '.', undefined, 'next')} --no-interactive
30
+ ${buildCreateNxWorkspaceCommand(packageManager, '.', undefined, 'next')} --no-interactive
32
31
  \`\`\`
33
32
 
34
- Note that this will prompt for an Infrastructure as Code provider (${iac_providers_1.IAC_PROVIDERS.join(', ')}).
35
- If you know the preferred option, pass ${iac_providers_1.IAC_PROVIDERS.map((iac) => `\`--iac=${iac}\``).join(' or ')} to the above command to skip the prompt.
33
+ Note that this will prompt for an Infrastructure as Code provider (${IAC_PROVIDERS.join(', ')}).
34
+ If you know the preferred option, pass ${IAC_PROVIDERS.map((iac)=>`\`--iac=${iac}\``).join(' or ')} to the above command to skip the prompt.
36
35
 
37
36
  Additional options:
38
37
  - \`--no-gitSecrets\`: Opt out of the default git-secrets pre-commit hook (prevents committing AWS credentials)
39
38
 
40
39
  Refer to the \`general-guidance\` tool for full workspace documentation including structure, common commands, and configuration.
41
- `,
42
- },
43
- ],
44
- }));
40
+ `
41
+ }
42
+ ]
43
+ }));
45
44
  };
46
- exports.addCreateWorkspaceCommandTool = addCreateWorkspaceCommandTool;
45
+
47
46
  //# sourceMappingURL=create-workspace-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-workspace-command.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"names":[],"mappings":";;;AAKA,mDAAqE;AACrE,6DAA0D;AAC1D,sCAAiD;AAEjD;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,oEAAoE;QACtE,WAAW,EAAE;YACX,cAAc,EAAE,6BAAoB;SACrC;KACF,EACD,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE;;;EAGd,IAAA,wCAA6B,EAAC,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC;;;;;;;;EAQpF,IAAA,wCAA6B,EAAC,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;;;qEAGF,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC;yCACpD,6BAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;GAMjG;aACM;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,6BAA6B,iCAwCxC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/create-workspace-command.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { buildCreateNxWorkspaceCommand } from '../../utils/commands';\nimport { IAC_PROVIDERS } from '../../utils/iac-providers';\nimport { PackageManagerSchema } from '../schema';\n\n/**\n * Add a tool which tells a model how to create an Nx workspace\n */\nexport const addCreateWorkspaceCommandTool = (server: McpServer) => {\n server.registerTool(\n 'create-workspace-command',\n {\n description:\n 'Tool to discover how to create a workspace to start a new project.',\n inputSchema: {\n packageManager: PackageManagerSchema,\n },\n },\n ({ packageManager }) => ({\n content: [\n {\n type: 'text' as const,\n text: `Run the following command to create a workspace:\n\n\\`\\`\\`bash\n${buildCreateNxWorkspaceCommand(packageManager, '<workspace-name>', undefined, 'next')} --no-interactive\n\\`\\`\\`\n\nThis will create a new workspace within the \\`<workspace-name>\\` directory.\n\nIf you are already inside an empty directory intended for this project, you can pass \\`.\\` as the workspace name to create the workspace in the current directory:\n\n\\`\\`\\`bash\n${buildCreateNxWorkspaceCommand(packageManager, '.', undefined, 'next')} --no-interactive\n\\`\\`\\`\n\nNote that this will prompt for an Infrastructure as Code provider (${IAC_PROVIDERS.join(', ')}).\nIf you know the preferred option, pass ${IAC_PROVIDERS.map((iac) => `\\`--iac=${iac}\\``).join(' or ')} to the above command to skip the prompt.\n\nAdditional options:\n- \\`--no-gitSecrets\\`: Opt out of the default git-secrets pre-commit hook (prevents committing AWS credentials)\n\nRefer to the \\`general-guidance\\` tool for full workspace documentation including structure, common commands, and configuration.\n `,\n },\n ],\n }),\n );\n};\n"],"names":["buildCreateNxWorkspaceCommand","IAC_PROVIDERS","PackageManagerSchema","addCreateWorkspaceCommandTool","server","registerTool","description","inputSchema","packageManager","content","type","text","undefined","join","map","iac"],"mappings":"AAAA;;;CAGC,GAED,SAASA,6BAA6B,QAAQ,0BAAuB;AACrE,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,oBAAoB,QAAQ,eAAY;AAEjD;;CAEC,GACD,OAAO,MAAMC,gCAAgC,CAACC;IAC5CA,OAAOC,YAAY,CACjB,4BACA;QACEC,aACE;QACFC,aAAa;YACXC,gBAAgBN;QAClB;IACF,GACA,CAAC,EAAEM,cAAc,EAAE,GAAM,CAAA;YACvBC,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC;;;AAGjB,EAAEX,8BAA8BQ,gBAAgB,oBAAoBI,WAAW,QAAQ;;;;;;;;AAQvF,EAAEZ,8BAA8BQ,gBAAgB,KAAKI,WAAW,QAAQ;;;mEAGL,EAAEX,cAAcY,IAAI,CAAC,MAAM;uCACvD,EAAEZ,cAAca,GAAG,CAAC,CAACC,MAAQ,CAAC,QAAQ,EAAEA,IAAI,EAAE,CAAC,EAAEF,IAAI,CAAC,QAAQ;;;;;;EAMnG,CAAC;gBACK;aACD;QACH,CAAA;AAEJ,EAAE"}
@@ -1,10 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addGeneralGuidanceTool = exports.TOOL_SELECTION_GUIDE = void 0;
4
- const iac_providers_1 = require("../../utils/iac-providers");
5
- const generator_info_1 = require("../generator-info");
6
- const schema_1 = require("../schema");
7
- exports.TOOL_SELECTION_GUIDE = `## Tool Selection Guide
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { IAC_PROVIDERS } from "../../utils/iac-providers.js";
5
+ import { buildNxCommand, fetchGuidePages } from "../generator-info.js";
6
+ import { PACKAGE_MANAGERS } from "../schema.js";
7
+ export const TOOL_SELECTION_GUIDE = `## Tool Selection Guide
8
8
 
9
9
  - Use the \`general-guidance\` tool for guidance and best practices for working with Nx and the Nx Plugin for AWS.
10
10
  - Use the \`create-workspace-command\` tool to discover how to create a workspace to start a new project.
@@ -12,30 +12,29 @@ exports.TOOL_SELECTION_GUIDE = `## Tool Selection Guide
12
12
  - Use the \`generator-guide\` tool to retrieve detailed information about a specific generator.`;
13
13
  /**
14
14
  * Add a tool which provides general guidance for using Nx and the Nx Plugin for AWS
15
- */
16
- const addGeneralGuidanceTool = (server, generators) => {
15
+ */ export const addGeneralGuidanceTool = (server, generators)=>{
17
16
  server.registerTool('general-guidance', {
18
17
  title: 'General Guidance',
19
- description: 'Tool for guidance and best practices for working with Nx and the Nx Plugin for AWS',
20
- }, async () => ({
21
- content: [
22
- {
23
- type: 'text',
24
- text: `# Nx Plugin for AWS Guidance
18
+ description: 'Tool for guidance and best practices for working with Nx and the Nx Plugin for AWS'
19
+ }, async ()=>({
20
+ content: [
21
+ {
22
+ type: 'text',
23
+ text: `# Nx Plugin for AWS Guidance
25
24
 
26
- ${exports.TOOL_SELECTION_GUIDE}
25
+ ${TOOL_SELECTION_GUIDE}
27
26
 
28
27
  ## Getting Started
29
28
 
30
- - Choose a package manager first. You can choose between ${schema_1.PACKAGE_MANAGERS.join(', ')}. It's recommended to use "pnpm" if the user has no preference
31
- - Choose an infrastructure as code (IaC) provider next. You can choose between ${iac_providers_1.IAC_PROVIDERS.join(', ')}. It's recommended to use CDK if the user has no preference
29
+ - Choose a package manager first. You can choose between ${PACKAGE_MANAGERS.join(', ')}. It's recommended to use "pnpm" if the user has no preference
30
+ - Choose an infrastructure as code (IaC) provider next. You can choose between ${IAC_PROVIDERS.join(', ')}. It's recommended to use CDK if the user has no preference
32
31
  - Next, you must create an Nx workspace. Use the \`create-workspace-command\` tool for more details, and provide it with your chosen package manager
33
32
  - After this, you can start scaffolding the main components of your application using generators. Use the \`list-generators\` tool to discover available generators, and the \`generator-guide\` tool for more detailed information about a specific generator
34
33
 
35
34
  ## Nx Primer
36
35
 
37
36
  - Prefix nx commands with the appropriate prefix for your package manager, for example:
38
- ${schema_1.PACKAGE_MANAGERS.map((pm) => (0, generator_info_1.buildNxCommand)('<options>', pm)).join(' - \n')}
37
+ ${PACKAGE_MANAGERS.map((pm)=>buildNxCommand('<options>', pm)).join(' - \n')}
39
38
  - Each project in your workspace has a file named \`project.json\` which contains important project information such as its name, and defines the "targets" which can be run for that project, for example building or testing the project
40
39
  - Use the command \`nx reset\` to reset the Nx daemon when unexpected issues arise
41
40
  - After adding dependencies between TypeScript projects, use \`nx sync\` to ensure project references are set up correctly
@@ -69,12 +68,16 @@ ${schema_1.PACKAGE_MANAGERS.map((pm) => (0, generator_info_1.buildNxCommand)('<o
69
68
 
70
69
  Please refer to the below documentation for important details regarding workspaces and working with TypeScript or Python projects.
71
70
 
72
- ${await (0, generator_info_1.fetchGuidePages)(['workspace', 'typescript-project', 'python-project'], generators)}
71
+ ${await fetchGuidePages([
72
+ 'workspace',
73
+ 'typescript-project',
74
+ 'python-project'
75
+ ], generators)}
73
76
 
74
- `,
75
- },
76
- ],
77
- }));
77
+ `
78
+ }
79
+ ]
80
+ }));
78
81
  };
79
- exports.addGeneralGuidanceTool = addGeneralGuidanceTool;
82
+
80
83
  //# sourceMappingURL=general-guidance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-guidance.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/general-guidance.ts"],"names":[],"mappings":";;;AAMA,6DAA0D;AAC1D,sDAAoE;AACpE,sCAA6C;AAEhC,QAAA,oBAAoB,GAAG;;;;;gGAK4D,CAAC;AAEjG;;GAEG;AACI,MAAM,sBAAsB,GAAG,CACpC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oFAAoF;KACvF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE;;EAEd,4BAAoB;;;;2DAIqC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;iFACL,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;EAOvG,yBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC3E,MAAM,IAAA,gCAAe,EAAC,CAAC,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC;;KAErF;aACI;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAtEW,QAAA,sBAAsB,0BAsEjC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/general-guidance.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { NxGeneratorInfo } from '../../utils/generators';\nimport { IAC_PROVIDERS } from '../../utils/iac-providers';\nimport { buildNxCommand, fetchGuidePages } from '../generator-info';\nimport { PACKAGE_MANAGERS } from '../schema';\n\nexport const TOOL_SELECTION_GUIDE = `## Tool Selection Guide\n\n- Use the \\`general-guidance\\` tool for guidance and best practices for working with Nx and the Nx Plugin for AWS.\n- Use the \\`create-workspace-command\\` tool to discover how to create a workspace to start a new project.\n- Use the \\`list-generators\\` tool to discover the available generators and how to run them.\n- Use the \\`generator-guide\\` tool to retrieve detailed information about a specific generator.`;\n\n/**\n * Add a tool which provides general guidance for using Nx and the Nx Plugin for AWS\n */\nexport const addGeneralGuidanceTool = (\n server: McpServer,\n generators: NxGeneratorInfo[],\n) => {\n server.registerTool(\n 'general-guidance',\n {\n title: 'General Guidance',\n description:\n 'Tool for guidance and best practices for working with Nx and the Nx Plugin for AWS',\n },\n async () => ({\n content: [\n {\n type: 'text' as const,\n text: `# Nx Plugin for AWS Guidance\n\n${TOOL_SELECTION_GUIDE}\n\n## Getting Started\n\n- Choose a package manager first. You can choose between ${PACKAGE_MANAGERS.join(', ')}. It's recommended to use \"pnpm\" if the user has no preference\n- Choose an infrastructure as code (IaC) provider next. You can choose between ${IAC_PROVIDERS.join(', ')}. It's recommended to use CDK if the user has no preference\n- Next, you must create an Nx workspace. Use the \\`create-workspace-command\\` tool for more details, and provide it with your chosen package manager\n- After this, you can start scaffolding the main components of your application using generators. Use the \\`list-generators\\` tool to discover available generators, and the \\`generator-guide\\` tool for more detailed information about a specific generator\n\n## Nx Primer\n\n- Prefix nx commands with the appropriate prefix for your package manager, for example:\n${PACKAGE_MANAGERS.map((pm) => buildNxCommand('<options>', pm)).join(' - \\n')}\n- Each project in your workspace has a file named \\`project.json\\` which contains important project information such as its name, and defines the \"targets\" which can be run for that project, for example building or testing the project\n- Use the command \\`nx reset\\` to reset the Nx daemon when unexpected issues arise\n- After adding dependencies between TypeScript projects, use \\`nx sync\\` to ensure project references are set up correctly\n\n## General Instructions\n\n- Workspaces contain a single \\`package.json\\` file at the root which defines the dependencies for all projects. Therefore when installing dependencies, you must add these to the root workspace using the appropriate command for your package manager:\n - pnpm add -w -D <package>\n - yarn add -D <package>\n - npm install --legacy-peer-deps -D <package>\n - bun install -D <package>\n - (Omit -D for production dependencies)\n- When specifying project names as arguments to generators, prefer the _fully qualified_ project name, for example \\`@workspace-name/project-name\\`. Check the \\`project.json\\` file for the specific package to find its fully qualified name\n- When no generator exists for a specific framework required, use the base \\`ts#project\\` and \\`py#project\\` generators and build on top.\n\n## Useful Commands\n\n- Fix lint issues with \\`nx run-many --target lint --configuration=fix --all --output-style=stream\\`\n- Build all projects with \\`nx run-many --target build --all --output-style=stream\\`\n- Prefer importing the CDK constructs vended by generators in \\`packages/common/constructs\\` over writing your own\n\n## Best Practices\n\n- After running a generator, use the \\`nx show projects\\` command to check which projects have been added (if any)\n- Carefully examine the files that have been generated and always refer back to the generator guide when working in a generated project\n- Generate all projects into the \\`packages/\\` directory\n- After making changes to your projects, fix linting issues, then run a full build\n- When it's time to start testing a project, suggest to the user that infrastructure is deployed to AWS. For websites, if a runtime-config.json is needed, use the load:runtime-config target after a deployment to point a local website at a sandbox stack.\n\n## Detailed Guides\n\nPlease refer to the below documentation for important details regarding workspaces and working with TypeScript or Python projects.\n\n${await fetchGuidePages(['workspace', 'typescript-project', 'python-project'], generators)}\n\n `,\n },\n ],\n }),\n );\n};\n"],"names":["IAC_PROVIDERS","buildNxCommand","fetchGuidePages","PACKAGE_MANAGERS","TOOL_SELECTION_GUIDE","addGeneralGuidanceTool","server","generators","registerTool","title","description","content","type","text","join","map","pm"],"mappings":"AAAA;;;CAGC,GAGD,SAASA,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,cAAc,EAAEC,eAAe,QAAQ,uBAAoB;AACpE,SAASC,gBAAgB,QAAQ,eAAY;AAE7C,OAAO,MAAMC,uBAAuB,CAAC;;;;;+FAK0D,CAAC,CAAC;AAEjG;;CAEC,GACD,OAAO,MAAMC,yBAAyB,CACpCC,QACAC;IAEAD,OAAOE,YAAY,CACjB,oBACA;QACEC,OAAO;QACPC,aACE;IACJ,GACA,UAAa,CAAA;YACXC,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC;;AAEjB,EAAET,qBAAqB;;;;yDAIkC,EAAED,iBAAiBW,IAAI,CAAC,MAAM;+EACR,EAAEd,cAAcc,IAAI,CAAC,MAAM;;;;;;;AAO1G,EAAEX,iBAAiBY,GAAG,CAAC,CAACC,KAAOf,eAAe,aAAae,KAAKF,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkC9E,EAAE,MAAMZ,gBAAgB;wBAAC;wBAAa;wBAAsB;qBAAiB,EAAEK,YAAY;;IAEvF,CAAC;gBACG;aACD;QACH,CAAA;AAEJ,EAAE"}
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addGeneratorGuideTool = void 0;
4
- const zod_1 = require("zod");
5
- const generator_info_1 = require("../generator-info");
6
- const schema_1 = require("../schema");
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */ import { z } from "zod";
5
+ import { fetchGuidePagesForGenerator, renderGeneratorInfo } from "../generator-info.js";
6
+ import { PackageManagerSchema } from "../schema.js";
7
7
  /**
8
8
  * Add a tool which provides a detailed guide for an individual generator.
9
9
  *
@@ -12,55 +12,47 @@ const schema_1 = require("../schema");
12
12
  * — and the "unsupported combination" case, where it returns an explicit
13
13
  * warning instead of empty guide content. The tool description points
14
14
  * agents at `list-generators` for the list of filterable options.
15
- */
16
- const addGeneratorGuideTool = (server, generators) => {
15
+ */ export const addGeneratorGuideTool = (server, generators)=>{
17
16
  server.registerTool('generator-guide', {
18
- description: 'Tool to retrieve detailed information about a specific generator. ' +
19
- 'Pass `options` with the values you intend to use for any filterable option ' +
20
- '(e.g. infra, iac, auth, ux, protocol, sourceType, targetType) ' +
21
- 'to receive only the guide content relevant to those choices — this cuts noise ' +
22
- 'and avoids suggesting configuration from a different branch. The filterable keys ' +
23
- 'and their valid values for each generator are listed by the `list-generators` ' +
24
- 'tool; call it first if you are not sure which keys to pass. When the combination ' +
25
- 'you pick is not supported by the generator (e.g. connection from ts#trpc-api ' +
26
- 'to smithy), the tool returns an "Unsupported combination" warning with the ' +
27
- 'list of supported pairs. When `options` is omitted, every conditional section ' +
28
- 'is included and prefixed with a `> [!NOTE] Only when …` marker so you can see ' +
29
- 'the branching condition.',
17
+ description: 'Tool to retrieve detailed information about a specific generator. ' + 'Pass `options` with the values you intend to use for any filterable option ' + '(e.g. infra, iac, auth, ux, protocol, sourceType, targetType) ' + 'to receive only the guide content relevant to those choices — this cuts noise ' + 'and avoids suggesting configuration from a different branch. The filterable keys ' + 'and their valid values for each generator are listed by the `list-generators` ' + 'tool; call it first if you are not sure which keys to pass. When the combination ' + 'you pick is not supported by the generator (e.g. connection from ts#trpc-api ' + 'to smithy), the tool returns an "Unsupported combination" warning with the ' + 'list of supported pairs. When `options` is omitted, every conditional section ' + 'is included and prefixed with a `> [!NOTE] Only when …` marker so you can see ' + 'the branching condition.',
30
18
  inputSchema: {
31
- packageManager: schema_1.PackageManagerSchema,
32
- generator: zod_1.z.enum(generators.map((g) => g.id)),
33
- options: zod_1.z
34
- .record(zod_1.z.string(), zod_1.z.string())
35
- .optional()
36
- .describe('Optional map of generator option values (e.g. { infra: "rest-lambda", iac: "cdk" }) used to filter the guide to content that applies to those choices.'),
37
- },
38
- }, async ({ packageManager, generator: generatorId, options }) => {
39
- const generator = generators.find((g) => g.id === generatorId);
19
+ packageManager: PackageManagerSchema,
20
+ generator: z.enum(generators.map((g)=>g.id)),
21
+ options: z.record(z.string(), z.string()).optional().describe('Optional map of generator option values (e.g. { infra: "rest-lambda", iac: "cdk" }) used to filter the guide to content that applies to those choices.')
22
+ }
23
+ }, async ({ packageManager, generator: generatorId, options })=>{
24
+ const generator = generators.find((g)=>g.id === generatorId);
40
25
  if (!generator) {
41
- throw new Error(`No generator found with id ${generatorId}. Available generators: ${generators.map((g) => g.id).join(' ,')}`);
26
+ throw new Error(`No generator found with id ${generatorId}. Available generators: ${generators.map((g)=>g.id).join(' ,')}`);
42
27
  }
43
- const guide = await (0, generator_info_1.fetchGuidePagesForGenerator)(generator, generators, packageManager, undefined, options);
28
+ const guide = await fetchGuidePagesForGenerator(generator, generators, packageManager, undefined, options);
44
29
  // An unsupported combination renders its own self-contained warning
45
30
  // (leads with `## <id>` and lists the supported predicates), so
46
31
  // return it directly without the usual guide header.
47
32
  if (guide.kind === 'unsupported') {
48
- return { content: [{ type: 'text', text: guide.content }] };
33
+ return {
34
+ content: [
35
+ {
36
+ type: 'text',
37
+ text: guide.content
38
+ }
39
+ ]
40
+ };
49
41
  }
50
42
  return {
51
43
  content: [
52
44
  {
53
45
  type: 'text',
54
- text: `## ${(0, generator_info_1.renderGeneratorInfo)(packageManager, generator)}
46
+ text: `## ${renderGeneratorInfo(packageManager, generator)}
55
47
 
56
48
  # Guide
57
49
 
58
50
  ${guide.content}
59
- `,
60
- },
61
- ],
51
+ `
52
+ }
53
+ ]
62
54
  };
63
55
  });
64
56
  };
65
- exports.addGeneratorGuideTool = addGeneratorGuideTool;
57
+
66
58
  //# sourceMappingURL=generator-guide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator-guide.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/generator-guide.ts"],"names":[],"mappings":";;;AAKA,6BAAwB;AAExB,sDAG2B;AAC3B,sCAAiD;AAEjD;;;;;;;;GAQG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAiB,EACjB,UAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,oEAAoE;YACpE,6EAA6E;YAC7E,gEAAgE;YAChE,gFAAgF;YAChF,mFAAmF;YACnF,gFAAgF;YAChF,mFAAmF;YACnF,+EAA+E;YAC/E,6EAA6E;YAC7E,gFAAgF;YAChF,gFAAgF;YAChF,0BAA0B;QAC5B,WAAW,EAAE;YACX,cAAc,EAAE,6BAAoB;YACpC,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,OAAC;iBACP,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CACP,wJAAwJ,CACzJ;SACJ;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,2BAA2B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,4CAA2B,EAC7C,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,OAAO,CACR,CAAC;QAEF,oEAAoE;QACpE,gEAAgE;QAChE,qDAAqD;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,MAAM,IAAA,oCAAmB,EAAC,cAAc,EAAE,SAAS,CAAC;;;;EAIpE,KAAK,CAAC,OAAO;CACd;iBACU;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AArEW,QAAA,qBAAqB,yBAqEhC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/mcp-server/tools/generator-guide.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\nimport type { NxGeneratorInfo } from '../../utils/generators';\nimport {\n fetchGuidePagesForGenerator,\n renderGeneratorInfo,\n} from '../generator-info';\nimport { PackageManagerSchema } from '../schema';\n\n/**\n * Add a tool which provides a detailed guide for an individual generator.\n *\n * `fetchGuidePagesForGenerator` handles both the \"narrow by `options`\"\n * case — reading each page's frontmatter `when:` to pick matching variants\n * — and the \"unsupported combination\" case, where it returns an explicit\n * warning instead of empty guide content. The tool description points\n * agents at `list-generators` for the list of filterable options.\n */\nexport const addGeneratorGuideTool = (\n server: McpServer,\n generators: NxGeneratorInfo[],\n) => {\n server.registerTool(\n 'generator-guide',\n {\n description:\n 'Tool to retrieve detailed information about a specific generator. ' +\n 'Pass `options` with the values you intend to use for any filterable option ' +\n '(e.g. infra, iac, auth, ux, protocol, sourceType, targetType) ' +\n 'to receive only the guide content relevant to those choices — this cuts noise ' +\n 'and avoids suggesting configuration from a different branch. The filterable keys ' +\n 'and their valid values for each generator are listed by the `list-generators` ' +\n 'tool; call it first if you are not sure which keys to pass. When the combination ' +\n 'you pick is not supported by the generator (e.g. connection from ts#trpc-api ' +\n 'to smithy), the tool returns an \"Unsupported combination\" warning with the ' +\n 'list of supported pairs. When `options` is omitted, every conditional section ' +\n 'is included and prefixed with a `> [!NOTE] Only when …` marker so you can see ' +\n 'the branching condition.',\n inputSchema: {\n packageManager: PackageManagerSchema,\n generator: z.enum(generators.map((g) => g.id)),\n options: z\n .record(z.string(), z.string())\n .optional()\n .describe(\n 'Optional map of generator option values (e.g. { infra: \"rest-lambda\", iac: \"cdk\" }) used to filter the guide to content that applies to those choices.',\n ),\n },\n },\n async ({ packageManager, generator: generatorId, options }) => {\n const generator = generators.find((g) => g.id === generatorId);\n if (!generator) {\n throw new Error(\n `No generator found with id ${generatorId}. Available generators: ${generators.map((g) => g.id).join(' ,')}`,\n );\n }\n\n const guide = await fetchGuidePagesForGenerator(\n generator,\n generators,\n packageManager,\n undefined,\n options,\n );\n\n // An unsupported combination renders its own self-contained warning\n // (leads with `## <id>` and lists the supported predicates), so\n // return it directly without the usual guide header.\n if (guide.kind === 'unsupported') {\n return { content: [{ type: 'text' as const, text: guide.content }] };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `## ${renderGeneratorInfo(packageManager, generator)}\n\n# Guide\n\n${guide.content}\n`,\n },\n ],\n };\n },\n );\n};\n"],"names":["z","fetchGuidePagesForGenerator","renderGeneratorInfo","PackageManagerSchema","addGeneratorGuideTool","server","generators","registerTool","description","inputSchema","packageManager","generator","enum","map","g","id","options","record","string","optional","describe","generatorId","find","Error","join","guide","undefined","kind","content","type","text"],"mappings":"AAAA;;;CAGC,GAED,SAASA,CAAC,QAAQ,MAAM;AAExB,SACEC,2BAA2B,EAC3BC,mBAAmB,QACd,uBAAoB;AAC3B,SAASC,oBAAoB,QAAQ,eAAY;AAEjD;;;;;;;;CAQC,GACD,OAAO,MAAMC,wBAAwB,CACnCC,QACAC;IAEAD,OAAOE,YAAY,CACjB,mBACA;QACEC,aACE,uEACA,gFACA,mEACA,mFACA,sFACA,mFACA,sFACA,kFACA,gFACA,mFACA,mFACA;QACFC,aAAa;YACXC,gBAAgBP;YAChBQ,WAAWX,EAAEY,IAAI,CAACN,WAAWO,GAAG,CAAC,CAACC,IAAMA,EAAEC,EAAE;YAC5CC,SAAShB,EACNiB,MAAM,CAACjB,EAAEkB,MAAM,IAAIlB,EAAEkB,MAAM,IAC3BC,QAAQ,GACRC,QAAQ,CACP;QAEN;IACF,GACA,OAAO,EAAEV,cAAc,EAAEC,WAAWU,WAAW,EAAEL,OAAO,EAAE;QACxD,MAAML,YAAYL,WAAWgB,IAAI,CAAC,CAACR,IAAMA,EAAEC,EAAE,KAAKM;QAClD,IAAI,CAACV,WAAW;YACd,MAAM,IAAIY,MACR,CAAC,2BAA2B,EAAEF,YAAY,wBAAwB,EAAEf,WAAWO,GAAG,CAAC,CAACC,IAAMA,EAAEC,EAAE,EAAES,IAAI,CAAC,OAAO;QAEhH;QAEA,MAAMC,QAAQ,MAAMxB,4BAClBU,WACAL,YACAI,gBACAgB,WACAV;QAGF,oEAAoE;QACpE,gEAAgE;QAChE,qDAAqD;QACrD,IAAIS,MAAME,IAAI,KAAK,eAAe;YAChC,OAAO;gBAAEC,SAAS;oBAAC;wBAAEC,MAAM;wBAAiBC,MAAML,MAAMG,OAAO;oBAAC;iBAAE;YAAC;QACrE;QAEA,OAAO;YACLA,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,GAAG,EAAE5B,oBAAoBQ,gBAAgBC,WAAW;;;;AAIvE,EAAEc,MAAMG,OAAO,CAAC;AAChB,CAAC;gBACS;aACD;QACH;IACF;AAEJ,EAAE"}