@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,5 +1,270 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`openApiTsClientGenerator - composite schemas > marshals a polymorphic list as an array of a discriminated union > client.gen.ts 1`] = `
4
+ "import type { Animal, Cat, Dog } from './types.gen.js';
5
+
6
+ /**
7
+ * Utility for serialisation and deserialisation of API types.
8
+ */
9
+ export class $IO {
10
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
11
+ Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
12
+
13
+ public static Animal = {
14
+ toJson: (model: Animal): any => {
15
+ if (model === undefined || model === null) {
16
+ return model;
17
+ }
18
+ switch ((model as any).kind) {
19
+ case 'cat':
20
+ return $IO.Cat.toJson(model as Cat);
21
+ case 'dog':
22
+ return $IO.Dog.toJson(model as Dog);
23
+ }
24
+ return {
25
+ ...$IO.Cat.toJson(model as Cat),
26
+ ...$IO.Dog.toJson(model as Dog),
27
+ };
28
+ },
29
+ fromJson: (json: any): Animal => {
30
+ if (json === undefined || json === null) {
31
+ return json;
32
+ }
33
+ switch (json?.['kind']) {
34
+ case 'cat':
35
+ return $IO.Cat.fromJson(json);
36
+ case 'dog':
37
+ return $IO.Dog.fromJson(json);
38
+ }
39
+ return {
40
+ ...$IO.Cat.fromJson(json),
41
+ ...$IO.Dog.fromJson(json),
42
+ };
43
+ },
44
+ };
45
+
46
+ public static Cat = {
47
+ toJson: (model: Cat): any => {
48
+ if (model === undefined || model === null) {
49
+ return model;
50
+ }
51
+ return {
52
+ ...(model.kind === undefined
53
+ ? {}
54
+ : {
55
+ kind: model.kind,
56
+ }),
57
+ ...(model.napAt === undefined
58
+ ? {}
59
+ : {
60
+ napAt: model.napAt.toISOString(),
61
+ }),
62
+ };
63
+ },
64
+ fromJson: (json: any): Cat => {
65
+ if (json === undefined || json === null) {
66
+ return json;
67
+ }
68
+ return {
69
+ kind: json['kind'],
70
+ napAt: new Date(json['napAt']),
71
+ };
72
+ },
73
+ };
74
+
75
+ public static Dog = {
76
+ toJson: (model: Dog): any => {
77
+ if (model === undefined || model === null) {
78
+ return model;
79
+ }
80
+ return {
81
+ ...(model.kind === undefined
82
+ ? {}
83
+ : {
84
+ kind: model.kind,
85
+ }),
86
+ ...(model.walkAt === undefined
87
+ ? {}
88
+ : {
89
+ walkAt: model.walkAt.toISOString(),
90
+ }),
91
+ };
92
+ },
93
+ fromJson: (json: any): Dog => {
94
+ if (json === undefined || json === null) {
95
+ return json;
96
+ }
97
+ return {
98
+ kind: json['kind'],
99
+ walkAt: new Date(json['walkAt']),
100
+ };
101
+ },
102
+ };
103
+ }
104
+
105
+ /**
106
+ * Client configuration for TestApi
107
+ */
108
+ export interface TestApiConfig {
109
+ /**
110
+ * Base URL for the API
111
+ */
112
+ url: string;
113
+ /**
114
+ * Custom instance of fetch. By default the global 'fetch' is used.
115
+ * You can override this to add custom middleware for use cases such as adding authentication headers.
116
+ */
117
+ fetch?: typeof fetch;
118
+ /**
119
+ * Additional configuration
120
+ */
121
+ options?: {
122
+ /**
123
+ * By default, the client will add a Content-Type header, set to the media type defined for
124
+ * the request in the OpenAPI specification.
125
+ * Set this to false to omit this header.
126
+ */
127
+ omitContentTypeHeader?: boolean;
128
+ };
129
+ }
130
+
131
+ /**
132
+ * API Client for TestApi
133
+ */
134
+ export class TestApi {
135
+ private $config: TestApiConfig;
136
+
137
+ constructor(config: TestApiConfig) {
138
+ this.$config = config;
139
+
140
+ this.listPets = this.listPets.bind(this);
141
+ }
142
+
143
+ private $collectionDelimiters: { [format: string]: string } = {
144
+ csv: ',',
145
+ ssv: ' ',
146
+ pipes: '|',
147
+ };
148
+
149
+ private $deepObject = (key: string, value: any): string[] => {
150
+ if (value === undefined || value === null) {
151
+ return [];
152
+ }
153
+ if (typeof value !== 'object') {
154
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
155
+ }
156
+ return Object.entries(value).flatMap(([prop, v]) =>
157
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
158
+ );
159
+ };
160
+
161
+ private $url = (
162
+ path: string,
163
+ pathParameters: { [key: string]: any },
164
+ queryParameters: { [key: string]: any },
165
+ collectionFormats?: {
166
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
167
+ },
168
+ ): string => {
169
+ const baseUrl = this.$config.url.endsWith('/')
170
+ ? this.$config.url.slice(0, -1)
171
+ : this.$config.url;
172
+ const pathWithParameters = Object.entries(pathParameters).reduce(
173
+ (withParams, [key, value]) =>
174
+ withParams.replace(\`{\${key}}\`, encodeURIComponent(\`\${value}\`)),
175
+ path,
176
+ );
177
+ const queryString = Object.entries(queryParameters)
178
+ .flatMap(([key, value]) => {
179
+ if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
180
+ return value.map(
181
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
182
+ );
183
+ }
184
+ if (
185
+ collectionFormats?.[key] === 'deepObject' &&
186
+ value !== null &&
187
+ typeof value === 'object'
188
+ ) {
189
+ return this.$deepObject(encodeURIComponent(key), value);
190
+ }
191
+ const delimiter =
192
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
193
+ return [
194
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
195
+ ];
196
+ })
197
+ .join('&');
198
+ return (
199
+ baseUrl + pathWithParameters + (queryString ? \`?\${queryString}\` : '')
200
+ );
201
+ };
202
+
203
+ private $headers = (
204
+ headerParameters: { [key: string]: any },
205
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
206
+ ): [string, string][] => {
207
+ return Object.entries(headerParameters).flatMap(([key, value]) => {
208
+ if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
209
+ return value.map((v) => [key, String(v)]) as [string, string][];
210
+ }
211
+ const delimiter =
212
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
213
+ return [
214
+ [
215
+ key,
216
+ Array.isArray(value)
217
+ ? value.map(String).join(delimiter)
218
+ : String(value),
219
+ ],
220
+ ];
221
+ });
222
+ };
223
+
224
+ private $fetch: typeof fetch = (...args) =>
225
+ (this.$config.fetch ?? fetch)(...args);
226
+
227
+ public async listPets(): Promise<Array<Animal>> {
228
+ const pathParameters: { [key: string]: any } = {};
229
+ const queryParameters: { [key: string]: any } = {};
230
+ const headerParameters: { [key: string]: any } = {};
231
+
232
+ const body = undefined;
233
+
234
+ const response = await this.$fetch(
235
+ this.$url('/pets', pathParameters, queryParameters),
236
+ {
237
+ headers: this.$headers(headerParameters),
238
+ method: 'GET',
239
+ body,
240
+ },
241
+ );
242
+
243
+ if (response.status === 200) {
244
+ return ((await response.json()) as Array<any>).map($IO.Animal.fromJson);
245
+ }
246
+ throw new Error(
247
+ \`Unknown response status \${response.status} returned by API\`,
248
+ );
249
+ }
250
+ }
251
+ "
252
+ `;
253
+
254
+ exports[`openApiTsClientGenerator - composite schemas > marshals a polymorphic list as an array of a discriminated union > types.gen.ts 1`] = `
255
+ "export type Animal = Cat | Dog;
256
+ export type Cat = {
257
+ kind: 'cat';
258
+ napAt: Date;
259
+ };
260
+ export type Dog = {
261
+ kind: 'dog';
262
+ walkAt: Date;
263
+ };
264
+ export type ListPetsError = never;
265
+ "
266
+ `;
267
+
3
268
  exports[`openApiTsClientGenerator - composite schemas > should generate valid TypeScript for composite types 1`] = `
4
269
  "export type PutTest200Response = PutTest200ResponseAllOf &
5
270
  PutTest200ResponseAllOf1;
@@ -47,7 +312,7 @@ exports[`openApiTsClientGenerator - composite schemas > should generate valid Ty
47
312
  * Utility for serialisation and deserialisation of API types.
