@aws/nx-plugin 1.0.0-rc.3 → 1.0.0-rc.31

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 (1017) hide show
  1. package/LICENSE-THIRD-PARTY +6746 -6133
  2. package/README.md +7 -7
  3. package/executors.json +9 -0
  4. package/generators.json +100 -1
  5. package/package.json +35 -17
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +149 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +158 -177
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +98 -0
  52. package/src/connection/supported-connections.js +138 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +141 -123
  59. package/src/infra/app/generator.js.map +1 -1
  60. package/src/infra/app/schema.d.js +6 -0
  61. package/src/infra/app/schema.d.js.map +1 -0
  62. package/src/infra/app/schema.d.ts +1 -1
  63. package/src/infra/app/schema.json +5 -0
  64. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  65. package/src/license/config-types.d.ts +18 -1
  66. package/src/license/config-types.js +8 -2
  67. package/src/license/config-types.js.map +1 -1
  68. package/src/license/config.d.ts +65 -7
  69. package/src/license/config.js +442 -109
  70. package/src/license/config.js.map +1 -1
  71. package/src/license/dependency-check/check.d.ts +16 -0
  72. package/src/license/dependency-check/check.js +116 -0
  73. package/src/license/dependency-check/check.js.map +1 -0
  74. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  75. package/src/license/dependency-check/collectors/collector.js +46 -0
  76. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  77. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  78. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  79. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  80. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  81. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  82. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  83. package/src/license/dependency-check/evaluator.d.ts +9 -0
  84. package/src/license/dependency-check/evaluator.js +94 -0
  85. package/src/license/dependency-check/evaluator.js.map +1 -0
  86. package/src/license/dependency-check/executor-schema.json +6 -0
  87. package/src/license/dependency-check/executor.d.ts +9 -0
  88. package/src/license/dependency-check/executor.js +51 -0
  89. package/src/license/dependency-check/executor.js.map +1 -0
  90. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  91. package/src/license/dependency-check/pre-approved.js +1893 -0
  92. package/src/license/dependency-check/pre-approved.js.map +1 -0
  93. package/src/license/dependency-check/types.d.ts +45 -0
  94. package/src/license/dependency-check/types.js +6 -0
  95. package/src/license/dependency-check/types.js.map +1 -0
  96. package/src/license/generator.d.ts +3 -3
  97. package/src/license/generator.js +127 -30
  98. package/src/license/generator.js.map +1 -1
  99. package/src/license/index.d.ts +8 -0
  100. package/src/license/index.js +7 -0
  101. package/src/license/index.js.map +1 -0
  102. package/src/license/known-exceptions.d.ts +7 -0
  103. package/src/license/known-exceptions.js +39 -0
  104. package/src/license/known-exceptions.js.map +1 -0
  105. package/src/license/schema.d.js +6 -0
  106. package/src/license/schema.d.js.map +1 -0
  107. package/src/license/schema.d.ts +7 -0
  108. package/src/license/schema.json +11 -0
  109. package/src/license/sync/generator.d.ts +2 -2
  110. package/src/license/sync/generator.js +100 -125
  111. package/src/license/sync/generator.js.map +1 -1
  112. package/src/license/sync/project-file-sync.d.ts +3 -3
  113. package/src/license/sync/project-file-sync.js +28 -35
  114. package/src/license/sync/project-file-sync.js.map +1 -1
  115. package/src/mcp-server/generator-info.d.ts +5 -1
  116. package/src/mcp-server/generator-info.js +130 -160
  117. package/src/mcp-server/generator-info.js.map +1 -1
  118. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  119. package/src/mcp-server/guide-pipeline.js +184 -206
  120. package/src/mcp-server/guide-pipeline.js.map +1 -1
  121. package/src/mcp-server/guide-render.js +10 -25
  122. package/src/mcp-server/guide-render.js.map +1 -1
  123. package/src/mcp-server/index.js +6 -10
  124. package/src/mcp-server/index.js.map +1 -1
  125. package/src/mcp-server/mdx-ast.js +42 -56
  126. package/src/mcp-server/mdx-ast.js.map +1 -1
  127. package/src/mcp-server/option-filter.js +33 -47
  128. package/src/mcp-server/option-filter.js.map +1 -1
  129. package/src/mcp-server/schema-registry.d.ts +9 -3
  130. package/src/mcp-server/schema-registry.js +41 -38
  131. package/src/mcp-server/schema-registry.js.map +1 -1
  132. package/src/mcp-server/schema.js +9 -7
  133. package/src/mcp-server/schema.js.map +1 -1
  134. package/src/mcp-server/server.js +20 -24
  135. package/src/mcp-server/server.js.map +1 -1
  136. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  137. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  138. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  139. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  140. package/src/mcp-server/tools/general-guidance.js +46 -25
  141. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  142. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  143. package/src/mcp-server/tools/generator-guide.js +29 -37
  144. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  145. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  146. package/src/mcp-server/tools/list-generators.js +19 -25
  147. package/src/mcp-server/tools/list-generators.js.map +1 -1
  148. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  149. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  150. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +286 -62
  151. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +674 -93
  152. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +147 -33
  153. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +196 -44
  154. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5507 -0
  155. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +219 -60
  156. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +351 -80
  157. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +170 -49
  158. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +99 -23
  159. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  160. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  161. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +196 -44
  162. package/src/open-api/ts-client/files/client.gen.ts.template +130 -18
  163. package/src/open-api/ts-client/files/types.gen.ts.template +4 -4
  164. package/src/open-api/ts-client/generator.d.ts +3 -3
  165. package/src/open-api/ts-client/generator.js +16 -26
  166. package/src/open-api/ts-client/generator.js.map +1 -1
  167. package/src/open-api/ts-client/schema.d.js +6 -0
  168. package/src/open-api/ts-client/schema.d.js.map +1 -0
  169. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +5 -0
  170. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  171. package/src/open-api/ts-hooks/generator.js +13 -21
  172. package/src/open-api/ts-hooks/generator.js.map +1 -1
  173. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  174. package/src/open-api/ts-hooks/schema.d.js +6 -0
  175. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  176. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  177. package/src/open-api/ts-metadata/generator.js +12 -20
  178. package/src/open-api/ts-metadata/generator.js.map +1 -1
  179. package/src/open-api/ts-metadata/schema.d.js +6 -0
  180. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  181. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  182. package/src/open-api/utils/codegen-data/languages.js +53 -66
  183. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  184. package/src/open-api/utils/codegen-data/types.d.ts +240 -10
  185. package/src/open-api/utils/codegen-data/types.js +54 -30
  186. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  187. package/src/open-api/utils/codegen-data.d.ts +8 -4
  188. package/src/open-api/utils/codegen-data.js +398 -674
  189. package/src/open-api/utils/codegen-data.js.map +1 -1
  190. package/src/open-api/utils/normalise.d.ts +5 -1
  191. package/src/open-api/utils/normalise.js +386 -247
  192. package/src/open-api/utils/normalise.js.map +1 -1
  193. package/src/open-api/utils/parse.d.ts +2 -2
  194. package/src/open-api/utils/parse.js +11 -13
  195. package/src/open-api/utils/parse.js.map +1 -1
  196. package/src/open-api/utils/parser.d.ts +55 -0
  197. package/src/open-api/utils/parser.js +743 -0
  198. package/src/open-api/utils/parser.js.map +1 -0
  199. package/src/open-api/utils/refs.d.ts +1 -1
  200. package/src/open-api/utils/refs.js +12 -22
  201. package/src/open-api/utils/refs.js.map +1 -1
  202. package/src/open-api/utils/types.d.ts +15 -0
  203. package/src/open-api/utils/types.js +5 -2
  204. package/src/open-api/utils/types.js.map +1 -1
  205. package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
  206. package/src/preset/generator.d.ts +4 -4
  207. package/src/preset/generator.js +140 -112
  208. package/src/preset/generator.js.map +1 -1
  209. package/src/preset/schema.d.js +6 -0
  210. package/src/preset/schema.d.js.map +1 -0
  211. package/src/preset/schema.d.ts +4 -2
  212. package/src/preset/schema.json +10 -5
  213. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  214. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  215. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
  216. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  217. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  218. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  219. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  220. package/src/py/agent/a2a-connection/generator.js +113 -85
  221. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  222. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  223. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  224. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  225. package/src/py/agent/a2a-connection/schema.json +5 -0
  226. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  227. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  228. package/src/py/agent/files/common/agent.py.template +2 -0
  229. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  230. package/src/py/agent/files/http/init.py.template +7 -25
  231. package/src/py/agent/files/http/main.py.template +2 -3
  232. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  233. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  234. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  235. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  236. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  237. package/src/py/agent/gateway-connection/generator.js +119 -0
  238. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  239. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  240. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  241. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  242. package/src/py/agent/gateway-connection/schema.json +31 -0
  243. package/src/py/agent/generator.d.ts +3 -3
  244. package/src/py/agent/generator.js +280 -180
  245. package/src/py/agent/generator.js.map +1 -1
  246. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  247. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  248. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  249. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  250. package/src/py/agent/mcp-connection/generator.js +65 -126
  251. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  252. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  253. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  254. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  255. package/src/py/agent/mcp-connection/schema.json +5 -0
  256. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  257. package/src/py/agent/react-connection/generator.d.ts +4 -4
  258. package/src/py/agent/react-connection/generator.js +55 -59
  259. package/src/py/agent/react-connection/generator.js.map +1 -1
  260. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  261. package/src/py/agent/react-connection/local-dev.js +36 -0
  262. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  263. package/src/py/agent/react-connection/schema.d.js +8 -0
  264. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  265. package/src/py/agent/react-connection/schema.d.ts +1 -0
  266. package/src/py/agent/react-connection/schema.json +5 -0
  267. package/src/py/agent/schema.d.js +6 -0
  268. package/src/py/agent/schema.d.js.map +1 -0
  269. package/src/py/agent/schema.d.ts +2 -1
  270. package/src/py/agent/schema.json +6 -1
  271. package/src/py/api/generator.d.ts +3 -3
  272. package/src/py/api/generator.js +12 -11
  273. package/src/py/api/generator.js.map +1 -1
  274. package/src/py/api/schema.d.js +6 -0
  275. package/src/py/api/schema.d.js.map +1 -0
  276. package/src/py/api/schema.d.ts +1 -0
  277. package/src/py/api/schema.json +5 -0
  278. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  279. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  280. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  281. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  282. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  283. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  284. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  285. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  286. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  287. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  288. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  289. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  290. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  291. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  292. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  293. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  294. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  295. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  296. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  297. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  298. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  299. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  300. package/src/py/dynamodb/files/config.json.template +24 -0
  301. package/src/py/dynamodb/generator.d.ts +10 -0
  302. package/src/py/dynamodb/generator.js +110 -0
  303. package/src/py/dynamodb/generator.js.map +1 -0
  304. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  305. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  306. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  307. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  308. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  309. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  310. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  311. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  312. package/src/py/dynamodb/schema.d.js +6 -0
  313. package/src/py/dynamodb/schema.d.js.map +1 -0
  314. package/src/py/dynamodb/schema.d.ts +16 -0
  315. package/src/py/dynamodb/schema.json +75 -0
  316. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  317. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  318. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  319. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  320. package/src/py/fast-api/generator.d.ts +3 -3
  321. package/src/py/fast-api/generator.js +90 -87
  322. package/src/py/fast-api/generator.js.map +1 -1
  323. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  324. package/src/py/fast-api/react/generator.d.ts +4 -4
  325. package/src/py/fast-api/react/generator.js +25 -25
  326. package/src/py/fast-api/react/generator.js.map +1 -1
  327. package/src/py/fast-api/react/open-api.d.ts +1 -1
  328. package/src/py/fast-api/react/open-api.js +31 -29
  329. package/src/py/fast-api/react/open-api.js.map +1 -1
  330. package/src/py/fast-api/react/schema.d.js +6 -0
  331. package/src/py/fast-api/react/schema.d.js.map +1 -0
  332. package/src/py/fast-api/react/schema.d.ts +1 -0
  333. package/src/py/fast-api/react/schema.json +5 -0
  334. package/src/py/fast-api/schema.d.js +6 -0
  335. package/src/py/fast-api/schema.d.js.map +1 -0
  336. package/src/py/fast-api/schema.d.ts +1 -0
  337. package/src/py/fast-api/schema.json +5 -0
  338. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  339. package/src/py/lambda-function/generator.d.ts +3 -3
  340. package/src/py/lambda-function/generator.js +60 -59
  341. package/src/py/lambda-function/generator.js.map +1 -1
  342. package/src/py/lambda-function/schema.d.js +6 -0
  343. package/src/py/lambda-function/schema.d.js.map +1 -0
  344. package/src/py/lambda-function/schema.d.ts +1 -0
  345. package/src/py/lambda-function/schema.json +5 -0
  346. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
  347. package/src/py/mcp-server/generator.d.ts +3 -3
  348. package/src/py/mcp-server/generator.js +152 -125
  349. package/src/py/mcp-server/generator.js.map +1 -1
  350. package/src/py/mcp-server/schema.d.js +6 -0
  351. package/src/py/mcp-server/schema.d.js.map +1 -0
  352. package/src/py/mcp-server/schema.d.ts +1 -0
  353. package/src/py/mcp-server/schema.json +5 -0
  354. package/src/py/project/generator.d.ts +17 -4
  355. package/src/py/project/generator.js +205 -127
  356. package/src/py/project/generator.js.map +1 -1
  357. package/src/py/project/schema.d.js +6 -0
  358. package/src/py/project/schema.d.js.map +1 -0
  359. package/src/py/project/schema.d.ts +1 -0
  360. package/src/py/project/schema.json +5 -0
  361. package/src/sdk/agentcore-gateway.d.ts +6 -0
  362. package/src/sdk/agentcore-gateway.js +7 -0
  363. package/src/sdk/agentcore-gateway.js.map +1 -0
  364. package/src/sdk/connection.d.ts +6 -0
  365. package/src/sdk/connection.js +6 -0
  366. package/src/sdk/connection.js.map +1 -0
  367. package/src/sdk/license.d.ts +8 -0
  368. package/src/sdk/license.js +7 -0
  369. package/src/sdk/license.js.map +1 -0
  370. package/src/sdk/open-api.d.ts +10 -0
  371. package/src/sdk/open-api.js +8 -0
  372. package/src/sdk/open-api.js.map +1 -0
  373. package/src/sdk/py.d.ts +14 -0
  374. package/src/sdk/py.js +10 -0
  375. package/src/sdk/py.js.map +1 -0
  376. package/src/sdk/terraform.d.ts +6 -0
  377. package/src/sdk/terraform.js +7 -0
  378. package/src/sdk/terraform.js.map +1 -0
  379. package/src/sdk/ts.d.ts +33 -0
  380. package/src/sdk/ts.js +35 -0
  381. package/src/sdk/ts.js.map +1 -0
  382. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  383. package/src/sdk/utils/ast.js +6 -0
  384. package/src/sdk/utils/ast.js.map +1 -0
  385. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  386. package/src/sdk/utils/format.js +6 -0
  387. package/src/sdk/utils/format.js.map +1 -0
  388. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  389. package/src/sdk/utils/test.js +6 -0
  390. package/src/sdk/utils/test.js.map +1 -0
  391. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  392. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  393. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  394. package/src/smithy/project/generator.d.ts +3 -3
  395. package/src/smithy/project/generator.js +64 -57
  396. package/src/smithy/project/generator.js.map +1 -1
  397. package/src/smithy/project/schema.d.js +6 -0
  398. package/src/smithy/project/schema.d.js.map +1 -0
  399. package/src/smithy/project/schema.d.ts +1 -0
  400. package/src/smithy/project/schema.json +5 -0
  401. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  402. package/src/smithy/react-connection/generator.d.ts +3 -3
  403. package/src/smithy/react-connection/generator.js +39 -47
  404. package/src/smithy/react-connection/generator.js.map +1 -1
  405. package/src/smithy/react-connection/schema.d.js +6 -0
  406. package/src/smithy/react-connection/schema.d.js.map +1 -0
  407. package/src/smithy/react-connection/schema.d.ts +1 -0
  408. package/src/smithy/react-connection/schema.json +5 -0
  409. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
  410. package/src/smithy/ts/api/generator.d.ts +3 -3
  411. package/src/smithy/ts/api/generator.js +127 -106
  412. package/src/smithy/ts/api/generator.js.map +1 -1
  413. package/src/smithy/ts/api/schema.d.js +6 -0
  414. package/src/smithy/ts/api/schema.d.js.map +1 -0
  415. package/src/smithy/ts/api/schema.d.ts +1 -0
  416. package/src/smithy/ts/api/schema.json +5 -0
  417. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  418. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  419. package/src/terraform/project/generator.d.ts +3 -3
  420. package/src/terraform/project/generator.js +156 -104
  421. package/src/terraform/project/generator.js.map +1 -1
  422. package/src/terraform/project/schema.d.js +9 -0
  423. package/src/terraform/project/schema.d.js.map +1 -0
  424. package/src/terraform/project/schema.d.ts +1 -0
  425. package/src/terraform/project/schema.json +5 -0
  426. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
  427. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  428. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  429. package/src/trpc/backend/generator.d.ts +4 -4
  430. package/src/trpc/backend/generator.js +97 -85
  431. package/src/trpc/backend/generator.js.map +1 -1
  432. package/src/trpc/backend/schema.d.js +6 -0
  433. package/src/trpc/backend/schema.d.js.map +1 -0
  434. package/src/trpc/backend/schema.d.ts +3 -2
  435. package/src/trpc/backend/schema.json +5 -0
  436. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  437. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  438. package/src/trpc/react/generator.d.ts +4 -4
  439. package/src/trpc/react/generator.js +63 -58
  440. package/src/trpc/react/generator.js.map +1 -1
  441. package/src/trpc/react/schema.d.js +6 -0
  442. package/src/trpc/react/schema.d.js.map +1 -0
  443. package/src/trpc/react/schema.d.ts +1 -0
  444. package/src/trpc/react/schema.json +5 -0
  445. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
  446. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  447. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  448. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  449. package/src/ts/agent/a2a-connection/generator.js +63 -56
  450. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  451. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  452. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  453. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  454. package/src/ts/agent/a2a-connection/schema.json +5 -0
  455. package/src/ts/agent/files/common/agent.ts.template +6 -2
  456. package/src/ts/agent/files/http/router.ts.template +1 -1
  457. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  458. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  459. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  460. package/src/ts/agent/gateway-connection/generator.js +114 -0
  461. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  462. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  463. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  464. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  465. package/src/ts/agent/gateway-connection/schema.json +31 -0
  466. package/src/ts/agent/generator.d.ts +3 -3
  467. package/src/ts/agent/generator.js +188 -144
  468. package/src/ts/agent/generator.js.map +1 -1
  469. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  470. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  471. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  472. package/src/ts/agent/mcp-connection/generator.js +53 -60
  473. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  474. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  475. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  476. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  477. package/src/ts/agent/mcp-connection/schema.json +5 -0
  478. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  479. package/src/ts/agent/react-connection/generator.js +86 -80
  480. package/src/ts/agent/react-connection/generator.js.map +1 -1
  481. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  482. package/src/ts/agent/react-connection/local-dev.js +17 -0
  483. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  484. package/src/ts/agent/react-connection/schema.d.js +8 -0
  485. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  486. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  487. package/src/ts/agent/react-connection/schema.json +5 -0
  488. package/src/ts/agent/schema.d.js +6 -0
  489. package/src/ts/agent/schema.d.js.map +1 -0
  490. package/src/ts/agent/schema.d.ts +1 -0
  491. package/src/ts/agent/schema.json +5 -0
  492. package/src/ts/api/generator.d.ts +3 -3
  493. package/src/ts/api/generator.js +16 -16
  494. package/src/ts/api/generator.js.map +1 -1
  495. package/src/ts/api/schema.d.js +6 -0
  496. package/src/ts/api/schema.d.js.map +1 -0
  497. package/src/ts/api/schema.d.ts +3 -1
  498. package/src/ts/api/schema.json +5 -0
  499. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  500. package/src/ts/astro-docs/generator.d.ts +3 -3
  501. package/src/ts/astro-docs/generator.js +69 -54
  502. package/src/ts/astro-docs/generator.js.map +1 -1
  503. package/src/ts/astro-docs/schema.d.js +6 -0
  504. package/src/ts/astro-docs/schema.d.js.map +1 -0
  505. package/src/ts/astro-docs/schema.d.ts +2 -2
  506. package/src/ts/astro-docs/schema.json +3 -3
  507. package/src/ts/docs/generator.d.ts +3 -3
  508. package/src/ts/docs/generator.js +10 -10
  509. package/src/ts/docs/generator.js.map +1 -1
  510. package/src/ts/docs/schema.d.js +6 -0
  511. package/src/ts/docs/schema.d.js.map +1 -0
  512. package/src/ts/docs/schema.d.ts +1 -4
  513. package/src/ts/docs/schema.json +3 -3
  514. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
  515. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  516. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  517. package/src/ts/dynamodb/agent-connection/generator.js +30 -0
  518. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  519. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  520. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  521. package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
  522. package/src/ts/dynamodb/agent-connection/schema.json +27 -0
  523. package/src/ts/dynamodb/files/config.json.template +24 -0
  524. package/src/ts/dynamodb/files/src/client.ts.template +61 -0
  525. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  526. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  527. package/src/ts/dynamodb/files/src/index.ts.template +2 -0
  528. package/src/ts/dynamodb/generator.d.ts +10 -0
  529. package/src/ts/dynamodb/generator.js +116 -0
  530. package/src/ts/dynamodb/generator.js.map +1 -0
  531. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  532. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  533. package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
  534. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  535. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  536. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  537. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  538. package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
  539. package/src/ts/dynamodb/schema.d.js +6 -0
  540. package/src/ts/dynamodb/schema.d.js.map +1 -0
  541. package/src/ts/dynamodb/schema.d.ts +16 -0
  542. package/src/ts/dynamodb/schema.json +75 -0
  543. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  544. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  545. package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
  546. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  547. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  548. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  549. package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
  550. package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
  551. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  552. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  553. package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
  554. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  555. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  556. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  557. package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
  558. package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
  559. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  560. package/src/ts/lambda-function/generator.d.ts +3 -3
  561. package/src/ts/lambda-function/generator.js +59 -56
  562. package/src/ts/lambda-function/generator.js.map +1 -1
  563. package/src/ts/lambda-function/io.js +83 -52
  564. package/src/ts/lambda-function/io.js.map +1 -1
  565. package/src/ts/lambda-function/schema.d.js +6 -0
  566. package/src/ts/lambda-function/schema.d.js.map +1 -0
  567. package/src/ts/lambda-function/schema.d.ts +1 -0
  568. package/src/ts/lambda-function/schema.json +5 -0
  569. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
  570. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  571. package/src/ts/lib/biome.d.ts +7 -0
  572. package/src/ts/lib/biome.js +58 -0
  573. package/src/ts/lib/biome.js.map +1 -0
  574. package/src/ts/lib/generator.d.ts +3 -3
  575. package/src/ts/lib/generator.js +96 -96
  576. package/src/ts/lib/generator.js.map +1 -1
  577. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  578. package/src/ts/lib/schema.d.js +6 -0
  579. package/src/ts/lib/schema.d.js.map +1 -0
  580. package/src/ts/lib/schema.d.ts +1 -1
  581. package/src/ts/lib/schema.json +5 -0
  582. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  583. package/src/ts/lib/ts-project-utils.js +80 -65
  584. package/src/ts/lib/ts-project-utils.js.map +1 -1
  585. package/src/ts/lib/types.js +5 -2
  586. package/src/ts/lib/types.js.map +1 -1
  587. package/src/ts/lib/vitest.d.ts +2 -2
  588. package/src/ts/lib/vitest.js +29 -26
  589. package/src/ts/lib/vitest.js.map +1 -1
  590. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
  591. package/src/ts/mcp-server/generator.d.ts +3 -3
  592. package/src/ts/mcp-server/generator.js +164 -120
  593. package/src/ts/mcp-server/generator.js.map +1 -1
  594. package/src/ts/mcp-server/schema.d.js +6 -0
  595. package/src/ts/mcp-server/schema.d.js.map +1 -0
  596. package/src/ts/mcp-server/schema.d.ts +1 -0
  597. package/src/ts/mcp-server/schema.json +5 -0
  598. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  599. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  600. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  601. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  602. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  603. package/src/ts/nx-generator/generator.d.ts +2 -2
  604. package/src/ts/nx-generator/generator.js +111 -74
  605. package/src/ts/nx-generator/generator.js.map +1 -1
  606. package/src/ts/nx-generator/schema.d.js +6 -0
  607. package/src/ts/nx-generator/schema.d.js.map +1 -0
  608. package/src/ts/nx-generator/schema.d.ts +1 -0
  609. package/src/ts/nx-generator/schema.json +5 -0
  610. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  611. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  612. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  613. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  614. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  615. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  616. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  617. package/src/ts/nx-plugin/generator.d.ts +3 -3
  618. package/src/ts/nx-plugin/generator.js +60 -51
  619. package/src/ts/nx-plugin/generator.js.map +1 -1
  620. package/src/ts/nx-plugin/schema.d.js +9 -0
  621. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  622. package/src/ts/nx-plugin/schema.json +5 -0
  623. package/src/ts/nx-plugin/utils.d.ts +1 -1
  624. package/src/ts/nx-plugin/utils.js +32 -38
  625. package/src/ts/nx-plugin/utils.js.map +1 -1
  626. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
  627. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  628. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  629. package/src/ts/rdb/agent-connection/generator.js +38 -39
  630. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  631. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  632. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  633. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  634. package/src/ts/rdb/agent-connection/schema.json +5 -0
  635. package/src/ts/rdb/files/config.json.template +14 -0
  636. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  637. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
  638. package/src/ts/rdb/files/src/index.ts.template +0 -1
  639. package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
  640. package/src/ts/rdb/files/src/prisma.ts.template +28 -23
  641. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  642. package/src/ts/rdb/generator.d.ts +3 -7
  643. package/src/ts/rdb/generator.js +158 -130
  644. package/src/ts/rdb/generator.js.map +1 -1
  645. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  646. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  647. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  648. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  649. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  650. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  651. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  652. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  653. package/src/ts/rdb/schema.d.js +6 -0
  654. package/src/ts/rdb/schema.d.js.map +1 -0
  655. package/src/ts/rdb/schema.d.ts +1 -0
  656. package/src/ts/rdb/schema.json +5 -0
  657. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  658. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  659. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  660. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  661. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  662. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  663. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  664. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  665. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  666. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  667. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  668. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  669. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  670. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  671. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  672. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  673. package/src/ts/rdb/utils.d.ts +1 -1
  674. package/src/ts/rdb/utils.js +9 -11
  675. package/src/ts/rdb/utils.js.map +1 -1
  676. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  677. package/src/ts/react-website/agui/generator.d.ts +1 -1
  678. package/src/ts/react-website/agui/generator.js +69 -62
  679. package/src/ts/react-website/agui/generator.js.map +1 -1
  680. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
  681. package/src/ts/react-website/app/generator.d.ts +4 -4
  682. package/src/ts/react-website/app/generator.js +217 -192
  683. package/src/ts/react-website/app/generator.js.map +1 -1
  684. package/src/ts/react-website/app/schema.d.js +6 -0
  685. package/src/ts/react-website/app/schema.d.js.map +1 -0
  686. package/src/ts/react-website/app/schema.d.ts +1 -1
  687. package/src/ts/react-website/app/schema.json +11 -6
  688. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  689. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  690. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  691. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  692. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  693. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  694. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  695. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  696. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  697. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  698. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  699. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  700. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  701. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  702. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  703. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  704. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  705. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  706. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  707. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  708. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  709. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  710. package/src/ts/react-website/runtime-config/generator.js +29 -31
  711. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  712. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  713. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  714. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  715. package/src/ts/react-website/runtime-config/schema.json +5 -0
  716. package/src/ts/sync/generator.d.ts +3 -3
  717. package/src/ts/sync/generator.js +60 -59
  718. package/src/ts/sync/generator.js.map +1 -1
  719. package/src/ts/website/app/generator.d.ts +3 -3
  720. package/src/ts/website/app/generator.js +10 -10
  721. package/src/ts/website/app/generator.js.map +1 -1
  722. package/src/ts/website/app/schema.d.js +6 -0
  723. package/src/ts/website/app/schema.d.js.map +1 -0
  724. package/src/ts/website/app/schema.d.ts +1 -1
  725. package/src/ts/website/app/schema.json +11 -6
  726. package/src/ts/website/auth/generator.d.ts +4 -4
  727. package/src/ts/website/auth/generator.js +11 -10
  728. package/src/ts/website/auth/generator.js.map +1 -1
  729. package/src/ts/website/auth/schema.d.js +6 -0
  730. package/src/ts/website/auth/schema.d.js.map +1 -0
  731. package/src/ts/website/auth/schema.d.ts +1 -0
  732. package/src/ts/website/auth/schema.json +5 -0
  733. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  734. package/src/utils/agent-chat/agent-chat.js +29 -0
  735. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  736. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  737. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  738. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  739. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  740. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  741. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  742. package/src/utils/agent-connection/agent-connection.js +411 -103
  743. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  744. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  745. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  746. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  747. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  748. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  749. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  750. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  751. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  752. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  753. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  754. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  755. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  756. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  757. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  758. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  759. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  760. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  761. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  762. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  763. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  764. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  765. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  766. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  767. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  768. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  769. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  770. package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
  771. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  772. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  773. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  774. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  775. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  776. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  777. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  778. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
  779. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  780. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  781. package/src/utils/api-constructs/api-constructs.js +30 -31
  782. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  783. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
  784. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
  785. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  786. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  787. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
  788. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  789. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  790. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
  791. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  792. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  793. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  794. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  795. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  796. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  797. package/src/utils/ast/website.d.ts +5 -1
  798. package/src/utils/ast/website.js +18 -20
  799. package/src/utils/ast/website.js.map +1 -1
  800. package/src/utils/ast.d.ts +33 -1
  801. package/src/utils/ast.js +130 -70
  802. package/src/utils/ast.js.map +1 -1
  803. package/src/utils/bundle/bundle.d.ts +1 -1
  804. package/src/utils/bundle/bundle.js +50 -47
  805. package/src/utils/bundle/bundle.js.map +1 -1
  806. package/src/utils/commands.js +47 -26
  807. package/src/utils/commands.js.map +1 -1
  808. package/src/utils/config/index.d.ts +5 -5
  809. package/src/utils/config/index.js +5 -4
  810. package/src/utils/config/index.js.map +1 -1
  811. package/src/utils/config/utils.d.ts +13 -3
  812. package/src/utils/config/utils.js +65 -43
  813. package/src/utils/config/utils.js.map +1 -1
  814. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  815. package/src/utils/connection/open-api/react.d.ts +6 -6
  816. package/src/utils/connection/open-api/react.js +81 -77
  817. package/src/utils/connection/open-api/react.js.map +1 -1
  818. package/src/utils/containers.d.ts +1 -1
  819. package/src/utils/containers.js +22 -23
  820. package/src/utils/containers.js.map +1 -1
  821. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  822. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
  823. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  824. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
  825. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  826. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
  827. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  828. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
  829. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  830. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  831. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  832. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  833. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  834. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  835. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  836. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  837. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  838. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  839. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  840. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  841. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  842. package/src/utils/format.d.ts +45 -2
  843. package/src/utils/format.js +323 -81
  844. package/src/utils/format.js.map +1 -1
  845. package/src/utils/fs.d.ts +1 -1
  846. package/src/utils/fs.js +14 -13
  847. package/src/utils/fs.js.map +1 -1
  848. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  849. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  850. package/src/utils/function-constructs/function-constructs.js +21 -26
  851. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  852. package/src/utils/generators.d.ts +4 -0
  853. package/src/utils/generators.js +18 -20
  854. package/src/utils/generators.js.map +1 -1
  855. package/src/utils/git.d.ts +1 -1
  856. package/src/utils/git.js +19 -34
  857. package/src/utils/git.js.map +1 -1
  858. package/src/utils/iac-providers.js +5 -5
  859. package/src/utils/iac-providers.js.map +1 -1
  860. package/src/utils/iac.d.ts +1 -1
  861. package/src/utils/iac.js +12 -14
  862. package/src/utils/iac.js.map +1 -1
  863. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
  864. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  865. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  866. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  867. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  868. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  869. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  870. package/src/utils/install.d.ts +32 -0
  871. package/src/utils/install.js +56 -0
  872. package/src/utils/install.js.map +1 -0
  873. package/src/utils/js.d.ts +4 -0
  874. package/src/utils/js.js +27 -20
  875. package/src/utils/js.js.map +1 -1
  876. package/src/utils/mcp.d.ts +25 -0
  877. package/src/utils/mcp.js +74 -0
  878. package/src/utils/mcp.js.map +1 -0
  879. package/src/utils/metrics.d.ts +9 -3
  880. package/src/utils/metrics.js +61 -46
  881. package/src/utils/metrics.js.map +1 -1
  882. package/src/utils/mock-project-graph.js +8 -12
  883. package/src/utils/mock-project-graph.js.map +1 -1
  884. package/src/utils/names.d.ts +22 -0
  885. package/src/utils/names.js +44 -48
  886. package/src/utils/names.js.map +1 -1
  887. package/src/utils/npm-scope.d.ts +1 -1
  888. package/src/utils/npm-scope.js +9 -17
  889. package/src/utils/npm-scope.js.map +1 -1
  890. package/src/utils/nx.d.ts +25 -4
  891. package/src/utils/nx.js +144 -75
  892. package/src/utils/nx.js.map +1 -1
  893. package/src/utils/nxlv-python.d.ts +1 -1
  894. package/src/utils/nxlv-python.js +27 -15
  895. package/src/utils/nxlv-python.js.map +1 -1
  896. package/src/utils/object.js +5 -11
  897. package/src/utils/object.js.map +1 -1
  898. package/src/utils/paths.d.ts +1 -1
  899. package/src/utils/paths.js +11 -15
  900. package/src/utils/paths.js.map +1 -1
  901. package/src/utils/pkg-manager.js +4 -9
  902. package/src/utils/pkg-manager.js.map +1 -1
  903. package/src/utils/pnpm-workspace.d.ts +1 -1
  904. package/src/utils/pnpm-workspace.js +22 -22
  905. package/src/utils/pnpm-workspace.js.map +1 -1
  906. package/src/utils/port.d.ts +31 -3
  907. package/src/utils/port.js +72 -12
  908. package/src/utils/port.js.map +1 -1
  909. package/src/utils/py.d.ts +16 -3
  910. package/src/utils/py.js +72 -47
  911. package/src/utils/py.js.map +1 -1
  912. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
  913. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
  914. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
  915. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
  916. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
  917. package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
  918. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  919. package/src/utils/shared-constructs-constants.d.ts +1 -0
  920. package/src/utils/shared-constructs-constants.js +16 -15
  921. package/src/utils/shared-constructs-constants.js.map +1 -1
  922. package/src/utils/shared-constructs.d.ts +2 -2
  923. package/src/utils/shared-constructs.js +57 -54
  924. package/src/utils/shared-constructs.js.map +1 -1
  925. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  926. package/src/utils/shared-dynamodb-scripts.js +25 -0
  927. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  928. package/src/utils/shared-infra-config.d.ts +1 -1
  929. package/src/utils/shared-infra-config.js +30 -31
  930. package/src/utils/shared-infra-config.js.map +1 -1
  931. package/src/utils/shared-infra-scripts.d.ts +11 -0
  932. package/src/utils/shared-infra-scripts.js +40 -0
  933. package/src/utils/shared-infra-scripts.js.map +1 -0
  934. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  935. package/src/utils/shared-rdb-scripts.js +28 -0
  936. package/src/utils/shared-rdb-scripts.js.map +1 -0
  937. package/src/utils/shared-scripts.d.ts +2 -5
  938. package/src/utils/shared-scripts.js +12 -38
  939. package/src/utils/shared-scripts.js.map +1 -1
  940. package/src/utils/shared-shadcn.d.ts +1 -1
  941. package/src/utils/shared-shadcn.js +64 -72
  942. package/src/utils/shared-shadcn.js.map +1 -1
  943. package/src/utils/test.d.ts +13 -1
  944. package/src/utils/test.js +35 -23
  945. package/src/utils/test.js.map +1 -1
  946. package/src/utils/toml.d.ts +1 -1
  947. package/src/utils/toml.js +10 -14
  948. package/src/utils/toml.js.map +1 -1
  949. package/src/utils/versions.d.ts +116 -84
  950. package/src/utils/versions.js +124 -102
  951. package/src/utils/versions.js.map +1 -1
  952. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
  953. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  954. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
  955. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  956. package/src/utils/website-constructs/website-constructs.js +31 -30
  957. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  958. package/bin/aws-nx-mcp.js +0 -17
  959. package/bin/aws-nx-mcp.js.map +0 -1
  960. package/sdk/connection.d.ts +0 -6
  961. package/sdk/connection.js +0 -10
  962. package/sdk/connection.js.map +0 -1
  963. package/sdk/open-api.d.ts +0 -10
  964. package/sdk/open-api.js +0 -15
  965. package/sdk/open-api.js.map +0 -1
  966. package/sdk/py.d.ts +0 -14
  967. package/sdk/py.js +0 -18
  968. package/sdk/py.js.map +0 -1
  969. package/sdk/terraform.d.ts +0 -6
  970. package/sdk/terraform.js +0 -11
  971. package/sdk/terraform.js.map +0 -1
  972. package/sdk/ts.d.ts +0 -29
  973. package/sdk/ts.js +0 -47
  974. package/sdk/ts.js.map +0 -1
  975. package/sdk/utils/ast.js +0 -12
  976. package/sdk/utils/ast.js.map +0 -1
  977. package/sdk/utils/format.js +0 -10
  978. package/sdk/utils/format.js.map +0 -1
  979. package/sdk/utils/test.js +0 -10
  980. package/sdk/utils/test.js.map +0 -1
  981. package/src/connection/agent-serve-local.js +0 -48
  982. package/src/connection/agent-serve-local.js.map +0 -1
  983. package/src/connection/serve-local.d.ts +0 -15
  984. package/src/connection/serve-local.js +0 -41
  985. package/src/connection/serve-local.js.map +0 -1
  986. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  987. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  988. package/src/py/agent/react-connection/serve-local.js +0 -30
  989. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  990. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  991. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  992. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  993. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  994. package/src/ts/agent/react-connection/serve-local.js +0 -19
  995. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  996. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  997. package/src/ts/lib/eslint.d.ts +0 -14
  998. package/src/ts/lib/eslint.js +0 -90
  999. package/src/ts/lib/eslint.js.map +0 -1
  1000. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1001. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  1002. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  1003. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1004. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1005. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1006. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1007. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1008. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1009. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  1010. /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
  1011. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  1012. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1013. /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
  1014. /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
  1015. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1016. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
  1017. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1,26 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normaliseOpenApiSpecForCodeGen = 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 lodash_clonedeepwith_1 = tslib_1.__importDefault(require("lodash.clonedeepwith"));
