@aws/nx-plugin 1.0.0-rc.79 → 1.0.0-rc.80

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 (469) hide show
  1. package/generators.json +10 -0
  2. package/migrations.json +1 -1
  3. package/package.json +1 -1
  4. package/src/agentcore-gateway/agent-connection/generator.d.ts +1 -1
  5. package/src/agentcore-gateway/agent-connection/generator.js.map +1 -1
  6. package/src/agentcore-gateway/agent-connection/schema.d.js.map +1 -1
  7. package/src/agentcore-gateway/agent-connection/schema.d.ts +1 -1
  8. package/src/agentcore-gateway/attach-upstream.js.map +1 -1
  9. package/src/agentcore-gateway/gateway-connection/generator.d.ts +1 -1
  10. package/src/agentcore-gateway/gateway-connection/generator.js.map +1 -1
  11. package/src/agentcore-gateway/gateway-connection/schema.d.js.map +1 -1
  12. package/src/agentcore-gateway/gateway-connection/schema.d.ts +1 -1
  13. package/src/agentcore-gateway/generator.d.ts +3 -3
  14. package/src/agentcore-gateway/generator.js.map +1 -1
  15. package/src/agentcore-gateway/mcp-connection/generator.d.ts +1 -1
  16. package/src/agentcore-gateway/mcp-connection/generator.js.map +1 -1
  17. package/src/agentcore-gateway/mcp-connection/schema.d.js.map +1 -1
  18. package/src/agentcore-gateway/mcp-connection/schema.d.ts +1 -1
  19. package/src/agentcore-gateway/react-connection/generator.d.ts +1 -1
  20. package/src/agentcore-gateway/react-connection/generator.js.map +1 -1
  21. package/src/agentcore-gateway/react-connection/schema.d.js.map +1 -1
  22. package/src/agentcore-gateway/react-connection/schema.d.ts +1 -1
  23. package/src/agentcore-gateway/schema.d.js.map +1 -1
  24. package/src/agentcore-gateway/schema.d.ts +1 -1
  25. package/src/agentcore-harness/generator.d.ts +4 -4
  26. package/src/agentcore-harness/generator.js.map +1 -1
  27. package/src/agentcore-harness/schema.d.js.map +1 -1
  28. package/src/agentcore-harness/schema.d.ts +1 -1
  29. package/src/connection/agent-local-dev.d.ts +1 -1
  30. package/src/connection/agent-local-dev.js.map +1 -1
  31. package/src/connection/agent-runtime-config.js.map +1 -1
  32. package/src/connection/gateway-runtime-config.js.map +1 -1
  33. package/src/connection/generator.d.ts +2 -2
  34. package/src/connection/generator.js.map +1 -1
  35. package/src/connection/local-dev.js.map +1 -1
  36. package/src/connection/scaffold-catalog.d.ts +1 -1
  37. package/src/connection/scaffold-catalog.js +6 -6
  38. package/src/connection/scaffold-catalog.js.map +1 -1
  39. package/src/connection/schema-resolver.d.ts +1 -1
  40. package/src/connection/schema-resolver.js.map +1 -1
  41. package/src/index.d.ts +1 -1
  42. package/src/index.js.map +1 -1
  43. package/src/infra/app/generator.d.ts +7 -7
  44. package/src/infra/app/generator.js.map +1 -1
  45. package/src/init/generator.d.ts +3 -3
  46. package/src/init/generator.js.map +1 -1
  47. package/src/init/schema.d.js.map +1 -1
  48. package/src/init/schema.d.ts +2 -2
  49. package/src/internal/test-matrix/generator.js.map +1 -1
  50. package/src/license/config-types.d.ts +2 -2
  51. package/src/license/config-types.js.map +1 -1
  52. package/src/license/config.d.ts +2 -2
  53. package/src/license/config.js.map +1 -1
  54. package/src/license/dependency-check/check.d.ts +2 -2
  55. package/src/license/dependency-check/check.js.map +1 -1
  56. package/src/license/dependency-check/collectors/collector.js.map +1 -1
  57. package/src/license/dependency-check/collectors/python-collector.js.map +1 -1
  58. package/src/license/dependency-check/evaluator.d.ts +1 -1
  59. package/src/license/dependency-check/evaluator.js.map +1 -1
  60. package/src/license/dependency-check/executor.js.map +1 -1
  61. package/src/license/dependency-check/pre-approved.d.ts +1 -1
  62. package/src/license/dependency-check/pre-approved.js.map +1 -1
  63. package/src/license/dependency-check/types.d.ts +1 -1
  64. package/src/license/dependency-check/types.js.map +1 -1
  65. package/src/license/generator.d.ts +1 -1
  66. package/src/license/generator.js.map +1 -1
  67. package/src/license/index.d.ts +4 -4
  68. package/src/license/index.js.map +1 -1
  69. package/src/license/known-exceptions.d.ts +1 -1
  70. package/src/license/known-exceptions.js.map +1 -1
  71. package/src/license/sync/generator.js.map +1 -1
  72. package/src/license/sync/project-file-sync.d.ts +1 -1
  73. package/src/license/sync/project-file-sync.js.map +1 -1
  74. package/src/mcp-server/dev-server.js.map +1 -1
  75. package/src/mcp-server/generator-info.d.ts +3 -3
  76. package/src/mcp-server/generator-info.js.map +1 -1
  77. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  78. package/src/mcp-server/guide-pipeline.js.map +1 -1
  79. package/src/mcp-server/guide-render.js.map +1 -1
  80. package/src/mcp-server/index.js.map +1 -1
  81. package/src/mcp-server/mdx-ast.js.map +1 -1
  82. package/src/mcp-server/server.js.map +1 -1
  83. package/src/mcp-server/tools/add-to-existing-project.d.ts +1 -1
  84. package/src/mcp-server/tools/add-to-existing-project.js.map +1 -1
  85. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  86. package/src/mcp-server/tools/general-guidance.d.ts +1 -1
  87. package/src/mcp-server/tools/general-guidance.js +1 -1
  88. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  89. package/src/mcp-server/tools/generator-guide.d.ts +1 -1
  90. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  91. package/src/mcp-server/tools/list-generators.d.ts +1 -1
  92. package/src/mcp-server/tools/list-generators.js.map +1 -1
  93. package/src/mcp-server/tools/upgrade-workspace.d.ts +1 -1
  94. package/src/mcp-server/tools/upgrade-workspace.js.map +1 -1
  95. package/src/migrations/latest/apt-security-updates-in-container-images/migration.js.map +1 -1
  96. package/src/migrations/latest/dynamodb-configurable-encryption/migration.js.map +1 -1
  97. package/src/migrations/latest/py-agent-ag-ui-hooks/migration.js.map +1 -1
  98. package/src/migrations/latest/py-agent-session-id-middleware-extraction/migration.js.map +1 -1
  99. package/src/migrations/latest/remove-mcp-inspector-license-exceptions/migration.js.map +1 -1
  100. package/src/migrations/latest/static-website-configurable-waf-encryption/migration.js.map +1 -1
  101. package/src/migrations/latest/ts-agent-session-id-middleware-extraction/migration.js.map +1 -1
  102. package/src/migrations/latest/user-identity-configurable-mfa/migration.js.map +1 -1
  103. package/src/migrations/v1.0.0-rc.50/0001-modernize-function-props-cast/migration.js.map +1 -1
  104. package/src/migrations/v1.0.0-rc.50/0002-restrict-cors-to-custom-domains/migration.js.map +1 -1
  105. package/src/migrations/v1.0.0-rc.50/0003-terraform-bootstrap-adopt-existing-bucket/migration.js.map +1 -1
  106. package/src/migrations/v1.0.0-rc.52/0001-user-identity-waf-allow-localhost-callback/migration.js.map +1 -1
  107. package/src/migrations/v1.0.0-rc.54/0001-order-access-log-delivery-after-bucket-policy/migration.js.map +1 -1
  108. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.d.ts +1 -1
  109. package/src/migrations/v1.0.0-rc.55/0001-backfill-generator-metadata/migration.js.map +1 -1
  110. package/src/migrations/v1.0.0-rc.56/0001-dynamodb-local-remove-optimize-flag/migration.js.map +1 -1
  111. package/src/migrations/v1.0.0-rc.57/0001-ts-agent-session-management-support/migration.js.map +1 -1
  112. package/src/migrations/v1.0.0-rc.58/0001-smithy-ssdk-bundle-pins/migration.js.map +1 -1
  113. package/src/migrations/v1.0.0-rc.59/0001-gateway-agent-targets/migration.js.map +1 -1
  114. package/src/migrations/v1.0.0-rc.60/0001-gateway-cognito-passthrough/migration.js.map +1 -1
  115. package/src/migrations/v1.0.0-rc.60/0002-waf-log-group-removal/migration.js.map +1 -1
  116. package/src/migrations/v1.0.0-rc.60/0003-strip-pip-from-python-images/migration.js.map +1 -1
  117. package/src/migrations/v1.0.0-rc.61/0001-py-agent-lifespan-construction/migration.js.map +1 -1
  118. package/src/migrations/v1.0.0-rc.62/0001-rename-load-runtime-config-target/migration.js.map +1 -1
  119. package/src/migrations/v1.0.0-rc.63/0001-add-deploy-sandbox-target/migration.js.map +1 -1
  120. package/src/migrations/v1.0.0-rc.64/0001-smithy-build-without-docker/migration.js.map +1 -1
  121. package/src/migrations/v1.0.0-rc.65/0001-vite-config-import-meta-dirname/migration.js.map +1 -1
  122. package/src/migrations/v1.0.0-rc.65/0002-rolldown-code-splitting/migration.js.map +1 -1
  123. package/src/migrations/v1.0.0-rc.67/0001-smithy-server-package-rename/migration.js.map +1 -1
  124. package/src/migrations/v1.0.0-rc.68/0001-translate-script-whole-file-writes/migration.js.map +1 -1
  125. package/src/migrations/v1.0.0-rc.70/0001-py-agent-a2a-lifespan-construction/migration.js.map +1 -1
  126. package/src/migrations/v1.0.0-rc.71/0001-py-agent-a2a-httpx-client-per-call/migration.js.map +1 -1
  127. package/src/migrations/v1.0.0-rc.72/0001-py-agent-session-management-support/migration.js.map +1 -1
  128. package/src/open-api/ts-client/generator.d.ts +1 -1
  129. package/src/open-api/ts-client/generator.js.map +1 -1
  130. package/src/open-api/ts-hooks/generator.d.ts +1 -1
  131. package/src/open-api/ts-hooks/generator.js.map +1 -1
  132. package/src/open-api/ts-hooks/generator.spec.tsx +6 -6
  133. package/src/open-api/ts-metadata/generator.d.ts +1 -1
  134. package/src/open-api/ts-metadata/generator.js.map +1 -1
  135. package/src/open-api/utils/codegen-data/languages.d.ts +1 -1
  136. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  137. package/src/open-api/utils/codegen-data.d.ts +2 -2
  138. package/src/open-api/utils/codegen-data.js.map +1 -1
  139. package/src/open-api/utils/normalise.d.ts +1 -1
  140. package/src/open-api/utils/normalise.js.map +1 -1
  141. package/src/open-api/utils/parse.d.ts +1 -1
  142. package/src/open-api/utils/parse.js.map +1 -1
  143. package/src/open-api/utils/parser.d.ts +2 -2
  144. package/src/open-api/utils/parser.js.map +1 -1
  145. package/src/open-api/utils/refs.d.ts +1 -1
  146. package/src/open-api/utils/refs.js.map +1 -1
  147. package/src/preset/generator.d.ts +3 -3
  148. package/src/preset/generator.js.map +1 -1
  149. package/src/preset/schema.d.js.map +1 -1
  150. package/src/preset/schema.d.ts +3 -3
  151. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  152. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  153. package/src/py/agent/a2a-connection/schema.d.js.map +1 -1
  154. package/src/py/agent/a2a-connection/schema.d.ts +1 -1
  155. package/src/py/agent/gateway-connection/generator.d.ts +3 -3
  156. package/src/py/agent/gateway-connection/generator.js.map +1 -1
  157. package/src/py/agent/gateway-connection/schema.d.js.map +1 -1
  158. package/src/py/agent/gateway-connection/schema.d.ts +1 -1
  159. package/src/py/agent/generator.d.ts +3 -3
  160. package/src/py/agent/generator.js.map +1 -1
  161. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  162. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  163. package/src/py/agent/mcp-connection/schema.d.js.map +1 -1
  164. package/src/py/agent/mcp-connection/schema.d.ts +1 -1
  165. package/src/py/agent/react-connection/generator.d.ts +12 -12
  166. package/src/py/agent/react-connection/generator.js.map +1 -1
  167. package/src/py/agent/react-connection/local-dev.d.ts +1 -1
  168. package/src/py/agent/react-connection/local-dev.js.map +1 -1
  169. package/src/py/agent/react-connection/schema.d.js.map +1 -1
  170. package/src/py/agent/react-connection/schema.d.ts +1 -1
  171. package/src/py/agent/schema.d.js.map +1 -1
  172. package/src/py/agent/schema.d.ts +1 -1
  173. package/src/py/api/generator.d.ts +1 -1
  174. package/src/py/api/generator.js.map +1 -1
  175. package/src/py/api/schema.d.js.map +1 -1
  176. package/src/py/api/schema.d.ts +1 -1
  177. package/src/py/dynamodb/agent-connection/generator.d.ts +1 -1
  178. package/src/py/dynamodb/agent-connection/generator.js.map +1 -1
  179. package/src/py/dynamodb/agent-connection/schema.d.js.map +1 -1
  180. package/src/py/dynamodb/agent-connection/schema.d.ts +1 -1
  181. package/src/py/dynamodb/fast-api-connection/generator.d.ts +1 -1
  182. package/src/py/dynamodb/fast-api-connection/generator.js.map +1 -1
  183. package/src/py/dynamodb/generator.d.ts +4 -4
  184. package/src/py/dynamodb/generator.js.map +1 -1
  185. package/src/py/dynamodb/mcp-server-connection/generator.d.ts +1 -1
  186. package/src/py/dynamodb/mcp-server-connection/generator.js.map +1 -1
  187. package/src/py/dynamodb/mcp-server-connection/schema.d.js.map +1 -1
  188. package/src/py/dynamodb/mcp-server-connection/schema.d.ts +1 -1
  189. package/src/py/dynamodb/schema.d.js.map +1 -1
  190. package/src/py/dynamodb/schema.d.ts +1 -1
  191. package/src/py/fast-api/generator.d.ts +3 -3
  192. package/src/py/fast-api/generator.js.map +1 -1
  193. package/src/py/fast-api/react/generator.d.ts +3 -3
  194. package/src/py/fast-api/react/generator.js.map +1 -1
  195. package/src/py/fast-api/react/open-api.js.map +1 -1
  196. package/src/py/fast-api/schema.d.js.map +1 -1
  197. package/src/py/fast-api/schema.d.ts +1 -1
  198. package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +1 -1
  199. package/src/py/lambda-function/generator.d.ts +10 -4
  200. package/src/py/lambda-function/generator.js +8 -1
  201. package/src/py/lambda-function/generator.js.map +1 -1
  202. package/src/py/lambda-function/schema.d.js.map +1 -1
  203. package/src/py/lambda-function/schema.d.ts +2 -2
  204. package/src/py/lambda-function/schema.json +1 -1
  205. package/src/py/mcp-server/generator.d.ts +3 -3
  206. package/src/py/mcp-server/generator.js.map +1 -1
  207. package/src/py/mcp-server/schema.d.js.map +1 -1
  208. package/src/py/mcp-server/schema.d.ts +1 -1
  209. package/src/py/project/generator.d.ts +2 -2
  210. package/src/py/project/generator.js.map +1 -1
  211. package/src/py/project/schema.json +1 -0
  212. package/src/py/rdb/agent-connection/generator.d.ts +1 -1
  213. package/src/py/rdb/agent-connection/generator.js.map +1 -1
  214. package/src/py/rdb/agent-connection/schema.d.js.map +1 -1
  215. package/src/py/rdb/agent-connection/schema.d.ts +1 -1
  216. package/src/py/rdb/fast-api-connection/generator.d.ts +1 -1
  217. package/src/py/rdb/fast-api-connection/generator.js.map +1 -1
  218. package/src/py/rdb/generator.d.ts +3 -3
  219. package/src/py/rdb/generator.js.map +1 -1
  220. package/src/py/rdb/mcp-server-connection/generator.d.ts +1 -1
  221. package/src/py/rdb/mcp-server-connection/generator.js.map +1 -1
  222. package/src/py/rdb/mcp-server-connection/schema.d.js.map +1 -1
  223. package/src/py/rdb/mcp-server-connection/schema.d.ts +1 -1
  224. package/src/sdk/agentcore-gateway.d.ts +1 -1
  225. package/src/sdk/agentcore-gateway.js.map +1 -1
  226. package/src/sdk/agentcore-harness.d.ts +1 -1
  227. package/src/sdk/agentcore-harness.js.map +1 -1
  228. package/src/sdk/connection.d.ts +1 -1
  229. package/src/sdk/connection.js.map +1 -1
  230. package/src/sdk/license.d.ts +3 -3
  231. package/src/sdk/license.js.map +1 -1
  232. package/src/sdk/open-api.d.ts +3 -3
  233. package/src/sdk/open-api.js.map +1 -1
  234. package/src/sdk/py.d.ts +7 -7
  235. package/src/sdk/py.js.map +1 -1
  236. package/src/sdk/smithy.d.ts +1 -1
  237. package/src/sdk/smithy.js.map +1 -1
  238. package/src/sdk/terraform.d.ts +1 -1
  239. package/src/sdk/terraform.js.map +1 -1
  240. package/src/sdk/ts.d.ts +18 -18
  241. package/src/sdk/ts.js.map +1 -1
  242. package/src/sdk/utils/ast.d.ts +1 -1
  243. package/src/sdk/utils/ast.js.map +1 -1
  244. package/src/sdk/utils/format.d.ts +1 -1
  245. package/src/sdk/utils/format.js.map +1 -1
  246. package/src/sdk/utils/test.d.ts +1 -1
  247. package/src/sdk/utils/test.js.map +1 -1
  248. package/src/smithy/project/generator.d.ts +4 -4
  249. package/src/smithy/project/generator.js.map +1 -1
  250. package/src/smithy/react-connection/generator.d.ts +3 -3
  251. package/src/smithy/react-connection/generator.js.map +1 -1
  252. package/src/smithy/ts/api/generator.d.ts +3 -3
  253. package/src/smithy/ts/api/generator.js.map +1 -1
  254. package/src/smithy/ts/api/schema.d.js.map +1 -1
  255. package/src/smithy/ts/api/schema.d.ts +1 -1
  256. package/src/terraform/project/generator.d.ts +5 -5
  257. package/src/terraform/project/generator.js.map +1 -1
  258. package/src/trpc/backend/generator.d.ts +3 -3
  259. package/src/trpc/backend/generator.js.map +1 -1
  260. package/src/trpc/backend/schema.d.js.map +1 -1
  261. package/src/trpc/backend/schema.d.ts +1 -1
  262. package/src/trpc/react/generator.d.ts +3 -3
  263. package/src/trpc/react/generator.js.map +1 -1
  264. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  265. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  266. package/src/ts/agent/a2a-connection/schema.d.js.map +1 -1
  267. package/src/ts/agent/a2a-connection/schema.d.ts +1 -1
  268. package/src/ts/agent/gateway-connection/generator.d.ts +3 -3
  269. package/src/ts/agent/gateway-connection/generator.js.map +1 -1
  270. package/src/ts/agent/gateway-connection/schema.d.js.map +1 -1
  271. package/src/ts/agent/gateway-connection/schema.d.ts +1 -1
  272. package/src/ts/agent/generator.d.ts +3 -3
  273. package/src/ts/agent/generator.js.map +1 -1
  274. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  275. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  276. package/src/ts/agent/mcp-connection/schema.d.js.map +1 -1
  277. package/src/ts/agent/mcp-connection/schema.d.ts +1 -1
  278. package/src/ts/agent/react-connection/generator.d.ts +11 -11
  279. package/src/ts/agent/react-connection/generator.js.map +1 -1
  280. package/src/ts/agent/react-connection/local-dev.d.ts +1 -1
  281. package/src/ts/agent/react-connection/local-dev.js.map +1 -1
  282. package/src/ts/agent/react-connection/schema.d.js.map +1 -1
  283. package/src/ts/agent/react-connection/schema.d.ts +1 -1
  284. package/src/ts/agent/schema.d.js.map +1 -1
  285. package/src/ts/agent/schema.d.ts +1 -1
  286. package/src/ts/api/generator.d.ts +1 -1
  287. package/src/ts/api/generator.js.map +1 -1
  288. package/src/ts/api/schema.d.js.map +1 -1
  289. package/src/ts/api/schema.d.ts +1 -1
  290. package/src/ts/astro-docs/generator.d.ts +3 -3
  291. package/src/ts/astro-docs/generator.js.map +1 -1
  292. package/src/ts/dcr-proxy/generator.d.ts +5 -5
  293. package/src/ts/dcr-proxy/generator.js.map +1 -1
  294. package/src/ts/dcr-proxy/schema.d.js.map +1 -1
  295. package/src/ts/dcr-proxy/schema.d.ts +1 -1
  296. package/src/ts/docs/generator.d.ts +1 -1
  297. package/src/ts/docs/generator.js.map +1 -1
  298. package/src/ts/dynamodb/agent-connection/generator.d.ts +1 -1
  299. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -1
  300. package/src/ts/dynamodb/agent-connection/schema.d.js.map +1 -1
  301. package/src/ts/dynamodb/agent-connection/schema.d.ts +1 -1
  302. package/src/ts/dynamodb/generator.d.ts +5 -5
  303. package/src/ts/dynamodb/generator.js +1 -0
  304. package/src/ts/dynamodb/generator.js.map +1 -1
  305. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +1 -1
  306. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -1
  307. package/src/ts/dynamodb/mcp-server-connection/schema.d.js.map +1 -1
  308. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +1 -1
  309. package/src/ts/dynamodb/schema.d.js.map +1 -1
  310. package/src/ts/dynamodb/schema.d.ts +1 -1
  311. package/src/ts/dynamodb/smithy-connection/generator.d.ts +1 -1
  312. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -1
  313. package/src/ts/dynamodb/trpc-connection/generator.d.ts +1 -1
  314. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -1
  315. package/src/ts/lambda-function/generator.d.ts +5 -5
  316. package/src/ts/lambda-function/generator.js.map +1 -1
  317. package/src/ts/lambda-function/schema.d.js.map +1 -1
  318. package/src/ts/lambda-function/schema.d.ts +1 -1
  319. package/src/ts/lib/biome.d.ts +1 -1
  320. package/src/ts/lib/biome.js.map +1 -1
  321. package/src/ts/lib/generator.d.ts +3 -3
  322. package/src/ts/lib/generator.js.map +1 -1
  323. package/src/ts/lib/ts-project-utils.d.ts +3 -3
  324. package/src/ts/lib/ts-project-utils.js.map +1 -1
  325. package/src/ts/lib/vitest.d.ts +2 -2
  326. package/src/ts/lib/vitest.js.map +1 -1
  327. package/src/ts/mcp-server/generator.d.ts +3 -3
  328. package/src/ts/mcp-server/generator.js.map +1 -1
  329. package/src/ts/mcp-server/schema.d.js.map +1 -1
  330. package/src/ts/mcp-server/schema.d.ts +1 -1
  331. package/src/ts/nx-generator/generator.d.ts +2 -2
  332. package/src/ts/nx-generator/generator.js.map +1 -1
  333. package/src/ts/nx-migration/generator.d.ts +3 -3
  334. package/src/ts/nx-migration/generator.js.map +1 -1
  335. package/src/ts/nx-plugin/generator.d.ts +3 -3
  336. package/src/ts/nx-plugin/generator.js.map +1 -1
  337. package/src/ts/nx-plugin/utils.d.ts +1 -1
  338. package/src/ts/nx-plugin/utils.js.map +1 -1
  339. package/src/ts/rdb/agent-connection/generator.d.ts +1 -1
  340. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  341. package/src/ts/rdb/agent-connection/schema.d.js.map +1 -1
  342. package/src/ts/rdb/agent-connection/schema.d.ts +1 -1
  343. package/src/ts/rdb/generator.d.ts +4 -4
  344. package/src/ts/rdb/generator.js +1 -0
  345. package/src/ts/rdb/generator.js.map +1 -1
  346. package/src/ts/rdb/mcp-server-connection/generator.d.ts +1 -1
  347. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  348. package/src/ts/rdb/mcp-server-connection/schema.d.js.map +1 -1
  349. package/src/ts/rdb/mcp-server-connection/schema.d.ts +1 -1
  350. package/src/ts/rdb/schema.d.js.map +1 -1
  351. package/src/ts/rdb/schema.d.ts +1 -1
  352. package/src/ts/rdb/smithy-connection/generator.d.ts +1 -1
  353. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  354. package/src/ts/rdb/trpc-connection/generator.d.ts +1 -1
  355. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  356. package/src/ts/react-website/agui/generator.d.ts +2 -2
  357. package/src/ts/react-website/agui/generator.js.map +1 -1
  358. package/src/ts/react-website/app/generator.d.ts +3 -3
  359. package/src/ts/react-website/app/generator.js.map +1 -1
  360. package/src/ts/react-website/app/schema.d.js.map +1 -1
  361. package/src/ts/react-website/app/schema.d.ts +2 -2
  362. package/src/ts/react-website/cognito-auth/generator.d.ts +5 -5
  363. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  364. package/src/ts/react-website/cognito-auth/schema.d.js.map +1 -1
  365. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -1
  366. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  367. package/src/ts/react-website/runtime-config/generator.d.ts +1 -1
  368. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  369. package/src/ts/sync/generator.d.ts +1 -1
  370. package/src/ts/sync/generator.js.map +1 -1
  371. package/src/ts/website/app/generator.d.ts +1 -1
  372. package/src/ts/website/app/generator.js.map +1 -1
  373. package/src/ts/website/app/schema.d.js.map +1 -1
  374. package/src/ts/website/app/schema.d.ts +2 -2
  375. package/src/ts/website/auth/generator.d.ts +1 -1
  376. package/src/ts/website/auth/generator.js.map +1 -1
  377. package/src/ts/website/auth/schema.d.js.map +1 -1
  378. package/src/ts/website/auth/schema.d.ts +1 -1
  379. package/src/utils/add-dependencies.d.ts +1 -1
  380. package/src/utils/add-dependencies.js.map +1 -1
  381. package/src/utils/agent-chat/agent-chat.js.map +1 -1
  382. package/src/utils/agent-connection/agent-connection.d.ts +2 -2
  383. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  384. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +4 -4
  385. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  386. package/src/utils/api-constructs/api-constructs.d.ts +3 -3
  387. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  388. package/src/utils/api-constructs/open-api-metadata.d.ts +1 -1
  389. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  390. package/src/utils/ast/website.js.map +1 -1
  391. package/src/utils/ast.js +6 -0
  392. package/src/utils/ast.js.map +1 -1
  393. package/src/utils/bundle/bundle.d.ts +1 -1
  394. package/src/utils/bundle/bundle.js.map +1 -1
  395. package/src/utils/commands.d.ts +1 -1
  396. package/src/utils/commands.js.map +1 -1
  397. package/src/utils/config/index.d.ts +6 -6
  398. package/src/utils/config/index.js.map +1 -1
  399. package/src/utils/config/utils.d.ts +1 -1
  400. package/src/utils/config/utils.js.map +1 -1
  401. package/src/utils/connection/open-api/react.d.ts +1 -1
  402. package/src/utils/connection/open-api/react.js.map +1 -1
  403. package/src/utils/containers.js.map +1 -1
  404. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.d.ts +1 -1
  405. package/src/utils/dcr-proxy-constructs/dcr-proxy-constructs.js.map +1 -1
  406. package/src/utils/declared-dependencies.d.ts +1 -1
  407. package/src/utils/declared-dependencies.js.map +1 -1
  408. package/src/utils/dependencies.js.map +1 -1
  409. package/src/utils/docker.d.ts +1 -1
  410. package/src/utils/docker.js.map +1 -1
  411. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +1 -1
  412. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -1
  413. package/src/utils/format.js.map +1 -1
  414. package/src/utils/fs.d.ts +1 -1
  415. package/src/utils/fs.js.map +1 -1
  416. package/src/utils/function-constructs/function-constructs.d.ts +1 -1
  417. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  418. package/src/utils/iac.d.ts +2 -2
  419. package/src/utils/iac.js.map +1 -1
  420. package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
  421. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  422. package/src/utils/init.d.ts +3 -3
  423. package/src/utils/init.js.map +1 -1
  424. package/src/utils/install.d.ts +1 -1
  425. package/src/utils/install.js.map +1 -1
  426. package/src/utils/mcp.js.map +1 -1
  427. package/src/utils/metrics.d.ts +1 -1
  428. package/src/utils/metrics.js.map +1 -1
  429. package/src/utils/migration-manifest.d.ts +1 -1
  430. package/src/utils/migration-manifest.js.map +1 -1
  431. package/src/utils/nx.d.ts +3 -3
  432. package/src/utils/nx.js.map +1 -1
  433. package/src/utils/paths.js.map +1 -1
  434. package/src/utils/pkg-manager.d.ts +1 -1
  435. package/src/utils/pkg-manager.js.map +1 -1
  436. package/src/utils/pnpm-workspace.js.map +1 -1
  437. package/src/utils/project-package-json.js.map +1 -1
  438. package/src/utils/py.d.ts +2 -2
  439. package/src/utils/py.js.map +1 -1
  440. package/src/utils/rdb-constructs/rdb-constructs.d.ts +2 -2
  441. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  442. package/src/utils/shared-constructs-constants.js.map +1 -1
  443. package/src/utils/shared-constructs.d.ts +3 -3
  444. package/src/utils/shared-constructs.js.map +1 -1
  445. package/src/utils/shared-dynamodb-scripts.d.ts +1 -1
  446. package/src/utils/shared-dynamodb-scripts.js.map +1 -1
  447. package/src/utils/shared-infra-config.js.map +1 -1
  448. package/src/utils/shared-infra-scripts.d.ts +2 -2
  449. package/src/utils/shared-infra-scripts.js.map +1 -1
  450. package/src/utils/shared-rdb-scripts.d.ts +1 -1
  451. package/src/utils/shared-rdb-scripts.js.map +1 -1
  452. package/src/utils/shared-scripts.js.map +1 -1
  453. package/src/utils/shared-shadcn.d.ts +1 -1
  454. package/src/utils/shared-shadcn.js.map +1 -1
  455. package/src/utils/smithy.js.map +1 -1
  456. package/src/utils/test.js.map +1 -1
  457. package/src/utils/version-upgrade-migration/migration.js.map +1 -1
  458. package/src/utils/version-upgrade-migration/nx-package-updates.js.map +1 -1
  459. package/src/utils/version-upgrade-migration/owned-dependencies.d.ts +1 -1
  460. package/src/utils/version-upgrade-migration/owned-dependencies.js.map +1 -1
  461. package/src/utils/version-upgrade-migration/register.js.map +1 -1
  462. package/src/utils/version-upgrade-migration/sync-embedded-versions.d.ts +1 -1
  463. package/src/utils/version-upgrade-migration/sync-embedded-versions.js.map +1 -1
  464. package/src/utils/version-upgrade-migration/sync-metrics-version.js.map +1 -1
  465. package/src/utils/version-upgrade-migration/sync-vended-versions.js.map +1 -1
  466. package/src/utils/versions.d.ts +1 -1
  467. package/src/utils/versions.js.map +1 -1
  468. package/src/utils/website-constructs/website-constructs.d.ts +2 -2
  469. package/src/utils/website-constructs/website-constructs.js.map +1 -1
