fast-agent-mcp 0.2.48__tar.gz → 0.2.49__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.
Potentially problematic release.
This version of fast-agent-mcp might be problematic. Click here for more details.
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/PKG-INFO +1 -1
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/pyproject.toml +1 -1
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/config.py +3 -2
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/model_factory.py +1 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_azure.py +1 -1
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_openai.py +16 -6
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/multipart_converter_openai.py +35 -18
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/rich_progress.py +13 -4
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/mcp_agent_client_session.py +5 -3
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/.gitignore +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/LICENSE +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/README.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/azure-openai/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/bedrock/fast-agent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/custom-agents/agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/custom-agents/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/test_mcp_filtering.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/vision-examples/cat.png +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/vision-examples/example1.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/vision-examples/example2.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/vision-examples/example3.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/vision-examples/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/otel/agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/otel/agent2.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/otel/docker-compose.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/otel/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/.env.sample +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/Makefile +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/README.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/demo_images/clam.jpg +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/demo_images/crab.png +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/demo_images/shrimp.png +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/docker-compose.yml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/image_demo.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/mcp_server/Dockerfile +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/mcp_server/entrypoint.sh +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/mcp_server/mcp_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/simple_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/tensorzero_config/system_schema.json +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/tensorzero_config/system_template.minijinja +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/tensorzero_config/tensorzero.toml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/hatch_build.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/base_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/chain_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/evaluator_optimizer.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/iterative_planner.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/orchestrator_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/orchestrator_models.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/orchestrator_prompts.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/parallel_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/router_agent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/app.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/__main__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/check_config.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/go.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/quickstart.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/server_helpers.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/setup.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/url_parser.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/constants.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/main.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/terminal.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/console.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/context.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/context_dependent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/agent_app.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/agent_types.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/direct_decorators.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/direct_factory.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/enhanced_prompt.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/error_handling.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/exceptions.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/fastagent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/interactive_prompt.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/mcp_content.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/mermaid_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/prompt.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/request_params.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/usage_display.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/core/validation.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/event_progress.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/executor/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/executor/executor.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/executor/task_registry.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/executor/workflow_signal.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_form.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_forms.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_handler.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_state.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/form_fields.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/handler.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/simple_form.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/types.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/augmented_llm.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/augmented_llm_passthrough.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/augmented_llm_playback.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/augmented_llm_silent.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/augmented_llm_slow.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/memory.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/model_database.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/prompt_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/provider_key_manager.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/provider_types.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/anthropic_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_aliyun.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_anthropic.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_bedrock.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_deepseek.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_generic.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_google_native.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_google_oai.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_groq.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_openrouter.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_tensorzero.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_xai.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/google_converter.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/multipart_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/multipart_converter_tensorzero.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/openai_multipart.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/openai_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/sampling_converter_anthropic.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/sampling_converter_openai.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/sampling_converter.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/sampling_format_converter.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/usage_tracking.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/events.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/json_serializer.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/listeners.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/logger.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/logging/transport.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/common.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/elicitation_factory.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/elicitation_handlers.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/gen_client.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/helpers/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/helpers/content_helpers.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/helpers/server_config_helpers.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/hf_auth.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/interfaces.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/logger_textio.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/mcp_aggregator.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/mcp_connection_manager.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/mime_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompt_message_multipart.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompt_render.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompt_serialization.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/__main__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/prompt_constants.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/prompt_helpers.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/prompt_load.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/prompt_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/prompts/prompt_template.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/resource_utils.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/sampling.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp_server/__init__.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp_server/agent_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp_server_registry.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/progress_display.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/py.typed +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/data-analysis/analysis-campaign.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/data-analysis/analysis.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/data-analysis/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/data-analysis/mount-point/WA_Fn-UseC_-HR-Employee-Attrition.csv +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_account_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_forms_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/elicitation_game_server.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/forms_demo.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/game_character.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/game_character_handler.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/elicitations/tool_call.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_one.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/state-transfer/agent_two.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/mcp/state-transfer/fastagent.secrets.yaml.example +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/researcher/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/researcher/researcher-eval.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/researcher/researcher-imp.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/researcher/researcher.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/chaining.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/evaluator.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/fastagent.config.yaml +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/graded_report.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/human_input.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/orchestrator.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/parallel.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/router.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/short_story.md +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/resources/examples/workflows/short_story.txt +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/tools/tool_definition.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/ui/console_display.py +0 -0
- {fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/ui/console_display_legacy.py +0 -0
|
@@ -8,6 +8,7 @@ import re
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
from typing import Any, Dict, List, Literal, Optional, Tuple
|
|
10
10
|
|
|
11
|
+
from mcp import Implementation
|
|
11
12
|
from pydantic import BaseModel, ConfigDict, field_validator
|
|
12
13
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
13
14
|
|
|
@@ -61,11 +62,9 @@ class MCPServerSettings(BaseModel):
|
|
|
61
62
|
Represents the configuration for an individual server.
|
|
62
63
|
"""
|
|
63
64
|
|
|
64
|
-
# TODO: saqadri - server name should be something a server can provide itself during initialization
|
|
65
65
|
name: str | None = None
|
|
66
66
|
"""The name of the server."""
|
|
67
67
|
|
|
68
|
-
# TODO: saqadri - server description should be something a server can provide itself during initialization
|
|
69
68
|
description: str | None = None
|
|
70
69
|
"""The description of the server."""
|
|
71
70
|
|
|
@@ -108,6 +107,8 @@ class MCPServerSettings(BaseModel):
|
|
|
108
107
|
cwd: str | None = None
|
|
109
108
|
"""Working directory for the executed server command."""
|
|
110
109
|
|
|
110
|
+
implementation: Implementation | None = None
|
|
111
|
+
|
|
111
112
|
|
|
112
113
|
class MCPSettings(BaseModel):
|
|
113
114
|
"""Configuration for all MCP servers."""
|
|
@@ -143,6 +143,7 @@ class ModelFactory:
|
|
|
143
143
|
"gemini2": "gemini-2.0-flash",
|
|
144
144
|
"gemini25": "gemini-2.5-flash-preview-05-20",
|
|
145
145
|
"gemini25pro": "gemini-2.5-pro-preview-05-06",
|
|
146
|
+
"kimi": "groq.moonshotai/kimi-k2-instruct",
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
# Mapping of providers to their LLM classes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_azure.py
RENAMED
|
@@ -18,7 +18,7 @@ def _extract_resource_name(url: str) -> str | None:
|
|
|
18
18
|
return host.replace(suffix, "") if host.endswith(suffix) else None
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
DEFAULT_AZURE_API_VERSION = "
|
|
21
|
+
DEFAULT_AZURE_API_VERSION = "2024-10-21"
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class AzureOpenAIAugmentedLLM(OpenAIAugmentedLLM):
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_openai.py
RENAMED
|
@@ -412,7 +412,9 @@ class OpenAIAugmentedLLM(AugmentedLLM[ChatCompletionMessageParam, ChatCompletion
|
|
|
412
412
|
)
|
|
413
413
|
|
|
414
414
|
tool_results = []
|
|
415
|
+
|
|
415
416
|
for tool_call in message.tool_calls:
|
|
417
|
+
|
|
416
418
|
self.show_tool_call(
|
|
417
419
|
available_tools,
|
|
418
420
|
tool_call.function.name,
|
|
@@ -428,12 +430,20 @@ class OpenAIAugmentedLLM(AugmentedLLM[ChatCompletionMessageParam, ChatCompletion
|
|
|
428
430
|
else from_json(tool_call.function.arguments, allow_partial=True),
|
|
429
431
|
),
|
|
430
432
|
)
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
433
|
+
|
|
434
|
+
try:
|
|
435
|
+
result = await self.call_tool(tool_call_request, tool_call.id)
|
|
436
|
+
self.show_tool_result(result)
|
|
437
|
+
tool_results.append((tool_call.id, result))
|
|
438
|
+
responses.extend(result.content)
|
|
439
|
+
except Exception as e:
|
|
440
|
+
self.logger.error(f"Tool call {tool_call.id} failed with error: {e}")
|
|
441
|
+
# Still add the tool_call_id with an error result to prevent missing responses
|
|
442
|
+
error_result = CallToolResult(content=[TextContent(type="text", text=f"Tool call failed: {str(e)}")])
|
|
443
|
+
tool_results.append((tool_call.id, error_result))
|
|
444
|
+
|
|
445
|
+
converted_messages = OpenAIConverter.convert_function_results_to_openai(tool_results)
|
|
446
|
+
messages.extend(converted_messages)
|
|
437
447
|
|
|
438
448
|
self.logger.debug(
|
|
439
449
|
f"Iteration {i}: Tool call results: {str(tool_results) if tool_results else 'None'}"
|
|
@@ -441,9 +441,6 @@ class OpenAIConverter:
|
|
|
441
441
|
# Convert to OpenAI format
|
|
442
442
|
user_message = OpenAIConverter.convert_to_openai(non_text_multipart)
|
|
443
443
|
|
|
444
|
-
# We need to add tool_call_id manually
|
|
445
|
-
user_message["tool_call_id"] = tool_call_id
|
|
446
|
-
|
|
447
444
|
return (tool_message, [user_message])
|
|
448
445
|
|
|
449
446
|
@staticmethod
|
|
@@ -461,22 +458,42 @@ class OpenAIConverter:
|
|
|
461
458
|
Returns:
|
|
462
459
|
List of OpenAI API messages for tool responses
|
|
463
460
|
"""
|
|
464
|
-
|
|
461
|
+
tool_messages = []
|
|
462
|
+
user_messages = []
|
|
463
|
+
has_mixed_content = False
|
|
465
464
|
|
|
466
465
|
for tool_call_id, result in results:
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
# Handle the case where we have mixed content and get back a tuple
|
|
474
|
-
if isinstance(converted, tuple):
|
|
475
|
-
tool_message, additional_messages = converted
|
|
476
|
-
messages.append(tool_message)
|
|
477
|
-
messages.extend(additional_messages)
|
|
478
|
-
else:
|
|
479
|
-
# Single message case (text-only)
|
|
480
|
-
messages.append(converted)
|
|
466
|
+
try:
|
|
467
|
+
converted = OpenAIConverter.convert_tool_result_to_openai(
|
|
468
|
+
tool_result=result,
|
|
469
|
+
tool_call_id=tool_call_id,
|
|
470
|
+
concatenate_text_blocks=concatenate_text_blocks,
|
|
471
|
+
)
|
|
481
472
|
|
|
473
|
+
# Handle the case where we have mixed content and get back a tuple
|
|
474
|
+
if isinstance(converted, tuple):
|
|
475
|
+
tool_message, additional_messages = converted
|
|
476
|
+
tool_messages.append(tool_message)
|
|
477
|
+
user_messages.extend(additional_messages)
|
|
478
|
+
has_mixed_content = True
|
|
479
|
+
else:
|
|
480
|
+
# Single message case (text-only)
|
|
481
|
+
tool_messages.append(converted)
|
|
482
|
+
except Exception as e:
|
|
483
|
+
_logger.error(f"Failed to convert tool_call_id={tool_call_id}: {e}")
|
|
484
|
+
# Create a basic tool response to prevent missing tool_call_id error
|
|
485
|
+
fallback_message = {
|
|
486
|
+
"role": "tool",
|
|
487
|
+
"tool_call_id": tool_call_id,
|
|
488
|
+
"content": f"[Conversion error: {str(e)}]",
|
|
489
|
+
}
|
|
490
|
+
tool_messages.append(fallback_message)
|
|
491
|
+
|
|
492
|
+
# CONDITIONAL REORDERING: Only reorder if there are user messages (mixed content)
|
|
493
|
+
if has_mixed_content and user_messages:
|
|
494
|
+
# Reorder: All tool messages first (OpenAI sequence), then user messages (vision context)
|
|
495
|
+
messages = tool_messages + user_messages
|
|
496
|
+
else:
|
|
497
|
+
# Pure tool responses - keep original order to preserve context (snapshots, etc.)
|
|
498
|
+
messages = tool_messages
|
|
482
499
|
return messages
|
|
@@ -21,7 +21,7 @@ class RichProgressDisplay:
|
|
|
21
21
|
self._progress = Progress(
|
|
22
22
|
SpinnerColumn(spinner_name="simpleDotsScrolling"),
|
|
23
23
|
TextColumn(
|
|
24
|
-
"[progress.description]{task.description}
|
|
24
|
+
"[progress.description]{task.description}▎",
|
|
25
25
|
# table_column=Column(max_width=16),
|
|
26
26
|
),
|
|
27
27
|
TextColumn(text_format="{task.fields[target]:<16}", style="Bold Blue"),
|
|
@@ -77,7 +77,7 @@ class RichProgressDisplay:
|
|
|
77
77
|
ProgressAction.LOADED: "dim green",
|
|
78
78
|
ProgressAction.INITIALIZED: "dim green",
|
|
79
79
|
ProgressAction.CHATTING: "bold blue",
|
|
80
|
-
ProgressAction.STREAMING: "bold
|
|
80
|
+
ProgressAction.STREAMING: "bold green", # Assistant Colour
|
|
81
81
|
ProgressAction.ROUTING: "bold blue",
|
|
82
82
|
ProgressAction.PLANNING: "bold blue",
|
|
83
83
|
ProgressAction.READY: "dim green",
|
|
@@ -107,10 +107,19 @@ class RichProgressDisplay:
|
|
|
107
107
|
# Ensure no None values in the update
|
|
108
108
|
# For streaming, use custom description immediately to avoid flashing
|
|
109
109
|
if event.action == ProgressAction.STREAMING and event.streaming_tokens:
|
|
110
|
-
|
|
110
|
+
# Account for [dim][/dim] tags (11 characters) in padding calculation
|
|
111
|
+
formatted_tokens = f"▎[dim]◀[/dim] {event.streaming_tokens.strip()}".ljust(17 + 11)
|
|
111
112
|
description = f"[{self._get_action_style(event.action)}]{formatted_tokens}"
|
|
113
|
+
elif event.action == ProgressAction.CHATTING:
|
|
114
|
+
# Add special formatting for chatting with dimmed arrow
|
|
115
|
+
formatted_text = f"▎[dim]▶[/dim] {event.action.value.strip()}".ljust(17 + 11)
|
|
116
|
+
description = f"[{self._get_action_style(event.action)}]{formatted_text}"
|
|
117
|
+
elif event.action == ProgressAction.CALLING_TOOL:
|
|
118
|
+
# Add special formatting for calling tool with dimmed arrow
|
|
119
|
+
formatted_text = f"▎[dim]◀[/dim] {event.action.value}".ljust(17 + 11)
|
|
120
|
+
description = f"[{self._get_action_style(event.action)}]{formatted_text}"
|
|
112
121
|
else:
|
|
113
|
-
description = f"[{self._get_action_style(event.action)}]{event.action.value:<15}"
|
|
122
|
+
description = f"[{self._get_action_style(event.action)}]▎ {event.action.value:<15}"
|
|
114
123
|
|
|
115
124
|
self._progress.update(
|
|
116
125
|
task_id,
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/mcp/mcp_agent_client_session.py
RENAMED
|
@@ -66,9 +66,6 @@ class MCPAgentClientSession(ClientSession, ContextDependent):
|
|
|
66
66
|
# Extract server_name if provided in kwargs
|
|
67
67
|
from importlib.metadata import version
|
|
68
68
|
|
|
69
|
-
version = version("fast-agent-mcp") or "dev"
|
|
70
|
-
fast_agent: Implementation = Implementation(name="fast-agent-mcp", version=version)
|
|
71
|
-
|
|
72
69
|
self.session_server_name = kwargs.pop("server_name", None)
|
|
73
70
|
# Extract the notification callbacks if provided
|
|
74
71
|
self._tool_list_changed_callback = kwargs.pop("tool_list_changed_callback", None)
|
|
@@ -83,6 +80,11 @@ class MCPAgentClientSession(ClientSession, ContextDependent):
|
|
|
83
80
|
# Extract custom elicitation handler if provided
|
|
84
81
|
custom_elicitation_handler = kwargs.pop("elicitation_handler", None)
|
|
85
82
|
|
|
83
|
+
version = version("fast-agent-mcp") or "dev"
|
|
84
|
+
fast_agent: Implementation = Implementation(name="fast-agent-mcp", version=version)
|
|
85
|
+
if self.server_config and self.server_config.implementation:
|
|
86
|
+
fast_agent = self.server_config.implementation
|
|
87
|
+
|
|
86
88
|
# Only register callbacks if the server_config has the relevant settings
|
|
87
89
|
list_roots_cb = list_roots if (self.server_config and self.server_config.roots) else None
|
|
88
90
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/custom-agents/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/data-analysis/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/elicitation_game_server.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/elicitations/game_character_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/mcp-filtering/test_mcp_filtering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/mcp/state-transfer/fastagent.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/examples/tensorzero/mcp_server/entrypoint.sh
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/chain_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/evaluator_optimizer.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/iterative_planner.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/orchestrator_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/orchestrator_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/agents/workflow/parallel_agent.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/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
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/cli/commands/server_helpers.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
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_form.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_forms.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_handler.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/human_input/elicitation_state.py
RENAMED
|
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.48 → fast_agent_mcp-0.2.49}/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
|
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/anthropic_utils.py
RENAMED
|
File without changes
|
{fast_agent_mcp-0.2.48 → fast_agent_mcp-0.2.49}/src/mcp_agent/llm/providers/augmented_llm_aliyun.py
RENAMED
|
File without changes
|