48
313
  */
49
314
  export class $IO {
50
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
315
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
51
316
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
52
317
 
53
318
  public static PutTest200Response = {
@@ -171,8 +436,8 @@ export class $IO {
171
436
  return json;
172
437
  }
173
438
  return {
174
- ...$IO.PutTestRequestContentOneOf.fromJson(json),
175
- ...$IO.PutTestRequestContentOneOf1.fromJson(json),
439
+ ...$IO.PutTestRequestContentOneOf.$fromJsonPartial(json),
440
+ ...$IO.PutTestRequestContentOneOf1.$fromJsonPartial(json),
176
441
  };
177
442
  },
178
443
  };
@@ -204,6 +469,20 @@ export class $IO {
204
469
  valueA: json['valueA'],
205
470
  };
206
471
  },
472
+ $fromJsonPartial: (json: any): any => {
473
+ return {
474
+ ...(json['type'] === undefined
475
+ ? {}
476
+ : {
477
+ type: json['type'],
478
+ }),
479
+ ...(json['valueA'] === undefined
480
+ ? {}
481
+ : {
482
+ valueA: json['valueA'],
483
+ }),
484
+ };
485
+ },
207
486
  };
208
487
 
209
488
  public static PutTestRequestContentOneOf1 = {
@@ -233,6 +512,20 @@ export class $IO {
233
512
  valueB: json['valueB'],
234
513
  };
235
514
  },
515
+ $fromJsonPartial: (json: any): any => {
516
+ return {
517
+ ...(json['type'] === undefined
518
+ ? {}
519
+ : {
520
+ type: json['type'],
521
+ }),
522
+ ...(json['valueB'] === undefined
523
+ ? {}
524
+ : {
525
+ valueB: json['valueB'],
526
+ }),
527
+ };
528
+ },
236
529
  };
237
530
  }
238
531
 
@@ -274,11 +567,31 @@ export class TestApi {
274
567
  this.putTest = this.putTest.bind(this);
275
568
  }
276
569
 