@@ -3,8 +3,8 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type Tree } from '@nx/devkit';
6
- import type { ResolvedConnectionOptions } from '../../../connection/generator';
7
- import { type NxGeneratorInfo } from '../../../utils/nx';
6
+ import type { ResolvedConnectionOptions } from '../../../connection/generator.js';
7
+ import { type NxGeneratorInfo } from '../../../utils/nx.js';
8
8
  /** The metadata this generator records, which its predicates read. */
9
9
  export interface TsAgentReactConnectionMetadata {
10
10
  readonly auth: string;
@@ -12,7 +12,7 @@ export interface TsAgentReactConnectionMetadata {
12
12
  /** The AG-UI theme module, which the website's `ux` selects. */
13
13
  readonly theme: string;
14
14
  }
15
- export declare const DEPENDENCIES: import("../../../utils/declared-dependencies").DependencyDeclaration<readonly [{
15
+ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
16
16
  readonly name: "@trpc/client";
17
17
  readonly when: (m: TsAgentReactConnectionMetadata) => boolean;
18
18
  }, {
@@ -54,49 +54,49 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies"
54
54
  versionOnly: true;
55
55
  }, Omit<{
56
56
  readonly name: "@cloudscape-design/chat-components";
57
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
57
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
58
58
  }, "when"> & {
59
59
  when: (m: TsAgentReactConnectionMetadata) => boolean;
60
60
  } & {
61
61
  versionOnly: true;
62
62
  }, Omit<{
63
63
  readonly name: "lucide-react";
64
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
64
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
65
65
  }, "when"> & {
66
66
  when: (m: TsAgentReactConnectionMetadata) => boolean;
67
67
  } & {
68
68
  versionOnly: true;
69
69
  }, Omit<{
70
70
  readonly name: "oidc-client-ts";
71
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
71
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
72
72
  }, "when"> & {
73
73
  when: (m: TsAgentReactConnectionMetadata) => boolean;
74
74
  } & {
75
75
  versionOnly: true;
76
76
  }, Omit<{
77
77
  readonly name: "aws4fetch";
78
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
78
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
79
79
  }, "when"> & {
80
80
  when: (m: TsAgentReactConnectionMetadata) => boolean;
81
81
  } & {
82
82
  versionOnly: true;
83
83
  }, Omit<{
84
84
  readonly name: "@aws-sdk/credential-provider-cognito-identity";
85
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
85
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
86
86
  }, "when"> & {
87
87
  when: (m: TsAgentReactConnectionMetadata) => boolean;
88
88
  } & {
89
89
  versionOnly: true;
90
90
  }, Omit<{
91
91
  readonly name: "react-oidc-context";
92
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
92
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
93
93
  }, "when"> & {
94
94
  when: (m: TsAgentReactConnectionMetadata) => boolean;
95
95
  } & {
96
96
  versionOnly: true;
97
97
  }, Omit<{
98
98
  readonly name: "@smithy/types";
99
- readonly when: (m: import("../../react-website/agui/generator").AgUiMetadata) => boolean;
99
+ readonly when: (m: import("../../react-website/agui/generator.js").AgUiMetadata) => boolean;
100
100
  readonly dev: true;
101
101
  }, "when"> & {
102
102
  when: (m: TsAgentReactConnectionMetadata) => boolean;
@@ -190,7 +190,7 @@ export declare const DEPENDENCIES: import("../../../utils/declared-dependencies"
190
190
  when: (m: TsAgentReactConnectionMetadata) => boolean;
191
191
  } & {
192
192
  versionOnly: true;
193
- }], readonly import("../../../utils/declared-dependencies").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAgentReactConnectionMetadata>[]>;
193
+ }], readonly import("../../../utils/declared-dependencies.js").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAgentReactConnectionMetadata>[]>;
194
194
  export declare const TS_AGENT_REACT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
