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.
- agentcore/__init__.py +1 -0
- agentcore/agent_inspector/NOTICE +9 -0
- agentcore/agent_inspector/favicon.svg +60 -0
- agentcore/agent_inspector/index.css +1 -0
- agentcore/agent_inspector/index.html +14 -0
- agentcore/agent_inspector/index.js +289 -0
- agentcore/assets/AGENTS.md +60 -0
- agentcore/assets/README.md +108 -0
- agentcore/assets/agents/AGENTS.md +218 -0
- agentcore/assets/cdk/.prettierrc +8 -0
- agentcore/assets/cdk/README.md +26 -0
- agentcore/assets/cdk/bin/cdk.ts +216 -0
- agentcore/assets/cdk/cdk.json +88 -0
- agentcore/assets/cdk/gitignore.template +9 -0
- agentcore/assets/cdk/jest.config.js +9 -0
- agentcore/assets/cdk/lib/cdk-stack.ts +291 -0
- agentcore/assets/cdk/npmignore.template +6 -0
- agentcore/assets/cdk/package.json +30 -0
- agentcore/assets/cdk/test/cdk.test.ts +31 -0
- agentcore/assets/cdk/tsconfig.json +28 -0
- agentcore/assets/container/python/Dockerfile +47 -0
- agentcore/assets/container/python/dockerignore.template +27 -0
- agentcore/assets/container/typescript/Dockerfile +25 -0
- agentcore/assets/container/typescript/dockerignore.template +24 -0
- agentcore/assets/datasets/predefined-v1.jsonl +3 -0
- agentcore/assets/datasets/simulated-v1.jsonl +3 -0
- agentcore/assets/evaluators/autoevals-lambda/execution-role-policy.json +15 -0
- agentcore/assets/evaluators/autoevals-lambda/lambda_function.py +37 -0
- agentcore/assets/evaluators/autoevals-lambda/pyproject.toml +22 -0
- agentcore/assets/evaluators/deepeval-lambda/execution-role-policy.json +15 -0
- agentcore/assets/evaluators/deepeval-lambda/lambda_function.py +29 -0
- agentcore/assets/evaluators/deepeval-lambda/pyproject.toml +19 -0
- agentcore/assets/evaluators/python-lambda/execution-role-policy.json +10 -0
- agentcore/assets/evaluators/python-lambda/lambda_function.py +19 -0
- agentcore/assets/evaluators/python-lambda/pyproject.toml +15 -0
- agentcore/assets/harness/invoke.py.template +74 -0
- agentcore/assets/mcp/python/README.md +27 -0
- agentcore/assets/mcp/python/pyproject.toml +22 -0
- agentcore/assets/mcp/python/server.py +117 -0
- agentcore/assets/mcp/python-lambda/README.md +22 -0
- agentcore/assets/mcp/python-lambda/handler.py +144 -0
- agentcore/assets/mcp/python-lambda/pyproject.toml +15 -0
- agentcore/assets/python/a2a/googleadk/base/README.md +22 -0
- agentcore/assets/python/a2a/googleadk/base/gitignore.template +41 -0
- agentcore/assets/python/a2a/googleadk/base/main.py +124 -0
- agentcore/assets/python/a2a/googleadk/base/model/__init__.py +1 -0
- agentcore/assets/python/a2a/googleadk/base/model/load.py +41 -0
- agentcore/assets/python/a2a/googleadk/base/pyproject.toml +22 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/README.md +22 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/gitignore.template +41 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/main.py +144 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/model/__init__.py +1 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/model/load.py +123 -0
- agentcore/assets/python/a2a/langchain_langgraph/base/pyproject.toml +26 -0
- agentcore/assets/python/a2a/strands/base/README.md +22 -0
- agentcore/assets/python/a2a/strands/base/gitignore.template +41 -0
- agentcore/assets/python/a2a/strands/base/main.py +113 -0
- agentcore/assets/python/a2a/strands/base/model/__init__.py +1 -0
- agentcore/assets/python/a2a/strands/base/model/load.py +123 -0
- agentcore/assets/python/a2a/strands/base/pyproject.toml +23 -0
- agentcore/assets/python/a2a/strands/capabilities/memory/__init__.py +1 -0
- agentcore/assets/python/a2a/strands/capabilities/memory/session.py +46 -0
- agentcore/assets/python/agui/googleadk/base/README.md +30 -0
- agentcore/assets/python/agui/googleadk/base/gitignore.template +41 -0
- agentcore/assets/python/agui/googleadk/base/main.py +91 -0
- agentcore/assets/python/agui/googleadk/base/model/__init__.py +1 -0
- agentcore/assets/python/agui/googleadk/base/model/load.py +41 -0
- agentcore/assets/python/agui/googleadk/base/pyproject.toml +25 -0
- agentcore/assets/python/agui/langchain_langgraph/base/README.md +22 -0
- agentcore/assets/python/agui/langchain_langgraph/base/gitignore.template +41 -0
- agentcore/assets/python/agui/langchain_langgraph/base/main.py +130 -0
- agentcore/assets/python/agui/langchain_langgraph/base/model/__init__.py +1 -0
- agentcore/assets/python/agui/langchain_langgraph/base/model/load.py +123 -0
- agentcore/assets/python/agui/langchain_langgraph/base/pyproject.toml +31 -0
- agentcore/assets/python/agui/strands/base/README.md +22 -0
- agentcore/assets/python/agui/strands/base/gitignore.template +41 -0
- agentcore/assets/python/agui/strands/base/main.py +105 -0
- agentcore/assets/python/agui/strands/base/model/__init__.py +1 -0
- agentcore/assets/python/agui/strands/base/model/load.py +123 -0
- agentcore/assets/python/agui/strands/base/pyproject.toml +27 -0
- agentcore/assets/python/agui/strands/capabilities/memory/__init__.py +1 -0
- agentcore/assets/python/agui/strands/capabilities/memory/session.py +46 -0
- agentcore/assets/python/http/autogen/base/README.md +45 -0
- agentcore/assets/python/http/autogen/base/gitignore.template +41 -0
- agentcore/assets/python/http/autogen/base/main.py +145 -0
- agentcore/assets/python/http/autogen/base/mcp_client/__init__.py +1 -0
- agentcore/assets/python/http/autogen/base/mcp_client/client.py +28 -0
- agentcore/assets/python/http/autogen/base/model/__init__.py +1 -0
- agentcore/assets/python/http/autogen/base/model/load.py +136 -0
- agentcore/assets/python/http/autogen/base/pyproject.toml +34 -0
- agentcore/assets/python/http/bma/base/Dockerfile +41 -0
- agentcore/assets/python/http/bma/base/README.md +178 -0
- agentcore/assets/python/http/bma/base/client.py +200 -0
- agentcore/assets/python/http/bma/base/lifecycle/server.py +641 -0
- agentcore/assets/python/http/bma/base/otel/collector.yaml +69 -0
- agentcore/assets/python/http/bma/base/plugins/acr-report/.codex-plugin/plugin.json +6 -0
- agentcore/assets/python/http/bma/base/plugins/acr-report/skills/acr-report/SKILL.md +16 -0
- agentcore/assets/python/http/bma/base/policies/bma-acr-policy.json +11 -0
- agentcore/assets/python/http/bma/base/policies/bma-session-policy.json +35 -0
- agentcore/assets/python/http/bma/base/policies/bma-session-trust.json +20 -0
- agentcore/assets/python/http/bma/base/pyproject.toml +21 -0
- agentcore/assets/python/http/googleadk/base/README.md +45 -0
- agentcore/assets/python/http/googleadk/base/gitignore.template +41 -0
- agentcore/assets/python/http/googleadk/base/main.py +207 -0
- agentcore/assets/python/http/googleadk/base/mcp_client/__init__.py +1 -0
- agentcore/assets/python/http/googleadk/base/mcp_client/client.py +75 -0
- agentcore/assets/python/http/googleadk/base/model/__init__.py +1 -0
- agentcore/assets/python/http/googleadk/base/model/load.py +41 -0
- agentcore/assets/python/http/googleadk/base/pyproject.toml +24 -0
- agentcore/assets/python/http/langchain_langgraph/base/README.md +45 -0
- agentcore/assets/python/http/langchain_langgraph/base/gitignore.template +41 -0
- agentcore/assets/python/http/langchain_langgraph/base/main.py +227 -0
- agentcore/assets/python/http/langchain_langgraph/base/mcp_client/__init__.py +1 -0
- agentcore/assets/python/http/langchain_langgraph/base/mcp_client/client.py +79 -0
- agentcore/assets/python/http/langchain_langgraph/base/model/__init__.py +1 -0
- agentcore/assets/python/http/langchain_langgraph/base/model/load.py +123 -0
- agentcore/assets/python/http/langchain_langgraph/base/pyproject.toml +38 -0
- agentcore/assets/python/http/openaiagents/base/README.md +45 -0
- agentcore/assets/python/http/openaiagents/base/gitignore.template +41 -0
- agentcore/assets/python/http/openaiagents/base/main.py +200 -0
- agentcore/assets/python/http/openaiagents/base/mcp_client/__init__.py +1 -0
- agentcore/assets/python/http/openaiagents/base/mcp_client/client.py +74 -0
- agentcore/assets/python/http/openaiagents/base/model/__init__.py +1 -0
- agentcore/assets/python/http/openaiagents/base/model/load.py +37 -0
- agentcore/assets/python/http/openaiagents/base/pyproject.toml +21 -0
- agentcore/assets/python/http/strands/base/README.md +46 -0
- agentcore/assets/python/http/strands/base/gitignore.template +41 -0
- agentcore/assets/python/http/strands/base/main.py +714 -0
- agentcore/assets/python/http/strands/base/mcp_client/__init__.py +1 -0
- agentcore/assets/python/http/strands/base/mcp_client/client.py +116 -0
- agentcore/assets/python/http/strands/base/model/__init__.py +1 -0
- agentcore/assets/python/http/strands/base/model/load.py +239 -0
- agentcore/assets/python/http/strands/base/model/mantle_compat.py +21 -0
- agentcore/assets/python/http/strands/base/pyproject.toml +31 -0
- agentcore/assets/python/http/strands/base/skills/fetcher.py +279 -0
- agentcore/assets/python/http/strands/capabilities/execution-limits/hooks/execution_limits.py +54 -0
- agentcore/assets/python/http/strands/capabilities/memory/__init__.py +1 -0
- agentcore/assets/python/http/strands/capabilities/memory/session.py +47 -0
- agentcore/assets/python/http/strands/capabilities/payments/__init__.py +4 -0
- agentcore/assets/python/http/strands/capabilities/payments/payments.py +142 -0
- agentcore/assets/python/mcp/standalone/base/README.md +36 -0
- agentcore/assets/python/mcp/standalone/base/gitignore.template +41 -0
- agentcore/assets/python/mcp/standalone/base/main.py +83 -0
- agentcore/assets/python/mcp/standalone/base/pyproject.toml +16 -0
- agentcore/assets/typescript/.gitkeep +0 -0
- agentcore/assets/typescript/http/strands/base/README.md +42 -0
- agentcore/assets/typescript/http/strands/base/gitignore.template +22 -0
- agentcore/assets/typescript/http/strands/base/main.ts +149 -0
- agentcore/assets/typescript/http/strands/base/mcp_client/client.ts +11 -0
- agentcore/assets/typescript/http/strands/base/model/load.ts +102 -0
- agentcore/assets/typescript/http/strands/base/package.json +38 -0
- agentcore/assets/typescript/http/strands/base/tsconfig.json +19 -0
- agentcore/assets/typescript/http/strands/capabilities/memory/memory.ts +52 -0
- agentcore/assets/typescript/http/vercelai/base/README.md +42 -0
- agentcore/assets/typescript/http/vercelai/base/gitignore.template +22 -0
- agentcore/assets/typescript/http/vercelai/base/main.ts +70 -0
- agentcore/assets/typescript/http/vercelai/base/model/load.ts +121 -0
- agentcore/assets/typescript/http/vercelai/base/package.json +35 -0
- agentcore/assets/typescript/http/vercelai/base/tsconfig.json +19 -0
- agentcore/aws/__init__.py +263 -0
- agentcore/aws/_aws_errors.py +72 -0
- agentcore/aws/_http.py +176 -0
- agentcore/aws/_util.py +37 -0
- agentcore/aws/account.py +165 -0
- agentcore/aws/agentcore.py +971 -0
- agentcore/aws/agentcore_ab_tests.py +230 -0
- agentcore/aws/agentcore_batch_evaluation.py +227 -0
- agentcore/aws/agentcore_config_bundles.py +220 -0
- agentcore/aws/agentcore_control.py +994 -0
- agentcore/aws/agentcore_datasets.py +222 -0
- agentcore/aws/agentcore_harness.py +330 -0
- agentcore/aws/agentcore_payments.py +430 -0
- agentcore/aws/agentcore_recommendation.py +140 -0
- agentcore/aws/agui_parser.py +131 -0
- agentcore/aws/agui_types.py +342 -0
- agentcore/aws/api_client.py +87 -0
- agentcore/aws/arn.py +18 -0
- agentcore/aws/aws_context.py +23 -0
- agentcore/aws/bedrock.py +44 -0
- agentcore/aws/bedrock_agent.py +129 -0
- agentcore/aws/bedrock_import.py +252 -0
- agentcore/aws/bedrock_import_types.py +111 -0
- agentcore/aws/cloudwatch.py +136 -0
- agentcore/aws/connect_shell.py +266 -0
- agentcore/aws/iam.py +41 -0
- agentcore/aws/partition.py +58 -0
- agentcore/aws/policy_generation.py +116 -0
- agentcore/aws/region.py +54 -0
- agentcore/aws/retry.py +27 -0
- agentcore/aws/shell_framer.py +136 -0
- agentcore/aws/stage_endpoint.py +39 -0
- agentcore/aws/target_region.py +54 -0
- agentcore/aws/transaction_search.py +97 -0
- agentcore/cdk/__init__.py +10 -0
- agentcore/cdk/constants.py +13 -0
- agentcore/cdk/local_cdk_project.py +48 -0
- agentcore/cdk/toolkit.py +706 -0
- agentcore/cli/__init__.py +0 -0
- agentcore/cli/commands/__init__.py +0 -0
- agentcore/cli/commands/_jobs_common.py +39 -0
- agentcore/cli/commands/_run_wizards.py +639 -0
- agentcore/cli/commands/add/__init__.py +37 -0
- agentcore/cli/commands/add/_commander.py +52 -0
- agentcore/cli/commands/add/_common.py +47 -0
- agentcore/cli/commands/add/agent_wizard.py +528 -0
- agentcore/cli/commands/add/auth_options.py +154 -0
- agentcore/cli/commands/add/skill_action.py +105 -0
- agentcore/cli/commands/add/skill_command.py +87 -0
- agentcore/cli/commands/add/tool_action.py +160 -0
- agentcore/cli/commands/add/tool_command.py +117 -0
- agentcore/cli/commands/add/validate.py +333 -0
- agentcore/cli/commands/capacity_provider/__init__.py +86 -0
- agentcore/cli/commands/capacity_provider/action.py +114 -0
- agentcore/cli/commands/capacity_provider/constants.py +22 -0
- agentcore/cli/commands/config.py +91 -0
- agentcore/cli/commands/config_bundle.py +251 -0
- agentcore/cli/commands/create/__init__.py +643 -0
- agentcore/cli/commands/create/action.py +406 -0
- agentcore/cli/commands/create/dependencies.py +91 -0
- agentcore/cli/commands/create/harness_validate.py +82 -0
- agentcore/cli/commands/create/validate.py +195 -0
- agentcore/cli/commands/create/wizard.py +127 -0
- agentcore/cli/commands/dataset.py +119 -0
- agentcore/cli/commands/deploy/__init__.py +31 -0
- agentcore/cli/commands/deploy/_guards.py +25 -0
- agentcore/cli/commands/deploy/actions.py +840 -0
- agentcore/cli/commands/deploy/command.py +349 -0
- agentcore/cli/commands/deploy/progress.py +115 -0
- agentcore/cli/commands/deploy/types.py +68 -0
- agentcore/cli/commands/deploy/utils.py +43 -0
- agentcore/cli/commands/deploy/validate.py +21 -0
- agentcore/cli/commands/dev/__init__.py +5 -0
- agentcore/cli/commands/dev/_deps.py +50 -0
- agentcore/cli/commands/dev/browser_mode.py +270 -0
- agentcore/cli/commands/dev/command.py +450 -0
- agentcore/cli/commands/dev/terminal_mode.py +379 -0
- agentcore/cli/commands/exec/__init__.py +29 -0
- agentcore/cli/commands/exec/action.py +442 -0
- agentcore/cli/commands/exec/command.py +206 -0
- agentcore/cli/commands/exec/types.py +35 -0
- agentcore/cli/commands/export/__init__.py +114 -0
- agentcore/cli/commands/export/constants.py +21 -0
- agentcore/cli/commands/export/fetch_harness_spec.py +234 -0
- agentcore/cli/commands/export/harness_action.py +385 -0
- agentcore/cli/commands/export/harness_mapper.py +868 -0
- agentcore/cli/commands/export/harness_resolver.py +95 -0
- agentcore/cli/commands/export/types.py +90 -0
- agentcore/cli/commands/export/wizard.py +97 -0
- agentcore/cli/commands/feedback/__init__.py +69 -0
- agentcore/cli/commands/feedback/action.py +30 -0
- agentcore/cli/commands/feedback/consent_prompt.py +35 -0
- agentcore/cli/commands/feedback/wizard.py +49 -0
- agentcore/cli/commands/fetch/__init__.py +69 -0
- agentcore/cli/commands/fetch/action.py +62 -0
- agentcore/cli/commands/help.py +65 -0
- agentcore/cli/commands/import_/__init__.py +167 -0
- agentcore/cli/commands/import_/_js.py +72 -0
- agentcore/cli/commands/import_/actions.py +457 -0
- agentcore/cli/commands/import_/constants.py +45 -0
- agentcore/cli/commands/import_/import_evaluator.py +140 -0
- agentcore/cli/commands/import_/import_gateway.py +520 -0
- agentcore/cli/commands/import_/import_memory.py +128 -0
- agentcore/cli/commands/import_/import_online_eval.py +165 -0
- agentcore/cli/commands/import_/import_pipeline.py +145 -0
- agentcore/cli/commands/import_/import_runtime.py +214 -0
- agentcore/cli/commands/import_/import_utils.py +410 -0
- agentcore/cli/commands/import_/phase1_update.py +110 -0
- agentcore/cli/commands/import_/phase2_import.py +206 -0
- agentcore/cli/commands/import_/resource_import.py +228 -0
- agentcore/cli/commands/import_/template_utils.py +148 -0
- agentcore/cli/commands/import_/types.py +150 -0
- agentcore/cli/commands/import_/yaml_parser.py +265 -0
- agentcore/cli/commands/init.py +196 -0
- agentcore/cli/commands/invoke/__init__.py +32 -0
- agentcore/cli/commands/invoke/_deps.py +73 -0
- agentcore/cli/commands/invoke/action.py +840 -0
- agentcore/cli/commands/invoke/command.py +490 -0
- agentcore/cli/commands/invoke/constants.py +40 -0
- agentcore/cli/commands/invoke/guards.py +23 -0
- agentcore/cli/commands/invoke/interactive.py +604 -0
- agentcore/cli/commands/invoke/resolve.py +149 -0
- agentcore/cli/commands/invoke/resolve_prompt.py +60 -0
- agentcore/cli/commands/invoke/types.py +61 -0
- agentcore/cli/commands/invoke/validate.py +33 -0
- agentcore/cli/commands/job_actions.py +239 -0
- agentcore/cli/commands/job_history.py +380 -0
- agentcore/cli/commands/logs/__init__.py +53 -0
- agentcore/cli/commands/logs/action.py +159 -0
- agentcore/cli/commands/logs/filter_pattern.py +17 -0
- agentcore/cli/commands/logs/guards.py +51 -0
- agentcore/cli/commands/logs_evals.py +42 -0
- agentcore/cli/commands/package.py +118 -0
- agentcore/cli/commands/remove/__init__.py +172 -0
- agentcore/cli/commands/remove/skill_command.py +131 -0
- agentcore/cli/commands/remove/tool_command.py +59 -0
- agentcore/cli/commands/run.py +808 -0
- agentcore/cli/commands/run_ingest.py +97 -0
- agentcore/cli/commands/shared/__init__.py +0 -0
- agentcore/cli/commands/shared/arn_utils.py +9 -0
- agentcore/cli/commands/shared/filesystem_utils.py +421 -0
- agentcore/cli/commands/shared/header_utils.py +87 -0
- agentcore/cli/commands/shared/indexed_key_parser.py +76 -0
- agentcore/cli/commands/shared/lifecycle_utils.py +72 -0
- agentcore/cli/commands/shared/region_utils.py +20 -0
- agentcore/cli/commands/shared/vpc_utils.py +99 -0
- agentcore/cli/commands/status/__init__.py +30 -0
- agentcore/cli/commands/status/_guards.py +25 -0
- agentcore/cli/commands/status/action.py +741 -0
- agentcore/cli/commands/status/command.py +321 -0
- agentcore/cli/commands/status/constants.py +36 -0
- agentcore/cli/commands/status/format_knowledge_base.py +111 -0
- agentcore/cli/commands/telemetry.py +79 -0
- agentcore/cli/commands/traces/__init__.py +155 -0
- agentcore/cli/commands/traces/action.py +123 -0
- agentcore/cli/commands/update/__init__.py +63 -0
- agentcore/cli/commands/update/action.py +164 -0
- agentcore/cli/commands/validate.py +165 -0
- agentcore/cli/constants.py +96 -0
- agentcore/cli/errors.py +118 -0
- agentcore/cli/external_requirements/__init__.py +67 -0
- agentcore/cli/external_requirements/checks.py +280 -0
- agentcore/cli/external_requirements/detect.py +55 -0
- agentcore/cli/external_requirements/versions.py +57 -0
- agentcore/cli/groups.py +23 -0
- agentcore/cli/interactive.py +85 -0
- agentcore/cli/main.py +137 -0
- agentcore/cli/naming.py +11 -0
- agentcore/cli/notices.py +42 -0
- agentcore/cli/project.py +34 -0
- agentcore/cli/run_command.py +27 -0
- agentcore/cli/tree.py +135 -0
- agentcore/cli/update_notifier.py +123 -0
- agentcore/cli/variadic.py +50 -0
- agentcore/cloudformation/__init__.py +84 -0
- agentcore/cloudformation/bootstrap.py +64 -0
- agentcore/cloudformation/logical_ids.py +37 -0
- agentcore/cloudformation/outputs.py +566 -0
- agentcore/cloudformation/stack_discovery.py +75 -0
- agentcore/cloudformation/stack_events.py +107 -0
- agentcore/cloudformation/stack_status.py +98 -0
- agentcore/cloudformation/types.py +44 -0
- agentcore/lib/__init__.py +68 -0
- agentcore/lib/constants.py +77 -0
- agentcore/lib/dependency_management/__init__.py +23 -0
- agentcore/lib/dependency_management/messages.py +92 -0
- agentcore/lib/dependency_management/plan.py +98 -0
- agentcore/lib/dependency_management/semver.py +137 -0
- agentcore/lib/dependency_management/sync.py +139 -0
- agentcore/lib/dependency_management/types.py +56 -0
- agentcore/lib/errors/__init__.py +5 -0
- agentcore/lib/errors/types.py +352 -0
- agentcore/lib/errors/validation.py +121 -0
- agentcore/lib/packaging/__init__.py +81 -0
- agentcore/lib/packaging/build_args.py +23 -0
- agentcore/lib/packaging/build_context.py +26 -0
- agentcore/lib/packaging/build_context_dockerignore.py +45 -0
- agentcore/lib/packaging/container.py +95 -0
- agentcore/lib/packaging/helpers.py +289 -0
- agentcore/lib/packaging/node.py +153 -0
- agentcore/lib/packaging/python.py +135 -0
- agentcore/lib/packaging/types.py +69 -0
- agentcore/lib/packaging/uv.py +45 -0
- agentcore/lib/result.py +104 -0
- agentcore/lib/schemas/__init__.py +1 -0
- agentcore/lib/schemas/io/__init__.py +27 -0
- agentcore/lib/schemas/io/config_io.py +458 -0
- agentcore/lib/schemas/io/global_config.py +239 -0
- agentcore/lib/schemas/io/path_resolver.py +132 -0
- agentcore/lib/secrets/__init__.py +18 -0
- agentcore/lib/secrets/cipher.py +70 -0
- agentcore/lib/secrets/key_provider.py +163 -0
- agentcore/lib/secrets/sensitive_keys.py +55 -0
- agentcore/lib/time_constants.py +4 -0
- agentcore/lib/utils/__init__.py +47 -0
- agentcore/lib/utils/aws_account.py +15 -0
- agentcore/lib/utils/credentials.py +68 -0
- agentcore/lib/utils/dotenv.py +32 -0
- agentcore/lib/utils/env.py +105 -0
- agentcore/lib/utils/json_format.py +29 -0
- agentcore/lib/utils/json_rpc.py +22 -0
- agentcore/lib/utils/platform.py +33 -0
- agentcore/lib/utils/polling.py +86 -0
- agentcore/lib/utils/subprocess.py +135 -0
- agentcore/lib/utils/time_parser.py +48 -0
- agentcore/lib/utils/validation.py +106 -0
- agentcore/logging/__init__.py +10 -0
- agentcore/logging/_common.py +77 -0
- agentcore/logging/cdk_io_host.py +36 -0
- agentcore/logging/create_logger.py +107 -0
- agentcore/logging/dev_logger.py +63 -0
- agentcore/logging/exec_logger.py +159 -0
- agentcore/logging/invoke_logger.py +154 -0
- agentcore/logging/remove_logger.py +95 -0
- agentcore/operations/__init__.py +0 -0
- agentcore/operations/agent/__init__.py +0 -0
- agentcore/operations/agent/config_bundle_defaults.py +31 -0
- agentcore/operations/agent/generate/__init__.py +28 -0
- agentcore/operations/agent/generate/schema_mapper.py +319 -0
- agentcore/operations/agent/generate/types.py +172 -0
- agentcore/operations/agent/generate/write_agent_to_project.py +67 -0
- agentcore/operations/agent/import_/__init__.py +31 -0
- agentcore/operations/agent/import_/base_translator.py +449 -0
- agentcore/operations/agent/import_/constants.py +23 -0
- agentcore/operations/agent/import_/execute.py +127 -0
- agentcore/operations/agent/import_/langgraph_translator.py +294 -0
- agentcore/operations/agent/import_/pyproject_generator.py +73 -0
- agentcore/operations/agent/import_/strands_translator.py +289 -0
- agentcore/operations/config_bundle/__init__.py +1 -0
- agentcore/operations/config_bundle/bundle_name_variants.py +9 -0
- agentcore/operations/config_bundle/diff_versions.py +52 -0
- agentcore/operations/config_bundle/resolve_bundle.py +65 -0
- agentcore/operations/connectors/__init__.py +3 -0
- agentcore/operations/connectors/translators.py +63 -0
- agentcore/operations/dataset/__init__.py +21 -0
- agentcore/operations/dataset/delete.py +7 -0
- agentcore/operations/dataset/publish.py +16 -0
- agentcore/operations/dataset/pull.py +21 -0
- agentcore/operations/dataset/push.py +201 -0
- agentcore/operations/dataset/resolve_dataset.py +65 -0
- agentcore/operations/dataset/status.py +18 -0
- agentcore/operations/dataset/wait.py +25 -0
- agentcore/operations/deploy/__init__.py +152 -0
- agentcore/operations/deploy/backfill_vpc_id.py +90 -0
- agentcore/operations/deploy/change_detection.py +84 -0
- agentcore/operations/deploy/constants.py +58 -0
- agentcore/operations/deploy/dependency_sync.py +105 -0
- agentcore/operations/deploy/ensure_target.py +30 -0
- agentcore/operations/deploy/gateway_status.py +44 -0
- agentcore/operations/deploy/managed_memory_notice.py +36 -0
- agentcore/operations/deploy/payment_connector_authorization.py +106 -0
- agentcore/operations/deploy/post_deploy_datasets.py +96 -0
- agentcore/operations/deploy/post_deploy_knowledge_bases.py +104 -0
- agentcore/operations/deploy/post_deploy_observability.py +28 -0
- agentcore/operations/deploy/post_deploy_online_evals.py +60 -0
- agentcore/operations/deploy/pre_deploy_identity.py +505 -0
- agentcore/operations/deploy/preflight.py +385 -0
- agentcore/operations/deploy/region_override.py +45 -0
- agentcore/operations/deploy/teardown.py +153 -0
- agentcore/operations/dev/__init__.py +61 -0
- agentcore/operations/dev/_http.py +79 -0
- agentcore/operations/dev/_server.py +165 -0
- agentcore/operations/dev/codezip_dev_server.py +151 -0
- agentcore/operations/dev/config.py +128 -0
- agentcore/operations/dev/constants.py +9 -0
- agentcore/operations/dev/container_dev_server.py +237 -0
- agentcore/operations/dev/container_runtime.py +37 -0
- agentcore/operations/dev/dev_server.py +244 -0
- agentcore/operations/dev/gateway_env.py +25 -0
- agentcore/operations/dev/invoke.py +214 -0
- agentcore/operations/dev/invoke_a2a.py +204 -0
- agentcore/operations/dev/invoke_agui.py +88 -0
- agentcore/operations/dev/invoke_mcp.py +145 -0
- agentcore/operations/dev/invoke_types.py +30 -0
- agentcore/operations/dev/load_dev_env.py +26 -0
- agentcore/operations/dev/memory_env.py +19 -0
- agentcore/operations/dev/otel/__init__.py +5 -0
- agentcore/operations/dev/otel/collector.py +234 -0
- agentcore/operations/dev/otel/transforms.py +331 -0
- agentcore/operations/dev/payment_env.py +50 -0
- agentcore/operations/dev/server.py +28 -0
- agentcore/operations/dev/sse_transform.py +30 -0
- agentcore/operations/dev/utils.py +152 -0
- agentcore/operations/dev/web_ui/__init__.py +31 -0
- agentcore/operations/dev/web_ui/constants.py +25 -0
- agentcore/operations/dev/web_ui/handlers/__init__.py +36 -0
- agentcore/operations/dev/web_ui/handlers/_common.py +36 -0
- agentcore/operations/dev/web_ui/handlers/_deployed.py +37 -0
- agentcore/operations/dev/web_ui/handlers/a2a_proxy.py +37 -0
- agentcore/operations/dev/web_ui/handlers/cloudwatch_traces.py +71 -0
- agentcore/operations/dev/web_ui/handlers/harness_invocation.py +89 -0
- agentcore/operations/dev/web_ui/handlers/harness_utils.py +95 -0
- agentcore/operations/dev/web_ui/handlers/invocations.py +327 -0
- agentcore/operations/dev/web_ui/handlers/mcp_proxy.py +119 -0
- agentcore/operations/dev/web_ui/handlers/memory.py +84 -0
- agentcore/operations/dev/web_ui/handlers/resources.py +351 -0
- agentcore/operations/dev/web_ui/handlers/start.py +182 -0
- agentcore/operations/dev/web_ui/handlers/status.py +25 -0
- agentcore/operations/dev/web_ui/handlers/traces.py +50 -0
- agentcore/operations/dev/web_ui/run_web_ui.py +60 -0
- agentcore/operations/dev/web_ui/web_server.py +297 -0
- agentcore/operations/eval/__init__.py +8 -0
- agentcore/operations/eval/list_eval_runs.py +18 -0
- agentcore/operations/eval/logs_eval.py +119 -0
- agentcore/operations/eval/pause_resume.py +90 -0
- agentcore/operations/eval/run_eval.py +354 -0
- agentcore/operations/eval/shared/__init__.py +0 -0
- agentcore/operations/eval/shared/dataset_loader.py +68 -0
- agentcore/operations/eval/shared/dataset_session_provider.py +122 -0
- agentcore/operations/eval/shared/evaluator_runner.py +89 -0
- agentcore/operations/eval/shared/scenario_executor.py +71 -0
- agentcore/operations/eval/shared/span_collector.py +255 -0
- agentcore/operations/eval/storage.py +67 -0
- agentcore/operations/feedback/__init__.py +21 -0
- agentcore/operations/feedback/aperture_client.py +98 -0
- agentcore/operations/feedback/build_payload.py +97 -0
- agentcore/operations/feedback/constants.py +26 -0
- agentcore/operations/feedback/submit_feedback.py +150 -0
- agentcore/operations/fetch_access/__init__.py +36 -0
- agentcore/operations/fetch_access/_target.py +17 -0
- agentcore/operations/fetch_access/fetch_gateway_token.py +75 -0
- agentcore/operations/fetch_access/fetch_harness_token.py +72 -0
- agentcore/operations/fetch_access/fetch_runtime_token.py +76 -0
- agentcore/operations/fetch_access/list_agents.py +18 -0
- agentcore/operations/fetch_access/list_gateways.py +26 -0
- agentcore/operations/fetch_access/list_harnesses.py +23 -0
- agentcore/operations/fetch_access/oauth_token.py +162 -0
- agentcore/operations/fetch_access/types.py +34 -0
- agentcore/operations/harness/__init__.py +1 -0
- agentcore/operations/harness/orphan.py +84 -0
- agentcore/operations/harness/skill_utils.py +56 -0
- agentcore/operations/identity/__init__.py +33 -0
- agentcore/operations/identity/api_key_credential_provider.py +68 -0
- agentcore/operations/identity/oauth2_credential_provider.py +95 -0
- agentcore/operations/ingest/__init__.py +184 -0
- agentcore/operations/init/__init__.py +3 -0
- agentcore/operations/init/files.py +59 -0
- agentcore/operations/insights/__init__.py +21 -0
- agentcore/operations/insights/insights_storage.py +67 -0
- agentcore/operations/insights/run_insights.py +148 -0
- agentcore/operations/invoke/__init__.py +5 -0
- agentcore/operations/invoke/resolve_agent_context.py +85 -0
- agentcore/operations/jobs/__init__.py +38 -0
- agentcore/operations/jobs/ab_test/__init__.py +0 -0
- agentcore/operations/jobs/ab_test/build_options.py +126 -0
- agentcore/operations/jobs/ab_test/format.py +121 -0
- agentcore/operations/jobs/ab_test/handler.py +412 -0
- agentcore/operations/jobs/ab_test/promote.py +142 -0
- agentcore/operations/jobs/ab_test/resolve.py +221 -0
- agentcore/operations/jobs/batch_evaluation/__init__.py +0 -0
- agentcore/operations/jobs/batch_evaluation/build_source.py +68 -0
- agentcore/operations/jobs/batch_evaluation/dataset_phase1.py +95 -0
- agentcore/operations/jobs/batch_evaluation/format.py +58 -0
- agentcore/operations/jobs/batch_evaluation/handler.py +203 -0
- agentcore/operations/jobs/insights/__init__.py +0 -0
- agentcore/operations/jobs/insights/format.py +65 -0
- agentcore/operations/jobs/insights/handler.py +178 -0
- agentcore/operations/jobs/recommendation/__init__.py +0 -0
- agentcore/operations/jobs/recommendation/apply_to_bundle.py +76 -0
- agentcore/operations/jobs/recommendation/build_config.py +271 -0
- agentcore/operations/jobs/recommendation/fetch_session_spans.py +93 -0
- agentcore/operations/jobs/recommendation/format.py +77 -0
- agentcore/operations/jobs/recommendation/handler.py +331 -0
- agentcore/operations/jobs/shared/__init__.py +0 -0
- agentcore/operations/jobs/shared/constants.py +85 -0
- agentcore/operations/jobs/shared/engine.py +187 -0
- agentcore/operations/jobs/shared/format.py +104 -0
- agentcore/operations/jobs/shared/region.py +34 -0
- agentcore/operations/jobs/shared/resolve_agent_state.py +30 -0
- agentcore/operations/jobs/shared/storage.py +117 -0
- agentcore/operations/jobs/shared/wait.py +30 -0
- agentcore/operations/knowledge_base/__init__.py +33 -0
- agentcore/operations/knowledge_base/connector_config.py +105 -0
- agentcore/operations/knowledge_base/hydrate_data_sources.py +59 -0
- agentcore/operations/mcp/__init__.py +4 -0
- agentcore/operations/memory/__init__.py +13 -0
- agentcore/operations/memory/_records.py +72 -0
- agentcore/operations/memory/list_memory_records.py +45 -0
- agentcore/operations/memory/retrieve_memory_records.py +52 -0
- agentcore/operations/node/__init__.py +15 -0
- agentcore/operations/node/setup.py +36 -0
- agentcore/operations/python/__init__.py +17 -0
- agentcore/operations/python/setup.py +47 -0
- agentcore/operations/resolve_agent.py +159 -0
- agentcore/operations/session/__init__.py +86 -0
- agentcore/operations/traces/__init__.py +29 -0
- agentcore/operations/traces/get_trace.py +202 -0
- agentcore/operations/traces/insights_query.py +74 -0
- agentcore/operations/traces/list_traces.py +46 -0
- agentcore/operations/traces/trace_url.py +25 -0
- agentcore/operations/traces/types.py +55 -0
- agentcore/primitives/__init__.py +0 -0
- agentcore/primitives/_gateway_target_wizard.py +293 -0
- agentcore/primitives/_gateway_validation.py +442 -0
- agentcore/primitives/_harness_cli.py +557 -0
- agentcore/primitives/_harness_validation.py +163 -0
- agentcore/primitives/_harness_wizard.py +726 -0
- agentcore/primitives/_knowledge_base_wizard.py +259 -0
- agentcore/primitives/_payment_wizard.py +331 -0
- agentcore/primitives/_policy_form.py +160 -0
- agentcore/primitives/agent.py +817 -0
- agentcore/primitives/auth_utils.py +77 -0
- agentcore/primitives/base.py +178 -0
- agentcore/primitives/capacity_provider.py +501 -0
- agentcore/primitives/config_bundle.py +329 -0
- agentcore/primitives/credential.py +387 -0
- agentcore/primitives/credential_utils.py +45 -0
- agentcore/primitives/dataset.py +211 -0
- agentcore/primitives/deployed_gateways.py +34 -0
- agentcore/primitives/evaluator.py +909 -0
- agentcore/primitives/gateway.py +496 -0
- agentcore/primitives/gateway_target.py +988 -0
- agentcore/primitives/harness.py +706 -0
- agentcore/primitives/knowledge_base.py +477 -0
- agentcore/primitives/memory.py +387 -0
- agentcore/primitives/online_eval_config.py +365 -0
- agentcore/primitives/online_insights.py +275 -0
- agentcore/primitives/payment_connector.py +427 -0
- agentcore/primitives/payment_eligible.py +20 -0
- agentcore/primitives/payment_manager.py +605 -0
- agentcore/primitives/payment_validation.py +68 -0
- agentcore/primitives/policy.py +622 -0
- agentcore/primitives/policy_engine.py +358 -0
- agentcore/primitives/registry.py +56 -0
- agentcore/primitives/runtime_endpoint.py +361 -0
- agentcore/primitives/secret_flag_warning.py +17 -0
- agentcore/schema/__init__.py +14 -0
- agentcore/schema/_zod.py +395 -0
- agentcore/schema/constants.py +306 -0
- agentcore/schema/schemas/__init__.py +40 -0
- agentcore/schema/schemas/agent_env.py +545 -0
- agentcore/schema/schemas/agentcore_project.py +530 -0
- agentcore/schema/schemas/auth.py +286 -0
- agentcore/schema/schemas/aws_targets.py +72 -0
- agentcore/schema/schemas/connections.py +187 -0
- agentcore/schema/schemas/deployed_state.py +322 -0
- agentcore/schema/schemas/mcp.py +650 -0
- agentcore/schema/schemas/mcp_defs.py +54 -0
- agentcore/schema/schemas/primitives/__init__.py +52 -0
- agentcore/schema/schemas/primitives/ab_test.py +162 -0
- agentcore/schema/schemas/primitives/capacity_provider.py +214 -0
- agentcore/schema/schemas/primitives/config_bundle.py +48 -0
- agentcore/schema/schemas/primitives/dataset.py +55 -0
- agentcore/schema/schemas/primitives/evaluator.py +171 -0
- agentcore/schema/schemas/primitives/harness.py +710 -0
- agentcore/schema/schemas/primitives/knowledge_base.py +90 -0
- agentcore/schema/schemas/primitives/memory.py +113 -0
- agentcore/schema/schemas/primitives/online_eval_config.py +77 -0
- agentcore/schema/schemas/primitives/payment.py +114 -0
- agentcore/schema/schemas/primitives/policy.py +83 -0
- agentcore/schema/schemas/primitives/tags.py +50 -0
- agentcore/schema/schemas/zod_util.py +5 -0
- agentcore/schema/types/__init__.py +3 -0
- agentcore/schema/types/path.py +16 -0
- agentcore/templates/__init__.py +115 -0
- agentcore/templates/_handlebars.py +782 -0
- agentcore/templates/_js.py +164 -0
- agentcore/templates/base_renderer.py +107 -0
- agentcore/templates/cdk_renderer.py +129 -0
- agentcore/templates/evaluator_renderer.py +39 -0
- agentcore/templates/gateway_target_renderer.py +69 -0
- agentcore/templates/llm_context/README.md +16 -0
- agentcore/templates/llm_context/agentcore.ts +685 -0
- agentcore/templates/llm_context/aws-targets.ts +51 -0
- agentcore/templates/profiles.py +151 -0
- agentcore/templates/render.py +92 -0
- agentcore/templates/renderers.py +83 -0
- agentcore/templates/schema_assets.py +23 -0
- agentcore/templates/template_root.py +28 -0
- agentcore/templates/types.py +192 -0
- agentcore_cli-0.31.1.dist-info/METADATA +84 -0
- agentcore_cli-0.31.1.dist-info/RECORD +655 -0
- agentcore_cli-0.31.1.dist-info/WHEEL +4 -0
- agentcore_cli-0.31.1.dist-info/entry_points.txt +2 -0
- agentcore_cli-0.31.1.dist-info/licenses/LICENSE +175 -0
- 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
|
+
]
|