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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1138) hide show
  1. package/LICENSE-THIRD-PARTY +5449 -4980
  2. package/README.md +7 -7
  3. package/executors.json +9 -0
  4. package/generators.json +101 -2
  5. package/package.json +35 -17
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +149 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +167 -194
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +107 -0
  52. package/src/connection/supported-connections.js +151 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +97 -85
  57. package/src/infra/app/files/app/src/main.ts.template +1 -1
  58. package/src/infra/app/files/app/src/stages/application-stage.ts.template +1 -1
  59. package/src/infra/app/generator.d.ts +3 -3
  60. package/src/infra/app/generator.js +142 -122
  61. package/src/infra/app/generator.js.map +1 -1
  62. package/src/infra/app/schema.d.js +6 -0
  63. package/src/infra/app/schema.d.js.map +1 -0
  64. package/src/infra/app/schema.d.ts +1 -1
  65. package/src/infra/app/schema.json +5 -0
  66. package/src/init/generator.d.ts +18 -0
  67. package/src/init/generator.js +35 -0
  68. package/src/init/generator.js.map +1 -0
  69. package/src/init/schema.d.js +6 -0
  70. package/src/init/schema.d.js.map +1 -0
  71. package/src/init/schema.d.ts +16 -0
  72. package/src/init/schema.json +35 -0
  73. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  74. package/src/license/config-types.d.ts +18 -1
  75. package/src/license/config-types.js +8 -2
  76. package/src/license/config-types.js.map +1 -1
  77. package/src/license/config.d.ts +65 -7
  78. package/src/license/config.js +442 -109
  79. package/src/license/config.js.map +1 -1
  80. package/src/license/dependency-check/check.d.ts +16 -0
  81. package/src/license/dependency-check/check.js +116 -0
  82. package/src/license/dependency-check/check.js.map +1 -0
  83. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  84. package/src/license/dependency-check/collectors/collector.js +46 -0
  85. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  86. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  87. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  88. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  89. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  90. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  91. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  92. package/src/license/dependency-check/evaluator.d.ts +9 -0
  93. package/src/license/dependency-check/evaluator.js +94 -0
  94. package/src/license/dependency-check/evaluator.js.map +1 -0
  95. package/src/license/dependency-check/executor-schema.json +6 -0
  96. package/src/license/dependency-check/executor.d.ts +9 -0
  97. package/src/license/dependency-check/executor.js +51 -0
  98. package/src/license/dependency-check/executor.js.map +1 -0
  99. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  100. package/src/license/dependency-check/pre-approved.js +1893 -0
  101. package/src/license/dependency-check/pre-approved.js.map +1 -0
  102. package/src/license/dependency-check/types.d.ts +45 -0
  103. package/src/license/dependency-check/types.js +6 -0
  104. package/src/license/dependency-check/types.js.map +1 -0
  105. package/src/license/generator.d.ts +3 -3
  106. package/src/license/generator.js +126 -30
  107. package/src/license/generator.js.map +1 -1
  108. package/src/license/index.d.ts +8 -0
  109. package/src/license/index.js +7 -0
  110. package/src/license/index.js.map +1 -0
  111. package/src/license/known-exceptions.d.ts +7 -0
  112. package/src/license/known-exceptions.js +39 -0
  113. package/src/license/known-exceptions.js.map +1 -0
  114. package/src/license/schema.d.js +6 -0
  115. package/src/license/schema.d.js.map +1 -0
  116. package/src/license/schema.d.ts +7 -0
  117. package/src/license/schema.json +11 -0
  118. package/src/license/sync/generator.d.ts +2 -2
  119. package/src/license/sync/generator.js +100 -125
  120. package/src/license/sync/generator.js.map +1 -1
  121. package/src/license/sync/project-file-sync.d.ts +3 -3
  122. package/src/license/sync/project-file-sync.js +28 -35
  123. package/src/license/sync/project-file-sync.js.map +1 -1
  124. package/src/mcp-server/generator-info.d.ts +5 -1
  125. package/src/mcp-server/generator-info.js +149 -165
  126. package/src/mcp-server/generator-info.js.map +1 -1
  127. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  128. package/src/mcp-server/guide-pipeline.js +199 -206
  129. package/src/mcp-server/guide-pipeline.js.map +1 -1
  130. package/src/mcp-server/guide-render.js +10 -25
  131. package/src/mcp-server/guide-render.js.map +1 -1
  132. package/src/mcp-server/index.js +6 -10
  133. package/src/mcp-server/index.js.map +1 -1
  134. package/src/mcp-server/mdx-ast.js +42 -56
  135. package/src/mcp-server/mdx-ast.js.map +1 -1
  136. package/src/mcp-server/option-filter.js +33 -47
  137. package/src/mcp-server/option-filter.js.map +1 -1
  138. package/src/mcp-server/schema-registry.d.ts +9 -3
  139. package/src/mcp-server/schema-registry.js +41 -38
  140. package/src/mcp-server/schema-registry.js.map +1 -1
  141. package/src/mcp-server/schema.js +9 -7
  142. package/src/mcp-server/schema.js.map +1 -1
  143. package/src/mcp-server/server.js +22 -24
  144. package/src/mcp-server/server.js.map +1 -1
  145. package/src/mcp-server/tools/add-to-existing-project.d.ts +12 -0
  146. package/src/mcp-server/tools/add-to-existing-project.js +36 -0
  147. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -0
  148. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  149. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  150. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  151. package/src/mcp-server/tools/general-guidance.d.ts +3 -3
  152. package/src/mcp-server/tools/general-guidance.js +47 -25
  153. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  154. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  155. package/src/mcp-server/tools/generator-guide.js +29 -37
  156. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  157. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  158. package/src/mcp-server/tools/list-generators.js +19 -25
  159. package/src/mcp-server/tools/list-generators.js.map +1 -1
  160. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  161. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  162. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +298 -74
  163. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +748 -103
  164. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +230 -37
  165. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +249 -52
  166. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5535 -0
  167. package/src/open-api/ts-client/__snapshots__/generator.fast-api-gaps.spec.ts.snap +736 -0
  168. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +305 -71
  169. package/src/open-api/ts-client/__snapshots__/generator.multipart.spec.ts.snap +298 -0
  170. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +353 -82
  171. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +176 -55
  172. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +101 -25
  173. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  174. package/src/open-api/ts-client/__snapshots__/generator.spec-compliance.spec.ts.snap +1883 -0
  175. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  176. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +200 -48
  177. package/src/open-api/ts-client/files/client.gen.ts.template +358 -24
  178. package/src/open-api/ts-client/files/types.gen.ts.template +6 -4
  179. package/src/open-api/ts-client/generator.d.ts +3 -3
  180. package/src/open-api/ts-client/generator.js +41 -26
  181. package/src/open-api/ts-client/generator.js.map +1 -1
  182. package/src/open-api/ts-client/schema.d.js +6 -0
  183. package/src/open-api/ts-client/schema.d.js.map +1 -0
  184. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +7 -2
  185. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  186. package/src/open-api/ts-hooks/generator.js +17 -21
  187. package/src/open-api/ts-hooks/generator.js.map +1 -1
  188. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  189. package/src/open-api/ts-hooks/schema.d.js +6 -0
  190. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  191. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  192. package/src/open-api/ts-metadata/generator.js +12 -20
  193. package/src/open-api/ts-metadata/generator.js.map +1 -1
  194. package/src/open-api/ts-metadata/schema.d.js +6 -0
  195. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  196. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  197. package/src/open-api/utils/codegen-data/languages.js +59 -66
  198. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  199. package/src/open-api/utils/codegen-data/types.d.ts +255 -10
  200. package/src/open-api/utils/codegen-data/types.js +54 -30
  201. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  202. package/src/open-api/utils/codegen-data.d.ts +8 -4
  203. package/src/open-api/utils/codegen-data.js +494 -674
  204. package/src/open-api/utils/codegen-data.js.map +1 -1
  205. package/src/open-api/utils/normalise.d.ts +5 -1
  206. package/src/open-api/utils/normalise.js +437 -246
  207. package/src/open-api/utils/normalise.js.map +1 -1
  208. package/src/open-api/utils/parse.d.ts +2 -2
  209. package/src/open-api/utils/parse.js +11 -13
  210. package/src/open-api/utils/parse.js.map +1 -1
  211. package/src/open-api/utils/parser.d.ts +55 -0
  212. package/src/open-api/utils/parser.js +787 -0
  213. package/src/open-api/utils/parser.js.map +1 -0
  214. package/src/open-api/utils/refs.d.ts +1 -1
  215. package/src/open-api/utils/refs.js +12 -22
  216. package/src/open-api/utils/refs.js.map +1 -1
  217. package/src/open-api/utils/types.d.ts +18 -0
  218. package/src/open-api/utils/types.js +5 -2
  219. package/src/open-api/utils/types.js.map +1 -1
  220. package/src/preset/__snapshots__/generator.spec.ts.snap +109 -28
  221. package/src/preset/generator.d.ts +4 -4
  222. package/src/preset/generator.js +64 -147
  223. package/src/preset/generator.js.map +1 -1
  224. package/src/preset/schema.d.js +6 -0
  225. package/src/preset/schema.d.js.map +1 -0
  226. package/src/preset/schema.d.ts +5 -2
  227. package/src/preset/schema.json +11 -5
  228. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +320 -0
  229. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  230. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +182 -314
  231. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  232. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  233. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  234. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  235. package/src/py/agent/a2a-connection/generator.js +113 -85
  236. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  237. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  238. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  239. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  240. package/src/py/agent/a2a-connection/schema.json +5 -0
  241. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  242. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  243. package/src/py/agent/files/common/agent.py.template +2 -0
  244. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  245. package/src/py/agent/files/deploy/Dockerfile.template +1 -1
  246. package/src/py/agent/files/http/init.py.template +7 -25
  247. package/src/py/agent/files/http/main.py.template +3 -4
  248. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  249. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  250. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  251. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  252. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  253. package/src/py/agent/gateway-connection/generator.js +119 -0
  254. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  255. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  256. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  257. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  258. package/src/py/agent/gateway-connection/schema.json +31 -0
  259. package/src/py/agent/generator.d.ts +3 -3
  260. package/src/py/agent/generator.js +290 -179
  261. package/src/py/agent/generator.js.map +1 -1
  262. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  263. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  264. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  265. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  266. package/src/py/agent/mcp-connection/generator.js +65 -126
  267. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  268. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  269. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  270. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  271. package/src/py/agent/mcp-connection/schema.json +5 -0
  272. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  273. package/src/py/agent/react-connection/generator.d.ts +4 -4
  274. package/src/py/agent/react-connection/generator.js +55 -59
  275. package/src/py/agent/react-connection/generator.js.map +1 -1
  276. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  277. package/src/py/agent/react-connection/local-dev.js +36 -0
  278. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  279. package/src/py/agent/react-connection/schema.d.js +8 -0
  280. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  281. package/src/py/agent/react-connection/schema.d.ts +1 -0
  282. package/src/py/agent/react-connection/schema.json +5 -0
  283. package/src/py/agent/schema.d.js +6 -0
  284. package/src/py/agent/schema.d.js.map +1 -0
  285. package/src/py/agent/schema.d.ts +2 -1
  286. package/src/py/agent/schema.json +6 -1
  287. package/src/py/api/generator.d.ts +3 -3
  288. package/src/py/api/generator.js +12 -11
  289. package/src/py/api/generator.js.map +1 -1
  290. package/src/py/api/schema.d.js +6 -0
  291. package/src/py/api/schema.d.js.map +1 -0
  292. package/src/py/api/schema.d.ts +1 -0
  293. package/src/py/api/schema.json +5 -0
  294. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  295. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  296. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  297. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  298. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  299. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  300. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  301. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  302. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  303. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  304. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  305. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  306. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  307. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  308. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  309. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  310. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  311. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  312. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  313. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  314. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  315. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  316. package/src/py/dynamodb/files/config.json.template +24 -0
  317. package/src/py/dynamodb/generator.d.ts +10 -0
  318. package/src/py/dynamodb/generator.js +110 -0
  319. package/src/py/dynamodb/generator.js.map +1 -0
  320. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  321. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  322. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  323. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  324. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  325. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  326. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  327. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  328. package/src/py/dynamodb/schema.d.js +6 -0
  329. package/src/py/dynamodb/schema.d.js.map +1 -0
  330. package/src/py/dynamodb/schema.d.ts +16 -0
  331. package/src/py/dynamodb/schema.json +75 -0
  332. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  333. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +5409 -0
  334. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  335. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  336. package/src/py/fast-api/generator.d.ts +3 -3
  337. package/src/py/fast-api/generator.js +90 -87
  338. package/src/py/fast-api/generator.js.map +1 -1
  339. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  340. package/src/py/fast-api/react/generator.d.ts +4 -4
  341. package/src/py/fast-api/react/generator.js +25 -25
  342. package/src/py/fast-api/react/generator.js.map +1 -1
  343. package/src/py/fast-api/react/open-api.d.ts +1 -1
  344. package/src/py/fast-api/react/open-api.js +31 -29
  345. package/src/py/fast-api/react/open-api.js.map +1 -1
  346. package/src/py/fast-api/react/schema.d.js +6 -0
  347. package/src/py/fast-api/react/schema.d.js.map +1 -0
  348. package/src/py/fast-api/react/schema.d.ts +1 -0
  349. package/src/py/fast-api/react/schema.json +5 -0
  350. package/src/py/fast-api/schema.d.js +6 -0
  351. package/src/py/fast-api/schema.d.js.map +1 -0
  352. package/src/py/fast-api/schema.d.ts +1 -0
  353. package/src/py/fast-api/schema.json +5 -0
  354. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  355. package/src/py/lambda-function/generator.d.ts +3 -3
  356. package/src/py/lambda-function/generator.js +60 -59
  357. package/src/py/lambda-function/generator.js.map +1 -1
  358. package/src/py/lambda-function/schema.d.js +6 -0
  359. package/src/py/lambda-function/schema.d.js.map +1 -0
  360. package/src/py/lambda-function/schema.d.ts +1 -0
  361. package/src/py/lambda-function/schema.json +5 -0
  362. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +208 -19
  363. package/src/py/mcp-server/files/deploy/Dockerfile.template +1 -1
  364. package/src/py/mcp-server/generator.d.ts +3 -3
  365. package/src/py/mcp-server/generator.js +162 -124
  366. package/src/py/mcp-server/generator.js.map +1 -1
  367. package/src/py/mcp-server/schema.d.js +6 -0
  368. package/src/py/mcp-server/schema.d.js.map +1 -0
  369. package/src/py/mcp-server/schema.d.ts +1 -0
  370. package/src/py/mcp-server/schema.json +5 -0
  371. package/src/py/project/generator.d.ts +17 -4
  372. package/src/py/project/generator.js +205 -127
  373. package/src/py/project/generator.js.map +1 -1
  374. package/src/py/project/schema.d.js +6 -0
  375. package/src/py/project/schema.d.js.map +1 -0
  376. package/src/py/project/schema.d.ts +1 -0
  377. package/src/py/project/schema.json +5 -0
  378. package/src/py/rdb/__snapshots__/generator.spec.ts.snap +2038 -0
  379. package/src/py/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +104 -0
  380. package/src/py/rdb/agent-connection/generator.d.ts +10 -0
  381. package/src/py/rdb/agent-connection/generator.js +46 -0
  382. package/src/py/rdb/agent-connection/generator.js.map +1 -0
  383. package/src/py/rdb/agent-connection/schema.d.js +8 -0
  384. package/src/py/rdb/agent-connection/schema.d.js.map +1 -0
  385. package/src/py/rdb/agent-connection/schema.d.ts +15 -0
  386. package/src/py/rdb/agent-connection/schema.json +27 -0
  387. package/src/py/rdb/fast-api-connection/__snapshots__/generator.spec.ts.snap +44 -0
  388. package/src/py/rdb/fast-api-connection/files/__apiModuleName__/dependencies/__rdbNameSnake__.py.template +14 -0
  389. package/src/py/rdb/fast-api-connection/generator.d.ts +10 -0
  390. package/src/py/rdb/fast-api-connection/generator.js +54 -0
  391. package/src/py/rdb/fast-api-connection/generator.js.map +1 -0
  392. package/src/py/rdb/fast-api-connection/schema.d.js +8 -0
  393. package/src/py/rdb/fast-api-connection/schema.d.js.map +1 -0
  394. package/src/py/rdb/fast-api-connection/schema.d.ts +13 -0
  395. package/src/py/rdb/fast-api-connection/schema.json +23 -0
  396. package/src/py/rdb/files/Dockerfile.create-db-user.template +10 -0
  397. package/src/py/rdb/files/Dockerfile.migration.template +10 -0
  398. package/src/py/rdb/files/__name__/__init__.py.template +3 -0
  399. package/src/py/rdb/files/__name__/connection.py.template +55 -0
  400. package/src/py/rdb/files/__name__/create_db_user_handler.py.template +97 -0
  401. package/src/py/rdb/files/__name__/migration_handler.py.template +36 -0
  402. package/src/py/rdb/files/__name__/models/__init__.py.template +3 -0
  403. package/src/py/rdb/files/__name__/models/example.py.template +8 -0
  404. package/src/py/rdb/files/__name__/utils.py.template +104 -0
  405. package/src/py/rdb/files/alembic.ini.template +38 -0
  406. package/src/py/rdb/files/config.json.template +14 -0
  407. package/src/py/rdb/files/migrations/env.py.template +80 -0
  408. package/src/py/rdb/files/migrations/script.py.mako.template +28 -0
  409. package/src/py/rdb/generator.d.ts +6 -0
  410. package/src/py/rdb/generator.js +274 -0
  411. package/src/py/rdb/generator.js.map +1 -0
  412. package/src/py/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +101 -0
  413. package/src/py/rdb/mcp-server-connection/generator.d.ts +10 -0
  414. package/src/py/rdb/mcp-server-connection/generator.js +46 -0
  415. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -0
  416. package/src/py/rdb/mcp-server-connection/schema.d.js +8 -0
  417. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -0
  418. package/src/py/rdb/mcp-server-connection/schema.d.ts +15 -0
  419. package/src/py/rdb/mcp-server-connection/schema.json +27 -0
  420. package/src/py/rdb/schema.d.js +6 -0
  421. package/src/py/rdb/schema.d.js.map +1 -0
  422. package/src/py/rdb/schema.d.ts +16 -0
  423. package/src/py/rdb/schema.json +77 -0
  424. package/src/py/rdb/utils.d.ts +6 -0
  425. package/src/py/rdb/utils.js +16 -0
  426. package/src/py/rdb/utils.js.map +1 -0
  427. package/src/sdk/agentcore-gateway.d.ts +6 -0
  428. package/src/sdk/agentcore-gateway.js +7 -0
  429. package/src/sdk/agentcore-gateway.js.map +1 -0
  430. package/src/sdk/connection.d.ts +6 -0
  431. package/src/sdk/connection.js +6 -0
  432. package/src/sdk/connection.js.map +1 -0
  433. package/src/sdk/license.d.ts +8 -0
  434. package/src/sdk/license.js +7 -0
  435. package/src/sdk/license.js.map +1 -0
  436. package/src/sdk/open-api.d.ts +10 -0
  437. package/src/sdk/open-api.js +8 -0
  438. package/src/sdk/open-api.js.map +1 -0
  439. package/src/sdk/py.d.ts +16 -0
  440. package/src/sdk/py.js +11 -0
  441. package/src/sdk/py.js.map +1 -0
  442. package/src/sdk/terraform.d.ts +6 -0
  443. package/src/sdk/terraform.js +7 -0
  444. package/src/sdk/terraform.js.map +1 -0
  445. package/src/sdk/ts.d.ts +33 -0
  446. package/src/sdk/ts.js +35 -0
  447. package/src/sdk/ts.js.map +1 -0
  448. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  449. package/src/sdk/utils/ast.js +6 -0
  450. package/src/sdk/utils/ast.js.map +1 -0
  451. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  452. package/src/sdk/utils/format.js +6 -0
  453. package/src/sdk/utils/format.js.map +1 -0
  454. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  455. package/src/sdk/utils/test.js +6 -0
  456. package/src/sdk/utils/test.js.map +1 -0
  457. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  458. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  459. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  460. package/src/smithy/project/generator.d.ts +3 -3
  461. package/src/smithy/project/generator.js +64 -57
  462. package/src/smithy/project/generator.js.map +1 -1
  463. package/src/smithy/project/schema.d.js +6 -0
  464. package/src/smithy/project/schema.d.js.map +1 -0
  465. package/src/smithy/project/schema.d.ts +1 -0
  466. package/src/smithy/project/schema.json +5 -0
  467. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  468. package/src/smithy/react-connection/generator.d.ts +3 -3
  469. package/src/smithy/react-connection/generator.js +39 -47
  470. package/src/smithy/react-connection/generator.js.map +1 -1
  471. package/src/smithy/react-connection/schema.d.js +6 -0
  472. package/src/smithy/react-connection/schema.d.js.map +1 -0
  473. package/src/smithy/react-connection/schema.d.ts +1 -0
  474. package/src/smithy/react-connection/schema.json +5 -0
  475. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +824 -120
  476. package/src/smithy/ts/api/files/handler.ts.template +2 -2
  477. package/src/smithy/ts/api/files/local-server.ts.template +2 -2
  478. package/src/smithy/ts/api/files/operations/echo.ts.template +2 -2
  479. package/src/smithy/ts/api/files/service.ts.template +3 -3
  480. package/src/smithy/ts/api/generator.d.ts +3 -3
  481. package/src/smithy/ts/api/generator.js +128 -105
  482. package/src/smithy/ts/api/generator.js.map +1 -1
  483. package/src/smithy/ts/api/schema.d.js +6 -0
  484. package/src/smithy/ts/api/schema.d.js.map +1 -0
  485. package/src/smithy/ts/api/schema.d.ts +1 -0
  486. package/src/smithy/ts/api/schema.json +5 -0
  487. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  488. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  489. package/src/terraform/project/generator.d.ts +3 -3
  490. package/src/terraform/project/generator.js +156 -104
  491. package/src/terraform/project/generator.js.map +1 -1
  492. package/src/terraform/project/schema.d.js +9 -0
  493. package/src/terraform/project/schema.d.js.map +1 -0
  494. package/src/terraform/project/schema.d.ts +1 -0
  495. package/src/terraform/project/schema.json +5 -0
  496. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +1099 -134
  497. package/src/trpc/backend/files/src/client/index.ts.template +1 -1
  498. package/src/trpc/backend/files/src/handler.ts.template +1 -1
  499. package/src/trpc/backend/files/src/index.ts.template +5 -5
  500. package/src/trpc/backend/files/src/init.ts.template +1 -1
  501. package/src/trpc/backend/files/src/local-server.ts.template +1 -1
  502. package/src/trpc/backend/files/src/middleware/index.ts.template +7 -7
  503. package/src/trpc/backend/files/src/procedures/echo.ts.template +3 -3
  504. package/src/trpc/backend/files/src/router.ts.template +2 -2
  505. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  506. package/src/trpc/backend/files/src/schema/index.ts.template +1 -1
  507. package/src/trpc/backend/generator.d.ts +4 -4
  508. package/src/trpc/backend/generator.js +98 -84
  509. package/src/trpc/backend/generator.js.map +1 -1
  510. package/src/trpc/backend/schema.d.js +6 -0
  511. package/src/trpc/backend/schema.d.js.map +1 -0
  512. package/src/trpc/backend/schema.d.ts +3 -2
  513. package/src/trpc/backend/schema.json +5 -0
  514. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  515. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  516. package/src/trpc/react/generator.d.ts +4 -4
  517. package/src/trpc/react/generator.js +63 -58
  518. package/src/trpc/react/generator.js.map +1 -1
  519. package/src/trpc/react/schema.d.js +6 -0
  520. package/src/trpc/react/schema.d.js.map +1 -0
  521. package/src/trpc/react/schema.d.ts +1 -0
  522. package/src/trpc/react/schema.json +5 -0
  523. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +781 -22
  524. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  525. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  526. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  527. package/src/ts/agent/a2a-connection/generator.js +64 -55
  528. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  529. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  530. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  531. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  532. package/src/ts/agent/a2a-connection/schema.json +5 -0
  533. package/src/ts/agent/files/a2a/index.ts.template +1 -1
  534. package/src/ts/agent/files/ag-ui/index.ts.template +1 -1
  535. package/src/ts/agent/files/common/agent.ts.template +6 -2
  536. package/src/ts/agent/files/deploy/Dockerfile.template +4 -1
  537. package/src/ts/agent/files/http/client.ts.template +2 -2
  538. package/src/ts/agent/files/http/index.ts.template +2 -2
  539. package/src/ts/agent/files/http/router.ts.template +5 -5
  540. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  541. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  542. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  543. package/src/ts/agent/gateway-connection/generator.js +116 -0
  544. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  545. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  546. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  547. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  548. package/src/ts/agent/gateway-connection/schema.json +31 -0
  549. package/src/ts/agent/generator.d.ts +3 -3
  550. package/src/ts/agent/generator.js +203 -144
  551. package/src/ts/agent/generator.js.map +1 -1
  552. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  553. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  554. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  555. package/src/ts/agent/mcp-connection/generator.js +54 -59
  556. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  557. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  558. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  559. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  560. package/src/ts/agent/mcp-connection/schema.json +5 -0
  561. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  562. package/src/ts/agent/react-connection/generator.js +86 -80
  563. package/src/ts/agent/react-connection/generator.js.map +1 -1
  564. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  565. package/src/ts/agent/react-connection/local-dev.js +17 -0
  566. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  567. package/src/ts/agent/react-connection/schema.d.js +8 -0
  568. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  569. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  570. package/src/ts/agent/react-connection/schema.json +5 -0
  571. package/src/ts/agent/schema.d.js +6 -0
  572. package/src/ts/agent/schema.d.js.map +1 -0
  573. package/src/ts/agent/schema.d.ts +1 -0
  574. package/src/ts/agent/schema.json +5 -0
  575. package/src/ts/api/generator.d.ts +3 -3
  576. package/src/ts/api/generator.js +16 -16
  577. package/src/ts/api/generator.js.map +1 -1
  578. package/src/ts/api/schema.d.js +6 -0
  579. package/src/ts/api/schema.d.js.map +1 -0
  580. package/src/ts/api/schema.d.ts +3 -1
  581. package/src/ts/api/schema.json +5 -0
  582. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  583. package/src/ts/astro-docs/files/translation/scripts/translate.ts.template +3 -2
  584. package/src/ts/astro-docs/generator.d.ts +3 -3
  585. package/src/ts/astro-docs/generator.js +71 -54
  586. package/src/ts/astro-docs/generator.js.map +1 -1
  587. package/src/ts/astro-docs/schema.d.js +6 -0
  588. package/src/ts/astro-docs/schema.d.js.map +1 -0
  589. package/src/ts/astro-docs/schema.d.ts +2 -2
  590. package/src/ts/astro-docs/schema.json +3 -3
  591. package/src/ts/docs/generator.d.ts +3 -3
  592. package/src/ts/docs/generator.js +10 -10
  593. package/src/ts/docs/generator.js.map +1 -1
  594. package/src/ts/docs/schema.d.js +6 -0
  595. package/src/ts/docs/schema.d.js.map +1 -0
  596. package/src/ts/docs/schema.d.ts +1 -4
  597. package/src/ts/docs/schema.json +3 -3
  598. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +400 -512
  599. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +5 -5
  600. package/src/ts/dynamodb/agent-connection/generator.d.ts +3 -3
  601. package/src/ts/dynamodb/agent-connection/generator.js +21 -23
  602. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  603. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  604. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  605. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -0
  606. package/src/ts/dynamodb/agent-connection/schema.json +5 -0
  607. package/src/ts/dynamodb/files/config.json.template +24 -0
  608. package/src/ts/dynamodb/files/src/client.ts.template +30 -11
  609. package/src/ts/dynamodb/files/src/entities/example.ts.template +1 -1
  610. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -1
  611. package/src/ts/dynamodb/files/src/index.ts.template +2 -11
  612. package/src/ts/dynamodb/generator.d.ts +3 -3
  613. package/src/ts/dynamodb/generator.js +73 -63
  614. package/src/ts/dynamodb/generator.js.map +1 -1
  615. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +5 -5
  616. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +3 -3
  617. package/src/ts/dynamodb/mcp-server-connection/generator.js +21 -23
  618. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  619. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  620. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  621. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -0
  622. package/src/ts/dynamodb/mcp-server-connection/schema.json +5 -0
  623. package/src/ts/dynamodb/schema.d.js +6 -0
  624. package/src/ts/dynamodb/schema.d.js.map +1 -0
  625. package/src/ts/dynamodb/schema.d.ts +2 -0
  626. package/src/ts/dynamodb/schema.json +25 -2
  627. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  628. package/src/ts/dynamodb/smithy-connection/generator.d.ts +3 -3
  629. package/src/ts/dynamodb/smithy-connection/generator.js +20 -22
  630. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  631. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  632. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  633. package/src/ts/dynamodb/smithy-connection/schema.d.ts +1 -0
  634. package/src/ts/dynamodb/smithy-connection/schema.json +5 -0
  635. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  636. package/src/ts/dynamodb/trpc-connection/generator.d.ts +3 -3
  637. package/src/ts/dynamodb/trpc-connection/generator.js +20 -22
  638. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  639. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  640. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  641. package/src/ts/dynamodb/trpc-connection/schema.d.ts +1 -0
  642. package/src/ts/dynamodb/trpc-connection/schema.json +5 -0
  643. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  644. package/src/ts/lambda-function/generator.d.ts +3 -3
  645. package/src/ts/lambda-function/generator.js +59 -56
  646. package/src/ts/lambda-function/generator.js.map +1 -1
  647. package/src/ts/lambda-function/io.js +83 -52
  648. package/src/ts/lambda-function/io.js.map +1 -1
  649. package/src/ts/lambda-function/schema.d.js +6 -0
  650. package/src/ts/lambda-function/schema.d.js.map +1 -0
  651. package/src/ts/lambda-function/schema.d.ts +1 -0
  652. package/src/ts/lambda-function/schema.json +5 -0
  653. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +98 -93
  654. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  655. package/src/ts/lib/biome.d.ts +7 -0
  656. package/src/ts/lib/biome.js +91 -0
  657. package/src/ts/lib/biome.js.map +1 -0
  658. package/src/ts/lib/generator.d.ts +3 -3
  659. package/src/ts/lib/generator.js +107 -108
  660. package/src/ts/lib/generator.js.map +1 -1
  661. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  662. package/src/ts/lib/schema.d.js +6 -0
  663. package/src/ts/lib/schema.d.js.map +1 -0
  664. package/src/ts/lib/schema.d.ts +1 -1
  665. package/src/ts/lib/schema.json +5 -0
  666. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  667. package/src/ts/lib/ts-project-utils.js +90 -67
  668. package/src/ts/lib/ts-project-utils.js.map +1 -1
  669. package/src/ts/lib/types.d.ts +6 -0
  670. package/src/ts/lib/types.js +5 -2
  671. package/src/ts/lib/types.js.map +1 -1
  672. package/src/ts/lib/vitest.d.ts +2 -2
  673. package/src/ts/lib/vitest.js +29 -26
  674. package/src/ts/lib/vitest.js.map +1 -1
  675. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +208 -42
  676. package/src/ts/mcp-server/files/Dockerfile.template +4 -1
  677. package/src/ts/mcp-server/generator.d.ts +3 -3
  678. package/src/ts/mcp-server/generator.js +181 -136
  679. package/src/ts/mcp-server/generator.js.map +1 -1
  680. package/src/ts/mcp-server/schema.d.js +6 -0
  681. package/src/ts/mcp-server/schema.d.js.map +1 -0
  682. package/src/ts/mcp-server/schema.d.ts +1 -0
  683. package/src/ts/mcp-server/schema.json +5 -0
  684. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  685. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  686. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  687. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  688. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  689. package/src/ts/nx-generator/generator.d.ts +2 -2
  690. package/src/ts/nx-generator/generator.js +113 -73
  691. package/src/ts/nx-generator/generator.js.map +1 -1
  692. package/src/ts/nx-generator/schema.d.js +6 -0
  693. package/src/ts/nx-generator/schema.d.js.map +1 -0
  694. package/src/ts/nx-generator/schema.d.ts +1 -0
  695. package/src/ts/nx-generator/schema.json +5 -0
  696. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  697. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  698. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  699. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  700. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  701. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  702. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  703. package/src/ts/nx-plugin/generator.d.ts +3 -3
  704. package/src/ts/nx-plugin/generator.js +61 -50
  705. package/src/ts/nx-plugin/generator.js.map +1 -1
  706. package/src/ts/nx-plugin/schema.d.js +9 -0
  707. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  708. package/src/ts/nx-plugin/schema.json +5 -0
  709. package/src/ts/nx-plugin/utils.d.ts +1 -1
  710. package/src/ts/nx-plugin/utils.js +36 -39
  711. package/src/ts/nx-plugin/utils.js.map +1 -1
  712. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +455 -646
  713. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  714. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  715. package/src/ts/rdb/agent-connection/generator.js +38 -39
  716. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  717. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  718. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  719. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  720. package/src/ts/rdb/agent-connection/schema.json +5 -0
  721. package/src/ts/rdb/files/Dockerfile.template +8 -1
  722. package/src/ts/rdb/files/config.json.template +14 -0
  723. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  724. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +9 -11
  725. package/src/ts/rdb/files/src/index.ts.template +1 -2
  726. package/src/ts/rdb/files/src/migration-handler.ts.template +2 -29
  727. package/src/ts/rdb/files/src/prisma.ts.template +33 -25
  728. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  729. package/src/ts/rdb/generator.d.ts +3 -7
  730. package/src/ts/rdb/generator.js +173 -131
  731. package/src/ts/rdb/generator.js.map +1 -1
  732. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  733. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  734. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  735. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  736. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  737. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  738. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  739. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  740. package/src/ts/rdb/schema.d.js +6 -0
  741. package/src/ts/rdb/schema.d.js.map +1 -0
  742. package/src/ts/rdb/schema.d.ts +1 -0
  743. package/src/ts/rdb/schema.json +6 -1
  744. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  745. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  746. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  747. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  748. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  749. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  750. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  751. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  752. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  753. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  754. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  755. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  756. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  757. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  758. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  759. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  760. package/src/ts/rdb/utils.d.ts +1 -1
  761. package/src/ts/rdb/utils.js +9 -11
  762. package/src/ts/rdb/utils.js.map +1 -1
  763. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  764. package/src/ts/react-website/agui/generator.d.ts +1 -1
  765. package/src/ts/react-website/agui/generator.js +69 -62
  766. package/src/ts/react-website/agui/generator.js.map +1 -1
  767. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +1190 -799
  768. package/src/ts/react-website/app/generator.d.ts +4 -4
  769. package/src/ts/react-website/app/generator.js +217 -192
  770. package/src/ts/react-website/app/generator.js.map +1 -1
  771. package/src/ts/react-website/app/schema.d.js +6 -0
  772. package/src/ts/react-website/app/schema.d.js.map +1 -0
  773. package/src/ts/react-website/app/schema.d.ts +1 -1
  774. package/src/ts/react-website/app/schema.json +11 -6
  775. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  776. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  777. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  778. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  779. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  780. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  781. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  782. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  783. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  784. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  785. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  786. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  787. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  788. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  789. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  790. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  791. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  792. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  793. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  794. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  795. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  796. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  797. package/src/ts/react-website/runtime-config/generator.js +29 -31
  798. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  799. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  800. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  801. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  802. package/src/ts/react-website/runtime-config/schema.json +5 -0
  803. package/src/ts/sync/generator.d.ts +3 -3
  804. package/src/ts/sync/generator.js +58 -59
  805. package/src/ts/sync/generator.js.map +1 -1
  806. package/src/ts/website/app/generator.d.ts +3 -3
  807. package/src/ts/website/app/generator.js +10 -10
  808. package/src/ts/website/app/generator.js.map +1 -1
  809. package/src/ts/website/app/schema.d.js +6 -0
  810. package/src/ts/website/app/schema.d.js.map +1 -0
  811. package/src/ts/website/app/schema.d.ts +1 -1
  812. package/src/ts/website/app/schema.json +11 -6
  813. package/src/ts/website/auth/generator.d.ts +4 -4
  814. package/src/ts/website/auth/generator.js +11 -10
  815. package/src/ts/website/auth/generator.js.map +1 -1
  816. package/src/ts/website/auth/schema.d.js +6 -0
  817. package/src/ts/website/auth/schema.d.js.map +1 -0
  818. package/src/ts/website/auth/schema.d.ts +1 -0
  819. package/src/ts/website/auth/schema.json +5 -0
  820. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  821. package/src/utils/agent-chat/agent-chat.js +31 -0
  822. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  823. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  824. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  825. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  826. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  827. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  828. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  829. package/src/utils/agent-connection/agent-connection.js +414 -103
  830. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  831. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  832. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  833. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  834. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  835. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  836. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  837. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  838. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  839. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  840. package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +1 -1
  841. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  842. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  843. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  844. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  845. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  846. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  847. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  848. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  849. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  850. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  851. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  852. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  853. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  854. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  855. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  856. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  857. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  858. package/src/utils/agent-core-constructs/agent-core-constructs.js +93 -38
  859. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  860. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +31 -4
  861. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  862. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  863. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  864. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +32 -0
  865. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  866. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  867. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +151 -13
  868. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  869. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  870. package/src/utils/api-constructs/api-constructs.js +36 -31
  871. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  872. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +8 -8
  873. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +11 -8
  874. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +26 -9
  875. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +70 -0
  876. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  877. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +54 -18
  878. package/src/utils/api-constructs/files/cdk/core/api/trpc/trpc-utils.ts.template +1 -1
  879. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  880. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +101 -12
  881. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +194 -8
  882. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  883. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  884. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  885. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  886. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  887. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  888. package/src/utils/ast/website.d.ts +5 -1
  889. package/src/utils/ast/website.js +18 -20
  890. package/src/utils/ast/website.js.map +1 -1
  891. package/src/utils/ast.d.ts +33 -1
  892. package/src/utils/ast.js +146 -70
  893. package/src/utils/ast.js.map +1 -1
  894. package/src/utils/base-tsconfig.d.ts +30 -0
  895. package/src/utils/base-tsconfig.js +32 -0
  896. package/src/utils/base-tsconfig.js.map +1 -0
  897. package/src/utils/bundle/bundle.d.ts +1 -1
  898. package/src/utils/bundle/bundle.js +50 -47
  899. package/src/utils/bundle/bundle.js.map +1 -1
  900. package/src/utils/commands.d.ts +10 -3
  901. package/src/utils/commands.js +60 -26
  902. package/src/utils/commands.js.map +1 -1
  903. package/src/utils/config/index.d.ts +5 -5
  904. package/src/utils/config/index.js +5 -4
  905. package/src/utils/config/index.js.map +1 -1
  906. package/src/utils/config/utils.d.ts +13 -3
  907. package/src/utils/config/utils.js +65 -43
  908. package/src/utils/config/utils.js.map +1 -1
  909. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  910. package/src/utils/connection/open-api/react.d.ts +6 -6
  911. package/src/utils/connection/open-api/react.js +81 -77
  912. package/src/utils/connection/open-api/react.js.map +1 -1
  913. package/src/utils/containers.d.ts +1 -1
  914. package/src/utils/containers.js +22 -23
  915. package/src/utils/containers.js.map +1 -1
  916. package/src/utils/docker.d.ts +44 -0
  917. package/src/utils/docker.js +81 -0
  918. package/src/utils/docker.js.map +1 -0
  919. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +3 -3
  920. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +39 -41
  921. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  922. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +18 -5
  923. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +1 -1
  924. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +24 -17
  925. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +1 -1
  926. package/src/utils/files/common/constructs/src/core/index.ts.template +4 -4
  927. package/src/utils/files/common/constructs/src/index.ts.template +2 -2
  928. package/src/utils/files/common/infra-config/src/index.ts.template +3 -3
  929. package/src/utils/files/common/infra-config/src/resolve-stage.ts.template +2 -2
  930. package/src/utils/files/common/infra-config/src/stages.config.ts.template +1 -1
  931. package/src/{ts/dynamodb/files/scripts → utils/files/common/scripts/src/dynamodb}/create-local-table.ts.template +65 -31
  932. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  933. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  934. package/src/utils/files/common/scripts/src/infra/infra-deploy.ts.template +2 -0
  935. package/src/utils/files/common/scripts/src/infra/infra-destroy.ts.template +2 -0
  936. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  937. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +3 -3
  938. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  939. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  940. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  941. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  942. package/src/utils/files/common/shadcn/src/index.ts.template +2 -2
  943. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +63 -72
  944. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  945. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  946. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  947. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  948. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  949. package/src/utils/format.d.ts +45 -2
  950. package/src/utils/format.js +332 -81
  951. package/src/utils/format.js.map +1 -1
  952. package/src/utils/fs.d.ts +1 -1
  953. package/src/utils/fs.js +14 -13
  954. package/src/utils/fs.js.map +1 -1
  955. package/src/utils/function-constructs/files/cdk/app/lambda-functions/__nameKebabCase__.ts.template +1 -1
  956. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  957. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  958. package/src/utils/function-constructs/function-constructs.js +22 -25
  959. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  960. package/src/utils/generators.d.ts +4 -0
  961. package/src/utils/generators.js +18 -20
  962. package/src/utils/generators.js.map +1 -1
  963. package/src/utils/git.d.ts +1 -1
  964. package/src/utils/git.js +19 -34
  965. package/src/utils/git.js.map +1 -1
  966. package/src/utils/iac-providers.js +5 -5
  967. package/src/utils/iac-providers.js.map +1 -1
  968. package/src/utils/iac.d.ts +1 -1
  969. package/src/utils/iac.js +12 -14
  970. package/src/utils/iac.js.map +1 -1
  971. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +125 -16
  972. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  973. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  974. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  975. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  976. package/src/utils/identity-constructs/identity-constructs.js +28 -28
  977. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  978. package/src/utils/init.d.ts +53 -0
  979. package/src/utils/init.js +252 -0
  980. package/src/utils/init.js.map +1 -0
  981. package/src/utils/install.d.ts +32 -0
  982. package/src/utils/install.js +56 -0
  983. package/src/utils/install.js.map +1 -0
  984. package/src/utils/js.d.ts +4 -0
  985. package/src/utils/js.js +27 -20
  986. package/src/utils/js.js.map +1 -1
  987. package/src/utils/mcp.d.ts +1 -1
  988. package/src/utils/mcp.js +34 -41
  989. package/src/utils/mcp.js.map +1 -1
  990. package/src/utils/metrics.d.ts +9 -3
  991. package/src/utils/metrics.js +61 -46
  992. package/src/utils/metrics.js.map +1 -1
  993. package/src/utils/mock-project-graph.js +8 -12
  994. package/src/utils/mock-project-graph.js.map +1 -1
  995. package/src/utils/module-format.d.ts +28 -0
  996. package/src/utils/module-format.js +28 -0
  997. package/src/utils/module-format.js.map +1 -0
  998. package/src/utils/names.d.ts +22 -0
  999. package/src/utils/names.js +44 -48
  1000. package/src/utils/names.js.map +1 -1
  1001. package/src/utils/npm-scope.d.ts +1 -1
  1002. package/src/utils/npm-scope.js +9 -17
  1003. package/src/utils/npm-scope.js.map +1 -1
  1004. package/src/utils/nx.d.ts +39 -4
  1005. package/src/utils/nx.js +169 -75
  1006. package/src/utils/nx.js.map +1 -1
  1007. package/src/utils/nxlv-python.d.ts +1 -1
  1008. package/src/utils/nxlv-python.js +27 -15
  1009. package/src/utils/nxlv-python.js.map +1 -1
  1010. package/src/utils/object.js +5 -11
  1011. package/src/utils/object.js.map +1 -1
  1012. package/src/utils/paths.d.ts +1 -1
  1013. package/src/utils/paths.js +11 -15
  1014. package/src/utils/paths.js.map +1 -1
  1015. package/src/utils/pkg-manager.js +4 -9
  1016. package/src/utils/pkg-manager.js.map +1 -1
  1017. package/src/utils/pnpm-workspace.d.ts +1 -1
  1018. package/src/utils/pnpm-workspace.js +22 -22
  1019. package/src/utils/pnpm-workspace.js.map +1 -1
  1020. package/src/utils/port.d.ts +29 -7
  1021. package/src/utils/port.js +67 -28
  1022. package/src/utils/port.js.map +1 -1
  1023. package/src/utils/py.d.ts +16 -3
  1024. package/src/utils/py.js +72 -47
  1025. package/src/utils/py.js.map +1 -1
  1026. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +72 -18
  1027. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +97 -88
  1028. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +127 -53
  1029. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +36 -48
  1030. package/src/utils/rdb-constructs/rdb-constructs.d.ts +16 -5
  1031. package/src/utils/rdb-constructs/rdb-constructs.js +38 -41
  1032. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  1033. package/src/utils/shared-constructs-constants.d.ts +1 -0
  1034. package/src/utils/shared-constructs-constants.js +16 -15
  1035. package/src/utils/shared-constructs-constants.js.map +1 -1
  1036. package/src/utils/shared-constructs.d.ts +2 -2
  1037. package/src/utils/shared-constructs.js +60 -67
  1038. package/src/utils/shared-constructs.js.map +1 -1
  1039. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  1040. package/src/utils/shared-dynamodb-scripts.js +25 -0
  1041. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  1042. package/src/utils/shared-infra-config.d.ts +1 -1
  1043. package/src/utils/shared-infra-config.js +31 -30
  1044. package/src/utils/shared-infra-config.js.map +1 -1
  1045. package/src/utils/shared-infra-scripts.d.ts +11 -0
  1046. package/src/utils/shared-infra-scripts.js +42 -0
  1047. package/src/utils/shared-infra-scripts.js.map +1 -0
  1048. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  1049. package/src/utils/shared-rdb-scripts.js +32 -0
  1050. package/src/utils/shared-rdb-scripts.js.map +1 -0
  1051. package/src/utils/shared-scripts.d.ts +2 -5
  1052. package/src/utils/shared-scripts.js +12 -38
  1053. package/src/utils/shared-scripts.js.map +1 -1
  1054. package/src/utils/shared-shadcn.d.ts +1 -1
  1055. package/src/utils/shared-shadcn.js +65 -71
  1056. package/src/utils/shared-shadcn.js.map +1 -1
  1057. package/src/utils/test.d.ts +15 -1
  1058. package/src/utils/test.js +41 -23
  1059. package/src/utils/test.js.map +1 -1
  1060. package/src/utils/toml.d.ts +1 -1
  1061. package/src/utils/toml.js +10 -14
  1062. package/src/utils/toml.js.map +1 -1
  1063. package/src/utils/versions.d.ts +150 -97
  1064. package/src/utils/versions.js +157 -115
  1065. package/src/utils/versions.js.map +1 -1
  1066. package/src/utils/warm-ruff-cache.d.ts +12 -0
  1067. package/src/utils/warm-ruff-cache.js +39 -0
  1068. package/src/utils/warm-ruff-cache.js.map +1 -0
  1069. package/src/utils/website-constructs/files/cdk/app/static-websites/__websiteNameKebabCase__.ts.template +2 -2
  1070. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +200 -41
  1071. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  1072. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +145 -93
  1073. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  1074. package/src/utils/website-constructs/website-constructs.js +38 -30
  1075. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  1076. package/bin/aws-nx-mcp.js +0 -17
  1077. package/bin/aws-nx-mcp.js.map +0 -1
  1078. package/sdk/connection.d.ts +0 -6
  1079. package/sdk/connection.js +0 -10
  1080. package/sdk/connection.js.map +0 -1
  1081. package/sdk/open-api.d.ts +0 -10
  1082. package/sdk/open-api.js +0 -15
  1083. package/sdk/open-api.js.map +0 -1
  1084. package/sdk/py.d.ts +0 -14
  1085. package/sdk/py.js +0 -18
  1086. package/sdk/py.js.map +0 -1
  1087. package/sdk/terraform.d.ts +0 -6
  1088. package/sdk/terraform.js +0 -11
  1089. package/sdk/terraform.js.map +0 -1
  1090. package/sdk/ts.d.ts +0 -29
  1091. package/sdk/ts.js +0 -47
  1092. package/sdk/ts.js.map +0 -1
  1093. package/sdk/utils/ast.js +0 -12
  1094. package/sdk/utils/ast.js.map +0 -1
  1095. package/sdk/utils/format.js +0 -10
  1096. package/sdk/utils/format.js.map +0 -1
  1097. package/sdk/utils/test.js +0 -10
  1098. package/sdk/utils/test.js.map +0 -1
  1099. package/src/connection/agent-serve-local.js +0 -48
  1100. package/src/connection/agent-serve-local.js.map +0 -1
  1101. package/src/connection/serve-local.d.ts +0 -15
  1102. package/src/connection/serve-local.js +0 -41
  1103. package/src/connection/serve-local.js.map +0 -1
  1104. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  1105. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  1106. package/src/py/agent/react-connection/serve-local.js +0 -30
  1107. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  1108. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  1109. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  1110. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  1111. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  1112. package/src/ts/agent/react-connection/serve-local.js +0 -19
  1113. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  1114. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  1115. package/src/ts/dynamodb/files/scripts/pull-image.ts.template +0 -15
  1116. package/src/ts/dynamodb/files/scripts/start-container.ts.template +0 -81
  1117. package/src/ts/dynamodb/files/src/constants.ts.template +0 -9
  1118. package/src/ts/dynamodb/files/src/gsi.ts.template +0 -14
  1119. package/src/ts/lib/eslint.d.ts +0 -14
  1120. package/src/ts/lib/eslint.js +0 -90
  1121. package/src/ts/lib/eslint.js.map +0 -1
  1122. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1123. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  1124. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  1125. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1126. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1127. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1128. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1129. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1130. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1131. package/src/utils/files/common/scripts/src/infra-deploy.ts.template +0 -2
  1132. package/src/utils/files/common/scripts/src/infra-destroy.ts.template +0 -2
  1133. package/src/utils/files/terraform/scripts/reset-runtime-config.ts.template +0 -25
  1134. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  1135. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  1136. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1137. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1138. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport orderBy from 'lodash.orderby';\nimport trim from 'lodash.trim';\nimport uniqBy from 'lodash.uniqby';\nimport type { OpenAPIV3 } from 'openapi-types';\nimport {\n camelCase,\n pascalCase,\n snakeCase,\n toClassName,\n upperFirst,\n} from '../../utils/names';\nimport {\n toPythonName,\n toPythonType,\n toTypeScriptModelName,\n toTypeScriptName,\n toTypeScriptType,\n} from './codegen-data/languages';\nimport {\n COLLECTION_TYPES,\n COMPOSED_SCHEMA_TYPES,\n type CodeGenData,\n type CollectionFormat,\n createModel,\n DEFAULT_SERVICE_NAME,\n indexModelsByName,\n type Model,\n type ModelsByName,\n type Operation,\n type PatternPropertyModel,\n PRIMITIVE_TYPES,\n type Service,\n STREAMING_CONTENT_TYPES,\n VENDOR_EXTENSIONS,\n type VendorExtensions,\n} from './codegen-data/types';\nimport { normaliseOpenApiSpecForCodeGen } from './normalise';\nimport {\n buildClientData,\n buildInlineModel,\n compositeMemberSchemas,\n getSpecOperation,\n getSpecParametersByKey,\n getSpecPathParameters,\n linkModel,\n specParameterKey,\n} from './parser';\nimport { isRef, resolveIfRef, splitRef } from './refs';\nimport type { OpenApiSchema, OpenApiSchemaOrRef, Spec } from './types';\n\n/**\n * Build the data structure used to generate code from an OpenAPI spec.\n */\nexport const buildOpenApiCodeGenData = (inSpec: Spec): CodeGenData => {\n const spec = normaliseOpenApiSpecForCodeGen(inSpec);\n const data = buildClientData(spec);\n\n const modelsByName = indexModelsByName(data.models);\n\n for (const service of data.services) {\n augmentService(spec, service, modelsByName);\n }\n\n const allOperations = uniqBy(\n data.services.flatMap((s) => s.operations),\n (o) => o.uniqueName,\n );\n\n // A model per operation request parameter position (query/path/body/...).\n data.models = [\n ...data.models,\n ...allOperations.flatMap((op) =>\n buildRequestParameterModels(op, modelsByName),\n ),\n ];\n\n for (const model of data.models) {\n augmentModel(spec, model, modelsByName);\n }\n for (const model of data.models) {\n model.typescriptName = toTypeScriptModelName(model.name);\n model.typescriptType = model.typescriptName;\n }\n\n for (const model of data.models) {\n assertNoClashingPropertyNames(model);\n assertNoConflictingUnionMemberMarshalling(model);\n }\n\n for (const op of allOperations) {\n assertEncodableUrlEncodedBody(op);\n }\n\n data.models = orderBy(data.models, (d) => d.name);\n // Default service first, then by name.\n data.services = orderBy(data.services, (s) =>\n s.name === DEFAULT_SERVICE_NAME ? '' : s.name,\n );\n\n const { operationsByTag, untaggedOperations } =\n groupOperationsByTag(allOperations);\n\n return {\n ...data,\n operationsByTag,\n untaggedOperations,\n info: spec.info,\n allOperations,\n vendorExtensions: vendorExtensionsOf(spec),\n className: toClassName(spec.info.title),\n };\n};\n\n/**\n * Augment a service and each of its operations with the data needed for code\n * generation (names, imports, result/request types, behavioural flags), and\n * compute the set of models the service (ie API client) needs to import.\n */\nconst augmentService = (\n spec: Spec,\n service: Service,\n modelsByName: ModelsByName,\n): void => {\n const modelImports = service.operations.flatMap((op) =>\n augmentOperation(spec, op, modelsByName),\n );\n\n service.operations = orderBy(service.operations, (op) => op.uniqueName);\n service.modelImports = orderBy(\n uniqBy([...service.imports, ...modelImports], (x) => x),\n );\n service.className = `${service.name}Api`;\n service.nameSnakeCase = snakeCase(service.name);\n};\n\n/**\n * Augment a single operation with all the data the templates need, returning\n * the names of the models it references (for the service's import list).\n */\nconst augmentOperation = (\n spec: Spec,\n op: Operation,\n modelsByName: ModelsByName,\n): string[] => {\n const specOp = getSpecOperation(spec, op);\n\n assignOperationNames(op, specOp);\n\n op.vendorExtensions = vendorExtensionsOf(specOp);\n\n const modelImports = [\n ...(specOp ? augmentResponses(spec, op, specOp, modelsByName) : []),\n ...augmentParameters(spec, op, specOp, modelsByName),\n ];\n\n op.responses.forEach(addLanguageTypes);\n op.responses = orderBy(op.responses, (r) => r.code);\n\n // Result is the lowest successful response, otherwise the 2XX or default.\n op.result =\n op.responses.find(\n (r) => typeof r.code === 'number' && r.code >= 200 && r.code < 300,\n ) ?? op.responses.find((r) => r.code === '2XX' || r.code === 'default');\n\n op.operationIdPascalCase = pascalCase(op.uniqueName);\n op.operationIdSnakeCase = toPythonName('operation', op.uniqueName);\n\n if (op.parameters.length > 0) {\n const baseRequestTypeName = `${op.operationIdPascalCase}Request`;\n // Use the OperationRequest suffix when the standard Request name clashes\n // with an existing schema.\n op.requestTypeName = spec.components?.schemas?.[baseRequestTypeName]\n ? `${op.operationIdPascalCase}OperationRequest`\n : baseRequestTypeName;\n }\n\n augmentOperationBehaviour(op);\n\n return modelImports;\n};\n\n/**\n * Set an operation's name and its deduplicated variants from the vendor\n * extensions the normaliser added.\n */\nconst assignOperationNames = (\n op: Operation,\n specOp: OpenAPIV3.OperationObject | undefined,\n): void => {\n const deduplicatedOpId = specOp?.['x-aws-nx-deduplicated-op-id'] as\n | string\n | undefined;\n const dotNotationOpId = specOp?.['x-aws-nx-deduplicated-dot-op-id'] as\n | string\n | undefined;\n\n op.name = op.id ?? op.name;\n op.uniqueName = deduplicatedOpId ?? op.name;\n if (dotNotationOpId) {\n op.dotNotationName = dotNotationOpId;\n }\n};\n\n/**\n * Augment an operation's response models with schema-derived data, resolving\n * void responses and streaming item schemas. Returns the response model names\n * to import.\n */\nconst augmentResponses = (\n spec: Spec,\n op: Operation,\n specOp: OpenAPIV3.OperationObject,\n modelsByName: ModelsByName,\n): string[] => {\n const modelImports = op.responses\n .filter((r) => r.export === 'reference')\n .map((r) => r.type);\n\n for (const response of op.responses) {\n // We cannot distinguish a composite of primitives at runtime (it all comes\n // back as text), so validate this away.\n if (\n response.export === 'reference' &&\n COMPOSED_SCHEMA_TYPES.has(modelsByName[response.type]?.export)\n ) {\n const composedPrimitives = (\n modelsByName[response.type].composedPrimitives ?? []\n ).filter((p) => !COLLECTION_TYPES.has(p.export));\n if (composedPrimitives.length > 0) {\n throw new Error(\n `Operation \"${op.method} ${op.path}\" returns a composite schema of primitives with ${camelCase(modelsByName[response.type].export)}, which cannot be distinguished at runtime`,\n );\n }\n }\n\n const matchingSpecResponse = specOp.responses[`${response.code}`];\n if (!matchingSpecResponse) continue;\n\n const specResponse = resolveIfRef(spec, matchingSpecResponse);\n\n // When there's no content, the response type is 'void'\n if (!specResponse.content) {\n response.type = 'void';\n continue;\n }\n\n const mediaTypes = Object.keys(specResponse.content);\n response.mediaTypes = mediaTypes;\n\n for (const mediaType of mediaTypes) {\n const responseContent = specResponse.content[mediaType];\n const responseSchema = resolveIfRef(spec, responseContent.schema);\n if (responseSchema) {\n augmentModelFromSchema(spec, response, responseSchema, modelsByName);\n }\n if (\n STREAMING_CONTENT_TYPES.has(mediaType) &&\n 'itemSchema' in responseContent\n ) {\n response.isJsonlStreaming = true;\n response.itemSchemaModel = buildOrReferenceModel(\n spec,\n modelsByName,\n responseContent.itemSchema as OpenApiSchemaOrRef,\n );\n }\n }\n }\n\n return modelImports;\n};\n\n/**\n * Augment an operation's parameter models with schema-derived data, resolving\n * request bodies and query/header collection formats. Returns the parameter\n * model names to import.\n */\nconst augmentParameters = (\n spec: Spec,\n op: Operation,\n specOp: OpenAPIV3.OperationObject | undefined,\n modelsByName: ModelsByName,\n): string[] => {\n const specParametersByKey = getSpecParametersByKey(\n spec,\n specOp,\n getSpecPathParameters(spec, op),\n );\n\n const modelImports: string[] = [];\n\n for (const parameter of op.parameters) {\n if (parameter.export === 'reference') {\n modelImports.push(parameter.type);\n }\n\n const specParameter =\n specParametersByKey[\n specParameterKey({ in: parameter.in, name: parameter.prop })\n ];\n const specParameterSchema = resolveIfRef(spec, specParameter?.schema);\n if (specParameterSchema) {\n augmentModelFromSchema(\n spec,\n parameter,\n specParameterSchema,\n modelsByName,\n );\n }\n\n if (parameter.in === 'body') {\n augmentBodyParameter(spec, parameter, specOp, modelsByName);\n } else if (\n (parameter.in === 'query' || parameter.in === 'header') &&\n specParameter\n ) {\n parameter.collectionFormat = getCollectionFormat(\n parameter.in,\n specParameter,\n );\n if (parameter.in === 'query' && specParameter.allowReserved) {\n parameter.allowReserved = true;\n }\n } else if (parameter.in === 'path' && specParameter) {\n const style = specParameter.style;\n if (style === 'matrix' || style === 'label') {\n parameter.pathStyle = style;\n parameter.pathExplode = !!specParameter.explode;\n }\n }\n\n addLanguageTypes(parameter);\n }\n\n return modelImports;\n};\n\n/**\n * Augment a request body parameter with its schema (the body is not in the\n * spec's `parameters`, so it is resolved from `requestBody` here) and record\n * its acceptable media types.\n */\nconst augmentBodyParameter = (\n spec: Spec,\n parameter: Model,\n specOp: OpenAPIV3.OperationObject | undefined,\n modelsByName: ModelsByName,\n): void => {\n // The request body parameter is named 'body' downstream.\n parameter.name = 'body';\n parameter.prop = 'body';\n\n const specBody = resolveIfRef(spec, specOp?.requestBody);\n if (!specBody) return;\n\n if (parameter.mediaType) {\n const bodySchema = resolveIfRef(\n spec,\n specBody.content?.[parameter.mediaType]?.schema,\n );\n if (bodySchema) {\n augmentModelFromSchema(spec, parameter, bodySchema, modelsByName);\n }\n }\n // Track all the media types that can be accepted in the request body\n parameter.mediaTypes = Object.keys(specBody.content);\n};\n\n/**\n * Translate an OpenAPI v3 parameter's style/explode into a v2-style\n * collectionFormat used when serialising array parameters.\n * @see https://spec.openapis.org/oas/v3.0.3.html#style-values\n */\nconst getCollectionFormat = (\n position: 'query' | 'header',\n specParameter: OpenAPIV3.ParameterObject,\n): CollectionFormat => {\n const style =\n specParameter.style ?? (position === 'query' ? 'form' : 'simple');\n const explode = specParameter.explode ?? style === 'form';\n\n if (position === 'header') {\n return explode ? 'multi' : 'csv';\n }\n // `deepObject` serialises an object as `key[prop]=value` pairs regardless of\n // explode; the object shape (not array collection) drives its serialisation.\n if (style === 'deepObject') {\n return 'deepObject';\n }\n return explode\n ? 'multi'\n : ((\n {\n spaceDelimited: 'ssv',\n pipeDelimited: 'pipes',\n simple: 'csv',\n form: 'csv',\n } as const\n )[style] ?? 'multi');\n};\n\n/**\n * Build the request parameter models for an operation — one model per parameter\n * position (query/path/header/cookie/body), named e.g.\n * `FooRequestQueryParameters`. Request bodies that can be represented directly\n * (the sole parameter, or a non-clashing object reference) are inlined rather\n * than given a wrapper model, and recorded on `op.explicitRequestBodyParameter`.\n */\nconst buildRequestParameterModels = (\n op: Operation,\n modelsByName: ModelsByName,\n): Model[] => {\n if (!op.parameters || op.parameters.length === 0) {\n return [];\n }\n\n // Whether the request body can be represented directly, without a wrapper\n // model (ie the request will be the body itself).\n const canInlineBody = (body: Model): boolean => {\n // If the body is the only parameter, we can inline it no matter the type\n if (op.parameters.length === 1) {\n return true;\n }\n // We inline object bodies, so long as they aren't dictionaries (as\n // dictionary keys could clash with other parameters), and so long as they\n // don't have a property name that clashes with another parameter\n const hasClashingPropertyName = (\n modelsByName?.[body.type]?.properties ?? []\n ).some((prop) => op.parameters.some((param) => param.name === prop.name));\n return (\n body.export === 'reference' &&\n modelsByName?.[body.type]?.export !== 'dictionary' &&\n !hasClashingPropertyName\n );\n };\n\n // Group parameters by their position (`in`: query/path/header/cookie/body),\n // dropping any body that can be inlined.\n const parametersByPosition = op.parameters\n .filter((p) => !(p.in === 'body' && canInlineBody(p)))\n .reduce<{ [position: string]: Model[] }>(\n (acc, p) => ({ ...acc, [p.in]: [...(acc[p.in] ?? []), p] }),\n {},\n );\n\n // The body parameter was already renamed to \"body\" by augmentBodyParameter.\n op.explicitRequestBodyParameter = parametersByPosition['body']?.[0];\n\n return Object.entries(parametersByPosition).map(([position, parameters]) => {\n const name = `${op.operationIdPascalCase}Request${upperFirst(position)}Parameters`;\n return createModel({\n description: op.description,\n export: 'interface',\n name,\n properties: parameters,\n type: name,\n isRequired: true,\n });\n });\n};\n\n/**\n * Augment a single model with schema-derived data (from its matching spec\n * schema, if any) and language-specific names and types.\n */\nconst augmentModel = (\n spec: Spec,\n model: Model,\n modelsByName: ModelsByName,\n): void => {\n model.nameSnakeCase = toPythonName('model', model.name);\n\n const matchingSpecModel = spec?.components?.schemas?.[model.name];\n if (matchingSpecModel) {\n const specModel = resolveIfRef(spec, matchingSpecModel);\n\n augmentModelFromSchema(spec, model, specModel, modelsByName);\n\n for (const property of model.properties) {\n const matchingSpecProperty = specModel.properties?.[property.name];\n if (matchingSpecProperty) {\n const specProperty = resolveIfRef(spec, matchingSpecProperty);\n augmentModelFromSchema(spec, property, specProperty, modelsByName);\n }\n }\n }\n\n model.properties.forEach(addLanguageTypes);\n\n // Resolve the discriminator's TypeScript property name for marshalling.\n if (model.discriminator) {\n model.discriminator.typescriptPropertyName = toTypeScriptName(\n model.discriminator.propertyName,\n );\n }\n};\n\n/**\n * Ensure no two properties/parameters of an object model collapse onto the same\n * TypeScript identifier (e.g. `foo-bar` and `foo_bar` both camelCase to\n * `fooBar`, or a query and header parameter sharing a name within one request\n * position). Such a clash would emit a type with duplicate members that does\n * not compile, so fail fast with an actionable error instead.\n */\nconst assertNoClashingPropertyNames = (model: Model): void => {\n const seen = new Map<string, string>();\n for (const property of model.properties) {\n // Composite members are unnamed (their names are empty); skip them.\n if (!property.name) continue;\n const existing = seen.get(property.typescriptName!);\n if (existing !== undefined && existing !== property.name) {\n throw new Error(\n `Property name conflict in \"${model.name}\": \"${existing}\" and \"${property.name}\" both map to the TypeScript name \"${property.typescriptName}\". Please rename one of these in your OpenAPI specification.`,\n );\n }\n seen.set(property.typescriptName!, property.name);\n }\n};\n\n/**\n * The marshalling semantics of a property — two properties with the same key\n * convert identically on the wire (so either branch's conversion is safe).\n */\nconst marshallingKey = (m: Model): string => {\n if (['date', 'date-time'].includes(m.format ?? '')) return 'date';\n if (m.type === 'binary') return 'binary';\n // Enums serialise as their bare primitive (no conversion).\n if (m.isEnum || m.export === 'enum') return 'plain';\n if (COLLECTION_TYPES.has(m.export)) {\n return `${m.export}<${m.link ? marshallingKey(m.link) : 'plain'}>`;\n }\n if (m.export === 'tuple') {\n return `tuple<${m.properties.map(marshallingKey).join(',')}>`;\n }\n if (m.export === 'reference' && !PRIMITIVE_TYPES.has(m.type)) {\n return `ref:${m.type}`;\n }\n return 'plain';\n};\n\n/**\n * A non-discriminated `oneOf`/`anyOf` of object members marshals by composing\n * every member, taking only the properties present on the value. That is sound\n * exactly when no wire property is claimed by two members with different\n * marshalling (e.g. a `date-time` in one and a plain string in another) —\n * otherwise the branch cannot be determined without guessing, so fail fast and\n * ask for a discriminator rather than corrupt data at runtime.\n */\nconst assertNoConflictingUnionMemberMarshalling = (model: Model): void => {\n if (\n (model.export !== 'one-of' && model.export !== 'any-of') ||\n model.discriminator\n ) {\n return;\n }\n const seen = new Map<string, { memberName: string; key: string }>();\n for (const member of model.composedModels ?? []) {\n for (const property of member.properties) {\n if (!property.name) continue;\n const key = marshallingKey(property);\n const existing = seen.get(property.name);\n if (existing && existing.key !== key) {\n throw new Error(\n `Schema \"${model.name}\" is a non-discriminated ${camelCase(model.export)} of \"${existing.memberName}\" and \"${member.name}\", which both declare a property \"${property.name}\" with different types, so the correct conversion cannot be determined. Add a discriminator to the union in your OpenAPI specification (e.g. with Pydantic, Field(discriminator=...)).`,\n );\n }\n if (!existing) {\n seen.set(property.name, { memberName: member.name, key });\n }\n }\n }\n};\n\n/**\n * An `application/x-www-form-urlencoded` body is form-encoded as `key=value`\n * pairs, so the wire form is only defined for a schema with named properties\n * (an object) or a primitive sent verbatim. A top-level array or tuple has no\n * property names to key on — encoding it would emit index keys (`0=a&1=b`) that\n * no form parser can decode — so fail fast rather than generate a client that\n * is silently wrong on the wire.\n */\nconst assertEncodableUrlEncodedBody = (op: Operation): void => {\n const body = op.parametersBody;\n if (!body?.mediaTypes) return;\n const mediaTypes = Array.isArray(body.mediaTypes)\n ? body.mediaTypes\n : [body.mediaTypes];\n // Match the wire media type the client actually sends: JSON is preferred, so\n // an array body offering both JSON and urlencoded is sent as JSON and is fine.\n const chosenMediaType =\n mediaTypes.find(\n (mt) => mt === 'application/json' || mt.endsWith('+json'),\n ) ?? mediaTypes[0];\n if (chosenMediaType !== 'application/x-www-form-urlencoded') return;\n if (body.isPrimitive) return;\n if (body.export === 'array' || body.export === 'tuple') {\n throw new Error(\n `Operation ${op.method} ${op.path} has an application/x-www-form-urlencoded request body whose schema is a ${body.export}, which has no defined form encoding. Use an object schema (its properties become the form fields) or a primitive schema (sent verbatim) in your OpenAPI specification.`,\n );\n }\n};\n\n/**\n * Group operations by their (camelCased) tags, collecting any untagged\n * operations separately.\n */\nconst groupOperationsByTag = (\n allOperations: Operation[],\n): {\n operationsByTag: { [tag: string]: Operation[] };\n untaggedOperations: Operation[];\n} => {\n const isTagged = (op: Operation): boolean => !!op.tags && op.tags.length > 0;\n\n const operationsByTag = allOperations\n .filter(isTagged)\n .flatMap((op) => op.tags!.map((tag) => [camelCase(tag), op] as const))\n .reduce<{ [tag: string]: Operation[] }>(\n (acc, [tag, op]) => ({ ...acc, [tag]: [...(acc[tag] ?? []), op] }),\n {},\n );\n\n return {\n operationsByTag,\n untaggedOperations: allOperations.filter((op) => !isTagged(op)),\n };\n};\n\n/**\n * Resolve a schema to its model: an existing named model for a `$ref`, or a\n * freshly built-and-augmented model for an inline (nested value) schema.\n */\nconst buildOrReferenceModel = (\n spec: Spec,\n modelsByName: ModelsByName,\n schema: OpenApiSchemaOrRef,\n): Model => {\n if (isRef(schema)) {\n const name = splitRef(schema.$ref)[2];\n return modelsByName[name];\n }\n const model = buildInlineModel(spec, schema);\n linkModel(spec, modelsByName, model, schema);\n augmentModelFromSchema(spec, model, schema, modelsByName);\n return model;\n};\n\n/**\n * The `x-*` vendor extensions declared on an object.\n */\nconst vendorExtensionsOf = (object: object | undefined): VendorExtensions =>\n Object.fromEntries(\n Object.entries(object ?? {}).filter(([key]) => key.startsWith('x-')),\n );\n\nconst augmentModelFromSchema = (\n spec: Spec,\n model: Model,\n schema: OpenApiSchema,\n modelsByName: ModelsByName,\n visited: Set<Model> = new Set(),\n) => {\n model.format = schema.format;\n model.deprecated = !!schema.deprecated;\n model.openapiType = schema.type;\n model.isEnum = !!schema.enum && schema.enum.length > 0;\n model.vendorExtensions = vendorExtensionsOf(schema);\n\n // A \"dictionary\" has only additional properties; an \"interface\" may mix\n // explicit and additional properties.\n if (schema.additionalProperties) {\n const additionalPropertiesModel = buildOrReferenceModel(\n spec,\n modelsByName,\n schema.additionalProperties === true ? {} : schema.additionalProperties,\n );\n\n if (model.export === 'dictionary') {\n // A dictionary carries a self-referential property; the rest are explicit\n const explicitProperties = model.properties.filter(\n (p) => !(p.export === 'dictionary' && p.name === model.name),\n );\n\n // Explicit properties make this an interface rather than a dictionary\n if (explicitProperties.length > 0 || schema.patternProperties) {\n model.export = 'interface';\n model.hasAdditionalProperties = true;\n model.additionalPropertiesModel = additionalPropertiesModel;\n model.properties = explicitProperties;\n }\n } else {\n model.hasAdditionalProperties = true;\n model.additionalPropertiesModel = additionalPropertiesModel;\n }\n }\n\n // Pattern properties can have different value types per pattern, so the model\n // is an interface rather than a dictionary.\n if (schema.patternProperties) {\n const patternProperties = resolveIfRef(spec, schema.patternProperties);\n\n if (model.export === 'dictionary') {\n model.export = 'interface';\n }\n\n model.hasPatternProperties = true;\n model.patternPropertiesModels = Object.entries(patternProperties)\n .map(([pattern, patternProperty]) => ({\n pattern,\n model: buildOrReferenceModel(spec, modelsByName, patternProperty),\n }))\n .filter((entry): entry is PatternPropertyModel => !!entry.model);\n }\n\n addLanguageTypes(model);\n\n visited.add(model);\n\n const recurse = (target: Model, subSchema: OpenApiSchema): void =>\n augmentModelFromSchema(spec, target, subSchema, modelsByName, visited);\n\n // Array element type.\n if (\n model.export === 'array' &&\n model.link &&\n 'items' in schema &&\n schema.items &&\n !visited.has(model.link)\n ) {\n recurse(model.link, resolveIfRef(spec, schema.items));\n }\n\n // Dictionary value type (additionalProperties may be `true` rather than a\n // schema).\n if (\n model.export === 'dictionary' &&\n model.link &&\n 'additionalProperties' in schema &&\n schema.additionalProperties &&\n !visited.has(model.link)\n ) {\n const subSchema = resolveIfRef(spec, schema.additionalProperties);\n if (subSchema !== true) {\n recurse(model.link, subSchema);\n }\n }\n\n // Tuple element types (3.1 `prefixItems`), positionally.\n if (model.export === 'tuple' && 'prefixItems' in schema) {\n const memberSchemas =\n (schema as { prefixItems?: OpenApiSchemaOrRef[] }).prefixItems ?? [];\n model.properties.forEach((member, i) => {\n const subSchema = resolveIfRef(spec, memberSchemas[i]);\n if (subSchema && !visited.has(member)) {\n recurse(member, subSchema);\n }\n });\n }\n\n model.properties\n .filter((p) => !visited.has(p) && schema.properties?.[trim(p.name, `\"'`)])\n .forEach((property) =>\n recurse(\n property,\n resolveIfRef(spec, schema.properties![trim(property.name, `\"'`)]),\n ),\n );\n\n if (COMPOSED_SCHEMA_TYPES.has(model.export)) {\n const memberSchemas = compositeMemberSchemas(schema, model.export);\n model.properties.forEach((property, i) => {\n const subSchema = resolveIfRef(spec, memberSchemas[i]);\n if (subSchema) {\n recurse(property, subSchema);\n }\n });\n }\n};\n\nconst addLanguageTypes = (model: Model) => {\n model.name = trim(model.name, `\"'`);\n model.typescriptName = toTypeScriptName(model.name);\n model.typescriptType = toTypeScriptType(model);\n model.pythonName = toPythonName('property', model.name);\n model.pythonType = toPythonType(model);\n model.isPrimitive =\n PRIMITIVE_TYPES.has(model.type) &&\n !COMPOSED_SCHEMA_TYPES.has(model.export) &&\n !COLLECTION_TYPES.has(model.export);\n};\n\nconst isOperationMutation = (op: Operation): boolean => {\n // x-mutation/x-query override the HTTP-method default.\n const { vendorExtensions } = op;\n if (vendorExtensions?.[VENDOR_EXTENSIONS.MUTATION]) {\n return true;\n } else if (vendorExtensions?.[VENDOR_EXTENSIONS.QUERY]) {\n return false;\n }\n return ['PATCH', 'POST', 'PUT', 'DELETE'].includes(op.method);\n};\n\nconst augmentInfiniteQuery = (op: Operation) => {\n const { paginationDisabled, cursorPropertyName } = getCursorOptions(op);\n\n const cursorProperty = op.parameters.find(\n (p) => p.name === cursorPropertyName,\n );\n\n // An infinite query is a paginated operation that accepts the cursor parameter\n op.isInfiniteQuery = !paginationDisabled && !!cursorProperty;\n if (op.isInfiniteQuery) {\n op.infiniteQueryCursorProperty = cursorProperty;\n }\n};\n\n/**\n * Resolve the pagination cursor options from an operation's `x-cursor` vendor\n * extension. Accepted forms (object variants exist because Smithy vendor\n * extensions must be objects):\n *\n * - `'property'` / `{ inputToken: 'property' }` — the input property to page on\n * - `false` / `{ enabled: false }` — disable pagination\n */\nconst getCursorOptions = (\n op: Operation,\n): { paginationDisabled: boolean; cursorPropertyName: string } => {\n const cursor = op.vendorExtensions?.[VENDOR_EXTENSIONS.CURSOR];\n\n // Defaults: pagination enabled, paging on a property named 'cursor'.\n if (cursor === false) {\n return { paginationDisabled: true, cursorPropertyName: 'cursor' };\n }\n if (typeof cursor === 'string') {\n return { paginationDisabled: false, cursorPropertyName: cursor };\n }\n const options = (cursor ?? {}) as { enabled?: boolean; inputToken?: unknown };\n return {\n paginationDisabled: options.enabled === false,\n cursorPropertyName:\n typeof options.inputToken === 'string' ? options.inputToken : 'cursor',\n };\n};\n\n/**\n * Add query/mutation, streaming and infinite-query flags to an operation.\n */\nconst augmentOperationBehaviour = (op: Operation) => {\n const isMutation = isOperationMutation(op);\n op.isMutation = isMutation;\n op.isQuery = !isMutation;\n\n op.isStreaming =\n !!op.vendorExtensions?.[VENDOR_EXTENSIONS.STREAMING] ||\n op.responses.some((res) => res.isJsonlStreaming);\n\n // For JSON-lines streaming, the result is each streamed item, so the client\n // method returns AsyncIterableIterator<itemSchemaModel>. Named (hoisted)\n // item schemas become references; inline primitives keep their own type.\n const jsonlResponse = op.responses.find((res) => res.isJsonlStreaming);\n if (jsonlResponse) {\n const itemSchemaModel = jsonlResponse.itemSchemaModel;\n const result = op.result;\n if (result && itemSchemaModel) {\n if (itemSchemaModel.name) {\n result.type = itemSchemaModel.name;\n result.typescriptType = itemSchemaModel.name;\n result.export = 'reference';\n } else {\n result.type = itemSchemaModel.type;\n result.typescriptType = itemSchemaModel.typescriptType;\n result.export = itemSchemaModel.export;\n result.format = itemSchemaModel.format;\n result.link = itemSchemaModel.link;\n result.isPrimitive = itemSchemaModel.isPrimitive;\n }\n }\n }\n\n // Add infinite query details if applicable\n if (!isMutation) {\n augmentInfiniteQuery(op);\n }\n};\n"],"names":["orderBy","trim","uniqBy","camelCase","pascalCase","snakeCase","toClassName","upperFirst","toPythonName","toPythonType","toTypeScriptModelName","toTypeScriptName","toTypeScriptType","COLLECTION_TYPES","COMPOSED_SCHEMA_TYPES","createModel","DEFAULT_SERVICE_NAME","indexModelsByName","PRIMITIVE_TYPES","STREAMING_CONTENT_TYPES","VENDOR_EXTENSIONS","normaliseOpenApiSpecForCodeGen","buildClientData","buildInlineModel","compositeMemberSchemas","getSpecOperation","getSpecParametersByKey","getSpecPathParameters","linkModel","specParameterKey","isRef","resolveIfRef","splitRef","buildOpenApiCodeGenData","inSpec","spec","data","modelsByName","models","service","services","augmentService","allOperations","flatMap","s","operations","o","uniqueName","op","buildRequestParameterModels","model","augmentModel","typescriptName","name","typescriptType","assertNoClashingPropertyNames","assertNoConflictingUnionMemberMarshalling","assertEncodableUrlEncodedBody","d","operationsByTag","untaggedOperations","groupOperationsByTag","info","vendorExtensions","vendorExtensionsOf","className","title","modelImports","augmentOperation","imports","x","nameSnakeCase","specOp","assignOperationNames","augmentResponses","augmentParameters","responses","forEach","addLanguageTypes","r","code","result","find","operationIdPascalCase","operationIdSnakeCase","parameters","length","baseRequestTypeName","requestTypeName","components","schemas","augmentOperationBehaviour","deduplicatedOpId","dotNotationOpId","id","dotNotationName","filter","export","map","type","response","has","composedPrimitives","p","Error","method","path","matchingSpecResponse","specResponse","content","mediaTypes","Object","keys","mediaType","responseContent","responseSchema","schema","augmentModelFromSchema","isJsonlStreaming","itemSchemaModel","buildOrReferenceModel","itemSchema","specParametersByKey","parameter","push","specParameter","in","prop","specParameterSchema","augmentBodyParameter","collectionFormat","getCollectionFormat","allowReserved","style","pathStyle","pathExplode","explode","specBody","requestBody","bodySchema","position","spaceDelimited","pipeDelimited","simple","form","canInlineBody","body","hasClashingPropertyName","properties","some","param","parametersByPosition","reduce","acc","explicitRequestBodyParameter","entries","description","isRequired","matchingSpecModel","specModel","property","matchingSpecProperty","specProperty","discriminator","typescriptPropertyName","propertyName","seen","Map","existing","get","undefined","set","marshallingKey","m","includes","format","isEnum","link","join","member","composedModels","key","memberName","parametersBody","Array","isArray","chosenMediaType","mt","endsWith","isPrimitive","isTagged","tags","tag","$ref","object","fromEntries","startsWith","visited","Set","deprecated","openapiType","enum","additionalProperties","additionalPropertiesModel","explicitProperties","patternProperties","hasAdditionalProperties","hasPatternProperties","patternPropertiesModels","pattern","patternProperty","entry","add","recurse","target","subSchema","items","memberSchemas","prefixItems","i","pythonName","pythonType","isOperationMutation","MUTATION","QUERY","augmentInfiniteQuery","paginationDisabled","cursorPropertyName","getCursorOptions","cursorProperty","isInfiniteQuery","infiniteQueryCursorProperty","cursor","CURSOR","options","enabled","inputToken","isMutation","isQuery","isStreaming","STREAMING","res","jsonlResponse"],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import { Spec } from './types';
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import type { Spec } from './types';
2
6
  /**
3
7
  * In order to ensure we generate models consistently whether or not users used refs or inline schemas,
4
8
  * we hoist any inline refs to non-primitives