195
195
  /**
196
196
  * Options for routing the website's requests to the agent through an
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addAgentRuntimeToConnectionNamespace } from '../../../connection/agent-runtime-config';\nimport type { ResolvedConnectionOptions } from '../../../connection/generator';\nimport { addTsDependencies } from '../../../utils/add-dependencies';\nimport { addSingleImport, applyGritQL } from '../../../utils/ast';\nimport {\n declareDependencies,\n onlyWhen,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { installDependencies } from '../../../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics';\nimport { kebabCase, toClassName } from '../../../utils/names';\nimport {\n addComponentGeneratorMetadata,\n type ComponentMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx';\nimport { toProjectRelativePath } from '../../../utils/paths';\nimport {\n DEPENDENCIES as AGUI_DEPENDENCIES,\n type AgUiAuth,\n addAgUiReactConnection,\n resolveAgUiTheme,\n} from '../../react-website/agui/generator';\nimport { runtimeConfigGenerator } from '../../react-website/runtime-config/generator';\nimport { addTsAgentTargetToLocalDev } from './local-dev';\n\n/** The metadata this generator records, which its predicates read. */\nexport interface TsAgentReactConnectionMetadata {\n readonly auth: string;\n readonly protocol: string;\n /** The AG-UI theme module, which the website's `ux` selects. */\n readonly theme: string;\n}\n\n/** The tRPC-over-HTTP path, which the AG-UI path takes none of. */\nconst isHttp = (m: TsAgentReactConnectionMetadata) => m.protocol !== 'ag-ui';\n\n/** The AG-UI path, whose packages `addAgUiReactConnection` adds. */\nconst isAgUi = (m: TsAgentReactConnectionMetadata) => !isHttp(m);\n\n// Each entry names the protocol path it belongs to: the HTTP path's client and\n// auth packages are added here, the AG-UI path's by `addAgUiReactConnection` on\n// this generator's behalf.\nexport const DEPENDENCIES =\n declareDependencies<TsAgentReactConnectionMetadata>()({\n ts: [\n { name: '@trpc/client', when: isHttp },\n { name: '@tanstack/react-query', when: isHttp },\n { name: '@tanstack/react-query-devtools', when: isHttp },\n { name: '@trpc/tanstack-react-query', when: isHttp },\n { name: 'oidc-client-ts', when: (m) => isHttp(m) && m.auth === 'iam' },\n { name: 'aws4fetch', when: (m) => isHttp(m) && m.auth === 'iam' },\n {\n name: '@aws-sdk/credential-provider-cognito-identity',\n when: (m) => isHttp(m) && m.auth === 'iam',\n },\n {\n name: 'react-oidc-context',\n when: (m) => isHttp(m) && (m.auth === 'iam' || m.auth === 'cognito'),\n },\n { name: '@smithy/types', when: isHttp, dev: true },\n // `addAgUiReactConnection` adds these itself, so they are declared for\n // ownership only. Gated on the AG-UI path, and within it on each entry's\n // own theme or auth condition, which the metadata below records.\n ...ownedElsewhere(onlyWhen(AGUI_DEPENDENCIES.ts, isAgUi)),\n ],\n });\n\nexport const TS_AGENT_REACT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\n/**\n * Options for routing the website's requests to the agent through an\n * AgentCore Gateway rather than invoking the runtime directly. The gateway\n * react-connection generator dispatches here once per fronted agent.\n */\nexport interface AgentGatewayRoute {\n /** The gateway's class name, keying its URL in runtime config. */\n gatewayClassName: string;\n /** The agent's gateway target name, forming its path on the gateway. */\n targetName: string;\n /** The gateway's inbound auth, which is what the browser authenticates with. */\n gatewayAuth: string;\n}\n\nexport async function tsAgentReactConnectionGenerator(\n tree: Tree,\n options: ResolvedConnectionOptions & { gatewayRoute?: AgentGatewayRoute },\n) {\n const frontendProjectConfig = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const agentProjectConfig = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const targetComponent: ComponentMetadata | undefined =\n options.targetComponent;\n\n // Extract agent metadata from the target component or project metadata\n const metadata = agentProjectConfig.metadata as any;\n const agentName = targetComponent?.name ?? 'agent';\n const agentNameClassName = targetComponent?.rc ?? toClassName(agentName);\n const agentPort = targetComponent?.port ?? metadata?.ports?.[0] ?? 8081;\n // Behind a gateway the browser authenticates with the gateway, not the agent.\n const auth = (\n options.gatewayRoute?.gatewayAuth ??\n targetComponent?.auth ??\n metadata?.auth ??\n 'iam'\n ).toLowerCase();\n const agentProjectAlias = agentProjectConfig.name;\n const agentPath = targetComponent?.path ?? 'src/agent';\n\n // Recorded below and read by the declaration's predicates, so the packages\n // added here are exactly the ones the version sync will own.\n const connectionMetadata: TsAgentReactConnectionMetadata = {\n auth,\n protocol: targetComponent?.protocol ?? 'http',\n theme: resolveAgUiTheme(frontendProjectConfig),\n };\n\n if ((targetComponent?.protocol ?? '').toLowerCase() === 'a2a') {\n throw new Error(\n `Cannot connect a React website to an A2A agent. ` +\n `Consider generating an agent with the HTTP or AG-UI protocol instead.`,\n );\n }\n\n // A TypeScript HTTP agent serves tRPC over WebSocket, which AgentCore\n // Gateway does not support, so only AG-UI agents can be reached via a\n // gateway route.\n if (options.gatewayRoute && targetComponent?.protocol !== 'ag-ui') {\n throw new Error(\n `Cannot connect a React website to agent '${agentName}' via a gateway: a TypeScript HTTP agent serves tRPC over WebSocket, which AgentCore Gateway does not support. Consider the ag-ui protocol instead.`,\n );\n }\n\n if (targetComponent?.protocol === 'ag-ui') {\n await addAgUiReactConnection(tree, {\n frontendProjectConfig,\n agentName,\n agentNameClassName,\n auth: auth as AgUiAuth,\n gatewayRoute: options.gatewayRoute,\n });\n\n // When routing via a gateway, the gateway react-connection wires the\n // website's dev target to the local gateway (which proxies to the agent)\n // instead of to the agent directly.\n if (!options.gatewayRoute) {\n await addTsAgentTargetToLocalDev(\n tree,\n frontendProjectConfig.name,\n agentProjectConfig.name,\n {\n agentName,\n agentNameClassName,\n port: agentPort,\n targetComponent,\n },\n );\n }\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n frontendProjectConfig.name,\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(\n frontendProjectConfig,\n joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'hooks',\n `useAgui${agentNameClassName}`,\n ),\n ),\n agentNameClassName,\n connectionMetadata,\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n }\n\n // Ensure the agent project has a wildcard path entry in tsconfig.base.json\n // so that deep imports (e.g., for the router type) resolve correctly\n ensureWildcardPathEntry(\n tree,\n agentProjectConfig.name,\n agentProjectConfig.root,\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files'),\n frontendProjectConfig.root,\n {\n agentName,\n agentNameClassName,\n auth,\n agentProjectAlias,\n agentPath,\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n // Generate the tanstack query provider if it does not exist already\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '../../../utils/files/website/components/tanstack-query',\n ),\n joinPathFragments(frontendProjectConfig.sourceRoot, 'components'),\n {},\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n if (auth === 'iam') {\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '../../../utils/files/website/hooks/sigv4',\n ),\n joinPathFragments(frontendProjectConfig.sourceRoot, 'hooks'),\n {},\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n }\n\n await runtimeConfigGenerator(tree, {\n project: frontendProjectConfig.name,\n preferInstallDependencies: false,\n });\n\n // update main.tsx\n const mainTsxPath = joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'main.tsx',\n );\n await addSingleImport(\n tree,\n mainTsxPath,\n 'QueryClientProvider',\n './components/QueryClientProvider',\n );\n\n const clientProviderName = `${agentNameClassName}AgentClientProvider`;\n await addSingleImport(\n tree,\n mainTsxPath,\n clientProviderName,\n `./components/${clientProviderName}`,\n );\n\n // Wrap <App /> in QueryClientProvider if not already present\n await applyGritQL(\n tree,\n mainTsxPath,\n '`<App />` => `<QueryClientProvider><App /></QueryClientProvider>` where { $program <: not contains `<QueryClientProvider>$_</QueryClientProvider>` }',\n );\n\n // Wrap <App /> in the agent client provider if not already present\n await applyGritQL(\n tree,\n mainTsxPath,\n `\\`<App />\\` => \\`<${clientProviderName}><App /></${clientProviderName}>\\` where { $program <: not contains \\`<${clientProviderName}>$_</${clientProviderName}>\\` }`,\n );\n\n await addTsAgentTargetToLocalDev(\n tree,\n frontendProjectConfig.name,\n agentProjectConfig.name,\n {\n agentName,\n agentNameClassName,\n port: agentPort,\n targetComponent,\n },\n );\n\n // Expose the agent's runtime ARN to the frontend via the 'connection'\n // namespace (which is published to runtime-config.json). The agent construct\n // itself only registers to the 'agentcore' namespace by default.\n await addAgentRuntimeToConnectionNamespace(tree, {\n agentNameKebabCase: kebabCase(agentNameClassName),\n agentNameClassName,\n });\n\n addTsDependencies(tree, DEPENDENCIES, {\n metadata: connectionMetadata,\n projectRoot: frontendProjectConfig.root,\n });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n frontendProjectConfig.name,\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(\n frontendProjectConfig,\n joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'components',\n clientProviderName,\n ),\n ),\n agentNameClassName,\n connectionMetadata,\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n}\nexport default tsAgentReactConnectionGenerator;\n\n/**\n * Ensures a wildcard path entry exists in tsconfig.base.json for the given project,\n * allowing deep imports (e.g., `@scope/project/src/agent/router.js`).\n */\nfunction ensureWildcardPathEntry(\n tree: Tree,\n projectName: string,\n projectRoot: string,\n) {\n const tsconfigPath = ['tsconfig.base.json', 'tsconfig.json'].find((p) =>\n tree.exists(p),\n );\n if (!tsconfigPath) return;\n\n updateJson(tree, tsconfigPath, (json) => {\n const paths = json.compilerOptions?.paths ?? {};\n const wildcardKey = `${projectName}/*`;\n if (!paths[wildcardKey]) {\n paths[wildcardKey] = [`./${projectRoot}/*`];\n }\n json.compilerOptions = {\n ...json.compilerOptions,\n paths,\n };\n return json;\n });\n}\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addAgentRuntimeToConnectionNamespace","addTsDependencies","addSingleImport","applyGritQL","declareDependencies","onlyWhen","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","addComponentGeneratorMetadata","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","AGUI_DEPENDENCIES","addAgUiReactConnection","resolveAgUiTheme","runtimeConfigGenerator","addTsAgentTargetToLocalDev","isHttp","m","protocol","isAgUi","ts","name","when","auth","dev","TS_AGENT_REACT_CONNECTION_GENERATOR_INFO","filename","tsAgentReactConnectionGenerator","tree","options","frontendProjectConfig","sourceProject","agentProjectConfig","targetProject","targetComponent","metadata","agentName","agentNameClassName","rc","agentPort","port","ports","gatewayRoute","gatewayAuth","toLowerCase","agentProjectAlias","agentPath","path","connectionMetadata","theme","Error","sourceRoot","preferInstallDependencies","languages","ensureWildcardPathEntry","root","dirname","overwriteStrategy","KeepExisting","project","mainTsxPath","clientProviderName","agentNameKebabCase","projectRoot","projectName","tsconfigPath","find","p","exists","json","paths","compilerOptions","wildcardKey"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateJson,\n} from '@nx/devkit';\nimport { addAgentRuntimeToConnectionNamespace } from '../../../connection/agent-runtime-config.js';\nimport type { ResolvedConnectionOptions } from '../../../connection/generator.js';\nimport { addTsDependencies } from '../../../utils/add-dependencies.js';\nimport { addSingleImport, applyGritQL } from '../../../utils/ast.js';\nimport {\n declareDependencies,\n onlyWhen,\n ownedElsewhere,\n} from '../../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { installDependencies } from '../../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport { kebabCase, toClassName } from '../../../utils/names.js';\nimport {\n addComponentGeneratorMetadata,\n type ComponentMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport { toProjectRelativePath } from '../../../utils/paths.js';\nimport {\n DEPENDENCIES as AGUI_DEPENDENCIES,\n type AgUiAuth,\n addAgUiReactConnection,\n resolveAgUiTheme,\n} from '../../react-website/agui/generator.js';\nimport { runtimeConfigGenerator } from '../../react-website/runtime-config/generator.js';\nimport { addTsAgentTargetToLocalDev } from './local-dev.js';\n\n/** The metadata this generator records, which its predicates read. */\nexport interface TsAgentReactConnectionMetadata {\n readonly auth: string;\n readonly protocol: string;\n /** The AG-UI theme module, which the website's `ux` selects. */\n readonly theme: string;\n}\n\n/** The tRPC-over-HTTP path, which the AG-UI path takes none of. */\nconst isHttp = (m: TsAgentReactConnectionMetadata) => m.protocol !== 'ag-ui';\n\n/** The AG-UI path, whose packages `addAgUiReactConnection` adds. */\nconst isAgUi = (m: TsAgentReactConnectionMetadata) => !isHttp(m);\n\n// Each entry names the protocol path it belongs to: the HTTP path's client and\n// auth packages are added here, the AG-UI path's by `addAgUiReactConnection` on\n// this generator's behalf.\nexport const DEPENDENCIES =\n declareDependencies<TsAgentReactConnectionMetadata>()({\n ts: [\n { name: '@trpc/client', when: isHttp },\n { name: '@tanstack/react-query', when: isHttp },\n { name: '@tanstack/react-query-devtools', when: isHttp },\n { name: '@trpc/tanstack-react-query', when: isHttp },\n { name: 'oidc-client-ts', when: (m) => isHttp(m) && m.auth === 'iam' },\n { name: 'aws4fetch', when: (m) => isHttp(m) && m.auth === 'iam' },\n {\n name: '@aws-sdk/credential-provider-cognito-identity',\n when: (m) => isHttp(m) && m.auth === 'iam',\n },\n {\n name: 'react-oidc-context',\n when: (m) => isHttp(m) && (m.auth === 'iam' || m.auth === 'cognito'),\n },\n { name: '@smithy/types', when: isHttp, dev: true },\n // `addAgUiReactConnection` adds these itself, so they are declared for\n // ownership only. Gated on the AG-UI path, and within it on each entry's\n // own theme or auth condition, which the metadata below records.\n ...ownedElsewhere(onlyWhen(AGUI_DEPENDENCIES.ts, isAgUi)),\n ],\n });\n\nexport const TS_AGENT_REACT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\n/**\n * Options for routing the website's requests to the agent through an\n * AgentCore Gateway rather than invoking the runtime directly. The gateway\n * react-connection generator dispatches here once per fronted agent.\n */\nexport interface AgentGatewayRoute {\n /** The gateway's class name, keying its URL in runtime config. */\n gatewayClassName: string;\n /** The agent's gateway target name, forming its path on the gateway. */\n targetName: string;\n /** The gateway's inbound auth, which is what the browser authenticates with. */\n gatewayAuth: string;\n}\n\nexport async function tsAgentReactConnectionGenerator(\n tree: Tree,\n options: ResolvedConnectionOptions & { gatewayRoute?: AgentGatewayRoute },\n) {\n const frontendProjectConfig = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const agentProjectConfig = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const targetComponent: ComponentMetadata | undefined =\n options.targetComponent;\n\n // Extract agent metadata from the target component or project metadata\n const metadata = agentProjectConfig.metadata as any;\n const agentName = targetComponent?.name ?? 'agent';\n const agentNameClassName = targetComponent?.rc ?? toClassName(agentName);\n const agentPort = targetComponent?.port ?? metadata?.ports?.[0] ?? 8081;\n // Behind a gateway the browser authenticates with the gateway, not the agent.\n const auth = (\n options.gatewayRoute?.gatewayAuth ??\n targetComponent?.auth ??\n metadata?.auth ??\n 'iam'\n ).toLowerCase();\n const agentProjectAlias = agentProjectConfig.name;\n const agentPath = targetComponent?.path ?? 'src/agent';\n\n // Recorded below and read by the declaration's predicates, so the packages\n // added here are exactly the ones the version sync will own.\n const connectionMetadata: TsAgentReactConnectionMetadata = {\n auth,\n protocol: targetComponent?.protocol ?? 'http',\n theme: resolveAgUiTheme(frontendProjectConfig),\n };\n\n if ((targetComponent?.protocol ?? '').toLowerCase() === 'a2a') {\n throw new Error(\n `Cannot connect a React website to an A2A agent. ` +\n `Consider generating an agent with the HTTP or AG-UI protocol instead.`,\n );\n }\n\n // A TypeScript HTTP agent serves tRPC over WebSocket, which AgentCore\n // Gateway does not support, so only AG-UI agents can be reached via a\n // gateway route.\n if (options.gatewayRoute && targetComponent?.protocol !== 'ag-ui') {\n throw new Error(\n `Cannot connect a React website to agent '${agentName}' via a gateway: a TypeScript HTTP agent serves tRPC over WebSocket, which AgentCore Gateway does not support. Consider the ag-ui protocol instead.`,\n );\n }\n\n if (targetComponent?.protocol === 'ag-ui') {\n await addAgUiReactConnection(tree, {\n frontendProjectConfig,\n agentName,\n agentNameClassName,\n auth: auth as AgUiAuth,\n gatewayRoute: options.gatewayRoute,\n });\n\n // When routing via a gateway, the gateway react-connection wires the\n // website's dev target to the local gateway (which proxies to the agent)\n // instead of to the agent directly.\n if (!options.gatewayRoute) {\n await addTsAgentTargetToLocalDev(\n tree,\n frontendProjectConfig.name,\n agentProjectConfig.name,\n {\n agentName,\n agentNameClassName,\n port: agentPort,\n targetComponent,\n },\n );\n }\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n frontendProjectConfig.name,\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(\n frontendProjectConfig,\n joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'hooks',\n `useAgui${agentNameClassName}`,\n ),\n ),\n agentNameClassName,\n connectionMetadata,\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n }\n\n // Ensure the agent project has a wildcard path entry in tsconfig.base.json\n // so that deep imports (e.g., for the router type) resolve correctly\n ensureWildcardPathEntry(\n tree,\n agentProjectConfig.name,\n agentProjectConfig.root,\n );\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files'),\n frontendProjectConfig.root,\n {\n agentName,\n agentNameClassName,\n auth,\n agentProjectAlias,\n agentPath,\n },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n // Generate the tanstack query provider if it does not exist already\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '../../../utils/files/website/components/tanstack-query',\n ),\n joinPathFragments(frontendProjectConfig.sourceRoot, 'components'),\n {},\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n if (auth === 'iam') {\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '../../../utils/files/website/hooks/sigv4',\n ),\n joinPathFragments(frontendProjectConfig.sourceRoot, 'hooks'),\n {},\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n }\n\n await runtimeConfigGenerator(tree, {\n project: frontendProjectConfig.name,\n preferInstallDependencies: false,\n });\n\n // update main.tsx\n const mainTsxPath = joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'main.tsx',\n );\n await addSingleImport(\n tree,\n mainTsxPath,\n 'QueryClientProvider',\n './components/QueryClientProvider',\n );\n\n const clientProviderName = `${agentNameClassName}AgentClientProvider`;\n await addSingleImport(\n tree,\n mainTsxPath,\n clientProviderName,\n `./components/${clientProviderName}`,\n );\n\n // Wrap <App /> in QueryClientProvider if not already present\n await applyGritQL(\n tree,\n mainTsxPath,\n '`<App />` => `<QueryClientProvider><App /></QueryClientProvider>` where { $program <: not contains `<QueryClientProvider>$_</QueryClientProvider>` }',\n );\n\n // Wrap <App /> in the agent client provider if not already present\n await applyGritQL(\n tree,\n mainTsxPath,\n `\\`<App />\\` => \\`<${clientProviderName}><App /></${clientProviderName}>\\` where { $program <: not contains \\`<${clientProviderName}>$_</${clientProviderName}>\\` }`,\n );\n\n await addTsAgentTargetToLocalDev(\n tree,\n frontendProjectConfig.name,\n agentProjectConfig.name,\n {\n agentName,\n agentNameClassName,\n port: agentPort,\n targetComponent,\n },\n );\n\n // Expose the agent's runtime ARN to the frontend via the 'connection'\n // namespace (which is published to runtime-config.json). The agent construct\n // itself only registers to the 'agentcore' namespace by default.\n await addAgentRuntimeToConnectionNamespace(tree, {\n agentNameKebabCase: kebabCase(agentNameClassName),\n agentNameClassName,\n });\n\n addTsDependencies(tree, DEPENDENCIES, {\n metadata: connectionMetadata,\n projectRoot: frontendProjectConfig.root,\n });\n\n // Recorded so the version sync knows this connection's dependencies are ours.\n addComponentGeneratorMetadata(\n tree,\n frontendProjectConfig.name,\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n toProjectRelativePath(\n frontendProjectConfig,\n joinPathFragments(\n frontendProjectConfig.sourceRoot,\n 'components',\n clientProviderName,\n ),\n ),\n agentNameClassName,\n connectionMetadata,\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_AGENT_REACT_CONNECTION_GENERATOR_INFO,\n ]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n}\nexport default tsAgentReactConnectionGenerator;\n\n/**\n * Ensures a wildcard path entry exists in tsconfig.base.json for the given project,\n * allowing deep imports (e.g., `@scope/project/src/agent/router.js`).\n */\nfunction ensureWildcardPathEntry(\n tree: Tree,\n projectName: string,\n projectRoot: string,\n) {\n const tsconfigPath = ['tsconfig.base.json', 'tsconfig.json'].find((p) =>\n tree.exists(p),\n );\n if (!tsconfigPath) return;\n\n updateJson(tree, tsconfigPath, (json) => {\n const paths = json.compilerOptions?.paths ?? {};\n const wildcardKey = `${projectName}/*`;\n if (!paths[wildcardKey]) {\n paths[wildcardKey] = [`./${projectRoot}/*`];\n }\n json.compilerOptions = {\n ...json.compilerOptions,\n paths,\n };\n return json;\n });\n}\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateJson","addAgentRuntimeToConnectionNamespace","addTsDependencies","addSingleImport","applyGritQL","declareDependencies","onlyWhen","ownedElsewhere","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","addComponentGeneratorMetadata","getGeneratorInfo","readProjectConfigurationUnqualified","toProjectRelativePath","DEPENDENCIES","AGUI_DEPENDENCIES","addAgUiReactConnection","resolveAgUiTheme","runtimeConfigGenerator","addTsAgentTargetToLocalDev","isHttp","m","protocol","isAgUi","ts","name","when","auth","dev","TS_AGENT_REACT_CONNECTION_GENERATOR_INFO","filename","tsAgentReactConnectionGenerator","tree","options","frontendProjectConfig","sourceProject","agentProjectConfig","targetProject","targetComponent","metadata","agentName","agentNameClassName","rc","agentPort","port","ports","gatewayRoute","gatewayAuth","toLowerCase","agentProjectAlias","agentPath","path","connectionMetadata","theme","Error","sourceRoot","preferInstallDependencies","languages","ensureWildcardPathEntry","root","dirname","overwriteStrategy","KeepExisting","project","mainTsxPath","clientProviderName","agentNameKebabCase","projectRoot","projectName","tsconfigPath","find","p","exists","json","paths","compilerOptions","wildcardKey"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import type { Tree } from '@nx/devkit';
6
- import type { ComponentMetadata } from '../../../utils/nx';
6
+ import type { ComponentMetadata } from '../../../utils/nx.js';
7
7
  export interface TsAgentLocalDevOptions {
8
8
  agentName: string;
9
9
  agentNameClassName: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/local-dev.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Tree } from '@nx/devkit';\nimport { addAgentTargetToLocalDev } from '../../../connection/agent-local-dev';\nimport type { ComponentMetadata } from '../../../utils/nx';\n\nexport interface TsAgentLocalDevOptions {\n agentName: string;\n agentNameClassName: string;\n port: number;\n targetComponent?: ComponentMetadata;\n}\n\nexport const addTsAgentTargetToLocalDev = async (\n tree: Tree,\n sourceProjectName: string,\n targetProjectName: string,\n options: TsAgentLocalDevOptions,\n) => {\n const protocol = options.targetComponent?.protocol ?? 'http';\n const localUrl =\n protocol === 'ag-ui'\n ? `http://localhost:${options.port}/invocations`\n : `ws://localhost:${options.port}/ws`;\n\n await addAgentTargetToLocalDev(tree, sourceProjectName, targetProjectName, {\n agentNameClassName: options.agentNameClassName,\n port: options.port,\n targetComponent: options.targetComponent,\n runtimeConfigNamespace: 'agentRuntimes',\n localUrl,\n });\n};\n"],"names":["addAgentTargetToLocalDev","addTsAgentTargetToLocalDev","tree","sourceProjectName","targetProjectName","options","protocol","targetComponent","localUrl","port","agentNameClassName","runtimeConfigNamespace"],"mappings":"AAAA;;;CAGC,GAED,SAASA,wBAAwB,QAAQ,yCAAsC;AAU/E,OAAO,MAAMC,6BAA6B,OACxCC,MACAC,mBACAC,mBACAC;IAEA,MAAMC,WAAWD,QAAQE,eAAe,EAAED,YAAY;IACtD,MAAME,WACJF,aAAa,UACT,CAAC,iBAAiB,EAAED,QAAQI,IAAI,CAAC,YAAY,CAAC,GAC9C,CAAC,eAAe,EAAEJ,QAAQI,IAAI,CAAC,GAAG,CAAC;IAEzC,MAAMT,yBAAyBE,MAAMC,mBAAmBC,mBAAmB;QACzEM,oBAAoBL,QAAQK,kBAAkB;QAC9CD,MAAMJ,QAAQI,IAAI;QAClBF,iBAAiBF,QAAQE,eAAe;QACxCI,wBAAwB;QACxBH;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/local-dev.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Tree } from '@nx/devkit';\nimport { addAgentTargetToLocalDev } from '../../../connection/agent-local-dev.js';\nimport type { ComponentMetadata } from '../../../utils/nx.js';\n\nexport interface TsAgentLocalDevOptions {\n agentName: string;\n agentNameClassName: string;\n port: number;\n targetComponent?: ComponentMetadata;\n}\n\nexport const addTsAgentTargetToLocalDev = async (\n tree: Tree,\n sourceProjectName: string,\n targetProjectName: string,\n options: TsAgentLocalDevOptions,\n) => {\n const protocol = options.targetComponent?.protocol ?? 'http';\n const localUrl =\n protocol === 'ag-ui'\n ? `http://localhost:${options.port}/invocations`\n : `ws://localhost:${options.port}/ws`;\n\n await addAgentTargetToLocalDev(tree, sourceProjectName, targetProjectName, {\n agentNameClassName: options.agentNameClassName,\n port: options.port,\n targetComponent: options.targetComponent,\n runtimeConfigNamespace: 'agentRuntimes',\n localUrl,\n });\n};\n"],"names":["addAgentTargetToLocalDev","addTsAgentTargetToLocalDev","tree","sourceProjectName","targetProjectName","options","protocol","targetComponent","localUrl","port","agentNameClassName","runtimeConfigNamespace"],"mappings":"AAAA;;;CAGC,GAED,SAASA,wBAAwB,QAAQ,yCAAyC;AAUlF,OAAO,MAAMC,6BAA6B,OACxCC,MACAC,mBACAC,mBACAC;IAEA,MAAMC,WAAWD,QAAQE,eAAe,EAAED,YAAY;IACtD,MAAME,WACJF,aAAa,UACT,CAAC,iBAAiB,EAAED,QAAQI,IAAI,CAAC,YAAY,CAAC,GAC9C,CAAC,eAAe,EAAEJ,QAAQI,IAAI,CAAC,GAAG,CAAC;IAEzC,MAAMT,yBAAyBE,MAAMC,mBAAmBC,mBAAmB;QACzEM,oBAAoBL,QAAQK,kBAAkB;QAC9CD,MAAMJ,QAAQI,IAAI;QAClBF,iBAAiBF,QAAQE,eAAe;QACxCI,wBAAwB;QACxBH;IACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ComponentMetadata } from '../../../utils/nx';\n\n/**\n * TypeScript types for options defined in schema.json\n */\nexport interface TsAgentReactConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n targetComponent?: ComponentMetadata;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD;;CAEC,GACD,WAMC"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/agent/react-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ComponentMetadata } from '../../../utils/nx.js';\n\n/**\n * TypeScript types for options defined in schema.json\n */\nexport interface TsAgentReactConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n targetComponent?: ComponentMetadata;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD;;CAEC,GACD,WAMC"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { ComponentMetadata } from '../../../utils/nx';
