@aws/agentcore 1.0.0-preview.3 → 1.0.0-preview.30

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 (330) hide show
  1. package/README.md +193 -33
  2. package/dist/agent-inspector/index.css +1 -1
  3. package/dist/agent-inspector/index.js +99 -84
  4. package/dist/assets/README.md +6 -2
  5. package/dist/assets/__tests__/__snapshots__/assets.snapshot.test.ts.snap +3344 -366
  6. package/dist/assets/__tests__/__snapshots__/dockerfile-render.test.ts.snap +6 -2
  7. package/dist/assets/__tests__/assets.snapshot.test.ts +10 -24
  8. package/dist/assets/__tests__/googleadk-observability.test.ts +23 -0
  9. package/dist/assets/__tests__/googleadk-session-eviction.test.ts +87 -0
  10. package/dist/assets/__tests__/input-validation.test.ts +44 -0
  11. package/dist/assets/__tests__/summarization-namespace.test.ts +43 -0
  12. package/dist/assets/agents/AGENTS.md +91 -14
  13. package/dist/assets/cdk/bin/cdk.ts +109 -24
  14. package/dist/assets/cdk/lib/cdk-stack.ts +227 -19
  15. package/dist/assets/cdk/package.json +9 -9
  16. package/dist/assets/cdk/test/cdk.test.ts +4 -0
  17. package/dist/assets/container/python/Dockerfile +7 -1
  18. package/dist/assets/container/typescript/Dockerfile +25 -0
  19. package/dist/assets/container/typescript/dockerignore.template +24 -0
  20. package/dist/assets/datasets/predefined-v1.jsonl +3 -0
  21. package/dist/assets/datasets/simulated-v1.jsonl +3 -0
  22. package/dist/assets/evaluators/autoevals-lambda/execution-role-policy.json +15 -0
  23. package/dist/assets/evaluators/autoevals-lambda/lambda_function.py +37 -0
  24. package/dist/assets/evaluators/autoevals-lambda/pyproject.toml +22 -0
  25. package/dist/assets/evaluators/deepeval-lambda/execution-role-policy.json +15 -0
  26. package/dist/assets/evaluators/deepeval-lambda/lambda_function.py +29 -0
  27. package/dist/assets/evaluators/deepeval-lambda/pyproject.toml +19 -0
  28. package/dist/assets/mcp/python/pyproject.toml +1 -1
  29. package/dist/assets/python/a2a/googleadk/base/main.py +32 -18
  30. package/dist/assets/python/a2a/googleadk/base/pyproject.toml +6 -4
  31. package/dist/assets/python/a2a/langchain_langgraph/base/main.py +35 -21
  32. package/dist/assets/python/a2a/langchain_langgraph/base/pyproject.toml +4 -3
  33. package/dist/assets/python/a2a/strands/base/main.py +23 -17
  34. package/dist/assets/python/a2a/strands/base/pyproject.toml +3 -3
  35. package/dist/assets/python/a2a/strands/capabilities/memory/session.py +4 -1
  36. package/dist/assets/python/agui/googleadk/base/main.py +62 -2
  37. package/dist/assets/python/agui/googleadk/base/pyproject.toml +6 -5
  38. package/dist/assets/python/agui/langchain_langgraph/base/main.py +56 -0
  39. package/dist/assets/python/agui/langchain_langgraph/base/pyproject.toml +3 -2
  40. package/dist/assets/python/agui/strands/base/main.py +63 -1
  41. package/dist/assets/python/agui/strands/base/pyproject.toml +2 -2
  42. package/dist/assets/python/agui/strands/capabilities/memory/session.py +4 -1
  43. package/dist/assets/python/http/autogen/base/README.md +7 -1
  44. package/dist/assets/python/http/autogen/base/main.py +62 -29
  45. package/dist/assets/python/http/autogen/base/pyproject.toml +1 -1
  46. package/dist/assets/python/http/googleadk/base/README.md +7 -1
  47. package/dist/assets/python/http/googleadk/base/main.py +71 -24
  48. package/dist/assets/python/http/googleadk/base/mcp_client/client.py +7 -7
  49. package/dist/assets/python/http/googleadk/base/pyproject.toml +5 -3
  50. package/dist/assets/python/http/langchain_langgraph/base/README.md +7 -1
  51. package/dist/assets/python/http/langchain_langgraph/base/main.py +119 -24
  52. package/dist/assets/python/http/langchain_langgraph/base/mcp_client/client.py +10 -8
  53. package/dist/assets/python/http/langchain_langgraph/base/pyproject.toml +5 -4
  54. package/dist/assets/python/http/openaiagents/base/README.md +7 -1
  55. package/dist/assets/python/http/openaiagents/base/main.py +63 -32
  56. package/dist/assets/python/http/openaiagents/base/mcp_client/client.py +4 -4
  57. package/dist/assets/python/http/openaiagents/base/pyproject.toml +3 -3
  58. package/dist/assets/python/http/strands/base/README.md +8 -1
  59. package/dist/assets/python/http/strands/base/main.py +607 -47
  60. package/dist/assets/python/http/strands/base/mcp_client/client.py +49 -6
  61. package/dist/assets/python/http/strands/base/model/load.py +119 -3
  62. package/dist/assets/python/http/strands/base/model/mantle_compat.py +21 -0
  63. package/dist/assets/python/http/strands/base/pyproject.toml +11 -5
  64. package/dist/assets/python/http/strands/base/skills/fetcher.py +279 -0
  65. package/dist/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
  66. package/dist/assets/python/http/strands/capabilities/memory/session.py +4 -1
  67. package/dist/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
  68. package/dist/assets/python/http/strands/capabilities/payments/payments.py +142 -0
  69. package/dist/assets/python/mcp/standalone/base/main.py +58 -0
  70. package/dist/assets/python/mcp/standalone/base/pyproject.toml +1 -1
  71. package/dist/assets/typescript/http/strands/base/README.md +42 -0
  72. package/dist/assets/typescript/http/strands/base/gitignore.template +22 -0
  73. package/dist/assets/typescript/http/strands/base/main.ts +149 -0
  74. package/dist/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
  75. package/dist/assets/typescript/http/strands/base/model/load.ts +102 -0
  76. package/dist/assets/typescript/http/strands/base/package.json +38 -0
  77. package/dist/assets/typescript/http/strands/base/tsconfig.json +19 -0
  78. package/dist/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
  79. package/dist/assets/typescript/http/vercelai/base/README.md +42 -0
  80. package/dist/assets/typescript/http/vercelai/base/gitignore.template +22 -0
  81. package/dist/assets/typescript/http/vercelai/base/main.ts +70 -0
  82. package/dist/assets/typescript/http/vercelai/base/model/load.ts +121 -0
  83. package/dist/assets/typescript/http/vercelai/base/package.json +35 -0
  84. package/dist/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
  85. package/dist/cli/index.mjs +1743 -627
  86. package/dist/lib/constants.d.ts +8 -4
  87. package/dist/lib/constants.d.ts.map +1 -1
  88. package/dist/lib/constants.js +13 -7
  89. package/dist/lib/constants.js.map +1 -1
  90. package/dist/lib/dependency-management/index.d.ts +5 -0
  91. package/dist/lib/dependency-management/index.d.ts.map +1 -0
  92. package/dist/lib/dependency-management/index.js +8 -0
  93. package/dist/lib/dependency-management/index.js.map +1 -0
  94. package/dist/lib/dependency-management/messages.d.ts +30 -0
  95. package/dist/lib/dependency-management/messages.d.ts.map +1 -0
  96. package/dist/lib/dependency-management/messages.js +86 -0
  97. package/dist/lib/dependency-management/messages.js.map +1 -0
  98. package/dist/lib/dependency-management/plan.d.ts +25 -0
  99. package/dist/lib/dependency-management/plan.d.ts.map +1 -0
  100. package/dist/lib/dependency-management/plan.js +67 -0
  101. package/dist/lib/dependency-management/plan.js.map +1 -0
  102. package/dist/lib/dependency-management/semver.d.ts +21 -0
  103. package/dist/lib/dependency-management/semver.d.ts.map +1 -0
  104. package/dist/lib/dependency-management/semver.js +51 -0
  105. package/dist/lib/dependency-management/semver.js.map +1 -0
  106. package/dist/lib/dependency-management/sync.d.ts +26 -0
  107. package/dist/lib/dependency-management/sync.d.ts.map +1 -0
  108. package/dist/lib/dependency-management/sync.js +141 -0
  109. package/dist/lib/dependency-management/sync.js.map +1 -0
  110. package/dist/lib/dependency-management/types.d.ts +85 -0
  111. package/dist/lib/dependency-management/types.d.ts.map +1 -0
  112. package/dist/lib/dependency-management/types.js +3 -0
  113. package/dist/lib/dependency-management/types.js.map +1 -0
  114. package/dist/lib/errors/index.d.ts +1 -1
  115. package/dist/lib/errors/index.d.ts.map +1 -1
  116. package/dist/lib/errors/index.js +1 -1
  117. package/dist/lib/errors/index.js.map +1 -1
  118. package/dist/lib/errors/types.d.ts +274 -0
  119. package/dist/lib/errors/types.d.ts.map +1 -0
  120. package/dist/lib/errors/types.js +423 -0
  121. package/dist/lib/errors/types.js.map +1 -0
  122. package/dist/lib/errors/zod.d.ts +8 -0
  123. package/dist/lib/errors/zod.d.ts.map +1 -0
  124. package/dist/lib/errors/{config.js → zod.js} +8 -81
  125. package/dist/lib/errors/zod.js.map +1 -0
  126. package/dist/lib/index.d.ts +3 -0
  127. package/dist/lib/index.d.ts.map +1 -1
  128. package/dist/lib/index.js +4 -1
  129. package/dist/lib/index.js.map +1 -1
  130. package/dist/lib/packaging/build-args.d.ts +6 -0
  131. package/dist/lib/packaging/build-args.d.ts.map +1 -1
  132. package/dist/lib/packaging/build-args.js +11 -2
  133. package/dist/lib/packaging/build-args.js.map +1 -1
  134. package/dist/lib/packaging/build-context-dockerignore.d.ts +23 -0
  135. package/dist/lib/packaging/build-context-dockerignore.d.ts.map +1 -0
  136. package/dist/lib/packaging/build-context-dockerignore.js +63 -0
  137. package/dist/lib/packaging/build-context-dockerignore.js.map +1 -0
  138. package/dist/lib/packaging/build-context.d.ts +21 -0
  139. package/dist/lib/packaging/build-context.d.ts.map +1 -0
  140. package/dist/lib/packaging/build-context.js +21 -0
  141. package/dist/lib/packaging/build-context.js.map +1 -0
  142. package/dist/lib/packaging/container.d.ts.map +1 -1
  143. package/dist/lib/packaging/container.js +20 -9
  144. package/dist/lib/packaging/container.js.map +1 -1
  145. package/dist/lib/packaging/helpers.d.ts +16 -0
  146. package/dist/lib/packaging/helpers.d.ts.map +1 -1
  147. package/dist/lib/packaging/helpers.js +127 -29
  148. package/dist/lib/packaging/helpers.js.map +1 -1
  149. package/dist/lib/packaging/index.d.ts +2 -1
  150. package/dist/lib/packaging/index.d.ts.map +1 -1
  151. package/dist/lib/packaging/index.js +9 -20
  152. package/dist/lib/packaging/index.js.map +1 -1
  153. package/dist/lib/packaging/node.d.ts +2 -2
  154. package/dist/lib/packaging/node.d.ts.map +1 -1
  155. package/dist/lib/packaging/node.js +83 -38
  156. package/dist/lib/packaging/node.js.map +1 -1
  157. package/dist/lib/packaging/python.js +12 -12
  158. package/dist/lib/packaging/python.js.map +1 -1
  159. package/dist/lib/result.d.ts +57 -0
  160. package/dist/lib/result.d.ts.map +1 -0
  161. package/dist/lib/result.js +62 -0
  162. package/dist/lib/result.js.map +1 -0
  163. package/dist/lib/schemas/io/config-io.d.ts +14 -0
  164. package/dist/lib/schemas/io/config-io.d.ts.map +1 -1
  165. package/dist/lib/schemas/io/config-io.js +89 -5
  166. package/dist/lib/schemas/io/config-io.js.map +1 -1
  167. package/dist/lib/schemas/io/global-config.d.ts +41 -0
  168. package/dist/lib/schemas/io/global-config.d.ts.map +1 -0
  169. package/dist/lib/schemas/io/global-config.js +119 -0
  170. package/dist/lib/schemas/io/global-config.js.map +1 -0
  171. package/dist/lib/schemas/io/index.d.ts +1 -2
  172. package/dist/lib/schemas/io/index.d.ts.map +1 -1
  173. package/dist/lib/schemas/io/index.js +1 -4
  174. package/dist/lib/schemas/io/index.js.map +1 -1
  175. package/dist/lib/schemas/io/path-resolver.d.ts +0 -6
  176. package/dist/lib/schemas/io/path-resolver.d.ts.map +1 -1
  177. package/dist/lib/schemas/io/path-resolver.js +3 -13
  178. package/dist/lib/schemas/io/path-resolver.js.map +1 -1
  179. package/dist/lib/secrets/cipher.d.ts +12 -0
  180. package/dist/lib/secrets/cipher.d.ts.map +1 -0
  181. package/dist/lib/secrets/cipher.js +54 -0
  182. package/dist/lib/secrets/cipher.js.map +1 -0
  183. package/dist/lib/secrets/index.d.ts +4 -0
  184. package/dist/lib/secrets/index.d.ts.map +1 -0
  185. package/dist/lib/secrets/index.js +15 -0
  186. package/dist/lib/secrets/index.js.map +1 -0
  187. package/dist/lib/secrets/key-provider.d.ts +16 -0
  188. package/dist/lib/secrets/key-provider.d.ts.map +1 -0
  189. package/dist/lib/secrets/key-provider.js +191 -0
  190. package/dist/lib/secrets/key-provider.js.map +1 -0
  191. package/dist/lib/secrets/sensitive-keys.d.ts +21 -0
  192. package/dist/lib/secrets/sensitive-keys.d.ts.map +1 -0
  193. package/dist/lib/secrets/sensitive-keys.js +67 -0
  194. package/dist/lib/secrets/sensitive-keys.js.map +1 -0
  195. package/dist/lib/time-constants.d.ts +5 -0
  196. package/dist/lib/time-constants.d.ts.map +1 -0
  197. package/dist/lib/time-constants.js +8 -0
  198. package/dist/lib/time-constants.js.map +1 -0
  199. package/dist/lib/utils/env.d.ts +8 -2
  200. package/dist/lib/utils/env.d.ts.map +1 -1
  201. package/dist/lib/utils/env.js +65 -17
  202. package/dist/lib/utils/env.js.map +1 -1
  203. package/dist/lib/utils/index.d.ts +3 -2
  204. package/dist/lib/utils/index.d.ts.map +1 -1
  205. package/dist/lib/utils/index.js +6 -1
  206. package/dist/lib/utils/index.js.map +1 -1
  207. package/dist/lib/utils/polling.d.ts +31 -0
  208. package/dist/lib/utils/polling.d.ts.map +1 -0
  209. package/dist/lib/utils/polling.js +61 -0
  210. package/dist/lib/utils/polling.js.map +1 -0
  211. package/dist/lib/utils/subprocess.d.ts +4 -1
  212. package/dist/lib/utils/subprocess.d.ts.map +1 -1
  213. package/dist/lib/utils/subprocess.js +11 -57
  214. package/dist/lib/utils/subprocess.js.map +1 -1
  215. package/dist/lib/utils/zod.d.ts +16 -0
  216. package/dist/lib/utils/zod.d.ts.map +1 -1
  217. package/dist/lib/utils/zod.js +45 -0
  218. package/dist/lib/utils/zod.js.map +1 -1
  219. package/dist/schema/constants.d.ts +56 -2
  220. package/dist/schema/constants.d.ts.map +1 -1
  221. package/dist/schema/constants.js +82 -7
  222. package/dist/schema/constants.js.map +1 -1
  223. package/dist/schema/schemas/agent-env.d.ts +187 -7
  224. package/dist/schema/schemas/agent-env.d.ts.map +1 -1
  225. package/dist/schema/schemas/agent-env.js +323 -27
  226. package/dist/schema/schemas/agent-env.js.map +1 -1
  227. package/dist/schema/schemas/agentcore-project.d.ts +519 -12
  228. package/dist/schema/schemas/agentcore-project.d.ts.map +1 -1
  229. package/dist/schema/schemas/agentcore-project.js +342 -13
  230. package/dist/schema/schemas/agentcore-project.js.map +1 -1
  231. package/dist/schema/schemas/auth.d.ts +174 -0
  232. package/dist/schema/schemas/auth.d.ts.map +1 -1
  233. package/dist/schema/schemas/auth.js +127 -3
  234. package/dist/schema/schemas/auth.js.map +1 -1
  235. package/dist/schema/schemas/aws-targets.d.ts +18 -0
  236. package/dist/schema/schemas/aws-targets.d.ts.map +1 -1
  237. package/dist/schema/schemas/aws-targets.js +6 -0
  238. package/dist/schema/schemas/aws-targets.js.map +1 -1
  239. package/dist/schema/schemas/connections.d.ts +185 -0
  240. package/dist/schema/schemas/connections.d.ts.map +1 -0
  241. package/dist/schema/schemas/connections.js +176 -0
  242. package/dist/schema/schemas/connections.js.map +1 -0
  243. package/dist/schema/schemas/deployed-state.d.ts +392 -5
  244. package/dist/schema/schemas/deployed-state.d.ts.map +1 -1
  245. package/dist/schema/schemas/deployed-state.js +112 -2
  246. package/dist/schema/schemas/deployed-state.js.map +1 -1
  247. package/dist/schema/schemas/index.d.ts +3 -0
  248. package/dist/schema/schemas/index.d.ts.map +1 -1
  249. package/dist/schema/schemas/index.js +5 -0
  250. package/dist/schema/schemas/index.js.map +1 -1
  251. package/dist/schema/schemas/mcp-defs.d.ts +2 -1
  252. package/dist/schema/schemas/mcp-defs.d.ts.map +1 -1
  253. package/dist/schema/schemas/mcp-defs.js +3 -2
  254. package/dist/schema/schemas/mcp-defs.js.map +1 -1
  255. package/dist/schema/schemas/mcp.d.ts +197 -0
  256. package/dist/schema/schemas/mcp.d.ts.map +1 -1
  257. package/dist/schema/schemas/mcp.js +334 -5
  258. package/dist/schema/schemas/mcp.js.map +1 -1
  259. package/dist/schema/schemas/primitives/ab-test.d.ts +135 -0
  260. package/dist/schema/schemas/primitives/ab-test.d.ts.map +1 -0
  261. package/dist/schema/schemas/primitives/ab-test.js +95 -0
  262. package/dist/schema/schemas/primitives/ab-test.js.map +1 -0
  263. package/dist/schema/schemas/primitives/capacity-provider.d.ts +237 -0
  264. package/dist/schema/schemas/primitives/capacity-provider.d.ts.map +1 -0
  265. package/dist/schema/schemas/primitives/capacity-provider.js +220 -0
  266. package/dist/schema/schemas/primitives/capacity-provider.js.map +1 -0
  267. package/dist/schema/schemas/primitives/config-bundle.d.ts +32 -0
  268. package/dist/schema/schemas/primitives/config-bundle.d.ts.map +1 -0
  269. package/dist/schema/schemas/primitives/config-bundle.js +41 -0
  270. package/dist/schema/schemas/primitives/config-bundle.js.map +1 -0
  271. package/dist/schema/schemas/primitives/dataset.d.ts +48 -0
  272. package/dist/schema/schemas/primitives/dataset.d.ts.map +1 -0
  273. package/dist/schema/schemas/primitives/dataset.js +58 -0
  274. package/dist/schema/schemas/primitives/dataset.js.map +1 -0
  275. package/dist/schema/schemas/primitives/evaluator.d.ts +22 -0
  276. package/dist/schema/schemas/primitives/evaluator.d.ts.map +1 -1
  277. package/dist/schema/schemas/primitives/evaluator.js +28 -3
  278. package/dist/schema/schemas/primitives/evaluator.js.map +1 -1
  279. package/dist/schema/schemas/primitives/harness.d.ts +377 -19
  280. package/dist/schema/schemas/primitives/harness.d.ts.map +1 -1
  281. package/dist/schema/schemas/primitives/harness.js +379 -24
  282. package/dist/schema/schemas/primitives/harness.js.map +1 -1
  283. package/dist/schema/schemas/primitives/index.d.ts +17 -9
  284. package/dist/schema/schemas/primitives/index.d.ts.map +1 -1
  285. package/dist/schema/schemas/primitives/index.js +62 -1
  286. package/dist/schema/schemas/primitives/index.js.map +1 -1
  287. package/dist/schema/schemas/primitives/knowledge-base.d.ts +104 -0
  288. package/dist/schema/schemas/primitives/knowledge-base.d.ts.map +1 -0
  289. package/dist/schema/schemas/primitives/knowledge-base.js +99 -0
  290. package/dist/schema/schemas/primitives/knowledge-base.js.map +1 -0
  291. package/dist/schema/schemas/primitives/memory.d.ts +22 -4
  292. package/dist/schema/schemas/primitives/memory.d.ts.map +1 -1
  293. package/dist/schema/schemas/primitives/memory.js +57 -16
  294. package/dist/schema/schemas/primitives/memory.js.map +1 -1
  295. package/dist/schema/schemas/primitives/online-eval-config.d.ts +21 -2
  296. package/dist/schema/schemas/primitives/online-eval-config.d.ts.map +1 -1
  297. package/dist/schema/schemas/primitives/online-eval-config.js +45 -5
  298. package/dist/schema/schemas/primitives/online-eval-config.js.map +1 -1
  299. package/dist/schema/schemas/primitives/payment.d.ts +86 -0
  300. package/dist/schema/schemas/primitives/payment.d.ts.map +1 -0
  301. package/dist/schema/schemas/primitives/payment.js +88 -0
  302. package/dist/schema/schemas/primitives/payment.js.map +1 -0
  303. package/dist/schema/schemas/primitives/policy.d.ts +26 -0
  304. package/dist/schema/schemas/primitives/policy.d.ts.map +1 -1
  305. package/dist/schema/schemas/primitives/policy.js +5 -1
  306. package/dist/schema/schemas/primitives/policy.js.map +1 -1
  307. package/npm-shrinkwrap.json +16874 -0
  308. package/package.json +49 -21
  309. package/scripts/bump-version.ts +4 -4
  310. package/scripts/bundle.mjs +70 -41
  311. package/scripts/extract-cli-model.mjs +269 -0
  312. package/scripts/extract-cli-model.test.mjs +43 -0
  313. package/scripts/render_adoc.py +350 -0
  314. package/scripts/run-e2e-dev.sh +56 -0
  315. package/scripts/run-e2e-local.sh +145 -0
  316. package/scripts/safe-junit-reporter.ts +7 -0
  317. package/scripts/sanitize-test-artifacts.ts +65 -0
  318. package/scripts/sync-vended-cdk.ts +49 -0
  319. package/scripts/test_render_adoc.py +38 -0
  320. package/dist/lib/errors/config.d.ts +0 -49
  321. package/dist/lib/errors/config.d.ts.map +0 -1
  322. package/dist/lib/errors/config.js.map +0 -1
  323. package/dist/lib/packaging/errors.d.ts +0 -16
  324. package/dist/lib/packaging/errors.d.ts.map +0 -1
  325. package/dist/lib/packaging/errors.js +0 -36
  326. package/dist/lib/packaging/errors.js.map +0 -1
  327. package/dist/lib/schemas/io/cli-config.d.ts +0 -12
  328. package/dist/lib/schemas/io/cli-config.d.ts.map +0 -1
  329. package/dist/lib/schemas/io/cli-config.js +0 -35
  330. package/dist/lib/schemas/io/cli-config.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateProjectSchema = exports.validateAgentSchema = exports.parseJsonRpcResponse = exports.parseTimeString = exports.runSubprocessCapture = exports.checkSubprocess = exports.runSubprocess = exports.isWindows = exports.setEnvVar = exports.getEnvVar = exports.writeEnvFile = exports.readEnvFile = exports.getEnvPath = exports.SecureCredentials = exports.detectAwsAccount = void 0;
