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,121 @@
1
+ {{#if (eq modelProvider "Bedrock")}}
2
+ import { createAmazonBedrock } from '@ai-sdk/amazon-bedrock';
3
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
4
+
5
+ const provider = fromNodeProviderChain();
6
+
7
+ const bedrock = createAmazonBedrock({
8
+ region: process.env.AWS_REGION ?? 'us-east-1',
9
+ credentialProvider: async () => {
10
+ const creds = await provider();
11
+ return {
12
+ accessKeyId: creds.accessKeyId,
13
+ secretAccessKey: creds.secretAccessKey,
14
+ sessionToken: creds.sessionToken,
15
+ };
16
+ },
17
+ });
18
+
19
+ export function loadModel() {
20
+ return bedrock('us.anthropic.claude-sonnet-4-5-20250929-v1:0');
21
+ }
22
+ {{/if}}
23
+ {{#if (eq modelProvider "Anthropic")}}
24
+ import { createAnthropic } from '@ai-sdk/anthropic';
25
+ import { withApiKey } from 'bedrock-agentcore/identity';
26
+
27
+ const IDENTITY_PROVIDER_NAME = '{{identityProviders.[0].name}}';
28
+ const IDENTITY_ENV_VAR = '{{identityProviders.[0].envVarName}}';
29
+
30
+ async function getApiKey(): Promise<string> {
31
+ if (process.env.LOCAL_DEV === '1') {
32
+ const apiKey = process.env[IDENTITY_ENV_VAR] ?? process.env.ANTHROPIC_API_KEY;
33
+ if (!apiKey) {
34
+ throw new Error(`${IDENTITY_ENV_VAR} or ANTHROPIC_API_KEY not found. Add your key to agentcore/.env.local`);
35
+ }
36
+ return apiKey;
37
+ }
38
+ return withApiKey({ providerName: IDENTITY_PROVIDER_NAME })(async (apiKey: string) => apiKey)();
39
+ }
40
+
41
+ let _anthropic: ReturnType<typeof createAnthropic> | undefined;
42
+
43
+ async function getProvider() {
44
+ if (!_anthropic) {
45
+ const apiKey = await getApiKey();
46
+ _anthropic = createAnthropic({ apiKey });
47
+ }
48
+ return _anthropic;
49
+ }
50
+
51
+ export async function loadModel() {
52
+ const anthropic = await getProvider();
53
+ return anthropic('claude-sonnet-4-5-20250929');
54
+ }
55
+ {{/if}}
56
+ {{#if (eq modelProvider "OpenAI")}}
57
+ import { createOpenAI } from '@ai-sdk/openai';
58
+ import { withApiKey } from 'bedrock-agentcore/identity';
59
+
60
+ const IDENTITY_PROVIDER_NAME = '{{identityProviders.[0].name}}';
61
+ const IDENTITY_ENV_VAR = '{{identityProviders.[0].envVarName}}';
62
+
63
+ async function getApiKey(): Promise<string> {
64
+ if (process.env.LOCAL_DEV === '1') {
65
+ const apiKey = process.env[IDENTITY_ENV_VAR] ?? process.env.OPENAI_API_KEY;
66
+ if (!apiKey) {
67
+ throw new Error(`${IDENTITY_ENV_VAR} or OPENAI_API_KEY not found. Add your key to agentcore/.env.local`);
68
+ }
69
+ return apiKey;
70
+ }
71
+ return withApiKey({ providerName: IDENTITY_PROVIDER_NAME })(async (apiKey: string) => apiKey)();
72
+ }
73
+
74
+ let _openai: ReturnType<typeof createOpenAI> | undefined;
75
+
76
+ async function getProvider() {
77
+ if (!_openai) {
78
+ const apiKey = await getApiKey();
79
+ _openai = createOpenAI({ apiKey });
80
+ }
81
+ return _openai;
82
+ }
83
+
84
+ export async function loadModel() {
85
+ const openai = await getProvider();
86
+ return openai('gpt-4.1');
87
+ }
88
+ {{/if}}
89
+ {{#if (eq modelProvider "Gemini")}}
90
+ import { createGoogleGenerativeAI } from '@ai-sdk/google';
91
+ import { withApiKey } from 'bedrock-agentcore/identity';
92
+
93
+ const IDENTITY_PROVIDER_NAME = '{{identityProviders.[0].name}}';
94
+ const IDENTITY_ENV_VAR = '{{identityProviders.[0].envVarName}}';
95
+
96
+ async function getApiKey(): Promise<string> {
97
+ if (process.env.LOCAL_DEV === '1') {
98
+ const apiKey = process.env[IDENTITY_ENV_VAR] ?? process.env.GEMINI_API_KEY;
99
+ if (!apiKey) {
100
+ throw new Error(`${IDENTITY_ENV_VAR} or GEMINI_API_KEY not found. Add your key to agentcore/.env.local`);
101
+ }
102
+ return apiKey;
103
+ }
104
+ return withApiKey({ providerName: IDENTITY_PROVIDER_NAME })(async (apiKey: string) => apiKey)();
105
+ }
106
+
107
+ let _google: ReturnType<typeof createGoogleGenerativeAI> | undefined;
108
+
109
+ async function getProvider() {
110
+ if (!_google) {
111
+ const apiKey = await getApiKey();
112
+ _google = createGoogleGenerativeAI({ apiKey });
113
+ }
114
+ return _google;
115
+ }
116
+
117
+ export async function loadModel() {
118
+ const google = await getProvider();
119
+ return google('gemini-2.5-flash');
120
+ }
121
+ {{/if}}
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "0.1.0",
4
+ "description": "AgentCore Runtime Application using Vercel AI SDK",
5
+ "private": true,
6
+ "type": "module",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "start": "node dist/main.js",
10
+ "dev": "tsx watch main.ts"
11
+ },
12
+ "dependencies": {
13
+ "ai": "^6.0.0",
14
+ {{#if (eq modelProvider "Bedrock")}}
15
+ "@ai-sdk/amazon-bedrock": "^4.0.0",
16
+ "@aws-sdk/credential-providers": "^3.0.0",
17
+ {{/if}}
18
+ {{#if (eq modelProvider "Anthropic")}}
19
+ "@ai-sdk/anthropic": "^3.0.0",
20
+ {{/if}}
21
+ {{#if (eq modelProvider "OpenAI")}}
22
+ "@ai-sdk/openai": "^3.0.0",
23
+ {{/if}}
24
+ {{#if (eq modelProvider "Gemini")}}
25
+ "@ai-sdk/google": "^3.0.0",
26
+ {{/if}}
27
+ "bedrock-agentcore": "^0.2.4",
28
+ "tsx": "^4.19.0",
29
+ "zod": "^3.24.0"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^22.0.0",
33
+ "typescript": "^5.6.0"
34
+ }
35
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "resolveJsonModule": true,
11
+ "declaration": false,
12
+ "sourceMap": true,
13
+ "outDir": "dist",
14
+ "rootDir": ".",
15
+ "types": ["node"]
16
+ },
17
+ "include": ["**/*.ts"],
18
+ "exclude": ["node_modules", "dist"]
19
+ }
@@ -0,0 +1,263 @@
1
+ """AWS client layer (port of upstream ``src/cli/aws``).
2
+
3
+ Conventions:
4
+
5
+ * Functions take keyword arguments in snake_case in place of upstream's single ``options`` object.
6
+ Option bags that upstream threads through several helpers (runtime invocation, MCP, A2A, AG-UI,
7
+ exec, payment credential providers, shell reconnect) are dataclasses.
8
+ * Records mirroring service/upstream JSON are TypedDicts keyed exactly like upstream (camelCase);
9
+ optional (``?:``) fields left ``undefined`` upstream are omitted. Handles wrapping streams or
10
+ connections are dataclasses with snake_case fields.
11
+ * Every boto3 client is created through :func:`agentcore.aws.account.create_aws_client` (default
12
+ credential chain honouring ``AWS_PROFILE``, SDK-v3-style "standard" retries). APIs upstream calls
13
+ with raw SigV4 ``fetch`` go through :mod:`agentcore.aws._http`.
14
+ * ``AGENTCORE_STAGE=beta|gamma`` redirects data/control plane endpoints (:mod:`.stage_endpoint`).
15
+
16
+ This package re-exports the same names as upstream's ``index.ts``.
17
+ """
18
+
19
+ from agentcore.aws.account import detect_account, get_credential_provider
20
+ from agentcore.aws.agentcore import (
21
+ DEFAULT_RUNTIME_USER_ID,
22
+ AguiInvokeOptions,
23
+ AguiStreamingInvokeResult,
24
+ ExecuteBashOptions,
25
+ ExecuteBashResult,
26
+ ExecuteBashStreamEvent,
27
+ InvokeAgentRuntimeOptions,
28
+ InvokeAgentRuntimeResult,
29
+ McpInvokeOptions,
30
+ McpListToolsResult,
31
+ McpToolDef,
32
+ StopRuntimeSessionResult,
33
+ StreamingInvokeResult,
34
+ execute_bash_command,
35
+ extract_result,
36
+ invoke_a2a_runtime,
37
+ invoke_agent_runtime,
38
+ invoke_agent_runtime_streaming,
39
+ invoke_agui_runtime,
40
+ mcp_call_tool,
41
+ mcp_init_session,
42
+ mcp_list_tools,
43
+ parse_sse,
44
+ stop_runtime_session,
45
+ )
46
+ from agentcore.aws.agentcore_control import (
47
+ AgentRuntimeStatusResult,
48
+ create_control_client,
49
+ get_agent_runtime_status,
50
+ )
51
+ from agentcore.aws.agentcore_harness import (
52
+ DeleteHarnessResult,
53
+ GetHarnessResult,
54
+ Harness,
55
+ HarnessStatus,
56
+ HarnessStopReason,
57
+ HarnessStreamEvent,
58
+ StreamMetrics,
59
+ TokenUsage,
60
+ delete_harness,
61
+ get_harness,
62
+ invoke_harness,
63
+ )
64
+ from agentcore.aws.agentcore_payments import (
65
+ create_payment_credential_provider,
66
+ delete_payment_credential_provider,
67
+ get_or_create_payment_session,
68
+ get_payment_credential_provider,
69
+ get_payment_manager,
70
+ update_payment_credential_provider,
71
+ )
72
+ from agentcore.aws.agentcore_recommendation import (
73
+ DeleteRecommendationResult,
74
+ GetRecommendationResult,
75
+ ListRecommendationsResult,
76
+ RecommendationConfig,
77
+ RecommendationResult,
78
+ RecommendationSummary,
79
+ RecommendationType,
80
+ StartRecommendationResult,
81
+ delete_recommendation,
82
+ get_recommendation,
83
+ list_recommendations,
84
+ start_recommendation,
85
+ )
86
+ from agentcore.aws.agui_types import (
87
+ AguiActivityDelta,
88
+ AguiActivitySnapshot,
89
+ AguiBaseEvent,
90
+ AguiContext,
91
+ AguiCustomEvent,
92
+ AguiErrorCode,
93
+ AguiEvent,
94
+ AguiEventType,
95
+ AguiMessage,
96
+ AguiMessagesSnapshot,
97
+ AguiMetaEvent,
98
+ AguiRawEvent,
99
+ AguiReasoningEncryptedValue,
100
+ AguiReasoningEnd,
101
+ AguiReasoningMessageContent,
102
+ AguiReasoningMessageEnd,
103
+ AguiReasoningMessageStart,
104
+ AguiReasoningStart,
105
+ AguiRunError,
106
+ AguiRunFinished,
107
+ AguiRunInput,
108
+ AguiRunStarted,
109
+ AguiStateDelta,
110
+ AguiStateSnapshot,
111
+ AguiStepFinished,
112
+ AguiStepStarted,
113
+ AguiTextMessageChunk,
114
+ AguiTextMessageContent,
115
+ AguiTextMessageEnd,
116
+ AguiTextMessageStart,
117
+ AguiTool,
118
+ AguiToolCallArgs,
119
+ AguiToolCallChunk,
120
+ AguiToolCallEnd,
121
+ AguiToolCallResult,
122
+ AguiToolCallStart,
123
+ build_agui_run_input,
124
+ parse_agui_event,
125
+ )
126
+ from agentcore.aws.api_client import AgentCoreApiClient, AgentCoreApiError, ApiPlane
127
+ from agentcore.aws.aws_context import AwsContext, detect_aws_context
128
+ from agentcore.aws.bedrock import ClaudeResponse, invoke_bedrock_sync, invoke_claude
129
+ from agentcore.aws.cloudwatch import LogEvent, search_logs, stream_logs
130
+ from agentcore.aws.partition import arn_prefix, console_domain, dns_suffix, get_partition, service_endpoint
131
+ from agentcore.aws.policy_generation import (
132
+ GetPolicyGenerationResult,
133
+ StartPolicyGenerationResult,
134
+ get_policy_generation,
135
+ start_policy_generation,
136
+ )
137
+ from agentcore.aws.region import RegionDetectionResult, detect_region
138
+ from agentcore.aws.target_region import apply_target_region_to_env, with_target_region
139
+ from agentcore.aws.transaction_search import enable_transaction_search
140
+
141
+ __all__ = [
142
+ "DEFAULT_RUNTIME_USER_ID",
143
+ "AgentCoreApiClient",
144
+ "AgentCoreApiError",
145
+ "AgentRuntimeStatusResult",
146
+ "AguiActivityDelta",
147
+ "AguiActivitySnapshot",
148
+ "AguiBaseEvent",
149
+ "AguiContext",
150
+ "AguiCustomEvent",
151
+ "AguiErrorCode",
152
+ "AguiEvent",
153
+ "AguiEventType",
154
+ "AguiInvokeOptions",
155
+ "AguiMessage",
156
+ "AguiMessagesSnapshot",
157
+ "AguiMetaEvent",
158
+ "AguiRawEvent",
159
+ "AguiReasoningEncryptedValue",
160
+ "AguiReasoningEnd",
161
+ "AguiReasoningMessageContent",
162
+ "AguiReasoningMessageEnd",
163
+ "AguiReasoningMessageStart",
164
+ "AguiReasoningStart",
165
+ "AguiRunError",
166
+ "AguiRunFinished",
167
+ "AguiRunInput",
168
+ "AguiRunStarted",
169
+ "AguiStateDelta",
170
+ "AguiStateSnapshot",
171
+ "AguiStepFinished",
172
+ "AguiStepStarted",
173
+ "AguiStreamingInvokeResult",
174
+ "AguiTextMessageChunk",
175
+ "AguiTextMessageContent",
176
+ "AguiTextMessageEnd",
177
+ "AguiTextMessageStart",
178
+ "AguiTool",
179
+ "AguiToolCallArgs",
180
+ "AguiToolCallChunk",
181
+ "AguiToolCallEnd",
182
+ "AguiToolCallResult",
183
+ "AguiToolCallStart",
184
+ "ApiPlane",
185
+ "AwsContext",
186
+ "ClaudeResponse",
187
+ "DeleteHarnessResult",
188
+ "DeleteRecommendationResult",
189
+ "ExecuteBashOptions",
190
+ "ExecuteBashResult",
191
+ "ExecuteBashStreamEvent",
192
+ "GetHarnessResult",
193
+ "GetPolicyGenerationResult",
194
+ "GetRecommendationResult",
195
+ "Harness",
196
+ "HarnessStatus",
197
+ "HarnessStopReason",
198
+ "HarnessStreamEvent",
199
+ "InvokeAgentRuntimeOptions",
200
+ "InvokeAgentRuntimeResult",
201
+ "ListRecommendationsResult",
202
+ "LogEvent",
203
+ "McpInvokeOptions",
204
+ "McpListToolsResult",
205
+ "McpToolDef",
206
+ "RecommendationConfig",
207
+ "RecommendationResult",
208
+ "RecommendationSummary",
209
+ "RecommendationType",
210
+ "RegionDetectionResult",
211
+ "StartPolicyGenerationResult",
212
+ "StartRecommendationResult",
213
+ "StopRuntimeSessionResult",
214
+ "StreamMetrics",
215
+ "StreamingInvokeResult",
216
+ "TokenUsage",
217
+ "apply_target_region_to_env",
218
+ "arn_prefix",
219
+ "build_agui_run_input",
220
+ "console_domain",
221
+ "create_control_client",
222
+ "create_payment_credential_provider",
223
+ "delete_harness",
224
+ "delete_payment_credential_provider",
225
+ "delete_recommendation",
226
+ "detect_account",
227
+ "detect_aws_context",
228
+ "detect_region",
229
+ "dns_suffix",
230
+ "enable_transaction_search",
231
+ "execute_bash_command",
232
+ "extract_result",
233
+ "get_agent_runtime_status",
234
+ "get_credential_provider",
235
+ "get_harness",
236
+ "get_or_create_payment_session",
237
+ "get_partition",
238
+ "get_payment_credential_provider",
239
+ "get_payment_manager",
240
+ "get_policy_generation",
241
+ "get_recommendation",
242
+ "invoke_a2a_runtime",
243
+ "invoke_agent_runtime",
244
+ "invoke_agent_runtime_streaming",
245
+ "invoke_agui_runtime",
246
+ "invoke_bedrock_sync",
247
+ "invoke_claude",
248
+ "invoke_harness",
249
+ "list_recommendations",
250
+ "mcp_call_tool",
251
+ "mcp_init_session",
252
+ "mcp_list_tools",
253
+ "parse_agui_event",
254
+ "parse_sse",
255
+ "search_logs",
256
+ "service_endpoint",
257
+ "start_policy_generation",
258
+ "start_recommendation",
259
+ "stop_runtime_session",
260
+ "stream_logs",
261
+ "update_payment_credential_provider",
262
+ "with_target_region",
263
+ ]
@@ -0,0 +1,72 @@
1
+ """Uniform access to AWS error metadata across botocore and the CLI's own HTTP errors.
2
+
3
+ Upstream inspects SDK v3 exceptions via ``err.name`` / ``err.message`` /
4
+ ``err.$metadata.httpStatusCode``. botocore's ``ClientError`` carries the same data in
5
+ ``err.response``; these helpers hide the difference.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from typing import Any
11
+
12
+
13
+ def aws_error_name(err: object) -> str | None:
14
+ """Service error code (``ClientError`` ``Error.Code``), else ``err.name`` / ``err.code``."""
15
+ if err is None:
16
+ return None
17
+ response = getattr(err, "response", None)
18
+ if isinstance(response, dict):
19
+ code = response.get("Error", {}).get("Code")
20
+ if code:
21
+ return str(code)
22
+ for attr in ("name", "code"):
23
+ value = getattr(err, attr, None)
24
+ if isinstance(value, str) and value:
25
+ return value
26
+ if isinstance(err, dict):
27
+ value = err.get("name") or err.get("code") or err.get("Code")
28
+ return value if isinstance(value, str) else None
29
+ return type(err).__name__ if isinstance(err, BaseException) else None
30
+
31
+
32
+ def aws_http_status(err: object) -> int | None:
33
+ response = getattr(err, "response", None)
34
+ if isinstance(response, dict):
35
+ status = response.get("ResponseMetadata", {}).get("HTTPStatusCode")
36
+ if isinstance(status, int):
37
+ return status
38
+ for attr in ("status_code", "statusCode"):
39
+ value = getattr(err, attr, None)
40
+ if isinstance(value, int):
41
+ return value
42
+ if isinstance(err, dict):
43
+ value: Any = err.get("statusCode")
44
+ if not isinstance(value, int):
45
+ value = (err.get("$metadata") or {}).get("httpStatusCode")
46
+ return value if isinstance(value, int) else None
47
+ return None
48
+
49
+
50
+ def get_error_message(err: object) -> str:
51
+ """Equivalent of ``err instanceof Error ? err.message : String(err)``.
52
+
53
+ For a botocore ``ClientError`` this is the service's own message (as SDK v3's ``err.message``),
54
+ not botocore's "An error occurred (X) when calling Y" wrapper.
55
+ """
56
+ response = getattr(err, "response", None)
57
+ if isinstance(response, dict):
58
+ message = response.get("Error", {}).get("Message")
59
+ if message:
60
+ return str(message)
61
+ message = getattr(err, "message", None)
62
+ if isinstance(message, str):
63
+ return message
64
+ return str(err)
65
+
66
+
67
+ def is_access_denied_error(err: object) -> bool:
68
+ return aws_error_name(err) in ("AccessDeniedException", "AccessDenied")
69
+
70
+
71
+ def is_not_found_error(err: object) -> bool:
72
+ return aws_error_name(err) in ("ResourceNotFoundException", "NotFoundException")
agentcore/aws/_http.py ADDED
@@ -0,0 +1,176 @@
1
+ """Minimal HTTP + SigV4 layer for AgentCore APIs that upstream calls with ``fetch``.
2
+
3
+ Upstream signs requests with ``@smithy/signature-v4`` and sends them with ``fetch``. Here botocore's
4
+ ``SigV4Auth`` signs an ``AWSRequest`` and urllib3 (bundled with botocore) sends it. Retries are
5
+ disabled to mirror ``fetch``; callers that retry do so explicitly.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import json
11
+ import os
12
+ from collections.abc import Iterator, Mapping
13
+ from functools import lru_cache
14
+ from typing import Any
15
+ from urllib.parse import quote, urlencode
16
+
17
+ import urllib3
18
+ from botocore.auth import SigV4Auth
19
+ from botocore.awsrequest import AWSRequest
20
+ from botocore.exceptions import NoCredentialsError
21
+ from botocore.httpsession import get_cert_path
22
+
23
+ from agentcore.aws.account import get_credential_provider
24
+
25
+ DEFAULT_SERVICE = "bedrock-agentcore"
26
+ _READ_CHUNK = 65536
27
+
28
+
29
+ def encode_uri_component(value: str) -> str:
30
+ """JavaScript ``encodeURIComponent``."""
31
+ return quote(value, safe="!~*'()")
32
+
33
+
34
+ def query_string(params: Mapping[str, Any]) -> str:
35
+ """``?k=v&...`` for truthy values (as ``URLSearchParams`` populated with ``if (x) params.set(...)``)."""
36
+ pairs = {k: str(v) for k, v in params.items() if v}
37
+ return f"?{urlencode(pairs)}" if pairs else ""
38
+
39
+
40
+ @lru_cache(maxsize=1)
41
+ def _pool() -> urllib3.PoolManager:
42
+ return urllib3.PoolManager(ca_certs=os.environ.get("AWS_CA_BUNDLE") or get_cert_path(True))
43
+
44
+
45
+ class HttpResponse:
46
+ """Thin wrapper over a urllib3 response exposing the ``fetch`` ``Response`` surface we use."""
47
+
48
+ def __init__(self, raw: urllib3.BaseHTTPResponse):
49
+ self._raw = raw
50
+ self._body: bytes | None = None
51
+
52
+ @property
53
+ def status(self) -> int:
54
+ return self._raw.status
55
+
56
+ @property
57
+ def ok(self) -> bool:
58
+ return 200 <= self._raw.status < 300
59
+
60
+ @property
61
+ def reason(self) -> str:
62
+ return self._raw.reason or ""
63
+
64
+ @property
65
+ def headers(self) -> Mapping[str, str]:
66
+ """Case-insensitive response headers."""
67
+ return self._raw.headers
68
+
69
+ def header(self, name: str) -> str | None:
70
+ return self._raw.headers.get(name)
71
+
72
+ def read(self) -> bytes:
73
+ if self._body is None:
74
+ self._body = self._raw.data or b""
75
+ self._raw.release_conn()
76
+ return self._body
77
+
78
+ def text(self) -> str:
79
+ return self.read().decode("utf-8", errors="replace")
80
+
81
+ def json(self) -> Any:
82
+ return json.loads(self.read())
83
+
84
+ def iter_bytes(self) -> Iterator[bytes]:
85
+ """Yield body chunks as they arrive (for SSE / event-stream responses)."""
86
+ if self._body is not None:
87
+ if self._body:
88
+ yield self._body
89
+ return
90
+ try:
91
+ yield from iter_stream_chunks(self._raw)
92
+ finally:
93
+ self._raw.release_conn()
94
+
95
+ def close(self) -> None:
96
+ self._raw.release_conn()
97
+
98
+
99
+ def iter_stream_chunks(stream: Any) -> Iterator[bytes]:
100
+ """Yield chunks from a urllib3 response or botocore ``StreamingBody`` without waiting for full buffers.
101
+
102
+ ``read(n)`` blocks until ``n`` bytes arrive, which would stall incremental SSE output, so prefer
103
+ chunked reads / ``read1``.
104
+ """
105
+ raw = getattr(stream, "_raw_stream", stream)
106
+ if isinstance(raw, urllib3.BaseHTTPResponse) and raw.chunked and raw.supports_chunked_reads():
107
+ for chunk in raw.read_chunked():
108
+ if chunk:
109
+ yield chunk
110
+ return
111
+ reader = getattr(raw, "read1", None) or raw.read
112
+ while True:
113
+ chunk = reader(_READ_CHUNK)
114
+ if not chunk:
115
+ return
116
+ yield chunk
117
+
118
+
119
+ def http_request(
120
+ method: str,
121
+ url: str,
122
+ *,
123
+ headers: Mapping[str, str] | None = None,
124
+ body: bytes | str | None = None,
125
+ timeout: float | None = None,
126
+ stream: bool = False,
127
+ ) -> HttpResponse:
128
+ """Plain (unsigned) HTTP request; network errors propagate as urllib3 exceptions."""
129
+ data = body.encode("utf-8") if isinstance(body, str) else body
130
+ raw = _pool().request(
131
+ method,
132
+ url,
133
+ headers=dict(headers or {}),
134
+ body=data,
135
+ preload_content=not stream,
136
+ redirect=False,
137
+ retries=False,
138
+ timeout=urllib3.Timeout(total=timeout) if timeout is not None else urllib3.Timeout(connect=60, read=None),
139
+ )
140
+ return HttpResponse(raw)
141
+
142
+
143
+ def sign_headers(
144
+ method: str,
145
+ url: str,
146
+ *,
147
+ region: str,
148
+ headers: Mapping[str, str] | None = None,
149
+ body: bytes | str | None = None,
150
+ service: str = DEFAULT_SERVICE,
151
+ ) -> dict[str, str]:
152
+ """SigV4-sign a request and return the full header set to send (including ``Authorization``)."""
153
+ credentials = get_credential_provider()()
154
+ if credentials is None:
155
+ raise NoCredentialsError()
156
+ data = body.encode("utf-8") if isinstance(body, str) else body
157
+ request = AWSRequest(method=method, url=url, headers=dict(headers or {}), data=data)
158
+ SigV4Auth(credentials, service, region).add_auth(request)
159
+ return {k: v for k, v in request.headers.items()}
160
+
161
+
162
+ def signed_request(
163
+ method: str,
164
+ url: str,
165
+ *,
166
+ region: str,
167
+ body: str | None = None,
168
+ headers: Mapping[str, str] | None = None,
169
+ timeout: float | None = None,
170
+ stream: bool = False,
171
+ ) -> HttpResponse:
172
+ """SigV4-signed JSON request (``Content-Type: application/json``), as upstream's ``signedRequest`` helpers."""
173
+ request_headers = {"Content-Type": "application/json", **(headers or {})}
174
+ payload = body if body else None
175
+ signed = sign_headers(method, url, region=region, headers=request_headers, body=payload)
176
+ return http_request(method, url, headers=signed, body=payload, timeout=timeout, stream=stream)