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,51 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /**
3
+ * READ-ONLY LLM CONTEXT - Do not edit this file.
4
+ *
5
+ * JSON File: agentcore/aws-targets.json
6
+ * Purpose: AWS deployment targets for AgentCore resources
7
+ */
8
+
9
+ // ─────────────────────────────────────────────────────────────────────────────
10
+ // ROOT SCHEMA: AwsDeploymentTargets (array)
11
+ // ─────────────────────────────────────────────────────────────────────────────
12
+
13
+ // The JSON file contains an array of deployment targets.
14
+ // Target names must be unique within the array.
15
+ type AwsDeploymentTargets = AwsDeploymentTarget[];
16
+
17
+ interface AwsDeploymentTarget {
18
+ name: string; // @regex ^[a-zA-Z][a-zA-Z0-9-]*$ @min 1 @max 64 - unique identifier
19
+ description?: string; // @max 256
20
+ account: string; // @regex ^[0-9]{12}$ - AWS account ID (exactly 12 digits)
21
+ region: AgentCoreRegion;
22
+ }
23
+
24
+ // ─────────────────────────────────────────────────────────────────────────────
25
+ // SUPPORTED REGIONS
26
+ // https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-regions.html
27
+ // ─────────────────────────────────────────────────────────────────────────────
28
+
29
+ type AgentCoreRegion =
30
+ | 'ap-northeast-1'
31
+ | 'ap-northeast-2'
32
+ | 'ap-south-1'
33
+ | 'ap-south-2'
34
+ | 'ap-southeast-1'
35
+ | 'ap-southeast-2'
36
+ | 'ap-southeast-5'
37
+ | 'ap-southeast-7'
38
+ | 'ca-central-1'
39
+ | 'eu-central-1'
40
+ | 'eu-north-1'
41
+ | 'eu-south-1'
42
+ | 'eu-south-2'
43
+ | 'eu-west-1'
44
+ | 'eu-west-2'
45
+ | 'eu-west-3'
46
+ | 'sa-east-1'
47
+ | 'us-east-1'
48
+ | 'us-east-2'
49
+ | 'us-west-1'
50
+ | 'us-west-2'
51
+ | 'us-gov-west-1';
@@ -0,0 +1,151 @@
1
+ """Per-framework template profiles (port of ``profiles.ts`` and ``bmaProfile.ts``).
2
+
3
+ A profile states what a framework template needs from the CLI. The commands, the wizard, and the
4
+ schema mapper read it, so they need no check for a specific framework.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from dataclasses import dataclass, field
10
+ from typing import Any, TypedDict
11
+
12
+ from agentcore.schema import BuildType, ModelProvider, TargetLanguage
13
+
14
+
15
+ class RequiredOptions(TypedDict, total=False):
16
+ memory: str
17
+ build: BuildType
18
+ language: TargetLanguage
19
+
20
+
21
+ class DefaultOptions(TypedDict, total=False):
22
+ modelProvider: ModelProvider
23
+
24
+
25
+ @dataclass
26
+ class TemplateRuntimeProfile:
27
+ # The Dockerfile path under codeLocation.
28
+ dockerfile: str
29
+ idle_runtime_session_timeout: int
30
+ max_lifetime: int
31
+ # Policy files under codeLocation, or managed policy ARNs, for the execution role.
32
+ additional_policies: list[str] | None = None
33
+ tags: dict[str, str] | None = None
34
+
35
+
36
+ @dataclass
37
+ class TemplateProfile:
38
+ # Options the template needs; `create` and `add` fill them in and reject other values.
39
+ required_options: RequiredOptions = field(default_factory=lambda: RequiredOptions())
40
+ # Options `create` and `add` fill in when the user does not give them.
41
+ default_options: DefaultOptions = field(default_factory=lambda: DefaultOptions())
42
+ # Main file under the agent directory; the default is main.py.
43
+ entrypoint: str | None = None
44
+ # `add agent` accepts only `--type create`.
45
+ create_only: bool = False
46
+ # False when the runtime runs no model, so the CLI neither asks for nor shows one.
47
+ uses_model: bool = True
48
+ # False when the image installs the Python dependencies, so the CLI sets up no local venv.
49
+ setup_python_venv: bool = True
50
+ # Runtime settings the template needs; user-supplied values win.
51
+ runtime: TemplateRuntimeProfile | None = None
52
+
53
+
54
+ # Mantle runs Codex and calls into the runtime, so the runtime runs no model or memory. The image
55
+ # installs its Python dependencies at build time. The runtime has no session storage, so the same
56
+ # settings work on microVM and on a capacity provider.
57
+ BMA_TEMPLATE_PROFILE = TemplateProfile(
58
+ required_options={"memory": "none", "build": "Container", "language": "Python"},
59
+ default_options={"modelProvider": "Bedrock"},
60
+ entrypoint="lifecycle/server.py",
61
+ create_only=True,
62
+ uses_model=False,
63
+ setup_python_venv=False,
64
+ runtime=TemplateRuntimeProfile(
65
+ dockerfile="Dockerfile",
66
+ idle_runtime_session_timeout=1800,
67
+ max_lifetime=28800,
68
+ additional_policies=["policies/bma-acr-policy.json"],
69
+ tags={"agentcore:template": "BedrockManagedAgents"},
70
+ ),
71
+ )
72
+
73
+ _TEMPLATE_PROFILES: dict[str, TemplateProfile] = {"BedrockManagedAgents": BMA_TEMPLATE_PROFILE}
74
+
75
+
76
+ def get_template_profile(framework: str | None) -> TemplateProfile | None:
77
+ if not framework:
78
+ return None
79
+ return _TEMPLATE_PROFILES.get(framework)
80
+
81
+
82
+ def template_uses_model(framework: str | None) -> bool:
83
+ profile = get_template_profile(framework)
84
+ return profile is None or profile.uses_model
85
+
86
+
87
+ def template_needs_python_venv(framework: str | None) -> bool:
88
+ profile = get_template_profile(framework)
89
+ return profile is None or profile.setup_python_venv
90
+
91
+
92
+ def _get(options: Any, name: str) -> Any:
93
+ return options.get(name) if isinstance(options, dict) else getattr(options, name, None)
94
+
95
+
96
+ def _set(options: Any, name: str, value: Any) -> None:
97
+ if isinstance(options, dict):
98
+ options[name] = value
99
+ else:
100
+ setattr(options, name, value)
101
+
102
+
103
+ def apply_template_option_defaults(framework: str | None, options: Any) -> None:
104
+ """Fill in options the framework template needs or defaults; user-supplied values win.
105
+
106
+ ``options`` is a dict keyed by the upstream option names (``modelProvider``, ``language``, ``memory``,
107
+ ``build``) or an object with attributes of those names. Like upstream's ``??=``, only missing
108
+ (None) values are filled, and keys whose default is unset are not added.
109
+ """
110
+ profile = get_template_profile(framework)
111
+ if profile is None:
112
+ return
113
+ defaults = {
114
+ "modelProvider": profile.default_options.get("modelProvider"),
115
+ "language": profile.required_options.get("language"),
116
+ "memory": profile.required_options.get("memory"),
117
+ "build": profile.required_options.get("build"),
118
+ }
119
+ for name, value in defaults.items():
120
+ if _get(options, name) is None and value is not None:
121
+ _set(options, name, value)
122
+
123
+
124
+ def validate_template_options(framework: str | None, options: Any) -> str | None:
125
+ """Return an error message if an option conflicts with the framework template."""
126
+ profile = get_template_profile(framework)
127
+ if profile is None:
128
+ return None
129
+ option_type = _get(options, "type")
130
+ if profile.create_only and option_type and option_type != "create":
131
+ return f"{framework} supports only --type create"
132
+ for flag in ("memory", "build", "language"):
133
+ value = profile.required_options.get(flag)
134
+ given = _get(options, flag)
135
+ if value is not None and given is not None and given != value:
136
+ return f"{framework} supports only --{flag} {value}"
137
+ return None
138
+
139
+
140
+ __all__ = [
141
+ "BMA_TEMPLATE_PROFILE",
142
+ "DefaultOptions",
143
+ "RequiredOptions",
144
+ "TemplateProfile",
145
+ "TemplateRuntimeProfile",
146
+ "apply_template_option_defaults",
147
+ "get_template_profile",
148
+ "template_needs_python_venv",
149
+ "template_uses_model",
150
+ "validate_template_options",
151
+ ]
@@ -0,0 +1,92 @@
1
+ """Directory copy and Handlebars rendering of template trees (port of ``render.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from collections.abc import Collection, Mapping
7
+ from importlib.resources.abc import Traversable
8
+ from pathlib import Path
9
+ from typing import Any
10
+
11
+ from agentcore.templates._handlebars import HELPERS, SafeString, compile_template, render_template
12
+
13
+ TemplateSource = Traversable | str | os.PathLike[str]
14
+
15
+ _TEMPLATE_RENAMES = {
16
+ "gitignore.template": ".gitignore",
17
+ "npmignore.template": ".npmignore",
18
+ "dockerignore.template": ".dockerignore",
19
+ }
20
+
21
+
22
+ def resolve_template_name(filename: str) -> str:
23
+ """Rename template files to their real names, e.g. ``gitignore.template`` -> ``.gitignore``."""
24
+ return _TEMPLATE_RENAMES.get(filename, filename)
25
+
26
+
27
+ def _as_traversable(src: TemplateSource) -> Traversable:
28
+ if isinstance(src, (str, os.PathLike)):
29
+ return Path(src)
30
+ return src
31
+
32
+
33
+ # pip byte-compiles package data at install time; those caches are not part of the templates.
34
+ _IGNORED_DIRS = frozenset({"__pycache__"})
35
+
36
+
37
+ def _entries(src: Traversable) -> list[Traversable]:
38
+ entries = (e for e in src.iterdir() if not (e.name in _IGNORED_DIRS and e.is_dir()))
39
+ return sorted(entries, key=lambda entry: entry.name)
40
+
41
+
42
+ def copy_dir(src: TemplateSource, dest: str | os.PathLike[str]) -> None:
43
+ """Recursively copy ``src`` to ``dest`` byte-for-byte, renaming ``*.template`` dotfiles."""
44
+ source = _as_traversable(src)
45
+ target = Path(dest)
46
+ target.mkdir(parents=True, exist_ok=True)
47
+ for entry in _entries(source):
48
+ dest_path = target / resolve_template_name(entry.name)
49
+ if entry.is_dir():
50
+ copy_dir(entry, dest_path)
51
+ else:
52
+ dest_path.write_bytes(entry.read_bytes())
53
+
54
+
55
+ def copy_and_render_dir(
56
+ src: TemplateSource,
57
+ dest: str | os.PathLike[str],
58
+ data: Mapping[str, Any],
59
+ *,
60
+ exclude: Collection[str] | None = None,
61
+ ) -> None:
62
+ """Recursively copy ``src`` to ``dest``, rendering every file as a Handlebars template.
63
+
64
+ ``exclude`` holds destination names to skip; like upstream, it applies to the top level only.
65
+ """
66
+ source = _as_traversable(src)
67
+ target = Path(dest)
68
+ target.mkdir(parents=True, exist_ok=True)
69
+ for entry in _entries(source):
70
+ dest_name = resolve_template_name(entry.name)
71
+ if exclude and dest_name in exclude:
72
+ continue
73
+ dest_path = target / dest_name
74
+ if entry.is_dir():
75
+ copy_and_render_dir(entry, dest_path, data)
76
+ else:
77
+ content = entry.read_bytes().decode("utf-8", errors="replace")
78
+ # newline="" keeps "\n" as-is on Windows, like fs.writeFile.
79
+ with open(dest_path, "w", encoding="utf-8", newline="") as fh:
80
+ fh.write(render_template(content, data))
81
+
82
+
83
+ __all__ = [
84
+ "HELPERS",
85
+ "SafeString",
86
+ "TemplateSource",
87
+ "compile_template",
88
+ "copy_and_render_dir",
89
+ "copy_dir",
90
+ "render_template",
91
+ "resolve_template_name",
92
+ ]
@@ -0,0 +1,83 @@
1
+ """Framework renderers and the renderer factory (ports of ``*Renderer.ts`` and ``index.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from agentcore.templates.base_renderer import BaseRenderer
6
+ from agentcore.templates.template_root import TEMPLATE_ROOT
7
+ from agentcore.templates.types import AgentRenderConfig
8
+
9
+
10
+ class StrandsRenderer(BaseRenderer):
11
+ def __init__(self, config: AgentRenderConfig) -> None:
12
+ super().__init__(config, "strands", TEMPLATE_ROOT, config.protocol or "http")
13
+
14
+
15
+ class GoogleADKRenderer(BaseRenderer):
16
+ def __init__(self, config: AgentRenderConfig) -> None:
17
+ super().__init__(config, "googleadk", TEMPLATE_ROOT, config.protocol or "http")
18
+
19
+
20
+ class LangGraphRenderer(BaseRenderer):
21
+ def __init__(self, config: AgentRenderConfig) -> None:
22
+ super().__init__(config, "langchain_langgraph", TEMPLATE_ROOT, config.protocol or "http")
23
+
24
+
25
+ class OpenAIAgentsRenderer(BaseRenderer):
26
+ def __init__(self, config: AgentRenderConfig) -> None:
27
+ super().__init__(config, "openaiagents", TEMPLATE_ROOT, config.protocol or "http")
28
+
29
+
30
+ class VercelAIRenderer(BaseRenderer):
31
+ def __init__(self, config: AgentRenderConfig) -> None:
32
+ super().__init__(config, "vercelai", TEMPLATE_ROOT, config.protocol or "http")
33
+
34
+
35
+ class McpRenderer(BaseRenderer):
36
+ def __init__(self, config: AgentRenderConfig) -> None:
37
+ super().__init__(config, "standalone", TEMPLATE_ROOT, "mcp")
38
+
39
+ def should_render_memory(self) -> bool:
40
+ return False
41
+
42
+
43
+ class BmaRenderer(BaseRenderer):
44
+ """Bedrock Managed Agents (BMA) customer environment.
45
+
46
+ The base template is the Mantle team's control plane with fixes, its Dockerfile, and an
47
+ OpenTelemetry dependency.
48
+ """
49
+
50
+ def __init__(self, config: AgentRenderConfig) -> None:
51
+ super().__init__(config, "bma", TEMPLATE_ROOT, "http")
52
+
53
+
54
+ _RENDERERS: dict[str, type[BaseRenderer]] = {
55
+ "Strands": StrandsRenderer,
56
+ "GoogleADK": GoogleADKRenderer,
57
+ "LangChain_LangGraph": LangGraphRenderer,
58
+ "OpenAIAgents": OpenAIAgentsRenderer,
59
+ "VercelAI": VercelAIRenderer,
60
+ "BedrockManagedAgents": BmaRenderer,
61
+ }
62
+
63
+
64
+ def create_renderer(config: AgentRenderConfig) -> BaseRenderer:
65
+ """Pick the renderer for ``config``; the MCP protocol uses the standalone renderer for any framework."""
66
+ if config.protocol == "MCP":
67
+ return McpRenderer(config)
68
+ renderer = _RENDERERS.get(config.sdk_framework)
69
+ if renderer is None:
70
+ raise ValueError(f"Unsupported SDK framework: {config.sdk_framework}")
71
+ return renderer(config)
72
+
73
+
74
+ __all__ = [
75
+ "BmaRenderer",
76
+ "GoogleADKRenderer",
77
+ "LangGraphRenderer",
78
+ "McpRenderer",
79
+ "OpenAIAgentsRenderer",
80
+ "StrandsRenderer",
81
+ "VercelAIRenderer",
82
+ "create_renderer",
83
+ ]
@@ -0,0 +1,23 @@
1
+ """LLM-compacted schema files (port of ``schema-assets.ts``).
2
+
3
+ Written to ``agentcore/.llm-context/`` during project creation to give AI coding assistants compact,
4
+ readable type definitions. Upstream embeds ``src/schema/llm-compacted/*`` at build time; here the same
5
+ files ship as package data under ``templates/llm_context/``.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from importlib.resources import files
11
+
12
+ _FILENAMES = ("README.md", "agentcore.ts", "aws-targets.ts")
13
+
14
+
15
+ def _load() -> dict[str, str]:
16
+ root = files(__package__) / "llm_context"
17
+ return {name: (root / name).read_text(encoding="utf-8") for name in _FILENAMES}
18
+
19
+
20
+ # Each file is self-contained and maps to a JSON config file.
21
+ LLM_CONTEXT_FILES: dict[str, str] = _load()
22
+
23
+ __all__ = ["LLM_CONTEXT_FILES"]
@@ -0,0 +1,28 @@
1
+ """Location of the bundled template assets (port of ``templateRoot.ts``).
2
+
3
+ Assets ship inside the package (``<package>/assets``) and are located with ``importlib.resources``, so
4
+ they work from a source checkout and from an installed wheel alike. The returned objects are
5
+ ``Traversable``s; for a regular (unzipped) install they are ``pathlib.Path`` instances.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from importlib.resources import files
11
+ from importlib.resources.abc import Traversable
12
+
13
+ # Top-level package name, resolved at runtime so the package can be renamed without edits here.
14
+ _PACKAGE = __name__.split(".")[0]
15
+
16
+ TEMPLATE_ROOT: Traversable = files(_PACKAGE) / "assets"
17
+
18
+
19
+ def get_template_path(*segments: str) -> Traversable:
20
+ """Join ``segments`` onto the assets root (``get_template_path("cdk")`` -> ``assets/cdk``)."""
21
+ path = TEMPLATE_ROOT
22
+ for segment in segments:
23
+ if segment:
24
+ path = path / segment
25
+ return path
26
+
27
+
28
+ __all__ = ["TEMPLATE_ROOT", "get_template_path"]
@@ -0,0 +1,192 @@
1
+ """Render configuration consumed by the agent template renderers (port of ``types.ts``).
2
+
3
+ Fields are snake_case; ``to_template_data()`` produces the camelCase mapping the Handlebars templates
4
+ reference. Unset (``None``) fields are omitted, mirroring absent optional properties upstream.
5
+ Free-form dict values (tool input schemas, custom parameters, ...) are passed through untouched.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import dataclasses
11
+ from dataclasses import dataclass, field
12
+ from typing import Any, Literal
13
+
14
+ from pydantic.alias_generators import to_camel
15
+
16
+ from agentcore.schema import BuildType, MemoryStrategyType, ModelProvider, ProtocolMode, SDKFramework, TargetLanguage
17
+
18
+ TruncationStrategy = Literal["sliding_window", "summarization", "none"]
19
+ MantleApiFormat = Literal["responses", "chat_completions"]
20
+
21
+
22
+ def _template_value(value: Any) -> Any:
23
+ if dataclasses.is_dataclass(value) and not isinstance(value, type):
24
+ return {
25
+ to_camel(f.name): _template_value(getattr(value, f.name))
26
+ for f in dataclasses.fields(value)
27
+ if getattr(value, f.name) is not None
28
+ }
29
+ if isinstance(value, (list, tuple)):
30
+ return [_template_value(item) for item in value]
31
+ return value
32
+
33
+
34
+ class _TemplateData:
35
+ def to_template_data(self) -> dict[str, Any]:
36
+ """camelCase mapping of the set fields, as the templates expect."""
37
+ data = _template_value(self)
38
+ assert isinstance(data, dict)
39
+ return data
40
+
41
+
42
+ @dataclass(kw_only=True)
43
+ class IdentityProviderRenderConfig(_TemplateData):
44
+ name: str
45
+ env_var_name: str
46
+
47
+
48
+ @dataclass(kw_only=True)
49
+ class MemoryProviderRenderConfig(_TemplateData):
50
+ name: str
51
+ env_var_name: str
52
+ # Strategy types configured for this memory.
53
+ strategies: list[MemoryStrategyType] = field(default_factory=list)
54
+
55
+
56
+ @dataclass(kw_only=True)
57
+ class GatewayProviderRenderConfig(_TemplateData):
58
+ name: str
59
+ env_var_name: str
60
+ auth_type: str # AWS_IAM, CUSTOM_JWT, NONE
61
+ # CUSTOM_JWT only: provider name for @requires_access_token, OIDC discovery URL, space-separated scopes.
62
+ credential_provider_name: str | None = None
63
+ discovery_url: str | None = None
64
+ scopes: str | None = None
65
+ # CUSTOM_JWT only: CLIENT_CREDENTIALS -> M2M, AUTHORIZATION_CODE -> USER_FEDERATION (default M2M).
66
+ auth_flow: str | None = None
67
+ # CUSTOM_JWT only: rendered through safeJson so the JSON is not HTML-escaped.
68
+ custom_parameters: dict[str, str] | None = None
69
+ # URL of an external gateway that is not in deployed-state.json.
70
+ hardcoded_url: str | None = None
71
+
72
+
73
+ @dataclass(kw_only=True)
74
+ class MountRenderConfig(_TemplateData):
75
+ mount_path: str
76
+
77
+
78
+ @dataclass(kw_only=True)
79
+ class InlineFunctionToolRenderConfig(_TemplateData):
80
+ name: str
81
+ description: str
82
+ input_schema: dict[str, Any]
83
+
84
+
85
+ @dataclass(kw_only=True)
86
+ class HeaderCredentialRenderConfig(_TemplateData):
87
+ header_key: str
88
+ credential_name: str
89
+ env_var_name: str
90
+
91
+
92
+ @dataclass(kw_only=True)
93
+ class RemoteMcpToolRenderConfig(_TemplateData):
94
+ name: str
95
+ url: str
96
+ header_credentials: list[HeaderCredentialRenderConfig] | None = None
97
+
98
+
99
+ @dataclass(kw_only=True)
100
+ class GitSkillRenderConfig(_TemplateData):
101
+ url: str
102
+ path: str | None = None
103
+ credential_arn: str | None = None
104
+ username: str | None = None
105
+
106
+
107
+ @dataclass(kw_only=True)
108
+ class AgentRenderConfig(_TemplateData):
109
+ """Configuration needed by template renderers (separate from the stored agent schema)."""
110
+
111
+ name: str
112
+ sdk_framework: SDKFramework = "Strands"
113
+ target_language: TargetLanguage = "Python"
114
+ model_provider: ModelProvider = "Bedrock"
115
+ has_memory: bool = False
116
+ has_identity: bool = False
117
+ has_gateway: bool = False
118
+ has_payment: bool = False
119
+ # Whether the agent is deployed in VPC mode (affects example MCP endpoints).
120
+ is_vpc: bool = False
121
+ build_type: BuildType | None = None
122
+ memory_providers: list[MemoryProviderRenderConfig] = field(default_factory=list)
123
+ # Maps to credentials in the schema.
124
+ identity_providers: list[IdentityProviderRenderConfig] = field(default_factory=list)
125
+ gateway_providers: list[GatewayProviderRenderConfig] = field(default_factory=list)
126
+ # Unique auth types across all gateways (for conditional imports).
127
+ gateway_auth_types: list[str] = field(default_factory=list)
128
+ protocol: ProtocolMode | None = None
129
+ # Custom Dockerfile name: when set, the template Dockerfile is not scaffolded.
130
+ dockerfile: str | None = None
131
+ session_storage_mount_path: str | None = None
132
+ efs_mounts: list[MountRenderConfig] | None = None
133
+ s3_mounts: list[MountRenderConfig] | None = None
134
+ # True when any filesystem mount is configured (drives `import os` in templates).
135
+ needs_os: bool | None = None
136
+ # Wrap the entrypoint with opentelemetry-instrument. Defaults to true.
137
+ enable_otel: bool | None = None
138
+ has_config_bundle: bool | None = None
139
+
140
+ # -- Export-only fields (set by the harness mapper, consumed by export templates) --
141
+ max_iterations: int | None = None
142
+ max_tokens: int | None = None
143
+ timeout_seconds: int | float | None = None
144
+ # 'none' renders no truncation block.
145
+ truncation_strategy: TruncationStrategy | None = None
146
+ truncation_config: dict[str, Any] | None = None
147
+ inline_function_tools: list[InlineFunctionToolRenderConfig] | None = None
148
+ remote_mcp_tools: list[RemoteMcpToolRenderConfig] | None = None
149
+ path_skills: list[str] | None = None
150
+ s3_skills: list[str] | None = None
151
+ git_skills: list[GitSkillRenderConfig] | None = None
152
+ has_skills_fetcher: bool | None = None
153
+ has_fetched_skills: bool | None = None
154
+ has_browser: bool | None = None
155
+ # Env var holding a custom browser identifier; None when the AWS-managed default is used.
156
+ browser_identifier_env_var: str | None = None
157
+ has_code_interpreter: bool | None = None
158
+ code_interpreter_identifier_env_var: str | None = None
159
+ has_shell: bool | None = None
160
+ has_file_operations: bool | None = None
161
+ has_execution_limits: bool | None = None
162
+ model_id: str | None = None
163
+ litellm_api_base: str | None = None
164
+ # Rendered through pyJsonStr + json.loads so JSON booleans/null parse at runtime.
165
+ litellm_additional_params: dict[str, Any] | None = None
166
+ # Bedrock model served through the Mantle OpenAI-compatible endpoint rather than Converse.
167
+ bedrock_mantle: bool | None = None
168
+ mantle_api_format: MantleApiFormat | None = None
169
+ # Proprietary OpenAI models use the /openai/v1 Mantle path + OpenAIResponsesModel.
170
+ mantle_proprietary: bool | None = None
171
+ model_temperature: float | None = None
172
+ model_top_p: float | None = None
173
+ model_max_tokens: int | None = None
174
+ # Generating from a harness export (suppresses placeholder tools).
175
+ is_export_harness: bool | None = None
176
+ system_prompt_text: str | None = None
177
+ actor_id: str | None = None
178
+
179
+
180
+ __all__ = [
181
+ "AgentRenderConfig",
182
+ "GatewayProviderRenderConfig",
183
+ "GitSkillRenderConfig",
184
+ "HeaderCredentialRenderConfig",
185
+ "IdentityProviderRenderConfig",
186
+ "InlineFunctionToolRenderConfig",
187
+ "MantleApiFormat",
188
+ "MemoryProviderRenderConfig",
189
+ "MountRenderConfig",
190
+ "RemoteMcpToolRenderConfig",
191
+ "TruncationStrategy",
192
+ ]