3
+ exports.resilientParse = exports.validateProjectSchema = exports.validateAgentSchema = exports.isThrottlingError = exports.poll = exports.parseJsonRpcResponse = exports.parseTimeString = exports.runSubprocessCapture = exports.checkSubprocess = exports.runSubprocess = exports.isWindows = exports.removeEnvVars = exports.setEnvVar = exports.getEnvVar = exports.writeEnvFile = exports.readEnvFile = exports.getEnvPath = exports.SecureCredentials = exports.detectAwsAccount = void 0;
4
4
  var aws_account_1 = require("./aws-account");
5
5
  Object.defineProperty(exports, "detectAwsAccount", { enumerable: true, get: function () { return aws_account_1.detectAwsAccount; } });
6
6
  var credentials_1 = require("./credentials");
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "readEnvFile", { enumerable: true, get: function
11
11
  Object.defineProperty(exports, "writeEnvFile", { enumerable: true, get: function () { return env_1.writeEnvFile; } });
12
12
  Object.defineProperty(exports, "getEnvVar", { enumerable: true, get: function () { return env_1.getEnvVar; } });
13
13
  Object.defineProperty(exports, "setEnvVar", { enumerable: true, get: function () { return env_1.setEnvVar; } });
14
+ Object.defineProperty(exports, "removeEnvVars", { enumerable: true, get: function () { return env_1.removeEnvVars; } });
14
15
  var platform_1 = require("./platform");
15
16
  Object.defineProperty(exports, "isWindows", { enumerable: true, get: function () { return platform_1.isWindows; } });
16
17
  var subprocess_1 = require("./subprocess");
@@ -21,7 +22,11 @@ var time_parser_1 = require("./time-parser");
21
22
  Object.defineProperty(exports, "parseTimeString", { enumerable: true, get: function () { return time_parser_1.parseTimeString; } });
22
23
  var json_rpc_1 = require("./json-rpc");
23
24
  Object.defineProperty(exports, "parseJsonRpcResponse", { enumerable: true, get: function () { return json_rpc_1.parseJsonRpcResponse; } });
25
+ var polling_1 = require("./polling");
26
+ Object.defineProperty(exports, "poll", { enumerable: true, get: function () { return polling_1.poll; } });
27
+ Object.defineProperty(exports, "isThrottlingError", { enumerable: true, get: function () { return polling_1.isThrottlingError; } });
24
28
  var zod_1 = require("./zod");
25
29
  Object.defineProperty(exports, "validateAgentSchema", { enumerable: true, get: function () { return zod_1.validateAgentSchema; } });
26
30
  Object.defineProperty(exports, "validateProjectSchema", { enumerable: true, get: function () { return zod_1.validateProjectSchema; } });
31
+ Object.defineProperty(exports, "resilientParse", { enumerable: true, get: function () { return zod_1.resilientParse; } });
27
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,6BAAoF;AAA3E,iGAAA,UAAU,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,mGAAA,YAAY,OAAA;AAAE,gGAAA,SAAS,OAAA;AAAE,gGAAA,SAAS,OAAA;AACpE,uCAAuC;AAA9B,qGAAA,SAAS,OAAA;AAClB,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,kHAAA,oBAAoB,OAAA;AAItB,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,uCAAkD;AAAzC,gHAAA,oBAAoB,OAAA;AAC7B,6BAAmE;AAA1D,0GAAA,mBAAmB,OAAA;AAAE,4GAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AACzB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,6BAAmG;AAA1F,iGAAA,UAAU,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,mGAAA,YAAY,OAAA;AAAE,gGAAA,SAAS,OAAA;AAAE,gGAAA,SAAS,OAAA;AAAE,oGAAA,aAAa,OAAA;AACnF,uCAAuC;AAA9B,qGAAA,SAAS,OAAA;AAClB,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,kHAAA,oBAAoB,OAAA;AAItB,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,uCAAkD;AAAzC,gHAAA,oBAAoB,OAAA;AAC7B,qCAAoD;AAA3C,+FAAA,IAAI,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAChC,6BAA+G;AAAtG,0GAAA,mBAAmB,OAAA;AAAE,4GAAA,qBAAqB,OAAA;AAAE,qGAAA,cAAc,OAAA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared polling/retry utility for async operations.
3
+ */
4
+ export type PollResult<T> = {
5
+ done: true;
6
+ value: T;
7
+ } | {
8
+ done: false;
9
+ };
10
+ export interface PollOptions<T> {
11
+ /** Async function called each iteration. Return {done: true, value} when complete, {done: false} to keep polling. */
12
+ fn: () => Promise<PollResult<T>>;
13
+ /** Max number of attempts before throwing PollExhaustedError. */
14
+ maxAttempts?: number;
15
+ /** Max total time in ms before throwing PollTimeoutError. */
16
+ timeoutMs?: number;
17
+ /** Delay between iterations in ms. Default 5000. */
18
+ delayMs?: number;
19
+ /** Multiply delay by this factor each iteration. Default 1 (fixed). */
20
+ backoffFactor?: number;
21
+ /** Cap on delay in ms. */
22
+ maxDelayMs?: number;
23
+ /** Abort after this many consecutive errors. */
24
+ maxConsecutiveErrors?: number;
25
+ /** Called when fn throws. Return 'retry' to continue or 'abort' to rethrow. Default: 'retry'. */
26
+ onError?: (err: unknown) => 'retry' | 'abort';
27
+ }
28
+ export declare function poll<T>(options: PollOptions<T>): Promise<T>;
29
+ /** Check if an error is an AWS throttling/rate-limit error. */
30
+ export declare function isThrottlingError(err: unknown): boolean;
31
+ //# sourceMappingURL=polling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/polling.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,qHAAqH;IACrH,EAAE,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iGAAiG;IACjG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAsDjE;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAYvD"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.poll = poll;
4
+ exports.isThrottlingError = isThrottlingError;
5
+ const types_js_1 = require("../errors/types.js");
6
+ async function poll(options) {
7
+ const { fn, maxAttempts, timeoutMs, delayMs = 5000, backoffFactor = 1, maxDelayMs, maxConsecutiveErrors, onError, } = options;
8
+ if (maxAttempts === undefined && timeoutMs === undefined) {
9
+ throw new Error('poll() requires at least one of maxAttempts or timeoutMs');
10
+ }
11
+ const start = Date.now();
12
+ let attempts = 0;
13
+ let consecutiveErrors = 0;
14
+ let currentDelay = delayMs;
15
+ let lastError = undefined;
16
+ while (true) {
17
+ if (maxAttempts !== undefined && attempts >= maxAttempts) {
18
+ throw new types_js_1.PollExhaustedError(maxAttempts, { cause: lastError });
19
+ }
20
+ if (timeoutMs !== undefined && Date.now() - start >= timeoutMs) {
21
+ throw new types_js_1.PollTimeoutError(timeoutMs, { cause: lastError });
22
+ }
23
+ attempts++;
24
+ try {
25
+ const result = await fn();
26
+ consecutiveErrors = 0;
27
+ if (result.done)
28
+ return result.value;
29
+ }
30
+ catch (err) {
31
+ const action = onError ? onError(err) : 'retry';
32
+ if (action === 'abort')
33
+ throw err;
34
+ lastError = err;
35
+ consecutiveErrors++;
36
+ if (maxConsecutiveErrors && consecutiveErrors >= maxConsecutiveErrors) {
37
+ throw new types_js_1.PollExhaustedError(attempts, { cause: lastError });
38
+ }
39
+ }
40
+ // Don't sleep if we're about to exceed timeout
41
+ if (timeoutMs !== undefined && Date.now() - start + currentDelay >= timeoutMs) {
42
+ throw new types_js_1.PollTimeoutError(timeoutMs, { cause: lastError });
43
+ }
44
+ await new Promise(resolve => setTimeout(resolve, currentDelay));
45
+ currentDelay = maxDelayMs ? Math.min(currentDelay * backoffFactor, maxDelayMs) : currentDelay * backoffFactor;
46
+ }
47
+ }
48
+ /** Check if an error is an AWS throttling/rate-limit error. */
49
+ function isThrottlingError(err) {
50
+ if (err == null || typeof err !== 'object')
51
+ return false;
52
+ const name = err.name ?? '';
53
+ const message = err.message ?? '';
54
+ return (name === 'ThrottlingException' ||
55
+ name === 'Throttling' ||
56
+ name === 'TooManyRequestsException' ||
57
+ name === 'RequestLimitExceeded' ||
58
+ message.includes('Rate exceeded') ||
59
+ message.includes('Throttling'));
60
+ }
61
+ //# sourceMappingURL=polling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../src/lib/utils/polling.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,15 @@ import type { StdioOptions } from 'child_process';
8
8
  * Sync functions (runSubprocessCaptureSync, checkSubprocessSync) block the event loop
9
9
  * and are ONLY safe in CDK bundling contexts (which run in a subprocess). They are
10
10
  * intentionally NOT exported from the public API to prevent accidental UI freezes.
11
+ *
12
+ * Nothing spawns through a shell. cross-spawn resolves Windows .cmd/.bat wrappers and
13
+ * escapes arguments so a metacharacter in an argument (an `&` in a path, say) reaches
14
+ * the child intact instead of being interpreted by cmd.exe.
11
15
  */
12
16
  export interface SubprocessOptions {
13
17
  cwd?: string;
14
18
  env?: NodeJS.ProcessEnv;
15
19
  stdio?: StdioOptions;
16
- shell?: boolean;
17
20
  }
18
21
  export declare function runSubprocess(command: string, args: string[], options?: SubprocessOptions): Promise<void>;
19
22
  export declare function checkSubprocess(command: string, args: string[], options?: SubprocessOptions): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/subprocess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAeD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnH;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA8B3B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CAiBlB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAc7G"}
1
+ {"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/subprocess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnH;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAuB3B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CASlB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAO7G"}
@@ -1,34 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.runSubprocess = runSubprocess;
4
7
  exports.checkSubprocess = checkSubprocess;
5
8
  exports.runSubprocessCapture = runSubprocessCapture;
6
9
  exports.runSubprocessCaptureSync = runSubprocessCaptureSync;
7
10
  exports.checkSubprocessSync = checkSubprocessSync;
8
- const platform_1 = require("./platform");
9
- const child_process_1 = require("child_process");
10
- /**
11
- * When shell mode is enabled, merge args into the command string so that
12
- * Node.js does not receive both a non-empty args array and `shell: true`.
13
- * Passing both triggers DEP0190 on Node ≥ 22 (and a warning on earlier
14
- * versions) because the arguments are concatenated without escaping.
15
- */
16
- function resolveCommand(command, args, useShell) {
17
- if (useShell) {
18
- return { cmd: [command, ...args].join(' '), cmdArgs: [] };
19
- }
20
- return { cmd: command, cmdArgs: args };
21
- }
11
+ const cross_spawn_1 = __importDefault(require("cross-spawn"));
22
12
  async function runSubprocess(command, args, options = {}) {
23
- const shell = options.shell ?? platform_1.isWindows;
24
- const { cmd, cmdArgs } = resolveCommand(command, args, shell);
25
13
  return new Promise((resolve, reject) => {
26
- const child = (0, child_process_1.spawn)(cmd, cmdArgs, {
27
- cwd: options.cwd,
28
- env: options.env,
29
- stdio: options.stdio ?? 'inherit',
30
- shell,
31
- });
14
+ const child = (0, cross_spawn_1.default)(command, args, { ...options, stdio: options.stdio ?? 'inherit' });
32
15
  child.on('error', reject);
33
16
  child.on('close', (code, signal) => {
34
17
  if (code === 0) {
@@ -41,29 +24,15 @@ async function runSubprocess(command, args, options = {}) {
41
24
  });
42
25
  }
43
26
  async function checkSubprocess(command, args, options = {}) {
44
- const shell = options.shell ?? platform_1.isWindows;
45
- const { cmd, cmdArgs } = resolveCommand(command, args, shell);
46
27
  return new Promise(resolve => {
47
- const child = (0, child_process_1.spawn)(cmd, cmdArgs, {
48
- cwd: options.cwd,
49
- env: options.env,
50
- stdio: options.stdio ?? 'ignore',
51
- shell,
52
- });
28
+ const child = (0, cross_spawn_1.default)(command, args, { ...options, stdio: options.stdio ?? 'ignore' });
53
29
  child.on('error', () => resolve(false));
54
30
  child.on('close', code => resolve(code === 0));
55
31
  });
56
32
  }
57
33
  async function runSubprocessCapture(command, args, options = {}) {
58
- const shell = options.shell ?? platform_1.isWindows;
59
- const { cmd, cmdArgs } = resolveCommand(command, args, shell);
60
34
  return new Promise(resolve => {
61
- const child = (0, child_process_1.spawn)(cmd, cmdArgs, {
62
- cwd: options.cwd,
63
- env: options.env,
64
- stdio: 'pipe',
65
- shell,
66
- });
35
+ const child = (0, cross_spawn_1.default)(command, args, { ...options, stdio: 'pipe' });
67
36
  let stdout = '';
68
37
  let stderr = '';
69
38
  child.stdout?.on('data', (chunk) => {
@@ -75,21 +44,13 @@ async function runSubprocessCapture(command, args, options = {}) {
75
44
  child.on('close', (code, signal) => {
76
45
  resolve({ stdout, stderr, code, signal });
77
46
  });
78
- child.on('error', () => {
79
- resolve({ stdout, stderr, code: -1, signal: null });
47
+ child.on('error', error => {
48
+ resolve({ stdout, stderr: stderr || error.message, code: -1, signal: null });
80
49
  });
81
50
  });
82
51
  }
83
52
  function runSubprocessCaptureSync(command, args, options = {}) {
84
- const shell = options.shell ?? platform_1.isWindows;
85
- const { cmd, cmdArgs } = resolveCommand(command, args, shell);
86
- const result = (0, child_process_1.spawnSync)(cmd, cmdArgs, {
87
- cwd: options.cwd,
88
- env: options.env,
89
- stdio: 'pipe',
90
- shell,
91
- encoding: 'utf-8',
92
- });
53
+ const result = cross_spawn_1.default.sync(command, args, { ...options, stdio: 'pipe', encoding: 'utf-8' });
93
54
  return {
94
55
  stdout: result.stdout ?? '',
95
56
  stderr: result.stderr ?? '',
@@ -98,15 +59,8 @@ function runSubprocessCaptureSync(command, args, options = {}) {
98
59
  };
99
60
  }
100
61
  function checkSubprocessSync(command, args, options = {}) {
101
- const shell = options.shell ?? platform_1.isWindows;
102
- const { cmd, cmdArgs } = resolveCommand(command, args, shell);
103
62
  try {
104
- const result = (0, child_process_1.spawnSync)(cmd, cmdArgs, {
105
- cwd: options.cwd,
106
- env: options.env,
107
- stdio: options.stdio ?? 'ignore',
108
- shell,
109
- });
63
+ const result = cross_spawn_1.default.sync(command, args, { ...options, stdio: options.stdio ?? 'ignore' });
110
64
  return result.status === 0;
111
65
  }
112
66
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../../src/lib/utils/subprocess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../../src/lib/utils/subprocess.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,20 @@
1
1
  import type { AgentCoreProjectSpec, AgentEnvSpec } from '../../schema';
2
+ import { z } from 'zod';
3
+ export interface ResilientParseOptions {
4
+ /** Value to use when a field fails validation. Default: undefined */
5
+ fallback?: string | number | boolean;
6
+ /** Include schema keys not present in data, set to fallback value. Default: false */
7
+ fillMissing?: boolean;
8
+ /** Preserve keys in data not defined in the schema. Default: true */
9
+ keepUnknown?: boolean;
10
+ }
11
+ /**
12
+ * Recursively parse data against a Zod object schema, field by field.
13
+ * Invalid fields fall back to a default value rather than throwing.
14
+ * Nested ZodObjects are parsed recursively.
15
+ *
16
+ */
17
+ export declare function resilientParse<T extends z.ZodObject<z.ZodRawShape>>(schema: T, data: Record<string, unknown>, options?: ResilientParseOptions): Partial<z.infer<T>>;
2
18
  /**
3
19
  * Pass agent spec through zod validator
4
20
  * @param spec Agent spec to validate
@@ -1 +1 @@
1
- {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,CAOzE"}
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EACjE,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA0BrB;AAUD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,oBAAoB,CAOzE"}
@@ -1,8 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resilientParse = resilientParse;
3
4
  exports.validateAgentSchema = validateAgentSchema;
4
5
  exports.validateProjectSchema = validateProjectSchema;
5
6
  const schema_1 = require("../../schema");
7
+ const zod_1 = require("zod");
8
+ /**
9
+ * Recursively parse data against a Zod object schema, field by field.
10
+ * Invalid fields fall back to a default value rather than throwing.
11
+ * Nested ZodObjects are parsed recursively.
12
+ *
13
+ */
14
+ function resilientParse(schema, data, options = {}) {
15
+ if (data == null || typeof data !== 'object' || Array.isArray(data))
16
+ return {};
17
+ const { fallback, fillMissing = false, keepUnknown = true } = options;
18
+ const result = {};
19
+ for (const [key, field] of Object.entries(schema.shape)) {
20
+ if (!(key in data)) {
21
+ if (fillMissing)
22
+ result[key] = fallback;
23
+ continue;
24
+ }
25
+ const value = data[key];
26
+ const inner = unwrapZodType(field);
27
+ if (inner instanceof zod_1.z.ZodObject && value != null && typeof value === 'object' && !Array.isArray(value)) {
28
+ result[key] = resilientParse(inner, value, options);
29
+ }
30
+ else {
31
+ const parsed = field.safeParse(value);
32
+ result[key] = parsed.success ? parsed.data : fallback;
33
+ }
34
+ }
35
+ if (keepUnknown) {
36
+ for (const key of Object.keys(data)) {
37
+ if (!(key in schema.shape)) {
38
+ result[key] = data[key];
39
+ }
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ /** Unwrap ZodOptional, ZodNullable, and ZodDefault to get the inner type. */
45
+ function unwrapZodType(field) {
46
+ while (field instanceof zod_1.z.ZodOptional || field instanceof zod_1.z.ZodNullable || field instanceof zod_1.z.ZodDefault) {
47
+ field = field.unwrap();
48
+ }
49
+ return field;
50
+ }
6
51
  /**
7
52
  * Pass agent spec through zod validator
8
53
  * @param spec Agent spec to validate
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":";;AAQA,kDAOC;AAOD,sDAOC;AA5BD,yCAA8E;AAE9E;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,MAAM,gBAAgB,GAAG,2BAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9G,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,IAAa;IACjD,MAAM,gBAAgB,GAAG,mCAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9G,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../src/lib/utils/zod.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare const SDKFrameworkSchema: z.ZodEnum<{
4
4
  LangChain_LangGraph: "LangChain_LangGraph";
5
5
  GoogleADK: "GoogleADK";
6
6
  OpenAIAgents: "OpenAIAgents";
7
+ VercelAI: "VercelAI";
7
8
  }>;
8
9
  export type SDKFramework = z.infer<typeof SDKFrameworkSchema>;
9
10
  export declare const TargetLanguageSchema: z.ZodEnum<{
@@ -17,10 +18,11 @@ export declare const ModelProviderSchema: z.ZodEnum<{
17
18
  Gemini: "Gemini";
18
19
  OpenAI: "OpenAI";
19
20
  Anthropic: "Anthropic";
21
+ LiteLLM: "LiteLLM";
20
22
  }>;
21
23
  export type ModelProvider = z.infer<typeof ModelProviderSchema>;
22
- /** Providers that use credentials (Bedrock uses IAM, no credential needed). */
23
- export declare const CREDENTIAL_PROVIDERS: readonly ["Gemini", "OpenAI", "Anthropic"];
24
+ /** Providers that use credentials (Bedrock uses IAM, no credential needed). LiteLLM's API key is optional. */
25
+ export declare const CREDENTIAL_PROVIDERS: readonly ["Gemini", "OpenAI", "Anthropic", "LiteLLM"];
24
26
  /**
25
27
  * Case-insensitively match a user-provided value against a Zod enum's options.
26
28
  * Returns the canonical (correctly-cased) value, or undefined if no match.
@@ -78,6 +80,8 @@ export declare const NodeRuntimeSchema: z.ZodEnum<{
78
80
  NODE_22: "NODE_22";
79
81
  }>;
80
82
  export type NodeRuntime = z.infer<typeof NodeRuntimeSchema>;
83
+ /** Default Node.js runtime version for new TypeScript agents */
84
+ export declare const DEFAULT_NODE_VERSION: NodeRuntime;
81
85
  /** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
82
86
  export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
83
87
  PYTHON_3_10: "PYTHON_3_10";
@@ -91,11 +95,41 @@ export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
91
95
  NODE_22: "NODE_22";
92
96
  }>]>;
93
97
  export type RuntimeVersion = z.infer<typeof RuntimeVersionSchema>;
98
+ /** Default entrypoint filename for each target language (create path). */
99
+ export declare const DEFAULT_ENTRYPOINT_BY_LANGUAGE: Record<'Python' | 'TypeScript', string>;
100
+ /** Default runtime version for each target language (create path). */
101
+ export declare const DEFAULT_RUNTIME_BY_LANGUAGE: Record<'Python' | 'TypeScript', RuntimeVersion>;
94
102
  export declare const NetworkModeSchema: z.ZodEnum<{
95
103
  PUBLIC: "PUBLIC";
96
104
  VPC: "VPC";
97
105
  }>;
98
106
  export type NetworkMode = z.infer<typeof NetworkModeSchema>;
107
+ /** Matches a VPC ID: vpc- followed by 8 or 17 lowercase hex digits. */
108
+ export declare const VPC_ID_PATTERN: RegExp;
109
+ /** Matches a subnet ID: subnet- followed by 8 or 17 lowercase hex digits. */
110
+ export declare const SUBNET_ID_PATTERN: RegExp;
111
+ /** Matches a security group ID: sg- followed by 8 or 17 lowercase hex digits. */
112
+ export declare const SECURITY_GROUP_ID_PATTERN: RegExp;
113
+ /** CodeBuild caps a project's VPC config at 5 security groups (vs 16 for the runtime). */
114
+ export declare const MAX_CONTAINER_BUILD_SECURITY_GROUPS = 5;
115
+ /**
116
+ * Whether a build runs the container-image pipeline (CodeBuild) and therefore requires an explicit
117
+ * `networkConfig.vpcId` in VPC mode — CodeBuild's CreateProject cannot infer the VPC from subnets
118
+ * alone. This is the single source of truth for "is this a container build?", shared by the schema
119
+ * refinements (agent-env + harness), the CLI validators, and the import/export vpcId-resolution
120
+ * guards so the decision cannot drift between them.
121
+ *
122
+ * A build is a container build when ANY of these hold:
123
+ * - `build === 'Container'` (agent specs, and harnesses whose build type resolved to Container),
124
+ * - it carries a `dockerfile` (from-source container harness), or
125
+ * - it carries a `containerUri` (prebuilt image harness — export still emits a `FROM <uri>`
126
+ * Dockerfile stub that CodeBuild builds, so it needs a vpcId too).
127
+ */
128
+ export declare function isContainerBuild(spec: {
129
+ build?: string;
130
+ containerUri?: string;
131
+ dockerfile?: string;
132
+ }): boolean;
99
133
  export declare const ProtocolModeSchema: z.ZodEnum<{
100
134
  HTTP: "HTTP";
101
135
  MCP: "MCP";
@@ -116,4 +150,24 @@ export declare function getSupportedFrameworksForProtocol(protocol: ProtocolMode
116
150
  * Checks if a framework is supported for a given protocol mode.
117
151
  */
118
152
  export declare function isFrameworkSupportedForProtocol(protocol: ProtocolMode, framework: SDKFramework): boolean;
153
+ /**
154
+ * Matrix defining which SDK frameworks ship templates for each target language.
155
+ * Vercel AI is TypeScript-only; the remaining frameworks are Python-only today.
156
+ * Used to keep framework pickers and validation in sync with the templates that
157
+ * actually exist under `assets/<language>/...`.
158
+ */
159
+ export declare const LANGUAGE_FRAMEWORK_MATRIX: {
160
+ readonly Python: readonly ["Strands", "LangChain_LangGraph", "GoogleADK", "OpenAIAgents"];
161
+ readonly TypeScript: readonly ["Strands", "VercelAI"];
162
+ };
163
+ /** Languages that scaffold from templates (excludes 'Other', which is BYO-only). */
164
+ export type TemplateLanguage = keyof typeof LANGUAGE_FRAMEWORK_MATRIX;
165
+ /**
166
+ * Returns the SDK frameworks that have templates for a given target language.
167
+ */
168
+ export declare function getFrameworksForLanguage(language: TemplateLanguage): readonly SDKFramework[];
169
+ /**
170
+ * Checks if a framework has a template for a given target language.
171
+ */
172
+ export declare function isFrameworkSupportedForLanguage(language: TemplateLanguage, framework: SDKFramework): boolean;
119
173
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;;EAA0E,CAAC;AAC1G,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;EAA4C,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;EAAuD,CAAC;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,4CAA6C,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxG;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,aAAa,EAAE,CAKpF,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,aAAa,EAAE,CAEtF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE5F;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAsD1C,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAMD,eAAO,MAAM,mBAAmB;;;;;;EAAsF,CAAC;AACvH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,EAAE,aAA6B,CAAC;AAEnE,eAAO,MAAM,iBAAiB;;;;EAA4C,CAAC;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB;;;;;;;;;;IAAoD,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;EAA4B,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,kBAAkB;;;;;EAAyC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAKnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAEjG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAExG"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"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"}