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,54 @@
1
+ """Tool definitions and mcp-defs.json (port of ``schemas/mcp-defs.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Final, Literal, get_args
6
+
7
+ from .._zod import StrictModel, ZodModel, zstr
8
+
9
+ SchemaPrimitiveType = Literal["string", "number", "object", "array", "boolean", "integer"]
10
+ SCHEMA_PRIMITIVE_TYPES: Final[tuple[SchemaPrimitiveType, ...]] = get_args(SchemaPrimitiveType)
11
+
12
+
13
+ class SchemaDefinition(ZodModel):
14
+ """Opaque (recursive) schema definition for tool input/output, passed through to CloudFormation."""
15
+
16
+ type: SchemaPrimitiveType
17
+ description: str | None = None
18
+ items: SchemaDefinition | None = None
19
+ properties: dict[str, SchemaDefinition] | None = None
20
+ required: list[str] | None = None
21
+
22
+
23
+ # Tool name for CLI input: alphanumerics and hyphens (underscores are not permitted for gateway targets).
24
+ ToolName = zstr(
25
+ min=1,
26
+ max=128,
27
+ min_msg="Tool name is required",
28
+ max_msg="Tool name must be at most 128 characters",
29
+ pattern=r"^[a-zA-Z][a-zA-Z0-9-]*$",
30
+ pattern_msg="Tool name must start with a letter and contain only alphanumeric characters or hyphens",
31
+ )
32
+
33
+
34
+ class ToolDefinition(StrictModel):
35
+ name: zstr(min=1, max=128)
36
+ description: zstr(min=1)
37
+ input_schema: SchemaDefinition
38
+ output_schema: SchemaDefinition | None = None
39
+
40
+
41
+ class AgentCoreCliMcpDefs(ZodModel):
42
+ """Top-level mcp-defs.json."""
43
+
44
+ tools: dict[str, ToolDefinition]
45
+
46
+
47
+ __all__ = [
48
+ "SCHEMA_PRIMITIVE_TYPES",
49
+ "AgentCoreCliMcpDefs",
50
+ "SchemaDefinition",
51
+ "SchemaPrimitiveType",
52
+ "ToolDefinition",
53
+ "ToolName",
54
+ ]
@@ -0,0 +1,52 @@
1
+ """Primitive resource schemas (port of ``src/schema/schemas/primitives``).
2
+
3
+ ``harness`` depends on ``agent_env`` (which itself imports ``primitives.tags``), so its names are
4
+ resolved lazily here to avoid an import cycle; ``agentcore.schema.schemas`` re-exports them eagerly.
5
+ """
6
+
7
+ from typing import Any
8
+
9
+ from .ab_test import *
10
+ from .ab_test import __all__ as _ab_test
11
+ from .capacity_provider import *
12
+ from .capacity_provider import __all__ as _capacity_provider
13
+ from .config_bundle import *
14
+ from .config_bundle import __all__ as _config_bundle
15
+ from .dataset import *
16
+ from .dataset import __all__ as _dataset
17
+ from .evaluator import *
18
+ from .evaluator import __all__ as _evaluator
19
+ from .knowledge_base import *
20
+ from .knowledge_base import __all__ as _knowledge_base
21
+ from .memory import *
22
+ from .memory import __all__ as _memory
23
+ from .online_eval_config import *
24
+ from .online_eval_config import __all__ as _online_eval_config
25
+ from .payment import *
26
+ from .payment import __all__ as _payment
27
+ from .policy import *
28
+ from .policy import __all__ as _policy
29
+ from .tags import *
30
+ from .tags import __all__ as _tags
31
+
32
+ __all__ = [
33
+ *_ab_test,
34
+ *_capacity_provider,
35
+ *_config_bundle,
36
+ *_dataset,
37
+ *_evaluator,
38
+ *_knowledge_base,
39
+ *_memory,
40
+ *_online_eval_config,
41
+ *_payment,
42
+ *_policy,
43
+ *_tags,
44
+ ]
45
+
46
+
47
+ def __getattr__(name: str) -> Any:
48
+ from . import harness
49
+
50
+ if name in harness.__all__:
51
+ return getattr(harness, name)
52
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -0,0 +1,162 @@
1
+ """A/B tests (port of ``primitives/ab-test.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated, Final, Literal, get_args
6
+
7
+ from pydantic import Field, model_validator
8
+
9
+ from ..._zod import Issue, ZBool, ZodModel, array_checks, raise_issues, zint, zstr
10
+
11
+ ABTestName = zstr(
12
+ min=1,
13
+ max=48,
14
+ min_msg="Name is required",
15
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
16
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
17
+ )
18
+
19
+ ABTestDescription = zstr(min=1, max=200)
20
+
21
+ ABTestMode = Literal["config-bundle", "target-based"]
22
+ AB_TEST_MODES: Final[tuple[ABTestMode, ...]] = get_args(ABTestMode)
23
+
24
+ VariantName = Literal["C", "T1"]
25
+
26
+ VariantWeight = zint(ge=1, le=100)
27
+
28
+ # ── Config Bundle variant configuration ────────────────────────────────────
29
+
30
+
31
+ class ConfigurationBundleRef(ZodModel):
32
+ bundle_arn: zstr(min=1)
33
+ bundle_version: zstr(min=1)
34
+
35
+
36
+ # ── Target-based variant configuration ─────────────────────────────────────
37
+
38
+
39
+ class TargetRef(ZodModel):
40
+ target_name: zstr(min=1, max=100)
41
+
42
+
43
+ # ── Variant configuration union: exactly one of configurationBundle or target ──
44
+
45
+
46
+ class ConfigBundleVariantConfig(ZodModel):
47
+ configuration_bundle: ConfigurationBundleRef
48
+ target: None = None
49
+
50
+
51
+ class TargetVariantConfig(ZodModel):
52
+ configuration_bundle: None = None
53
+ target: TargetRef
54
+
55
+
56
+ VariantConfiguration = Annotated[ConfigBundleVariantConfig | TargetVariantConfig, Field(union_mode="left_to_right")]
57
+
58
+
59
+ class ABTestVariant(ZodModel):
60
+ name: VariantName
61
+ weight: VariantWeight
62
+ variant_configuration: VariantConfiguration
63
+
64
+
65
+ # ── Evaluation config union ────────────────────────────────────────────────
66
+
67
+
68
+ class PerVariantOnlineEvaluationConfig(ZodModel):
69
+ treatment_name: VariantName
70
+ online_evaluation_config_arn: zstr(min=1)
71
+
72
+
73
+ class SingleOnlineEvaluationConfig(ZodModel):
74
+ online_evaluation_config_arn: zstr(min=1)
75
+
76
+
77
+ class PerVariantEvaluationConfig(ZodModel):
78
+ per_variant_online_evaluation_config: Annotated[list[PerVariantOnlineEvaluationConfig], array_checks(length=2)]
79
+
80
+
81
+ ABTestEvaluationConfig = Annotated[
82
+ SingleOnlineEvaluationConfig | PerVariantEvaluationConfig, Field(union_mode="left_to_right")
83
+ ]
84
+
85
+ # ── Gateway filter ─────────────────────────────────────────────────────────
86
+
87
+
88
+ class GatewayFilter(ZodModel):
89
+ target_paths: Annotated[list[zstr(min=1, max=500)], array_checks(max=1)]
90
+
91
+
92
+ # ── Traffic allocation ─────────────────────────────────────────────────────
93
+
94
+
95
+ class TrafficRouteOnHeader(ZodModel):
96
+ header_name: zstr(min=1)
97
+
98
+
99
+ class TrafficAllocationConfig(ZodModel):
100
+ route_on_header: TrafficRouteOnHeader
101
+
102
+
103
+ # ── AB Test ────────────────────────────────────────────────────────────────
104
+
105
+
106
+ class ABTest(ZodModel):
107
+ name: ABTestName
108
+ description: ABTestDescription | None = None
109
+ mode: ABTestMode = "config-bundle"
110
+ gateway_ref: zstr(min=1)
111
+ role_arn: zstr(min=1) | None = None
112
+ variants: Annotated[list[ABTestVariant], array_checks(length=2)]
113
+ evaluation_config: ABTestEvaluationConfig
114
+ gateway_filter: GatewayFilter | None = None
115
+ enable_on_create: ZBool | None = None
116
+ promoted: ZBool | None = None
117
+
118
+ @model_validator(mode="after")
119
+ def _refine(self) -> ABTest:
120
+ issues: list[Issue] = []
121
+ names = [v.name for v in self.variants]
122
+ if not ("C" in names and "T1" in names):
123
+ issues.append((("variants",), "Variants must include exactly one control (C) and one treatment (T1)"))
124
+ if sum(v.weight for v in self.variants) != 100:
125
+ issues.append((("variants",), "Variant weights must sum to 100"))
126
+ if self.mode == "target-based":
127
+ ok = all(v.variant_configuration.target is not None for v in self.variants)
128
+ else:
129
+ ok = all(v.variant_configuration.configuration_bundle is not None for v in self.variants)
130
+ if not ok:
131
+ issues.append(
132
+ (
133
+ ("variants",),
134
+ "Target-based mode requires target on each variant; config-bundle mode requires configurationBundle",
135
+ )
136
+ )
137
+ raise_issues(issues, self)
138
+ return self
139
+
140
+
141
+ __all__ = [
142
+ "AB_TEST_MODES",
143
+ "ABTest",
144
+ "ABTestDescription",
145
+ "ABTestEvaluationConfig",
146
+ "ABTestMode",
147
+ "ABTestName",
148
+ "ABTestVariant",
149
+ "ConfigBundleVariantConfig",
150
+ "ConfigurationBundleRef",
151
+ "GatewayFilter",
152
+ "PerVariantEvaluationConfig",
153
+ "PerVariantOnlineEvaluationConfig",
154
+ "SingleOnlineEvaluationConfig",
155
+ "TargetRef",
156
+ "TargetVariantConfig",
157
+ "TrafficAllocationConfig",
158
+ "TrafficRouteOnHeader",
159
+ "VariantConfiguration",
160
+ "VariantName",
161
+ "VariantWeight",
162
+ ]
@@ -0,0 +1,214 @@
1
+ """Capacity providers: AWS::BedrockAgentCore::CapacityProvider (port of ``primitives/capacity-provider.ts``).
2
+
3
+ Known fields are typed and validated; the long tail of launch parameters is accepted via
4
+ passthrough models and validated by CloudFormation on deploy.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from typing import Annotated, Final, Literal, get_args
10
+
11
+ from pydantic import Field, model_validator
12
+
13
+ from ..._zod import PassthroughModel, StrictModel, ZBool, ZodModel, array_checks, js_regex, raise_issues, zint, zstr
14
+ from .tags import Tags
15
+
16
+ CapacityProviderName = zstr(
17
+ min=1,
18
+ max=48,
19
+ min_msg="Capacity provider name is required",
20
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
21
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
22
+ )
23
+
24
+ # ============================================================================
25
+ # Operator Role ARN Validation
26
+ # ============================================================================
27
+
28
+ # The account segment is OPTIONAL — the service accepts role ARNs without an account id.
29
+ CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN: Final = js_regex(r"^arn:[^:]+:iam::([0-9]{12})?:role\/.+$")
30
+
31
+ OperatorRoleArn = zstr(
32
+ min=1,
33
+ max=2048,
34
+ min_msg="Operator role ARN is required",
35
+ pattern=CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN,
36
+ pattern_msg="Must be a valid IAM role ARN (e.g. arn:<partition>:iam::123456789012:role/MyOperatorRole)",
37
+ )
38
+
39
+
40
+ def is_valid_operator_role_arn(value: str) -> bool:
41
+ return CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN.search(value) is not None
42
+
43
+
44
+ # ============================================================================
45
+ # Capacity Provider Attach (runtime -> capacity provider reference)
46
+ # ============================================================================
47
+
48
+ # Partition-agnostic; the resource segment is the service capacityProviderId `{name}-{10 alnum}`.
49
+ CAPACITY_PROVIDER_ARN_PATTERN: Final = js_regex(
50
+ r"^arn:[^:]+:bedrock-agentcore:[a-z0-9-]+:\d{12}:capacity-provider\/[a-zA-Z][a-zA-Z0-9_]{0,47}-[a-zA-Z0-9]{10}$"
51
+ )
52
+
53
+ CapacityProviderArn = zstr(
54
+ pattern=CAPACITY_PROVIDER_ARN_PATTERN,
55
+ pattern_msg="Must be a valid bedrock-agentcore capacity provider ARN (…:capacity-provider/{name}-{10 alphanumerics})",
56
+ )
57
+
58
+
59
+ def is_capacity_provider_arn(value: str) -> bool:
60
+ """An ``arn:`` prefix means an external CP by ARN; otherwise an in-project sibling name."""
61
+ return value.startswith("arn:")
62
+
63
+
64
+ _VOLUME_NAME_PATTERN = r"^[a-zA-Z][a-zA-Z0-9_-]{0,47}$"
65
+ _VOLUME_NAME_MSG = (
66
+ "Volume name must begin with a letter and contain only alphanumerics, underscores, and hyphens (max 48 chars)"
67
+ )
68
+
69
+ # Logical name of a capacity-provider volume, referenced by a runtime's capacityProviderVolume mount.
70
+ CapacityProviderVolumeName = zstr(
71
+ min=1,
72
+ max=48,
73
+ min_msg="Capacity provider volume name is required",
74
+ pattern=_VOLUME_NAME_PATTERN,
75
+ pattern_msg=_VOLUME_NAME_MSG,
76
+ )
77
+
78
+
79
+ class CapacityProviderConfiguration(StrictModel):
80
+ """Runtime -> capacity-provider reference: exactly one of ARN (external) or name (sibling)."""
81
+
82
+ capacity_provider_arn: CapacityProviderArn | None = None
83
+ capacity_provider_name: CapacityProviderName | None = None
84
+
85
+ @model_validator(mode="after")
86
+ def _exactly_one(self) -> CapacityProviderConfiguration:
87
+ if (self.capacity_provider_arn is not None) == (self.capacity_provider_name is not None):
88
+ raise_issues(
89
+ [
90
+ (
91
+ (),
92
+ "capacityProviderConfiguration must set exactly one of capacityProviderArn or capacityProviderName",
93
+ )
94
+ ],
95
+ self,
96
+ )
97
+ return self
98
+
99
+
100
+ # ============================================================================
101
+ # Operating System (the CLI follows the service API, which supports only Linux)
102
+ # ============================================================================
103
+
104
+ OperatingSystem = Literal["LINUX_X86_64", "LINUX_ARM64"]
105
+ OPERATING_SYSTEMS: Final[tuple[OperatingSystem, ...]] = get_args(OperatingSystem)
106
+
107
+
108
+ class VpcConfiguration(ZodModel):
109
+ subnets: Annotated[
110
+ list[zstr(pattern=r"^subnet-[0-9a-zA-Z]{8,17}$", pattern_msg="Must be a valid subnet ID")],
111
+ array_checks(min=1, max=16, min_msg="At least one subnet is required"),
112
+ ]
113
+ security_groups: Annotated[
114
+ list[zstr(pattern=r"^sg-[0-9a-zA-Z]{8,17}$", pattern_msg="Must be a valid security group ID")],
115
+ array_checks(min=1, max=16, min_msg="At least one security group is required"),
116
+ ]
117
+
118
+
119
+ class InstanceRequirements(ZodModel):
120
+ allowed_instance_types: Annotated[
121
+ list[zstr(min=1, max=255)], array_checks(min=1, max=30, min_msg="At least one instance type is required")
122
+ ]
123
+
124
+
125
+ class LaunchParameters(PassthroughModel):
126
+ operating_system: OperatingSystem
127
+ instance_requirements: InstanceRequirements
128
+ instance_profile_arn: (
129
+ zstr(
130
+ pattern=r"^arn:[^:]+:iam::[0-9]{12}:instance-profile\/.+$",
131
+ pattern_msg="Must be a valid IAM instance profile ARN",
132
+ )
133
+ | None
134
+ ) = None
135
+
136
+
137
+ VolumeType = Literal["standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"]
138
+
139
+
140
+ class EbsVolumeConfiguration(PassthroughModel):
141
+ name: zstr(min=1, max=48, pattern=_VOLUME_NAME_PATTERN, pattern_msg=_VOLUME_NAME_MSG)
142
+ size_gib: Annotated[zint(ge=1, le=65536), Field(alias="sizeGiB")]
143
+ volume_type: VolumeType | None = None
144
+ encrypted: ZBool | None = None
145
+ kms_key_id: (
146
+ zstr(
147
+ pattern=r"^arn:[^:]+:kms:[a-z0-9-]+:[0-9]{12}:key\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
148
+ pattern_msg="Must be a valid KMS key ARN",
149
+ )
150
+ | None
151
+ ) = None
152
+
153
+
154
+ class VolumeConfiguration(ZodModel):
155
+ ebs_configuration: EbsVolumeConfiguration
156
+
157
+
158
+ _LIFECYCLE_SECONDS_MIN = 60
159
+ _LIFECYCLE_SECONDS_MAX = 1209600
160
+
161
+
162
+ class InstanceLifecycleConfiguration(ZodModel):
163
+ idle_instance_timeout: zint(ge=_LIFECYCLE_SECONDS_MIN, le=_LIFECYCLE_SECONDS_MAX) | None = None
164
+ max_lifetime: zint(ge=_LIFECYCLE_SECONDS_MIN, le=_LIFECYCLE_SECONDS_MAX) | None = None
165
+
166
+
167
+ class LaunchTemplateSource(ZodModel):
168
+ launch_parameters: LaunchParameters
169
+
170
+
171
+ class Ec2Configuration(PassthroughModel):
172
+ launch_template_source: LaunchTemplateSource
173
+ vpc_configuration: VpcConfiguration
174
+ volumes: Annotated[list[VolumeConfiguration], array_checks(max=5)] | None = None
175
+ lifecycle_configuration: InstanceLifecycleConfiguration | None = None
176
+
177
+
178
+ class ComputeConfiguration(ZodModel):
179
+ ec2_configuration: Ec2Configuration
180
+
181
+
182
+ class CapacityProvider(ZodModel):
183
+ name: CapacityProviderName
184
+ description: zstr(min=1, max=4096) | None = None
185
+ # Optional: when omitted, an operator role is created automatically at deploy time.
186
+ operator_role_arn: OperatorRoleArn | None = None
187
+ compute_configuration: ComputeConfiguration
188
+ tags: Tags | None = None
189
+
190
+
191
+ __all__ = [
192
+ "CAPACITY_PROVIDER_ARN_PATTERN",
193
+ "CAPACITY_PROVIDER_OPERATOR_ROLE_ARN_PATTERN",
194
+ "OPERATING_SYSTEMS",
195
+ "CapacityProvider",
196
+ "CapacityProviderArn",
197
+ "CapacityProviderConfiguration",
198
+ "CapacityProviderName",
199
+ "CapacityProviderVolumeName",
200
+ "ComputeConfiguration",
201
+ "EbsVolumeConfiguration",
202
+ "Ec2Configuration",
203
+ "InstanceLifecycleConfiguration",
204
+ "InstanceRequirements",
205
+ "LaunchParameters",
206
+ "LaunchTemplateSource",
207
+ "OperatingSystem",
208
+ "OperatorRoleArn",
209
+ "VolumeConfiguration",
210
+ "VolumeType",
211
+ "VpcConfiguration",
212
+ "is_capacity_provider_arn",
213
+ "is_valid_operator_role_arn",
214
+ ]
@@ -0,0 +1,48 @@
1
+ """Configuration bundles (port of ``primitives/config-bundle.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any, Literal
6
+
7
+ from ..._zod import ZodModel, zstr
8
+ from .evaluator import KmsKeyArn
9
+
10
+ ConfigBundleName = zstr(
11
+ min=1,
12
+ max=100,
13
+ min_msg="Name is required",
14
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,99}$",
15
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 100 chars)",
16
+ )
17
+
18
+ ConfigBundleDescription = zstr(min=1, max=500)
19
+
20
+
21
+ class ComponentConfiguration(ZodModel):
22
+ """Freeform configuration for a single component within a bundle."""
23
+
24
+ configuration: dict[str, Any]
25
+
26
+
27
+ # Map of component identifier (ARN or `{{runtime:<name>}}` placeholder) to its configuration.
28
+ ComponentConfigurationMap = dict[str, ComponentConfiguration]
29
+
30
+
31
+ class ConfigBundle(ZodModel):
32
+ name: ConfigBundleName
33
+ # Discriminator required by the CDK package's schema validation.
34
+ type: Literal["ConfigurationBundle"] = "ConfigurationBundle"
35
+ description: ConfigBundleDescription | None = None
36
+ components: ComponentConfigurationMap
37
+ branch_name: zstr(max=128) | None = None
38
+ commit_message: zstr(max=500) | None = None
39
+ kms_key_arn: KmsKeyArn | None = None
40
+
41
+
42
+ __all__ = [
43
+ "ComponentConfiguration",
44
+ "ComponentConfigurationMap",
45
+ "ConfigBundle",
46
+ "ConfigBundleDescription",
47
+ "ConfigBundleName",
48
+ ]
@@ -0,0 +1,55 @@
1
+ """Evaluation datasets (port of ``primitives/dataset.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Final, Literal, get_args
6
+
7
+ from ..._zod import ZodModel, zstr
8
+
9
+ DatasetName = zstr(
10
+ min=1,
11
+ max=48,
12
+ min_msg="Dataset name is required",
13
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
14
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
15
+ )
16
+
17
+ # Versioned schema type governing the structure of dataset examples (immutable after creation).
18
+ DatasetSchemaType = Literal["AGENTCORE_EVALUATION_PREDEFINED_V1", "AGENTCORE_EVALUATION_SIMULATED_V1"]
19
+ DATASET_SCHEMA_TYPES: Final[tuple[DatasetSchemaType, ...]] = get_args(DatasetSchemaType)
20
+
21
+
22
+ class DatasetManagedConfig(ZodModel):
23
+ """Managed dataset config — CLI manages the local file and syncs to service."""
24
+
25
+ location: zstr(min=1)
26
+
27
+
28
+ class DatasetConfig(ZodModel):
29
+ managed: DatasetManagedConfig
30
+
31
+
32
+ class Dataset(ZodModel):
33
+ """Dataset specification in agentcore.json."""
34
+
35
+ name: DatasetName
36
+ schema_type: DatasetSchemaType
37
+ description: zstr(max=200) | None = None
38
+ config: DatasetConfig
39
+ kms_key_arn: (
40
+ zstr(
41
+ pattern=r"^arn:aws(-[a-z]+)*:kms:[a-zA-Z0-9-]*:[0-9]{12}:key\/[a-zA-Z0-9-]{36}$",
42
+ pattern_msg="Must be a valid KMS key ARN",
43
+ )
44
+ | None
45
+ ) = None
46
+
47
+
48
+ __all__ = [
49
+ "DATASET_SCHEMA_TYPES",
50
+ "Dataset",
51
+ "DatasetConfig",
52
+ "DatasetManagedConfig",
53
+ "DatasetName",
54
+ "DatasetSchemaType",
55
+ ]