570
+ private $collectionDelimiters: { [format: string]: string } = {
571
+ csv: ',',
572
+ ssv: ' ',
573
+ pipes: '|',
574
+ };
575
+
576
+ private $deepObject = (key: string, value: any): string[] => {
577
+ if (value === undefined || value === null) {
578
+ return [];
579
+ }
580
+ if (typeof value !== 'object') {
581
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
582
+ }
583
+ return Object.entries(value).flatMap(([prop, v]) =>
584
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
585
+ );
586
+ };
587
+
277
588
  private $url = (
278
589
  path: string,
279
590
  pathParameters: { [key: string]: any },
280
591
  queryParameters: { [key: string]: any },
281
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
592
+ collectionFormats?: {
593
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
594
+ },
282
595
  ): string => {
283
596
  const baseUrl = this.$config.url.endsWith('/')
284
597
  ? this.$config.url.slice(0, -1)
@@ -289,15 +602,24 @@ export class TestApi {
289
602
  path,
290
603
  );
291
604
  const queryString = Object.entries(queryParameters)
292
- .map(([key, value]) => {
605
+ .flatMap(([key, value]) => {
293
606
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
294
- return value
295
- .map(
296
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
297
- )
298
- .join('&');
607
+ return value.map(
608
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
609
+ );
299
610
  }
300
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
611
+ if (
612
+ collectionFormats?.[key] === 'deepObject' &&
613
+ value !== null &&
614
+ typeof value === 'object'
615
+ ) {
616
+ return this.$deepObject(encodeURIComponent(key), value);
617
+ }
618
+ const delimiter =
619
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
620
+ return [
621
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
622
+ ];
301
623
  })
302
624
  .join('&');
303
625
  return (
@@ -307,13 +629,22 @@ export class TestApi {
307
629
 
308
630
  private $headers = (
309
631
  headerParameters: { [key: string]: any },
310
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
632
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
311
633
  ): [string, string][] => {
312
634
  return Object.entries(headerParameters).flatMap(([key, value]) => {
313
635
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
314
636
  return value.map((v) => [key, String(v)]) as [string, string][];
315
637
  }
316
- return [[key, String(value)]];
638
+ const delimiter =
639
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
640
+ return [
641
+ [
642
+ key,
643
+ Array.isArray(value)
644
+ ? value.map(String).join(delimiter)
645
+ : String(value),
646
+ ],
647
+ ];
317
648
  });
318
649
  };
319
650
 
@@ -356,7 +687,7 @@ export class TestApi {
356
687
 
357
688
  exports[`openApiTsClientGenerator - composite schemas > should handle FastAPI-style discriminated unions with string const (Literal) 1`] = `
358
689
  "export type Circle = {
359
- kind: string;
690
+ kind: 'circle';
360
691
  radius: number;
361
692
  };
362
693
  export type Kind = 'circle';
@@ -366,7 +697,7 @@ export type ShapesOut = {
366
697
  };
367
698
  export type ShapesOutCanonical = Circle | Square;
368
699
  export type Square = {
369
- kind: string;
700
+ kind: 'square';
370
701
  side: number;
371
702
  };
372
703
  export type GetShapesError = never;
@@ -385,7 +716,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle FastAPI-st
385
716
  * Utility for serialisation and deserialisation of API types.
386
717
  */
387
718
  export class $IO {
388
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
719
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
389
720
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
390
721
 
391
722
  public static Circle = {
@@ -445,6 +776,12 @@ export class $IO {
445
776
  if (model === undefined || model === null) {
446
777
  return model;
447
778
  }
779
+ switch ((model as any).kind) {
780
+ case 'circle':
781
+ return $IO.Circle.toJson(model as Circle);
782
+ case 'square':
783
+ return $IO.Square.toJson(model as Square);
784
+ }
448
785
  return {
449
786
  ...$IO.Circle.toJson(model as Circle),
450
787
  ...$IO.Square.toJson(model as Square),
@@ -454,6 +791,12 @@ export class $IO {
454
791
  if (json === undefined || json === null) {
455
792
  return json;
456
793
  }
794
+ switch (json?.['kind']) {
795
+ case 'circle':
796
+ return $IO.Circle.fromJson(json);
797
+ case 'square':
798
+ return $IO.Square.fromJson(json);
799
+ }
457
800
  return {
458
801
  ...$IO.Circle.fromJson(json),
459
802
  ...$IO.Square.fromJson(json),
@@ -529,11 +872,31 @@ export class TestApi {
529
872
  this.getShapes = this.getShapes.bind(this);
530
873
  }
531
874
 
875
+ private $collectionDelimiters: { [format: string]: string } = {
876
+ csv: ',',
877
+ ssv: ' ',
878
+ pipes: '|',
879
+ };
880
+
881
+ private $deepObject = (key: string, value: any): string[] => {
882
+ if (value === undefined || value === null) {
883
+ return [];
884
+ }
885
+ if (typeof value !== 'object') {
886
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
887
+ }
888
+ return Object.entries(value).flatMap(([prop, v]) =>
889
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
890
+ );
891
+ };
892
+
532
893
  private $url = (
533
894
  path: string,
534
895
  pathParameters: { [key: string]: any },
535
896
  queryParameters: { [key: string]: any },
536
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
897
+ collectionFormats?: {
898
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
899
+ },
537
900
  ): string => {
538
901
  const baseUrl = this.$config.url.endsWith('/')
539
902
  ? this.$config.url.slice(0, -1)
@@ -544,15 +907,24 @@ export class TestApi {
544
907
  path,
545
908
  );
546
909
  const queryString = Object.entries(queryParameters)
547
- .map(([key, value]) => {
910
+ .flatMap(([key, value]) => {
548
911
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
549
- return value
550
- .map(
551
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
552
- )
553
- .join('&');
912
+ return value.map(
913
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
914
+ );
554
915
  }
555
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
916
+ if (
917
+ collectionFormats?.[key] === 'deepObject' &&
918
+ value !== null &&
919
+ typeof value === 'object'
920
+ ) {
921
+ return this.$deepObject(encodeURIComponent(key), value);
922
+ }
923
+ const delimiter =
924
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
925
+ return [
926
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
927
+ ];
556
928
  })
557
929
  .join('&');
558
930
  return (
@@ -562,13 +934,22 @@ export class TestApi {
562
934
 
563
935
  private $headers = (
564
936
  headerParameters: { [key: string]: any },
565
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
937
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
566
938
  ): [string, string][] => {
567
939
  return Object.entries(headerParameters).flatMap(([key, value]) => {
568
940
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
569
941
  return value.map((v) => [key, String(v)]) as [string, string][];
570
942
  }
571
- return [[key, String(value)]];
943
+ const delimiter =
944
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
945
+ return [
946
+ [
947
+ key,
948
+ Array.isArray(value)
949
+ ? value.map(String).join(delimiter)
950
+ : String(value),
951
+ ],
952
+ ];
572
953
  });
573
954
  };
574
955
 
@@ -628,7 +1009,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle anyOf with
628
1009
  * Utility for serialisation and deserialisation of API types.
629
1010
  */
630
1011
  export class $IO {
631
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
1012
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
632
1013
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
633
1014
 
634
1015
  public static TestAnyOfAny200Response = {
@@ -743,11 +1124,31 @@ export class TestApi {
743
1124
  this.testAnyOfAny = this.testAnyOfAny.bind(this);
744
1125
  }
745
1126
 
1127
+ private $collectionDelimiters: { [format: string]: string } = {
1128
+ csv: ',',
1129
+ ssv: ' ',
1130
+ pipes: '|',
1131
+ };
1132
+
1133
+ private $deepObject = (key: string, value: any): string[] => {
1134
+ if (value === undefined || value === null) {
1135
+ return [];
1136
+ }
1137
+ if (typeof value !== 'object') {
1138
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
1139
+ }
1140
+ return Object.entries(value).flatMap(([prop, v]) =>
1141
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
1142
+ );
1143
+ };
1144
+
746
1145
  private $url = (
747
1146
  path: string,
748
1147
  pathParameters: { [key: string]: any },
749
1148
  queryParameters: { [key: string]: any },
750
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1149
+ collectionFormats?: {
1150
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
1151
+ },
751
1152
  ): string => {
752
1153
  const baseUrl = this.$config.url.endsWith('/')
753
1154
  ? this.$config.url.slice(0, -1)
@@ -758,15 +1159,24 @@ export class TestApi {
758
1159
  path,
759
1160
  );
760
1161
  const queryString = Object.entries(queryParameters)
761
- .map(([key, value]) => {
1162
+ .flatMap(([key, value]) => {
762
1163
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
763
- return value
764
- .map(
765
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
766
- )
767
- .join('&');
1164
+ return value.map(
1165
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
1166
+ );
768
1167
  }
769
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
1168
+ if (
1169
+ collectionFormats?.[key] === 'deepObject' &&
1170
+ value !== null &&
1171
+ typeof value === 'object'
1172
+ ) {
1173
+ return this.$deepObject(encodeURIComponent(key), value);
1174
+ }
1175
+ const delimiter =
1176
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1177
+ return [
1178
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
1179
+ ];
770
1180
  })
771
1181
  .join('&');
772
1182
  return (
@@ -776,13 +1186,22 @@ export class TestApi {
776
1186
 
777
1187
  private $headers = (
778
1188
  headerParameters: { [key: string]: any },
779
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1189
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
780
1190
  ): [string, string][] => {
781
1191
  return Object.entries(headerParameters).flatMap(([key, value]) => {
782
1192
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
783
1193
  return value.map((v) => [key, String(v)]) as [string, string][];
784
1194
  }
785
- return [[key, String(value)]];
1195
+ const delimiter =
1196
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1197
+ return [
1198
+ [
1199
+ key,
1200
+ Array.isArray(value)
1201
+ ? value.map(String).join(delimiter)
1202
+ : String(value),
1203
+ ],
1204
+ ];
786
1205
  });
787
1206
  };
788
1207
 
@@ -853,7 +1272,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle anyOf with
853
1272
  * Utility for serialisation and deserialisation of API types.
854
1273
  */
855
1274
  export class $IO {
856
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
1275
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
857
1276
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
858
1277
 
859
1278
  public static TestAnyOfEnum200Response = {
@@ -968,11 +1387,31 @@ export class TestApi {
968
1387
  this.testAnyOfEnum = this.testAnyOfEnum.bind(this);
969
1388
  }
970
1389
 
1390
+ private $collectionDelimiters: { [format: string]: string } = {
1391
+ csv: ',',
1392
+ ssv: ' ',
1393
+ pipes: '|',
1394
+ };
1395
+
1396
+ private $deepObject = (key: string, value: any): string[] => {
1397
+ if (value === undefined || value === null) {
1398
+ return [];
1399
+ }
1400
+ if (typeof value !== 'object') {
1401
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
1402
+ }
1403
+ return Object.entries(value).flatMap(([prop, v]) =>
1404
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
1405
+ );
1406
+ };
1407
+
971
1408
  private $url = (
972
1409
  path: string,
973
1410
  pathParameters: { [key: string]: any },
974
1411
  queryParameters: { [key: string]: any },
975
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1412
+ collectionFormats?: {
1413
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
1414
+ },
976
1415
  ): string => {
977
1416
  const baseUrl = this.$config.url.endsWith('/')
978
1417
  ? this.$config.url.slice(0, -1)
@@ -983,15 +1422,24 @@ export class TestApi {
983
1422
  path,
984
1423
  );
985
1424
  const queryString = Object.entries(queryParameters)
986
- .map(([key, value]) => {
1425
+ .flatMap(([key, value]) => {
987
1426
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
988
- return value
989
- .map(
990
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
991
- )
992
- .join('&');
1427
+ return value.map(
1428
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
1429
+ );
1430
+ }
1431
+ if (
1432
+ collectionFormats?.[key] === 'deepObject' &&
1433
+ value !== null &&
1434
+ typeof value === 'object'
1435
+ ) {
1436
+ return this.$deepObject(encodeURIComponent(key), value);
993
1437
  }
994
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
1438
+ const delimiter =
1439
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1440
+ return [
1441
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
1442
+ ];
995
1443
  })
996
1444
  .join('&');
997
1445
  return (
@@ -1001,13 +1449,22 @@ export class TestApi {
1001
1449
 
1002
1450
  private $headers = (
1003
1451
  headerParameters: { [key: string]: any },
1004
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1452
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
1005
1453
  ): [string, string][] => {
1006
1454
  return Object.entries(headerParameters).flatMap(([key, value]) => {
1007
1455
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
1008
1456
  return value.map((v) => [key, String(v)]) as [string, string][];
1009
1457
  }
1010
- return [[key, String(value)]];
1458
+ const delimiter =
1459
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1460
+ return [
1461
+ [
1462
+ key,
1463
+ Array.isArray(value)
1464
+ ? value.map(String).join(delimiter)
1465
+ : String(value),
1466
+ ],
1467
+ ];
1011
1468
  });
1012
1469
  };
1013
1470
 
@@ -1088,7 +1545,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle composite
1088
1545
  * Utility for serialisation and deserialisation of API types.
1089
1546
  */
1090
1547
  export class $IO {
1091
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
1548
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
1092
1549
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
1093
1550
 
1094
1551
  public static CompositeRequestContent = {
@@ -1169,7 +1626,7 @@ export class $IO {
1169
1626
  json,
1170
1627
  $IO.CompositeRequestContentOneOf3Value.fromJson,
1171
1628
  )),
1172
- ...$IO.CompositeRequestContentOneOf4.fromJson(json),
1629
+ ...$IO.CompositeRequestContentOneOf4.$fromJsonPartial(json),
1173
1630
  };
1174
1631
  },
1175
1632
  };
@@ -1253,6 +1710,15 @@ export class $IO {
1253
1710
  }),
1254
1711
  };
1255
1712
  },
1713
+ $fromJsonPartial: (json: any): any => {
1714
+ return {
1715
+ ...(json['key'] === undefined
1716
+ ? {}
1717
+ : {
1718
+ key: json['key'],
1719
+ }),
1720
+ };
1721
+ },
1256
1722
  };
1257
1723
  }
1258
1724
 
@@ -1294,11 +1760,31 @@ export class TestApi {
1294
1760
  this.composite = this.composite.bind(this);
1295
1761
  }
1296
1762
 
1763
+ private $collectionDelimiters: { [format: string]: string } = {
1764
+ csv: ',',
1765
+ ssv: ' ',
1766
+ pipes: '|',
1767
+ };
1768
+
1769
+ private $deepObject = (key: string, value: any): string[] => {
1770
+ if (value === undefined || value === null) {
1771
+ return [];
1772
+ }
1773
+ if (typeof value !== 'object') {
1774
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
1775
+ }
1776
+ return Object.entries(value).flatMap(([prop, v]) =>
1777
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
1778
+ );
1779
+ };
1780
+
1297
1781
  private $url = (
1298
1782
  path: string,
1299
1783
  pathParameters: { [key: string]: any },
1300
1784
  queryParameters: { [key: string]: any },
1301
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1785
+ collectionFormats?: {
1786
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
1787
+ },
1302
1788
  ): string => {
1303
1789
  const baseUrl = this.$config.url.endsWith('/')
1304
1790
  ? this.$config.url.slice(0, -1)
@@ -1309,15 +1795,24 @@ export class TestApi {
1309
1795
  path,
1310
1796
  );
1311
1797
  const queryString = Object.entries(queryParameters)
1312
- .map(([key, value]) => {
1798
+ .flatMap(([key, value]) => {
1313
1799
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
1314
- return value
1315
- .map(
1316
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
1317
- )
1318
- .join('&');
1800
+ return value.map(
1801
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
1802
+ );
1803
+ }
1804
+ if (
1805
+ collectionFormats?.[key] === 'deepObject' &&
1806
+ value !== null &&
1807
+ typeof value === 'object'
1808
+ ) {
1809
+ return this.$deepObject(encodeURIComponent(key), value);
1319
1810
  }
1320
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
1811
+ const delimiter =
1812
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1813
+ return [
1814
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
1815
+ ];
1321
1816
  })
1322
1817
  .join('&');
1323
1818
  return (
@@ -1327,13 +1822,22 @@ export class TestApi {
1327
1822
 
1328
1823
  private $headers = (
1329
1824
  headerParameters: { [key: string]: any },
1330
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
1825
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
1331
1826
  ): [string, string][] => {
1332
1827
  return Object.entries(headerParameters).flatMap(([key, value]) => {
1333
1828
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
1334
1829
  return value.map((v) => [key, String(v)]) as [string, string][];
1335
1830
  }
1336
- return [[key, String(value)]];
1831
+ const delimiter =
1832
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
1833
+ return [
1834
+ [
1835
+ key,
1836
+ Array.isArray(value)
1837
+ ? value.map(String).join(delimiter)
1838
+ : String(value),
1839
+ ],
1840
+ ];
1337
1841
  });
1338
1842
  };
1339
1843
 
@@ -1364,7 +1868,7 @@ export class TestApi {
1364
1868
  );
1365
1869
 
1366
1870
  if (response.status === 200) {
1367
- return await response.text();
1871
+ return await response.json();
1368
1872
  }
1369
1873
  throw new Error(
1370
1874
  \`Unknown response status \${response.status} returned by API\`,
@@ -1444,7 +1948,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle inline pri
1444
1948
  * Utility for serialisation and deserialisation of API types.
1445
1949
  */
1446
1950
  export class $IO {
1447
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
1951
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
1448
1952
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
1449
1953
 
1450
1954
  public static TestArrays200Response = {
@@ -1566,8 +2070,8 @@ export class $IO {
1566
2070
  return json;
1567
2071
  }
1568
2072
  return {
1569
- ...$IO.TestComposites200ResponseAnyOf.fromJson(json),
1570
- ...$IO.TestComposites200ResponseAnyOf1.fromJson(json),
2073
+ ...$IO.TestComposites200ResponseAnyOf.$fromJsonPartial(json),
2074
+ ...$IO.TestComposites200ResponseAnyOf1.$fromJsonPartial(json),
1571
2075
  };
1572
2076
  },
1573
2077
  };
@@ -1597,6 +2101,15 @@ export class $IO {
1597
2101
  }),
1598
2102
  };
1599
2103
  },
2104
+ $fromJsonPartial: (json: any): any => {
2105
+ return {
2106
+ ...(json['foo'] === undefined
2107
+ ? {}
2108
+ : {
2109
+ foo: json['foo'],
2110
+ }),
2111
+ };
2112
+ },
1600
2113
  };
1601
2114
 
1602
2115
  public static TestComposites200ResponseAnyOf1 = {
@@ -1624,6 +2137,15 @@ export class $IO {
1624
2137
  }),
1625
2138
  };
1626
2139
  },
2140
+ $fromJsonPartial: (json: any): any => {
2141
+ return {
2142
+ ...(json['bar'] === undefined
2143
+ ? {}
2144
+ : {
2145
+ bar: json['bar'],
2146
+ }),
2147
+ };
2148
+ },
1627
2149
  };
1628
2150
 
1629
2151
  public static TestCompositesRequestContent = {
@@ -1692,11 +2214,31 @@ export class TestApi {
1692
2214
  this.testPrimitiveText = this.testPrimitiveText.bind(this);
1693
2215
  }
1694
2216
 
2217
+ private $collectionDelimiters: { [format: string]: string } = {
2218
+ csv: ',',
2219
+ ssv: ' ',
2220
+ pipes: '|',
2221
+ };
2222
+
2223
+ private $deepObject = (key: string, value: any): string[] => {
2224
+ if (value === undefined || value === null) {
2225
+ return [];
2226
+ }
2227
+ if (typeof value !== 'object') {
2228
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
2229
+ }
2230
+ return Object.entries(value).flatMap(([prop, v]) =>
2231
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
2232
+ );
2233
+ };
2234
+
1695
2235
  private $url = (
1696
2236
  path: string,
1697
2237
  pathParameters: { [key: string]: any },
1698
2238
  queryParameters: { [key: string]: any },
1699
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2239
+ collectionFormats?: {
2240
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
2241
+ },
1700
2242
  ): string => {
1701
2243
  const baseUrl = this.$config.url.endsWith('/')
1702
2244
  ? this.$config.url.slice(0, -1)
@@ -1707,15 +2249,24 @@ export class TestApi {
1707
2249
  path,
1708
2250
  );
1709
2251
  const queryString = Object.entries(queryParameters)
1710
- .map(([key, value]) => {
2252
+ .flatMap(([key, value]) => {
1711
2253
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
1712
- return value
1713
- .map(
1714
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
1715
- )
1716
- .join('&');
2254
+ return value.map(
2255
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
2256
+ );
2257
+ }
2258
+ if (
2259
+ collectionFormats?.[key] === 'deepObject' &&
2260
+ value !== null &&
2261
+ typeof value === 'object'
2262
+ ) {
2263
+ return this.$deepObject(encodeURIComponent(key), value);
1717
2264
  }
1718
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
2265
+ const delimiter =
2266
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2267
+ return [
2268
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
2269
+ ];
1719
2270
  })
1720
2271
  .join('&');
1721
2272
  return (
@@ -1725,13 +2276,22 @@ export class TestApi {
1725
2276
 
1726
2277
  private $headers = (
1727
2278
  headerParameters: { [key: string]: any },
1728
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2279
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
1729
2280
  ): [string, string][] => {
1730
2281
  return Object.entries(headerParameters).flatMap(([key, value]) => {
1731
2282
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
1732
2283
  return value.map((v) => [key, String(v)]) as [string, string][];
1733
2284
  }
1734
- return [[key, String(value)]];
2285
+ const delimiter =
2286
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2287
+ return [
2288
+ [
2289
+ key,
2290
+ Array.isArray(value)
2291
+ ? value.map(String).join(delimiter)
2292
+ : String(value),
2293
+ ],
2294
+ ];
1735
2295
  });
1736
2296
  };
1737
2297
 
@@ -1776,7 +2336,7 @@ export class TestApi {
1776
2336
  if (!this.$config.options?.omitContentTypeHeader) {
1777
2337
  headerParameters['Content-Type'] = 'application/json';
1778
2338
  }
1779
- const collectionFormats = {
2339
+ const queryCollectionFormats = {
1780
2340
  someParameter: 'multi',
1781
2341
  } as const;
1782
2342
  const body =
@@ -1792,10 +2352,10 @@ export class TestApi {
1792
2352
  '/arrays-with-other-parameters',
1793
2353
  pathParameters,
1794
2354
  queryParameters,
1795
- collectionFormats,
2355
+ queryCollectionFormats,
1796
2356
  ),
1797
2357
  {
1798
- headers: this.$headers(headerParameters, collectionFormats),
2358
+ headers: this.$headers(headerParameters),
1799
2359
  method: 'POST',
1800
2360
  body,
1801
2361
  },
@@ -1861,7 +2421,7 @@ export class TestApi {
1861
2421
  );
1862
2422
 
1863
2423
  if (response.status === 200) {
1864
- return (await response.text()) as TestEnums200Response;
2424
+ return (await response.json()) as TestEnums200Response;
1865
2425
  }
1866
2426
  throw new Error(
1867
2427
  \`Unknown response status \${response.status} returned by API\`,
@@ -1917,7 +2477,7 @@ export class TestApi {
1917
2477
  );
1918
2478
 
1919
2479
  if (response.status === 200) {
1920
- return Number(await response.text());
2480
+ return await response.json();
1921
2481
  }
1922
2482
  throw new Error(
1923
2483
  \`Unknown response status \${response.status} returned by API\`,
@@ -1956,7 +2516,7 @@ exports[`openApiTsClientGenerator - composite schemas > should handle not schema
1956
2516
  * Utility for serialisation and deserialisation of API types.
1957
2517
  */
1958
2518
  export class $IO {
1959
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
2519
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
1960
2520
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
1961
2521
 
1962
2522
  public static TestNot200Response = {
@@ -2089,11 +2649,31 @@ export class TestApi {
2089
2649
  this.testNot = this.testNot.bind(this);
2090
2650
  }
2091
2651
 
2652
+ private $collectionDelimiters: { [format: string]: string } = {
2653
+ csv: ',',
2654
+ ssv: ' ',
2655
+ pipes: '|',
2656
+ };
2657
+
2658
+ private $deepObject = (key: string, value: any): string[] => {
2659
+ if (value === undefined || value === null) {
2660
+ return [];
2661
+ }
2662
+ if (typeof value !== 'object') {
2663
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
2664
+ }
2665
+ return Object.entries(value).flatMap(([prop, v]) =>
2666
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
2667
+ );
2668
+ };
2669
+
2092
2670
  private $url = (
2093
2671
  path: string,
2094
2672
  pathParameters: { [key: string]: any },
2095
2673
  queryParameters: { [key: string]: any },
2096
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2674
+ collectionFormats?: {
2675
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
2676
+ },
2097
2677
  ): string => {
2098
2678
  const baseUrl = this.$config.url.endsWith('/')
2099
2679
  ? this.$config.url.slice(0, -1)
@@ -2104,15 +2684,24 @@ export class TestApi {
2104
2684
  path,
2105
2685
  );
2106
2686
  const queryString = Object.entries(queryParameters)
2107
- .map(([key, value]) => {
2687
+ .flatMap(([key, value]) => {
2108
2688
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
2109
- return value
2110
- .map(
2111
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
2112
- )
2113
- .join('&');
2689
+ return value.map(
2690
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
2691
+ );
2692
+ }
2693
+ if (
2694
+ collectionFormats?.[key] === 'deepObject' &&
2695
+ value !== null &&
2696
+ typeof value === 'object'
2697
+ ) {
2698
+ return this.$deepObject(encodeURIComponent(key), value);
2114
2699
  }
2115
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
2700
+ const delimiter =
2701
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2702
+ return [
2703
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
2704
+ ];
2116
2705
  })
2117
2706
  .join('&');
2118
2707
  return (
@@ -2122,13 +2711,22 @@ export class TestApi {
2122
2711
 
2123
2712
  private $headers = (
2124
2713
  headerParameters: { [key: string]: any },
2125
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2714
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
2126
2715
  ): [string, string][] => {
2127
2716
  return Object.entries(headerParameters).flatMap(([key, value]) => {
2128
2717
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
2129
2718
  return value.map((v) => [key, String(v)]) as [string, string][];
2130
2719
  }
2131
- return [[key, String(value)]];
2720
+ const delimiter =
2721
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2722
+ return [
2723
+ [
2724
+ key,
2725
+ Array.isArray(value)
2726
+ ? value.map(String).join(delimiter)
2727
+ : String(value),
2728
+ ],
2729
+ ];
2132
2730
  });
2133
2731
  };
2134
2732
 
@@ -2191,7 +2789,7 @@ exports[`openApiTsClientGenerator - composite schemas > should round-trip Date t
2191
2789
  * Utility for serialisation and deserialisation of API types.
2192
2790
  */
2193
2791
  export class $IO {
2194
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
2792
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
2195
2793
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
2196
2794
 
2197
2795
  public static MaybeDate = {
@@ -2214,7 +2812,7 @@ export class $IO {
2214
2812
  return new Date(json);
2215
2813
  }
2216
2814
  return {
2217
- ...$IO.MaybeDateOneOf.fromJson(json),
2815
+ ...$IO.MaybeDateOneOf.$fromJsonPartial(json),
2218
2816
  };
2219
2817
  },
2220
2818
  };
@@ -2240,6 +2838,15 @@ export class $IO {
2240
2838
  marker: json['marker'],
2241
2839
  };
2242
2840
  },
2841
+ $fromJsonPartial: (json: any): any => {
2842
+ return {
2843
+ ...(json['marker'] === undefined
2844
+ ? {}
2845
+ : {
2846
+ marker: json['marker'],
2847
+ }),
2848
+ };
2849
+ },
2243
2850
  };
2244
2851
  }
2245
2852
 
@@ -2281,11 +2888,31 @@ export class TestApi {
2281
2888
  this.postMaybeDate = this.postMaybeDate.bind(this);
2282
2889
  }
2283
2890
 
2891
+ private $collectionDelimiters: { [format: string]: string } = {
2892
+ csv: ',',
2893
+ ssv: ' ',
2894
+ pipes: '|',
2895
+ };
2896
+
2897
+ private $deepObject = (key: string, value: any): string[] => {
2898
+ if (value === undefined || value === null) {
2899
+ return [];
2900
+ }
2901
+ if (typeof value !== 'object') {
2902
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
2903
+ }
2904
+ return Object.entries(value).flatMap(([prop, v]) =>
2905
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
2906
+ );
2907
+ };
2908
+
2284
2909
  private $url = (
2285
2910
  path: string,
2286
2911
  pathParameters: { [key: string]: any },
2287
2912
  queryParameters: { [key: string]: any },
2288
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2913
+ collectionFormats?: {
2914
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
2915
+ },
2289
2916
  ): string => {
2290
2917
  const baseUrl = this.$config.url.endsWith('/')
2291
2918
  ? this.$config.url.slice(0, -1)
@@ -2296,15 +2923,24 @@ export class TestApi {
2296
2923
  path,
2297
2924
  );
2298
2925
  const queryString = Object.entries(queryParameters)
2299
- .map(([key, value]) => {
2926
+ .flatMap(([key, value]) => {
2300
2927
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
2301
- return value
2302
- .map(
2303
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
2304
- )
2305
- .join('&');
2928
+ return value.map(
2929
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
2930
+ );
2931
+ }
2932
+ if (
2933
+ collectionFormats?.[key] === 'deepObject' &&
2934
+ value !== null &&
2935
+ typeof value === 'object'
2936
+ ) {
2937
+ return this.$deepObject(encodeURIComponent(key), value);
2306
2938
  }
2307
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
2939
+ const delimiter =
2940
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2941
+ return [
2942
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
2943
+ ];
2308
2944
  })
2309
2945
  .join('&');
2310
2946
  return (
@@ -2314,13 +2950,22 @@ export class TestApi {
2314
2950
 
2315
2951
  private $headers = (
2316
2952
  headerParameters: { [key: string]: any },
2317
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
2953
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
2318
2954
  ): [string, string][] => {
2319
2955
  return Object.entries(headerParameters).flatMap(([key, value]) => {
2320
2956
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
2321
2957
  return value.map((v) => [key, String(v)]) as [string, string][];
2322
2958
  }
2323
- return [[key, String(value)]];
2959
+ const delimiter =
2960
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
2961
+ return [
2962
+ [
2963
+ key,
2964
+ Array.isArray(value)
2965
+ ? value.map(String).join(delimiter)
2966
+ : String(value),
2967
+ ],
2968
+ ];
2324
2969
  });
2325
2970
  };
2326
2971
 
@@ -2349,7 +2994,7 @@ export class TestApi {
2349
2994
  );
2350
2995
 
2351
2996
  if (response.status === 200) {
2352
- return await response.text();
2997
+ return await response.json();
2353
2998
  }
2354
2999
  throw new Error(
2355
3000
  \`Unknown response status \${response.status} returned by API\`,