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,90 @@
1
+ """Knowledge bases (port of ``primitives/knowledge-base.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated, Final, Literal, get_args
6
+
7
+ from pydantic import Field
8
+
9
+ from ..._zod import StrictModel, array_checks, js_regex, unique_by, zstr
10
+
11
+ # 1-48 chars, starts with a letter, alphanumeric + dash + underscore.
12
+ KnowledgeBaseName = zstr(
13
+ min=1,
14
+ max=48,
15
+ min_msg="Name is required",
16
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_-]{0,47}$",
17
+ pattern_msg=(
18
+ "Must begin with a letter and contain only alphanumeric characters, dashes, and underscores (max 48 chars)"
19
+ ),
20
+ )
21
+
22
+ # AWS S3 bucket naming rules: 3-63 chars, lowercase/digit/dot/hyphen, start+end alnum, no '..',
23
+ # no reserved `xn--` / `sthree-` prefixes or `-s3alias` suffix.
24
+ _S3_BUCKET_NAME = js_regex(r"^(?!xn--)(?!sthree-)[a-z0-9](?!.*\.\.)[a-z0-9.-]{1,61}[a-z0-9](?<!-s3alias)$")
25
+ _S3_URI = js_regex(r"^s3:\/\/([^/]+)(?:\/.*)?$")
26
+
27
+
28
+ def _is_valid_s3_uri(value: str) -> bool:
29
+ m = _S3_URI.search(value)
30
+ return bool(m) and _S3_BUCKET_NAME.search(m.group(1)) is not None
31
+
32
+
33
+ class S3DataSource(StrictModel):
34
+ """S3 data source; ``uri`` must be ``s3://bucket[/prefix]`` with an AWS-compliant bucket name."""
35
+
36
+ type: Literal["S3"]
37
+ uri: zstr(
38
+ min=1,
39
+ refines=((_is_valid_s3_uri, "Must be a valid s3:// URI with an AWS-compliant bucket name"),),
40
+ )
41
+
42
+
43
+ # Wire-verbatim `connectorParameters.type` literals of the Bedrock managed-connector API.
44
+ ConnectorDataSourceType = Literal["WEB", "CONFLUENCE", "SHAREPOINT", "ONEDRIVE", "GOOGLEDRIVE"]
45
+ CONNECTOR_DATA_SOURCE_TYPES: Final[tuple[ConnectorDataSourceType, ...]] = get_args(ConnectorDataSourceType)
46
+
47
+
48
+ class ConnectorFileDataSource(StrictModel):
49
+ """Non-S3 data source whose connector parameters live in a project-relative JSON file."""
50
+
51
+ type: ConnectorDataSourceType
52
+ connector_config_file: zstr(min=1, min_msg="connectorConfigFile path is required")
53
+
54
+
55
+ DataSource = Annotated[S3DataSource | ConnectorFileDataSource, Field(discriminator="type")]
56
+
57
+ KnowledgeBaseType = Literal["AgentCoreKnowledgeBase"]
58
+
59
+
60
+ def _data_source_key(ds: S3DataSource | ConnectorFileDataSource) -> str:
61
+ return ds.uri if isinstance(ds, S3DataSource) else ds.connector_config_file
62
+
63
+
64
+ class KnowledgeBase(StrictModel):
65
+ """A knowledge base the CLI creates and owns, with its data sources and IAM role."""
66
+
67
+ type: KnowledgeBaseType = "AgentCoreKnowledgeBase"
68
+ name: KnowledgeBaseName
69
+ description: zstr(max=2048) | None = None
70
+ data_sources: Annotated[
71
+ list[DataSource],
72
+ array_checks(
73
+ min=1,
74
+ min_msg="At least one data source is required",
75
+ extra=[unique_by(_data_source_key, lambda k: f"Duplicate data source: {k}")],
76
+ ),
77
+ ]
78
+ gateway: zstr(min=1) | None = None
79
+
80
+
81
+ __all__ = [
82
+ "CONNECTOR_DATA_SOURCE_TYPES",
83
+ "ConnectorDataSourceType",
84
+ "ConnectorFileDataSource",
85
+ "DataSource",
86
+ "KnowledgeBase",
87
+ "KnowledgeBaseName",
88
+ "KnowledgeBaseType",
89
+ "S3DataSource",
90
+ ]
@@ -0,0 +1,113 @@
1
+ """Memory strategies (port of ``primitives/memory.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Final, Literal, get_args
6
+
7
+ from pydantic import model_validator
8
+
9
+ from ..._zod import Issue, ZodModel, raise_issues, zstr
10
+
11
+ # Maps to AWS MemoryStrategy types (SUMMARIZATION -> SummaryMemoryStrategy in CloudFormation).
12
+ MemoryStrategyType = Literal["SEMANTIC", "SUMMARIZATION", "USER_PREFERENCE", "EPISODIC"]
13
+ MEMORY_STRATEGY_TYPES: Final[tuple[MemoryStrategyType, ...]] = get_args(MemoryStrategyType)
14
+
15
+ # Default namespace templates per strategy type (match the CLI session.py templates).
16
+ DEFAULT_STRATEGY_NAMESPACE_TEMPLATES: Final[dict[MemoryStrategyType, list[str]]] = {
17
+ "SEMANTIC": ["/users/{actorId}/facts"],
18
+ "USER_PREFERENCE": ["/users/{actorId}/preferences"],
19
+ "SUMMARIZATION": ["/summaries/{actorId}/{sessionId}"],
20
+ "EPISODIC": ["/episodes/{actorId}/{sessionId}"],
21
+ }
22
+
23
+ # Deprecated: use DEFAULT_STRATEGY_NAMESPACE_TEMPLATES.
24
+ DEFAULT_STRATEGY_NAMESPACES: Final = DEFAULT_STRATEGY_NAMESPACE_TEMPLATES
25
+
26
+ # Reflection templates must be the same as or a prefix of episode templates.
27
+ DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES: Final[list[str]] = ["/episodes/{actorId}"]
28
+
29
+ # Deprecated: use DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES.
30
+ DEFAULT_EPISODIC_REFLECTION_NAMESPACES: Final = DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES
31
+
32
+ MemoryStrategyName = zstr(
33
+ min=1,
34
+ max=48,
35
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
36
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
37
+ )
38
+
39
+
40
+ class MemoryStrategy(ZodModel):
41
+ """A memory strategy with optional namespace scoping.
42
+
43
+ ``namespaces`` / ``reflectionNamespaces`` are deprecated aliases of the ``*Templates`` fields;
44
+ specifying both forms for the same concept is rejected.
45
+ """
46
+
47
+ type: MemoryStrategyType
48
+ name: MemoryStrategyName | None = None
49
+ description: str | None = None
50
+ namespace_templates: list[str] | None = None
51
+ namespaces: list[str] | None = None
52
+ reflection_namespace_templates: list[str] | None = None
53
+ reflection_namespaces: list[str] | None = None
54
+
55
+ @model_validator(mode="after")
56
+ def _refine(self) -> MemoryStrategy:
57
+ issues: list[Issue] = []
58
+ path = ("reflectionNamespaceTemplates",)
59
+ if self.namespaces and self.namespace_templates:
60
+ issues.append(
61
+ (
62
+ ("namespaceTemplates",),
63
+ (
64
+ "'namespaces' and 'namespaceTemplates' are mutually exclusive. "
65
+ "Prefer 'namespaceTemplates' ('namespaces' is deprecated)."
66
+ ),
67
+ )
68
+ )
69
+ if self.reflection_namespaces and self.reflection_namespace_templates:
70
+ issues.append(
71
+ (
72
+ path,
73
+ (
74
+ "'reflectionNamespaces' and 'reflectionNamespaceTemplates' are mutually exclusive. "
75
+ "Prefer 'reflectionNamespaceTemplates' ('reflectionNamespaces' is deprecated)."
76
+ ),
77
+ )
78
+ )
79
+ if self.type != "EPISODIC" and (
80
+ self.reflection_namespace_templates is not None or self.reflection_namespaces is not None
81
+ ):
82
+ issues.append((path, "'reflectionNamespaceTemplates' is only allowed on EPISODIC strategies"))
83
+ if self.type == "EPISODIC":
84
+ reflection = (
85
+ self.reflection_namespace_templates
86
+ if self.reflection_namespace_templates is not None
87
+ else self.reflection_namespaces
88
+ )
89
+ if not reflection:
90
+ issues.append((path, "EPISODIC strategy requires reflectionNamespaceTemplates"))
91
+ templates = self.namespace_templates if self.namespace_templates is not None else self.namespaces
92
+ if (
93
+ reflection is not None
94
+ and templates is not None
95
+ and not all(any(ns.startswith(ref) for ns in templates) for ref in reflection)
96
+ ):
97
+ issues.append(
98
+ (path, "Each reflectionNamespaceTemplate must be a prefix of at least one namespaceTemplate")
99
+ )
100
+ raise_issues(issues, self)
101
+ return self
102
+
103
+
104
+ __all__ = [
105
+ "DEFAULT_EPISODIC_REFLECTION_NAMESPACES",
106
+ "DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES",
107
+ "DEFAULT_STRATEGY_NAMESPACES",
108
+ "DEFAULT_STRATEGY_NAMESPACE_TEMPLATES",
109
+ "MEMORY_STRATEGY_TYPES",
110
+ "MemoryStrategy",
111
+ "MemoryStrategyName",
112
+ "MemoryStrategyType",
113
+ ]
@@ -0,0 +1,77 @@
1
+ """Online evaluation configs (port of ``primitives/online-eval-config.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated, Literal
6
+
7
+ from pydantic import model_validator
8
+
9
+ from ..._zod import Issue, ZBool, ZodModel, array_checks, raise_issues, znum, zstr
10
+ from .tags import Tags
11
+
12
+ OnlineEvalConfigName = zstr(
13
+ min=1,
14
+ max=48,
15
+ min_msg="Name is required",
16
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
17
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
18
+ )
19
+
20
+ ClusteringFrequency = Literal["DAILY", "WEEKLY", "MONTHLY"]
21
+
22
+
23
+ class ClusteringConfig(ZodModel):
24
+ frequencies: Annotated[list[ClusteringFrequency], array_checks(min=1, max=3)]
25
+
26
+
27
+ class OnlineEvalConfig(ZodModel):
28
+ name: OnlineEvalConfigName
29
+ # Agent name to monitor (must match a project agent). Required for managed AgentCore agents.
30
+ agent: zstr(min=1, min_msg="Agent name is required") | None = None
31
+ # Optional runtime endpoint name to scope monitoring to a specific endpoint.
32
+ endpoint: zstr(min=1) | None = None
33
+ # CloudWatch log group names for custom/3rd-party agents (1-5 entries).
34
+ log_group_names: Annotated[list[zstr(min=1)], array_checks(min=1, max=5)] | None = None
35
+ # Service names to filter traces for custom/3rd-party agents.
36
+ service_names: Annotated[list[zstr(min=1)], array_checks(min=1)] | None = None
37
+ # Evaluator names (custom), Builtin.* IDs, or evaluator ARNs.
38
+ evaluators: list[zstr(min=1)] | None = None
39
+ insights: list[zstr(min=1)] | None = None
40
+ clustering_config: ClusteringConfig | None = None
41
+ # Sampling rate as a percentage (0.01 to 100).
42
+ sampling_rate: znum(ge=0.01, le=100)
43
+ description: zstr(max=200) | None = None
44
+ enable_on_create: ZBool | None = None
45
+ tags: Tags | None = None
46
+
47
+ @model_validator(mode="after")
48
+ def _refine(self) -> OnlineEvalConfig:
49
+ issues: list[Issue] = []
50
+ has_agent = self.agent is not None
51
+ has_log_groups = self.log_group_names is not None
52
+ has_evaluators = bool(self.evaluators)
53
+ has_insights = bool(self.insights)
54
+ if not (has_agent or has_log_groups):
55
+ issues.append(((), 'Either "agent" or "logGroupNames" must be provided'))
56
+ if has_agent and has_log_groups:
57
+ issues.append(((), '"agent" and "logGroupNames" are mutually exclusive'))
58
+ if self.endpoint is not None and not has_agent:
59
+ issues.append(((), '"endpoint" requires "agent"'))
60
+ if self.service_names is not None and not has_log_groups:
61
+ issues.append(((), '"serviceNames" requires "logGroupNames"'))
62
+ if not (has_evaluators or has_insights):
63
+ issues.append(((), "At least one of evaluators or insights must be provided"))
64
+ if has_evaluators and has_insights:
65
+ issues.append(((), "Cannot have both evaluators and insights (preview constraint)"))
66
+ if self.clustering_config is not None and not has_insights:
67
+ issues.append(((), "clusteringConfig requires insights to be set"))
68
+ raise_issues(issues, self)
69
+ return self
70
+
71
+
72
+ __all__ = [
73
+ "ClusteringConfig",
74
+ "ClusteringFrequency",
75
+ "OnlineEvalConfig",
76
+ "OnlineEvalConfigName",
77
+ ]
@@ -0,0 +1,114 @@
1
+ """Payment managers and connectors (port of ``primitives/payment.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated, Final, Literal, get_args
6
+
7
+ from pydantic import Field, model_validator
8
+
9
+ from ..._zod import ZBool, ZodModel, raise_issues, zstr
10
+
11
+ PaymentProvider = Literal["CoinbaseCDP", "StripePrivy"]
12
+ PAYMENT_PROVIDERS: Final[tuple[PaymentProvider, ...]] = get_args(PaymentProvider)
13
+
14
+ # Documented payment-manager defaults, materialized on write so they appear in agentcore.json.
15
+ DEFAULT_AUTO_PAYMENT: Final = True
16
+ DEFAULT_SPEND_LIMIT: Final = "10.00"
17
+
18
+ # The CreatePaymentManager API name pattern allows no underscores (unlike connectors).
19
+ PaymentManagerName = zstr(
20
+ min=1,
21
+ max=48,
22
+ min_msg="Payment manager name is required",
23
+ pattern=r"^[a-zA-Z][a-zA-Z0-9]{0,47}$",
24
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters (max 48 chars)",
25
+ )
26
+
27
+ PaymentConnectorName = zstr(
28
+ min=1,
29
+ max=48,
30
+ min_msg="Payment connector name is required",
31
+ pattern=r"^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
32
+ pattern_msg="Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)",
33
+ )
34
+
35
+ PaymentProvisionMode = Literal["MANUAL", "QUICK_CREATE"]
36
+ PAYMENT_PROVISION_MODES: Final[tuple[PaymentProvisionMode, ...]] = get_args(PaymentProvisionMode)
37
+
38
+
39
+ class ManualPaymentConnector(ZodModel):
40
+ name: PaymentConnectorName
41
+ provider: PaymentProvider = "CoinbaseCDP"
42
+ provision_mode: Literal["MANUAL"] | None = None
43
+ credential_name: zstr(min=1)
44
+
45
+
46
+ class QuickCreatePaymentConnector(ZodModel):
47
+ name: PaymentConnectorName
48
+ provider: Literal["CoinbaseCDP"]
49
+ provision_mode: Literal["QUICK_CREATE"]
50
+ # z.never().optional(): must be absent.
51
+ credential_name: None = None
52
+
53
+
54
+ PaymentConnector = Annotated[QuickCreatePaymentConnector | ManualPaymentConnector, Field(union_mode="left_to_right")]
55
+
56
+ PaymentAuthorizerType = Literal["AWS_IAM", "CUSTOM_JWT"]
57
+ PAYMENT_AUTHORIZER_TYPES: Final[tuple[PaymentAuthorizerType, ...]] = get_args(PaymentAuthorizerType)
58
+
59
+
60
+ class PaymentCustomJwtAuthorizer(ZodModel):
61
+ discovery_url: zstr(url=True)
62
+ allowed_clients: list[str] | None = None
63
+ allowed_audience: list[str] | None = None
64
+ allowed_scopes: list[str] | None = None
65
+
66
+
67
+ class PaymentAuthorizerConfiguration(ZodModel):
68
+ custom_jwt_authorizer: Annotated[PaymentCustomJwtAuthorizer, Field(alias="customJWTAuthorizer")]
69
+
70
+
71
+ class PaymentManager(ZodModel):
72
+ name: PaymentManagerName
73
+ authorizer_type: PaymentAuthorizerType = "AWS_IAM"
74
+ authorizer_configuration: PaymentAuthorizerConfiguration | None = None
75
+ connectors: list[PaymentConnector] = Field(default_factory=list)
76
+ description: str | None = None
77
+ auto_payment: ZBool = DEFAULT_AUTO_PAYMENT
78
+ default_spend_limit: str = DEFAULT_SPEND_LIMIT
79
+ payment_tool_allowlist: list[str] | None = None
80
+ network_preferences: list[str] | None = None
81
+
82
+ @model_validator(mode="after")
83
+ def _refine(self) -> PaymentManager:
84
+ if self.authorizer_type == "CUSTOM_JWT" and self.authorizer_configuration is None:
85
+ raise_issues(
86
+ [
87
+ (
88
+ ("authorizerConfiguration",),
89
+ "authorizerConfiguration with customJWTAuthorizer is required when authorizerType is CUSTOM_JWT",
90
+ )
91
+ ],
92
+ self,
93
+ )
94
+ return self
95
+
96
+
97
+ __all__ = [
98
+ "DEFAULT_AUTO_PAYMENT",
99
+ "DEFAULT_SPEND_LIMIT",
100
+ "PAYMENT_AUTHORIZER_TYPES",
101
+ "PAYMENT_PROVIDERS",
102
+ "PAYMENT_PROVISION_MODES",
103
+ "ManualPaymentConnector",
104
+ "PaymentAuthorizerConfiguration",
105
+ "PaymentAuthorizerType",
106
+ "PaymentConnector",
107
+ "PaymentConnectorName",
108
+ "PaymentCustomJwtAuthorizer",
109
+ "PaymentManager",
110
+ "PaymentManagerName",
111
+ "PaymentProvider",
112
+ "PaymentProvisionMode",
113
+ "QuickCreatePaymentConnector",
114
+ ]
@@ -0,0 +1,83 @@
1
+ """Policy engines and Cedar policies (port of ``primitives/policy.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated, Final, Literal, get_args
6
+
7
+ from pydantic import Field
8
+
9
+ from ..._zod import ZodModel, array_checks, unique_by, zstr
10
+ from .tags import Tags
11
+
12
+ _NAME_PATTERN = r"^[A-Za-z][A-Za-z0-9_]{0,47}$"
13
+ _NAME_PATTERN_MSG = "Must begin with a letter and contain only alphanumeric characters and underscores (max 48 chars)"
14
+
15
+ PolicyEngineName = zstr(
16
+ min=1,
17
+ max=48,
18
+ min_msg="Policy engine name is required",
19
+ max_msg="Policy engine name must be 48 characters or less",
20
+ pattern=_NAME_PATTERN,
21
+ pattern_msg=_NAME_PATTERN_MSG,
22
+ )
23
+
24
+ PolicyName = zstr(
25
+ min=1,
26
+ max=48,
27
+ min_msg="Policy name is required",
28
+ max_msg="Policy name must be 48 characters or less",
29
+ pattern=_NAME_PATTERN,
30
+ pattern_msg=_NAME_PATTERN_MSG,
31
+ )
32
+
33
+ ValidationMode = Literal["FAIL_ON_ANY_FINDINGS", "IGNORE_ALL_FINDINGS"]
34
+ VALIDATION_MODES: Final[tuple[ValidationMode, ...]] = get_args(ValidationMode)
35
+
36
+ AuthorizationPhase = Literal["INITIATE", "RETURN_OUTPUT"]
37
+ AUTHORIZATION_PHASES: Final[tuple[AuthorizationPhase, ...]] = get_args(AuthorizationPhase)
38
+ DEFAULT_AUTHORIZATION_PHASE: Final[AuthorizationPhase] = "INITIATE"
39
+
40
+ EnforcementMode = Literal["ACTIVE", "LOG_ONLY"]
41
+ ENFORCEMENT_MODES: Final[tuple[EnforcementMode, ...]] = get_args(EnforcementMode)
42
+ DEFAULT_ENFORCEMENT_MODE: Final[EnforcementMode] = "ACTIVE"
43
+
44
+
45
+ class Policy(ZodModel):
46
+ name: PolicyName
47
+ description: zstr(min=1, max=4096) | None = None
48
+ statement: zstr(min=1, min_msg="Cedar policy statement is required")
49
+ source_file: str | None = None
50
+ validation_mode: ValidationMode = "FAIL_ON_ANY_FINDINGS"
51
+ enforcement_mode: EnforcementMode = "ACTIVE"
52
+ # Upstream is `AuthorizationPhaseSchema.optional()` where the inner schema carries
53
+ # `.default('INITIATE')`; Zod 4 applies inner defaults through `.optional()`, so an absent
54
+ # value materializes as INITIATE.
55
+ authorization_phase: AuthorizationPhase = "INITIATE"
56
+
57
+
58
+ class PolicyEngine(ZodModel):
59
+ name: PolicyEngineName
60
+ description: zstr(min=1, max=4096) | None = None
61
+ encryption_key_arn: str | None = None
62
+ tags: Tags | None = None
63
+ policies: Annotated[
64
+ list[Policy],
65
+ array_checks(extra=[unique_by(lambda p: p.name, lambda n: f"Duplicate policy name: {n}")]),
66
+ Field(default_factory=list),
67
+ ]
68
+
69
+
70
+ __all__ = [
71
+ "AUTHORIZATION_PHASES",
72
+ "DEFAULT_AUTHORIZATION_PHASE",
73
+ "DEFAULT_ENFORCEMENT_MODE",
74
+ "ENFORCEMENT_MODES",
75
+ "VALIDATION_MODES",
76
+ "AuthorizationPhase",
77
+ "EnforcementMode",
78
+ "Policy",
79
+ "PolicyEngine",
80
+ "PolicyEngineName",
81
+ "PolicyName",
82
+ "ValidationMode",
83
+ ]
@@ -0,0 +1,50 @@
1
+ """Resource tags with AWS tagging constraints (port of ``primitives/tags.ts``)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Annotated
6
+
7
+ from pydantic import AfterValidator
8
+
9
+ from ..._zod import JS_WHITESPACE, is_letter_or_number, js_trim, raise_issues, zstr
10
+
11
+ _TAG_SYMBOLS = "_.:/=+-@"
12
+
13
+
14
+ def _has_valid_tag_chars(value: str) -> bool:
15
+ # /^[\p{L}\p{N}\s_.:/=+\-@]*$/u
16
+ return all(is_letter_or_number(ch) or ch in JS_WHITESPACE or ch in _TAG_SYMBOLS for ch in value)
17
+
18
+
19
+ TagKey = zstr(
20
+ min=1,
21
+ max=128,
22
+ min_msg="Tag key is required",
23
+ max_msg="Tag key must be 128 characters or less",
24
+ refines=(
25
+ (_has_valid_tag_chars, "Tag key contains invalid characters"),
26
+ (lambda k: len(js_trim(k)) > 0, "Tag key must contain at least one non-whitespace character"),
27
+ (lambda k: not k.startswith("aws:"), 'Tag keys starting with "aws:" are reserved'),
28
+ ),
29
+ )
30
+
31
+ TagValue = zstr(
32
+ max=256,
33
+ max_msg="Tag value must be 256 characters or less",
34
+ refines=((_has_valid_tag_chars, "Tag value contains invalid characters"),),
35
+ )
36
+
37
+
38
+ def _max_tags(tags: dict[str, str]) -> dict[str, str]:
39
+ if len(tags) > 50:
40
+ raise_issues([((), "Maximum 50 tags per resource")], tags)
41
+ return tags
42
+
43
+
44
+ Tags = Annotated[dict[TagKey, TagValue], AfterValidator(_max_tags)]
45
+
46
+ __all__ = [
47
+ "TagKey",
48
+ "TagValue",
49
+ "Tags",
50
+ ]
@@ -0,0 +1,5 @@
1
+ """Port of ``src/schema/schemas/zod-util.ts``."""
2
+
3
+ from .._zod import unique_by
4
+
5
+ __all__ = ["unique_by"]
@@ -0,0 +1,3 @@
1
+ from .path import PATH_TYPES, DirectoryPath, FilePath, PathType
2
+
3
+ __all__ = ["PATH_TYPES", "DirectoryPath", "FilePath", "PathType"]
@@ -0,0 +1,16 @@
1
+ """Path type markers for schema fields (port of ``src/schema/types/path.ts``).
2
+
3
+ These indicate whether a string field represents a file path or a directory path, so UIs can
4
+ offer the right kind of path completion.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from typing import Final, Literal, NewType, get_args
10
+
11
+ PathType = Literal["file", "directory"]
12
+ PATH_TYPES: Final[tuple[PathType, ...]] = get_args(PathType)
13
+
14
+ # Branded string types (TS `string & { __brand }`); plain str at runtime.
15
+ FilePath = NewType("FilePath", str)
16
+ DirectoryPath = NewType("DirectoryPath", str)
@@ -0,0 +1,115 @@
1
+ """Template rendering (port of upstream ``src/cli/templates``).
2
+
3
+ Template assets live in ``<package>/assets`` (a byte-for-byte copy of upstream ``src/assets``) and are
4
+ rendered with Handlebars semantics identical to handlebars.js (see ``_handlebars``).
5
+
6
+ Typical use::
7
+
8
+ config = AgentRenderConfig(name="MyAgent", sdk_framework="Strands", protocol="HTTP", ...)
9
+ create_renderer(config).render(RendererContext(output_dir=project_root)) # -> app/MyAgent/
10
+ CDKRenderer().render(CDKRendererContext(project_root=project_root)) # -> agentcore/cdk/
11
+ """
12
+
13
+ from agentcore.templates.base_renderer import BaseRenderer, RendererContext
14
+ from agentcore.templates.cdk_renderer import CDKRenderer, CDKRendererContext, CreateLogger
15
+ from agentcore.templates.evaluator_renderer import (
16
+ ThirdPartyEvaluatorTemplateData,
17
+ render_code_based_evaluator_template,
18
+ render_third_party_evaluator_template,
19
+ )
20
+ from agentcore.templates.gateway_target_renderer import (
21
+ LAMBDA_TEMPLATE_TOOLS,
22
+ ComputeHost,
23
+ get_template_tool_definitions,
24
+ render_gateway_target_template,
25
+ )
26
+ from agentcore.templates.profiles import (
27
+ BMA_TEMPLATE_PROFILE,
28
+ TemplateProfile,
29
+ TemplateRuntimeProfile,
30
+ apply_template_option_defaults,
31
+ get_template_profile,
32
+ template_needs_python_venv,
33
+ template_uses_model,
34
+ validate_template_options,
35
+ )
36
+ from agentcore.templates.render import (
37
+ SafeString,
38
+ compile_template,
39
+ copy_and_render_dir,
40
+ copy_dir,
41
+ render_template,
42
+ resolve_template_name,
43
+ )
44
+ from agentcore.templates.renderers import (
45
+ BmaRenderer,
46
+ GoogleADKRenderer,
47
+ LangGraphRenderer,
48
+ McpRenderer,
49
+ OpenAIAgentsRenderer,
50
+ StrandsRenderer,
51
+ VercelAIRenderer,
52
+ create_renderer,
53
+ )
54
+ from agentcore.templates.schema_assets import LLM_CONTEXT_FILES
55
+ from agentcore.templates.template_root import TEMPLATE_ROOT, get_template_path
56
+ from agentcore.templates.types import (
57
+ AgentRenderConfig,
58
+ GatewayProviderRenderConfig,
59
+ GitSkillRenderConfig,
60
+ HeaderCredentialRenderConfig,
61
+ IdentityProviderRenderConfig,
62
+ InlineFunctionToolRenderConfig,
63
+ MemoryProviderRenderConfig,
64
+ MountRenderConfig,
65
+ RemoteMcpToolRenderConfig,
66
+ )
67
+
68
+ __all__ = [
69
+ "BMA_TEMPLATE_PROFILE",
70
+ "LAMBDA_TEMPLATE_TOOLS",
71
+ "LLM_CONTEXT_FILES",
72
+ "TEMPLATE_ROOT",
73
+ "AgentRenderConfig",
74
+ "BaseRenderer",
75
+ "BmaRenderer",
76
+ "CDKRenderer",
77
+ "CDKRendererContext",
78
+ "ComputeHost",
79
+ "CreateLogger",
80
+ "GatewayProviderRenderConfig",
81
+ "GitSkillRenderConfig",
82
+ "GoogleADKRenderer",
83
+ "HeaderCredentialRenderConfig",
84
+ "IdentityProviderRenderConfig",
85
+ "InlineFunctionToolRenderConfig",
86
+ "LangGraphRenderer",
87
+ "McpRenderer",
88
+ "MemoryProviderRenderConfig",
89
+ "MountRenderConfig",
90
+ "OpenAIAgentsRenderer",
91
+ "RemoteMcpToolRenderConfig",
92
+ "RendererContext",
93
+ "SafeString",
94
+ "StrandsRenderer",
95
+ "TemplateProfile",
96
+ "TemplateRuntimeProfile",
97
+ "ThirdPartyEvaluatorTemplateData",
98
+ "VercelAIRenderer",
99
+ "apply_template_option_defaults",
100
+ "compile_template",
101
+ "copy_and_render_dir",
102
+ "copy_dir",
103
+ "create_renderer",
104
+ "get_template_path",
105
+ "get_template_profile",
106
+ "get_template_tool_definitions",
107
+ "render_code_based_evaluator_template",
108
+ "render_gateway_target_template",
109
+ "render_template",
110
+ "render_third_party_evaluator_template",
111
+ "resolve_template_name",
112
+ "template_needs_python_venv",
113
+ "template_uses_model",
114
+ "validate_template_options",
115
+ ]