5
+ import { ComponentMetadata } from '../../../utils/nx.js';
6
6
 
7
7
  /**
8
8
  * TypeScript types for options defined in schema.json
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/agent/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IacOption } from '../../utils/iac';\n\nexport type TsAgentFramework = 'strands';\nexport type TsAgentInfra = 'agentcore' | 'none';\nexport type AgentProtocol = 'http' | 'a2a' | 'ag-ui';\n\nexport type TsAgentAuth = 'iam' | 'cognito';\n\nexport type TsAgentSession = 's3' | 'in-memory';\n\nexport interface TsAgentGeneratorSchema {\n project: string;\n framework?: TsAgentFramework;\n name?: string;\n infra?: TsAgentInfra;\n auth?: TsAgentAuth;\n protocol?: AgentProtocol;\n session?: TsAgentSession;\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAYD,WAUC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/agent/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IacOption } from '../../utils/iac.js';\n\nexport type TsAgentFramework = 'strands';\nexport type TsAgentInfra = 'agentcore' | 'none';\nexport type AgentProtocol = 'http' | 'a2a' | 'ag-ui';\n\nexport type TsAgentAuth = 'iam' | 'cognito';\n\nexport type TsAgentSession = 's3' | 'in-memory';\n\nexport interface TsAgentGeneratorSchema {\n project: string;\n framework?: TsAgentFramework;\n name?: string;\n infra?: TsAgentInfra;\n auth?: TsAgentAuth;\n protocol?: AgentProtocol;\n session?: TsAgentSession;\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAYD,WAUC"}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import { IacOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac.js';
7
7
 
8
8
  export type TsAgentFramework = 'strands';
9
9
  export type TsAgentInfra = 'agentcore' | 'none';
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import type { Tree } from '@nx/devkit';
6
- import { type NxGeneratorInfo } from '../../utils/nx';
6
+ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsApiGeneratorSchema } from './schema';
8
8
  export declare const TS_API_GENERATOR_INFO: NxGeneratorInfo;
9
9
  export declare function tsApiGenerator(tree: Tree, options: TsApiGeneratorSchema): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/api/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Tree } from '@nx/devkit';\nimport { tsSmithyApiGenerator } from '../../smithy/ts/api/generator';\nimport { tsTrpcApiGenerator } from '../../trpc/backend/generator';\nimport { getGeneratorInfo, type NxGeneratorInfo } from '../../utils/nx';\nimport type { TsApiGeneratorSchema } from './schema';\n\nexport const TS_API_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport async function tsApiGenerator(\n tree: Tree,\n options: TsApiGeneratorSchema,\n) {\n const framework = options.framework ?? 'trpc';\n\n switch (framework) {\n case 'trpc':\n return tsTrpcApiGenerator(tree, {\n name: options.name,\n infra: options.infra,\n integrationPattern: options.integrationPattern,\n auth: options.auth,\n directory: options.directory,\n subDirectory: options.subDirectory,\n iac: options.iac,\n preferInstallDependencies: options.preferInstallDependencies,\n });\n case 'smithy':\n return tsSmithyApiGenerator(tree, {\n name: options.name,\n namespace: options.namespace,\n infra:\n options.infra === 'none'\n ? 'none'\n : ((options.infra ?? 'rest-lambda') as 'rest-lambda'),\n integrationPattern: options.integrationPattern,\n auth: options.auth,\n directory: options.directory,\n subDirectory: options.subDirectory,\n iac: options.iac,\n preferInstallDependencies: options.preferInstallDependencies,\n });\n }\n}\n\nexport default tsApiGenerator;\n"],"names":["tsSmithyApiGenerator","tsTrpcApiGenerator","getGeneratorInfo","TS_API_GENERATOR_INFO","filename","tsApiGenerator","tree","options","framework","name","infra","integrationPattern","auth","directory","subDirectory","iac","preferInstallDependencies","namespace"],"mappings":"AAAA;;;CAGC,GAED,SAASA,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,gBAAgB,QAA8B,oBAAiB;AAGxE,OAAO,MAAMC,wBAAyCD,iBACpD,YAAYE,QAAQ,EACpB;AAEF,OAAO,eAAeC,eACpBC,IAAU,EACVC,OAA6B;IAE7B,MAAMC,YAAYD,QAAQC,SAAS,IAAI;IAEvC,OAAQA;QACN,KAAK;YACH,OAAOP,mBAAmBK,MAAM;gBAC9BG,MAAMF,QAAQE,IAAI;gBAClBC,OAAOH,QAAQG,KAAK;gBACpBC,oBAAoBJ,QAAQI,kBAAkB;gBAC9CC,MAAML,QAAQK,IAAI;gBAClBC,WAAWN,QAAQM,SAAS;gBAC5BC,cAAcP,QAAQO,YAAY;gBAClCC,KAAKR,QAAQQ,GAAG;gBAChBC,2BAA2BT,QAAQS,yBAAyB;YAC9D;QACF,KAAK;YACH,OAAOhB,qBAAqBM,MAAM;gBAChCG,MAAMF,QAAQE,IAAI;gBAClBQ,WAAWV,QAAQU,SAAS;gBAC5BP,OACEH,QAAQG,KAAK,KAAK,SACd,SACEH,QAAQG,KAAK,IAAI;gBACzBC,oBAAoBJ,QAAQI,kBAAkB;gBAC9CC,MAAML,QAAQK,IAAI;gBAClBC,WAAWN,QAAQM,SAAS;gBAC5BC,cAAcP,QAAQO,YAAY;gBAClCC,KAAKR,QAAQQ,GAAG;gBAChBC,2BAA2BT,QAAQS,yBAAyB;YAC9D;IACJ;AACF;AAEA,eAAeX,eAAe"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/api/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Tree } from '@nx/devkit';\nimport { tsSmithyApiGenerator } from '../../smithy/ts/api/generator.js';\nimport { tsTrpcApiGenerator } from '../../trpc/backend/generator.js';\nimport { getGeneratorInfo, type NxGeneratorInfo } from '../../utils/nx.js';\nimport type { TsApiGeneratorSchema } from './schema';\n\nexport const TS_API_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport async function tsApiGenerator(\n tree: Tree,\n options: TsApiGeneratorSchema,\n) {\n const framework = options.framework ?? 'trpc';\n\n switch (framework) {\n case 'trpc':\n return tsTrpcApiGenerator(tree, {\n name: options.name,\n infra: options.infra,\n integrationPattern: options.integrationPattern,\n auth: options.auth,\n directory: options.directory,\n subDirectory: options.subDirectory,\n iac: options.iac,\n preferInstallDependencies: options.preferInstallDependencies,\n });\n case 'smithy':\n return tsSmithyApiGenerator(tree, {\n name: options.name,\n namespace: options.namespace,\n infra:\n options.infra === 'none'\n ? 'none'\n : ((options.infra ?? 'rest-lambda') as 'rest-lambda'),\n integrationPattern: options.integrationPattern,\n auth: options.auth,\n directory: options.directory,\n subDirectory: options.subDirectory,\n iac: options.iac,\n preferInstallDependencies: options.preferInstallDependencies,\n });\n }\n}\n\nexport default tsApiGenerator;\n"],"names":["tsSmithyApiGenerator","tsTrpcApiGenerator","getGeneratorInfo","TS_API_GENERATOR_INFO","filename","tsApiGenerator","tree","options","framework","name","infra","integrationPattern","auth","directory","subDirectory","iac","preferInstallDependencies","namespace"],"mappings":"AAAA;;;CAGC,GAED,SAASA,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,gBAAgB,QAA8B,oBAAoB;AAG3E,OAAO,MAAMC,wBAAyCD,iBACpD,YAAYE,QAAQ,EACpB;AAEF,OAAO,eAAeC,eACpBC,IAAU,EACVC,OAA6B;IAE7B,MAAMC,YAAYD,QAAQC,SAAS,IAAI;IAEvC,OAAQA;QACN,KAAK;YACH,OAAOP,mBAAmBK,MAAM;gBAC9BG,MAAMF,QAAQE,IAAI;gBAClBC,OAAOH,QAAQG,KAAK;gBACpBC,oBAAoBJ,QAAQI,kBAAkB;gBAC9CC,MAAML,QAAQK,IAAI;gBAClBC,WAAWN,QAAQM,SAAS;gBAC5BC,cAAcP,QAAQO,YAAY;gBAClCC,KAAKR,QAAQQ,GAAG;gBAChBC,2BAA2BT,QAAQS,yBAAyB;YAC9D;QACF,KAAK;YACH,OAAOhB,qBAAqBM,MAAM;gBAChCG,MAAMF,QAAQE,IAAI;gBAClBQ,WAAWV,QAAQU,SAAS;gBAC5BP,OACEH,QAAQG,KAAK,KAAK,SACd,SACEH,QAAQG,KAAK,IAAI;gBACzBC,oBAAoBJ,QAAQI,kBAAkB;gBAC9CC,MAAML,QAAQK,IAAI;gBAClBC,WAAWN,QAAQM,SAAS;gBAC5BC,cAAcP,QAAQO,YAAY;gBAClCC,KAAKR,QAAQQ,GAAG;gBAChBC,2BAA2BT,QAAQS,yBAAyB;YAC9D;IACJ;AACF;AAEA,eAAeX,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/api/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IacOption } from '../../utils/iac';\nimport { TsProjectGeneratorSchema } from '../lib/schema';\n\nexport interface TsApiGeneratorSchema {\n name: string;\n framework?: 'trpc' | 'smithy';\n namespace?: string;\n infra: 'rest-lambda' | 'http-lambda' | 'none';\n integrationPattern?: 'isolated' | 'shared';\n auth: 'iam' | 'cognito' | 'custom';\n directory?: TsProjectGeneratorSchema['directory'];\n subDirectory?: TsProjectGeneratorSchema['subDirectory'];\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAKD,WAWC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/api/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IacOption } from '../../utils/iac.js';\nimport { TsProjectGeneratorSchema } from '../lib/schema';\n\nexport interface TsApiGeneratorSchema {\n name: string;\n framework?: 'trpc' | 'smithy';\n namespace?: string;\n infra: 'rest-lambda' | 'http-lambda' | 'none';\n integrationPattern?: 'isolated' | 'shared';\n auth: 'iam' | 'cognito' | 'custom';\n directory?: TsProjectGeneratorSchema['directory'];\n subDirectory?: TsProjectGeneratorSchema['subDirectory'];\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAKD,WAWC"}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- import { IacOption } from '../../utils/iac';
6
+ import { IacOption } from '../../utils/iac.js';
7
7
  import { TsProjectGeneratorSchema } from '../lib/schema';
8
8
 
9
9
  export interface TsApiGeneratorSchema {
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type GeneratorCallback, type Tree } from '@nx/devkit';
6
- import { type NxGeneratorInfo } from '../../utils/nx';
6
+ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsAstroDocsGeneratorSchema } from './schema';
8
8
  /** The metadata this generator records, which its predicates read. */
