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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1017) hide show
  1. package/LICENSE-THIRD-PARTY +6746 -6133
  2. package/README.md +7 -7
  3. package/executors.json +9 -0
  4. package/generators.json +100 -1
  5. package/package.json +35 -17
  6. package/src/agentcore-gateway/attach-upstream.d.ts +33 -0
  7. package/src/agentcore-gateway/attach-upstream.js +38 -0
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -0
  9. package/src/agentcore-gateway/files/cedar/policies/README.md +52 -0
  10. package/src/agentcore-gateway/files/cedar/policies/permit-all.cedar +11 -0
  11. package/src/agentcore-gateway/files/project/local-dev.ts.template +134 -0
  12. package/src/agentcore-gateway/gateway-connection/generator.d.ts +21 -0
  13. package/src/agentcore-gateway/gateway-connection/generator.js +101 -0
  14. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -0
  15. package/src/agentcore-gateway/gateway-connection/schema.d.js +6 -0
  16. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -0
  17. package/src/agentcore-gateway/gateway-connection/schema.d.ts +13 -0
  18. package/src/agentcore-gateway/gateway-connection/schema.json +31 -0
  19. package/src/agentcore-gateway/generator.d.ts +25 -0
  20. package/src/agentcore-gateway/generator.js +149 -0
  21. package/src/agentcore-gateway/generator.js.map +1 -0
  22. package/src/agentcore-gateway/mcp-connection/generator.d.ts +19 -0
  23. package/src/agentcore-gateway/mcp-connection/generator.js +59 -0
  24. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -0
  25. package/src/agentcore-gateway/mcp-connection/schema.d.js +6 -0
  26. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -0
  27. package/src/agentcore-gateway/mcp-connection/schema.d.ts +13 -0
  28. package/src/agentcore-gateway/mcp-connection/schema.json +31 -0
  29. package/src/agentcore-gateway/schema.d.js +6 -0
  30. package/src/agentcore-gateway/schema.d.js.map +1 -0
  31. package/src/agentcore-gateway/schema.d.ts +17 -0
  32. package/src/agentcore-gateway/schema.json +70 -0
  33. package/src/bin/aws-nx-mcp.js +14 -0
  34. package/src/bin/aws-nx-mcp.js.map +1 -0
  35. package/src/connection/{agent-serve-local.d.ts → agent-local-dev.d.ts} +7 -7
  36. package/src/connection/agent-local-dev.js +42 -0
  37. package/src/connection/agent-local-dev.js.map +1 -0
  38. package/src/connection/agent-runtime-config.d.ts +1 -1
  39. package/src/connection/agent-runtime-config.js +9 -14
  40. package/src/connection/agent-runtime-config.js.map +1 -1
  41. package/src/connection/generator.d.ts +7 -14
  42. package/src/connection/generator.js +158 -177
  43. package/src/connection/generator.js.map +1 -1
  44. package/src/connection/local-dev.d.ts +15 -0
  45. package/src/connection/local-dev.js +37 -0
  46. package/src/connection/local-dev.js.map +1 -0
  47. package/src/connection/schema.d.js +6 -0
  48. package/src/connection/schema.d.js.map +1 -0
  49. package/src/connection/schema.d.ts +1 -0
  50. package/src/connection/schema.json +5 -0
  51. package/src/connection/supported-connections.d.ts +98 -0
  52. package/src/connection/supported-connections.js +138 -0
  53. package/src/connection/supported-connections.js.map +1 -0
  54. package/src/index.js +2 -5
  55. package/src/index.js.map +1 -1
  56. package/src/infra/app/__snapshots__/generator.spec.ts.snap +51 -81
  57. package/src/infra/app/generator.d.ts +3 -3
  58. package/src/infra/app/generator.js +141 -123
  59. package/src/infra/app/generator.js.map +1 -1
  60. package/src/infra/app/schema.d.js +6 -0
  61. package/src/infra/app/schema.d.js.map +1 -0
  62. package/src/infra/app/schema.d.ts +1 -1
  63. package/src/infra/app/schema.json +5 -0
  64. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  65. package/src/license/config-types.d.ts +18 -1
  66. package/src/license/config-types.js +8 -2
  67. package/src/license/config-types.js.map +1 -1
  68. package/src/license/config.d.ts +65 -7
  69. package/src/license/config.js +442 -109
  70. package/src/license/config.js.map +1 -1
  71. package/src/license/dependency-check/check.d.ts +16 -0
  72. package/src/license/dependency-check/check.js +116 -0
  73. package/src/license/dependency-check/check.js.map +1 -0
  74. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  75. package/src/license/dependency-check/collectors/collector.js +46 -0
  76. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  77. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  78. package/src/license/dependency-check/collectors/npm-collector.js +68 -0
  79. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  80. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  81. package/src/license/dependency-check/collectors/python-collector.js +114 -0
  82. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  83. package/src/license/dependency-check/evaluator.d.ts +9 -0
  84. package/src/license/dependency-check/evaluator.js +94 -0
  85. package/src/license/dependency-check/evaluator.js.map +1 -0
  86. package/src/license/dependency-check/executor-schema.json +6 -0
  87. package/src/license/dependency-check/executor.d.ts +9 -0
  88. package/src/license/dependency-check/executor.js +51 -0
  89. package/src/license/dependency-check/executor.js.map +1 -0
  90. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  91. package/src/license/dependency-check/pre-approved.js +1893 -0
  92. package/src/license/dependency-check/pre-approved.js.map +1 -0
  93. package/src/license/dependency-check/types.d.ts +45 -0
  94. package/src/license/dependency-check/types.js +6 -0
  95. package/src/license/dependency-check/types.js.map +1 -0
  96. package/src/license/generator.d.ts +3 -3
  97. package/src/license/generator.js +127 -30
  98. package/src/license/generator.js.map +1 -1
  99. package/src/license/index.d.ts +8 -0
  100. package/src/license/index.js +7 -0
  101. package/src/license/index.js.map +1 -0
  102. package/src/license/known-exceptions.d.ts +7 -0
  103. package/src/license/known-exceptions.js +39 -0
  104. package/src/license/known-exceptions.js.map +1 -0
  105. package/src/license/schema.d.js +6 -0
  106. package/src/license/schema.d.js.map +1 -0
  107. package/src/license/schema.d.ts +7 -0
  108. package/src/license/schema.json +11 -0
  109. package/src/license/sync/generator.d.ts +2 -2
  110. package/src/license/sync/generator.js +100 -125
  111. package/src/license/sync/generator.js.map +1 -1
  112. package/src/license/sync/project-file-sync.d.ts +3 -3
  113. package/src/license/sync/project-file-sync.js +28 -35
  114. package/src/license/sync/project-file-sync.js.map +1 -1
  115. package/src/mcp-server/generator-info.d.ts +5 -1
  116. package/src/mcp-server/generator-info.js +130 -160
  117. package/src/mcp-server/generator-info.js.map +1 -1
  118. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  119. package/src/mcp-server/guide-pipeline.js +184 -206
  120. package/src/mcp-server/guide-pipeline.js.map +1 -1
  121. package/src/mcp-server/guide-render.js +10 -25
  122. package/src/mcp-server/guide-render.js.map +1 -1
  123. package/src/mcp-server/index.js +6 -10
  124. package/src/mcp-server/index.js.map +1 -1
  125. package/src/mcp-server/mdx-ast.js +42 -56
  126. package/src/mcp-server/mdx-ast.js.map +1 -1
  127. package/src/mcp-server/option-filter.js +33 -47
  128. package/src/mcp-server/option-filter.js.map +1 -1
  129. package/src/mcp-server/schema-registry.d.ts +9 -3
  130. package/src/mcp-server/schema-registry.js +41 -38
  131. package/src/mcp-server/schema-registry.js.map +1 -1
  132. package/src/mcp-server/schema.js +9 -7
  133. package/src/mcp-server/schema.js.map +1 -1
  134. package/src/mcp-server/server.js +20 -24
  135. package/src/mcp-server/server.js.map +1 -1
  136. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  137. package/src/mcp-server/tools/create-workspace-command.js +23 -24
  138. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  139. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  140. package/src/mcp-server/tools/general-guidance.js +46 -25
  141. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  142. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  143. package/src/mcp-server/tools/generator-guide.js +29 -37
  144. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  145. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  146. package/src/mcp-server/tools/list-generators.js +19 -25
  147. package/src/mcp-server/tools/list-generators.js.map +1 -1
  148. package/src/open-api/ts-client/__snapshots__/generator.additional-properties.spec.ts.snap +147 -33
  149. package/src/open-api/ts-client/__snapshots__/generator.arrays.spec.ts.snap +308 -75
  150. package/src/open-api/ts-client/__snapshots__/generator.complex-types.spec.ts.snap +286 -62
  151. package/src/open-api/ts-client/__snapshots__/generator.composite-types.spec.ts.snap +674 -93
  152. package/src/open-api/ts-client/__snapshots__/generator.content-type.spec.ts.snap +147 -33
  153. package/src/open-api/ts-client/__snapshots__/generator.duplicate-types.spec.ts.snap +196 -44
  154. package/src/open-api/ts-client/__snapshots__/generator.edge-cases.spec.ts.snap +5507 -0
  155. package/src/open-api/ts-client/__snapshots__/generator.fast-api.spec.ts.snap +219 -60
  156. package/src/open-api/ts-client/__snapshots__/generator.primitive-types.spec.ts.snap +351 -80
  157. package/src/open-api/ts-client/__snapshots__/generator.request.spec.ts.snap +170 -49
  158. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +99 -23
  159. package/src/open-api/ts-client/__snapshots__/generator.response.spec.ts.snap +147 -33
  160. package/src/open-api/ts-client/__snapshots__/generator.streaming.spec.ts.snap +392 -88
  161. package/src/open-api/ts-client/__snapshots__/generator.tags.spec.ts.snap +196 -44
  162. package/src/open-api/ts-client/files/client.gen.ts.template +130 -18
  163. package/src/open-api/ts-client/files/types.gen.ts.template +4 -4
  164. package/src/open-api/ts-client/generator.d.ts +3 -3
  165. package/src/open-api/ts-client/generator.js +16 -26
  166. package/src/open-api/ts-client/generator.js.map +1 -1
  167. package/src/open-api/ts-client/schema.d.js +6 -0
  168. package/src/open-api/ts-client/schema.d.js.map +1 -0
  169. package/src/open-api/ts-hooks/files/options-proxy.gen.ts.template +5 -0
  170. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  171. package/src/open-api/ts-hooks/generator.js +13 -21
  172. package/src/open-api/ts-hooks/generator.js.map +1 -1
  173. package/src/open-api/ts-hooks/generator.spec.tsx +84 -14
  174. package/src/open-api/ts-hooks/schema.d.js +6 -0
  175. package/src/open-api/ts-hooks/schema.d.js.map +1 -0
  176. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  177. package/src/open-api/ts-metadata/generator.js +12 -20
  178. package/src/open-api/ts-metadata/generator.js.map +1 -1
  179. package/src/open-api/ts-metadata/schema.d.js +6 -0
  180. package/src/open-api/ts-metadata/schema.d.js.map +1 -0
  181. package/src/open-api/utils/codegen-data/languages.d.ts +3 -5
  182. package/src/open-api/utils/codegen-data/languages.js +53 -66
  183. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  184. package/src/open-api/utils/codegen-data/types.d.ts +240 -10
  185. package/src/open-api/utils/codegen-data/types.js +54 -30
  186. package/src/open-api/utils/codegen-data/types.js.map +1 -1
  187. package/src/open-api/utils/codegen-data.d.ts +8 -4
  188. package/src/open-api/utils/codegen-data.js +398 -674
  189. package/src/open-api/utils/codegen-data.js.map +1 -1
  190. package/src/open-api/utils/normalise.d.ts +5 -1
  191. package/src/open-api/utils/normalise.js +386 -247
  192. package/src/open-api/utils/normalise.js.map +1 -1
  193. package/src/open-api/utils/parse.d.ts +2 -2
  194. package/src/open-api/utils/parse.js +11 -13
  195. package/src/open-api/utils/parse.js.map +1 -1
  196. package/src/open-api/utils/parser.d.ts +55 -0
  197. package/src/open-api/utils/parser.js +743 -0
  198. package/src/open-api/utils/parser.js.map +1 -0
  199. package/src/open-api/utils/refs.d.ts +1 -1
  200. package/src/open-api/utils/refs.js +12 -22
  201. package/src/open-api/utils/refs.js.map +1 -1
  202. package/src/open-api/utils/types.d.ts +15 -0
  203. package/src/open-api/utils/types.js +5 -2
  204. package/src/open-api/utils/types.js.map +1 -1
  205. package/src/preset/__snapshots__/generator.spec.ts.snap +160 -17
  206. package/src/preset/generator.d.ts +4 -4
  207. package/src/preset/generator.js +140 -112
  208. package/src/preset/generator.js.map +1 -1
  209. package/src/preset/schema.d.js +6 -0
  210. package/src/preset/schema.d.js.map +1 -0
  211. package/src/preset/schema.d.ts +4 -2
  212. package/src/preset/schema.json +10 -5
  213. package/src/py/agent/__snapshots__/generator.constructs.spec.ts.snap +304 -0
  214. package/src/py/agent/__snapshots__/generator.frameworks.spec.ts.snap +734 -0
  215. package/src/py/agent/__snapshots__/{generator.spec.ts.snap → generator.protocols.spec.ts.snap} +80 -314
  216. package/src/py/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +189 -0
  217. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client_strands.py.template +30 -0
  218. package/src/py/agent/a2a-connection/files/langchain/agent-connection/app/__targetAgentSnakeCase___client_langchain.py.template +28 -0
  219. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  220. package/src/py/agent/a2a-connection/generator.js +113 -85
  221. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  222. package/src/py/agent/a2a-connection/schema.d.js +8 -0
  223. package/src/py/agent/a2a-connection/schema.d.js.map +1 -0
  224. package/src/py/agent/a2a-connection/schema.d.ts +1 -0
  225. package/src/py/agent/a2a-connection/schema.json +5 -0
  226. package/src/py/agent/files/a2a-langchain/main.py.template +89 -0
  227. package/src/py/agent/files/ag-ui-langchain/main.py.template +83 -0
  228. package/src/py/agent/files/common/agent.py.template +2 -0
  229. package/src/py/agent/files/common-langchain/agent.py.template +30 -0
  230. package/src/py/agent/files/http/init.py.template +7 -25
  231. package/src/py/agent/files/http/main.py.template +2 -3
  232. package/src/py/agent/files/http-langchain/main.py.template +84 -0
  233. package/src/py/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +184 -0
  234. package/src/py/agent/gateway-connection/files/agent-connection/app/__gatewaySnakeCase___client_strands.py.template +35 -0
  235. package/src/py/agent/gateway-connection/files/langchain/agent-connection/app/__gatewaySnakeCase___client_langchain.py.template +34 -0
  236. package/src/py/agent/gateway-connection/generator.d.ts +10 -0
  237. package/src/py/agent/gateway-connection/generator.js +119 -0
  238. package/src/py/agent/gateway-connection/generator.js.map +1 -0
  239. package/src/py/agent/gateway-connection/schema.d.js +6 -0
  240. package/src/py/agent/gateway-connection/schema.d.js.map +1 -0
  241. package/src/py/agent/gateway-connection/schema.d.ts +13 -0
  242. package/src/py/agent/gateway-connection/schema.json +31 -0
  243. package/src/py/agent/generator.d.ts +3 -3
  244. package/src/py/agent/generator.js +280 -180
  245. package/src/py/agent/generator.js.map +1 -1
  246. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +153 -89
  247. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client_strands.py.template +30 -0
  248. package/src/py/agent/mcp-connection/files/langchain/agent-connection/app/__mcpServerSnakeCase___client_langchain.py.template +30 -0
  249. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  250. package/src/py/agent/mcp-connection/generator.js +65 -126
  251. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  252. package/src/py/agent/mcp-connection/schema.d.js +8 -0
  253. package/src/py/agent/mcp-connection/schema.d.js.map +1 -0
  254. package/src/py/agent/mcp-connection/schema.d.ts +1 -0
  255. package/src/py/agent/mcp-connection/schema.json +5 -0
  256. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +11 -19
  257. package/src/py/agent/react-connection/generator.d.ts +4 -4
  258. package/src/py/agent/react-connection/generator.js +55 -59
  259. package/src/py/agent/react-connection/generator.js.map +1 -1
  260. package/src/py/agent/react-connection/{serve-local.d.ts → local-dev.d.ts} +6 -6
  261. package/src/py/agent/react-connection/local-dev.js +36 -0
  262. package/src/py/agent/react-connection/local-dev.js.map +1 -0
  263. package/src/py/agent/react-connection/schema.d.js +8 -0
  264. package/src/py/agent/react-connection/schema.d.js.map +1 -0
  265. package/src/py/agent/react-connection/schema.d.ts +1 -0
  266. package/src/py/agent/react-connection/schema.json +5 -0
  267. package/src/py/agent/schema.d.js +6 -0
  268. package/src/py/agent/schema.d.js.map +1 -0
  269. package/src/py/agent/schema.d.ts +2 -1
  270. package/src/py/agent/schema.json +6 -1
  271. package/src/py/api/generator.d.ts +3 -3
  272. package/src/py/api/generator.js +12 -11
  273. package/src/py/api/generator.js.map +1 -1
  274. package/src/py/api/schema.d.js +6 -0
  275. package/src/py/api/schema.d.js.map +1 -0
  276. package/src/py/api/schema.d.ts +1 -0
  277. package/src/py/api/schema.json +5 -0
  278. package/src/py/dynamodb/__snapshots__/generator.spec.ts.snap +1526 -0
  279. package/src/py/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  280. package/src/py/dynamodb/agent-connection/generator.d.ts +10 -0
  281. package/src/py/dynamodb/agent-connection/generator.js +39 -0
  282. package/src/py/dynamodb/agent-connection/generator.js.map +1 -0
  283. package/src/py/dynamodb/agent-connection/schema.d.js +8 -0
  284. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -0
  285. package/src/py/dynamodb/agent-connection/schema.d.ts +15 -0
  286. package/src/py/dynamodb/agent-connection/schema.json +27 -0
  287. package/src/py/dynamodb/fast-api-connection/__snapshots__/generator.spec.ts.snap +23 -0
  288. package/src/py/dynamodb/fast-api-connection/generator.d.ts +10 -0
  289. package/src/py/dynamodb/fast-api-connection/generator.js +37 -0
  290. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -0
  291. package/src/py/dynamodb/fast-api-connection/schema.d.js +8 -0
  292. package/src/py/dynamodb/fast-api-connection/schema.d.js.map +1 -0
  293. package/src/py/dynamodb/fast-api-connection/schema.d.ts +13 -0
  294. package/src/py/dynamodb/fast-api-connection/schema.json +23 -0
  295. package/src/py/dynamodb/files/__name__/__init__.py.template +6 -0
  296. package/src/py/dynamodb/files/__name__/client.py.template +39 -0
  297. package/src/py/dynamodb/files/__name__/entities/__init__.py.template +4 -0
  298. package/src/py/dynamodb/files/__name__/entities/base.py.template +63 -0
  299. package/src/py/dynamodb/files/__name__/entities/example.py.template +64 -0
  300. package/src/py/dynamodb/files/config.json.template +24 -0
  301. package/src/py/dynamodb/generator.d.ts +10 -0
  302. package/src/py/dynamodb/generator.js +110 -0
  303. package/src/py/dynamodb/generator.js.map +1 -0
  304. package/src/py/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  305. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  306. package/src/py/dynamodb/mcp-server-connection/generator.js +39 -0
  307. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -0
  308. package/src/py/dynamodb/mcp-server-connection/schema.d.js +8 -0
  309. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  310. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  311. package/src/py/dynamodb/mcp-server-connection/schema.json +27 -0
  312. package/src/py/dynamodb/schema.d.js +6 -0
  313. package/src/py/dynamodb/schema.d.js.map +1 -0
  314. package/src/py/dynamodb/schema.d.ts +16 -0
  315. package/src/py/dynamodb/schema.json +75 -0
  316. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +212 -4678
  317. package/src/py/fast-api/__snapshots__/generator.terraform.spec.ts.snap +4833 -0
  318. package/src/py/fast-api/files/app/__name__/init.py.template +5 -22
  319. package/src/py/fast-api/files/app/__name__/main.py.template +4 -1
  320. package/src/py/fast-api/generator.d.ts +3 -3
  321. package/src/py/fast-api/generator.js +90 -87
  322. package/src/py/fast-api/generator.js.map +1 -1
  323. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +4 -3
  324. package/src/py/fast-api/react/generator.d.ts +4 -4
  325. package/src/py/fast-api/react/generator.js +25 -25
  326. package/src/py/fast-api/react/generator.js.map +1 -1
  327. package/src/py/fast-api/react/open-api.d.ts +1 -1
  328. package/src/py/fast-api/react/open-api.js +31 -29
  329. package/src/py/fast-api/react/open-api.js.map +1 -1
  330. package/src/py/fast-api/react/schema.d.js +6 -0
  331. package/src/py/fast-api/react/schema.d.js.map +1 -0
  332. package/src/py/fast-api/react/schema.d.ts +1 -0
  333. package/src/py/fast-api/react/schema.json +5 -0
  334. package/src/py/fast-api/schema.d.js +6 -0
  335. package/src/py/fast-api/schema.d.js.map +1 -0
  336. package/src/py/fast-api/schema.d.ts +1 -0
  337. package/src/py/fast-api/schema.json +5 -0
  338. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  339. package/src/py/lambda-function/generator.d.ts +3 -3
  340. package/src/py/lambda-function/generator.js +60 -59
  341. package/src/py/lambda-function/generator.js.map +1 -1
  342. package/src/py/lambda-function/schema.d.js +6 -0
  343. package/src/py/lambda-function/schema.d.js.map +1 -0
  344. package/src/py/lambda-function/schema.d.ts +1 -0
  345. package/src/py/lambda-function/schema.json +5 -0
  346. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +87 -17
  347. package/src/py/mcp-server/generator.d.ts +3 -3
  348. package/src/py/mcp-server/generator.js +152 -125
  349. package/src/py/mcp-server/generator.js.map +1 -1
  350. package/src/py/mcp-server/schema.d.js +6 -0
  351. package/src/py/mcp-server/schema.d.js.map +1 -0
  352. package/src/py/mcp-server/schema.d.ts +1 -0
  353. package/src/py/mcp-server/schema.json +5 -0
  354. package/src/py/project/generator.d.ts +17 -4
  355. package/src/py/project/generator.js +205 -127
  356. package/src/py/project/generator.js.map +1 -1
  357. package/src/py/project/schema.d.js +6 -0
  358. package/src/py/project/schema.d.js.map +1 -0
  359. package/src/py/project/schema.d.ts +1 -0
  360. package/src/py/project/schema.json +5 -0
  361. package/src/sdk/agentcore-gateway.d.ts +6 -0
  362. package/src/sdk/agentcore-gateway.js +7 -0
  363. package/src/sdk/agentcore-gateway.js.map +1 -0
  364. package/src/sdk/connection.d.ts +6 -0
  365. package/src/sdk/connection.js +6 -0
  366. package/src/sdk/connection.js.map +1 -0
  367. package/src/sdk/license.d.ts +8 -0
  368. package/src/sdk/license.js +7 -0
  369. package/src/sdk/license.js.map +1 -0
  370. package/src/sdk/open-api.d.ts +10 -0
  371. package/src/sdk/open-api.js +8 -0
  372. package/src/sdk/open-api.js.map +1 -0
  373. package/src/sdk/py.d.ts +14 -0
  374. package/src/sdk/py.js +10 -0
  375. package/src/sdk/py.js.map +1 -0
  376. package/src/sdk/terraform.d.ts +6 -0
  377. package/src/sdk/terraform.js +7 -0
  378. package/src/sdk/terraform.js.map +1 -0
  379. package/src/sdk/ts.d.ts +33 -0
  380. package/src/sdk/ts.js +35 -0
  381. package/src/sdk/ts.js.map +1 -0
  382. package/{sdk → src/sdk}/utils/ast.d.ts +1 -2
  383. package/src/sdk/utils/ast.js +6 -0
  384. package/src/sdk/utils/ast.js.map +1 -0
  385. package/{sdk → src/sdk}/utils/format.d.ts +1 -1
  386. package/src/sdk/utils/format.js +6 -0
  387. package/src/sdk/utils/format.js.map +1 -0
  388. package/{sdk → src/sdk}/utils/test.d.ts +1 -1
  389. package/src/sdk/utils/test.js +6 -0
  390. package/src/sdk/utils/test.js.map +1 -0
  391. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +19 -24
  392. package/src/smithy/project/files/build.Dockerfile.template +1 -4
  393. package/src/smithy/project/files/src/operations/echo.smithy.template +1 -0
  394. package/src/smithy/project/generator.d.ts +3 -3
  395. package/src/smithy/project/generator.js +64 -57
  396. package/src/smithy/project/generator.js.map +1 -1
  397. package/src/smithy/project/schema.d.js +6 -0
  398. package/src/smithy/project/schema.d.js.map +1 -0
  399. package/src/smithy/project/schema.d.ts +1 -0
  400. package/src/smithy/project/schema.json +5 -0
  401. package/src/smithy/react-connection/__snapshots__/generator.spec.ts.snap +1 -1
  402. package/src/smithy/react-connection/generator.d.ts +3 -3
  403. package/src/smithy/react-connection/generator.js +39 -47
  404. package/src/smithy/react-connection/generator.js.map +1 -1
  405. package/src/smithy/react-connection/schema.d.js +6 -0
  406. package/src/smithy/react-connection/schema.d.js.map +1 -0
  407. package/src/smithy/react-connection/schema.d.ts +1 -0
  408. package/src/smithy/react-connection/schema.json +5 -0
  409. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +409 -106
  410. package/src/smithy/ts/api/generator.d.ts +3 -3
  411. package/src/smithy/ts/api/generator.js +127 -106
  412. package/src/smithy/ts/api/generator.js.map +1 -1
  413. package/src/smithy/ts/api/schema.d.js +6 -0
  414. package/src/smithy/ts/api/schema.d.js.map +1 -0
  415. package/src/smithy/ts/api/schema.d.ts +1 -0
  416. package/src/smithy/ts/api/schema.json +5 -0
  417. package/src/terraform/project/files/application/src/main.tf.template +6 -1
  418. package/src/terraform/project/files/application/src/providers.tf.template +1 -1
  419. package/src/terraform/project/generator.d.ts +3 -3
  420. package/src/terraform/project/generator.js +156 -104
  421. package/src/terraform/project/generator.js.map +1 -1
  422. package/src/terraform/project/schema.d.js +9 -0
  423. package/src/terraform/project/schema.d.js.map +1 -0
  424. package/src/terraform/project/schema.d.ts +1 -0
  425. package/src/terraform/project/schema.json +5 -0
  426. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +499 -110
  427. package/src/trpc/backend/files/src/procedures/echo.ts.template +1 -1
  428. package/src/trpc/backend/files/src/schema/echo.ts.template +2 -2
  429. package/src/trpc/backend/generator.d.ts +4 -4
  430. package/src/trpc/backend/generator.js +97 -85
  431. package/src/trpc/backend/generator.js.map +1 -1
  432. package/src/trpc/backend/schema.d.js +6 -0
  433. package/src/trpc/backend/schema.d.js.map +1 -0
  434. package/src/trpc/backend/schema.d.ts +3 -2
  435. package/src/trpc/backend/schema.json +5 -0
  436. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +4 -4
  437. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +3 -3
  438. package/src/trpc/react/generator.d.ts +4 -4
  439. package/src/trpc/react/generator.js +63 -58
  440. package/src/trpc/react/generator.js.map +1 -1
  441. package/src/trpc/react/schema.d.js +6 -0
  442. package/src/trpc/react/schema.d.js.map +1 -0
  443. package/src/trpc/react/schema.d.ts +1 -0
  444. package/src/trpc/react/schema.json +5 -0
  445. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +656 -18
  446. package/src/ts/agent/a2a-connection/__snapshots__/generator.spec.ts.snap +256 -0
  447. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client-strands.ts.template +23 -0
  448. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  449. package/src/ts/agent/a2a-connection/generator.js +63 -56
  450. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  451. package/src/ts/agent/a2a-connection/schema.d.js +8 -0
  452. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -0
  453. package/src/ts/agent/a2a-connection/schema.d.ts +1 -0
  454. package/src/ts/agent/a2a-connection/schema.json +5 -0
  455. package/src/ts/agent/files/common/agent.ts.template +6 -2
  456. package/src/ts/agent/files/http/router.ts.template +1 -1
  457. package/src/ts/agent/gateway-connection/__snapshots__/generator.spec.ts.snap +220 -0
  458. package/src/ts/agent/gateway-connection/files/agent-connection/app/__gatewayKebabCase__-client-strands.ts.template +30 -0
  459. package/src/ts/agent/gateway-connection/generator.d.ts +10 -0
  460. package/src/ts/agent/gateway-connection/generator.js +114 -0
  461. package/src/ts/agent/gateway-connection/generator.js.map +1 -0
  462. package/src/ts/agent/gateway-connection/schema.d.js +6 -0
  463. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -0
  464. package/src/ts/agent/gateway-connection/schema.d.ts +13 -0
  465. package/src/ts/agent/gateway-connection/schema.json +31 -0
  466. package/src/ts/agent/generator.d.ts +3 -3
  467. package/src/ts/agent/generator.js +188 -144
  468. package/src/ts/agent/generator.js.map +1 -1
  469. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +192 -111
  470. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client-strands.ts.template +22 -0
  471. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  472. package/src/ts/agent/mcp-connection/generator.js +53 -60
  473. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  474. package/src/ts/agent/mcp-connection/schema.d.js +8 -0
  475. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -0
  476. package/src/ts/agent/mcp-connection/schema.d.ts +1 -0
  477. package/src/ts/agent/mcp-connection/schema.json +5 -0
  478. package/src/ts/agent/react-connection/generator.d.ts +4 -4
  479. package/src/ts/agent/react-connection/generator.js +86 -80
  480. package/src/ts/agent/react-connection/generator.js.map +1 -1
  481. package/src/ts/agent/react-connection/local-dev.d.ts +13 -0
  482. package/src/ts/agent/react-connection/local-dev.js +17 -0
  483. package/src/ts/agent/react-connection/local-dev.js.map +1 -0
  484. package/src/ts/agent/react-connection/schema.d.js +8 -0
  485. package/src/ts/agent/react-connection/schema.d.js.map +1 -0
  486. package/src/ts/agent/react-connection/schema.d.ts +1 -0
  487. package/src/ts/agent/react-connection/schema.json +5 -0
  488. package/src/ts/agent/schema.d.js +6 -0
  489. package/src/ts/agent/schema.d.js.map +1 -0
  490. package/src/ts/agent/schema.d.ts +1 -0
  491. package/src/ts/agent/schema.json +5 -0
  492. package/src/ts/api/generator.d.ts +3 -3
  493. package/src/ts/api/generator.js +16 -16
  494. package/src/ts/api/generator.js.map +1 -1
  495. package/src/ts/api/schema.d.js +6 -0
  496. package/src/ts/api/schema.d.js.map +1 -0
  497. package/src/ts/api/schema.d.ts +3 -1
  498. package/src/ts/api/schema.json +5 -0
  499. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +15 -16
  500. package/src/ts/astro-docs/generator.d.ts +3 -3
  501. package/src/ts/astro-docs/generator.js +69 -54
  502. package/src/ts/astro-docs/generator.js.map +1 -1
  503. package/src/ts/astro-docs/schema.d.js +6 -0
  504. package/src/ts/astro-docs/schema.d.js.map +1 -0
  505. package/src/ts/astro-docs/schema.d.ts +2 -2
  506. package/src/ts/astro-docs/schema.json +3 -3
  507. package/src/ts/docs/generator.d.ts +3 -3
  508. package/src/ts/docs/generator.js +10 -10
  509. package/src/ts/docs/generator.js.map +1 -1
  510. package/src/ts/docs/schema.d.js +6 -0
  511. package/src/ts/docs/schema.d.js.map +1 -0
  512. package/src/ts/docs/schema.d.ts +1 -4
  513. package/src/ts/docs/schema.json +3 -3
  514. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1390 -0
  515. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  516. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  517. package/src/ts/dynamodb/agent-connection/generator.js +30 -0
  518. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  519. package/src/ts/dynamodb/agent-connection/schema.d.js +8 -0
  520. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -0
  521. package/src/ts/dynamodb/agent-connection/schema.d.ts +15 -0
  522. package/src/ts/dynamodb/agent-connection/schema.json +27 -0
  523. package/src/ts/dynamodb/files/config.json.template +24 -0
  524. package/src/ts/dynamodb/files/src/client.ts.template +61 -0
  525. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  526. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  527. package/src/ts/dynamodb/files/src/index.ts.template +2 -0
  528. package/src/ts/dynamodb/generator.d.ts +10 -0
  529. package/src/ts/dynamodb/generator.js +116 -0
  530. package/src/ts/dynamodb/generator.js.map +1 -0
  531. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  532. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  533. package/src/ts/dynamodb/mcp-server-connection/generator.js +30 -0
  534. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  535. package/src/ts/dynamodb/mcp-server-connection/schema.d.js +8 -0
  536. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -0
  537. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +15 -0
  538. package/src/ts/dynamodb/mcp-server-connection/schema.json +27 -0
  539. package/src/ts/dynamodb/schema.d.js +6 -0
  540. package/src/ts/dynamodb/schema.d.js.map +1 -0
  541. package/src/ts/dynamodb/schema.d.ts +16 -0
  542. package/src/ts/dynamodb/schema.json +75 -0
  543. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  544. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  545. package/src/ts/dynamodb/smithy-connection/generator.js +28 -0
  546. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  547. package/src/ts/dynamodb/smithy-connection/schema.d.js +8 -0
  548. package/src/ts/dynamodb/smithy-connection/schema.d.js.map +1 -0
  549. package/src/ts/dynamodb/smithy-connection/schema.d.ts +13 -0
  550. package/src/ts/dynamodb/smithy-connection/schema.json +23 -0
  551. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  552. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  553. package/src/ts/dynamodb/trpc-connection/generator.js +28 -0
  554. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  555. package/src/ts/dynamodb/trpc-connection/schema.d.js +8 -0
  556. package/src/ts/dynamodb/trpc-connection/schema.d.js.map +1 -0
  557. package/src/ts/dynamodb/trpc-connection/schema.d.ts +13 -0
  558. package/src/ts/dynamodb/trpc-connection/schema.json +23 -0
  559. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +4 -4
  560. package/src/ts/lambda-function/generator.d.ts +3 -3
  561. package/src/ts/lambda-function/generator.js +59 -56
  562. package/src/ts/lambda-function/generator.js.map +1 -1
  563. package/src/ts/lambda-function/io.js +83 -52
  564. package/src/ts/lambda-function/io.js.map +1 -1
  565. package/src/ts/lambda-function/schema.d.js +6 -0
  566. package/src/ts/lambda-function/schema.d.js.map +1 -0
  567. package/src/ts/lambda-function/schema.d.ts +1 -0
  568. package/src/ts/lambda-function/schema.json +5 -0
  569. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +53 -99
  570. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  571. package/src/ts/lib/biome.d.ts +7 -0
  572. package/src/ts/lib/biome.js +58 -0
  573. package/src/ts/lib/biome.js.map +1 -0
  574. package/src/ts/lib/generator.d.ts +3 -3
  575. package/src/ts/lib/generator.js +96 -96
  576. package/src/ts/lib/generator.js.map +1 -1
  577. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
  578. package/src/ts/lib/schema.d.js +6 -0
  579. package/src/ts/lib/schema.d.js.map +1 -0
  580. package/src/ts/lib/schema.d.ts +1 -1
  581. package/src/ts/lib/schema.json +5 -0
  582. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  583. package/src/ts/lib/ts-project-utils.js +80 -65
  584. package/src/ts/lib/ts-project-utils.js.map +1 -1
  585. package/src/ts/lib/types.js +5 -2
  586. package/src/ts/lib/types.js.map +1 -1
  587. package/src/ts/lib/vitest.d.ts +2 -2
  588. package/src/ts/lib/vitest.js +29 -26
  589. package/src/ts/lib/vitest.js.map +1 -1
  590. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +83 -13
  591. package/src/ts/mcp-server/generator.d.ts +3 -3
  592. package/src/ts/mcp-server/generator.js +164 -120
  593. package/src/ts/mcp-server/generator.js.map +1 -1
  594. package/src/ts/mcp-server/schema.d.js +6 -0
  595. package/src/ts/mcp-server/schema.d.js.map +1 -0
  596. package/src/ts/mcp-server/schema.d.ts +1 -0
  597. package/src/ts/mcp-server/schema.json +5 -0
  598. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +46 -26
  599. package/src/ts/nx-generator/files/common/schema.d.ts.template +1 -0
  600. package/src/ts/nx-generator/files/common/schema.json.template +5 -0
  601. package/src/ts/nx-generator/files/local/generator.ts.template +3 -3
  602. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.ts.template +6 -7
  603. package/src/ts/nx-generator/generator.d.ts +2 -2
  604. package/src/ts/nx-generator/generator.js +111 -74
  605. package/src/ts/nx-generator/generator.js.map +1 -1
  606. package/src/ts/nx-generator/schema.d.js +6 -0
  607. package/src/ts/nx-generator/schema.d.js.map +1 -0
  608. package/src/ts/nx-generator/schema.d.ts +1 -0
  609. package/src/ts/nx-generator/schema.json +5 -0
  610. package/src/ts/nx-plugin/__snapshots__/generator.spec.ts.snap +30 -18
  611. package/src/ts/nx-plugin/files/mcp-server/server.ts.template +5 -5
  612. package/src/ts/nx-plugin/files/mcp-server/tools/create-workspace-command.ts.template +2 -2
  613. package/src/ts/nx-plugin/files/mcp-server/tools/general-guidance.ts.template +1 -1
  614. package/src/ts/nx-plugin/files/mcp-server/tools/generator-guide.ts.template +2 -2
  615. package/src/ts/nx-plugin/files/mcp-server/tools/list-generators.ts.template +2 -2
  616. package/src/ts/nx-plugin/files/mcp-server/utils.ts.template +3 -3
  617. package/src/ts/nx-plugin/generator.d.ts +3 -3
  618. package/src/ts/nx-plugin/generator.js +60 -51
  619. package/src/ts/nx-plugin/generator.js.map +1 -1
  620. package/src/ts/nx-plugin/schema.d.js +9 -0
  621. package/src/ts/nx-plugin/schema.d.js.map +1 -0
  622. package/src/ts/nx-plugin/schema.json +5 -0
  623. package/src/ts/nx-plugin/utils.d.ts +1 -1
  624. package/src/ts/nx-plugin/utils.js +32 -38
  625. package/src/ts/nx-plugin/utils.js.map +1 -1
  626. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +312 -482
  627. package/src/ts/rdb/agent-connection/__snapshots__/generator.spec.ts.snap +6 -6
  628. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  629. package/src/ts/rdb/agent-connection/generator.js +38 -39
  630. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  631. package/src/ts/rdb/agent-connection/schema.d.js +8 -0
  632. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -0
  633. package/src/ts/rdb/agent-connection/schema.d.ts +1 -0
  634. package/src/ts/rdb/agent-connection/schema.json +5 -0
  635. package/src/ts/rdb/files/config.json.template +14 -0
  636. package/src/ts/rdb/files/prisma.config.ts.template +6 -5
  637. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +7 -9
  638. package/src/ts/rdb/files/src/index.ts.template +0 -1
  639. package/src/ts/rdb/files/src/migration-handler.ts.template +1 -28
  640. package/src/ts/rdb/files/src/prisma.ts.template +28 -23
  641. package/src/ts/rdb/files/src/utils.ts.template +3 -0
  642. package/src/ts/rdb/generator.d.ts +3 -7
  643. package/src/ts/rdb/generator.js +158 -130
  644. package/src/ts/rdb/generator.js.map +1 -1
  645. package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +6 -6
  646. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  647. package/src/ts/rdb/mcp-server-connection/generator.js +36 -37
  648. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  649. package/src/ts/rdb/mcp-server-connection/schema.d.js +8 -0
  650. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -0
  651. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -0
  652. package/src/ts/rdb/mcp-server-connection/schema.json +5 -0
  653. package/src/ts/rdb/schema.d.js +6 -0
  654. package/src/ts/rdb/schema.d.js.map +1 -0
  655. package/src/ts/rdb/schema.d.ts +1 -0
  656. package/src/ts/rdb/schema.json +5 -0
  657. package/src/ts/rdb/smithy-connection/__snapshots__/generator.spec.ts.snap +3 -3
  658. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  659. package/src/ts/rdb/smithy-connection/generator.js +46 -43
  660. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  661. package/src/ts/rdb/smithy-connection/schema.d.js +8 -0
  662. package/src/ts/rdb/smithy-connection/schema.d.js.map +1 -0
  663. package/src/ts/rdb/smithy-connection/schema.d.ts +1 -0
  664. package/src/ts/rdb/smithy-connection/schema.json +5 -0
  665. package/src/ts/rdb/trpc-connection/__snapshots__/generator.spec.ts.snap +3 -3
  666. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  667. package/src/ts/rdb/trpc-connection/generator.js +36 -31
  668. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  669. package/src/ts/rdb/trpc-connection/schema.d.js +8 -0
  670. package/src/ts/rdb/trpc-connection/schema.d.js.map +1 -0
  671. package/src/ts/rdb/trpc-connection/schema.d.ts +1 -0
  672. package/src/ts/rdb/trpc-connection/schema.json +5 -0
  673. package/src/ts/rdb/utils.d.ts +1 -1
  674. package/src/ts/rdb/utils.js +9 -11
  675. package/src/ts/rdb/utils.js.map +1 -1
  676. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
  677. package/src/ts/react-website/agui/generator.d.ts +1 -1
  678. package/src/ts/react-website/agui/generator.js +69 -62
  679. package/src/ts/react-website/agui/generator.js.map +1 -1
  680. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +626 -612
  681. package/src/ts/react-website/app/generator.d.ts +4 -4
  682. package/src/ts/react-website/app/generator.js +217 -192
  683. package/src/ts/react-website/app/generator.js.map +1 -1
  684. package/src/ts/react-website/app/schema.d.js +6 -0
  685. package/src/ts/react-website/app/schema.d.js.map +1 -0
  686. package/src/ts/react-website/app/schema.d.ts +1 -1
  687. package/src/ts/react-website/app/schema.json +11 -6
  688. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +129 -18
  689. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +36 -10
  690. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
  691. package/src/ts/react-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +2 -2
  692. package/src/ts/react-website/cognito-auth/generator.d.ts +4 -4
  693. package/src/ts/react-website/cognito-auth/generator.js +64 -63
  694. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  695. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  696. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  697. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  698. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  699. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  700. package/src/ts/react-website/cognito-auth/schema.d.js +6 -0
  701. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -0
  702. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  703. package/src/ts/react-website/cognito-auth/schema.json +5 -0
  704. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  705. package/src/ts/react-website/cognito-auth/utils.js +34 -32
  706. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  707. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +2 -2
  708. package/src/ts/react-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +2 -2
  709. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  710. package/src/ts/react-website/runtime-config/generator.js +29 -31
  711. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  712. package/src/ts/react-website/runtime-config/schema.d.js +6 -0
  713. package/src/ts/react-website/runtime-config/schema.d.js.map +1 -0
  714. package/src/ts/react-website/runtime-config/schema.d.ts +1 -0
  715. package/src/ts/react-website/runtime-config/schema.json +5 -0
  716. package/src/ts/sync/generator.d.ts +3 -3
  717. package/src/ts/sync/generator.js +60 -59
  718. package/src/ts/sync/generator.js.map +1 -1
  719. package/src/ts/website/app/generator.d.ts +3 -3
  720. package/src/ts/website/app/generator.js +10 -10
  721. package/src/ts/website/app/generator.js.map +1 -1
  722. package/src/ts/website/app/schema.d.js +6 -0
  723. package/src/ts/website/app/schema.d.js.map +1 -0
  724. package/src/ts/website/app/schema.d.ts +1 -1
  725. package/src/ts/website/app/schema.json +11 -6
  726. package/src/ts/website/auth/generator.d.ts +4 -4
  727. package/src/ts/website/auth/generator.js +11 -10
  728. package/src/ts/website/auth/generator.js.map +1 -1
  729. package/src/ts/website/auth/schema.d.js +6 -0
  730. package/src/ts/website/auth/schema.d.js.map +1 -0
  731. package/src/ts/website/auth/schema.d.ts +1 -0
  732. package/src/ts/website/auth/schema.json +5 -0
  733. package/src/utils/agent-chat/agent-chat.d.ts +31 -0
  734. package/src/utils/agent-chat/agent-chat.js +29 -0
  735. package/src/utils/agent-chat/agent-chat.js.map +1 -0
  736. package/src/utils/agent-chat/files/a2a/chat.ts.template +33 -0
  737. package/src/utils/agent-chat/files/ag-ui/chat.ts.template +17 -0
  738. package/src/utils/agent-chat/files/common/agentcore.ts.template +81 -0
  739. package/src/utils/agent-chat/files/http-py/chat.ts.template +43 -0
  740. package/src/utils/agent-chat/files/http-ts/chat.ts.template +54 -0
  741. package/src/utils/agent-connection/agent-connection.d.ts +117 -25
  742. package/src/utils/agent-connection/agent-connection.js +411 -103
  743. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  744. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client-config.ts.template +93 -0
  745. package/src/utils/agent-connection/files/core-auth/agentcore-endpoints.ts.template +37 -0
  746. package/src/utils/agent-connection/files/core-auth/agentcore-fetch.ts.template +54 -0
  747. package/src/utils/agent-connection/files/core-gateway/agentcore-gateway-mcp-transport.ts.template +41 -0
  748. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-transport.ts.template +70 -0
  749. package/src/utils/agent-connection/files/core-runtime-config/runtime-config.ts.template +22 -32
  750. package/src/utils/agent-connection/files/core-shared/agentcore-transport.ts.template +39 -0
  751. package/src/utils/agent-connection/files/core-strands/a2a/agentcore-a2a-client-strands.ts.template +61 -0
  752. package/src/utils/agent-connection/files/core-strands/base/model-errors-strands.ts.template +36 -0
  753. package/src/utils/agent-connection/files/core-strands/gateway/agentcore-gateway-mcp-client-strands.ts.template +26 -0
  754. package/src/utils/agent-connection/files/core-strands/mcp/agentcore-mcp-client-strands.ts.template +27 -0
  755. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client_config.py.template +43 -0
  756. package/src/utils/agent-connection/files/py-core-auth/agentcore_endpoints.py.template +47 -0
  757. package/src/utils/agent-connection/files/py-core-auth/auth/session.py.template +51 -0
  758. package/src/utils/agent-connection/files/py-core-gateway/agentcore_gateway_mcp_transport.py.template +28 -0
  759. package/src/utils/agent-connection/files/py-core-langchain/a2a/agentcore_a2a_client_langchain.py.template +99 -0
  760. package/src/utils/agent-connection/files/py-core-langchain/gateway/agentcore_gateway_mcp_client_langchain.py.template +57 -0
  761. package/src/utils/agent-connection/files/py-core-langchain/mcp/agentcore_mcp_client_langchain.py.template +64 -0
  762. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_transport.py.template +34 -0
  763. package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +5 -18
  764. package/src/utils/agent-connection/files/py-core-shared/agentcore_transport.py.template +40 -0
  765. package/src/utils/agent-connection/files/py-core-strands/a2a/agentcore_a2a_client_strands.py.template +66 -0
  766. package/src/utils/agent-connection/files/py-core-strands/base/model_errors_strands.py.template +40 -0
  767. package/src/utils/agent-connection/files/py-core-strands/gateway/agentcore_gateway_mcp_client_strands.py.template +22 -0
  768. package/src/utils/agent-connection/files/py-core-strands/mcp/agentcore_mcp_client_strands.py.template +30 -0
  769. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -3
  770. package/src/utils/agent-core-constructs/agent-core-constructs.js +86 -38
  771. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  772. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +4 -0
  773. package/src/utils/agent-core-constructs/files/cdk/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.ts.template +50 -0
  774. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/agentcore-gateway.ts.template +487 -0
  775. package/src/utils/agent-core-constructs/files/cdk/core/agentcore-gateway/readiness-probe/index.js.template +55 -0
  776. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/__nameKebabCase__.tf.template +449 -0
  777. package/src/utils/agent-core-constructs/files/terraform/app/agentcore-gateway/__nameKebabCase__/render-cedar.cjs.template +13 -0
  778. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +80 -12
  779. package/src/utils/agent-core-constructs/files/terraform/core/agentcore-gateway/gateway.tf.template +14 -0
  780. package/src/utils/api-constructs/api-constructs.d.ts +2 -2
  781. package/src/utils/api-constructs/api-constructs.js +30 -31
  782. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  783. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +3 -0
  784. package/src/utils/api-constructs/files/cdk/core/api/http/http-api.ts.template +23 -6
  785. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account/index.js.template +58 -0
  786. package/src/utils/api-constructs/files/cdk/core/api/rest/api-gateway-account.ts.template +82 -0
  787. package/src/utils/api-constructs/files/cdk/core/api/rest/rest-api.ts.template +51 -15
  788. package/src/utils/api-constructs/files/cdk/core/api/utils/utils.ts.template +61 -7
  789. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +1 -8
  790. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +94 -4
  791. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +1 -1
  792. package/src/utils/api-constructs/files/terraform/core/api/rest/api-gateway-account/api-gateway-account.tf.template +83 -0
  793. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +5 -11
  794. package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
  795. package/src/utils/api-constructs/open-api-metadata.js +22 -22
  796. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  797. package/src/utils/ast/website.d.ts +5 -1
  798. package/src/utils/ast/website.js +18 -20
  799. package/src/utils/ast/website.js.map +1 -1
  800. package/src/utils/ast.d.ts +33 -1
  801. package/src/utils/ast.js +130 -70
  802. package/src/utils/ast.js.map +1 -1
  803. package/src/utils/bundle/bundle.d.ts +1 -1
  804. package/src/utils/bundle/bundle.js +50 -47
  805. package/src/utils/bundle/bundle.js.map +1 -1
  806. package/src/utils/commands.js +47 -26
  807. package/src/utils/commands.js.map +1 -1
  808. package/src/utils/config/index.d.ts +5 -5
  809. package/src/utils/config/index.js +5 -4
  810. package/src/utils/config/index.js.map +1 -1
  811. package/src/utils/config/utils.d.ts +13 -3
  812. package/src/utils/config/utils.js +65 -43
  813. package/src/utils/config/utils.js.map +1 -1
  814. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +1 -1
  815. package/src/utils/connection/open-api/react.d.ts +6 -6
  816. package/src/utils/connection/open-api/react.js +81 -77
  817. package/src/utils/connection/open-api/react.js.map +1 -1
  818. package/src/utils/containers.d.ts +1 -1
  819. package/src/utils/containers.js +22 -23
  820. package/src/utils/containers.js.map +1 -1
  821. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  822. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +48 -0
  823. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  824. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +43 -0
  825. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  826. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +72 -0
  827. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  828. package/src/utils/files/common/scripts/src/dynamodb/create-local-table.ts.template +195 -0
  829. package/src/utils/files/common/scripts/src/dynamodb/pull-image.ts.template +13 -0
  830. package/src/utils/files/common/scripts/src/dynamodb/start-container.ts.template +106 -0
  831. package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/cdk-command.ts.template +6 -3
  832. package/src/utils/files/common/scripts/src/rdb/mysql/wait-for-mysql-db.ts.template +32 -0
  833. package/src/utils/files/common/scripts/src/rdb/postgres/wait-for-postgres-db.ts.template +32 -0
  834. package/src/utils/files/common/scripts/src/rdb/shared/pull-image.ts.template +16 -0
  835. package/src/utils/files/common/scripts/src/rdb/shared/start-container.ts.template +117 -0
  836. package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
  837. package/src/utils/files/terraform/src/core/runtime-config/appconfig/appconfig.tf.template +1 -1
  838. package/src/utils/files/terraform/src/core/runtime-config/appconfig-deployment/appconfig-deployment.tf.template +12 -6
  839. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +1 -1
  840. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +9 -4
  841. package/src/utils/files/website/hooks/sigv4/useSigV4.tsx.template +1 -1
  842. package/src/utils/format.d.ts +45 -2
  843. package/src/utils/format.js +323 -81
  844. package/src/utils/format.js.map +1 -1
  845. package/src/utils/fs.d.ts +1 -1
  846. package/src/utils/fs.js +14 -13
  847. package/src/utils/fs.js.map +1 -1
  848. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__nameKebabCase__/__nameKebabCase__.tf.template +2 -2
  849. package/src/utils/function-constructs/function-constructs.d.ts +2 -2
  850. package/src/utils/function-constructs/function-constructs.js +21 -26
  851. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  852. package/src/utils/generators.d.ts +4 -0
  853. package/src/utils/generators.js +18 -20
  854. package/src/utils/generators.js.map +1 -1
  855. package/src/utils/git.d.ts +1 -1
  856. package/src/utils/git.js +19 -34
  857. package/src/utils/git.js.map +1 -1
  858. package/src/utils/iac-providers.js +5 -5
  859. package/src/utils/iac-providers.js.map +1 -1
  860. package/src/utils/iac.d.ts +1 -1
  861. package/src/utils/iac.js +12 -14
  862. package/src/utils/iac.js.map +1 -1
  863. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +123 -14
  864. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +28 -9
  865. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +106 -6
  866. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +7 -0
  867. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  868. package/src/utils/identity-constructs/identity-constructs.js +24 -28
  869. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  870. package/src/utils/install.d.ts +32 -0
  871. package/src/utils/install.js +56 -0
  872. package/src/utils/install.js.map +1 -0
  873. package/src/utils/js.d.ts +4 -0
  874. package/src/utils/js.js +27 -20
  875. package/src/utils/js.js.map +1 -1
  876. package/src/utils/mcp.d.ts +25 -0
  877. package/src/utils/mcp.js +74 -0
  878. package/src/utils/mcp.js.map +1 -0
  879. package/src/utils/metrics.d.ts +9 -3
  880. package/src/utils/metrics.js +61 -46
  881. package/src/utils/metrics.js.map +1 -1
  882. package/src/utils/mock-project-graph.js +8 -12
  883. package/src/utils/mock-project-graph.js.map +1 -1
  884. package/src/utils/names.d.ts +22 -0
  885. package/src/utils/names.js +44 -48
  886. package/src/utils/names.js.map +1 -1
  887. package/src/utils/npm-scope.d.ts +1 -1
  888. package/src/utils/npm-scope.js +9 -17
  889. package/src/utils/npm-scope.js.map +1 -1
  890. package/src/utils/nx.d.ts +25 -4
  891. package/src/utils/nx.js +144 -75
  892. package/src/utils/nx.js.map +1 -1
  893. package/src/utils/nxlv-python.d.ts +1 -1
  894. package/src/utils/nxlv-python.js +27 -15
  895. package/src/utils/nxlv-python.js.map +1 -1
  896. package/src/utils/object.js +5 -11
  897. package/src/utils/object.js.map +1 -1
  898. package/src/utils/paths.d.ts +1 -1
  899. package/src/utils/paths.js +11 -15
  900. package/src/utils/paths.js.map +1 -1
  901. package/src/utils/pkg-manager.js +4 -9
  902. package/src/utils/pkg-manager.js.map +1 -1
  903. package/src/utils/pnpm-workspace.d.ts +1 -1
  904. package/src/utils/pnpm-workspace.js +22 -22
  905. package/src/utils/pnpm-workspace.js.map +1 -1
  906. package/src/utils/port.d.ts +31 -3
  907. package/src/utils/port.js +72 -12
  908. package/src/utils/port.js.map +1 -1
  909. package/src/utils/py.d.ts +16 -3
  910. package/src/utils/py.js +72 -47
  911. package/src/utils/py.js.map +1 -1
  912. package/src/utils/rdb-constructs/files/cdk/app/dbs/__nameKebabCase__.ts.template +12 -2
  913. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +35 -16
  914. package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +42 -48
  915. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +31 -16
  916. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -4
  917. package/src/utils/rdb-constructs/rdb-constructs.js +31 -41
  918. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  919. package/src/utils/shared-constructs-constants.d.ts +1 -0
  920. package/src/utils/shared-constructs-constants.js +16 -15
  921. package/src/utils/shared-constructs-constants.js.map +1 -1
  922. package/src/utils/shared-constructs.d.ts +2 -2
  923. package/src/utils/shared-constructs.js +57 -54
  924. package/src/utils/shared-constructs.js.map +1 -1
  925. package/src/utils/shared-dynamodb-scripts.d.ts +11 -0
  926. package/src/utils/shared-dynamodb-scripts.js +25 -0
  927. package/src/utils/shared-dynamodb-scripts.js.map +1 -0
  928. package/src/utils/shared-infra-config.d.ts +1 -1
  929. package/src/utils/shared-infra-config.js +30 -31
  930. package/src/utils/shared-infra-config.js.map +1 -1
  931. package/src/utils/shared-infra-scripts.d.ts +11 -0
  932. package/src/utils/shared-infra-scripts.js +40 -0
  933. package/src/utils/shared-infra-scripts.js.map +1 -0
  934. package/src/utils/shared-rdb-scripts.d.ts +16 -0
  935. package/src/utils/shared-rdb-scripts.js +28 -0
  936. package/src/utils/shared-rdb-scripts.js.map +1 -0
  937. package/src/utils/shared-scripts.d.ts +2 -5
  938. package/src/utils/shared-scripts.js +12 -38
  939. package/src/utils/shared-scripts.js.map +1 -1
  940. package/src/utils/shared-shadcn.d.ts +1 -1
  941. package/src/utils/shared-shadcn.js +64 -72
  942. package/src/utils/shared-shadcn.js.map +1 -1
  943. package/src/utils/test.d.ts +13 -1
  944. package/src/utils/test.js +35 -23
  945. package/src/utils/test.js.map +1 -1
  946. package/src/utils/toml.d.ts +1 -1
  947. package/src/utils/toml.js +10 -14
  948. package/src/utils/toml.js.map +1 -1
  949. package/src/utils/versions.d.ts +116 -84
  950. package/src/utils/versions.js +124 -102
  951. package/src/utils/versions.js.map +1 -1
  952. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +73 -5
  953. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +1 -1
  954. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +68 -19
  955. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  956. package/src/utils/website-constructs/website-constructs.js +31 -30
  957. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  958. package/bin/aws-nx-mcp.js +0 -17
  959. package/bin/aws-nx-mcp.js.map +0 -1
  960. package/sdk/connection.d.ts +0 -6
  961. package/sdk/connection.js +0 -10
  962. package/sdk/connection.js.map +0 -1
  963. package/sdk/open-api.d.ts +0 -10
  964. package/sdk/open-api.js +0 -15
  965. package/sdk/open-api.js.map +0 -1
  966. package/sdk/py.d.ts +0 -14
  967. package/sdk/py.js +0 -18
  968. package/sdk/py.js.map +0 -1
  969. package/sdk/terraform.d.ts +0 -6
  970. package/sdk/terraform.js +0 -11
  971. package/sdk/terraform.js.map +0 -1
  972. package/sdk/ts.d.ts +0 -29
  973. package/sdk/ts.js +0 -47
  974. package/sdk/ts.js.map +0 -1
  975. package/sdk/utils/ast.js +0 -12
  976. package/sdk/utils/ast.js.map +0 -1
  977. package/sdk/utils/format.js +0 -10
  978. package/sdk/utils/format.js.map +0 -1
  979. package/sdk/utils/test.js +0 -10
  980. package/sdk/utils/test.js.map +0 -1
  981. package/src/connection/agent-serve-local.js +0 -48
  982. package/src/connection/agent-serve-local.js.map +0 -1
  983. package/src/connection/serve-local.d.ts +0 -15
  984. package/src/connection/serve-local.js +0 -41
  985. package/src/connection/serve-local.js.map +0 -1
  986. package/src/py/agent/a2a-connection/files/agent-connection/app/__targetAgentSnakeCase___client.py.template +0 -22
  987. package/src/py/agent/mcp-connection/files/agent-connection/app/__mcpServerSnakeCase___client.py.template +0 -22
  988. package/src/py/agent/react-connection/serve-local.js +0 -30
  989. package/src/py/agent/react-connection/serve-local.js.map +0 -1
  990. package/src/py/agent/scripts/http/chat.ts.template +0 -38
  991. package/src/ts/agent/a2a-connection/files/agent-connection/app/__targetAgentKebabCase__-client.ts.template +0 -19
  992. package/src/ts/agent/mcp-connection/files/agent-connection/app/__mcpServerKebabCase__-client.ts.template +0 -19
  993. package/src/ts/agent/react-connection/serve-local.d.ts +0 -13
  994. package/src/ts/agent/react-connection/serve-local.js +0 -19
  995. package/src/ts/agent/react-connection/serve-local.js.map +0 -1
  996. package/src/ts/agent/scripts/http/chat.ts.template +0 -35
  997. package/src/ts/lib/eslint.d.ts +0 -14
  998. package/src/ts/lib/eslint.js +0 -90
  999. package/src/ts/lib/eslint.js.map +0 -1
  1000. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  1001. package/src/ts/rdb/files/scripts/docker-pull.ts.template +0 -15
  1002. package/src/ts/rdb/files/scripts/docker-start.ts.template +0 -84
  1003. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +0 -55
  1004. package/src/ts/rdb/files/src/constants.ts.template +0 -8
  1005. package/src/utils/agent-connection/files/core-a2a/agentcore-a2a-client.ts.template +0 -123
  1006. package/src/utils/agent-connection/files/core-mcp/agentcore-mcp-client.ts.template +0 -128
  1007. package/src/utils/agent-connection/files/py-core-a2a/agentcore_a2a_client.py.template +0 -120
  1008. package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +0 -89
  1009. /package/{bin → src/bin}/aws-nx-mcp.d.ts +0 -0
  1010. /package/src/utils/agent-connection/files/{core-runtime-config/with-session-id.ts.template → core-strands/base/with-session-id-strands.ts.template} +0 -0
  1011. /package/src/utils/agent-connection/files/{py-core-runtime-config/with_session_id.py.template → py-core-strands/base/with_session_id_strands.py.template} +0 -0
  1012. /package/src/utils/files/common/scripts/src/{index.ts.template → infra/index.ts.template} +0 -0
  1013. /package/src/utils/files/common/scripts/src/{infra-deploy.ts.template → infra/infra-deploy.ts.template} +0 -0
  1014. /package/src/utils/files/common/scripts/src/{infra-destroy.ts.template → infra/infra-destroy.ts.template} +0 -0
  1015. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/credentials.ts.template +0 -0
  1016. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/run.ts.template +0 -0
  1017. /package/src/utils/files/common/scripts/src/{stage-credentials → infra/stage-credentials}/stage-parser.ts.template +0 -0
