fast-agent-mcp 0.2.32__tar.gz → 0.2.33__tar.gz
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.
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/PKG-INFO +1 -1
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/pyproject.toml +1 -1
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/config.py +40 -4
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/.gitignore +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/LICENSE +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/README.md +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/azure-openai/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/custom-agents/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/custom-agents/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/vision-examples/example1.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/vision-examples/example2.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/vision-examples/example3.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/otel/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/otel/agent2.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/otel/docker-compose.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/otel/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/base_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/chain_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/evaluator_optimizer.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/orchestrator_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/orchestrator_models.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/orchestrator_prompts.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/parallel_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/router_agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/app.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/__main__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/commands/check_config.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/commands/go.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/commands/quickstart.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/commands/setup.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/commands/url_parser.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/main.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/cli/terminal.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/console.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/context.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/context_dependent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/agent_app.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/agent_types.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/direct_decorators.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/direct_factory.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/enhanced_prompt.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/error_handling.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/exceptions.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/fastagent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/interactive_prompt.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/mcp_content.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/prompt.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/request_params.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/core/validation.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/event_progress.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/executor/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/executor/executor.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/executor/task_registry.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/executor/workflow_signal.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/human_input/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/human_input/handler.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/human_input/types.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/augmented_llm.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/augmented_llm_passthrough.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/augmented_llm_playback.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/augmented_llm_slow.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/memory.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/model_factory.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/prompt_utils.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/provider_key_manager.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/provider_types.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/anthropic_utils.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_aliyun.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_anthropic.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_azure.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_deepseek.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_generic.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_google_native.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_google_oai.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_openai.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_openrouter.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_tensorzero.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/google_converter.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/multipart_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/multipart_converter_openai.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/multipart_converter_tensorzero.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/openai_multipart.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/openai_utils.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/sampling_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/sampling_converter_openai.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/sampling_converter.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/sampling_format_converter.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/events.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/json_serializer.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/listeners.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/logger.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/rich_progress.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/logging/transport.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/common.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/gen_client.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/helpers/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/helpers/content_helpers.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/helpers/server_config_helpers.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/hf_auth.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/interfaces.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/logger_textio.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/mcp_agent_client_session.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/mcp_aggregator.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/mcp_connection_manager.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/mime_utils.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompt_message_multipart.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompt_render.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompt_serialization.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/__main__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_constants.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_helpers.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_load.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_server.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_template.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/resource_utils.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/sampling.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp_server/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp_server/agent_server.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp_server_registry.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/progress_display.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/in_dev/agent_build.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/in_dev/css-LICENSE.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/in_dev/slides.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/history_transfer.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/job.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/prompt_category.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/prompt_sizing.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/simple.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/sizer.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/social.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/__init__.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/agent.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/delimited_prompt.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/image_server.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/prompt1.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/work_with_image.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/tools/tool_definition.py +0 -0
- {fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/ui/console_display.py +0 -0
@@ -3,8 +3,10 @@ Reading settings from environment variables and providing a settings object
|
|
3
3
|
for the application configuration.
|
4
4
|
"""
|
5
5
|
|
6
|
+
import os
|
7
|
+
import re
|
6
8
|
from pathlib import Path
|
7
|
-
from typing import Dict, List, Literal, Optional
|
9
|
+
from typing import Any, Dict, List, Literal, Optional
|
8
10
|
|
9
11
|
from pydantic import BaseModel, ConfigDict, field_validator
|
10
12
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
@@ -365,6 +367,36 @@ _settings: Settings | None = None
|
|
365
367
|
def get_settings(config_path: str | None = None) -> Settings:
|
366
368
|
"""Get settings instance, automatically loading from config file if available."""
|
367
369
|
|
370
|
+
def resolve_env_vars(config_item: Any) -> Any:
|
371
|
+
"""Recursively resolve environment variables in config data."""
|
372
|
+
if isinstance(config_item, dict):
|
373
|
+
return {k: resolve_env_vars(v) for k, v in config_item.items()}
|
374
|
+
elif isinstance(config_item, list):
|
375
|
+
return [resolve_env_vars(i) for i in config_item]
|
376
|
+
elif isinstance(config_item, str):
|
377
|
+
# Regex to find ${ENV_VAR} or ${ENV_VAR:default_value}
|
378
|
+
pattern = re.compile(r"\$\{([^}]+)\}")
|
379
|
+
|
380
|
+
def replace_match(match: re.Match) -> str:
|
381
|
+
var_name_with_default = match.group(1)
|
382
|
+
if ":" in var_name_with_default:
|
383
|
+
var_name, default_value = var_name_with_default.split(":", 1)
|
384
|
+
return os.getenv(var_name, default_value)
|
385
|
+
else:
|
386
|
+
var_name = var_name_with_default
|
387
|
+
env_value = os.getenv(var_name)
|
388
|
+
if env_value is None:
|
389
|
+
# Optionally, raise an error or return the placeholder if the env var is not set
|
390
|
+
# For now, returning the placeholder to avoid breaking if not set and no default
|
391
|
+
# print(f"Warning: Environment variable {var_name} not set and no default provided.")
|
392
|
+
return match.group(0)
|
393
|
+
return env_value
|
394
|
+
|
395
|
+
# Replace all occurrences
|
396
|
+
resolved_value = pattern.sub(replace_match, config_item)
|
397
|
+
return resolved_value
|
398
|
+
return config_item
|
399
|
+
|
368
400
|
def deep_merge(base: dict, update: dict) -> dict:
|
369
401
|
"""Recursively merge two dictionaries, preserving nested structures."""
|
370
402
|
merged = base.copy()
|
@@ -409,12 +441,14 @@ def get_settings(config_path: str | None = None) -> Settings:
|
|
409
441
|
# Load main config
|
410
442
|
with open(config_file, "r", encoding="utf-8") as f:
|
411
443
|
yaml_settings = yaml.safe_load(f) or {}
|
412
|
-
|
444
|
+
# Resolve environment variables in the loaded YAML settings
|
445
|
+
resolved_yaml_settings = resolve_env_vars(yaml_settings)
|
446
|
+
merged_settings = resolved_yaml_settings
|
413
447
|
# Look for secrets files recursively up the directory tree
|
414
448
|
# but stop after finding the first one
|
415
449
|
current_dir = config_file.parent
|
416
450
|
found_secrets = False
|
417
|
-
# Start with the absolute path of the config file's directory
|
451
|
+
# Start with the absolute path of the config file\'s directory
|
418
452
|
current_dir = config_file.parent.resolve()
|
419
453
|
|
420
454
|
while current_dir != current_dir.parent and not found_secrets:
|
@@ -425,7 +459,9 @@ def get_settings(config_path: str | None = None) -> Settings:
|
|
425
459
|
if secrets_file.exists():
|
426
460
|
with open(secrets_file, "r", encoding="utf-8") as f:
|
427
461
|
yaml_secrets = yaml.safe_load(f) or {}
|
428
|
-
|
462
|
+
# Resolve environment variables in the loaded secrets YAML
|
463
|
+
resolved_secrets_yaml = resolve_env_vars(yaml_secrets)
|
464
|
+
merged_settings = deep_merge(merged_settings, resolved_secrets_yaml)
|
429
465
|
found_secrets = True
|
430
466
|
break
|
431
467
|
if not found_secrets:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/custom-agents/fastagent.config.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/data-analysis/fastagent.config.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/state-transfer/fastagent.config.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/mcp/vision-examples/fastagent.config.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/examples/tensorzero/mcp_server/mcp_server.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/chain_agent.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/evaluator_optimizer.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/orchestrator_agent.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/orchestrator_models.py
RENAMED
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/parallel_agent.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/agents/workflow/router_agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/augmented_llm_passthrough.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/anthropic_utils.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_aliyun.py
RENAMED
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_azure.py
RENAMED
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_generic.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/augmented_llm_openai.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/google_converter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/providers/openai_multipart.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/llm/sampling_format_converter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/helpers/content_helpers.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/helpers/server_config_helpers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/mcp_agent_client_session.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompt_message_multipart.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_constants.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/mcp/prompts/prompt_template.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/in_dev/slides.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/job.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/simple.txt
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/sizer.py
RENAMED
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/internal/social.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/prompting/agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fast_agent_mcp-0.2.32 → fast_agent_mcp-0.2.33}/src/mcp_agent/resources/examples/workflows/router.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|