agentcore-cli 0.31.1__py3-none-any.whl

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 (655) hide show
  1. agentcore/__init__.py +1 -0
  2. agentcore/agent_inspector/NOTICE +9 -0
  3. agentcore/agent_inspector/favicon.svg +60 -0
  4. agentcore/agent_inspector/index.css +1 -0
  5. agentcore/agent_inspector/index.html +14 -0
  6. agentcore/agent_inspector/index.js +289 -0
  7. agentcore/assets/AGENTS.md +60 -0
  8. agentcore/assets/README.md +108 -0
  9. agentcore/assets/agents/AGENTS.md +218 -0
  10. agentcore/assets/cdk/.prettierrc +8 -0
  11. agentcore/assets/cdk/README.md +26 -0
  12. agentcore/assets/cdk/bin/cdk.ts +216 -0
  13. agentcore/assets/cdk/cdk.json +88 -0
  14. agentcore/assets/cdk/gitignore.template +9 -0
  15. agentcore/assets/cdk/jest.config.js +9 -0
  16. agentcore/assets/cdk/lib/cdk-stack.ts +291 -0
  17. agentcore/assets/cdk/npmignore.template +6 -0
  18. agentcore/assets/cdk/package.json +30 -0
  19. agentcore/assets/cdk/test/cdk.test.ts +31 -0
  20. agentcore/assets/cdk/tsconfig.json +28 -0
  21. agentcore/assets/container/python/Dockerfile +47 -0
  22. agentcore/assets/container/python/dockerignore.template +27 -0
  23. agentcore/assets/container/typescript/Dockerfile +25 -0
  24. agentcore/assets/container/typescript/dockerignore.template +24 -0
  25. agentcore/assets/datasets/predefined-v1.jsonl +3 -0
  26. agentcore/assets/datasets/simulated-v1.jsonl +3 -0
  27. agentcore/assets/evaluators/autoevals-lambda/execution-role-policy.json +15 -0
  28. agentcore/assets/evaluators/autoevals-lambda/lambda_function.py +37 -0
  29. agentcore/assets/evaluators/autoevals-lambda/pyproject.toml +22 -0
  30. agentcore/assets/evaluators/deepeval-lambda/execution-role-policy.json +15 -0
  31. agentcore/assets/evaluators/deepeval-lambda/lambda_function.py +29 -0
  32. agentcore/assets/evaluators/deepeval-lambda/pyproject.toml +19 -0
  33. agentcore/assets/evaluators/python-lambda/execution-role-policy.json +10 -0
  34. agentcore/assets/evaluators/python-lambda/lambda_function.py +19 -0
  35. agentcore/assets/evaluators/python-lambda/pyproject.toml +15 -0
  36. agentcore/assets/harness/invoke.py.template +74 -0
  37. agentcore/assets/mcp/python/README.md +27 -0
  38. agentcore/assets/mcp/python/pyproject.toml +22 -0
  39. agentcore/assets/mcp/python/server.py +117 -0
  40. agentcore/assets/mcp/python-lambda/README.md +22 -0
  41. agentcore/assets/mcp/python-lambda/handler.py +144 -0
  42. agentcore/assets/mcp/python-lambda/pyproject.toml +15 -0
  43. agentcore/assets/python/a2a/googleadk/base/README.md +22 -0
  44. agentcore/assets/python/a2a/googleadk/base/gitignore.template +41 -0
  45. agentcore/assets/python/a2a/googleadk/base/main.py +124 -0
  46. agentcore/assets/python/a2a/googleadk/base/model/__init__.py +1 -0
  47. agentcore/assets/python/a2a/googleadk/base/model/load.py +41 -0
  48. agentcore/assets/python/a2a/googleadk/base/pyproject.toml +22 -0
  49. agentcore/assets/python/a2a/langchain_langgraph/base/README.md +22 -0
  50. agentcore/assets/python/a2a/langchain_langgraph/base/gitignore.template +41 -0
  51. agentcore/assets/python/a2a/langchain_langgraph/base/main.py +144 -0
  52. agentcore/assets/python/a2a/langchain_langgraph/base/model/__init__.py +1 -0
  53. agentcore/assets/python/a2a/langchain_langgraph/base/model/load.py +123 -0
  54. agentcore/assets/python/a2a/langchain_langgraph/base/pyproject.toml +26 -0
  55. agentcore/assets/python/a2a/strands/base/README.md +22 -0
  56. agentcore/assets/python/a2a/strands/base/gitignore.template +41 -0
  57. agentcore/assets/python/a2a/strands/base/main.py +113 -0
  58. agentcore/assets/python/a2a/strands/base/model/__init__.py +1 -0
  59. agentcore/assets/python/a2a/strands/base/model/load.py +123 -0
  60. agentcore/assets/python/a2a/strands/base/pyproject.toml +23 -0
  61. agentcore/assets/python/a2a/strands/capabilities/memory/__init__.py +1 -0
  62. agentcore/assets/python/a2a/strands/capabilities/memory/session.py +46 -0
  63. agentcore/assets/python/agui/googleadk/base/README.md +30 -0
  64. agentcore/assets/python/agui/googleadk/base/gitignore.template +41 -0
  65. agentcore/assets/python/agui/googleadk/base/main.py +91 -0
  66. agentcore/assets/python/agui/googleadk/base/model/__init__.py +1 -0
  67. agentcore/assets/python/agui/googleadk/base/model/load.py +41 -0
  68. agentcore/assets/python/agui/googleadk/base/pyproject.toml +25 -0
  69. agentcore/assets/python/agui/langchain_langgraph/base/README.md +22 -0
  70. agentcore/assets/python/agui/langchain_langgraph/base/gitignore.template +41 -0
  71. agentcore/assets/python/agui/langchain_langgraph/base/main.py +130 -0
  72. agentcore/assets/python/agui/langchain_langgraph/base/model/__init__.py +1 -0
  73. agentcore/assets/python/agui/langchain_langgraph/base/model/load.py +123 -0
  74. agentcore/assets/python/agui/langchain_langgraph/base/pyproject.toml +31 -0
  75. agentcore/assets/python/agui/strands/base/README.md +22 -0
  76. agentcore/assets/python/agui/strands/base/gitignore.template +41 -0
  77. agentcore/assets/python/agui/strands/base/main.py +105 -0
  78. agentcore/assets/python/agui/strands/base/model/__init__.py +1 -0
  79. agentcore/assets/python/agui/strands/base/model/load.py +123 -0
  80. agentcore/assets/python/agui/strands/base/pyproject.toml +27 -0
  81. agentcore/assets/python/agui/strands/capabilities/memory/__init__.py +1 -0
  82. agentcore/assets/python/agui/strands/capabilities/memory/session.py +46 -0
  83. agentcore/assets/python/http/autogen/base/README.md +45 -0
  84. agentcore/assets/python/http/autogen/base/gitignore.template +41 -0
  85. agentcore/assets/python/http/autogen/base/main.py +145 -0
  86. agentcore/assets/python/http/autogen/base/mcp_client/__init__.py +1 -0
  87. agentcore/assets/python/http/autogen/base/mcp_client/client.py +28 -0
  88. agentcore/assets/python/http/autogen/base/model/__init__.py +1 -0
  89. agentcore/assets/python/http/autogen/base/model/load.py +136 -0
  90. agentcore/assets/python/http/autogen/base/pyproject.toml +34 -0
  91. agentcore/assets/python/http/bma/base/Dockerfile +41 -0
  92. agentcore/assets/python/http/bma/base/README.md +178 -0
  93. agentcore/assets/python/http/bma/base/client.py +200 -0
  94. agentcore/assets/python/http/bma/base/lifecycle/server.py +641 -0
  95. agentcore/assets/python/http/bma/base/otel/collector.yaml +69 -0
  96. agentcore/assets/python/http/bma/base/plugins/acr-report/.codex-plugin/plugin.json +6 -0
  97. agentcore/assets/python/http/bma/base/plugins/acr-report/skills/acr-report/SKILL.md +16 -0
  98. agentcore/assets/python/http/bma/base/policies/bma-acr-policy.json +11 -0
  99. agentcore/assets/python/http/bma/base/policies/bma-session-policy.json +35 -0
  100. agentcore/assets/python/http/bma/base/policies/bma-session-trust.json +20 -0
  101. agentcore/assets/python/http/bma/base/pyproject.toml +21 -0
  102. agentcore/assets/python/http/googleadk/base/README.md +45 -0
  103. agentcore/assets/python/http/googleadk/base/gitignore.template +41 -0
  104. agentcore/assets/python/http/googleadk/base/main.py +207 -0
  105. agentcore/assets/python/http/googleadk/base/mcp_client/__init__.py +1 -0
  106. agentcore/assets/python/http/googleadk/base/mcp_client/client.py +75 -0
  107. agentcore/assets/python/http/googleadk/base/model/__init__.py +1 -0
  108. agentcore/assets/python/http/googleadk/base/model/load.py +41 -0
  109. agentcore/assets/python/http/googleadk/base/pyproject.toml +24 -0
  110. agentcore/assets/python/http/langchain_langgraph/base/README.md +45 -0
  111. agentcore/assets/python/http/langchain_langgraph/base/gitignore.template +41 -0
  112. agentcore/assets/python/http/langchain_langgraph/base/main.py +227 -0
  113. agentcore/assets/python/http/langchain_langgraph/base/mcp_client/__init__.py +1 -0
  114. agentcore/assets/python/http/langchain_langgraph/base/mcp_client/client.py +79 -0
  115. agentcore/assets/python/http/langchain_langgraph/base/model/__init__.py +1 -0
  116. agentcore/assets/python/http/langchain_langgraph/base/model/load.py +123 -0
  117. agentcore/assets/python/http/langchain_langgraph/base/pyproject.toml +38 -0
  118. agentcore/assets/python/http/openaiagents/base/README.md +45 -0
  119. agentcore/assets/python/http/openaiagents/base/gitignore.template +41 -0
  120. agentcore/assets/python/http/openaiagents/base/main.py +200 -0
  121. agentcore/assets/python/http/openaiagents/base/mcp_client/__init__.py +1 -0
  122. agentcore/assets/python/http/openaiagents/base/mcp_client/client.py +74 -0
  123. agentcore/assets/python/http/openaiagents/base/model/__init__.py +1 -0
  124. agentcore/assets/python/http/openaiagents/base/model/load.py +37 -0
  125. agentcore/assets/python/http/openaiagents/base/pyproject.toml +21 -0
  126. agentcore/assets/python/http/strands/base/README.md +46 -0
  127. agentcore/assets/python/http/strands/base/gitignore.template +41 -0
  128. agentcore/assets/python/http/strands/base/main.py +714 -0
  129. agentcore/assets/python/http/strands/base/mcp_client/__init__.py +1 -0
  130. agentcore/assets/python/http/strands/base/mcp_client/client.py +116 -0
  131. agentcore/assets/python/http/strands/base/model/__init__.py +1 -0
  132. agentcore/assets/python/http/strands/base/model/load.py +239 -0
  133. agentcore/assets/python/http/strands/base/model/mantle_compat.py +21 -0
  134. agentcore/assets/python/http/strands/base/pyproject.toml +31 -0
  135. agentcore/assets/python/http/strands/base/skills/fetcher.py +279 -0
  136. agentcore/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
  137. agentcore/assets/python/http/strands/capabilities/memory/__init__.py +1 -0
  138. agentcore/assets/python/http/strands/capabilities/memory/session.py +47 -0
  139. agentcore/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
  140. agentcore/assets/python/http/strands/capabilities/payments/payments.py +142 -0
  141. agentcore/assets/python/mcp/standalone/base/README.md +36 -0
  142. agentcore/assets/python/mcp/standalone/base/gitignore.template +41 -0
  143. agentcore/assets/python/mcp/standalone/base/main.py +83 -0
  144. agentcore/assets/python/mcp/standalone/base/pyproject.toml +16 -0
  145. agentcore/assets/typescript/.gitkeep +0 -0
  146. agentcore/assets/typescript/http/strands/base/README.md +42 -0
  147. agentcore/assets/typescript/http/strands/base/gitignore.template +22 -0
  148. agentcore/assets/typescript/http/strands/base/main.ts +149 -0
  149. agentcore/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
  150. agentcore/assets/typescript/http/strands/base/model/load.ts +102 -0
  151. agentcore/assets/typescript/http/strands/base/package.json +38 -0
  152. agentcore/assets/typescript/http/strands/base/tsconfig.json +19 -0
  153. agentcore/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
  154. agentcore/assets/typescript/http/vercelai/base/README.md +42 -0
  155. agentcore/assets/typescript/http/vercelai/base/gitignore.template +22 -0
  156. agentcore/assets/typescript/http/vercelai/base/main.ts +70 -0
  157. agentcore/assets/typescript/http/vercelai/base/model/load.ts +121 -0
  158. agentcore/assets/typescript/http/vercelai/base/package.json +35 -0
  159. agentcore/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
  160. agentcore/aws/__init__.py +263 -0
  161. agentcore/aws/_aws_errors.py +72 -0
  162. agentcore/aws/_http.py +176 -0
  163. agentcore/aws/_util.py +37 -0
  164. agentcore/aws/account.py +165 -0
  165. agentcore/aws/agentcore.py +971 -0
  166. agentcore/aws/agentcore_ab_tests.py +230 -0
  167. agentcore/aws/agentcore_batch_evaluation.py +227 -0
  168. agentcore/aws/agentcore_config_bundles.py +220 -0
  169. agentcore/aws/agentcore_control.py +994 -0
  170. agentcore/aws/agentcore_datasets.py +222 -0
  171. agentcore/aws/agentcore_harness.py +330 -0
  172. agentcore/aws/agentcore_payments.py +430 -0
  173. agentcore/aws/agentcore_recommendation.py +140 -0
  174. agentcore/aws/agui_parser.py +131 -0
  175. agentcore/aws/agui_types.py +342 -0
  176. agentcore/aws/api_client.py +87 -0
  177. agentcore/aws/arn.py +18 -0
  178. agentcore/aws/aws_context.py +23 -0
  179. agentcore/aws/bedrock.py +44 -0
  180. agentcore/aws/bedrock_agent.py +129 -0
  181. agentcore/aws/bedrock_import.py +252 -0
  182. agentcore/aws/bedrock_import_types.py +111 -0
  183. agentcore/aws/cloudwatch.py +136 -0
  184. agentcore/aws/connect_shell.py +266 -0
  185. agentcore/aws/iam.py +41 -0
  186. agentcore/aws/partition.py +58 -0
  187. agentcore/aws/policy_generation.py +116 -0
  188. agentcore/aws/region.py +54 -0
  189. agentcore/aws/retry.py +27 -0
  190. agentcore/aws/shell_framer.py +136 -0
  191. agentcore/aws/stage_endpoint.py +39 -0
  192. agentcore/aws/target_region.py +54 -0
  193. agentcore/aws/transaction_search.py +97 -0
  194. agentcore/cdk/__init__.py +10 -0
  195. agentcore/cdk/constants.py +13 -0
  196. agentcore/cdk/local_cdk_project.py +48 -0
  197. agentcore/cdk/toolkit.py +706 -0
  198. agentcore/cli/__init__.py +0 -0
  199. agentcore/cli/commands/__init__.py +0 -0
  200. agentcore/cli/commands/_jobs_common.py +39 -0
  201. agentcore/cli/commands/_run_wizards.py +639 -0
  202. agentcore/cli/commands/add/__init__.py +37 -0
  203. agentcore/cli/commands/add/_commander.py +52 -0
  204. agentcore/cli/commands/add/_common.py +47 -0
  205. agentcore/cli/commands/add/agent_wizard.py +528 -0
  206. agentcore/cli/commands/add/auth_options.py +154 -0
  207. agentcore/cli/commands/add/skill_action.py +105 -0
  208. agentcore/cli/commands/add/skill_command.py +87 -0
  209. agentcore/cli/commands/add/tool_action.py +160 -0
  210. agentcore/cli/commands/add/tool_command.py +117 -0
  211. agentcore/cli/commands/add/validate.py +333 -0
  212. agentcore/cli/commands/capacity_provider/__init__.py +86 -0
  213. agentcore/cli/commands/capacity_provider/action.py +114 -0
  214. agentcore/cli/commands/capacity_provider/constants.py +22 -0
  215. agentcore/cli/commands/config.py +91 -0
  216. agentcore/cli/commands/config_bundle.py +251 -0
  217. agentcore/cli/commands/create/__init__.py +643 -0
  218. agentcore/cli/commands/create/action.py +406 -0
  219. agentcore/cli/commands/create/dependencies.py +91 -0
  220. agentcore/cli/commands/create/harness_validate.py +82 -0
  221. agentcore/cli/commands/create/validate.py +195 -0
  222. agentcore/cli/commands/create/wizard.py +127 -0
  223. agentcore/cli/commands/dataset.py +119 -0
  224. agentcore/cli/commands/deploy/__init__.py +31 -0
  225. agentcore/cli/commands/deploy/_guards.py +25 -0
  226. agentcore/cli/commands/deploy/actions.py +840 -0
  227. agentcore/cli/commands/deploy/command.py +349 -0
  228. agentcore/cli/commands/deploy/progress.py +115 -0
  229. agentcore/cli/commands/deploy/types.py +68 -0
  230. agentcore/cli/commands/deploy/utils.py +43 -0
  231. agentcore/cli/commands/deploy/validate.py +21 -0
  232. agentcore/cli/commands/dev/__init__.py +5 -0
  233. agentcore/cli/commands/dev/_deps.py +50 -0
  234. agentcore/cli/commands/dev/browser_mode.py +270 -0
  235. agentcore/cli/commands/dev/command.py +450 -0
  236. agentcore/cli/commands/dev/terminal_mode.py +379 -0
  237. agentcore/cli/commands/exec/__init__.py +29 -0
  238. agentcore/cli/commands/exec/action.py +442 -0
  239. agentcore/cli/commands/exec/command.py +206 -0
  240. agentcore/cli/commands/exec/types.py +35 -0
  241. agentcore/cli/commands/export/__init__.py +114 -0
  242. agentcore/cli/commands/export/constants.py +21 -0
  243. agentcore/cli/commands/export/fetch_harness_spec.py +234 -0
  244. agentcore/cli/commands/export/harness_action.py +385 -0
  245. agentcore/cli/commands/export/harness_mapper.py +868 -0
  246. agentcore/cli/commands/export/harness_resolver.py +95 -0
  247. agentcore/cli/commands/export/types.py +90 -0
  248. agentcore/cli/commands/export/wizard.py +97 -0
  249. agentcore/cli/commands/feedback/__init__.py +69 -0
  250. agentcore/cli/commands/feedback/action.py +30 -0
  251. agentcore/cli/commands/feedback/consent_prompt.py +35 -0
  252. agentcore/cli/commands/feedback/wizard.py +49 -0
  253. agentcore/cli/commands/fetch/__init__.py +69 -0
  254. agentcore/cli/commands/fetch/action.py +62 -0
  255. agentcore/cli/commands/help.py +65 -0
  256. agentcore/cli/commands/import_/__init__.py +167 -0
  257. agentcore/cli/commands/import_/_js.py +72 -0
  258. agentcore/cli/commands/import_/actions.py +457 -0
  259. agentcore/cli/commands/import_/constants.py +45 -0
  260. agentcore/cli/commands/import_/import_evaluator.py +140 -0
  261. agentcore/cli/commands/import_/import_gateway.py +520 -0
  262. agentcore/cli/commands/import_/import_memory.py +128 -0
  263. agentcore/cli/commands/import_/import_online_eval.py +165 -0
  264. agentcore/cli/commands/import_/import_pipeline.py +145 -0
  265. agentcore/cli/commands/import_/import_runtime.py +214 -0
  266. agentcore/cli/commands/import_/import_utils.py +410 -0
  267. agentcore/cli/commands/import_/phase1_update.py +110 -0
  268. agentcore/cli/commands/import_/phase2_import.py +206 -0
  269. agentcore/cli/commands/import_/resource_import.py +228 -0
  270. agentcore/cli/commands/import_/template_utils.py +148 -0
  271. agentcore/cli/commands/import_/types.py +150 -0
  272. agentcore/cli/commands/import_/yaml_parser.py +265 -0
  273. agentcore/cli/commands/init.py +196 -0
  274. agentcore/cli/commands/invoke/__init__.py +32 -0
  275. agentcore/cli/commands/invoke/_deps.py +73 -0
  276. agentcore/cli/commands/invoke/action.py +840 -0
  277. agentcore/cli/commands/invoke/command.py +490 -0
  278. agentcore/cli/commands/invoke/constants.py +40 -0
  279. agentcore/cli/commands/invoke/guards.py +23 -0
  280. agentcore/cli/commands/invoke/interactive.py +604 -0
  281. agentcore/cli/commands/invoke/resolve.py +149 -0
  282. agentcore/cli/commands/invoke/resolve_prompt.py +60 -0
  283. agentcore/cli/commands/invoke/types.py +61 -0
  284. agentcore/cli/commands/invoke/validate.py +33 -0
  285. agentcore/cli/commands/job_actions.py +239 -0
  286. agentcore/cli/commands/job_history.py +380 -0
  287. agentcore/cli/commands/logs/__init__.py +53 -0
  288. agentcore/cli/commands/logs/action.py +159 -0
  289. agentcore/cli/commands/logs/filter_pattern.py +17 -0
  290. agentcore/cli/commands/logs/guards.py +51 -0
  291. agentcore/cli/commands/logs_evals.py +42 -0
  292. agentcore/cli/commands/package.py +118 -0
  293. agentcore/cli/commands/remove/__init__.py +172 -0
  294. agentcore/cli/commands/remove/skill_command.py +131 -0
  295. agentcore/cli/commands/remove/tool_command.py +59 -0
  296. agentcore/cli/commands/run.py +808 -0
  297. agentcore/cli/commands/run_ingest.py +97 -0
  298. agentcore/cli/commands/shared/__init__.py +0 -0
  299. agentcore/cli/commands/shared/arn_utils.py +9 -0
  300. agentcore/cli/commands/shared/filesystem_utils.py +421 -0
  301. agentcore/cli/commands/shared/header_utils.py +87 -0
  302. agentcore/cli/commands/shared/indexed_key_parser.py +76 -0
  303. agentcore/cli/commands/shared/lifecycle_utils.py +72 -0
  304. agentcore/cli/commands/shared/region_utils.py +20 -0
  305. agentcore/cli/commands/shared/vpc_utils.py +99 -0
  306. agentcore/cli/commands/status/__init__.py +30 -0
  307. agentcore/cli/commands/status/_guards.py +25 -0
  308. agentcore/cli/commands/status/action.py +741 -0
  309. agentcore/cli/commands/status/command.py +321 -0
  310. agentcore/cli/commands/status/constants.py +36 -0
  311. agentcore/cli/commands/status/format_knowledge_base.py +111 -0
  312. agentcore/cli/commands/telemetry.py +79 -0
  313. agentcore/cli/commands/traces/__init__.py +155 -0
  314. agentcore/cli/commands/traces/action.py +123 -0
  315. agentcore/cli/commands/update/__init__.py +63 -0
  316. agentcore/cli/commands/update/action.py +164 -0
  317. agentcore/cli/commands/validate.py +165 -0
  318. agentcore/cli/constants.py +96 -0
  319. agentcore/cli/errors.py +118 -0
  320. agentcore/cli/external_requirements/__init__.py +67 -0
  321. agentcore/cli/external_requirements/checks.py +280 -0
  322. agentcore/cli/external_requirements/detect.py +55 -0
  323. agentcore/cli/external_requirements/versions.py +57 -0
  324. agentcore/cli/groups.py +23 -0
  325. agentcore/cli/interactive.py +85 -0
  326. agentcore/cli/main.py +137 -0
  327. agentcore/cli/naming.py +11 -0
  328. agentcore/cli/notices.py +42 -0
  329. agentcore/cli/project.py +34 -0
  330. agentcore/cli/run_command.py +27 -0
  331. agentcore/cli/tree.py +135 -0
  332. agentcore/cli/update_notifier.py +123 -0
  333. agentcore/cli/variadic.py +50 -0
  334. agentcore/cloudformation/__init__.py +84 -0
  335. agentcore/cloudformation/bootstrap.py +64 -0
  336. agentcore/cloudformation/logical_ids.py +37 -0
  337. agentcore/cloudformation/outputs.py +566 -0
  338. agentcore/cloudformation/stack_discovery.py +75 -0
  339. agentcore/cloudformation/stack_events.py +107 -0
  340. agentcore/cloudformation/stack_status.py +98 -0
  341. agentcore/cloudformation/types.py +44 -0
  342. agentcore/lib/__init__.py +68 -0
  343. agentcore/lib/constants.py +77 -0
  344. agentcore/lib/dependency_management/__init__.py +23 -0
  345. agentcore/lib/dependency_management/messages.py +92 -0
  346. agentcore/lib/dependency_management/plan.py +98 -0
  347. agentcore/lib/dependency_management/semver.py +137 -0
  348. agentcore/lib/dependency_management/sync.py +139 -0
  349. agentcore/lib/dependency_management/types.py +56 -0
  350. agentcore/lib/errors/__init__.py +5 -0
  351. agentcore/lib/errors/types.py +352 -0
  352. agentcore/lib/errors/validation.py +121 -0
  353. agentcore/lib/packaging/__init__.py +81 -0
  354. agentcore/lib/packaging/build_args.py +23 -0
  355. agentcore/lib/packaging/build_context.py +26 -0
  356. agentcore/lib/packaging/build_context_dockerignore.py +45 -0
  357. agentcore/lib/packaging/container.py +95 -0
  358. agentcore/lib/packaging/helpers.py +289 -0
  359. agentcore/lib/packaging/node.py +153 -0
  360. agentcore/lib/packaging/python.py +135 -0
  361. agentcore/lib/packaging/types.py +69 -0
  362. agentcore/lib/packaging/uv.py +45 -0
  363. agentcore/lib/result.py +104 -0
  364. agentcore/lib/schemas/__init__.py +1 -0
  365. agentcore/lib/schemas/io/__init__.py +27 -0
  366. agentcore/lib/schemas/io/config_io.py +458 -0
  367. agentcore/lib/schemas/io/global_config.py +239 -0
  368. agentcore/lib/schemas/io/path_resolver.py +132 -0
  369. agentcore/lib/secrets/__init__.py +18 -0
  370. agentcore/lib/secrets/cipher.py +70 -0
  371. agentcore/lib/secrets/key_provider.py +163 -0
  372. agentcore/lib/secrets/sensitive_keys.py +55 -0
  373. agentcore/lib/time_constants.py +4 -0
  374. agentcore/lib/utils/__init__.py +47 -0
  375. agentcore/lib/utils/aws_account.py +15 -0
  376. agentcore/lib/utils/credentials.py +68 -0
  377. agentcore/lib/utils/dotenv.py +32 -0
  378. agentcore/lib/utils/env.py +105 -0
  379. agentcore/lib/utils/json_format.py +29 -0
  380. agentcore/lib/utils/json_rpc.py +22 -0
  381. agentcore/lib/utils/platform.py +33 -0
  382. agentcore/lib/utils/polling.py +86 -0
  383. agentcore/lib/utils/subprocess.py +135 -0
  384. agentcore/lib/utils/time_parser.py +48 -0
  385. agentcore/lib/utils/validation.py +106 -0
  386. agentcore/logging/__init__.py +10 -0
  387. agentcore/logging/_common.py +77 -0
  388. agentcore/logging/cdk_io_host.py +36 -0
  389. agentcore/logging/create_logger.py +107 -0
  390. agentcore/logging/dev_logger.py +63 -0
  391. agentcore/logging/exec_logger.py +159 -0
  392. agentcore/logging/invoke_logger.py +154 -0
  393. agentcore/logging/remove_logger.py +95 -0
  394. agentcore/operations/__init__.py +0 -0
  395. agentcore/operations/agent/__init__.py +0 -0
  396. agentcore/operations/agent/config_bundle_defaults.py +31 -0
  397. agentcore/operations/agent/generate/__init__.py +28 -0
  398. agentcore/operations/agent/generate/schema_mapper.py +319 -0
  399. agentcore/operations/agent/generate/types.py +172 -0
  400. agentcore/operations/agent/generate/write_agent_to_project.py +67 -0
  401. agentcore/operations/agent/import_/__init__.py +31 -0
  402. agentcore/operations/agent/import_/base_translator.py +449 -0
  403. agentcore/operations/agent/import_/constants.py +23 -0
  404. agentcore/operations/agent/import_/execute.py +127 -0
  405. agentcore/operations/agent/import_/langgraph_translator.py +294 -0
  406. agentcore/operations/agent/import_/pyproject_generator.py +73 -0
  407. agentcore/operations/agent/import_/strands_translator.py +289 -0
  408. agentcore/operations/config_bundle/__init__.py +1 -0
  409. agentcore/operations/config_bundle/bundle_name_variants.py +9 -0
  410. agentcore/operations/config_bundle/diff_versions.py +52 -0
  411. agentcore/operations/config_bundle/resolve_bundle.py +65 -0
  412. agentcore/operations/connectors/__init__.py +3 -0
  413. agentcore/operations/connectors/translators.py +63 -0
  414. agentcore/operations/dataset/__init__.py +21 -0
  415. agentcore/operations/dataset/delete.py +7 -0
  416. agentcore/operations/dataset/publish.py +16 -0
  417. agentcore/operations/dataset/pull.py +21 -0
  418. agentcore/operations/dataset/push.py +201 -0
  419. agentcore/operations/dataset/resolve_dataset.py +65 -0
  420. agentcore/operations/dataset/status.py +18 -0
  421. agentcore/operations/dataset/wait.py +25 -0
  422. agentcore/operations/deploy/__init__.py +152 -0
  423. agentcore/operations/deploy/backfill_vpc_id.py +90 -0
  424. agentcore/operations/deploy/change_detection.py +84 -0
  425. agentcore/operations/deploy/constants.py +58 -0
  426. agentcore/operations/deploy/dependency_sync.py +105 -0
  427. agentcore/operations/deploy/ensure_target.py +30 -0
  428. agentcore/operations/deploy/gateway_status.py +44 -0
  429. agentcore/operations/deploy/managed_memory_notice.py +36 -0
  430. agentcore/operations/deploy/payment_connector_authorization.py +106 -0
  431. agentcore/operations/deploy/post_deploy_datasets.py +96 -0
  432. agentcore/operations/deploy/post_deploy_knowledge_bases.py +104 -0
  433. agentcore/operations/deploy/post_deploy_observability.py +28 -0
  434. agentcore/operations/deploy/post_deploy_online_evals.py +60 -0
  435. agentcore/operations/deploy/pre_deploy_identity.py +505 -0
  436. agentcore/operations/deploy/preflight.py +385 -0
  437. agentcore/operations/deploy/region_override.py +45 -0
  438. agentcore/operations/deploy/teardown.py +153 -0
  439. agentcore/operations/dev/__init__.py +61 -0
  440. agentcore/operations/dev/_http.py +79 -0
  441. agentcore/operations/dev/_server.py +165 -0
  442. agentcore/operations/dev/codezip_dev_server.py +151 -0
  443. agentcore/operations/dev/config.py +128 -0
  444. agentcore/operations/dev/constants.py +9 -0
  445. agentcore/operations/dev/container_dev_server.py +237 -0
  446. agentcore/operations/dev/container_runtime.py +37 -0
  447. agentcore/operations/dev/dev_server.py +244 -0
  448. agentcore/operations/dev/gateway_env.py +25 -0
  449. agentcore/operations/dev/invoke.py +214 -0
  450. agentcore/operations/dev/invoke_a2a.py +204 -0
  451. agentcore/operations/dev/invoke_agui.py +88 -0
  452. agentcore/operations/dev/invoke_mcp.py +145 -0
  453. agentcore/operations/dev/invoke_types.py +30 -0
  454. agentcore/operations/dev/load_dev_env.py +26 -0
  455. agentcore/operations/dev/memory_env.py +19 -0
  456. agentcore/operations/dev/otel/__init__.py +5 -0
  457. agentcore/operations/dev/otel/collector.py +234 -0
  458. agentcore/operations/dev/otel/transforms.py +331 -0
  459. agentcore/operations/dev/payment_env.py +50 -0
  460. agentcore/operations/dev/server.py +28 -0
  461. agentcore/operations/dev/sse_transform.py +30 -0
  462. agentcore/operations/dev/utils.py +152 -0
  463. agentcore/operations/dev/web_ui/__init__.py +31 -0
  464. agentcore/operations/dev/web_ui/constants.py +25 -0
  465. agentcore/operations/dev/web_ui/handlers/__init__.py +36 -0
  466. agentcore/operations/dev/web_ui/handlers/_common.py +36 -0
  467. agentcore/operations/dev/web_ui/handlers/_deployed.py +37 -0
  468. agentcore/operations/dev/web_ui/handlers/a2a_proxy.py +37 -0
  469. agentcore/operations/dev/web_ui/handlers/cloudwatch_traces.py +71 -0
  470. agentcore/operations/dev/web_ui/handlers/harness_invocation.py +89 -0
  471. agentcore/operations/dev/web_ui/handlers/harness_utils.py +95 -0
  472. agentcore/operations/dev/web_ui/handlers/invocations.py +327 -0
  473. agentcore/operations/dev/web_ui/handlers/mcp_proxy.py +119 -0
  474. agentcore/operations/dev/web_ui/handlers/memory.py +84 -0
  475. agentcore/operations/dev/web_ui/handlers/resources.py +351 -0
  476. agentcore/operations/dev/web_ui/handlers/start.py +182 -0
  477. agentcore/operations/dev/web_ui/handlers/status.py +25 -0
  478. agentcore/operations/dev/web_ui/handlers/traces.py +50 -0
  479. agentcore/operations/dev/web_ui/run_web_ui.py +60 -0
  480. agentcore/operations/dev/web_ui/web_server.py +297 -0
  481. agentcore/operations/eval/__init__.py +8 -0
  482. agentcore/operations/eval/list_eval_runs.py +18 -0
  483. agentcore/operations/eval/logs_eval.py +119 -0
  484. agentcore/operations/eval/pause_resume.py +90 -0
  485. agentcore/operations/eval/run_eval.py +354 -0
  486. agentcore/operations/eval/shared/__init__.py +0 -0
  487. agentcore/operations/eval/shared/dataset_loader.py +68 -0
  488. agentcore/operations/eval/shared/dataset_session_provider.py +122 -0
  489. agentcore/operations/eval/shared/evaluator_runner.py +89 -0
  490. agentcore/operations/eval/shared/scenario_executor.py +71 -0
  491. agentcore/operations/eval/shared/span_collector.py +255 -0
  492. agentcore/operations/eval/storage.py +67 -0
  493. agentcore/operations/feedback/__init__.py +21 -0
  494. agentcore/operations/feedback/aperture_client.py +98 -0
  495. agentcore/operations/feedback/build_payload.py +97 -0
  496. agentcore/operations/feedback/constants.py +26 -0
  497. agentcore/operations/feedback/submit_feedback.py +150 -0
  498. agentcore/operations/fetch_access/__init__.py +36 -0
  499. agentcore/operations/fetch_access/_target.py +17 -0
  500. agentcore/operations/fetch_access/fetch_gateway_token.py +75 -0
  501. agentcore/operations/fetch_access/fetch_harness_token.py +72 -0
  502. agentcore/operations/fetch_access/fetch_runtime_token.py +76 -0
  503. agentcore/operations/fetch_access/list_agents.py +18 -0
  504. agentcore/operations/fetch_access/list_gateways.py +26 -0
  505. agentcore/operations/fetch_access/list_harnesses.py +23 -0
  506. agentcore/operations/fetch_access/oauth_token.py +162 -0
  507. agentcore/operations/fetch_access/types.py +34 -0
  508. agentcore/operations/harness/__init__.py +1 -0
  509. agentcore/operations/harness/orphan.py +84 -0
  510. agentcore/operations/harness/skill_utils.py +56 -0
  511. agentcore/operations/identity/__init__.py +33 -0
  512. agentcore/operations/identity/api_key_credential_provider.py +68 -0
  513. agentcore/operations/identity/oauth2_credential_provider.py +95 -0
  514. agentcore/operations/ingest/__init__.py +184 -0
  515. agentcore/operations/init/__init__.py +3 -0
  516. agentcore/operations/init/files.py +59 -0
  517. agentcore/operations/insights/__init__.py +21 -0
  518. agentcore/operations/insights/insights_storage.py +67 -0
  519. agentcore/operations/insights/run_insights.py +148 -0
  520. agentcore/operations/invoke/__init__.py +5 -0
  521. agentcore/operations/invoke/resolve_agent_context.py +85 -0
  522. agentcore/operations/jobs/__init__.py +38 -0
  523. agentcore/operations/jobs/ab_test/__init__.py +0 -0
  524. agentcore/operations/jobs/ab_test/build_options.py +126 -0
  525. agentcore/operations/jobs/ab_test/format.py +121 -0
  526. agentcore/operations/jobs/ab_test/handler.py +412 -0
  527. agentcore/operations/jobs/ab_test/promote.py +142 -0
  528. agentcore/operations/jobs/ab_test/resolve.py +221 -0
  529. agentcore/operations/jobs/batch_evaluation/__init__.py +0 -0
  530. agentcore/operations/jobs/batch_evaluation/build_source.py +68 -0
  531. agentcore/operations/jobs/batch_evaluation/dataset_phase1.py +95 -0
  532. agentcore/operations/jobs/batch_evaluation/format.py +58 -0
  533. agentcore/operations/jobs/batch_evaluation/handler.py +203 -0
  534. agentcore/operations/jobs/insights/__init__.py +0 -0
  535. agentcore/operations/jobs/insights/format.py +65 -0
  536. agentcore/operations/jobs/insights/handler.py +178 -0
  537. agentcore/operations/jobs/recommendation/__init__.py +0 -0
  538. agentcore/operations/jobs/recommendation/apply_to_bundle.py +76 -0
  539. agentcore/operations/jobs/recommendation/build_config.py +271 -0
  540. agentcore/operations/jobs/recommendation/fetch_session_spans.py +93 -0
  541. agentcore/operations/jobs/recommendation/format.py +77 -0
  542. agentcore/operations/jobs/recommendation/handler.py +331 -0
  543. agentcore/operations/jobs/shared/__init__.py +0 -0
  544. agentcore/operations/jobs/shared/constants.py +85 -0
  545. agentcore/operations/jobs/shared/engine.py +187 -0
  546. agentcore/operations/jobs/shared/format.py +104 -0
  547. agentcore/operations/jobs/shared/region.py +34 -0
  548. agentcore/operations/jobs/shared/resolve_agent_state.py +30 -0
  549. agentcore/operations/jobs/shared/storage.py +117 -0
  550. agentcore/operations/jobs/shared/wait.py +30 -0
  551. agentcore/operations/knowledge_base/__init__.py +33 -0
  552. agentcore/operations/knowledge_base/connector_config.py +105 -0
  553. agentcore/operations/knowledge_base/hydrate_data_sources.py +59 -0
  554. agentcore/operations/mcp/__init__.py +4 -0
  555. agentcore/operations/memory/__init__.py +13 -0
  556. agentcore/operations/memory/_records.py +72 -0
  557. agentcore/operations/memory/list_memory_records.py +45 -0
  558. agentcore/operations/memory/retrieve_memory_records.py +52 -0
  559. agentcore/operations/node/__init__.py +15 -0
  560. agentcore/operations/node/setup.py +36 -0
  561. agentcore/operations/python/__init__.py +17 -0
  562. agentcore/operations/python/setup.py +47 -0
  563. agentcore/operations/resolve_agent.py +159 -0
  564. agentcore/operations/session/__init__.py +86 -0
  565. agentcore/operations/traces/__init__.py +29 -0
  566. agentcore/operations/traces/get_trace.py +202 -0
  567. agentcore/operations/traces/insights_query.py +74 -0
  568. agentcore/operations/traces/list_traces.py +46 -0
  569. agentcore/operations/traces/trace_url.py +25 -0
  570. agentcore/operations/traces/types.py +55 -0
  571. agentcore/primitives/__init__.py +0 -0
  572. agentcore/primitives/_gateway_target_wizard.py +293 -0
  573. agentcore/primitives/_gateway_validation.py +442 -0
  574. agentcore/primitives/_harness_cli.py +557 -0
  575. agentcore/primitives/_harness_validation.py +163 -0
  576. agentcore/primitives/_harness_wizard.py +726 -0
  577. agentcore/primitives/_knowledge_base_wizard.py +259 -0
  578. agentcore/primitives/_payment_wizard.py +331 -0
  579. agentcore/primitives/_policy_form.py +160 -0
  580. agentcore/primitives/agent.py +817 -0
  581. agentcore/primitives/auth_utils.py +77 -0
  582. agentcore/primitives/base.py +178 -0
  583. agentcore/primitives/capacity_provider.py +501 -0
  584. agentcore/primitives/config_bundle.py +329 -0
  585. agentcore/primitives/credential.py +387 -0
  586. agentcore/primitives/credential_utils.py +45 -0
  587. agentcore/primitives/dataset.py +211 -0
  588. agentcore/primitives/deployed_gateways.py +34 -0
  589. agentcore/primitives/evaluator.py +909 -0
  590. agentcore/primitives/gateway.py +496 -0
  591. agentcore/primitives/gateway_target.py +988 -0
  592. agentcore/primitives/harness.py +706 -0
  593. agentcore/primitives/knowledge_base.py +477 -0
  594. agentcore/primitives/memory.py +387 -0
  595. agentcore/primitives/online_eval_config.py +365 -0
  596. agentcore/primitives/online_insights.py +275 -0
  597. agentcore/primitives/payment_connector.py +427 -0
  598. agentcore/primitives/payment_eligible.py +20 -0
  599. agentcore/primitives/payment_manager.py +605 -0
  600. agentcore/primitives/payment_validation.py +68 -0
  601. agentcore/primitives/policy.py +622 -0
  602. agentcore/primitives/policy_engine.py +358 -0
  603. agentcore/primitives/registry.py +56 -0
  604. agentcore/primitives/runtime_endpoint.py +361 -0
  605. agentcore/primitives/secret_flag_warning.py +17 -0
  606. agentcore/schema/__init__.py +14 -0
  607. agentcore/schema/_zod.py +395 -0
  608. agentcore/schema/constants.py +306 -0
  609. agentcore/schema/schemas/__init__.py +40 -0
  610. agentcore/schema/schemas/agent_env.py +545 -0
  611. agentcore/schema/schemas/agentcore_project.py +530 -0
  612. agentcore/schema/schemas/auth.py +286 -0
  613. agentcore/schema/schemas/aws_targets.py +72 -0
  614. agentcore/schema/schemas/connections.py +187 -0
  615. agentcore/schema/schemas/deployed_state.py +322 -0
  616. agentcore/schema/schemas/mcp.py +650 -0
  617. agentcore/schema/schemas/mcp_defs.py +54 -0
  618. agentcore/schema/schemas/primitives/__init__.py +52 -0
  619. agentcore/schema/schemas/primitives/ab_test.py +162 -0
  620. agentcore/schema/schemas/primitives/capacity_provider.py +214 -0
  621. agentcore/schema/schemas/primitives/config_bundle.py +48 -0
  622. agentcore/schema/schemas/primitives/dataset.py +55 -0
  623. agentcore/schema/schemas/primitives/evaluator.py +171 -0
  624. agentcore/schema/schemas/primitives/harness.py +710 -0
  625. agentcore/schema/schemas/primitives/knowledge_base.py +90 -0
  626. agentcore/schema/schemas/primitives/memory.py +113 -0
  627. agentcore/schema/schemas/primitives/online_eval_config.py +77 -0
  628. agentcore/schema/schemas/primitives/payment.py +114 -0
  629. agentcore/schema/schemas/primitives/policy.py +83 -0
  630. agentcore/schema/schemas/primitives/tags.py +50 -0
  631. agentcore/schema/schemas/zod_util.py +5 -0
  632. agentcore/schema/types/__init__.py +3 -0
  633. agentcore/schema/types/path.py +16 -0
  634. agentcore/templates/__init__.py +115 -0
  635. agentcore/templates/_handlebars.py +782 -0
  636. agentcore/templates/_js.py +164 -0
  637. agentcore/templates/base_renderer.py +107 -0
  638. agentcore/templates/cdk_renderer.py +129 -0
  639. agentcore/templates/evaluator_renderer.py +39 -0
  640. agentcore/templates/gateway_target_renderer.py +69 -0
  641. agentcore/templates/llm_context/README.md +16 -0
  642. agentcore/templates/llm_context/agentcore.ts +685 -0
  643. agentcore/templates/llm_context/aws-targets.ts +51 -0
  644. agentcore/templates/profiles.py +151 -0
  645. agentcore/templates/render.py +92 -0
  646. agentcore/templates/renderers.py +83 -0
  647. agentcore/templates/schema_assets.py +23 -0
  648. agentcore/templates/template_root.py +28 -0
  649. agentcore/templates/types.py +192 -0
  650. agentcore_cli-0.31.1.dist-info/METADATA +84 -0
  651. agentcore_cli-0.31.1.dist-info/RECORD +655 -0
  652. agentcore_cli-0.31.1.dist-info/WHEEL +4 -0
  653. agentcore_cli-0.31.1.dist-info/entry_points.txt +2 -0
  654. agentcore_cli-0.31.1.dist-info/licenses/LICENSE +175 -0
  655. agentcore_cli-0.31.1.dist-info/licenses/NOTICE +88 -0