9
9
  export interface TsAstroDocsMetadata {
@@ -11,7 +11,7 @@ export interface TsAstroDocsMetadata {
11
11
  readonly includeTranslation: boolean;
12
12
  readonly includeBlog: boolean;
13
13
  }
14
- export declare const DEPENDENCIES: import("../../utils/declared-dependencies").DependencyDeclaration<readonly [{
14
+ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
15
15
  readonly name: "astro";
16
16
  }, {
17
17
  readonly name: "@astrojs/starlight";
@@ -42,7 +42,7 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
42
42
  readonly when: (m: TsAstroDocsMetadata) => boolean;
43
43
  readonly dev: true;
44
44
  readonly root: true;
45
- }], readonly import("../../utils/declared-dependencies").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAstroDocsMetadata>[]>;
45
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", TsAstroDocsMetadata>[]>;
46
46
  export declare const TS_ASTRO_DOCS_GENERATOR_INFO: NxGeneratorInfo;
47
47
  export declare const tsAstroDocsGenerator: (tree: Tree, schema: TsAstroDocsGeneratorSchema) => Promise<GeneratorCallback>;
48
48
  export default tsAstroDocsGenerator;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/astro-docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n} from '@nx/devkit';\nimport { addTsDependencies } from '../../utils/add-dependencies';\nimport { declareDependencies } from '../../utils/declared-dependencies';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { installDependencies } from '../../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { isEsmWorkspace } from '../../utils/module-format';\nimport { toKebabCase } from '../../utils/names';\nimport { getNpmScopePrefix } from '../../utils/npm-scope';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n} from '../../utils/nx';\nimport { getPackageManagerDisplayCommands } from '../../utils/pkg-manager';\nimport { ensureProjectPackageJson } from '../../utils/project-package-json';\nimport type { TsAstroDocsGeneratorSchema } from './schema';\n\n/** The metadata this generator records, which its predicates read. */\nexport interface TsAstroDocsMetadata {\n readonly framework: string;\n readonly includeTranslation: boolean;\n readonly includeBlog: boolean;\n}\n\n// Each entry names the branch it belongs to, so the same declaration drives both\n// adding and the version sync.\nexport const DEPENDENCIES = declareDependencies<TsAstroDocsMetadata>()({\n ts: [\n { name: 'astro' },\n { name: '@astrojs/starlight' },\n { name: 'starlight-blog', when: (m) => m.includeBlog },\n { name: '@strands-agents/sdk', when: (m) => m.includeTranslation },\n { name: 'commander', when: (m) => m.includeTranslation },\n { name: 'fast-glob', when: (m) => m.includeTranslation },\n { name: 'fs-extra', when: (m) => m.includeTranslation },\n { name: 'simple-git', when: (m) => m.includeTranslation },\n { name: '@types/fs-extra', when: (m) => m.includeTranslation, dev: true },\n // The translate target runs its script from the workspace root via tsx.\n { name: 'tsx', when: (m) => m.includeTranslation, dev: true, root: true },\n ],\n});\n\nexport const TS_ASTRO_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsAstroDocsGenerator = async (\n tree: Tree,\n schema: TsAstroDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const includeTranslation = !(schema.noTranslation ?? false);\n const includeBlog = !(schema.noBlog ?? false);\n const npmScopePrefix = getNpmScopePrefix(tree);\n const docsNameKebabCase = toKebabCase(schema.name);\n const fullyQualifiedName = `${npmScopePrefix}${docsNameKebabCase}`;\n // NB: interactive nx generator cli can pass empty string\n const dir = joinPathFragments(\n schema.directory || '.',\n schema.subDirectory || docsNameKebabCase,\n );\n\n const alreadyExists = projectExists(tree, fullyQualifiedName);\n\n const targets: ProjectConfiguration['targets'] = {\n build: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro build',\n cwd: dir,\n },\n outputs: [`{workspaceRoot}/${dir}/dist`],\n cache: true,\n },\n start: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro dev',\n cwd: dir,\n },\n continuous: true,\n },\n serve: {\n dependsOn: ['start'],\n },\n preview: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro preview',\n cwd: dir,\n },\n dependsOn: ['build'],\n continuous: true,\n },\n };\n\n if (includeTranslation) {\n targets['translate'] = {\n executor: 'nx:run-commands',\n options: {\n command: 'tsx ./scripts/translate.ts',\n cwd: dir,\n forwardAllArgs: true,\n },\n };\n }\n\n if (!alreadyExists) {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: dir,\n sourceRoot: joinPathFragments(dir, 'src'),\n projectType: 'application',\n targets,\n });\n }\n\n ensureProjectPackageJson(tree, { dir, fullyQualifiedName });\n\n const templateOptions = {\n fullyQualifiedName,\n title: schema.name,\n includeTranslation,\n includeBlog,\n esm: isEsmWorkspace(tree),\n pkgMgrCmd: getPackageManagerDisplayCommands().exec,\n today: new Date().toISOString().slice(0, 10),\n };\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'base'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // The sample blog post is always emitted above — drop it if the user opted out.\n if (!includeBlog) {\n tree.delete(\n joinPathFragments(\n dir,\n 'src',\n 'content',\n 'docs',\n 'en',\n 'blog',\n 'welcome.mdx',\n ),\n );\n }\n\n if (includeTranslation) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'translation'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n // Recorded here and read by the declaration's predicates, so the packages\n // added below are exactly the ones the version sync will own.\n const metadata: TsAstroDocsMetadata = {\n framework: 'astro',\n includeTranslation,\n includeBlog,\n };\n addGeneratorMetadata(\n tree,\n fullyQualifiedName,\n TS_ASTRO_DOCS_GENERATOR_INFO,\n metadata,\n );\n\n addTsDependencies(tree, DEPENDENCIES, { metadata, projectRoot: dir });\n\n await addGeneratorMetricsIfApplicable(tree, [TS_ASTRO_DOCS_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, schema.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAstroDocsGenerator;\n"],"names":["addProjectConfiguration","generateFiles","joinPathFragments","OverwriteStrategy","addTsDependencies","declareDependencies","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","isEsmWorkspace","toKebabCase","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","getPackageManagerDisplayCommands","ensureProjectPackageJson","DEPENDENCIES","ts","name","when","m","includeBlog","includeTranslation","dev","root","TS_ASTRO_DOCS_GENERATOR_INFO","filename","tsAstroDocsGenerator","tree","schema","noTranslation","noBlog","npmScopePrefix","docsNameKebabCase","fullyQualifiedName","dir","directory","subDirectory","alreadyExists","targets","build","executor","options","command","cwd","outputs","cache","start","continuous","serve","dependsOn","preview","forwardAllArgs","sourceRoot","projectType","templateOptions","title","esm","pkgMgrCmd","exec","today","Date","toISOString","slice","dirname","overwriteStrategy","KeepExisting","delete","metadata","framework","projectRoot","preferInstallDependencies","languages"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/astro-docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n addProjectConfiguration,\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type ProjectConfiguration,\n type Tree,\n} from '@nx/devkit';\nimport { addTsDependencies } from '../../utils/add-dependencies.js';\nimport { declareDependencies } from '../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../utils/format.js';\nimport { installDependencies } from '../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics.js';\nimport { isEsmWorkspace } from '../../utils/module-format.js';\nimport { toKebabCase } from '../../utils/names.js';\nimport { getNpmScopePrefix } from '../../utils/npm-scope.js';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n projectExists,\n} from '../../utils/nx.js';\nimport { getPackageManagerDisplayCommands } from '../../utils/pkg-manager.js';\nimport { ensureProjectPackageJson } from '../../utils/project-package-json.js';\nimport type { TsAstroDocsGeneratorSchema } from './schema';\n\n/** The metadata this generator records, which its predicates read. */\nexport interface TsAstroDocsMetadata {\n readonly framework: string;\n readonly includeTranslation: boolean;\n readonly includeBlog: boolean;\n}\n\n// Each entry names the branch it belongs to, so the same declaration drives both\n// adding and the version sync.\nexport const DEPENDENCIES = declareDependencies<TsAstroDocsMetadata>()({\n ts: [\n { name: 'astro' },\n { name: '@astrojs/starlight' },\n { name: 'starlight-blog', when: (m) => m.includeBlog },\n { name: '@strands-agents/sdk', when: (m) => m.includeTranslation },\n { name: 'commander', when: (m) => m.includeTranslation },\n { name: 'fast-glob', when: (m) => m.includeTranslation },\n { name: 'fs-extra', when: (m) => m.includeTranslation },\n { name: 'simple-git', when: (m) => m.includeTranslation },\n { name: '@types/fs-extra', when: (m) => m.includeTranslation, dev: true },\n // The translate target runs its script from the workspace root via tsx.\n { name: 'tsx', when: (m) => m.includeTranslation, dev: true, root: true },\n ],\n});\n\nexport const TS_ASTRO_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsAstroDocsGenerator = async (\n tree: Tree,\n schema: TsAstroDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const includeTranslation = !(schema.noTranslation ?? false);\n const includeBlog = !(schema.noBlog ?? false);\n const npmScopePrefix = getNpmScopePrefix(tree);\n const docsNameKebabCase = toKebabCase(schema.name);\n const fullyQualifiedName = `${npmScopePrefix}${docsNameKebabCase}`;\n // NB: interactive nx generator cli can pass empty string\n const dir = joinPathFragments(\n schema.directory || '.',\n schema.subDirectory || docsNameKebabCase,\n );\n\n const alreadyExists = projectExists(tree, fullyQualifiedName);\n\n const targets: ProjectConfiguration['targets'] = {\n build: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro build',\n cwd: dir,\n },\n outputs: [`{workspaceRoot}/${dir}/dist`],\n cache: true,\n },\n start: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro dev',\n cwd: dir,\n },\n continuous: true,\n },\n serve: {\n dependsOn: ['start'],\n },\n preview: {\n executor: 'nx:run-commands',\n options: {\n command: 'astro preview',\n cwd: dir,\n },\n dependsOn: ['build'],\n continuous: true,\n },\n };\n\n if (includeTranslation) {\n targets['translate'] = {\n executor: 'nx:run-commands',\n options: {\n command: 'tsx ./scripts/translate.ts',\n cwd: dir,\n forwardAllArgs: true,\n },\n };\n }\n\n if (!alreadyExists) {\n addProjectConfiguration(tree, fullyQualifiedName, {\n name: fullyQualifiedName,\n root: dir,\n sourceRoot: joinPathFragments(dir, 'src'),\n projectType: 'application',\n targets,\n });\n }\n\n ensureProjectPackageJson(tree, { dir, fullyQualifiedName });\n\n const templateOptions = {\n fullyQualifiedName,\n title: schema.name,\n includeTranslation,\n includeBlog,\n esm: isEsmWorkspace(tree),\n pkgMgrCmd: getPackageManagerDisplayCommands().exec,\n today: new Date().toISOString().slice(0, 10),\n };\n\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'base'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n\n // The sample blog post is always emitted above — drop it if the user opted out.\n if (!includeBlog) {\n tree.delete(\n joinPathFragments(\n dir,\n 'src',\n 'content',\n 'docs',\n 'en',\n 'blog',\n 'welcome.mdx',\n ),\n );\n }\n\n if (includeTranslation) {\n generateFiles(\n tree,\n joinPathFragments(import.meta.dirname, 'files', 'translation'),\n dir,\n templateOptions,\n { overwriteStrategy: OverwriteStrategy.KeepExisting },\n );\n }\n\n // Recorded here and read by the declaration's predicates, so the packages\n // added below are exactly the ones the version sync will own.\n const metadata: TsAstroDocsMetadata = {\n framework: 'astro',\n includeTranslation,\n includeBlog,\n };\n addGeneratorMetadata(\n tree,\n fullyQualifiedName,\n TS_ASTRO_DOCS_GENERATOR_INFO,\n metadata,\n );\n\n addTsDependencies(tree, DEPENDENCIES, { metadata, projectRoot: dir });\n\n await addGeneratorMetricsIfApplicable(tree, [TS_ASTRO_DOCS_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, schema.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsAstroDocsGenerator;\n"],"names":["addProjectConfiguration","generateFiles","joinPathFragments","OverwriteStrategy","addTsDependencies","declareDependencies","formatFilesInSubtree","installDependencies","addGeneratorMetricsIfApplicable","isEsmWorkspace","toKebabCase","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","projectExists","getPackageManagerDisplayCommands","ensureProjectPackageJson","DEPENDENCIES","ts","name","when","m","includeBlog","includeTranslation","dev","root","TS_ASTRO_DOCS_GENERATOR_INFO","filename","tsAstroDocsGenerator","tree","schema","noTranslation","noBlog","npmScopePrefix","docsNameKebabCase","fullyQualifiedName","dir","directory","subDirectory","alreadyExists","targets","build","executor","options","command","cwd","outputs","cache","start","continuous","serve","dependsOn","preview","forwardAllArgs","sourceRoot","projectType","templateOptions","title","esm","pkgMgrCmd","exec","today","Date","toISOString","slice","dirname","overwriteStrategy","KeepExisting","delete","metadata","framework","projectRoot","preferInstallDependencies","languages"],"mappings":"AAAA;;;CAGC,GACD,SACEA,uBAAuB,EAEvBC,aAAa,EACbC,iBAAiB,EACjBC,iBAAiB,QAGZ,aAAa;AACpB,SAASC,iBAAiB,QAAQ,kCAAkC;AACpE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,+BAA+B,QAAQ,yBAAyB;AACzE,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SACEC,oBAAoB,EACpBC,gBAAgB,EAEhBC,aAAa,QACR,oBAAoB;AAC3B,SAASC,gCAAgC,QAAQ,6BAA6B;AAC9E,SAASC,wBAAwB,QAAQ,sCAAsC;AAU/E,iFAAiF;AACjF,+BAA+B;AAC/B,OAAO,MAAMC,eAAeZ,sBAA2C;IACrEa,IAAI;QACF;YAAEC,MAAM;QAAQ;QAChB;YAAEA,MAAM;QAAqB;QAC7B;YAAEA,MAAM;YAAkBC,MAAM,CAACC,IAAMA,EAAEC,WAAW;QAAC;QACrD;YAAEH,MAAM;YAAuBC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;QAAC;QACjE;YAAEJ,MAAM;YAAaC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;QAAC;QACvD;YAAEJ,MAAM;YAAaC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;QAAC;QACvD;YAAEJ,MAAM;YAAYC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;QAAC;QACtD;YAAEJ,MAAM;YAAcC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;QAAC;QACxD;YAAEJ,MAAM;YAAmBC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;YAAEC,KAAK;QAAK;QACxE,wEAAwE;QACxE;YAAEL,MAAM;YAAOC,MAAM,CAACC,IAAMA,EAAEE,kBAAkB;YAAEC,KAAK;YAAMC,MAAM;QAAK;KACzE;AACH,GAAG;AAEH,OAAO,MAAMC,+BAAgDb,iBAC3D,YAAYc,QAAQ,EACpB;AAEF,OAAO,MAAMC,uBAAuB,OAClCC,MACAC;IAEA,MAAMP,qBAAqB,CAAEO,CAAAA,OAAOC,aAAa,IAAI,KAAI;IACzD,MAAMT,cAAc,CAAEQ,CAAAA,OAAOE,MAAM,IAAI,KAAI;IAC3C,MAAMC,iBAAiBtB,kBAAkBkB;IACzC,MAAMK,oBAAoBxB,YAAYoB,OAAOX,IAAI;IACjD,MAAMgB,qBAAqB,GAAGF,iBAAiBC,mBAAmB;IAClE,yDAAyD;IACzD,MAAME,MAAMlC,kBACV4B,OAAOO,SAAS,IAAI,KACpBP,OAAOQ,YAAY,IAAIJ;IAGzB,MAAMK,gBAAgBzB,cAAce,MAAMM;IAE1C,MAAMK,UAA2C;QAC/CC,OAAO;YACLC,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAU,SAAS;gBAAC,CAAC,gBAAgB,EAAEV,IAAI,KAAK,CAAC;aAAC;YACxCW,OAAO;QACT;QACAC,OAAO;YACLN,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAa,YAAY;QACd;QACAC,OAAO;YACLC,WAAW;gBAAC;aAAQ;QACtB;QACAC,SAAS;YACPV,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;YACP;YACAe,WAAW;gBAAC;aAAQ;YACpBF,YAAY;QACd;IACF;IAEA,IAAI1B,oBAAoB;QACtBiB,OAAO,CAAC,YAAY,GAAG;YACrBE,UAAU;YACVC,SAAS;gBACPC,SAAS;gBACTC,KAAKT;gBACLiB,gBAAgB;YAClB;QACF;IACF;IAEA,IAAI,CAACd,eAAe;QAClBvC,wBAAwB6B,MAAMM,oBAAoB;YAChDhB,MAAMgB;YACNV,MAAMW;YACNkB,YAAYpD,kBAAkBkC,KAAK;YACnCmB,aAAa;YACbf;QACF;IACF;IAEAxB,yBAAyBa,MAAM;QAAEO;QAAKD;IAAmB;IAEzD,MAAMqB,kBAAkB;QACtBrB;QACAsB,OAAO3B,OAAOX,IAAI;QAClBI;QACAD;QACAoC,KAAKjD,eAAeoB;QACpB8B,WAAW5C,mCAAmC6C,IAAI;QAClDC,OAAO,IAAIC,OAAOC,WAAW,GAAGC,KAAK,CAAC,GAAG;IAC3C;IAEA/D,cACE4B,MACA3B,kBAAkB,YAAY+D,OAAO,EAAE,SAAS,SAChD7B,KACAoB,iBACA;QAAEU,mBAAmB/D,kBAAkBgE,YAAY;IAAC;IAGtD,gFAAgF;IAChF,IAAI,CAAC7C,aAAa;QAChBO,KAAKuC,MAAM,CACTlE,kBACEkC,KACA,OACA,WACA,QACA,MACA,QACA;IAGN;IAEA,IAAIb,oBAAoB;QACtBtB,cACE4B,MACA3B,kBAAkB,YAAY+D,OAAO,EAAE,SAAS,gBAChD7B,KACAoB,iBACA;YAAEU,mBAAmB/D,kBAAkBgE,YAAY;QAAC;IAExD;IAEA,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAME,WAAgC;QACpCC,WAAW;QACX/C;QACAD;IACF;IACAV,qBACEiB,MACAM,oBACAT,8BACA2C;IAGFjE,kBAAkByB,MAAMZ,cAAc;QAAEoD;QAAUE,aAAanC;IAAI;IAEnE,MAAM5B,gCAAgCqB,MAAM;QAACH;KAA6B;IAE1E,MAAMpB,qBAAqBuB;IAC3B,OAAO,IACLtB,oBAAoBsB,MAAMC,OAAO0C,yBAAyB,EAAE;YAC1DC,WAAW;gBAAC;aAAa;QAC3B;AACJ,EAAE;AAEF,eAAe7C,qBAAqB"}
