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,342 @@
1
+ """AG-UI protocol event types and parser (port of ``agui-types.ts``).
2
+
3
+ AG-UI events are streamed as SSE with the type embedded in the JSON payload::
4
+
5
+ data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg-1","delta":"Hello"}
6
+
7
+ Events are plain dicts keyed exactly as on the wire (camelCase); the TypedDicts below document
8
+ their shapes. See https://docs.ag-ui.com/concepts/events.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import json
14
+ import uuid
15
+ from enum import StrEnum
16
+ from typing import Any, Literal, NotRequired, TypedDict
17
+
18
+
19
+ class AguiEventType(StrEnum):
20
+ # Lifecycle
21
+ RUN_STARTED = "RUN_STARTED"
22
+ RUN_FINISHED = "RUN_FINISHED"
23
+ RUN_ERROR = "RUN_ERROR"
24
+ STEP_STARTED = "STEP_STARTED"
25
+ STEP_FINISHED = "STEP_FINISHED"
26
+ # Text message (streaming triplet)
27
+ TEXT_MESSAGE_START = "TEXT_MESSAGE_START"
28
+ TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT"
29
+ TEXT_MESSAGE_END = "TEXT_MESSAGE_END"
30
+ TEXT_MESSAGE_CHUNK = "TEXT_MESSAGE_CHUNK"
31
+ # Tool call
32
+ TOOL_CALL_START = "TOOL_CALL_START"
33
+ TOOL_CALL_ARGS = "TOOL_CALL_ARGS"
34
+ TOOL_CALL_END = "TOOL_CALL_END"
35
+ TOOL_CALL_RESULT = "TOOL_CALL_RESULT"
36
+ TOOL_CALL_CHUNK = "TOOL_CALL_CHUNK"
37
+ # State management
38
+ STATE_SNAPSHOT = "STATE_SNAPSHOT"
39
+ STATE_DELTA = "STATE_DELTA"
40
+ MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT"
41
+ # Activity
42
+ ACTIVITY_SNAPSHOT = "ACTIVITY_SNAPSHOT"
43
+ ACTIVITY_DELTA = "ACTIVITY_DELTA"
44
+ # Reasoning
45
+ REASONING_START = "REASONING_START"
46
+ REASONING_MESSAGE_START = "REASONING_MESSAGE_START"
47
+ REASONING_MESSAGE_CONTENT = "REASONING_MESSAGE_CONTENT"
48
+ REASONING_MESSAGE_END = "REASONING_MESSAGE_END"
49
+ REASONING_END = "REASONING_END"
50
+ REASONING_ENCRYPTED_VALUE = "REASONING_ENCRYPTED_VALUE"
51
+ # Special
52
+ RAW = "RAW"
53
+ CUSTOM = "CUSTOM"
54
+ META_EVENT = "META_EVENT"
55
+
56
+
57
+ class AguiErrorCode(StrEnum):
58
+ AGENT_ERROR = "AGENT_ERROR"
59
+ UNAUTHORIZED = "UNAUTHORIZED"
60
+ ACCESS_DENIED = "ACCESS_DENIED"
61
+ VALIDATION_ERROR = "VALIDATION_ERROR"
62
+ RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED"
63
+
64
+
65
+ _KNOWN_EVENT_TYPES = frozenset(t.value for t in AguiEventType)
66
+
67
+
68
+ class AguiBaseEvent(TypedDict):
69
+ type: str
70
+ timestamp: NotRequired[float]
71
+ rawEvent: NotRequired[Any]
72
+
73
+
74
+ # --- Lifecycle ---
75
+
76
+
77
+ class AguiRunStarted(AguiBaseEvent):
78
+ threadId: str
79
+ runId: str
80
+ parentRunId: NotRequired[str]
81
+
82
+
83
+ class AguiRunFinished(AguiBaseEvent):
84
+ threadId: str
85
+ runId: str
86
+ result: NotRequired[Any]
87
+
88
+
89
+ class AguiRunError(AguiBaseEvent):
90
+ message: str
91
+ code: NotRequired[str]
92
+
93
+
94
+ class AguiStepStarted(AguiBaseEvent):
95
+ stepName: str
96
+
97
+
98
+ class AguiStepFinished(AguiBaseEvent):
99
+ stepName: str
100
+
101
+
102
+ # --- Text messages ---
103
+
104
+
105
+ class AguiTextMessageStart(AguiBaseEvent):
106
+ messageId: str
107
+ role: str
108
+
109
+
110
+ class AguiTextMessageContent(AguiBaseEvent):
111
+ messageId: str
112
+ delta: str
113
+
114
+
115
+ class AguiTextMessageEnd(AguiBaseEvent):
116
+ messageId: str
117
+
118
+
119
+ class AguiTextMessageChunk(AguiBaseEvent):
120
+ messageId: str
121
+ role: NotRequired[str]
122
+ delta: NotRequired[str]
123
+ content: NotRequired[str]
124
+
125
+
126
+ # --- Tool calls ---
127
+
128
+
129
+ class AguiToolCallStart(AguiBaseEvent):
130
+ toolCallId: str
131
+ toolCallName: str
132
+ parentMessageId: NotRequired[str]
133
+
134
+
135
+ class AguiToolCallArgs(AguiBaseEvent):
136
+ toolCallId: str
137
+ delta: str
138
+
139
+
140
+ class AguiToolCallEnd(AguiBaseEvent):
141
+ toolCallId: str
142
+
143
+
144
+ class AguiToolCallResult(AguiBaseEvent):
145
+ messageId: str
146
+ toolCallId: str
147
+ content: Any
148
+ role: NotRequired[str]
149
+
150
+
151
+ class AguiToolCallChunk(AguiBaseEvent):
152
+ toolCallId: str
153
+ delta: NotRequired[str]
154
+
155
+
156
+ # --- State management ---
157
+
158
+
159
+ class JsonPatchOperation(TypedDict):
160
+ op: str
161
+ path: str
162
+ value: NotRequired[Any]
163
+
164
+
165
+ class AguiStateSnapshot(AguiBaseEvent):
166
+ snapshot: dict[str, Any]
167
+
168
+
169
+ class AguiStateDelta(AguiBaseEvent):
170
+ delta: list[JsonPatchOperation]
171
+
172
+
173
+ class AguiMessagesSnapshot(AguiBaseEvent):
174
+ messages: list[Any]
175
+
176
+
177
+ # --- Activity ---
178
+
179
+
180
+ class AguiActivitySnapshot(AguiBaseEvent):
181
+ messageId: str
182
+ activityType: str
183
+ content: dict[str, Any]
184
+ replace: NotRequired[bool]
185
+
186
+
187
+ class AguiActivityDelta(AguiBaseEvent):
188
+ messageId: str
189
+ activityType: str
190
+ patch: list[JsonPatchOperation]
191
+
192
+
193
+ # --- Reasoning ---
194
+
195
+
196
+ class AguiReasoningStart(AguiBaseEvent):
197
+ messageId: str
198
+
199
+
200
+ class AguiReasoningMessageStart(AguiBaseEvent):
201
+ messageId: str
202
+ role: str
203
+
204
+
205
+ class AguiReasoningMessageContent(AguiBaseEvent):
206
+ messageId: str
207
+ delta: str
208
+
209
+
210
+ class AguiReasoningMessageEnd(AguiBaseEvent):
211
+ messageId: str
212
+
213
+
214
+ class AguiReasoningEnd(AguiBaseEvent):
215
+ messageId: str
216
+
217
+
218
+ class AguiReasoningEncryptedValue(AguiBaseEvent):
219
+ messageId: str
220
+ data: str
221
+
222
+
223
+ # --- Special ---
224
+
225
+
226
+ class AguiRawEvent(AguiBaseEvent):
227
+ event: Any
228
+ source: NotRequired[str]
229
+
230
+
231
+ class AguiCustomEvent(AguiBaseEvent):
232
+ name: str
233
+ value: Any
234
+
235
+
236
+ class AguiMetaEvent(AguiBaseEvent):
237
+ name: str
238
+ value: Any
239
+
240
+
241
+ AguiEvent = (
242
+ AguiRunStarted
243
+ | AguiRunFinished
244
+ | AguiRunError
245
+ | AguiStepStarted
246
+ | AguiStepFinished
247
+ | AguiTextMessageStart
248
+ | AguiTextMessageContent
249
+ | AguiTextMessageEnd
250
+ | AguiTextMessageChunk
251
+ | AguiToolCallStart
252
+ | AguiToolCallArgs
253
+ | AguiToolCallEnd
254
+ | AguiToolCallResult
255
+ | AguiToolCallChunk
256
+ | AguiStateSnapshot
257
+ | AguiStateDelta
258
+ | AguiMessagesSnapshot
259
+ | AguiActivitySnapshot
260
+ | AguiActivityDelta
261
+ | AguiReasoningStart
262
+ | AguiReasoningMessageStart
263
+ | AguiReasoningMessageContent
264
+ | AguiReasoningMessageEnd
265
+ | AguiReasoningEnd
266
+ | AguiReasoningEncryptedValue
267
+ | AguiRawEvent
268
+ | AguiCustomEvent
269
+ | AguiMetaEvent
270
+ )
271
+
272
+
273
+ # --- RunAgentInput (request body) ---
274
+
275
+
276
+ class AguiMessage(TypedDict):
277
+ id: str
278
+ role: str
279
+ content: str | list[Any]
280
+ name: NotRequired[str]
281
+ toolCallId: NotRequired[str]
282
+
283
+
284
+ class AguiTool(TypedDict):
285
+ name: str
286
+ description: str
287
+ parameters: dict[str, Any]
288
+
289
+
290
+ class AguiContext(TypedDict):
291
+ description: str
292
+ value: str
293
+
294
+
295
+ class AguiRunInput(TypedDict):
296
+ threadId: str
297
+ runId: str
298
+ messages: list[AguiMessage]
299
+ tools: NotRequired[list[AguiTool]]
300
+ context: NotRequired[list[AguiContext]]
301
+ state: NotRequired[dict[str, Any]]
302
+ forwardedProps: NotRequired[dict[str, Any]]
303
+
304
+
305
+ AguiRole = Literal["user", "assistant", "system", "tool", "developer"]
306
+
307
+
308
+ def is_known_event_type(event_type: str) -> bool:
309
+ return event_type in _KNOWN_EVENT_TYPES
310
+
311
+
312
+ def parse_agui_event(line: str) -> AguiEvent | None:
313
+ """Parse one SSE ``data:`` line into an AG-UI event dict.
314
+
315
+ Returns ``None`` for non-data lines, empty payloads, malformed JSON, or objects without a
316
+ ``type``. Unknown types are returned as-is for forward compatibility.
317
+ """
318
+ if not line.startswith("data: "):
319
+ return None
320
+ json_str = line[6:].strip()
321
+ if not json_str:
322
+ return None
323
+ try:
324
+ parsed = json.loads(json_str)
325
+ except ValueError:
326
+ return None
327
+ if not isinstance(parsed, dict) or "type" not in parsed:
328
+ return None
329
+ return parsed # type: ignore[return-value]
330
+
331
+
332
+ def build_agui_run_input(prompt: str, thread_id: str | None = None, run_id: str | None = None) -> AguiRunInput:
333
+ """Minimal single-turn ``RunAgentInput`` for ``prompt`` with fresh thread/run IDs."""
334
+ return {
335
+ "threadId": thread_id if thread_id is not None else str(uuid.uuid4()),
336
+ "runId": run_id if run_id is not None else str(uuid.uuid4()),
337
+ "messages": [{"id": str(uuid.uuid4()), "role": "user", "content": prompt}],
338
+ "tools": [],
339
+ "context": [],
340
+ "state": {},
341
+ "forwardedProps": {},
342
+ }
@@ -0,0 +1,87 @@
1
+ """Shared SigV4-signed HTTP client for AgentCore control/data plane APIs (port of ``api-client.ts``).
2
+
3
+ Used for APIs that upstream calls outside the AWS SDK. When the SDK (botocore) models are
4
+ authoritative for an API, callers can migrate to the boto3 clients.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from collections.abc import Mapping
10
+ from typing import Any, Literal
11
+ from urllib.parse import urlencode, urlsplit
12
+
13
+ from agentcore.aws._http import HttpResponse, signed_request
14
+ from agentcore.aws.stage_endpoint import control_plane_endpoint, data_plane_endpoint
15
+ from agentcore.lib.utils.json_format import to_json_string
16
+
17
+ SERVICE = "bedrock-agentcore"
18
+
19
+ ApiPlane = Literal["control", "data"]
20
+
21
+
22
+ class AgentCoreApiError(Exception):
23
+ def __init__(self, status_code: int, error_body: str, request_id: str | None = None):
24
+ suffix = f" [requestId: {request_id}]" if request_id else ""
25
+ super().__init__(f"AgentCore API error ({status_code}): {error_body}{suffix}")
26
+ self.status_code = status_code
27
+ self.request_id = request_id
28
+ self.error_body = error_body
29
+
30
+ @property
31
+ def message(self) -> str:
32
+ return str(self)
33
+
34
+ @property
35
+ def name(self) -> str:
36
+ return "AgentCoreApiError"
37
+
38
+
39
+ def resolve_endpoint(region: str, plane: ApiPlane) -> str:
40
+ return control_plane_endpoint(region) if plane == "control" else data_plane_endpoint(region)
41
+
42
+
43
+ def build_url(endpoint: str, path: str, query: Mapping[str, str] | None = None) -> str:
44
+ """``endpoint + path`` with ``query`` merged into any query string already on ``path``."""
45
+ if not query:
46
+ return f"{endpoint}{path}"
47
+ parts = urlsplit(path)
48
+ existing = parts.query
49
+ extra = urlencode(dict(query))
50
+ qs = f"{existing}&{extra}" if existing else extra
51
+ return f"{endpoint}{parts.path}?{qs}"
52
+
53
+
54
+ class AgentCoreApiClient:
55
+ def __init__(self, *, region: str, plane: ApiPlane):
56
+ self.region = region
57
+ self.endpoint = resolve_endpoint(region, plane)
58
+
59
+ def request(
60
+ self,
61
+ *,
62
+ method: str,
63
+ path: str,
64
+ body: Any = None,
65
+ query: Mapping[str, str] | None = None,
66
+ headers: Mapping[str, str] | None = None,
67
+ ) -> Any:
68
+ response = self.request_raw(method=method, path=path, body=body, query=query, headers=headers, stream=False)
69
+ if not response.ok:
70
+ raise AgentCoreApiError(response.status, response.text(), response.header("x-amzn-requestid"))
71
+ if response.status == 204:
72
+ return {}
73
+ return response.json()
74
+
75
+ def request_raw(
76
+ self,
77
+ *,
78
+ method: str,
79
+ path: str,
80
+ body: Any = None,
81
+ query: Mapping[str, str] | None = None,
82
+ headers: Mapping[str, str] | None = None,
83
+ stream: bool = True,
84
+ ) -> HttpResponse:
85
+ serialized = to_json_string(body, indent=None) if body is not None else None
86
+ url = build_url(self.endpoint, path, query)
87
+ return signed_request(method, url, region=self.region, body=serialized, headers=headers, stream=stream)
agentcore/aws/arn.py ADDED
@@ -0,0 +1,18 @@
1
+ """ARN parsing helpers (port of ``arn.ts``).
2
+
3
+ Kept separate from ``region``: that module *detects* the ambient region, while these are pure
4
+ string functions over an ARN the caller already holds.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+
10
+ def region_from_arn(arn: str) -> str | None:
11
+ """Region field (index 3) of ``arn:{partition}:{service}:{region}:{account}:{resource}``.
12
+
13
+ Splitting on ':' rather than matching a partition keeps this correct for GovCloud and China
14
+ ARNs. Returns ``None`` for a malformed or region-less ARN so callers can fall back.
15
+ """
16
+ parts = arn.split(":")
17
+ region = parts[3] if len(parts) > 3 else ""
18
+ return region or None
@@ -0,0 +1,23 @@
1
+ """Detected AWS account/region context (port of ``aws-context.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+
7
+ from agentcore.aws import account as _account
8
+ from agentcore.aws import region as _region
9
+ from agentcore.schema.schemas.aws_targets import AgentCoreRegion
10
+
11
+
12
+ @dataclass(frozen=True, slots=True)
13
+ class AwsContext:
14
+ account_id: str | None
15
+ region: AgentCoreRegion
16
+ region_source: _region.RegionSource
17
+
18
+
19
+ def detect_aws_context() -> AwsContext:
20
+ """Detect account ID and region from the environment / shared config."""
21
+ account_id = _account.detect_account()
22
+ detected = _region.detect_region()
23
+ return AwsContext(account_id=account_id, region=detected.region, region_source=detected.source)
@@ -0,0 +1,44 @@
1
+ """Synchronous Bedrock model invocation (port of ``bedrock.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from dataclasses import dataclass
7
+ from typing import Any
8
+
9
+ from agentcore.aws.account import create_aws_client
10
+ from agentcore.lib.utils.json_format import to_json_string
11
+
12
+ CLAUDE_MODEL_ID = "global.anthropic.claude-opus-4-5-20251101-v1:0"
13
+ CLAUDE_ANTHROPIC_VERSION = "bedrock-2023-05-31"
14
+
15
+
16
+ @dataclass(frozen=True, slots=True)
17
+ class ClaudeResponse:
18
+ content: str
19
+
20
+
21
+ def invoke_bedrock_sync(*, region: str, model_id: str, body: dict[str, Any]) -> dict[str, Any]:
22
+ """Invoke a Bedrock model and return the parsed JSON response body."""
23
+ client = create_aws_client("bedrock-runtime", region)
24
+ response = client.invoke_model(
25
+ modelId=model_id,
26
+ contentType="application/json",
27
+ accept="application/json",
28
+ body=to_json_string(body, indent=None).encode("utf-8"),
29
+ )
30
+ return json.loads(response["body"].read().decode("utf-8"))
31
+
32
+
33
+ def invoke_claude(*, region: str, prompt: str, max_tokens: int | None = None) -> ClaudeResponse:
34
+ """Invoke Claude on Bedrock with a single user prompt and return the first text block."""
35
+ body = {
36
+ "anthropic_version": CLAUDE_ANTHROPIC_VERSION,
37
+ "max_tokens": max_tokens if max_tokens is not None else 8192,
38
+ "messages": [{"role": "user", "content": prompt}],
39
+ }
40
+ response = invoke_bedrock_sync(region=region, model_id=CLAUDE_MODEL_ID, body=body)
41
+ content = response.get("content") or []
42
+ if not content:
43
+ raise RuntimeError("No content returned from Bedrock")
44
+ return ClaudeResponse(content=content[0].get("text"))
@@ -0,0 +1,129 @@
1
+ """Bedrock Knowledge Base / data source / ingestion helpers (port of ``bedrock-agent.ts``).
2
+
3
+ Results are the boto3 response structures (camelCase keys, ``datetime`` timestamps), mirroring the
4
+ SDK v3 objects upstream returns.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from datetime import datetime
10
+ from typing import Any
11
+
12
+ from botocore.client import BaseClient
13
+
14
+ from agentcore.aws._aws_errors import is_not_found_error
15
+ from agentcore.aws.account import create_aws_client
16
+
17
+ KnowledgeBase = dict[str, Any]
18
+ DataSource = dict[str, Any]
19
+ DataSourceSummary = dict[str, Any]
20
+ IngestionJob = dict[str, Any]
21
+ IngestionJobSummary = dict[str, Any]
22
+
23
+
24
+ def _make_client(region: str) -> BaseClient:
25
+ # One-shot CLI process: a fresh client per call, as upstream.
26
+ return create_aws_client("bedrock-agent", region)
27
+
28
+
29
+ def get_knowledge_base(*, region: str, knowledge_base_id: str) -> KnowledgeBase | None:
30
+ """Knowledge base by ID; ``None`` if it doesn't exist (other errors propagate)."""
31
+ try:
32
+ return _make_client(region).get_knowledge_base(knowledgeBaseId=knowledge_base_id).get("knowledgeBase")
33
+ except Exception as exc:
34
+ if is_not_found_error(exc):
35
+ return None
36
+ raise
37
+
38
+
39
+ def get_data_source(*, region: str, knowledge_base_id: str, data_source_id: str) -> DataSource | None:
40
+ try:
41
+ response = _make_client(region).get_data_source(knowledgeBaseId=knowledge_base_id, dataSourceId=data_source_id)
42
+ return response.get("dataSource")
43
+ except Exception as exc:
44
+ if is_not_found_error(exc):
45
+ return None
46
+ raise
47
+
48
+
49
+ def list_ingestion_jobs(
50
+ *, region: str, knowledge_base_id: str, data_source_id: str, client: BaseClient | None = None
51
+ ) -> list[IngestionJobSummary]:
52
+ """Every ingestion job summary for a (KB, DS) pair across all pages; ``[]`` if the pair doesn't exist."""
53
+ client = client or _make_client(region)
54
+ summaries: list[IngestionJobSummary] = []
55
+ next_token: str | None = None
56
+ try:
57
+ while True:
58
+ params: dict[str, Any] = {"knowledgeBaseId": knowledge_base_id, "dataSourceId": data_source_id}
59
+ if next_token:
60
+ params["nextToken"] = next_token
61
+ response = client.list_ingestion_jobs(**params)
62
+ summaries.extend(response.get("ingestionJobSummaries") or [])
63
+ next_token = response.get("nextToken")
64
+ if not next_token:
65
+ return summaries
66
+ except Exception as exc:
67
+ if is_not_found_error(exc):
68
+ return []
69
+ raise
70
+
71
+
72
+ def list_data_sources(*, region: str, knowledge_base_id: str) -> list[DataSourceSummary]:
73
+ """Every data source of a KB across all pages; ``[]`` if the KB doesn't exist.
74
+
75
+ Used post-deploy to resolve data-source IDs (the L3 emits per-KB outputs but not per-DS ones).
76
+ """
77
+ client = _make_client(region)
78
+ summaries: list[DataSourceSummary] = []
79
+ next_token: str | None = None
80
+ try:
81
+ while True:
82
+ params: dict[str, Any] = {"knowledgeBaseId": knowledge_base_id}
83
+ if next_token:
84
+ params["nextToken"] = next_token
85
+ response = client.list_data_sources(**params)
86
+ summaries.extend(response.get("dataSourceSummaries") or [])
87
+ next_token = response.get("nextToken")
88
+ if not next_token:
89
+ return summaries
90
+ except Exception as exc:
91
+ if is_not_found_error(exc):
92
+ return []
93
+ raise
94
+
95
+
96
+ def start_ingestion_job(*, region: str, knowledge_base_id: str, data_source_id: str) -> IngestionJob:
97
+ """Start an ingestion job; service errors propagate verbatim."""
98
+ response = _make_client(region).start_ingestion_job(knowledgeBaseId=knowledge_base_id, dataSourceId=data_source_id)
99
+ job = response.get("ingestionJob")
100
+ if not job:
101
+ raise RuntimeError("StartIngestionJob succeeded but returned no ingestion job in the response")
102
+ return job
103
+
104
+
105
+ def _started_ms(summary: IngestionJobSummary) -> float:
106
+ started = summary.get("startedAt")
107
+ return started.timestamp() * 1000 if isinstance(started, datetime) else 0
108
+
109
+
110
+ def get_latest_ingestion_job(*, region: str, knowledge_base_id: str, data_source_id: str) -> IngestionJob | None:
111
+ """Full details of the most recently started ingestion job, or ``None`` if none ever ran."""
112
+ client = _make_client(region)
113
+ summaries = list_ingestion_jobs(
114
+ region=region, knowledge_base_id=knowledge_base_id, data_source_id=data_source_id, client=client
115
+ )
116
+ if not summaries:
117
+ return None
118
+
119
+ latest = summaries[0]
120
+ for current in summaries[1:]:
121
+ if _started_ms(current) > _started_ms(latest):
122
+ latest = current
123
+ if not latest.get("ingestionJobId"):
124
+ return None
125
+
126
+ response = client.get_ingestion_job(
127
+ knowledgeBaseId=knowledge_base_id, dataSourceId=data_source_id, ingestionJobId=latest["ingestionJobId"]
128
+ )
129
+ return response.get("ingestionJob")