@@ -0,0 +1,685 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /**
3
+ * READ-ONLY LLM CONTEXT - Do not edit this file.
4
+ *
5
+ * JSON File: agentcore/agentcore.json
6
+ * Purpose: Current top-level AgentCore project configuration.
7
+ */
8
+
9
+ interface AgentCoreProjectSpec {
10
+ $schema?: string;
11
+ name: string; // @regex ^[A-Za-z][A-Za-z0-9]{0,22}$ @min 1 @max 23
12
+ version: number; // integer @min 1
13
+ managedBy: 'CDK'; // default 'CDK'
14
+ tags?: Tags;
15
+ runtimes: AgentEnvSpec[]; // default [], unique by name
16
+ memories: Memory[]; // default [], unique by name
17
+ knowledgeBases: KnowledgeBase[]; // default [], unique by name
18
+ credentials: Credential[]; // default [], unique by name
19
+ evaluators: Evaluator[]; // default [], unique by name
20
+ onlineEvalConfigs: OnlineEvalConfig[]; // default [], unique by name
21
+ agentCoreGateways: AgentCoreGateway[]; // default [], unique by name
22
+ mcpRuntimeTools?: AgentCoreMcpRuntimeTool[]; // unique by name
23
+ unassignedTargets?: AgentCoreGatewayTarget[]; // unique by name
24
+ policyEngines: PolicyEngine[]; // default [], unique by name
25
+ configBundles: ConfigBundle[]; // default [], unique by name
26
+ abTests: ABTest[]; // default [], unique by name
27
+ harnesses: HarnessRegistryEntry[]; // default [], unique by name
28
+ datasets?: Dataset[]; // unique by name
29
+ capacityProviders?: CapacityProvider[]; // unique by name
30
+ payments?: PaymentManager[]; // unique by name
31
+ }
32
+
33
+ type Tags = Record<string, string>; // @max 50 entries; keys @min 1 @max 128; values @max 256
34
+ type BuildType = 'CodeZip' | 'Container';
35
+ type PythonRuntime = 'PYTHON_3_10' | 'PYTHON_3_11' | 'PYTHON_3_12' | 'PYTHON_3_13' | 'PYTHON_3_14';
36
+ type NodeRuntime = 'NODE_18' | 'NODE_20' | 'NODE_22';
37
+ type RuntimeVersion = PythonRuntime | NodeRuntime;
38
+ type NetworkMode = 'PUBLIC' | 'VPC';
39
+ type ProtocolMode = 'HTTP' | 'MCP' | 'A2A' | 'AGUI';
40
+
41
+ // RUNTIME
42
+
43
+ interface AgentEnvSpec {
44
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
45
+ description?: string; // @max 200
46
+ build: BuildType;
47
+ entrypoint: string; // @regex ^[a-zA-Z0-9_][a-zA-Z0-9_/.-]*\.(py|ts|js)(:[a-zA-Z_][a-zA-Z0-9_]*)?$
48
+ codeLocation: string; // @min 1 directory path
49
+ dockerfile?: string; // Container only, relative to build context, @min 1 @max 255
50
+ buildContextPath?: string; // Container only, @min 1 directory path
51
+ customDockerBuildArgs?: Record<string, string>; // Container only; keys @regex ^[A-Za-z_][A-Za-z0-9_]*$ @max 255; values @max 4096
52
+ runtimeVersion?: RuntimeVersion;
53
+ envVars?: EnvVar[];
54
+ networkMode?: NetworkMode; // default 'PUBLIC'; must be unset when capacityProviderConfiguration is set (a CP supplies its own networking)
55
+ networkConfig?: NetworkConfig; // required only when networkMode is 'VPC'; mutually exclusive with capacityProviderConfiguration
56
+ capacityProviderConfiguration?: CapacityProviderConfiguration; // attach runtime to a CP; mutually exclusive with networkMode/networkConfig
57
+ instrumentation?: Instrumentation;
58
+ protocol?: ProtocolMode; // default 'HTTP'
59
+ requestHeaderAllowlist?: string[]; // @max 20
60
+ executionRoleArn?: string;
61
+ additionalPolicies?: string[]; // managed-policy ARNs or policy JSON paths relative to codeLocation
62
+ authorizerType?: RuntimeAuthorizerType; // default 'AWS_IAM'
63
+ authorizerConfiguration?: AuthorizerConfig; // required only for CUSTOM_JWT
64
+ tags?: Tags;
65
+ lifecycleConfiguration?: LifecycleConfiguration;
66
+ filesystemConfigurations?: FilesystemConfiguration[]; // @max 5; mount paths unique
67
+ endpoints?: Record<string, RuntimeEndpoint>; // keys @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @max 48
68
+ connections?: Connection[];
69
+ }
70
+
71
+ interface EnvVar {
72
+ name: string; // @regex ^[A-Za-z_][A-Za-z0-9_]*$ @min 1 @max 255
73
+ value: string;
74
+ }
75
+
76
+ interface NetworkConfig {
77
+ subnets: string[]; // @min 1 @max 16; each @regex ^subnet-(?:[0-9a-f]{8}|[0-9a-f]{17})$
78
+ securityGroups: string[]; // @min 1 @max 16; each @regex ^sg-(?:[0-9a-f]{8}|[0-9a-f]{17})$
79
+ vpcId?: string; // @regex ^vpc-(?:[0-9a-f]{8}|[0-9a-f]{17})$
80
+ }
81
+
82
+ interface Instrumentation {
83
+ enableOtel: boolean; // default true
84
+ }
85
+
86
+ type FilesystemConfiguration =
87
+ | { sessionStorage: SessionStorage }
88
+ | { efsAccessPoint: EfsAccessPointConfig }
89
+ | { s3FilesAccessPoint: S3FilesAccessPointConfig }
90
+ | { capacityProviderVolume: CapacityProviderVolumeConfig }; // requires the runtime attached to a capacity provider
91
+
92
+ interface SessionStorage {
93
+ mountPath: string; // @regex ^/mnt/[a-zA-Z0-9._-]+/?$ @min 6 @max 200
94
+ }
95
+
96
+ interface EfsAccessPointConfig {
97
+ accessPointArn: string; // EFS access point ARN
98
+ mountPath: string; // @regex ^/mnt/[a-zA-Z0-9._-]+/?$ @min 6 @max 200
99
+ }
100
+
101
+ interface S3FilesAccessPointConfig {
102
+ accessPointArn: string; // S3 Files access point ARN
103
+ mountPath: string; // @regex ^/mnt/[a-zA-Z0-9._-]+/?$ @min 6 @max 200
104
+ }
105
+
106
+ // Runtime -> capacity-provider reference. Exactly one of the two must be set.
107
+ interface CapacityProviderConfiguration {
108
+ capacityProviderArn?: string; // external CP (not defined in this project)
109
+ capacityProviderName?: string; // in-project CP (a capacityProviders[] sibling)
110
+ }
111
+
112
+ interface CapacityProviderVolumeConfig {
113
+ volumeName: string; // @regex ^[a-zA-Z][a-zA-Z0-9_-]{0,47}$ @min 1 @max 48; a volume defined on the attached CP (its volumes[])
114
+ mountPath: string; // @regex ^/mnt/[a-zA-Z0-9._-]+/?$ @min 6 @max 200
115
+ }
116
+
117
+ interface LifecycleConfiguration {
118
+ idleRuntimeSessionTimeout?: number; // integer seconds @min 60 @max 28800; must be <= maxLifetime
119
+ maxLifetime?: number; // integer seconds @min 60 @max 28800
120
+ }
121
+
122
+ interface RuntimeEndpoint {
123
+ version: number; // integer @min 1
124
+ description?: string; // @max 200
125
+ }
126
+
127
+ type RuntimeAuthorizerType = 'AWS_IAM' | 'CUSTOM_JWT';
128
+ type GatewayAuthorizerType = 'NONE' | 'AWS_IAM' | 'CUSTOM_JWT';
129
+
130
+ interface AuthorizerConfig {
131
+ customJwtAuthorizer?: CustomJwtAuthorizerConfig;
132
+ }
133
+
134
+ interface CustomJwtAuthorizerConfig {
135
+ discoveryUrl: string; // HTTPS URL ending in /.well-known/openid-configuration
136
+ allowedAudience?: string[];
137
+ allowedClients?: string[];
138
+ allowedScopes?: string[]; // each @regex ^[\x21\x23-\x5B\x5D-\x7E]+$ @max 255
139
+ customClaims?: CustomClaimValidation[]; // @min 1
140
+ privateEndpoint?: PrivateEndpoint;
141
+ privateEndpointOverrides?: PrivateEndpointOverride[]; // @max 5; requires privateEndpoint
142
+ }
143
+
144
+ interface CustomClaimValidation {
145
+ inboundTokenClaimName: string; // @regex ^[A-Za-z0-9_.:-]+$ @min 1 @max 255
146
+ inboundTokenClaimValueType: 'STRING' | 'STRING_ARRAY';
147
+ authorizingClaimMatchValue: {
148
+ claimMatchOperator: 'EQUALS' | 'CONTAINS' | 'CONTAINS_ANY';
149
+ claimMatchValue:
150
+ | { matchValueString: string; matchValueStringList?: never }
151
+ | { matchValueString?: never; matchValueStringList: string[] };
152
+ };
153
+ }
154
+
155
+ type PrivateEndpoint =
156
+ | { selfManagedLatticeResource: SelfManagedLatticeResource; managedVpcResource?: never }
157
+ | { selfManagedLatticeResource?: never; managedVpcResource: ManagedVpcResource };
158
+
159
+ interface SelfManagedLatticeResource {
160
+ resourceConfigurationIdentifier: string; // rcfg ID or VPC Lattice resource-configuration ARN
161
+ }
162
+
163
+ interface ManagedVpcResource {
164
+ vpcIdentifier: string; // VPC ID
165
+ subnetIds: string[]; // @min 1
166
+ endpointIpAddressType: 'IPV4' | 'IPV6';
167
+ securityGroupIds?: string[]; // @max 5
168
+ tags?: Tags;
169
+ routingDomain?: string; // @min 3 @max 255
170
+ }
171
+
172
+ interface PrivateEndpointOverride {
173
+ domain: string; // @min 1 @max 253
174
+ privateEndpoint: PrivateEndpoint;
175
+ }
176
+
177
+ // EXTERNAL RESOURCE CONNECTIONS
178
+
179
+ interface Connection {
180
+ id?: string; // @regex ^[a-zA-Z][a-zA-Z0-9_-]{0,63}$
181
+ to: ConnectionTarget;
182
+ access?: 'read' | 'readwrite'; // only meaningful for memory; default 'read'
183
+ description?: string; // @max 200
184
+ }
185
+
186
+ type ConnectionTarget =
187
+ | { type: 'memory'; arn: string; namespaces?: string[] }
188
+ | { type: 'gateway'; arn: string; outboundAuth?: GatewayOutboundAuth }
189
+ | { type: 'runtime'; arn: string; exec?: boolean }
190
+ | { type: 'browser'; arn?: string }
191
+ | { type: 'codeInterpreter'; arn?: string };
192
+
193
+ type GatewayOutboundAuth =
194
+ | { awsIam: Record<string, never> }
195
+ | { none: Record<string, never> }
196
+ | {
197
+ oauth: {
198
+ providerArn: string;
199
+ scopes: string[];
200
+ grantType?: 'CLIENT_CREDENTIALS' | 'AUTHORIZATION_CODE' | 'TOKEN_EXCHANGE';
201
+ customParameters?: Record<string, string>;
202
+ };
203
+ };
204
+
205
+ // MEMORY
206
+
207
+ interface Memory {
208
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
209
+ eventExpiryDuration: number; // integer days @min 3 @max 365
210
+ strategies: MemoryStrategy[]; // default [], unique by type
211
+ indexedKeys?: IndexedKey[]; // @max 10, unique by key; requires at least one strategy
212
+ tags?: Tags;
213
+ encryptionKeyArn?: string;
214
+ executionRoleArn?: string;
215
+ streamDeliveryResources?: StreamDeliveryResources;
216
+ }
217
+
218
+ type MemoryStrategyType = 'SEMANTIC' | 'SUMMARIZATION' | 'USER_PREFERENCE' | 'EPISODIC';
219
+
220
+ interface MemoryStrategy {
221
+ type: MemoryStrategyType;
222
+ name?: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @max 48
223
+ description?: string;
224
+ namespaceTemplates?: string[];
225
+ reflectionNamespaceTemplates?: string[]; // EPISODIC only and required for EPISODIC
226
+ /** @deprecated Use namespaceTemplates. */
227
+ namespaces?: string[];
228
+ /** @deprecated Use reflectionNamespaceTemplates. */
229
+ reflectionNamespaces?: string[];
230
+ }
231
+
232
+ interface IndexedKey {
233
+ key: string; // @regex ^[a-zA-Z0-9\s._:/=+@-]+$ @min 1 @max 128
234
+ type: 'STRING' | 'STRINGLIST' | 'NUMBER';
235
+ }
236
+
237
+ interface StreamDeliveryResources {
238
+ resources: {
239
+ kinesis: {
240
+ dataStreamArn: string;
241
+ contentConfigurations: {
242
+ type: 'MEMORY_RECORDS';
243
+ level: 'FULL_CONTENT' | 'METADATA_ONLY';
244
+ }[];
245
+ };
246
+ }[];
247
+ }
248
+
249
+ // KNOWLEDGE BASE
250
+
251
+ interface KnowledgeBase {
252
+ type: 'AgentCoreKnowledgeBase'; // default 'AgentCoreKnowledgeBase'
253
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_-]{0,47}$ @min 1 @max 48
254
+ description?: string; // @max 2048
255
+ dataSources: DataSource[]; // @min 1, unique by URI/config file
256
+ gateway?: string;
257
+ }
258
+
259
+ type DataSource =
260
+ | { type: 'S3'; uri: string } // valid s3:// URI
261
+ | {
262
+ type: 'WEB' | 'CONFLUENCE' | 'SHAREPOINT' | 'ONEDRIVE' | 'GOOGLEDRIVE';
263
+ connectorConfigFile: string;
264
+ };
265
+
266
+ // CREDENTIAL
267
+
268
+ type Credential = ApiKeyCredential | OAuthCredential | PaymentCredential;
269
+
270
+ interface ApiKeyCredential {
271
+ authorizerType: 'ApiKeyCredentialProvider';
272
+ name: string; // @regex ^[a-zA-Z0-9\-_]+$ @min 1 @max 128
273
+ }
274
+
275
+ interface OAuthCredential {
276
+ authorizerType: 'OAuthCredentialProvider';
277
+ name: string; // @regex ^[a-zA-Z0-9\-_]+$ @min 1 @max 128
278
+ discoveryUrl?: string;
279
+ scopes?: string[];
280
+ vendor: string; // default 'CustomOauth2'
281
+ managed?: boolean;
282
+ usage?: 'inbound' | 'outbound';
283
+ }
284
+
285
+ interface PaymentCredential {
286
+ authorizerType: 'PaymentCredentialProvider';
287
+ name: string; // @regex ^[a-zA-Z0-9\-_]+$ @min 1 @max 128
288
+ provider: PaymentProvider;
289
+ }
290
+
291
+ // EVALUATION
292
+
293
+ interface Evaluator {
294
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
295
+ level: 'SESSION' | 'TRACE' | 'TOOL_CALL';
296
+ description?: string;
297
+ config: { llmAsAJudge: LlmAsAJudgeConfig; codeBased?: never } | { llmAsAJudge?: never; codeBased: CodeBasedConfig };
298
+ kmsKeyArn?: string;
299
+ tags?: Tags;
300
+ }
301
+
302
+ interface LlmAsAJudgeConfig {
303
+ modelProvider?: 'Bedrock' | 'OpenResponses'; // Defaults to Bedrock when omitted
304
+ model: string; // Bedrock model ID/ARN or OpenAI model ID
305
+ instructions: string;
306
+ ratingScale:
307
+ | { numerical: { value: number; label: string; definition: string }[]; categorical?: never }
308
+ | { numerical?: never; categorical: { label: string; definition: string }[] };
309
+ }
310
+
311
+ type CodeBasedConfig =
312
+ | { managed: ManagedCodeBasedConfig; external?: never }
313
+ | { managed?: never; external: ExternalCodeBasedConfig };
314
+
315
+ interface ManagedCodeBasedConfig {
316
+ codeLocation: string;
317
+ entrypoint: string; // default 'lambda_function.handler'
318
+ timeoutSeconds: number; // integer @min 1 @max 300, default 60
319
+ additionalPolicies?: string[];
320
+ }
321
+
322
+ interface ExternalCodeBasedConfig {
323
+ lambdaArn: string; // Lambda function ARN
324
+ }
325
+
326
+ interface OnlineEvalConfig {
327
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
328
+ agent?: string; // mutually exclusive with logGroupNames
329
+ endpoint?: string; // requires agent
330
+ logGroupNames?: string[]; // @min 1 @max 5, mutually exclusive with agent
331
+ serviceNames?: string[]; // @min 1, requires logGroupNames
332
+ evaluators?: string[];
333
+ insights?: string[];
334
+ clusteringConfig?: { frequencies: ('DAILY' | 'WEEKLY' | 'MONTHLY')[] }; // @min 1 @max 3; requires insights
335
+ samplingRate: number; // @min 0.01 @max 100
336
+ description?: string; // @max 200
337
+ enableOnCreate?: boolean;
338
+ tags?: Tags;
339
+ }
340
+
341
+ // GATEWAY
342
+
343
+ type GatewayTargetType =
344
+ | 'lambda'
345
+ | 'mcpServer'
346
+ | 'openApiSchema'
347
+ | 'smithyModel'
348
+ | 'apiGateway'
349
+ | 'lambdaFunctionArn'
350
+ | 'httpRuntime'
351
+ | 'connector'
352
+ | 'passthrough';
353
+
354
+ interface AgentCoreGateway {
355
+ name: string; // @regex ^[0-9a-zA-Z](?:[0-9a-zA-Z-]*[0-9a-zA-Z])?$ @min 1 @max 100
356
+ resourceName?: string; // imported AWS resource name, same constraints as name
357
+ protocolType?: 'MCP' | 'None';
358
+ description?: string;
359
+ targets: AgentCoreGatewayTarget[];
360
+ authorizerType: GatewayAuthorizerType; // default 'NONE'
361
+ authorizerConfiguration?: AuthorizerConfig; // required only for CUSTOM_JWT
362
+ enableSemanticSearch: boolean; // default true
363
+ exceptionLevel: 'NONE' | 'DEBUG'; // default 'NONE'
364
+ policyEngineConfiguration?: {
365
+ policyEngineName: string;
366
+ mode: 'LOG_ONLY' | 'ENFORCE';
367
+ };
368
+ executionRoleArn?: string; // IAM role ARN @max 2048
369
+ tags?: Tags;
370
+ }
371
+
372
+ interface AgentCoreGatewayTarget {
373
+ name: string;
374
+ targetType: GatewayTargetType;
375
+ toolDefinitions?: ToolDefinition[];
376
+ compute?: ToolComputeConfig;
377
+ endpoint?: string; // mcpServer URL
378
+ outboundAuth?: OutboundAuth;
379
+ apiGateway?: ApiGatewayConfig;
380
+ schemaSource?: SchemaSource;
381
+ lambdaFunctionArn?: LambdaFunctionArnConfig;
382
+ httpRuntime?: HttpRuntimeConfig;
383
+ connectorId?: 'bedrock-knowledge-bases' | 'web-search';
384
+ configurations?: ConnectorConfiguration[];
385
+ passthrough?: PassthroughConfig;
386
+ }
387
+
388
+ interface ToolDefinition {
389
+ name: string; // @min 1 @max 128
390
+ description: string;
391
+ inputSchema: SchemaDefinition;
392
+ outputSchema?: SchemaDefinition;
393
+ }
394
+
395
+ interface SchemaDefinition {
396
+ type: 'string' | 'number' | 'object' | 'array' | 'boolean' | 'integer';
397
+ description?: string;
398
+ items?: SchemaDefinition;
399
+ properties?: Record<string, SchemaDefinition>;
400
+ required?: string[];
401
+ }
402
+
403
+ type ToolComputeConfig = LambdaComputeConfig | AgentCoreRuntimeComputeConfig;
404
+
405
+ interface LambdaComputeConfig {
406
+ host: 'Lambda';
407
+ implementation: ToolImplementationBinding;
408
+ nodeVersion?: NodeRuntime; // required for TypeScript
409
+ pythonVersion?: PythonRuntime; // required for Python
410
+ timeout?: number; // integer @min 1 @max 900
411
+ memorySize?: number; // integer @min 128 @max 10240
412
+ iamPolicy?: IamPolicyDocument;
413
+ }
414
+
415
+ interface AgentCoreRuntimeComputeConfig {
416
+ host: 'AgentCoreRuntime';
417
+ implementation: ToolImplementationBinding; // Python only
418
+ runtime?: RuntimeConfig;
419
+ iamPolicy?: IamPolicyDocument;
420
+ }
421
+
422
+ interface ToolImplementationBinding {
423
+ language: 'TypeScript' | 'Python';
424
+ path: string;
425
+ handler: string;
426
+ }
427
+
428
+ interface RuntimeConfig {
429
+ artifact: 'CodeZip';
430
+ pythonVersion: PythonRuntime;
431
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @max 48
432
+ entrypoint: string; // Python file path with optional handler
433
+ codeLocation: string;
434
+ instrumentation?: Instrumentation;
435
+ networkMode: NetworkMode; // default 'PUBLIC'
436
+ description?: string;
437
+ }
438
+
439
+ interface IamPolicyDocument {
440
+ Version: string;
441
+ Statement: unknown[];
442
+ [key: string]: unknown;
443
+ }
444
+
445
+ interface OutboundAuth {
446
+ type: 'OAUTH' | 'API_KEY' | 'NONE' | 'GATEWAY_IAM_ROLE' | 'JWT_PASSTHROUGH'; // default 'NONE'
447
+ credentialName?: string;
448
+ scopes?: string[];
449
+ service?: string; // @min 1 @max 64; required for passthrough GATEWAY_IAM_ROLE
450
+ region?: string; // @min 1 @max 32
451
+ }
452
+
453
+ interface ApiGatewayConfig {
454
+ restApiId: string;
455
+ stage: string;
456
+ apiGatewayToolConfiguration: {
457
+ toolFilters: {
458
+ filterPath: string;
459
+ methods: ApiGatewayHttpMethod[];
460
+ }[];
461
+ toolOverrides?: {
462
+ name: string;
463
+ path: string;
464
+ method: ApiGatewayHttpMethod;
465
+ description?: string;
466
+ }[];
467
+ };
468
+ }
469
+
470
+ type ApiGatewayHttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
471
+ type SchemaSource = { inline: { path: string } } | { s3: { uri: string; bucketOwnerAccountId?: string } };
472
+
473
+ interface LambdaFunctionArnConfig {
474
+ lambdaArn: string; // @min 1 @max 170
475
+ toolSchemaFile: string;
476
+ }
477
+
478
+ interface HttpRuntimeConfig {
479
+ runtime: string; // project runtime name
480
+ runtimeEndpoint?: string; // endpoint alias
481
+ }
482
+
483
+ interface ConnectorConfiguration {
484
+ name: string;
485
+ description?: string;
486
+ parameterValues?: Record<string, unknown>;
487
+ parameterOverrides?: {
488
+ path: string;
489
+ description?: string;
490
+ visible?: boolean;
491
+ }[];
492
+ }
493
+
494
+ interface PassthroughConfig {
495
+ endpoint: string; // HTTPS URL
496
+ protocolType: 'MCP' | 'A2A' | 'INFERENCE' | 'CUSTOM'; // default 'CUSTOM'
497
+ stickinessConfiguration?: {
498
+ identifier: string; // @min 1 @max 256
499
+ timeout?: number; // integer @min 1 @max 86400
500
+ };
501
+ }
502
+
503
+ interface AgentCoreMcpRuntimeTool {
504
+ name: string;
505
+ toolDefinition: ToolDefinition;
506
+ compute: AgentCoreRuntimeComputeConfig;
507
+ bindings?: {
508
+ runtimeName: string;
509
+ envVarName: string; // @regex ^[A-Za-z_][A-Za-z0-9_]*$ @max 255
510
+ }[];
511
+ }
512
+
513
+ // POLICY
514
+
515
+ interface PolicyEngine {
516
+ name: string; // @regex ^[A-Za-z][A-Za-z0-9_]{0,47}$ @min 1 @max 48
517
+ description?: string; // @min 1 @max 4096
518
+ encryptionKeyArn?: string;
519
+ tags?: Tags;
520
+ policies: Policy[]; // default [], unique by name
521
+ }
522
+
523
+ interface Policy {
524
+ name: string; // @regex ^[A-Za-z][A-Za-z0-9_]{0,47}$ @min 1 @max 48
525
+ description?: string; // @min 1 @max 4096
526
+ statement: string;
527
+ sourceFile?: string;
528
+ validationMode: 'FAIL_ON_ANY_FINDINGS' | 'IGNORE_ALL_FINDINGS'; // default 'FAIL_ON_ANY_FINDINGS'
529
+ enforcementMode: 'ACTIVE' | 'LOG_ONLY'; // default 'ACTIVE'
530
+ authorizationPhase?: 'INITIATE' | 'RETURN_OUTPUT'; // default 'INITIATE'
531
+ }
532
+
533
+ // CONFIG BUNDLE
534
+
535
+ interface ConfigBundle {
536
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,99}$ @min 1 @max 100
537
+ type: 'ConfigurationBundle'; // default 'ConfigurationBundle'
538
+ description?: string; // @min 1 @max 500
539
+ components: Record<string, ComponentConfiguration>;
540
+ branchName?: string; // @max 128
541
+ commitMessage?: string; // @max 500
542
+ kmsKeyArn?: string;
543
+ }
544
+
545
+ interface ComponentConfiguration {
546
+ configuration: Record<string, unknown>;
547
+ }
548
+
549
+ // A/B TEST
550
+
551
+ interface ABTest {
552
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
553
+ description?: string; // @min 1 @max 200
554
+ mode: 'config-bundle' | 'target-based'; // default 'config-bundle'
555
+ gatewayRef: string;
556
+ roleArn?: string;
557
+ variants: [ABTestVariant, ABTestVariant]; // one C and one T1; weights sum to 100
558
+ evaluationConfig:
559
+ | { onlineEvaluationConfigArn: string }
560
+ | {
561
+ perVariantOnlineEvaluationConfig: [PerVariantOnlineEvaluationConfig, PerVariantOnlineEvaluationConfig];
562
+ };
563
+ gatewayFilter?: { targetPaths: string[] }; // @max 1; each @max 500
564
+ enableOnCreate?: boolean;
565
+ promoted?: boolean;
566
+ }
567
+
568
+ interface ABTestVariant {
569
+ name: 'C' | 'T1';
570
+ weight: number; // integer @min 1 @max 100
571
+ variantConfiguration:
572
+ | { configurationBundle: { bundleArn: string; bundleVersion: string }; target?: never }
573
+ | { configurationBundle?: never; target: { targetName: string } };
574
+ }
575
+
576
+ interface PerVariantOnlineEvaluationConfig {
577
+ treatmentName: 'C' | 'T1';
578
+ onlineEvaluationConfigArn: string;
579
+ }
580
+
581
+ // HARNESS REGISTRY
582
+
583
+ interface HarnessRegistryEntry {
584
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,39}$ @min 1 @max 40
585
+ path: string; // project-relative harness config directory
586
+ }
587
+
588
+ // DATASET
589
+
590
+ interface Dataset {
591
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
592
+ schemaType: 'AGENTCORE_EVALUATION_PREDEFINED_V1' | 'AGENTCORE_EVALUATION_SIMULATED_V1';
593
+ description?: string; // @max 200
594
+ config: { managed: { location: string } };
595
+ kmsKeyArn?: string;
596
+ }
597
+
598
+ // CAPACITY PROVIDER
599
+
600
+ interface CapacityProvider {
601
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48; immutable after creation
602
+ description?: string; // @min 1 @max 4096; mutable (the only mutable field besides tags)
603
+ operatorRoleArn: string; // IAM role ARN @regex ^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+$ @max 2048; immutable
604
+ computeConfiguration: ComputeConfiguration; // immutable after creation
605
+ tags?: Tags;
606
+ }
607
+
608
+ interface ComputeConfiguration {
609
+ ec2Configuration: Ec2Configuration;
610
+ }
611
+
612
+ interface Ec2Configuration {
613
+ launchTemplateSource: { launchParameters: LaunchParameters };
614
+ vpcConfiguration: CapacityProviderVpcConfiguration;
615
+ volumes?: VolumeConfiguration[]; // @max 5
616
+ lifecycleConfiguration?: InstanceLifecycleConfiguration;
617
+ // long tail (rootVolume, etc.) accepted via passthrough and validated by CFN
618
+ }
619
+
620
+ interface LaunchParameters {
621
+ operatingSystem: 'LINUX_X86_64' | 'LINUX_ARM64';
622
+ instanceRequirements: { allowedInstanceTypes: string[] }; // @min 1 @max 30; each @min 1 @max 255
623
+ instanceProfileArn?: string; // @regex ^arn:aws(-[^:]+)?:iam::[0-9]{12}:instance-profile/.+$
624
+ // long tail (sshKeyName, monitoring, licenseSpecifications, capacityReservationSpecification,
625
+ // ephemeralVolumes, propagatedTags) accepted via passthrough and validated by CFN
626
+ }
627
+
628
+ interface CapacityProviderVpcConfiguration {
629
+ subnets: string[]; // @min 1 @max 16; each @regex ^subnet-[0-9a-zA-Z]{8,17}$
630
+ securityGroups: string[]; // @min 1 @max 16; each @regex ^sg-[0-9a-zA-Z]{8,17}$
631
+ }
632
+
633
+ interface VolumeConfiguration {
634
+ ebsConfiguration: {
635
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_-]{0,47}$ @min 1 @max 48
636
+ sizeGiB: number; // integer @min 1 @max 65536
637
+ volumeType?: 'standard' | 'io1' | 'io2' | 'gp2' | 'sc1' | 'st1' | 'gp3';
638
+ encrypted?: boolean;
639
+ kmsKeyId?: string; // KMS key ARN
640
+ // long tail (iops, throughput, snapshotId) accepted via passthrough
641
+ };
642
+ }
643
+
644
+ interface InstanceLifecycleConfiguration {
645
+ idleInstanceTimeout?: number; // integer seconds @min 60 @max 1209600
646
+ maxLifetime?: number; // integer seconds @min 60 @max 1209600
647
+ }
648
+
649
+ // PAYMENTS
650
+
651
+ type PaymentProvider = 'CoinbaseCDP' | 'StripePrivy';
652
+
653
+ interface PaymentManager {
654
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9]{0,47}$ @min 1 @max 48
655
+ authorizerType: 'AWS_IAM' | 'CUSTOM_JWT'; // default 'AWS_IAM'
656
+ authorizerConfiguration?: {
657
+ customJWTAuthorizer: {
658
+ discoveryUrl: string;
659
+ allowedClients?: string[];
660
+ allowedAudience?: string[];
661
+ allowedScopes?: string[];
662
+ };
663
+ };
664
+ connectors: PaymentConnector[]; // default []
665
+ description?: string;
666
+ autoPayment: boolean; // default true
667
+ defaultSpendLimit: string; // default '10.00'
668
+ paymentToolAllowlist?: string[];
669
+ networkPreferences?: string[];
670
+ }
671
+
672
+ type PaymentConnector = ManualPaymentConnector | QuickCreatePaymentConnector;
673
+
674
+ interface ManualPaymentConnector {
675
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
676
+ provider: PaymentProvider; // default 'CoinbaseCDP'
677
+ provisionMode?: 'MANUAL';
678
+ credentialName: string;
679
+ }
680
+
681
+ interface QuickCreatePaymentConnector {
682
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9_]{0,47}$ @min 1 @max 48
683
+ provider: 'CoinbaseCDP';
684
+ provisionMode: 'QUICK_CREATE';
685
+ }