@@ -3,9 +3,9 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type GeneratorCallback, type Tree } from '@nx/devkit';
6
- import { type NxGeneratorInfo } from '../../utils/nx';
6
+ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsDcrProxyGeneratorSchema } from './schema';
8
- export declare const DEPENDENCIES: import("../../utils/declared-dependencies").DependencyDeclaration<readonly [{
8
+ export declare const DEPENDENCIES: import("../../utils/declared-dependencies.js").DependencyDeclaration<readonly [{
9
9
  readonly name: "@aws-sdk/client-secrets-manager";
10
10
  }, {
11
11
  readonly name: "@types/aws-lambda";
@@ -16,19 +16,19 @@ export declare const DEPENDENCIES: import("../../utils/declared-dependencies").D
16
16
  versionOnly: true;
17
17
  }, {
18
18
  readonly name: "constructs";
19
- readonly when: (m: import("../../utils/shared-constructs-constants").IacMetadata) => boolean;
19
+ readonly when: (m: import("../../utils/shared-constructs-constants.js").IacMetadata) => boolean;
20
20
  } & {
21
21
  versionOnly: true;
22
22
  }, {
23
23
  readonly name: "aws-cdk-lib";
24
- readonly when: (m: import("../../utils/shared-constructs-constants").IacMetadata) => boolean;
24
+ readonly when: (m: import("../../utils/shared-constructs-constants.js").IacMetadata) => boolean;
25
25
  } & {
26
26
  versionOnly: true;
27
27
  }, {
28
28
  readonly name: "@types/node";
29
29
  } & {
30
30
  versionOnly: true;
31
- }], readonly import("../../utils/declared-dependencies").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
31
+ }], readonly import("../../utils/declared-dependencies.js").DeclaredPyDependency<"a2a-sdk" | "ag-ui-langgraph" | "ag-ui-protocol" | "ag-ui-strands" | "aiosqlite" | "aws-lambda-powertools" | "aws-lambda-powertools[tracer]" | "aws-lambda-powertools[parser]" | "aws-opentelemetry-distro" | "bedrock-agentcore" | "boto3" | "checkov" | "fastapi" | "fastapi[standard]" | "httpx" | "langchain" | "langchain-aws" | "langchain-mcp-adapters" | "langgraph" | "langgraph-checkpoint-aws" | "langgraph-checkpoint-sqlite" | "mcp" | "pip-check-updates" | "pip-licenses" | "ruff" | "strands-agents" | "strands-agents[a2a]" | "strands-agents-tools" | "ty" | "pynamodb" | "uvicorn" | "sqlmodel" | "alembic" | "aiomysql" | "asyncpg" | "greenlet", Record<string, never>>[]>;
32
32
  export declare const TS_DCR_PROXY_GENERATOR_INFO: NxGeneratorInfo;