@@ -11,7 +11,7 @@ exports[`openApiTsClientGenerator - tags > should allow duplicate operation ids
11
11
  * Utility for serialisation and deserialisation of API types.
12
12
  */
13
13
  export class $IO {
14
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
14
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
15
15
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
16
16
  }
17
17
 
@@ -54,11 +54,31 @@ export class TestApi {
54
54
  this._usersPeopleList = this._usersPeopleList.bind(this);
55
55
  }
56
56
 
57
+ private $collectionDelimiters: { [format: string]: string } = {
58
+ csv: ',',
59
+ ssv: ' ',
60
+ pipes: '|',
61
+ };
62
+
63
+ private $deepObject = (key: string, value: any): string[] => {
64
+ if (value === undefined || value === null) {
65
+ return [];
66
+ }
67
+ if (typeof value !== 'object') {
68
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
69
+ }
70
+ return Object.entries(value).flatMap(([prop, v]) =>
71
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
72
+ );
73
+ };
74
+
57
75
  private $url = (
58
76
  path: string,
59
77
  pathParameters: { [key: string]: any },
60
78
  queryParameters: { [key: string]: any },
61
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
79
+ collectionFormats?: {
80
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
81
+ },
62
82
  ): string => {
63
83
  const baseUrl = this.$config.url.endsWith('/')
64
84
  ? this.$config.url.slice(0, -1)
@@ -69,15 +89,24 @@ export class TestApi {
69
89
  path,
70
90
  );
71
91
  const queryString = Object.entries(queryParameters)
72
- .map(([key, value]) => {
92
+ .flatMap(([key, value]) => {
73
93
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
74
- return value
75
- .map(
76
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
77
- )
78
- .join('&');
94
+ return value.map(
95
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
96
+ );
97
+ }
98
+ if (
99
+ collectionFormats?.[key] === 'deepObject' &&
100
+ value !== null &&
101
+ typeof value === 'object'
102
+ ) {
103
+ return this.$deepObject(encodeURIComponent(key), value);
79
104
  }
80
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
105
+ const delimiter =
106
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
107
+ return [
108
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
109
+ ];
81
110
  })
82
111
  .join('&');
83
112
  return (
@@ -87,13 +116,22 @@ export class TestApi {
87
116
 
88
117
  private $headers = (
89
118
  headerParameters: { [key: string]: any },
90
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
119
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
91
120
  ): [string, string][] => {
92
121
  return Object.entries(headerParameters).flatMap(([key, value]) => {
93
122
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
94
123
  return value.map((v) => [key, String(v)]) as [string, string][];
95
124
  }
96
- return [[key, String(value)]];
125
+ const delimiter =
126
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
127
+ return [
128
+ [
129
+ key,
130
+ Array.isArray(value)
131
+ ? value.map(String).join(delimiter)
132
+ : String(value),
133
+ ],
134
+ ];
97
135
  });
98
136
  };
99
137
 
@@ -190,7 +228,7 @@ exports[`openApiTsClientGenerator - tags > should allow duplicate operation ids
190
228
  * Utility for serialisation and deserialisation of API types.
191
229
  */
192
230
  export class $IO {
193
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
231
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
194
232
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
195
233
  }
196
234
 
@@ -233,11 +271,31 @@ export class TestApi {
233
271
  this._usersList = this._usersList.bind(this);
234
272
  }
235
273
 
274
+ private $collectionDelimiters: { [format: string]: string } = {
275
+ csv: ',',
276
+ ssv: ' ',
277
+ pipes: '|',
278
+ };
279
+
280
+ private $deepObject = (key: string, value: any): string[] => {
281
+ if (value === undefined || value === null) {
282
+ return [];
283
+ }
284
+ if (typeof value !== 'object') {
285
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
286
+ }
287
+ return Object.entries(value).flatMap(([prop, v]) =>
288
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
289
+ );
290
+ };
291
+
236
292
  private $url = (
237
293
  path: string,
238
294
  pathParameters: { [key: string]: any },
239
295
  queryParameters: { [key: string]: any },
240
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
296
+ collectionFormats?: {
297
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
298
+ },
241
299
  ): string => {
242
300
  const baseUrl = this.$config.url.endsWith('/')
243
301
  ? this.$config.url.slice(0, -1)
@@ -248,15 +306,24 @@ export class TestApi {
248
306
  path,
249
307
  );
250
308
  const queryString = Object.entries(queryParameters)
251
- .map(([key, value]) => {
309
+ .flatMap(([key, value]) => {
252
310
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
253
- return value
254
- .map(
255
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
256
- )
257
- .join('&');
311
+ return value.map(
312
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
313
+ );
314
+ }
315
+ if (
316
+ collectionFormats?.[key] === 'deepObject' &&
317
+ value !== null &&
318
+ typeof value === 'object'
319
+ ) {
320
+ return this.$deepObject(encodeURIComponent(key), value);
258
321
  }
259
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
322
+ const delimiter =
323
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
324
+ return [
325
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
326
+ ];
260
327
  })
261
328
  .join('&');
262
329
  return (
@@ -266,13 +333,22 @@ export class TestApi {
266
333
 
267
334
  private $headers = (
268
335
  headerParameters: { [key: string]: any },
269
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
336
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
270
337
  ): [string, string][] => {
271
338
  return Object.entries(headerParameters).flatMap(([key, value]) => {
272
339
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
273
340
  return value.map((v) => [key, String(v)]) as [string, string][];
274
341
  }
275
- return [[key, String(value)]];
342
+ const delimiter =
343
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
344
+ return [
345
+ [
346
+ key,
347
+ Array.isArray(value)
348
+ ? value.map(String).join(delimiter)
349
+ : String(value),
350
+ ],
351
+ ];
276
352
  });
277
353
  };
278
354
 
@@ -357,7 +433,7 @@ exports[`openApiTsClientGenerator - tags > should handle operation tags and mult
357
433
  * Utility for serialisation and deserialisation of API types.
358
434
  */
359
435
  export class $IO {
360
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
436
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
361
437
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
362
438
  }
363
439
 
@@ -402,11 +478,31 @@ export class TestApi {
402
478
  this._getUsers = this._getUsers.bind(this);
403
479
  }
404
480
 
481
+ private $collectionDelimiters: { [format: string]: string } = {
482
+ csv: ',',
483
+ ssv: ' ',
484
+ pipes: '|',
485
+ };
486
+
487
+ private $deepObject = (key: string, value: any): string[] => {
488
+ if (value === undefined || value === null) {
489
+ return [];
490
+ }
491
+ if (typeof value !== 'object') {
492
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
493
+ }
494
+ return Object.entries(value).flatMap(([prop, v]) =>
495
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
496
+ );
497
+ };
498
+
405
499
  private $url = (
406
500
  path: string,
407
501
  pathParameters: { [key: string]: any },
408
502
  queryParameters: { [key: string]: any },
409
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
503
+ collectionFormats?: {
504
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
505
+ },
410
506
  ): string => {
411
507
  const baseUrl = this.$config.url.endsWith('/')
412
508
  ? this.$config.url.slice(0, -1)
@@ -417,15 +513,24 @@ export class TestApi {
417
513
  path,
418
514
  );
419
515
  const queryString = Object.entries(queryParameters)
420
- .map(([key, value]) => {
516
+ .flatMap(([key, value]) => {
421
517
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
422
- return value
423
- .map(
424
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
425
- )
426
- .join('&');
518
+ return value.map(
519
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
520
+ );
521
+ }
522
+ if (
523
+ collectionFormats?.[key] === 'deepObject' &&
524
+ value !== null &&
525
+ typeof value === 'object'
526
+ ) {
527
+ return this.$deepObject(encodeURIComponent(key), value);
427
528
  }
428
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
529
+ const delimiter =
530
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
531
+ return [
532
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
533
+ ];
429
534
  })
430
535
  .join('&');
431
536
  return (
@@ -435,13 +540,22 @@ export class TestApi {
435
540
 
436
541
  private $headers = (
437
542
  headerParameters: { [key: string]: any },
438
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
543
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
439
544
  ): [string, string][] => {
440
545
  return Object.entries(headerParameters).flatMap(([key, value]) => {
441
546
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
442
547
  return value.map((v) => [key, String(v)]) as [string, string][];
443
548
  }
444
- return [[key, String(value)]];
549
+ const delimiter =
550
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
551
+ return [
552
+ [
553
+ key,
554
+ Array.isArray(value)
555
+ ? value.map(String).join(delimiter)
556
+ : String(value),
557
+ ],
558
+ ];
445
559
  });
446
560
  };
447
561
 
@@ -579,7 +693,7 @@ exports[`openApiTsClientGenerator - tags > should handle operations with multipl
579
693
  * Utility for serialisation and deserialisation of API types.
580
694
  */
581
695
  export class $IO {
582
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
696
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
583
697
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
584
698
  }
585
699
 
@@ -622,11 +736,31 @@ export class TestApi {
622
736
  this._postMultiTagged = this._postMultiTagged.bind(this);
623
737
  }
624
738
 
739
+ private $collectionDelimiters: { [format: string]: string } = {
740
+ csv: ',',
741
+ ssv: ' ',
742
+ pipes: '|',
743
+ };
744
+
745
+ private $deepObject = (key: string, value: any): string[] => {
746
+ if (value === undefined || value === null) {
747
+ return [];
748
+ }
749
+ if (typeof value !== 'object') {
750
+ return [\`\${key}=\${encodeURIComponent(String(value))}\`];
751
+ }
752
+ return Object.entries(value).flatMap(([prop, v]) =>
753
+ this.$deepObject(\`\${key}[\${encodeURIComponent(prop)}]\`, v),
754
+ );
755
+ };
756
+
625
757
  private $url = (
626
758
  path: string,
627
759
  pathParameters: { [key: string]: any },
628
760
  queryParameters: { [key: string]: any },
629
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
761
+ collectionFormats?: {
762
+ [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject';
763
+ },
630
764
  ): string => {
631
765
  const baseUrl = this.$config.url.endsWith('/')
632
766
  ? this.$config.url.slice(0, -1)
@@ -637,15 +771,24 @@ export class TestApi {
637
771
  path,
638
772
  );
639
773
  const queryString = Object.entries(queryParameters)
640
- .map(([key, value]) => {
774
+ .flatMap(([key, value]) => {
641
775
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
642
- return value
643
- .map(
644
- (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
645
- )
646
- .join('&');
776
+ return value.map(
777
+ (v) => \`\${encodeURIComponent(key)}=\${encodeURIComponent(\`\${v}\`)}\`,
778
+ );
779
+ }
780
+ if (
781
+ collectionFormats?.[key] === 'deepObject' &&
782
+ value !== null &&
783
+ typeof value === 'object'
784
+ ) {
785
+ return this.$deepObject(encodeURIComponent(key), value);
647
786
  }
648
- return \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}\`;
787
+ const delimiter =
788
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
789
+ return [
790
+ \`\${encodeURIComponent(key)}=\${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}\`,
791
+ ];
649
792
  })
650
793
  .join('&');
651
794
  return (
@@ -655,13 +798,22 @@ export class TestApi {
655
798
 
656
799
  private $headers = (
657
800
  headerParameters: { [key: string]: any },
658
- collectionFormats?: { [key: string]: 'multi' | 'csv' },
801
+ collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' },
659
802
  ): [string, string][] => {
660
803
  return Object.entries(headerParameters).flatMap(([key, value]) => {
661
804
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
662
805
  return value.map((v) => [key, String(v)]) as [string, string][];
663
806
  }
664
- return [[key, String(value)]];
807
+ const delimiter =
808
+ this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
809
+ return [
810
+ [
811
+ key,
812
+ Array.isArray(value)
813
+ ? value.map(String).join(delimiter)
814
+ : String(value),
815
+ ],
816
+ ];
665
817
  });
666
818
  };
667
819
 
@@ -16,7 +16,19 @@ const uniqStrings = (strings) => {
16
16
  return true;
17
17
  });
18
18
  };
19
- const returnTypeSet = new Set(allOperations.map(op => op.result.typescriptType));
19
+ const returnTypeSet = new Set(allOperations.flatMap(op => op.result ? [op.result.typescriptType] : []));
20
+ // Names of discriminator "base" models (an object schema whose subtypes allOf-
21
+ // compose it). A subtype composes its base's non-dispatching `$toJsonBase`/
22
+ // `$fromJsonBase` body, so composing the dispatching `toJson`/`fromJson` would
23
+ // recurse infinitely (base -> subtype -> base).
24
+ const discriminatorBaseNames = new Set(models.filter(m => m.discriminator && m.discriminator.isBase).map(m => m.name));
25
+ const modelByName = Object.fromEntries(models.map(m => [m.name, m]));
26
+ // The $IO marshaller call for a composed member: a subtype composes its base's
27
+ // non-dispatching body to avoid recursing back through the base's dispatch.
28
+ const composedMarshaller = (property, method) =>
29
+ property.export === 'reference' && discriminatorBaseNames.has(property.type)
30
+ ? `$IO.${property.typescriptType}.$${method}Base`
31
+ : `$IO.${property.typescriptType}.${method}`;
20
32
  _%>
21
33
  <%_ if ((models.length + allOperations.filter(p => p.parameters.length > 0).length) > 0) { _%>
22
34
  import type {
@@ -44,14 +56,18 @@ const renderToJsonDateValue = (identifier, format) => {
44
56
  // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
45
57
  const renderNestedToJsonValue = (type, argumentType = undefined, depth = 0) => {
46
58
  const itemIdentifier = `item${depth}`;
47
- const argType = `${argumentType ? `: ${argumentType}` : ''}`;
59
+ // Nested items (depth > 0) come from mapping over an `any`, so annotate them
60
+ // to satisfy noImplicitAny.
61
+ const argType = `${argumentType ? `: ${argumentType}` : (depth > 0 ? ': any' : '')}`;
48
62
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
49
63
  return `(${itemIdentifier}${argType}) => ${["date", "date-time"].includes(type.format) ? renderToJsonDateValue(itemIdentifier, type.format) : itemIdentifier}`;
50
64
  } else if (type.export === "array") {
51
65
  return `(${itemIdentifier}${argType}) => ${itemIdentifier}.map(${renderNestedToJsonValue(type.link, argumentType, depth + 1)})`;
52
66
  } else if (type.export === "dictionary") {
53
67
  return `(${itemIdentifier}${argType}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedToJsonValue(type.link, argumentType, depth + 1)})`;
54
- } else if (type.type === 'unknown') {
68
+ } else if (type.type === 'unknown' && !["one-of", "any-of", "all-of"].includes(type.export)) {
69
+ // A bare `unknown` element passes through; a composite has type `unknown`
70
+ // but must still be marshalled via its own $IO entry.
55
71
  return `(${itemIdentifier}${argType}) => ${itemIdentifier}`;
56
72
  }
57
73
  return `$IO.${type.typescriptType || type.typescriptName}.toJson`;
@@ -83,14 +99,18 @@ const renderToJsonValue = (property, value, argumentType = undefined) => {
83
99
  // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
84
100
  const renderNestedFromJsonValue = (type, argumentType = undefined, depth = 0) => {
85
101
  const itemIdentifier = `item${depth}`;
86
- const argType = `${argumentType ? `: ${argumentType}` : ''}`;
102
+ // Nested items (depth > 0) come from mapping over an `any`, so annotate them
103
+ // to satisfy noImplicitAny.
104
+ const argType = `${argumentType ? `: ${argumentType}` : (depth > 0 ? ': any' : '')}`;
87
105
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
88
106
  return `(${itemIdentifier}${argType}) => ${["date", "date-time"].includes(type.format) ? `new Date(${itemIdentifier})` : itemIdentifier}`;
89
107
  } else if (type.export === "array") {
90
108
  return `(${itemIdentifier}${argType}) => ${itemIdentifier}.map(${renderNestedFromJsonValue(type.link, argumentType, depth + 1)})`;
91
109
  } else if (type.export === "dictionary") {
92
110
  return `(${itemIdentifier}${argType}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedFromJsonValue(type.link, argumentType, depth + 1)})`;
93
- } else if (type.type === 'unknown') {
111
+ } else if (type.type === 'unknown' && !["one-of", "any-of", "all-of"].includes(type.export)) {
112
+ // A bare `unknown` element passes through; a composite has type `unknown`
113
+ // but must still be marshalled via its own $IO entry.
94
114
  return `(${itemIdentifier}${argType}) => ${itemIdentifier}`;
95
115
  }
96
116
  return `$IO.${type.typescriptType || type.typescriptName}.fromJson`;
@@ -163,13 +183,44 @@ _%>
163
183
  * Utility for serialisation and deserialisation of API types.
164
184
  */
165
185
  export class $IO {
166
- protected static $mapValues = (data: any, fn: (item: any) => any) =>
186
+ public static $mapValues = (data: any, fn: (item: any) => any) =>
167
187
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
168
188
  <%_ models.filter(m => m.export !== 'enum').forEach((model) => { _%>
169
189
  <%_ const isComposite = model.export === "one-of" || model.export === "any-of" || model.export === "all-of"; _%>
190
+ <%_ /* A discriminator base emits its plain (own-fields) body under a $-prefixed
191
+ name that its subtypes compose, while its public toJson/fromJson dispatch
192
+ to the matching subtype — so composing a subtype never recurses back into
193
+ the dispatch. */ _%>
194
+ <%_ const isBase = model.discriminator && model.discriminator.isBase; _%>
195
+ <%_ const toJsonName = isBase ? '$toJsonBase' : 'toJson'; _%>
196
+ <%_ const fromJsonName = isBase ? '$fromJsonBase' : 'fromJson'; _%>
170
197
 
171
198
  public static <%- model.typescriptName %> = {
199
+ <%_ if (isBase) { _%>
172
200
  toJson: (model: <%- model.typescriptName %>): any => {
201
+ if (model === undefined || model === null) {
202
+ return model;
203
+ }
204
+ switch ((model as any).<%- model.discriminator.typescriptPropertyName %>) {
205
+ <%_ model.discriminator.mapping.filter(m => modelByName[m.modelName]).forEach(({ value, modelName }) => { _%>
206
+ case <%- JSON.stringify(value) %>: return $IO.<%- modelByName[modelName].typescriptName %>.toJson(model as <%- modelByName[modelName].typescriptName %>);
207
+ <%_ }); _%>
208
+ }
209
+ return $IO.<%- model.typescriptName %>.$toJsonBase(model);
210
+ },
211
+ fromJson: (json: any): <%- model.typescriptName %> => {
212
+ if (json === undefined || json === null) {
213
+ return json;
214
+ }
215
+ switch (json?.[<%- JSON.stringify(model.discriminator.propertyName) %>]) {
216
+ <%_ model.discriminator.mapping.filter(m => modelByName[m.modelName]).forEach(({ value, modelName }) => { _%>
217
+ case <%- JSON.stringify(value) %>: return $IO.<%- modelByName[modelName].typescriptName %>.fromJson(json);
218
+ <%_ }); _%>
219
+ }
220
+ return $IO.<%- model.typescriptName %>.$fromJsonBase(json);
221
+ },
222
+ <%_ } _%>
223
+ <%- toJsonName %>: (model: <%- model.typescriptName %>): any => {
173
224
  if (model === undefined || model === null) {
174
225
  return model;
175
226
  }
@@ -202,10 +253,25 @@ export class $IO {
202
253
  return <%- renderToJsonValue(arrayOfNonPrimitives, 'model') %>;
203
254
  }
204
255
  <%_ } _%>
256
+ <%_ /* A discriminated composite marshals directly to the matching branch,
257
+ rather than merging every branch (which would leak fields from the
258
+ non-matching branches). Unknown values fall through to the merge. */ _%>
259
+ <%_ if (model.discriminator) { _%>
260
+ <%_ const discToJsonByName = Object.fromEntries(model.composedModels.map(m => [m.name, m.typescriptName])); _%>
261
+ switch ((model as any).<%- model.discriminator.typescriptPropertyName %>) {
262
+ <%_ model.discriminator.mapping.filter(m => discToJsonByName[m.modelName]).forEach(({ value, modelName }) => { _%>
263
+ case <%- JSON.stringify(value) %>: return $IO.<%- discToJsonByName[modelName] %>.toJson(model as <%- discToJsonByName[modelName] %>);
264
+ <%_ }); _%>
265
+ }
266
+ <%_ } _%>
205
267
  <%_ if (model.composedModels.length > 0) { _%>
206
268
  return {
207
269
  <%_ model.properties.filter(p => !p.isPrimitive && p.export !== 'array').forEach((property, i) => { _%>
270
+ <%_ if (property.export === 'reference' && discriminatorBaseNames.has(property.type)) { _%>
271
+ ...<%- composedMarshaller(property, 'toJson') %>(model),
272
+ <%_ } else { _%>
208
273
  ...<%- renderToJsonValue(property, `model${(model.export !== 'all-of' && property.export !== 'dictionary') ? ` as ${property.typescriptType}` : ''}`) %>,
274
+ <%_ } _%>
209
275
  <%_ }); _%>
210
276
  };
211
277
  <%_ } else { _%>
@@ -238,7 +304,7 @@ export class $IO {
238
304
  };
239
305
  <%_ } _%>
240
306
  },
241
- fromJson: (json: any): <%- model.typescriptName %> => {
307
+ <%- fromJsonName %>: (json: any): <%- model.typescriptName %> => {
242
308
  if (json === undefined || json === null) {
243
309
  return json;
244
310
  }
@@ -270,10 +336,25 @@ export class $IO {
270
336
  return <%- renderFromJsonValue(arrayOfNonPrimitives, 'json') %>;
271
337
  }
272
338
  <%_ } _%>
339
+ <%_ /* A discriminated composite marshals directly to the matching branch;
340
+ the discriminator value comes off the raw json by its wire name.
341
+ Unknown values fall through to the merge. */ _%>
342
+ <%_ if (model.discriminator) { _%>
343
+ <%_ const discFromJsonByName = Object.fromEntries(model.composedModels.map(m => [m.name, m.typescriptName])); _%>
344
+ switch (json?.[<%- JSON.stringify(model.discriminator.propertyName) %>]) {
345
+ <%_ model.discriminator.mapping.filter(m => discFromJsonByName[m.modelName]).forEach(({ value, modelName }) => { _%>
346
+ case <%- JSON.stringify(value) %>: return $IO.<%- discFromJsonByName[modelName] %>.fromJson(json);
347
+ <%_ }); _%>
348
+ }
349
+ <%_ } _%>
273
350
  <%_ if (model.composedModels.length > 0) { _%>
274
351
  return {
275
352
  <%_ model.properties.filter(p => !p.isPrimitive && p.export !== 'array').forEach((composedType) => { _%>
353
+ <%_ if (composedType.export === 'reference' && discriminatorBaseNames.has(composedType.type)) { _%>
354
+ ...<%- composedMarshaller(composedType, 'fromJson') %>(json),
355
+ <%_ } else { _%>
276
356
  ...<%- renderFromJsonValue(composedType, 'json') %>,
357
+ <%_ } _%>
277
358
  <%_ }); _%>
278
359
  };
279
360
  <%_ } else { _%>
@@ -355,26 +436,45 @@ export class <%- className %> {
355
436
  <%_ }); _%>
356
437
  }
357
438
 
358
- private $url = (path: string, pathParameters: { [key: string]: any }, queryParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' }): string => {
439
+ private $collectionDelimiters: { [format: string]: string } = { csv: ',', ssv: ' ', pipes: '|' };
440
+
441
+ private $deepObject = (key: string, value: any): string[] => {
442
+ if (value === undefined || value === null) {
443
+ return [];
444
+ }
445
+ if (typeof value !== 'object') {
446
+ return [`${key}=${encodeURIComponent(String(value))}`];
447
+ }
448
+ return Object.entries(value).flatMap(([prop, v]) =>
449
+ this.$deepObject(`${key}[${encodeURIComponent(prop)}]`, v),
450
+ );
451
+ };
452
+
453
+ private $url = (path: string, pathParameters: { [key: string]: any }, queryParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' | 'deepObject' }): string => {
359
454
  const baseUrl = this.$config.url.endsWith('/') ? this.$config.url.slice(0, -1) : this.$config.url;
360
455
  const pathWithParameters = Object.entries(pathParameters).reduce((withParams, [key, value]) =>
361
456
  withParams.replace(`{${key}}`, encodeURIComponent(`${value}`))
362
457
  , path);
363
- const queryString = Object.entries(queryParameters).map(([key, value]) => {
458
+ const queryString = Object.entries(queryParameters).flatMap(([key, value]) => {
364
459
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
365
- return value.map(v => `${encodeURIComponent(key)}=${encodeURIComponent(`${v}`)}`).join('&');
460
+ return value.map(v => `${encodeURIComponent(key)}=${encodeURIComponent(`${v}`)}`);
461
+ }
462
+ if (collectionFormats?.[key] === 'deepObject' && value !== null && typeof value === 'object') {
463
+ return this.$deepObject(encodeURIComponent(key), value);
366
464
  }
367
- return `${encodeURIComponent(key)}=${encodeURIComponent(Array.isArray(value) ? value.map(String).join(',') : String(value))}`;
465
+ const delimiter = this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
466
+ return [`${encodeURIComponent(key)}=${encodeURIComponent(Array.isArray(value) ? value.map(String).join(delimiter) : String(value))}`];
368
467
  }).join('&');
369
468
  return baseUrl + pathWithParameters + (queryString ? `?${queryString}` : '');
370
469
  };
371
470
 
372
- private $headers = (headerParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' }): [string, string][] => {
471
+ private $headers = (headerParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' | 'ssv' | 'pipes' }): [string, string][] => {
373
472
  return Object.entries(headerParameters).flatMap(([key, value]) => {
374
473
  if (Array.isArray(value) && collectionFormats?.[key] === 'multi') {
375
474
  return value.map(v => [key, String(v)]) as [string, string][];
376
475
  }
377
- return [[key, String(value)]];
476
+ const delimiter = this.$collectionDelimiters[collectionFormats?.[key] ?? 'csv'] ?? ',';
477
+ return [[key, Array.isArray(value) ? value.map(String).join(delimiter) : String(value)]];
378
478
  });
379
479
  };
380
480
 
@@ -418,9 +518,21 @@ export class <%- className %> {
418
518
  }
419
519
  <%_ } _%>
420
520
  <%_ } _%>
421
- <%_ if (op.parameters.filter(p => p.collectionFormat).length > 0) { _%>
422
- const collectionFormats = {
423
- <%_ op.parameters.filter(p => p.collectionFormat).forEach((parameter) => { _%>
521
+ <%_ /* Query and header collection formats are kept in separate maps: a
522
+ query and a header parameter may share a name, which would collide
523
+ in a single object literal. */ _%>
524
+ <%_ const queryCollectionParams = op.parameters.filter(p => p.collectionFormat && p.in === 'query'); _%>
525
+ <%_ const headerCollectionParams = op.parameters.filter(p => p.collectionFormat && p.in === 'header'); _%>
526
+ <%_ if (queryCollectionParams.length > 0) { _%>
527
+ const queryCollectionFormats = {
528
+ <%_ queryCollectionParams.forEach((parameter) => { _%>
529
+ '<%- parameter.prop %>': '<%- parameter.collectionFormat %>',
530
+ <%_ }); _%>
531
+ } as const;
532
+ <%_ } _%>
533
+ <%_ if (headerCollectionParams.length > 0) { _%>
534
+ const headerCollectionFormats = {
535
+ <%_ headerCollectionParams.forEach((parameter) => { _%>
424
536
  '<%- parameter.prop %>': '<%- parameter.collectionFormat %>',
425
537
  <%_ }); _%>
426
538
  } as const;
@@ -457,8 +569,8 @@ export class <%- className %> {
457
569
  const body = undefined;
458
570
  <%_ } _%>
459
571
 
460
- const response = await this.$fetch(this.$url('<%- op.path %>', pathParameters, queryParameters<% if (op.parameters.filter(p => p.collectionFormat).length > 0) { %>, collectionFormats<% } %>), {
461
- headers: this.$headers(headerParameters<% if (op.parameters.filter(p => p.collectionFormat).length > 0) { %>, collectionFormats<% } %>),
572
+ const response = await this.$fetch(this.$url('<%- op.path %>', pathParameters, queryParameters<% if (queryCollectionParams.length > 0) { %>, queryCollectionFormats<% } %>), {
573
+ headers: this.$headers(headerParameters<% if (headerCollectionParams.length > 0) { %>, headerCollectionFormats<% } %>),
462
574
  method: '<%- op.method %>',
463
575
  body,
464
576
  });
@@ -22,7 +22,8 @@ _%>
22
22
  <%_ if (model.export === "enum") { _%>
23
23
  <%- docString(model, '') %>export type <%= model.typescriptName %> =
24
24
  <%_ model.enum.forEach((enumMember, i) => { _%>
25
- | '<%- enumMember.value %>'
25
+ <%_ /* JSON.stringify escapes quotes, newlines and backslashes in values */ _%>
26
+ | <%- JSON.stringify(`${enumMember.value}`) %>
26
27
  <%_ }); _%>
27
28
  <%_ } else if (isComposite) { _%>
28
29
  <%- docString(model, '') %>export type <%- model.typescriptName %> =<% model.properties.forEach((composedType, i) => { %><% if (i > 0) { %><% if (model.export === "all-of") { %> &<% } else { %> |<% } %><% } %> <%- composedType.typescriptType %><% }); %>;
@@ -30,9 +31,8 @@ _%>
30
31
  <%- docString(model, '') %>export type <%= model.typescriptName %> = <% if (model.isNullable && model.type !== 'null') { %>null | <% } %>{
31
32
  <%_ if (model.export === "dictionary" && model.link) { _%>
32
33
  <%_ /* When the spec says `type: object` with `additionalProperties: true`
33
- (or omits additionalProperties), hey-api sets `model.link` but the
34
- link's typescriptType is empty — fall back to `unknown` to keep the
35
- emitted code valid. */ _%>
34
+ (or omits additionalProperties), the value model has an unknown type —
35
+ fall back to `unknown` to keep the emitted code valid. */ _%>
36
36
  <%- docString(model.link, ' ') %> [key: string]: <%- model.link.typescriptType || 'unknown' %>;
37
37
  <%_ } _%>
38
38
  <%_ model.properties.forEach((property) => { _%>