10
- const refs_1 = require("./refs");
11
- const names_1 = require("../../utils/names");
12
- const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
4
+ */ import cloneDeepWith from "lodash.clonedeepwith";
5
+ import { camelCase, pascalCase, toClassName, upperFirst } from "../../utils/names.js";
6
+ import { STREAMING_CONTENT_TYPES } from "./codegen-data/types.js";
7
+ import { isRef, resolveIfRef, resolveRef, splitRef } from "./refs.js";
13
8
  /**
14
9
  * Normalise schema names to valid TypeScript identifiers.
15
10
  * Converts names with hyphens or other invalid characters to PascalCase.
16
11
  * Throws an error if normalisation would create a name clash.
17
- */
18
- const normaliseSchemaNames = (spec) => {
12
+ */ const normaliseSchemaNames = (spec)=>{
19
13
  const schemaNameMapping = {};
20
- const existingSchemaNames = new Set(Object.keys(spec.components?.schemas ?? {}));
14
+ const originalNames = Object.keys(spec.components?.schemas ?? {});
15
+ const existingSchemaNames = new Set(originalNames);
16
+ // The name each schema resolves to (its normalised form, or itself when it
17
+ // needs no normalisation). Used to detect two distinct schemas that would
18
+ // collapse onto the same identifier.
19
+ const resolvedNameOwners = {};
21
20
  // Build mapping of old names to new names
22
- Object.keys(spec.components?.schemas ?? {}).forEach((name) => {
23
- const normalizedName = (0, names_1.toClassName)(name);
21
+ originalNames.forEach((name)=>{
22
+ const normalizedName = toClassName(name);
24
23
  if (normalizedName !== name) {
25
24
  // Check if the normalized name would clash with an existing schema
26
25
  if (existingSchemaNames.has(normalizedName)) {
@@ -28,65 +27,90 @@ const normaliseSchemaNames = (spec) => {
28
27
  }
29
28
  schemaNameMapping[name] = normalizedName;
30
29
  }
30
+ // Detect two distinct schemas resolving to the same name (e.g. "Foo-Bar"
31
+ // and "Foo.Bar" both normalise to "FooBar"), which would otherwise
32
+ // silently overwrite one another.
33
+ const owner = resolvedNameOwners[normalizedName];
34
+ if (owner !== undefined) {
35
+ throw new Error(`Schema name normalization conflict: "${name}" and "${owner}" both normalize to "${normalizedName}". Please rename one of these schemas in your OpenAPI specification.`);
36
+ }
37
+ resolvedNameOwners[normalizedName] = name;
31
38
  });
32
39
  // If no normalization needed, return spec as-is
33
40
  if (Object.keys(schemaNameMapping).length === 0) {
34
41
  return spec;
35
42
  }
36
43
  // Update all $ref references throughout the spec
37
- spec = (0, lodash_clonedeepwith_1.default)(spec, (v) => {
38
- if ((0, refs_1.isRef)(v)) {
39
- const parts = (0, refs_1.splitRef)(v.$ref);
40
- if (parts.length === 3 &&
41
- parts[0] === 'components' &&
42
- parts[1] === 'schemas') {
44
+ spec = cloneDeepWith(spec, (v)=>{
45
+ if (isRef(v)) {
46
+ const parts = splitRef(v.$ref);
47
+ if (parts.length === 3 && parts[0] === 'components' && parts[1] === 'schemas') {
43
48
  const oldName = parts[2];
44
49
  const newName = schemaNameMapping[oldName];
45
50
  if (newName) {
46
- return { $ref: `#/components/schemas/${newName}` };
51
+ return {
52
+ $ref: `#/components/schemas/${newName}`
53
+ };
47
54
  }
48
55
  }
49
56
  }
50
57
  });
51
- // Rename schema keys
52
- Object.entries(schemaNameMapping).forEach(([oldName, newName]) => {
53
- spec.components.schemas[newName] = spec.components.schemas[oldName];
58
+ // Rename schema keys, recording the original name so downstream code can
59
+ // recover the on-the-wire value (e.g. an implicit discriminator matches on
60
+ // the original schema name, not its normalised identifier).
61
+ Object.entries(schemaNameMapping).forEach(([oldName, newName])=>{
62
+ const schema = spec.components.schemas[oldName];
63
+ if (schema && !isRef(schema)) {
64
+ schema['x-aws-nx-original-name'] = oldName;
65
+ }
66
+ spec.components.schemas[newName] = schema;
54
67
  delete spec.components.schemas[oldName];
55
68
  });
56
69
  return spec;
57
70
  };
58
- const isCompositeSchema = (schema) => !!schema.allOf || !!schema.anyOf || !!schema.oneOf;
59
- const hasSubSchemasToVisit = (schema) => !!schema &&
60
- !(0, refs_1.isRef)(schema) &&
61
- (['object', 'array'].includes(schema.type) ||
62
- isCompositeSchema(schema) ||
63
- !!schema.not ||
64
- (schema.type === 'string' && !!schema.enum));
65
- const filterInlineCompositeSchemas = (schemas, nameParts, namePartPrefix, propPath) => {
71
+ const isCompositeSchema = (schema)=>!!schema.allOf || !!schema.anyOf || !!schema.oneOf;
72
+ /**
73
+ * The media type whose schema is hoisted for a request/response: prefer
74
+ * `application/json`, falling back to any `+json` vendored type (e.g.
75
+ * `application/problem+json`).
76
+ */ const preferredJsonMediaType = (mediaTypes)=>mediaTypes.find((mediaType)=>mediaType === 'application/json') ?? mediaTypes.find((mediaType)=>mediaType.split(';')[0].endsWith('+json'));
77
+ const hasSubSchemasToVisit = (schema)=>!!schema && !isRef(schema) && ([
78
+ 'object',
79
+ 'array'
80
+ ].includes(schema.type) || isCompositeSchema(schema) || !!schema.not || schema.type === 'string' && !!schema.enum);
81
+ const filterInlineCompositeSchemas = (schemas, nameParts, namePartPrefix, propPath)=>{
66
82
  let inlineSchemaIndex = 0;
67
- return schemas.flatMap((s, i) => {
83
+ return schemas.flatMap((s, i)=>{
68
84
  if (hasSubSchemasToVisit(s)) {
69
85
  const subSchema = {
70
- nameParts: s.title
71
- ? [(0, names_1.pascalCase)(s.title)]
72
- : [
73
- ...nameParts,
74
- `${namePartPrefix}${inlineSchemaIndex === 0 ? '' : inlineSchemaIndex}`,
75
- ],
86
+ nameParts: s.title ? [
87
+ pascalCase(s.title)
88
+ ] : [
89
+ ...nameParts,
90
+ `${namePartPrefix}${inlineSchemaIndex === 0 ? '' : inlineSchemaIndex}`
91
+ ],
76
92
  schema: s,
77
- propPath: [...propPath, i],
93
+ propPath: [
94
+ ...propPath,
95
+ i
96
+ ]
78
97
  };
79
98
  inlineSchemaIndex++;
80
- return [subSchema];
99
+ return [
100
+ subSchema
101
+ ];
81
102
  }
82
103
  return [];
83
104
  });
84
105
  };
85
106
  /**
86
107
  * Returns a unique model/schema name for any models which we hoist
87
- */
88
- const createUniqueModelName = (nameParts, seenModelNameCounts) => {
89
- const candidateName = nameParts.map(names_1.upperFirst).join('');
108
+ */ const createUniqueModelName = (nameParts, seenModelNameCounts)=>{
109
+ // Normalise each part to a class-name form (stripping `_`, hyphens, etc) so
110
+ // the hoisted schema name matches what `toTypeScriptModelName`/`toClassName`
111
+ // later derive — otherwise a part like `store_photos` yields a `Store_photos`
112
+ // schema whose reference (`StorePhotos`) no longer resolves.
113
+ const candidateName = nameParts.map(toClassName).join('');
90
114
  const seenModelNameCount = seenModelNameCounts[candidateName];
91
115
  // We have not seen this name so we're free to use it
92
116
  if (seenModelNameCount === undefined) {
@@ -97,86 +121,92 @@ const createUniqueModelName = (nameParts, seenModelNameCounts) => {
97
121
  seenModelNameCounts[candidateName]++;
98
122
  return `${candidateName}${seenModelNameCount}`;
99
123
  };
100
- const hoistInlineObjectSubSchemas = (nameParts, schema, seenModelNameCounts) => {
124
+ const hoistInlineObjectSubSchemas = (nameParts, schema, seenModelNameCounts)=>{
101
125
  // Find all the inline subschemas we should visit
102
126
  const inlineSubSchemas = [
103
- ...(hasSubSchemasToVisit(schema.not)
104
- ? [
105
- {
106
- nameParts: schema.not?.title
107
- ? [(0, names_1.pascalCase)(schema.not?.title)]
108
- : [...nameParts, 'Not'],
109
- schema: schema.not,
110
- propPath: ['not'],
111
- },
112
- ]
113
- : []),
114
- ...(schema.anyOf
115
- ? filterInlineCompositeSchemas(schema.anyOf, nameParts, 'AnyOf', [
116
- 'anyOf',
117
- ])
118
- : []),
119
- ...(schema.allOf
120
- ? filterInlineCompositeSchemas(schema.allOf, nameParts, 'AllOf', [
121
- 'allOf',
122
- ])
123
- : []),
124
- ...(schema.oneOf
125
- ? filterInlineCompositeSchemas(schema.oneOf, nameParts, 'OneOf', [
126
- 'oneOf',
127
- ])
128
- : []),
129
- ...('items' in schema && hasSubSchemasToVisit(schema.items)
130
- ? [
131
- {
132
- nameParts: schema.items?.title
133
- ? [(0, names_1.pascalCase)(schema.items?.title)]
134
- : [...nameParts, 'Item'],
135
- schema: schema.items,
136
- propPath: ['items'],
137
- },
138
- ]
139
- : []),
140
- ...Object.entries(schema.properties ?? {})
141
- .filter(([, s]) => hasSubSchemasToVisit(s))
142
- .map(([name, s]) => ({
143
- nameParts: s.title
144
- ? [(0, names_1.pascalCase)(s.title)]
145
- : [...nameParts, name],
146
- schema: s,
147
- propPath: ['properties', name],
148
- })),
149
- ...(typeof schema.additionalProperties !== 'boolean' &&
150
- hasSubSchemasToVisit(schema.additionalProperties)
151
- ? [
152
- {
153
- nameParts: schema.additionalProperties?.title
154
- ? [(0, names_1.pascalCase)(schema.additionalProperties?.title)]
155
- : [...nameParts, 'Value'],
156
- schema: schema.additionalProperties,
157
- propPath: ['additionalProperties'],
158
- },
159
- ]
160
- : []),
161
- ...Object.entries(schema.patternProperties ?? {})
162
- .filter(([, s]) => hasSubSchemasToVisit(s))
163
- .map(([pattern, s], i) => ({
164
- nameParts: s.title
165
- ? [(0, names_1.pascalCase)(s.title)]
166
- : [...nameParts, (0, names_1.pascalCase)(pattern), `${i}`],
167
- schema: s,
168
- propPath: ['patternProperties', pattern],
169
- })),
127
+ ...hasSubSchemasToVisit(schema.not) ? [
128
+ {
129
+ nameParts: schema.not?.title ? [
130
+ pascalCase(schema.not?.title)
131
+ ] : [
132
+ ...nameParts,
133
+ 'Not'
134
+ ],
135
+ schema: schema.not,
136
+ propPath: [
137
+ 'not'
138
+ ]
139
+ }
140
+ ] : [],
141
+ ...schema.anyOf ? filterInlineCompositeSchemas(schema.anyOf, nameParts, 'AnyOf', [
142
+ 'anyOf'
143
+ ]) : [],
144
+ ...schema.allOf ? filterInlineCompositeSchemas(schema.allOf, nameParts, 'AllOf', [
145
+ 'allOf'
146
+ ]) : [],
147
+ ...schema.oneOf ? filterInlineCompositeSchemas(schema.oneOf, nameParts, 'OneOf', [
148
+ 'oneOf'
149
+ ]) : [],
150
+ ...'items' in schema && hasSubSchemasToVisit(schema.items) ? [
151
+ {
152
+ nameParts: schema.items?.title ? [
153
+ pascalCase(schema.items?.title)
154
+ ] : [
155
+ ...nameParts,
156
+ 'Item'
157
+ ],
158
+ schema: schema.items,
159
+ propPath: [
160
+ 'items'
161
+ ]
162
+ }
163
+ ] : [],
164
+ ...Object.entries(schema.properties ?? {}).filter(([, s])=>hasSubSchemasToVisit(s)).map(([name, s])=>({
165
+ nameParts: s.title ? [
166
+ pascalCase(s.title)
167
+ ] : [
168
+ ...nameParts,
169
+ name
170
+ ],
171
+ schema: s,
172
+ propPath: [
173
+ 'properties',
174
+ name
175
+ ]
176
+ })),
177
+ ...typeof schema.additionalProperties !== 'boolean' && hasSubSchemasToVisit(schema.additionalProperties) ? [
178
+ {
179
+ nameParts: schema.additionalProperties?.title ? [
180
+ pascalCase(schema.additionalProperties?.title)
181
+ ] : [
182
+ ...nameParts,
183
+ 'Value'
184
+ ],
185
+ schema: schema.additionalProperties,
186
+ propPath: [
187
+ 'additionalProperties'
188
+ ]
189
+ }
190
+ ] : [],
191
+ ...Object.entries(schema.patternProperties ?? {}).filter(([, s])=>hasSubSchemasToVisit(s)).map(([pattern, s], i)=>({
192
+ nameParts: s.title ? [
193
+ pascalCase(s.title)
194
+ ] : [
195
+ ...nameParts,
196
+ pascalCase(pattern),
197
+ `${i}`
198
+ ],
199
+ schema: s,
200
+ propPath: [
201
+ 'patternProperties',
202
+ pattern
203
+ ]
204
+ }))
170
205
  ];
171
206
  // Hoist these recursively first (ie depth first search) so that we don't miss refs
172
- const recursiveRefs = inlineSubSchemas.flatMap((s) => hoistInlineObjectSubSchemas(s.nameParts, s.schema, seenModelNameCounts));
207
+ const recursiveRefs = inlineSubSchemas.flatMap((s)=>hoistInlineObjectSubSchemas(s.nameParts, s.schema, seenModelNameCounts));
173
208
  // Clone the object subschemas to build the refs. Note that only objects with "properties" are hoisted as these are non-dictionary types
174
- const refs = inlineSubSchemas
175
- .filter((s) => (s.schema.type === 'object' && s.schema.properties) ||
176
- isCompositeSchema(s.schema) ||
177
- (s.schema.type === 'object' && s.schema.patternProperties) ||
178
- (s.schema.type === 'string' && s.schema.enum))
179
- .map((s) => {
209
+ const refs = inlineSubSchemas.filter((s)=>s.schema.type === 'object' && s.schema.properties || isCompositeSchema(s.schema) || s.schema.type === 'object' && s.schema.patternProperties || s.schema.type === 'string' && s.schema.enum).map((s)=>{
180
210
  const name = createUniqueModelName(s.nameParts, seenModelNameCounts);
181
211
  const $ref = `#/components/schemas/${name}`;
182
212
  const ref = {
@@ -184,192 +214,301 @@ const hoistInlineObjectSubSchemas = (nameParts, schema, seenModelNameCounts) =>
184
214
  name,
185
215
  schema: structuredClone({
186
216
  ...s.schema,
187
- 'x-aws-nx-hoisted': true,
188
- }),
217
+ 'x-aws-nx-hoisted': true
218
+ })
189
219
  };
190
220
  // Replace each subschema with a ref in the spec
191
- const schemaWithPropToReplace = s.propPath
192
- .slice(0, -1)
193
- .reduce((resolvedInSchema, pathPart) => resolvedInSchema?.[pathPart], schema);
221
+ const schemaWithPropToReplace = s.propPath.slice(0, -1).reduce((resolvedInSchema, pathPart)=>resolvedInSchema?.[pathPart], schema);
194
222
  if (schemaWithPropToReplace) {
195
- schemaWithPropToReplace[s.propPath[s.propPath.length - 1]] = { $ref };
223
+ schemaWithPropToReplace[s.propPath[s.propPath.length - 1]] = {
224
+ $ref
225
+ };
196
226
  }
197
227
  return ref;
198
228
  });
199
- return [...refs, ...recursiveRefs];
229
+ return [
230
+ ...refs,
231
+ ...recursiveRefs
232
+ ];
200
233
  };
201
234
  /**
202
235
  * Rewrites OpenAPI 3.1 `const` schemas to the semantically equivalent `enum`
203
- * form. FastAPI emits `{type: 'string', const: 'X'}` for `Literal['X']`;
204
- * downstream hey-api/openapi-ts handles the enum shape but synthesises
205
- * phantom named references for the const shape.
206
- */
207
- const rewriteConstToEnum = (spec) => (0, lodash_clonedeepwith_1.default)(spec, (v) => {
208
- if (v &&
209
- typeof v === 'object' &&
210
- !Array.isArray(v) &&
211
- 'const' in v &&
212
- !('enum' in v)) {
213
- const { const: constValue, ...rest } = v;
214
- return (0, lodash_clonedeepwith_1.default)({ ...rest, enum: [constValue] });
215
- }
216
- });
236
+ * form. FastAPI emits `{type: 'string', const: 'X'}` for `Literal['X']`; the
237
+ * parser understands the enum shape, whereas the const shape would synthesise
238
+ * phantom named references.
239
+ */ const rewriteConstToEnum = (spec)=>{
240
+ const rewrite = (v)=>{
241
+ if (v && typeof v === 'object' && !Array.isArray(v) && 'const' in v && !('enum' in v)) {
242
+ const { const: constValue, ...rest } = v;
243
+ // Recurse with the same rewrite so consts nested within a rewritten
244
+ // schema are also rewritten.
245
+ return cloneDeepWith({
246
+ ...rest,
247
+ enum: [
248
+ constValue
249
+ ]
250
+ }, rewrite);
251
+ }
252
+ };
253
+ return cloneDeepWith(spec, rewrite);
254
+ };
255
+ /**
256
+ * Rewrites a composite schema with sibling `properties`/`required` (a valid
257
+ * JSON Schema conjunction, common in FastAPI/Pydantic output) into an
258
+ * equivalent extra `allOf` member, so the parser sees a pure composite and the
259
+ * sibling fields are neither dropped from the type nor stripped when
260
+ * marshalling.
261
+ */ const rewriteCompositeSiblingProperties = (spec)=>{
262
+ const rewrite = (v)=>{
263
+ if (v && typeof v === 'object' && !Array.isArray(v) && Array.isArray(v.allOf) && v.properties) {
264
+ const { properties, required, type: _type, ...rest } = v;
265
+ return cloneDeepWith({
266
+ ...rest,
267
+ allOf: [
268
+ ...v.allOf,
269
+ {
270
+ type: 'object',
271
+ properties,
272
+ ...required ? {
273
+ required
274
+ } : {}
275
+ }
276
+ ]
277
+ }, rewrite);
278
+ }
279
+ };
280
+ return cloneDeepWith(spec, rewrite);
281
+ };
282
+ /**
283
+ * Rewrites an OpenAPI 3.1 multi-type schema (`type: ['integer', 'string']`)
284
+ * into the equivalent `anyOf` of single-type schemas, dropping `null` from the
285
+ * list and marking the schema nullable instead. This lets the parser render a
286
+ * proper union rather than collapsing to the first declared type.
287
+ */ const rewriteMultiTypeToAnyOf = (spec)=>{
288
+ const rewrite = (v)=>{
289
+ if (v && typeof v === 'object' && !Array.isArray(v) && Array.isArray(v.type) && !('anyOf' in v) && !('oneOf' in v) && !('allOf' in v) && !('enum' in v)) {
290
+ const { type, nullable, ...rest } = v;
291
+ const nonNull = type.filter((t)=>t !== 'null');
292
+ const isNullable = nullable === true || nonNull.length !== type.length;
293
+ // Recurse with the same rewrite so multi-type schemas nested within a
294
+ // rewritten schema (e.g. the items of a nullable array) are also
295
+ // rewritten.
296
+ // A single non-null type is not a union; keep it as a plain typed schema.
297
+ if (nonNull.length <= 1) {
298
+ return cloneDeepWith({
299
+ ...rest,
300
+ ...nonNull.length === 1 ? {
301
+ type: nonNull[0]
302
+ } : {},
303
+ ...isNullable ? {
304
+ nullable: true
305
+ } : {}
306
+ }, rewrite);
307
+ }
308
+ return cloneDeepWith({
309
+ ...rest,
310
+ anyOf: nonNull.map((t)=>({
311
+ type: t
312
+ })),
313
+ ...isNullable ? {
314
+ nullable: true
315
+ } : {}
316
+ }, rewrite);
317
+ }
318
+ };
319
+ return cloneDeepWith(spec, rewrite);
320
+ };
321
+ /**
322
+ * Inlines `$ref` path items so that every operation is visited by the
323
+ * normalisation below (operationId assignment, schema hoisting). Each path
324
+ * gets its own copy, so paths sharing a path item are normalised
325
+ * independently.
326
+ */ const inlinePathItemRefs = (spec)=>{
327
+ Object.entries(spec.paths ?? {}).forEach(([path, pathItem])=>{
328
+ if (isRef(pathItem)) {
329
+ const { $ref, ...rest } = pathItem;
330
+ spec.paths[path] = {
331
+ ...structuredClone(resolveRef(spec, $ref)),
332
+ ...rest
333
+ };
334
+ }
335
+ });
336
+ };
217
337
  /**
218
338
  * In order to ensure we generate models consistently whether or not users used refs or inline schemas,
219
339
  * we hoist any inline refs to non-primitives
220
- */
221
- const normaliseOpenApiSpecForCodeGen = (inSpec) => {
340
+ */ export const normaliseOpenApiSpecForCodeGen = (inSpec)=>{
222
341
  // Clone the spec so we're free to mutate it
223
- let spec = (0, lodash_clonedeepwith_1.default)(inSpec);
342
+ let spec = cloneDeepWith(inSpec);
343
+ inlinePathItemRefs(spec);
224
344
  spec = rewriteConstToEnum(spec);
345
+ spec = rewriteMultiTypeToAnyOf(spec);
346
+ spec = rewriteCompositeSiblingProperties(spec);
225
347
  // Ensure spec has schemas set
226
348
  if (!spec?.components?.schemas) {
227
349
  spec.components = {
228
- ...spec.components,
350
+ ...spec.components
229
351
  };
230
352
  spec.components.schemas = {
231
- ...spec.components.schemas,
353
+ ...spec.components.schemas
232
354
  };
233
355
  }
234
356
  const seenOperationIds = new Set();
235
357
  const duplicatedOperationIds = new Set();
236
358
  // Make sure all operationIds are camelCase, and find which ones are duplicated
237
- Object.entries(spec.paths ?? {}).forEach(([path, pathOps]) => Object.entries(pathOps ?? {}).forEach(([method, op]) => {
238
- const operation = (0, refs_1.resolveIfRef)(spec, op);
239
- if (operation && typeof operation === 'object') {
240
- const operationId = (0, lodash_camelcase_1.default)(operation.operationId ?? `${method}-${path}`);
241
- operation.operationId = operationId;
242
- if (seenOperationIds.has(operationId)) {
243
- duplicatedOperationIds.add(operationId);
359
+ Object.entries(spec.paths ?? {}).forEach(([path, pathOps])=>Object.entries(pathOps ?? {}).forEach(([method, op])=>{
360
+ const operation = resolveIfRef(spec, op);
361
+ if (operation && typeof operation === 'object') {
362
+ const operationId = camelCase(operation.operationId ?? `${method}-${path}`);
363
+ operation.operationId = operationId;
364
+ if (seenOperationIds.has(operationId)) {
365
+ duplicatedOperationIds.add(operationId);
366
+ }
367
+ seenOperationIds.add(operationId);
244
368
  }
245
- seenOperationIds.add(operationId);
246
- }
247
- }));
369
+ }));
248
370
  // Reset seen operation ids
249
371
  seenOperationIds.clear();
250
372
  const untagged = Symbol('untagged');
251
373
  const seenOperationIdsByTag = {};
252
374
  // "Hoist" inline request and response schemas
253
- Object.entries(spec.paths ?? {}).forEach(([path, pathOps]) => Object.entries(pathOps ?? {}).forEach(([method, op]) => {
254
- const operation = (0, refs_1.resolveIfRef)(spec, op);
255
- if (operation && typeof operation === 'object') {
256
- const tags = operation.tags ?? [];
257
- const operationId = operation.operationId;
258
- // Allow operations to have the same id
259
- let deduplicatedOpId = operationId;
260
- let deduplicatedDotNotationOpId = operationId;
261
- // Attempt to deduplicate the operationId by its tags
262
- if (duplicatedOperationIds.has(operationId)) {
263
- deduplicatedOpId = (0, lodash_camelcase_1.default)(tags.map((t) => `${t}-`).join('') + operationId);
264
- deduplicatedDotNotationOpId =
265
- tags.map((t) => `${(0, lodash_camelcase_1.default)(t)}.`).join('') +
266
- (0, lodash_camelcase_1.default)(operationId);
267
- }
268
- operation['x-aws-nx-deduplicated-op-id'] = deduplicatedOpId;
269
- operation['x-aws-nx-deduplicated-dot-op-id'] =
270
- deduplicatedDotNotationOpId;
271
- seenOperationIds.add(deduplicatedOpId);
272
- // Throw an error for any duplicated operation ids with the same tag, or untagged
273
- [...(tags.length === 0 ? [untagged] : tags)].forEach((tag) => {
274
- if (seenOperationIdsByTag[tag] &&
275
- seenOperationIdsByTag[tag].has(operationId)) {
276
- throw new Error(tag === untagged
277
- ? `Untagged operations cannot have the same operationId (${operationId})`
278
- : `Operations with the same tag (${String(tag)}) cannot have the same operationId (${operationId})`);
375
+ Object.entries(spec.paths ?? {}).forEach(([path, pathOps])=>Object.entries(pathOps ?? {}).forEach(([method, op])=>{
376
+ const operation = resolveIfRef(spec, op);
377
+ if (operation && typeof operation === 'object') {
378
+ const tags = operation.tags ?? [];
379
+ const operationId = operation.operationId;
380
+ // Allow operations to have the same id
381
+ let deduplicatedOpId = operationId;
382
+ let deduplicatedDotNotationOpId = operationId;
383
+ // Attempt to deduplicate the operationId by its tags
384
+ if (duplicatedOperationIds.has(operationId)) {
385
+ deduplicatedOpId = camelCase(tags.map((t)=>`${t}-`).join('') + operationId);
386
+ deduplicatedDotNotationOpId = tags.map((t)=>`${camelCase(t)}.`).join('') + camelCase(operationId);
279
387
  }
280
- seenOperationIdsByTag[tag] = new Set([
281
- ...(seenOperationIdsByTag[tag] ?? []),
282
- operationId,
283
- ]);
284
- });
285
- if ('responses' in operation) {
286
- Object.entries(operation.responses ?? {}).forEach(([code, res]) => {
287
- const response = (0, refs_1.resolveIfRef)(spec, res);
288
- const jsonResponseSchema = response?.content?.['application/json']?.schema;
289
- if (jsonResponseSchema &&
290
- !(0, refs_1.isRef)(jsonResponseSchema) &&
291
- (['object', 'array'].includes(jsonResponseSchema.type) ||
292
- isCompositeSchema(jsonResponseSchema) ||
293
- (jsonResponseSchema?.type === 'string' &&
294
- jsonResponseSchema.enum))) {
295
- const schemaName = `${(0, names_1.upperFirst)(deduplicatedOpId)}${code}Response`;
296
- spec.components.schemas[schemaName] = jsonResponseSchema;
297
- response.content['application/json'].schema = {
298
- $ref: `#/components/schemas/${schemaName}`,
299
- };
388
+ operation['x-aws-nx-deduplicated-op-id'] = deduplicatedOpId;
389
+ operation['x-aws-nx-deduplicated-dot-op-id'] = deduplicatedDotNotationOpId;
390
+ seenOperationIds.add(deduplicatedOpId);
391
+ // Throw an error for any duplicated operation ids with the same tag, or untagged
392
+ [
393
+ ...tags.length === 0 ? [
394
+ untagged
395
+ ] : tags
396
+ ].forEach((tag)=>{
397
+ if (seenOperationIdsByTag[tag] && seenOperationIdsByTag[tag].has(operationId)) {
398
+ throw new Error(tag === untagged ? `Untagged operations cannot have the same operationId (${operationId})` : `Operations with the same tag (${String(tag)}) cannot have the same operationId (${operationId})`);
300
399
  }
400
+ seenOperationIdsByTag[tag] = new Set([
401
+ ...seenOperationIdsByTag[tag] ?? [],
402
+ operationId
403
+ ]);
301
404
  });
302
- }
303
- if ('requestBody' in operation) {
304
- const requestBody = (0, refs_1.resolveIfRef)(spec, operation.requestBody);
305
- const jsonRequestSchema = requestBody?.content?.['application/json']?.schema;
306
- if (jsonRequestSchema &&
307
- !(0, refs_1.isRef)(jsonRequestSchema) &&
308
- (['object', 'array'].includes(jsonRequestSchema.type) ||
309
- isCompositeSchema(jsonRequestSchema) ||
310
- (jsonRequestSchema?.type === 'string' && jsonRequestSchema.enum))) {
311
- const schemaName = `${(0, names_1.upperFirst)(deduplicatedOpId)}RequestContent`;
312
- spec.components.schemas[schemaName] = jsonRequestSchema;
313
- requestBody.content['application/json'].schema = {
314
- $ref: `#/components/schemas/${schemaName}`,
315
- };
405
+ if ('responses' in operation) {
406
+ Object.entries(operation.responses ?? {}).forEach(([code, res])=>{
407
+ const response = resolveIfRef(spec, res);
408
+ const jsonMediaType = preferredJsonMediaType(Object.keys(response?.content ?? {}));
409
+ const jsonResponseSchema = jsonMediaType ? response.content[jsonMediaType].schema : undefined;
410
+ if (jsonResponseSchema && !isRef(jsonResponseSchema) && ([
411
+ 'object',
412
+ 'array'
413
+ ].includes(jsonResponseSchema.type) || isCompositeSchema(jsonResponseSchema) || jsonResponseSchema?.type === 'string' && jsonResponseSchema.enum)) {
414
+ const schemaName = `${upperFirst(deduplicatedOpId)}${code}Response`;
415
+ spec.components.schemas[schemaName] = jsonResponseSchema;
416
+ response.content[jsonMediaType].schema = {
417
+ $ref: `#/components/schemas/${schemaName}`
418
+ };
419
+ }
420
+ // Hoist inline streaming item schemas (OpenAPI 3.2 itemSchema) so
421
+ // each streamed item gets a named model.
422
+ STREAMING_CONTENT_TYPES.forEach((mediaType)=>{
423
+ const streamingContent = response?.content?.[mediaType];
424
+ const itemSchema = streamingContent?.itemSchema;
425
+ if (itemSchema && !isRef(itemSchema) && ([
426
+ 'object',
427
+ 'array'
428
+ ].includes(itemSchema.type) || isCompositeSchema(itemSchema) || itemSchema.type === 'string' && itemSchema.enum)) {
429
+ const schemaName = `${upperFirst(deduplicatedOpId)}${code}ResponseItem`;
430
+ spec.components.schemas[schemaName] = itemSchema;
431
+ streamingContent.itemSchema = {
432
+ $ref: `#/components/schemas/${schemaName}`
433
+ };
434
+ }
435
+ });
436
+ });
316
437
  }
317
- }
318
- // Hoist parameter schemas
319
- if ('parameters' in operation) {
320
- (operation.parameters ?? []).forEach((p) => {
321
- const param = (0, refs_1.resolveIfRef)(spec, p);
322
- const paramSchema = param?.schema;
323
- if (paramSchema &&
324
- !(0, refs_1.isRef)(paramSchema) &&
325
- isCompositeSchema(paramSchema)) {
326
- const schemaName = `${(0, names_1.upperFirst)(deduplicatedOpId)}Request${(0, names_1.upperFirst)(param.in)}${(0, names_1.upperFirst)((0, lodash_camelcase_1.default)(param.name))}`;
327
- spec.components.schemas[schemaName] = paramSchema;
328
- param.schema = { $ref: `#/components/schemas/${schemaName}` };
438
+ if ('requestBody' in operation) {
439
+ const requestBody = resolveIfRef(spec, operation.requestBody);
440
+ const jsonMediaType = preferredJsonMediaType(Object.keys(requestBody?.content ?? {}));
441
+ const jsonRequestSchema = jsonMediaType ? requestBody.content[jsonMediaType].schema : undefined;
442
+ if (jsonRequestSchema && !isRef(jsonRequestSchema) && ([
443
+ 'object',
444
+ 'array'
445
+ ].includes(jsonRequestSchema.type) || isCompositeSchema(jsonRequestSchema) || jsonRequestSchema?.type === 'string' && jsonRequestSchema.enum)) {
446
+ const schemaName = `${upperFirst(deduplicatedOpId)}RequestContent`;
447
+ spec.components.schemas[schemaName] = jsonRequestSchema;
448
+ requestBody.content[jsonMediaType].schema = {
449
+ $ref: `#/components/schemas/${schemaName}`
450
+ };
329
451
  }
330
- });
452
+ }
453
+ // Hoist parameter schemas. Composite and inline-object schemas are
454
+ // hoisted to named models so the parameter is fully typed (e.g. a
455
+ // `deepObject` query param's members are marshalled, not left `unknown`).
456
+ if ('parameters' in operation) {
457
+ (operation.parameters ?? []).forEach((p)=>{
458
+ const param = resolveIfRef(spec, p);
459
+ const paramSchema = param?.schema;
460
+ if (paramSchema && !isRef(paramSchema) && (isCompositeSchema(paramSchema) || paramSchema.type === 'object' && !!paramSchema.properties)) {
461
+ const schemaName = `${upperFirst(deduplicatedOpId)}Request${upperFirst(param.in)}${upperFirst(camelCase(param.name))}`;
462
+ spec.components.schemas[schemaName] = paramSchema;
463
+ param.schema = {
464
+ $ref: `#/components/schemas/${schemaName}`
465
+ };
466
+ }
467
+ });
468
+ }
331
469
  }
332
- }
333
- }));
470
+ }));
334
471
  // Normalize schema names to valid TypeScript identifiers (e.g., "Message-Output" -> "MessageOutput")
335
472
  spec = normaliseSchemaNames(spec);
336
473
  // Initialise the models that we have seen with all schemas.
337
474
  // This is required to ensure we do not create any clashing models below
338
- const seenModelNameCounts = Object.fromEntries(Object.keys(spec.components?.schemas ?? {}).map((name) => [name, 1]));
475
+ const seenModelNameCounts = Object.fromEntries(Object.keys(spec.components?.schemas ?? {}).map((name)=>[
476
+ name,
477
+ 1
478
+ ]));
339
479
  // "Hoist" any nested object definitions in arrays/maps that aren't already refs, as parseOpenapi will treat the
340
480
  // type as "any" if they're defined inline (and not a ref)
341
- Object.entries(spec.components?.schemas ?? {}).forEach(([name, schema]) => {
342
- if (!(0, refs_1.isRef)(schema)) {
343
- const refs = hoistInlineObjectSubSchemas([name], schema, seenModelNameCounts);
344
- refs.forEach((ref) => {
481
+ Object.entries(spec.components?.schemas ?? {}).forEach(([name, schema])=>{
482
+ if (!isRef(schema)) {
483
+ const refs = hoistInlineObjectSubSchemas([
484
+ name
485
+ ], schema, seenModelNameCounts);
486
+ refs.forEach((ref)=>{
345
487
  spec.components.schemas[ref.name] = ref.schema;
346
488
  });
347
489
  }
348
490
  });
349
491
  // "Inline" any refs to non objects/enums
350
492
  const inlinedRefs = new Set();
351
- spec = (0, lodash_clonedeepwith_1.default)(spec, (v) => {
493
+ spec = cloneDeepWith(spec, (v)=>{
352
494
  if (v && typeof v === 'object' && v.$ref) {
353
- const resolved = (0, refs_1.resolveRef)(spec, v.$ref);
354
- if (resolved &&
355
- resolved.type &&
356
- resolved.type !== 'object' &&
357
- !(resolved.type === 'string' && resolved.enum)) {
495
+ const resolved = resolveRef(spec, v.$ref);
496
+ if (resolved && resolved.type && resolved.type !== 'object' && !(resolved.type === 'string' && resolved.enum)) {
358
497
  inlinedRefs.add(v.$ref);
359
498
  return resolved;
360
499
  }
361
500
  }
362
501
  });
363
502
  // Delete the non object schemas that were inlined
364
- [...inlinedRefs].forEach((ref) => {
365
- const parts = (0, refs_1.splitRef)(ref);
366
- if (parts.length === 3 &&
367
- parts[0] === 'components' &&
368
- parts[1] === 'schemas') {
503
+ [
504
+ ...inlinedRefs
505
+ ].forEach((ref)=>{
506
+ const parts = splitRef(ref);
507
+ if (parts.length === 3 && parts[0] === 'components' && parts[1] === 'schemas') {
369
508
  delete spec.components.schemas[parts[2]];
370
509
  }
371
510
  });
372
511
  return spec;
373
512
  };
374
- exports.normaliseOpenApiSpecForCodeGen = normaliseOpenApiSpecForCodeGen;
513
+
375
514
  //# sourceMappingURL=normalise.js.map