33
33
  export declare const tsDcrProxyGenerator: (tree: Tree, options: TsDcrProxyGeneratorSchema) => Promise<GeneratorCallback>;
34
34
  export default tsDcrProxyGenerator;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/dcr-proxy/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport tsProjectGenerator from '../../ts/lib/generator';\nimport { addTsDependencies } from '../../utils/add-dependencies';\nimport {\n addTypeScriptBundleTarget,\n BUNDLE_DEPENDENCIES,\n} from '../../utils/bundle/bundle';\nimport {\n addDcrProxyInfra,\n DCR_PROXY_HANDLERS,\n type DcrProxyHandler,\n} from '../../utils/dcr-proxy-constructs/dcr-proxy-constructs';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../utils/declared-dependencies';\nimport { formatFilesInSubtree } from '../../utils/format';\nimport { resolveIac } from '../../utils/iac';\nimport { installDependencies } from '../../utils/install';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics';\nimport { kebabCase, toClassName } from '../../utils/names';\nimport { getNpmScopePrefix } from '../../utils/npm-scope';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../utils/nx';\nimport { sortObjectKeys } from '../../utils/object';\nimport {\n SHARED_CONSTRUCTS_DEPENDENCIES,\n sharedConstructsGenerator,\n} from '../../utils/shared-constructs';\nimport type { TsDcrProxyGeneratorSchema } from './schema';\n\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n // Handler imports: @aws-sdk/client-secrets-manager (token handler) and\n // @types/aws-lambda (handler signatures).\n { name: '@aws-sdk/client-secrets-manager' },\n { name: '@types/aws-lambda', dev: true },\n ...ownedElsewhere(BUNDLE_DEPENDENCIES),\n ...ownedElsewhere(SHARED_CONSTRUCTS_DEPENDENCIES),\n ],\n});\n\nexport const TS_DCR_PROXY_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsDcrProxyGenerator = async (\n tree: Tree,\n options: TsDcrProxyGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const name = kebabCase(options.name ? options.name : 'dcr-proxy');\n const nameClassName = toClassName(name);\n\n const iac = await resolveIac(tree, options.iac);\n\n // The handlers live in a standalone TypeScript project so they can be bundled\n // (rolldown) into deployable artifacts referenced by both CDK and Terraform.\n const namespace = getNpmScopePrefix(tree);\n const proxyProjectName = `${namespace}${name}`;\n\n let projectExists: boolean;\n try {\n readProjectConfigurationUnqualified(tree, proxyProjectName);\n projectExists = true;\n } catch {\n projectExists = false;\n }\n\n if (!projectExists) {\n await tsProjectGenerator(tree, {\n name,\n directory: options.directory,\n subDirectory: options.subDirectory,\n preferInstallDependencies: false,\n });\n }\n\n const projectConfig = readProjectConfigurationUnqualified(\n tree,\n proxyProjectName,\n );\n const proxyRoot = projectConfig.root;\n\n // Place the Lambda handlers in the project source\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '..',\n '..',\n 'utils',\n 'dcr-proxy-constructs',\n 'files',\n 'project',\n ),\n proxyRoot,\n { nameClassName, nameKebabCase: name },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: proxyRoot });\n\n // Bundle each handler independently to dist/<root>/bundle/<handler>/index.js\n for (const handler of DCR_PROXY_HANDLERS) {\n await addTypeScriptBundleTarget(\n tree,\n projectConfig,\n {\n targetFilePath: `src/handlers/${handler}.ts`,\n bundleOutputDir: handler,\n external: [/@aws-sdk\\/.*/], // lambda runtime provides the aws sdk\n platform: 'node',\n },\n DEPENDENCIES,\n );\n }\n\n projectConfig.targets = sortObjectKeys(projectConfig.targets);\n updateProjectConfiguration(tree, projectConfig.name, projectConfig);\n\n // Recorded over the `ts#project` id the underlying generator wrote, so the\n // version sync attributes this project's dependencies to this generator.\n // After the write above, which would otherwise revert it.\n addGeneratorMetadata(tree, projectConfig.name, TS_DCR_PROXY_GENERATOR_INFO, {\n iac,\n });\n\n const bundlePathsFromRoot = Object.fromEntries(\n DCR_PROXY_HANDLERS.map((handler) => [\n handler,\n joinPathFragments('dist', proxyRoot, 'bundle', handler),\n ]),\n ) as Record<DcrProxyHandler, string>;\n\n await sharedConstructsGenerator(tree, { iac }, DEPENDENCIES);\n\n await addDcrProxyInfra(tree, {\n dcrProxyNameClassName: nameClassName,\n dcrProxyNameKebabCase: name,\n proxyProjectName,\n bundlePathsFromRoot,\n iac,\n });\n\n await addGeneratorMetricsIfApplicable(tree, [TS_DCR_PROXY_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsDcrProxyGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","tsProjectGenerator","addTsDependencies","addTypeScriptBundleTarget","BUNDLE_DEPENDENCIES","addDcrProxyInfra","DCR_PROXY_HANDLERS","declareDependencies","ownedElsewhere","formatFilesInSubtree","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","readProjectConfigurationUnqualified","sortObjectKeys","SHARED_CONSTRUCTS_DEPENDENCIES","sharedConstructsGenerator","DEPENDENCIES","ts","name","dev","TS_DCR_PROXY_GENERATOR_INFO","filename","tsDcrProxyGenerator","tree","options","nameClassName","iac","namespace","proxyProjectName","projectExists","directory","subDirectory","preferInstallDependencies","projectConfig","proxyRoot","root","dirname","nameKebabCase","overwriteStrategy","KeepExisting","projectRoot","handler","targetFilePath","bundleOutputDir","external","platform","targets","bundlePathsFromRoot","Object","fromEntries","map","dcrProxyNameClassName","dcrProxyNameKebabCase","languages"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/dcr-proxy/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport {\n type GeneratorCallback,\n generateFiles,\n joinPathFragments,\n OverwriteStrategy,\n type Tree,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport tsProjectGenerator from '../../ts/lib/generator.js';\nimport { addTsDependencies } from '../../utils/add-dependencies.js';\nimport {\n addTypeScriptBundleTarget,\n BUNDLE_DEPENDENCIES,\n} from '../../utils/bundle/bundle.js';\nimport {\n addDcrProxyInfra,\n DCR_PROXY_HANDLERS,\n type DcrProxyHandler,\n} from '../../utils/dcr-proxy-constructs/dcr-proxy-constructs.js';\nimport {\n declareDependencies,\n ownedElsewhere,\n} from '../../utils/declared-dependencies.js';\nimport { formatFilesInSubtree } from '../../utils/format.js';\nimport { resolveIac } from '../../utils/iac.js';\nimport { installDependencies } from '../../utils/install.js';\nimport { addGeneratorMetricsIfApplicable } from '../../utils/metrics.js';\nimport { kebabCase, toClassName } from '../../utils/names.js';\nimport { getNpmScopePrefix } from '../../utils/npm-scope.js';\nimport {\n addGeneratorMetadata,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../utils/nx.js';\nimport { sortObjectKeys } from '../../utils/object.js';\nimport {\n SHARED_CONSTRUCTS_DEPENDENCIES,\n sharedConstructsGenerator,\n} from '../../utils/shared-constructs.js';\nimport type { TsDcrProxyGeneratorSchema } from './schema';\n\nexport const DEPENDENCIES = declareDependencies()({\n ts: [\n // Handler imports: @aws-sdk/client-secrets-manager (token handler) and\n // @types/aws-lambda (handler signatures).\n { name: '@aws-sdk/client-secrets-manager' },\n { name: '@types/aws-lambda', dev: true },\n ...ownedElsewhere(BUNDLE_DEPENDENCIES),\n ...ownedElsewhere(SHARED_CONSTRUCTS_DEPENDENCIES),\n ],\n});\n\nexport const TS_DCR_PROXY_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsDcrProxyGenerator = async (\n tree: Tree,\n options: TsDcrProxyGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const name = kebabCase(options.name ? options.name : 'dcr-proxy');\n const nameClassName = toClassName(name);\n\n const iac = await resolveIac(tree, options.iac);\n\n // The handlers live in a standalone TypeScript project so they can be bundled\n // (rolldown) into deployable artifacts referenced by both CDK and Terraform.\n const namespace = getNpmScopePrefix(tree);\n const proxyProjectName = `${namespace}${name}`;\n\n let projectExists: boolean;\n try {\n readProjectConfigurationUnqualified(tree, proxyProjectName);\n projectExists = true;\n } catch {\n projectExists = false;\n }\n\n if (!projectExists) {\n await tsProjectGenerator(tree, {\n name,\n directory: options.directory,\n subDirectory: options.subDirectory,\n preferInstallDependencies: false,\n });\n }\n\n const projectConfig = readProjectConfigurationUnqualified(\n tree,\n proxyProjectName,\n );\n const proxyRoot = projectConfig.root;\n\n // Place the Lambda handlers in the project source\n generateFiles(\n tree,\n joinPathFragments(\n import.meta.dirname,\n '..',\n '..',\n 'utils',\n 'dcr-proxy-constructs',\n 'files',\n 'project',\n ),\n proxyRoot,\n { nameClassName, nameKebabCase: name },\n {\n overwriteStrategy: OverwriteStrategy.KeepExisting,\n },\n );\n\n addTsDependencies(tree, DEPENDENCIES, { projectRoot: proxyRoot });\n\n // Bundle each handler independently to dist/<root>/bundle/<handler>/index.js\n for (const handler of DCR_PROXY_HANDLERS) {\n await addTypeScriptBundleTarget(\n tree,\n projectConfig,\n {\n targetFilePath: `src/handlers/${handler}.ts`,\n bundleOutputDir: handler,\n external: [/@aws-sdk\\/.*/], // lambda runtime provides the aws sdk\n platform: 'node',\n },\n DEPENDENCIES,\n );\n }\n\n projectConfig.targets = sortObjectKeys(projectConfig.targets);\n updateProjectConfiguration(tree, projectConfig.name, projectConfig);\n\n // Recorded over the `ts#project` id the underlying generator wrote, so the\n // version sync attributes this project's dependencies to this generator.\n // After the write above, which would otherwise revert it.\n addGeneratorMetadata(tree, projectConfig.name, TS_DCR_PROXY_GENERATOR_INFO, {\n iac,\n });\n\n const bundlePathsFromRoot = Object.fromEntries(\n DCR_PROXY_HANDLERS.map((handler) => [\n handler,\n joinPathFragments('dist', proxyRoot, 'bundle', handler),\n ]),\n ) as Record<DcrProxyHandler, string>;\n\n await sharedConstructsGenerator(tree, { iac }, DEPENDENCIES);\n\n await addDcrProxyInfra(tree, {\n dcrProxyNameClassName: nameClassName,\n dcrProxyNameKebabCase: name,\n proxyProjectName,\n bundlePathsFromRoot,\n iac,\n });\n\n await addGeneratorMetricsIfApplicable(tree, [TS_DCR_PROXY_GENERATOR_INFO]);\n\n await formatFilesInSubtree(tree);\n return () =>\n installDependencies(tree, options.preferInstallDependencies, {\n languages: ['typescript'],\n });\n};\n\nexport default tsDcrProxyGenerator;\n"],"names":["generateFiles","joinPathFragments","OverwriteStrategy","updateProjectConfiguration","tsProjectGenerator","addTsDependencies","addTypeScriptBundleTarget","BUNDLE_DEPENDENCIES","addDcrProxyInfra","DCR_PROXY_HANDLERS","declareDependencies","ownedElsewhere","formatFilesInSubtree","resolveIac","installDependencies","addGeneratorMetricsIfApplicable","kebabCase","toClassName","getNpmScopePrefix","addGeneratorMetadata","getGeneratorInfo","readProjectConfigurationUnqualified","sortObjectKeys","SHARED_CONSTRUCTS_DEPENDENCIES","sharedConstructsGenerator","DEPENDENCIES","ts","name","dev","TS_DCR_PROXY_GENERATOR_INFO","filename","tsDcrProxyGenerator","tree","options","nameClassName","iac","namespace","proxyProjectName","projectExists","directory","subDirectory","preferInstallDependencies","projectConfig","proxyRoot","root","dirname","nameKebabCase","overwriteStrategy","KeepExisting","projectRoot","handler","targetFilePath","bundleOutputDir","external","platform","targets","bundlePathsFromRoot","Object","fromEntries","map","dcrProxyNameClassName","dcrProxyNameKebabCase","languages"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/dcr-proxy/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { IacOption } from '../../utils/iac';\n\nexport interface TsDcrProxyGeneratorSchema {\n name?: string;\n directory?: string;\n subDirectory?: string;\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD,WAMC"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/dcr-proxy/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { IacOption } from '../../utils/iac.js';\n\nexport interface TsDcrProxyGeneratorSchema {\n name?: string;\n directory?: string;\n subDirectory?: string;\n iac: IacOption;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD,WAMC"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import type { IacOption } from '../../utils/iac';
5
+ import type { IacOption } from '../../utils/iac.js';
6
6
 
7
7
  export interface TsDcrProxyGeneratorSchema {
8
8
  name?: string;
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import type { GeneratorCallback, Tree } from '@nx/devkit';
6
- import { type NxGeneratorInfo } from '../../utils/nx';
6
+ import { type NxGeneratorInfo } from '../../utils/nx.js';
7
7
  import type { TsDocsGeneratorSchema } from './schema';
8
8
  export declare const TS_DOCS_GENERATOR_INFO: NxGeneratorInfo;
9
9
  export declare const tsDocsGenerator: (tree: Tree, schema: TsDocsGeneratorSchema) => Promise<GeneratorCallback>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { GeneratorCallback, Tree } from '@nx/devkit';\nimport { getGeneratorInfo, type NxGeneratorInfo } from '../../utils/nx';\nimport { tsAstroDocsGenerator } from '../astro-docs/generator';\nimport type { TsDocsGeneratorSchema } from './schema';\n\nexport const TS_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsDocsGenerator = async (\n tree: Tree,\n schema: TsDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const { framework: _framework, ...rest } = schema;\n return tsAstroDocsGenerator(tree, rest);\n};\n\nexport default tsDocsGenerator;\n"],"names":["getGeneratorInfo","tsAstroDocsGenerator","TS_DOCS_GENERATOR_INFO","filename","tsDocsGenerator","tree","schema","framework","_framework","rest"],"mappings":"AAAA;;;CAGC,GAED,SAASA,gBAAgB,QAA8B,oBAAiB;AACxE,SAASC,oBAAoB,QAAQ,6BAA0B;AAG/D,OAAO,MAAMC,yBAA0CF,iBACrD,YAAYG,QAAQ,EACpB;AAEF,OAAO,MAAMC,kBAAkB,OAC7BC,MACAC;IAEA,MAAM,EAAEC,WAAWC,UAAU,EAAE,GAAGC,MAAM,GAAGH;IAC3C,OAAOL,qBAAqBI,MAAMI;AACpC,EAAE;AAEF,eAAeL,gBAAgB"}
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/ts/docs/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { GeneratorCallback, Tree } from '@nx/devkit';\nimport { getGeneratorInfo, type NxGeneratorInfo } from '../../utils/nx.js';\nimport { tsAstroDocsGenerator } from '../astro-docs/generator.js';\nimport type { TsDocsGeneratorSchema } from './schema';\n\nexport const TS_DOCS_GENERATOR_INFO: NxGeneratorInfo = getGeneratorInfo(\n import.meta.filename,\n);\n\nexport const tsDocsGenerator = async (\n tree: Tree,\n schema: TsDocsGeneratorSchema,\n): Promise<GeneratorCallback> => {\n const { framework: _framework, ...rest } = schema;\n return tsAstroDocsGenerator(tree, rest);\n};\n\nexport default tsDocsGenerator;\n"],"names":["getGeneratorInfo","tsAstroDocsGenerator","TS_DOCS_GENERATOR_INFO","filename","tsDocsGenerator","tree","schema","framework","_framework","rest"],"mappings":"AAAA;;;CAGC,GAED,SAASA,gBAAgB,QAA8B,oBAAoB;AAC3E,SAASC,oBAAoB,QAAQ,6BAA6B;AAGlE,OAAO,MAAMC,yBAA0CF,iBACrD,YAAYG,QAAQ,EACpB;AAEF,OAAO,MAAMC,kBAAkB,OAC7BC,MACAC;IAEA,MAAM,EAAEC,WAAWC,UAAU,EAAE,GAAGC,MAAM,GAAGH;IAC3C,OAAOL,qBAAqBI,MAAMI;AACpC,EAAE;AAEF,eAAeL,gBAAgB"}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { type Tree } from '@nx/devkit';
6
- import { type NxGeneratorInfo } from '../../../utils/nx';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx.js';
7
7
  import type { TsDynamoDBAgentConnectionGeneratorSchema } from './schema';
8
8
  export declare const TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
9
  export declare const tsDynamoDBAgentConnectionGenerator: (tree: Tree, options: TsDynamoDBAgentConnectionGeneratorSchema) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/agent-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { type Tree, updateProjectConfiguration } from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../../utils/format';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx';\nimport type { TsDynamoDBAgentConnectionGeneratorSchema } from './schema';\n\nexport const TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsDynamoDBAgentConnectionGenerator = async (\n tree: Tree,\n options: TsDynamoDBAgentConnectionGeneratorSchema,\n): Promise<void> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentName = options.sourceComponent?.name ?? 'agent';\n const devTarget = `${agentName}-dev`;\n\n if (sourceProject.targets?.[devTarget]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTarget, {\n projects: [targetProject.name],\n target: 'dev',\n });\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // Recorded so the version sync can identify this connection.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO,\n targetProject.root,\n `${agentName}-${targetProject.name}`,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO,\n ]);\n await formatFilesInSubtree(tree);\n};\n\nexport default tsDynamoDBAgentConnectionGenerator;\n"],"names":["updateProjectConfiguration","formatFilesInSubtree","addGeneratorMetricsIfApplicable","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO","filename","tsDynamoDBAgentConnectionGenerator","tree","options","sourceProject","targetProject","agentName","sourceComponent","name","devTarget","targets","projects","target","root","sourcePath","path"],"mappings":"AAAA;;;CAGC,GACD,SAAoBA,0BAA0B,QAAQ,aAAa;AACnE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,+BAA+B,QAAQ,4BAAyB;AACzE,SACEC,6BAA6B,EAC7BC,iCAAiC,EACjCC,gBAAgB,EAEhBC,mCAAmC,QAC9B,uBAAoB;AAG3B,OAAO,MAAMC,8CACXF,iBAAiB,YAAYG,QAAQ,EAAE;AAEzC,OAAO,MAAMC,qCAAqC,OAChDC,MACAC;IAEA,MAAMC,gBAAgBN,oCACpBI,MACAC,QAAQC,aAAa;IAEvB,MAAMC,gBAAgBP,oCACpBI,MACAC,QAAQE,aAAa;IAGvB,MAAMC,YAAYH,QAAQI,eAAe,EAAEC,QAAQ;IACnD,MAAMC,YAAY,GAAGH,UAAU,IAAI,CAAC;IAEpC,IAAIF,cAAcM,OAAO,EAAE,CAACD,UAAU,EAAE;QACtCb,kCAAkCQ,eAAeK,WAAW;YAC1DE,UAAU;gBAACN,cAAcG,IAAI;aAAC;YAC9BI,QAAQ;QACV;QACApB,2BAA2BU,MAAME,cAAcI,IAAI,EAAEJ;IACvD;IAEA,6DAA6D;IAC7DT,8BACEO,MACAE,cAAcI,IAAI,EAClBT,6CACAM,cAAcQ,IAAI,EAClB,GAAGP,UAAU,CAAC,EAAED,cAAcG,IAAI,EAAE,EACpC,oEAAoE;IACpE,kDAAkD;IAClD;QAAEM,YAAYX,QAAQI,eAAe,EAAEQ;IAAK;IAG9C,MAAMrB,gCAAgCQ,MAAM;QAC1CH;KACD;IACD,MAAMN,qBAAqBS;AAC7B,EAAE;AAEF,eAAeD,mCAAmC"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/agent-connection/generator.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { type Tree, updateProjectConfiguration } from '@nx/devkit';\nimport { formatFilesInSubtree } from '../../../utils/format.js';\nimport { addGeneratorMetricsIfApplicable } from '../../../utils/metrics.js';\nimport {\n addComponentGeneratorMetadata,\n addDependencyToTargetIfNotPresent,\n getGeneratorInfo,\n type NxGeneratorInfo,\n readProjectConfigurationUnqualified,\n} from '../../../utils/nx.js';\nimport type { TsDynamoDBAgentConnectionGeneratorSchema } from './schema';\n\nexport const TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo =\n getGeneratorInfo(import.meta.filename);\n\nexport const tsDynamoDBAgentConnectionGenerator = async (\n tree: Tree,\n options: TsDynamoDBAgentConnectionGeneratorSchema,\n): Promise<void> => {\n const sourceProject = readProjectConfigurationUnqualified(\n tree,\n options.sourceProject,\n );\n const targetProject = readProjectConfigurationUnqualified(\n tree,\n options.targetProject,\n );\n\n const agentName = options.sourceComponent?.name ?? 'agent';\n const devTarget = `${agentName}-dev`;\n\n if (sourceProject.targets?.[devTarget]) {\n addDependencyToTargetIfNotPresent(sourceProject, devTarget, {\n projects: [targetProject.name],\n target: 'dev',\n });\n updateProjectConfiguration(tree, sourceProject.name, sourceProject);\n }\n\n // Recorded so the version sync can identify this connection.\n addComponentGeneratorMetadata(\n tree,\n sourceProject.name,\n TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO,\n targetProject.root,\n `${agentName}-${targetProject.name}`,\n // The source component this connection is made from, so the pair is\n // identifiable rather than just the two projects.\n { sourcePath: options.sourceComponent?.path },\n );\n\n await addGeneratorMetricsIfApplicable(tree, [\n TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO,\n ]);\n await formatFilesInSubtree(tree);\n};\n\nexport default tsDynamoDBAgentConnectionGenerator;\n"],"names":["updateProjectConfiguration","formatFilesInSubtree","addGeneratorMetricsIfApplicable","addComponentGeneratorMetadata","addDependencyToTargetIfNotPresent","getGeneratorInfo","readProjectConfigurationUnqualified","TS_DYNAMODB_AGENT_CONNECTION_GENERATOR_INFO","filename","tsDynamoDBAgentConnectionGenerator","tree","options","sourceProject","targetProject","agentName","sourceComponent","name","devTarget","targets","projects","target","root","sourcePath","path"],"mappings":"AAAA;;;CAGC,GACD,SAAoBA,0BAA0B,QAAQ,aAAa;AACnE,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,+BAA+B,QAAQ,4BAA4B;AAC5E,SACEC,6BAA6B,EAC7BC,iCAAiC,EACjCC,gBAAgB,EAEhBC,mCAAmC,QAC9B,uBAAuB;AAG9B,OAAO,MAAMC,8CACXF,iBAAiB,YAAYG,QAAQ,EAAE;AAEzC,OAAO,MAAMC,qCAAqC,OAChDC,MACAC;IAEA,MAAMC,gBAAgBN,oCACpBI,MACAC,QAAQC,aAAa;IAEvB,MAAMC,gBAAgBP,oCACpBI,MACAC,QAAQE,aAAa;IAGvB,MAAMC,YAAYH,QAAQI,eAAe,EAAEC,QAAQ;IACnD,MAAMC,YAAY,GAAGH,UAAU,IAAI,CAAC;IAEpC,IAAIF,cAAcM,OAAO,EAAE,CAACD,UAAU,EAAE;QACtCb,kCAAkCQ,eAAeK,WAAW;YAC1DE,UAAU;gBAACN,cAAcG,IAAI;aAAC;YAC9BI,QAAQ;QACV;QACApB,2BAA2BU,MAAME,cAAcI,IAAI,EAAEJ;IACvD;IAEA,6DAA6D;IAC7DT,8BACEO,MACAE,cAAcI,IAAI,EAClBT,6CACAM,cAAcQ,IAAI,EAClB,GAAGP,UAAU,CAAC,EAAED,cAAcG,IAAI,EAAE,EACpC,oEAAoE;IACpE,kDAAkD;IAClD;QAAEM,YAAYX,QAAQI,eAAe,EAAEQ;IAAK;IAG9C,MAAMrB,gCAAgCQ,MAAM;QAC1CH;KACD;IACD,MAAMN,qBAAqBS;AAC7B,EAAE;AAEF,eAAeD,mCAAmC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/agent-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ComponentMetadata } from '../../../utils/nx';\n\n/**\n * TypeScript types for options defined in schema.json\n */\nexport interface TsDynamoDBAgentConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD;;CAEC,GACD,WAKC"}
1
+ {"version":3,"sources":["../../../../../../../packages/nx-plugin/src/ts/dynamodb/agent-connection/schema.d.ts"],"sourcesContent":["/**\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ComponentMetadata } from '../../../utils/nx.js';\n\n/**\n * TypeScript types for options defined in schema.json\n */\nexport interface TsDynamoDBAgentConnectionGeneratorSchema {\n sourceProject: string;\n targetProject: string;\n sourceComponent?: ComponentMetadata;\n preferInstallDependencies?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;;CAGC,GAGD;;CAEC,GACD,WAKC"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { ComponentMetadata } from '../../../utils/nx';
5
+ import { ComponentMetadata } from '../../../utils/nx.js';
6
6
 
7
7
  /**
8
8
  * TypeScript types for options defined in schema.json